@voiceflow/common 7.8.1 → 7.9.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.
@@ -1 +1,12 @@
1
1
  export declare const generateHash: (object: unknown) => string;
2
+ interface Generate {
3
+ hash: (object: unknown) => string;
4
+ oneOf: <T>(options: T[]) => T;
5
+ number: (min?: number, max?: number) => number;
6
+ id: (slug?: boolean) => string;
7
+ string: (length?: number) => string;
8
+ object: <T = string>(entryCount?: number, factory?: () => T) => Record<string, T>;
9
+ array: <T = string>(length?: number, factory?: () => T) => T[];
10
+ }
11
+ export declare const generate: Generate;
12
+ export {};
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateHash = void 0;
3
+ exports.generate = exports.generateHash = void 0;
4
+ const id_1 = require("./id");
5
+ const CHARACTERS = Array.from({ length: 26 }).map((_, index) => String.fromCharCode(97 + index));
4
6
  const generateHash = (object) => {
5
7
  const objectStr = typeof object === 'object' ? JSON.stringify(object) : String(object);
6
8
  if (objectStr.length === 0) {
@@ -17,4 +19,17 @@ const generateHash = (object) => {
17
19
  return Math.abs(hash).toString();
18
20
  };
19
21
  exports.generateHash = generateHash;
22
+ exports.generate = {
23
+ hash: exports.generateHash,
24
+ oneOf: (options) => options[exports.generate.number(0, options.length - 1)],
25
+ number: (min = 0, max = 100) => min + Math.floor(Math.random() * (max - min)),
26
+ id: (slug = true) => (slug ? id_1.cuid.slug() : id_1.cuid()),
27
+ string: (length = 10) => Array.from({ length })
28
+ .map(() => exports.generate.oneOf(CHARACTERS))
29
+ .join(''),
30
+ object: (entryCount = 3, factory = exports.generate.string) => Array.from({ length: entryCount })
31
+ .map(() => [exports.generate.string(), factory()])
32
+ .reduce((acc, [key, value]) => Object.assign(acc, { [key]: value }), {}),
33
+ array: (length = 3, factory = exports.generate.string) => Array.from({ length }).map(() => factory()),
34
+ };
20
35
  //# sourceMappingURL=generate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/utils/generate.ts"],"names":[],"mappings":";;;AAAO,MAAM,YAAY,GAAG,CAAC,MAAe,EAAU,EAAE;IACtD,MAAM,SAAS,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEvF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1B,OAAO,EAAE,CAAC;KACX;IAED,IAAI,IAAI,GAAG,CAAC,CAAC;IAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACzC,MAAM,GAAG,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACpC,sCAAsC;QACtC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC;QAChC,sCAAsC;QACtC,IAAI,IAAI,CAAC,CAAC,CAAC,2BAA2B;KACvC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;AACnC,CAAC,CAAC;AAlBW,QAAA,YAAY,gBAkBvB"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/utils/generate.ts"],"names":[],"mappings":";;;AAAA,6BAA4B;AAE5B,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;AAE1F,MAAM,YAAY,GAAG,CAAC,MAAe,EAAU,EAAE;IACtD,MAAM,SAAS,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEvF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1B,OAAO,EAAE,CAAC;KACX;IAED,IAAI,IAAI,GAAG,CAAC,CAAC;IAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACzC,MAAM,GAAG,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACpC,sCAAsC;QACtC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC;QAChC,sCAAsC;QACtC,IAAI,IAAI,CAAC,CAAC,CAAC,2BAA2B;KACvC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;AACnC,CAAC,CAAC;AAlBW,QAAA,YAAY,gBAkBvB;AAkBW,QAAA,QAAQ,GAAa;IAChC,IAAI,EAAE,oBAAY;IAElB,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,gBAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEnE,MAAM,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;IAE7E,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAI,EAAE,CAAC;IAElD,MAAM,EAAE,CAAC,MAAM,GAAG,EAAE,EAAE,EAAE,CACtB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;SACnB,GAAG,CAAC,GAAG,EAAE,CAAC,gBAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;SACrC,IAAI,CAAC,EAAE,CAAC;IAEb,MAAM,EAAE,CAAC,UAAU,GAAG,CAAC,EAAE,UAAU,gBAAQ,CAAC,MAAmB,EAAE,EAAE,CACjE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;SAC/B,GAAG,CAAgB,GAAG,EAAE,CAAC,CAAC,gBAAQ,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;SACxD,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;IAE5E,KAAK,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,UAAU,gBAAQ,CAAC,MAAmB,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;CAC3G,CAAC"}
@@ -1,7 +1,7 @@
1
1
  export * as array from './array';
2
2
  export * as emails from './emails';
3
3
  export * as functional from './functional';
4
- export * as generate from './generate';
4
+ export { generate, generateHash } from './generate';
5
5
  export * as id from './id';
6
6
  export * as intent from './intent';
7
7
  export * as mathjs from './mathjs';
@@ -14,6 +14,5 @@ export * as string from './string';
14
14
  export * as time from './time';
15
15
  export * as timezones from './timezones';
16
16
  export * as variables from './variables';
17
- export * from './generate';
18
17
  export * from './intent';
19
18
  export * from './variables';
@@ -22,11 +22,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
22
22
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
23
23
  };
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.variables = exports.timezones = exports.time = exports.string = exports.protocol = exports.promise = exports.object = exports.number = exports.normalized = exports.mathjs = exports.intent = exports.id = exports.generate = exports.functional = exports.emails = exports.array = void 0;
25
+ exports.variables = exports.timezones = exports.time = exports.string = exports.protocol = exports.promise = exports.object = exports.number = exports.normalized = exports.mathjs = exports.intent = exports.id = exports.generateHash = exports.generate = exports.functional = exports.emails = exports.array = void 0;
26
26
  exports.array = __importStar(require("./array"));
27
27
  exports.emails = __importStar(require("./emails"));
28
28
  exports.functional = __importStar(require("./functional"));
29
- exports.generate = __importStar(require("./generate"));
29
+ var generate_1 = require("./generate");
30
+ Object.defineProperty(exports, "generate", { enumerable: true, get: function () { return generate_1.generate; } });
31
+ Object.defineProperty(exports, "generateHash", { enumerable: true, get: function () { return generate_1.generateHash; } });
30
32
  exports.id = __importStar(require("./id"));
31
33
  exports.intent = __importStar(require("./intent"));
32
34
  exports.mathjs = __importStar(require("./mathjs"));
@@ -40,7 +42,6 @@ exports.time = __importStar(require("./time"));
40
42
  exports.timezones = __importStar(require("./timezones"));
41
43
  exports.variables = __importStar(require("./variables"));
42
44
  // TODO: Remove these exports once we migrate all utils in other repos.
43
- __exportStar(require("./generate"), exports);
44
45
  __exportStar(require("./intent"), exports);
45
46
  __exportStar(require("./variables"), exports);
46
47
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAiC;AACjC,mDAAmC;AACnC,2DAA2C;AAC3C,uDAAuC;AACvC,2CAA2B;AAC3B,mDAAmC;AACnC,mDAAmC;AACnC,2DAA2C;AAC3C,mDAAmC;AACnC,mDAAmC;AACnC,qDAAqC;AACrC,uDAAuC;AACvC,mDAAmC;AACnC,+CAA+B;AAC/B,yDAAyC;AACzC,yDAAyC;AAEzC,uEAAuE;AACvE,6CAA2B;AAC3B,2CAAyB;AACzB,8CAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAiC;AACjC,mDAAmC;AACnC,2DAA2C;AAC3C,uCAAoD;AAA3C,oGAAA,QAAQ,OAAA;AAAE,wGAAA,YAAY,OAAA;AAC/B,2CAA2B;AAC3B,mDAAmC;AACnC,mDAAmC;AACnC,2DAA2C;AAC3C,mDAAmC;AACnC,mDAAmC;AACnC,qDAAqC;AACrC,uDAAuC;AACvC,mDAAmC;AACnC,+CAA+B;AAC/B,yDAAyC;AACzC,yDAAyC;AAEzC,uEAAuE;AACvE,2CAAyB;AACzB,8CAA4B"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@voiceflow/common",
3
3
  "description": "Junk drawer of utility functions",
4
- "version": "7.8.1",
4
+ "version": "7.9.0",
5
5
  "author": "Voiceflow",
6
6
  "bugs": {
7
7
  "url": "https://github.com/voiceflow/common/issues"
@@ -71,5 +71,5 @@
71
71
  "test:unit": "NODE_ENV=test nyc --report-dir=nyc_coverage_unit ts-mocha --paths --config config/tests/mocharc.yml 'tests/**/*.unit.ts'"
72
72
  },
73
73
  "types": "build/index.d.ts",
74
- "gitHead": "23aaa2b10209cc260a1bd1c3a0c6a85934cd71f4"
74
+ "gitHead": "3154aa897dd87425105faa60ddc6b564543425cc"
75
75
  }