bupkis 0.11.1 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/CHANGELOG.md +68 -91
  2. package/dist/commonjs/assertion/assertion-async.d.ts.map +1 -1
  3. package/dist/commonjs/assertion/assertion-async.js +32 -9
  4. package/dist/commonjs/assertion/assertion-async.js.map +1 -1
  5. package/dist/commonjs/assertion/assertion-standard-schema-async.d.ts +64 -0
  6. package/dist/commonjs/assertion/assertion-standard-schema-async.d.ts.map +1 -0
  7. package/dist/commonjs/assertion/assertion-standard-schema-async.js +155 -0
  8. package/dist/commonjs/assertion/assertion-standard-schema-async.js.map +1 -0
  9. package/dist/commonjs/assertion/assertion-standard-schema-sync.d.ts +64 -0
  10. package/dist/commonjs/assertion/assertion-standard-schema-sync.d.ts.map +1 -0
  11. package/dist/commonjs/assertion/assertion-standard-schema-sync.js +164 -0
  12. package/dist/commonjs/assertion/assertion-standard-schema-sync.js.map +1 -0
  13. package/dist/commonjs/assertion/assertion-sync.d.ts.map +1 -1
  14. package/dist/commonjs/assertion/assertion-sync.js +38 -5
  15. package/dist/commonjs/assertion/assertion-sync.js.map +1 -1
  16. package/dist/commonjs/assertion/assertion-types.d.ts +82 -14
  17. package/dist/commonjs/assertion/assertion-types.d.ts.map +1 -1
  18. package/dist/commonjs/assertion/assertion.d.ts +11 -0
  19. package/dist/commonjs/assertion/assertion.d.ts.map +1 -1
  20. package/dist/commonjs/assertion/assertion.js +30 -0
  21. package/dist/commonjs/assertion/assertion.js.map +1 -1
  22. package/dist/commonjs/assertion/create.d.ts.map +1 -1
  23. package/dist/commonjs/assertion/create.js +10 -2
  24. package/dist/commonjs/assertion/create.js.map +1 -1
  25. package/dist/commonjs/assertion/impl/sync-basic.d.ts +37 -37
  26. package/dist/commonjs/assertion/impl/sync-basic.d.ts.map +1 -1
  27. package/dist/commonjs/assertion/impl/sync-collection.d.ts +3 -3
  28. package/dist/commonjs/assertion/impl/sync-collection.d.ts.map +1 -1
  29. package/dist/commonjs/assertion/impl/sync-date.d.ts +1 -1
  30. package/dist/commonjs/assertion/impl/sync-date.d.ts.map +1 -1
  31. package/dist/commonjs/assertion/impl/sync-esoteric.d.ts +3 -3
  32. package/dist/commonjs/assertion/impl/sync-esoteric.d.ts.map +1 -1
  33. package/dist/commonjs/assertion/impl/sync-parametric.d.ts +1 -1
  34. package/dist/commonjs/assertion/impl/sync.d.ts +18 -18
  35. package/dist/commonjs/assertion/impl/sync.d.ts.map +1 -1
  36. package/dist/commonjs/assertion/slotify.js +25 -7
  37. package/dist/commonjs/assertion/slotify.js.map +1 -1
  38. package/dist/commonjs/bootstrap.d.ts +9 -9
  39. package/dist/commonjs/diff.d.ts.map +1 -1
  40. package/dist/commonjs/diff.js +14 -21
  41. package/dist/commonjs/diff.js.map +1 -1
  42. package/dist/commonjs/guards.d.ts +16 -0
  43. package/dist/commonjs/guards.d.ts.map +1 -1
  44. package/dist/commonjs/guards.js +27 -1
  45. package/dist/commonjs/guards.js.map +1 -1
  46. package/dist/commonjs/index.d.ts +22 -15
  47. package/dist/commonjs/index.d.ts.map +1 -1
  48. package/dist/commonjs/index.js.map +1 -1
  49. package/dist/commonjs/internal-schema.d.ts.map +1 -1
  50. package/dist/commonjs/internal-schema.js +30 -12
  51. package/dist/commonjs/internal-schema.js.map +1 -1
  52. package/dist/commonjs/standard-schema.d.ts +192 -0
  53. package/dist/commonjs/standard-schema.d.ts.map +1 -0
  54. package/dist/commonjs/standard-schema.js +13 -0
  55. package/dist/commonjs/standard-schema.js.map +1 -0
  56. package/dist/commonjs/types.d.ts +165 -13
  57. package/dist/commonjs/types.d.ts.map +1 -1
  58. package/dist/esm/assertion/assertion-async.d.ts.map +1 -1
  59. package/dist/esm/assertion/assertion-async.js +33 -10
  60. package/dist/esm/assertion/assertion-async.js.map +1 -1
  61. package/dist/esm/assertion/assertion-standard-schema-async.d.ts +64 -0
  62. package/dist/esm/assertion/assertion-standard-schema-async.d.ts.map +1 -0
  63. package/dist/esm/assertion/assertion-standard-schema-async.js +151 -0
  64. package/dist/esm/assertion/assertion-standard-schema-async.js.map +1 -0
  65. package/dist/esm/assertion/assertion-standard-schema-sync.d.ts +64 -0
  66. package/dist/esm/assertion/assertion-standard-schema-sync.d.ts.map +1 -0
  67. package/dist/esm/assertion/assertion-standard-schema-sync.js +160 -0
  68. package/dist/esm/assertion/assertion-standard-schema-sync.js.map +1 -0
  69. package/dist/esm/assertion/assertion-sync.d.ts.map +1 -1
  70. package/dist/esm/assertion/assertion-sync.js +39 -6
  71. package/dist/esm/assertion/assertion-sync.js.map +1 -1
  72. package/dist/esm/assertion/assertion-types.d.ts +82 -14
  73. package/dist/esm/assertion/assertion-types.d.ts.map +1 -1
  74. package/dist/esm/assertion/assertion.d.ts +11 -0
  75. package/dist/esm/assertion/assertion.d.ts.map +1 -1
  76. package/dist/esm/assertion/assertion.js +30 -0
  77. package/dist/esm/assertion/assertion.js.map +1 -1
  78. package/dist/esm/assertion/create.d.ts.map +1 -1
  79. package/dist/esm/assertion/create.js +11 -3
  80. package/dist/esm/assertion/create.js.map +1 -1
  81. package/dist/esm/assertion/impl/sync-basic.d.ts +37 -37
  82. package/dist/esm/assertion/impl/sync-basic.d.ts.map +1 -1
  83. package/dist/esm/assertion/impl/sync-collection.d.ts +3 -3
  84. package/dist/esm/assertion/impl/sync-collection.d.ts.map +1 -1
  85. package/dist/esm/assertion/impl/sync-date.d.ts +1 -1
  86. package/dist/esm/assertion/impl/sync-date.d.ts.map +1 -1
  87. package/dist/esm/assertion/impl/sync-esoteric.d.ts +3 -3
  88. package/dist/esm/assertion/impl/sync-esoteric.d.ts.map +1 -1
  89. package/dist/esm/assertion/impl/sync-parametric.d.ts +1 -1
  90. package/dist/esm/assertion/impl/sync.d.ts +18 -18
  91. package/dist/esm/assertion/impl/sync.d.ts.map +1 -1
  92. package/dist/esm/assertion/slotify.js +26 -8
  93. package/dist/esm/assertion/slotify.js.map +1 -1
  94. package/dist/esm/bootstrap.d.ts +9 -9
  95. package/dist/esm/diff.d.ts.map +1 -1
  96. package/dist/esm/diff.js +14 -21
  97. package/dist/esm/diff.js.map +1 -1
  98. package/dist/esm/guards.d.ts +16 -0
  99. package/dist/esm/guards.d.ts.map +1 -1
  100. package/dist/esm/guards.js +25 -0
  101. package/dist/esm/guards.js.map +1 -1
  102. package/dist/esm/index.d.ts +22 -15
  103. package/dist/esm/index.d.ts.map +1 -1
  104. package/dist/esm/index.js.map +1 -1
  105. package/dist/esm/internal-schema.d.ts.map +1 -1
  106. package/dist/esm/internal-schema.js +31 -13
  107. package/dist/esm/internal-schema.js.map +1 -1
  108. package/dist/esm/standard-schema.d.ts +192 -0
  109. package/dist/esm/standard-schema.d.ts.map +1 -0
  110. package/dist/esm/standard-schema.js +12 -0
  111. package/dist/esm/standard-schema.js.map +1 -0
  112. package/dist/esm/types.d.ts +165 -13
  113. package/dist/esm/types.d.ts.map +1 -1
  114. package/package.json +26 -18
  115. package/src/assertion/assertion-async.ts +54 -14
  116. package/src/assertion/assertion-standard-schema-async.ts +202 -0
  117. package/src/assertion/assertion-standard-schema-sync.ts +214 -0
  118. package/src/assertion/assertion-sync.ts +65 -10
  119. package/src/assertion/assertion-types.ts +113 -13
  120. package/src/assertion/assertion.ts +40 -0
  121. package/src/assertion/create.ts +11 -5
  122. package/src/assertion/slotify.ts +29 -7
  123. package/src/diff.ts +14 -29
  124. package/src/guards.ts +29 -0
  125. package/src/index.ts +16 -6
  126. package/src/internal-schema.ts +36 -16
  127. package/src/standard-schema.ts +214 -0
  128. package/src/types.ts +176 -14
