From c87553fb11ed2b0f013783b50fecdb1d8ab1b1c3 Mon Sep 17 00:00:00 2001 From: erfan-goodarzi Date: Sat, 19 Apr 2025 22:07:48 +0330 Subject: [PATCH 1/5] feat: add increment function --- docs/pages/number/_meta.json | 1 + docs/pages/number/inc.mdx | 22 ++++++++++++++++++++++ src/number/inc.spec.ts | 17 +++++++++++++++++ src/number/inc.ts | 14 ++++++++++++++ src/number/index.ts | 1 + 5 files changed, 55 insertions(+) create mode 100644 docs/pages/number/inc.mdx create mode 100644 src/number/inc.spec.ts create mode 100644 src/number/inc.ts diff --git a/docs/pages/number/_meta.json b/docs/pages/number/_meta.json index 4db1c49..e5d3f94 100644 --- a/docs/pages/number/_meta.json +++ b/docs/pages/number/_meta.json @@ -1,6 +1,7 @@ { "clamp": "clamp", "divide": "divide", + "inc": "inc", "fallback-number": "fallbackNumber", "is-in-range": "isInRange", "is-negative": "isNegative", diff --git a/docs/pages/number/inc.mdx b/docs/pages/number/inc.mdx new file mode 100644 index 0000000..2b8aefc --- /dev/null +++ b/docs/pages/number/inc.mdx @@ -0,0 +1,22 @@ +# inc + +Increments the given number by 1, or by a specified step. Useful for counters and mathematical operations. + +### Import + +```typescript copy +import { inc } from '@fullstacksjs/toolbox'; +``` + +### Signature + +```typescript copy +function inc(n: number, step?: number): number {} +``` + +### Examples + +```typescript copy +inc(3) // 4 +inc(3, 2) // 5 +``` diff --git a/src/number/inc.spec.ts b/src/number/inc.spec.ts new file mode 100644 index 0000000..0f62498 --- /dev/null +++ b/src/number/inc.spec.ts @@ -0,0 +1,17 @@ +import { inc } from './inc'; + +describe('inc', () => { + it('should increment by 1 when no step is provided', () => { + expect(inc(0)).toBe(1); + expect(inc(5)).toBe(6); + }); + + it('should increment by the given step', () => { + expect(inc(0, 2)).toBe(2); + expect(inc(5, 3)).toBe(8); + }); + + it('should handle negative steps correctly', () => { + expect(inc(5, -2)).toBe(3); + }); +}); diff --git a/src/number/inc.ts b/src/number/inc.ts new file mode 100644 index 0000000..27e212f --- /dev/null +++ b/src/number/inc.ts @@ -0,0 +1,14 @@ +/** + * Increments a number by 1 or a specified step. + * + * @param {number} n - The number to increment. + * @param {number} [step=1] - The step size to increment by. Defaults to 1. + * @returns {number} The incremented number. + * + * @example + * inc(3) // 4 + * inc(3, 2) // 5 + */ +export function inc(n: number, step: number = 1): number { + return n + step; +} diff --git a/src/number/index.ts b/src/number/index.ts index 7141d1f..0cee908 100644 --- a/src/number/index.ts +++ b/src/number/index.ts @@ -1,5 +1,6 @@ export { clamp } from './clamp.ts'; export { divide } from './divide.ts'; +export { inc } from './inc.ts'; export { fallbackNumber } from './fallbackNumber.ts'; export { isInRange } from './isInRange.ts'; export { isNegative } from './isNegative.ts'; From 37542c453a28b2e0571325d422c908b127f2d9a4 Mon Sep 17 00:00:00 2001 From: erfan-goodarzi Date: Sat, 19 Apr 2025 22:15:44 +0330 Subject: [PATCH 2/5] feat: add decrement function --- docs/pages/number/_meta.json | 1 + docs/pages/number/dec.mdx | 22 ++++++++++++++++++++++ src/number/dec.ts | 14 ++++++++++++++ src/number/des.spec.ts | 17 +++++++++++++++++ src/number/index.ts | 1 + 5 files changed, 55 insertions(+) create mode 100644 docs/pages/number/dec.mdx create mode 100644 src/number/dec.ts create mode 100644 src/number/des.spec.ts diff --git a/docs/pages/number/_meta.json b/docs/pages/number/_meta.json index e5d3f94..aeeceb7 100644 --- a/docs/pages/number/_meta.json +++ b/docs/pages/number/_meta.json @@ -2,6 +2,7 @@ "clamp": "clamp", "divide": "divide", "inc": "inc", + "dec": "dec", "fallback-number": "fallbackNumber", "is-in-range": "isInRange", "is-negative": "isNegative", diff --git a/docs/pages/number/dec.mdx b/docs/pages/number/dec.mdx new file mode 100644 index 0000000..2c7ab03 --- /dev/null +++ b/docs/pages/number/dec.mdx @@ -0,0 +1,22 @@ +# dec + +Decrements the given number by 1, or by a specified step. Useful for counters and mathematical operations. + +### Import + +```typescript copy +import { dec } from '@fullstacksjs/toolbox'; +``` + +### Signature + +```typescript copy +function dec(n: number, step?: number): number {} +``` + +### Examples + +```typescript copy +dec(3) // 2 +dec(3, 2) // 1 +``` diff --git a/src/number/dec.ts b/src/number/dec.ts new file mode 100644 index 0000000..11590aa --- /dev/null +++ b/src/number/dec.ts @@ -0,0 +1,14 @@ +/** + * Decrements a number by 1 or a specified step. + * + * @param {number} n - The number to decrement. + * @param {number} [step=1] - The step size to decrement by. Defaults to 1. + * @returns {number} The decremented number. + * + * @example + * dec(3) // 2 + * dec(3, 2) // 1 + */ +export function dec(n: number, step: number = 1): number { + return n - step; +} diff --git a/src/number/des.spec.ts b/src/number/des.spec.ts new file mode 100644 index 0000000..a89b445 --- /dev/null +++ b/src/number/des.spec.ts @@ -0,0 +1,17 @@ +import { dec } from './dec'; + +describe('dec', () => { + it('should decrement by 1 when no step is provided', () => { + expect(dec(2)).toBe(1); + expect(dec(5)).toBe(4); + }); + + it('should decrement by the given step', () => { + expect(dec(4, 2)).toBe(2); + expect(dec(8, 3)).toBe(5); + }); + + it('should handle negative steps correctly', () => { + expect(dec(5, -2)).toBe(7); + }); +}); diff --git a/src/number/index.ts b/src/number/index.ts index 0cee908..f5c348c 100644 --- a/src/number/index.ts +++ b/src/number/index.ts @@ -1,6 +1,7 @@ export { clamp } from './clamp.ts'; export { divide } from './divide.ts'; export { inc } from './inc.ts'; +export { dec } from './dec.ts'; export { fallbackNumber } from './fallbackNumber.ts'; export { isInRange } from './isInRange.ts'; export { isNegative } from './isNegative.ts'; From d853a8ba7a5401c7101ca8c9a94f935a6e8adfe8 Mon Sep 17 00:00:00 2001 From: erfan-goodarzi Date: Sat, 19 Apr 2025 22:16:52 +0330 Subject: [PATCH 3/5] docs: fix readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dd69a30..9600605 100644 --- a/README.md +++ b/README.md @@ -79,7 +79,7 @@ Before submitting a pull request, please make sure the following is done: - Fork the repository and create your feature branch from dev. - Run `npm install` to have all dependencies. - To start development run `npm run test:watch`. -- Write tests in `src//.test.ts` and implementation in `src//.ts`. +- Write tests in `src//.spec.ts` and implementation in `src//.ts`. - Add the documentation page to the `docs//.mdx` and update `docs//_meta.json` file. - Ensure everything is ok `npm run verify`. From 26e470dec8ecfad08b984698977f819e36c1d327 Mon Sep 17 00:00:00 2001 From: erfan-goodarzi Date: Sat, 3 May 2025 17:25:55 +0330 Subject: [PATCH 4/5] fix: remove step form inc & dec functions --- docs/pages/number/dec.mdx | 8 ++++---- docs/pages/number/inc.mdx | 8 ++++---- src/number/dec.spec.ts | 8 ++++++++ src/number/dec.ts | 12 ++++++------ src/number/des.spec.ts | 17 ----------------- src/number/inc.spec.ts | 11 +---------- src/number/inc.ts | 12 ++++++------ 7 files changed, 29 insertions(+), 47 deletions(-) create mode 100644 src/number/dec.spec.ts delete mode 100644 src/number/des.spec.ts diff --git a/docs/pages/number/dec.mdx b/docs/pages/number/dec.mdx index 2c7ab03..1c30a29 100644 --- a/docs/pages/number/dec.mdx +++ b/docs/pages/number/dec.mdx @@ -1,6 +1,6 @@ # dec -Decrements the given number by 1, or by a specified step. Useful for counters and mathematical operations. +Decrements the given number by 1. Useful for counters and mathematical operations. ### Import @@ -11,12 +11,12 @@ import { dec } from '@fullstacksjs/toolbox'; ### Signature ```typescript copy -function dec(n: number, step?: number): number {} +function dec(n: number): number {} ``` ### Examples ```typescript copy -dec(3) // 2 -dec(3, 2) // 1 +dec(3) // 2 +dec(5) // 4 ``` diff --git a/docs/pages/number/inc.mdx b/docs/pages/number/inc.mdx index 2b8aefc..fd7be3a 100644 --- a/docs/pages/number/inc.mdx +++ b/docs/pages/number/inc.mdx @@ -1,6 +1,6 @@ # inc -Increments the given number by 1, or by a specified step. Useful for counters and mathematical operations. +Increments the given number by 1. Useful for counters and mathematical operations. ### Import @@ -11,12 +11,12 @@ import { inc } from '@fullstacksjs/toolbox'; ### Signature ```typescript copy -function inc(n: number, step?: number): number {} +function inc(n: number): number {} ``` ### Examples ```typescript copy -inc(3) // 4 -inc(3, 2) // 5 +inc(3) // 4 +inc(5) // 6 ``` diff --git a/src/number/dec.spec.ts b/src/number/dec.spec.ts new file mode 100644 index 0000000..21a00ac --- /dev/null +++ b/src/number/dec.spec.ts @@ -0,0 +1,8 @@ +import { dec } from './dec'; + +describe('dec', () => { + it('should decrement by 1', () => { + expect(dec(2)).toBe(1); + expect(dec(5)).toBe(4); + }); +}); diff --git a/src/number/dec.ts b/src/number/dec.ts index 11590aa..be26d22 100644 --- a/src/number/dec.ts +++ b/src/number/dec.ts @@ -1,14 +1,14 @@ /** - * Decrements a number by 1 or a specified step. + * Decrements a number by 1. * * @param {number} n - The number to decrement. - * @param {number} [step=1] - The step size to decrement by. Defaults to 1. * @returns {number} The decremented number. * * @example - * dec(3) // 2 - * dec(3, 2) // 1 + * dec(3) // 2 + * dec(5) // 4 */ -export function dec(n: number, step: number = 1): number { - return n - step; + +export function dec(n: number): number { + return n - 1; } diff --git a/src/number/des.spec.ts b/src/number/des.spec.ts deleted file mode 100644 index a89b445..0000000 --- a/src/number/des.spec.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { dec } from './dec'; - -describe('dec', () => { - it('should decrement by 1 when no step is provided', () => { - expect(dec(2)).toBe(1); - expect(dec(5)).toBe(4); - }); - - it('should decrement by the given step', () => { - expect(dec(4, 2)).toBe(2); - expect(dec(8, 3)).toBe(5); - }); - - it('should handle negative steps correctly', () => { - expect(dec(5, -2)).toBe(7); - }); -}); diff --git a/src/number/inc.spec.ts b/src/number/inc.spec.ts index 0f62498..af13ed0 100644 --- a/src/number/inc.spec.ts +++ b/src/number/inc.spec.ts @@ -1,17 +1,8 @@ import { inc } from './inc'; describe('inc', () => { - it('should increment by 1 when no step is provided', () => { + it('should increment by 1', () => { expect(inc(0)).toBe(1); expect(inc(5)).toBe(6); }); - - it('should increment by the given step', () => { - expect(inc(0, 2)).toBe(2); - expect(inc(5, 3)).toBe(8); - }); - - it('should handle negative steps correctly', () => { - expect(inc(5, -2)).toBe(3); - }); }); diff --git a/src/number/inc.ts b/src/number/inc.ts index 27e212f..1ff1ae0 100644 --- a/src/number/inc.ts +++ b/src/number/inc.ts @@ -1,14 +1,14 @@ /** - * Increments a number by 1 or a specified step. + * Increments a number by 1. * * @param {number} n - The number to increment. - * @param {number} [step=1] - The step size to increment by. Defaults to 1. * @returns {number} The incremented number. * * @example - * inc(3) // 4 - * inc(3, 2) // 5 + * inc(3) // 4 + * inc(5) // 6 */ -export function inc(n: number, step: number = 1): number { - return n + step; + +export function inc(n: number): number { + return n + 1; } From 1c3cb635b6199064ddd08219d767ef33404980e0 Mon Sep 17 00:00:00 2001 From: erfan-goodarzi Date: Sat, 3 May 2025 17:28:19 +0330 Subject: [PATCH 5/5] fix: export sort --- src/number/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/number/index.ts b/src/number/index.ts index f5c348c..e3248ef 100644 --- a/src/number/index.ts +++ b/src/number/index.ts @@ -1,8 +1,8 @@ export { clamp } from './clamp.ts'; -export { divide } from './divide.ts'; -export { inc } from './inc.ts'; export { dec } from './dec.ts'; +export { divide } from './divide.ts'; export { fallbackNumber } from './fallbackNumber.ts'; +export { inc } from './inc.ts'; export { isInRange } from './isInRange.ts'; export { isNegative } from './isNegative.ts'; export { isPositive } from './isPositive.ts';