@dereekb/util 1.2.0 → 3.0.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 (236) hide show
  1. package/CHANGELOG.md +54 -9
  2. package/README.md +1 -1
  3. package/package.json +8 -5
  4. package/src/index.js +2 -2
  5. package/src/index.js.map +1 -1
  6. package/src/lib/array/array.boolean.d.ts +4 -2
  7. package/src/lib/array/array.boolean.js +11 -1
  8. package/src/lib/array/array.boolean.js.map +1 -1
  9. package/src/lib/array/array.d.ts +24 -2
  10. package/src/lib/array/array.index.d.ts +1 -1
  11. package/src/lib/array/array.js +37 -2
  12. package/src/lib/array/array.js.map +1 -1
  13. package/src/lib/array/array.limit.d.ts +1 -1
  14. package/src/lib/array/array.make.d.ts +1 -1
  15. package/src/lib/array/array.make.js +2 -2
  16. package/src/lib/array/array.make.js.map +1 -1
  17. package/src/lib/array/array.map.d.ts +1 -1
  18. package/src/lib/array/array.set.d.ts +2 -16
  19. package/src/lib/array/array.set.js +21 -55
  20. package/src/lib/array/array.set.js.map +1 -1
  21. package/src/lib/array/array.string.d.ts +7 -5
  22. package/src/lib/array/array.string.js +14 -4
  23. package/src/lib/array/array.string.js.map +1 -1
  24. package/src/lib/array/array.unique.d.ts +1 -1
  25. package/src/lib/array/array.value.d.ts +15 -1
  26. package/src/lib/array/array.value.js +21 -1
  27. package/src/lib/array/array.value.js.map +1 -1
  28. package/src/lib/array/index.js +12 -12
  29. package/src/lib/array/index.js.map +1 -1
  30. package/src/lib/assertion/index.js +5 -5
  31. package/src/lib/assertion/index.js.map +1 -1
  32. package/src/lib/auth/auth.role.claims.d.ts +98 -0
  33. package/src/lib/auth/auth.role.claims.js +93 -0
  34. package/src/lib/auth/auth.role.claims.js.map +1 -0
  35. package/src/lib/auth/auth.role.d.ts +22 -0
  36. package/src/lib/auth/auth.role.js +17 -0
  37. package/src/lib/auth/auth.role.js.map +1 -0
  38. package/src/lib/auth/index.d.ts +2 -0
  39. package/src/lib/auth/index.js +6 -0
  40. package/src/lib/auth/index.js.map +1 -0
  41. package/src/lib/contact/index.js +3 -3
  42. package/src/lib/contact/index.js.map +1 -1
  43. package/src/lib/date/date.d.ts +1 -1
  44. package/src/lib/date/date.time.d.ts +4 -2
  45. package/src/lib/date/date.time.js +13 -1
  46. package/src/lib/date/date.time.js.map +1 -1
  47. package/src/lib/date/index.js +2 -2
  48. package/src/lib/date/index.js.map +1 -1
  49. package/src/lib/error/error.d.ts +6 -1
  50. package/src/lib/error/error.js +8 -1
  51. package/src/lib/error/error.js.map +1 -1
  52. package/src/lib/error/error.server.d.ts +5 -12
  53. package/src/lib/error/error.server.js.map +1 -1
  54. package/src/lib/error/index.js +2 -2
  55. package/src/lib/error/index.js.map +1 -1
  56. package/src/lib/filter/index.js +1 -1
  57. package/src/lib/filter/index.js.map +1 -1
  58. package/src/lib/function/function.forward.d.ts +9 -0
  59. package/src/lib/function/function.forward.js +18 -0
  60. package/src/lib/function/function.forward.js.map +1 -0
  61. package/src/lib/function/index.d.ts +1 -0
  62. package/src/lib/function/index.js +5 -0
  63. package/src/lib/function/index.js.map +1 -0
  64. package/src/lib/getter/getter.cache.d.ts +38 -0
  65. package/src/lib/getter/getter.cache.js +23 -0
  66. package/src/lib/getter/getter.cache.js.map +1 -0
  67. package/src/lib/getter/getter.d.ts +61 -0
  68. package/src/lib/getter/getter.js +48 -0
  69. package/src/lib/getter/getter.js.map +1 -0
  70. package/src/lib/getter/getter.map.d.ts +15 -0
  71. package/src/lib/getter/getter.map.js +24 -0
  72. package/src/lib/getter/getter.map.js.map +1 -0
  73. package/src/lib/getter/index.d.ts +3 -0
  74. package/src/lib/getter/index.js +7 -0
  75. package/src/lib/getter/index.js.map +1 -0
  76. package/src/lib/grouping.d.ts +4 -4
  77. package/src/lib/index.d.ts +9 -5
  78. package/src/lib/index.js +31 -28
  79. package/src/lib/index.js.map +1 -1
  80. package/src/lib/iterable/index.d.ts +2 -0
  81. package/src/lib/iterable/index.js +6 -0
  82. package/src/lib/iterable/index.js.map +1 -0
  83. package/src/lib/iterable/iterable.d.ts +53 -0
  84. package/src/lib/iterable/iterable.js +113 -0
  85. package/src/lib/iterable/iterable.js.map +1 -0
  86. package/src/lib/iterable/iterable.map.d.ts +8 -0
  87. package/src/lib/iterable/iterable.map.js +18 -0
  88. package/src/lib/iterable/iterable.map.js.map +1 -0
  89. package/src/lib/iterate.js +1 -1
  90. package/src/lib/key.d.ts +1 -1
  91. package/src/lib/map/index.d.ts +2 -0
  92. package/src/lib/map/index.js +6 -0
  93. package/src/lib/map/index.js.map +1 -0
  94. package/src/lib/map/map.d.ts +9 -0
  95. package/src/lib/map/map.intersection.d.ts +15 -0
  96. package/src/lib/map/map.intersection.js +24 -0
  97. package/src/lib/map/map.intersection.js.map +1 -0
  98. package/src/lib/map/map.js +17 -0
  99. package/src/lib/map/map.js.map +1 -0
  100. package/src/lib/misc/host.d.ts +5 -0
  101. package/src/lib/misc/host.js +13 -0
  102. package/src/lib/misc/host.js.map +1 -0
  103. package/src/lib/misc/index.d.ts +1 -0
  104. package/src/lib/misc/index.js +5 -0
  105. package/src/lib/misc/index.js.map +1 -0
  106. package/src/lib/model/index.d.ts +3 -0
  107. package/src/lib/model/index.js +7 -0
  108. package/src/lib/model/index.js.map +1 -0
  109. package/src/lib/model/model.conversion.d.ts +63 -0
  110. package/src/lib/model/model.conversion.js +66 -0
  111. package/src/lib/model/model.conversion.js.map +1 -0
  112. package/src/lib/model/model.copy.d.ts +16 -0
  113. package/src/lib/model/model.copy.js +20 -0
  114. package/src/lib/model/model.copy.js.map +1 -0
  115. package/src/lib/{model.d.ts → model/model.d.ts} +2 -2
  116. package/src/lib/{model.js → model/model.js} +3 -3
  117. package/src/lib/model/model.js.map +1 -0
  118. package/src/lib/number/factory.d.ts +22 -0
  119. package/src/lib/number/factory.js +22 -0
  120. package/src/lib/number/factory.js.map +1 -0
  121. package/src/lib/number/index.d.ts +3 -0
  122. package/src/lib/number/index.js +7 -0
  123. package/src/lib/number/index.js.map +1 -0
  124. package/src/lib/number/random.d.ts +13 -0
  125. package/src/lib/number/random.js +22 -0
  126. package/src/lib/number/random.js.map +1 -0
  127. package/src/lib/{number.d.ts → number/round.d.ts} +0 -13
  128. package/src/lib/{number.js → number/round.js} +2 -20
  129. package/src/lib/number/round.js.map +1 -0
  130. package/src/lib/object/index.d.ts +1 -0
  131. package/src/lib/object/index.js +4 -3
  132. package/src/lib/object/index.js.map +1 -1
  133. package/src/lib/object/object.d.ts +69 -8
  134. package/src/lib/object/object.equal.d.ts +1 -1
  135. package/src/lib/object/object.equal.js +3 -3
  136. package/src/lib/object/object.equal.js.map +1 -1
  137. package/src/lib/object/object.js +117 -11
  138. package/src/lib/object/object.js.map +1 -1
  139. package/src/lib/object/object.map.d.ts +35 -0
  140. package/src/lib/object/object.map.js +40 -0
  141. package/src/lib/object/object.map.js.map +1 -0
  142. package/src/lib/page/index.js +3 -3
  143. package/src/lib/page/index.js.map +1 -1
  144. package/src/lib/page/page.d.ts +1 -1
  145. package/src/lib/page/page.filter.js +1 -1
  146. package/src/lib/promise/index.d.ts +3 -0
  147. package/src/lib/promise/index.js +7 -4
  148. package/src/lib/promise/index.js.map +1 -1
  149. package/src/lib/promise/is.d.ts +7 -0
  150. package/src/lib/promise/is.js +15 -0
  151. package/src/lib/promise/is.js.map +1 -0
  152. package/src/lib/promise/map.d.ts +10 -0
  153. package/src/lib/promise/map.js +14 -0
  154. package/src/lib/promise/map.js.map +1 -0
  155. package/src/lib/promise/promise.d.ts +13 -1
  156. package/src/lib/promise/promise.js +26 -8
  157. package/src/lib/promise/promise.js.map +1 -1
  158. package/src/lib/promise/promise.loop.d.ts +18 -3
  159. package/src/lib/promise/promise.loop.js +18 -2
  160. package/src/lib/promise/promise.loop.js.map +1 -1
  161. package/src/lib/promise/promise.ref.d.ts +10 -0
  162. package/src/lib/promise/promise.ref.js +19 -0
  163. package/src/lib/promise/promise.ref.js.map +1 -0
  164. package/src/lib/promise/wait.js +2 -2
  165. package/src/lib/promise/wait.js.map +1 -1
  166. package/src/lib/relation/index.js +1 -1
  167. package/src/lib/relation/index.js.map +1 -1
  168. package/src/lib/relation/relation.js +2 -2
  169. package/src/lib/set/index.d.ts +4 -0
  170. package/src/lib/set/index.js +8 -0
  171. package/src/lib/set/index.js.map +1 -0
  172. package/src/lib/set/set.allowed.d.ts +23 -0
  173. package/src/lib/set/set.allowed.js +29 -0
  174. package/src/lib/set/set.allowed.js.map +1 -0
  175. package/src/lib/set/set.d.ts +53 -0
  176. package/src/lib/{set.hashset.d.ts → set/set.hashset.d.ts} +2 -2
  177. package/src/lib/{set.hashset.js → set/set.hashset.js} +0 -0
  178. package/src/lib/set/set.hashset.js.map +1 -0
  179. package/src/lib/set/set.js +114 -0
  180. package/src/lib/set/set.js.map +1 -0
  181. package/src/lib/set/set.maybe.d.ts +11 -0
  182. package/src/lib/set/set.maybe.js +22 -0
  183. package/src/lib/set/set.maybe.js.map +1 -0
  184. package/src/lib/sort.d.ts +1 -4
  185. package/src/lib/sort.js +3 -8
  186. package/src/lib/sort.js.map +1 -1
  187. package/src/lib/storage/index.js +4 -4
  188. package/src/lib/storage/index.js.map +1 -1
  189. package/src/lib/storage/storage.memory.d.ts +1 -1
  190. package/src/lib/storage/storage.object.d.ts +1 -1
  191. package/src/lib/string.d.ts +9 -2
  192. package/src/lib/string.js +11 -1
  193. package/src/lib/string.js.map +1 -1
  194. package/src/lib/tree/index.js +4 -4
  195. package/src/lib/tree/index.js.map +1 -1
  196. package/src/lib/tree/tree.expand.d.ts +1 -1
  197. package/src/lib/type.d.ts +17 -1
  198. package/src/lib/value/equal.d.ts +41 -0
  199. package/src/lib/value/equal.js +56 -0
  200. package/src/lib/value/equal.js.map +1 -0
  201. package/src/lib/value/index.d.ts +4 -0
  202. package/src/lib/value/index.js +8 -0
  203. package/src/lib/value/index.js.map +1 -0
  204. package/src/lib/value/map.d.ts +13 -0
  205. package/src/lib/{map.js → value/map.js} +0 -0
  206. package/src/lib/value/map.js.map +1 -0
  207. package/src/lib/{value.d.ts → value/maybe.d.ts} +45 -2
  208. package/src/lib/value/maybe.js +78 -0
  209. package/src/lib/value/maybe.js.map +1 -0
  210. package/src/lib/value/modifier.d.ts +58 -0
  211. package/src/lib/value/modifier.js +69 -0
  212. package/src/lib/value/modifier.js.map +1 -0
  213. package/src/test/index.d.ts +1 -0
  214. package/src/test/index.js +3 -2
  215. package/src/test/index.js.map +1 -1
  216. package/src/test/jest.d.ts +21 -1
  217. package/src/test/jest.function.d.ts +9 -0
  218. package/src/test/jest.function.js +14 -0
  219. package/src/test/jest.function.js.map +1 -0
  220. package/src/test/jest.js +64 -36
  221. package/src/test/jest.js.map +1 -1
  222. package/src/test/jest.wrap.js +5 -5
  223. package/src/test/jest.wrap.js.map +1 -1
  224. package/src/lib/getter.d.ts +0 -26
  225. package/src/lib/getter.js +0 -13
  226. package/src/lib/getter.js.map +0 -1
  227. package/src/lib/map.d.ts +0 -2
  228. package/src/lib/map.js.map +0 -1
  229. package/src/lib/model.js.map +0 -1
  230. package/src/lib/number.js.map +0 -1
  231. package/src/lib/set.d.ts +0 -0
  232. package/src/lib/set.hashset.js.map +0 -1
  233. package/src/lib/set.js +0 -2
  234. package/src/lib/set.js.map +0 -1
  235. package/src/lib/value.js +0 -28
  236. package/src/lib/value.js.map +0 -1
