is-kit 1.4.0 → 1.4.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/dist/index.js +22 -25
- package/dist/index.mjs +22 -25
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -108,7 +108,7 @@ var toBooleanPredicates = (predicates) => predicates;
|
|
|
108
108
|
|
|
109
109
|
// src/core/logic.ts
|
|
110
110
|
function and(precondition, condition) {
|
|
111
|
-
return
|
|
111
|
+
return (input) => {
|
|
112
112
|
if (precondition(input)) {
|
|
113
113
|
return condition(input);
|
|
114
114
|
}
|
|
@@ -116,23 +116,19 @@ function and(precondition, condition) {
|
|
|
116
116
|
};
|
|
117
117
|
}
|
|
118
118
|
function andAll(precondition, ...steps) {
|
|
119
|
-
return
|
|
119
|
+
return (input) => {
|
|
120
120
|
if (!precondition(input)) return false;
|
|
121
121
|
return applyRefinements(input, steps);
|
|
122
122
|
};
|
|
123
123
|
}
|
|
124
124
|
function or(...guards) {
|
|
125
125
|
const predicates = toBooleanPredicates(guards);
|
|
126
|
-
return
|
|
126
|
+
return (input) => {
|
|
127
127
|
return predicates.some((guard) => guard(input));
|
|
128
128
|
};
|
|
129
129
|
}
|
|
130
130
|
function guardIn() {
|
|
131
|
-
return
|
|
132
|
-
return function(input) {
|
|
133
|
-
return guard(input);
|
|
134
|
-
};
|
|
135
|
-
};
|
|
131
|
+
return (guard) => (input) => guard(input);
|
|
136
132
|
}
|
|
137
133
|
function not(fn) {
|
|
138
134
|
return (input) => !fn(input);
|
|
@@ -223,25 +219,26 @@ var isBlob = typeof Blob !== "undefined" ? define((value) => value instanceof Bl
|
|
|
223
219
|
var isInstanceOf = (constructor) => define((value) => value instanceof constructor);
|
|
224
220
|
|
|
225
221
|
// src/core/equals.ts
|
|
222
|
+
var guardedBy = (guard) => define((input) => guard(input));
|
|
226
223
|
function equals(target) {
|
|
227
|
-
return
|
|
228
|
-
return Object.is(input, target);
|
|
229
|
-
};
|
|
224
|
+
return define((input) => Object.is(input, target));
|
|
230
225
|
}
|
|
231
226
|
function equalsBy(guard, selector) {
|
|
232
|
-
const
|
|
233
|
-
|
|
227
|
+
const matchesGuard = guardedBy(guard);
|
|
228
|
+
const createComparator = (selectorFn) => (target) => define((input) => {
|
|
229
|
+
if (!matchesGuard(input)) return false;
|
|
234
230
|
return Object.is(selectorFn(input), target);
|
|
235
|
-
};
|
|
231
|
+
});
|
|
236
232
|
if (selector) {
|
|
237
233
|
return createComparator(selector);
|
|
238
234
|
}
|
|
239
|
-
return (
|
|
235
|
+
return (selectorFn) => createComparator(selectorFn);
|
|
240
236
|
}
|
|
241
237
|
function equalsKey(key, target) {
|
|
242
|
-
|
|
238
|
+
const hasMatchingKey = define((input) => {
|
|
243
239
|
return isObject(input) && Object.prototype.hasOwnProperty.call(input, key) && Object.is(input[key], target);
|
|
244
|
-
};
|
|
240
|
+
});
|
|
241
|
+
return (input) => hasMatchingKey(input);
|
|
245
242
|
}
|
|
246
243
|
|
|
247
244
|
// src/core/parse.ts
|
|
@@ -296,7 +293,7 @@ var isPrimitive = or(
|
|
|
296
293
|
|
|
297
294
|
// src/core/combinators/array.ts
|
|
298
295
|
function arrayOf(elementGuard) {
|
|
299
|
-
return
|
|
296
|
+
return (input) => {
|
|
300
297
|
if (!Array.isArray(input)) return false;
|
|
301
298
|
for (const element of input) {
|
|
302
299
|
if (!elementGuard(element)) return false;
|
|
@@ -307,7 +304,7 @@ function arrayOf(elementGuard) {
|
|
|
307
304
|
|
|
308
305
|
// src/core/combinators/tuple.ts
|
|
309
306
|
function tupleOf(...guards) {
|
|
310
|
-
return
|
|
307
|
+
return (input) => {
|
|
311
308
|
return Array.isArray(input) && input.length === guards.length && guards.every(
|
|
312
309
|
(guard, index) => guard(input[index])
|
|
313
310
|
);
|
|
@@ -360,7 +357,7 @@ var isZeroNumber = and(
|
|
|
360
357
|
);
|
|
361
358
|
var normalizeValues = (args) => isSingleArrayArg(args) ? args[0] : args;
|
|
362
359
|
var createLinearPredicate = (items) => {
|
|
363
|
-
return
|
|
360
|
+
return (input) => {
|
|
364
361
|
return items.some((value) => Object.is(value, input));
|
|
365
362
|
};
|
|
366
363
|
};
|
|
@@ -376,7 +373,7 @@ var createSetPredicate = (items) => {
|
|
|
376
373
|
valueSet.add(literalValue);
|
|
377
374
|
}
|
|
378
375
|
}
|
|
379
|
-
return
|
|
376
|
+
return (input) => {
|
|
380
377
|
if (isZeroNumber(input)) {
|
|
381
378
|
return Object.is(input, -0) ? hasNegativeZero : hasPositiveZero;
|
|
382
379
|
}
|
|
@@ -401,11 +398,11 @@ var hasKeys = (...keys) => {
|
|
|
401
398
|
);
|
|
402
399
|
};
|
|
403
400
|
function narrowKeyTo(guard, key) {
|
|
404
|
-
return
|
|
401
|
+
return (target) => {
|
|
405
402
|
const keyEquals = equalsKey(key, target);
|
|
406
|
-
return define(
|
|
407
|
-
|
|
408
|
-
|
|
403
|
+
return define(
|
|
404
|
+
(input) => guard(input) && keyEquals(input)
|
|
405
|
+
);
|
|
409
406
|
};
|
|
410
407
|
}
|
|
411
408
|
// Annotate the CommonJS export names for ESM import in node:
|
package/dist/index.mjs
CHANGED
|
@@ -18,7 +18,7 @@ var toBooleanPredicates = (predicates) => predicates;
|
|
|
18
18
|
|
|
19
19
|
// src/core/logic.ts
|
|
20
20
|
function and(precondition, condition) {
|
|
21
|
-
return
|
|
21
|
+
return (input) => {
|
|
22
22
|
if (precondition(input)) {
|
|
23
23
|
return condition(input);
|
|
24
24
|
}
|
|
@@ -26,23 +26,19 @@ function and(precondition, condition) {
|
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
28
|
function andAll(precondition, ...steps) {
|
|
29
|
-
return
|
|
29
|
+
return (input) => {
|
|
30
30
|
if (!precondition(input)) return false;
|
|
31
31
|
return applyRefinements(input, steps);
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
function or(...guards) {
|
|
35
35
|
const predicates = toBooleanPredicates(guards);
|
|
36
|
-
return
|
|
36
|
+
return (input) => {
|
|
37
37
|
return predicates.some((guard) => guard(input));
|
|
38
38
|
};
|
|
39
39
|
}
|
|
40
40
|
function guardIn() {
|
|
41
|
-
return
|
|
42
|
-
return function(input) {
|
|
43
|
-
return guard(input);
|
|
44
|
-
};
|
|
45
|
-
};
|
|
41
|
+
return (guard) => (input) => guard(input);
|
|
46
42
|
}
|
|
47
43
|
function not(fn) {
|
|
48
44
|
return (input) => !fn(input);
|
|
@@ -133,25 +129,26 @@ var isBlob = typeof Blob !== "undefined" ? define((value) => value instanceof Bl
|
|
|
133
129
|
var isInstanceOf = (constructor) => define((value) => value instanceof constructor);
|
|
134
130
|
|
|
135
131
|
// src/core/equals.ts
|
|
132
|
+
var guardedBy = (guard) => define((input) => guard(input));
|
|
136
133
|
function equals(target) {
|
|
137
|
-
return
|
|
138
|
-
return Object.is(input, target);
|
|
139
|
-
};
|
|
134
|
+
return define((input) => Object.is(input, target));
|
|
140
135
|
}
|
|
141
136
|
function equalsBy(guard, selector) {
|
|
142
|
-
const
|
|
143
|
-
|
|
137
|
+
const matchesGuard = guardedBy(guard);
|
|
138
|
+
const createComparator = (selectorFn) => (target) => define((input) => {
|
|
139
|
+
if (!matchesGuard(input)) return false;
|
|
144
140
|
return Object.is(selectorFn(input), target);
|
|
145
|
-
};
|
|
141
|
+
});
|
|
146
142
|
if (selector) {
|
|
147
143
|
return createComparator(selector);
|
|
148
144
|
}
|
|
149
|
-
return (
|
|
145
|
+
return (selectorFn) => createComparator(selectorFn);
|
|
150
146
|
}
|
|
151
147
|
function equalsKey(key, target) {
|
|
152
|
-
|
|
148
|
+
const hasMatchingKey = define((input) => {
|
|
153
149
|
return isObject(input) && Object.prototype.hasOwnProperty.call(input, key) && Object.is(input[key], target);
|
|
154
|
-
};
|
|
150
|
+
});
|
|
151
|
+
return (input) => hasMatchingKey(input);
|
|
155
152
|
}
|
|
156
153
|
|
|
157
154
|
// src/core/parse.ts
|
|
@@ -206,7 +203,7 @@ var isPrimitive = or(
|
|
|
206
203
|
|
|
207
204
|
// src/core/combinators/array.ts
|
|
208
205
|
function arrayOf(elementGuard) {
|
|
209
|
-
return
|
|
206
|
+
return (input) => {
|
|
210
207
|
if (!Array.isArray(input)) return false;
|
|
211
208
|
for (const element of input) {
|
|
212
209
|
if (!elementGuard(element)) return false;
|
|
@@ -217,7 +214,7 @@ function arrayOf(elementGuard) {
|
|
|
217
214
|
|
|
218
215
|
// src/core/combinators/tuple.ts
|
|
219
216
|
function tupleOf(...guards) {
|
|
220
|
-
return
|
|
217
|
+
return (input) => {
|
|
221
218
|
return Array.isArray(input) && input.length === guards.length && guards.every(
|
|
222
219
|
(guard, index) => guard(input[index])
|
|
223
220
|
);
|
|
@@ -270,7 +267,7 @@ var isZeroNumber = and(
|
|
|
270
267
|
);
|
|
271
268
|
var normalizeValues = (args) => isSingleArrayArg(args) ? args[0] : args;
|
|
272
269
|
var createLinearPredicate = (items) => {
|
|
273
|
-
return
|
|
270
|
+
return (input) => {
|
|
274
271
|
return items.some((value) => Object.is(value, input));
|
|
275
272
|
};
|
|
276
273
|
};
|
|
@@ -286,7 +283,7 @@ var createSetPredicate = (items) => {
|
|
|
286
283
|
valueSet.add(literalValue);
|
|
287
284
|
}
|
|
288
285
|
}
|
|
289
|
-
return
|
|
286
|
+
return (input) => {
|
|
290
287
|
if (isZeroNumber(input)) {
|
|
291
288
|
return Object.is(input, -0) ? hasNegativeZero : hasPositiveZero;
|
|
292
289
|
}
|
|
@@ -311,11 +308,11 @@ var hasKeys = (...keys) => {
|
|
|
311
308
|
);
|
|
312
309
|
};
|
|
313
310
|
function narrowKeyTo(guard, key) {
|
|
314
|
-
return
|
|
311
|
+
return (target) => {
|
|
315
312
|
const keyEquals = equalsKey(key, target);
|
|
316
|
-
return define(
|
|
317
|
-
|
|
318
|
-
|
|
313
|
+
return define(
|
|
314
|
+
(input) => guard(input) && keyEquals(input)
|
|
315
|
+
);
|
|
319
316
|
};
|
|
320
317
|
}
|
|
321
318
|
export {
|