@rimbu/common 0.12.3 → 1.0.0-alpha.1

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 (139) hide show
  1. package/README.md +21 -4
  2. package/{src/async-optlazy.ts → dist/bun/async-optlazy.mts} +1 -1
  3. package/{src/async-reducer.ts → dist/bun/async-reducer.mts} +17 -8
  4. package/{src/collect.ts → dist/bun/collect.mts} +1 -1
  5. package/{src/comp.ts → dist/bun/comp.mts} +1 -1
  6. package/{src/index-range.ts → dist/bun/index-range.mts} +1 -1
  7. package/{src/index.ts → dist/bun/index.mts} +1 -1
  8. package/dist/bun/internal.mts +13 -0
  9. package/{src/reducer.ts → dist/bun/reducer.mts} +5 -3
  10. package/dist/cjs/async-optlazy.js +44 -0
  11. package/dist/cjs/async-reducer.js +1621 -0
  12. package/dist/cjs/collect.js +33 -0
  13. package/dist/cjs/comp.js +1621 -0
  14. package/dist/cjs/eq.js +210 -0
  15. package/dist/cjs/err.js +55 -0
  16. package/dist/cjs/index-range.js +114 -0
  17. package/dist/cjs/index.js +1685 -0
  18. package/dist/cjs/internal.js +1685 -0
  19. package/dist/cjs/optlazy.js +41 -0
  20. package/dist/cjs/range.js +52 -0
  21. package/dist/cjs/reducer.js +1621 -0
  22. package/dist/cjs/traverse-state.js +49 -0
  23. package/dist/cjs/types.js +18 -0
  24. package/dist/cjs/update.js +35 -0
  25. package/dist/{module/async-optlazy.js → esm/async-optlazy.mjs} +5 -8
  26. package/dist/esm/async-optlazy.mjs.map +1 -0
  27. package/dist/{module/async-reducer.js → esm/async-reducer.mjs} +67 -69
  28. package/dist/esm/async-reducer.mjs.map +1 -0
  29. package/dist/{module/collect.js → esm/collect.mjs} +1 -1
  30. package/dist/esm/collect.mjs.map +1 -0
  31. package/dist/{module/comp.js → esm/comp.mjs} +2 -2
  32. package/dist/esm/comp.mjs.map +1 -0
  33. package/dist/{module/eq.js → esm/eq.mjs} +1 -1
  34. package/dist/esm/eq.mjs.map +1 -0
  35. package/dist/{module/err.js → esm/err.mjs} +1 -1
  36. package/dist/esm/err.mjs.map +1 -0
  37. package/dist/{module/index-range.js → esm/index-range.mjs} +2 -3
  38. package/dist/esm/index-range.mjs.map +1 -0
  39. package/dist/esm/index.mjs +7 -0
  40. package/dist/esm/index.mjs.map +1 -0
  41. package/dist/esm/internal.mjs +14 -0
  42. package/dist/esm/internal.mjs.map +1 -0
  43. package/dist/{module/optlazy.js → esm/optlazy.mjs} +1 -1
  44. package/dist/esm/optlazy.mjs.map +1 -0
  45. package/dist/{module/range.js → esm/range.mjs} +1 -1
  46. package/dist/esm/range.mjs.map +1 -0
  47. package/dist/{module/reducer.js → esm/reducer.mjs} +10 -8
  48. package/dist/esm/reducer.mjs.map +1 -0
  49. package/dist/{module/traverse-state.js → esm/traverse-state.mjs} +1 -1
  50. package/dist/esm/traverse-state.mjs.map +1 -0
  51. package/dist/esm/types.mjs +2 -0
  52. package/dist/esm/types.mjs.map +1 -0
  53. package/dist/{module/update.js → esm/update.mjs} +1 -1
  54. package/dist/esm/update.mjs.map +1 -0
  55. package/dist/types/{async-optlazy.d.ts → async-optlazy.d.mts} +1 -1
  56. package/dist/types/{async-reducer.d.ts → async-reducer.d.mts} +2 -2
  57. package/dist/types/{collect.d.ts → collect.d.mts} +1 -1
  58. package/dist/types/{comp.d.ts → comp.d.mts} +1 -1
  59. package/dist/types/{index-range.d.ts → index-range.d.mts} +1 -1
  60. package/dist/types/{index.d.ts → index.d.mts} +1 -1
  61. package/dist/types/internal.d.mts +13 -0
  62. package/dist/types/{reducer.d.ts → reducer.d.mts} +1 -1
  63. package/package.json +27 -21
  64. package/src/async-optlazy.mts +49 -0
  65. package/src/async-reducer.mts +1157 -0
  66. package/src/collect.mts +43 -0
  67. package/src/comp.mts +625 -0
  68. package/src/eq.mts +406 -0
  69. package/src/err.mts +43 -0
  70. package/src/index-range.mts +120 -0
  71. package/{dist/module/index.js → src/index.mts} +2 -2
  72. package/src/internal.mts +13 -0
  73. package/{dist/main/optlazy.js → src/optlazy.mts} +24 -14
  74. package/src/range.mts +58 -0
  75. package/src/reducer.mts +1025 -0
  76. package/src/traverse-state.mts +59 -0
  77. package/src/types.mts +40 -0
  78. package/{dist/main/update.js → src/update.mts} +10 -10
  79. package/dist/main/async-optlazy.js +0 -48
  80. package/dist/main/async-optlazy.js.map +0 -1
  81. package/dist/main/async-reducer.js +0 -872
  82. package/dist/main/async-reducer.js.map +0 -1
  83. package/dist/main/collect.js +0 -11
  84. package/dist/main/collect.js.map +0 -1
  85. package/dist/main/comp.js +0 -542
  86. package/dist/main/comp.js.map +0 -1
  87. package/dist/main/eq.js +0 -382
  88. package/dist/main/eq.js.map +0 -1
  89. package/dist/main/err.js +0 -62
  90. package/dist/main/err.js.map +0 -1
  91. package/dist/main/index-range.js +0 -110
  92. package/dist/main/index-range.js.map +0 -1
  93. package/dist/main/index.js +0 -10
  94. package/dist/main/index.js.map +0 -1
  95. package/dist/main/internal.js +0 -17
  96. package/dist/main/internal.js.map +0 -1
  97. package/dist/main/optlazy.js.map +0 -1
  98. package/dist/main/range.js +0 -38
  99. package/dist/main/range.js.map +0 -1
  100. package/dist/main/reducer.js +0 -694
  101. package/dist/main/reducer.js.map +0 -1
  102. package/dist/main/traverse-state.js +0 -33
  103. package/dist/main/traverse-state.js.map +0 -1
  104. package/dist/main/types.js +0 -3
  105. package/dist/main/types.js.map +0 -1
  106. package/dist/main/update.js.map +0 -1
  107. package/dist/module/async-optlazy.js.map +0 -1
  108. package/dist/module/async-reducer.js.map +0 -1
  109. package/dist/module/collect.js.map +0 -1
  110. package/dist/module/comp.js.map +0 -1
  111. package/dist/module/eq.js.map +0 -1
  112. package/dist/module/err.js.map +0 -1
  113. package/dist/module/index-range.js.map +0 -1
  114. package/dist/module/index.js.map +0 -1
  115. package/dist/module/internal.js +0 -14
  116. package/dist/module/internal.js.map +0 -1
  117. package/dist/module/optlazy.js.map +0 -1
  118. package/dist/module/range.js.map +0 -1
  119. package/dist/module/reducer.js.map +0 -1
  120. package/dist/module/traverse-state.js.map +0 -1
  121. package/dist/module/types.js +0 -2
  122. package/dist/module/types.js.map +0 -1
  123. package/dist/module/update.js.map +0 -1
  124. package/dist/types/internal.d.ts +0 -13
  125. package/src/internal.ts +0 -13
  126. /package/{src/eq.ts → dist/bun/eq.mts} +0 -0
  127. /package/{src/err.ts → dist/bun/err.mts} +0 -0
  128. /package/{src/optlazy.ts → dist/bun/optlazy.mts} +0 -0
  129. /package/{src/range.ts → dist/bun/range.mts} +0 -0
  130. /package/{src/traverse-state.ts → dist/bun/traverse-state.mts} +0 -0
  131. /package/{src/types.ts → dist/bun/types.mts} +0 -0
  132. /package/{src/update.ts → dist/bun/update.mts} +0 -0
  133. /package/dist/types/{eq.d.ts → eq.d.mts} +0 -0
  134. /package/dist/types/{err.d.ts → err.d.mts} +0 -0
  135. /package/dist/types/{optlazy.d.ts → optlazy.d.mts} +0 -0
  136. /package/dist/types/{range.d.ts → range.d.mts} +0 -0
  137. /package/dist/types/{traverse-state.d.ts → traverse-state.d.mts} +0 -0
  138. /package/dist/types/{types.d.ts → types.d.mts} +0 -0
  139. /package/dist/types/{update.d.ts → update.d.mts} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"async-reducer.js","sourceRoot":"","sources":["../../src/async-reducer.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CollectFun = void 0;
4
- var CollectFun;
5
- (function (CollectFun) {
6
- /**
7
- * Indicates, when returned from a collect function, to skip the value.
8
- */
9
- CollectFun.Skip = Symbol('Skip');
10
- })(CollectFun = exports.CollectFun || (exports.CollectFun = {}));
11
- //# sourceMappingURL=collect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"collect.js","sourceRoot":"","sources":["../../src/collect.ts"],"names":[],"mappings":";;;AAiBA,IAAiB,UAAU,CAU1B;AAVD,WAAiB,UAAU;IACzB;;OAEG;IACU,eAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAMrC,CAAC,EAVgB,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAU1B"}
package/dist/main/comp.js DELETED
@@ -1,542 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Comp = void 0;
4
- var tslib_1 = require("tslib");
5
- var internal_1 = require("./internal");
6
- var Comp;
7
- (function (Comp) {
8
- var _anyFlatComp = createAnyComp('FLAT');
9
- var _anyShallowComp = createAnyComp('SHALLOW');
10
- var _anyDeepComp = createAnyComp('DEEP');
11
- /**
12
- * Returns the default Comp instance, which is the Comp.anyDeepComp() instance.
13
- */
14
- function defaultComp() {
15
- return _anyDeepComp;
16
- }
17
- Comp.defaultComp = defaultComp;
18
- var _numberComp = {
19
- isComparable: function (obj) {
20
- return typeof obj === 'number';
21
- },
22
- compare: function (v1, v2) {
23
- if (Number.isFinite(v1) && Number.isFinite(v2)) {
24
- return v1 - v2;
25
- }
26
- if (Number.isNaN(v1)) {
27
- if (Number.isNaN(v2))
28
- return 0;
29
- if (v2 === Number.POSITIVE_INFINITY)
30
- return 1;
31
- if (v2 === Number.NEGATIVE_INFINITY)
32
- return -1;
33
- return -1;
34
- }
35
- // only infinities remain
36
- if (v1 === Number.POSITIVE_INFINITY) {
37
- return v2 === Number.POSITIVE_INFINITY ? 0 : 1;
38
- }
39
- // v1 === Number.NEGATIVE_INFINITY
40
- return v2 === Number.NEGATIVE_INFINITY ? 0 : -1;
41
- },
42
- };
43
- /**
44
- * Returns a default number Comp instance that orders numbers naturally.
45
- * @example
46
- * ```ts
47
- * const c = Comp.numberComp();
48
- * console.log(c.compare(3, 5))
49
- * // => -2
50
- * ```
51
- */
52
- function numberComp() {
53
- return _numberComp;
54
- }
55
- Comp.numberComp = numberComp;
56
- var _booleanComp = {
57
- isComparable: function (obj) {
58
- return typeof obj === 'boolean';
59
- },
60
- compare: function (v1, v2) {
61
- return v1 === v2 ? 0 : v1 ? 1 : -1;
62
- },
63
- };
64
- /**
65
- * Returns a default boolean Comp instance that orders booleans according to false < true.
66
- * @example
67
- * ```ts
68
- * const c = Comp.booleanComp();
69
- * console.log(c.compare(false, true) < 0)
70
- * // => true
71
- * console.log(c.compare(true, true))
72
- * // => 0
73
- * ```
74
- */
75
- function booleanComp() {
76
- return _booleanComp;
77
- }
78
- Comp.booleanComp = booleanComp;
79
- var _bigIntComp = {
80
- isComparable: function (obj) {
81
- return typeof obj === 'bigint';
82
- },
83
- compare: function (v1, v2) {
84
- var res = v1 - v2;
85
- if (res > 0)
86
- return 1;
87
- if (res < 0)
88
- return -1;
89
- return 0;
90
- },
91
- };
92
- /**
93
- * Returns a default bigint Comp instance that orders bigint numbers naturally.
94
- */
95
- function bigIntComp() {
96
- return _bigIntComp;
97
- }
98
- Comp.bigIntComp = bigIntComp;
99
- var _defaultCollator = Intl.Collator('und');
100
- var _stringComp = {
101
- isComparable: function (obj) {
102
- return typeof obj === 'string';
103
- },
104
- compare: _defaultCollator.compare,
105
- };
106
- var _anyStringJSONComp = {
107
- isComparable: function (obj) {
108
- return true;
109
- },
110
- compare: function (v1, v2) {
111
- return _defaultCollator.compare(JSON.stringify(v1), JSON.stringify(v2));
112
- },
113
- };
114
- /**
115
- * Returns a Comp instance converts values to string with JSON.stringify, and orders the resulting string naturally.
116
- */
117
- function anyStringJSONComp() {
118
- return _anyStringJSONComp;
119
- }
120
- Comp.anyStringJSONComp = anyStringJSONComp;
121
- /**
122
- * Returns a `Comp` instance that compares strings based on the string's `localeCompare` method.
123
- * @param locales - (optional) a locale or list of locales
124
- * @param options - (optional) see String.localeCompare for details
125
- */
126
- function stringComp() {
127
- var args = [];
128
- for (var _i = 0; _i < arguments.length; _i++) {
129
- args[_i] = arguments[_i];
130
- }
131
- if (args.length === 0)
132
- return _stringComp;
133
- var collator = Intl.Collator.apply(Intl, tslib_1.__spreadArray([], tslib_1.__read(args), false));
134
- return {
135
- isComparable: function (obj) {
136
- return typeof obj === 'string';
137
- },
138
- compare: collator.compare,
139
- };
140
- }
141
- Comp.stringComp = stringComp;
142
- /**
143
- * Returns a `Comp` instance that compares strings in a case-insensitive way.
144
- */
145
- function stringCaseInsensitiveComp() {
146
- return stringComp('und', { sensitivity: 'accent' });
147
- }
148
- Comp.stringCaseInsensitiveComp = stringCaseInsensitiveComp;
149
- var _stringCharCodeComp = {
150
- isComparable: function (obj) {
151
- return typeof obj === 'string';
152
- },
153
- compare: function (v1, v2) {
154
- var len = Math.min(v1.length, v2.length);
155
- var i = -1;
156
- while (++i < len) {
157
- var diff = v1.charCodeAt(i) - v2.charCodeAt(i);
158
- if (diff !== 0)
159
- return diff;
160
- }
161
- return v1.length - v2.length;
162
- },
163
- };
164
- /**
165
- * Returns a string Comp instance that orders strings according to their indexed char codes.
166
- */
167
- function stringCharCodeComp() {
168
- return _stringCharCodeComp;
169
- }
170
- Comp.stringCharCodeComp = stringCharCodeComp;
171
- var _anyToStringComp = {
172
- isComparable: function (obj) {
173
- return true;
174
- },
175
- compare: function (v1, v2) {
176
- return _defaultCollator.compare(internal_1.Eq.convertAnyToString(v1), internal_1.Eq.convertAnyToString(v2));
177
- },
178
- };
179
- /**
180
- * Returns a any Comp instance that orders any according to their toString values.
181
- */
182
- function anyToStringComp() {
183
- return _anyToStringComp;
184
- }
185
- Comp.anyToStringComp = anyToStringComp;
186
- /**
187
- * Returns a Comp instance that orders objects with a `valueOf` method according to the given `valueComp` instance for the valueOf values.
188
- * @param cls - the constructor of the values the Comp instance can compare
189
- * @param valueComp - (optional) the Comp instance to use on the .valueOf values
190
- */
191
- function createValueOfComp(cls, valueComp) {
192
- if (valueComp === void 0) { valueComp = anyShallowComp(); }
193
- return {
194
- isComparable: function (obj) {
195
- return obj instanceof cls;
196
- },
197
- compare: function (v1, v2) {
198
- return valueComp.compare(v1.valueOf(), v2.valueOf());
199
- },
200
- };
201
- }
202
- Comp.createValueOfComp = createValueOfComp;
203
- var _DateComp = createValueOfComp(Date, _numberComp);
204
- /**
205
- * Returns a Date Comp instance that orders Dates according to their `.valueOf` value.
206
- */
207
- function dateComp() {
208
- return _DateComp;
209
- }
210
- Comp.dateComp = dateComp;
211
- function createIterableComp(itemComp) {
212
- return {
213
- isComparable: function (obj) {
214
- // unfortunately we cannot check element compatability
215
- return (typeof obj === 'object' && obj !== null && Symbol.iterator in obj);
216
- },
217
- compare: function (v1, v2) {
218
- var iter1 = v1[Symbol.iterator]();
219
- var iter2 = v2[Symbol.iterator]();
220
- while (true) {
221
- var value1 = iter1.next();
222
- var value2 = iter2.next();
223
- if (value1.done)
224
- return value2.done ? 0 : -1;
225
- if (value2.done)
226
- return 1;
227
- var result = itemComp.compare(value1.value, value2.value);
228
- if (result !== 0)
229
- return result;
230
- }
231
- },
232
- };
233
- }
234
- var _iterableAnyComp = createIterableComp(Comp.defaultComp());
235
- /**
236
- * Returns a Comp instance for Iterable objects that orders the Iterables by comparing the elements with the given `itemComp` Comp instance.
237
- * @param itemComp - (optional) the Comp instance to use to compare the Iterable's elements.
238
- * @example
239
- * ```ts
240
- * const c = Comp.iterableComp();
241
- * console.log(c.compare([1, 3, 2], [1, 3, 2]))
242
- * // => 0
243
- * console.log(c.compare([1, 2, 3, 4], [1, 3, 2]) < 0)
244
- * // => true
245
- * ```
246
- */
247
- function iterableComp(itemComp) {
248
- if (undefined === itemComp)
249
- return _iterableAnyComp;
250
- return createIterableComp(itemComp);
251
- }
252
- Comp.iterableComp = iterableComp;
253
- var _BooleanComp = createValueOfComp(Boolean, _booleanComp);
254
- var _NumberComp = createValueOfComp(Number, _numberComp);
255
- var _StringComp = createValueOfComp(String, _stringComp);
256
- var _wrappedComps = [
257
- _BooleanComp,
258
- _DateComp,
259
- _NumberComp,
260
- _StringComp,
261
- ];
262
- function tryWrappedComp(v1, v2) {
263
- var i = -1;
264
- var len = _wrappedComps.length;
265
- while (++i < len) {
266
- var comp = _wrappedComps[i];
267
- if (comp.isComparable(v1) && comp.isComparable(v2)) {
268
- return comp.compare(v1, v2);
269
- }
270
- }
271
- return undefined;
272
- }
273
- function createObjectComp(keyComp, valueComp) {
274
- if (keyComp === void 0) { keyComp = anyFlatComp(); }
275
- if (valueComp === void 0) { valueComp = defaultComp(); }
276
- return {
277
- isComparable: function (obj) {
278
- return true;
279
- },
280
- compare: function (v1, v2) {
281
- var keys1 = Object.keys(v1);
282
- var keys2 = Object.keys(v2);
283
- if (keys1.length === 0) {
284
- return keys2.length === 0 ? 0 : -1;
285
- }
286
- if (keys2.length === 0) {
287
- return keys1.length === 0 ? 0 : 1;
288
- }
289
- keys1.sort(keyComp.compare);
290
- keys2.sort(keyComp.compare);
291
- var length = Math.min(keys1.length, keys2.length);
292
- for (var index = 0; index < length; index++) {
293
- var key1 = keys1[index];
294
- var key2 = keys2[index];
295
- var keyResult = keyComp.compare(key1, key2);
296
- if (keyResult !== 0)
297
- return keyResult;
298
- var value1 = v1[key1];
299
- var value2 = v2[key2];
300
- var valueResult = valueComp.compare(value1, value2);
301
- if (valueResult !== 0)
302
- return valueResult;
303
- }
304
- var keyDiff = keys1.length - keys2.length;
305
- return keyDiff;
306
- },
307
- };
308
- }
309
- var _objectAnyComp = createObjectComp();
310
- /**
311
- * Returns a Comp instance for objects that orders the object keys according to the given `keyComp`, and then compares the corresponding
312
- * values using the given `valueComp`. Objects are then compared as follows:<br/>
313
- * starting with the smallest key of either object:<br/>
314
- * - if only one of the objects has the key, the object with the key is considered to be larger than the other<br/>
315
- * - if both objects have the key, the values are compared with `valueComp`. If the values are not equal, this result is returned.<br/>
316
- *
317
- * if the objects have the same keys with the same values, they are considered equal<br/>
318
- * @param keyComp - (optional) the Comp instance used to order the object keys
319
- * @param valueComp - (optional) the Comp instance used to order the object values
320
- * @example
321
- * ```ts
322
- * const c = Comp.objectComp();
323
- * console.log(c.compare({ a: 1 }, { a: 1 }))
324
- * // => 0
325
- * console.log(c.compare({ a: 1 }, { a: 2 }) < 0)
326
- * // => true
327
- * console.log(c.compare({ b: 5 }, { a: 2 }) < 0)
328
- * // => true
329
- * console.log(c.compare({ a: 1, b: 2 }, { b: 5 }) < 0)
330
- * // => true
331
- * console.log(c.compare({ a: 1, b: 2 }, { b: 2, a: 1 }))
332
- * // => 0
333
- * ```
334
- */
335
- function objectComp(options) {
336
- if (undefined === options)
337
- return _objectAnyComp;
338
- return createObjectComp(options.keyComp, options.valueComp);
339
- }
340
- Comp.objectComp = objectComp;
341
- function createAnyComp(mode) {
342
- return {
343
- isComparable: function (obj) {
344
- return true;
345
- },
346
- compare: function (v1, v2) {
347
- if (Object.is(v1, v2))
348
- return 0;
349
- var type1 = typeof v1;
350
- var type2 = typeof v2;
351
- if (type1 !== type2) {
352
- // we can only compare different types though strings
353
- return _anyToStringComp.compare(v1, v2);
354
- }
355
- switch (type1) {
356
- case 'bigint':
357
- return _bigIntComp.compare(v1, v2);
358
- case 'boolean':
359
- return _booleanComp.compare(v1, v2);
360
- case 'number':
361
- return _numberComp.compare(v1, v2);
362
- case 'string':
363
- return _stringComp.compare(v1, v2);
364
- case 'object': {
365
- if (null === v1) {
366
- if (null === v2)
367
- return 0;
368
- return -1;
369
- }
370
- if (null === v2) {
371
- return 1;
372
- }
373
- var wrappedComp = tryWrappedComp(v1, v2);
374
- if (undefined !== wrappedComp)
375
- return wrappedComp;
376
- if (mode !== 'FLAT') {
377
- if (_iterableAnyComp.isComparable(v1) &&
378
- _iterableAnyComp.isComparable(v2)) {
379
- if (mode === 'SHALLOW') {
380
- return iterableComp(_anyFlatComp).compare(v1, v2);
381
- }
382
- return iterableComp(this).compare(v1, v2);
383
- }
384
- if (mode === 'SHALLOW') {
385
- return createObjectComp(_anyFlatComp, _anyFlatComp).compare(v1, v2);
386
- }
387
- return _objectAnyComp.compare(v1, v2);
388
- }
389
- }
390
- }
391
- return _anyToStringComp.compare(v1, v2);
392
- },
393
- };
394
- }
395
- /**
396
- * Returns a Comp instance that compares any value using default comparison functions, but never recursively compares
397
- * Iterables or objects. In those cases, it will use the stringComp instance.
398
- * @example
399
- * ```ts
400
- * const c = Comp.anyFlatComp();
401
- * console.log(c.compare({ a: 1, b: 1 }, { b: 1, a: 1 }) < 0)
402
- * // => true
403
- * // First object is smaller because the objects are converted to a string with and then compares the resulting string.
404
- * ```
405
- */
406
- function anyFlatComp() {
407
- return _anyFlatComp;
408
- }
409
- Comp.anyFlatComp = anyFlatComp;
410
- /**
411
- * Returns a Comp instance that compares any value using default comparison functions. For Iterables and objects, their elements are compared
412
- * only one level deep for performance and to avoid infinite recursion.
413
- * @example
414
- * ```ts
415
- * const c = Comp.anyShallowComp();
416
- * console.log(c.compare({ a: 1, b: 1 }, { b: 1, a: 1 }))
417
- * // => 0
418
- * console.log(c.compare([{ a: 1, b: 1 }], [{ b: 1, a: 1 }]) < 0)
419
- * // => true
420
- * // First object is smaller because the objects are converted to a string and then compares the resulting string.
421
- * ```
422
- */
423
- function anyShallowComp() {
424
- return _anyShallowComp;
425
- }
426
- Comp.anyShallowComp = anyShallowComp;
427
- /**
428
- * Returns a Comp instance that compares any value using default comparison functions. For Iterables and objects, their elements are compared
429
- * recursively.
430
- * @note can become slow with large nested arrays and objects, and circular structures can cause infinite loops
431
- * @example
432
- * ```ts
433
- * const c = Comp.anyDeepComp();
434
- * console.log(c.compare({ a: 1, b: 1 }, { b: 1, a: 1 }))
435
- * // => 0
436
- * console.log(c.compare([{ a: 1, b: 1 }], [{ b: 1, a: 1 }]))
437
- * // => 0
438
- * ```
439
- */
440
- function anyDeepComp() {
441
- return _anyDeepComp;
442
- }
443
- Comp.anyDeepComp = anyDeepComp;
444
- /**
445
- * Returns a Comp instance that extends the given `comp` instance with the capability to handle `undefined` values, where undefined is considered to be smaller
446
- * than any other value, and equal to another undefined.
447
- * @param comp - the Comp instance to wrap
448
- * @example
449
- * ```ts
450
- * const c = Comp.withUndefined(Comp.numberComp())
451
- * console.log(c.compare(undefined, 5) < 0)
452
- * // => true
453
- * console.log(c.compare(undefined, undefined))
454
- * // => 0
455
- * ```
456
- */
457
- function withUndefined(comp) {
458
- return {
459
- isComparable: function (obj) {
460
- return undefined === obj || comp.isComparable(obj);
461
- },
462
- compare: function (v1, v2) {
463
- if (undefined === v1) {
464
- if (undefined === v2)
465
- return 0;
466
- return -1;
467
- }
468
- if (undefined === v2)
469
- return 1;
470
- return comp.compare(v1, v2);
471
- },
472
- };
473
- }
474
- Comp.withUndefined = withUndefined;
475
- /**
476
- * Returns a Comp instance that extends the given `comp` instance with the capability to handle `null` values, where null is considered to be smaller
477
- * than any other value, and equal to another null.
478
- * @param comp - the Comp instance to wrap
479
- * @example
480
- * ```ts
481
- * const c = Comp.withNull(Comp.numberComp())
482
- * console.log(c.compare(null, 5) < 0)
483
- * // => true
484
- * console.log(c.compare(null, null))
485
- * // => 0
486
- * ```
487
- */
488
- function withNull(comp) {
489
- return {
490
- isComparable: function (obj) {
491
- return null === obj || comp.isComparable(obj);
492
- },
493
- compare: function (v1, v2) {
494
- if (null === v1) {
495
- if (null === v2)
496
- return 0;
497
- return -1;
498
- }
499
- if (null === v2)
500
- return 1;
501
- return comp.compare(v1, v2);
502
- },
503
- };
504
- }
505
- Comp.withNull = withNull;
506
- /**
507
- * Returns a Comp instance the reverses the order of the given `comp` instance.
508
- * @param comp - the Comp instance to wrap
509
- * @example
510
- * ```ts
511
- * const c = Comp.invert(Comp.numberComp())
512
- * console.log(c.compare(3, 5) > 0)
513
- * // => true
514
- * console.log(c.compare(5, 5))
515
- * // => 0
516
- * ```
517
- */
518
- function invert(comp) {
519
- return {
520
- compare: function (v1, v2) {
521
- return comp.compare(v2, v1);
522
- },
523
- isComparable: comp.isComparable,
524
- };
525
- }
526
- Comp.invert = invert;
527
- /**
528
- * Returns an `Eq` equality instance thet will return true when the given `comp` comparable instance returns 0.
529
- * @param comp - the `Comp` comparable instance to convert
530
- * @example
531
- * ```ts
532
- * const eq = Comp.toEq(Comp.objectComp())
533
- * console.log(eq({ a: 1, b: 2 }, { b: 2, a: 1 }))
534
- * // => true
535
- * ```
536
- */
537
- function toEq(comp) {
538
- return function (v1, v2) { return comp.compare(v1, v2) === 0; };
539
- }
540
- Comp.toEq = toEq;
541
- })(Comp = exports.Comp || (exports.Comp = {}));
542
- //# sourceMappingURL=comp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"comp.js","sourceRoot":"","sources":["../../src/comp.ts"],"names":[],"mappings":"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"}