bupkis 0.2.0 → 0.3.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.
Files changed (162) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +9 -9
  3. package/dist/commonjs/assertion/assertion-async.d.ts +2 -1
  4. package/dist/commonjs/assertion/assertion-async.d.ts.map +1 -1
  5. package/dist/commonjs/assertion/assertion-async.js +84 -2
  6. package/dist/commonjs/assertion/assertion-async.js.map +1 -1
  7. package/dist/commonjs/assertion/assertion-sync.d.ts +1 -1
  8. package/dist/commonjs/assertion/assertion-sync.d.ts.map +1 -1
  9. package/dist/commonjs/assertion/assertion-sync.js +5 -1
  10. package/dist/commonjs/assertion/assertion-sync.js.map +1 -1
  11. package/dist/commonjs/assertion/assertion-types.d.ts +6 -2
  12. package/dist/commonjs/assertion/assertion-types.d.ts.map +1 -1
  13. package/dist/commonjs/assertion/assertion.d.ts +1 -1
  14. package/dist/commonjs/assertion/assertion.d.ts.map +1 -1
  15. package/dist/commonjs/assertion/assertion.js +1 -14
  16. package/dist/commonjs/assertion/assertion.js.map +1 -1
  17. package/dist/commonjs/assertion/impl/async.d.ts +122 -21
  18. package/dist/commonjs/assertion/impl/async.d.ts.map +1 -1
  19. package/dist/commonjs/assertion/impl/async.js +112 -88
  20. package/dist/commonjs/assertion/impl/async.js.map +1 -1
  21. package/dist/commonjs/assertion/impl/callback.d.ts +104 -0
  22. package/dist/commonjs/assertion/impl/callback.d.ts.map +1 -0
  23. package/dist/commonjs/assertion/impl/callback.js +694 -0
  24. package/dist/commonjs/assertion/impl/callback.js.map +1 -0
  25. package/dist/commonjs/assertion/impl/index.d.ts +1 -1
  26. package/dist/commonjs/assertion/impl/index.d.ts.map +1 -1
  27. package/dist/commonjs/assertion/impl/index.js.map +1 -1
  28. package/dist/commonjs/assertion/impl/sync-esoteric.js +1 -1
  29. package/dist/commonjs/assertion/impl/sync-esoteric.js.map +1 -1
  30. package/dist/commonjs/assertion/impl/sync-parametric.d.ts +21 -18
  31. package/dist/commonjs/assertion/impl/sync-parametric.d.ts.map +1 -1
  32. package/dist/commonjs/assertion/impl/sync-parametric.js +31 -46
  33. package/dist/commonjs/assertion/impl/sync-parametric.js.map +1 -1
  34. package/dist/commonjs/assertion/impl/sync.d.ts +66 -19
  35. package/dist/commonjs/assertion/impl/sync.d.ts.map +1 -1
  36. package/dist/commonjs/assertion/impl/sync.js +4 -1
  37. package/dist/commonjs/assertion/impl/sync.js.map +1 -1
  38. package/dist/commonjs/bootstrap.d.ts +145 -41
  39. package/dist/commonjs/bootstrap.d.ts.map +1 -1
  40. package/dist/commonjs/bootstrap.js +2 -3
  41. package/dist/commonjs/bootstrap.js.map +1 -1
  42. package/dist/commonjs/constant.js +7 -1
  43. package/dist/commonjs/constant.js.map +1 -1
  44. package/dist/commonjs/error.d.ts +22 -2
  45. package/dist/commonjs/error.d.ts.map +1 -1
  46. package/dist/commonjs/error.js +44 -4
  47. package/dist/commonjs/error.js.map +1 -1
  48. package/dist/commonjs/expect.d.ts.map +1 -1
  49. package/dist/commonjs/expect.js +1 -1
  50. package/dist/commonjs/expect.js.map +1 -1
  51. package/dist/commonjs/guards.d.ts +23 -5
  52. package/dist/commonjs/guards.d.ts.map +1 -1
  53. package/dist/commonjs/guards.js +26 -24
  54. package/dist/commonjs/guards.js.map +1 -1
  55. package/dist/commonjs/index.d.ts +144 -40
  56. package/dist/commonjs/index.d.ts.map +1 -1
  57. package/dist/commonjs/index.js.map +1 -1
  58. package/dist/commonjs/schema.d.ts +18 -8
  59. package/dist/commonjs/schema.d.ts.map +1 -1
  60. package/dist/commonjs/schema.js +21 -11
  61. package/dist/commonjs/schema.js.map +1 -1
  62. package/dist/commonjs/types.d.ts +39 -8
  63. package/dist/commonjs/types.d.ts.map +1 -1
  64. package/dist/commonjs/util.d.ts +66 -50
  65. package/dist/commonjs/util.d.ts.map +1 -1
  66. package/dist/commonjs/util.js +169 -156
  67. package/dist/commonjs/util.js.map +1 -1
  68. package/dist/commonjs/value-to-schema.d.ts +122 -0
  69. package/dist/commonjs/value-to-schema.d.ts.map +1 -0
  70. package/dist/commonjs/value-to-schema.js +309 -0
  71. package/dist/commonjs/value-to-schema.js.map +1 -0
  72. package/dist/esm/assertion/assertion-async.d.ts +2 -1
  73. package/dist/esm/assertion/assertion-async.d.ts.map +1 -1
  74. package/dist/esm/assertion/assertion-async.js +85 -3
  75. package/dist/esm/assertion/assertion-async.js.map +1 -1
  76. package/dist/esm/assertion/assertion-sync.d.ts +1 -1
  77. package/dist/esm/assertion/assertion-sync.d.ts.map +1 -1
  78. package/dist/esm/assertion/assertion-sync.js +6 -2
  79. package/dist/esm/assertion/assertion-sync.js.map +1 -1
  80. package/dist/esm/assertion/assertion-types.d.ts +6 -2
  81. package/dist/esm/assertion/assertion-types.d.ts.map +1 -1
  82. package/dist/esm/assertion/assertion.d.ts +1 -1
  83. package/dist/esm/assertion/assertion.d.ts.map +1 -1
  84. package/dist/esm/assertion/assertion.js +1 -14
  85. package/dist/esm/assertion/assertion.js.map +1 -1
  86. package/dist/esm/assertion/impl/async.d.ts +122 -21
  87. package/dist/esm/assertion/impl/async.d.ts.map +1 -1
  88. package/dist/esm/assertion/impl/async.js +111 -87
  89. package/dist/esm/assertion/impl/async.js.map +1 -1
  90. package/dist/esm/assertion/impl/callback.d.ts +104 -0
  91. package/dist/esm/assertion/impl/callback.d.ts.map +1 -0
  92. package/dist/esm/assertion/impl/callback.js +691 -0
  93. package/dist/esm/assertion/impl/callback.js.map +1 -0
  94. package/dist/esm/assertion/impl/index.d.ts +1 -1
  95. package/dist/esm/assertion/impl/index.d.ts.map +1 -1
  96. package/dist/esm/assertion/impl/index.js +1 -1
  97. package/dist/esm/assertion/impl/index.js.map +1 -1
  98. package/dist/esm/assertion/impl/sync-esoteric.js +2 -2
  99. package/dist/esm/assertion/impl/sync-esoteric.js.map +1 -1
  100. package/dist/esm/assertion/impl/sync-parametric.d.ts +21 -18
  101. package/dist/esm/assertion/impl/sync-parametric.d.ts.map +1 -1
  102. package/dist/esm/assertion/impl/sync-parametric.js +31 -46
  103. package/dist/esm/assertion/impl/sync-parametric.js.map +1 -1
  104. package/dist/esm/assertion/impl/sync.d.ts +66 -19
  105. package/dist/esm/assertion/impl/sync.d.ts.map +1 -1
  106. package/dist/esm/assertion/impl/sync.js +3 -1
  107. package/dist/esm/assertion/impl/sync.js.map +1 -1
  108. package/dist/esm/bootstrap.d.ts +145 -41
  109. package/dist/esm/bootstrap.d.ts.map +1 -1
  110. package/dist/esm/bootstrap.js +1 -2
  111. package/dist/esm/bootstrap.js.map +1 -1
  112. package/dist/esm/constant.js +6 -0
  113. package/dist/esm/constant.js.map +1 -1
  114. package/dist/esm/error.d.ts +22 -2
  115. package/dist/esm/error.d.ts.map +1 -1
  116. package/dist/esm/error.js +43 -4
  117. package/dist/esm/error.js.map +1 -1
  118. package/dist/esm/expect.d.ts.map +1 -1
  119. package/dist/esm/expect.js +2 -2
  120. package/dist/esm/expect.js.map +1 -1
  121. package/dist/esm/guards.d.ts +23 -5
  122. package/dist/esm/guards.d.ts.map +1 -1
  123. package/dist/esm/guards.js +22 -21
  124. package/dist/esm/guards.js.map +1 -1
  125. package/dist/esm/index.d.ts +144 -40
  126. package/dist/esm/index.d.ts.map +1 -1
  127. package/dist/esm/index.js.map +1 -1
  128. package/dist/esm/schema.d.ts +18 -8
  129. package/dist/esm/schema.d.ts.map +1 -1
  130. package/dist/esm/schema.js +21 -11
  131. package/dist/esm/schema.js.map +1 -1
  132. package/dist/esm/types.d.ts +39 -8
  133. package/dist/esm/types.d.ts.map +1 -1
  134. package/dist/esm/util.d.ts +66 -50
  135. package/dist/esm/util.d.ts.map +1 -1
  136. package/dist/esm/util.js +153 -154
  137. package/dist/esm/util.js.map +1 -1
  138. package/dist/esm/value-to-schema.d.ts +122 -0
  139. package/dist/esm/value-to-schema.d.ts.map +1 -0
  140. package/dist/esm/value-to-schema.js +305 -0
  141. package/dist/esm/value-to-schema.js.map +1 -0
  142. package/package.json +16 -13
  143. package/src/assertion/assertion-async.ts +113 -3
  144. package/src/assertion/assertion-sync.ts +5 -2
  145. package/src/assertion/assertion-types.ts +14 -4
  146. package/src/assertion/assertion.ts +2 -17
  147. package/src/assertion/impl/async.ts +130 -90
  148. package/src/assertion/impl/callback.ts +882 -0
  149. package/src/assertion/impl/index.ts +1 -1
  150. package/src/assertion/impl/sync-esoteric.ts +2 -2
  151. package/src/assertion/impl/sync-parametric.ts +40 -48
  152. package/src/assertion/impl/sync.ts +3 -0
  153. package/src/bootstrap.ts +1 -2
  154. package/src/constant.ts +8 -0
  155. package/src/error.ts +57 -3
  156. package/src/expect.ts +6 -2
  157. package/src/guards.ts +45 -18
  158. package/src/index.ts +1 -0
  159. package/src/schema.ts +22 -11
  160. package/src/types.ts +40 -8
  161. package/src/util.ts +168 -223
  162. package/src/value-to-schema.ts +464 -0
