nhb-toolbox 3.1.4 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -15,4 +15,29 @@ export declare const createOptionsArray: <T extends GenericObject, K1 extends st
15
15
  * @returns A new array with duplicates removed.
16
16
  */
17
17
  export declare function removeDuplicatesFromArray<T>(array: T[]): T[];
18
+ /**
19
+ * * Splits an array into chunks of a given size.
20
+ *
21
+ * @param arr The array to split.
22
+ * @param chunkSize The size of each chunk.
23
+ * @returns An array of chunked arrays.
24
+ */
25
+ export declare function splitArray<T>(arr: T[], chunkSize: number): T[][];
26
+ /**
27
+ * * Rotates an array left or right by a given number of steps.
28
+ *
29
+ * @param arr The array to rotate.
30
+ * @param steps The number of positions to rotate (positive: right, negative: left).
31
+ * @returns The rotated array.
32
+ */
33
+ export declare function rotateArray<T>(arr: T[], steps: number): T[];
34
+ /**
35
+ * * Moves an element within an array from one index to another.
36
+ *
37
+ * @param arr The array to modify.
38
+ * @param fromIndex The index of the element to move.
39
+ * @param toIndex The new index for the element.
40
+ * @returns A new array with the element moved.
41
+ */
42
+ export declare function moveArrayElement<T>(arr: T[], fromIndex: number, toIndex: number): T[];
18
43
  //# sourceMappingURL=transform.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/array/transform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,GAC9B,CAAC,SAAS,aAAa,EACvB,EAAE,SAAS,MAAM,YACjB,EAAE,SAAS,MAAM,kBAEX,CAAC,EAAE,UACD,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,KAC9B,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,GAAE,EAgB5B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAK5D"}
