bupkis 0.7.2 → 0.8.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 (149) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/commonjs/assertion/assertion.d.ts +0 -13
  3. package/dist/commonjs/assertion/assertion.d.ts.map +1 -1
  4. package/dist/commonjs/assertion/assertion.js +42 -27
  5. package/dist/commonjs/assertion/assertion.js.map +1 -1
  6. package/dist/commonjs/assertion/create.d.ts +2 -0
  7. package/dist/commonjs/assertion/create.d.ts.map +1 -1
  8. package/dist/commonjs/assertion/create.js +7 -4
  9. package/dist/commonjs/assertion/create.js.map +1 -1
  10. package/dist/commonjs/assertion/impl/assertion-util.d.ts +2 -0
  11. package/dist/commonjs/assertion/impl/assertion-util.d.ts.map +1 -1
  12. package/dist/commonjs/assertion/impl/assertion-util.js +13 -2
  13. package/dist/commonjs/assertion/impl/assertion-util.js.map +1 -1
  14. package/dist/commonjs/assertion/impl/sync-basic.d.ts.map +1 -1
  15. package/dist/commonjs/assertion/impl/sync-basic.js +2 -3
  16. package/dist/commonjs/assertion/impl/sync-basic.js.map +1 -1
  17. package/dist/commonjs/assertion/impl/sync-collection.d.ts.map +1 -1
  18. package/dist/commonjs/assertion/impl/sync-collection.js +24 -14
  19. package/dist/commonjs/assertion/impl/sync-collection.js.map +1 -1
  20. package/dist/commonjs/assertion/impl/sync-esoteric.d.ts +1 -5
  21. package/dist/commonjs/assertion/impl/sync-esoteric.d.ts.map +1 -1
  22. package/dist/commonjs/assertion/impl/sync-esoteric.js +11 -13
  23. package/dist/commonjs/assertion/impl/sync-esoteric.js.map +1 -1
  24. package/dist/commonjs/assertion/impl/sync-parametric.d.ts.map +1 -1
  25. package/dist/commonjs/assertion/impl/sync-parametric.js +4 -2
  26. package/dist/commonjs/assertion/impl/sync-parametric.js.map +1 -1
  27. package/dist/commonjs/assertion/impl/sync.d.ts +2 -10
  28. package/dist/commonjs/assertion/impl/sync.d.ts.map +1 -1
  29. package/dist/commonjs/assertion/slotify.d.ts +1 -0
  30. package/dist/commonjs/assertion/slotify.d.ts.map +1 -1
  31. package/dist/commonjs/assertion/slotify.js +1 -0
  32. package/dist/commonjs/assertion/slotify.js.map +1 -1
  33. package/dist/commonjs/bootstrap.d.ts +1 -5
  34. package/dist/commonjs/bootstrap.d.ts.map +1 -1
  35. package/dist/commonjs/bootstrap.js +1 -0
  36. package/dist/commonjs/bootstrap.js.map +1 -1
  37. package/dist/commonjs/diff.d.ts +51 -0
  38. package/dist/commonjs/diff.d.ts.map +1 -0
  39. package/dist/commonjs/diff.js +279 -0
  40. package/dist/commonjs/diff.js.map +1 -0
  41. package/dist/commonjs/error.d.ts +17 -0
  42. package/dist/commonjs/error.d.ts.map +1 -1
  43. package/dist/commonjs/error.js +17 -7
  44. package/dist/commonjs/error.js.map +1 -1
  45. package/dist/commonjs/expect.d.ts.map +1 -1
  46. package/dist/commonjs/expect.js +13 -0
  47. package/dist/commonjs/expect.js.map +1 -1
  48. package/dist/commonjs/guards.d.ts +12 -8
  49. package/dist/commonjs/guards.d.ts.map +1 -1
  50. package/dist/commonjs/guards.js +24 -14
  51. package/dist/commonjs/guards.js.map +1 -1
  52. package/dist/commonjs/index.d.ts +1 -5
  53. package/dist/commonjs/index.d.ts.map +1 -1
  54. package/dist/commonjs/schema.d.ts.map +1 -1
  55. package/dist/commonjs/schema.js +3 -2
  56. package/dist/commonjs/schema.js.map +1 -1
  57. package/dist/commonjs/use.js +22 -8
  58. package/dist/commonjs/use.js.map +1 -1
  59. package/dist/commonjs/util.d.ts +1 -0
  60. package/dist/commonjs/util.d.ts.map +1 -1
  61. package/dist/commonjs/util.js +14 -10
  62. package/dist/commonjs/util.js.map +1 -1
  63. package/dist/commonjs/value-to-schema.d.ts +1 -0
  64. package/dist/commonjs/value-to-schema.d.ts.map +1 -1
  65. package/dist/commonjs/value-to-schema.js +17 -10
  66. package/dist/commonjs/value-to-schema.js.map +1 -1
  67. package/dist/esm/assertion/assertion.d.ts +0 -13
  68. package/dist/esm/assertion/assertion.d.ts.map +1 -1
  69. package/dist/esm/assertion/assertion.js +42 -27
  70. package/dist/esm/assertion/assertion.js.map +1 -1
  71. package/dist/esm/assertion/create.d.ts +2 -0
  72. package/dist/esm/assertion/create.d.ts.map +1 -1
  73. package/dist/esm/assertion/create.js +7 -4
  74. package/dist/esm/assertion/create.js.map +1 -1
  75. package/dist/esm/assertion/impl/assertion-util.d.ts +2 -0
  76. package/dist/esm/assertion/impl/assertion-util.d.ts.map +1 -1
  77. package/dist/esm/assertion/impl/assertion-util.js +13 -2
  78. package/dist/esm/assertion/impl/assertion-util.js.map +1 -1
  79. package/dist/esm/assertion/impl/sync-basic.d.ts.map +1 -1
  80. package/dist/esm/assertion/impl/sync-basic.js +2 -3
  81. package/dist/esm/assertion/impl/sync-basic.js.map +1 -1
  82. package/dist/esm/assertion/impl/sync-collection.d.ts.map +1 -1
  83. package/dist/esm/assertion/impl/sync-collection.js +24 -14
  84. package/dist/esm/assertion/impl/sync-collection.js.map +1 -1
  85. package/dist/esm/assertion/impl/sync-esoteric.d.ts +1 -5
  86. package/dist/esm/assertion/impl/sync-esoteric.d.ts.map +1 -1
  87. package/dist/esm/assertion/impl/sync-esoteric.js +11 -13
  88. package/dist/esm/assertion/impl/sync-esoteric.js.map +1 -1
  89. package/dist/esm/assertion/impl/sync-parametric.d.ts.map +1 -1
  90. package/dist/esm/assertion/impl/sync-parametric.js +4 -2
  91. package/dist/esm/assertion/impl/sync-parametric.js.map +1 -1
  92. package/dist/esm/assertion/impl/sync.d.ts +2 -10
  93. package/dist/esm/assertion/impl/sync.d.ts.map +1 -1
  94. package/dist/esm/assertion/slotify.d.ts +1 -0
  95. package/dist/esm/assertion/slotify.d.ts.map +1 -1
  96. package/dist/esm/assertion/slotify.js +1 -0
  97. package/dist/esm/assertion/slotify.js.map +1 -1
  98. package/dist/esm/bootstrap.d.ts +1 -5
  99. package/dist/esm/bootstrap.d.ts.map +1 -1
  100. package/dist/esm/bootstrap.js +1 -0
  101. package/dist/esm/bootstrap.js.map +1 -1
  102. package/dist/esm/diff.d.ts +51 -0
  103. package/dist/esm/diff.d.ts.map +1 -0
  104. package/dist/esm/diff.js +273 -0
  105. package/dist/esm/diff.js.map +1 -0
  106. package/dist/esm/error.d.ts +17 -0
  107. package/dist/esm/error.d.ts.map +1 -1
  108. package/dist/esm/error.js +17 -7
  109. package/dist/esm/error.js.map +1 -1
  110. package/dist/esm/expect.d.ts.map +1 -1
  111. package/dist/esm/expect.js +13 -0
  112. package/dist/esm/expect.js.map +1 -1
  113. package/dist/esm/guards.d.ts +12 -8
  114. package/dist/esm/guards.d.ts.map +1 -1
  115. package/dist/esm/guards.js +23 -12
  116. package/dist/esm/guards.js.map +1 -1
  117. package/dist/esm/index.d.ts +1 -5
  118. package/dist/esm/index.d.ts.map +1 -1
  119. package/dist/esm/schema.d.ts.map +1 -1
  120. package/dist/esm/schema.js +3 -2
  121. package/dist/esm/schema.js.map +1 -1
  122. package/dist/esm/use.js +19 -6
  123. package/dist/esm/use.js.map +1 -1
  124. package/dist/esm/util.d.ts +1 -0
  125. package/dist/esm/util.d.ts.map +1 -1
  126. package/dist/esm/util.js +14 -10
  127. package/dist/esm/util.js.map +1 -1
  128. package/dist/esm/value-to-schema.d.ts +1 -0
  129. package/dist/esm/value-to-schema.d.ts.map +1 -1
  130. package/dist/esm/value-to-schema.js +17 -10
  131. package/dist/esm/value-to-schema.js.map +1 -1
  132. package/package.json +22 -6
  133. package/src/assertion/assertion.ts +47 -28
  134. package/src/assertion/create.ts +8 -8
  135. package/src/assertion/impl/assertion-util.ts +27 -16
  136. package/src/assertion/impl/sync-basic.ts +3 -3
  137. package/src/assertion/impl/sync-collection.ts +34 -14
  138. package/src/assertion/impl/sync-esoteric.ts +17 -13
  139. package/src/assertion/impl/sync-parametric.ts +5 -2
  140. package/src/assertion/slotify.ts +1 -0
  141. package/src/bootstrap.ts +1 -0
  142. package/src/diff.ts +343 -0
  143. package/src/error.ts +35 -7
  144. package/src/expect.ts +13 -0
  145. package/src/guards.ts +27 -15
  146. package/src/schema.ts +4 -2
  147. package/src/use.ts +21 -7
  148. package/src/util.ts +15 -12
  149. package/src/value-to-schema.ts +18 -10
