bupkis 0.13.0 → 0.15.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 +21 -0
- package/README.md +4 -1
- package/dist/assertion/assertion-async.cjs +8 -21
- package/dist/assertion/assertion-async.cjs.map +1 -1
- package/dist/assertion/assertion-async.d.cts +0 -6
- package/dist/assertion/assertion-async.d.cts.map +1 -1
- package/dist/assertion/assertion-async.d.ts +0 -6
- package/dist/assertion/assertion-async.d.ts.map +1 -1
- package/dist/assertion/assertion-async.js +8 -21
- package/dist/assertion/assertion-async.js.map +1 -1
- package/dist/assertion/assertion-standard-schema-async.cjs +0 -23
- package/dist/assertion/assertion-standard-schema-async.cjs.map +1 -1
- package/dist/assertion/assertion-standard-schema-async.d.cts +0 -12
- package/dist/assertion/assertion-standard-schema-async.d.cts.map +1 -1
- package/dist/assertion/assertion-standard-schema-async.d.ts +0 -12
- package/dist/assertion/assertion-standard-schema-async.d.ts.map +1 -1
- package/dist/assertion/assertion-standard-schema-async.js +0 -23
- package/dist/assertion/assertion-standard-schema-async.js.map +1 -1
- package/dist/assertion/assertion-standard-schema-sync.cjs +0 -23
- package/dist/assertion/assertion-standard-schema-sync.cjs.map +1 -1
- package/dist/assertion/assertion-standard-schema-sync.d.cts +0 -12
- package/dist/assertion/assertion-standard-schema-sync.d.cts.map +1 -1
- package/dist/assertion/assertion-standard-schema-sync.d.ts +0 -12
- package/dist/assertion/assertion-standard-schema-sync.d.ts.map +1 -1
- package/dist/assertion/assertion-standard-schema-sync.js +0 -23
- package/dist/assertion/assertion-standard-schema-sync.js.map +1 -1
- package/dist/assertion/assertion-sync.cjs +8 -21
- package/dist/assertion/assertion-sync.cjs.map +1 -1
- package/dist/assertion/assertion-sync.d.cts +0 -6
- package/dist/assertion/assertion-sync.d.cts.map +1 -1
- package/dist/assertion/assertion-sync.d.ts +0 -6
- package/dist/assertion/assertion-sync.d.ts.map +1 -1
- package/dist/assertion/assertion-sync.js +8 -21
- package/dist/assertion/assertion-sync.js.map +1 -1
- package/dist/assertion/assertion-types.d.cts +51 -0
- package/dist/assertion/assertion-types.d.cts.map +1 -1
- package/dist/assertion/assertion-types.d.ts +51 -0
- package/dist/assertion/assertion-types.d.ts.map +1 -1
- package/dist/assertion/assertion.cjs +22 -0
- package/dist/assertion/assertion.cjs.map +1 -1
- package/dist/assertion/assertion.d.cts +13 -0
- package/dist/assertion/assertion.d.cts.map +1 -1
- package/dist/assertion/assertion.d.ts +13 -0
- package/dist/assertion/assertion.d.ts.map +1 -1
- package/dist/assertion/assertion.js +22 -0
- package/dist/assertion/assertion.js.map +1 -1
- package/dist/assertion/format-assertion-failure.cjs +63 -0
- package/dist/assertion/format-assertion-failure.cjs.map +1 -0
- package/dist/assertion/format-assertion-failure.d.cts +21 -0
- package/dist/assertion/format-assertion-failure.d.cts.map +1 -0
- package/dist/assertion/format-assertion-failure.d.ts +21 -0
- package/dist/assertion/format-assertion-failure.d.ts.map +1 -0
- package/dist/assertion/format-assertion-failure.js +59 -0
- package/dist/assertion/format-assertion-failure.js.map +1 -0
- package/dist/assertion/impl/sync-collection.cjs +39 -1
- package/dist/assertion/impl/sync-collection.cjs.map +1 -1
- package/dist/assertion/impl/sync-collection.d.cts +20 -0
- package/dist/assertion/impl/sync-collection.d.cts.map +1 -1
- package/dist/assertion/impl/sync-collection.d.ts +20 -0
- package/dist/assertion/impl/sync-collection.d.ts.map +1 -1
- package/dist/assertion/impl/sync-collection.js +38 -0
- package/dist/assertion/impl/sync-collection.js.map +1 -1
- package/dist/assertion/impl/sync-parametric.cjs +75 -1
- package/dist/assertion/impl/sync-parametric.cjs.map +1 -1
- package/dist/assertion/impl/sync-parametric.d.cts +63 -0
- package/dist/assertion/impl/sync-parametric.d.cts.map +1 -1
- package/dist/assertion/impl/sync-parametric.d.ts +63 -0
- package/dist/assertion/impl/sync-parametric.d.ts.map +1 -1
- package/dist/assertion/impl/sync-parametric.js +74 -0
- package/dist/assertion/impl/sync-parametric.js.map +1 -1
- package/dist/assertion/impl/sync.cjs +4 -0
- package/dist/assertion/impl/sync.cjs.map +1 -1
- package/dist/assertion/impl/sync.d.cts +18 -6
- package/dist/assertion/impl/sync.d.cts.map +1 -1
- package/dist/assertion/impl/sync.d.ts +18 -6
- package/dist/assertion/impl/sync.d.ts.map +1 -1
- package/dist/assertion/impl/sync.js +6 -2
- package/dist/assertion/impl/sync.js.map +1 -1
- package/dist/diff.cjs +20 -31
- package/dist/diff.cjs.map +1 -1
- package/dist/diff.js +20 -31
- package/dist/diff.js.map +1 -1
- package/dist/error.cjs.map +1 -1
- package/dist/error.d.cts.map +1 -1
- package/dist/error.d.ts.map +1 -1
- package/dist/error.js.map +1 -1
- package/dist/expect.cjs +109 -146
- package/dist/expect.cjs.map +1 -1
- package/dist/expect.d.cts.map +1 -1
- package/dist/expect.d.ts.map +1 -1
- package/dist/expect.js +109 -146
- package/dist/expect.js.map +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +21 -8
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +21 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internal-schema.cjs +19 -0
- package/dist/internal-schema.cjs.map +1 -1
- package/dist/internal-schema.d.cts.map +1 -1
- package/dist/internal-schema.d.ts.map +1 -1
- package/dist/internal-schema.js +19 -0
- package/dist/internal-schema.js.map +1 -1
- package/dist/schema.cjs +33 -34
- package/dist/schema.cjs.map +1 -1
- package/dist/schema.d.cts +0 -41
- package/dist/schema.d.cts.map +1 -1
- package/dist/schema.d.ts +0 -41
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +33 -34
- package/dist/schema.js.map +1 -1
- package/dist/value-to-schema.cjs +58 -0
- package/dist/value-to-schema.cjs.map +1 -1
- package/dist/value-to-schema.d.cts.map +1 -1
- package/dist/value-to-schema.d.ts.map +1 -1
- package/dist/value-to-schema.js +58 -0
- package/dist/value-to-schema.js.map +1 -1
- package/package.json +25 -27
- package/src/assertion/assertion-async.ts +22 -38
- package/src/assertion/assertion-standard-schema-async.ts +4 -31
- package/src/assertion/assertion-standard-schema-sync.ts +4 -31
- package/src/assertion/assertion-sync.ts +22 -38
- package/src/assertion/assertion-types.ts +60 -2
- package/src/assertion/assertion.ts +27 -2
- package/src/assertion/format-assertion-failure.ts +72 -0
- package/src/assertion/impl/sync-collection.ts +45 -0
- package/src/assertion/impl/sync-parametric.ts +85 -0
- package/src/assertion/impl/sync.ts +8 -0
- package/src/diff.ts +26 -35
- package/src/error.ts +3 -2
- package/src/expect.ts +133 -178
- package/src/index.ts +14 -6
- package/src/internal-schema.ts +20 -1
- package/src/schema.ts +35 -34
- package/src/value-to-schema.ts +84 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.15.0](https://github.com/boneskull/bupkis/compare/bupkis-v0.14.0...bupkis-v0.15.0) (2026-01-11)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* **assertions:** add arrayItemSatisfiesAssertion ([220497b](https://github.com/boneskull/bupkis/commit/220497bbf65608d56fd6d12a3f321e5de5c71b6d))
|
|
9
|
+
* **assertions:** add stringLengthAssertion ([68e481f](https://github.com/boneskull/bupkis/commit/68e481fe5e70ac41116b781cf75c725813a4eace))
|
|
10
|
+
* custom diff support ([#308](https://github.com/boneskull/bupkis/issues/308)) ([5f07964](https://github.com/boneskull/bupkis/commit/5f079647503804129a49a4f1525bdd146d45b653))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* **test:** filter Set generator to ensure minimum size after deduping ([93298e5](https://github.com/boneskull/bupkis/commit/93298e5e96474e73ac99fbd04713d9d379d128f1))
|
|
16
|
+
|
|
17
|
+
## [0.14.0](https://github.com/boneskull/bupkis/compare/bupkis-v0.13.0...bupkis-v0.14.0) (2025-12-10)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Features
|
|
21
|
+
|
|
22
|
+
* **assertions:** add "deep equal" for Map and Set ([#262](https://github.com/boneskull/bupkis/issues/262)) ([8a6b959](https://github.com/boneskull/bupkis/commit/8a6b95995b0eb37f28aa8afdbf42bcf2234f9d28))
|
|
23
|
+
|
|
3
24
|
## [0.13.0](https://github.com/boneskull/bupkis/compare/bupkis-v0.12.2...bupkis-v0.13.0) (2025-11-13)
|
|
4
25
|
|
|
5
26
|
|
package/README.md
CHANGED
|
@@ -91,7 +91,7 @@ This isn't black magic. It ain't no _cauldron_. We're not just _throwing rat tai
|
|
|
91
91
|
|
|
92
92
|
You may wonder how this could this be anything _but_ loosey-goosey _senselessness_. On the contrary—we have _conventions_!
|
|
93
93
|
|
|
94
|
-
#### Conventions of
|
|
94
|
+
#### Conventions of expect()
|
|
95
95
|
|
|
96
96
|
To formalize the conventions at a high level:
|
|
97
97
|
|
|
@@ -205,6 +205,8 @@ expect('skiball lavatory', 'to be a string');
|
|
|
205
205
|
|
|
206
206
|
**Any [Standard Schema V1][standard schema] library makes it extremely easy to create most custom assertions**. Whether you prefer [Zod][], [Valibot][], [ArkType][], or another compliant library, they all work seamlessly. But despite their power, validation libraries can't do _everything_ we need an assertion to do; for those situations, there's also a [function-based API][custom-assertion-function] for use with [parametric][] and [behavioral][] (e.g., involving function execution) assertions.
|
|
207
207
|
|
|
208
|
+
Function-based assertions can provide **rich diff output** through customizable formatting options—supply pre-computed diffs, custom value formatters, or [jest-diff][] configuration to make assertion failures crystal clear.
|
|
209
|
+
|
|
208
210
|
👉 For an assiduous guide on creating assertions, read [Guide: How to Create a Custom Assertion][create-a-custom-assertion].
|
|
209
211
|
|
|
210
212
|
### Excruciating Type Safety
|
|
@@ -275,3 +277,4 @@ Copyright © 2025 Christopher Hiller. Licensed under [BlueOak-1.0.0](https://blu
|
|
|
275
277
|
[embeddable assertions]: https://bupkis.zip/documents/Basic_Usage#embeddable-assertions
|
|
276
278
|
[unexpected-to-satisfy]: https://unexpected.js.org/assertions/any/to-satisfy/
|
|
277
279
|
[behavioral]: https://bupkis.zip/glossary#behavioral-assertion
|
|
280
|
+
[jest-diff]: https://npm.im/jest-diff
|
|
@@ -6,12 +6,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.BupkisAssertionSchemaAsync = exports.BupkisAssertionFunctionAsync = exports.BupkisAssertionAsync = void 0;
|
|
7
7
|
const util_1 = require("util");
|
|
8
8
|
const v4_1 = __importDefault(require("zod/v4"));
|
|
9
|
-
const constant_js_1 = require("../constant.cjs");
|
|
10
9
|
const error_js_1 = require("../error.cjs");
|
|
11
10
|
const guards_js_1 = require("../guards.cjs");
|
|
12
11
|
const internal_schema_js_1 = require("../internal-schema.cjs");
|
|
13
|
-
const metadata_js_1 = require("../metadata.cjs");
|
|
14
12
|
const assertion_js_1 = require("./assertion.cjs");
|
|
13
|
+
const format_assertion_failure_js_1 = require("./format-assertion-failure.cjs");
|
|
15
14
|
class BupkisAssertionAsync extends assertion_js_1.BupkisAssertion {
|
|
16
15
|
async parseValuesAsync(args) {
|
|
17
16
|
const { slots } = this;
|
|
@@ -143,12 +142,17 @@ class BupkisAssertionFunctionAsync extends BupkisAssertionAsync {
|
|
|
143
142
|
}
|
|
144
143
|
}
|
|
145
144
|
else if ((0, internal_schema_js_1.isAssertionFailure)(result)) {
|
|
145
|
+
const diffOutput = (0, format_assertion_failure_js_1.formatAssertionFailure)(result);
|
|
146
|
+
const baseMessage = result.message ??
|
|
147
|
+
`Assertion ${this} failed for arguments: ${(0, util_1.inspect)(args)}`;
|
|
148
|
+
const message = diffOutput
|
|
149
|
+
? `${baseMessage}\n${diffOutput}`
|
|
150
|
+
: baseMessage;
|
|
146
151
|
throw new error_js_1.AssertionError({
|
|
147
152
|
actual: result.actual,
|
|
148
153
|
expected: result.expected,
|
|
149
154
|
id: this.id,
|
|
150
|
-
message
|
|
151
|
-
`Assertion ${this} failed for arguments: ${(0, util_1.inspect)(args)}`,
|
|
155
|
+
message,
|
|
152
156
|
});
|
|
153
157
|
}
|
|
154
158
|
else if (result) {
|
|
@@ -259,23 +263,6 @@ class BupkisAssertionSchemaAsync extends BupkisAssertionAsync {
|
|
|
259
263
|
}
|
|
260
264
|
return result;
|
|
261
265
|
}
|
|
262
|
-
/**
|
|
263
|
-
* Determines if this assertion can be optimized (simple single-subject
|
|
264
|
-
* schema). Only simple assertions like ['to be a string'] with z.string()
|
|
265
|
-
* qualify.
|
|
266
|
-
*/
|
|
267
|
-
isSimpleSchemaAssertion() {
|
|
268
|
-
// Only optimize if we have exactly one subject slot + string literal slots
|
|
269
|
-
// and no complex argument processing
|
|
270
|
-
const hasSubjectSlot = this.slots.length > 0 &&
|
|
271
|
-
(this.slots[0]?.def.type === 'unknown' ||
|
|
272
|
-
this.slots[0]?.def.type === 'any');
|
|
273
|
-
const allOtherSlotsAreLiterals = this.slots.slice(1).every((slot) => {
|
|
274
|
-
const meta = metadata_js_1.BupkisRegistry.get(slot) ?? {};
|
|
275
|
-
return constant_js_1.kStringLiteral in meta;
|
|
276
|
-
});
|
|
277
|
-
return hasSubjectSlot && allOtherSlotsAreLiterals;
|
|
278
|
-
}
|
|
279
266
|
}
|
|
280
267
|
exports.BupkisAssertionSchemaAsync = BupkisAssertionSchemaAsync;
|
|
281
268
|
//# sourceMappingURL=assertion-async.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertion-async.js","sourceRoot":"","sources":["../../src/assertion/assertion-async.ts"],"names":[],"mappings":";;;;;;AAAA,+BAA+B;AAC/B,gDAAuB;AAEvB,
|
|
1
|
+
{"version":3,"file":"assertion-async.js","sourceRoot":"","sources":["../../src/assertion/assertion-async.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,11 +36,5 @@ export declare class BupkisAssertionFunctionAsync<Parts extends AssertionParts,
|
|
|
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
37
|
executeAsync(parsedValues: ParsedValues<Parts>, _args: unknown[], stackStartFn: (...args: any[]) => any, parseResult?: ParsedResult<Parts>): Promise<void>;
|
|
38
38
|
parseValuesAsync<Args extends readonly unknown[]>(args: Args): Promise<ParsedResult<Parts>>;
|
|
39
|
-
/**
|
|
40
|
-
* Determines if this assertion can be optimized (simple single-subject
|
|
41
|
-
* schema). Only simple assertions like ['to be a string'] with z.string()
|
|
42
|
-
* qualify.
|
|
43
|
-
*/
|
|
44
|
-
private isSimpleSchemaAssertion;
|
|
45
39
|
}
|
|
46
40
|
//# sourceMappingURL=assertion-async.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertion-async.d.ts","sourceRoot":"","sources":["../../src/assertion/assertion-async.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"assertion-async.d.ts","sourceRoot":"","sources":["../../src/assertion/assertion-async.ts"],"names":[],"mappings":"AAeA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAEzB,KAAK,wBAAwB,EAC7B,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,YAAY,EAEjB,KAAK,YAAY,EAClB,8BAA6B;AAC9B,OAAO,EAAE,eAAe,EAAE,wBAAuB;AAGjD,8BAAsB,oBAAoB,CACxC,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,kBAAkB,CAAC,KAAK,CAAC,EACtC,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CAEnC,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;CAyChC;AACD;;;;GAIG;AACH;;;;;;;;GAQG;AAEH,qBAAa,4BAA4B,CACvC,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,oBAAoB,CAAC,KAAK,CAAC,EACxC,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CAEnC,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;CAuGjB;AAED;;;;;;;;;;;GAWG;AAEH,qBAAa,0BAA0B,CACrC,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,wBAAwB,CAAC,KAAK,CAAC,EAC5C,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CAEnC,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;IA8BD,gBAAgB,CAAC,IAAI,SAAS,SAAS,OAAO,EAAE,EAC7D,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;CAwEhC"}
|
|
@@ -36,11 +36,5 @@ export declare class BupkisAssertionFunctionAsync<Parts extends AssertionParts,
|
|
|
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
37
|
executeAsync(parsedValues: ParsedValues<Parts>, _args: unknown[], stackStartFn: (...args: any[]) => any, parseResult?: ParsedResult<Parts>): Promise<void>;
|
|
38
38
|
parseValuesAsync<Args extends readonly unknown[]>(args: Args): Promise<ParsedResult<Parts>>;
|
|
39
|
-
/**
|
|
40
|
-
* Determines if this assertion can be optimized (simple single-subject
|
|
41
|
-
* schema). Only simple assertions like ['to be a string'] with z.string()
|
|
42
|
-
* qualify.
|
|
43
|
-
*/
|
|
44
|
-
private isSimpleSchemaAssertion;
|
|
45
39
|
}
|
|
46
40
|
//# sourceMappingURL=assertion-async.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertion-async.d.ts","sourceRoot":"","sources":["../../src/assertion/assertion-async.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"assertion-async.d.ts","sourceRoot":"","sources":["../../src/assertion/assertion-async.ts"],"names":[],"mappings":"AAeA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAEzB,KAAK,wBAAwB,EAC7B,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,YAAY,EAEjB,KAAK,YAAY,EAClB,6BAA6B;AAC9B,OAAO,EAAE,eAAe,EAAE,uBAAuB;AAGjD,8BAAsB,oBAAoB,CACxC,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,kBAAkB,CAAC,KAAK,CAAC,EACtC,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CAEnC,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;CAyChC;AACD;;;;GAIG;AACH;;;;;;;;GAQG;AAEH,qBAAa,4BAA4B,CACvC,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,oBAAoB,CAAC,KAAK,CAAC,EACxC,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CAEnC,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;CAuGjB;AAED;;;;;;;;;;;GAWG;AAEH,qBAAa,0BAA0B,CACrC,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,wBAAwB,CAAC,KAAK,CAAC,EAC5C,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CAEnC,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;IA8BD,gBAAgB,CAAC,IAAI,SAAS,SAAS,OAAO,EAAE,EAC7D,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;CAwEhC"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { inspect } from 'util';
|
|
2
2
|
import z from 'zod/v4';
|
|
3
|
-
import { kStringLiteral } from "../constant.js";
|
|
4
3
|
import { AssertionError, AssertionImplementationError } from "../error.js";
|
|
5
4
|
import { isA, isBoolean, isError, isStandardSchema, isZodType, } from "../guards.js";
|
|
6
5
|
import { isAssertionFailure, isAssertionParseRequest, } from "../internal-schema.js";
|
|
7
|
-
import { BupkisRegistry } from "../metadata.js";
|
|
8
6
|
import { BupkisAssertion } from "./assertion.js";
|
|
7
|
+
import { formatAssertionFailure } from "./format-assertion-failure.js";
|
|
9
8
|
export class BupkisAssertionAsync extends BupkisAssertion {
|
|
10
9
|
async parseValuesAsync(args) {
|
|
11
10
|
const { slots } = this;
|
|
@@ -136,12 +135,17 @@ export class BupkisAssertionFunctionAsync extends BupkisAssertionAsync {
|
|
|
136
135
|
}
|
|
137
136
|
}
|
|
138
137
|
else if (isAssertionFailure(result)) {
|
|
138
|
+
const diffOutput = formatAssertionFailure(result);
|
|
139
|
+
const baseMessage = result.message ??
|
|
140
|
+
`Assertion ${this} failed for arguments: ${inspect(args)}`;
|
|
141
|
+
const message = diffOutput
|
|
142
|
+
? `${baseMessage}\n${diffOutput}`
|
|
143
|
+
: baseMessage;
|
|
139
144
|
throw new AssertionError({
|
|
140
145
|
actual: result.actual,
|
|
141
146
|
expected: result.expected,
|
|
142
147
|
id: this.id,
|
|
143
|
-
message
|
|
144
|
-
`Assertion ${this} failed for arguments: ${inspect(args)}`,
|
|
148
|
+
message,
|
|
145
149
|
});
|
|
146
150
|
}
|
|
147
151
|
else if (result) {
|
|
@@ -251,22 +255,5 @@ export class BupkisAssertionSchemaAsync extends BupkisAssertionAsync {
|
|
|
251
255
|
}
|
|
252
256
|
return result;
|
|
253
257
|
}
|
|
254
|
-
/**
|
|
255
|
-
* Determines if this assertion can be optimized (simple single-subject
|
|
256
|
-
* schema). Only simple assertions like ['to be a string'] with z.string()
|
|
257
|
-
* qualify.
|
|
258
|
-
*/
|
|
259
|
-
isSimpleSchemaAssertion() {
|
|
260
|
-
// Only optimize if we have exactly one subject slot + string literal slots
|
|
261
|
-
// and no complex argument processing
|
|
262
|
-
const hasSubjectSlot = this.slots.length > 0 &&
|
|
263
|
-
(this.slots[0]?.def.type === 'unknown' ||
|
|
264
|
-
this.slots[0]?.def.type === 'any');
|
|
265
|
-
const allOtherSlotsAreLiterals = this.slots.slice(1).every((slot) => {
|
|
266
|
-
const meta = BupkisRegistry.get(slot) ?? {};
|
|
267
|
-
return kStringLiteral in meta;
|
|
268
|
-
});
|
|
269
|
-
return hasSubjectSlot && allOtherSlotsAreLiterals;
|
|
270
|
-
}
|
|
271
258
|
}
|
|
272
259
|
//# sourceMappingURL=assertion-async.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertion-async.js","sourceRoot":"","sources":["../../src/assertion/assertion-async.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,CAAC,MAAM,QAAQ,CAAC;AAEvB,OAAO,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"assertion-async.js","sourceRoot":"","sources":["../../src/assertion/assertion-async.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,8 +10,6 @@
|
|
|
10
10
|
*/
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.BupkisAssertionStandardSchemaAsync = void 0;
|
|
13
|
-
const constant_js_1 = require("../constant.cjs");
|
|
14
|
-
const metadata_js_1 = require("../metadata.cjs");
|
|
15
13
|
const assertion_js_1 = require("./assertion.cjs");
|
|
16
14
|
/**
|
|
17
15
|
* An asynchronous assertion implemented using a Standard Schema v1 validator.
|
|
@@ -129,27 +127,6 @@ class BupkisAssertionStandardSchemaAsync extends assertion_js_1.BupkisAssertion
|
|
|
129
127
|
}
|
|
130
128
|
return result;
|
|
131
129
|
}
|
|
132
|
-
/**
|
|
133
|
-
* Determines if this is a simple schema assertion eligible for optimization.
|
|
134
|
-
*
|
|
135
|
-
* Returns true when the assertion has:
|
|
136
|
-
*
|
|
137
|
-
* - Exactly one subject slot (unknown/any type)
|
|
138
|
-
* - Only phrase literal slots after the subject
|
|
139
|
-
* - No complex argument processing
|
|
140
|
-
*
|
|
141
|
-
* @returns True if optimization can be applied
|
|
142
|
-
*/
|
|
143
|
-
isSimpleSchemaAssertion() {
|
|
144
|
-
const hasSubjectSlot = this.slots.length > 0 &&
|
|
145
|
-
(this.slots[0]?.def.type === 'unknown' ||
|
|
146
|
-
this.slots[0]?.def.type === 'any');
|
|
147
|
-
const allOtherSlotsAreLiterals = this.slots.slice(1).every((slot) => {
|
|
148
|
-
const meta = metadata_js_1.BupkisRegistry.get(slot) ?? {};
|
|
149
|
-
return constant_js_1.kStringLiteral in meta;
|
|
150
|
-
});
|
|
151
|
-
return hasSubjectSlot && allOtherSlotsAreLiterals;
|
|
152
|
-
}
|
|
153
130
|
}
|
|
154
131
|
exports.BupkisAssertionStandardSchemaAsync = BupkisAssertionStandardSchemaAsync;
|
|
155
132
|
//# sourceMappingURL=assertion-standard-schema-async.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertion-standard-schema-async.js","sourceRoot":"","sources":["../../src/assertion/assertion-standard-schema-async.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAYH,
|
|
1
|
+
{"version":3,"file":"assertion-standard-schema-async.js","sourceRoot":"","sources":["../../src/assertion/assertion-standard-schema-async.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,17 +48,5 @@ export declare class BupkisAssertionStandardSchemaAsync<Parts extends AssertionP
|
|
|
48
48
|
* @returns Promise resolving to parse result with cached validation
|
|
49
49
|
*/
|
|
50
50
|
parseValuesAsync<Args extends readonly unknown[]>(args: Args): Promise<ParsedResult<Parts>>;
|
|
51
|
-
/**
|
|
52
|
-
* Determines if this is a simple schema assertion eligible for optimization.
|
|
53
|
-
*
|
|
54
|
-
* Returns true when the assertion has:
|
|
55
|
-
*
|
|
56
|
-
* - Exactly one subject slot (unknown/any type)
|
|
57
|
-
* - Only phrase literal slots after the subject
|
|
58
|
-
* - No complex argument processing
|
|
59
|
-
*
|
|
60
|
-
* @returns True if optimization can be applied
|
|
61
|
-
*/
|
|
62
|
-
private isSimpleSchemaAssertion;
|
|
63
51
|
}
|
|
64
52
|
//# sourceMappingURL=assertion-standard-schema-async.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertion-standard-schema-async.d.ts","sourceRoot":"","sources":["../../src/assertion/assertion-standard-schema-async.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,+BAA8B;AAC9D,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,4BAA4B,EAC5B,YAAY,EAEZ,YAAY,EACb,8BAA6B;
|
|
1
|
+
{"version":3,"file":"assertion-standard-schema-async.d.ts","sourceRoot":"","sources":["../../src/assertion/assertion-standard-schema-async.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,+BAA8B;AAC9D,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,4BAA4B,EAC5B,YAAY,EAEZ,YAAY,EACb,8BAA6B;AAE9B,OAAO,EAAE,eAAe,EAAE,wBAAuB;AAEjD;;;;;;;;;;;GAWG;AACH,qBAAa,kCAAkC,CAC7C,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,gBAAgB,EAC7B,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CAEnC,SAAQ,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAC1C,YAAW,4BAA4B,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;IAE3D;;;;;;;;;;;;OAYG;IACG,YAAY,CAChB,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;IA4BhB;;;;;;;;;OASG;IACG,gBAAgB,CAAC,IAAI,SAAS,SAAS,OAAO,EAAE,EACpD,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;CA0EhC"}
|
|
@@ -48,17 +48,5 @@ export declare class BupkisAssertionStandardSchemaAsync<Parts extends AssertionP
|
|
|
48
48
|
* @returns Promise resolving to parse result with cached validation
|
|
49
49
|
*/
|
|
50
50
|
parseValuesAsync<Args extends readonly unknown[]>(args: Args): Promise<ParsedResult<Parts>>;
|
|
51
|
-
/**
|
|
52
|
-
* Determines if this is a simple schema assertion eligible for optimization.
|
|
53
|
-
*
|
|
54
|
-
* Returns true when the assertion has:
|
|
55
|
-
*
|
|
56
|
-
* - Exactly one subject slot (unknown/any type)
|
|
57
|
-
* - Only phrase literal slots after the subject
|
|
58
|
-
* - No complex argument processing
|
|
59
|
-
*
|
|
60
|
-
* @returns True if optimization can be applied
|
|
61
|
-
*/
|
|
62
|
-
private isSimpleSchemaAssertion;
|
|
63
51
|
}
|
|
64
52
|
//# sourceMappingURL=assertion-standard-schema-async.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertion-standard-schema-async.d.ts","sourceRoot":"","sources":["../../src/assertion/assertion-standard-schema-async.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,8BAA8B;AAC9D,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,4BAA4B,EAC5B,YAAY,EAEZ,YAAY,EACb,6BAA6B;
|
|
1
|
+
{"version":3,"file":"assertion-standard-schema-async.d.ts","sourceRoot":"","sources":["../../src/assertion/assertion-standard-schema-async.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,8BAA8B;AAC9D,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,4BAA4B,EAC5B,YAAY,EAEZ,YAAY,EACb,6BAA6B;AAE9B,OAAO,EAAE,eAAe,EAAE,uBAAuB;AAEjD;;;;;;;;;;;GAWG;AACH,qBAAa,kCAAkC,CAC7C,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,gBAAgB,EAC7B,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CAEnC,SAAQ,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAC1C,YAAW,4BAA4B,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;IAE3D;;;;;;;;;;;;OAYG;IACG,YAAY,CAChB,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;IA4BhB;;;;;;;;;OASG;IACG,gBAAgB,CAAC,IAAI,SAAS,SAAS,OAAO,EAAE,EACpD,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;CA0EhC"}
|
|
@@ -7,8 +7,6 @@
|
|
|
7
7
|
*
|
|
8
8
|
* @packageDocumentation
|
|
9
9
|
*/
|
|
10
|
-
import { kStringLiteral } from "../constant.js";
|
|
11
|
-
import { BupkisRegistry } from "../metadata.js";
|
|
12
10
|
import { BupkisAssertion } from "./assertion.js";
|
|
13
11
|
/**
|
|
14
12
|
* An asynchronous assertion implemented using a Standard Schema v1 validator.
|
|
@@ -126,26 +124,5 @@ export class BupkisAssertionStandardSchemaAsync extends BupkisAssertion {
|
|
|
126
124
|
}
|
|
127
125
|
return result;
|
|
128
126
|
}
|
|
129
|
-
/**
|
|
130
|
-
* Determines if this is a simple schema assertion eligible for optimization.
|
|
131
|
-
*
|
|
132
|
-
* Returns true when the assertion has:
|
|
133
|
-
*
|
|
134
|
-
* - Exactly one subject slot (unknown/any type)
|
|
135
|
-
* - Only phrase literal slots after the subject
|
|
136
|
-
* - No complex argument processing
|
|
137
|
-
*
|
|
138
|
-
* @returns True if optimization can be applied
|
|
139
|
-
*/
|
|
140
|
-
isSimpleSchemaAssertion() {
|
|
141
|
-
const hasSubjectSlot = this.slots.length > 0 &&
|
|
142
|
-
(this.slots[0]?.def.type === 'unknown' ||
|
|
143
|
-
this.slots[0]?.def.type === 'any');
|
|
144
|
-
const allOtherSlotsAreLiterals = this.slots.slice(1).every((slot) => {
|
|
145
|
-
const meta = BupkisRegistry.get(slot) ?? {};
|
|
146
|
-
return kStringLiteral in meta;
|
|
147
|
-
});
|
|
148
|
-
return hasSubjectSlot && allOtherSlotsAreLiterals;
|
|
149
|
-
}
|
|
150
127
|
}
|
|
151
128
|
//# sourceMappingURL=assertion-standard-schema-async.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertion-standard-schema-async.js","sourceRoot":"","sources":["../../src/assertion/assertion-standard-schema-async.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAYH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"assertion-standard-schema-async.js","sourceRoot":"","sources":["../../src/assertion/assertion-standard-schema-async.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,8 +10,6 @@
|
|
|
10
10
|
*/
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.BupkisAssertionStandardSchemaSync = void 0;
|
|
13
|
-
const constant_js_1 = require("../constant.cjs");
|
|
14
|
-
const metadata_js_1 = require("../metadata.cjs");
|
|
15
13
|
const assertion_js_1 = require("./assertion.cjs");
|
|
16
14
|
/**
|
|
17
15
|
* A synchronous assertion implemented using a Standard Schema v1 validator.
|
|
@@ -138,27 +136,6 @@ class BupkisAssertionStandardSchemaSync extends assertion_js_1.BupkisAssertion {
|
|
|
138
136
|
}
|
|
139
137
|
return result;
|
|
140
138
|
}
|
|
141
|
-
/**
|
|
142
|
-
* Determines if this is a simple schema assertion eligible for optimization.
|
|
143
|
-
*
|
|
144
|
-
* Returns true when the assertion has:
|
|
145
|
-
*
|
|
146
|
-
* - Exactly one subject slot (unknown/any type)
|
|
147
|
-
* - Only phrase literal slots after the subject
|
|
148
|
-
* - No complex argument processing
|
|
149
|
-
*
|
|
150
|
-
* @returns True if optimization can be applied
|
|
151
|
-
*/
|
|
152
|
-
isSimpleSchemaAssertion() {
|
|
153
|
-
const hasSubjectSlot = this.slots.length > 0 &&
|
|
154
|
-
(this.slots[0]?.def.type === 'unknown' ||
|
|
155
|
-
this.slots[0]?.def.type === 'any');
|
|
156
|
-
const allOtherSlotsAreLiterals = this.slots.slice(1).every((slot) => {
|
|
157
|
-
const meta = metadata_js_1.BupkisRegistry.get(slot) ?? {};
|
|
158
|
-
return constant_js_1.kStringLiteral in meta;
|
|
159
|
-
});
|
|
160
|
-
return hasSubjectSlot && allOtherSlotsAreLiterals;
|
|
161
|
-
}
|
|
162
139
|
}
|
|
163
140
|
exports.BupkisAssertionStandardSchemaSync = BupkisAssertionStandardSchemaSync;
|
|
164
141
|
//# sourceMappingURL=assertion-standard-schema-sync.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertion-standard-schema-sync.js","sourceRoot":"","sources":["../../src/assertion/assertion-standard-schema-sync.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAYH,
|
|
1
|
+
{"version":3,"file":"assertion-standard-schema-sync.js","sourceRoot":"","sources":["../../src/assertion/assertion-standard-schema-sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,17 +48,5 @@ export declare class BupkisAssertionStandardSchemaSync<Parts extends AssertionPa
|
|
|
48
48
|
* @returns Parse result indicating success/failure and cached validation
|
|
49
49
|
*/
|
|
50
50
|
parseValues<Args extends readonly unknown[]>(args: Args): ParsedResult<Parts>;
|
|
51
|
-
/**
|
|
52
|
-
* Determines if this is a simple schema assertion eligible for optimization.
|
|
53
|
-
*
|
|
54
|
-
* Returns true when the assertion has:
|
|
55
|
-
*
|
|
56
|
-
* - Exactly one subject slot (unknown/any type)
|
|
57
|
-
* - Only phrase literal slots after the subject
|
|
58
|
-
* - No complex argument processing
|
|
59
|
-
*
|
|
60
|
-
* @returns True if optimization can be applied
|
|
61
|
-
*/
|
|
62
|
-
private isSimpleSchemaAssertion;
|
|
63
51
|
}
|
|
64
52
|
//# sourceMappingURL=assertion-standard-schema-sync.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertion-standard-schema-sync.d.ts","sourceRoot":"","sources":["../../src/assertion/assertion-standard-schema-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,+BAA8B;AAC9D,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,2BAA2B,EAC3B,YAAY,EAEZ,YAAY,EACb,8BAA6B;
|
|
1
|
+
{"version":3,"file":"assertion-standard-schema-sync.d.ts","sourceRoot":"","sources":["../../src/assertion/assertion-standard-schema-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,+BAA8B;AAC9D,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,2BAA2B,EAC3B,YAAY,EAEZ,YAAY,EACb,8BAA6B;AAE9B,OAAO,EAAE,eAAe,EAAE,wBAAuB;AAEjD;;;;;;;;;;;GAWG;AACH,qBAAa,iCAAiC,CAC5C,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,gBAAgB,EAC7B,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CAEnC,SAAQ,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAC1C,YAAW,2BAA2B,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;IAE1D;;;;;;;;;;;;OAYG;IACH,OAAO,CACL,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;IAuCP;;;;;;;;;OASG;IACH,WAAW,CAAC,IAAI,SAAS,SAAS,OAAO,EAAE,EACzC,IAAI,EAAE,IAAI,GACT,YAAY,CAAC,KAAK,CAAC;CA2EvB"}
|
|
@@ -48,17 +48,5 @@ export declare class BupkisAssertionStandardSchemaSync<Parts extends AssertionPa
|
|
|
48
48
|
* @returns Parse result indicating success/failure and cached validation
|
|
49
49
|
*/
|
|
50
50
|
parseValues<Args extends readonly unknown[]>(args: Args): ParsedResult<Parts>;
|
|
51
|
-
/**
|
|
52
|
-
* Determines if this is a simple schema assertion eligible for optimization.
|
|
53
|
-
*
|
|
54
|
-
* Returns true when the assertion has:
|
|
55
|
-
*
|
|
56
|
-
* - Exactly one subject slot (unknown/any type)
|
|
57
|
-
* - Only phrase literal slots after the subject
|
|
58
|
-
* - No complex argument processing
|
|
59
|
-
*
|
|
60
|
-
* @returns True if optimization can be applied
|
|
61
|
-
*/
|
|
62
|
-
private isSimpleSchemaAssertion;
|
|
63
51
|
}
|
|
64
52
|
//# sourceMappingURL=assertion-standard-schema-sync.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertion-standard-schema-sync.d.ts","sourceRoot":"","sources":["../../src/assertion/assertion-standard-schema-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,8BAA8B;AAC9D,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,2BAA2B,EAC3B,YAAY,EAEZ,YAAY,EACb,6BAA6B;
|
|
1
|
+
{"version":3,"file":"assertion-standard-schema-sync.d.ts","sourceRoot":"","sources":["../../src/assertion/assertion-standard-schema-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,8BAA8B;AAC9D,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,2BAA2B,EAC3B,YAAY,EAEZ,YAAY,EACb,6BAA6B;AAE9B,OAAO,EAAE,eAAe,EAAE,uBAAuB;AAEjD;;;;;;;;;;;GAWG;AACH,qBAAa,iCAAiC,CAC5C,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,gBAAgB,EAC7B,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CAEnC,SAAQ,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAC1C,YAAW,2BAA2B,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;IAE1D;;;;;;;;;;;;OAYG;IACH,OAAO,CACL,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;IAuCP;;;;;;;;;OASG;IACH,WAAW,CAAC,IAAI,SAAS,SAAS,OAAO,EAAE,EACzC,IAAI,EAAE,IAAI,GACT,YAAY,CAAC,KAAK,CAAC;CA2EvB"}
|
|
@@ -7,8 +7,6 @@
|
|
|
7
7
|
*
|
|
8
8
|
* @packageDocumentation
|
|
9
9
|
*/
|
|
10
|
-
import { kStringLiteral } from "../constant.js";
|
|
11
|
-
import { BupkisRegistry } from "../metadata.js";
|
|
12
10
|
import { BupkisAssertion } from "./assertion.js";
|
|
13
11
|
/**
|
|
14
12
|
* A synchronous assertion implemented using a Standard Schema v1 validator.
|
|
@@ -135,26 +133,5 @@ export class BupkisAssertionStandardSchemaSync extends BupkisAssertion {
|
|
|
135
133
|
}
|
|
136
134
|
return result;
|
|
137
135
|
}
|
|
138
|
-
/**
|
|
139
|
-
* Determines if this is a simple schema assertion eligible for optimization.
|
|
140
|
-
*
|
|
141
|
-
* Returns true when the assertion has:
|
|
142
|
-
*
|
|
143
|
-
* - Exactly one subject slot (unknown/any type)
|
|
144
|
-
* - Only phrase literal slots after the subject
|
|
145
|
-
* - No complex argument processing
|
|
146
|
-
*
|
|
147
|
-
* @returns True if optimization can be applied
|
|
148
|
-
*/
|
|
149
|
-
isSimpleSchemaAssertion() {
|
|
150
|
-
const hasSubjectSlot = this.slots.length > 0 &&
|
|
151
|
-
(this.slots[0]?.def.type === 'unknown' ||
|
|
152
|
-
this.slots[0]?.def.type === 'any');
|
|
153
|
-
const allOtherSlotsAreLiterals = this.slots.slice(1).every((slot) => {
|
|
154
|
-
const meta = BupkisRegistry.get(slot) ?? {};
|
|
155
|
-
return kStringLiteral in meta;
|
|
156
|
-
});
|
|
157
|
-
return hasSubjectSlot && allOtherSlotsAreLiterals;
|
|
158
|
-
}
|
|
159
136
|
}
|
|
160
137
|
//# sourceMappingURL=assertion-standard-schema-sync.js.map
|