@rimbu/common 0.12.3 → 1.0.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -4
- package/{src/async-optlazy.ts → dist/bun/async-optlazy.mts} +1 -1
- package/{src/async-reducer.ts → dist/bun/async-reducer.mts} +17 -8
- package/{src/collect.ts → dist/bun/collect.mts} +1 -1
- package/{src/comp.ts → dist/bun/comp.mts} +1 -1
- package/{src/index-range.ts → dist/bun/index-range.mts} +1 -1
- package/{src/index.ts → dist/bun/index.mts} +1 -1
- package/dist/bun/internal.mts +13 -0
- package/{src/reducer.ts → dist/bun/reducer.mts} +5 -3
- package/dist/cjs/async-optlazy.cjs +44 -0
- package/dist/cjs/async-reducer.cjs +1621 -0
- package/dist/cjs/collect.cjs +33 -0
- package/dist/cjs/comp.cjs +1621 -0
- package/dist/cjs/eq.cjs +210 -0
- package/dist/cjs/err.cjs +55 -0
- package/dist/cjs/index-range.cjs +114 -0
- package/dist/cjs/index.cjs +1685 -0
- package/dist/cjs/internal.cjs +1685 -0
- package/dist/cjs/optlazy.cjs +41 -0
- package/dist/cjs/range.cjs +52 -0
- package/dist/cjs/reducer.cjs +1621 -0
- package/dist/cjs/traverse-state.cjs +49 -0
- package/dist/cjs/types.cjs +18 -0
- package/dist/cjs/update.cjs +35 -0
- package/dist/{module/async-optlazy.js → esm/async-optlazy.mjs} +5 -8
- package/dist/esm/async-optlazy.mjs.map +1 -0
- package/dist/{module/async-reducer.js → esm/async-reducer.mjs} +67 -69
- package/dist/esm/async-reducer.mjs.map +1 -0
- package/dist/{module/collect.js → esm/collect.mjs} +1 -1
- package/dist/esm/collect.mjs.map +1 -0
- package/dist/{module/comp.js → esm/comp.mjs} +2 -2
- package/dist/esm/comp.mjs.map +1 -0
- package/dist/{module/eq.js → esm/eq.mjs} +1 -1
- package/dist/esm/eq.mjs.map +1 -0
- package/dist/{module/err.js → esm/err.mjs} +1 -1
- package/dist/esm/err.mjs.map +1 -0
- package/dist/{module/index-range.js → esm/index-range.mjs} +2 -3
- package/dist/esm/index-range.mjs.map +1 -0
- package/dist/esm/index.mjs +7 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/internal.mjs +14 -0
- package/dist/esm/internal.mjs.map +1 -0
- package/dist/{module/optlazy.js → esm/optlazy.mjs} +1 -1
- package/dist/esm/optlazy.mjs.map +1 -0
- package/dist/{module/range.js → esm/range.mjs} +1 -1
- package/dist/esm/range.mjs.map +1 -0
- package/dist/{module/reducer.js → esm/reducer.mjs} +10 -8
- package/dist/esm/reducer.mjs.map +1 -0
- package/dist/{module/traverse-state.js → esm/traverse-state.mjs} +1 -1
- package/dist/esm/traverse-state.mjs.map +1 -0
- package/dist/esm/types.mjs +2 -0
- package/dist/esm/types.mjs.map +1 -0
- package/dist/{module/update.js → esm/update.mjs} +1 -1
- package/dist/esm/update.mjs.map +1 -0
- package/dist/types/{async-optlazy.d.ts → async-optlazy.d.mts} +1 -1
- package/dist/types/{async-reducer.d.ts → async-reducer.d.mts} +2 -2
- package/dist/types/{collect.d.ts → collect.d.mts} +1 -1
- package/dist/types/{comp.d.ts → comp.d.mts} +1 -1
- package/dist/types/{index-range.d.ts → index-range.d.mts} +1 -1
- package/dist/types/{index.d.ts → index.d.mts} +1 -1
- package/dist/types/internal.d.mts +13 -0
- package/dist/types/{reducer.d.ts → reducer.d.mts} +1 -1
- package/package.json +27 -21
- package/src/async-optlazy.mts +49 -0
- package/src/async-reducer.mts +1157 -0
- package/src/collect.mts +43 -0
- package/src/comp.mts +625 -0
- package/src/eq.mts +406 -0
- package/src/err.mts +43 -0
- package/src/index-range.mts +120 -0
- package/{dist/module/index.js → src/index.mts} +2 -2
- package/src/internal.mts +13 -0
- package/{dist/main/optlazy.js → src/optlazy.mts} +24 -14
- package/src/range.mts +58 -0
- package/src/reducer.mts +1025 -0
- package/src/traverse-state.mts +59 -0
- package/src/types.mts +40 -0
- package/{dist/main/update.js → src/update.mts} +10 -10
- package/dist/main/async-optlazy.js +0 -48
- package/dist/main/async-optlazy.js.map +0 -1
- package/dist/main/async-reducer.js +0 -872
- package/dist/main/async-reducer.js.map +0 -1
- package/dist/main/collect.js +0 -11
- package/dist/main/collect.js.map +0 -1
- package/dist/main/comp.js +0 -542
- package/dist/main/comp.js.map +0 -1
- package/dist/main/eq.js +0 -382
- package/dist/main/eq.js.map +0 -1
- package/dist/main/err.js +0 -62
- package/dist/main/err.js.map +0 -1
- package/dist/main/index-range.js +0 -110
- package/dist/main/index-range.js.map +0 -1
- package/dist/main/index.js +0 -10
- package/dist/main/index.js.map +0 -1
- package/dist/main/internal.js +0 -17
- package/dist/main/internal.js.map +0 -1
- package/dist/main/optlazy.js.map +0 -1
- package/dist/main/range.js +0 -38
- package/dist/main/range.js.map +0 -1
- package/dist/main/reducer.js +0 -694
- package/dist/main/reducer.js.map +0 -1
- package/dist/main/traverse-state.js +0 -33
- package/dist/main/traverse-state.js.map +0 -1
- package/dist/main/types.js +0 -3
- package/dist/main/types.js.map +0 -1
- package/dist/main/update.js.map +0 -1
- package/dist/module/async-optlazy.js.map +0 -1
- package/dist/module/async-reducer.js.map +0 -1
- package/dist/module/collect.js.map +0 -1
- package/dist/module/comp.js.map +0 -1
- package/dist/module/eq.js.map +0 -1
- package/dist/module/err.js.map +0 -1
- package/dist/module/index-range.js.map +0 -1
- package/dist/module/index.js.map +0 -1
- package/dist/module/internal.js +0 -14
- package/dist/module/internal.js.map +0 -1
- package/dist/module/optlazy.js.map +0 -1
- package/dist/module/range.js.map +0 -1
- package/dist/module/reducer.js.map +0 -1
- package/dist/module/traverse-state.js.map +0 -1
- package/dist/module/types.js +0 -2
- package/dist/module/types.js.map +0 -1
- package/dist/module/update.js.map +0 -1
- package/dist/types/internal.d.ts +0 -13
- package/src/internal.ts +0 -13
- /package/{src/eq.ts → dist/bun/eq.mts} +0 -0
- /package/{src/err.ts → dist/bun/err.mts} +0 -0
- /package/{src/optlazy.ts → dist/bun/optlazy.mts} +0 -0
- /package/{src/range.ts → dist/bun/range.mts} +0 -0
- /package/{src/traverse-state.ts → dist/bun/traverse-state.mts} +0 -0
- /package/{src/types.ts → dist/bun/types.mts} +0 -0
- /package/{src/update.ts → dist/bun/update.mts} +0 -0
- /package/dist/types/{eq.d.ts → eq.d.mts} +0 -0
- /package/dist/types/{err.d.ts → err.d.mts} +0 -0
- /package/dist/types/{optlazy.d.ts → optlazy.d.mts} +0 -0
- /package/dist/types/{range.d.ts → range.d.mts} +0 -0
- /package/dist/types/{traverse-state.d.ts → traverse-state.d.mts} +0 -0
- /package/dist/types/{types.d.ts → types.d.mts} +0 -0
- /package/dist/types/{update.d.ts → update.d.mts} +0 -0
package/dist/main/eq.js
DELETED
|
@@ -1,382 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Eq = void 0;
|
|
4
|
-
var tslib_1 = require("tslib");
|
|
5
|
-
var Eq;
|
|
6
|
-
(function (Eq) {
|
|
7
|
-
function convertAnyToString(value) {
|
|
8
|
-
if (typeof value !== 'object' ||
|
|
9
|
-
null === value ||
|
|
10
|
-
!('toString' in value) ||
|
|
11
|
-
typeof value.toString !== 'function' ||
|
|
12
|
-
value.toString !== Object.prototype.toString) {
|
|
13
|
-
return String(value);
|
|
14
|
-
}
|
|
15
|
-
return JSON.stringify(value);
|
|
16
|
-
}
|
|
17
|
-
Eq.convertAnyToString = convertAnyToString;
|
|
18
|
-
var _anyFlatEq = createAnyEq('FLAT');
|
|
19
|
-
var _anyShallowEq = createAnyEq('SHALLOW');
|
|
20
|
-
var _anyDeepEq = createAnyEq('DEEP');
|
|
21
|
-
/**
|
|
22
|
-
* Returns the default Eq instance, which is the Eq.anyDeepEq() instance.
|
|
23
|
-
*/
|
|
24
|
-
function defaultEq() {
|
|
25
|
-
return _anyDeepEq;
|
|
26
|
-
}
|
|
27
|
-
Eq.defaultEq = defaultEq;
|
|
28
|
-
/**
|
|
29
|
-
* An Eq instance that uses `Object.is` to determine if two objects are equal.
|
|
30
|
-
* @example
|
|
31
|
-
* ```ts
|
|
32
|
-
* const eq = Eq.objectIs
|
|
33
|
-
* console.log(eq(5, 5))
|
|
34
|
-
* // => true
|
|
35
|
-
* console.log(eq(5, 'a'))
|
|
36
|
-
* // => false
|
|
37
|
-
* ```
|
|
38
|
-
*/
|
|
39
|
-
Eq.objectIs = Object.is;
|
|
40
|
-
var _valueOfEq = function (v1, v2) {
|
|
41
|
-
return Object.is(v1.valueOf(), v2.valueOf());
|
|
42
|
-
};
|
|
43
|
-
/**
|
|
44
|
-
* Returns an Eq instance for objects that have a `valueOf` method. It returns true if the `.valueOf` values of both given objects are equal.
|
|
45
|
-
* @typeparam T - the object type containing a valueOf function of type V
|
|
46
|
-
* @typeparam V - the valueOf result type
|
|
47
|
-
* @example
|
|
48
|
-
* ```ts
|
|
49
|
-
* const eq = Eq.valueOfEq()
|
|
50
|
-
* console.log(eq(new Number(5), new Number(5)))
|
|
51
|
-
* // => true
|
|
52
|
-
* console.log(eq(new Number(5), new Number(3)))
|
|
53
|
-
* // => false
|
|
54
|
-
* ```
|
|
55
|
-
*/
|
|
56
|
-
function valueOfEq() {
|
|
57
|
-
return _valueOfEq;
|
|
58
|
-
}
|
|
59
|
-
Eq.valueOfEq = valueOfEq;
|
|
60
|
-
/**
|
|
61
|
-
* Returns an Eq instance that compares Date objects according to their `valueOf` value.
|
|
62
|
-
* @example
|
|
63
|
-
* ```ts
|
|
64
|
-
* const eq = Eq.dateEq()
|
|
65
|
-
* console.log(eq(new Date(2020, 1, 1), new Date(2020, 1, 1))
|
|
66
|
-
* // => true
|
|
67
|
-
* console.log(eq(new Date(2020, 1, 1), new Date(2020, 2, 1))
|
|
68
|
-
* // => false
|
|
69
|
-
* ```
|
|
70
|
-
*/
|
|
71
|
-
function dateEq() {
|
|
72
|
-
return _valueOfEq;
|
|
73
|
-
}
|
|
74
|
-
Eq.dateEq = dateEq;
|
|
75
|
-
function createIterableEq(itemEq) {
|
|
76
|
-
return function (v1, v2) {
|
|
77
|
-
if (Object.is(v1, v2))
|
|
78
|
-
return true;
|
|
79
|
-
var iter1 = v1[Symbol.iterator]();
|
|
80
|
-
var iter2 = v2[Symbol.iterator]();
|
|
81
|
-
while (true) {
|
|
82
|
-
var value1 = iter1.next();
|
|
83
|
-
var value2 = iter2.next();
|
|
84
|
-
if (value1.done || value2.done)
|
|
85
|
-
return value1.done === value2.done;
|
|
86
|
-
if (!itemEq(value1.value, value2.value))
|
|
87
|
-
return false;
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
var _iterableAnyEq = createIterableEq(defaultEq());
|
|
92
|
-
/**
|
|
93
|
-
* Returns an Eq instance that compares Iterables by comparing their elements with the given `itemEq` Eq instance.
|
|
94
|
-
* @typeparam T - the Iterable element type
|
|
95
|
-
* @param itemEq - (optional) the Eq instance to use to compare the Iterable's elements
|
|
96
|
-
* @example
|
|
97
|
-
* ```ts
|
|
98
|
-
* const eq = Eq.iterableEq();
|
|
99
|
-
* console.log(eq([1, 2, 3], [1, 2, 3])
|
|
100
|
-
* // => true
|
|
101
|
-
* console.log(eq([1, 2, 3], [1, 3, 2])
|
|
102
|
-
* // => false
|
|
103
|
-
* ```
|
|
104
|
-
*/
|
|
105
|
-
function iterableEq(itemEq) {
|
|
106
|
-
if (undefined === itemEq)
|
|
107
|
-
return _iterableAnyEq;
|
|
108
|
-
return createIterableEq(itemEq);
|
|
109
|
-
}
|
|
110
|
-
Eq.iterableEq = iterableEq;
|
|
111
|
-
function createObjectEq(valueEq) {
|
|
112
|
-
return function (v1, v2) {
|
|
113
|
-
if (Object.is(v1, v2))
|
|
114
|
-
return true;
|
|
115
|
-
if (v1.constructor !== v2.constructor)
|
|
116
|
-
return false;
|
|
117
|
-
for (var key in v1) {
|
|
118
|
-
if (!(key in v2))
|
|
119
|
-
return false;
|
|
120
|
-
}
|
|
121
|
-
for (var key in v2) {
|
|
122
|
-
if (!(key in v1))
|
|
123
|
-
return false;
|
|
124
|
-
}
|
|
125
|
-
for (var key in v1) {
|
|
126
|
-
var value1 = v1[key];
|
|
127
|
-
var value2 = v2[key];
|
|
128
|
-
if (!valueEq(value1, value2))
|
|
129
|
-
return false;
|
|
130
|
-
}
|
|
131
|
-
return true;
|
|
132
|
-
};
|
|
133
|
-
}
|
|
134
|
-
var _objectEq = createObjectEq(defaultEq());
|
|
135
|
-
/**
|
|
136
|
-
* Returns an Eq instance that checks equality of objects containing property values of type V by iteratively
|
|
137
|
-
* applying given `valueEq` to each of the object's property values.
|
|
138
|
-
* @typeparam - the object property value type
|
|
139
|
-
* @param valueEq - (optional) the Eq instance to use to compare property values
|
|
140
|
-
* @example
|
|
141
|
-
* ```ts
|
|
142
|
-
* const eq = Eq.objectEq()
|
|
143
|
-
* console.log(eq({ a: 1, b: { c: 2 }}, { b: { c: 2 }, a: 1 }))
|
|
144
|
-
* // => true
|
|
145
|
-
* console.log(eq({ a: 1, b: { c: 2 }}, { a: 1, b: { c: 3 }}))
|
|
146
|
-
* // => false
|
|
147
|
-
* ```
|
|
148
|
-
*/
|
|
149
|
-
function objectEq(valueEq) {
|
|
150
|
-
if (undefined === valueEq)
|
|
151
|
-
return _objectEq;
|
|
152
|
-
return createObjectEq(valueEq);
|
|
153
|
-
}
|
|
154
|
-
Eq.objectEq = objectEq;
|
|
155
|
-
function createAnyEq(mode) {
|
|
156
|
-
var result = function (v1, v2) {
|
|
157
|
-
if (Object.is(v1, v2))
|
|
158
|
-
return true;
|
|
159
|
-
var type1 = typeof v1;
|
|
160
|
-
var type2 = typeof v2;
|
|
161
|
-
if (type1 !== type2)
|
|
162
|
-
return false;
|
|
163
|
-
switch (type1) {
|
|
164
|
-
case 'undefined':
|
|
165
|
-
case 'bigint':
|
|
166
|
-
case 'boolean':
|
|
167
|
-
case 'number':
|
|
168
|
-
case 'string':
|
|
169
|
-
case 'symbol':
|
|
170
|
-
case 'function':
|
|
171
|
-
return Object.is(v1, v2);
|
|
172
|
-
case 'object': {
|
|
173
|
-
if (v1 === null || v2 === null)
|
|
174
|
-
return false;
|
|
175
|
-
if (v1.constructor !== v2.constructor) {
|
|
176
|
-
return false;
|
|
177
|
-
}
|
|
178
|
-
if (v1 instanceof Boolean ||
|
|
179
|
-
v1 instanceof Date ||
|
|
180
|
-
v1 instanceof Number ||
|
|
181
|
-
v1 instanceof String) {
|
|
182
|
-
return _valueOfEq(v1, v2);
|
|
183
|
-
}
|
|
184
|
-
if (mode !== 'FLAT') {
|
|
185
|
-
if (Symbol.iterator in v1 && Symbol.iterator in v2) {
|
|
186
|
-
if (mode === 'SHALLOW') {
|
|
187
|
-
return createIterableEq(_anyFlatEq)(v1, v2);
|
|
188
|
-
}
|
|
189
|
-
return createIterableEq(result)(v1, v2);
|
|
190
|
-
}
|
|
191
|
-
if (mode === 'SHALLOW') {
|
|
192
|
-
return createObjectEq(_anyFlatEq)(v1, v2);
|
|
193
|
-
}
|
|
194
|
-
return _objectEq(v1, v2);
|
|
195
|
-
}
|
|
196
|
-
// cannot establish that they are equal in flat mode
|
|
197
|
-
return false;
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
};
|
|
201
|
-
return result;
|
|
202
|
-
}
|
|
203
|
-
/**
|
|
204
|
-
* Returns an Eq instance that checks equality of any values. For composed values (objects and iterables)
|
|
205
|
-
* it will compare with Object.is.
|
|
206
|
-
* @typeparam T - the value type
|
|
207
|
-
* @example
|
|
208
|
-
* ```ts
|
|
209
|
-
* const eq = anyFlatEq()
|
|
210
|
-
* console.log(eq(1, 'a'))
|
|
211
|
-
* // => false
|
|
212
|
-
* console.log(eq({ a: 1, b: 2 }, { b: 2, a: 1 }))
|
|
213
|
-
* // => false
|
|
214
|
-
* ```
|
|
215
|
-
*/
|
|
216
|
-
function anyFlatEq() {
|
|
217
|
-
return _anyFlatEq;
|
|
218
|
-
}
|
|
219
|
-
Eq.anyFlatEq = anyFlatEq;
|
|
220
|
-
/**
|
|
221
|
-
* Returns an Eq instance that checks equality of any values. For composed values (objects and iterables)
|
|
222
|
-
* it will enter 1 level, and if again compound values are found, they are compared
|
|
223
|
-
* with Object.is.
|
|
224
|
-
* @typeparam T - the value type
|
|
225
|
-
* @example
|
|
226
|
-
* ```ts
|
|
227
|
-
* const eq = anyFlatEq()
|
|
228
|
-
* console.log(eq(1, 'a'))
|
|
229
|
-
* // => false
|
|
230
|
-
* console.log(eq({ a: 1, b: 2 }, { b: 2, a: 1 }))
|
|
231
|
-
* // => true
|
|
232
|
-
* console.log(eq([{ a: 1, b: 2 }], [{ b: 2, a: 1 }]))
|
|
233
|
-
* // => false
|
|
234
|
-
* ```
|
|
235
|
-
*/
|
|
236
|
-
function anyShallowEq() {
|
|
237
|
-
return _anyShallowEq;
|
|
238
|
-
}
|
|
239
|
-
Eq.anyShallowEq = anyShallowEq;
|
|
240
|
-
/**
|
|
241
|
-
* Returns an Eq instance that checks equality of any values. For composed values (objects and iterables)
|
|
242
|
-
* it will recursively compare the contained values.
|
|
243
|
-
* @note may have poor performance for deeply nested types and large arrays, and objects with circular structures
|
|
244
|
-
* may cause infinite loops
|
|
245
|
-
* @typeparam T - the value type
|
|
246
|
-
* @example
|
|
247
|
-
* ```ts
|
|
248
|
-
* const eq = anyFlatEq()
|
|
249
|
-
* console.log(eq(1, 'a'))
|
|
250
|
-
* // => false
|
|
251
|
-
* console.log(eq({ a: 1, b: 2 }, { b: 2, a: 1 }))
|
|
252
|
-
* // => true
|
|
253
|
-
* console.log(eq([{ a: 1, b: 2 }], [{ b: 2, a: 1 }]))
|
|
254
|
-
* // => false
|
|
255
|
-
* ```
|
|
256
|
-
*/
|
|
257
|
-
function anyDeepEq() {
|
|
258
|
-
return _anyDeepEq;
|
|
259
|
-
}
|
|
260
|
-
Eq.anyDeepEq = anyDeepEq;
|
|
261
|
-
var _defaultCollator = Intl.Collator('und');
|
|
262
|
-
var _defaultStringCollatorEq = function (v1, v2) {
|
|
263
|
-
return _defaultCollator.compare(v1, v2) === 0;
|
|
264
|
-
};
|
|
265
|
-
/**
|
|
266
|
-
* Returns an Eq instance that considers strings equal taking the given or default locale into account.
|
|
267
|
-
* @param locales - (optional) a locale or list of locales
|
|
268
|
-
* @param options - (optional) see String.localeCompare for details
|
|
269
|
-
* @example
|
|
270
|
-
* ```ts
|
|
271
|
-
* const eq = Eq.createStringCollatorEq()
|
|
272
|
-
* console.log(eq('a', 'a'))
|
|
273
|
-
* // => true
|
|
274
|
-
* console.log(eq('abc', 'aBc'))
|
|
275
|
-
* // => false
|
|
276
|
-
* ```
|
|
277
|
-
*/
|
|
278
|
-
function createStringCollatorEq() {
|
|
279
|
-
var args = [];
|
|
280
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
281
|
-
args[_i] = arguments[_i];
|
|
282
|
-
}
|
|
283
|
-
if (args.length === 0)
|
|
284
|
-
return _defaultStringCollatorEq;
|
|
285
|
-
var collator = Intl.Collator.apply(Intl, tslib_1.__spreadArray([], tslib_1.__read(args), false));
|
|
286
|
-
return function (v1, v2) { return collator.compare(v1, v2) === 0; };
|
|
287
|
-
}
|
|
288
|
-
Eq.createStringCollatorEq = createStringCollatorEq;
|
|
289
|
-
var _stringCaseInsensitiveEq = createStringCollatorEq('und', {
|
|
290
|
-
sensitivity: 'accent',
|
|
291
|
-
});
|
|
292
|
-
/**
|
|
293
|
-
* Returns an Eq instance that considers strings equal regardless of their case.
|
|
294
|
-
* @example
|
|
295
|
-
* ```ts
|
|
296
|
-
* const eq = Eq.stringCaseInsentitiveEq()
|
|
297
|
-
* console.log(eq('aB', 'Ab'))
|
|
298
|
-
* // => true
|
|
299
|
-
* console.log(eq('aBc', 'abB'))
|
|
300
|
-
* // => false
|
|
301
|
-
* ```
|
|
302
|
-
*/
|
|
303
|
-
function stringCaseInsentitiveEq() {
|
|
304
|
-
return _stringCaseInsensitiveEq;
|
|
305
|
-
}
|
|
306
|
-
Eq.stringCaseInsentitiveEq = stringCaseInsentitiveEq;
|
|
307
|
-
var _stringCharCodeEq = function (v1, v2) {
|
|
308
|
-
var len = v1.length;
|
|
309
|
-
if (len !== v2.length)
|
|
310
|
-
return false;
|
|
311
|
-
var i = -1;
|
|
312
|
-
while (++i < len) {
|
|
313
|
-
if (v1.charCodeAt(i) !== v2.charCodeAt(i))
|
|
314
|
-
return false;
|
|
315
|
-
}
|
|
316
|
-
return true;
|
|
317
|
-
};
|
|
318
|
-
/**
|
|
319
|
-
* Returns an Eq instance that considers strings equal when all their charcodes are equal.
|
|
320
|
-
* @example
|
|
321
|
-
* ```ts
|
|
322
|
-
* const eq = Eq.stringCharCodeEq()
|
|
323
|
-
* console.log(eq('a', 'a'))
|
|
324
|
-
* // => true
|
|
325
|
-
* console.log(eq('abc', 'aBc'))
|
|
326
|
-
* // => false
|
|
327
|
-
* ```
|
|
328
|
-
*/
|
|
329
|
-
function stringCharCodeEq() {
|
|
330
|
-
return _stringCharCodeEq;
|
|
331
|
-
}
|
|
332
|
-
Eq.stringCharCodeEq = stringCharCodeEq;
|
|
333
|
-
var _anyToStringEq = function (v1, v2) {
|
|
334
|
-
return convertAnyToString(v1) === convertAnyToString(v2);
|
|
335
|
-
};
|
|
336
|
-
function anyToStringEq() {
|
|
337
|
-
return _anyToStringEq;
|
|
338
|
-
}
|
|
339
|
-
Eq.anyToStringEq = anyToStringEq;
|
|
340
|
-
var _anyJsonEq = function (v1, v2) {
|
|
341
|
-
return JSON.stringify(v1) === JSON.stringify(v2);
|
|
342
|
-
};
|
|
343
|
-
/**
|
|
344
|
-
* Returns an Eq instance that considers values equal their JSON.stringify values are equal.
|
|
345
|
-
* @example
|
|
346
|
-
* ```ts
|
|
347
|
-
* const eq = Eq.anyJsonEq()
|
|
348
|
-
* console.log(eq({ a: 1, b: 2 }, { a: 1, b: 2 }))
|
|
349
|
-
* // => true
|
|
350
|
-
* console.log(eq({ a: 1, b: 2 }, { b: 2, a: 1 }))
|
|
351
|
-
* // => false
|
|
352
|
-
* ```
|
|
353
|
-
*/
|
|
354
|
-
function anyJsonEq() {
|
|
355
|
-
return _anyJsonEq;
|
|
356
|
-
}
|
|
357
|
-
Eq.anyJsonEq = anyJsonEq;
|
|
358
|
-
/**
|
|
359
|
-
* Returns an `Eq` instance for tuples that considers two tuples [A, B] and [C, D] equal if [A, B] equals [C, D],
|
|
360
|
-
* or if [A, B] equals [D, C]
|
|
361
|
-
* @param eq - (optional) an alternative `Eq` instance to use for the values in the tuple
|
|
362
|
-
* @example
|
|
363
|
-
* ```ts
|
|
364
|
-
* const eq = Eq.tupleSymmetric()
|
|
365
|
-
* console.log(eq([1, 2], [1, 2]))
|
|
366
|
-
* // => true
|
|
367
|
-
* console.log(eq([1, 2], [2, 1]))
|
|
368
|
-
* // => true
|
|
369
|
-
* console.log(eq([1, 3], [2, 1]))
|
|
370
|
-
* // => false
|
|
371
|
-
* ```
|
|
372
|
-
*/
|
|
373
|
-
function tupleSymmetric(eq) {
|
|
374
|
-
if (eq === void 0) { eq = defaultEq(); }
|
|
375
|
-
return function (tup1, tup2) {
|
|
376
|
-
return (eq(tup1[0], tup2[0]) && eq(tup1[1], tup2[1])) ||
|
|
377
|
-
(eq(tup1[0], tup2[1]) && eq(tup1[1], tup2[0]));
|
|
378
|
-
};
|
|
379
|
-
}
|
|
380
|
-
Eq.tupleSymmetric = tupleSymmetric;
|
|
381
|
-
})(Eq = exports.Eq || (exports.Eq = {}));
|
|
382
|
-
//# sourceMappingURL=eq.js.map
|
package/dist/main/eq.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"eq.js","sourceRoot":"","sources":["../../src/eq.ts"],"names":[],"mappings":"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"}
|
package/dist/main/err.js
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ErrBase = exports.Err = void 0;
|
|
4
|
-
var tslib_1 = require("tslib");
|
|
5
|
-
/**
|
|
6
|
-
* Throws an `Err.ForcedError` error when called.
|
|
7
|
-
* @example
|
|
8
|
-
* ```ts
|
|
9
|
-
* const emptyMap = HashMap.empty<number, string>()
|
|
10
|
-
* emptyMap.get(5, Err);
|
|
11
|
-
* // throws: Err.CustomError(message: 'Err: forced to throw error')
|
|
12
|
-
* ```
|
|
13
|
-
*/
|
|
14
|
-
function Err() {
|
|
15
|
-
return ErrBase.msg('Err: Forced to throw error')();
|
|
16
|
-
}
|
|
17
|
-
exports.Err = Err;
|
|
18
|
-
var ErrBase;
|
|
19
|
-
(function (ErrBase) {
|
|
20
|
-
/**
|
|
21
|
-
* A custom error instance.
|
|
22
|
-
*/
|
|
23
|
-
var CustomError = /** @class */ (function () {
|
|
24
|
-
function CustomError(message) {
|
|
25
|
-
this.message = message;
|
|
26
|
-
}
|
|
27
|
-
Object.defineProperty(CustomError.prototype, "name", {
|
|
28
|
-
get: function () {
|
|
29
|
-
return this.constructor.name;
|
|
30
|
-
},
|
|
31
|
-
enumerable: false,
|
|
32
|
-
configurable: true
|
|
33
|
-
});
|
|
34
|
-
return CustomError;
|
|
35
|
-
}());
|
|
36
|
-
ErrBase.CustomError = CustomError;
|
|
37
|
-
var ForcedError = /** @class */ (function (_super) {
|
|
38
|
-
tslib_1.__extends(ForcedError, _super);
|
|
39
|
-
function ForcedError() {
|
|
40
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
41
|
-
}
|
|
42
|
-
return ForcedError;
|
|
43
|
-
}(CustomError));
|
|
44
|
-
ErrBase.ForcedError = ForcedError;
|
|
45
|
-
/**
|
|
46
|
-
* Returns a function that, when called, throws an `Err.ForcedError` with the given `message` string.
|
|
47
|
-
* @param message - the message to put in the `Err.ForcedError` instance.
|
|
48
|
-
* @example
|
|
49
|
-
* ```ts
|
|
50
|
-
* const emptyMap = HashMap.empty<number, string>()
|
|
51
|
-
* emptyMap.get(5, ErrBase.msg('not found'));
|
|
52
|
-
* // throws: Err.CustomError(message: 'not found')
|
|
53
|
-
* ```
|
|
54
|
-
*/
|
|
55
|
-
function msg(message) {
|
|
56
|
-
return function () {
|
|
57
|
-
throw new ErrBase.ForcedError(message);
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
ErrBase.msg = msg;
|
|
61
|
-
})(ErrBase = exports.ErrBase || (exports.ErrBase = {}));
|
|
62
|
-
//# sourceMappingURL=err.js.map
|
package/dist/main/err.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"err.js","sourceRoot":"","sources":["../../src/err.ts"],"names":[],"mappings":";;;;AAAA;;;;;;;;GAQG;AACH,SAAgB,GAAG;IACjB,OAAO,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,EAAE,CAAC;AACrD,CAAC;AAFD,kBAEC;AAED,IAAiB,OAAO,CA6BvB;AA7BD,WAAiB,OAAO;IACtB;;OAEG;IACH;QACE,qBAAqB,OAAe;YAAf,YAAO,GAAP,OAAO,CAAQ;QAAG,CAAC;QAExC,sBAAI,6BAAI;iBAAR;gBACE,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YAC/B,CAAC;;;WAAA;QACH,kBAAC;IAAD,CAAC,AAND,IAMC;IANqB,mBAAW,cAMhC,CAAA;IAED;QAAiC,uCAAW;QAA5C;;QAA8C,CAAC;QAAD,kBAAC;IAAD,CAAC,AAA/C,CAAiC,WAAW,GAAG;IAAlC,mBAAW,cAAuB,CAAA;IAE/C;;;;;;;;;OASG;IACH,SAAgB,GAAG,CAAC,OAAe;QACjC,OAAO;YACL,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC,CAAC;IACJ,CAAC;IAJe,WAAG,MAIlB,CAAA;AACH,CAAC,EA7BgB,OAAO,GAAP,eAAO,KAAP,eAAO,QA6BvB"}
|
package/dist/main/index-range.js
DELETED
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.IndexRange = void 0;
|
|
4
|
-
var tslib_1 = require("tslib");
|
|
5
|
-
var IndexRange;
|
|
6
|
-
(function (IndexRange) {
|
|
7
|
-
/**
|
|
8
|
-
* Returns, given the `range` `IndexRange`, a normalized tuple containing the
|
|
9
|
-
* start index, and optionally an end index.
|
|
10
|
-
* @param range - the `IndexRange` to use
|
|
11
|
-
*/
|
|
12
|
-
function getIndexRangeIndices(range) {
|
|
13
|
-
var _a;
|
|
14
|
-
if (undefined !== range.amount) {
|
|
15
|
-
if (undefined === range.start)
|
|
16
|
-
return [0, range.amount - 1];
|
|
17
|
-
if (Array.isArray(range.start)) {
|
|
18
|
-
var _b = tslib_1.__read(range.start, 2), start_1 = _b[0], includeStart = _b[1];
|
|
19
|
-
if (includeStart)
|
|
20
|
-
return [start_1, start_1 + range.amount - 1];
|
|
21
|
-
return [start_1 + 1, start_1 + 1 + range.amount - 1];
|
|
22
|
-
}
|
|
23
|
-
return [range.start, range.start + range.amount - 1];
|
|
24
|
-
}
|
|
25
|
-
var start = 0;
|
|
26
|
-
var end = undefined;
|
|
27
|
-
if ("start" in range) {
|
|
28
|
-
if (Array.isArray(range.start)) {
|
|
29
|
-
if (range.start[1])
|
|
30
|
-
start = range.start[0];
|
|
31
|
-
else
|
|
32
|
-
start = range.start[0] + 1;
|
|
33
|
-
}
|
|
34
|
-
else
|
|
35
|
-
start = (_a = range.start) !== null && _a !== void 0 ? _a : 0;
|
|
36
|
-
}
|
|
37
|
-
if ("end" in range) {
|
|
38
|
-
if (Array.isArray(range.end)) {
|
|
39
|
-
if (range.end[1])
|
|
40
|
-
end = range.end[0];
|
|
41
|
-
else
|
|
42
|
-
end = range.end[0] - 1;
|
|
43
|
-
}
|
|
44
|
-
else
|
|
45
|
-
end = range.end;
|
|
46
|
-
}
|
|
47
|
-
return [start, end];
|
|
48
|
-
}
|
|
49
|
-
IndexRange.getIndexRangeIndices = getIndexRangeIndices;
|
|
50
|
-
/**
|
|
51
|
-
* Returns, given the `range` `IndexRange`, and a target maximum `length`, the actual index range.
|
|
52
|
-
* This can be one of three options:
|
|
53
|
-
* - 'empty': there are no elements within the range
|
|
54
|
-
* - 'all': all elements are within the range
|
|
55
|
-
* - [start: number, end: number]: an inclusive range of element indices within the given range
|
|
56
|
-
* @param range - the `IndexRange` to use
|
|
57
|
-
* @param length - the target maximum length
|
|
58
|
-
*/
|
|
59
|
-
function getIndicesFor(range, length) {
|
|
60
|
-
if (length <= 0)
|
|
61
|
-
return 'empty';
|
|
62
|
-
var start = 0;
|
|
63
|
-
var end = length - 1;
|
|
64
|
-
if (undefined !== range.start) {
|
|
65
|
-
if (Array.isArray(range.start)) {
|
|
66
|
-
start = range.start[0];
|
|
67
|
-
if (!range.start[1])
|
|
68
|
-
start++;
|
|
69
|
-
}
|
|
70
|
-
else
|
|
71
|
-
start = range.start;
|
|
72
|
-
if (start >= length || -start > length)
|
|
73
|
-
return 'empty';
|
|
74
|
-
if (start < 0)
|
|
75
|
-
start = length + start;
|
|
76
|
-
}
|
|
77
|
-
if (undefined !== range.amount) {
|
|
78
|
-
if (range.amount <= 0)
|
|
79
|
-
return 'empty';
|
|
80
|
-
if (undefined === range.start) {
|
|
81
|
-
if (range.amount >= length)
|
|
82
|
-
return 'all';
|
|
83
|
-
return [0, Math.min(end, range.amount - 1)];
|
|
84
|
-
}
|
|
85
|
-
end = start + range.amount - 1;
|
|
86
|
-
}
|
|
87
|
-
else if (undefined !== range.end) {
|
|
88
|
-
if (Array.isArray(range.end)) {
|
|
89
|
-
end = range.end[0];
|
|
90
|
-
if (!range.end[1]) {
|
|
91
|
-
if (end === 0)
|
|
92
|
-
return 'empty';
|
|
93
|
-
end--;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
else
|
|
97
|
-
end = range.end;
|
|
98
|
-
if (end < 0)
|
|
99
|
-
end = length + end;
|
|
100
|
-
}
|
|
101
|
-
if (end < start)
|
|
102
|
-
return 'empty';
|
|
103
|
-
end = Math.min(length - 1, end);
|
|
104
|
-
if (start === 0 && end === length - 1)
|
|
105
|
-
return 'all';
|
|
106
|
-
return [start, end];
|
|
107
|
-
}
|
|
108
|
-
IndexRange.getIndicesFor = getIndicesFor;
|
|
109
|
-
})(IndexRange = exports.IndexRange || (exports.IndexRange = {}));
|
|
110
|
-
//# sourceMappingURL=index-range.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-range.js","sourceRoot":"","sources":["../../src/index-range.ts"],"names":[],"mappings":"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"}
|
package/dist/main/index.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* @packageDocumentation
|
|
4
|
-
*
|
|
5
|
-
* The `@rimbu/common` package provides many commonly used types and utilities that can also be of use to Rimbu users.<br/>
|
|
6
|
-
*/
|
|
7
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
var tslib_1 = require("tslib");
|
|
9
|
-
tslib_1.__exportStar(require("./internal"), exports);
|
|
10
|
-
//# sourceMappingURL=index.js.map
|
package/dist/main/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,qDAA2B"}
|
package/dist/main/internal.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
var tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./collect"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./comp"), exports);
|
|
6
|
-
tslib_1.__exportStar(require("./eq"), exports);
|
|
7
|
-
tslib_1.__exportStar(require("./err"), exports);
|
|
8
|
-
tslib_1.__exportStar(require("./index-range"), exports);
|
|
9
|
-
tslib_1.__exportStar(require("./optlazy"), exports);
|
|
10
|
-
tslib_1.__exportStar(require("./range"), exports);
|
|
11
|
-
tslib_1.__exportStar(require("./reducer"), exports);
|
|
12
|
-
tslib_1.__exportStar(require("./traverse-state"), exports);
|
|
13
|
-
tslib_1.__exportStar(require("./types"), exports);
|
|
14
|
-
tslib_1.__exportStar(require("./update"), exports);
|
|
15
|
-
tslib_1.__exportStar(require("./async-optlazy"), exports);
|
|
16
|
-
tslib_1.__exportStar(require("./async-reducer"), exports);
|
|
17
|
-
//# sourceMappingURL=internal.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,iDAAuB;AACvB,+CAAqB;AACrB,gDAAsB;AACtB,wDAA8B;AAC9B,oDAA0B;AAC1B,kDAAwB;AACxB,oDAA0B;AAC1B,2DAAiC;AACjC,kDAAwB;AACxB,mDAAyB;AACzB,0DAAgC;AAChC,0DAAgC"}
|
package/dist/main/optlazy.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"optlazy.js","sourceRoot":"","sources":["../../src/optlazy.ts"],"names":[],"mappings":";;;AAMA;;;;;;;;;GASG;AACH,SAAgB,OAAO,CAAI,OAAmB;IAC5C,IAAI,OAAO,YAAY,QAAQ;QAAE,OAAO,OAAO,EAAE,CAAC;IAClD,OAAO,OAAO,CAAC;AACjB,CAAC;AAHD,0BAGC;AAUD;;;;;;;;;;;GAWG;AACH,SAAgB,SAAS,CACvB,SAA0B,EAC1B,UAAa;IAEb,IAAI,SAAS,YAAY,QAAQ;QAAE,OAAO,SAAS,CAAC,UAAU,CAAC,CAAC;IAChE,OAAO,SAAS,CAAC;AACnB,CAAC;AAND,8BAMC"}
|
package/dist/main/range.js
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Range = void 0;
|
|
4
|
-
var Range;
|
|
5
|
-
(function (Range) {
|
|
6
|
-
/**
|
|
7
|
-
* Simplifies a given `range` `Range` input for easier processing, by returning optional
|
|
8
|
-
* start and end ranges including whether they are inclusive or exclusive
|
|
9
|
-
* @param range - the `Range` to use
|
|
10
|
-
*/
|
|
11
|
-
function getNormalizedRange(range) {
|
|
12
|
-
var start = undefined;
|
|
13
|
-
var end = undefined;
|
|
14
|
-
if ("start" in range && undefined !== range.start) {
|
|
15
|
-
if (Array.isArray(range.start) &&
|
|
16
|
-
range.start.length === 2 &&
|
|
17
|
-
typeof range.start[1] === 'boolean') {
|
|
18
|
-
start = range.start;
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
start = [range.start, true];
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
if ("end" in range && undefined !== range.end) {
|
|
25
|
-
if (Array.isArray(range.end) &&
|
|
26
|
-
range.end.length === 2 &&
|
|
27
|
-
typeof range.end[1] === 'boolean') {
|
|
28
|
-
end = range.end;
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
end = [range.end, true];
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
return { start: start, end: end };
|
|
35
|
-
}
|
|
36
|
-
Range.getNormalizedRange = getNormalizedRange;
|
|
37
|
-
})(Range = exports.Range || (exports.Range = {}));
|
|
38
|
-
//# sourceMappingURL=range.js.map
|
package/dist/main/range.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"range.js","sourceRoot":"","sources":["../../src/range.ts"],"names":[],"mappings":";;;AAmBA,IAAiB,KAAK,CAsCrB;AAtCD,WAAiB,KAAK;IACpB;;;;OAIG;IACH,SAAgB,kBAAkB,CAAI,KAAe;QAInD,IAAI,KAAK,GAA6B,SAAS,CAAC;QAChD,IAAI,GAAG,GAA6B,SAAS,CAAC;QAE9C,IAAI,OAAO,IAAI,KAAK,IAAI,SAAS,KAAK,KAAK,CAAC,KAAK,EAAE;YACjD,IACE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;gBAC1B,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;gBACxB,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EACnC;gBACA,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;aACrB;iBAAM;gBACL,KAAK,GAAG,CAAC,KAAK,CAAC,KAAU,EAAE,IAAI,CAAC,CAAC;aAClC;SACF;QACD,IAAI,KAAK,IAAI,KAAK,IAAI,SAAS,KAAK,KAAK,CAAC,GAAG,EAAE;YAC7C,IACE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;gBACxB,KAAK,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC;gBACtB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,EACjC;gBACA,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;aACjB;iBAAM;gBACL,GAAG,GAAG,CAAC,KAAK,CAAC,GAAQ,EAAE,IAAI,CAAC,CAAC;aAC9B;SACF;QAED,OAAO,EAAE,KAAK,OAAA,EAAE,GAAG,KAAA,EAAE,CAAC;IACxB,CAAC;IA/Be,wBAAkB,qBA+BjC,CAAA;AACH,CAAC,EAtCgB,KAAK,GAAL,aAAK,KAAL,aAAK,QAsCrB"}
|