@orkestrel/validator 0.0.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.
package/dist/index.cjs ADDED
@@ -0,0 +1,781 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const VALIDATION_RULE_NAMES = [
4
+ "required",
5
+ "minimum",
6
+ "maximum",
7
+ "pattern",
8
+ "email",
9
+ "url",
10
+ "numeric",
11
+ "integer",
12
+ "alphanumeric",
13
+ "custom"
14
+ ];
15
+ const EMAIL_PATTERN = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
16
+ const URL_PATTERN = /^https?:\/\/.+/;
17
+ const NUMERIC_PATTERN = /^-?\d+(\.\d+)?$/;
18
+ const INTEGER_PATTERN = /^-?\d+$/;
19
+ const ALPHANUMERIC_PATTERN = /^[a-zA-Z0-9]+$/;
20
+ class ValidatorError extends Error {
21
+ code;
22
+ context;
23
+ constructor(code, message, context = {}) {
24
+ super(message);
25
+ this.name = "ValidatorError";
26
+ this.code = code;
27
+ this.context = { ...context };
28
+ }
29
+ }
30
+ function isValidatorError(value) {
31
+ return value instanceof ValidatorError;
32
+ }
33
+ function isMap(value) {
34
+ return value instanceof Map;
35
+ }
36
+ function isSet(value) {
37
+ return value instanceof Set;
38
+ }
39
+ function isWeakMap(value) {
40
+ return value instanceof WeakMap;
41
+ }
42
+ function isWeakSet(value) {
43
+ return value instanceof WeakSet;
44
+ }
45
+ function isObject(value) {
46
+ return typeof value === "object" && value !== null;
47
+ }
48
+ function isRecord(value) {
49
+ return isObject(value) && !Array.isArray(value);
50
+ }
51
+ function isNull(value) {
52
+ return value === null;
53
+ }
54
+ function isUndefined(value) {
55
+ return value === void 0;
56
+ }
57
+ function isDefined(value) {
58
+ return value !== null && value !== void 0;
59
+ }
60
+ function isString(value) {
61
+ return typeof value === "string";
62
+ }
63
+ function isNumber(value) {
64
+ return typeof value === "number";
65
+ }
66
+ function isBoolean(value) {
67
+ return typeof value === "boolean";
68
+ }
69
+ function isBigInt(value) {
70
+ return typeof value === "bigint";
71
+ }
72
+ function isSymbol(value) {
73
+ return typeof value === "symbol";
74
+ }
75
+ function isFunction(value) {
76
+ return typeof value === "function";
77
+ }
78
+ function isDate(value) {
79
+ return value instanceof Date;
80
+ }
81
+ function isRegExp(value) {
82
+ return value instanceof RegExp;
83
+ }
84
+ function isError(value) {
85
+ return value instanceof Error;
86
+ }
87
+ function isPromiseLike(value) {
88
+ if (!isObject(value)) {
89
+ return false;
90
+ }
91
+ const thenValue = Reflect.get(value, "then");
92
+ const catchValue = Reflect.get(value, "catch");
93
+ const finallyValue = Reflect.get(value, "finally");
94
+ return typeof thenValue === "function" && typeof catchValue === "function" && typeof finallyValue === "function";
95
+ }
96
+ function isPromise(value) {
97
+ return value instanceof Promise;
98
+ }
99
+ function isArrayBuffer(value) {
100
+ return value instanceof ArrayBuffer;
101
+ }
102
+ function isSharedArrayBuffer(value) {
103
+ return typeof SharedArrayBuffer !== "undefined" && value instanceof SharedArrayBuffer;
104
+ }
105
+ function isIterable(value) {
106
+ if (typeof value === "string") {
107
+ return true;
108
+ }
109
+ if (!isObject(value)) {
110
+ return false;
111
+ }
112
+ return typeof Reflect.get(value, Symbol.iterator) === "function";
113
+ }
114
+ function isAsyncIterator(value) {
115
+ if (!isObject(value)) {
116
+ return false;
117
+ }
118
+ return typeof Reflect.get(value, Symbol.asyncIterator) === "function";
119
+ }
120
+ function recordValue(record, key) {
121
+ return Reflect.get(record, key);
122
+ }
123
+ function ruleValue(rules, ruleName) {
124
+ switch (ruleName) {
125
+ case "required":
126
+ return rules.required;
127
+ case "minimum":
128
+ return rules.minimum;
129
+ case "maximum":
130
+ return rules.maximum;
131
+ case "pattern":
132
+ return rules.pattern;
133
+ case "email":
134
+ return rules.email;
135
+ case "url":
136
+ return rules.url;
137
+ case "numeric":
138
+ return rules.numeric;
139
+ case "integer":
140
+ return rules.integer;
141
+ case "alphanumeric":
142
+ return rules.alphanumeric;
143
+ case "custom":
144
+ return rules.custom;
145
+ }
146
+ }
147
+ function isBooleanRuleValue(value) {
148
+ return value === void 0 || typeof value === "boolean" || isValidatorFunction(value);
149
+ }
150
+ function isNumberRuleValue(value) {
151
+ if (value === void 0 || isValidatorFunction(value)) {
152
+ return true;
153
+ }
154
+ return typeof value === "number" && Number.isInteger(value) && value >= 0;
155
+ }
156
+ function isPatternRuleValue(value) {
157
+ return value === void 0 || typeof value === "string" || isValidatorFunction(value);
158
+ }
159
+ function isRuleValue(ruleName, value) {
160
+ switch (ruleName) {
161
+ case "required":
162
+ case "email":
163
+ case "url":
164
+ case "numeric":
165
+ case "integer":
166
+ case "alphanumeric":
167
+ return isBooleanRuleValue(value);
168
+ case "minimum":
169
+ case "maximum":
170
+ return isNumberRuleValue(value);
171
+ case "pattern":
172
+ return isPatternRuleValue(value);
173
+ case "custom":
174
+ return value === void 0 || isValidatorFunction(value);
175
+ }
176
+ }
177
+ function enumerableSymbolCount(value) {
178
+ let count = 0;
179
+ for (const symbolKey of Object.getOwnPropertySymbols(value)) {
180
+ const descriptor = Object.getOwnPropertyDescriptor(value, symbolKey);
181
+ if (descriptor?.enumerable === true) {
182
+ count += 1;
183
+ }
184
+ }
185
+ return count;
186
+ }
187
+ function ensurePickedShape(value, shape, keys) {
188
+ }
189
+ function ensureOmittedShape(value, shape, keys) {
190
+ }
191
+ function isValidatorFunction(value) {
192
+ return typeof value === "function";
193
+ }
194
+ function isValidationRuleName(value) {
195
+ return typeof value === "string" && VALIDATION_RULE_NAMES.some((ruleName) => ruleName === value);
196
+ }
197
+ function isValidationRules(value) {
198
+ if (!isRecord(value)) {
199
+ return false;
200
+ }
201
+ for (const key of Object.keys(value)) {
202
+ if (!isValidationRuleName(key)) {
203
+ return false;
204
+ }
205
+ if (!isRuleValue(key, recordValue(value, key))) {
206
+ return false;
207
+ }
208
+ }
209
+ return true;
210
+ }
211
+ function isValidationError(value) {
212
+ if (!isRecord(value)) {
213
+ return false;
214
+ }
215
+ return isValidationRuleName(recordValue(value, "rule")) && isString(recordValue(value, "message"));
216
+ }
217
+ function isValidationResult(value) {
218
+ if (!isRecord(value)) {
219
+ return false;
220
+ }
221
+ const valid = recordValue(value, "valid");
222
+ const errors = recordValue(value, "errors");
223
+ if (!isBoolean(valid) || !Array.isArray(errors)) {
224
+ return false;
225
+ }
226
+ for (const error of errors) {
227
+ if (!isValidationError(error)) {
228
+ return false;
229
+ }
230
+ }
231
+ return true;
232
+ }
233
+ function assertValidationRules(rules) {
234
+ if (!isValidationRules(rules)) {
235
+ throw new ValidatorError(
236
+ "INVALID_RULES",
237
+ "Validation rules must contain only supported rule values"
238
+ );
239
+ }
240
+ const minimum = rules.minimum;
241
+ if (typeof minimum === "number" && minimum < 0) {
242
+ throw new ValidatorError("INVALID_RULE_VALUE", "Minimum must be zero or greater", {
243
+ rule: "minimum",
244
+ value: minimum
245
+ });
246
+ }
247
+ const maximum = rules.maximum;
248
+ if (typeof maximum === "number" && maximum < 0) {
249
+ throw new ValidatorError("INVALID_RULE_VALUE", "Maximum must be zero or greater", {
250
+ rule: "maximum",
251
+ value: maximum
252
+ });
253
+ }
254
+ if (typeof minimum === "number" && typeof maximum === "number" && minimum > maximum) {
255
+ throw new ValidatorError("INVALID_RULE_VALUE", "Minimum cannot be greater than maximum", {
256
+ rule: "minimum",
257
+ value: minimum
258
+ });
259
+ }
260
+ const pattern = rules.pattern;
261
+ if (typeof pattern === "string") {
262
+ try {
263
+ void new RegExp(pattern);
264
+ } catch {
265
+ throw new ValidatorError("INVALID_PATTERN", "Pattern must be a valid regular expression", {
266
+ rule: "pattern",
267
+ value: pattern
268
+ });
269
+ }
270
+ }
271
+ }
272
+ function cloneValidationRules(rules) {
273
+ assertValidationRules(rules);
274
+ return {
275
+ ...rules.required !== void 0 ? { required: rules.required } : {},
276
+ ...rules.minimum !== void 0 ? { minimum: rules.minimum } : {},
277
+ ...rules.maximum !== void 0 ? { maximum: rules.maximum } : {},
278
+ ...rules.pattern !== void 0 ? { pattern: rules.pattern } : {},
279
+ ...rules.email !== void 0 ? { email: rules.email } : {},
280
+ ...rules.url !== void 0 ? { url: rules.url } : {},
281
+ ...rules.numeric !== void 0 ? { numeric: rules.numeric } : {},
282
+ ...rules.integer !== void 0 ? { integer: rules.integer } : {},
283
+ ...rules.alphanumeric !== void 0 ? { alphanumeric: rules.alphanumeric } : {},
284
+ ...rules.custom !== void 0 ? { custom: rules.custom } : {}
285
+ };
286
+ }
287
+ function evaluateRule(ruleName, check, input) {
288
+ if (typeof check === "function") {
289
+ const result = check(input);
290
+ if (result === true) {
291
+ return void 0;
292
+ }
293
+ return typeof result === "string" ? result : "Invalid input";
294
+ }
295
+ switch (ruleName) {
296
+ case "required":
297
+ if (check === true && input.trim().length === 0) {
298
+ return "This field is required";
299
+ }
300
+ break;
301
+ case "minimum":
302
+ if (typeof check === "number" && input.length < check) {
303
+ return `Must be at least ${String(check)} characters`;
304
+ }
305
+ break;
306
+ case "maximum":
307
+ if (typeof check === "number" && input.length > check) {
308
+ return `Must be at most ${String(check)} characters`;
309
+ }
310
+ break;
311
+ case "pattern":
312
+ if (typeof check === "string" && !new RegExp(check).test(input)) {
313
+ return `Must match pattern: ${check}`;
314
+ }
315
+ break;
316
+ case "email":
317
+ if (check === true && !EMAIL_PATTERN.test(input)) {
318
+ return "Must be a valid email address";
319
+ }
320
+ break;
321
+ case "url":
322
+ if (check === true && !URL_PATTERN.test(input)) {
323
+ return "Must be a valid URL";
324
+ }
325
+ break;
326
+ case "numeric":
327
+ if (check === true && !NUMERIC_PATTERN.test(input)) {
328
+ return "Must be a numeric value";
329
+ }
330
+ break;
331
+ case "integer":
332
+ if (check === true && !INTEGER_PATTERN.test(input)) {
333
+ return "Must be an integer";
334
+ }
335
+ break;
336
+ case "alphanumeric":
337
+ if (check === true && !ALPHANUMERIC_PATTERN.test(input)) {
338
+ return "Must contain only letters and digits";
339
+ }
340
+ break;
341
+ }
342
+ return void 0;
343
+ }
344
+ function validateInput(input, rules) {
345
+ assertValidationRules(rules);
346
+ const errors = [];
347
+ for (const ruleName of VALIDATION_RULE_NAMES) {
348
+ const check = ruleValue(rules, ruleName);
349
+ if (check === void 0 || check === false) {
350
+ continue;
351
+ }
352
+ const message = evaluateRule(ruleName, check, input);
353
+ if (message !== void 0) {
354
+ errors.push({ rule: ruleName, message });
355
+ }
356
+ }
357
+ return {
358
+ valid: errors.length === 0,
359
+ errors
360
+ };
361
+ }
362
+ function testInput(input, rules) {
363
+ return validateInput(input, rules).valid;
364
+ }
365
+ function createEnumValues(enumeration) {
366
+ const values = [];
367
+ for (const key of Object.keys(enumeration)) {
368
+ const value = enumeration[key];
369
+ if (typeof value === "number") {
370
+ values.push(value);
371
+ continue;
372
+ }
373
+ const numericKey = Number(key);
374
+ const keyIsNumeric = Number.isInteger(numericKey) && String(numericKey) === key;
375
+ const reverseValue = enumeration[value];
376
+ if (!(keyIsNumeric && typeof reverseValue === "number")) {
377
+ values.push(value);
378
+ }
379
+ }
380
+ return values;
381
+ }
382
+ function createShapeGuard(shape, optional) {
383
+ const allowed = /* @__PURE__ */ new Set();
384
+ for (const key in shape) {
385
+ if (Object.prototype.hasOwnProperty.call(shape, key)) {
386
+ allowed.add(key);
387
+ }
388
+ }
389
+ const optionalSet = new Set(
390
+ optional === true ? [...allowed] : Array.isArray(optional) ? optional.map((key) => String(key)) : []
391
+ );
392
+ return (value) => {
393
+ if (!isRecord(value)) {
394
+ return false;
395
+ }
396
+ for (const key of Object.keys(value)) {
397
+ if (!allowed.has(key)) {
398
+ return false;
399
+ }
400
+ }
401
+ for (const key in shape) {
402
+ if (!Object.prototype.hasOwnProperty.call(shape, key)) {
403
+ continue;
404
+ }
405
+ const present = key in value;
406
+ if (!optionalSet.has(key) && !present) {
407
+ return false;
408
+ }
409
+ if (present && !shape[key](recordValue(value, key))) {
410
+ return false;
411
+ }
412
+ }
413
+ return true;
414
+ };
415
+ }
416
+ function isArray(value) {
417
+ return Array.isArray(value);
418
+ }
419
+ function isDataView(value) {
420
+ return value instanceof DataView;
421
+ }
422
+ function isArrayBufferView(value) {
423
+ return ArrayBuffer.isView(value);
424
+ }
425
+ function isInt8Array(value) {
426
+ return value instanceof Int8Array;
427
+ }
428
+ function isUint8Array(value) {
429
+ return value instanceof Uint8Array;
430
+ }
431
+ function isUint8ClampedArray(value) {
432
+ return value instanceof Uint8ClampedArray;
433
+ }
434
+ function isInt16Array(value) {
435
+ return value instanceof Int16Array;
436
+ }
437
+ function isUint16Array(value) {
438
+ return value instanceof Uint16Array;
439
+ }
440
+ function isInt32Array(value) {
441
+ return value instanceof Int32Array;
442
+ }
443
+ function isUint32Array(value) {
444
+ return value instanceof Uint32Array;
445
+ }
446
+ function isFloat32Array(value) {
447
+ return value instanceof Float32Array;
448
+ }
449
+ function isFloat64Array(value) {
450
+ return value instanceof Float64Array;
451
+ }
452
+ function isBigInt64Array(value) {
453
+ return typeof BigInt64Array !== "undefined" && value instanceof BigInt64Array;
454
+ }
455
+ function isBigUint64Array(value) {
456
+ return typeof BigUint64Array !== "undefined" && value instanceof BigUint64Array;
457
+ }
458
+ function isEmptyString(value) {
459
+ return value === "";
460
+ }
461
+ function isEmptyArray(value) {
462
+ return Array.isArray(value) && value.length === 0;
463
+ }
464
+ function isEmptyObject(value) {
465
+ if (!isRecord(value)) {
466
+ return false;
467
+ }
468
+ return Object.keys(value).length === 0 && enumerableSymbolCount(value) === 0;
469
+ }
470
+ function isEmptyMap(value) {
471
+ return value instanceof Map && value.size === 0;
472
+ }
473
+ function isEmptySet(value) {
474
+ return value instanceof Set && value.size === 0;
475
+ }
476
+ function isNonEmptyString(value) {
477
+ return typeof value === "string" && value.length > 0;
478
+ }
479
+ function isNonEmptyArray(value) {
480
+ return Array.isArray(value) && value.length > 0;
481
+ }
482
+ function isNonEmptyObject(value) {
483
+ if (!isRecord(value)) {
484
+ return false;
485
+ }
486
+ return Object.keys(value).length > 0 || enumerableSymbolCount(value) > 0;
487
+ }
488
+ function isNonEmptyMap(value) {
489
+ return value instanceof Map && value.size > 0;
490
+ }
491
+ function isNonEmptySet(value) {
492
+ return value instanceof Set && value.size > 0;
493
+ }
494
+ function isZeroArg(value) {
495
+ return value.length === 0;
496
+ }
497
+ function isAsyncFunction(value) {
498
+ return isFunction(value) && value.constructor.name === "AsyncFunction";
499
+ }
500
+ function isGeneratorFunction(value) {
501
+ return isFunction(value) && value.constructor.name === "GeneratorFunction";
502
+ }
503
+ function isAsyncGeneratorFunction(value) {
504
+ return isFunction(value) && value.constructor.name === "AsyncGeneratorFunction";
505
+ }
506
+ function isZeroArgAsync(value) {
507
+ return isFunction(value) && isZeroArg(value) && isAsyncFunction(value);
508
+ }
509
+ function isZeroArgGenerator(value) {
510
+ return isFunction(value) && isZeroArg(value) && isGeneratorFunction(value);
511
+ }
512
+ function isZeroArgAsyncGenerator(value) {
513
+ return isFunction(value) && isZeroArg(value) && isAsyncGeneratorFunction(value);
514
+ }
515
+ function arrayOf(elementGuard) {
516
+ return (value) => isArray(value) && value.every(elementGuard);
517
+ }
518
+ function tupleOf(...guards) {
519
+ return (value) => {
520
+ if (!Array.isArray(value) || value.length !== guards.length) {
521
+ return false;
522
+ }
523
+ for (let index = 0; index < guards.length; index += 1) {
524
+ const guard = guards[index];
525
+ if (!guard(value[index])) {
526
+ return false;
527
+ }
528
+ }
529
+ return true;
530
+ };
531
+ }
532
+ function objectOf(shape, optional) {
533
+ return createShapeGuard(shape, optional);
534
+ }
535
+ function literalOf(...literals) {
536
+ return (value) => literals.some((literal) => Object.is(literal, value));
537
+ }
538
+ function instanceOf(constructor) {
539
+ return (value) => isObject(value) && value instanceof constructor;
540
+ }
541
+ function enumOf(enumeration) {
542
+ const values = createEnumValues(enumeration);
543
+ return (value) => {
544
+ if (!isString(value) && !isNumber(value)) {
545
+ return false;
546
+ }
547
+ for (const enumValue of values) {
548
+ if (Object.is(enumValue, value)) {
549
+ return true;
550
+ }
551
+ }
552
+ return false;
553
+ };
554
+ }
555
+ function setOf(elementGuard) {
556
+ return (value) => {
557
+ if (!isSet(value)) {
558
+ return false;
559
+ }
560
+ for (const entry of value) {
561
+ if (!elementGuard(entry)) {
562
+ return false;
563
+ }
564
+ }
565
+ return true;
566
+ };
567
+ }
568
+ function mapOf(keyGuard, valueGuard) {
569
+ return (value) => {
570
+ if (!isMap(value)) {
571
+ return false;
572
+ }
573
+ for (const [key, entryValue] of value) {
574
+ if (!keyGuard(key) || !valueGuard(entryValue)) {
575
+ return false;
576
+ }
577
+ }
578
+ return true;
579
+ };
580
+ }
581
+ function recordOf(shape, optional) {
582
+ return createShapeGuard(shape, optional);
583
+ }
584
+ function iterableOf(elementGuard) {
585
+ return (value) => {
586
+ if (!isIterable(value)) {
587
+ return false;
588
+ }
589
+ for (const entry of value) {
590
+ if (!elementGuard(entry)) {
591
+ return false;
592
+ }
593
+ }
594
+ return true;
595
+ };
596
+ }
597
+ function keyOf(value) {
598
+ return (entry) => (isString(entry) || isSymbol(entry) || isNumber(entry)) && entry in value;
599
+ }
600
+ function pickOf(shape, keys) {
601
+ const result = {};
602
+ for (const key of keys) {
603
+ if (Object.prototype.hasOwnProperty.call(shape, key)) {
604
+ result[key] = shape[key];
605
+ }
606
+ }
607
+ return result;
608
+ }
609
+ function omitOf(shape, keys) {
610
+ const skipped = /* @__PURE__ */ new Set();
611
+ for (const key of keys) {
612
+ skipped.add(key);
613
+ }
614
+ const result = {};
615
+ for (const key in shape) {
616
+ if (!Object.prototype.hasOwnProperty.call(shape, key)) {
617
+ continue;
618
+ }
619
+ if (!skipped.has(key)) {
620
+ result[key] = shape[key];
621
+ }
622
+ }
623
+ return result;
624
+ }
625
+ function andOf(left, right) {
626
+ return (value) => left(value) && right(value);
627
+ }
628
+ function orOf(left, right) {
629
+ return (value) => left(value) || right(value);
630
+ }
631
+ function notOf(guard) {
632
+ return (value) => !guard(value);
633
+ }
634
+ function complementOf(base, excluded) {
635
+ return (value) => {
636
+ if (!base(value)) {
637
+ return false;
638
+ }
639
+ return !excluded(value);
640
+ };
641
+ }
642
+ function unionOf(...guards) {
643
+ return (value) => guards.some((guard) => guard(value));
644
+ }
645
+ function intersectionOf(...guards) {
646
+ return (value) => guards.every((guard) => guard(value));
647
+ }
648
+ function composedOf(...guards) {
649
+ return (value) => guards.every((guard) => guard(value));
650
+ }
651
+ function whereOf(base, predicate) {
652
+ return (value) => {
653
+ if (!base(value)) {
654
+ return false;
655
+ }
656
+ return predicate(value);
657
+ };
658
+ }
659
+ function lazyOf(thunk) {
660
+ return (value) => thunk()(value);
661
+ }
662
+ function transformOf(base, project, target) {
663
+ return (value) => {
664
+ if (!base(value)) {
665
+ return false;
666
+ }
667
+ return target(project(value));
668
+ };
669
+ }
670
+ function nullableOf(guard) {
671
+ return (value) => value === null || guard(value);
672
+ }
673
+ exports.ALPHANUMERIC_PATTERN = ALPHANUMERIC_PATTERN;
674
+ exports.EMAIL_PATTERN = EMAIL_PATTERN;
675
+ exports.INTEGER_PATTERN = INTEGER_PATTERN;
676
+ exports.NUMERIC_PATTERN = NUMERIC_PATTERN;
677
+ exports.URL_PATTERN = URL_PATTERN;
678
+ exports.VALIDATION_RULE_NAMES = VALIDATION_RULE_NAMES;
679
+ exports.ValidatorError = ValidatorError;
680
+ exports.andOf = andOf;
681
+ exports.arrayOf = arrayOf;
682
+ exports.assertValidationRules = assertValidationRules;
683
+ exports.cloneValidationRules = cloneValidationRules;
684
+ exports.complementOf = complementOf;
685
+ exports.composedOf = composedOf;
686
+ exports.createEnumValues = createEnumValues;
687
+ exports.createShapeGuard = createShapeGuard;
688
+ exports.ensureOmittedShape = ensureOmittedShape;
689
+ exports.ensurePickedShape = ensurePickedShape;
690
+ exports.enumOf = enumOf;
691
+ exports.enumerableSymbolCount = enumerableSymbolCount;
692
+ exports.evaluateRule = evaluateRule;
693
+ exports.instanceOf = instanceOf;
694
+ exports.intersectionOf = intersectionOf;
695
+ exports.isArray = isArray;
696
+ exports.isArrayBuffer = isArrayBuffer;
697
+ exports.isArrayBufferView = isArrayBufferView;
698
+ exports.isAsyncFunction = isAsyncFunction;
699
+ exports.isAsyncGeneratorFunction = isAsyncGeneratorFunction;
700
+ exports.isAsyncIterator = isAsyncIterator;
701
+ exports.isBigInt = isBigInt;
702
+ exports.isBigInt64Array = isBigInt64Array;
703
+ exports.isBigUint64Array = isBigUint64Array;
704
+ exports.isBoolean = isBoolean;
705
+ exports.isBooleanRuleValue = isBooleanRuleValue;
706
+ exports.isDataView = isDataView;
707
+ exports.isDate = isDate;
708
+ exports.isDefined = isDefined;
709
+ exports.isEmptyArray = isEmptyArray;
710
+ exports.isEmptyMap = isEmptyMap;
711
+ exports.isEmptyObject = isEmptyObject;
712
+ exports.isEmptySet = isEmptySet;
713
+ exports.isEmptyString = isEmptyString;
714
+ exports.isError = isError;
715
+ exports.isFloat32Array = isFloat32Array;
716
+ exports.isFloat64Array = isFloat64Array;
717
+ exports.isFunction = isFunction;
718
+ exports.isGeneratorFunction = isGeneratorFunction;
719
+ exports.isInt16Array = isInt16Array;
720
+ exports.isInt32Array = isInt32Array;
721
+ exports.isInt8Array = isInt8Array;
722
+ exports.isIterable = isIterable;
723
+ exports.isMap = isMap;
724
+ exports.isNonEmptyArray = isNonEmptyArray;
725
+ exports.isNonEmptyMap = isNonEmptyMap;
726
+ exports.isNonEmptyObject = isNonEmptyObject;
727
+ exports.isNonEmptySet = isNonEmptySet;
728
+ exports.isNonEmptyString = isNonEmptyString;
729
+ exports.isNull = isNull;
730
+ exports.isNumber = isNumber;
731
+ exports.isNumberRuleValue = isNumberRuleValue;
732
+ exports.isObject = isObject;
733
+ exports.isPatternRuleValue = isPatternRuleValue;
734
+ exports.isPromise = isPromise;
735
+ exports.isPromiseLike = isPromiseLike;
736
+ exports.isRecord = isRecord;
737
+ exports.isRegExp = isRegExp;
738
+ exports.isRuleValue = isRuleValue;
739
+ exports.isSet = isSet;
740
+ exports.isSharedArrayBuffer = isSharedArrayBuffer;
741
+ exports.isString = isString;
742
+ exports.isSymbol = isSymbol;
743
+ exports.isUint16Array = isUint16Array;
744
+ exports.isUint32Array = isUint32Array;
745
+ exports.isUint8Array = isUint8Array;
746
+ exports.isUint8ClampedArray = isUint8ClampedArray;
747
+ exports.isUndefined = isUndefined;
748
+ exports.isValidationError = isValidationError;
749
+ exports.isValidationResult = isValidationResult;
750
+ exports.isValidationRuleName = isValidationRuleName;
751
+ exports.isValidationRules = isValidationRules;
752
+ exports.isValidatorError = isValidatorError;
753
+ exports.isValidatorFunction = isValidatorFunction;
754
+ exports.isWeakMap = isWeakMap;
755
+ exports.isWeakSet = isWeakSet;
756
+ exports.isZeroArg = isZeroArg;
757
+ exports.isZeroArgAsync = isZeroArgAsync;
758
+ exports.isZeroArgAsyncGenerator = isZeroArgAsyncGenerator;
759
+ exports.isZeroArgGenerator = isZeroArgGenerator;
760
+ exports.iterableOf = iterableOf;
761
+ exports.keyOf = keyOf;
762
+ exports.lazyOf = lazyOf;
763
+ exports.literalOf = literalOf;
764
+ exports.mapOf = mapOf;
765
+ exports.notOf = notOf;
766
+ exports.nullableOf = nullableOf;
767
+ exports.objectOf = objectOf;
768
+ exports.omitOf = omitOf;
769
+ exports.orOf = orOf;
770
+ exports.pickOf = pickOf;
771
+ exports.recordOf = recordOf;
772
+ exports.recordValue = recordValue;
773
+ exports.ruleValue = ruleValue;
774
+ exports.setOf = setOf;
775
+ exports.testInput = testInput;
776
+ exports.transformOf = transformOf;
777
+ exports.tupleOf = tupleOf;
778
+ exports.unionOf = unionOf;
779
+ exports.validateInput = validateInput;
780
+ exports.whereOf = whereOf;
781
+ //# sourceMappingURL=index.cjs.map