@aliexme/js-utils 0.8.0 → 1.1.0

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.
Files changed (46) hide show
  1. package/README.md +1 -1
  2. package/dist/array/groupArrayItems.js.map +1 -1
  3. package/dist/array/index.d.ts +1 -0
  4. package/dist/array/index.js +1 -0
  5. package/dist/array/index.js.map +1 -1
  6. package/dist/array/randomArrayItem.d.ts +1 -0
  7. package/dist/array/randomArrayItem.js +9 -0
  8. package/dist/array/randomArrayItem.js.map +1 -0
  9. package/dist/async/asyncify.d.ts +1 -1
  10. package/dist/number/index.d.ts +1 -0
  11. package/dist/number/index.js +1 -0
  12. package/dist/number/index.js.map +1 -1
  13. package/dist/number/randomInt.d.ts +1 -0
  14. package/dist/number/randomInt.js +8 -0
  15. package/dist/number/randomInt.js.map +1 -0
  16. package/dist/object/findObjectKey.d.ts +1 -0
  17. package/dist/object/findObjectKey.js +8 -0
  18. package/dist/object/findObjectKey.js.map +1 -0
  19. package/dist/object/getObjectKey.d.ts +1 -0
  20. package/dist/object/getObjectKey.js +9 -0
  21. package/dist/object/getObjectKey.js.map +1 -0
  22. package/dist/object/index.d.ts +2 -0
  23. package/dist/object/index.js +2 -0
  24. package/dist/object/index.js.map +1 -1
  25. package/dist/object/omitObjectProperties.js.map +1 -1
  26. package/dist/object/omitUndefinedObjectValues.js.map +1 -1
  27. package/dist/random/index.d.ts +3 -0
  28. package/dist/random/index.js +20 -0
  29. package/dist/random/index.js.map +1 -0
  30. package/dist/random/randomArrayItem.d.ts +1 -0
  31. package/dist/random/randomArrayItem.js +9 -0
  32. package/dist/random/randomArrayItem.js.map +1 -0
  33. package/dist/random/randomInt.d.ts +4 -0
  34. package/dist/random/randomInt.js +9 -0
  35. package/dist/random/randomInt.js.map +1 -0
  36. package/dist/random/randomString.d.ts +3 -0
  37. package/dist/random/randomString.js +32 -0
  38. package/dist/random/randomString.js.map +1 -0
  39. package/dist/string/index.d.ts +1 -0
  40. package/dist/string/index.js +1 -0
  41. package/dist/string/index.js.map +1 -1
  42. package/dist/string/randomString.d.ts +3 -0
  43. package/dist/string/randomString.js +32 -0
  44. package/dist/string/randomString.js.map +1 -0
  45. package/dist/string/secureString.js.map +1 -1
  46. package/package.json +2 -2
package/README.md CHANGED
@@ -4,6 +4,6 @@ Common JavaScript utilities
4
4
 
5
5
  ## Installation
6
6
 
7
- ```
7
+ ```sh
8
8
  npm i @aliexme/js-utils
