@develia/commons 0.3.44 → 0.4.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 (189) hide show
  1. package/dist/cjs/array.js +44 -0
  2. package/dist/cjs/array.js.map +1 -0
  3. package/dist/cjs/async-pool-executor.js +49 -0
  4. package/dist/cjs/async-pool-executor.js.map +1 -0
  5. package/dist/cjs/cache-dictionary.js +67 -0
  6. package/dist/cjs/cache-dictionary.js.map +1 -0
  7. package/dist/cjs/clean-url-search-params.js +10 -0
  8. package/dist/cjs/clean-url-search-params.js.map +1 -0
  9. package/dist/cjs/collections/default-map.js +21 -0
  10. package/dist/cjs/collections/default-map.js.map +1 -0
  11. package/dist/cjs/collections/lazy-map.js +22 -0
  12. package/dist/cjs/collections/lazy-map.js.map +1 -0
  13. package/dist/cjs/collections.js +11 -0
  14. package/dist/cjs/collections.js.map +1 -0
  15. package/dist/cjs/from.js +504 -0
  16. package/dist/cjs/from.js.map +1 -0
  17. package/dist/cjs/index.js +73 -0
  18. package/dist/cjs/index.js.map +1 -0
  19. package/dist/cjs/key-value-pair.js +16 -0
  20. package/dist/cjs/key-value-pair.js.map +1 -0
  21. package/dist/cjs/lazy.js +25 -0
  22. package/dist/cjs/lazy.js.map +1 -0
  23. package/dist/cjs/math.js +15 -0
  24. package/dist/cjs/math.js.map +1 -0
  25. package/dist/cjs/order.js +9 -0
  26. package/dist/cjs/order.js.map +1 -0
  27. package/dist/cjs/patch.js +44 -0
  28. package/dist/cjs/patch.js.map +1 -0
  29. package/dist/cjs/stopwatch.js +36 -0
  30. package/dist/cjs/stopwatch.js.map +1 -0
  31. package/dist/cjs/string.js +29 -0
  32. package/dist/cjs/string.js.map +1 -0
  33. package/dist/cjs/timer.js +50 -0
  34. package/dist/cjs/timer.js.map +1 -0
  35. package/dist/cjs/timespan.js +152 -0
  36. package/dist/cjs/timespan.js.map +1 -0
  37. package/dist/cjs/type.js +16 -0
  38. package/dist/cjs/type.js.map +1 -0
  39. package/dist/cjs/types.js +3 -0
  40. package/dist/cjs/types.js.map +1 -0
  41. package/dist/cjs/utilities.js +309 -0
  42. package/dist/cjs/utilities.js.map +1 -0
  43. package/dist/esm/array.js +38 -0
  44. package/dist/esm/array.js.map +1 -0
  45. package/dist/esm/async-pool-executor.js +46 -0
  46. package/dist/esm/async-pool-executor.js.map +1 -0
  47. package/dist/esm/cache-dictionary.js +64 -0
  48. package/dist/esm/cache-dictionary.js.map +1 -0
  49. package/dist/esm/clean-url-search-params.js +7 -0
  50. package/dist/esm/clean-url-search-params.js.map +1 -0
  51. package/dist/esm/collections/default-map.js +18 -0
  52. package/dist/esm/collections/default-map.js.map +1 -0
  53. package/dist/esm/collections/lazy-map.js +19 -0
  54. package/dist/esm/collections/lazy-map.js.map +1 -0
  55. package/dist/esm/collections.js +3 -0
  56. package/dist/esm/collections.js.map +1 -0
  57. package/dist/esm/from.js +495 -0
  58. package/dist/esm/from.js.map +1 -0
  59. package/dist/esm/index.js +19 -0
  60. package/dist/esm/index.js.map +1 -0
  61. package/dist/esm/key-value-pair.js +13 -0
  62. package/dist/esm/key-value-pair.js.map +1 -0
  63. package/dist/esm/lazy.js +22 -0
  64. package/dist/esm/lazy.js.map +1 -0
  65. package/dist/esm/math.js +11 -0
  66. package/dist/esm/math.js.map +1 -0
  67. package/dist/esm/order.js +7 -0
  68. package/dist/esm/order.js.map +1 -0
  69. package/dist/esm/patch.js +40 -0
  70. package/dist/esm/patch.js.map +1 -0
  71. package/dist/esm/stopwatch.js +30 -0
  72. package/dist/esm/stopwatch.js.map +1 -0
  73. package/dist/esm/string.js +24 -0
  74. package/dist/esm/string.js.map +1 -0
  75. package/dist/esm/timer.js +47 -0
  76. package/dist/esm/timer.js.map +1 -0
  77. package/dist/esm/timespan.js +150 -0
  78. package/dist/esm/timespan.js.map +1 -0
  79. package/dist/esm/type.js +14 -0
  80. package/dist/esm/type.js.map +1 -0
  81. package/dist/esm/types.js +2 -0
  82. package/dist/esm/types.js.map +1 -0
  83. package/dist/esm/utilities.js +277 -0
  84. package/dist/esm/utilities.js.map +1 -0
  85. package/dist/types/array.d.ts +6 -0
  86. package/dist/types/array.d.ts.map +1 -0
  87. package/dist/types/async-pool-executor.d.ts +14 -0
  88. package/dist/types/async-pool-executor.d.ts.map +1 -0
  89. package/dist/types/cache-dictionary.d.ts +16 -0
  90. package/dist/types/cache-dictionary.d.ts.map +1 -0
  91. package/dist/types/clean-url-search-params.d.ts +4 -0
  92. package/dist/types/clean-url-search-params.d.ts.map +1 -0
  93. package/dist/types/collections/default-map.d.ts +7 -0
  94. package/dist/types/collections/default-map.d.ts.map +1 -0
  95. package/dist/types/collections/lazy-map.d.ts +6 -0
  96. package/dist/types/collections/lazy-map.d.ts.map +1 -0
  97. package/dist/types/collections.d.ts +3 -0
  98. package/dist/types/collections.d.ts.map +1 -0
  99. package/dist/types/from.d.ts +59 -0
  100. package/dist/types/from.d.ts.map +1 -0
  101. package/dist/types/index.d.ts +19 -0
  102. package/dist/types/index.d.ts.map +1 -0
  103. package/dist/types/key-value-pair.d.ts +8 -0
  104. package/dist/types/key-value-pair.d.ts.map +1 -0
  105. package/dist/types/lazy.d.ts +11 -0
  106. package/dist/types/lazy.d.ts.map +1 -0
  107. package/dist/types/math.d.ts +3 -0
  108. package/dist/types/math.d.ts.map +1 -0
  109. package/dist/types/order.d.ts +6 -0
  110. package/dist/types/order.d.ts.map +1 -0
  111. package/dist/types/patch.d.ts +8 -0
  112. package/dist/types/patch.d.ts.map +1 -0
  113. package/dist/types/stopwatch.d.ts +10 -0
  114. package/dist/types/stopwatch.d.ts.map +1 -0
  115. package/dist/types/string.d.ts +4 -0
  116. package/dist/types/string.d.ts.map +1 -0
  117. package/dist/types/timer.d.ts +15 -0
  118. package/dist/types/timer.d.ts.map +1 -0
  119. package/dist/types/timespan.d.ts +47 -0
  120. package/dist/types/timespan.d.ts.map +1 -0
  121. package/dist/types/type.d.ts +13 -0
  122. package/dist/types/type.d.ts.map +1 -0
  123. package/dist/types/types.d.ts +14 -0
  124. package/dist/types/types.d.ts.map +1 -0
  125. package/dist/types/utilities.d.ts +31 -0
  126. package/dist/types/utilities.d.ts.map +1 -0
  127. package/dist/web/array.js +38 -0
  128. package/dist/web/array.js.map +1 -0
  129. package/dist/web/async-pool-executor.js +46 -0
  130. package/dist/web/async-pool-executor.js.map +1 -0
  131. package/dist/web/cache-dictionary.js +64 -0
  132. package/dist/web/cache-dictionary.js.map +1 -0
  133. package/dist/web/clean-url-search-params.js +7 -0
  134. package/dist/web/clean-url-search-params.js.map +1 -0
  135. package/dist/web/collections/default-map.js +18 -0
  136. package/dist/web/collections/default-map.js.map +1 -0
  137. package/dist/web/collections/lazy-map.js +19 -0
  138. package/dist/web/collections/lazy-map.js.map +1 -0
  139. package/dist/web/collections.js +3 -0
  140. package/dist/web/collections.js.map +1 -0
  141. package/dist/web/from.js +496 -0
  142. package/dist/web/from.js.map +1 -0
  143. package/dist/web/index.js +19 -0
  144. package/dist/web/index.js.map +1 -0
  145. package/dist/web/key-value-pair.js +13 -0
  146. package/dist/web/key-value-pair.js.map +1 -0
  147. package/dist/web/lazy.js +22 -0
  148. package/dist/web/lazy.js.map +1 -0
  149. package/dist/web/math.js +11 -0
  150. package/dist/web/math.js.map +1 -0
  151. package/dist/web/order.js +7 -0
  152. package/dist/web/order.js.map +1 -0
  153. package/dist/web/patch.js +40 -0
  154. package/dist/web/patch.js.map +1 -0
  155. package/dist/web/stopwatch.js +30 -0
  156. package/dist/web/stopwatch.js.map +1 -0
  157. package/dist/web/string.js +24 -0
  158. package/dist/web/string.js.map +1 -0
  159. package/dist/web/timer.js +47 -0
  160. package/dist/web/timer.js.map +1 -0
  161. package/dist/web/timespan.js +150 -0
  162. package/dist/web/timespan.js.map +1 -0
  163. package/dist/web/type.js +14 -0
  164. package/dist/web/type.js.map +1 -0
  165. package/dist/web/types.js +2 -0
  166. package/dist/web/types.js.map +1 -0
  167. package/dist/web/utilities.js +277 -0
  168. package/dist/web/utilities.js.map +1 -0
  169. package/package.json +25 -12
  170. package/src/array.ts +49 -0
  171. package/src/async-pool-executor.ts +2 -2
  172. package/src/collections/default-map.ts +42 -0
  173. package/src/collections/lazy-map.ts +24 -0
  174. package/src/collections.ts +2 -24
  175. package/src/from.ts +4 -4
  176. package/src/index.ts +28 -22
  177. package/src/lazy.ts +1 -1
  178. package/src/patch.ts +80 -0
  179. package/src/stopwatch.ts +1 -1
  180. package/src/{typing.ts → type.ts} +3 -1
  181. package/src/types.ts +4 -1
  182. package/src/utilities.ts +19 -18
  183. package/dist/develia-commons.js +0 -1690
  184. package/dist/develia-commons.min.js +0 -1
  185. package/dist/index.cjs.js +0 -1688
  186. package/dist/index.cjs.js.map +0 -1
  187. package/dist/index.esm.js +0 -1641
  188. package/dist/index.esm.js.map +0 -1
  189. package/src/array-manipulator.ts +0 -159
