@dereekb/util 7.0.1 → 7.3.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 (98) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/package.json +1 -1
  3. package/src/lib/array/array.boolean.d.ts +1 -1
  4. package/src/lib/array/array.d.ts +1 -1
  5. package/src/lib/array/array.index.d.ts +1 -1
  6. package/src/lib/array/array.js +1 -1
  7. package/src/lib/array/array.js.map +1 -1
  8. package/src/lib/array/array.limit.d.ts +1 -1
  9. package/src/lib/array/array.map.d.ts +1 -1
  10. package/src/lib/array/array.string.d.ts +30 -0
  11. package/src/lib/array/array.string.js +28 -1
  12. package/src/lib/array/array.string.js.map +1 -1
  13. package/src/lib/array/array.unique.d.ts +13 -1
  14. package/src/lib/array/array.unique.js +12 -1
  15. package/src/lib/array/array.unique.js.map +1 -1
  16. package/src/lib/array/array.value.d.ts +14 -2
  17. package/src/lib/array/array.value.js +24 -6
  18. package/src/lib/array/array.value.js.map +1 -1
  19. package/src/lib/auth/auth.role.claims.d.ts +1 -1
  20. package/src/lib/auth/auth.role.claims.js +13 -10
  21. package/src/lib/auth/auth.role.claims.js.map +1 -1
  22. package/src/lib/auth/auth.role.d.ts +1 -1
  23. package/src/lib/date/date.d.ts +1 -1
  24. package/src/lib/date/date.time.d.ts +1 -1
  25. package/src/lib/error/error.d.ts +1 -1
  26. package/src/lib/error/error.server.d.ts +1 -1
  27. package/src/lib/filter/filter.d.ts +3 -0
  28. package/src/lib/filter/filter.js.map +1 -1
  29. package/src/lib/grouping.d.ts +1 -1
  30. package/src/lib/iterable/iterable.d.ts +8 -1
  31. package/src/lib/iterable/iterable.js +14 -1
  32. package/src/lib/iterable/iterable.js.map +1 -1
  33. package/src/lib/key.d.ts +1 -1
  34. package/src/lib/misc/host.d.ts +1 -1
  35. package/src/lib/model/index.d.ts +1 -0
  36. package/src/lib/model/index.js +1 -0
  37. package/src/lib/model/index.js.map +1 -1
  38. package/src/lib/model/model.conversion.d.ts +11 -5
  39. package/src/lib/model/model.conversion.js +7 -6
  40. package/src/lib/model/model.conversion.js.map +1 -1
  41. package/src/lib/model/model.copy.d.ts +1 -1
  42. package/src/lib/model/model.d.ts +1 -1
  43. package/src/lib/model/model.modify.d.ts +47 -0
  44. package/src/lib/model/model.modify.js +51 -0
  45. package/src/lib/model/model.modify.js.map +1 -0
  46. package/src/lib/object/index.d.ts +3 -0
  47. package/src/lib/object/index.js +3 -0
  48. package/src/lib/object/index.js.map +1 -1
  49. package/src/lib/object/object.d.ts +4 -112
  50. package/src/lib/object/object.empty.d.ts +7 -0
  51. package/src/lib/object/object.empty.js +27 -0
  52. package/src/lib/object/object.empty.js.map +1 -0
  53. package/src/lib/object/object.filter.pojo.d.ts +154 -0
  54. package/src/lib/object/object.filter.pojo.js +235 -0
  55. package/src/lib/object/object.filter.pojo.js.map +1 -0
  56. package/src/lib/object/object.filter.tuple.d.ts +64 -0
  57. package/src/lib/object/object.filter.tuple.js +120 -0
  58. package/src/lib/object/object.filter.tuple.js.map +1 -0
  59. package/src/lib/object/object.js +6 -224
  60. package/src/lib/object/object.js.map +1 -1
  61. package/src/lib/object/object.map.d.ts +23 -1
  62. package/src/lib/object/object.map.js +26 -4
  63. package/src/lib/object/object.map.js.map +1 -1
  64. package/src/lib/page/page.d.ts +1 -1
  65. package/src/lib/promise/promise.d.ts +1 -1
  66. package/src/lib/promise/promise.loop.d.ts +1 -1
  67. package/src/lib/relation/relation.d.ts +8 -7
  68. package/src/lib/relation/relation.js +2 -1
  69. package/src/lib/relation/relation.js.map +1 -1
  70. package/src/lib/service/typed.service.js +2 -2
  71. package/src/lib/service/typed.service.js.map +1 -1
  72. package/src/lib/set/set.allowed.d.ts +1 -1
  73. package/src/lib/set/set.d.ts +1 -1
  74. package/src/lib/set/set.hashset.d.ts +1 -1
  75. package/src/lib/set/set.maybe.d.ts +1 -1
  76. package/src/lib/storage/storage.memory.d.ts +1 -1
  77. package/src/lib/storage/storage.object.d.ts +1 -1
  78. package/src/lib/storage/storage.object.js +4 -3
  79. package/src/lib/storage/storage.object.js.map +1 -1
  80. package/src/lib/string.d.ts +1 -1
  81. package/src/lib/tree/tree.expand.d.ts +1 -1
  82. package/src/lib/value/index.d.ts +1 -0
  83. package/src/lib/value/index.js +1 -0
  84. package/src/lib/value/index.js.map +1 -1
  85. package/src/lib/value/map.d.ts +5 -1
  86. package/src/lib/value/map.js +11 -1
  87. package/src/lib/value/map.js.map +1 -1
  88. package/src/lib/value/maybe.d.ts +16 -41
  89. package/src/lib/value/maybe.js +57 -4
  90. package/src/lib/value/maybe.js.map +1 -1
  91. package/src/lib/value/maybe.type.d.ts +19 -0
  92. package/src/lib/value/maybe.type.js +3 -0
  93. package/src/lib/value/maybe.type.js.map +1 -0
  94. package/src/lib/value/modifier.d.ts +23 -6
  95. package/src/lib/value/modifier.js +43 -7
  96. package/src/lib/value/modifier.js.map +1 -1
  97. package/test/CHANGELOG.md +12 -0
  98. package/test/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maybe.type.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/value/maybe.type.ts"],"names":[],"mappings":""}