9
9
  ```
@@ -1 +1 @@
1
- {"version":3,"file":"groupArrayItems.js","sourceRoot":"","sources":["../../src/array/groupArrayItems.ts"],"names":[],"mappings":";;;AAAO,MAAM,eAAe,GAAG,CAC7B,KAAU,EACV,GAAM,EACwB,EAAE;IAChC,MAAM,GAAG,GAAiC,EAAE,CAAA;IAE5C,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAoB,CAAA;QACjD,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,CAAA;QACpC,IAAI,UAAU,EAAE;YACd,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SACtB;aAAM;YACL,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;SAC3B;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAjBY,QAAA,eAAe,mBAiB3B"}
1
+ {"version":3,"file":"groupArrayItems.js","sourceRoot":"","sources":["../../src/array/groupArrayItems.ts"],"names":[],"mappings":";;;AAAO,MAAM,eAAe,GAAG,CAC7B,KAAU,EACV,GAAM,EACwB,EAAE;IAChC,MAAM,GAAG,GAAiC,EAAE,CAAA;IAE5C,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAoB,CAAA;QACjD,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,CAAA;QACpC,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACvB,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAjBY,QAAA,eAAe,mBAiB3B"}
@@ -2,3 +2,4 @@ export * from './uniquify';
2
2
  export * from './subtractArrays';
3
3
  export * from './arraysIntersection';
4
4
  export * from './groupArrayItems';
5
+ export * from './randomArrayItem';
@@ -18,4 +18,5 @@ __exportStar(require("./uniquify"), exports);
18
18
  __exportStar(require("./subtractArrays"), exports);
19
19
  __exportStar(require("./arraysIntersection"), exports);
20
20
  __exportStar(require("./groupArrayItems"), exports);
21
+ __exportStar(require("./randomArrayItem"), exports);
21
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/array/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,mDAAgC;AAChC,uDAAoC;AACpC,oDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/array/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,mDAAgC;AAChC,uDAAoC;AACpC,oDAAiC;AACjC,oDAAiC"}
@@ -0,0 +1 @@
1
+ export declare const randomArrayItem: <T>(array: T[]) => T;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.randomArrayItem = void 0;
4
+ const randomArrayItem = (array) => {
5
+ const randomIndex = Math.floor(Math.random() * array.length);
6
+ return array[randomIndex];
7
+ };
8
+ exports.randomArrayItem = randomArrayItem;
9
+ //# sourceMappingURL=randomArrayItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"randomArrayItem.js","sourceRoot":"","sources":["../../src/array/randomArrayItem.ts"],"names":[],"mappings":";;;AAAO,MAAM,eAAe,GAAG,CAAI,KAAU,EAAK,EAAE;IAClD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;IAC5D,OAAO,KAAK,CAAC,WAAW,CAAC,CAAA;AAC3B,CAAC,CAAA;AAHY,QAAA,eAAe,mBAG3B"}
@@ -1 +1 @@
1
- export declare const asyncify: <A extends unknown[], R>(fn: (...args: A) => R) => (...args: A) => Promise<R>;
1
+ export declare const asyncify: <A extends unknown[], R>(fn: (...args: A) => R) => ((...args: A) => Promise<R>);
@@ -1 +1,2 @@
1
1
  export * from './round';
2
+ export * from './randomInt';
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./round"), exports);
18
+ __exportStar(require("./randomInt"), exports);
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/number/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/number/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,8CAA2B"}
@@ -0,0 +1 @@
1
+ export declare const randomInt: (from?: number, to?: number) => number;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.randomInt = void 0;
4
+ const randomInt = (from = 0, to = 999_999) => {
5
+ return Math.floor(Math.random() * (to - from + 1)) + from;
6
+ };
7
+ exports.randomInt = randomInt;
8
+ //# sourceMappingURL=randomInt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"randomInt.js","sourceRoot":"","sources":["../../src/number/randomInt.ts"],"names":[],"mappings":";;;AAAO,MAAM,SAAS,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,EAAE,GAAG,OAAO,EAAU,EAAE;IAC1D,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;AAC3D,CAAC,CAAA;AAFY,QAAA,SAAS,aAErB"}
@@ -0,0 +1 @@
1
+ export declare const findObjectKey: <T extends Record<string, unknown>, K extends keyof T = keyof T>(obj: T, predicate: (value: T[K]) => boolean) => K | undefined;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findObjectKey = void 0;
4
+ const findObjectKey = (obj, predicate) => {
5
+ return Object.entries(obj).find(([, value]) => predicate(value))?.[0];
6
+ };
7
+ exports.findObjectKey = findObjectKey;
8
+ //# sourceMappingURL=findObjectKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findObjectKey.js","sourceRoot":"","sources":["../../src/object/findObjectKey.ts"],"names":[],"mappings":";;;AAAO,MAAM,aAAa,GAAG,CAC3B,GAAM,EACN,SAAmC,EACpB,EAAE;IACjB,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,KAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAM,CAAA;AACpF,CAAC,CAAA;AALY,QAAA,aAAa,iBAKzB"}
@@ -0,0 +1 @@
1
+ export declare const getObjectKey: <T extends Record<string, unknown>, K extends keyof T = keyof T>(obj: T, value: T[K]) => K;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getObjectKey = void 0;
4
+ const findObjectKey_1 = require("./findObjectKey");
5
+ const getObjectKey = (obj, value) => {
6
+ return (0, findObjectKey_1.findObjectKey)(obj, (objValue) => objValue === value);
7
+ };
8
+ exports.getObjectKey = getObjectKey;
9
+ //# sourceMappingURL=getObjectKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getObjectKey.js","sourceRoot":"","sources":["../../src/object/getObjectKey.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAExC,MAAM,YAAY,GAAG,CAC1B,GAAM,EACN,KAAW,EACR,EAAE;IACL,OAAO,IAAA,6BAAa,EAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,KAAK,CAAM,CAAA;AAClE,CAAC,CAAA;AALY,QAAA,YAAY,gBAKxB"}
@@ -1,3 +1,5 @@
1
+ export * from './getObjectKey';
2
+ export * from './findObjectKey';
1
3
  export * from './objectForEach';
2
4
  export * from './omitObjectProperties';
3
5
  export * from './omitUndefinedObjectValues';
@@ -14,6 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./getObjectKey"), exports);
18
+ __exportStar(require("./findObjectKey"), exports);
17
19
  __exportStar(require("./objectForEach"), exports);
18
20
  __exportStar(require("./omitObjectProperties"), exports);
19
21
  __exportStar(require("./omitUndefinedObjectValues"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/object/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAA+B;AAC/B,yDAAsC;AACtC,8DAA2C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/object/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA8B;AAC9B,kDAA+B;AAC/B,kDAA+B;AAC/B,yDAAsC;AACtC,8DAA2C"}
@@ -1 +1 @@
1
- {"version":3,"file":"omitObjectProperties.js","sourceRoot":"","sources":["../../src/object/omitObjectProperties.ts"],"names":[],"mappings":";;;AAEA,mDAA+C;AAExC,MAAM,oBAAoB,GAAG,CAClC,GAAM,EACN,IAAa,EACD,EAAE;IACd,MAAM,MAAM,GAAG,EAAgB,CAAA;IAE/B,IAAA,6BAAa,EAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;QACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAA;QAE7G,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,CAAC,GAA0B,CAAC,GAAG,KAA4B,CAAA;SAClE;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAfY,QAAA,oBAAoB,wBAehC"}
1
+ {"version":3,"file":"omitObjectProperties.js","sourceRoot":"","sources":["../../src/object/omitObjectProperties.ts"],"names":[],"mappings":";;;AAEA,mDAA+C;AAExC,MAAM,oBAAoB,GAAG,CAClC,GAAM,EACN,IAAa,EACD,EAAE;IACd,MAAM,MAAM,GAAG,EAAgB,CAAA;IAE/B,IAAA,6BAAa,EAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;QACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAA;QAE7G,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,CAAC,GAA0B,CAAC,GAAG,KAA4B,CAAA;QACnE,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAfY,QAAA,oBAAoB,wBAehC"}
@@ -1 +1 @@
1
- {"version":3,"file":"omitUndefinedObjectValues.js","sourceRoot":"","sources":["../../src/object/omitUndefinedObjectValues.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAExC,MAAM,yBAAyB,GAAG,CAAoC,GAAM,EAAK,EAAE;IACxF,MAAM,MAAM,GAAG,EAAO,CAAA;IAEtB,IAAA,6BAAa,EAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;QACpC,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;SACpB;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAVY,QAAA,yBAAyB,6BAUrC"}
1
+ {"version":3,"file":"omitUndefinedObjectValues.js","sourceRoot":"","sources":["../../src/object/omitUndefinedObjectValues.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAExC,MAAM,yBAAyB,GAAG,CAAoC,GAAM,EAAK,EAAE;IACxF,MAAM,MAAM,GAAG,EAAO,CAAA;IAEtB,IAAA,6BAAa,EAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;QACpC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QACrB,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAVY,QAAA,yBAAyB,6BAUrC"}
@@ -0,0 +1,3 @@
1
+ export * from './randomInt';
2
+ export * from './randomString';
3
+ export * from './randomArrayItem';
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./randomInt"), exports);
18
+ __exportStar(require("./randomString"), exports);
19
+ __exportStar(require("./randomArrayItem"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/random/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,iDAA8B;AAC9B,oDAAiC"}
@@ -0,0 +1 @@
1
+ export declare const randomArrayItem: <T>(array: T[]) => T;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.randomArrayItem = void 0;
4
+ const randomArrayItem = (array) => {
5
+ const randomIndex = Math.floor(Math.random() * array.length);
6
+ return array[randomIndex];
7
+ };
8
+ exports.randomArrayItem = randomArrayItem;
9
+ //# sourceMappingURL=randomArrayItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"randomArrayItem.js","sourceRoot":"","sources":["../../src/random/randomArrayItem.ts"],"names":[],"mappings":";;;AAAO,MAAM,eAAe,GAAG,CAAI,KAAU,EAAK,EAAE;IAClD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;IAC5D,OAAO,KAAK,CAAC,WAAW,CAAC,CAAA;AAC3B,CAAC,CAAA;AAHY,QAAA,eAAe,mBAG3B"}
@@ -0,0 +1,4 @@
1
+ export declare const randomInt: (options?: {
2
+ from?: number;
3
+ to?: number;
4
+ }) => number;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.randomInt = void 0;
4
+ const randomInt = (options = {}) => {
5
+ const { from = 0, to = 999_999 } = options;
6
+ return Math.floor(Math.random() * (to - from + 1)) + from;
7
+ };
8
+ exports.randomInt = randomInt;
9
+ //# sourceMappingURL=randomInt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"randomInt.js","sourceRoot":"","sources":["../../src/random/randomInt.ts"],"names":[],"mappings":";;;AAAO,MAAM,SAAS,GAAG,CACvB,UAGI,EAAE,EACE,EAAE;IACV,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,CAAA;IAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;AAC3D,CAAC,CAAA;AARY,QAAA,SAAS,aAQrB"}
@@ -0,0 +1,3 @@
1
+ export declare const randomString: (options?: {
2
+ length?: number;
3
+ }) => string;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.randomString = void 0;
4
+ const randomInt_1 = require("./randomInt");
5
+ const randomArrayItem_1 = require("./randomArrayItem");
6
+ // prettier-ignore
7
+ const lowercase = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'];
8
+ // prettier-ignore
9
+ const uppercase = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
10
+ // prettier-ignore
11
+ const digits = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
12
+ // prettier-ignore
13
+ const symbols = ['!', '#', '@', '~', '$', '^', '.', ',', '-', '+', '%', '?', '*', '='];
14
+ const charGroupsMap = {
15
+ 1: lowercase,
16
+ 2: uppercase,
17
+ 3: digits,
18
+ 4: symbols,
19
+ };
20
+ const randomString = (options = {}) => {
21
+ const { length = 16 } = options;
22
+ let result = '';
23
+ for (let i = 0; i < length; i++) {
24
+ const charGroupIndex = (0, randomInt_1.randomInt)({ from: 1, to: 4 });
25
+ const charGroup = charGroupsMap[charGroupIndex];
26
+ const char = (0, randomArrayItem_1.randomArrayItem)(charGroup);
27
+ result += char;
28
+ }
29
+ return result;
30
+ };
31
+ exports.randomString = randomString;
32
+ //# sourceMappingURL=randomString.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"randomString.js","sourceRoot":"","sources":["../../src/random/randomString.ts"],"names":[],"mappings":";;;AAAA,2CAAuC;AACvC,uDAAmD;AAEnD,kBAAkB;AAClB,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AACpJ,kBAAkB;AAClB,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AACpJ,kBAAkB;AAClB,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AACjE,kBAAkB;AAClB,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAEtF,MAAM,aAAa,GAAG;IACpB,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,OAAO;CACX,CAAA;AAEM,MAAM,YAAY,GAAG,CAC1B,UAEI,EAAE,EACE,EAAE;IACV,MAAM,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,OAAO,CAAA;IAC/B,IAAI,MAAM,GAAG,EAAE,CAAA;IAEf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,cAAc,GAAG,IAAA,qBAAS,EAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;QACpD,MAAM,SAAS,GAAG,aAAa,CAAC,cAA4C,CAAC,CAAA;QAC7E,MAAM,IAAI,GAAG,IAAA,iCAAe,EAAC,SAAS,CAAC,CAAA;QAEvC,MAAM,IAAI,IAAI,CAAA;IAChB,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAjBY,QAAA,YAAY,gBAiBxB"}
@@ -1,2 +1,3 @@
1
1
  export * from './capitalize';
2
2
  export * from './secureString';
3
+ export * from './randomString';
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./capitalize"), exports);
18
18
  __exportStar(require("./secureString"), exports);
19
+ __exportStar(require("./randomString"), exports);
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/string/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,iDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/string/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,iDAA8B;AAC9B,iDAA8B"}
@@ -0,0 +1,3 @@
1
+ export declare const randomString: (options?: {
2
+ length?: number;
3
+ }) => string;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.randomString = void 0;
4
+ const randomInt_1 = require("../number/randomInt");
5
+ const randomArrayItem_1 = require("../array/randomArrayItem");
6
+ // prettier-ignore
7
+ const lowercase = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'];
8
+ // prettier-ignore
9
+ const uppercase = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
10
+ // prettier-ignore
11
+ const digits = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
12
+ // prettier-ignore
13
+ const symbols = ['!', '#', '@', '~', '$', '^', '.', ',', '-', '+', '%', '?', '*', '='];
14
+ const charGroupsMap = {
15
+ 1: lowercase,
16
+ 2: uppercase,
17
+ 3: digits,
18
+ 4: symbols,
19
+ };
20
+ const randomString = (options = {}) => {
21
+ const { length = 16 } = options;
22
+ let result = '';
23
+ for (let i = 0; i < length; i++) {
24
+ const charGroupIndex = (0, randomInt_1.randomInt)(1, 4);
25
+ const charGroup = charGroupsMap[charGroupIndex];
26
+ const char = (0, randomArrayItem_1.randomArrayItem)(charGroup);
27
+ result += char;
28
+ }
29
+ return result;
30
+ };
31
+ exports.randomString = randomString;
32
+ //# sourceMappingURL=randomString.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"randomString.js","sourceRoot":"","sources":["../../src/string/randomString.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAC/C,8DAA0D;AAE1D,kBAAkB;AAClB,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AACpJ,kBAAkB;AAClB,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AACpJ,kBAAkB;AAClB,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AACjE,kBAAkB;AAClB,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAEtF,MAAM,aAAa,GAAG;IACpB,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,OAAO;CACX,CAAA;AAEM,MAAM,YAAY,GAAG,CAC1B,UAEI,EAAE,EACE,EAAE;IACV,MAAM,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,OAAO,CAAA;IAC/B,IAAI,MAAM,GAAG,EAAE,CAAA;IAEf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,cAAc,GAAG,IAAA,qBAAS,EAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACtC,MAAM,SAAS,GAAG,aAAa,CAAC,cAA4C,CAAC,CAAA;QAC7E,MAAM,IAAI,GAAG,IAAA,iCAAe,EAAC,SAAS,CAAC,CAAA;QAEvC,MAAM,IAAI,IAAI,CAAA;IAChB,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAjBY,QAAA,YAAY,gBAiBxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"secureString.js","sourceRoot":"","sources":["../../src/string/secureString.ts"],"names":[],"mappings":";;;AAAO,MAAM,YAAY,GAAG,CAC1B,GAAW,EACX,UAEI,EAAE,EACE,EAAE;IACV,MAAM,EAAE,gBAAgB,GAAG,CAAC,EAAE,GAAG,OAAO,CAAA;IACxC,MAAM,UAAU,GAAG,MAAM,CAAA;IAEzB,IAAI,CAAC,GAAG,EAAE;QACR,OAAO,GAAG,CAAA;KACX;IAED,MAAM,uBAAuB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAA;IACtF,MAAM,eAAe,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,uBAAuB,CAAC,CAAA;IAEvE,OAAO,GAAG,UAAU,GAAG,eAAe,EAAE,CAAA;AAC1C,CAAC,CAAA;AAjBY,QAAA,YAAY,gBAiBxB"}
1
+ {"version":3,"file":"secureString.js","sourceRoot":"","sources":["../../src/string/secureString.ts"],"names":[],"mappings":";;;AAAO,MAAM,YAAY,GAAG,CAC1B,GAAW,EACX,UAEI,EAAE,EACE,EAAE;IACV,MAAM,EAAE,gBAAgB,GAAG,CAAC,EAAE,GAAG,OAAO,CAAA;IACxC,MAAM,UAAU,GAAG,MAAM,CAAA;IAEzB,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,MAAM,uBAAuB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAA;IACtF,MAAM,eAAe,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,uBAAuB,CAAC,CAAA;IAEvE,OAAO,GAAG,UAAU,GAAG,eAAe,EAAE,CAAA;AAC1C,CAAC,CAAA;AAjBY,QAAA,YAAY,gBAiBxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aliexme/js-utils",
3
- "version": "0.8.0",
3
+ "version": "1.1.0",
4
4
  "description": "Common JavaScript utilities",
5
5
  "private": false,
6
6
  "author": "Alexander Smirnov <al.smirnov996@gmail.com>",
@@ -22,5 +22,5 @@
22
22
  "scripts": {
23
23
  "build": "tsc -p ./tsconfig.build.json"
24
24
  },
25
- "gitHead": "8c747eae19edfe9a837d186a05627c529205f334"
25
+ "gitHead": "193e9418b0fc9d36976de86d3c3da6e996cd5796"
26
26
  }