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/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Types used throughout <span class="bupkis">BUPKIS</span>.
|
|
3
|
-
*
|
|
4
|
-
* May be useful for those building on top of <span
|
|
5
|
-
* class="bupkis">BUPKIS</span>.
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
*
|
|
9
|
-
* ```ts
|
|
10
|
-
* // namespace
|
|
11
|
-
* import { types } from 'bupkis';
|
|
12
|
-
* // subpath import
|
|
13
|
-
* import type * as alsoTypes from 'bupkis/types';
|
|
14
|
-
* ```
|
|
15
|
-
*
|
|
16
|
-
* @groupDescription Utility Types
|
|
17
|
-
* Types used throughout <span class="bupkis">BUPKIS</span>.
|
|
18
|
-
* @packageDocumentation
|
|
19
|
-
*/
|
|
20
|
-
export {};
|
|
21
|
-
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG"}
|
package/dist/use.cjs
DELETED
|
@@ -1,240 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Contains {@link createUse} and which is consumed by the bootstrapper and any
|
|
4
|
-
* subsequent calls to {@link bupkis!expect.use}.
|
|
5
|
-
*
|
|
6
|
-
* @packageDocumentation
|
|
7
|
-
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.createUse = void 0;
|
|
10
|
-
const assertion_async_js_1 = require("./assertion/assertion-async.cjs");
|
|
11
|
-
const assertion_sync_js_1 = require("./assertion/assertion-sync.cjs");
|
|
12
|
-
const constant_js_1 = require("./constant.cjs");
|
|
13
|
-
const expect_js_1 = require("./expect.cjs");
|
|
14
|
-
const { assign } = Object;
|
|
15
|
-
/**
|
|
16
|
-
* Creates an `expect.it()` factory function for generating embeddable assertion
|
|
17
|
-
* executors.
|
|
18
|
-
*
|
|
19
|
-
* This function produces a factory that creates embeddable assertion executors
|
|
20
|
-
* from natural language assertion phrases. The resulting executors can be
|
|
21
|
-
* embedded within object patterns for use with `'to satisfy'` assertions,
|
|
22
|
-
* enabling type-safe pattern matching for complex nested validations.
|
|
23
|
-
*
|
|
24
|
-
* @remarks
|
|
25
|
-
* The returned executors are marked with the {@link kExpectIt} symbol to
|
|
26
|
-
* distinguish them from regular functions during pattern validation. They are
|
|
27
|
-
* designed exclusively for use within `'to satisfy'` assertion contexts and
|
|
28
|
-
* should not be executed directly outside of pattern matching scenarios.
|
|
29
|
-
* @example
|
|
30
|
-
*
|
|
31
|
-
* ```typescript
|
|
32
|
-
* const expectIt = createExpectIt(expect);
|
|
33
|
-
*
|
|
34
|
-
* // Create embeddable assertion executors
|
|
35
|
-
* const isString = expectIt('to be a string');
|
|
36
|
-
* const isPositive = expectIt('to be greater than', 0);
|
|
37
|
-
*
|
|
38
|
-
* // Use within 'to satisfy' patterns
|
|
39
|
-
* expect(user, 'to satisfy', {
|
|
40
|
-
* name: isString, // Validates that user.name is a string
|
|
41
|
-
* age: isPositive, // Validates that user.age > 0
|
|
42
|
-
* email: /\S+@\S+/, // Standard regex pattern
|
|
43
|
-
* });
|
|
44
|
-
* ```
|
|
45
|
-
*
|
|
46
|
-
* @template SyncAssertions - Array of synchronous assertion objects that define
|
|
47
|
-
* the available assertion logic for the embeddable functions
|
|
48
|
-
* @function
|
|
49
|
-
* @param expect - The underlying expect function that will execute the
|
|
50
|
-
* assertions when the returned executors are called
|
|
51
|
-
* @returns A factory function that creates {@link ExpectItExecutor} instances
|
|
52
|
-
* for embedding within object patterns
|
|
53
|
-
* @internal
|
|
54
|
-
* @see {@link ExpectIt} for the complete factory function interface
|
|
55
|
-
* @see {@link ExpectItExecutor} for the executor function interface
|
|
56
|
-
* @see {@link kExpectIt} for the internal marking symbol
|
|
57
|
-
*/
|
|
58
|
-
const createExpectIt = (expect) => {
|
|
59
|
-
/**
|
|
60
|
-
* @function
|
|
61
|
-
*/
|
|
62
|
-
const expectIt = (...args) => {
|
|
63
|
-
const func = assign((subject) => {
|
|
64
|
-
const allArgs = [subject, ...args];
|
|
65
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
66
|
-
expect(...allArgs);
|
|
67
|
-
}, {
|
|
68
|
-
[constant_js_1.kExpectIt]: true,
|
|
69
|
-
});
|
|
70
|
-
return func;
|
|
71
|
-
};
|
|
72
|
-
return expectIt;
|
|
73
|
-
};
|
|
74
|
-
/**
|
|
75
|
-
* Creates an `expectAsync.it()` factory function for generating embeddable
|
|
76
|
-
* async assertion executors.
|
|
77
|
-
*
|
|
78
|
-
* This function produces a factory that creates embeddable async assertion
|
|
79
|
-
* executors from natural language assertion phrases. The resulting executors
|
|
80
|
-
* can be embedded within async object patterns for use with `'to satisfy'`
|
|
81
|
-
* assertions, enabling type-safe pattern matching for complex nested
|
|
82
|
-
* validations with Promise support.
|
|
83
|
-
*
|
|
84
|
-
* @remarks
|
|
85
|
-
* The returned async executors are marked with the {@link kExpectIt} symbol to
|
|
86
|
-
* distinguish them from regular functions during pattern validation. They are
|
|
87
|
-
* designed exclusively for use within async `'to satisfy'` assertion contexts
|
|
88
|
-
* and should not be executed directly outside of pattern matching scenarios.
|
|
89
|
-
* @example
|
|
90
|
-
*
|
|
91
|
-
* ```typescript
|
|
92
|
-
* const expectItAsync = createExpectItAsync(expectAsync);
|
|
93
|
-
*
|
|
94
|
-
* // Create embeddable async assertion executors
|
|
95
|
-
* const isAsyncString = expectItAsync('to be a string');
|
|
96
|
-
* const resolvesFast = expectItAsync('to resolve quickly');
|
|
97
|
-
*
|
|
98
|
-
* // Use within async 'to satisfy' patterns
|
|
99
|
-
* await expectAsync(asyncUser, 'to satisfy', {
|
|
100
|
-
* name: isAsyncString, // Async validation that user.name is a string
|
|
101
|
-
* loadPromise: resolvesFast, // Async validation that loadPromise resolves quickly
|
|
102
|
-
* });
|
|
103
|
-
* ```
|
|
104
|
-
*
|
|
105
|
-
* @template AsyncAssertions - Array of asynchronous assertion objects that
|
|
106
|
-
* define the available assertion logic for the embeddable async functions
|
|
107
|
-
* @function
|
|
108
|
-
* @param expectAsync - The underlying expectAsync function that will execute
|
|
109
|
-
* the assertions when the returned executors are called
|
|
110
|
-
* @returns A factory function that creates {@link ExpectItExecutorAsync}
|
|
111
|
-
* instances for embedding within async object patterns
|
|
112
|
-
* @internal
|
|
113
|
-
* @see {@link ExpectItAsync} for the complete factory function interface
|
|
114
|
-
* @see {@link ExpectItExecutorAsync} for the executor function interface
|
|
115
|
-
* @see {@link kExpectIt} for the internal marking symbol
|
|
116
|
-
* @see {@link createExpectIt} for the synchronous equivalent
|
|
117
|
-
*/
|
|
118
|
-
const createExpectItAsync = (expectAsync) => {
|
|
119
|
-
/**
|
|
120
|
-
* @function
|
|
121
|
-
*/
|
|
122
|
-
const expectItAsync = (...args) => {
|
|
123
|
-
const func = assign(async (subject) => {
|
|
124
|
-
const allArgs = [subject, ...args];
|
|
125
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
126
|
-
await expectAsync(...allArgs);
|
|
127
|
-
}, {
|
|
128
|
-
[constant_js_1.kExpectIt]: true,
|
|
129
|
-
});
|
|
130
|
-
return func;
|
|
131
|
-
};
|
|
132
|
-
return expectItAsync;
|
|
133
|
-
};
|
|
134
|
-
/**
|
|
135
|
-
* Creates a factory function for composing assertion functions with custom
|
|
136
|
-
* assertions.
|
|
137
|
-
*
|
|
138
|
-
* This function implements the core plugin system for Bupkis, enabling users to
|
|
139
|
-
* extend the built-in assertion library with custom assertions. It creates a
|
|
140
|
-
* `use()` function that accepts mixed arrays of assertions and returns new
|
|
141
|
-
* `expect` and `expectAsync` functions that include both the base assertions
|
|
142
|
-
* and the newly added ones.
|
|
143
|
-
*
|
|
144
|
-
* The function separates synchronous and asynchronous assertions from the input
|
|
145
|
-
* array, combines them with existing assertions, and constructs fully-featured
|
|
146
|
-
* expect functions with all necessary properties including assertion creation
|
|
147
|
-
* utilities, failure functions, and recursive composition via the `use`
|
|
148
|
-
* property.
|
|
149
|
-
*
|
|
150
|
-
* @remarks
|
|
151
|
-
* The returned function filters input assertions by type using `instanceof`
|
|
152
|
-
* checks against {@link BupkisAssertionSync} and {@link BupkisAssertionAsync}
|
|
153
|
-
* classes. It then creates new expect functions using
|
|
154
|
-
* {@link createExpectSyncFunction} and {@link createExpectAsyncFunction}, and
|
|
155
|
-
* attaches all necessary properties including recursive `use` functionality.
|
|
156
|
-
*
|
|
157
|
-
* The composition is recursive - the returned object's `use` property creates a
|
|
158
|
-
* new `createUse` instance with the combined assertion sets, enabling unlimited
|
|
159
|
-
* chaining of custom assertions.
|
|
160
|
-
* @example
|
|
161
|
-
*
|
|
162
|
-
* ```typescript
|
|
163
|
-
* // Create custom assertions
|
|
164
|
-
* const customSyncAssertion = expect.createAssertion(
|
|
165
|
-
* ['to be even'],
|
|
166
|
-
* (n) => n % 2 === 0,
|
|
167
|
-
* );
|
|
168
|
-
* const customAsyncAssertion = expect.createAsyncAssertion(
|
|
169
|
-
* ['to resolve quickly'],
|
|
170
|
-
* async (promise) => {
|
|
171
|
-
* const start = Date.now();
|
|
172
|
-
* await promise;
|
|
173
|
-
* return Date.now() - start < 100;
|
|
174
|
-
* },
|
|
175
|
-
* );
|
|
176
|
-
*
|
|
177
|
-
* // Use createUse to compose with existing assertions
|
|
178
|
-
* const use = createUse(existingSyncAssertions, existingAsyncAssertions);
|
|
179
|
-
* const { expect: newExpect, expectAsync: newExpectAsync } = use([
|
|
180
|
-
* customSyncAssertion,
|
|
181
|
-
* customAsyncAssertion,
|
|
182
|
-
* ]);
|
|
183
|
-
*
|
|
184
|
-
* // Now both built-in and custom assertions are available
|
|
185
|
-
* newExpect(4, 'to be even'); // Custom assertion
|
|
186
|
-
* newExpect('hello', 'to be a string'); // Built-in assertion
|
|
187
|
-
* await newExpectAsync(fastPromise, 'to resolve quickly'); // Custom async assertion
|
|
188
|
-
* ```
|
|
189
|
-
*
|
|
190
|
-
* @template SyncAssertions - Array of base synchronous assertions that will be
|
|
191
|
-
* available in the composed functions
|
|
192
|
-
* @template AsyncAssertions - Array of base asynchronous assertions that will
|
|
193
|
-
* be available in the composed functions
|
|
194
|
-
* @function
|
|
195
|
-
* @param syncAssertions - Base synchronous assertions to include in all
|
|
196
|
-
* composed expect functions
|
|
197
|
-
* @param asyncAssertions - Base asynchronous assertions to include in all
|
|
198
|
-
* composed expect functions
|
|
199
|
-
* @returns A {@link UseFn} that accepts additional assertions and returns
|
|
200
|
-
* composed expect functions
|
|
201
|
-
* @internal
|
|
202
|
-
* @see {@link UseFn} for the interface of the returned function
|
|
203
|
-
* @see {@link Bupkis} for the structure of the returned object
|
|
204
|
-
* @see {@link FilterSyncAssertions} for how sync assertions are extracted
|
|
205
|
-
* @see {@link FilterAsyncAssertions} for how async assertions are extracted
|
|
206
|
-
* @see {@link Concat} for how assertion arrays are combined
|
|
207
|
-
*/
|
|
208
|
-
const createUse = (syncAssertions, asyncAssertions) => {
|
|
209
|
-
const syncAssertionsIn = syncAssertions ?? [];
|
|
210
|
-
const asyncAssertionsIn = asyncAssertions ?? [];
|
|
211
|
-
/**
|
|
212
|
-
* @function
|
|
213
|
-
*/
|
|
214
|
-
const use = (assertions) => {
|
|
215
|
-
const newSyncAssertions = assertions.filter((a) => a instanceof assertion_sync_js_1.BupkisAssertionSync);
|
|
216
|
-
const newAsyncAssertions = assertions.filter((a) => a instanceof assertion_async_js_1.BupkisAssertionAsync);
|
|
217
|
-
const allSyncAssertions = [
|
|
218
|
-
...syncAssertionsIn,
|
|
219
|
-
...newSyncAssertions,
|
|
220
|
-
];
|
|
221
|
-
const allAsyncAssertions = [
|
|
222
|
-
...asyncAssertionsIn,
|
|
223
|
-
...newAsyncAssertions,
|
|
224
|
-
];
|
|
225
|
-
const expectFunction = (0, expect_js_1.createExpectSyncFunction)(allSyncAssertions);
|
|
226
|
-
const expectAsyncFunction = (0, expect_js_1.createExpectAsyncFunction)(allAsyncAssertions);
|
|
227
|
-
const expect = assign(expectFunction, (0, expect_js_1.createBaseExpect)(allSyncAssertions, allAsyncAssertions, 'sync'), { it: createExpectIt(expectFunction) });
|
|
228
|
-
const expectAsync = assign(expectAsyncFunction, (0, expect_js_1.createBaseExpect)(allSyncAssertions, allAsyncAssertions, 'async'), { it: createExpectItAsync(expectAsyncFunction) });
|
|
229
|
-
return {
|
|
230
|
-
expect,
|
|
231
|
-
expectAsync,
|
|
232
|
-
get use() {
|
|
233
|
-
return (0, exports.createUse)(allSyncAssertions, allAsyncAssertions);
|
|
234
|
-
},
|
|
235
|
-
};
|
|
236
|
-
};
|
|
237
|
-
return use;
|
|
238
|
-
};
|
|
239
|
-
exports.createUse = createUse;
|
|
240
|
-
//# sourceMappingURL=use.js.map
|
package/dist/use.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use.js","sourceRoot":"","sources":["../src/use.ts"],"names":[],"mappings":"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"}
|
package/dist/use.d.cts
DELETED
package/dist/use.d.cts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../src/use.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
package/dist/use.d.ts
DELETED
package/dist/use.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../src/use.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
package/dist/use.js
DELETED
|
@@ -1,236 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Contains {@link createUse} and which is consumed by the bootstrapper and any
|
|
3
|
-
* subsequent calls to {@link bupkis!expect.use}.
|
|
4
|
-
*
|
|
5
|
-
* @packageDocumentation
|
|
6
|
-
*/
|
|
7
|
-
import { BupkisAssertionAsync } from "./assertion/assertion-async.js";
|
|
8
|
-
import { BupkisAssertionSync } from "./assertion/assertion-sync.js";
|
|
9
|
-
import { kExpectIt } from "./constant.js";
|
|
10
|
-
import { createBaseExpect, createExpectAsyncFunction, createExpectSyncFunction, } from "./expect.js";
|
|
11
|
-
const { assign } = Object;
|
|
12
|
-
/**
|
|
13
|
-
* Creates an `expect.it()` factory function for generating embeddable assertion
|
|
14
|
-
* executors.
|
|
15
|
-
*
|
|
16
|
-
* This function produces a factory that creates embeddable assertion executors
|
|
17
|
-
* from natural language assertion phrases. The resulting executors can be
|
|
18
|
-
* embedded within object patterns for use with `'to satisfy'` assertions,
|
|
19
|
-
* enabling type-safe pattern matching for complex nested validations.
|
|
20
|
-
*
|
|
21
|
-
* @remarks
|
|
22
|
-
* The returned executors are marked with the {@link kExpectIt} symbol to
|
|
23
|
-
* distinguish them from regular functions during pattern validation. They are
|
|
24
|
-
* designed exclusively for use within `'to satisfy'` assertion contexts and
|
|
25
|
-
* should not be executed directly outside of pattern matching scenarios.
|
|
26
|
-
* @example
|
|
27
|
-
*
|
|
28
|
-
* ```typescript
|
|
29
|
-
* const expectIt = createExpectIt(expect);
|
|
30
|
-
*
|
|
31
|
-
* // Create embeddable assertion executors
|
|
32
|
-
* const isString = expectIt('to be a string');
|
|
33
|
-
* const isPositive = expectIt('to be greater than', 0);
|
|
34
|
-
*
|
|
35
|
-
* // Use within 'to satisfy' patterns
|
|
36
|
-
* expect(user, 'to satisfy', {
|
|
37
|
-
* name: isString, // Validates that user.name is a string
|
|
38
|
-
* age: isPositive, // Validates that user.age > 0
|
|
39
|
-
* email: /\S+@\S+/, // Standard regex pattern
|
|
40
|
-
* });
|
|
41
|
-
* ```
|
|
42
|
-
*
|
|
43
|
-
* @template SyncAssertions - Array of synchronous assertion objects that define
|
|
44
|
-
* the available assertion logic for the embeddable functions
|
|
45
|
-
* @function
|
|
46
|
-
* @param expect - The underlying expect function that will execute the
|
|
47
|
-
* assertions when the returned executors are called
|
|
48
|
-
* @returns A factory function that creates {@link ExpectItExecutor} instances
|
|
49
|
-
* for embedding within object patterns
|
|
50
|
-
* @internal
|
|
51
|
-
* @see {@link ExpectIt} for the complete factory function interface
|
|
52
|
-
* @see {@link ExpectItExecutor} for the executor function interface
|
|
53
|
-
* @see {@link kExpectIt} for the internal marking symbol
|
|
54
|
-
*/
|
|
55
|
-
const createExpectIt = (expect) => {
|
|
56
|
-
/**
|
|
57
|
-
* @function
|
|
58
|
-
*/
|
|
59
|
-
const expectIt = (...args) => {
|
|
60
|
-
const func = assign((subject) => {
|
|
61
|
-
const allArgs = [subject, ...args];
|
|
62
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
63
|
-
expect(...allArgs);
|
|
64
|
-
}, {
|
|
65
|
-
[kExpectIt]: true,
|
|
66
|
-
});
|
|
67
|
-
return func;
|
|
68
|
-
};
|
|
69
|
-
return expectIt;
|
|
70
|
-
};
|
|
71
|
-
/**
|
|
72
|
-
* Creates an `expectAsync.it()` factory function for generating embeddable
|
|
73
|
-
* async assertion executors.
|
|
74
|
-
*
|
|
75
|
-
* This function produces a factory that creates embeddable async assertion
|
|
76
|
-
* executors from natural language assertion phrases. The resulting executors
|
|
77
|
-
* can be embedded within async object patterns for use with `'to satisfy'`
|
|
78
|
-
* assertions, enabling type-safe pattern matching for complex nested
|
|
79
|
-
* validations with Promise support.
|
|
80
|
-
*
|
|
81
|
-
* @remarks
|
|
82
|
-
* The returned async executors are marked with the {@link kExpectIt} symbol to
|
|
83
|
-
* distinguish them from regular functions during pattern validation. They are
|
|
84
|
-
* designed exclusively for use within async `'to satisfy'` assertion contexts
|
|
85
|
-
* and should not be executed directly outside of pattern matching scenarios.
|
|
86
|
-
* @example
|
|
87
|
-
*
|
|
88
|
-
* ```typescript
|
|
89
|
-
* const expectItAsync = createExpectItAsync(expectAsync);
|
|
90
|
-
*
|
|
91
|
-
* // Create embeddable async assertion executors
|
|
92
|
-
* const isAsyncString = expectItAsync('to be a string');
|
|
93
|
-
* const resolvesFast = expectItAsync('to resolve quickly');
|
|
94
|
-
*
|
|
95
|
-
* // Use within async 'to satisfy' patterns
|
|
96
|
-
* await expectAsync(asyncUser, 'to satisfy', {
|
|
97
|
-
* name: isAsyncString, // Async validation that user.name is a string
|
|
98
|
-
* loadPromise: resolvesFast, // Async validation that loadPromise resolves quickly
|
|
99
|
-
* });
|
|
100
|
-
* ```
|
|
101
|
-
*
|
|
102
|
-
* @template AsyncAssertions - Array of asynchronous assertion objects that
|
|
103
|
-
* define the available assertion logic for the embeddable async functions
|
|
104
|
-
* @function
|
|
105
|
-
* @param expectAsync - The underlying expectAsync function that will execute
|
|
106
|
-
* the assertions when the returned executors are called
|
|
107
|
-
* @returns A factory function that creates {@link ExpectItExecutorAsync}
|
|
108
|
-
* instances for embedding within async object patterns
|
|
109
|
-
* @internal
|
|
110
|
-
* @see {@link ExpectItAsync} for the complete factory function interface
|
|
111
|
-
* @see {@link ExpectItExecutorAsync} for the executor function interface
|
|
112
|
-
* @see {@link kExpectIt} for the internal marking symbol
|
|
113
|
-
* @see {@link createExpectIt} for the synchronous equivalent
|
|
114
|
-
*/
|
|
115
|
-
const createExpectItAsync = (expectAsync) => {
|
|
116
|
-
/**
|
|
117
|
-
* @function
|
|
118
|
-
*/
|
|
119
|
-
const expectItAsync = (...args) => {
|
|
120
|
-
const func = assign(async (subject) => {
|
|
121
|
-
const allArgs = [subject, ...args];
|
|
122
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
123
|
-
await expectAsync(...allArgs);
|
|
124
|
-
}, {
|
|
125
|
-
[kExpectIt]: true,
|
|
126
|
-
});
|
|
127
|
-
return func;
|
|
128
|
-
};
|
|
129
|
-
return expectItAsync;
|
|
130
|
-
};
|
|
131
|
-
/**
|
|
132
|
-
* Creates a factory function for composing assertion functions with custom
|
|
133
|
-
* assertions.
|
|
134
|
-
*
|
|
135
|
-
* This function implements the core plugin system for Bupkis, enabling users to
|
|
136
|
-
* extend the built-in assertion library with custom assertions. It creates a
|
|
137
|
-
* `use()` function that accepts mixed arrays of assertions and returns new
|
|
138
|
-
* `expect` and `expectAsync` functions that include both the base assertions
|
|
139
|
-
* and the newly added ones.
|
|
140
|
-
*
|
|
141
|
-
* The function separates synchronous and asynchronous assertions from the input
|
|
142
|
-
* array, combines them with existing assertions, and constructs fully-featured
|
|
143
|
-
* expect functions with all necessary properties including assertion creation
|
|
144
|
-
* utilities, failure functions, and recursive composition via the `use`
|
|
145
|
-
* property.
|
|
146
|
-
*
|
|
147
|
-
* @remarks
|
|
148
|
-
* The returned function filters input assertions by type using `instanceof`
|
|
149
|
-
* checks against {@link BupkisAssertionSync} and {@link BupkisAssertionAsync}
|
|
150
|
-
* classes. It then creates new expect functions using
|
|
151
|
-
* {@link createExpectSyncFunction} and {@link createExpectAsyncFunction}, and
|
|
152
|
-
* attaches all necessary properties including recursive `use` functionality.
|
|
153
|
-
*
|
|
154
|
-
* The composition is recursive - the returned object's `use` property creates a
|
|
155
|
-
* new `createUse` instance with the combined assertion sets, enabling unlimited
|
|
156
|
-
* chaining of custom assertions.
|
|
157
|
-
* @example
|
|
158
|
-
*
|
|
159
|
-
* ```typescript
|
|
160
|
-
* // Create custom assertions
|
|
161
|
-
* const customSyncAssertion = expect.createAssertion(
|
|
162
|
-
* ['to be even'],
|
|
163
|
-
* (n) => n % 2 === 0,
|
|
164
|
-
* );
|
|
165
|
-
* const customAsyncAssertion = expect.createAsyncAssertion(
|
|
166
|
-
* ['to resolve quickly'],
|
|
167
|
-
* async (promise) => {
|
|
168
|
-
* const start = Date.now();
|
|
169
|
-
* await promise;
|
|
170
|
-
* return Date.now() - start < 100;
|
|
171
|
-
* },
|
|
172
|
-
* );
|
|
173
|
-
*
|
|
174
|
-
* // Use createUse to compose with existing assertions
|
|
175
|
-
* const use = createUse(existingSyncAssertions, existingAsyncAssertions);
|
|
176
|
-
* const { expect: newExpect, expectAsync: newExpectAsync } = use([
|
|
177
|
-
* customSyncAssertion,
|
|
178
|
-
* customAsyncAssertion,
|
|
179
|
-
* ]);
|
|
180
|
-
*
|
|
181
|
-
* // Now both built-in and custom assertions are available
|
|
182
|
-
* newExpect(4, 'to be even'); // Custom assertion
|
|
183
|
-
* newExpect('hello', 'to be a string'); // Built-in assertion
|
|
184
|
-
* await newExpectAsync(fastPromise, 'to resolve quickly'); // Custom async assertion
|
|
185
|
-
* ```
|
|
186
|
-
*
|
|
187
|
-
* @template SyncAssertions - Array of base synchronous assertions that will be
|
|
188
|
-
* available in the composed functions
|
|
189
|
-
* @template AsyncAssertions - Array of base asynchronous assertions that will
|
|
190
|
-
* be available in the composed functions
|
|
191
|
-
* @function
|
|
192
|
-
* @param syncAssertions - Base synchronous assertions to include in all
|
|
193
|
-
* composed expect functions
|
|
194
|
-
* @param asyncAssertions - Base asynchronous assertions to include in all
|
|
195
|
-
* composed expect functions
|
|
196
|
-
* @returns A {@link UseFn} that accepts additional assertions and returns
|
|
197
|
-
* composed expect functions
|
|
198
|
-
* @internal
|
|
199
|
-
* @see {@link UseFn} for the interface of the returned function
|
|
200
|
-
* @see {@link Bupkis} for the structure of the returned object
|
|
201
|
-
* @see {@link FilterSyncAssertions} for how sync assertions are extracted
|
|
202
|
-
* @see {@link FilterAsyncAssertions} for how async assertions are extracted
|
|
203
|
-
* @see {@link Concat} for how assertion arrays are combined
|
|
204
|
-
*/
|
|
205
|
-
export const createUse = (syncAssertions, asyncAssertions) => {
|
|
206
|
-
const syncAssertionsIn = syncAssertions ?? [];
|
|
207
|
-
const asyncAssertionsIn = asyncAssertions ?? [];
|
|
208
|
-
/**
|
|
209
|
-
* @function
|
|
210
|
-
*/
|
|
211
|
-
const use = (assertions) => {
|
|
212
|
-
const newSyncAssertions = assertions.filter((a) => a instanceof BupkisAssertionSync);
|
|
213
|
-
const newAsyncAssertions = assertions.filter((a) => a instanceof BupkisAssertionAsync);
|
|
214
|
-
const allSyncAssertions = [
|
|
215
|
-
...syncAssertionsIn,
|
|
216
|
-
...newSyncAssertions,
|
|
217
|
-
];
|
|
218
|
-
const allAsyncAssertions = [
|
|
219
|
-
...asyncAssertionsIn,
|
|
220
|
-
...newAsyncAssertions,
|
|
221
|
-
];
|
|
222
|
-
const expectFunction = createExpectSyncFunction(allSyncAssertions);
|
|
223
|
-
const expectAsyncFunction = createExpectAsyncFunction(allAsyncAssertions);
|
|
224
|
-
const expect = assign(expectFunction, createBaseExpect(allSyncAssertions, allAsyncAssertions, 'sync'), { it: createExpectIt(expectFunction) });
|
|
225
|
-
const expectAsync = assign(expectAsyncFunction, createBaseExpect(allSyncAssertions, allAsyncAssertions, 'async'), { it: createExpectItAsync(expectAsyncFunction) });
|
|
226
|
-
return {
|
|
227
|
-
expect,
|
|
228
|
-
expectAsync,
|
|
229
|
-
get use() {
|
|
230
|
-
return createUse(allSyncAssertions, allAsyncAssertions);
|
|
231
|
-
},
|
|
232
|
-
};
|
|
233
|
-
};
|
|
234
|
-
return use;
|
|
235
|
-
};
|
|
236
|
-
//# sourceMappingURL=use.js.map
|
package/dist/use.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use.js","sourceRoot":"","sources":["../src/use.ts"],"names":[],"mappings":"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"}
|