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
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This namespace contains all of <span class="bupkis">BUPKIS</span>' built-in
|
|
3
|
-
* assertions.
|
|
4
|
-
*
|
|
5
|
-
* Each implements {@link bupkis!types.Assertion | Assertion}. While these
|
|
6
|
-
* contain example usage, it may be more helpful to refer to the [Assertions
|
|
7
|
-
* Reference](/assertions); these are exposed for those building on top of <span
|
|
8
|
-
* class="bupkis">BUPKIS</span>.
|
|
9
|
-
*
|
|
10
|
-
* @packageDocumentation
|
|
11
|
-
*/
|
|
12
|
-
export * from "./async-parametric.js";
|
|
13
|
-
export * from "./async.js";
|
|
14
|
-
export * from "./snapshot.js";
|
|
15
|
-
export * from "./sync-basic.js";
|
|
16
|
-
export * from "./sync-collection.js";
|
|
17
|
-
export * from "./sync-date.js";
|
|
18
|
-
export * from "./sync-esoteric.js";
|
|
19
|
-
export * from "./sync-parametric.js";
|
|
20
|
-
export * from "./sync.js";
|
|
21
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/assertion/impl/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,sCAAsC;AACtC,2BAA2B;AAC3B,8BAA8B;AAC9B,gCAAgC;AAChC,qCAAqC;AACrC,+BAA+B;AAC/B,mCAAmC;AACnC,qCAAqC;AACrC,0BAA0B"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This namespace contains all of <span class="bupkis">BUPKIS</span>' built-in
|
|
3
|
-
* assertions.
|
|
4
|
-
*
|
|
5
|
-
* Each implements {@link bupkis!types.Assertion | Assertion}. While these
|
|
6
|
-
* contain example usage, it may be more helpful to refer to the [Assertions
|
|
7
|
-
* Reference](/assertions); these are exposed for those building on top of <span
|
|
8
|
-
* class="bupkis">BUPKIS</span>.
|
|
9
|
-
*
|
|
10
|
-
* @packageDocumentation
|
|
11
|
-
*/
|
|
12
|
-
export * from "./async-parametric.js";
|
|
13
|
-
export * from "./async.js";
|
|
14
|
-
export * from "./snapshot.js";
|
|
15
|
-
export * from "./sync-basic.js";
|
|
16
|
-
export * from "./sync-collection.js";
|
|
17
|
-
export * from "./sync-date.js";
|
|
18
|
-
export * from "./sync-esoteric.js";
|
|
19
|
-
export * from "./sync-parametric.js";
|
|
20
|
-
export * from "./sync.js";
|
|
21
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/assertion/impl/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,sCAAsC;AACtC,2BAA2B;AAC3B,8BAA8B;AAC9B,gCAAgC;AAChC,qCAAqC;AACrC,+BAA+B;AAC/B,mCAAmC;AACnC,qCAAqC;AACrC,0BAA0B"}
|
|
@@ -1,297 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Utility functions for working with sync and async iterables/iterators.
|
|
4
|
-
*
|
|
5
|
-
* These helpers normalize the various forms of iterables (arrays, generators,
|
|
6
|
-
* streams, raw iterators) into a consistent iterator interface for use in
|
|
7
|
-
* assertions.
|
|
8
|
-
*
|
|
9
|
-
* @module assertion/impl/iteration-util
|
|
10
|
-
* @internal
|
|
11
|
-
*/
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.toAsyncIterator = exports.iterateFullyAsync = exports.lastAsync = exports.firstAsync = exports.countAsync = exports.collectAsync = exports.toIterator = exports.iterateFullySync = exports.lastSync = exports.firstSync = exports.countSync = exports.collectSync = void 0;
|
|
14
|
-
const { asyncIterator: asyncIteratorSymbol, iterator: iteratorSymbol } = Symbol;
|
|
15
|
-
// =============================================================================
|
|
16
|
-
// Sync Iteration Helpers
|
|
17
|
-
// =============================================================================
|
|
18
|
-
/**
|
|
19
|
-
* Collects all values from an iterable/iterator into an array.
|
|
20
|
-
*
|
|
21
|
-
* @function
|
|
22
|
-
* @param source - An iterable or iterator to collect from
|
|
23
|
-
* @returns Array containing all yielded values
|
|
24
|
-
* @internal
|
|
25
|
-
*/
|
|
26
|
-
const collectSync = (source) => {
|
|
27
|
-
const result = [];
|
|
28
|
-
const iterator = (0, exports.toIterator)(source);
|
|
29
|
-
let next = iterator.next();
|
|
30
|
-
while (!next.done) {
|
|
31
|
-
result.push(next.value);
|
|
32
|
-
next = iterator.next();
|
|
33
|
-
}
|
|
34
|
-
return result;
|
|
35
|
-
};
|
|
36
|
-
exports.collectSync = collectSync;
|
|
37
|
-
/**
|
|
38
|
-
* Counts items yielded by an iterable/iterator.
|
|
39
|
-
*
|
|
40
|
-
* Note: This fully consumes the iterator.
|
|
41
|
-
*
|
|
42
|
-
* @function
|
|
43
|
-
* @param source - An iterable or iterator to count
|
|
44
|
-
* @returns The number of items yielded
|
|
45
|
-
* @internal
|
|
46
|
-
*/
|
|
47
|
-
const countSync = (source) => {
|
|
48
|
-
let count = 0;
|
|
49
|
-
const iterator = (0, exports.toIterator)(source);
|
|
50
|
-
while (!iterator.next().done) {
|
|
51
|
-
count++;
|
|
52
|
-
}
|
|
53
|
-
return count;
|
|
54
|
-
};
|
|
55
|
-
exports.countSync = countSync;
|
|
56
|
-
/**
|
|
57
|
-
* Gets the first value from an iterable/iterator.
|
|
58
|
-
*
|
|
59
|
-
* @function
|
|
60
|
-
* @param source - An iterable or iterator
|
|
61
|
-
* @returns The first yielded value, or undefined if empty
|
|
62
|
-
* @internal
|
|
63
|
-
*/
|
|
64
|
-
const firstSync = (source) => {
|
|
65
|
-
const iterator = (0, exports.toIterator)(source);
|
|
66
|
-
const next = iterator.next();
|
|
67
|
-
return next.done ? undefined : next.value;
|
|
68
|
-
};
|
|
69
|
-
exports.firstSync = firstSync;
|
|
70
|
-
/**
|
|
71
|
-
* Gets the last value from an iterable/iterator.
|
|
72
|
-
*
|
|
73
|
-
* Note: This fully consumes the iterator.
|
|
74
|
-
*
|
|
75
|
-
* @function
|
|
76
|
-
* @param source - An iterable or iterator
|
|
77
|
-
* @returns The last yielded value, or undefined if empty
|
|
78
|
-
* @internal
|
|
79
|
-
*/
|
|
80
|
-
const lastSync = (source) => {
|
|
81
|
-
const iterator = (0, exports.toIterator)(source);
|
|
82
|
-
let lastValue;
|
|
83
|
-
let hasValue = false;
|
|
84
|
-
let next = iterator.next();
|
|
85
|
-
while (!next.done) {
|
|
86
|
-
lastValue = next.value;
|
|
87
|
-
hasValue = true;
|
|
88
|
-
next = iterator.next();
|
|
89
|
-
}
|
|
90
|
-
return hasValue ? lastValue : undefined;
|
|
91
|
-
};
|
|
92
|
-
exports.lastSync = lastSync;
|
|
93
|
-
/**
|
|
94
|
-
* Iterates fully and returns metadata about the iteration.
|
|
95
|
-
*
|
|
96
|
-
* @function
|
|
97
|
-
* @param source - An iterable or iterator
|
|
98
|
-
* @returns Iteration result with count and last value
|
|
99
|
-
* @internal
|
|
100
|
-
*/
|
|
101
|
-
const iterateFullySync = (source) => {
|
|
102
|
-
const iterator = (0, exports.toIterator)(source);
|
|
103
|
-
let count = 0;
|
|
104
|
-
let lastValue;
|
|
105
|
-
let hasValue = false;
|
|
106
|
-
let next = iterator.next();
|
|
107
|
-
while (!next.done) {
|
|
108
|
-
lastValue = next.value;
|
|
109
|
-
hasValue = true;
|
|
110
|
-
count++;
|
|
111
|
-
next = iterator.next();
|
|
112
|
-
}
|
|
113
|
-
return { count, hasValue, lastValue };
|
|
114
|
-
};
|
|
115
|
-
exports.iterateFullySync = iterateFullySync;
|
|
116
|
-
/**
|
|
117
|
-
* Normalizes an iterable or iterator to an iterator.
|
|
118
|
-
*
|
|
119
|
-
* If the source has `Symbol.iterator`, calls it to get an iterator. Otherwise,
|
|
120
|
-
* assumes the source is already an iterator.
|
|
121
|
-
*
|
|
122
|
-
* @function
|
|
123
|
-
* @param source - An iterable or iterator
|
|
124
|
-
* @returns An iterator
|
|
125
|
-
* @internal
|
|
126
|
-
*/
|
|
127
|
-
const toIterator = (source) => {
|
|
128
|
-
if (isIterable(source)) {
|
|
129
|
-
return source[iteratorSymbol]();
|
|
130
|
-
}
|
|
131
|
-
return source;
|
|
132
|
-
};
|
|
133
|
-
exports.toIterator = toIterator;
|
|
134
|
-
// =============================================================================
|
|
135
|
-
// Async Iteration Helpers
|
|
136
|
-
// =============================================================================
|
|
137
|
-
/**
|
|
138
|
-
* Collects all values from an async iterable/iterator into an array.
|
|
139
|
-
*
|
|
140
|
-
* @function
|
|
141
|
-
* @param source - An async iterable, async iterator, or sync iterable
|
|
142
|
-
* @returns Promise resolving to array of all yielded values
|
|
143
|
-
* @internal
|
|
144
|
-
*/
|
|
145
|
-
const collectAsync = async (source) => {
|
|
146
|
-
const result = [];
|
|
147
|
-
const iterator = (0, exports.toAsyncIterator)(source);
|
|
148
|
-
let next = await iterator.next();
|
|
149
|
-
while (!next.done) {
|
|
150
|
-
result.push(next.value);
|
|
151
|
-
next = await iterator.next();
|
|
152
|
-
}
|
|
153
|
-
return result;
|
|
154
|
-
};
|
|
155
|
-
exports.collectAsync = collectAsync;
|
|
156
|
-
/**
|
|
157
|
-
* Counts items yielded by an async iterable/iterator.
|
|
158
|
-
*
|
|
159
|
-
* Note: This fully consumes the iterator.
|
|
160
|
-
*
|
|
161
|
-
* @function
|
|
162
|
-
* @param source - An async iterable, async iterator, or sync iterable
|
|
163
|
-
* @returns Promise resolving to the number of items yielded
|
|
164
|
-
* @internal
|
|
165
|
-
*/
|
|
166
|
-
const countAsync = async (source) => {
|
|
167
|
-
let count = 0;
|
|
168
|
-
const iterator = (0, exports.toAsyncIterator)(source);
|
|
169
|
-
while (!(await iterator.next()).done) {
|
|
170
|
-
count++;
|
|
171
|
-
}
|
|
172
|
-
return count;
|
|
173
|
-
};
|
|
174
|
-
exports.countAsync = countAsync;
|
|
175
|
-
/**
|
|
176
|
-
* Gets the first value from an async iterable/iterator.
|
|
177
|
-
*
|
|
178
|
-
* @function
|
|
179
|
-
* @param source - An async iterable, async iterator, or sync iterable
|
|
180
|
-
* @returns Promise resolving to the first yielded value, or undefined if empty
|
|
181
|
-
* @internal
|
|
182
|
-
*/
|
|
183
|
-
const firstAsync = async (source) => {
|
|
184
|
-
const iterator = (0, exports.toAsyncIterator)(source);
|
|
185
|
-
const next = await iterator.next();
|
|
186
|
-
return next.done ? undefined : next.value;
|
|
187
|
-
};
|
|
188
|
-
exports.firstAsync = firstAsync;
|
|
189
|
-
/**
|
|
190
|
-
* Gets the last value from an async iterable/iterator.
|
|
191
|
-
*
|
|
192
|
-
* Note: This fully consumes the iterator.
|
|
193
|
-
*
|
|
194
|
-
* @function
|
|
195
|
-
* @param source - An async iterable, async iterator, or sync iterable
|
|
196
|
-
* @returns Promise resolving to the last yielded value, or undefined if empty
|
|
197
|
-
* @internal
|
|
198
|
-
*/
|
|
199
|
-
const lastAsync = async (source) => {
|
|
200
|
-
const iterator = (0, exports.toAsyncIterator)(source);
|
|
201
|
-
let lastValue;
|
|
202
|
-
let hasValue = false;
|
|
203
|
-
let next = await iterator.next();
|
|
204
|
-
while (!next.done) {
|
|
205
|
-
lastValue = next.value;
|
|
206
|
-
hasValue = true;
|
|
207
|
-
next = await iterator.next();
|
|
208
|
-
}
|
|
209
|
-
return hasValue ? lastValue : undefined;
|
|
210
|
-
};
|
|
211
|
-
exports.lastAsync = lastAsync;
|
|
212
|
-
/**
|
|
213
|
-
* Iterates fully and returns metadata about the async iteration.
|
|
214
|
-
*
|
|
215
|
-
* Unlike the sync version, this catches errors during iteration and returns
|
|
216
|
-
* them in the result, allowing assertions to check for expected failures.
|
|
217
|
-
*
|
|
218
|
-
* @function
|
|
219
|
-
* @param source - An async iterable, async iterator, or sync iterable
|
|
220
|
-
* @returns Promise resolving to iteration result with count, last value, and
|
|
221
|
-
* error info
|
|
222
|
-
* @internal
|
|
223
|
-
*/
|
|
224
|
-
const iterateFullyAsync = async (source) => {
|
|
225
|
-
const iterator = (0, exports.toAsyncIterator)(source);
|
|
226
|
-
let count = 0;
|
|
227
|
-
let lastValue;
|
|
228
|
-
let hasValue = false;
|
|
229
|
-
try {
|
|
230
|
-
let next = await iterator.next();
|
|
231
|
-
while (!next.done) {
|
|
232
|
-
lastValue = next.value;
|
|
233
|
-
hasValue = true;
|
|
234
|
-
count++;
|
|
235
|
-
next = await iterator.next();
|
|
236
|
-
}
|
|
237
|
-
return { completed: true, count, hasValue, lastValue };
|
|
238
|
-
}
|
|
239
|
-
catch (error) {
|
|
240
|
-
return { completed: false, count, error, hasValue, lastValue };
|
|
241
|
-
}
|
|
242
|
-
};
|
|
243
|
-
exports.iterateFullyAsync = iterateFullyAsync;
|
|
244
|
-
/**
|
|
245
|
-
* Normalizes an async iterable/iterator to an async iterator. Also handles sync
|
|
246
|
-
* iterables for convenience.
|
|
247
|
-
*
|
|
248
|
-
* @function
|
|
249
|
-
* @param source - An async iterable, async iterator, or sync iterable
|
|
250
|
-
* @returns An async iterator
|
|
251
|
-
* @internal
|
|
252
|
-
*/
|
|
253
|
-
const toAsyncIterator = (source) => {
|
|
254
|
-
// Check for async iterable first (Symbol.asyncIterator)
|
|
255
|
-
if (isAsyncIterable(source)) {
|
|
256
|
-
return source[asyncIteratorSymbol]();
|
|
257
|
-
}
|
|
258
|
-
// Check for sync iterable (Symbol.iterator) - wrap as async
|
|
259
|
-
if (isIterable(source)) {
|
|
260
|
-
const syncIterator = source[iteratorSymbol]();
|
|
261
|
-
return {
|
|
262
|
-
async next() {
|
|
263
|
-
return syncIterator.next();
|
|
264
|
-
},
|
|
265
|
-
};
|
|
266
|
-
}
|
|
267
|
-
// Assume it's already an async iterator (has next() method)
|
|
268
|
-
return source;
|
|
269
|
-
};
|
|
270
|
-
exports.toAsyncIterator = toAsyncIterator;
|
|
271
|
-
// =============================================================================
|
|
272
|
-
// Internal Helpers
|
|
273
|
-
// =============================================================================
|
|
274
|
-
/**
|
|
275
|
-
* Checks if a value is async iterable (has Symbol.asyncIterator).
|
|
276
|
-
*
|
|
277
|
-
* @function
|
|
278
|
-
* @param value - Value to check
|
|
279
|
-
* @returns True if the value is async iterable
|
|
280
|
-
* @internal
|
|
281
|
-
*/
|
|
282
|
-
const isAsyncIterable = (value) => value != null &&
|
|
283
|
-
typeof value[asyncIteratorSymbol] === 'function';
|
|
284
|
-
/**
|
|
285
|
-
* Checks if a value is iterable (has Symbol.iterator).
|
|
286
|
-
*
|
|
287
|
-
* Works with both objects and primitives (like strings).
|
|
288
|
-
*
|
|
289
|
-
* @function
|
|
290
|
-
* @param value - Value to check
|
|
291
|
-
* @returns True if the value is iterable
|
|
292
|
-
* @internal
|
|
293
|
-
*/
|
|
294
|
-
const isIterable = (value) => value != null &&
|
|
295
|
-
typeof value[iteratorSymbol] ===
|
|
296
|
-
'function';
|
|
297
|
-
//# sourceMappingURL=iteration-util.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"iteration-util.js","sourceRoot":"","sources":["../../../src/assertion/impl/iteration-util.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Utility functions for working with sync and async iterables/iterators.
|
|
3
|
-
*
|
|
4
|
-
* These helpers normalize the various forms of iterables (arrays, generators,
|
|
5
|
-
* streams, raw iterators) into a consistent iterator interface for use in
|
|
6
|
-
* assertions.
|
|
7
|
-
*
|
|
8
|
-
* @module assertion/impl/iteration-util
|
|
9
|
-
* @internal
|
|
10
|
-
*/
|
|
11
|
-
export {};
|
|
12
|
-
//# sourceMappingURL=iteration-util.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"iteration-util.d.ts","sourceRoot":"","sources":["../../../src/assertion/impl/iteration-util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Utility functions for working with sync and async iterables/iterators.
|
|
3
|
-
*
|
|
4
|
-
* These helpers normalize the various forms of iterables (arrays, generators,
|
|
5
|
-
* streams, raw iterators) into a consistent iterator interface for use in
|
|
6
|
-
* assertions.
|
|
7
|
-
*
|
|
8
|
-
* @module assertion/impl/iteration-util
|
|
9
|
-
* @internal
|
|
10
|
-
*/
|
|
11
|
-
export {};
|
|
12
|
-
//# sourceMappingURL=iteration-util.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"iteration-util.d.ts","sourceRoot":"","sources":["../../../src/assertion/impl/iteration-util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
|
|
@@ -1,282 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Utility functions for working with sync and async iterables/iterators.
|
|
3
|
-
*
|
|
4
|
-
* These helpers normalize the various forms of iterables (arrays, generators,
|
|
5
|
-
* streams, raw iterators) into a consistent iterator interface for use in
|
|
6
|
-
* assertions.
|
|
7
|
-
*
|
|
8
|
-
* @module assertion/impl/iteration-util
|
|
9
|
-
* @internal
|
|
10
|
-
*/
|
|
11
|
-
const { asyncIterator: asyncIteratorSymbol, iterator: iteratorSymbol } = Symbol;
|
|
12
|
-
// =============================================================================
|
|
13
|
-
// Sync Iteration Helpers
|
|
14
|
-
// =============================================================================
|
|
15
|
-
/**
|
|
16
|
-
* Collects all values from an iterable/iterator into an array.
|
|
17
|
-
*
|
|
18
|
-
* @function
|
|
19
|
-
* @param source - An iterable or iterator to collect from
|
|
20
|
-
* @returns Array containing all yielded values
|
|
21
|
-
* @internal
|
|
22
|
-
*/
|
|
23
|
-
export const collectSync = (source) => {
|
|
24
|
-
const result = [];
|
|
25
|
-
const iterator = toIterator(source);
|
|
26
|
-
let next = iterator.next();
|
|
27
|
-
while (!next.done) {
|
|
28
|
-
result.push(next.value);
|
|
29
|
-
next = iterator.next();
|
|
30
|
-
}
|
|
31
|
-
return result;
|
|
32
|
-
};
|
|
33
|
-
/**
|
|
34
|
-
* Counts items yielded by an iterable/iterator.
|
|
35
|
-
*
|
|
36
|
-
* Note: This fully consumes the iterator.
|
|
37
|
-
*
|
|
38
|
-
* @function
|
|
39
|
-
* @param source - An iterable or iterator to count
|
|
40
|
-
* @returns The number of items yielded
|
|
41
|
-
* @internal
|
|
42
|
-
*/
|
|
43
|
-
export const countSync = (source) => {
|
|
44
|
-
let count = 0;
|
|
45
|
-
const iterator = toIterator(source);
|
|
46
|
-
while (!iterator.next().done) {
|
|
47
|
-
count++;
|
|
48
|
-
}
|
|
49
|
-
return count;
|
|
50
|
-
};
|
|
51
|
-
/**
|
|
52
|
-
* Gets the first value from an iterable/iterator.
|
|
53
|
-
*
|
|
54
|
-
* @function
|
|
55
|
-
* @param source - An iterable or iterator
|
|
56
|
-
* @returns The first yielded value, or undefined if empty
|
|
57
|
-
* @internal
|
|
58
|
-
*/
|
|
59
|
-
export const firstSync = (source) => {
|
|
60
|
-
const iterator = toIterator(source);
|
|
61
|
-
const next = iterator.next();
|
|
62
|
-
return next.done ? undefined : next.value;
|
|
63
|
-
};
|
|
64
|
-
/**
|
|
65
|
-
* Gets the last value from an iterable/iterator.
|
|
66
|
-
*
|
|
67
|
-
* Note: This fully consumes the iterator.
|
|
68
|
-
*
|
|
69
|
-
* @function
|
|
70
|
-
* @param source - An iterable or iterator
|
|
71
|
-
* @returns The last yielded value, or undefined if empty
|
|
72
|
-
* @internal
|
|
73
|
-
*/
|
|
74
|
-
export const lastSync = (source) => {
|
|
75
|
-
const iterator = toIterator(source);
|
|
76
|
-
let lastValue;
|
|
77
|
-
let hasValue = false;
|
|
78
|
-
let next = iterator.next();
|
|
79
|
-
while (!next.done) {
|
|
80
|
-
lastValue = next.value;
|
|
81
|
-
hasValue = true;
|
|
82
|
-
next = iterator.next();
|
|
83
|
-
}
|
|
84
|
-
return hasValue ? lastValue : undefined;
|
|
85
|
-
};
|
|
86
|
-
/**
|
|
87
|
-
* Iterates fully and returns metadata about the iteration.
|
|
88
|
-
*
|
|
89
|
-
* @function
|
|
90
|
-
* @param source - An iterable or iterator
|
|
91
|
-
* @returns Iteration result with count and last value
|
|
92
|
-
* @internal
|
|
93
|
-
*/
|
|
94
|
-
export const iterateFullySync = (source) => {
|
|
95
|
-
const iterator = toIterator(source);
|
|
96
|
-
let count = 0;
|
|
97
|
-
let lastValue;
|
|
98
|
-
let hasValue = false;
|
|
99
|
-
let next = iterator.next();
|
|
100
|
-
while (!next.done) {
|
|
101
|
-
lastValue = next.value;
|
|
102
|
-
hasValue = true;
|
|
103
|
-
count++;
|
|
104
|
-
next = iterator.next();
|
|
105
|
-
}
|
|
106
|
-
return { count, hasValue, lastValue };
|
|
107
|
-
};
|
|
108
|
-
/**
|
|
109
|
-
* Normalizes an iterable or iterator to an iterator.
|
|
110
|
-
*
|
|
111
|
-
* If the source has `Symbol.iterator`, calls it to get an iterator. Otherwise,
|
|
112
|
-
* assumes the source is already an iterator.
|
|
113
|
-
*
|
|
114
|
-
* @function
|
|
115
|
-
* @param source - An iterable or iterator
|
|
116
|
-
* @returns An iterator
|
|
117
|
-
* @internal
|
|
118
|
-
*/
|
|
119
|
-
export const toIterator = (source) => {
|
|
120
|
-
if (isIterable(source)) {
|
|
121
|
-
return source[iteratorSymbol]();
|
|
122
|
-
}
|
|
123
|
-
return source;
|
|
124
|
-
};
|
|
125
|
-
// =============================================================================
|
|
126
|
-
// Async Iteration Helpers
|
|
127
|
-
// =============================================================================
|
|
128
|
-
/**
|
|
129
|
-
* Collects all values from an async iterable/iterator into an array.
|
|
130
|
-
*
|
|
131
|
-
* @function
|
|
132
|
-
* @param source - An async iterable, async iterator, or sync iterable
|
|
133
|
-
* @returns Promise resolving to array of all yielded values
|
|
134
|
-
* @internal
|
|
135
|
-
*/
|
|
136
|
-
export const collectAsync = async (source) => {
|
|
137
|
-
const result = [];
|
|
138
|
-
const iterator = toAsyncIterator(source);
|
|
139
|
-
let next = await iterator.next();
|
|
140
|
-
while (!next.done) {
|
|
141
|
-
result.push(next.value);
|
|
142
|
-
next = await iterator.next();
|
|
143
|
-
}
|
|
144
|
-
return result;
|
|
145
|
-
};
|
|
146
|
-
/**
|
|
147
|
-
* Counts items yielded by an async iterable/iterator.
|
|
148
|
-
*
|
|
149
|
-
* Note: This fully consumes the iterator.
|
|
150
|
-
*
|
|
151
|
-
* @function
|
|
152
|
-
* @param source - An async iterable, async iterator, or sync iterable
|
|
153
|
-
* @returns Promise resolving to the number of items yielded
|
|
154
|
-
* @internal
|
|
155
|
-
*/
|
|
156
|
-
export const countAsync = async (source) => {
|
|
157
|
-
let count = 0;
|
|
158
|
-
const iterator = toAsyncIterator(source);
|
|
159
|
-
while (!(await iterator.next()).done) {
|
|
160
|
-
count++;
|
|
161
|
-
}
|
|
162
|
-
return count;
|
|
163
|
-
};
|
|
164
|
-
/**
|
|
165
|
-
* Gets the first value from an async iterable/iterator.
|
|
166
|
-
*
|
|
167
|
-
* @function
|
|
168
|
-
* @param source - An async iterable, async iterator, or sync iterable
|
|
169
|
-
* @returns Promise resolving to the first yielded value, or undefined if empty
|
|
170
|
-
* @internal
|
|
171
|
-
*/
|
|
172
|
-
export const firstAsync = async (source) => {
|
|
173
|
-
const iterator = toAsyncIterator(source);
|
|
174
|
-
const next = await iterator.next();
|
|
175
|
-
return next.done ? undefined : next.value;
|
|
176
|
-
};
|
|
177
|
-
/**
|
|
178
|
-
* Gets the last value from an async iterable/iterator.
|
|
179
|
-
*
|
|
180
|
-
* Note: This fully consumes the iterator.
|
|
181
|
-
*
|
|
182
|
-
* @function
|
|
183
|
-
* @param source - An async iterable, async iterator, or sync iterable
|
|
184
|
-
* @returns Promise resolving to the last yielded value, or undefined if empty
|
|
185
|
-
* @internal
|
|
186
|
-
*/
|
|
187
|
-
export const lastAsync = async (source) => {
|
|
188
|
-
const iterator = toAsyncIterator(source);
|
|
189
|
-
let lastValue;
|
|
190
|
-
let hasValue = false;
|
|
191
|
-
let next = await iterator.next();
|
|
192
|
-
while (!next.done) {
|
|
193
|
-
lastValue = next.value;
|
|
194
|
-
hasValue = true;
|
|
195
|
-
next = await iterator.next();
|
|
196
|
-
}
|
|
197
|
-
return hasValue ? lastValue : undefined;
|
|
198
|
-
};
|
|
199
|
-
/**
|
|
200
|
-
* Iterates fully and returns metadata about the async iteration.
|
|
201
|
-
*
|
|
202
|
-
* Unlike the sync version, this catches errors during iteration and returns
|
|
203
|
-
* them in the result, allowing assertions to check for expected failures.
|
|
204
|
-
*
|
|
205
|
-
* @function
|
|
206
|
-
* @param source - An async iterable, async iterator, or sync iterable
|
|
207
|
-
* @returns Promise resolving to iteration result with count, last value, and
|
|
208
|
-
* error info
|
|
209
|
-
* @internal
|
|
210
|
-
*/
|
|
211
|
-
export const iterateFullyAsync = async (source) => {
|
|
212
|
-
const iterator = toAsyncIterator(source);
|
|
213
|
-
let count = 0;
|
|
214
|
-
let lastValue;
|
|
215
|
-
let hasValue = false;
|
|
216
|
-
try {
|
|
217
|
-
let next = await iterator.next();
|
|
218
|
-
while (!next.done) {
|
|
219
|
-
lastValue = next.value;
|
|
220
|
-
hasValue = true;
|
|
221
|
-
count++;
|
|
222
|
-
next = await iterator.next();
|
|
223
|
-
}
|
|
224
|
-
return { completed: true, count, hasValue, lastValue };
|
|
225
|
-
}
|
|
226
|
-
catch (error) {
|
|
227
|
-
return { completed: false, count, error, hasValue, lastValue };
|
|
228
|
-
}
|
|
229
|
-
};
|
|
230
|
-
/**
|
|
231
|
-
* Normalizes an async iterable/iterator to an async iterator. Also handles sync
|
|
232
|
-
* iterables for convenience.
|
|
233
|
-
*
|
|
234
|
-
* @function
|
|
235
|
-
* @param source - An async iterable, async iterator, or sync iterable
|
|
236
|
-
* @returns An async iterator
|
|
237
|
-
* @internal
|
|
238
|
-
*/
|
|
239
|
-
export const toAsyncIterator = (source) => {
|
|
240
|
-
// Check for async iterable first (Symbol.asyncIterator)
|
|
241
|
-
if (isAsyncIterable(source)) {
|
|
242
|
-
return source[asyncIteratorSymbol]();
|
|
243
|
-
}
|
|
244
|
-
// Check for sync iterable (Symbol.iterator) - wrap as async
|
|
245
|
-
if (isIterable(source)) {
|
|
246
|
-
const syncIterator = source[iteratorSymbol]();
|
|
247
|
-
return {
|
|
248
|
-
async next() {
|
|
249
|
-
return syncIterator.next();
|
|
250
|
-
},
|
|
251
|
-
};
|
|
252
|
-
}
|
|
253
|
-
// Assume it's already an async iterator (has next() method)
|
|
254
|
-
return source;
|
|
255
|
-
};
|
|
256
|
-
// =============================================================================
|
|
257
|
-
// Internal Helpers
|
|
258
|
-
// =============================================================================
|
|
259
|
-
/**
|
|
260
|
-
* Checks if a value is async iterable (has Symbol.asyncIterator).
|
|
261
|
-
*
|
|
262
|
-
* @function
|
|
263
|
-
* @param value - Value to check
|
|
264
|
-
* @returns True if the value is async iterable
|
|
265
|
-
* @internal
|
|
266
|
-
*/
|
|
267
|
-
const isAsyncIterable = (value) => value != null &&
|
|
268
|
-
typeof value[asyncIteratorSymbol] === 'function';
|
|
269
|
-
/**
|
|
270
|
-
* Checks if a value is iterable (has Symbol.iterator).
|
|
271
|
-
*
|
|
272
|
-
* Works with both objects and primitives (like strings).
|
|
273
|
-
*
|
|
274
|
-
* @function
|
|
275
|
-
* @param value - Value to check
|
|
276
|
-
* @returns True if the value is iterable
|
|
277
|
-
* @internal
|
|
278
|
-
*/
|
|
279
|
-
const isIterable = (value) => value != null &&
|
|
280
|
-
typeof value[iteratorSymbol] ===
|
|
281
|
-
'function';
|
|
282
|
-
//# sourceMappingURL=iteration-util.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"iteration-util.js","sourceRoot":"","sources":["../../../src/assertion/impl/iteration-util.ts"],"names":[],"mappings":"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"}
|