@@ -0,0 +1,309 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.valueToSchemaOptionsForDeepEqual = exports.valueToSchemaOptionsForSatisfies = exports.valueToSchema = void 0;
4
+ const v4_1 = require("zod/v4");
5
+ const guards_js_1 = require("./guards.js");
6
+ const schema_js_1 = require("./schema.js");
7
+ /**
8
+ * Recursively converts an arbitrary value to a Zod v4 schema that would
9
+ * validate values with the same structure.
10
+ *
11
+ * This function analyzes the runtime value and generates a corresponding Zod
12
+ * schema that captures the value's structure and type information. It handles
13
+ * primitives, objects, arrays, functions, and various built-in types, with
14
+ * support for circular reference detection.
15
+ *
16
+ * @example
17
+ *
18
+ * ```typescript
19
+ * // Primitive types
20
+ * valueToSchema('hello'); // z.string()
21
+ * valueToSchema(42); // z.number()
22
+ * valueToSchema(true); // z.boolean()
23
+ *
24
+ * // Objects
25
+ * valueToSchema({ name: 'John', age: 30 });
26
+ * // z.object({ name: z.string(), age: z.number() })
27
+ *
28
+ * // Arrays
29
+ * valueToSchema(['a', 'b', 'c']); // z.array(z.string())
30
+ * valueToSchema([1, 'mixed']); // z.array(z.union([z.number(), z.string()]))
31
+ *
32
+ * // Nested structures
33
+ * valueToSchema({ users: [{ name: 'John' }] });
34
+ * // z.object({ users: z.array(z.object({ name: z.string() })) })
35
+ * ```
36
+ *
37
+ * @param value - The value to convert to a schema
38
+ * @param options - Configuration options for schema generation
39
+ * @param visited - Internal WeakSet for circular reference detection
40
+ * @returns A Zod schema that validates values matching the input's structure.
41
+ * This value is unfortunately untyped due to the complexity involved. But the
42
+ * schema works!
43
+ */
44
+ const valueToSchema = (value, options = {}, visited = new WeakSet()) => {
45
+ const { _currentDepth = 0, literalEmptyObjects = false, literalPrimitives = false, literalRegExp = false, literalTuples = false, maxDepth = 10, noMixedArrays = false, strict = false, } = options;
46
+ // Prevent infinite recursion
47
+ if (_currentDepth >= maxDepth) {
48
+ return v4_1.z.unknown();
49
+ }
50
+ // Handle primitives
51
+ if (value === null) {
52
+ return v4_1.z.null();
53
+ }
54
+ if (value === undefined) {
55
+ return literalPrimitives
56
+ ? v4_1.z.custom((val) => val === undefined, {
57
+ message: 'Expected undefined',
58
+ })
59
+ : v4_1.z.undefined();
60
+ }
61
+ if (Number.isNaN(value)) {
62
+ return v4_1.z.nan();
63
+ }
64
+ if (value === Infinity || value === -Infinity) {
65
+ return v4_1.z.literal(value);
66
+ }
67
+ const valueType = typeof value;
68
+ switch (valueType) {
69
+ case 'bigint':
70
+ return literalPrimitives ? v4_1.z.literal(value) : v4_1.z.bigint();
71
+ case 'boolean':
72
+ return literalPrimitives ? v4_1.z.literal(value) : v4_1.z.boolean();
73
+ case 'function':
74
+ return v4_1.z.function();
75
+ case 'number':
76
+ return literalPrimitives ? v4_1.z.literal(value) : v4_1.z.number();
77
+ case 'string':
78
+ return literalPrimitives ? v4_1.z.literal(value) : v4_1.z.string();
79
+ case 'symbol':
80
+ return v4_1.z.symbol();
81
+ }
82
+ // Handle objects
83
+ if (typeof value === 'object' && value !== null) {
84
+ // Check for circular references
85
+ if (visited.has(value)) {
86
+ // Return a recursive schema reference or unknown for circular refs
87
+ return v4_1.z.unknown();
88
+ }
89
+ visited.add(value);
90
+ try {
91
+ // Check for objects with own __proto__ property - these can cause unexpected behavior
92
+ if (Object.hasOwn(value, '__proto__')) {
93
+ throw new TypeError('Objects with an own "__proto__" property are not supported by valueToSchema');
94
+ }
95
+ // Handle built-in object types
96
+ if (value instanceof Date) {
97
+ // Check if it's a valid date
98
+ if (isNaN(value.getTime())) {
99
+ // For invalid dates, use a literal or custom validator
100
+ return v4_1.z.custom((val) => val instanceof Date && isNaN(val.getTime()), {
101
+ message: 'Expected an invalid Date',
102
+ });
103
+ }
104
+ return v4_1.z.date();
105
+ }
106
+ if (value instanceof RegExp) {
107
+ if (literalRegExp) {
108
+ return schema_js_1.RegExpSchema;
109
+ }
110
+ return v4_1.z.coerce.string().regex(value);
111
+ }
112
+ if (value instanceof Map) {
113
+ return schema_js_1.StrongMapSchema;
114
+ }
115
+ if (value instanceof Set) {
116
+ return schema_js_1.StrongSetSchema;
117
+ }
118
+ if (value instanceof WeakMap) {
119
+ return v4_1.z.instanceof(WeakMap);
120
+ }
121
+ if (value instanceof WeakSet) {
122
+ return v4_1.z.instanceof(WeakSet);
123
+ }
124
+ if (value instanceof Error) {
125
+ return v4_1.z.instanceof(Error);
126
+ }
127
+ if ((0, guards_js_1.isPromiseLike)(value)) {
128
+ return schema_js_1.WrappedPromiseLikeSchema;
129
+ }
130
+ // Handle arrays
131
+ if (Array.isArray(value)) {
132
+ // For arrays, we need to preserve undefined values while allowing
133
+ // other elements to use the original literalPrimitives setting
134
+ const filteredValue = value; // Always process all elements
135
+ if (filteredValue.length === 0) {
136
+ // For empty arrays, use z.tuple() if literalTuples is enabled
137
+ if (literalTuples) {
138
+ return v4_1.z.tuple([]);
139
+ }
140
+ return v4_1.z.array(v4_1.z.never());
141
+ }
142
+ const elementSchemas = filteredValue.map((item) => {
143
+ // Use literal mode for undefined values to preserve them exactly,
144
+ // but use the original setting for other values
145
+ const itemLiteralPrimitives = item === undefined ? true : literalPrimitives;
146
+ return (0, exports.valueToSchema)(item, {
147
+ ...options,
148
+ _currentDepth: _currentDepth + 1,
149
+ literalPrimitives: itemLiteralPrimitives,
150
+ }, visited);
151
+ });
152
+ // Use z.tuple() if literalTuples is enabled
153
+ if (literalTuples) {
154
+ return v4_1.z.tuple(elementSchemas);
155
+ }
156
+ if (!noMixedArrays) {
157
+ // Helper function to generate structural keys for schemas
158
+ const getSchemaKey = (zodType) => {
159
+ const schema = zodType;
160
+ if ((0, guards_js_1.isZodType)(schema, 'literal')) {
161
+ return `${schema.constructor.name}:${String(schema.def.values)}`;
162
+ }
163
+ if ((0, guards_js_1.isZodType)(schema, 'array')) {
164
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
165
+ const elementKey = getSchemaKey(schema.def.element);
166
+ return `ZodArray<${elementKey}>`;
167
+ }
168
+ if ((0, guards_js_1.isZodType)(schema, 'object')) {
169
+ // For objects, create a key based on the property keys and their types
170
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
171
+ const shape = schema.def.shape;
172
+ const shapeKeys = Object.keys(shape)
173
+ .sort()
174
+ .map((key) => {
175
+ const propSchema = shape[key];
176
+ return `${key}:${getSchemaKey(propSchema)}`;
177
+ });
178
+ return `ZodObject<{${shapeKeys.join(',')}}>`;
179
+ }
180
+ if ((0, guards_js_1.isZodType)(schema, 'union')) {
181
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
182
+ const optionKeys = schema.def.options
183
+ .map((option) => getSchemaKey(option))
184
+ .sort();
185
+ return `ZodUnion<[${optionKeys.join(',')}]>`;
186
+ }
187
+ // For other types, use the constructor name
188
+ return schema.constructor.name;
189
+ };
190
+ const seenSchemaKeys = new Set();
191
+ const uniqueSchemas = [];
192
+ for (const schema of elementSchemas) {
193
+ const schemaKey = getSchemaKey(schema);
194
+ if (!seenSchemaKeys.has(schemaKey)) {
195
+ seenSchemaKeys.add(schemaKey);
196
+ uniqueSchemas.push(schema);
197
+ }
198
+ }
199
+ if (uniqueSchemas.length === 1) {
200
+ return v4_1.z.array(uniqueSchemas[0]);
201
+ }
202
+ else {
203
+ return v4_1.z.array(v4_1.z.union(uniqueSchemas));
204
+ }
205
+ }
206
+ else {
207
+ // Use the first element's schema for all elements
208
+ return v4_1.z.array(elementSchemas[0]);
209
+ }
210
+ }
211
+ // Handle plain objects
212
+ if ((0, guards_js_1.isNonNullObject)(value)) {
213
+ const schemaShape = {};
214
+ const undefinedKeys = [];
215
+ for (const [key, val] of Object.entries(value)) {
216
+ if ((0, guards_js_1.isString)(key)) {
217
+ // Skip undefined values unless we're in literalPrimitives mode
218
+ // This prevents objects with only undefined values from matching any object
219
+ if (val === undefined && !literalPrimitives) {
220
+ continue;
221
+ }
222
+ if (val === undefined && literalPrimitives) {
223
+ // Track keys that should have undefined values
224
+ undefinedKeys.push(key);
225
+ schemaShape[key] = v4_1.z.undefined();
226
+ }
227
+ else {
228
+ schemaShape[key] = (0, exports.valueToSchema)(val, {
229
+ ...options,
230
+ _currentDepth: _currentDepth + 1,
231
+ }, visited);
232
+ }
233
+ }
234
+ }
235
+ // Create the base object schema
236
+ const baseSchema = strict
237
+ ? v4_1.z.strictObject(schemaShape)
238
+ : v4_1.z.looseObject(schemaShape);
239
+ // If we have undefined keys in literalPrimitives mode, add validation to ensure they exist
240
+ if (undefinedKeys.length > 0 && literalPrimitives) {
241
+ return baseSchema.superRefine((data, ctx) => {
242
+ if (typeof data !== 'object' || data === null) {
243
+ ctx.addIssue({
244
+ code: v4_1.z.ZodIssueCode.custom,
245
+ message: 'Expected an object',
246
+ });
247
+ return;
248
+ }
249
+ const obj = data;
250
+ for (const key of undefinedKeys) {
251
+ if (!Object.hasOwn(obj, key)) {
252
+ ctx.addIssue({
253
+ code: v4_1.z.ZodIssueCode.custom,
254
+ message: `Expected property "${key}" to exist with value undefined`,
255
+ path: [key],
256
+ });
257
+ }
258
+ }
259
+ });
260
+ }
261
+ // Check if this is an empty object and literalEmptyObjects is enabled
262
+ if (Object.keys(schemaShape).length === 0 && literalEmptyObjects) {
263
+ // Create a schema that only matches empty objects
264
+ return v4_1.z.custom((val) => (0, guards_js_1.isObject)(val) && Object.keys(val).length === 0, {
265
+ message: 'Expected an empty object with no own properties',
266
+ });
267
+ }
268
+ return baseSchema;
269
+ }
270
+ // Handle other object types (ArrayBuffer, etc.)
271
+ return v4_1.z.custom((val) => typeof val === 'object' && val !== null, { message: 'Expected an object' });
272
+ }
273
+ finally {
274
+ visited.delete(value);
275
+ }
276
+ }
277
+ // Fallback for unknown types
278
+ return v4_1.z.unknown();
279
+ };
280
+ exports.valueToSchema = valueToSchema;
281
+ /**
282
+ * Predefined options for {@link valueToSchema} optimized for object satisfaction
283
+ * checks.
284
+ *
285
+ * Uses literal primitives and tuples for exact matching while allowing extra
286
+ * properties.
287
+ */
288
+ exports.valueToSchemaOptionsForSatisfies = Object.freeze({
289
+ literalEmptyObjects: true,
290
+ literalPrimitives: true,
291
+ literalRegExp: false,
292
+ literalTuples: true,
293
+ strict: false,
294
+ });
295
+ /**
296
+ * Predefined options for {@link valueToSchema} optimized for deep equality
297
+ * checks.
298
+ *
299
+ * Uses literal primitives, regexp, and tuples with strict validation for exact
300
+ * matching.
301
+ */
302
+ exports.valueToSchemaOptionsForDeepEqual = Object.freeze({
303
+ literalEmptyObjects: true,
304
+ literalPrimitives: true,
305
+ literalRegExp: true,
306
+ literalTuples: true,
307
+ strict: true,
308
+ });
309
+ //# sourceMappingURL=value-to-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"value-to-schema.js","sourceRoot":"","sources":["../../src/value-to-schema.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;AAE3B,2CAMqB;AACrB,2CAKqB;AAErB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEI,MAAM,aAAa,GAAG,CAC3B,KAAc,EACd,UAAgC,EAAE,EAClC,UAAU,IAAI,OAAO,EAAU,EACf,EAAE;IAClB,MAAM,EACJ,aAAa,GAAG,CAAC,EACjB,mBAAmB,GAAG,KAAK,EAC3B,iBAAiB,GAAG,KAAK,EACzB,aAAa,GAAG,KAAK,EACrB,aAAa,GAAG,KAAK,EACrB,QAAQ,GAAG,EAAE,EACb,aAAa,GAAG,KAAK,EACrB,MAAM,GAAG,KAAK,GACf,GAAG,OAAO,CAAC;IAEZ,6BAA6B;IAC7B,IAAI,aAAa,IAAI,QAAQ,EAAE,CAAC;QAC9B,OAAO,MAAC,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED,oBAAoB;IACpB,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,MAAC,CAAC,IAAI,EAAE,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,iBAAiB;YACtB,CAAC,CAAC,MAAC,CAAC,MAAM,CAAY,CAAC,GAAY,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,EAAE;gBACvD,OAAO,EAAE,oBAAoB;aAC9B,CAAC;YACJ,CAAC,CAAC,MAAC,CAAC,SAAS,EAAE,CAAC;IACpB,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,CAAC,KAAe,CAAC,EAAE,CAAC;QAClC,OAAO,MAAC,CAAC,GAAG,EAAE,CAAC;IACjB,CAAC;IACD,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC9C,OAAO,MAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC;IAE/B,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO,iBAAiB,CAAC,CAAC,CAAC,MAAC,CAAC,OAAO,CAAC,KAAe,CAAC,CAAC,CAAC,CAAC,MAAC,CAAC,MAAM,EAAE,CAAC;QACrE,KAAK,SAAS;YACZ,OAAO,iBAAiB,CAAC,CAAC,CAAC,MAAC,CAAC,OAAO,CAAC,KAAgB,CAAC,CAAC,CAAC,CAAC,MAAC,CAAC,OAAO,EAAE,CAAC;QACvE,KAAK,UAAU;YACb,OAAO,MAAC,CAAC,QAAQ,EAAE,CAAC;QACtB,KAAK,QAAQ;YACX,OAAO,iBAAiB,CAAC,CAAC,CAAC,MAAC,CAAC,OAAO,CAAC,KAAe,CAAC,CAAC,CAAC,CAAC,MAAC,CAAC,MAAM,EAAE,CAAC;QACrE,KAAK,QAAQ;YACX,OAAO,iBAAiB,CAAC,CAAC,CAAC,MAAC,CAAC,OAAO,CAAC,KAAe,CAAC,CAAC,CAAC,CAAC,MAAC,CAAC,MAAM,EAAE,CAAC;QACrE,KAAK,QAAQ;YACX,OAAO,MAAC,CAAC,MAAM,EAAE,CAAC;IACtB,CAAC;IAED,iBAAiB;IACjB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,gCAAgC;QAChC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,mEAAmE;YACnE,OAAO,MAAC,CAAC,OAAO,EAAE,CAAC;QACrB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEnB,IAAI,CAAC;YACH,sFAAsF;YACtF,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAI,SAAS,CACjB,6EAA6E,CAC9E,CAAC;YACJ,CAAC;YAED,+BAA+B;YAC/B,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;gBAC1B,6BAA6B;gBAC7B,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;oBAC3B,uDAAuD;oBACvD,OAAO,MAAC,CAAC,MAAM,CACb,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,YAAY,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,EACpD;wBACE,OAAO,EAAE,0BAA0B;qBACpC,CACF,CAAC;gBACJ,CAAC;gBACD,OAAO,MAAC,CAAC,IAAI,EAAE,CAAC;YAClB,CAAC;YAED,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;gBAC5B,IAAI,aAAa,EAAE,CAAC;oBAClB,OAAO,wBAAY,CAAC;gBACtB,CAAC;gBACD,OAAO,MAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC;YAED,IAAI,KAAK,YAAY,GAAG,EAAE,CAAC;gBACzB,OAAO,2BAAe,CAAC;YACzB,CAAC;YAED,IAAI,KAAK,YAAY,GAAG,EAAE,CAAC;gBACzB,OAAO,2BAAe,CAAC;YACzB,CAAC;YAED,IAAI,KAAK,YAAY,OAAO,EAAE,CAAC;gBAC7B,OAAO,MAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;YAED,IAAI,KAAK,YAAY,OAAO,EAAE,CAAC;gBAC7B,OAAO,MAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;YAED,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,OAAO,MAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;YAED,IAAI,IAAA,yBAAa,EAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,oCAAwB,CAAC;YAClC,CAAC;YAED,gBAAgB;YAChB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,kEAAkE;gBAClE,+DAA+D;gBAC/D,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,8BAA8B;gBAE3D,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC/B,8DAA8D;oBAC9D,IAAI,aAAa,EAAE,CAAC;wBAClB,OAAO,MAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBACrB,CAAC;oBACD,OAAO,MAAC,CAAC,KAAK,CAAC,MAAC,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC5B,CAAC;gBAED,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBAChD,kEAAkE;oBAClE,gDAAgD;oBAChD,MAAM,qBAAqB,GACzB,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC;oBAEhD,OAAO,IAAA,qBAAa,EAClB,IAAI,EACJ;wBACE,GAAG,OAAO;wBACV,aAAa,EAAE,aAAa,GAAG,CAAC;wBAChC,iBAAiB,EAAE,qBAAqB;qBACzC,EACD,OAAO,CACR,CAAC;gBACJ,CAAC,CAAC,CAAC;gBAEH,4CAA4C;gBAC5C,IAAI,aAAa,EAAE,CAAC;oBAClB,OAAO,MAAC,CAAC,KAAK,CAAC,cAA6C,CAAC,CAAC;gBAChE,CAAC;gBAED,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,0DAA0D;oBAC1D,MAAM,YAAY,GAAG,CACnB,OAAU,EACF,EAAE;wBACV,MAAM,MAAM,GAAG,OAAoB,CAAC;wBACpC,IAAI,IAAA,qBAAS,EAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;4BACjC,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;wBACnE,CAAC;wBAED,IAAI,IAAA,qBAAS,EAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;4BAC/B,sEAAsE;4BACtE,MAAM,UAAU,GAAG,YAAY,CAAE,MAAM,CAAC,GAAW,CAAC,OAAO,CAAC,CAAC;4BAC7D,OAAO,YAAY,UAAU,GAAG,CAAC;wBACnC,CAAC;wBAED,IAAI,IAAA,qBAAS,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;4BAChC,uEAAuE;4BACvE,sEAAsE;4BACtE,MAAM,KAAK,GAAI,MAAM,CAAC,GAAW,CAAC,KAGjC,CAAC;4BACF,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;iCACjC,IAAI,EAAE;iCACN,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gCACX,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAE,CAAC;gCAC/B,OAAO,GAAG,GAAG,IAAI,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;4BAC9C,CAAC,CAAC,CAAC;4BACL,OAAO,cAAc,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;wBAC/C,CAAC;wBAED,IAAI,IAAA,qBAAS,EAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;4BAC/B,sEAAsE;4BACtE,MAAM,UAAU,GAAK,MAAM,CAAC,GAAW,CAAC,OAAuB;iCAC5D,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;iCACrC,IAAI,EAAE,CAAC;4BACV,OAAO,aAAa,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;wBAC/C,CAAC;wBAED,4CAA4C;wBAC5C,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;oBACjC,CAAC,CAAC;oBAEF,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;oBACzC,MAAM,aAAa,GAAgB,EAAE,CAAC;oBAEtC,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;wBACpC,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;wBAEvC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;4BACnC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;4BAC9B,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC7B,CAAC;oBACH,CAAC;oBAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC/B,OAAO,MAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAE,CAAC,CAAC;oBACpC,CAAC;yBAAM,CAAC;wBACN,OAAO,MAAC,CAAC,KAAK,CACZ,MAAC,CAAC,KAAK,CAAC,aAAuD,CAAC,CACjE,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,kDAAkD;oBAClD,OAAO,MAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAE,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;YAED,uBAAuB;YACvB,IAAI,IAAA,2BAAe,EAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,MAAM,WAAW,GAAmC,EAAE,CAAC;gBACvD,MAAM,aAAa,GAAa,EAAE,CAAC;gBAEnC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC/C,IAAI,IAAA,oBAAQ,EAAC,GAAG,CAAC,EAAE,CAAC;wBAClB,+DAA+D;wBAC/D,4EAA4E;wBAC5E,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,iBAAiB,EAAE,CAAC;4BAC5C,SAAS;wBACX,CAAC;wBAED,IAAI,GAAG,KAAK,SAAS,IAAI,iBAAiB,EAAE,CAAC;4BAC3C,+CAA+C;4BAC/C,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;4BACxB,WAAW,CAAC,GAAG,CAAC,GAAG,MAAC,CAAC,SAAS,EAAE,CAAC;wBACnC,CAAC;6BAAM,CAAC;4BACN,WAAW,CAAC,GAAG,CAAC,GAAG,IAAA,qBAAa,EAC9B,GAAG,EACH;gCACE,GAAG,OAAO;gCACV,aAAa,EAAE,aAAa,GAAG,CAAC;6BACjC,EACD,OAAO,CACR,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,gCAAgC;gBAChC,MAAM,UAAU,GAAG,MAAM;oBACvB,CAAC,CAAC,MAAC,CAAC,YAAY,CAAC,WAAW,CAAC;oBAC7B,CAAC,CAAC,MAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;gBAE/B,2FAA2F;gBAC3F,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,iBAAiB,EAAE,CAAC;oBAClD,OAAO,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;wBAC1C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;4BAC9C,GAAG,CAAC,QAAQ,CAAC;gCACX,IAAI,EAAE,MAAC,CAAC,YAAY,CAAC,MAAM;gCAC3B,OAAO,EAAE,oBAAoB;6BAC9B,CAAC,CAAC;4BACH,OAAO;wBACT,CAAC;wBAED,MAAM,GAAG,GAAG,IAA+B,CAAC;wBAC5C,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;4BAChC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;gCAC7B,GAAG,CAAC,QAAQ,CAAC;oCACX,IAAI,EAAE,MAAC,CAAC,YAAY,CAAC,MAAM;oCAC3B,OAAO,EAAE,sBAAsB,GAAG,iCAAiC;oCACnE,IAAI,EAAE,CAAC,GAAG,CAAC;iCACZ,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC;gBAED,sEAAsE;gBACtE,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,mBAAmB,EAAE,CAAC;oBACjE,kDAAkD;oBAClD,OAAO,MAAC,CAAC,MAAM,CACb,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,oBAAQ,EAAC,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,EACvD;wBACE,OAAO,EAAE,iDAAiD;qBAC3D,CACF,CAAC;gBACJ,CAAC;gBAED,OAAO,UAAU,CAAC;YACpB,CAAC;YAED,gDAAgD;YAChD,OAAO,MAAC,CAAC,MAAM,CACb,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAChD,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAClC,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,OAAO,MAAC,CAAC,OAAO,EAAE,CAAC;AACrB,CAAC,CAAC;AAvTW,QAAA,aAAa,iBAuTxB;AAsEF;;;;;;GAMG;AACU,QAAA,gCAAgC,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5D,mBAAmB,EAAE,IAAI;IACzB,iBAAiB,EAAE,IAAI;IACvB,aAAa,EAAE,KAAK;IACpB,aAAa,EAAE,IAAI;IACnB,MAAM,EAAE,KAAK;CACL,CAAgC,CAAC;AAE3C;;;;;;GAMG;AACU,QAAA,gCAAgC,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5D,mBAAmB,EAAE,IAAI;IACzB,iBAAiB,EAAE,IAAI;IACvB,aAAa,EAAE,IAAI;IACnB,aAAa,EAAE,IAAI;IACnB,MAAM,EAAE,IAAI;CACJ,CAAgC,CAAC"}
@@ -34,7 +34,8 @@ export declare class BupkisAssertionFunctionAsync<Parts extends AssertionParts,
34
34
  * with an {@link AssertionError}
