bupkis 0.7.2 → 0.8.0
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/CHANGELOG.md +7 -0
- package/dist/commonjs/assertion/assertion.d.ts +0 -13
- package/dist/commonjs/assertion/assertion.d.ts.map +1 -1
- package/dist/commonjs/assertion/assertion.js +42 -27
- package/dist/commonjs/assertion/assertion.js.map +1 -1
- package/dist/commonjs/assertion/create.d.ts +2 -0
- package/dist/commonjs/assertion/create.d.ts.map +1 -1
- package/dist/commonjs/assertion/create.js +7 -4
- package/dist/commonjs/assertion/create.js.map +1 -1
- package/dist/commonjs/assertion/impl/assertion-util.d.ts +2 -0
- package/dist/commonjs/assertion/impl/assertion-util.d.ts.map +1 -1
- package/dist/commonjs/assertion/impl/assertion-util.js +13 -2
- package/dist/commonjs/assertion/impl/assertion-util.js.map +1 -1
- package/dist/commonjs/assertion/impl/sync-basic.d.ts.map +1 -1
- package/dist/commonjs/assertion/impl/sync-basic.js +2 -3
- package/dist/commonjs/assertion/impl/sync-basic.js.map +1 -1
- package/dist/commonjs/assertion/impl/sync-collection.d.ts.map +1 -1
- package/dist/commonjs/assertion/impl/sync-collection.js +24 -14
- package/dist/commonjs/assertion/impl/sync-collection.js.map +1 -1
- package/dist/commonjs/assertion/impl/sync-esoteric.d.ts +1 -5
- package/dist/commonjs/assertion/impl/sync-esoteric.d.ts.map +1 -1
- package/dist/commonjs/assertion/impl/sync-esoteric.js +11 -13
- package/dist/commonjs/assertion/impl/sync-esoteric.js.map +1 -1
- package/dist/commonjs/assertion/impl/sync-parametric.d.ts.map +1 -1
- package/dist/commonjs/assertion/impl/sync-parametric.js +4 -2
- package/dist/commonjs/assertion/impl/sync-parametric.js.map +1 -1
- package/dist/commonjs/assertion/impl/sync.d.ts +2 -10
- package/dist/commonjs/assertion/impl/sync.d.ts.map +1 -1
- package/dist/commonjs/assertion/slotify.d.ts +1 -0
- package/dist/commonjs/assertion/slotify.d.ts.map +1 -1
- package/dist/commonjs/assertion/slotify.js +1 -0
- package/dist/commonjs/assertion/slotify.js.map +1 -1
- package/dist/commonjs/bootstrap.d.ts +1 -5
- package/dist/commonjs/bootstrap.d.ts.map +1 -1
- package/dist/commonjs/bootstrap.js +1 -0
- package/dist/commonjs/bootstrap.js.map +1 -1
- package/dist/commonjs/diff.d.ts +51 -0
- package/dist/commonjs/diff.d.ts.map +1 -0
- package/dist/commonjs/diff.js +279 -0
- package/dist/commonjs/diff.js.map +1 -0
- package/dist/commonjs/error.d.ts +17 -0
- package/dist/commonjs/error.d.ts.map +1 -1
- package/dist/commonjs/error.js +17 -7
- package/dist/commonjs/error.js.map +1 -1
- package/dist/commonjs/expect.d.ts.map +1 -1
- package/dist/commonjs/expect.js +13 -0
- package/dist/commonjs/expect.js.map +1 -1
- package/dist/commonjs/guards.d.ts +12 -8
- package/dist/commonjs/guards.d.ts.map +1 -1
- package/dist/commonjs/guards.js +24 -14
- package/dist/commonjs/guards.js.map +1 -1
- package/dist/commonjs/index.d.ts +1 -5
- package/dist/commonjs/index.d.ts.map +1 -1
- package/dist/commonjs/schema.d.ts.map +1 -1
- package/dist/commonjs/schema.js +3 -2
- package/dist/commonjs/schema.js.map +1 -1
- package/dist/commonjs/use.js +22 -8
- package/dist/commonjs/use.js.map +1 -1
- package/dist/commonjs/util.d.ts +1 -0
- package/dist/commonjs/util.d.ts.map +1 -1
- package/dist/commonjs/util.js +14 -10
- package/dist/commonjs/util.js.map +1 -1
- package/dist/commonjs/value-to-schema.d.ts +1 -0
- package/dist/commonjs/value-to-schema.d.ts.map +1 -1
- package/dist/commonjs/value-to-schema.js +17 -10
- package/dist/commonjs/value-to-schema.js.map +1 -1
- package/dist/esm/assertion/assertion.d.ts +0 -13
- package/dist/esm/assertion/assertion.d.ts.map +1 -1
- package/dist/esm/assertion/assertion.js +42 -27
- package/dist/esm/assertion/assertion.js.map +1 -1
- package/dist/esm/assertion/create.d.ts +2 -0
- package/dist/esm/assertion/create.d.ts.map +1 -1
- package/dist/esm/assertion/create.js +7 -4
- package/dist/esm/assertion/create.js.map +1 -1
- package/dist/esm/assertion/impl/assertion-util.d.ts +2 -0
- package/dist/esm/assertion/impl/assertion-util.d.ts.map +1 -1
- package/dist/esm/assertion/impl/assertion-util.js +13 -2
- package/dist/esm/assertion/impl/assertion-util.js.map +1 -1
- package/dist/esm/assertion/impl/sync-basic.d.ts.map +1 -1
- package/dist/esm/assertion/impl/sync-basic.js +2 -3
- package/dist/esm/assertion/impl/sync-basic.js.map +1 -1
- package/dist/esm/assertion/impl/sync-collection.d.ts.map +1 -1
- package/dist/esm/assertion/impl/sync-collection.js +24 -14
- package/dist/esm/assertion/impl/sync-collection.js.map +1 -1
- package/dist/esm/assertion/impl/sync-esoteric.d.ts +1 -5
- package/dist/esm/assertion/impl/sync-esoteric.d.ts.map +1 -1
- package/dist/esm/assertion/impl/sync-esoteric.js +11 -13
- package/dist/esm/assertion/impl/sync-esoteric.js.map +1 -1
- package/dist/esm/assertion/impl/sync-parametric.d.ts.map +1 -1
- package/dist/esm/assertion/impl/sync-parametric.js +4 -2
- package/dist/esm/assertion/impl/sync-parametric.js.map +1 -1
- package/dist/esm/assertion/impl/sync.d.ts +2 -10
- package/dist/esm/assertion/impl/sync.d.ts.map +1 -1
- package/dist/esm/assertion/slotify.d.ts +1 -0
- package/dist/esm/assertion/slotify.d.ts.map +1 -1
- package/dist/esm/assertion/slotify.js +1 -0
- package/dist/esm/assertion/slotify.js.map +1 -1
- package/dist/esm/bootstrap.d.ts +1 -5
- package/dist/esm/bootstrap.d.ts.map +1 -1
- package/dist/esm/bootstrap.js +1 -0
- package/dist/esm/bootstrap.js.map +1 -1
- package/dist/esm/diff.d.ts +51 -0
- package/dist/esm/diff.d.ts.map +1 -0
- package/dist/esm/diff.js +273 -0
- package/dist/esm/diff.js.map +1 -0
- package/dist/esm/error.d.ts +17 -0
- package/dist/esm/error.d.ts.map +1 -1
- package/dist/esm/error.js +17 -7
- package/dist/esm/error.js.map +1 -1
- package/dist/esm/expect.d.ts.map +1 -1
- package/dist/esm/expect.js +13 -0
- package/dist/esm/expect.js.map +1 -1
- package/dist/esm/guards.d.ts +12 -8
- package/dist/esm/guards.d.ts.map +1 -1
- package/dist/esm/guards.js +23 -12
- package/dist/esm/guards.js.map +1 -1
- package/dist/esm/index.d.ts +1 -5
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/schema.d.ts.map +1 -1
- package/dist/esm/schema.js +3 -2
- package/dist/esm/schema.js.map +1 -1
- package/dist/esm/use.js +19 -6
- package/dist/esm/use.js.map +1 -1
- package/dist/esm/util.d.ts +1 -0
- package/dist/esm/util.d.ts.map +1 -1
- package/dist/esm/util.js +14 -10
- package/dist/esm/util.js.map +1 -1
- package/dist/esm/value-to-schema.d.ts +1 -0
- package/dist/esm/value-to-schema.d.ts.map +1 -1
- package/dist/esm/value-to-schema.js +17 -10
- package/dist/esm/value-to-schema.js.map +1 -1
- package/package.json +22 -6
- package/src/assertion/assertion.ts +47 -28
- package/src/assertion/create.ts +8 -8
- package/src/assertion/impl/assertion-util.ts +27 -16
- package/src/assertion/impl/sync-basic.ts +3 -3
- package/src/assertion/impl/sync-collection.ts +34 -14
- package/src/assertion/impl/sync-esoteric.ts +17 -13
- package/src/assertion/impl/sync-parametric.ts +5 -2
- package/src/assertion/slotify.ts +1 -0
- package/src/bootstrap.ts +1 -0
- package/src/diff.ts +343 -0
- package/src/error.ts +35 -7
- package/src/expect.ts +13 -0
- package/src/guards.ts +27 -15
- package/src/schema.ts +4 -2
- package/src/use.ts +21 -7
- package/src/util.ts +15 -12
- package/src/value-to-schema.ts +18 -10
package/dist/commonjs/guards.js
CHANGED
|
@@ -17,35 +17,40 @@
|
|
|
17
17
|
* @packageDocumentation
|
|
18
18
|
*/
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.isExpectItExecutor = exports.isError = exports.isA = exports.isPhraseLiteral = exports.isPhraseLiteralChoice = exports.isWeakKey = exports.
|
|
20
|
+
exports.isExpectItExecutor = exports.isError = exports.isA = exports.isPhraseLiteral = exports.isPhraseLiteralChoice = exports.isWeakKey = exports.isNonNullObject = exports.isString = exports.isAssertionFailure = exports.isFunction = exports.isBoolean = exports.isConstructible = exports.isPromiseLike = exports.isZodPromise = exports.isObject = void 0;
|
|
21
21
|
exports.isZodType = isZodType;
|
|
22
22
|
const v4_1 = require("zod/v4");
|
|
23
23
|
const constant_js_1 = require("./constant.js");
|
|
24
|
+
const { isArray } = Array;
|
|
24
25
|
function isZodType(value, type) {
|
|
25
26
|
const isValid = (0, exports.isObject)(value) &&
|
|
26
27
|
'def' in value &&
|
|
27
28
|
!!value.def &&
|
|
28
29
|
typeof value.def === 'object' &&
|
|
29
30
|
'type' in value.def;
|
|
30
|
-
if (!isValid)
|
|
31
|
+
if (!isValid) {
|
|
31
32
|
return false;
|
|
32
|
-
|
|
33
|
+
}
|
|
34
|
+
if (type === undefined) {
|
|
33
35
|
return true;
|
|
36
|
+
}
|
|
34
37
|
return value.def.type === type;
|
|
35
38
|
}
|
|
36
39
|
/**
|
|
37
40
|
* Type guard for a plain object.
|
|
38
41
|
*
|
|
42
|
+
* @function
|
|
39
43
|
* @param value Value to test
|
|
40
44
|
* @returns `true` if the value is a plain object, `false` otherwise
|
|
41
45
|
*/
|
|
42
46
|
const isObject = (value) => {
|
|
43
|
-
return typeof value === 'object' && value !== null && !
|
|
47
|
+
return typeof value === 'object' && value !== null && !isArray(value);
|
|
44
48
|
};
|
|
45
49
|
exports.isObject = isObject;
|
|
46
50
|
/**
|
|
47
51
|
* Returns `true` if the given value is a {@link z.ZodPromise} schema.
|
|
48
52
|
*
|
|
53
|
+
* @function
|
|
49
54
|
* @param value - Value to test
|
|
50
55
|
* @returns `true` if the value is a `ZodPromise` schema; `false` otherwise
|
|
51
56
|
*/
|
|
@@ -54,6 +59,7 @@ exports.isZodPromise = isZodPromise;
|
|
|
54
59
|
/**
|
|
55
60
|
* Checks if a value is "promise-like", meaning it is a "thenable" object.
|
|
56
61
|
*
|
|
62
|
+
* @function
|
|
57
63
|
* @param value - Value to test
|
|
58
64
|
* @returns `true` if the value is promise-like, `false` otherwise
|
|
59
65
|
*/
|
|
@@ -74,6 +80,7 @@ exports.isPromiseLike = isPromiseLike;
|
|
|
74
80
|
* This may be the only way we can determine, at runtime, if a function is a
|
|
75
81
|
* constructor without actually calling it. I am unsure if this only works for
|
|
76
82
|
* classes.
|
|
83
|
+
* @function
|
|
77
84
|
* @param fn - Function to test
|
|
78
85
|
* @returns Whether the function is constructable
|
|
79
86
|
*/
|
|
@@ -83,7 +90,7 @@ const isConstructible = (fn) => {
|
|
|
83
90
|
}
|
|
84
91
|
try {
|
|
85
92
|
// this will throw if there is no `[[construct]]` slot.. or so I've heard.
|
|
86
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
93
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call, custom/require-function-tag-in-arrow-functions
|
|
87
94
|
new new Proxy(fn, { construct: () => ({}) })();
|
|
88
95
|
return true;
|
|
89
96
|
}
|
|
@@ -95,6 +102,7 @@ exports.isConstructible = isConstructible;
|
|
|
95
102
|
/**
|
|
96
103
|
* Type guard for a boolean value
|
|
97
104
|
*
|
|
105
|
+
* @function
|
|
98
106
|
* @param value Value to check
|
|
99
107
|
* @returns `true` if the value is a boolean, `false` otherwise
|
|
100
108
|
*/
|
|
@@ -103,6 +111,7 @@ exports.isBoolean = isBoolean;
|
|
|
103
111
|
/**
|
|
104
112
|
* Type guard for a function value
|
|
105
113
|
*
|
|
114
|
+
* @function
|
|
106
115
|
* @param value Value to check
|
|
107
116
|
* @returns `true` if the value is a function, `false` otherwise
|
|
108
117
|
*/
|
|
@@ -125,6 +134,7 @@ const AssertionFailureSchema = v4_1.z.object({
|
|
|
125
134
|
/**
|
|
126
135
|
* Type guard for a {@link AssertionFailure} object
|
|
127
136
|
*
|
|
137
|
+
* @function
|
|
128
138
|
* @param value Value to check
|
|
129
139
|
* @returns `true` if the value is an `AssertionFailure`, `false` otherwise
|
|
130
140
|
* @internal
|
|
@@ -134,6 +144,7 @@ exports.isAssertionFailure = isAssertionFailure;
|
|
|
134
144
|
/**
|
|
135
145
|
* Type guard for a string value
|
|
136
146
|
*
|
|
147
|
+
* @function
|
|
137
148
|
* @param value Value to check
|
|
138
149
|
* @returns `true` if the value is a string, `false` otherwise
|
|
139
150
|
*/
|
|
@@ -142,25 +153,19 @@ exports.isString = isString;
|
|
|
142
153
|
/**
|
|
143
154
|
* Type guard for a non-null object value
|
|
144
155
|
*
|
|
156
|
+
* @function
|
|
145
157
|
* @param value Value to check
|
|
146
158
|
* @returns `true` if the value is an object and not null, `false` otherwise
|
|
147
159
|
*/
|
|
148
160
|
const isNonNullObject = (value) => typeof value === 'object' && value !== null;
|
|
149
161
|
exports.isNonNullObject = isNonNullObject;
|
|
150
|
-
/**
|
|
151
|
-
* Type guard for a null or non-object value
|
|
152
|
-
*
|
|
153
|
-
* @param value Value to check
|
|
154
|
-
* @returns `true` if the value is null or not an object, `false` otherwise
|
|
155
|
-
*/
|
|
156
|
-
const isNullOrNonObject = (value) => typeof value !== 'object' || value === null;
|
|
157
|
-
exports.isNullOrNonObject = isNullOrNonObject;
|
|
158
162
|
/**
|
|
159
163
|
* Type guard for a valid WeakKey (object, function, or symbol).
|
|
160
164
|
*
|
|
161
165
|
* WeakMaps and WeakSets can only use objects (including functions) or symbols
|
|
162
166
|
* as keys, not primitives like strings, numbers, booleans, null, or undefined.
|
|
163
167
|
*
|
|
168
|
+
* @function
|
|
164
169
|
* @param value Value to check
|
|
165
170
|
* @returns `true` if the value is a valid WeakKey (object, function, or
|
|
166
171
|
* symbol), `false` otherwise
|
|
@@ -172,16 +177,18 @@ exports.isWeakKey = isWeakKey;
|
|
|
172
177
|
/**
|
|
173
178
|
* Type guard for a {@link PhraseLiteralChoice}, which is a tuple of strings.
|
|
174
179
|
*
|
|
180
|
+
* @function
|
|
175
181
|
* @param value Assertion part to check
|
|
176
182
|
* @returns `true` if the part is a `PhraseLiteralChoice`, `false` otherwise
|
|
177
183
|
* @internal
|
|
178
184
|
*/
|
|
179
|
-
const isPhraseLiteralChoice = (value) =>
|
|
185
|
+
const isPhraseLiteralChoice = (value) => isArray(value) && value.every(exports.isPhraseLiteral);
|
|
180
186
|
exports.isPhraseLiteralChoice = isPhraseLiteralChoice;
|
|
181
187
|
/**
|
|
182
188
|
* Type guard for a {@link PhraseLiteral}, which is just a string that does not
|
|
183
189
|
* begin with `not `.
|
|
184
190
|
*
|
|
191
|
+
* @function
|
|
185
192
|
* @param value Assertion part to check
|
|
186
193
|
* @returns `true` if the part is a `PhraseLiteral`, `false` otherwise
|
|
187
194
|
* @internal
|
|
@@ -207,6 +214,7 @@ exports.isPhraseLiteral = isPhraseLiteral;
|
|
|
207
214
|
* ```
|
|
208
215
|
*
|
|
209
216
|
* @template T - The constructor type to check against
|
|
217
|
+
* @function
|
|
210
218
|
* @param value - Value to test
|
|
211
219
|
* @param ctor - Constructor function to check instanceof
|
|
212
220
|
* @returns `true` if the value is an instance of the constructor, `false`
|
|
@@ -236,6 +244,7 @@ exports.isA = isA;
|
|
|
236
244
|
* }
|
|
237
245
|
* ```
|
|
238
246
|
*
|
|
247
|
+
* @function
|
|
239
248
|
* @param value - Value to test
|
|
240
249
|
* @returns `true` if the value is an Error instance, `false` otherwise
|
|
241
250
|
*/
|
|
@@ -262,6 +271,7 @@ exports.isError = isError;
|
|
|
262
271
|
* ```
|
|
263
272
|
*
|
|
264
273
|
* @template Subject - The subject type that the executor function operates on
|
|
274
|
+
* @function
|
|
265
275
|
* @param value - Value to test
|
|
266
276
|
* @returns `true` if the value is an ExpectItExecutor function, `false`
|
|
267
277
|
* otherwise
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guards.js","sourceRoot":"","sources":["../../src/guards.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;
|
|
1
|
+
{"version":3,"file":"guards.js","sourceRoot":"","sources":["../../src/guards.ts"],"names":[],"mappings":"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"}
|
package/dist/commonjs/index.d.ts
CHANGED
|
@@ -211,11 +211,7 @@ use: import("./types.js").UseFn<readonly [import("./types.js").AssertionFunction
|
|
|
211
211
|
actual: boolean;
|
|
212
212
|
expected: boolean;
|
|
213
213
|
message: string;
|
|
214
|
-
} | undefined, readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodSymbol]>, import("./types.js").PhraseLiteralSlot<"to be an enumerable property of">, z.ZodNonOptional<z.ZodUnknown>]>, import("./types.js").AssertionFunctionSync<readonly [z.ZodNonOptional<z.ZodUnknown>, "to have enumerable property", z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodSymbol]>], (
|
|
215
|
-
actual: boolean;
|
|
216
|
-
expected: boolean;
|
|
217
|
-
message: string;
|
|
218
|
-
} | undefined, readonly [z.ZodNonOptional<z.ZodUnknown>, import("./types.js").PhraseLiteralSlot<"to have enumerable property">, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodSymbol]>]>, import("./types.js").AssertionSchemaSync<readonly ["to be sealed"], import("./types.js").AssertionImplSchemaSync<readonly ["to be sealed"]>, never>, import("./types.js").AssertionSchemaSync<readonly ["to be extensible"], import("./types.js").AssertionImplSchemaSync<readonly ["to be extensible"]>, never>], readonly [import("./types.js").AssertionFunctionAsync<readonly [z.ZodCustom<(...args: import("./types.js").MutableOrReadonly<unknown[]>) => unknown, (...args: import("./types.js").MutableOrReadonly<unknown[]>) => unknown>, readonly ["to resolve", "to fulfill"]], (subject: (...args: import("./types.js").MutableOrReadonly<unknown[]>) => unknown) => Promise<{
|
|
214
|
+
} | undefined, readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodSymbol]>, import("./types.js").PhraseLiteralSlot<"to be an enumerable property of">, z.ZodNonOptional<z.ZodUnknown>]>, import("./types.js").AssertionFunctionSync<readonly [z.ZodNonOptional<z.ZodUnknown>, "to have enumerable property", z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodSymbol]>], (_subject: unknown, key: string | number | symbol) => z.ZodCustom<unknown, unknown>, readonly [z.ZodNonOptional<z.ZodUnknown>, import("./types.js").PhraseLiteralSlot<"to have enumerable property">, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodSymbol]>]>, import("./types.js").AssertionSchemaSync<readonly ["to be sealed"], import("./types.js").AssertionImplSchemaSync<readonly ["to be sealed"]>, never>, import("./types.js").AssertionSchemaSync<readonly ["to be extensible"], import("./types.js").AssertionImplSchemaSync<readonly ["to be extensible"]>, never>], readonly [import("./types.js").AssertionFunctionAsync<readonly [z.ZodCustom<(...args: import("./types.js").MutableOrReadonly<unknown[]>) => unknown, (...args: import("./types.js").MutableOrReadonly<unknown[]>) => unknown>, readonly ["to resolve", "to fulfill"]], (subject: (...args: import("./types.js").MutableOrReadonly<unknown[]>) => unknown) => Promise<{
|
|
219
215
|
actual: string;
|
|
220
216
|
expected: string;
|
|
221
217
|
message: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,OAAO,KAAK,UAAU,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACrD,cAAc,YAAY,CAAC;AAC3B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAEtC;;;;;;;;;GASG;AACH,YAAY,KAAK,KAAK,MAAM,YAAY,CAAC;AAEzC;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,CAAC;AAEb;;GAEG;AACH,YAAY,EACV,gBAAgB,EAChB,MAAM,EACN,iBAAiB,EACjB,sBAAsB,EACtB,MAAM,EACN,WAAW,EACX,QAAQ,EACR,aAAa,EACb,MAAM,EACN,OAAO,EACP,KAAK,GACN,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AAC5D,QAAA;AACE;;;;;;;;;GASG;AACH,eAAe;AACf;;;;;;;;;GASG;AACH,oBAAoB;AACpB;;;;;;GAMG;AACH,IAAI;AACJ;;;;;;GAMG;AACH,GAAG
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,OAAO,KAAK,UAAU,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACrD,cAAc,YAAY,CAAC;AAC3B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAEtC;;;;;;;;;GASG;AACH,YAAY,KAAK,KAAK,MAAM,YAAY,CAAC;AAEzC;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,CAAC;AAEb;;GAEG;AACH,YAAY,EACV,gBAAgB,EAChB,MAAM,EACN,iBAAiB,EACjB,sBAAsB,EACtB,MAAM,EACN,WAAW,EACX,QAAQ,EACR,aAAa,EACb,MAAM,EACN,OAAO,EACP,KAAK,GACN,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AAC5D,QAAA;AACE;;;;;;;;;GASG;AACH,eAAe;AACf;;;;;;;;;GASG;AACH,oBAAoB;AACpB;;;;;;GAMG;AACH,IAAI;AACJ;;;;;;GAMG;AACH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sUAEgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAU3B,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,iBAAiB,EACvB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAU3B,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,iBAAiB,EACvB,MAAM,YAAY,CAAC;AAIpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,eAAO,MAAM,mBAAmB,uCAGK,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,eAAO,MAAM,cAAc,wBACP,iBAAiB,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,YAAxC,iBAAiB,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAIjC,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,yBAAyB,wDACjB,GAAG,EAAE,KAAK,GAAG,6CAAb,GAAG,EAAE,KAAK,GAAG,EASc,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,eAAO,MAAM,iBAAiB,8DAGuB,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAIG,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,eAAO,MAAM,wBAAwB,yDAKe,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,eAAO,MAAM,gBAAgB,yEAKsB,CAAC;AAEpD;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,yEAAmB,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,eAAO,MAAM,mBAAmB,wBAjTZ,iBAAiB,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,YAAxC,iBAAiB,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAqTL,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,eAAO,MAAM,YAAY,4BAOrB,CAAC;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,eAAO,MAAM,WAAW,yBAKsB,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,eAAO,MAAM,eAAe,oHAWsB,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,eAAO,MAAM,eAAe;;mBASxB,CAAC;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,eAAO,MAAM,YAAY,6BAGsB,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,eAAO,MAAM,wBAAwB,UAIuB,CAAC"}
|
package/dist/commonjs/schema.js
CHANGED
|
@@ -40,6 +40,7 @@ const v4_1 = require("zod/v4");
|
|
|
40
40
|
const constant_js_1 = require("./constant.js");
|
|
41
41
|
const guards_js_1 = require("./guards.js");
|
|
42
42
|
const metadata_js_1 = require("./metadata.js");
|
|
43
|
+
const { getPrototypeOf, prototype: objectPrototype } = Object;
|
|
43
44
|
/**
|
|
44
45
|
* A Zod schema that validates JavaScript constructible functions.
|
|
45
46
|
*
|
|
@@ -363,7 +364,7 @@ exports.WrappedPromiseLikeSchema = v4_1.z
|
|
|
363
364
|
* @group Schema
|
|
364
365
|
*/
|
|
365
366
|
exports.DictionarySchema = v4_1.z
|
|
366
|
-
.custom((value) => (0, guards_js_1.isNonNullObject)(value) &&
|
|
367
|
+
.custom((value) => (0, guards_js_1.isNonNullObject)(value) && getPrototypeOf(value) === null)
|
|
367
368
|
.describe('Object with null prototype')
|
|
368
369
|
.register(metadata_js_1.BupkisRegistry, { name: 'dictionary' });
|
|
369
370
|
/**
|
|
@@ -423,7 +424,7 @@ exports.NullProtoObjectSchema = exports.DictionarySchema;
|
|
|
423
424
|
*
|
|
424
425
|
* @group Schema
|
|
425
426
|
*/
|
|
426
|
-
exports.AsyncFunctionSchema = exports.FunctionSchema.refine((value) =>
|
|
427
|
+
exports.AsyncFunctionSchema = exports.FunctionSchema.refine((value) => objectPrototype.toString.call(value) === '[object AsyncFunction]')
|
|
427
428
|
.describe('Function declared with the `async` keyword')
|
|
428
429
|
.register(metadata_js_1.BupkisRegistry, { name: 'async-function' });
|
|
429
430
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;;;AAEH,+BAA2B;AAE3B,+CAA8C;AAC9C,2CAKqB;AACrB,+CAA+C;AAO/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEU,QAAA,mBAAmB,GAAG,MAAC;KACjC,MAAM,CAAc,2BAAe,CAAC;KACpC,QAAQ,CAAC,4BAAc,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;KACnD,QAAQ,CAAC,wBAAwB,CAAC,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACU,QAAA,cAAc,GAAG,MAAC;KAC5B,MAAM,CAAqD,sBAAU,CAAC;KACtE,QAAQ,CAAC,4BAAc,EAAE;IACxB,IAAI,EAAE,UAAU;CACjB,CAAC;KACD,QAAQ,CAAC,cAAc,CAAC,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACU,QAAA,yBAAyB,GAAG,MAAC;KACvC,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,IAAA,2BAAe,EAAC,CAAC,CAAC,IAAI,IAAA,sBAAU,EAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC;IACnB,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC;IACnB,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC;IACvB,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC,CAC1B;KACA,QAAQ,CAAC,4BAAc,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC;KAC3D,QAAQ,CAAC,mCAAmC,CAAC,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACU,QAAA,iBAAiB,GAAG,MAAC;KAC/B,KAAK,CAAC,CAAC,MAAC,CAAC,MAAM,EAAE,EAAE,MAAC,CAAC,MAAM,EAAE,EAAE,MAAC,CAAC,MAAM,EAAE,CAAC,CAAC;KAC3C,QAAQ,CAAC,gCAAgC,CAAC;KAC1C,QAAQ,CAAC,4BAAc,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACU,QAAA,aAAa,GAAuB,MAAC;KAC/C,MAAM,EAAE;KACR,KAAK,CAAC,2BAAa,CAAC;KACpB,QAAQ,CAAC,+CAA+C,CAAC;KACzD,QAAQ,CAAC,4BAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACU,QAAA,wBAAwB,GAAG,MAAC;KACtC,MAAM,CAAuB,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,yBAAa,EAAC,KAAK,CAAC,CAAC;KAC7D,QAAQ,CACP,qEAAqE,CACtE;KACA,QAAQ,CAAC,4BAAc,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACU,QAAA,gBAAgB,GAAG,MAAC;KAC9B,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,2BAAe,EAAC,KAAK,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;;;AAEH,+BAA2B;AAE3B,+CAA8C;AAC9C,2CAKqB;AACrB,+CAA+C;AAO/C,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEU,QAAA,mBAAmB,GAAG,MAAC;KACjC,MAAM,CAAc,2BAAe,CAAC;KACpC,QAAQ,CAAC,4BAAc,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;KACnD,QAAQ,CAAC,wBAAwB,CAAC,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACU,QAAA,cAAc,GAAG,MAAC;KAC5B,MAAM,CAAqD,sBAAU,CAAC;KACtE,QAAQ,CAAC,4BAAc,EAAE;IACxB,IAAI,EAAE,UAAU;CACjB,CAAC;KACD,QAAQ,CAAC,cAAc,CAAC,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACU,QAAA,yBAAyB,GAAG,MAAC;KACvC,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,IAAA,2BAAe,EAAC,CAAC,CAAC,IAAI,IAAA,sBAAU,EAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC;IACnB,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC;IACnB,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC;IACvB,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC,CAC1B;KACA,QAAQ,CAAC,4BAAc,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC;KAC3D,QAAQ,CAAC,mCAAmC,CAAC,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACU,QAAA,iBAAiB,GAAG,MAAC;KAC/B,KAAK,CAAC,CAAC,MAAC,CAAC,MAAM,EAAE,EAAE,MAAC,CAAC,MAAM,EAAE,EAAE,MAAC,CAAC,MAAM,EAAE,CAAC,CAAC;KAC3C,QAAQ,CAAC,gCAAgC,CAAC;KAC1C,QAAQ,CAAC,4BAAc,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACU,QAAA,aAAa,GAAuB,MAAC;KAC/C,MAAM,EAAE;KACR,KAAK,CAAC,2BAAa,CAAC;KACpB,QAAQ,CAAC,+CAA+C,CAAC;KACzD,QAAQ,CAAC,4BAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACU,QAAA,wBAAwB,GAAG,MAAC;KACtC,MAAM,CAAuB,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,yBAAa,EAAC,KAAK,CAAC,CAAC;KAC7D,QAAQ,CACP,qEAAqE,CACtE;KACA,QAAQ,CAAC,4BAAc,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACU,QAAA,gBAAgB,GAAG,MAAC;KAC9B,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,2BAAe,EAAC,KAAK,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,KAAK,IAAI,CACpE;KACA,QAAQ,CAAC,4BAA4B,CAAC;KACtC,QAAQ,CAAC,4BAAc,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;AAEpD;;;;GAIG;AACU,QAAA,qBAAqB,GAAG,wBAAgB,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACU,QAAA,mBAAmB,GAAG,sBAAc,CAAC,MAAM,CACtD,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,wBAAwB,CAC7E;KACE,QAAQ,CAAC,4CAA4C,CAAC;KACtD,QAAQ,CAAC,4BAAc,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACU,QAAA,YAAY,GAAG,MAAC;KAC1B,GAAG,EAAE;KACL,WAAW,EAAE;KACb,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;KAC1B,QAAQ,CAAC,cAAc,CAAC;KACxB,QAAQ,CAAC,4BAAc,EAAE;IACxB,IAAI,EAAE,QAAQ;CACf,CAAC,CAAC;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACU,QAAA,WAAW,GAAG,MAAC;KACzB,GAAG,EAAE;KACL,QAAQ,EAAE;KACV,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC;KACzB,QAAQ,CAAC,aAAa,CAAC;KACvB,QAAQ,CAAC,4BAAc,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACU,QAAA,eAAe,GAAG,MAAC;KAC7B,KAAK,CAAC;IACL,MAAC,CAAC,MAAM,EAAE;IACV,MAAC,CAAC,MAAM,EAAE;IACV,MAAC,CAAC,OAAO,EAAE;IACX,MAAC,CAAC,MAAM,EAAE;IACV,MAAC,CAAC,MAAM,EAAE;IACV,MAAC,CAAC,IAAI,EAAE;IACR,MAAC,CAAC,SAAS,EAAE;CACd,CAAC;KACD,QAAQ,CAAC,iBAAiB,CAAC;KAC3B,QAAQ,CAAC,4BAAc,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACU,QAAA,eAAe,GAAG,MAAC;KAC7B,KAAK,CAAC;IACL,MAAC,CAAC,KAAK,CAAC,MAAC,CAAC,OAAO,EAAE,CAAC;IACpB,MAAC,CAAC,KAAK,CAAC,CAAC,MAAC,CAAC,OAAO,EAAE,CAAC,EAAE,MAAC,CAAC,OAAO,EAAE,CAAC;IACnC,MAAC,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,MAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;CAC1D,CAAC;KACD,QAAQ,CAAC,kBAAkB,CAAC;KAC5B,QAAQ,CAAC,4BAAc,EAAE;IACxB,IAAI,EAAE,WAAW;CAClB,CAAC,CAAC;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACU,QAAA,YAAY,GAAG,MAAC;KAC1B,UAAU,CAAC,MAAM,CAAC;KAClB,QAAQ,CAAC,mBAAmB,CAAC;KAC7B,QAAQ,CAAC,4BAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACU,QAAA,wBAAwB,GAAG,MAAC;KACtC,GAAG,EAAE;KACL,WAAW,EAAE;KACb,QAAQ,CAAC,wBAAwB,CAAC;KAClC,QAAQ,CAAC,4BAAc,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC"}
|
package/dist/commonjs/use.js
CHANGED
|
@@ -6,11 +6,12 @@
|
|
|
6
6
|
* @packageDocumentation
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.createUse =
|
|
9
|
+
exports.createUse = void 0;
|
|
10
10
|
const assertion_async_js_1 = require("./assertion/assertion-async.js");
|
|
11
11
|
const assertion_sync_js_1 = require("./assertion/assertion-sync.js");
|
|
12
12
|
const constant_js_1 = require("./constant.js");
|
|
13
13
|
const expect_js_1 = require("./expect.js");
|
|
14
|
+
const { assign } = Object;
|
|
14
15
|
/**
|
|
15
16
|
* Creates an `expect.it()` factory function for generating embeddable assertion
|
|
16
17
|
* executors.
|
|
@@ -44,6 +45,7 @@ const expect_js_1 = require("./expect.js");
|
|
|
44
45
|
*
|
|
45
46
|
* @template SyncAssertions - Array of synchronous assertion objects that define
|
|
46
47
|
* the available assertion logic for the embeddable functions
|
|
48
|
+
* @function
|
|
47
49
|
* @param expect - The underlying expect function that will execute the
|
|
48
50
|
* assertions when the returned executors are called
|
|
49
51
|
* @returns A factory function that creates {@link ExpectItExecutor} instances
|
|
@@ -54,8 +56,11 @@ const expect_js_1 = require("./expect.js");
|
|
|
54
56
|
* @see {@link kExpectIt} for the internal marking symbol
|
|
55
57
|
*/
|
|
56
58
|
const createExpectIt = (expect) => {
|
|
59
|
+
/**
|
|
60
|
+
* @function
|
|
61
|
+
*/
|
|
57
62
|
const expectIt = (...args) => {
|
|
58
|
-
const func =
|
|
63
|
+
const func = assign((subject) => {
|
|
59
64
|
const allArgs = [subject, ...args];
|
|
60
65
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
61
66
|
expect(...allArgs);
|
|
@@ -99,6 +104,7 @@ const createExpectIt = (expect) => {
|
|
|
99
104
|
*
|
|
100
105
|
* @template AsyncAssertions - Array of asynchronous assertion objects that
|
|
101
106
|
* define the available assertion logic for the embeddable async functions
|
|
107
|
+
* @function
|
|
102
108
|
* @param expectAsync - The underlying expectAsync function that will execute
|
|
103
109
|
* the assertions when the returned executors are called
|
|
104
110
|
* @returns A factory function that creates {@link ExpectItExecutorAsync}
|
|
@@ -110,8 +116,11 @@ const createExpectIt = (expect) => {
|
|
|
110
116
|
* @see {@link createExpectIt} for the synchronous equivalent
|
|
111
117
|
*/
|
|
112
118
|
const createExpectItAsync = (expectAsync) => {
|
|
119
|
+
/**
|
|
120
|
+
* @function
|
|
121
|
+
*/
|
|
113
122
|
const expectItAsync = (...args) => {
|
|
114
|
-
const func =
|
|
123
|
+
const func = assign(async (subject) => {
|
|
115
124
|
const allArgs = [subject, ...args];
|
|
116
125
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
117
126
|
await expectAsync(...allArgs);
|
|
@@ -182,6 +191,7 @@ const createExpectItAsync = (expectAsync) => {
|
|
|
182
191
|
* available in the composed functions
|
|
183
192
|
* @template AsyncAssertions - Array of base asynchronous assertions that will
|
|
184
193
|
* be available in the composed functions
|
|
194
|
+
* @function
|
|
185
195
|
* @param syncAssertions - Base synchronous assertions to include in all
|
|
186
196
|
* composed expect functions
|
|
187
197
|
* @param asyncAssertions - Base asynchronous assertions to include in all
|
|
@@ -195,9 +205,12 @@ const createExpectItAsync = (expectAsync) => {
|
|
|
195
205
|
* @see {@link FilterAsyncAssertions} for how async assertions are extracted
|
|
196
206
|
* @see {@link Concat} for how assertion arrays are combined
|
|
197
207
|
*/
|
|
198
|
-
|
|
208
|
+
const createUse = (syncAssertions, asyncAssertions) => {
|
|
199
209
|
const syncAssertionsIn = syncAssertions ?? [];
|
|
200
210
|
const asyncAssertionsIn = asyncAssertions ?? [];
|
|
211
|
+
/**
|
|
212
|
+
* @function
|
|
213
|
+
*/
|
|
201
214
|
const use = (assertions) => {
|
|
202
215
|
const newSyncAssertions = assertions.filter((a) => a instanceof assertion_sync_js_1.BupkisAssertionSync);
|
|
203
216
|
const newAsyncAssertions = assertions.filter((a) => a instanceof assertion_async_js_1.BupkisAssertionAsync);
|
|
@@ -211,16 +224,17 @@ function createUse(syncAssertions, asyncAssertions) {
|
|
|
211
224
|
];
|
|
212
225
|
const expectFunction = (0, expect_js_1.createExpectSyncFunction)(allSyncAssertions);
|
|
213
226
|
const expectAsyncFunction = (0, expect_js_1.createExpectAsyncFunction)(allAsyncAssertions);
|
|
214
|
-
const expect =
|
|
215
|
-
const expectAsync =
|
|
227
|
+
const expect = assign(expectFunction, (0, expect_js_1.createBaseExpect)(allSyncAssertions, allAsyncAssertions, 'sync'), { it: createExpectIt(expectFunction) });
|
|
228
|
+
const expectAsync = assign(expectAsyncFunction, (0, expect_js_1.createBaseExpect)(allSyncAssertions, allAsyncAssertions, 'async'), { it: createExpectItAsync(expectAsyncFunction) });
|
|
216
229
|
return {
|
|
217
230
|
expect,
|
|
218
231
|
expectAsync,
|
|
219
232
|
get use() {
|
|
220
|
-
return createUse(allSyncAssertions, allAsyncAssertions);
|
|
233
|
+
return (0, exports.createUse)(allSyncAssertions, allAsyncAssertions);
|
|
221
234
|
},
|
|
222
235
|
};
|
|
223
236
|
};
|
|
224
237
|
return use;
|
|
225
|
-
}
|
|
238
|
+
};
|
|
239
|
+
exports.createUse = createUse;
|
|
226
240
|
//# sourceMappingURL=use.js.map
|
package/dist/commonjs/use.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use.js","sourceRoot":"","sources":["../../src/use.ts"],"names":[],"mappings":";AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"use.js","sourceRoot":"","sources":["../../src/use.ts"],"names":[],"mappings":"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"}
|
package/dist/commonjs/util.d.ts
CHANGED
|
@@ -185,6 +185,7 @@ export declare const keyBy: <const T extends readonly Record<PropertyKey, any>[]
|
|
|
185
185
|
* parseKeypath("arr[10]['spam']"); // ['arr', 10, 'spam']
|
|
186
186
|
* ```
|
|
187
187
|
*
|
|
188
|
+
* @function
|
|
188
189
|
* @param keypath The keypath string to parse, using dot and/or bracket
|
|
189
190
|
* notation.
|
|
190
191
|
* @returns An array of keys, where each key is a string or number. Bracketed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,cAAc,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,cAAc,sBAAsB,CAAC;AAMrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,GAAG,GAAI,CAAC,GAAG,OAAO,EAC7B,KAAK,OAAO,EACZ,SAAS,OAAO,EAChB,eAAe,CAAC,KACf,CAAC,GAAG,SA4BN,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,GAAG,GAAI,KAAK,OAAO,EAAE,SAAS,OAAO,KAAG,OA2BpD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,UAAU,GACrB,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,yBAA+B,KAC9B,OAiCF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,YAAY,GACvB,KAAK,OAAO,EACZ,OAAO,OAAO,EACd,yBAA+B,KAC9B,OAiDF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK,GAChB,KAAK,CAAC,CAAC,SAAS,SAAS,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,EACnD,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAEhC,YAAY,CAAC,EACb,KAAK,CAAC,KACL,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAe1B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,MAAM,GAAG,MAAM,EACpD,SAAS,OAAO,CAAC,CAAC,CAAC,KAClB,CAAC,MAAM,GAAG,MAAM,CAAC,EAgDnB,CAAC"}
|
package/dist/commonjs/util.js
CHANGED
|
@@ -28,6 +28,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
exports.parseKeypath = exports.keyBy = exports.hasValueDeep = exports.hasKeyDeep = exports.has = exports.get = void 0;
|
|
30
30
|
__exportStar(require("./value-to-schema.js"), exports);
|
|
31
|
+
const { hasOwn, keys, values } = Object;
|
|
32
|
+
const { isInteger, isNaN } = Number;
|
|
33
|
+
const { isArray } = Array;
|
|
31
34
|
/**
|
|
32
35
|
* Retrieves the value at a given keypath from an object using dot or bracket
|
|
33
36
|
* notation.
|
|
@@ -177,10 +180,10 @@ const hasKeyDeep = (obj, key, visited = new WeakSet()) => {
|
|
|
177
180
|
}
|
|
178
181
|
visited.add(obj);
|
|
179
182
|
try {
|
|
180
|
-
if (
|
|
183
|
+
if (hasOwn(obj, key)) {
|
|
181
184
|
return true;
|
|
182
185
|
}
|
|
183
|
-
if (
|
|
186
|
+
if (isArray(obj)) {
|
|
184
187
|
for (const item of obj) {
|
|
185
188
|
if ((0, exports.hasKeyDeep)(item, key, visited)) {
|
|
186
189
|
return true;
|
|
@@ -188,7 +191,7 @@ const hasKeyDeep = (obj, key, visited = new WeakSet()) => {
|
|
|
188
191
|
}
|
|
189
192
|
}
|
|
190
193
|
else {
|
|
191
|
-
for (const propValue of
|
|
194
|
+
for (const propValue of values(obj)) {
|
|
192
195
|
if ((0, exports.hasKeyDeep)(propValue, key, visited)) {
|
|
193
196
|
return true;
|
|
194
197
|
}
|
|
@@ -235,12 +238,12 @@ const hasValueDeep = (obj, value, visited = new WeakSet()) => {
|
|
|
235
238
|
}
|
|
236
239
|
if (typeof obj === 'object' &&
|
|
237
240
|
obj !== null &&
|
|
238
|
-
!
|
|
241
|
+
!isArray(obj) &&
|
|
239
242
|
typeof value === 'object' &&
|
|
240
243
|
value !== null &&
|
|
241
|
-
!
|
|
242
|
-
const objKeys =
|
|
243
|
-
const valueKeys =
|
|
244
|
+
!isArray(value)) {
|
|
245
|
+
const objKeys = keys(obj);
|
|
246
|
+
const valueKeys = keys(value);
|
|
244
247
|
if (objKeys.length === 0 && valueKeys.length === 0) {
|
|
245
248
|
return true;
|
|
246
249
|
}
|
|
@@ -253,7 +256,7 @@ const hasValueDeep = (obj, value, visited = new WeakSet()) => {
|
|
|
253
256
|
}
|
|
254
257
|
visited.add(obj);
|
|
255
258
|
try {
|
|
256
|
-
if (
|
|
259
|
+
if (isArray(obj)) {
|
|
257
260
|
for (const item of obj) {
|
|
258
261
|
if ((0, exports.hasValueDeep)(item, value, visited)) {
|
|
259
262
|
return true;
|
|
@@ -261,7 +264,7 @@ const hasValueDeep = (obj, value, visited = new WeakSet()) => {
|
|
|
261
264
|
}
|
|
262
265
|
}
|
|
263
266
|
else {
|
|
264
|
-
for (const propValue of
|
|
267
|
+
for (const propValue of values(obj)) {
|
|
265
268
|
if ((0, exports.hasValueDeep)(propValue, value, visited)) {
|
|
266
269
|
return true;
|
|
267
270
|
}
|
|
@@ -330,6 +333,7 @@ exports.keyBy = keyBy;
|
|
|
330
333
|
* parseKeypath("arr[10]['spam']"); // ['arr', 10, 'spam']
|
|
331
334
|
* ```
|
|
332
335
|
*
|
|
336
|
+
* @function
|
|
333
337
|
* @param keypath The keypath string to parse, using dot and/or bracket
|
|
334
338
|
* notation.
|
|
335
339
|
* @returns An array of keys, where each key is a string or number. Bracketed
|
|
@@ -361,7 +365,7 @@ const parseKeypath = (keypath) => {
|
|
|
361
365
|
}
|
|
362
366
|
i++;
|
|
363
367
|
const numKey = Number(key);
|
|
364
|
-
keys.push(
|
|
368
|
+
keys.push(isInteger(numKey) && !isNaN(numKey) ? numKey : key);
|
|
365
369
|
}
|
|
366
370
|
else if (keypath[i] === '.') {
|
|
367
371
|
i++;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;;;;;;;;;;;;;;;AAMH,uDAAqC;AAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACI,MAAM,GAAG,GAAG,CACjB,GAAY,EACZ,OAAgB,EAChB,YAAgB,EACD,EAAE;IACjB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC3E,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,IAAI,GAAG,IAAA,oBAAY,EAAC,OAAO,CAAC,CAAC;IAEnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,IAAI,OAAO,GAAY,GAAG,CAAC;IAE3B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YACnD,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,MAAM,UAAU,GAAG,OAAuC,CAAC;QAE3D,IAAI,CAAC,CAAC,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC;YACzB,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,OAAY,CAAC;AACtB,CAAC,CAAC;AAhCW,QAAA,GAAG,OAgCd;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACI,MAAM,GAAG,GAAG,CAAC,GAAY,EAAE,OAAgB,EAAW,EAAE;IAC7D,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC3E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,GAAG,IAAA,oBAAY,EAAC,OAAO,CAAC,CAAC;IAEnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,GAAY,GAAG,CAAC;IAE3B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YACnD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,UAAU,GAAG,OAAuC,CAAC;QAE3D,IAAI,CAAC,CAAC,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AA3BW,QAAA,GAAG,OA2Bd;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACI,MAAM,UAAU,GAAG,CACxB,GAAY,EACZ,GAAgB,EAChB,UAAU,IAAI,OAAO,EAAU,EACtB,EAAE;IACX,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAEjB,IAAI,CAAC;QACH,IAAI,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,7 @@ import { z } from 'zod/v4';
|
|
|
29
29
|
* // z.object({ users: z.array(z.object({ name: z.string() })) })
|
|
30
30
|
* ```
|
|
31
31
|
*
|
|
32
|
+
* @function
|
|
32
33
|
* @param value - The value to convert to a schema
|
|
33
34
|
* @param options - Configuration options for schema generation
|
|
34
35
|
* @param visited - Internal WeakSet for circular reference detection
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"value-to-schema.d.ts","sourceRoot":"","sources":["../../src/value-to-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"value-to-schema.d.ts","sourceRoot":"","sources":["../../src/value-to-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAiB3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,eAAO,MAAM,aAAa,GACxB,OAAO,OAAO,EACd,UAAS,oBAAyB,EAClC,yBAA+B,KAC9B,CAAC,CAAC,OAAO,CAAC,GAAG,CA8Uf,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,oBAAoB;IAQnC;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gCAAgC;;;;;;EAMH,CAAC;AAE3C;;;;;;GAMG;AACH,eAAO,MAAM,gCAAgC;;;;;;EAMH,CAAC"}
|