@@ -0,0 +1,504 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Grouping = exports.From = void 0;
7
+ exports.default = from;
8
+ const utilities_js_1 = require("./utilities.js");
9
+ const order_js_1 = __importDefault(require("./order.js"));
10
+ function from(source) {
11
+ if (source == null)
12
+ throw "Source is null.";
13
+ if (typeof source === 'function')
14
+ return From.fn(source);
15
+ if (typeof source[Symbol.iterator] === 'function') {
16
+ return From.iterable(source);
17
+ }
18
+ else if (typeof source === 'object') {
19
+ return From.object(source);
20
+ }
21
+ throw "Invalid source.";
22
+ }
23
+ class From {
24
+ static object(obj) {
25
+ return new From(function () {
26
+ return (0, utilities_js_1.toPairs)(obj);
27
+ });
28
+ }
29
+ constructor(fn) {
30
+ this._fn = fn;
31
+ }
32
+ static fn(callable) {
33
+ return new From(callable);
34
+ }
35
+ ;
36
+ collect() {
37
+ const cache = Array.from(this);
38
+ return From.iterable(cache);
39
+ }
40
+ static iterable(iterable) {
41
+ return From.fn(function* () {
42
+ for (const item of iterable) {
43
+ yield item;
44
+ }
45
+ });
46
+ }
47
+ ;
48
+ map(mapper) {
49
+ const self = this;
50
+ return From.fn(function* () {
51
+ for (let item of self) {
52
+ yield mapper(item);
53
+ }
54
+ });
55
+ }
56
+ *[Symbol.iterator]() {
57
+ yield* this._fn();
58
+ }
59
+ all(predicate) {
60
+ for (let item of this._fn()) {
61
+ if (!predicate(item)) {
62
+ return false;
63
+ }
64
+ }
65
+ return true;
66
+ }
67
+ any(predicate = undefined) {
68
+ for (let item of this) {
69
+ if (predicate == null || predicate(item)) {
70
+ return true;
71
+ }
72
+ }
73
+ return false;
74
+ }
75
+ get length() {
76
+ return this.count();
77
+ }
78
+ count(predicate = undefined) {
79
+ let output = 0;
80
+ for (let item of this) {
81
+ if (predicate == null || predicate(item)) {
82
+ output++;
83
+ }
84
+ }
85
+ return output;
86
+ }
87
+ filter(predicate) {
88
+ const self = this;
89
+ return From.fn(function* () {
90
+ for (let item of self) {
91
+ if (predicate(item)) {
92
+ yield item;
93
+ }
94
+ }
95
+ });
96
+ }
97
+ contains(value) {
98
+ for (let item of this) {
99
+ if (item === value) {
100
+ return true;
101
+ }
102
+ }
103
+ return false;
104
+ }
105
+ first(predicate) {
106
+ if (predicate) {
107
+ for (let item of this) {
108
+ if (predicate(item)) {
109
+ return item;
110
+ }
111
+ }
112
+ }
113
+ else {
114
+ for (let item of this) {
115
+ return item;
116
+ }
117
+ }
118
+ return undefined;
119
+ }
120
+ single(predicate) {
121
+ let found = false;
122
+ let output = null;
123
+ if (predicate) {
124
+ for (let item of this) {
125
+ if (predicate(item)) {
126
+ if (found) {
127
+ throw new Error("Sequence contains more than one element.");
128
+ }
129
+ found = true;
130
+ output = item;
131
+ }
132
+ }
133
+ }
134
+ else {
135
+ for (let item of this) {
136
+ if (found) {
137
+ throw new Error("Sequence contains more than one element.");
138
+ }
139
+ found = true;
140
+ output = item;
141
+ }
142
+ }
143
+ return output;
144
+ }
145
+ append(item) {
146
+ const self = this;
147
+ return From.fn(function* () {
148
+ for (let element of self) {
149
+ yield element;
150
+ }
151
+ yield item;
152
+ });
153
+ }
154
+ prepend(item) {
155
+ const self = this;
156
+ return From.fn(function* () {
157
+ yield item;
158
+ for (let element of self) {
159
+ yield element;
160
+ }
161
+ });
162
+ }
163
+ at(index) {
164
+ let idx = 0;
165
+ for (let item of this) {
166
+ if (idx++ === index) {
167
+ return item;
168
+ }
169
+ }
170
+ return undefined;
171
+ }
172
+ last(predicate) {
173
+ let last = undefined;
174
+ if (predicate)
175
+ for (let item of this) {
176
+ if (!predicate || predicate(item)) {
177
+ last = item;
178
+ }
179
+ }
180
+ else {
181
+ for (let item of this) {
182
+ last = item;
183
+ }
184
+ }
185
+ return last;
186
+ }
187
+ mapMany(mapper) {
188
+ const self = this;
189
+ return From.fn(function* () {
190
+ for (const item of self) {
191
+ const subitems = mapper(item);
192
+ for (const subitem of subitems) {
193
+ yield subitem;
194
+ }
195
+ }
196
+ });
197
+ }
198
+ flatten() {
199
+ const self = this;
200
+ return From.fn(function* () {
201
+ for (let item of self) {
202
+ let temp = item;
203
+ for (let subitem of temp) {
204
+ yield subitem;
205
+ }
206
+ }
207
+ });
208
+ }
209
+ sum(mapper) {
210
+ let total = 0;
211
+ if (mapper)
212
+ for (let item of this) {
213
+ total += mapper(item);
214
+ }
215
+ else
216
+ for (let item of this) {
217
+ total += item;
218
+ }
219
+ return total;
220
+ }
221
+ avg(mapper) {
222
+ let total = 0;
223
+ let count = 0;
224
+ if (mapper)
225
+ for (let item of this) {
226
+ total += mapper(item);
227
+ count++;
228
+ }
229
+ else
230
+ for (let item of this) {
231
+ total += item;
232
+ count++;
233
+ }
234
+ return count > 0 ? total / count : 0;
235
+ }
236
+ max(mapper) {
237
+ let max = -Infinity;
238
+ for (let item of this) {
239
+ let value = mapper(item);
240
+ max = value > max ? value : max;
241
+ }
242
+ return max;
243
+ }
244
+ min(mapper) {
245
+ let min = Infinity;
246
+ for (let item of this) {
247
+ let value = mapper(item);
248
+ min = value < min ? value : min;
249
+ }
250
+ return min;
251
+ }
252
+ maxBy(mapper) {
253
+ let max = -Infinity;
254
+ let maxItem;
255
+ for (let item of this) {
256
+ let value = mapper(item);
257
+ if (value > max) {
258
+ max = value;
259
+ maxItem = item;
260
+ }
261
+ }
262
+ return maxItem;
263
+ }
264
+ minBy(mapper) {
265
+ let min = Infinity;
266
+ let minItem;
267
+ for (let item of this) {
268
+ let value = mapper(item);
269
+ if (value < min) {
270
+ min = value;
271
+ minItem = item;
272
+ }
273
+ }
274
+ return minItem;
275
+ }
276
+ orderBy(mapper, order = order_js_1.default.Ascending) {
277
+ const array = Array.from(this._fn());
278
+ if (order == order_js_1.default.Ascending) {
279
+ array.sort((a, b) => {
280
+ const aValue = mapper(a);
281
+ const bValue = mapper(b);
282
+ return aValue > bValue ? 1 : bValue > aValue ? -1 : 0;
283
+ });
284
+ }
285
+ else if (order == order_js_1.default.Descending) {
286
+ array.sort((a, b) => {
287
+ const aValue = mapper(a);
288
+ const bValue = mapper(b);
289
+ return aValue > bValue ? 1 : bValue < aValue ? -1 : 0;
290
+ });
291
+ }
292
+ else {
293
+ throw new Error("invalid order argument");
294
+ }
295
+ return From.iterable(array);
296
+ }
297
+ groupBy(keySelector, equalityComparer) {
298
+ equalityComparer = (equalityComparer == null ? utilities_js_1.shallowEqual : equalityComparer);
299
+ const self = this;
300
+ return From.fn(function* () {
301
+ const groups = [];
302
+ for (let item of self) {
303
+ const key = keySelector(item);
304
+ let found = false;
305
+ for (let [entryKey, group] of groups) {
306
+ if (equalityComparer(key, entryKey)) {
307
+ group.push(item);
308
+ found = true;
309
+ break;
310
+ }
311
+ }
312
+ if (!found) {
313
+ groups.push([key, [item]]);
314
+ }
315
+ }
316
+ yield* groups.map(([key, values]) => new Grouping(key, values));
317
+ });
318
+ }
319
+ head(n) {
320
+ const self = this;
321
+ return From.fn(function* () {
322
+ let count = 0;
323
+ for (let item of self) {
324
+ if (count++ < n) {
325
+ yield item;
326
+ }
327
+ else {
328
+ return;
329
+ }
330
+ }
331
+ });
332
+ }
333
+ tail(n) {
334
+ const self = this;
335
+ return From.fn(function* () {
336
+ let buffer = [];
337
+ for (let item of self) {
338
+ buffer.push(item);
339
+ if (buffer.length > n) {
340
+ buffer.shift();
341
+ }
342
+ }
343
+ yield* buffer;
344
+ });
345
+ }
346
+ forEach(action) {
347
+ for (let item of this) {
348
+ action(item);
349
+ }
350
+ }
351
+ toArray() {
352
+ return Array.from(this);
353
+ }
354
+ toRecord(keySelector, valueSelector) {
355
+ const output = {};
356
+ for (let item of this) {
357
+ output[keySelector(item)] = valueSelector(item);
358
+ }
359
+ return output;
360
+ }
361
+ toMap(keySelector, valueSelector) {
362
+ const map = new Map();
363
+ for (let item of this) {
364
+ const key = keySelector(item);
365
+ const value = valueSelector(item);
366
+ map.set(key, value);
367
+ }
368
+ return map;
369
+ }
370
+ instancesOf(type) {
371
+ return this.filter(item => typeof item === type);
372
+ }
373
+ allInstanceOf(type) {
374
+ for (let item of this) {
375
+ if (!(item instanceof type)) {
376
+ return false;
377
+ }
378
+ }
379
+ return true;
380
+ }
381
+ distinct(eq_comparer) {
382
+ if (eq_comparer == null)
383
+ eq_comparer = utilities_js_1.shallowEqual;
384
+ const self = this;
385
+ return From.fn(function* () {
386
+ const included = [];
387
+ for (let item of self) {
388
+ if (!From.iterable(included).any(x => eq_comparer(x, item))) {
389
+ included.push(item);
390
+ yield item;
391
+ }
392
+ }
393
+ });
394
+ }
395
+ insert(item, index) {
396
+ const self = this;
397
+ return From.fn(function* () {
398
+ let i = 0;
399
+ let inserted = false;
400
+ for (let existingItem of self) {
401
+ if (i === index) {
402
+ yield item;
403
+ inserted = true;
404
+ }
405
+ yield existingItem;
406
+ i++;
407
+ }
408
+ if (!inserted) {
409
+ yield item;
410
+ }
411
+ });
412
+ }
413
+ skip(n) {
414
+ const self = this;
415
+ return From.fn(function* () {
416
+ let i = 0;
417
+ for (let item of self) {
418
+ if (i >= n) {
419
+ yield item;
420
+ }
421
+ i++;
422
+ }
423
+ });
424
+ }
425
+ union(other) {
426
+ const self = this;
427
+ return From.fn(function* () {
428
+ yield* self;
429
+ yield* other;
430
+ });
431
+ }
432
+ innerJoin(other, thisKeySelector, otherKeySelector, resultSelector) {
433
+ const self = this;
434
+ return From.fn(() => {
435
+ const otherByKey = new Map();
436
+ for (let item of other) {
437
+ otherByKey.set(otherKeySelector(item), item);
438
+ }
439
+ return Array.from(self)
440
+ .filter(item => otherByKey.has(thisKeySelector(item)))
441
+ .map(item => resultSelector(item, otherByKey.get(thisKeySelector(item))));
442
+ });
443
+ }
444
+ leftJoin(other, thisKeySelector, otherKeySelector, resultSelector) {
445
+ const self = this;
446
+ return From.fn(() => {
447
+ const otherByKey = new Map();
448
+ for (let item of other) {
449
+ otherByKey.set(otherKeySelector(item), item);
450
+ }
451
+ return Array.from(self).map(item => resultSelector(item, otherByKey.get(thisKeySelector(item))));
452
+ });
453
+ }
454
+ leftGroupJoin(other, thisKeySelector, otherKeySelector, resultSelector) {
455
+ const self = this;
456
+ return From.fn(() => {
457
+ const otherByKeys = new Map();
458
+ for (let item of other) {
459
+ const key = otherKeySelector(item);
460
+ if (!otherByKeys.has(key)) {
461
+ otherByKeys.set(key, []);
462
+ }
463
+ otherByKeys.get(key).push(item);
464
+ }
465
+ return Array.from(self).map(item => resultSelector(item, otherByKeys.get(thisKeySelector(item)) || []));
466
+ });
467
+ }
468
+ rightGroupJoin(other, thisKeySelector, otherKeySelector, resultSelector) {
469
+ const self = this;
470
+ return From.fn(() => {
471
+ const thisByKeys = new Map();
472
+ for (let item of self) {
473
+ const key = thisKeySelector(item);
474
+ if (!thisByKeys.has(key)) {
475
+ thisByKeys.set(key, []);
476
+ }
477
+ thisByKeys.get(key).push(item);
478
+ }
479
+ return Array.from(other).map(item => resultSelector(thisByKeys.get(otherKeySelector(item)) || [], item));
480
+ });
481
+ }
482
+ rightJoin(other, thisKeySelector, otherKeySelector, resultSelector) {
483
+ const self = this;
484
+ return From.fn(() => {
485
+ const thisByKey = new Map();
486
+ for (let item of self) {
487
+ thisByKey.set(thisKeySelector(item), item);
488
+ }
489
+ return Array.from(other).map(item => resultSelector(thisByKey.get(otherKeySelector(item)), item));
490
+ });
491
+ }
492
+ }
493
+ exports.From = From;
494
+ class Grouping extends From {
495
+ get key() {
496
+ return this._key;
497
+ }
498
+ constructor(key, values) {
499
+ super(() => values);
500
+ this._key = key;
501
+ }
502
+ }
503
+ exports.Grouping = Grouping;
504
+ //# sourceMappingURL=from.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"from.js","sourceRoot":"","sources":["../../src/from.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
+ };
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.array = exports.Stopwatch = exports.CleanURLSearchParams = exports.Order = exports.AsyncPoolExecutor = exports.KeyValuePair = exports.Lazy = exports.TimeSpan = exports.Timer = exports.From = exports.from = exports.CacheDictionary = exports.Tipe = void 0;
43
+ __exportStar(require("./types.js"), exports);
44
+ var type_js_1 = require("./type.js");
45
+ Object.defineProperty(exports, "Tipe", { enumerable: true, get: function () { return __importDefault(type_js_1).default; } });
46
+ __exportStar(require("./utilities.js"), exports);
47
+ __exportStar(require("./string.js"), exports);
48
+ __exportStar(require("./math.js"), exports);
49
+ var cache_dictionary_js_1 = require("./cache-dictionary.js");
50
+ Object.defineProperty(exports, "CacheDictionary", { enumerable: true, get: function () { return __importDefault(cache_dictionary_js_1).default; } });
51
+ var from_js_1 = require("./from.js");
52
+ Object.defineProperty(exports, "from", { enumerable: true, get: function () { return __importDefault(from_js_1).default; } });
53
+ Object.defineProperty(exports, "From", { enumerable: true, get: function () { return from_js_1.From; } });
54
+ var timer_js_1 = require("./timer.js");
55
+ Object.defineProperty(exports, "Timer", { enumerable: true, get: function () { return __importDefault(timer_js_1).default; } });
56
+ var timespan_js_1 = require("./timespan.js");
57
+ Object.defineProperty(exports, "TimeSpan", { enumerable: true, get: function () { return __importDefault(timespan_js_1).default; } });
58
+ var lazy_js_1 = require("./lazy.js");
59
+ Object.defineProperty(exports, "Lazy", { enumerable: true, get: function () { return __importDefault(lazy_js_1).default; } });
60
+ var key_value_pair_js_1 = require("./key-value-pair.js");
61
+ Object.defineProperty(exports, "KeyValuePair", { enumerable: true, get: function () { return __importDefault(key_value_pair_js_1).default; } });
62
+ var async_pool_executor_js_1 = require("./async-pool-executor.js");
63
+ Object.defineProperty(exports, "AsyncPoolExecutor", { enumerable: true, get: function () { return __importDefault(async_pool_executor_js_1).default; } });
64
+ var order_js_1 = require("./order.js");
65
+ Object.defineProperty(exports, "Order", { enumerable: true, get: function () { return __importDefault(order_js_1).default; } });
66
+ var clean_url_search_params_js_1 = require("./clean-url-search-params.js");
67
+ Object.defineProperty(exports, "CleanURLSearchParams", { enumerable: true, get: function () { return __importDefault(clean_url_search_params_js_1).default; } });
68
+ var stopwatch_js_1 = require("./stopwatch.js");
69
+ Object.defineProperty(exports, "Stopwatch", { enumerable: true, get: function () { return __importDefault(stopwatch_js_1).default; } });
70
+ __exportStar(require("./array.js"), exports);
71
+ exports.array = __importStar(require("./array.js"));
72
+ __exportStar(require("./collections.js"), exports);
73
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,qCAA0C;AAAlC,gHAAA,OAAO,OAAQ;AAEvB,iDAA+B;AAC/B,8CAA4B;AAC5B,4CAA0B;AAC1B,6DAAiE;AAAzD,uIAAA,OAAO,OAAmB;AAClC,qCAAgD;AAAxC,gHAAA,OAAO,OAAQ;AAAE,+FAAA,IAAI,OAAA;AAC7B,uCAA2C;AAAnC,kHAAA,OAAO,OAAS;AACxB,6CAAiD;AAAzC,wHAAA,OAAO,OAAY;AAC3B,qCAAyC;AAAjC,gHAAA,OAAO,OAAQ;AACvB,yDAA2D;AAAnD,kIAAA,OAAO,OAAgB;AAC/B,mEAAsE;AAA9D,4IAAA,OAAO,OAAqB;AACpC,uCAA4C;AAApC,kHAAA,OAAO,OAAS;AACxB,2EAA4E;AAApE,mJAAA,OAAO,OAAwB;AACvC,+CAAmD;AAA3C,0HAAA,OAAO,OAAa;AAG5B,6CAA0B;AAC1B,oDAAoC;AAGpC,mDAAgC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class KeyValuePair {
4
+ get value() {
5
+ return this._value;
6
+ }
7
+ get key() {
8
+ return this._key;
9
+ }
10
+ constructor(key, value) {
11
+ this._key = key;
12
+ this._value = value;
13
+ }
14
+ }
15
+ exports.default = KeyValuePair;
16
+ //# sourceMappingURL=key-value-pair.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-value-pair.js","sourceRoot":"","sources":["../../src/key-value-pair.ts"],"names":[],"mappings":";;AAMA,MAAqB,YAAY;IAC7B,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAKD,YAAY,GAAS,EAAE,KAAa;QAChC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;CAGJ;AAlBD,+BAkBC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class Lazy {
4
+ constructor(getter) {
5
+ this._valueCreated = false;
6
+ this._value = null;
7
+ this._factoryMethod = getter;
8
+ }
9
+ get valueCreated() {
10
+ return this._valueCreated;
11
+ }
12
+ get value() {
13
+ if (!this._valueCreated) {
14
+ this._value = this._factoryMethod();
15
+ this._valueCreated = true;
16
+ }
17
+ return this._value;
18
+ }
19
+ reset() {
20
+ this._valueCreated = false;
21
+ this._value = null;
22
+ }
23
+ }
24
+ exports.default = Lazy;
25
+ //# sourceMappingURL=lazy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lazy.js","sourceRoot":"","sources":["../../src/lazy.ts"],"names":[],"mappings":";;AAOA,MAAqB,IAAI;IAKrB,YAAY,MAAmB;QAJvB,kBAAa,GAAG,KAAK,CAAC;QACtB,WAAM,GAAgB,IAAI,CAAC;QAI/B,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;IACjC,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED,IAAW,KAAK;QACZ,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACpC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC9B,CAAC;QACD,OAAO,IAAI,CAAC,MAAW,CAAC;IAC5B,CAAC;IAED,KAAK;QACD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACvB,CAAC;CACJ;AAzBD,uBAyBC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.lerp = lerp;
4
+ exports.clamp = clamp;
5
+ function lerp(n, inMin, inMax, outMin, outMax) {
6
+ return outMin + (outMax - outMin) * ((n - inMin) / (inMax - inMin));
7
+ }
8
+ function clamp(n, min, max) {
9
+ if (n <= min)
10
+ return min;
11
+ if (n >= max)
12
+ return max;
13
+ return n;
14
+ }
15
+ //# sourceMappingURL=math.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"math.js","sourceRoot":"","sources":["../../src/math.ts"],"names":[],"mappings":";;AAWA,oBAEC;AAUD,sBAMC;AAlBD,SAAgB,IAAI,CAAC,CAAS,EAAE,KAAa,EAAE,KAAa,EAAE,MAAc,EAAE,MAAc;IACxF,OAAO,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAA;AACvE,CAAC;AAUD,SAAgB,KAAK,CAAC,CAAS,EAAE,GAAW,EAAE,GAAW;IACrD,IAAI,CAAC,IAAI,GAAG;QACR,OAAO,GAAG,CAAC;IACf,IAAI,CAAC,IAAI,GAAG;QACR,OAAO,GAAG,CAAC;IACf,OAAO,CAAC,CAAA;AACZ,CAAC"}