@dereekb/util 9.9.1 → 9.9.3

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/CHANGELOG.md CHANGED
@@ -2,6 +2,19 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [9.9.3](https://github.com/dereekb/dbx-components/compare/v9.9.2-dev...v9.9.3) (2022-09-19)
6
+
7
+
8
+
9
+ ## [9.9.2](https://github.com/dereekb/dbx-components/compare/v9.9.1-dev...v9.9.2) (2022-09-19)
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * fixed child package exports ([76fe1fa](https://github.com/dereekb/dbx-components/commit/76fe1fac1b99853e705ae09bea6dee3e65d7338c))
15
+
16
+
17
+
5
18
  ## [9.9.1](https://github.com/dereekb/dbx-components/compare/v9.9.0-dev...v9.9.1) (2022-09-18)
6
19
 
7
20
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/util",
3
- "version": "9.9.1",
3
+ "version": "9.9.3",
4
4
  "type": "commonjs",
5
5
  "exports": {
6
6
  ".": {
@@ -9,14 +9,15 @@
9
9
  "default": "./src/index.js"
10
10
  },
11
11
  "./test": {
12
- "main": "./test/index.js",
13
- "types": "./test/index.d.ts",
14
- "default": "./test/index.js"
12
+ "main": "./test/src/index.js",
13
+ "types": "./test/src/index.d.ts",
14
+ "default": "./test/src/index.js"
15
15
  }
16
16
  },
17
17
  "peerDependencies": {
18
18
  "lodash.isequal": "^4.5.0",
19
19
  "make-error": "^1.3.0",
20
+ "class-validator": "^0.13.2",
20
21
  "ts-essentials": "^9.1.2",
21
22
  "extra-set": "^2.2.11",
22
23
  "tslib": "^2.0.0"
@@ -1,3 +1,4 @@
1
1
  export * from './domain';
2
2
  export * from './email';
3
3
  export * from './phone';
4
+ export * from './random';
@@ -4,4 +4,5 @@ const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./domain"), exports);
5
5
  tslib_1.__exportStar(require("./email"), exports);
6
6
  tslib_1.__exportStar(require("./phone"), exports);
7
+ tslib_1.__exportStar(require("./random"), exports);
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/contact/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,kDAAwB;AACxB,kDAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/contact/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,kDAAwB;AACxB,kDAAwB;AACxB,mDAAyB"}
@@ -0,0 +1,36 @@
1
+ import { E164PhoneNumber } from './phone';
2
+ import { ArrayOrValue } from '../array/array';
3
+ import { EmailAddressDomain } from './domain';
4
+ import { EmailAddress } from './email';
5
+ import { Factory } from '../getter';
6
+ import { NumberFactory } from '../number/factory';
7
+ export interface RandomEmailFactoryConfig {
8
+ /**
9
+ * Set of email prefixes to use
10
+ */
11
+ prefixes?: ArrayOrValue<string>;
12
+ /**
13
+ * domains to use
14
+ */
15
+ domains?: ArrayOrValue<EmailAddressDomain>;
16
+ /**
17
+ * Random number generator. Negative numbers are treated as an "ignored" value.
18
+ */
19
+ numberFactory?: NumberFactory;
20
+ }
21
+ export declare const DEFAULT_RANDOM_EMAIL_FACTORY_CONFIG: RandomEmailFactoryConfig;
22
+ export declare type RandomEmailFactory = Factory<EmailAddress>;
23
+ export declare function randomEmailFactory(inputConfig?: RandomEmailFactoryConfig): RandomEmailFactory;
24
+ export interface RandomPhoneNumberFactoryConfig {
25
+ /**
26
+ * Set of interntional numbers to use.
27
+ */
28
+ internationalAreaCodes?: ArrayOrValue<number>;
29
+ /**
30
+ * Random number generator. Should generate a 10-digit number. Generated numbers are not validated.
31
+ */
32
+ numberFactory?: NumberFactory;
33
+ }
34
+ export declare const DEFAULT_RANDOM_PHONE_NUMBER_FACTORY_CONFIG: RandomPhoneNumberFactoryConfig;
35
+ export declare type RandomPhoneNumberFactory = Factory<E164PhoneNumber>;
36
+ export declare function randomPhoneNumberFactory(inputConfig?: RandomPhoneNumberFactoryConfig): RandomPhoneNumberFactory;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.randomPhoneNumberFactory = exports.DEFAULT_RANDOM_PHONE_NUMBER_FACTORY_CONFIG = exports.randomEmailFactory = exports.DEFAULT_RANDOM_EMAIL_FACTORY_CONFIG = void 0;
4
+ const getter_util_1 = require("../getter/getter.util");
5
+ const array_1 = require("../array/array");
6
+ const object_filter_tuple_1 = require("../object/object.filter.tuple");
7
+ const object_filter_pojo_1 = require("../object/object.filter.pojo");
8
+ const factory_1 = require("../number/factory");
9
+ const random_1 = require("../number/random");
10
+ exports.DEFAULT_RANDOM_EMAIL_FACTORY_CONFIG = {
11
+ prefixes: 'email.',
12
+ domains: 'test.dereekb.com',
13
+ numberFactory: (0, factory_1.incrementingNumberFactory)() // use an incrementing number factory for safety in tests
14
+ };
15
+ function randomEmailFactory(inputConfig) {
16
+ var _a, _b;
17
+ const config = (0, object_filter_pojo_1.mergeObjects)([exports.DEFAULT_RANDOM_EMAIL_FACTORY_CONFIG, inputConfig], object_filter_tuple_1.KeyValueTypleValueFilter.FALSY_AND_EMPTY);
18
+ const prefixFactory = (0, getter_util_1.randomFromArrayFactory)((0, array_1.asArray)((_a = config.prefixes) !== null && _a !== void 0 ? _a : ''));
19
+ const domainFactory = (0, getter_util_1.randomFromArrayFactory)((0, array_1.asArray)((_b = config.domains) !== null && _b !== void 0 ? _b : 'test.dereekb.com'));
20
+ const numberFactory = config.numberFactory;
21
+ return () => {
22
+ const prefix = prefixFactory();
23
+ const domain = domainFactory();
24
+ const number = numberFactory();
25
+ const numberString = number >= 0 ? number.toString() : '';
26
+ return `${prefix}${numberString}@${domain}`;
27
+ };
28
+ }
29
+ exports.randomEmailFactory = randomEmailFactory;
30
+ exports.DEFAULT_RANDOM_PHONE_NUMBER_FACTORY_CONFIG = {
31
+ internationalAreaCodes: [1210, 1979, 1512, 1303],
32
+ numberFactory: (0, random_1.randomNumberFactory)({
33
+ min: 2000000,
34
+ max: 9999999,
35
+ round: 'floor'
36
+ })
37
+ };
38
+ function randomPhoneNumberFactory(inputConfig) {
39
+ var _a;
40
+ const config = (0, object_filter_pojo_1.mergeObjects)([exports.DEFAULT_RANDOM_PHONE_NUMBER_FACTORY_CONFIG, inputConfig], object_filter_tuple_1.KeyValueTypleValueFilter.FALSY_AND_EMPTY);
41
+ const internationalCodeFactory = (0, getter_util_1.randomFromArrayFactory)((0, array_1.asArray)((_a = config.internationalAreaCodes) !== null && _a !== void 0 ? _a : 1210));
42
+ const numberFactory = config.numberFactory;
43
+ return () => {
44
+ const code = internationalCodeFactory();
45
+ const number = numberFactory();
46
+ return `+${code}${number}`;
47
+ };
48
+ }
49
+ exports.randomPhoneNumberFactory = randomPhoneNumberFactory;
50
+ //# sourceMappingURL=random.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"random.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/contact/random.ts"],"names":[],"mappings":";;;AACA,uDAA+D;AAC/D,0CAAuD;AAIvD,uEAAyE;AACzE,qEAA4D;AAC5D,+CAA6E;AAC7E,6CAAuD;AAkB1C,QAAA,mCAAmC,GAA6B;IAC3E,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,kBAAkB;IAC3B,aAAa,EAAE,IAAA,mCAAyB,GAAE,CAAC,yDAAyD;CACrG,CAAC;AAIF,SAAgB,kBAAkB,CAAC,WAAsC;;IACvE,MAAM,MAAM,GAAG,IAAA,iCAAY,EAAC,CAAC,2CAAmC,EAAE,WAAW,CAAC,EAAE,8CAAwB,CAAC,eAAe,CAAC,CAAC;IAE1H,MAAM,aAAa,GAAG,IAAA,oCAAsB,EAAC,IAAA,eAAO,EAAC,MAAA,MAAM,CAAC,QAAQ,mCAAI,EAAE,CAAC,CAAC,CAAC;IAC7E,MAAM,aAAa,GAAG,IAAA,oCAAsB,EAAC,IAAA,eAAO,EAAC,MAAA,MAAM,CAAC,OAAO,mCAAI,kBAAkB,CAAC,CAAC,CAAC;IAC5F,MAAM,aAAa,GAAG,MAAM,CAAC,aAA8B,CAAC;IAE5D,OAAO,GAAG,EAAE;QACV,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;QAC/B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,OAAO,GAAG,MAAM,GAAG,YAAY,IAAI,MAAM,EAAE,CAAC;IAC9C,CAAC,CAAC;AACJ,CAAC;AAdD,gDAcC;AAcY,QAAA,0CAA0C,GAAmC;IACxF,sBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IAChD,aAAa,EAAE,IAAA,4BAAmB,EAAC;QACjC,GAAG,EAAE,OAAO;QACZ,GAAG,EAAE,OAAO;QACZ,KAAK,EAAE,OAAO;KACf,CAAC;CACH,CAAC;AAIF,SAAgB,wBAAwB,CAAC,WAA4C;;IACnF,MAAM,MAAM,GAAG,IAAA,iCAAY,EAAC,CAAC,kDAA0C,EAAE,WAAW,CAAC,EAAE,8CAAwB,CAAC,eAAe,CAAC,CAAC;IAEjI,MAAM,wBAAwB,GAAG,IAAA,oCAAsB,EAAC,IAAA,eAAO,EAAC,MAAA,MAAM,CAAC,sBAAsB,mCAAI,IAAI,CAAC,CAAC,CAAC;IACxG,MAAM,aAAa,GAAG,MAAM,CAAC,aAA8B,CAAC;IAE5D,OAAO,GAAG,EAAE;QACV,MAAM,IAAI,GAAG,wBAAwB,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;QAC/B,OAAO,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC;IAC7B,CAAC,CAAC;AACJ,CAAC;AAXD,4DAWC"}
@@ -1,4 +1,5 @@
1
- import { Factory, GetterOrValue } from './../getter/getter';
1
+ import { Factory, GetterOrValue } from '../getter/getter';
2
+ export declare type NumberFactory = Factory<number>;
2
3
  /**
3
4
  * incrementingNumberFactory() configuration.
4
5
  */
@@ -18,4 +19,4 @@ export interface IncrementingNumberFactoryConfig {
18
19
  * @param config
19
20
  * @returns
20
21
  */
21
- export declare function incrementingNumberFactory(config?: IncrementingNumberFactoryConfig): Factory<number>;
22
+ export declare function incrementingNumberFactory(config?: IncrementingNumberFactoryConfig): NumberFactory;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.incrementingNumberFactory = void 0;
4
- const getter_1 = require("./../getter/getter");
4
+ const getter_1 = require("../getter/getter");
5
5
  /**
6
6
  * Creates a factory that returns increasing numbers.
7
7
  *
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/number/factory.ts"],"names":[],"mappings":";;;AAAA,+CAAsE;AAgBtE;;;;;GAKG;AACH,SAAgB,yBAAyB,CAAC,SAA0C,EAAE;IACpF,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;IACjE,MAAM,UAAU,GAAG,IAAA,iBAAQ,EAAC,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,CAAC,CAAC,CAAC;IAElD,IAAI,CAAC,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,CAAC,CAAC;IAErB,OAAO,GAAG,EAAE;QACV,MAAM,CAAC,GAAG,CAAC,CAAC;QACZ,CAAC,IAAI,UAAU,EAAE,CAAC;QAClB,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;AACJ,CAAC;AAXD,8DAWC"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/number/factory.ts"],"names":[],"mappings":";;;AAAA,6CAAoE;AAkBpE;;;;;GAKG;AACH,SAAgB,yBAAyB,CAAC,SAA0C,EAAE;IACpF,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;IACjE,MAAM,UAAU,GAAG,IAAA,iBAAQ,EAAC,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,CAAC,CAAC,CAAC;IAElD,IAAI,CAAC,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,CAAC,CAAC;IAErB,OAAO,GAAG,EAAE;QACV,MAAM,CAAC,GAAG,CAAC,CAAC;QACZ,CAAC,IAAI,UAAU,EAAE,CAAC;QAClB,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;AACJ,CAAC;AAXD,8DAWC"}
@@ -1,6 +1,9 @@
1
- import { Factory } from './../getter/getter';
1
+ import { NumberFactory } from './factory';
2
2
  import { RoundingInput } from './round';
3
- export declare type RandomNumberFactory = Factory<number>;
3
+ /**
4
+ * Factory that generates random numbers.
5
+ */
6
+ export declare type RandomNumberFactory = NumberFactory;
4
7
  /**
5
8
  * randomNumberFactory configuration
6
9
  */
@@ -1 +1 @@
1
- {"version":3,"file":"random.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/number/random.ts"],"names":[],"mappings":";;;AACA,mCAA0D;AAkB1D;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,SAAmC,EAAE,aAA6B;IACpG,MAAM,MAAM,GAA8B,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACjH,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;IAChD,MAAM,KAAK,GAAG,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,WAAW,CAAC;IAC3C,IAAI,EAAuB,CAAC;IAE5B,IAAI,GAAG,IAAI,IAAI,EAAE;QACf,MAAM,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC;QACxB,EAAE,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,GAAG,CAAC;KACxC;SAAM;QACL,EAAE,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;KAChC;IAED,IAAI,KAAK,IAAI,KAAK,KAAK,MAAM,EAAE;QAC7B,MAAM,OAAO,GAAG,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,wBAAgB,EAAC,KAAK,CAAC,CAAC;QAC9E,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,EAAE,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;KAChC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AApBD,kDAoBC"}
1
+ {"version":3,"file":"random.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/number/random.ts"],"names":[],"mappings":";;;AACA,mCAA0D;AAqB1D;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,SAAmC,EAAE,aAA6B;IACpG,MAAM,MAAM,GAA8B,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACjH,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;IAChD,MAAM,KAAK,GAAG,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,WAAW,CAAC;IAC3C,IAAI,EAAuB,CAAC;IAE5B,IAAI,GAAG,IAAI,IAAI,EAAE;QACf,MAAM,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC;QACxB,EAAE,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,GAAG,CAAC;KACxC;SAAM;QACL,EAAE,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;KAChC;IAED,IAAI,KAAK,IAAI,KAAK,KAAK,MAAM,EAAE;QAC7B,MAAM,OAAO,GAAG,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,wBAAgB,EAAC,KAAK,CAAC,CAAC;QAC9E,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,EAAE,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;KAChC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AApBD,kDAoBC"}
package/test/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [9.9.3](https://github.com/dereekb/dbx-components/compare/v9.9.2-dev...v9.9.3) (2022-09-19)
6
+
7
+
8
+
9
+ ## [9.9.2](https://github.com/dereekb/dbx-components/compare/v9.9.1-dev...v9.9.2) (2022-09-19)
10
+
11
+
12
+
5
13
  ## [9.9.1](https://github.com/dereekb/dbx-components/compare/v9.9.0-dev...v9.9.1) (2022-09-18)
6
14
 
7
15
 
package/test/package.json CHANGED
@@ -1,14 +1,15 @@
1
1
  {
2
2
  "name": "@dereekb/util/test",
3
- "version": "9.9.1",
3
+ "version": "9.9.3",
4
4
  "type": "commonjs",
5
5
  "main": "./src/index.js",
6
6
  "typings": "./src/index.d.ts",
7
7
  "dependencies": {},
8
8
  "peerDependencies": {
9
- "@dereekb/util": "9.9.1",
9
+ "@dereekb/util": "9.9.3",
10
10
  "lodash.isequal": "^4.5.0",
11
11
  "make-error": "^1.3.0",
12
+ "class-validator": "^0.13.2",
12
13
  "ts-essentials": "^9.1.2",
13
14
  "extra-set": "^2.2.11",
14
15
  "tslib": "^2.0.0"