bupkis 0.18.1 → 0.18.2
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/package.json +1 -4
- package/src/assertion/assertion-types.ts +4 -4
- package/src/assertion/impl/sync-parametric.ts +1 -1
- package/src/expect.ts +0 -4
- package/src/guards.ts +24 -24
- package/src/internal-schema.ts +16 -32
- package/src/value-to-schema.ts +1 -1
- package/dist/assertion/assertion-async.cjs +0 -268
- package/dist/assertion/assertion-async.cjs.map +0 -1
- package/dist/assertion/assertion-async.d.cts +0 -40
- package/dist/assertion/assertion-async.d.cts.map +0 -1
- package/dist/assertion/assertion-async.d.ts +0 -40
- package/dist/assertion/assertion-async.d.ts.map +0 -1
- package/dist/assertion/assertion-async.js +0 -259
- package/dist/assertion/assertion-async.js.map +0 -1
- package/dist/assertion/assertion-standard-schema-async.cjs +0 -132
- package/dist/assertion/assertion-standard-schema-async.cjs.map +0 -1
- package/dist/assertion/assertion-standard-schema-async.d.cts +0 -52
- package/dist/assertion/assertion-standard-schema-async.d.cts.map +0 -1
- package/dist/assertion/assertion-standard-schema-async.d.ts +0 -52
- package/dist/assertion/assertion-standard-schema-async.d.ts.map +0 -1
- package/dist/assertion/assertion-standard-schema-async.js +0 -128
- package/dist/assertion/assertion-standard-schema-async.js.map +0 -1
- package/dist/assertion/assertion-standard-schema-sync.cjs +0 -141
- package/dist/assertion/assertion-standard-schema-sync.cjs.map +0 -1
- package/dist/assertion/assertion-standard-schema-sync.d.cts +0 -52
- package/dist/assertion/assertion-standard-schema-sync.d.cts.map +0 -1
- package/dist/assertion/assertion-standard-schema-sync.d.ts +0 -52
- package/dist/assertion/assertion-standard-schema-sync.d.ts.map +0 -1
- package/dist/assertion/assertion-standard-schema-sync.js +0 -137
- package/dist/assertion/assertion-standard-schema-sync.js.map +0 -1
- package/dist/assertion/assertion-sync.cjs +0 -284
- package/dist/assertion/assertion-sync.cjs.map +0 -1
- package/dist/assertion/assertion-sync.d.cts +0 -60
- package/dist/assertion/assertion-sync.d.cts.map +0 -1
- package/dist/assertion/assertion-sync.d.ts +0 -60
- package/dist/assertion/assertion-sync.d.ts.map +0 -1
- package/dist/assertion/assertion-sync.js +0 -275
- package/dist/assertion/assertion-sync.js.map +0 -1
- package/dist/assertion/assertion-types.cjs +0 -20
- package/dist/assertion/assertion-types.cjs.map +0 -1
- package/dist/assertion/assertion-types.d.cts +0 -1086
- package/dist/assertion/assertion-types.d.cts.map +0 -1
- package/dist/assertion/assertion-types.d.ts +0 -1086
- package/dist/assertion/assertion-types.d.ts.map +0 -1
- package/dist/assertion/assertion-types.js +0 -19
- package/dist/assertion/assertion-types.js.map +0 -1
- package/dist/assertion/assertion.cjs +0 -382
- package/dist/assertion/assertion.cjs.map +0 -1
- package/dist/assertion/assertion.d.cts +0 -109
- package/dist/assertion/assertion.d.cts.map +0 -1
- package/dist/assertion/assertion.d.ts +0 -109
- package/dist/assertion/assertion.d.ts.map +0 -1
- package/dist/assertion/assertion.js +0 -375
- package/dist/assertion/assertion.js.map +0 -1
- package/dist/assertion/create.cjs +0 -148
- package/dist/assertion/create.cjs.map +0 -1
- package/dist/assertion/create.d.cts +0 -85
- package/dist/assertion/create.d.cts.map +0 -1
- package/dist/assertion/create.d.ts +0 -85
- package/dist/assertion/create.d.ts.map +0 -1
- package/dist/assertion/create.js +0 -143
- package/dist/assertion/create.js.map +0 -1
- package/dist/assertion/format-assertion-failure.cjs +0 -63
- package/dist/assertion/format-assertion-failure.cjs.map +0 -1
- package/dist/assertion/format-assertion-failure.d.cts +0 -21
- package/dist/assertion/format-assertion-failure.d.cts.map +0 -1
- package/dist/assertion/format-assertion-failure.d.ts +0 -21
- package/dist/assertion/format-assertion-failure.d.ts.map +0 -1
- package/dist/assertion/format-assertion-failure.js +0 -59
- package/dist/assertion/format-assertion-failure.js.map +0 -1
- package/dist/assertion/impl/assertion-util.cjs +0 -68
- package/dist/assertion/impl/assertion-util.cjs.map +0 -1
- package/dist/assertion/impl/assertion-util.d.cts +0 -36
- package/dist/assertion/impl/assertion-util.d.cts.map +0 -1
- package/dist/assertion/impl/assertion-util.d.ts +0 -36
- package/dist/assertion/impl/assertion-util.d.ts.map +0 -1
- package/dist/assertion/impl/assertion-util.js +0 -62
- package/dist/assertion/impl/assertion-util.js.map +0 -1
- package/dist/assertion/impl/async-iterable.cjs +0 -627
- package/dist/assertion/impl/async-iterable.cjs.map +0 -1
- package/dist/assertion/impl/async-iterable.d.cts +0 -406
- package/dist/assertion/impl/async-iterable.d.cts.map +0 -1
- package/dist/assertion/impl/async-iterable.d.ts +0 -406
- package/dist/assertion/impl/async-iterable.d.ts.map +0 -1
- package/dist/assertion/impl/async-iterable.js +0 -624
- package/dist/assertion/impl/async-iterable.js.map +0 -1
- package/dist/assertion/impl/async-parametric.cjs +0 -412
- package/dist/assertion/impl/async-parametric.cjs.map +0 -1
- package/dist/assertion/impl/async-parametric.d.cts +0 -278
- package/dist/assertion/impl/async-parametric.d.cts.map +0 -1
- package/dist/assertion/impl/async-parametric.d.ts +0 -278
- package/dist/assertion/impl/async-parametric.d.ts.map +0 -1
- package/dist/assertion/impl/async-parametric.js +0 -409
- package/dist/assertion/impl/async-parametric.js.map +0 -1
- package/dist/assertion/impl/async.cjs +0 -56
- package/dist/assertion/impl/async.cjs.map +0 -1
- package/dist/assertion/impl/async.d.cts +0 -179
- package/dist/assertion/impl/async.d.cts.map +0 -1
- package/dist/assertion/impl/async.d.ts +0 -179
- package/dist/assertion/impl/async.d.ts.map +0 -1
- package/dist/assertion/impl/async.js +0 -39
- package/dist/assertion/impl/async.js.map +0 -1
- package/dist/assertion/impl/index.cjs +0 -37
- package/dist/assertion/impl/index.cjs.map +0 -1
- package/dist/assertion/impl/index.d.cts +0 -21
- package/dist/assertion/impl/index.d.cts.map +0 -1
- package/dist/assertion/impl/index.d.ts +0 -21
- package/dist/assertion/impl/index.d.ts.map +0 -1
- package/dist/assertion/impl/index.js +0 -21
- package/dist/assertion/impl/index.js.map +0 -1
- package/dist/assertion/impl/iteration-util.cjs +0 -297
- package/dist/assertion/impl/iteration-util.cjs.map +0 -1
- package/dist/assertion/impl/iteration-util.d.cts +0 -12
- package/dist/assertion/impl/iteration-util.d.cts.map +0 -1
- package/dist/assertion/impl/iteration-util.d.ts +0 -12
- package/dist/assertion/impl/iteration-util.d.ts.map +0 -1
- package/dist/assertion/impl/iteration-util.js +0 -282
- package/dist/assertion/impl/iteration-util.js.map +0 -1
- package/dist/assertion/impl/snapshot.cjs +0 -276
- package/dist/assertion/impl/snapshot.cjs.map +0 -1
- package/dist/assertion/impl/snapshot.d.cts +0 -278
- package/dist/assertion/impl/snapshot.d.cts.map +0 -1
- package/dist/assertion/impl/snapshot.d.ts +0 -278
- package/dist/assertion/impl/snapshot.d.ts.map +0 -1
- package/dist/assertion/impl/snapshot.js +0 -273
- package/dist/assertion/impl/snapshot.js.map +0 -1
- package/dist/assertion/impl/sync-basic.cjs +0 -553
- package/dist/assertion/impl/sync-basic.cjs.map +0 -1
- package/dist/assertion/impl/sync-basic.d.cts +0 -528
- package/dist/assertion/impl/sync-basic.d.cts.map +0 -1
- package/dist/assertion/impl/sync-basic.d.ts +0 -528
- package/dist/assertion/impl/sync-basic.d.ts.map +0 -1
- package/dist/assertion/impl/sync-basic.js +0 -550
- package/dist/assertion/impl/sync-basic.js.map +0 -1
- package/dist/assertion/impl/sync-collection.cjs +0 -856
- package/dist/assertion/impl/sync-collection.cjs.map +0 -1
- package/dist/assertion/impl/sync-collection.d.cts +0 -607
- package/dist/assertion/impl/sync-collection.d.cts.map +0 -1
- package/dist/assertion/impl/sync-collection.d.ts +0 -607
- package/dist/assertion/impl/sync-collection.d.ts.map +0 -1
- package/dist/assertion/impl/sync-collection.js +0 -850
- package/dist/assertion/impl/sync-collection.js.map +0 -1
- package/dist/assertion/impl/sync-date.cjs +0 -341
- package/dist/assertion/impl/sync-date.cjs.map +0 -1
- package/dist/assertion/impl/sync-date.d.cts +0 -209
- package/dist/assertion/impl/sync-date.d.cts.map +0 -1
- package/dist/assertion/impl/sync-date.d.ts +0 -209
- package/dist/assertion/impl/sync-date.d.ts.map +0 -1
- package/dist/assertion/impl/sync-date.js +0 -338
- package/dist/assertion/impl/sync-date.js.map +0 -1
- package/dist/assertion/impl/sync-esoteric.cjs +0 -214
- package/dist/assertion/impl/sync-esoteric.cjs.map +0 -1
- package/dist/assertion/impl/sync-esoteric.d.cts +0 -191
- package/dist/assertion/impl/sync-esoteric.d.cts.map +0 -1
- package/dist/assertion/impl/sync-esoteric.d.ts +0 -191
- package/dist/assertion/impl/sync-esoteric.d.ts.map +0 -1
- package/dist/assertion/impl/sync-esoteric.js +0 -211
- package/dist/assertion/impl/sync-esoteric.js.map +0 -1
- package/dist/assertion/impl/sync-iterable.cjs +0 -512
- package/dist/assertion/impl/sync-iterable.cjs.map +0 -1
- package/dist/assertion/impl/sync-iterable.d.cts +0 -334
- package/dist/assertion/impl/sync-iterable.d.cts.map +0 -1
- package/dist/assertion/impl/sync-iterable.d.ts +0 -334
- package/dist/assertion/impl/sync-iterable.d.ts.map +0 -1
- package/dist/assertion/impl/sync-iterable.js +0 -509
- package/dist/assertion/impl/sync-iterable.js.map +0 -1
- package/dist/assertion/impl/sync-parametric.cjs +0 -805
- package/dist/assertion/impl/sync-parametric.cjs.map +0 -1
- package/dist/assertion/impl/sync-parametric.d.cts +0 -560
- package/dist/assertion/impl/sync-parametric.d.cts.map +0 -1
- package/dist/assertion/impl/sync-parametric.d.ts +0 -560
- package/dist/assertion/impl/sync-parametric.d.ts.map +0 -1
- package/dist/assertion/impl/sync-parametric.js +0 -802
- package/dist/assertion/impl/sync-parametric.js.map +0 -1
- package/dist/assertion/impl/sync.cjs +0 -214
- package/dist/assertion/impl/sync.cjs.map +0 -1
- package/dist/assertion/impl/sync.d.cts +0 -512
- package/dist/assertion/impl/sync.d.cts.map +0 -1
- package/dist/assertion/impl/sync.d.ts +0 -512
- package/dist/assertion/impl/sync.d.ts.map +0 -1
- package/dist/assertion/impl/sync.js +0 -197
- package/dist/assertion/impl/sync.js.map +0 -1
- package/dist/assertion/index.cjs +0 -38
- package/dist/assertion/index.cjs.map +0 -1
- package/dist/assertion/index.d.cts +0 -18
- package/dist/assertion/index.d.cts.map +0 -1
- package/dist/assertion/index.d.ts +0 -18
- package/dist/assertion/index.d.ts.map +0 -1
- package/dist/assertion/index.js +0 -17
- package/dist/assertion/index.js.map +0 -1
- package/dist/assertion/slotify.cjs +0 -165
- package/dist/assertion/slotify.cjs.map +0 -1
- package/dist/assertion/slotify.d.cts +0 -11
- package/dist/assertion/slotify.d.cts.map +0 -1
- package/dist/assertion/slotify.d.ts +0 -11
- package/dist/assertion/slotify.d.ts.map +0 -1
- package/dist/assertion/slotify.js +0 -161
- package/dist/assertion/slotify.js.map +0 -1
- package/dist/bootstrap.cjs +0 -43
- package/dist/bootstrap.cjs.map +0 -1
- package/dist/bootstrap.d.cts +0 -27
- package/dist/bootstrap.d.cts.map +0 -1
- package/dist/bootstrap.d.ts +0 -27
- package/dist/bootstrap.d.ts.map +0 -1
- package/dist/bootstrap.js +0 -40
- package/dist/bootstrap.js.map +0 -1
- package/dist/constant.cjs +0 -82
- package/dist/constant.cjs.map +0 -1
- package/dist/constant.d.cts +0 -69
- package/dist/constant.d.cts.map +0 -1
- package/dist/constant.d.ts +0 -69
- package/dist/constant.d.ts.map +0 -1
- package/dist/constant.js +0 -79
- package/dist/constant.js.map +0 -1
- package/dist/diff.cjs +0 -340
- package/dist/diff.cjs.map +0 -1
- package/dist/diff.d.cts +0 -51
- package/dist/diff.d.cts.map +0 -1
- package/dist/diff.d.ts +0 -51
- package/dist/diff.d.ts.map +0 -1
- package/dist/diff.js +0 -334
- package/dist/diff.js.map +0 -1
- package/dist/error.cjs +0 -204
- package/dist/error.cjs.map +0 -1
- package/dist/error.d.cts +0 -212
- package/dist/error.d.cts.map +0 -1
- package/dist/error.d.ts +0 -212
- package/dist/error.d.ts.map +0 -1
- package/dist/error.js +0 -191
- package/dist/error.js.map +0 -1
- package/dist/expect.cjs +0 -590
- package/dist/expect.cjs.map +0 -1
- package/dist/expect.d.cts +0 -138
- package/dist/expect.d.cts.map +0 -1
- package/dist/expect.d.ts +0 -138
- package/dist/expect.d.ts.map +0 -1
- package/dist/expect.js +0 -582
- package/dist/expect.js.map +0 -1
- package/dist/guards.cjs +0 -297
- package/dist/guards.cjs.map +0 -1
- package/dist/guards.d.cts +0 -231
- package/dist/guards.d.cts.map +0 -1
- package/dist/guards.d.ts +0 -231
- package/dist/guards.d.ts.map +0 -1
- package/dist/guards.js +0 -277
- package/dist/guards.js.map +0 -1
- package/dist/index.cjs +0 -111
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.cts +0 -448
- package/dist/index.d.cts.map +0 -1
- package/dist/index.d.ts +0 -448
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -71
- package/dist/index.js.map +0 -1
- package/dist/internal-schema.cjs +0 -253
- package/dist/internal-schema.cjs.map +0 -1
- package/dist/internal-schema.d.cts +0 -8
- package/dist/internal-schema.d.cts.map +0 -1
- package/dist/internal-schema.d.ts +0 -8
- package/dist/internal-schema.d.ts.map +0 -1
- package/dist/internal-schema.js +0 -248
- package/dist/internal-schema.js.map +0 -1
- package/dist/metadata.cjs +0 -57
- package/dist/metadata.cjs.map +0 -1
- package/dist/metadata.d.cts +0 -27
- package/dist/metadata.d.cts.map +0 -1
- package/dist/metadata.d.ts +0 -27
- package/dist/metadata.d.ts.map +0 -1
- package/dist/metadata.js +0 -54
- package/dist/metadata.js.map +0 -1
- package/dist/schema.cjs +0 -1522
- package/dist/schema.cjs.map +0 -1
- package/dist/schema.d.cts +0 -1196
- package/dist/schema.d.cts.map +0 -1
- package/dist/schema.d.ts +0 -1196
- package/dist/schema.d.ts.map +0 -1
- package/dist/schema.js +0 -1516
- package/dist/schema.js.map +0 -1
- package/dist/snapshot/adapter.cjs +0 -31
- package/dist/snapshot/adapter.cjs.map +0 -1
- package/dist/snapshot/adapter.d.cts +0 -258
- package/dist/snapshot/adapter.d.cts.map +0 -1
- package/dist/snapshot/adapter.d.ts +0 -258
- package/dist/snapshot/adapter.d.ts.map +0 -1
- package/dist/snapshot/adapter.js +0 -27
- package/dist/snapshot/adapter.js.map +0 -1
- package/dist/snapshot/adapters/fallback.cjs +0 -453
- package/dist/snapshot/adapters/fallback.cjs.map +0 -1
- package/dist/snapshot/adapters/fallback.d.cts +0 -185
- package/dist/snapshot/adapters/fallback.d.cts.map +0 -1
- package/dist/snapshot/adapters/fallback.d.ts +0 -185
- package/dist/snapshot/adapters/fallback.d.ts.map +0 -1
- package/dist/snapshot/adapters/fallback.js +0 -446
- package/dist/snapshot/adapters/fallback.js.map +0 -1
- package/dist/snapshot/adapters/node-test.cjs +0 -301
- package/dist/snapshot/adapters/node-test.cjs.map +0 -1
- package/dist/snapshot/adapters/node-test.d.cts +0 -131
- package/dist/snapshot/adapters/node-test.d.cts.map +0 -1
- package/dist/snapshot/adapters/node-test.d.ts +0 -131
- package/dist/snapshot/adapters/node-test.d.ts.map +0 -1
- package/dist/snapshot/adapters/node-test.js +0 -297
- package/dist/snapshot/adapters/node-test.js.map +0 -1
- package/dist/snapshot/index.cjs +0 -61
- package/dist/snapshot/index.cjs.map +0 -1
- package/dist/snapshot/index.d.cts +0 -40
- package/dist/snapshot/index.d.cts.map +0 -1
- package/dist/snapshot/index.d.ts +0 -40
- package/dist/snapshot/index.d.ts.map +0 -1
- package/dist/snapshot/index.js +0 -44
- package/dist/snapshot/index.js.map +0 -1
- package/dist/snapshot/node-version.cjs +0 -49
- package/dist/snapshot/node-version.cjs.map +0 -1
- package/dist/snapshot/node-version.d.cts +0 -34
- package/dist/snapshot/node-version.d.cts.map +0 -1
- package/dist/snapshot/node-version.d.ts +0 -34
- package/dist/snapshot/node-version.d.ts.map +0 -1
- package/dist/snapshot/node-version.js +0 -44
- package/dist/snapshot/node-version.js.map +0 -1
- package/dist/snapshot/select-adapter.cjs +0 -170
- package/dist/snapshot/select-adapter.cjs.map +0 -1
- package/dist/snapshot/select-adapter.d.cts +0 -128
- package/dist/snapshot/select-adapter.d.cts.map +0 -1
- package/dist/snapshot/select-adapter.d.ts +0 -128
- package/dist/snapshot/select-adapter.d.ts.map +0 -1
- package/dist/snapshot/select-adapter.js +0 -164
- package/dist/snapshot/select-adapter.js.map +0 -1
- package/dist/snapshot/serializer.cjs +0 -246
- package/dist/snapshot/serializer.cjs.map +0 -1
- package/dist/snapshot/serializer.d.cts +0 -126
- package/dist/snapshot/serializer.d.cts.map +0 -1
- package/dist/snapshot/serializer.d.ts +0 -126
- package/dist/snapshot/serializer.d.ts.map +0 -1
- package/dist/snapshot/serializer.js +0 -238
- package/dist/snapshot/serializer.js.map +0 -1
- package/dist/standard-schema.cjs +0 -13
- package/dist/standard-schema.cjs.map +0 -1
- package/dist/standard-schema.d.cts +0 -192
- package/dist/standard-schema.d.cts.map +0 -1
- package/dist/standard-schema.d.ts +0 -192
- package/dist/standard-schema.d.ts.map +0 -1
- package/dist/standard-schema.js +0 -12
- package/dist/standard-schema.js.map +0 -1
- package/dist/types.cjs +0 -22
- package/dist/types.cjs.map +0 -1
- package/dist/types.d.cts +0 -905
- package/dist/types.d.cts.map +0 -1
- package/dist/types.d.ts +0 -905
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -21
- package/dist/types.js.map +0 -1
- package/dist/use.cjs +0 -240
- package/dist/use.cjs.map +0 -1
- package/dist/use.d.cts +0 -8
- package/dist/use.d.cts.map +0 -1
- package/dist/use.d.ts +0 -8
- package/dist/use.d.ts.map +0 -1
- package/dist/use.js +0 -236
- package/dist/use.js.map +0 -1
- package/dist/util.cjs +0 -255
- package/dist/util.cjs.map +0 -1
- package/dist/util.d.cts +0 -141
- package/dist/util.d.cts.map +0 -1
- package/dist/util.d.ts +0 -141
- package/dist/util.d.ts.map +0 -1
- package/dist/util.js +0 -234
- package/dist/util.js.map +0 -1
- package/dist/value-to-schema.cjs +0 -537
- package/dist/value-to-schema.cjs.map +0 -1
- package/dist/value-to-schema.d.cts +0 -144
- package/dist/value-to-schema.d.cts.map +0 -1
- package/dist/value-to-schema.d.ts +0 -144
- package/dist/value-to-schema.d.ts.map +0 -1
- package/dist/value-to-schema.js +0 -533
- package/dist/value-to-schema.js.map +0 -1
package/dist/diff.cjs
DELETED
|
@@ -1,340 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Diff utilities for generating rich assertion failure output.
|
|
4
|
-
*
|
|
5
|
-
* This module provides utilities for extracting meaningful actual/expected
|
|
6
|
-
* values from Zod validation errors and generating high-quality diff output
|
|
7
|
-
* using `jest-diff` for assertion failures.
|
|
8
|
-
*
|
|
9
|
-
* @packageDocumentation
|
|
10
|
-
* @see {@link https://npm.im/jest-diff | jest-diff}
|
|
11
|
-
*/
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.shouldGenerateDiff = exports.generateDiff = exports.extractDiffValues = void 0;
|
|
14
|
-
const jest_diff_1 = require("jest-diff");
|
|
15
|
-
const { isArray } = Array;
|
|
16
|
-
const { max } = Math;
|
|
17
|
-
const { stringify } = JSON;
|
|
18
|
-
const { entries, getOwnPropertyNames } = Object;
|
|
19
|
-
/**
|
|
20
|
-
* Extracts actual and expected values from a `ZodError` for meaningful diffs.
|
|
21
|
-
*
|
|
22
|
-
* @function
|
|
23
|
-
* @param zodError The `ZodError` to extract values from
|
|
24
|
-
* @param subject The original subject that failed validation
|
|
25
|
-
* @returns Object with actual and expected values for diff
|
|
26
|
-
*/
|
|
27
|
-
const extractDiffValues = (zodError, subject) => {
|
|
28
|
-
try {
|
|
29
|
-
const actual = subject;
|
|
30
|
-
let expected = subject != null ? deepClone(subject) : subject;
|
|
31
|
-
for (const issue of zodError.issues) {
|
|
32
|
-
try {
|
|
33
|
-
const filteredPath = issue.path.filter((key) => typeof key === 'string' || typeof key === 'number');
|
|
34
|
-
switch (issue.code) {
|
|
35
|
-
case 'custom': {
|
|
36
|
-
const params = issue.params;
|
|
37
|
-
if (params?.bupkisType === 'missing_key' &&
|
|
38
|
-
filteredPath.length > 0) {
|
|
39
|
-
const missingKey = filteredPath[0];
|
|
40
|
-
if (typeof expected === 'object' && expected !== null) {
|
|
41
|
-
expected = {
|
|
42
|
-
...expected,
|
|
43
|
-
[missingKey]: undefined,
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
else if (filteredPath.length > 0) {
|
|
48
|
-
const actualValue = getValueAtPath(actual, filteredPath);
|
|
49
|
-
if (actualValue === undefined) {
|
|
50
|
-
expected = setValueAtPath(expected, filteredPath, undefined);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
break;
|
|
54
|
-
}
|
|
55
|
-
case 'invalid_format': {
|
|
56
|
-
const actualValue = getValueAtPath(actual, filteredPath);
|
|
57
|
-
let correctedValue = actualValue;
|
|
58
|
-
const regexMatch = issue.message.match(/pattern (.+)/);
|
|
59
|
-
if (regexMatch) {
|
|
60
|
-
correctedValue = `<string matching ${regexMatch[1]}>`;
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
correctedValue = '<string in valid format>';
|
|
64
|
-
}
|
|
65
|
-
expected = setValueAtPath(expected, filteredPath, correctedValue);
|
|
66
|
-
break;
|
|
67
|
-
}
|
|
68
|
-
case 'invalid_type': {
|
|
69
|
-
const correctedValue = createCorrectValueForType(issue.expected, getValueAtPath(actual, filteredPath));
|
|
70
|
-
expected = setValueAtPath(expected, filteredPath, correctedValue);
|
|
71
|
-
break;
|
|
72
|
-
}
|
|
73
|
-
case 'invalid_union': {
|
|
74
|
-
// Union errors contain multiple sub-errors for each branch.
|
|
75
|
-
// We can't determine a single "expected" value, so bail out
|
|
76
|
-
// and let Zod's error message show all the union branch errors.
|
|
77
|
-
return { actual: undefined, expected: undefined };
|
|
78
|
-
}
|
|
79
|
-
case 'invalid_value': {
|
|
80
|
-
// Only use the corrected value if we have a concrete value from the schema
|
|
81
|
-
if (issue.values && issue.values.length > 0) {
|
|
82
|
-
const correctedValue = issue.values[0];
|
|
83
|
-
expected = setValueAtPath(expected, filteredPath, correctedValue);
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
// No concrete value available, bail out to Zod's error message
|
|
87
|
-
return { actual: undefined, expected: undefined };
|
|
88
|
-
}
|
|
89
|
-
break;
|
|
90
|
-
}
|
|
91
|
-
case 'too_big': {
|
|
92
|
-
const actualValue = getValueAtPath(actual, filteredPath);
|
|
93
|
-
let correctedValue;
|
|
94
|
-
if (issue.origin === 'string' && typeof actualValue === 'string') {
|
|
95
|
-
correctedValue = actualValue.slice(0, Number(issue.maximum));
|
|
96
|
-
}
|
|
97
|
-
else if (issue.origin === 'array' && isArray(actualValue)) {
|
|
98
|
-
correctedValue = actualValue.slice(0, Number(issue.maximum));
|
|
99
|
-
}
|
|
100
|
-
else {
|
|
101
|
-
correctedValue = issue.maximum;
|
|
102
|
-
}
|
|
103
|
-
expected = setValueAtPath(expected, filteredPath, correctedValue);
|
|
104
|
-
break;
|
|
105
|
-
}
|
|
106
|
-
case 'too_small': {
|
|
107
|
-
const actualValue = getValueAtPath(actual, filteredPath);
|
|
108
|
-
let correctedValue;
|
|
109
|
-
if (issue.origin === 'string' && typeof actualValue === 'string') {
|
|
110
|
-
const needed = Number(issue.minimum) - actualValue.length;
|
|
111
|
-
correctedValue = actualValue + 'x'.repeat(max(0, needed));
|
|
112
|
-
}
|
|
113
|
-
else if (issue.origin === 'array' && isArray(actualValue)) {
|
|
114
|
-
const needed = Number(issue.minimum) - actualValue.length;
|
|
115
|
-
correctedValue = actualValue.concat(new Array(max(0, needed)).fill(null));
|
|
116
|
-
}
|
|
117
|
-
else {
|
|
118
|
-
correctedValue = issue.minimum;
|
|
119
|
-
}
|
|
120
|
-
expected = setValueAtPath(expected, filteredPath, correctedValue);
|
|
121
|
-
break;
|
|
122
|
-
}
|
|
123
|
-
case 'unrecognized_keys': {
|
|
124
|
-
if (filteredPath.length === 0 &&
|
|
125
|
-
typeof expected === 'object' &&
|
|
126
|
-
expected !== null) {
|
|
127
|
-
const expectedCopy = {
|
|
128
|
-
...expected,
|
|
129
|
-
};
|
|
130
|
-
for (const key of issue.keys) {
|
|
131
|
-
delete expectedCopy[key];
|
|
132
|
-
}
|
|
133
|
-
expected = expectedCopy;
|
|
134
|
-
}
|
|
135
|
-
break;
|
|
136
|
-
}
|
|
137
|
-
default: {
|
|
138
|
-
break;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
catch {
|
|
143
|
-
continue;
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
return { actual, expected };
|
|
147
|
-
}
|
|
148
|
-
catch {
|
|
149
|
-
return { actual: undefined, expected: undefined };
|
|
150
|
-
}
|
|
151
|
-
};
|
|
152
|
-
exports.extractDiffValues = extractDiffValues;
|
|
153
|
-
/**
|
|
154
|
-
* Generates a rich diff string using jest-diff for assertion failures.
|
|
155
|
-
*
|
|
156
|
-
* @function
|
|
157
|
-
* @param expected The expected value
|
|
158
|
-
* @param actual The actual value
|
|
159
|
-
* @param options Configuration options for diff generation
|
|
160
|
-
* @returns A formatted diff string, or null if values are identical
|
|
161
|
-
*/
|
|
162
|
-
const generateDiff = (expected, actual, options = {}) => {
|
|
163
|
-
if (!(0, exports.shouldGenerateDiff)(actual, expected)) {
|
|
164
|
-
return null;
|
|
165
|
-
}
|
|
166
|
-
return (0, jest_diff_1.diff)(expected, actual, {
|
|
167
|
-
aAnnotation: 'expected',
|
|
168
|
-
bAnnotation: 'actual',
|
|
169
|
-
expand: false,
|
|
170
|
-
includeChangeCounts: true,
|
|
171
|
-
...options,
|
|
172
|
-
});
|
|
173
|
-
};
|
|
174
|
-
exports.generateDiff = generateDiff;
|
|
175
|
-
/**
|
|
176
|
-
* Checks if two values should generate a meaningful diff.
|
|
177
|
-
*
|
|
178
|
-
* @function
|
|
179
|
-
* @param actual The actual value
|
|
180
|
-
* @param expected The expected value
|
|
181
|
-
* @returns True if a diff should be generated, false otherwise
|
|
182
|
-
*/
|
|
183
|
-
const shouldGenerateDiff = (actual, expected) => actual !== undefined && expected !== undefined && actual !== expected;
|
|
184
|
-
exports.shouldGenerateDiff = shouldGenerateDiff;
|
|
185
|
-
/**
|
|
186
|
-
* Creates a corrected value for a given type
|
|
187
|
-
*
|
|
188
|
-
* @function
|
|
189
|
-
*/
|
|
190
|
-
const createCorrectValueForType = (expectedType, actualValue) => {
|
|
191
|
-
switch (expectedType) {
|
|
192
|
-
case 'array':
|
|
193
|
-
return isArray(actualValue) ? actualValue : [];
|
|
194
|
-
case 'boolean':
|
|
195
|
-
return typeof actualValue === 'boolean'
|
|
196
|
-
? actualValue
|
|
197
|
-
: Boolean(actualValue);
|
|
198
|
-
case 'null':
|
|
199
|
-
return null;
|
|
200
|
-
case 'number':
|
|
201
|
-
return typeof actualValue === 'number'
|
|
202
|
-
? actualValue
|
|
203
|
-
: Number(actualValue) || 0;
|
|
204
|
-
case 'object':
|
|
205
|
-
return typeof actualValue === 'object' && actualValue !== null
|
|
206
|
-
? actualValue
|
|
207
|
-
: {};
|
|
208
|
-
case 'string':
|
|
209
|
-
if (typeof actualValue === 'string') {
|
|
210
|
-
return actualValue;
|
|
211
|
-
}
|
|
212
|
-
if (actualValue == null) {
|
|
213
|
-
return '';
|
|
214
|
-
}
|
|
215
|
-
if (typeof actualValue === 'object') {
|
|
216
|
-
return stringify(actualValue);
|
|
217
|
-
}
|
|
218
|
-
// eslint-disable-next-line @typescript-eslint/no-base-to-string
|
|
219
|
-
return `${actualValue}`;
|
|
220
|
-
case 'undefined':
|
|
221
|
-
return undefined;
|
|
222
|
-
default:
|
|
223
|
-
return `<${expectedType}>`;
|
|
224
|
-
}
|
|
225
|
-
};
|
|
226
|
-
/**
|
|
227
|
-
* Custom deep clone implementation for values that structuredClone can't
|
|
228
|
-
* handle. Used as fallback when structuredClone fails.
|
|
229
|
-
*
|
|
230
|
-
* @function
|
|
231
|
-
*/
|
|
232
|
-
const customDeepClone = (value) => {
|
|
233
|
-
if (value === null || typeof value !== 'object') {
|
|
234
|
-
return value;
|
|
235
|
-
}
|
|
236
|
-
if (isArray(value)) {
|
|
237
|
-
return value.map(customDeepClone);
|
|
238
|
-
}
|
|
239
|
-
if (value instanceof Error) {
|
|
240
|
-
const cloned = {};
|
|
241
|
-
for (const [key, val] of entries(value)) {
|
|
242
|
-
cloned[key] = customDeepClone(val);
|
|
243
|
-
}
|
|
244
|
-
for (const prop of getOwnPropertyNames(value)) {
|
|
245
|
-
if (!(prop in cloned)) {
|
|
246
|
-
try {
|
|
247
|
-
cloned[prop] = value[prop];
|
|
248
|
-
}
|
|
249
|
-
catch {
|
|
250
|
-
// Skip properties that can't be accessed
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
return cloned;
|
|
255
|
-
}
|
|
256
|
-
const cloned = {};
|
|
257
|
-
for (const [key, val] of entries(value)) {
|
|
258
|
-
cloned[key] = customDeepClone(val);
|
|
259
|
-
}
|
|
260
|
-
return cloned;
|
|
261
|
-
};
|
|
262
|
-
/**
|
|
263
|
-
* Deep clone a value to avoid mutating the original. Uses the native
|
|
264
|
-
* structuredClone API which handles more types and circular references better
|
|
265
|
-
* than a custom implementation. Falls back to custom implementation for values
|
|
266
|
-
* containing functions.
|
|
267
|
-
*
|
|
268
|
-
* @function
|
|
269
|
-
*/
|
|
270
|
-
const deepClone = (value) => {
|
|
271
|
-
try {
|
|
272
|
-
return structuredClone(value);
|
|
273
|
-
}
|
|
274
|
-
catch (error) {
|
|
275
|
-
if (error instanceof Error && error.name === 'DataCloneError') {
|
|
276
|
-
return customDeepClone(value);
|
|
277
|
-
}
|
|
278
|
-
throw error;
|
|
279
|
-
}
|
|
280
|
-
};
|
|
281
|
-
/**
|
|
282
|
-
* Gets a value at a specific path in an object
|
|
283
|
-
*
|
|
284
|
-
* @function
|
|
285
|
-
*/
|
|
286
|
-
const getValueAtPath = (obj, path) => {
|
|
287
|
-
if (path.length === 0) {
|
|
288
|
-
return obj;
|
|
289
|
-
}
|
|
290
|
-
let current = obj;
|
|
291
|
-
for (const key of path) {
|
|
292
|
-
if (current == null) {
|
|
293
|
-
return undefined;
|
|
294
|
-
}
|
|
295
|
-
current = current[key];
|
|
296
|
-
}
|
|
297
|
-
return current;
|
|
298
|
-
};
|
|
299
|
-
/**
|
|
300
|
-
* Returns a new object with the value at the specified path set to the given
|
|
301
|
-
* value.
|
|
302
|
-
*
|
|
303
|
-
* @function
|
|
304
|
-
*/
|
|
305
|
-
const setValueAtPath = (obj, path, value) => {
|
|
306
|
-
if (path.length === 0) {
|
|
307
|
-
return value;
|
|
308
|
-
}
|
|
309
|
-
if (obj == null) {
|
|
310
|
-
obj = typeof path[0] === 'number' ? [] : {};
|
|
311
|
-
}
|
|
312
|
-
const [head, ...tail] = path;
|
|
313
|
-
if (head === undefined) {
|
|
314
|
-
return obj;
|
|
315
|
-
}
|
|
316
|
-
const newValue = tail.length === 0
|
|
317
|
-
? value
|
|
318
|
-
: setValueAtPath(obj[head], tail, value);
|
|
319
|
-
if (isArray(obj)) {
|
|
320
|
-
const result = [...obj];
|
|
321
|
-
result[head] = newValue;
|
|
322
|
-
return result;
|
|
323
|
-
}
|
|
324
|
-
let result;
|
|
325
|
-
if (obj instanceof Error) {
|
|
326
|
-
result = {};
|
|
327
|
-
for (const prop of getOwnPropertyNames(obj)) {
|
|
328
|
-
if (prop !== 'stack') {
|
|
329
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
330
|
-
result[prop] = obj[prop];
|
|
331
|
-
}
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
else {
|
|
335
|
-
result = { ...obj };
|
|
336
|
-
}
|
|
337
|
-
result[head] = newValue;
|
|
338
|
-
return result;
|
|
339
|
-
};
|
|
340
|
-
//# sourceMappingURL=diff.js.map
|
package/dist/diff.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../src/diff.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAKH,yCAAiC;AAGjC,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;AAC1B,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACrB,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;AAC3B,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,GAAG,MAAM,CAAC;AAYhD;;;;;;;GAOG;AACI,MAAM,iBAAiB,GAAG,CAC/B,QAAoB,EACpB,OAAgB,EACJ,EAAE;IACd,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,OAAO,CAAC;QAEvB,IAAI,QAAQ,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAE9D,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CACpC,CAAC,GAAG,EAA0B,EAAE,CAC9B,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,CACrD,CAAC;gBAEF,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;oBACnB,KAAK,QAAQ,CAAC,CAAC,CAAC;wBACd,MAAM,MAAM,GAAG,KAAK,CAAC,MAA6C,CAAC;wBAEnE,IACE,MAAM,EAAE,UAAU,KAAK,aAAa;4BACpC,YAAY,CAAC,MAAM,GAAG,CAAC,EACvB,CAAC;4BACD,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;4BACnC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gCACtD,QAAQ,GAAG;oCACT,GAAI,QAAoC;oCACxC,CAAC,UAAoB,CAAC,EAAE,SAAS;iCAClC,CAAC;4BACJ,CAAC;wBACH,CAAC;6BAAM,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACnC,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;4BACzD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gCAC9B,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;4BAC/D,CAAC;wBACH,CAAC;wBACD,MAAM;oBACR,CAAC;oBAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;wBACtB,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;wBACzD,IAAI,cAAc,GAAG,WAAW,CAAC;wBAEjC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;wBACvD,IAAI,UAAU,EAAE,CAAC;4BACf,cAAc,GAAG,oBAAoB,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;wBACxD,CAAC;6BAAM,CAAC;4BACN,cAAc,GAAG,0BAA0B,CAAC;wBAC9C,CAAC;wBAED,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;wBAClE,MAAM;oBACR,CAAC;oBAED,KAAK,cAAc,CAAC,CAAC,CAAC;wBACpB,MAAM,cAAc,GAAG,yBAAyB,CAC9C,KAAK,CAAC,QAAQ,EACd,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,CACrC,CAAC;wBACF,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;wBAClE,MAAM;oBACR,CAAC;oBAED,KAAK,eAAe,CAAC,CAAC,CAAC;wBACrB,4DAA4D;wBAC5D,4DAA4D;wBAC5D,gEAAgE;wBAChE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;oBACpD,CAAC;oBAED,KAAK,eAAe,CAAC,CAAC,CAAC;wBACrB,2EAA2E;wBAC3E,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC5C,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;4BACvC,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;wBACpE,CAAC;6BAAM,CAAC;4BACN,+DAA+D;4BAC/D,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;wBACpD,CAAC;wBACD,MAAM;oBACR,CAAC;oBAED,KAAK,SAAS,CAAC,CAAC,CAAC;wBACf,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;wBACzD,IAAI,cAAc,CAAC;wBAEnB,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;4BACjE,cAAc,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;wBAC/D,CAAC;6BAAM,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;4BAC5D,cAAc,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;wBAC/D,CAAC;6BAAM,CAAC;4BACN,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC;wBACjC,CAAC;wBAED,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;wBAClE,MAAM;oBACR,CAAC;oBAED,KAAK,WAAW,CAAC,CAAC,CAAC;wBACjB,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;wBACzD,IAAI,cAAc,CAAC;wBAEnB,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;4BACjE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;4BAC1D,cAAc,GAAG,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;wBAC5D,CAAC;6BAAM,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;4BAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;4BAC1D,cAAc,GAAG,WAAW,CAAC,MAAM,CACjC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACrC,CAAC;wBACJ,CAAC;6BAAM,CAAC;4BACN,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC;wBACjC,CAAC;wBAED,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;wBAClE,MAAM;oBACR,CAAC;oBAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;wBACzB,IACE,YAAY,CAAC,MAAM,KAAK,CAAC;4BACzB,OAAO,QAAQ,KAAK,QAAQ;4BAC5B,QAAQ,KAAK,IAAI,EACjB,CAAC;4BACD,MAAM,YAAY,GAAG;gCACnB,GAAI,QAAoC;6BACzC,CAAC;4BACF,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gCAC7B,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;4BAC3B,CAAC;4BACD,QAAQ,GAAG,YAAY,CAAC;wBAC1B,CAAC;wBACD,MAAM;oBACR,CAAC;oBAED,OAAO,CAAC,CAAC,CAAC;wBACR,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACpD,CAAC;AACH,CAAC,CAAC;AArJW,QAAA,iBAAiB,qBAqJ5B;AAEF;;;;;;;;GAQG;AACI,MAAM,YAAY,GAAG,CAC1B,QAAiB,EACjB,MAAe,EACf,UAAuB,EAAE,EACV,EAAE;IACjB,IAAI,CAAC,IAAA,0BAAkB,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,IAAA,gBAAI,EAAC,QAAQ,EAAE,MAAM,EAAE;QAC5B,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,QAAQ;QACrB,MAAM,EAAE,KAAK;QACb,mBAAmB,EAAE,IAAI;QACzB,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC,CAAC;AAhBW,QAAA,YAAY,gBAgBvB;AAEF;;;;;;;GAOG;AACI,MAAM,kBAAkB,GAAG,CAChC,MAAe,EACf,QAAiB,EACR,EAAE,CACX,MAAM,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,IAAI,MAAM,KAAK,QAAQ,CAAC;AAJ3D,QAAA,kBAAkB,sBAIyC;AAExE;;;;GAIG;AACH,MAAM,yBAAyB,GAAG,CAChC,YAAoB,EACpB,WAAoB,EACX,EAAE;IACX,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,OAAO;YACV,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,KAAK,SAAS;YACZ,OAAO,OAAO,WAAW,KAAK,SAAS;gBACrC,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC3B,KAAK,MAAM;YACT,OAAO,IAAI,CAAC;QACd,KAAK,QAAQ;YACX,OAAO,OAAO,WAAW,KAAK,QAAQ;gBACpC,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC/B,KAAK,QAAQ;YACX,OAAO,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,IAAI;gBAC5D,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,EAAE,CAAC;QACT,KAAK,QAAQ;YACX,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;gBACpC,OAAO,WAAW,CAAC;YACrB,CAAC;YACD,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;gBACxB,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;gBACpC,OAAO,SAAS,CAAC,WAAW,CAAC,CAAC;YAChC,CAAC;YACD,gEAAgE;YAChE,OAAO,GAAG,WAAW,EAAE,CAAC;QAC1B,KAAK,WAAW;YACd,OAAO,SAAS,CAAC;QACnB;YACE,OAAO,IAAI,YAAY,GAAG,CAAC;IAC/B,CAAC;AACH,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,eAAe,GAAG,CAAC,KAAc,EAAW,EAAE;IAClD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC;oBACH,MAAM,CAAC,IAAI,CAAC,GAAI,KAA4C,CAAC,IAAI,CAAC,CAAC;gBACrE,CAAC;gBAAC,MAAM,CAAC;oBACP,yCAAyC;gBAC3C,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,SAAS,GAAG,CAAC,KAAc,EAAW,EAAE;IAC5C,IAAI,CAAC;QACH,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YAC9D,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,cAAc,GAAG,CACrB,GAAY,EACZ,IAAkC,EACzB,EAAE;IACX,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI,OAAO,GAAG,GAAG,CAAC;IAClB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACpB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,GAAI,OAA4C,CAAC,GAAG,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,cAAc,GAAG,CACrB,GAAY,EACZ,IAAkC,EAClC,KAAc,EACL,EAAE;IACX,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAChB,GAAG,GAAG,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,QAAQ,GACZ,IAAI,CAAC,MAAM,KAAK,CAAC;QACf,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,cAAc,CACX,GAAwC,CAAC,IAAI,CAAC,EAC/C,IAAI,EACJ,KAAK,CACN,CAAC;IAER,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACjB,MAAM,MAAM,GAAG,CAAC,GAAI,GAAiB,CAAC,CAAC;QACvC,MAAM,CAAC,IAAc,CAAC,GAAG,QAAQ,CAAC;QAClC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,MAAwC,CAAC;IAC7C,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,EAAE,CAAC;QACZ,KAAK,MAAM,IAAI,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5C,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACrB,sEAAsE;gBACtE,MAAM,CAAC,IAAI,CAAC,GAAI,GAAW,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,EAAE,GAAI,GAA+B,EAAE,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;IACxB,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
|
package/dist/diff.d.cts
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Diff utilities for generating rich assertion failure output.
|
|
3
|
-
*
|
|
4
|
-
* This module provides utilities for extracting meaningful actual/expected
|
|
5
|
-
* values from Zod validation errors and generating high-quality diff output
|
|
6
|
-
* using `jest-diff` for assertion failures.
|
|
7
|
-
*
|
|
8
|
-
* @packageDocumentation
|
|
9
|
-
* @see {@link https://npm.im/jest-diff | jest-diff}
|
|
10
|
-
*/
|
|
11
|
-
import type { DiffOptions } from 'jest-diff';
|
|
12
|
-
import type { z } from 'zod';
|
|
13
|
-
export type { DiffOptions };
|
|
14
|
-
/**
|
|
15
|
-
* Result of extracting diff values from a `ZodError`
|
|
16
|
-
*/
|
|
17
|
-
export interface DiffValues {
|
|
18
|
-
/** The actual value that was validated */
|
|
19
|
-
actual: unknown;
|
|
20
|
-
/** The expected value (corrected version) */
|
|
21
|
-
expected: unknown;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Extracts actual and expected values from a `ZodError` for meaningful diffs.
|
|
25
|
-
*
|
|
26
|
-
* @function
|
|
27
|
-
* @param zodError The `ZodError` to extract values from
|
|
28
|
-
* @param subject The original subject that failed validation
|
|
29
|
-
* @returns Object with actual and expected values for diff
|
|
30
|
-
*/
|
|
31
|
-
export declare const extractDiffValues: (zodError: z.ZodError, subject: unknown) => DiffValues;
|
|
32
|
-
/**
|
|
33
|
-
* Generates a rich diff string using jest-diff for assertion failures.
|
|
34
|
-
*
|
|
35
|
-
* @function
|
|
36
|
-
* @param expected The expected value
|
|
37
|
-
* @param actual The actual value
|
|
38
|
-
* @param options Configuration options for diff generation
|
|
39
|
-
* @returns A formatted diff string, or null if values are identical
|
|
40
|
-
*/
|
|
41
|
-
export declare const generateDiff: (expected: unknown, actual: unknown, options?: DiffOptions) => null | string;
|
|
42
|
-
/**
|
|
43
|
-
* Checks if two values should generate a meaningful diff.
|
|
44
|
-
*
|
|
45
|
-
* @function
|
|
46
|
-
* @param actual The actual value
|
|
47
|
-
* @param expected The expected value
|
|
48
|
-
* @returns True if a diff should be generated, false otherwise
|
|
49
|
-
*/
|
|
50
|
-
export declare const shouldGenerateDiff: (actual: unknown, expected: unknown) => boolean;
|
|
51
|
-
//# sourceMappingURL=diff.d.ts.map
|
package/dist/diff.d.cts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../src/diff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAG7B,YAAY,EAAE,WAAW,EAAE,CAAC;AAO5B;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,0CAA0C;IAC1C,MAAM,EAAE,OAAO,CAAC;IAChB,6CAA6C;IAC7C,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAC5B,UAAU,CAAC,CAAC,QAAQ,EACpB,SAAS,OAAO,KACf,UAkJF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,GACvB,UAAU,OAAO,EACjB,QAAQ,OAAO,EACf,UAAS,WAAgB,KACxB,IAAI,GAAG,MAYT,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,OAAO,EACf,UAAU,OAAO,KAChB,OACoE,CAAC"}
|
package/dist/diff.d.ts
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Diff utilities for generating rich assertion failure output.
|
|
3
|
-
*
|
|
4
|
-
* This module provides utilities for extracting meaningful actual/expected
|
|
5
|
-
* values from Zod validation errors and generating high-quality diff output
|
|
6
|
-
* using `jest-diff` for assertion failures.
|
|
7
|
-
*
|
|
8
|
-
* @packageDocumentation
|
|
9
|
-
* @see {@link https://npm.im/jest-diff | jest-diff}
|
|
10
|
-
*/
|
|
11
|
-
import type { DiffOptions } from 'jest-diff';
|
|
12
|
-
import type { z } from 'zod';
|
|
13
|
-
export type { DiffOptions };
|
|
14
|
-
/**
|
|
15
|
-
* Result of extracting diff values from a `ZodError`
|
|
16
|
-
*/
|
|
17
|
-
export interface DiffValues {
|
|
18
|
-
/** The actual value that was validated */
|
|
19
|
-
actual: unknown;
|
|
20
|
-
/** The expected value (corrected version) */
|
|
21
|
-
expected: unknown;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Extracts actual and expected values from a `ZodError` for meaningful diffs.
|
|
25
|
-
*
|
|
26
|
-
* @function
|
|
27
|
-
* @param zodError The `ZodError` to extract values from
|
|
28
|
-
* @param subject The original subject that failed validation
|
|
29
|
-
* @returns Object with actual and expected values for diff
|
|
30
|
-
*/
|
|
31
|
-
export declare const extractDiffValues: (zodError: z.ZodError, subject: unknown) => DiffValues;
|
|
32
|
-
/**
|
|
33
|
-
* Generates a rich diff string using jest-diff for assertion failures.
|
|
34
|
-
*
|
|
35
|
-
* @function
|
|
36
|
-
* @param expected The expected value
|
|
37
|
-
* @param actual The actual value
|
|
38
|
-
* @param options Configuration options for diff generation
|
|
39
|
-
* @returns A formatted diff string, or null if values are identical
|
|
40
|
-
*/
|
|
41
|
-
export declare const generateDiff: (expected: unknown, actual: unknown, options?: DiffOptions) => null | string;
|
|
42
|
-
/**
|
|
43
|
-
* Checks if two values should generate a meaningful diff.
|
|
44
|
-
*
|
|
45
|
-
* @function
|
|
46
|
-
* @param actual The actual value
|
|
47
|
-
* @param expected The expected value
|
|
48
|
-
* @returns True if a diff should be generated, false otherwise
|
|
49
|
-
*/
|
|
50
|
-
export declare const shouldGenerateDiff: (actual: unknown, expected: unknown) => boolean;
|
|
51
|
-
//# sourceMappingURL=diff.d.ts.map
|
package/dist/diff.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../src/diff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAG7B,YAAY,EAAE,WAAW,EAAE,CAAC;AAO5B;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,0CAA0C;IAC1C,MAAM,EAAE,OAAO,CAAC;IAChB,6CAA6C;IAC7C,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAC5B,UAAU,CAAC,CAAC,QAAQ,EACpB,SAAS,OAAO,KACf,UAkJF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,GACvB,UAAU,OAAO,EACjB,QAAQ,OAAO,EACf,UAAS,WAAgB,KACxB,IAAI,GAAG,MAYT,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,OAAO,EACf,UAAU,OAAO,KAChB,OACoE,CAAC"}
|