nhb-toolbox 2.8.6 → 2.8.8
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.
- package/dist/form/types.d.ts +4 -4
- package/dist/form/types.d.ts.map +1 -1
- package/dist/number/basics.d.ts.map +1 -1
- package/dist/number/basics.js +1 -7
- package/dist/number/types.d.ts +1 -1
- package/dist/number/types.d.ts.map +1 -1
- package/dist/number/utilities.d.ts +1 -1
- package/dist/number/utilities.d.ts.map +1 -1
- package/dist/object/types.d.ts +12 -4
- package/dist/object/types.d.ts.map +1 -1
- package/dist/string/anagram.d.ts +2 -2
- package/dist/string/anagram.d.ts.map +1 -1
- package/dist/string/anagram.js +4 -3
- package/package.json +1 -1
package/dist/form/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DotNotationKey } from '../object/types';
|
|
1
|
+
import type { DotNotationKey, DotNotationKeyForArray, DotNotationKeyForObject } from '../object/types';
|
|
2
2
|
/** - Configuration options to control FormData generation behavior. */
|
|
3
3
|
export interface FormDataConfigs<T> {
|
|
4
4
|
/**
|
|
@@ -22,20 +22,20 @@ export interface FormDataConfigs<T> {
|
|
|
22
22
|
* - Use `*` to preserve all keys in their dot-notation format.
|
|
23
23
|
* - If a key exists in both `dotNotateNested` and `stringifyNested`, `dotNotateNested` takes precedence.
|
|
24
24
|
*/
|
|
25
|
-
dotNotateNested?: '*' |
|
|
25
|
+
dotNotateNested?: '*' | DotNotationKeyForObject<T>[];
|
|
26
26
|
/**
|
|
27
27
|
* * Specifies which nested objects should be stringified instead of being flattened or dot-notated.
|
|
28
28
|
* - Defaults to `*`, meaning all nested objects will be stringified. Which is standard in modern form submissions.
|
|
29
29
|
* - Use `*` to stringify all nested objects.
|
|
30
30
|
* - If a key exists in both `dotNotateNested` and `stringifyNested`, `dotNotateNested` takes precedence.
|
|
31
31
|
*/
|
|
32
|
-
stringifyNested?: '*' |
|
|
32
|
+
stringifyNested?: '*' | DotNotationKeyForObject<T>[];
|
|
33
33
|
/**
|
|
34
34
|
* * Controls how arrays should be serialized in FormData.
|
|
35
35
|
* - If a key is included, the array will be broken into individual key-value pairs (`key[0]: value, key[1]: value`).
|
|
36
36
|
* - Use `*` to apply this behavior to all array keys.
|
|
37
37
|
*/
|
|
38
|
-
breakArray?: '*' |
|
|
38
|
+
breakArray?: '*' | DotNotationKeyForArray<T>[];
|
|
39
39
|
/** - Enables automatic trimming of string values before appending them to FormData. */
|
|
40
40
|
trimStrings?: boolean;
|
|
41
41
|
}
|
package/dist/form/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/form/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/form/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,cAAc,EACd,sBAAsB,EACtB,uBAAuB,EACvB,MAAM,iBAAiB,CAAC;AAEzB,uEAAuE;AACvE,MAAM,WAAW,eAAe,CAAC,CAAC;IACjC;;;OAGG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IAEjC;;;OAGG;IACH,YAAY,CAAC,EAAE,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IAEzC;;;OAGG;IACH,aAAa,CAAC,EAAE,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IAE1C;;;;;OAKG;IACH,eAAe,CAAC,EAAE,GAAG,GAAG,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC;IAErD;;;;;OAKG;IACH,eAAe,CAAC,EAAE,GAAG,GAAG,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC;IAErD;;;;OAIG;IACH,UAAU,CAAC,EAAE,GAAG,GAAG,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;IAE/C,uFAAuF;IACvF,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,+GAA+G;AAC/G,MAAM,WAAW,UAAU;IAC1B,uCAAuC;IACvC,IAAI,EAAE,IAAI,GAAG,UAAU,CAAC;IACxB,oDAAoD;IACpD,QAAQ,EAAE,UAAU,EAAE,CAAC;CACvB;AAED,2EAA2E;AAC3E,MAAM,WAAW,UAAU;IAC1B,sCAAsC;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,gBAAgB,EAAE,IAAI,CAAC;IACvB,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,aAAa,EAAE,aAAa,CAAC;IAC7B,mDAAmD;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,sEAAsE;AACtE,MAAM,WAAW,aAAc,SAAQ,IAAI;IAC1C,+CAA+C;IAC/C,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,8DAA8D;AAC9D,MAAM,WAAW,SAAU,SAAQ,KAAK;IACvC,qCAAqC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;CACZ"}
|
|
@@ -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,
|
|
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"}
|
package/dist/number/basics.js
CHANGED
|
@@ -49,13 +49,7 @@ export const getRandomNumber = (options) => {
|
|
|
49
49
|
*/
|
|
50
50
|
export const convertToDecimal = (input, options) => {
|
|
51
51
|
const { decimalPlaces = 2, isString = false } = options || {};
|
|
52
|
-
|
|
53
|
-
if (typeof input === 'number') {
|
|
54
|
-
number = input;
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
number = Number(input);
|
|
58
|
-
}
|
|
52
|
+
const number = typeof input === 'number' ? input : Number(input);
|
|
59
53
|
return isString ?
|
|
60
54
|
number.toFixed(decimalPlaces)
|
|
61
55
|
: Number(number.toFixed(decimalPlaces));
|
package/dist/number/types.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ export interface DecimalOptions<T extends boolean | undefined = false> {
|
|
|
18
18
|
isString?: T;
|
|
19
19
|
}
|
|
20
20
|
/** - Converted decimal type either `number` or `string`. */
|
|
21
|
-
export type ConvertedDecimal<T> = T extends true ?
|
|
21
|
+
export type ConvertedDecimal<T> = T extends true ? `${number}` : number;
|
|
22
22
|
/** - Type of numbers to generate */
|
|
23
23
|
export type NumberType = 'any' | 'natural' | 'odd' | 'even' | 'prime' | 'random';
|
|
24
24
|
/** - Output format for the generated numbers */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/number/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,MAAM,aAAa,CAAC;AAErB,4CAA4C;AAC5C,MAAM,WAAW,mBAAmB;IACnC,oCAAoC;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6CAA6C;IAC7C,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,kDAAkD;AAClD,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,OAAO,GAAG,SAAS,GAAG,KAAK;IACpE,6DAA6D;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,CAAC,CAAC;CACb;AAED,4DAA4D;AAC5D,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/number/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,MAAM,aAAa,CAAC;AAErB,4CAA4C;AAC5C,MAAM,WAAW,mBAAmB;IACnC,oCAAoC;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6CAA6C;IAC7C,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,kDAAkD;AAClD,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,OAAO,GAAG,SAAS,GAAG,KAAK;IACpE,6DAA6D;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,CAAC,CAAC;CACb;AAED,4DAA4D;AAC5D,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC;AAExE,oCAAoC;AACpC,MAAM,MAAM,UAAU,GACnB,KAAK,GACL,SAAS,GACT,KAAK,GACL,MAAM,GACN,OAAO,GACP,QAAQ,CAAC;AAEZ,gDAAgD;AAChD,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEvC,kDAAkD;AAClD,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,KAAK,CAAE,SAAQ,mBAAmB;IACzE,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qFAAqF;IACrF,KAAK,CAAC,EAAE,CAAC,CAAC;CACV;AAED,4DAA4D;AAC5D,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,KAAK,IACxC,CAAC,SAAS,OAAO,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC;AAEvC,uCAAuC;AACvC,MAAM,MAAM,YAAY,GACrB,MAAM,OAAO,gBAAgB,GAC7B,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnC,6CAA6C;AAC7C,MAAM,MAAM,UAAU,GACnB,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,GACxD,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -17,7 +17,7 @@ export declare const roundToNearest: (value: number, interval?: number) => numbe
|
|
|
17
17
|
* @example formatCurrency(1234.56, "USD") → "$1,234.56"
|
|
18
18
|
* @example formatCurrency(1234.56, "USD", "en-US") → "$1,234.56"
|
|
19
19
|
*/
|
|
20
|
-
export declare const formatCurrency: (value: number
|
|
20
|
+
export declare const formatCurrency: (value: number | `${number}`, currency?: CurrencyCode, locale?: LocaleCode) => string;
|
|
21
21
|
/**
|
|
22
22
|
* * Clamps a number within a specified range.
|
|
23
23
|
* @param value - The number to clamp.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../src/number/utilities.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAExD;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,UAAW,MAAM,wBAAiB,MACrB,CAAC;AAEzC;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,UACnB,MAAM,
|
|
1
|
+
{"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../src/number/utilities.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAExD;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,UAAW,MAAM,wBAAiB,MACrB,CAAC;AAEzC;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,UACnB,MAAM,GAAG,GAAG,MAAM,EAAE,aACjB,YAAY,WACb,UAAU,KACjB,MAQF,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,UAAW,MAAM,OAAO,MAAM,OAAO,MAAM,KAAG,MAClC,CAAC;AAErC;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,QAAS,MAAM,OAAO,MAAM,KAAG,MAEzD,CAAC"}
|
package/dist/object/types.d.ts
CHANGED
|
@@ -18,12 +18,20 @@ export type QueryObject = {
|
|
|
18
18
|
/** - Object type with string or number or boolean as value for each key. */
|
|
19
19
|
export type GenericObjectPrimitive = Record<string, string | number | boolean>;
|
|
20
20
|
/** - Dot-notation keys for nested objects */
|
|
21
|
-
export type DotNotationKeyStrict<T> = T extends GenericObjectStrict ? {
|
|
21
|
+
export type DotNotationKeyStrict<T> = T extends unknown[] ? never : T extends GenericObjectStrict ? {
|
|
22
22
|
[K in keyof T & string]: T[K] extends GenericObjectStrict ? `${K}` | `${K}.${DotNotationKeyStrict<T[K]>}` : `${K}`;
|
|
23
23
|
}[keyof T & string] : never;
|
|
24
|
-
/** - Dot-notation keys for nested objects */
|
|
25
|
-
export type DotNotationKey<T> = T extends GenericObject ? {
|
|
26
|
-
[K in keyof T & string]: T[K] extends GenericObject ? `${K}` | `${K}.${DotNotationKey<T[K]
|
|
24
|
+
/** - Dot-notation keys for nested objects (including optional properties) */
|
|
25
|
+
export type DotNotationKey<T> = T extends unknown[] ? never : T extends GenericObject ? {
|
|
26
|
+
[K in keyof T & string]: NonNullable<T[K]> extends GenericObject ? `${K}` | `${K}.${DotNotationKey<NonNullable<T[K]>>}` : `${K}`;
|
|
27
|
+
}[keyof T & string] : never;
|
|
28
|
+
/** - Dot-notation keys where the value is an array (including optional properties) */
|
|
29
|
+
export type DotNotationKeyForArray<T> = T extends GenericObject ? {
|
|
30
|
+
[K in keyof T & string]: NonNullable<T[K]> extends unknown[] ? `${K}` | `${K}.${DotNotationKeyForArray<NonNullable<T[K]>>}` : never;
|
|
31
|
+
}[keyof T & string] : never;
|
|
32
|
+
/** - Dot-notation keys where the value is a non-array object (including optional properties) */
|
|
33
|
+
export type DotNotationKeyForObject<T> = T extends GenericObject ? {
|
|
34
|
+
[K in keyof T & string]: NonNullable<T[K]> extends GenericObject ? NonNullable<T[K]> extends (unknown[]) ? never : `${K}` | `${K}.${DotNotationKeyForObject<NonNullable<T[K]>>}` : never;
|
|
27
35
|
}[keyof T & string] : never;
|
|
28
36
|
/** - Extract only primitive keys from an object, including nested dot-notation keys. */
|
|
29
37
|
export type NestedPrimitiveKey<T> = T extends GenericObject ? {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/object/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,4CAA4C;AAC5C,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE1D,4CAA4C;AAC5C,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEhD;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,SAAS,EAAE,GAAG,WAAW,CAAC;AAErE;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAA;CAAE,CAAC;AAE9D,4EAA4E;AAC5E,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAE/E,6CAA6C;AAC7C,MAAM,MAAM,oBAAoB,CAAC,CAAC,IACjC,CAAC,SAAS,mBAAmB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/object/types.ts"],"names":[],"mappings":"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"}
|
package/dist/string/anagram.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* * Utility to generate unique anagrams of a word.
|
|
3
3
|
* @param word The word for generating anagrams.
|
|
4
4
|
* @param limit The maximum number of anagrams to return ('all' for unlimited). Default is `100`.
|
|
5
|
-
* @returns An array of generated anagrams. The first element is always the given word.
|
|
5
|
+
* @returns An array of generated anagrams. The first element is always the given word. Generated angrams are always in lowercase.
|
|
6
6
|
*/
|
|
7
|
-
export declare function generateAnagrams(word: string, limit?: number | 'all'): string[];
|
|
7
|
+
export declare function generateAnagrams(word: string, limit?: number | 'all'): Lowercase<string>[];
|
|
8
8
|
//# sourceMappingURL=anagram.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anagram.d.ts","sourceRoot":"","sources":["../../src/string/anagram.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC/B,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,MAAM,GAAG,KAAW,GACzB,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"anagram.d.ts","sourceRoot":"","sources":["../../src/string/anagram.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC/B,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,MAAM,GAAG,KAAW,GACzB,SAAS,CAAC,MAAM,CAAC,EAAE,CA+BrB"}
|
package/dist/string/anagram.js
CHANGED
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
* * Utility to generate unique anagrams of a word.
|
|
3
3
|
* @param word The word for generating anagrams.
|
|
4
4
|
* @param limit The maximum number of anagrams to return ('all' for unlimited). Default is `100`.
|
|
5
|
-
* @returns An array of generated anagrams. The first element is always the given word.
|
|
5
|
+
* @returns An array of generated anagrams. The first element is always the given word. Generated angrams are always in lowercase.
|
|
6
6
|
*/
|
|
7
7
|
export function generateAnagrams(word, limit = 100) {
|
|
8
|
-
if (word.length <= 1)
|
|
9
|
-
return [word];
|
|
8
|
+
if (word.length <= 1) {
|
|
9
|
+
return [word.toLowerCase()];
|
|
10
|
+
}
|
|
10
11
|
const uniqueAnagrams = new Set();
|
|
11
12
|
/**
|
|
12
13
|
* * Helper function to generate permutations.
|
package/package.json
CHANGED