@@ -1,19 +1,37 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PromiseUtility = void 0;
3
+ exports.PromiseUtility = exports.asPromise = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const wait_1 = require("./wait");
6
+ function asPromise(input) {
7
+ return Promise.resolve(input);
8
+ }
9
+ exports.asPromise = asPromise;
6
10
  class PromiseUtility {
7
11
  // MARK: Run
8
12
  /**
9
13
  * Runs the task using the input config, and returns the value. Is always configured to throw the error if it fails.
10
14
  */
11
15
  static runTaskForValue(taskFn, config) {
12
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
16
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
13
17
  const { value } = yield this.performTask(taskFn, Object.assign(Object.assign({}, config), { throwError: true }));
14
18
  return value;
15
19
  });
16
20
  }
21
+ /**
22
+ * Returns the task for each input value, and returns the values. Is always configured to throw the error if it fails.
23
+ *
24
+ * @param input
25
+ * @param taskFn
26
+ * @param config
27
+ * @returns
28
+ */
29
+ static runTasksForValues(input, taskFn, config) {
30
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
31
+ const results = yield PromiseUtility.performTasks(input, taskFn, Object.assign(Object.assign({}, config), { throwError: true }));
32
+ return results.results.map(x => x[1]);
33
+ });
34
+ }
17
35
  // MARK: Perform