package/CHANGELOG.md CHANGED
@@ -1,252 +1,229 @@
1
1
  # Changelog
2
2
 
3
- ## [0.11.1](https://github.com/boneskull/bupkis/compare/bupkis-v0.11.0...bupkis-v0.11.1) (2025-10-10)
3
+ ## [0.12.0](https://github.com/boneskull/bupkis/compare/bupkis-v0.11.1...bupkis-v0.12.0) (2025-10-24)
4
+
5
+
6
+ ### Features
7
+
8
+ * add Standard Schema V1 support for validation library interoperability ([d537cf2](https://github.com/boneskull/bupkis/commit/d537cf299e46aa53203bd6890bafbdbdb98cb825))
4
9
 
5
10
 
6
11
  ### Bug Fixes
7
12
 
8
- * **assertions:** remove non-deterministic date assertions ([e1569c3](https://github.com/boneskull/bupkis/commit/e1569c3c85572782e2bfe0bb9ecac89b9f2b4f49)), closes [#146](https://github.com/boneskull/bupkis/issues/146)
13
+ * **diff:** fix diff output for incomparable types ([7ccc041](https://github.com/boneskull/bupkis/commit/7ccc0412a4e5c30a922fddd4b9a20368c3a8f077))
14
+ * **test:** update snapshots ([b5005c1](https://github.com/boneskull/bupkis/commit/b5005c13358dd5ae91fd0b6d09a99b842dfdbc79))
9
15
 
10
- ## [0.11.0](https://github.com/boneskull/bupkis/compare/bupkis-v0.10.6...bupkis-v0.11.0) (2025-10-06)
16
+ ## [0.11.1](https://github.com/boneskull/bupkis/compare/bupkis-v0.11.0...bupkis-v0.11.1) (2025-10-10)
11
17
 
18
+ ### Bug Fixes
12
19
 
13
- ### Features
20
+ - **assertions:** remove non-deterministic date assertions ([e1569c3](https://github.com/boneskull/bupkis/commit/e1569c3c85572782e2bfe0bb9ecac89b9f2b4f49)), closes [#146](https://github.com/boneskull/bupkis/issues/146)
14
21
 
15
- * **assertions:** add some more aliases; cleanup ([a751cdb](https://github.com/boneskull/bupkis/commit/a751cdb1462ec77a8e17fc52c4d5434ca3197535))
16
- * **schema:** add more schemas ([0b0c292](https://github.com/boneskull/bupkis/commit/0b0c2928a29c4615433e537d34637bdb1cd44af9))
22
+ ## [0.11.0](https://github.com/boneskull/bupkis/compare/bupkis-v0.10.6...bupkis-v0.11.0) (2025-10-06)
23
+
24
+ ### Features
17
25
 
26
+ - **assertions:** add some more aliases; cleanup ([a751cdb](https://github.com/boneskull/bupkis/commit/a751cdb1462ec77a8e17fc52c4d5434ca3197535))
27
+ - **schema:** add more schemas ([0b0c292](https://github.com/boneskull/bupkis/commit/0b0c2928a29c4615433e537d34637bdb1cd44af9))
18
28
 
19
29
  ### Bug Fixes
20
30
 
21
- * **deps:** unpin type-fest ([e621d19](https://github.com/boneskull/bupkis/commit/e621d1982c371581206d49ec979b45eefddec125))
31
+ - **deps:** unpin type-fest ([e621d19](https://github.com/boneskull/bupkis/commit/e621d1982c371581206d49ec979b45eefddec125))
22
32
 
23
33
  ## [0.10.6](https://github.com/boneskull/bupkis/compare/bupkis-v0.10.5...bupkis-v0.10.6) (2025-10-06)
24
34
 
25
-
26
35
  ### Bug Fixes
27
36
 
28
- * **deps:** move type-fest to dependencies ([7db2b81](https://github.com/boneskull/bupkis/commit/7db2b81fa14d2cefdcc57835706e694fa0794830))
37
+ - **deps:** move type-fest to dependencies ([7db2b81](https://github.com/boneskull/bupkis/commit/7db2b81fa14d2cefdcc57835706e694fa0794830))
29
38
 
30
39
  ## [0.10.5](https://github.com/boneskull/bupkis/compare/bupkis-v0.10.4...bupkis-v0.10.5) (2025-10-05)
31
40
 
32
-
33
41
  ### Bug Fixes
34
42
 
35
- * **assertions:** better assertion error messages for regexes ([956c985](https://github.com/boneskull/bupkis/commit/956c9858b4a7c3c004fbe665cff2f1be1492b9c8))
43
+ - **assertions:** better assertion error messages for regexes ([956c985](https://github.com/boneskull/bupkis/commit/956c9858b4a7c3c004fbe665cff2f1be1492b9c8))
36
44
 
37
45
  ## [0.10.4](https://github.com/boneskull/bupkis/compare/bupkis-v0.10.3...bupkis-v0.10.4) (2025-10-05)
38
46
 
39
-
40
47
  ### Bug Fixes
41
48
 
42
- * **ci:** re-enable token-based publishing ([f2183ee](https://github.com/boneskull/bupkis/commit/f2183eeb71068929e6794add5a763625d62a8717))
49
+ - **ci:** re-enable token-based publishing ([f2183ee](https://github.com/boneskull/bupkis/commit/f2183eeb71068929e6794add5a763625d62a8717))
43
50
 
44
51
  ## [0.10.3](https://github.com/boneskull/bupkis/compare/bupkis-v0.10.2...bupkis-v0.10.3) (2025-10-05)
45
52
 
46
-
47
53
  ### Bug Fixes
48
54
 
49
- * **assertion:** remove metadata parameter from createAssertion/createAsyncAssertion ([3fb6681](https://github.com/boneskull/bupkis/commit/3fb6681cccc3e9af17e2f6f4071fb0b608ed85a2))
50
- * **assertions:** error-reporting fixes for date assertions ([a9bcb4d](https://github.com/boneskull/bupkis/commit/a9bcb4d36abafa3a4dec4b5e9a1ba45c64bd7f4c))
51
- * **assertions:** update weekend/weekday assertions to use UTC ([7e18155](https://github.com/boneskull/bupkis/commit/7e18155b08ffe4319081822ee6f6d9b9dd038443))
52
- * **schema:** expose datetime-related schemas ([a9bcb4d](https://github.com/boneskull/bupkis/commit/a9bcb4d36abafa3a4dec4b5e9a1ba45c64bd7f4c))
55
+ - **assertion:** remove metadata parameter from createAssertion/createAsyncAssertion ([3fb6681](https://github.com/boneskull/bupkis/commit/3fb6681cccc3e9af17e2f6f4071fb0b608ed85a2))
56
+ - **assertions:** error-reporting fixes for date assertions ([a9bcb4d](https://github.com/boneskull/bupkis/commit/a9bcb4d36abafa3a4dec4b5e9a1ba45c64bd7f4c))
57
+ - **assertions:** update weekend/weekday assertions to use UTC ([7e18155](https://github.com/boneskull/bupkis/commit/7e18155b08ffe4319081822ee6f6d9b9dd038443))
58
+ - **schema:** expose datetime-related schemas ([a9bcb4d](https://github.com/boneskull/bupkis/commit/a9bcb4d36abafa3a4dec4b5e9a1ba45c64bd7f4c))
53
59
 
54
60
  ## [0.10.2](https://github.com/boneskull/bupkis/compare/bupkis-v0.10.1...bupkis-v0.10.2) (2025-10-04)
55
61
 
56
-
57
62
  ### Bug Fixes
58
63
 
59
- * force release ([775efb1](https://github.com/boneskull/bupkis/commit/775efb1e539def520a8a22140f88d0098a426265))
64
+ - force release ([775efb1](https://github.com/boneskull/bupkis/commit/775efb1e539def520a8a22140f88d0098a426265))
60
65
 
61
66
  ## [0.10.1](https://github.com/boneskull/bupkis/compare/bupkis-v0.10.0...bupkis-v0.10.1) (2025-10-04)
62
67
 
63
-
64
68
  ### Bug Fixes
65
69
 
66
- * **assertions:** another fix for handling of conjuncted assertions w/ bare "and" phrases ([fb79b8b](https://github.com/boneskull/bupkis/commit/fb79b8bd0969f3ab71d93fe6ddfcc9b3fab93ff0))
70
+ - **assertions:** another fix for handling of conjuncted assertions w/ bare "and" phrases ([fb79b8b](https://github.com/boneskull/bupkis/commit/fb79b8bd0969f3ab71d93fe6ddfcc9b3fab93ff0))
67
71
 
68
72
  ## [0.10.0](https://github.com/boneskull/bupkis/compare/bupkis-v0.9.0...bupkis-v0.10.0) (2025-10-03)
69
73
 
70
-
71
74
  ### Features
72
75
 
73
- * **assertions:** add more date assertions ([ab8365c](https://github.com/boneskull/bupkis/commit/ab8365cbcf09c9c56fb88d174880c5e72d608f03))
74
-
76
+ - **assertions:** add more date assertions ([ab8365c](https://github.com/boneskull/bupkis/commit/ab8365cbcf09c9c56fb88d174880c5e72d608f03))
75
77
 
76
78
  ### Bug Fixes
77
79
 
78
- * **assertions:** more accurate string representations of assertions ([b78c36a](https://github.com/boneskull/bupkis/commit/b78c36a103f07bb3a06b327231186ef5f34fed82))
79
- * **deps:** update dependency jest-diff to v30.2.0 ([#103](https://github.com/boneskull/bupkis/issues/103)) ([dba6f6f](https://github.com/boneskull/bupkis/commit/dba6f6ff3858c5e5d4351bcaaef7c991145a5252))
80
- * **error:** AssertionErrorOptions fix for @types/node ([7aef073](https://github.com/boneskull/bupkis/commit/7aef0737ac5e2960d63aeacb3e2f7851e23c79ff))
81
- * **expect:** proper handling of assertions containing bare "and" phrases ([0ad9eee](https://github.com/boneskull/bupkis/commit/0ad9eeeac73173cb3fc5c05173a22b8baed51efe))
80
+ - **assertions:** more accurate string representations of assertions ([b78c36a](https://github.com/boneskull/bupkis/commit/b78c36a103f07bb3a06b327231186ef5f34fed82))
81
+ - **deps:** update dependency jest-diff to v30.2.0 ([#103](https://github.com/boneskull/bupkis/issues/103)) ([dba6f6f](https://github.com/boneskull/bupkis/commit/dba6f6ff3858c5e5d4351bcaaef7c991145a5252))
82
+ - **error:** AssertionErrorOptions fix for @types/node ([7aef073](https://github.com/boneskull/bupkis/commit/7aef0737ac5e2960d63aeacb3e2f7851e23c79ff))
83
+ - **expect:** proper handling of assertions containing bare "and" phrases ([0ad9eee](https://github.com/boneskull/bupkis/commit/0ad9eeeac73173cb3fc5c05173a22b8baed51efe))
82
84
 
83
85
  ## [0.9.0](https://github.com/boneskull/bupkis/compare/bupkis-v0.8.0...bupkis-v0.9.0) (2025-09-29)
84
86
 
85
-
86
87
  ### Features
87
88
 
88
- * **assertion:** allow chaining assertions with "and" ([e76e772](https://github.com/boneskull/bupkis/commit/e76e772395afeb613b0936b2ac0fb3ed9792aa0e))
89
- * **assertions:** assertions can return Assertion Parse Request objects ([43fa2d1](https://github.com/boneskull/bupkis/commit/43fa2d14aed32caff7f665845b7471b014a6c266))
89
+ - **assertion:** allow chaining assertions with "and" ([e76e772](https://github.com/boneskull/bupkis/commit/e76e772395afeb613b0936b2ac0fb3ed9792aa0e))
90
+ - **assertions:** assertions can return Assertion Parse Request objects ([43fa2d1](https://github.com/boneskull/bupkis/commit/43fa2d14aed32caff7f665845b7471b014a6c266))
90
91
 
91
92
  ## [0.8.0](https://github.com/boneskull/bupkis/compare/bupkis-v0.7.2...bupkis-v0.8.0) (2025-09-25)
92
93
 
93
-
94
94
  ### Features
95
95
 
96
- * proper diffs ([ef29531](https://github.com/boneskull/bupkis/commit/ef295313cf5e8b5b0b0357098f4f7ee22414403d))
96
+ - proper diffs ([ef29531](https://github.com/boneskull/bupkis/commit/ef295313cf5e8b5b0b0357098f4f7ee22414403d))
97
97
 
98
98
  ## [0.7.2](https://github.com/boneskull/bupkis/compare/bupkis-v0.7.1...bupkis-v0.7.2) (2025-09-22)
99
99
 
100
-
101
100
  ### Bug Fixes
102
101
 
103
- * **release:** revert change to publish action ([5342626](https://github.com/boneskull/bupkis/commit/5342626daa65b75994bd9681f356f24fef7a25ba))
102
+ - **release:** revert change to publish action ([5342626](https://github.com/boneskull/bupkis/commit/5342626daa65b75994bd9681f356f24fef7a25ba))
104
103
 
105
104
  ## [0.7.1](https://github.com/boneskull/bupkis/compare/bupkis-v0.7.0...bupkis-v0.7.1) (2025-09-22)
106
105
 
107
-
108
106
  ### Bug Fixes
109
107
 
110
- * **release:** release 0.7.0 ([488f0dc](https://github.com/boneskull/bupkis/commit/488f0dc6f74a8c83fd97ec6ea1bd937bf2df0032))
111
- * **release:** release 0.7.1 ([7505fb8](https://github.com/boneskull/bupkis/commit/7505fb810a22d0f433af6403c9ff3fa492279884))
108
+ - **release:** release 0.7.0 ([488f0dc](https://github.com/boneskull/bupkis/commit/488f0dc6f74a8c83fd97ec6ea1bd937bf2df0032))
109
+ - **release:** release 0.7.1 ([7505fb8](https://github.com/boneskull/bupkis/commit/7505fb810a22d0f433af6403c9ff3fa492279884))
112
110
 
113
111
  ## [0.7.0](https://github.com/boneskull/bupkis/compare/bupkis-v0.7.0...bupkis-v0.7.0) (2025-09-22)
114
112
 
115
-
116
113
  ### Bug Fixes
117
114
 
118
- * **release:** release 0.7.0 ([488f0dc](https://github.com/boneskull/bupkis/commit/488f0dc6f74a8c83fd97ec6ea1bd937bf2df0032))
115
+ - **release:** release 0.7.0 ([488f0dc](https://github.com/boneskull/bupkis/commit/488f0dc6f74a8c83fd97ec6ea1bd937bf2df0032))
119
116
 
120
117
  ## [0.7.0](https://github.com/boneskull/bupkis/compare/bupkis-v0.6.0...bupkis-v0.7.0) (2025-09-22)
121
118
 
122
-
123
119
  ### Features
124
120
 
125
- * add proper errors, codes ([1f3b149](https://github.com/boneskull/bupkis/commit/1f3b149e1aa42f90469b96244224fe6736175c25))
126
-
121
+ - add proper errors, codes ([1f3b149](https://github.com/boneskull/bupkis/commit/1f3b149e1aa42f90469b96244224fe6736175c25))
127
122
 
128
123
  ### Bug Fixes
129
124
 
130
- * **guards:** thenable.then must have at least one parameter ([41a987e](https://github.com/boneskull/bupkis/commit/41a987e5ec131b780124bf6459b900bf15643987))
131
- * re-export schema namespace ([497bad7](https://github.com/boneskull/bupkis/commit/497bad7104b6ee5195f5c4d566837e8e34a1d744))
125
+ - **guards:** thenable.then must have at least one parameter ([41a987e](https://github.com/boneskull/bupkis/commit/41a987e5ec131b780124bf6459b900bf15643987))
126
+ - re-export schema namespace ([497bad7](https://github.com/boneskull/bupkis/commit/497bad7104b6ee5195f5c4d566837e8e34a1d744))
132
127
 
133
128
  ## [0.6.0](https://github.com/boneskull/bupkis/compare/bupkis-v0.5.1...bupkis-v0.6.0) (2025-09-22)
134
129
 
135
-
136
130
  ### Features
137
131
 
138
- * **assertions:** create expectAsync.it ([fb4db5a](https://github.com/boneskull/bupkis/commit/fb4db5afc4d2ab6e0affc073ab03c670264a3bbd))
139
-
132
+ - **assertions:** create expectAsync.it ([fb4db5a](https://github.com/boneskull/bupkis/commit/fb4db5afc4d2ab6e0affc073ab03c670264a3bbd))
140
133
 
141
134
  ### Bug Fixes
142
135
 
143
- * **assertions:** "map/set to have size greater than" now expects nonnegative int size ([2355ba0](https://github.com/boneskull/bupkis/commit/2355ba0494baeb5050024e6fadd8a28a900f5dcc))
144
- * **assertions:** narrow some schemas ([fc0b708](https://github.com/boneskull/bupkis/commit/fc0b7086ba898a43f3c9558aff6ede30723e38c6))
136
+ - **assertions:** "map/set to have size greater than" now expects nonnegative int size ([2355ba0](https://github.com/boneskull/bupkis/commit/2355ba0494baeb5050024e6fadd8a28a900f5dcc))
137
+ - **assertions:** narrow some schemas ([fc0b708](https://github.com/boneskull/bupkis/commit/fc0b7086ba898a43f3c9558aff6ede30723e38c6))
145
138
 
146
139
  ## [0.5.1](https://github.com/boneskull/bupkis/compare/bupkis-v0.5.0...bupkis-v0.5.1) (2025-09-18)
147
140
 
148
-
149
141
  ### Bug Fixes
150
142
 
151
- * **errors:** fix AssertionError output ([8fae815](https://github.com/boneskull/bupkis/commit/8fae81585121026b9869489f39ba8c5dfb834834))
143
+ - **errors:** fix AssertionError output ([8fae815](https://github.com/boneskull/bupkis/commit/8fae81585121026b9869489f39ba8c5dfb834834))
152
144
 
153
145
  ## [0.5.0](https://github.com/boneskull/bupkis/compare/bupkis-v0.4.0...bupkis-v0.5.0) (2025-09-18)
154
146
 
155
-
156
147
  ### Features
157
148
 
158
- * **assertions:** implement "to have key" and "to have exact key" ([8bb53cc](https://github.com/boneskull/bupkis/commit/8bb53cc6c6457b52f16f9057b1287005bc9a80df))
159
- * more set/map assertions ([ec9e0f4](https://github.com/boneskull/bupkis/commit/ec9e0f46cd2ec0d0d097b54b3d0d9400fbb79c9d)), closes [#27](https://github.com/boneskull/bupkis/issues/27)
160
- * **util:** implement `get` and `has` functions (like lodash's) supporting keypaths ([8bb53cc](https://github.com/boneskull/bupkis/commit/8bb53cc6c6457b52f16f9057b1287005bc9a80df))
161
-
149
+ - **assertions:** implement "to have key" and "to have exact key" ([8bb53cc](https://github.com/boneskull/bupkis/commit/8bb53cc6c6457b52f16f9057b1287005bc9a80df))
150
+ - more set/map assertions ([ec9e0f4](https://github.com/boneskull/bupkis/commit/ec9e0f46cd2ec0d0d097b54b3d0d9400fbb79c9d)), closes [#27](https://github.com/boneskull/bupkis/issues/27)
151
+ - **util:** implement `get` and `has` functions (like lodash's) supporting keypaths ([8bb53cc](https://github.com/boneskull/bupkis/commit/8bb53cc6c6457b52f16f9057b1287005bc9a80df))
162
152
 
163
153
  ### Bug Fixes
164
154
 
165
- * "to satisfy" now accepts any value for comparison ([ec9e0f4](https://github.com/boneskull/bupkis/commit/ec9e0f46cd2ec0d0d097b54b3d0d9400fbb79c9d))
166
- * **assertions:** widen allowed subjects for "to have keys" assertion ([8bb53cc](https://github.com/boneskull/bupkis/commit/8bb53cc6c6457b52f16f9057b1287005bc9a80df))
167
- * many edge cases ([ec9e0f4](https://github.com/boneskull/bupkis/commit/ec9e0f46cd2ec0d0d097b54b3d0d9400fbb79c9d))
155
+ - "to satisfy" now accepts any value for comparison ([ec9e0f4](https://github.com/boneskull/bupkis/commit/ec9e0f46cd2ec0d0d097b54b3d0d9400fbb79c9d))
156
+ - **assertions:** widen allowed subjects for "to have keys" assertion ([8bb53cc](https://github.com/boneskull/bupkis/commit/8bb53cc6c6457b52f16f9057b1287005bc9a80df))
157
+ - many edge cases ([ec9e0f4](https://github.com/boneskull/bupkis/commit/ec9e0f46cd2ec0d0d097b54b3d0d9400fbb79c9d))
168
158
 
169
159
  ## [0.4.0](https://github.com/boneskull/bupkis/compare/bupkis-v0.3.0...bupkis-v0.4.0) (2025-09-15)
170
160
 
171
-
172
161
  ### Features
173
162
 
174
- * implement embeddable assertions ([3050d1c](https://github.com/boneskull/bupkis/commit/3050d1c0d57048a840449935fd0dfead370b0f11)), closes [#46](https://github.com/boneskull/bupkis/issues/46)
175
-
163
+ - implement embeddable assertions ([3050d1c](https://github.com/boneskull/bupkis/commit/3050d1c0d57048a840449935fd0dfead370b0f11)), closes [#46](https://github.com/boneskull/bupkis/issues/46)
176
164
 
177
165
  ### Bug Fixes
178
166
 
179
- * **schema:** rename ClassSchema to ConstructibleSchema ([#47](https://github.com/boneskull/bupkis/issues/47)) ([c497a24](https://github.com/boneskull/bupkis/commit/c497a249ad6428a8a2082aadfd7796c1e7f8b82f))
167
+ - **schema:** rename ClassSchema to ConstructibleSchema ([#47](https://github.com/boneskull/bupkis/issues/47)) ([c497a24](https://github.com/boneskull/bupkis/commit/c497a249ad6428a8a2082aadfd7796c1e7f8b82f))
180
168
 
181
169
  ## [0.3.0](https://github.com/boneskull/bupkis/compare/bupkis-v0.2.0...bupkis-v0.3.0) (2025-09-14)
182
170
 
183
-
184
171
  ### Features
185
172
 
186
- * **assertions:** add callback assertions ([a879213](https://github.com/boneskull/bupkis/commit/a87921398e63583fe75e8085ea20bb4406d0dbdb))
187
- * **createAssertion:** allow ZodError return types from assertion implementation functions ([0dbd940](https://github.com/boneskull/bupkis/commit/0dbd94028da4761f6c4842fd6411782b20925b82))
188
-
173
+ - **assertions:** add callback assertions ([a879213](https://github.com/boneskull/bupkis/commit/a87921398e63583fe75e8085ea20bb4406d0dbdb))
174
+ - **createAssertion:** allow ZodError return types from assertion implementation functions ([0dbd940](https://github.com/boneskull/bupkis/commit/0dbd94028da4761f6c4842fd6411782b20925b82))
189
175
 
190
176
  ### Bug Fixes
191
177
 
192
- * **assertions:** fix all manner of issues w/r/t "to satisfies" and deep equality ([c0800a3](https://github.com/boneskull/bupkis/commit/c0800a3523876ac6b1b3083325f2bb3dafed8bdc))
193
- * **assertions:** fix edge-cases in "to satisfy" and "deep equal" assertions ([a879213](https://github.com/boneskull/bupkis/commit/a87921398e63583fe75e8085ea20bb4406d0dbdb))
194
- * restore caching for async schema assertions ([8b62d74](https://github.com/boneskull/bupkis/commit/8b62d74db596155a1cf10e2da55dfe251b082589))
178
+ - **assertions:** fix all manner of issues w/r/t "to satisfies" and deep equality ([c0800a3](https://github.com/boneskull/bupkis/commit/c0800a3523876ac6b1b3083325f2bb3dafed8bdc))
179
+ - **assertions:** fix edge-cases in "to satisfy" and "deep equal" assertions ([a879213](https://github.com/boneskull/bupkis/commit/a87921398e63583fe75e8085ea20bb4406d0dbdb))
180
+ - restore caching for async schema assertions ([8b62d74](https://github.com/boneskull/bupkis/commit/8b62d74db596155a1cf10e2da55dfe251b082589))
195
181
 
196
182
  ## [0.2.0](https://github.com/boneskull/bupkis/compare/bupkis-v0.1.2...bupkis-v0.2.0) (2025-09-10)
197
183
 
198
-
199
184
  ### Features
200
185
 
201
- * add "assertions" subpath export ([692421b](https://github.com/boneskull/bupkis/commit/692421b5831a440fce0d0e9fe191a4aeba61a808))
202
- * **assertion:** add alias "to be between" for "to be within" ([6e20646](https://github.com/boneskull/bupkis/commit/6e2064671b0b8e4ca35db55fd8ec90211956f303))
203
-
186
+ - add "assertions" subpath export ([692421b](https://github.com/boneskull/bupkis/commit/692421b5831a440fce0d0e9fe191a4aeba61a808))
187
+ - **assertion:** add alias "to be between" for "to be within" ([6e20646](https://github.com/boneskull/bupkis/commit/6e2064671b0b8e4ca35db55fd8ec90211956f303))
204
188
 
205
189
  ### Bug Fixes
206
190
 
207
- * rename "to resolve to value satisfying" async assertions to "resolve with value satisfying" ([3a39a3e](https://github.com/boneskull/bupkis/commit/3a39a3e18ea2899f8c8ec8cbabdff9475dfbe41d))
191
+ - rename "to resolve to value satisfying" async assertions to "resolve with value satisfying" ([3a39a3e](https://github.com/boneskull/bupkis/commit/3a39a3e18ea2899f8c8ec8cbabdff9475dfbe41d))
208
192
 
209
193
  ## [0.1.2](https://github.com/boneskull/bupkis/compare/bupkis-v0.1.1...bupkis-v0.1.2) (2025-09-09)
210
194
 
211
-
212
195
  ### Bug Fixes
213
196
 
214
- * **util:** isConstructable handles Symbol and BigInt properly ([c13747a](https://github.com/boneskull/bupkis/commit/c13747aa57b5806c38389c1d8347a2966cb17f22))
197
+ - **util:** isConstructable handles Symbol and BigInt properly ([c13747a](https://github.com/boneskull/bupkis/commit/c13747aa57b5806c38389c1d8347a2966cb17f22))
215
198
 
216
199
  ## [0.1.1](https://github.com/boneskull/bupkis/compare/bupkis-v0.1.0...bupkis-v0.1.1) (2025-09-09)
217
200
 
218
-
219
201
  ### Bug Fixes
220
202
 
221
- * actually build before publish ([996c28e](https://github.com/boneskull/bupkis/commit/996c28e223ce488d07ea0b7633829ff25d510be3))
203
+ - actually build before publish ([996c28e](https://github.com/boneskull/bupkis/commit/996c28e223ce488d07ea0b7633829ff25d510be3))
222
204
 
223
205
  ## [0.1.0](https://github.com/boneskull/bupkis/compare/bupkis-v0.0.2...bupkis-v0.1.0) (2025-09-08)
224
206
 
225
-
226
207
  ### Features
227
208
 
228
- * **use:** use() returns an object with a use() in it ([fb383d6](https://github.com/boneskull/bupkis/commit/fb383d6fb2f541085d2300664fe73b25c6249e42))
229
-
209
+ - **use:** use() returns an object with a use() in it ([fb383d6](https://github.com/boneskull/bupkis/commit/fb383d6fb2f541085d2300664fe73b25c6249e42))
230
210
 
231
211
  ### Bug Fixes
232
212
 
233
- * **package:** add description and homepage ([2ff82ea](https://github.com/boneskull/bupkis/commit/2ff82ea715280098f59612ba32da808308aced0e))
213
+ - **package:** add description and homepage ([2ff82ea](https://github.com/boneskull/bupkis/commit/2ff82ea715280098f59612ba32da808308aced0e))
234
214
 
235
215
  ## [0.0.2](https://github.com/boneskull/bupkis/compare/bupkis-v0.0.1...bupkis-v0.0.2) (2025-09-07)
236
216
 
237
-
238
217
  ### Bug Fixes
239
218
 
240
- * add repository to package.json ([4d687a5](https://github.com/boneskull/bupkis/commit/4d687a54c4fb34331508011df14fcfd966bf7ad3))
219
+ - add repository to package.json ([4d687a5](https://github.com/boneskull/bupkis/commit/4d687a54c4fb34331508011df14fcfd966bf7ad3))
241
220
 
242
221
  ## 0.0.1 (2025-09-07)
243
222
 
244
-
245
223
  ### Features
246
224
 
247
- * "initial commit" ([04f234c](https://github.com/boneskull/bupkis/commit/04f234c8f8cea4cef5bae0dc7ccb692eb91d8748))
248
-
225
+ - "initial commit" ([04f234c](https://github.com/boneskull/bupkis/commit/04f234c8f8cea4cef5bae0dc7ccb692eb91d8748))
249
226
 
250
227
  ### Bug Fixes
251
228
 
252
- * remove ref to distfile ([5de9a6b](https://github.com/boneskull/bupkis/commit/5de9a6b6f7bebe3f8898eecc3ae2212e183c3a16))
229
+ - remove ref to distfile ([5de9a6b](https://github.com/boneskull/bupkis/commit/5de9a6b6f7bebe3f8898eecc3ae2212e183c3a16))
@@ -1 +1 @@
1
- {"version":3,"file":"assertion-async.d.ts","sourceRoot":"","sources":["../../../src/assertion/assertion-async.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAEzB,KAAK,wBAAwB,EAC7B,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,YAAY,EAEjB,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,8BAAsB,oBAAoB,CACtC,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,kBAAkB,CAAC,KAAK,CAAC,EACtC,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CAErC,SAAQ,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAC1C,YAAW,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;IAE7C,QAAQ,CAAC,YAAY,CACnB,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,EACjC,IAAI,EAAE,OAAO,EAAE,EACf,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACrC,WAAW,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,GAChC,OAAO,CAAC,IAAI,CAAC;IAEV,gBAAgB,CAAC,IAAI,SAAS,SAAS,OAAO,EAAE,EACpD,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;CAyChC;AACD;;;;GAIG;AACH;;;;;;;;GAQG;AAEH,qBAAa,4BAA4B,CACrC,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,oBAAoB,CAAC,KAAK,CAAC,EACxC,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CAErC,SAAQ,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAC/C,YAAW,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;IAEtC,YAAY,CACzB,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,EACjC,IAAI,EAAE,OAAO,EAAE,EACf,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACrC,YAAY,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC;CAiEjB;AAED;;;;;;;;;;;GAWG;AAEH,qBAAa,0BAA0B,CACnC,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,wBAAwB,CAAC,KAAK,CAAC,EAC5C,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CAErC,SAAQ,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAC/C,YAAW,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;IAEpC,YAAY,CACzB,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,EACjC,KAAK,EAAE,OAAO,EAAE,EAChB,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACrC,WAAW,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,GAChC,OAAO,CAAC,IAAI,CAAC;IA4BD,gBAAgB,CAAC,IAAI,SAAS,SAAS,OAAO,EAAE,EAC7D,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAyE/B;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;CAehC"}
1
+ {"version":3,"file":"assertion-async.d.ts","sourceRoot":"","sources":["../../../src/assertion/assertion-async.ts"],"names":[],"mappings":"AAiBA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAEzB,KAAK,wBAAwB,EAC7B,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,YAAY,EAEjB,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,8BAAsB,oBAAoB,CACtC,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,kBAAkB,CAAC,KAAK,CAAC,EACtC,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CAErC,SAAQ,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAC1C,YAAW,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;IAE7C,QAAQ,CAAC,YAAY,CACnB,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,EACjC,IAAI,EAAE,OAAO,EAAE,EACf,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACrC,WAAW,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,GAChC,OAAO,CAAC,IAAI,CAAC;IAEV,gBAAgB,CAAC,IAAI,SAAS,SAAS,OAAO,EAAE,EACpD,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;CAyChC;AACD;;;;GAIG;AACH;;;;;;;;GAQG;AAEH,qBAAa,4BAA4B,CACrC,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,oBAAoB,CAAC,KAAK,CAAC,EACxC,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CAErC,SAAQ,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAC/C,YAAW,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;IAEtC,YAAY,CACzB,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,EACjC,IAAI,EAAE,OAAO,EAAE,EACf,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACrC,YAAY,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC;CAiGjB;AAED;;;;;;;;;;;GAWG;AAEH,qBAAa,0BAA0B,CACnC,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,wBAAwB,CAAC,KAAK,CAAC,EAC5C,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CAErC,SAAQ,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAC/C,YAAW,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;IAEpC,YAAY,CACzB,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,EACjC,KAAK,EAAE,OAAO,EAAE,EAChB,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACrC,WAAW,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,GAChC,OAAO,CAAC,IAAI,CAAC;IA8BD,gBAAgB,CAAC,IAAI,SAAS,SAAS,OAAO,EAAE,EAC7D,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAyE/B;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;CAehC"}
@@ -97,6 +97,15 @@ class BupkisAssertionFunctionAsync extends BupkisAssertionAsync {
97
97
  throw error;
98
98
  }
99
99
  }
100
+ else if ((0, guards_js_1.isStandardSchema)(result)) {
101
+ const validationResult = result['~standard'].validate(parsedValues[0]);
102
+ const finalResult = validationResult instanceof Promise
103
+ ? await validationResult
104
+ : validationResult;
105
+ if (finalResult.issues) {
106
+ throw this.fromStandardSchemaIssues(finalResult.issues, stackStartFn, parsedValues);
107
+ }
108
+ }
100
109
  else if ((0, guards_js_1.isBoolean)(result)) {
101
110
  if (!result) {
102
111
  throw new error_js_1.AssertionError({
@@ -110,15 +119,27 @@ class BupkisAssertionFunctionAsync extends BupkisAssertionAsync {
110
119
  }
111
120
  else if ((0, internal_schema_js_1.isAssertionParseRequest)(result)) {
112
121
  const { asyncSchema, schema, subject } = result;
113
- let zodResult;
114
- if (schema) {
115
- zodResult = schema.safeParse(subject);
116
- }
117
- else {
118
- zodResult = asyncSchema.safeParse(subject);
122
+ const schemaToUse = schema ?? asyncSchema;
123
+ if ((0, guards_js_1.isZodType)(schemaToUse)) {
124
+ let zodResult;
125
+ if (schema) {
126
+ zodResult = schemaToUse.safeParse(subject);
127
+ }
128
+ else {
129
+ zodResult = await schemaToUse.safeParseAsync(subject);
130
+ }
131
+ if (!zodResult.success) {
132
+ throw this.fromZodError(zodResult.error, stackStartFn, subject);
133
+ }
119
134
  }
120
- if (!zodResult.success) {
121
- throw this.fromZodError(zodResult.error, stackStartFn, subject);
135
+ else if ((0, guards_js_1.isStandardSchema)(schemaToUse)) {
136
+ const validationResult = schemaToUse['~standard'].validate(subject);
137
+ const finalResult = validationResult instanceof Promise
138
+ ? await validationResult
139
+ : validationResult;
140
+ if (finalResult.issues) {
141
+ throw this.fromStandardSchemaIssues(finalResult.issues, stackStartFn, subject);
142
+ }
122
143
  }
123
144
  }
124
145
  else if ((0, internal_schema_js_1.isAssertionFailure)(result)) {
@@ -156,7 +177,9 @@ class BupkisAssertionSchemaAsync extends BupkisAssertionAsync {
156
177
  : undefined;
157
178
  if (cachedValidation && !cachedValidation.success) {
158
179
  // Subject validation failed during parseValuesAsync, throw the cached error
159
- throw this.fromZodError(cachedValidation.error, stackStartFn, parsedValues);
180
+ if ('error' in cachedValidation) {
181
+ throw this.fromZodError(cachedValidation.error, stackStartFn, parsedValues);
182
+ }
160
183
  }
161
184
  // Fall back to standard validation if no cached result
162
185
  const [subject] = parsedValues;
@@ -1 +1 @@
1
- {"version":3,"file":"assertion-async.js","sourceRoot":"","sources":["../../../src/assertion/assertion-async.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assertion-async.js","sourceRoot":"","sources":["../../../src/assertion/assertion-async.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Asynchronous Standard Schema assertion implementation.
3
+ *
4
+ * This module provides the `BupkisAssertionStandardSchemaAsync` class for
5
+ * assertions implemented using Standard Schema v1 compliant validators that may
6
+ * perform asynchronous validation.
7
+ *
8
+ * @packageDocumentation
9
+ */
10
+ import type { StandardSchemaV1 } from '../standard-schema.js';
11
+ import type { AssertionParts, AssertionSlots, AssertionStandardSchemaAsync, ParsedResult, ParsedValues } from './assertion-types.js';
12
+ import { BupkisAssertion } from './assertion.js';
13
+ /**
14
+ * An asynchronous assertion implemented using a Standard Schema v1 validator.
15
+ *
16
+ * This class handles async schema-based assertions where the implementation is
17
+ * any Standard Schema compliant validator that may perform asynchronous
18
+ * validation. It optimizes validation by caching the subject validation result
19
+ * during `parseValuesAsync()` to avoid double parsing.
20
+ *
21
+ * @template Parts - The assertion parts tuple defining structure
22
+ * @template Impl - The Standard Schema implementation
23
+ * @template Slots - The derived validation slots
24
+ */
25
+ export declare class BupkisAssertionStandardSchemaAsync<Parts extends AssertionParts, Impl extends StandardSchemaV1, Slots extends AssertionSlots<Parts>> extends BupkisAssertion<Parts, Impl, Slots> implements AssertionStandardSchemaAsync<Parts, Impl, Slots> {
26
+ /**
27
+ * Executes the assertion asynchronously against validated values.
28
+ *
29
+ * If validation was already performed during `parseValuesAsync()` and cached,
30
+ * reuses that result. Otherwise, performs validation using the Standard
31
+ * Schema's validate() method (which may return a Promise).
32
+ *
33
+ * @param parsedValues - The parsed and validated values
34
+ * @param _args - Original raw arguments (unused)
35
+ * @param stackStartFn - Function to use as stack trace start point
36
+ * @param parseResult - Optional cached parse result from `parseValuesAsync()`
37
+ * @throws {AssertionError} If validation fails
38
+ */
39
+ executeAsync(parsedValues: ParsedValues<Parts>, _args: unknown[], stackStartFn: (...args: any[]) => any, parseResult?: ParsedResult<Parts>): Promise<void>;
40
+ /**
41
+ * Parses raw arguments asynchronously against slots with optimized caching.
42
+ *
43
+ * For simple schema assertions (subject + phrase literals only), this method
44
+ * validates the subject during parsing and caches the result to avoid double
45
+ * validation in `executeAsync()`.
46
+ *
47
+ * @param args - Raw arguments provided to `expectAsync()`
48
+ * @returns Promise resolving to parse result with cached validation
49
+ */
50
+ parseValuesAsync<Args extends readonly unknown[]>(args: Args): Promise<ParsedResult<Parts>>;
51
+ /**
52
+ * Determines if this is a simple schema assertion eligible for optimization.
53
+ *
54
+ * Returns true when the assertion has:
55
+ *
56
+ * - Exactly one subject slot (unknown/any type)
57
+ * - Only phrase literal slots after the subject
58
+ * - No complex argument processing
59
+ *
60
+ * @returns True if optimization can be applied
61
+ */
62
+ private isSimpleSchemaAssertion;
63
+ }
64
+ //# sourceMappingURL=assertion-standard-schema-async.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assertion-standard-schema-async.d.ts","sourceRoot":"","sources":["../../../src/assertion/assertion-standard-schema-async.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,4BAA4B,EAC5B,YAAY,EAEZ,YAAY,EACb,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD;;;;;;;;;;;GAWG;AACH,qBAAa,kCAAkC,CAC3C,KAAK,SAAS,cAAc,EAC5B,IAAI,SAAS,gBAAgB,EAC7B,KAAK,SAAS,cAAc,CAAC,KAAK,CAAC,CAErC,SAAQ,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAC1C,YAAW,4BAA4B,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;IAE3D;;;;;;;;;;;;OAYG;IACG,YAAY,CAChB,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,EACjC,KAAK,EAAE,OAAO,EAAE,EAChB,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACrC,WAAW,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,GAChC,OAAO,CAAC,IAAI,CAAC;IA4BhB;;;;;;;;;OASG;IACG,gBAAgB,CAAC,IAAI,SAAS,SAAS,OAAO,EAAE,EACpD,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IA2E/B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,uBAAuB;CAahC"}