1
+ {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/array/transform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,GAC9B,CAAC,SAAS,aAAa,EACvB,EAAE,SAAS,MAAM,YACjB,EAAE,SAAS,MAAM,kBAEX,CAAC,EAAE,UACD,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,KAC9B,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,GAAE,EAgB5B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAK5D;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,CAQhE;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,CAQ3D;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EACjC,GAAG,EAAE,CAAC,EAAE,EACR,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACb,CAAC,EAAE,CAQL"}
@@ -27,3 +27,45 @@ export const createOptionsArray = (data, config) => {
27
27
  export function removeDuplicatesFromArray(array) {
28
28
  return array.filter((item, index, self) => index === self.findIndex((el) => isDeepEqual(el, item)));
29
29
  }
30
+ /**
31
+ * * Splits an array into chunks of a given size.
32
+ *
33
+ * @param arr The array to split.
34
+ * @param chunkSize The size of each chunk.
35
+ * @returns An array of chunked arrays.
36
+ */
37
+ export function splitArray(arr, chunkSize) {
38
+ const result = [];
39
+ for (let i = 0; i < arr.length; i += chunkSize) {
40
+ result.push(arr.slice(i, i + chunkSize));
41
+ }
42
+ return result;
43
+ }
44
+ /**
45
+ * * Rotates an array left or right by a given number of steps.
46
+ *
47
+ * @param arr The array to rotate.
48
+ * @param steps The number of positions to rotate (positive: right, negative: left).
49
+ * @returns The rotated array.
50
+ */
51
+ export function rotateArray(arr, steps) {
52
+ const length = arr.length;
53
+ if (length === 0)
54
+ return arr;
55
+ const offset = ((steps % length) + length) % length;
56
+ return arr.slice(-offset).concat(arr.slice(0, -offset));
57
+ }
58
+ /**
59
+ * * Moves an element within an array from one index to another.
60
+ *
61
+ * @param arr The array to modify.
62
+ * @param fromIndex The index of the element to move.
63
+ * @param toIndex The new index for the element.
64
+ * @returns A new array with the element moved.
65
+ */
66
+ export function moveArrayElement(arr, fromIndex, toIndex) {
67
+ const newArr = [...arr];
68
+ const [item] = newArr.splice(fromIndex, 1);
69
+ newArr.splice(toIndex, 0, item);
70
+ return newArr;
71
+ }
package/dist/index.d.ts CHANGED
@@ -1,10 +1,12 @@
1
1
  export { capitalizeString, generateRandomID, trimString, truncateString, } from './string/basics';
2
2
  export { generateAnagrams } from './string/anagram';
3
- export { convertStringCase, maskString, replaceAllInString, reverseString, slugifyString, } from './string/convert';
4
- export { extractNumbersFromString, getLevenshteinDistance, isPalindrome, getLevenshteinDistance as levenshteinDistance, } from './string/utilities';
5
- export { calculateHCF as calculateGCD, calculateHCF, calculateLCM as calculateLCD, calculateLCM, convertToDecimal, getRandomNumber, isEven, isEven as isEvenNumber, isMultiple, isOdd, isOdd as isOddNumber, } from './number/basics';
3
+ export { isCamelCase, isEmojiOnly, isKebabCase, isPalindrome, isPascalCase, isSnakeCase, } from './string/guards';
4
+ export { convertStringCase, extractEmails, extractURLs, maskString, normalizeString, replaceAllInString, reverseString, slugifyString, } from './string/convert';
5
+ export { extractNumbersFromString, getLevenshteinDistance, getLevenshteinDistance as levenshteinDistance, } from './string/utilities';
6
+ export { calculateHCF as calculateGCD, calculateHCF, calculateLCM as calculateLCD, calculateLCM, convertToDecimal, getFibonacciSeries as getFibonacci, getFibonacciSeries as getFibonacciNumbers, getFibonacciSeries, getRandomNumber, reverseNumber, sumDigits, sumNumbers, sumNumbers as getSumOfNumbers, sumNumbers as sumOfNumbers, } from './number/basics';
7
+ export { isEven, isEven as isEvenNumber, isFibonacci, isFibonacci as isParOfFibonacci, isFibonacci as isParOfFibonacciSeries, isMultiple, isOdd, isOdd as isOddNumber, isPerfectSquare, } from './number/guards';
6
8
  export { numberToWords as convertNumberToWords, convertToRomanNumerals, numberToWords, } from './number/convert';
7
- export { findPrimeNumbers, isPrime, isPrime as isPrimeNumber, } from './number/prime';
9
+ export { findPrimeNumbers, findPrimeNumbers as getPrimeNumbers, isPrime, isPrime as isPrimeNumber, } from './number/prime';
8
10
  export { clampNumber, formatCurrency as convertNumberToCurrency, formatCurrency, getRandomFloat as getRandomDecimal, getRandomFloat, roundToNearest as roundNumber, roundToNearest as roundNumberToNearestInterval, roundToNearest, roundToNearest as roundToNearestInterval, } from './number/utilities';
9
11
  export { getNumbersInRange } from './number/range';
10
12
  export { getColorForInitial } from './colors/initials';
@@ -13,7 +15,7 @@ export { convertColorCode, convertHex8ToHsla, convertHex8ToRgba, convertHexToHsl
13
15
  export { Color, Color as Colour } from './colors/Color';
14
16
  export { filterArrayOfObjects, flattenArray, getLastArrayElement, isInvalidOrEmptyArray, isInvalidOrEmptyArray as isValidEmptyArray, shuffleArray, } from './array/basics';
15
17
  export { sortAnArray } from './array/sort';
16
- export { createOptionsArray, removeDuplicatesFromArray, } from './array/transform';
18
+ export { createOptionsArray, moveArrayElement, removeDuplicatesFromArray, rotateArray, splitArray, } from './array/transform';
17
19
  export { createControlledFormData as convertIntoFormData, createControlledFormData, createControlledFormData as createFormData, } from './form/convert';
18
20
  export { isCustomFile, isCustomFileArray, isFileArray, isFileList, isFileUpload, isOriginFileObj, isValidFormData, } from './form/guards';
19
21
  export { cloneObject, countObjectFields } from './object/basics';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACN,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,cAAc,GACd,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EACN,iBAAiB,EACjB,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,aAAa,GACb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACN,wBAAwB,EACxB,sBAAsB,EACtB,YAAY,EACZ,sBAAsB,IAAI,mBAAmB,GAC7C,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACN,YAAY,IAAI,YAAY,EAC5B,YAAY,EACZ,YAAY,IAAI,YAAY,EAC5B,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,MAAM,EACN,MAAM,IAAI,YAAY,EACtB,UAAU,EACV,KAAK,EACL,KAAK,IAAI,WAAW,GACpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACN,aAAa,IAAI,oBAAoB,EACrC,sBAAsB,EACtB,aAAa,GACb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACN,gBAAgB,EAChB,OAAO,EACP,OAAO,IAAI,aAAa,GACxB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACN,WAAW,EACX,cAAc,IAAI,uBAAuB,EACzC,cAAc,EACd,cAAc,IAAI,gBAAgB,EAClC,cAAc,EACd,cAAc,IAAI,WAAW,EAC7B,cAAc,IAAI,4BAA4B,EAC9C,cAAc,EACd,cAAc,IAAI,sBAAsB,GACxC,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EACN,2BAA2B,EAC3B,sBAAsB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACN,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,gBAAgB,GAChB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAGxD,OAAO,EACN,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,IAAI,iBAAiB,EAC1C,YAAY,GACZ,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EACN,kBAAkB,EAClB,yBAAyB,GACzB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACN,wBAAwB,IAAI,mBAAmB,EAC/C,wBAAwB,EACxB,wBAAwB,IAAI,cAAc,GAC1C,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACN,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,YAAY,EACZ,eAAe,EACf,eAAe,GACf,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEjE,OAAO,EACN,gBAAgB,EAChB,0BAA0B,EAC1B,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,EACtB,YAAY,GACZ,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EACN,mBAAmB,EACnB,cAAc,EACd,gBAAgB,GAChB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEhF,OAAO,EACN,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,kBAAkB,EAClB,oBAAoB,GACpB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACN,oBAAoB,EACpB,cAAc,EACd,WAAW,EACX,cAAc,GACd,MAAM,SAAS,CAAC;AAGjB,OAAO,EACN,SAAS,EACT,OAAO,EACP,SAAS,EACT,gBAAgB,EAChB,MAAM,EACN,QAAQ,EACR,iBAAiB,EACjB,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,GACX,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACN,kBAAkB,IAAI,iBAAiB,EACvC,OAAO,EACP,aAAa,EACb,YAAY,IAAI,iBAAiB,EACjC,QAAQ,EACR,MAAM,EACN,aAAa,EACb,aAAa,IAAI,kBAAkB,EACnC,OAAO,EACP,UAAU,EACV,MAAM,EACN,MAAM,IAAI,YAAY,EACtB,KAAK,EACL,gBAAgB,EAChB,QAAQ,EACR,aAAa,IAAI,aAAa,EAC9B,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,QAAQ,IAAI,mBAAmB,EAC/B,kBAAkB,EAClB,KAAK,EACL,YAAY,EACZ,MAAM,IAAI,WAAW,EACrB,KAAK,IAAI,UAAU,EACnB,gBAAgB,IAAI,aAAa,EACjC,KAAK,IAAI,UAAU,GACnB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACN,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,aAAa,EACb,aAAa,IAAI,iBAAiB,EAClC,WAAW,EACX,MAAM,EACN,aAAa,IAAI,SAAS,EAC1B,aAAa,IAAI,iBAAiB,EAClC,eAAe,EACf,aAAa,EACb,KAAK,EACL,MAAM,EACN,OAAO,IAAI,YAAY,EACvB,KAAK,IAAI,UAAU,GACnB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,12 +1,14 @@
1
1
  // ! String Utilities
2
2
  export { capitalizeString, generateRandomID, trimString, truncateString, } from './string/basics';
3
3
  export { generateAnagrams } from './string/anagram';
4
- export { convertStringCase, maskString, replaceAllInString, reverseString, slugifyString, } from './string/convert';
5
- export { extractNumbersFromString, getLevenshteinDistance, isPalindrome, getLevenshteinDistance as levenshteinDistance, } from './string/utilities';
4
+ export { isCamelCase, isEmojiOnly, isKebabCase, isPalindrome, isPascalCase, isSnakeCase, } from './string/guards';
5
+ export { convertStringCase, extractEmails, extractURLs, maskString, normalizeString, replaceAllInString, reverseString, slugifyString, } from './string/convert';
6
+ export { extractNumbersFromString, getLevenshteinDistance, getLevenshteinDistance as levenshteinDistance, } from './string/utilities';
6
7
  // ! Number Utilities
7
- export { calculateHCF as calculateGCD, calculateHCF, calculateLCM as calculateLCD, calculateLCM, convertToDecimal, getRandomNumber, isEven, isEven as isEvenNumber, isMultiple, isOdd, isOdd as isOddNumber, } from './number/basics';
8
+ export { calculateHCF as calculateGCD, calculateHCF, calculateLCM as calculateLCD, calculateLCM, convertToDecimal, getFibonacciSeries as getFibonacci, getFibonacciSeries as getFibonacciNumbers, getFibonacciSeries, getRandomNumber, reverseNumber, sumDigits, sumNumbers, sumNumbers as getSumOfNumbers, sumNumbers as sumOfNumbers, } from './number/basics';
9
+ export { isEven, isEven as isEvenNumber, isFibonacci, isFibonacci as isParOfFibonacci, isFibonacci as isParOfFibonacciSeries, isMultiple, isOdd, isOdd as isOddNumber, isPerfectSquare, } from './number/guards';
8
10
  export { numberToWords as convertNumberToWords, convertToRomanNumerals, numberToWords, } from './number/convert';
9
- export { findPrimeNumbers, isPrime, isPrime as isPrimeNumber, } from './number/prime';
11
+ export { findPrimeNumbers, findPrimeNumbers as getPrimeNumbers, isPrime, isPrime as isPrimeNumber, } from './number/prime';
10
12
  export { clampNumber, formatCurrency as convertNumberToCurrency, formatCurrency, getRandomFloat as getRandomDecimal, getRandomFloat, roundToNearest as roundNumber, roundToNearest as roundNumberToNearestInterval, roundToNearest, roundToNearest as roundToNearestInterval, } from './number/utilities';
11
13
  export { getNumbersInRange } from './number/range';
12
14
  // ! Color Utilities
@@ -17,7 +19,7 @@ export { Color, Color as Colour } from './colors/Color';
17
19
  // ! Array Utilities
18
20
  export { filterArrayOfObjects, flattenArray, getLastArrayElement, isInvalidOrEmptyArray, isInvalidOrEmptyArray as isValidEmptyArray, shuffleArray, } from './array/basics';
19
21
  export { sortAnArray } from './array/sort';
20
- export { createOptionsArray, removeDuplicatesFromArray, } from './array/transform';
22
+ export { createOptionsArray, moveArrayElement, removeDuplicatesFromArray, rotateArray, splitArray, } from './array/transform';
21
23
  // ! Form Utilities
22
24
  export { createControlledFormData as convertIntoFormData, createControlledFormData, createControlledFormData as createFormData, } from './form/convert';
23
25
  export { isCustomFile, isCustomFileArray, isFileArray, isFileList, isFileUpload, isOriginFileObj, isValidFormData, } from './form/guards';
@@ -1,3 +1,4 @@
1
+ import type { Numeric } from '../types';
1
2
  import type { ConvertedDecimal, DecimalOptions, RandomNumberOptions } from './types';
2
3
  /**
3
4
  * * Utility to generate a random number between a given range.
@@ -15,7 +16,7 @@ export declare const getRandomNumber: (options?: RandomNumberOptions) => number;
15
16
  * @param options - Options for rounding behavior, including decimal places and return type.
16
17
  * @returns Converted number as `number` (default) or `string` (if `isString` is `true`).
17
18
  */
18
- export declare const convertToDecimal: <T extends boolean | undefined = false>(input: number | `${number}`, options?: DecimalOptions<T>) => ConvertedDecimal<T>;
19
+ export declare const convertToDecimal: <T extends boolean | undefined = false>(input: Numeric, options?: DecimalOptions<T>) => ConvertedDecimal<T>;
19
20
  /**
20
21
  * * Calculates the HCF/GCD of multiple numbers.
21
22
  *
@@ -31,25 +32,31 @@ export declare const calculateHCF: (...numbers: number[]) => number;
31
32
  */
32
33
  export declare const calculateLCM: (...numbers: number[]) => number;
33
34
  /**
34
- * * Check if a number is even or not.
35
+ * * Generates the first `n` Fibonacci numbers.
35
36
  *
36
- * @param input The number to check.
37
- * @returns Boolean: `true` if even and `false` if not even.
37
+ * @param n The number of Fibonacci numbers to generate.
38
+ * @returns An array containing the first `n` Fibonacci numbers.
38
39
  */
39
- export declare const isEven: (input: number) => boolean;
40
+ export declare function getFibonacciSeries(n: number): number[];
40
41
  /**
41
- * * Checks if a number is odd or not.
42
+ * * Sums up all digits of a number.
42
43
  *
43
- * @param input The number to check.
44
- * @returns Boolean: `true` if odd and `false` if not odd.
44
+ * @param num The input number.
45
+ * @returns The sum of its digits.
45
46
  */
46
- export declare const isOdd: (input: number) => boolean;
47
+ export declare function sumDigits(num: Numeric): number;
47
48
  /**
48
- * * Checks if a number is a multiple of another number.
49
+ * * Sums up numbers.
49
50
  *
50
- * @param input - The number to check.
51
- * @param multipleOf - The number to check against.
52
- * @returns `true` if `input` is a multiple of `multipleOf`, otherwise `false`.
51
+ * @param numbers The input numbers.
52
+ * @returns The sum of the numbers.
53
53
  */
54
- export declare const isMultiple: (input: number, multipleOf: number) => boolean;
54
+ export declare function sumNumbers(...numbers: Numeric[]): number;
55
+ /**
56
+ * * Reverses a number (e.g., `123` → `321`).
57
+ *
58
+ * @param num The number to reverse.
59
+ * @returns The reversed number.
60
+ */
61
+ export declare function reverseNumber(num: Numeric): number;
55
62
  //# sourceMappingURL=basics.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"basics.d.ts","sourceRoot":"","sources":["../../src/number/basics.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,MAAM,SAAS,CAAC;AAEjB;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,aAAc,mBAAmB,KAAG,MA+C/D,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,OAAO,GAAG,SAAS,iBACtD,MAAM,GAAG,GAAG,MAAM,EAAE,YACjB,cAAc,CAAC,CAAC,CAAC,KACzB,gBAAgB,CAAC,CAAC,CAQpB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,eAAgB,MAAM,EAAE,KAAG,MAQnD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,eAAgB,MAAM,EAAE,KAAG,MAQnD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,MAAM,UAAW,MAAM,KAAG,OAEtC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,KAAK,UAAW,MAAM,KAAG,OAErC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,UAAW,MAAM,cAAc,MAAM,KAAG,OAE9D,CAAC"}
1
+ {"version":3,"file":"basics.d.ts","sourceRoot":"","sources":["../../src/number/basics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,OAAO,KAAK,EACX,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,MAAM,SAAS,CAAC;AAEjB;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,aAAc,mBAAmB,KAAG,MA+C/D,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,OAAO,GAAG,SAAS,iBACtD,OAAO,YACJ,cAAc,CAAC,CAAC,CAAC,KACzB,gBAAgB,CAAC,CAAC,CAQpB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,eAAgB,MAAM,EAAE,KAAG,MAQnD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,eAAgB,MAAM,EAAE,KAAG,MAQnD,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAQtD;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAK9C;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,CAIxD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAOlD"}
@@ -81,30 +81,48 @@ export const calculateLCM = (...numbers) => {
81
81
  return lcm;
82
82
  };
83
83
  /**
84
- * * Check if a number is even or not.
84
+ * * Generates the first `n` Fibonacci numbers.
85
85
  *
86
- * @param input The number to check.
87
- * @returns Boolean: `true` if even and `false` if not even.
86
+ * @param n The number of Fibonacci numbers to generate.
87
+ * @returns An array containing the first `n` Fibonacci numbers.
88
88
  */
89
- export const isEven = (input) => {
90
- return input % 2 === 0;
91
- };
89
+ export function getFibonacciSeries(n) {
90
+ const series = [0, 1];
91
+ for (let i = 2; i < n; i++) {
92
+ series.push(series[i - 1] + series[i - 2]);
93
+ }
94
+ return series.slice(0, n);
95
+ }
92
96
  /**
93
- * * Checks if a number is odd or not.
97
+ * * Sums up all digits of a number.
94
98
  *
95
- * @param input The number to check.
96
- * @returns Boolean: `true` if odd and `false` if not odd.
99
+ * @param num The input number.
100
+ * @returns The sum of its digits.
97
101
  */
98
- export const isOdd = (input) => {
99
- return input % 2 !== 0;
100
- };
102
+ export function sumDigits(num) {
103
+ return Math.abs(Number(num))
104
+ .toString()
105
+ .split('')
106
+ .reduce((sum, digit) => sum + Number(digit), 0);
107
+ }
101
108
  /**
102
- * * Checks if a number is a multiple of another number.
109
+ * * Sums up numbers.
103
110
  *
104
- * @param input - The number to check.
105
- * @param multipleOf - The number to check against.
106
- * @returns `true` if `input` is a multiple of `multipleOf`, otherwise `false`.
111
+ * @param numbers The input numbers.
112
+ * @returns The sum of the numbers.
107
113
  */
108
- export const isMultiple = (input, multipleOf) => {
109
- return input % multipleOf === 0;
110
- };
114
+ export function sumNumbers(...numbers) {
115
+ return numbers
116
+ .map((num) => Number(num))
117
+ .reduce((sum, number) => sum + Number(number), 0);
118
+ }
119
+ /**
120
+ * * Reverses a number (e.g., `123` → `321`).
121
+ *
122
+ * @param num The number to reverse.
123
+ * @returns The reversed number.
124
+ */
125
+ export function reverseNumber(num) {
126
+ const reversed = parseInt(Math.abs(Number(num)).toString().split('').reverse().join(''), 10);
127
+ return Number(num) < 0 ? -reversed : reversed;
128
+ }
@@ -0,0 +1,37 @@
1
+ /**
2
+ * * Check if a number is even or not.
3
+ *
4
+ * @param input The number to check.
5
+ * @returns Boolean: `true` if even and `false` if not even.
6
+ */
7
+ export declare const isEven: (input: number) => boolean;
8
+ /**
9
+ * * Checks if a number is odd or not.
10
+ *
11
+ * @param input The number to check.
12
+ * @returns Boolean: `true` if odd and `false` if not odd.
13
+ */
14
+ export declare const isOdd: (input: number) => boolean;
15
+ /**
16
+ * * Checks if a number is a multiple of another number.
17
+ *
18
+ * @param input - The number to check.
19
+ * @param multipleOf - The number to check against.
20
+ * @returns `true` if `input` is a multiple of `multipleOf`, otherwise `false`.
21
+ */
22
+ export declare const isMultiple: (input: number, multipleOf: number) => boolean;
23
+ /**
24
+ * * Checks if a number is a perfect square.
25
+ *
26
+ * @param num The number to check.
27
+ * @returns `true` if the number is a perfect square, otherwise `false`.
28
+ */
29
+ export declare function isPerfectSquare(num: number): boolean;
30
+ /**
31
+ * * Checks if a number is part of the Fibonacci sequence.
32
+ *
33
+ * @param num The number to check.
34
+ * @returns `true` if the number is a Fibonacci number, otherwise `false`.
35
+ */
36
+ export declare function isFibonacci(num: number): boolean;
37
+ //# sourceMappingURL=guards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../../src/number/guards.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,MAAM,UAAW,MAAM,KAAG,OAEtC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,KAAK,UAAW,MAAM,KAAG,OAErC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,UAAW,MAAM,cAAc,MAAM,KAAG,OAE9D,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAIhD"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * * Check if a number is even or not.
3
+ *
4
+ * @param input The number to check.
5
+ * @returns Boolean: `true` if even and `false` if not even.
6
+ */
7
+ export const isEven = (input) => {
8
+ return input % 2 === 0;
9
+ };
10
+ /**
11
+ * * Checks if a number is odd or not.
12
+ *
13
+ * @param input The number to check.
14
+ * @returns Boolean: `true` if odd and `false` if not odd.
15
+ */
16
+ export const isOdd = (input) => {
17
+ return input % 2 !== 0;
18
+ };
19
+ /**
20
+ * * Checks if a number is a multiple of another number.
21
+ *
22
+ * @param input - The number to check.
23
+ * @param multipleOf - The number to check against.
24
+ * @returns `true` if `input` is a multiple of `multipleOf`, otherwise `false`.
25
+ */
26
+ export const isMultiple = (input, multipleOf) => {
27
+ return input % multipleOf === 0;
28
+ };
29
+ /**
30
+ * * Checks if a number is a perfect square.
31
+ *
32
+ * @param num The number to check.
33
+ * @returns `true` if the number is a perfect square, otherwise `false`.
34
+ */
35
+ export function isPerfectSquare(num) {
36
+ return Number.isInteger(Math.sqrt(num));
37
+ }
38
+ /**
39
+ * * Checks if a number is part of the Fibonacci sequence.
40
+ *
41
+ * @param num The number to check.
42
+ * @returns `true` if the number is a Fibonacci number, otherwise `false`.
43
+ */
44
+ export function isFibonacci(num) {
45
+ return (isPerfectSquare(5 * num * num + 4) || isPerfectSquare(5 * num * num - 4));
46
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"range.d.ts","sourceRoot":"","sources":["../../src/number/range.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE9E;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,KAAK,EAChD,IAAI,GAAE,UAAkB,EACxB,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GACvB,aAAa,CAAC,CAAC,CAAC,CA2FlB"}
1
+ {"version":3,"file":"range.d.ts","sourceRoot":"","sources":["../../src/number/range.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE9E;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,KAAK,EAChD,IAAI,GAAE,UAAkB,EACxB,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GACvB,aAAa,CAAC,CAAC,CAAC,CA2FlB"}
@@ -1,6 +1,7 @@
1
1
  import { shuffleArray } from '../array/basics';
2
2
  import { convertArrayToString } from '../utils';
3
- import { getRandomNumber, isEven, isOdd } from './basics';
3
+ import { getRandomNumber } from './basics';
4
+ import { isEven, isOdd } from './guards';
4
5
  import { _applyMultiples } from './helpers';
5
6
  import { isPrime } from './prime';
6
7
  /**
@@ -56,4 +56,22 @@ export declare const maskString: (input: string, options?: MaskOptions) => strin
56
56
  * @returns The reversed string.
57
57
  */
58
58
  export declare const reverseString: (input: string) => string;
59
+ /**
60
+ * * Normalizes a string by removing diacritics (accents).
61
+ * @param str The input string.
62
+ * @returns The normalized string.
63
+ */
64
+ export declare function normalizeString(str: string): string;
65
+ /**
66
+ * * Extracts all email addresses from a string.
67
+ * @param str The input string.
68
+ * @returns An array of extracted email addresses.
69
+ */
70
+ export declare function extractEmails(str: string): string[];
71
+ /**
72
+ * * Extracts all URLs from a string.
73
+ * @param str The input string.
74
+ * @returns An array of extracted URLs.
75
+ */
76
+ export declare function extractURLs(str: string): string[];
59
77
  //# sourceMappingURL=convert.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/string/convert.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM,CAqF5E;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB,UACvB,MAAM,QACP,MAAM,GAAG,MAAM,WACZ,MAAM,KACb,MAYF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,UAAW,MAAM,KAAG,SAAS,CAAC,MAAM,CAK7D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,UAAW,MAAM,YAAY,WAAW,KAAG,MAcjE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,UAAW,MAAM,KAAG,MAI7C,CAAC"}
1
+ {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/string/convert.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM,CAqF5E;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB,UACvB,MAAM,QACP,MAAM,GAAG,MAAM,WACZ,MAAM,KACb,MAYF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,UAAW,MAAM,KAAG,SAAS,CAAC,MAAM,CAK7D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,UAAW,MAAM,YAAY,WAAW,KAAG,MAcjE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,UAAW,MAAM,KAAG,MAI7C,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAEnD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAEjD"}
@@ -138,3 +138,27 @@ export const reverseString = (input) => {
138
138
  const trimmedString = trimString(input);
139
139
  return trimmedString.split('').reverse().join('');
140
140
  };
141
+ /**
142
+ * * Normalizes a string by removing diacritics (accents).
143
+ * @param str The input string.
144
+ * @returns The normalized string.
145
+ */
146
+ export function normalizeString(str) {
147
+ return str.normalize('NFD').replace(/[\u0300-\u036f]/g, '');
148
+ }
149
+ /**
150
+ * * Extracts all email addresses from a string.
151
+ * @param str The input string.
152
+ * @returns An array of extracted email addresses.
153
+ */
154
+ export function extractEmails(str) {
155
+ return str.match(/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g) || [];
156
+ }
157
+ /**
158
+ * * Extracts all URLs from a string.
159
+ * @param str The input string.
160
+ * @returns An array of extracted URLs.
161
+ */
162
+ export function extractURLs(str) {
163
+ return str.match(/https?:\/\/[^\s/$.?#].[^\s]*/g) || [];
164
+ }
@@ -0,0 +1,37 @@
1
+ /**
2
+ * * Checks if a string is a palindrome.
3
+ * @param input - The string to check.
4
+ * @returns True if the string is a palindrome, otherwise false.
5
+ */
6
+ export declare const isPalindrome: (input: string) => boolean;
7
+ /**
8
+ * * Checks if a string is in camelCase format.
9
+ * @param str The string to check.
10
+ * @returns `true` if the string is in camelCase, otherwise `false`.
11
+ */
12
+ export declare function isCamelCase(str: string): boolean;
13
+ /**
14
+ * * Checks if a string is in PascalCase format.
15
+ * @param str The string to check.
16
+ * @returns `true` if the string is in PascalCase, otherwise `false`.
17
+ */
18
+ export declare function isPascalCase(str: string): boolean;
19
+ /**
20
+ * * Checks if a string is in snake_case format.
21
+ * @param str The string to check.
22
+ * @returns `true` if the string is in snake_case, otherwise `false`.
23
+ */
24
+ export declare function isSnakeCase(str: string): boolean;
25
+ /**
26
+ * * Checks if a string is in kebab-case format.
27
+ * @param str The string to check.
28
+ * @returns `true` if the string is in kebab-case, otherwise `false`.
29
+ */
30
+ export declare function isKebabCase(str: string): boolean;
31
+ /**
32
+ * * Checks if a string contains only emojis.
33
+ * @param str The string to check.
34
+ * @returns `true` if the string contains only emojis, otherwise `false`.
35
+ */
36
+ export declare function isEmojiOnly(str: string): boolean;
37
+ //# sourceMappingURL=guards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../../src/string/guards.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,eAAO,MAAM,YAAY,UAAW,MAAM,KAAG,OAG5C,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEhD"}
@@ -0,0 +1,50 @@
1
+ import { reverseString } from './convert';
2
+ /**
3
+ * * Checks if a string is a palindrome.
4
+ * @param input - The string to check.
5
+ * @returns True if the string is a palindrome, otherwise false.
6
+ */
7
+ export const isPalindrome = (input) => {
8
+ const normalized = input.toLowerCase().replace(/[^a-z0-9]/g, '');
9
+ return normalized === reverseString(normalized);
10
+ };
11
+ /**
12
+ * * Checks if a string is in camelCase format.
13
+ * @param str The string to check.
14
+ * @returns `true` if the string is in camelCase, otherwise `false`.
15
+ */
16
+ export function isCamelCase(str) {
17
+ return /^[a-z]+([A-Z][a-z]*)*$/.test(str);
18
+ }
19
+ /**
20
+ * * Checks if a string is in PascalCase format.
21
+ * @param str The string to check.
22
+ * @returns `true` if the string is in PascalCase, otherwise `false`.
23
+ */
24
+ export function isPascalCase(str) {
25
+ return /^[A-Z][a-zA-Z]*$/.test(str);
26
+ }
27
+ /**
28
+ * * Checks if a string is in snake_case format.
29
+ * @param str The string to check.
30
+ * @returns `true` if the string is in snake_case, otherwise `false`.
31
+ */
32
+ export function isSnakeCase(str) {
33
+ return /^[a-z]+(_[a-z]+)*$/.test(str);
34
+ }
35
+ /**
36
+ * * Checks if a string is in kebab-case format.
37
+ * @param str The string to check.
38
+ * @returns `true` if the string is in kebab-case, otherwise `false`.
39
+ */
40
+ export function isKebabCase(str) {
41
+ return /^[a-z]+(-[a-z]+)*$/.test(str);
42
+ }
43
+ /**
44
+ * * Checks if a string contains only emojis.
45
+ * @param str The string to check.
46
+ * @returns `true` if the string contains only emojis, otherwise `false`.
47
+ */
48
+ export function isEmojiOnly(str) {
49
+ return /^[\p{Emoji}]+$/u.test(str);
50
+ }
@@ -4,12 +4,6 @@
4
4
  * @returns An array of numbers found in the string.
5
5
  */
6
6
  export declare const extractNumbersFromString: (input: string) => number[];
7
- /**
8
- * * Checks if a string is a palindrome.
9
- * @param input - The string to check.
10
- * @returns True if the string is a palindrome, otherwise false.
11
- */
12
- export declare const isPalindrome: (input: string) => boolean;
13
7
  /**
14
8
  * * Computes the Levenshtein distance between two strings.
15
9
  * @param a - First string.
@@ -1 +1 @@
1
- {"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../src/string/utilities.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,UAAW,MAAM,KAAG,MAAM,EAE9D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,UAAW,MAAM,KAAG,OAG5C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,MAAO,MAAM,KAAK,MAAM,KAAG,MAqB7D,CAAC"}
1
+ {"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../src/string/utilities.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,UAAW,MAAM,KAAG,MAAM,EAE9D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,MAAO,MAAM,KAAK,MAAM,KAAG,MAqB7D,CAAC"}
@@ -1,4 +1,3 @@
1
- import { reverseString } from './convert';
2
1
  /**
3
2
  * * Extracts all numbers from a string as array of numbers.
4
3
  * @param input - The string to extract numbers from.
@@ -7,15 +6,6 @@ import { reverseString } from './convert';
7
6
  export const extractNumbersFromString = (input) => {
8
7
  return (input.match(/\d+/g) || []).map(Number);
9
8
  };
10
- /**
11
- * * Checks if a string is a palindrome.
12
- * @param input - The string to check.
13
- * @returns True if the string is a palindrome, otherwise false.
14
- */
15
- export const isPalindrome = (input) => {
16
- const normalized = input.toLowerCase().replace(/[^a-z0-9]/g, '');
17
- return normalized === reverseString(normalized);
18
- };
19
9
  /**
20
10
  * * Computes the Levenshtein distance between two strings.
21
11
  * @param a - First string.
@@ -11,6 +11,8 @@ export type FlattenPartial<T> = Partial<{
11
11
  [K in keyof T]: T[K];
12
12
  }>;
13
13
  /** Utility type to flatten Partial type */
14
+ /** Union of `number` and numeric string */
15
+ export type Numeric = number | `${number}`;
14
16
  /** Union of Primitive Types */
15
17
  export type Primitive = string | number | boolean | null | undefined;
16
18
  /** Extract primitive key(s) from an object */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,MAAM,MAAM,eAAe,GAAG,GAAG,CAAC;AAElC,OAAO,CAAC,MAAM,OAAO,EAAE,OAAO,MAAM,CAAC;AACrC,KAAK,KAAK,CAAC,CAAC,IAAI;IAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;CAAE,CAAC;AAEjC,6BAA6B;AAC7B,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAEzC,2CAA2C;AAC3C,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,OAAO,CAAC;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,CAAC;AAElE,2CAA2C;AAG3C,+BAA+B;AAC/B,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAErE,8CAA8C;AAC9C,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;KAC5B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,GAAG,CAAC,GAAG,KAAK;CAClD,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX,0EAA0E;AAC1E,MAAM,MAAM,sBAAsB,CAAC,CAAC,IAAI;KACtC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,CAAC,GAAG,KAAK;CAClE,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX,4BAA4B;AAC5B,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;AAE/D,4BAA4B;AAC5B,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;AAExD,gDAAgD;AAChD,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAEpD,kDAAkD;AAClD,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,YAAY,IAAI,CAC/C,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAClB,IAAI,CAAC;AAEV,mDAAmD;AACnD,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,YAAY,IAAI,CACjD,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAClB,IAAI,CAAC;AAEV,iCAAiC;AACjC,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAElE,mCAAmC;AACnC,MAAM,MAAM,aAAa,GACtB,KAAK,CAAC,OAAO,CAAC,GACd,IAAI,GACJ,QAAQ,GACR,IAAI,GACJ,IAAI,GACJ,MAAM,GACN,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,GACzB,OAAO,CAAC,OAAO,CAAC,GAChB,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,GACrB,GAAG,CAAC,OAAO,CAAC,GACZ,SAAS,GACT,YAAY,GACZ,aAAa,CAAC,OAAO,CAAC,GACtB,OAAO,CAAC,OAAO,CAAC,GAChB,KAAK,GACL,SAAS,GACT,UAAU,GACV,cAAc,GACd,WAAW,GACX,SAAS,GACT,QAAQ,GACR,MAAM,GACN,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,MAAM,MAAM,eAAe,GAAG,GAAG,CAAC;AAElC,OAAO,CAAC,MAAM,OAAO,EAAE,OAAO,MAAM,CAAC;AACrC,KAAK,KAAK,CAAC,CAAC,IAAI;IAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;CAAE,CAAC;AAEjC,6BAA6B;AAC7B,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAEzC,2CAA2C;AAC3C,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,OAAO,CAAC;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,CAAC;AAElE,2CAA2C;AAG3C,2CAA2C;AAC3C,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;AAE3C,+BAA+B;AAC/B,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAErE,8CAA8C;AAC9C,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;KAC5B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,GAAG,CAAC,GAAG,KAAK;CAClD,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX,0EAA0E;AAC1E,MAAM,MAAM,sBAAsB,CAAC,CAAC,IAAI;KACtC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,CAAC,GAAG,KAAK;CAClE,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX,4BAA4B;AAC5B,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;AAE/D,4BAA4B;AAC5B,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;AAExD,gDAAgD;AAChD,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAEpD,kDAAkD;AAClD,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,YAAY,IAAI,CAC/C,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAClB,IAAI,CAAC;AAEV,mDAAmD;AACnD,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,YAAY,IAAI,CACjD,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAClB,IAAI,CAAC;AAEV,iCAAiC;AACjC,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAElE,mCAAmC;AACnC,MAAM,MAAM,aAAa,GACtB,KAAK,CAAC,OAAO,CAAC,GACd,IAAI,GACJ,QAAQ,GACR,IAAI,GACJ,IAAI,GACJ,MAAM,GACN,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,GACzB,OAAO,CAAC,OAAO,CAAC,GAChB,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,GACrB,GAAG,CAAC,OAAO,CAAC,GACZ,SAAS,GACT,YAAY,GACZ,aAAa,CAAC,OAAO,CAAC,GACtB,OAAO,CAAC,OAAO,CAAC,GAChB,KAAK,GACL,SAAS,GACT,UAAU,GACV,cAAc,GACd,WAAW,GACX,SAAS,GACT,QAAQ,GACR,MAAM,GACN,MAAM,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nhb-toolbox",
3
- "version": "3.1.4",
3
+ "version": "3.2.1",
4
4
  "description": "A versatile collection of smart, efficient, and reusable utility functions for everyday development needs.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",