18
36
  /**
19
37
  * Performs the input tasks, and will retry tasks if they fail, up to a certain point.
@@ -21,7 +39,7 @@ class PromiseUtility {
21
39
  * This is useful for retrying sections that may experience optimistic concurrency collisions.
22
40
  */
23
41
  static performTasks(input, taskFn, config = { throwError: true }) {
24
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
42
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
25
43
  let taskResults;
26
44
  if (config.sequential) {
27
45
  taskResults = [];
@@ -55,15 +73,15 @@ class PromiseUtility {
55
73
  });
56
74
  }
57
75
  static performTask(taskFn, config) {
58
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
76
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
59
77
  const [_, value, success] = yield PromiseUtility._performTask(0, () => taskFn(), config);
60
78
  return { value, success };
61
79
  });
62
80
  }
63
81
  static _performTask(value, taskFn, { throwError, retriesAllowed = 5, retryWait = 200, beforeRetry } = { throwError: true }) {
64
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
82
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
65
83
  function tryTask(value, tryNumber) {
66
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
84
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
67
85
  try {
68
86
  const result = yield taskFn(value, tryNumber);
69
87
  return [result, true];
@@ -74,7 +92,7 @@ class PromiseUtility {
74
92
  });
75
93
  }
76
94
  function iterateTask(value, tryNumber) {
77
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
95
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
78
96
  const result = yield tryTask(value, tryNumber);
79
97
  const success = result[1];
80
98
  if (success) {
@@ -83,7 +101,7 @@ class PromiseUtility {
83
101
  const retriesRemaining = retriesAllowed - tryNumber;
84
102
  if (retriesRemaining > 0) {
85
103
  function doNextTry() {
86
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
104
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
87
105
  const nextTryNumber = tryNumber + 1;
88
106
  if (beforeRetry) {
89
107
  yield beforeRetry(value, nextTryNumber);
@@ -1 +1 @@
1
- {"version":3,"file":"promise.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/promise/promise.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"promise.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/promise/promise.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Maybe } from "../value";
1
+ import { Maybe } from "../value/maybe";
2
2
  export interface PerformTaskLoopConfig<O> {
3
3
  next: (i: number, prev: Maybe<O>) => Promise<O>;
4
4
  checkContinue: (prev: Maybe<O>, i: number) => boolean;
@@ -8,6 +8,21 @@ export interface PerformTaskLoopWithInitConfig<O> {
8
8
  next: (i: number, prev: O) => Promise<O>;
9
9
  checkContinue: (prev: O, i: number) => boolean;
10
10
  }
11
- export declare function performTaskLoop(config: PerformTaskLoopConfig<void>): Promise<void>;
12
- export declare function performTaskLoop<O>(config: PerformTaskLoopConfig<O>): Promise<Maybe<O>>;
13
11
  export declare function performTaskLoop<O>(config: PerformTaskLoopWithInitConfig<O>): Promise<O>;
12
+ export declare function performTaskLoop<O>(config: PerformTaskLoopConfig<O>): Promise<O>;
13
+ export declare function performTaskLoop<O>(config: PerformTaskLoopConfig<O>): Promise<Maybe<O>>;
14
+ export declare function performTaskLoop(config: PerformTaskLoopConfig<void>): Promise<void>;
15
+ export interface PerformTaskCountLoopConfig<O> extends Omit<PerformTaskLoopConfig<O>, 'checkContinue'> {
16
+ count: number;
17
+ }
18
+ export interface PerformTaskCountLoopWithInitConfig<O> extends Omit<PerformTaskLoopWithInitConfig<O>, 'checkContinue'> {
19
+ count: number;
20
+ }
21
+ export declare function performTaskCountLoop<O>(config: PerformTaskCountLoopWithInitConfig<O>): Promise<O>;
22
+ export declare function performTaskCountLoop<O>(config: PerformTaskCountLoopConfig<O>): Promise<Maybe<O>>;
23
+ export declare function performTaskCountLoop(config: PerformTaskCountLoopConfig<void>): Promise<void>;
24
+ export interface PerformMakeLoopConfig<O> {
25
+ make: (i: number, made: O[]) => Promise<O>;
26
+ count: number;
27
+ }
28
+ export declare function performMakeLoop<O>(config: PerformMakeLoopConfig<O>): Promise<O[]>;
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.performTaskLoop = void 0;
3
+ exports.performMakeLoop = exports.performTaskCountLoop = exports.performTaskLoop = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  function performTaskLoop(config) {
6
- return new Promise((resolve, reject) => (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
6
+ return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
7
7
  try {
8
8
  let startLoop = config.initValue == null || config.checkContinue(config.initValue, -1);
9
9
  if (startLoop) {
@@ -27,4 +27,20 @@ function performTaskLoop(config) {
27
27
  }));
28
28
  }
29
29
  exports.performTaskLoop = performTaskLoop;
30
+ function performTaskCountLoop(config) {
31
+ return performTaskLoop(Object.assign(Object.assign({}, config), { checkContinue: (_, i) => (i < config.count) }));
32
+ }
33
+ exports.performTaskCountLoop = performTaskCountLoop;
34
+ function performMakeLoop(config) {
35
+ return performTaskCountLoop({
36
+ count: config.count,
37
+ initValue: [],
38
+ next: (i, accumulator) => tslib_1.__awaiter(this, void 0, void 0, function* () {
39
+ const result = yield config.make(i, accumulator);
40
+ accumulator.push(result);
41
+ return accumulator;
42
+ })
43
+ });
44
+ }
45
+ exports.performMakeLoop = performMakeLoop;
30
46
  //# sourceMappingURL=promise.loop.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"promise.loop.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/promise/promise.loop.ts"],"names":[],"mappings":";;;;AAiBA,SAAgB,eAAe,CAAI,MAAW;IAC5C,OAAO,IAAI,OAAO,CAAI,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;QAC9C,IAAI;YACF,IAAI,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;YAEvF,IAAI,SAAS,EAAE;gBACb,IAAI,CAAC,GAAG,CAAC,CAAC;gBACV,IAAI,SAAS,GAAa,MAAM,CAAC,SAAS,CAAC;gBAC3C,IAAI,KAAc,CAAC;gBAEnB,GAAG;oBACD,SAAS,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;oBAC5C,CAAC,IAAI,CAAC,CAAC;oBACP,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;iBAC5C,QAAQ,KAAK,EAAE;gBAEhB,OAAO,CAAC,SAAU,CAAC,CAAC;aACrB;iBAAM;gBACL,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;aAC3B;SACF;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,CAAC,CAAC,CAAC;SACX;IACH,CAAC,CAAA,CAAC,CAAC;AACL,CAAC;AAxBD,0CAwBC"}
1
+ {"version":3,"file":"promise.loop.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/promise/promise.loop.ts"],"names":[],"mappings":";;;;AAkBA,SAAgB,eAAe,CAAI,MAAW;IAC5C,OAAO,IAAI,OAAO,CAAI,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;QAC9C,IAAI;YACF,IAAI,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;YAEvF,IAAI,SAAS,EAAE;gBACb,IAAI,CAAC,GAAG,CAAC,CAAC;gBACV,IAAI,SAAS,GAAa,MAAM,CAAC,SAAS,CAAC;gBAC3C,IAAI,KAAc,CAAC;gBAEnB,GAAG;oBACD,SAAS,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;oBAC5C,CAAC,IAAI,CAAC,CAAC;oBACP,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;iBAC5C,QAAQ,KAAK,EAAE;gBAEhB,OAAO,CAAC,SAAU,CAAC,CAAC;aACrB;iBAAM;gBACL,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;aAC3B;SACF;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,CAAC,CAAC,CAAC;SACX;IACH,CAAC,CAAA,CAAC,CAAC;AACL,CAAC;AAxBD,0CAwBC;AAcD,SAAgB,oBAAoB,CAAI,MAAW;IACjD,OAAO,eAAe,iCACjB,MAAM,KACT,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IACpC,CAAC;AACZ,CAAC;AALD,oDAKC;AAQD,SAAgB,eAAe,CAAI,MAAgC;IACjE,OAAO,oBAAoB,CAAM;QAC/B,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,SAAS,EAAE,EAAS;QACpB,IAAI,EAAE,CAAO,CAAC,EAAE,WAAgB,EAAE,EAAE;YAClC,MAAM,MAAM,GAAM,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;YACpD,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzB,OAAO,WAAW,CAAC;QACrB,CAAC,CAAA;KACF,CAAC,CAAC;AACL,CAAC;AAVD,0CAUC"}
@@ -0,0 +1,10 @@
1
+ export interface PromiseFullRef<O = any> {
2
+ readonly promise: Promise<O>;
3
+ readonly resolve: (value: O | PromiseLike<O>) => void;
4
+ readonly reject: (reason?: any) => void;
5
+ }
6
+ export declare type PromiseExecutor<O> = (resolve: (value: O | PromiseLike<O>) => void, reject: (reason?: any) => void) => void;
7
+ /**
8
+ * Creates a new promise and returns the full ref for it.
9
+ */
10
+ export declare function makePromiseFullRef<O>(executor: PromiseExecutor<O>): PromiseFullRef<O>;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makePromiseFullRef = void 0;
4
+ let i = 0;
5
+ /**
6
+ * Creates a new promise and returns the full ref for it.
7
+ */
8
+ function makePromiseFullRef(executor) {
9
+ const ref = {};
10
+ ref.promise = new Promise((resolve, reject) => {
11
+ ref.resolve = resolve;
12
+ ref.reject = reject;
13
+ executor(resolve, reject);
14
+ });
15
+ ref.number = i += 1;
16
+ return ref;
17
+ }
18
+ exports.makePromiseFullRef = makePromiseFullRef;
19
+ //# sourceMappingURL=promise.ref.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promise.ref.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/promise/promise.ref.ts"],"names":[],"mappings":";;;AAWA,IAAI,CAAC,GAAG,CAAC,CAAC;AAEV;;GAEG;AACH,SAAgB,kBAAkB,CAAI,QAA4B;IAChE,MAAM,GAAG,GAAQ,EAAS,CAAC;IAE3B,GAAG,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC5C,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;QACtB,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;QAEpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;IAEpB,OAAO,GAAG,CAAC;AACb,CAAC;AAbD,gDAaC"}
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.waitForMs = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  function waitForMs(ms, value) {
6
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
7
- return new Promise(resolve => setTimeout(resolve, ms, value));
6
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
7
+ return new Promise(resolve => setTimeout(() => resolve(value), ms));
8
8
  });
9
9
  }
10
10
  exports.waitForMs = waitForMs;
@@ -1 +1 @@
1
- {"version":3,"file":"wait.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/promise/wait.ts"],"names":[],"mappings":";;;;AAOA,SAAsB,SAAS,CAAI,EAAU,EAAE,KAAS;;QACtD,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;IAChE,CAAC;CAAA;AAFD,8BAEC"}
1
+ {"version":3,"file":"wait.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/promise/wait.ts"],"names":[],"mappings":";;;;AAOA,SAAsB,SAAS,CAAI,EAAU,EAAE,KAAS;;QACtD,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3E,CAAC;CAAA;AAFD,8BAEC"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- (0, tslib_1.__exportStar)(require("./relation"), exports);
4
+ tslib_1.__exportStar(require("./relation"), exports);
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/relation/index.ts"],"names":[],"mappings":";;;AAAA,0DAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/relation/index.ts"],"names":[],"mappings":";;;AAAA,qDAA2B"}
@@ -121,7 +121,7 @@ class ModelRelationUtility {
121
121
  const modsMap = (0, grouping_1.makeValuesGroupMap)(mods, readType);
122
122
  const typesModified = new Set([...inputMap.keys(), ...modsMap.keys()]);
123
123
  // Break the collections up into their individual types and process separately.
124
- const modifiedSubCollections = Array.from(typesModified).map((type) => {
124
+ const modifiedSubcollections = Array.from(typesModified).map((type) => {
125
125
  var _a, _b;
126
126
  const values = (_a = inputMap.get(type)) !== null && _a !== void 0 ? _a : [];
127
127
  const mods = (_b = modsMap.get(type)) !== null && _b !== void 0 ? _b : [];
@@ -134,7 +134,7 @@ class ModelRelationUtility {
134
134
  }
135
135
  });
136
136
  // Rejoin all changes.
137
- return modifiedSubCollections.reduce((x, y) => x.concat(y), []);
137
+ return modifiedSubcollections.reduce((x, y) => x.concat(y), []);
138
138
  }
139
139
  static _insertSingleTypeCollection(current, insert, { readKey, merge }) {
140
140
  const currentKeys = (0, array_1.arrayToMap)(current, readKey);
@@ -0,0 +1,4 @@
1
+ export * from './set.allowed';
2
+ export * from './set.hashset';
3
+ export * from './set.maybe';
4
+ export * from './set';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./set.allowed"), exports);
5
+ tslib_1.__exportStar(require("./set.hashset"), exports);
6
+ tslib_1.__exportStar(require("./set.maybe"), exports);
7
+ tslib_1.__exportStar(require("./set"), exports);
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/set/index.ts"],"names":[],"mappings":";;;AAAA,wDAA8B;AAC9B,wDAA8B;AAC9B,sDAA4B;AAC5B,gDAAsB"}
@@ -0,0 +1,23 @@
1
+ import { ArrayOrValue } from './../array/array';
2
+ import { Maybe } from "../value/maybe";
3
+ /**
4
+ * Pair of allowed/disallowed values.
5
+ */
6
+ export interface AllowedSet<T> {
7
+ /**
8
+ * Values that are allowed. Hits against this set result in an initial true.
9
+ */
10
+ allowed?: Maybe<Set<T>>;
11
+ /**
12
+ * Values that are disallowed. Hits against this set result in false.
13
+ */
14
+ disallowed?: Maybe<Set<T>>;
15
+ }
16
+ /**
17
+ * Determines whether the input values are "allowed" for the given AllowedSet.
18
+ *
19
+ * @param input
20
+ * @param allowedSet
21
+ * @returns
22
+ */
23
+ export declare function isAllowed<T>(input: ArrayOrValue<T>, allowedSet: AllowedSet<T>): boolean;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isAllowed = void 0;
4
+ const array_1 = require("./../array/array");
5
+ const set_1 = require("./set");
6
+ /**
7
+ * Determines whether the input values are "allowed" for the given AllowedSet.
8
+ *
9
+ * @param input
10
+ * @param allowedSet
11
+ * @returns
12
+ */
13
+ function isAllowed(input, allowedSet) {
14
+ const { allowed, disallowed } = allowedSet;
15
+ const values = (0, array_1.asArray)(input);
16
+ let isAllowed = false;
17
+ if (allowed) {
18
+ isAllowed = (0, set_1.setContainsAnyValue)(allowed, values);
19
+ }
20
+ else {
21
+ isAllowed = true;
22
+ }
23
+ if (isAllowed && disallowed) {
24
+ isAllowed = !(0, set_1.setContainsAnyValue)(disallowed, values);
25
+ }
26
+ return isAllowed;
27
+ }
28
+ exports.isAllowed = isAllowed;
29
+ //# sourceMappingURL=set.allowed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set.allowed.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/set/set.allowed.ts"],"names":[],"mappings":";;;AAAA,4CAAyD;AAEzD,+BAA4C;AAgB5C;;;;;;GAMG;AACH,SAAgB,SAAS,CAAI,KAAsB,EAAE,UAAyB;IAC5E,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAA,eAAO,EAAC,KAAK,CAAC,CAAC;IAE9B,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,IAAI,OAAO,EAAE;QACX,SAAS,GAAG,IAAA,yBAAmB,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC;KAClD;SAAM;QACL,SAAS,GAAG,IAAI,CAAC;KAClB;IAED,IAAI,SAAS,IAAI,UAAU,EAAE;QAC3B,SAAS,GAAG,CAAC,IAAA,yBAAmB,EAAC,UAAU,EAAE,MAAM,CAAC,CAAC;KACtD;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAjBD,8BAiBC"}
@@ -0,0 +1,53 @@
1
+ import { Maybe } from '../value/maybe';
2
+ import { IterableOrValue } from '../iterable/iterable';
3
+ export declare function asSet<T>(values: IterableOrValue<T>): Set<T>;
4
+ export declare function addToSet<T>(set: Set<T>, values: Maybe<IterableOrValue<T>>): void;
5
+ export declare function removeFromSet<T>(set: Set<T>, values: Maybe<IterableOrValue<T>>): void;
6
+ export declare function hasDifferentValues<T>(a: Maybe<Iterable<T>>, b: Maybe<Iterable<T>>): boolean;
7
+ export declare function symmetricDifferenceKeys<T>(a: Maybe<Iterable<T>>, b: Maybe<Iterable<T>>): Maybe<T>[];
8
+ export declare function symmetricDifferenceKeysSet<T>(a: Set<Maybe<T>>, b: Set<Maybe<T>>): Maybe<T>[];
9
+ export declare function flattenArrayToSet<T>(array: T[][]): Set<T>;
10
+ export declare function keepValuesFromSet<T>(values: T[], set: Set<T>): T[];
11
+ export declare function excludeValuesFromSet<T>(values: T[], set: Set<T>): T[];
12
+ export declare function filterValuesFromSet<T>(values: T[], set: Set<T>, exclude?: boolean): T[];
13
+ /**
14
+ * Set inclusion comparison type.
15
+ * - all: All values must be included
16
+ * - any: Any value is included
17
+ */
18
+ export declare type SetIncludesMode = 'all' | 'any';
19
+ /**
20
+ * Contextual function that checks whether or not the input values are included.
21
+ */
22
+ export declare type SetIncludesFunction<T> = (valuesToFind: Iterable<T>) => boolean;
23
+ /**
24
+ * Creates a SetIncludesFunction using the input valuesSet and optional mode. By default the mode defaults to 'all'.
25
+ *
26
+ * @param valuesSet
27
+ * @param valuesToFind
28
+ * @param mode
29
+ */
30
+ export declare function setIncludesFunction<T>(valuesSet: Set<T>, mode?: SetIncludesMode): SetIncludesFunction<T>;
31
+ /**
32
+ * Returns true if the input array contains any value from the second array.
33
+ */
34
+ export declare function containsAnyValue<T>(values: Iterable<T>, valuesToFind: Iterable<T>): boolean;
35
+ export declare function containsAnyValueFromSet<T>(values: Iterable<T>, valuesToFind: Set<T>): boolean;
36
+ export declare function setContainsAnyValue<T>(valuesSet: Set<T>, valuesToFind: Iterable<T>): boolean;
37
+ /**
38
+ * Returns true if values contains all values in valuesToFind.
39
+ *
40
+ * @param values
41
+ * @param valuesToFind
42
+ * @returns
43
+ */
44
+ export declare function containsAllValues<T>(values: Iterable<T>, valuesToFind: Iterable<T>): boolean;
45
+ /**
46
+ * Returns true if valuesSet contains all values in valuesToFind.
47
+ *
48
+ * @param valuesSet
49
+ * @param valuesToFind
50
+ * @param returnOnEmptyValuesSet
51
+ * @returns
52
+ */
53
+ export declare function setContainsAllValues<T>(valuesSet: Set<T>, valuesToFind: Iterable<T>): boolean;
@@ -1,5 +1,5 @@
1
- import { PrimativeKey, ReadKeyFunction } from "./key";
2
- import { Maybe } from "./value";
1
+ import { PrimativeKey, ReadKeyFunction } from "../key";
2
+ import { Maybe } from "../value/maybe";
3
3
  export interface HashSetConfig<K extends PrimativeKey, T> {
4
4
  readKey: ReadKeyFunction<T, K>;
5
5
  }
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set.hashset.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/set/set.hashset.ts"],"names":[],"mappings":";;;AAOA;;;;GAIG;AACH,MAAa,OAAO;IAIlB,YAAqB,MAA2B,EAAE,MAAY;QAAzC,WAAM,GAAN,MAAM,CAAqB;QAFxC,SAAI,GAAG,IAAI,GAAG,EAAe,CAAC;QAGpC,IAAI,MAAM,EAAE;YACV,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAClC;IACH,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,MAAkB;QACvB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,KAAQ;QACV,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,KAAQ;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,GAAG,CAAC,KAAQ;QACV,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,CAAC,UAAsD,EAAE,OAAa;QAC3E,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACtC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAW,CAAC,CAAC,MAAM,EAAE,CAAC;IACpD,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,WAAW;QACT,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;IACrC,CAAC;CAEF;AAtED,0BAsEC"}
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setContainsAllValues = exports.containsAllValues = exports.setContainsAnyValue = exports.containsAnyValueFromSet = exports.containsAnyValue = exports.setIncludesFunction = exports.filterValuesFromSet = exports.excludeValuesFromSet = exports.keepValuesFromSet = exports.flattenArrayToSet = exports.symmetricDifferenceKeysSet = exports.symmetricDifferenceKeys = exports.hasDifferentValues = exports.removeFromSet = exports.addToSet = exports.asSet = void 0;
4
+ const array_1 = require("../array/array");
5
+ const iterable_1 = require("../iterable/iterable");
6
+ const extra_set_1 = require("extra-set");
7
+ function asSet(values) {
8
+ let set;
9
+ if (typeof values === 'string') {
10
+ set = new Set([values]);
11
+ }
12
+ else {
13
+ set = new Set();
14
+ addToSet(set, values);
15
+ }
16
+ return set;
17
+ }
18
+ exports.asSet = asSet;
19
+ function addToSet(set, values) {
20
+ (0, iterable_1.useIterableOrValue)(values, (x) => set.add(x));
21
+ }
22
+ exports.addToSet = addToSet;
23
+ function removeFromSet(set, values) {
24
+ (0, iterable_1.useIterableOrValue)(values, (x) => set.delete(x));
25
+ }
26
+ exports.removeFromSet = removeFromSet;
27
+ function hasDifferentValues(a, b) {
28
+ return (0, extra_set_1.symmetricDifference)(new Set(a), new Set(b)).size > 0;
29
+ }
30
+ exports.hasDifferentValues = hasDifferentValues;
31
+ function symmetricDifferenceKeys(a, b) {
32
+ return symmetricDifferenceKeysSet(new Set(a), new Set(b));
33
+ }
34
+ exports.symmetricDifferenceKeys = symmetricDifferenceKeys;
35
+ function symmetricDifferenceKeysSet(a, b) {
36
+ return Array.from((0, extra_set_1.symmetricDifference)(a, b));
37
+ }
38
+ exports.symmetricDifferenceKeysSet = symmetricDifferenceKeysSet;
39
+ function flattenArrayToSet(array) {
40
+ return new Set((0, array_1.flattenArray)(array));
41
+ }
42
+ exports.flattenArrayToSet = flattenArrayToSet;
43
+ function keepValuesFromSet(values, set) {
44
+ return filterValuesFromSet(values, set, false);
45
+ }
46
+ exports.keepValuesFromSet = keepValuesFromSet;
47
+ function excludeValuesFromSet(values, set) {
48
+ return filterValuesFromSet(values, set, true);
49
+ }
50
+ exports.excludeValuesFromSet = excludeValuesFromSet;
51
+ function filterValuesFromSet(values, set, exclude = false) {
52
+ const filterFn = (exclude) ? ((x) => !set.has(x)) : ((x) => set.has(x));
53
+ return values.filter(filterFn);
54
+ }
55
+ exports.filterValuesFromSet = filterValuesFromSet;
56
+ /**
57
+ * Creates a SetIncludesFunction using the input valuesSet and optional mode. By default the mode defaults to 'all'.
58
+ *
59
+ * @param valuesSet
60
+ * @param valuesToFind
61
+ * @param mode
62
+ */
63
+ function setIncludesFunction(valuesSet, mode = 'all') {
64
+ let fn;
65
+ if (mode === 'any') {
66
+ fn = setContainsAnyValue;
67
+ }
68
+ else {
69
+ fn = setContainsAllValues;
70
+ }
71
+ return (valuesToFind) => fn(valuesSet, valuesToFind);
72
+ }
73
+ exports.setIncludesFunction = setIncludesFunction;
74
+ /**
75
+ * Returns true if the input array contains any value from the second array.
76
+ */
77
+ function containsAnyValue(values, valuesToFind) {
78
+ const set = new Set(valuesToFind);
79
+ return containsAnyValueFromSet(values, set);
80
+ }
81
+ exports.containsAnyValue = containsAnyValue;
82
+ function containsAnyValueFromSet(values, valuesToFind) {
83
+ return setContainsAnyValue(valuesToFind, values);
84
+ }
85
+ exports.containsAnyValueFromSet = containsAnyValueFromSet;
86
+ function setContainsAnyValue(valuesSet, valuesToFind) {
87
+ return (valuesSet) ? Array.from(valuesToFind).findIndex((x) => valuesSet.has(x)) !== -1 : false;
88
+ }
89
+ exports.setContainsAnyValue = setContainsAnyValue;
90
+ /**
91
+ * Returns true if values contains all values in valuesToFind.
92
+ *
93
+ * @param values
94
+ * @param valuesToFind
95
+ * @returns
96
+ */
97
+ function containsAllValues(values, valuesToFind) {
98
+ const set = new Set(values);
99
+ return setContainsAllValues(set, valuesToFind);
100
+ }
101
+ exports.containsAllValues = containsAllValues;
102
+ /**
103
+ * Returns true if valuesSet contains all values in valuesToFind.
104
+ *
105
+ * @param valuesSet
106
+ * @param valuesToFind
107
+ * @param returnOnEmptyValuesSet
108
+ * @returns
109
+ */
110
+ function setContainsAllValues(valuesSet, valuesToFind) {
111
+ return (valuesSet) ? Array.from(valuesToFind).findIndex((x) => !valuesSet.has(x)) == -1 : false;
112
+ }
113
+ exports.setContainsAllValues = setContainsAllValues;
114
+ //# sourceMappingURL=set.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/set/set.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { ArrayOrValue } from './../array/array';
2
+ import { Maybe } from "../value/maybe";
3
+ /**
4
+ * Creates a Maybe Set with the input.
5
+ *
6
+ * If the input is an array or value, they are returned as a set. Otherwise, returns null/undefined.
7
+ *
8
+ * @param input
9
+ * @returns
10
+ */
11
+ export declare function maybeSet<T>(input: Maybe<ArrayOrValue<T>>): Maybe<Set<T>>;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.maybeSet = void 0;
4
+ const array_1 = require("./../array/array");
5
+ /**
6
+ * Creates a Maybe Set with the input.
7
+ *
8
+ * If the input is an array or value, they are returned as a set. Otherwise, returns null/undefined.
9
+ *
10
+ * @param input
11
+ * @returns
12
+ */
13
+ function maybeSet(input) {
14
+ if (input != null) {
15
+ return new Set((0, array_1.asArray)(input));
16
+ }
17
+ else {
18
+ return input;
19
+ }
20
+ }
21
+ exports.maybeSet = maybeSet;
22
+ //# sourceMappingURL=set.maybe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set.maybe.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/set/set.maybe.ts"],"names":[],"mappings":";;;AAAA,4CAAyD;AAGzD;;;;;;;GAOG;AACH,SAAgB,QAAQ,CAAI,KAA6B;IACvD,IAAI,KAAK,IAAI,IAAI,EAAE;QACjB,OAAO,IAAI,GAAG,CAAC,IAAA,eAAO,EAAC,KAAK,CAAC,CAAC,CAAC;KAChC;SAAM;QACL,OAAO,KAAiB,CAAC;KAC1B;AACH,CAAC;AAND,4BAMC"}
package/src/lib/sort.d.ts CHANGED
@@ -1,7 +1,4 @@
1
- export declare enum SortingOrder {
2
- ASCENDING = "asc",
3
- DESCENDING = "desc"
4
- }
1
+ export declare type SortingOrder = 'desc' | 'asc';
5
2
  export declare const SORT_VALUE_LESS_THAN: SortComparisonNumber;
6
3
  export declare const SORT_VALUE_GREATER_THAN: SortComparisonNumber;
7
4
  export declare const SORT_VALUE_EQUAL: SortComparisonNumber;
package/src/lib/sort.js CHANGED
@@ -1,11 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.compareFnOrder = exports.reverseCompareFn = exports.SORT_VALUE_EQUAL = exports.SORT_VALUE_GREATER_THAN = exports.SORT_VALUE_LESS_THAN = exports.SortingOrder = void 0;
4
- var SortingOrder;
5
- (function (SortingOrder) {
6
- SortingOrder["ASCENDING"] = "asc";
7
- SortingOrder["DESCENDING"] = "desc";
8
- })(SortingOrder = exports.SortingOrder || (exports.SortingOrder = {}));
3
+ exports.compareFnOrder = exports.reverseCompareFn = exports.SORT_VALUE_EQUAL = exports.SORT_VALUE_GREATER_THAN = exports.SORT_VALUE_LESS_THAN = void 0;
9
4
  exports.SORT_VALUE_LESS_THAN = -1;
10
5
  exports.SORT_VALUE_GREATER_THAN = 1;
11
6
  exports.SORT_VALUE_EQUAL = 0;
@@ -18,8 +13,8 @@ exports.reverseCompareFn = reverseCompareFn;
18
13
  *
19
14
  * The input comparison function must be in ascending order.
20
15
  */
21
- function compareFnOrder(ascendingCompareFn, order = SortingOrder.ASCENDING) {
22
- return (order === SortingOrder.ASCENDING) ? ascendingCompareFn : reverseCompareFn(ascendingCompareFn);
16
+ function compareFnOrder(ascendingCompareFn, order = 'asc') {
17
+ return (order === 'asc') ? ascendingCompareFn : reverseCompareFn(ascendingCompareFn);
23
18
  }
24
19
  exports.compareFnOrder = compareFnOrder;
25
20
  //# sourceMappingURL=sort.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sort.js","sourceRoot":"","sources":["../../../../../packages/util/src/lib/sort.ts"],"names":[],"mappings":";;;AACA,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,mCAAmB,CAAA;AACrB,CAAC,EAHW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAGvB;AAEY,QAAA,oBAAoB,GAAyB,CAAC,CAAC,CAAC;AAChD,QAAA,uBAAuB,GAAyB,CAAC,CAAC;AAClD,QAAA,gBAAgB,GAAyB,CAAC,CAAC;AAsCxD,SAAgB,gBAAgB,CAAI,SAAiC;IACnE,OAAO,CAAC,CAAI,EAAE,CAAI,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9C,CAAC;AAFD,4CAEC;AAED;;;;GAIG;AACH,SAAgB,cAAc,CAAI,kBAAmD,EAAE,QAAsB,YAAY,CAAC,SAAS;IACjI,OAAO,CAAC,KAAK,KAAK,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;AACxG,CAAC;AAFD,wCAEC"}
1
+ {"version":3,"file":"sort.js","sourceRoot":"","sources":["../../../../../packages/util/src/lib/sort.ts"],"names":[],"mappings":";;;AAGa,QAAA,oBAAoB,GAAyB,CAAC,CAAC,CAAC;AAChD,QAAA,uBAAuB,GAAyB,CAAC,CAAC;AAClD,QAAA,gBAAgB,GAAyB,CAAC,CAAC;AAsCxD,SAAgB,gBAAgB,CAAI,SAAiC;IACnE,OAAO,CAAC,CAAI,EAAE,CAAI,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9C,CAAC;AAFD,4CAEC;AAED;;;;GAIG;AACH,SAAgB,cAAc,CAAI,kBAAmD,EAAE,QAAsB,KAAK;IAChH,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;AACvF,CAAC;AAFD,wCAEC"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- (0, tslib_1.__exportStar)(require("./storage"), exports);
5
- (0, tslib_1.__exportStar)(require("./storage.error"), exports);
6
- (0, tslib_1.__exportStar)(require("./storage.memory"), exports);
7
- (0, tslib_1.__exportStar)(require("./storage.object"), exports);
4
+ tslib_1.__exportStar(require("./storage"), exports);
5
+ tslib_1.__exportStar(require("./storage.error"), exports);
6
+ tslib_1.__exportStar(require("./storage.memory"), exports);
7
+ tslib_1.__exportStar(require("./storage.object"), exports);
8
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/storage/index.ts"],"names":[],"mappings":";;;AAAA,yDAA0B;AAC1B,+DAAgC;AAChC,gEAAiC;AACjC,gEAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/storage/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,0DAAgC;AAChC,2DAAiC;AACjC,2DAAiC"}