@@ -1,5 +1,5 @@
1
1
  import { ArrayOrValue } from '../array';
2
- import { Maybe } from './maybe';
2
+ import { Maybe } from './maybe.type';
3
3
  /**
4
4
  * Modifier key
5
5
  */
@@ -8,18 +8,20 @@ export declare type ModifierKey = string;
8
8
  * Modifies the input value.
9
9
  */
10
10
  export declare type ModifierFunction<T> = (input: T) => void;
11
+ /**
12
+ * Retains a reference to a ModifierFunction
13
+ */
14
+ export interface ModifierFunctionRef<T> {
15
+ readonly modify: ModifierFunction<T>;
16
+ }
11
17
  /**
12
18
  * A modifier that has a key and modify function.
13
19
  */
14
- export interface Modifier<T> {
20
+ export interface Modifier<T> extends ModifierFunctionRef<T> {
15
21
  /**
16
22
  * Modifier key.
17
23
  */
18
24
  readonly key: ModifierKey;
19
- /**
20
- *
21
- */
22
- readonly modify: ModifierFunction<T>;
23
25
  }
24
26
  /**
25
27
  * Creates a new modifier
@@ -29,6 +31,7 @@ export interface Modifier<T> {
29
31
  * @returns
30
32
  */
31
33
  export declare function modifier<T>(key: string, modify: ModifierFunction<T>): Modifier<T>;
34
+ export declare const NOOP_MODIFIER: ModifierFunction<any>;
32
35
  /**
33
36
  * Map of Modifiers keyed by the modifier key.
34
37
  */
@@ -56,3 +59,17 @@ export declare function modifierMapToFunction<T>(map: Maybe<ModifierMap<T>>): Mo
56
59
  * @returns
57
60
  */
58
61
  export declare function maybeModifierMapToFunction<T>(map: Maybe<ModifierMap<T>>): Maybe<ModifierFunction<T>>;
62
+ /**
63
+ * Merges all modifiers into a single function.
64
+ *
65
+ * @param map
66
+ * @returns
67
+ */
68
+ export declare function mergeModifiers<T>(modifiers: ModifierFunction<T>[]): ModifierFunction<T>;
69
+ /**
70
+ * Merges all modifiers into a single function. If not modifier functions are input, returns
71
+ *
72
+ * @param map
73
+ * @returns
74
+ */
75
+ export declare function maybeMergeModifiers<T>(modifiers: Maybe<ModifierFunction<T>[]>): Maybe<ModifierFunction<T>>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.maybeModifierMapToFunction = exports.modifierMapToFunction = exports.removeModifiers = exports.addModifiers = exports.modifier = void 0;
3
+ exports.maybeMergeModifiers = exports.mergeModifiers = exports.maybeModifierMapToFunction = exports.modifierMapToFunction = exports.removeModifiers = exports.addModifiers = exports.NOOP_MODIFIER = exports.modifier = void 0;
4
4
  const array_1 = require("../array");
5
5
  /**
6
6
  * Creates a new modifier
@@ -16,6 +16,8 @@ function modifier(key, modify) {
16
16
  };
17
17
  }
18
18
  exports.modifier = modifier;
19
+ const NOOP_MODIFIER = () => undefined;
20
+ exports.NOOP_MODIFIER = NOOP_MODIFIER;
19
21
  /**
20
22
  * Adds a modifier to the modifier map and returns the map.
21
23
  *
@@ -49,7 +51,7 @@ function removeModifiers(modifiers, map) {
49
51
  exports.removeModifiers = removeModifiers;
50
52
  function modifierMapToFunction(map) {
51
53
  var _a;
52
- return (_a = maybeModifierMapToFunction(map)) !== null && _a !== void 0 ? _a : (() => undefined);
54
+ return (_a = maybeModifierMapToFunction(map)) !== null && _a !== void 0 ? _a : exports.NOOP_MODIFIER;
53
55
  }
54
56
  exports.modifierMapToFunction = modifierMapToFunction;
55
57
  /**
@@ -59,11 +61,45 @@ exports.modifierMapToFunction = modifierMapToFunction;
59
61
  * @returns
60
62
  */
61
63
  function maybeModifierMapToFunction(map) {
62
- const fns = [];
63
- map === null || map === void 0 ? void 0 : map.forEach((x) => fns.push(x.modify));
64
- return (input) => {
65
- fns.forEach((fn) => fn(input));
66
- };
64
+ let fn;
65
+ if (map != null) {
66
+ const fns = [];
67
+ map.forEach((x) => fns.push(x.modify));
68
+ fn = (input) => fns.forEach((fn) => fn(input));
69
+ }
70
+ return fn;
67
71
  }
68
72
  exports.maybeModifierMapToFunction = maybeModifierMapToFunction;
73
+ /**
74
+ * Merges all modifiers into a single function.
75
+ *
76
+ * @param map
77
+ * @returns
78
+ */
79
+ function mergeModifiers(modifiers) {
80
+ var _a;
81
+ return (_a = maybeMergeModifiers(modifiers)) !== null && _a !== void 0 ? _a : exports.NOOP_MODIFIER;
82
+ }
83
+ exports.mergeModifiers = mergeModifiers;
84
+ /**
85
+ * Merges all modifiers into a single function. If not modifier functions are input, returns
86
+ *
87
+ * @param map
88
+ * @returns
89
+ */
90
+ function maybeMergeModifiers(modifiers) {
91
+ let result = undefined;
92
+ if (modifiers != null) {
93
+ switch (modifiers.length) {
94
+ case 1:
95
+ result = modifiers[0];
96
+ break;
97
+ default:
98
+ result = (input) => modifiers.forEach((fn) => fn(input));
99
+ break;
100
+ }
101
+ }
102
+ return result;
103
+ }
104
+ exports.maybeMergeModifiers = maybeMergeModifiers;
69
105
  //# sourceMappingURL=modifier.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modifier.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/value/modifier.ts"],"names":[],"mappings":";;;AAAA,oCAA0D;AA4B1D;;;;;;GAMG;AACH,SAAgB,QAAQ,CAAI,GAAW,EAAE,MAA2B;IAClE,OAAO;QACL,GAAG;QACH,MAAM;KACP,CAAC;AACJ,CAAC;AALD,4BAKC;AAOD;;;;;;GAMG;AACH,SAAgB,YAAY,CAAI,SAAoC,EAAE,GAA2B;IAC/F,IAAI,CAAC,GAAG,EAAE;QACR,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;KACjB;IAED,IAAA,wBAAgB,EAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAE,GAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE/F,OAAO,GAAG,CAAC;AACb,CAAC;AARD,oCAQC;AAED;;;;;GAKG;AACH,SAAgB,eAAe,CAAI,SAAoC,EAAE,GAA0B;IACjG,IAAI,GAAG,EAAE;QACP,IAAA,wBAAgB,EAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAE,GAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;KACzF;SAAM;QACL,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;KACjB;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AARD,0CAQC;AAED,SAAgB,qBAAqB,CAAI,GAA0B;;IACjE,OAAO,MAAA,0BAA0B,CAAC,GAAG,CAAC,mCAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AAC9D,CAAC;AAFD,sDAEC;AAED;;;;;GAKG;AACH,SAAgB,0BAA0B,CAAI,GAA0B;IACtE,MAAM,GAAG,GAA0B,EAAE,CAAC;IACtC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,KAAK,EAAE,EAAE;QACf,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC;AACJ,CAAC;AAND,gEAMC"}
1
+ {"version":3,"file":"modifier.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/value/modifier.ts"],"names":[],"mappings":";;;AAAA,oCAA0D;AA8B1D;;;;;;GAMG;AACH,SAAgB,QAAQ,CAAI,GAAW,EAAE,MAA2B;IAClE,OAAO;QACL,GAAG;QACH,MAAM;KACP,CAAC;AACJ,CAAC;AALD,4BAKC;AAEM,MAAM,aAAa,GAA0B,GAAG,EAAE,CAAC,SAAS,CAAC;AAAvD,QAAA,aAAa,iBAA0C;AAOpE;;;;;;GAMG;AACH,SAAgB,YAAY,CAAI,SAAoC,EAAE,GAA2B;IAC/F,IAAI,CAAC,GAAG,EAAE;QACR,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;KACjB;IAED,IAAA,wBAAgB,EAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAE,GAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE/F,OAAO,GAAG,CAAC;AACb,CAAC;AARD,oCAQC;AAED;;;;;GAKG;AACH,SAAgB,eAAe,CAAI,SAAoC,EAAE,GAA0B;IACjG,IAAI,GAAG,EAAE;QACP,IAAA,wBAAgB,EAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAE,GAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;KACzF;SAAM;QACL,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;KACjB;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AARD,0CAQC;AAED,SAAgB,qBAAqB,CAAI,GAA0B;;IACjE,OAAO,MAAA,0BAA0B,CAAC,GAAG,CAAC,mCAAI,qBAAa,CAAC;AAC1D,CAAC;AAFD,sDAEC;AAED;;;;;GAKG;AACH,SAAgB,0BAA0B,CAAI,GAA0B;IACtE,IAAI,EAA8B,CAAC;IAEnC,IAAI,GAAG,IAAI,IAAI,EAAE;QACf,MAAM,GAAG,GAA0B,EAAE,CAAC;QACtC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACvC,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;KAChD;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAVD,gEAUC;AAED;;;;;GAKG;AACH,SAAgB,cAAc,CAAI,SAAgC;;IAChE,OAAO,MAAA,mBAAmB,CAAC,SAAS,CAAC,mCAAI,qBAAa,CAAC;AACzD,CAAC;AAFD,wCAEC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAI,SAAuC;IAC5E,IAAI,MAAM,GAA+B,SAAS,CAAC;IAEnD,IAAI,SAAS,IAAI,IAAI,EAAE;QACrB,QAAQ,SAAS,CAAC,MAAM,EAAE;YACxB,KAAK,CAAC;gBACJ,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACtB,MAAM;YACR;gBACE,MAAM,GAAG,CAAC,KAAK,EAAE,EAAE,CAAE,SAAmC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;gBACpF,MAAM;SACT;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAfD,kDAeC"}
package/test/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ # [7.3.0](https://github.com/dereekb/dbx-components/compare/v7.2.0-dev...v7.3.0) (2022-06-08)
6
+
7
+
8
+
9
+ # [7.2.0](https://github.com/dereekb/dbx-components/compare/v7.1.0-dev...v7.2.0) (2022-06-06)
10
+
11
+
12
+
13
+ # [7.1.0](https://github.com/dereekb/dbx-components/compare/v7.0.1-dev...v7.1.0) (2022-06-06)
14
+
15
+
16
+
5
17
  ## [7.0.1](https://github.com/dereekb/dbx-components/compare/v7.0.0-dev...v7.0.1) (2022-06-05)
6
18
 
7
19
 
package/test/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@dereekb/util/test",
3
- "version": "7.0.1",
3
+ "version": "7.3.0",
4
4
  "main": "./src/index.js",
5
5
  "typings": "./src/index.d.ts",
6
6
  "dependencies": {},
7
7
  "peerDependencies": {
8
- "@dereekb/util": "7.0.1",
8
+ "@dereekb/util": "7.3.0",
9
9
  "make-error": "^1.3.0",
10
10
  "ts-essentials": "^9.1.2",
11
11
  "extra-set": "^2.2.11",