35
35
  */
36
36
  export declare class BupkisAssertionSchemaAsync<Parts extends AssertionParts, Impl extends AssertionImplSchemaAsync<Parts>, Slots extends AssertionSlots<Parts>> extends BupkisAssertionAsync<Parts, Impl, Slots> implements AssertionSchemaAsync<Parts, Impl, Slots> {
37
- executeAsync(parsedValues: ParsedValues<Parts>, _args: unknown[], stackStartFn: (...args: any[]) => any, _parseResult?: ParsedResult<Parts>): Promise<void>;
37
+ executeAsync(parsedValues: ParsedValues<Parts>, _args: unknown[], stackStartFn: (...args: any[]) => any, parseResult?: ParsedResult<Parts>): Promise<void>;
38
+ parseValuesAsync<Args extends readonly unknown[]>(args: Args): Promise<ParsedResult<Parts>>;
38
39
  /**
39
40
  * Determines if this assertion can be optimized (simple single-subject
40
41
  * schema). Only simple assertions like ['to be a string'] with z.string()
@@ -1 +1 @@
1
- {"version":3,"file":"assertion-async.d.ts","sourceRoot":"","sources":["../../../src/assertion/assertion-async.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGjD,8BAAsB,oBAAoB,CACtC,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,kBAAkB,CAAC,KAAK,CAAC,EACtC,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CAErC,SAAQ,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAC1C,YAAW,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;IAE7C,QAAQ,CAAC,YAAY,CACnB,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,EACjC,IAAI,EAAE,OAAO,EAAE,EACf,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACrC,WAAW,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,GAChC,OAAO,CAAC,IAAI,CAAC;IAEV,gBAAgB,CAAC,IAAI,SAAS,SAAS,OAAO,EAAE,EACpD,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;CA0ChC;AACD;;;;GAIG;AACH;;;;;;;;GAQG;AAEH,qBAAa,4BAA4B,CACrC,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,oBAAoB,CAAC,KAAK,CAAC,EACxC,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CAErC,SAAQ,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAC/C,YAAW,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;IAEtC,YAAY,CACzB,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,EACjC,IAAI,EAAE,OAAO,EAAE,EACf,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACrC,YAAY,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC;CA8BjB;AAED;;;;;;;;;;;GAWG;AAEH,qBAAa,0BAA0B,CACnC,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,wBAAwB,CAAC,KAAK,CAAC,EAC5C,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CAErC,SAAQ,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAC/C,YAAW,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;IAEpC,YAAY,CACzB,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,EACjC,KAAK,EAAE,OAAO,EAAE,EAChB,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACrC,YAAY,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC;IAahB;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;CAehC"}
1
+ {"version":3,"file":"assertion-async.d.ts","sourceRoot":"","sources":["../../../src/assertion/assertion-async.ts"],"names":[],"mappings":"AAcA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,YAAY,EAEjB,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGjD,8BAAsB,oBAAoB,CACtC,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,kBAAkB,CAAC,KAAK,CAAC,EACtC,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CAErC,SAAQ,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAC1C,YAAW,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;IAE7C,QAAQ,CAAC,YAAY,CACnB,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,EACjC,IAAI,EAAE,OAAO,EAAE,EACf,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACrC,WAAW,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,GAChC,OAAO,CAAC,IAAI,CAAC;IAEV,gBAAgB,CAAC,IAAI,SAAS,SAAS,OAAO,EAAE,EACpD,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;CA0ChC;AACD;;;;GAIG;AACH;;;;;;;;GAQG;AAEH,qBAAa,4BAA4B,CACrC,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,oBAAoB,CAAC,KAAK,CAAC,EACxC,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CAErC,SAAQ,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAC/C,YAAW,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;IAEtC,YAAY,CACzB,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,EACjC,IAAI,EAAE,OAAO,EAAE,EACf,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACrC,YAAY,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC;CAgCjB;AAED;;;;;;;;;;;GAWG;AAEH,qBAAa,0BAA0B,CACnC,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,wBAAwB,CAAC,KAAK,CAAC,EAC5C,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CAErC,SAAQ,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAC/C,YAAW,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;IAEpC,YAAY,CACzB,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,EACjC,KAAK,EAAE,OAAO,EAAE,EAChB,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACrC,WAAW,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,GAChC,OAAO,CAAC,IAAI,CAAC;IAmCD,gBAAgB,CAAC,IAAI,SAAS,SAAS,OAAO,EAAE,EAC7D,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IA6E/B;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;CAehC"}
@@ -3,7 +3,7 @@ import { inspect } from 'util';
3
3
  import z from 'zod/v4';
4
4
  import { kStringLiteral } from '../constant.js';
5
5
  import { AssertionError } from '../error.js';
6
- import { isA, isAssertionFailure, isBoolean, isZodType } from '../guards.js';
6
+ import { isA, isAssertionFailure, isBoolean, isError, isZodType, } from '../guards.js';
7
7
  import { BupkisRegistry } from '../metadata.js';
8
8
  import { BupkisAssertion } from './assertion.js';
9
9
  const debug = Debug('bupkis:assertion:async');
@@ -93,6 +93,9 @@ export class BupkisAssertionFunctionAsync extends BupkisAssertionAsync {
93
93
  message: result.message ?? `Assertion ${this} failed`,
94
94
  });
95
95
  }
96
+ else if (isError(result) && result instanceof z.ZodError) {
97
+ throw this.translateZodError(stackStartFn, result, ...parsedValues);
98
+ }
96
99
  else if (result) {
97
100
  throw new TypeError(`Invalid return type from assertion ${this}; expected boolean, ZodType, or AssertionFailure`);
98
101
  }
@@ -111,8 +114,21 @@ export class BupkisAssertionFunctionAsync extends BupkisAssertionAsync {
111
114
  * with an {@link AssertionError}
112
115
  */
113
116
  export class BupkisAssertionSchemaAsync extends BupkisAssertionAsync {
114
- async executeAsync(parsedValues, _args, stackStartFn, _parseResult) {
115
- // For async, fall back to standard implementation for now
117
+ async executeAsync(parsedValues, _args, stackStartFn, parseResult) {
118
+ // Check if we have cached validation result from parseValuesAsync
119
+ const cachedValidation = parseResult?.success
120
+ ? parseResult.subjectValidationResult
121
+ : undefined;
122
+ if (cachedValidation) {
123
+ debug('Using cached subject validation result from parseValuesAsync for %s', this);
124
+ if (!cachedValidation.success) {
125
+ // Subject validation failed during parseValuesAsync, throw the cached error
126
+ throw this.translateZodError(stackStartFn, cachedValidation.error, ...parsedValues);
127
+ }
128
+ // Subject validation passed, nothing more to do
129
+ return;
130
+ }
131
+ // Fall back to standard validation if no cached result
116
132
  const [subject] = parsedValues;
117
133
  try {
118
134
  await this.impl.parseAsync(subject);
@@ -124,6 +140,72 @@ export class BupkisAssertionSchemaAsync extends BupkisAssertionAsync {
124
140
  throw error;
125
141
  }
126
142
  }
143
+ async parseValuesAsync(args) {
144
+ const { slots } = this;
145
+ const parsedValues = [];
146
+ const mismatch = this.maybeParseValuesArgMismatch(args);
147
+ if (mismatch) {
148
+ return mismatch;
149
+ }
150
+ let exactMatch = true;
151
+ let subjectValidationResult;
152
+ for (let i = 0; i < slots.length; i++) {
153
+ const slot = slots[i];
154
+ const arg = args[i];
155
+ const parsedLiteralResult = this.parseSlotForLiteral(slot, i, arg);
156
+ if (parsedLiteralResult === true) {
157
+ continue;
158
+ }
159
+ else if (parsedLiteralResult !== false) {
160
+ return parsedLiteralResult;
161
+ }
162
+ // For the subject slot (first slot if it's unknown/any), try optimized validation
163
+ if (i === 0 &&
164
+ (slot.def.type === 'unknown' || slot.def.type === 'any') &&
165
+ this.isSimpleSchemaAssertion()) {
166
+ try {
167
+ const result = await this.impl.parseAsync(arg);
168
+ subjectValidationResult = { data: result, success: true };
169
+ parsedValues.push(result); // Use validated data
170
+ }
171
+ catch (error) {
172
+ if (isA(error, z.ZodError)) {
173
+ subjectValidationResult = { error, success: false };
174
+ parsedValues.push(arg); // Keep original for error reporting
175
+ }
176
+ else {
177
+ throw error; // Re-throw non-Zod errors
178
+ }
179
+ }
180
+ exactMatch = false; // Subject was validated, so we know the exact type
181
+ continue;
182
+ }
183
+ // Standard slot processing for non-optimized cases
184
+ if (slot.def.type === 'unknown' || slot.def.type === 'any') {
185
+ debug('Skipping unknown/any slot validation for arg', arg);
186
+ parsedValues.push(arg);
187
+ exactMatch = false;
188
+ continue;
189
+ }
190
+ const result = await slot.safeParseAsync(arg);
191
+ if (!result.success) {
192
+ return {
193
+ success: false,
194
+ };
195
+ }
196
+ parsedValues.push(result.data);
197
+ }
198
+ const result = {
199
+ exactMatch,
200
+ parsedValues: parsedValues,
201
+ success: true,
202
+ };
203
+ // Add cached validation result if we performed optimization
204
+ if (subjectValidationResult) {
205
+ result.subjectValidationResult = subjectValidationResult;
206
+ }
207
+ return result;
208
+ }
127
209
  /**
128
210
  * Determines if this assertion can be optimized (simple single-subject
129
211
  * schema). Only simple assertions like ['to be a string'] with z.string()
@@ -1 +1 @@
1
- {"version":3,"file":"assertion-async.js","sourceRoot":"","sources":["../../../src/assertion/assertion-async.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assertion-async.js","sourceRoot":"","sources":["../../../src/assertion/assertion-async.ts"],"names":[],"mappings":"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"}
@@ -54,7 +54,7 @@ export declare class BupkisAssertionFunctionSync<Parts extends AssertionParts, I
54
54
  * with an {@link AssertionError}
55
55
  */
56
56
  export declare class BupkisAssertionSchemaSync<Parts extends AssertionParts, Impl extends AssertionImplSchemaSync<Parts>, Slots extends AssertionSlots<Parts>> extends BupkisAssertionSync<Parts, Impl, Slots> implements AssertionSchemaSync<Parts, Impl, Slots> {
57
- execute(parsedValues: ParsedValues<Parts>, args: unknown[], stackStartFn: (...args: any[]) => any, parseResult?: ParsedResult<Parts>): void;
57
+ execute(parsedValues: ParsedValues<Parts>, _args: unknown[], stackStartFn: (...args: any[]) => any, parseResult?: ParsedResult<Parts>): void;
58
58
  parseValues<Args extends readonly unknown[]>(args: Args): ParsedResult<Parts>;
59
59
  /**
60
60
  * Determines if this assertion can be optimized (simple single-subject
@@ -1 +1 @@
1
- {"version":3,"file":"assertion-sync.d.ts","sourceRoot":"","sources":["../../../src/assertion/assertion-sync.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgBH,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,YAAY,EAEjB,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAIjD;;;;GAIG;AACH,8BAAsB,mBAAmB,CACrC,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,iBAAiB,CAAC,KAAK,CAAC,EACrC,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CAErC,SAAQ,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAC1C,YAAW,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;IAE5C;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,CACd,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,EACjC,IAAI,EAAE,OAAO,EAAE,EACf,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACrC,WAAW,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,GAChC,IAAI;IAEP;;;;;;;;;;;;;;OAcG;IACH,WAAW,CAAC,IAAI,SAAS,SAAS,OAAO,EAAE,EACzC,IAAI,EAAE,IAAI,GACT,YAAY,CAAC,KAAK,CAAC;CAkDvB;AAED,qBAAa,2BAA2B,CACpC,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,mBAAmB,CAAC,KAAK,CAAC,EACvC,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CAErC,SAAQ,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAC9C,YAAW,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;IAE3C,OAAO,CACd,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,EACjC,IAAI,EAAE,OAAO,EAAE,EACf,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACrC,YAAY,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,GACjC,IAAI;CA2CR;AAED;;;;;;;;;;;GAWG;AAEH,qBAAa,yBAAyB,CAClC,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,uBAAuB,CAAC,KAAK,CAAC,EAC3C,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CAErC,SAAQ,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAC9C,YAAW,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;IAEzC,OAAO,CACd,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,EACjC,IAAI,EAAE,OAAO,EAAE,EACf,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACrC,WAAW,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,GAChC,IAAI;IA+BE,WAAW,CAAC,IAAI,SAAS,SAAS,OAAO,EAAE,EAClD,IAAI,EAAE,IAAI,GACT,YAAY,CAAC,KAAK,CAAC;IA8EtB;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;CAehC"}
1
+ {"version":3,"file":"assertion-sync.d.ts","sourceRoot":"","sources":["../../../src/assertion/assertion-sync.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAiBH,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,YAAY,EAEjB,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAIjD;;;;GAIG;AACH,8BAAsB,mBAAmB,CACrC,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,iBAAiB,CAAC,KAAK,CAAC,EACrC,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CAErC,SAAQ,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAC1C,YAAW,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;IAE5C;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,CACd,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,EACjC,IAAI,EAAE,OAAO,EAAE,EACf,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACrC,WAAW,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,GAChC,IAAI;IAEP;;;;;;;;;;;;;;OAcG;IACH,WAAW,CAAC,IAAI,SAAS,SAAS,OAAO,EAAE,EACzC,IAAI,EAAE,IAAI,GACT,YAAY,CAAC,KAAK,CAAC;CAkDvB;AAED,qBAAa,2BAA2B,CACpC,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,mBAAmB,CAAC,KAAK,CAAC,EACvC,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CAErC,SAAQ,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAC9C,YAAW,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;IAE3C,OAAO,CACd,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,EACjC,IAAI,EAAE,OAAO,EAAE,EACf,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACrC,YAAY,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,GACjC,IAAI;CA6CR;AAED;;;;;;;;;;;GAWG;AAEH,qBAAa,yBAAyB,CAClC,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,uBAAuB,CAAC,KAAK,CAAC,EAC3C,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CAErC,SAAQ,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAC9C,YAAW,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;IAEzC,OAAO,CACd,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,EACjC,KAAK,EAAE,OAAO,EAAE,EAChB,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACrC,WAAW,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,GAChC,IAAI;IA+BE,WAAW,CAAC,IAAI,SAAS,SAAS,OAAO,EAAE,EAClD,IAAI,EAAE,IAAI,GACT,YAAY,CAAC,KAAK,CAAC;IA8EtB;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;CAehC"}
@@ -7,9 +7,10 @@
7
7
  */
8
8
  import Debug from 'debug';
9
9
  import { inspect } from 'util';
10
+ import { z } from 'zod/v4';
10
11
  import { kStringLiteral } from '../constant.js';
11
12
  import { AssertionError } from '../error.js';
12
- import { isAssertionFailure, isBoolean, isPromiseLike, isZodPromise, isZodType, } from '../guards.js';
13
+ import { isAssertionFailure, isBoolean, isError, isPromiseLike, isZodPromise, isZodType, } from '../guards.js';
13
14
  import { BupkisRegistry } from '../metadata.js';
14
15
  import { BupkisAssertion } from './assertion.js';
15
16
  const debug = Debug('bupkis:assertion:sync');
@@ -111,6 +112,9 @@ export class BupkisAssertionFunctionSync extends BupkisAssertionSync {
111
112
  message: result.message ?? `Assertion ${this} failed`,
112
113
  });
113
114
  }
115
+ else if (isError(result) && result instanceof z.ZodError) {
116
+ throw this.translateZodError(stackStartFn, result, ...parsedValues);
117
+ }
114
118
  else if (result) {
115
119
  throw new TypeError(`Invalid return type from assertion ${this}; expected boolean, ZodType, or AssertionFailure`);
116
120
  }
@@ -129,7 +133,7 @@ export class BupkisAssertionFunctionSync extends BupkisAssertionSync {
129
133
  * with an {@link AssertionError}
130
134
  */
131
135
  export class BupkisAssertionSchemaSync extends BupkisAssertionSync {
132
- execute(parsedValues, args, stackStartFn, parseResult) {
136
+ execute(parsedValues, _args, stackStartFn, parseResult) {
133
137
  // Check if we have cached validation result from parseValues
134
138
  const cachedValidation = parseResult?.success
135
139
  ? parseResult.subjectValidationResult
@@ -1 +1 @@
1
- {"version":3,"file":"assertion-sync.js","sourceRoot":"","sources":["../../../src/assertion/assertion-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assertion-sync.js","sourceRoot":"","sources":["../../../src/assertion/assertion-sync.ts"],"names":[],"mappings":"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"}
@@ -172,7 +172,11 @@ export type AssertionImplAsync<Parts extends AssertionParts> = AssertionImplFnAs
172
172
  * @see {@link AssertionImplFnSync} for sync function implementations
173
173
  * @see {@link ParsedValues} for the input parameter structure
174
174
  */
175
- export type AssertionImplFnAsync<Parts extends AssertionParts> = (...values: ParsedValues<Parts>) => Promise<AssertionFailure | boolean | void | z.ZodType<ParsedSubject<Parts>>>;
175
+ export type AssertionImplFnAsync<Parts extends AssertionParts> = (...values: ParsedValues<Parts>) => AssertionImplFnReturnType<Parts> | Promise<AssertionImplFnReturnType<Parts>>;
176
+ /**
177
+ * The return type of an assertion implementation function.
178
+ */
179
+ export type AssertionImplFnReturnType<Parts extends AssertionParts> = AssertionFailure | boolean | void | z.ZodError | z.ZodType<ParsedSubject<Parts>>;
176
180
  /**
177
181
  * The implementation of an assertion as a sync function.
178
182
  *
@@ -188,7 +192,7 @@ export type AssertionImplFnAsync<Parts extends AssertionParts> = (...values: Par
188
192
  * @see {@link AssertionImplFnAsync} for async function implementations
189
193
  * @see {@link ParsedValues} for the input parameter structure
190
194
  */
191
- export type AssertionImplFnSync<Parts extends AssertionParts> = (...values: ParsedValues<Parts>) => AssertionFailure | boolean | void | z.ZodType<ParsedSubject<Parts>>;
195
+ export type AssertionImplFnSync<Parts extends AssertionParts> = (...values: ParsedValues<Parts>) => AssertionImplFnReturnType<Parts>;
192
196
  /**
193
197
  * Maps an {@link AssertionPart} to a parameter to an {@link AssertionImpl}.
194
198
  *