1 | "use strict";
|
2 | var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3 | if (k2 === undefined) k2 = k;
|
4 | Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
5 | }) : (function(o, m, k, k2) {
|
6 | if (k2 === undefined) k2 = k;
|
7 | o[k2] = m[k];
|
8 | }));
|
9 | var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
10 | for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
11 | };
|
12 | Object.defineProperty(exports, "__esModule", { value: true });
|
13 | exports.ArgumentError = exports.Predicate = void 0;
|
14 | const callsites_1 = require("callsites");
|
15 | const infer_label_1 = require("./utils/infer-label");
|
16 | const predicate_1 = require("./predicates/predicate");
|
17 | Object.defineProperty(exports, "Predicate", { enumerable: true, get: function () { return predicate_1.Predicate; } });
|
18 | const base_predicate_1 = require("./predicates/base-predicate");
|
19 | const modifiers_1 = require("./modifiers");
|
20 | const predicates_1 = require("./predicates");
|
21 | const test_1 = require("./test");
|
22 | const ow = (value, labelOrPredicate, predicate) => {
|
23 | if (!base_predicate_1.isPredicate(labelOrPredicate) && typeof labelOrPredicate !== 'string') {
|
24 | throw new TypeError(`Expected second argument to be a predicate or a string, got \`${typeof labelOrPredicate}\``);
|
25 | }
|
26 | if (base_predicate_1.isPredicate(labelOrPredicate)) {
|
27 |
|
28 | const stackFrames = callsites_1.default();
|
29 | test_1.default(value, () => infer_label_1.inferLabel(stackFrames), labelOrPredicate);
|
30 | return;
|
31 | }
|
32 | test_1.default(value, labelOrPredicate, predicate);
|
33 | };
|
34 | Object.defineProperties(ow, {
|
35 | isValid: {
|
36 | value: (value, predicate) => {
|
37 | try {
|
38 | ow(value, predicate);
|
39 | return true;
|
40 | }
|
41 | catch {
|
42 | return false;
|
43 | }
|
44 | }
|
45 | },
|
46 | create: {
|
47 | value: (labelOrPredicate, predicate) => (value, label) => {
|
48 | if (base_predicate_1.isPredicate(labelOrPredicate)) {
|
49 | const stackFrames = callsites_1.default();
|
50 | test_1.default(value, label !== null && label !== void 0 ? label : (() => infer_label_1.inferLabel(stackFrames)), labelOrPredicate);
|
51 | return;
|
52 | }
|
53 | test_1.default(value, label !== null && label !== void 0 ? label : (labelOrPredicate), predicate);
|
54 | }
|
55 | }
|
56 | });
|
57 |
|
58 |
|
59 |
|
60 | const _ow = predicates_1.default(modifiers_1.default(ow));
|
61 | exports.default = _ow;
|
62 | __exportStar(require("./predicates"), exports);
|
63 | var argument_error_1 = require("./argument-error");
|
64 | Object.defineProperty(exports, "ArgumentError", { enumerable: true, get: function () { return argument_error_1.ArgumentError; } });
|