@@ -17,30 +17,35 @@
17
17
  */
18
18
  import { z } from 'zod/v4';
19
19
  import { kExpectIt } from './constant.js';
20
+ const { isArray } = Array;
20
21
  export function isZodType(value, type) {
21
22
  const isValid = isObject(value) &&
22
23
  'def' in value &&
23
24
  !!value.def &&
24
25
  typeof value.def === 'object' &&
25
26
  'type' in value.def;
26
- if (!isValid)
27
+ if (!isValid) {
27
28
  return false;
28
- if (type === undefined)
29
+ }
30
+ if (type === undefined) {
29
31
  return true;
32
+ }
30
33
  return value.def.type === type;
31
34
  }
32
35
  /**
33
36
  * Type guard for a plain object.
34
37
  *
38
+ * @function
35
39
  * @param value Value to test
36
40
  * @returns `true` if the value is a plain object, `false` otherwise
37
41
  */
38
42
  export const isObject = (value) => {
39
- return typeof value === 'object' && value !== null && !Array.isArray(value);
43
+ return typeof value === 'object' && value !== null && !isArray(value);
40
44
  };
41
45
  /**
42
46
  * Returns `true` if the given value is a {@link z.ZodPromise} schema.
43
47
  *
48
+ * @function
44
49
  * @param value - Value to test
45
50
  * @returns `true` if the value is a `ZodPromise` schema; `false` otherwise
46
51
  */
@@ -48,6 +53,7 @@ export const isZodPromise = (value) => isZodType(value, 'promise');
48
53
  /**
49
54
  * Checks if a value is "promise-like", meaning it is a "thenable" object.
50
55
  *
56
+ * @function
51
57
  * @param value - Value to test
52
58
  * @returns `true` if the value is promise-like, `false` otherwise
53
59
  */
@@ -67,6 +73,7 @@ export const isPromiseLike = (value) => isObject(value) &&
67
73
  * This may be the only way we can determine, at runtime, if a function is a
68
74
  * constructor without actually calling it. I am unsure if this only works for
69
75
  * classes.
76
+ * @function
70
77
  * @param fn - Function to test
71
78
  * @returns Whether the function is constructable
72
79
  */
@@ -76,7 +83,7 @@ export const isConstructible = (fn) => {
76
83
  }
77
84
  try {
78
85
  // this will throw if there is no `[[construct]]` slot.. or so I've heard.
79
- // eslint-disable-next-line @typescript-eslint/no-unsafe-call
86
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call, custom/require-function-tag-in-arrow-functions
80
87
  new new Proxy(fn, { construct: () => ({}) })();
81
88
  return true;
82
89
  }
@@ -87,6 +94,7 @@ export const isConstructible = (fn) => {
87
94
  /**
88
95
  * Type guard for a boolean value
89
96
  *
97
+ * @function
90
98
  * @param value Value to check
91
99
  * @returns `true` if the value is a boolean, `false` otherwise
92
100
  */
@@ -94,6 +102,7 @@ export const isBoolean = (value) => typeof value === 'boolean';
94
102
  /**
95
103
  * Type guard for a function value
96
104
  *
105
+ * @function
97
106
  * @param value Value to check
98
107
  * @returns `true` if the value is a function, `false` otherwise
99
108
  */
@@ -115,6 +124,7 @@ const AssertionFailureSchema = z.object({
115
124
  /**
116
125
  * Type guard for a {@link AssertionFailure} object
117
126
  *
127
+ * @function
118
128
  * @param value Value to check
119
129
  * @returns `true` if the value is an `AssertionFailure`, `false` otherwise
120
130
  * @internal
@@ -123,6 +133,7 @@ export const isAssertionFailure = (value) => AssertionFailureSchema.safeParse(va
123
133
  /**
124
134
  * Type guard for a string value
125
135
  *
136
+ * @function
126
137
  * @param value Value to check
127
138
  * @returns `true` if the value is a string, `false` otherwise
128
139
  */
@@ -130,23 +141,18 @@ export const isString = (value) => typeof value === 'string';
130
141
  /**
131
142
  * Type guard for a non-null object value
132
143
  *
144
+ * @function
133
145
  * @param value Value to check
134
146
  * @returns `true` if the value is an object and not null, `false` otherwise
135
147
  */
136
148
  export const isNonNullObject = (value) => typeof value === 'object' && value !== null;
137
- /**
138
- * Type guard for a null or non-object value
139
- *
140
- * @param value Value to check
141
- * @returns `true` if the value is null or not an object, `false` otherwise
142
- */
143
- export const isNullOrNonObject = (value) => typeof value !== 'object' || value === null;
144
149
  /**
145
150
  * Type guard for a valid WeakKey (object, function, or symbol).
146
151
  *
147
152
  * WeakMaps and WeakSets can only use objects (including functions) or symbols
148
153
  * as keys, not primitives like strings, numbers, booleans, null, or undefined.
149
154
  *
155
+ * @function
150
156
  * @param value Value to check
151
157
  * @returns `true` if the value is a valid WeakKey (object, function, or
152
158
  * symbol), `false` otherwise
@@ -157,15 +163,17 @@ export const isWeakKey = (value) => (typeof value === 'object' && value !== null
157
163
  /**
158
164
  * Type guard for a {@link PhraseLiteralChoice}, which is a tuple of strings.
159
165
  *
166
+ * @function
160
167
  * @param value Assertion part to check
161
168
  * @returns `true` if the part is a `PhraseLiteralChoice`, `false` otherwise
162
169
  * @internal
163
170
  */
164
- export const isPhraseLiteralChoice = (value) => Array.isArray(value) && value.every(isPhraseLiteral);
171
+ export const isPhraseLiteralChoice = (value) => isArray(value) && value.every(isPhraseLiteral);
165
172
  /**
166
173
  * Type guard for a {@link PhraseLiteral}, which is just a string that does not
167
174
  * begin with `not `.
168
175
  *
176
+ * @function
169
177
  * @param value Assertion part to check
170
178
  * @returns `true` if the part is a `PhraseLiteral`, `false` otherwise
171
179
  * @internal
@@ -190,6 +198,7 @@ export const isPhraseLiteral = (value) => isString(value) && !value.startsWith('
190
198
  * ```
191
199
  *
192
200
  * @template T - The constructor type to check against
201
+ * @function
193
202
  * @param value - Value to test
194
203
  * @param ctor - Constructor function to check instanceof
195
204
  * @returns `true` if the value is an instance of the constructor, `false`
@@ -218,6 +227,7 @@ export const isA = (value, ctor) => {
218
227
  * }
219
228
  * ```
220
229
  *
230
+ * @function
221
231
  * @param value - Value to test
222
232
  * @returns `true` if the value is an Error instance, `false` otherwise
223
233
  */
@@ -243,6 +253,7 @@ export const isError = (value) => isA(value, Error);
243
253
  * ```
244
254
  *
245
255
  * @template Subject - The subject type that the executor function operates on
256
+ * @function
246
257
  * @param value - Value to test
247
258
  * @returns `true` if the value is an ExpectItExecutor function, `false`
248
259
  * otherwise
@@ -1 +1 @@
1
- {"version":3,"file":"guards.js","sourceRoot":"","sources":["../../src/guards.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guards.js","sourceRoot":"","sources":["../../src/guards.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAS3B,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;AA6B1B,MAAM,UAAU,SAAS,CACvB,KAAc,EACd,IAAQ;IAER,MAAM,OAAO,GACX,QAAQ,CAAC,KAAK,CAAC;QACf,KAAK,IAAI,KAAK;QACd,CAAC,CAAC,KAAK,CAAC,GAAG;QACX,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;QAC7B,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC;IAEtB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAQ,KAAmB,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC;AAChD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAgC,EAAE;IACvE,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACxE,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAc,EAAyB,EAAE,CACpE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AAE9B;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAc,EAAiC,EAAE,CAC7E,QAAQ,CAAC,KAAK,CAAC;IACf,MAAM,IAAI,KAAK;IACf,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;IACtB,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AAExB;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAW,EAAqB,EAAE;IAChE,IAAI,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC;QACH,0EAA0E;QAC1E,6GAA6G;QAC7G,IAAI,IAAI,KAAK,CAAC,EAAS,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAc,EAAoB,EAAE,CAC5D,OAAO,KAAK,KAAK,SAAS,CAAC;AAE7B;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAc,EAAoC,EAAE,CAC7E,OAAO,KAAK,KAAK,UAAU,CAAC;AAE9B,MAAM,sBAAsB,GAAgC,CAAC,CAAC,MAAM,CAAC;IACnE,MAAM,EAAE,CAAC;SACN,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,2DAA2D,CAAC;IACxE,QAAQ,EAAE,CAAC;SACR,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,iEAAiE,CAClE;IACH,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,iDAAiD,CAAC;CAC/D,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAA6B,EAAE,CAC9E,sBAAsB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAmB,EAAE,CAC1D,OAAO,KAAK,KAAK,QAAQ,CAAC;AAE5B;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAc,EAAmB,EAAE,CACjE,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AAE9C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAc,EAAoB,EAAE,CAC5D,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;IAC7C,OAAO,KAAK,KAAK,UAAU;IAC3B,OAAO,KAAK,KAAK,QAAQ,CAAC;AAE5B;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,KAAoB,EACU,EAAE,CAChC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AAEjD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAoB,EAAmB,EAAE,CACvE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,CACjB,KAAc,EACd,IAAO,EACmB,EAAE;IAC5B,OAAO,eAAe,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC;AACzD,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAc,EAAkB,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAE7E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,KAAc,EACsB,EAAE;IACtC,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,SAAS,IAAI,KAAK,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;AAC9E,CAAC,CAAC"}
@@ -211,11 +211,7 @@ use: import("./types.js").UseFn<readonly [import("./types.js").AssertionFunction
211
211
  actual: boolean;
212
212
  expected: boolean;
213
213
  message: string;
214
- } | undefined, readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodSymbol]>, import("./types.js").PhraseLiteralSlot<"to be an enumerable property of">, z.ZodNonOptional<z.ZodUnknown>]>, import("./types.js").AssertionFunctionSync<readonly [z.ZodNonOptional<z.ZodUnknown>, "to have enumerable property", z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodSymbol]>], (subject: unknown, key: string | number | symbol) => {
215
- actual: boolean;
216
- expected: boolean;
217
- message: string;
218
- } | undefined, readonly [z.ZodNonOptional<z.ZodUnknown>, import("./types.js").PhraseLiteralSlot<"to have enumerable property">, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodSymbol]>]>, import("./types.js").AssertionSchemaSync<readonly ["to be sealed"], import("./types.js").AssertionImplSchemaSync<readonly ["to be sealed"]>, never>, import("./types.js").AssertionSchemaSync<readonly ["to be extensible"], import("./types.js").AssertionImplSchemaSync<readonly ["to be extensible"]>, never>], readonly [import("./types.js").AssertionFunctionAsync<readonly [z.ZodCustom<(...args: import("./types.js").MutableOrReadonly<unknown[]>) => unknown, (...args: import("./types.js").MutableOrReadonly<unknown[]>) => unknown>, readonly ["to resolve", "to fulfill"]], (subject: (...args: import("./types.js").MutableOrReadonly<unknown[]>) => unknown) => Promise<{
214
+ } | undefined, readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodSymbol]>, import("./types.js").PhraseLiteralSlot<"to be an enumerable property of">, z.ZodNonOptional<z.ZodUnknown>]>, import("./types.js").AssertionFunctionSync<readonly [z.ZodNonOptional<z.ZodUnknown>, "to have enumerable property", z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodSymbol]>], (_subject: unknown, key: string | number | symbol) => z.ZodCustom<unknown, unknown>, readonly [z.ZodNonOptional<z.ZodUnknown>, import("./types.js").PhraseLiteralSlot<"to have enumerable property">, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodSymbol]>]>, import("./types.js").AssertionSchemaSync<readonly ["to be sealed"], import("./types.js").AssertionImplSchemaSync<readonly ["to be sealed"]>, never>, import("./types.js").AssertionSchemaSync<readonly ["to be extensible"], import("./types.js").AssertionImplSchemaSync<readonly ["to be extensible"]>, never>], readonly [import("./types.js").AssertionFunctionAsync<readonly [z.ZodCustom<(...args: import("./types.js").MutableOrReadonly<unknown[]>) => unknown, (...args: import("./types.js").MutableOrReadonly<unknown[]>) => unknown>, readonly ["to resolve", "to fulfill"]], (subject: (...args: import("./types.js").MutableOrReadonly<unknown[]>) => unknown) => Promise<{
219
215
  actual: string;
220
216
  expected: string;
221
217
  message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,OAAO,KAAK,UAAU,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACrD,cAAc,YAAY,CAAC;AAC3B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAEtC;;;;;;;;;GASG;AACH,YAAY,KAAK,KAAK,MAAM,YAAY,CAAC;AAEzC;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,CAAC;AAEb;;GAEG;AACH,YAAY,EACV,gBAAgB,EAChB,MAAM,EACN,iBAAiB,EACjB,sBAAsB,EACtB,MAAM,EACN,WAAW,EACX,QAAQ,EACR,aAAa,EACb,MAAM,EACN,OAAO,EACP,KAAK,GACN,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AAC5D,QAAA;AACE;;;;;;;;;GASG;AACH,eAAe;AACf;;;;;;;;;GASG;AACH,oBAAoB;AACpB;;;;;;GAMG;AACH,IAAI;AACJ;;;;;;GAMG;AACH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sUAEgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,OAAO,KAAK,UAAU,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACrD,cAAc,YAAY,CAAC;AAC3B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAEtC;;;;;;;;;GASG;AACH,YAAY,KAAK,KAAK,MAAM,YAAY,CAAC;AAEzC;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,CAAC;AAEb;;GAEG;AACH,YAAY,EACV,gBAAgB,EAChB,MAAM,EACN,iBAAiB,EACjB,sBAAsB,EACtB,MAAM,EACN,WAAW,EACX,QAAQ,EACR,aAAa,EACb,MAAM,EACN,OAAO,EACP,KAAK,GACN,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AAC5D,QAAA;AACE;;;;;;;;;GASG;AACH,eAAe;AACf;;;;;;;;;GASG;AACH,oBAAoB;AACpB;;;;;;GAMG;AACH,IAAI;AACJ;;;;;;GAMG;AACH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sUAEgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAU3B,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,iBAAiB,EACvB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,eAAO,MAAM,mBAAmB,uCAGK,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,eAAO,MAAM,cAAc,wBACP,iBAAiB,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,YAAxC,iBAAiB,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAIjC,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,yBAAyB,wDACjB,GAAG,EAAE,KAAK,GAAG,6CAAb,GAAG,EAAE,KAAK,GAAG,EASc,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,eAAO,MAAM,iBAAiB,8DAGuB,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAIG,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,eAAO,MAAM,wBAAwB,yDAKe,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,eAAO,MAAM,gBAAgB,yEAKsB,CAAC;AAEpD;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,yEAAmB,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,eAAO,MAAM,mBAAmB,wBAjTZ,iBAAiB,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,YAAxC,iBAAiB,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAqTL,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,eAAO,MAAM,YAAY,4BAOrB,CAAC;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,eAAO,MAAM,WAAW,yBAKsB,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,eAAO,MAAM,eAAe,oHAWsB,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,eAAO,MAAM,eAAe;;mBASxB,CAAC;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,eAAO,MAAM,YAAY,6BAGsB,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,eAAO,MAAM,wBAAwB,UAIuB,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAU3B,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,iBAAiB,EACvB,MAAM,YAAY,CAAC;AAIpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,eAAO,MAAM,mBAAmB,uCAGK,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,eAAO,MAAM,cAAc,wBACP,iBAAiB,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,YAAxC,iBAAiB,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAIjC,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,yBAAyB,wDACjB,GAAG,EAAE,KAAK,GAAG,6CAAb,GAAG,EAAE,KAAK,GAAG,EASc,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,eAAO,MAAM,iBAAiB,8DAGuB,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAIG,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,eAAO,MAAM,wBAAwB,yDAKe,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,eAAO,MAAM,gBAAgB,yEAKsB,CAAC;AAEpD;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,yEAAmB,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,eAAO,MAAM,mBAAmB,wBAjTZ,iBAAiB,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,YAAxC,iBAAiB,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAqTL,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,eAAO,MAAM,YAAY,4BAOrB,CAAC;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,eAAO,MAAM,WAAW,yBAKsB,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,eAAO,MAAM,eAAe,oHAWsB,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,eAAO,MAAM,eAAe;;mBASxB,CAAC;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,eAAO,MAAM,YAAY,6BAGsB,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,eAAO,MAAM,wBAAwB,UAIuB,CAAC"}
@@ -37,6 +37,7 @@ import { z } from 'zod/v4';
37
37
  import { KEYPATH_REGEX } from './constant.js';
38
38
  import { isConstructible, isFunction, isNonNullObject, isPromiseLike, } from './guards.js';
39
39
  import { BupkisRegistry } from './metadata.js';
40
+ const { getPrototypeOf, prototype: objectPrototype } = Object;
40
41
  /**
41
42
  * A Zod schema that validates JavaScript constructible functions.
42
43
  *
@@ -360,7 +361,7 @@ export const WrappedPromiseLikeSchema = z
360
361
  * @group Schema
361
362
  */
362
363
  export const DictionarySchema = z
363
- .custom((value) => isNonNullObject(value) && Object.getPrototypeOf(value) === null)
364
+ .custom((value) => isNonNullObject(value) && getPrototypeOf(value) === null)
364
365
  .describe('Object with null prototype')
365
366
  .register(BupkisRegistry, { name: 'dictionary' });
366
367
  /**
@@ -420,7 +421,7 @@ export const NullProtoObjectSchema = DictionarySchema;
420
421
  *
421
422
  * @group Schema
422
423
  */
423
- export const AsyncFunctionSchema = FunctionSchema.refine((value) => Object.prototype.toString.call(value) === '[object AsyncFunction]')
424
+ export const AsyncFunctionSchema = FunctionSchema.refine((value) => objectPrototype.toString.call(value) === '[object AsyncFunction]')
424
425
  .describe('Function declared with the `async` keyword')
425
426
  .register(BupkisRegistry, { name: 'async-function' });
426
427
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":"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"}
package/dist/esm/use.js CHANGED
@@ -8,6 +8,7 @@ import { BupkisAssertionAsync } from './assertion/assertion-async.js';
8
8
  import { BupkisAssertionSync } from './assertion/assertion-sync.js';
9
9
  import { kExpectIt } from './constant.js';
10
10
  import { createBaseExpect, createExpectAsyncFunction, createExpectSyncFunction, } from './expect.js';
11
+ const { assign } = Object;
11
12
  /**
12
13
  * Creates an `expect.it()` factory function for generating embeddable assertion
13
14
  * executors.
@@ -41,6 +42,7 @@ import { createBaseExpect, createExpectAsyncFunction, createExpectSyncFunction,
41
42
  *
42
43
  * @template SyncAssertions - Array of synchronous assertion objects that define
43
44
  * the available assertion logic for the embeddable functions
45
+ * @function
44
46
  * @param expect - The underlying expect function that will execute the
45
47
  * assertions when the returned executors are called
46
48
  * @returns A factory function that creates {@link ExpectItExecutor} instances
@@ -51,8 +53,11 @@ import { createBaseExpect, createExpectAsyncFunction, createExpectSyncFunction,
51
53
  * @see {@link kExpectIt} for the internal marking symbol
52
54
  */
53
55
  const createExpectIt = (expect) => {
56
+ /**
57
+ * @function
58
+ */
54
59
  const expectIt = (...args) => {
55
- const func = Object.assign((subject) => {
60
+ const func = assign((subject) => {
56
61
  const allArgs = [subject, ...args];
57
62
  // eslint-disable-next-line @typescript-eslint/no-unsafe-call
58
63
  expect(...allArgs);
@@ -96,6 +101,7 @@ const createExpectIt = (expect) => {
96
101
  *
97
102
  * @template AsyncAssertions - Array of asynchronous assertion objects that
98
103
  * define the available assertion logic for the embeddable async functions
104
+ * @function
99
105
  * @param expectAsync - The underlying expectAsync function that will execute
100
106
  * the assertions when the returned executors are called
101
107
  * @returns A factory function that creates {@link ExpectItExecutorAsync}
@@ -107,8 +113,11 @@ const createExpectIt = (expect) => {
107
113
  * @see {@link createExpectIt} for the synchronous equivalent
108
114
  */
109
115
  const createExpectItAsync = (expectAsync) => {
116
+ /**
117
+ * @function
118
+ */
110
119
  const expectItAsync = (...args) => {
111
- const func = Object.assign(async (subject) => {
120
+ const func = assign(async (subject) => {
112
121
  const allArgs = [subject, ...args];
113
122
  // eslint-disable-next-line @typescript-eslint/no-unsafe-call
114
123
  await expectAsync(...allArgs);
@@ -179,6 +188,7 @@ const createExpectItAsync = (expectAsync) => {
179
188
  * available in the composed functions
180
189
  * @template AsyncAssertions - Array of base asynchronous assertions that will
181
190
  * be available in the composed functions
191
+ * @function
182
192
  * @param syncAssertions - Base synchronous assertions to include in all
183
193
  * composed expect functions
184
194
  * @param asyncAssertions - Base asynchronous assertions to include in all
@@ -192,9 +202,12 @@ const createExpectItAsync = (expectAsync) => {
192
202
  * @see {@link FilterAsyncAssertions} for how async assertions are extracted
193
203
  * @see {@link Concat} for how assertion arrays are combined
194
204
  */
195
- export function createUse(syncAssertions, asyncAssertions) {
205
+ export const createUse = (syncAssertions, asyncAssertions) => {
196
206
  const syncAssertionsIn = syncAssertions ?? [];
197
207
  const asyncAssertionsIn = asyncAssertions ?? [];
208
+ /**
209
+ * @function
210
+ */
198
211
  const use = (assertions) => {
199
212
  const newSyncAssertions = assertions.filter((a) => a instanceof BupkisAssertionSync);
200
213
  const newAsyncAssertions = assertions.filter((a) => a instanceof BupkisAssertionAsync);
@@ -208,8 +221,8 @@ export function createUse(syncAssertions, asyncAssertions) {
208
221
  ];
209
222
  const expectFunction = createExpectSyncFunction(allSyncAssertions);
210
223
  const expectAsyncFunction = createExpectAsyncFunction(allAsyncAssertions);
211
- const expect = Object.assign(expectFunction, createBaseExpect(allSyncAssertions, allAsyncAssertions, 'sync'), { it: createExpectIt(expectFunction) });
212
- const expectAsync = Object.assign(expectAsyncFunction, createBaseExpect(allSyncAssertions, allAsyncAssertions, 'async'), { it: createExpectItAsync(expectAsyncFunction) });
224
+ const expect = assign(expectFunction, createBaseExpect(allSyncAssertions, allAsyncAssertions, 'sync'), { it: createExpectIt(expectFunction) });
225
+ const expectAsync = assign(expectAsyncFunction, createBaseExpect(allSyncAssertions, allAsyncAssertions, 'async'), { it: createExpectItAsync(expectAsyncFunction) });
213
226
  return {
214
227
  expect,
215
228
  expectAsync,
@@ -219,5 +232,5 @@ export function createUse(syncAssertions, asyncAssertions) {
219
232
  };
220
233
  };
221
234
  return use;
222
- }
235
+ };
223
236
  //# sourceMappingURL=use.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use.js","sourceRoot":"","sources":["../../src/use.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use.js","sourceRoot":"","sources":["../../src/use.ts"],"names":[],"mappings":"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"}
@@ -185,6 +185,7 @@ export declare const keyBy: <const T extends readonly Record<PropertyKey, any>[]
185
185
  * parseKeypath("arr[10]['spam']"); // ['arr', 10, 'spam']
186
186
  * ```
187
187
  *
188
+ * @function
188
189
  * @param keypath The keypath string to parse, using dot and/or bracket
189
190
  * notation.
190
191
  * @returns An array of keys, where each key is a string or number. Bracketed
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,cAAc,sBAAsB,CAAC;AAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,GAAG,GAAI,CAAC,GAAG,OAAO,EAC7B,KAAK,OAAO,EACZ,SAAS,OAAO,EAChB,eAAe,CAAC,KACf,CAAC,GAAG,SA4BN,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,GAAG,GAAI,KAAK,OAAO,EAAE,SAAS,OAAO,KAAG,OA2BpD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,UAAU,GACrB,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,yBAA+B,KAC9B,OAiCF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,YAAY,GACvB,KAAK,OAAO,EACZ,OAAO,OAAO,EACd,yBAA+B,KAC9B,OAiDF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK,GAChB,KAAK,CAAC,CAAC,SAAS,SAAS,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,EACnD,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAEhC,YAAY,CAAC,EACb,KAAK,CAAC,KACL,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAe1B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,MAAM,GAAG,MAAM,EACpD,SAAS,OAAO,CAAC,CAAC,CAAC,KAClB,CAAC,MAAM,GAAG,MAAM,CAAC,EAkDnB,CAAC"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,cAAc,sBAAsB,CAAC;AAMrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,GAAG,GAAI,CAAC,GAAG,OAAO,EAC7B,KAAK,OAAO,EACZ,SAAS,OAAO,EAChB,eAAe,CAAC,KACf,CAAC,GAAG,SA4BN,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,GAAG,GAAI,KAAK,OAAO,EAAE,SAAS,OAAO,KAAG,OA2BpD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,UAAU,GACrB,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,yBAA+B,KAC9B,OAiCF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,YAAY,GACvB,KAAK,OAAO,EACZ,OAAO,OAAO,EACd,yBAA+B,KAC9B,OAiDF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK,GAChB,KAAK,CAAC,CAAC,SAAS,SAAS,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,EACnD,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAEhC,YAAY,CAAC,EACb,KAAK,CAAC,KACL,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAe1B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,MAAM,GAAG,MAAM,EACpD,SAAS,OAAO,CAAC,CAAC,CAAC,KAClB,CAAC,MAAM,GAAG,MAAM,CAAC,EAgDnB,CAAC"}
package/dist/esm/util.js CHANGED
@@ -11,6 +11,9 @@
11
11
  * @packageDocumentation
12
12
  */
13
13
  export * from './value-to-schema.js';
14
+ const { hasOwn, keys, values } = Object;
15
+ const { isInteger, isNaN } = Number;
16
+ const { isArray } = Array;
14
17
  /**
15
18
  * Retrieves the value at a given keypath from an object using dot or bracket
16
19
  * notation.
@@ -158,10 +161,10 @@ export const hasKeyDeep = (obj, key, visited = new WeakSet()) => {
158
161
  }
159
162
  visited.add(obj);
160
163
  try {
161
- if (Object.hasOwn(obj, key)) {
164
+ if (hasOwn(obj, key)) {
162
165
  return true;
163
166
  }
164
- if (Array.isArray(obj)) {
167
+ if (isArray(obj)) {
165
168
  for (const item of obj) {
166
169
  if (hasKeyDeep(item, key, visited)) {
167
170
  return true;
@@ -169,7 +172,7 @@ export const hasKeyDeep = (obj, key, visited = new WeakSet()) => {
169
172
  }
170
173
  }
171
174
  else {
172
- for (const propValue of Object.values(obj)) {
175
+ for (const propValue of values(obj)) {
173
176
  if (hasKeyDeep(propValue, key, visited)) {
174
177
  return true;
175
178
  }
@@ -215,12 +218,12 @@ export const hasValueDeep = (obj, value, visited = new WeakSet()) => {
215
218
  }
216
219
  if (typeof obj === 'object' &&
217
220
  obj !== null &&
218
- !Array.isArray(obj) &&
221
+ !isArray(obj) &&
219
222
  typeof value === 'object' &&
220
223
  value !== null &&
221
- !Array.isArray(value)) {
222
- const objKeys = Object.keys(obj);
223
- const valueKeys = Object.keys(value);
224
+ !isArray(value)) {
225
+ const objKeys = keys(obj);
226
+ const valueKeys = keys(value);
224
227
  if (objKeys.length === 0 && valueKeys.length === 0) {
225
228
  return true;
226
229
  }
@@ -233,7 +236,7 @@ export const hasValueDeep = (obj, value, visited = new WeakSet()) => {
233
236
  }
234
237
  visited.add(obj);
235
238
  try {
236
- if (Array.isArray(obj)) {
239
+ if (isArray(obj)) {
237
240
  for (const item of obj) {
238
241
  if (hasValueDeep(item, value, visited)) {
239
242
  return true;
@@ -241,7 +244,7 @@ export const hasValueDeep = (obj, value, visited = new WeakSet()) => {
241
244
  }
242
245
  }
243
246
  else {
244
- for (const propValue of Object.values(obj)) {
247
+ for (const propValue of values(obj)) {
245
248
  if (hasValueDeep(propValue, value, visited)) {
246
249
  return true;
247
250
  }
@@ -308,6 +311,7 @@ export const keyBy = (collection, key) => {
308
311
  * parseKeypath("arr[10]['spam']"); // ['arr', 10, 'spam']
309
312
  * ```
310
313
  *
314
+ * @function
311
315
  * @param keypath The keypath string to parse, using dot and/or bracket
312
316
  * notation.
313
317
  * @returns An array of keys, where each key is a string or number. Bracketed
@@ -339,7 +343,7 @@ export const parseKeypath = (keypath) => {
339
343
  }
340
344
  i++;
341
345
  const numKey = Number(key);
342
- keys.push(Number.isInteger(numKey) && !Number.isNaN(numKey) ? numKey : key);
346
+ keys.push(isInteger(numKey) && !isNaN(numKey) ? numKey : key);
343
347
  }
344
348
  else if (keypath[i] === '.') {
345
349
  i++;
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,7 @@ import { z } from 'zod/v4';
29
29
  * // z.object({ users: z.array(z.object({ name: z.string() })) })
30
30
  * ```
31
31
  *
32
+ * @function
32
33
  * @param value - The value to convert to a schema
33
34
  * @param options - Configuration options for schema generation
34
35
  * @param visited - Internal WeakSet for circular reference detection
@@ -1 +1 @@
1
- {"version":3,"file":"value-to-schema.d.ts","sourceRoot":"","sources":["../../src/value-to-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAa3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,eAAO,MAAM,aAAa,GACxB,OAAO,OAAO,EACd,UAAS,oBAAyB,EAClC,yBAA+B,KAC9B,CAAC,CAAC,OAAO,CAAC,GAAG,CA2Uf,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,oBAAoB;IAQnC;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gCAAgC;;;;;;EAMH,CAAC;AAE3C;;;;;;GAMG;AACH,eAAO,MAAM,gCAAgC;;;;;;EAMH,CAAC"}
1
+ {"version":3,"file":"value-to-schema.d.ts","sourceRoot":"","sources":["../../src/value-to-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAiB3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,eAAO,MAAM,aAAa,GACxB,OAAO,OAAO,EACd,UAAS,oBAAyB,EAClC,yBAA+B,KAC9B,CAAC,CAAC,OAAO,CAAC,GAAG,CA8Uf,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,oBAAoB;IAQnC;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gCAAgC;;;;;;EAMH,CAAC;AAE3C;;;;;;GAMG;AACH,eAAO,MAAM,gCAAgC;;;;;;EAMH,CAAC"}
@@ -2,6 +2,9 @@ import { z } from 'zod/v4';
2
2
  import { ValueToSchemaError } from './error.js';
3
3
  import { isExpectItExecutor, isNonNullObject, isObject, isPromiseLike, isString, isZodType, } from './guards.js';
4
4
  import { RegExpSchema, WrappedPromiseLikeSchema } from './schema.js';
5
+ const { isNaN } = Number;
6
+ const { entries, freeze, hasOwn, keys } = Object;
7
+ const { isArray } = Array;
5
8
  /**
6
9
  * Recursively converts an arbitrary value to a Zod v4 schema that would
7
10
  * validate values with the same structure.
@@ -32,6 +35,7 @@ import { RegExpSchema, WrappedPromiseLikeSchema } from './schema.js';
32
35
  * // z.object({ users: z.array(z.object({ name: z.string() })) })
33
36
  * ```
34
37
  *
38
+ * @function
35
39
  * @param value - The value to convert to a schema
36
40
  * @param options - Configuration options for schema generation
37
41
  * @param visited - Internal WeakSet for circular reference detection
@@ -56,7 +60,7 @@ export const valueToSchema = (value, options = {}, visited = new WeakSet()) => {
56
60
  })
57
61
  : z.undefined();
58
62
  }
59
- if (Number.isNaN(value)) {
63
+ if (isNaN(value)) {
60
64
  return z.nan();
61
65
  }
62
66
  if (value === Infinity || value === -Infinity) {
@@ -107,7 +111,7 @@ export const valueToSchema = (value, options = {}, visited = new WeakSet()) => {
107
111
  visited.add(value);
108
112
  try {
109
113
  // Check for objects with own __proto__ property - these can cause unexpected behavior
110
- if (Object.hasOwn(value, '__proto__')) {
114
+ if (hasOwn(value, '__proto__')) {
111
115
  throw new ValueToSchemaError('Objects with an own "__proto__" property are not supported by valueToSchema');
112
116
  }
113
117
  // Handle built-in object types
@@ -146,7 +150,7 @@ export const valueToSchema = (value, options = {}, visited = new WeakSet()) => {
146
150
  return WrappedPromiseLikeSchema;
147
151
  }
148
152
  // Handle arrays
149
- if (Array.isArray(value)) {
153
+ if (isArray(value)) {
150
154
  // For arrays, we need to preserve undefined values while allowing
151
155
  // other elements to use the original literalPrimitives setting
152
156
  const filteredValue = value; // Always process all elements
@@ -173,6 +177,9 @@ export const valueToSchema = (value, options = {}, visited = new WeakSet()) => {
173
177
  }
174
178
  if (!noMixedArrays) {
175
179
  // Helper function to generate structural keys for schemas
180
+ /**
181
+ * @function
182
+ */
176
183
  const getSchemaKey = (zodType) => {
177
184
  const schema = zodType;
178
185
  if (isZodType(schema, 'literal')) {
@@ -187,7 +194,7 @@ export const valueToSchema = (value, options = {}, visited = new WeakSet()) => {
187
194
  // For objects, create a key based on the property keys and their types
188
195
  // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
189
196
  const shape = schema.def.shape;
190
- const shapeKeys = Object.keys(shape)
197
+ const shapeKeys = keys(shape)
191
198
  .sort()
192
199
  .map((key) => {
193
200
  const propSchema = shape[key];
@@ -230,7 +237,7 @@ export const valueToSchema = (value, options = {}, visited = new WeakSet()) => {
230
237
  if (isNonNullObject(value)) {
231
238
  const schemaShape = {};
232
239
  const undefinedKeys = [];
233
- for (const [key, val] of Object.entries(value)) {
240
+ for (const [key, val] of entries(value)) {
234
241
  if (isString(key)) {
235
242
  // Skip undefined values unless we're in literalPrimitives mode
236
243
  // This prevents objects with only undefined values from matching any object
@@ -266,7 +273,7 @@ export const valueToSchema = (value, options = {}, visited = new WeakSet()) => {
266
273
  }
267
274
  const obj = data;
268
275
  for (const key of undefinedKeys) {
269
- if (!Object.hasOwn(obj, key)) {
276
+ if (!hasOwn(obj, key)) {
270
277
  ctx.addIssue({
271
278
  code: z.ZodIssueCode.custom,
272
279
  message: `Expected property "${key}" to exist with value undefined`,
@@ -277,9 +284,9 @@ export const valueToSchema = (value, options = {}, visited = new WeakSet()) => {
277
284
  });
278
285
  }
279
286
  // Check if this is an empty object and literalEmptyObjects is enabled
280
- if (Object.keys(schemaShape).length === 0 && literalEmptyObjects) {
287
+ if (keys(schemaShape).length === 0 && literalEmptyObjects) {
281
288
  // Create a schema that only matches empty objects
282
- return z.custom((val) => isObject(val) && Object.keys(val).length === 0, {
289
+ return z.custom((val) => isObject(val) && keys(val).length === 0, {
283
290
  message: 'Expected an empty object with no own properties',
284
291
  });
285
292
  }
@@ -302,7 +309,7 @@ export const valueToSchema = (value, options = {}, visited = new WeakSet()) => {
302
309
  * Uses literal primitives and tuples for exact matching while allowing extra
303
310
  * properties.
304
311
  */
305
- export const valueToSchemaOptionsForSatisfies = Object.freeze({
312
+ export const valueToSchemaOptionsForSatisfies = freeze({
306
313
  literalEmptyObjects: true,
307
314
  literalPrimitives: true,
308
315
  literalRegExp: false,
@@ -316,7 +323,7 @@ export const valueToSchemaOptionsForSatisfies = Object.freeze({
316
323
  * Uses literal primitives, regexp, and tuples with strict validation for exact
317
324
  * matching.
318
325
  */
319
- export const valueToSchemaOptionsForDeepEqual = Object.freeze({
326
+ export const valueToSchemaOptionsForDeepEqual = freeze({
320
327
  literalEmptyObjects: true,
321
328
  literalPrimitives: true,
322
329
  literalRegExp: true,