bupkis 0.2.0 → 0.3.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 (162) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +9 -9
  3. package/dist/commonjs/assertion/assertion-async.d.ts +2 -1
  4. package/dist/commonjs/assertion/assertion-async.d.ts.map +1 -1
  5. package/dist/commonjs/assertion/assertion-async.js +84 -2
  6. package/dist/commonjs/assertion/assertion-async.js.map +1 -1
  7. package/dist/commonjs/assertion/assertion-sync.d.ts +1 -1
  8. package/dist/commonjs/assertion/assertion-sync.d.ts.map +1 -1
  9. package/dist/commonjs/assertion/assertion-sync.js +5 -1
  10. package/dist/commonjs/assertion/assertion-sync.js.map +1 -1
  11. package/dist/commonjs/assertion/assertion-types.d.ts +6 -2
  12. package/dist/commonjs/assertion/assertion-types.d.ts.map +1 -1
  13. package/dist/commonjs/assertion/assertion.d.ts +1 -1
  14. package/dist/commonjs/assertion/assertion.d.ts.map +1 -1
  15. package/dist/commonjs/assertion/assertion.js +1 -14
  16. package/dist/commonjs/assertion/assertion.js.map +1 -1
  17. package/dist/commonjs/assertion/impl/async.d.ts +122 -21
  18. package/dist/commonjs/assertion/impl/async.d.ts.map +1 -1
  19. package/dist/commonjs/assertion/impl/async.js +112 -88
  20. package/dist/commonjs/assertion/impl/async.js.map +1 -1
  21. package/dist/commonjs/assertion/impl/callback.d.ts +104 -0
  22. package/dist/commonjs/assertion/impl/callback.d.ts.map +1 -0
  23. package/dist/commonjs/assertion/impl/callback.js +694 -0
  24. package/dist/commonjs/assertion/impl/callback.js.map +1 -0
  25. package/dist/commonjs/assertion/impl/index.d.ts +1 -1
  26. package/dist/commonjs/assertion/impl/index.d.ts.map +1 -1
  27. package/dist/commonjs/assertion/impl/index.js.map +1 -1
  28. package/dist/commonjs/assertion/impl/sync-esoteric.js +1 -1
  29. package/dist/commonjs/assertion/impl/sync-esoteric.js.map +1 -1
  30. package/dist/commonjs/assertion/impl/sync-parametric.d.ts +21 -18
  31. package/dist/commonjs/assertion/impl/sync-parametric.d.ts.map +1 -1
  32. package/dist/commonjs/assertion/impl/sync-parametric.js +31 -46
  33. package/dist/commonjs/assertion/impl/sync-parametric.js.map +1 -1
  34. package/dist/commonjs/assertion/impl/sync.d.ts +66 -19
  35. package/dist/commonjs/assertion/impl/sync.d.ts.map +1 -1
  36. package/dist/commonjs/assertion/impl/sync.js +4 -1
  37. package/dist/commonjs/assertion/impl/sync.js.map +1 -1
  38. package/dist/commonjs/bootstrap.d.ts +145 -41
  39. package/dist/commonjs/bootstrap.d.ts.map +1 -1
  40. package/dist/commonjs/bootstrap.js +2 -3
  41. package/dist/commonjs/bootstrap.js.map +1 -1
  42. package/dist/commonjs/constant.js +7 -1
  43. package/dist/commonjs/constant.js.map +1 -1
  44. package/dist/commonjs/error.d.ts +22 -2
  45. package/dist/commonjs/error.d.ts.map +1 -1
  46. package/dist/commonjs/error.js +44 -4
  47. package/dist/commonjs/error.js.map +1 -1
  48. package/dist/commonjs/expect.d.ts.map +1 -1
  49. package/dist/commonjs/expect.js +1 -1
  50. package/dist/commonjs/expect.js.map +1 -1
  51. package/dist/commonjs/guards.d.ts +23 -5
  52. package/dist/commonjs/guards.d.ts.map +1 -1
  53. package/dist/commonjs/guards.js +26 -24
  54. package/dist/commonjs/guards.js.map +1 -1
  55. package/dist/commonjs/index.d.ts +144 -40
  56. package/dist/commonjs/index.d.ts.map +1 -1
  57. package/dist/commonjs/index.js.map +1 -1
  58. package/dist/commonjs/schema.d.ts +18 -8
  59. package/dist/commonjs/schema.d.ts.map +1 -1
  60. package/dist/commonjs/schema.js +21 -11
  61. package/dist/commonjs/schema.js.map +1 -1
  62. package/dist/commonjs/types.d.ts +39 -8
  63. package/dist/commonjs/types.d.ts.map +1 -1
  64. package/dist/commonjs/util.d.ts +66 -50
  65. package/dist/commonjs/util.d.ts.map +1 -1
  66. package/dist/commonjs/util.js +169 -156
  67. package/dist/commonjs/util.js.map +1 -1
  68. package/dist/commonjs/value-to-schema.d.ts +122 -0
  69. package/dist/commonjs/value-to-schema.d.ts.map +1 -0
  70. package/dist/commonjs/value-to-schema.js +309 -0
  71. package/dist/commonjs/value-to-schema.js.map +1 -0
  72. package/dist/esm/assertion/assertion-async.d.ts +2 -1
  73. package/dist/esm/assertion/assertion-async.d.ts.map +1 -1
  74. package/dist/esm/assertion/assertion-async.js +85 -3
  75. package/dist/esm/assertion/assertion-async.js.map +1 -1
  76. package/dist/esm/assertion/assertion-sync.d.ts +1 -1
  77. package/dist/esm/assertion/assertion-sync.d.ts.map +1 -1
  78. package/dist/esm/assertion/assertion-sync.js +6 -2
  79. package/dist/esm/assertion/assertion-sync.js.map +1 -1
  80. package/dist/esm/assertion/assertion-types.d.ts +6 -2
  81. package/dist/esm/assertion/assertion-types.d.ts.map +1 -1
  82. package/dist/esm/assertion/assertion.d.ts +1 -1
  83. package/dist/esm/assertion/assertion.d.ts.map +1 -1
  84. package/dist/esm/assertion/assertion.js +1 -14
  85. package/dist/esm/assertion/assertion.js.map +1 -1
  86. package/dist/esm/assertion/impl/async.d.ts +122 -21
  87. package/dist/esm/assertion/impl/async.d.ts.map +1 -1
  88. package/dist/esm/assertion/impl/async.js +111 -87
  89. package/dist/esm/assertion/impl/async.js.map +1 -1
  90. package/dist/esm/assertion/impl/callback.d.ts +104 -0
  91. package/dist/esm/assertion/impl/callback.d.ts.map +1 -0
  92. package/dist/esm/assertion/impl/callback.js +691 -0
  93. package/dist/esm/assertion/impl/callback.js.map +1 -0
  94. package/dist/esm/assertion/impl/index.d.ts +1 -1
  95. package/dist/esm/assertion/impl/index.d.ts.map +1 -1
  96. package/dist/esm/assertion/impl/index.js +1 -1
  97. package/dist/esm/assertion/impl/index.js.map +1 -1
  98. package/dist/esm/assertion/impl/sync-esoteric.js +2 -2
  99. package/dist/esm/assertion/impl/sync-esoteric.js.map +1 -1
  100. package/dist/esm/assertion/impl/sync-parametric.d.ts +21 -18
  101. package/dist/esm/assertion/impl/sync-parametric.d.ts.map +1 -1
  102. package/dist/esm/assertion/impl/sync-parametric.js +31 -46
  103. package/dist/esm/assertion/impl/sync-parametric.js.map +1 -1
  104. package/dist/esm/assertion/impl/sync.d.ts +66 -19
  105. package/dist/esm/assertion/impl/sync.d.ts.map +1 -1
  106. package/dist/esm/assertion/impl/sync.js +3 -1
  107. package/dist/esm/assertion/impl/sync.js.map +1 -1
  108. package/dist/esm/bootstrap.d.ts +145 -41
  109. package/dist/esm/bootstrap.d.ts.map +1 -1
  110. package/dist/esm/bootstrap.js +1 -2
  111. package/dist/esm/bootstrap.js.map +1 -1
  112. package/dist/esm/constant.js +6 -0
  113. package/dist/esm/constant.js.map +1 -1
  114. package/dist/esm/error.d.ts +22 -2
  115. package/dist/esm/error.d.ts.map +1 -1
  116. package/dist/esm/error.js +43 -4
  117. package/dist/esm/error.js.map +1 -1
  118. package/dist/esm/expect.d.ts.map +1 -1
  119. package/dist/esm/expect.js +2 -2
  120. package/dist/esm/expect.js.map +1 -1
  121. package/dist/esm/guards.d.ts +23 -5
  122. package/dist/esm/guards.d.ts.map +1 -1
  123. package/dist/esm/guards.js +22 -21
  124. package/dist/esm/guards.js.map +1 -1
  125. package/dist/esm/index.d.ts +144 -40
  126. package/dist/esm/index.d.ts.map +1 -1
  127. package/dist/esm/index.js.map +1 -1
  128. package/dist/esm/schema.d.ts +18 -8
  129. package/dist/esm/schema.d.ts.map +1 -1
  130. package/dist/esm/schema.js +21 -11
  131. package/dist/esm/schema.js.map +1 -1
  132. package/dist/esm/types.d.ts +39 -8
  133. package/dist/esm/types.d.ts.map +1 -1
  134. package/dist/esm/util.d.ts +66 -50
  135. package/dist/esm/util.d.ts.map +1 -1
  136. package/dist/esm/util.js +153 -154
  137. package/dist/esm/util.js.map +1 -1
  138. package/dist/esm/value-to-schema.d.ts +122 -0
  139. package/dist/esm/value-to-schema.d.ts.map +1 -0
  140. package/dist/esm/value-to-schema.js +305 -0
  141. package/dist/esm/value-to-schema.js.map +1 -0
  142. package/package.json +16 -13
  143. package/src/assertion/assertion-async.ts +113 -3
  144. package/src/assertion/assertion-sync.ts +5 -2
  145. package/src/assertion/assertion-types.ts +14 -4
  146. package/src/assertion/assertion.ts +2 -17
  147. package/src/assertion/impl/async.ts +130 -90
  148. package/src/assertion/impl/callback.ts +882 -0
  149. package/src/assertion/impl/index.ts +1 -1
  150. package/src/assertion/impl/sync-esoteric.ts +2 -2
  151. package/src/assertion/impl/sync-parametric.ts +40 -48
  152. package/src/assertion/impl/sync.ts +3 -0
  153. package/src/bootstrap.ts +1 -2
  154. package/src/constant.ts +8 -0
  155. package/src/error.ts +57 -3
  156. package/src/expect.ts +6 -2
  157. package/src/guards.ts +45 -18
  158. package/src/index.ts +1 -0
  159. package/src/schema.ts +22 -11
  160. package/src/types.ts +40 -8
  161. package/src/util.ts +168 -223
  162. package/src/value-to-schema.ts +464 -0
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * This module provides reusable Zod schemas for validating constructors,
6
6
  * functions, property keys, promises, and other common JavaScript types used
7
- * throughout the assertion system. These tend to work around the impedence
7
+ * throughout the assertion system. These tend to work around the impedance
8
8
  * mismatch between **BUPKIS** and Zod.
9
9
  *
10
10
  * These are used internally, but consumers may also find them useful.
@@ -33,7 +33,7 @@
33
33
  * @packageDocumentation
34
34
  */
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.RegExpSchema = exports.ArrayLikeSchema = exports.PrimitiveSchema = exports.FalsySchema = exports.TruthySchema = exports.AsyncFunctionSchema = exports.NullProtoObjectSchema = exports.StrongSetSchema = exports.StrongMapSchema = exports.WrappedPromiseLikeSchema = exports.PropertyKeySchema = exports.FunctionSchema = exports.ClassSchema = void 0;
36
+ exports.RegExpSchema = exports.ArrayLikeSchema = exports.PrimitiveSchema = exports.FalsySchema = exports.TruthySchema = exports.AsyncFunctionSchema = exports.NullProtoObjectSchema = exports.DictionarySchema = exports.StrongSetSchema = exports.StrongMapSchema = exports.WrappedPromiseLikeSchema = exports.PropertyKeySchema = exports.FunctionSchema = exports.ClassSchema = void 0;
37
37
  const v4_1 = require("zod/v4");
38
38
  const guards_js_1 = require("./guards.js");
39
39
  const metadata_js_1 = require("./metadata.js");
@@ -42,7 +42,7 @@ const metadata_js_1 = require("./metadata.js");
42
42
  *
43
43
  * This schema validates values that can be used as constructors, including ES6
44
44
  * classes, traditional constructor functions, and built-in constructors. It
45
- * uses the {@link isConstructable} guard function to determine if a value can be
45
+ * uses the {@link isConstructible} guard function to determine if a value can be
46
46
  * invoked with the `new` operator to create object instances.
47
47
  *
48
48
  * @privateRemarks
@@ -65,7 +65,7 @@ const metadata_js_1 = require("./metadata.js");
65
65
  * @group Schema
66
66
  */
67
67
  exports.ClassSchema = v4_1.z
68
- .custom(guards_js_1.isConstructable)
68
+ .custom(guards_js_1.isConstructible)
69
69
  .register(metadata_js_1.BupkisRegistry, { name: 'ClassSchema' })
70
70
  .describe('Class / Constructor');
71
71
  /**
@@ -224,9 +224,12 @@ exports.StrongSetSchema = v4_1.z
224
224
  * `Object.prototype`, making them useful as pure data containers or
225
225
  * dictionaries.
226
226
  *
227
- * @remarks
227
+ * @privateRemarks
228
228
  * The schema is registered in the `BupkisRegistry` with the name
229
229
  * `ObjectWithNullPrototype` for later reference and type checking purposes.
230
+ *
231
+ * Changing this to be a `ZodRecord` would be nice, but that would end up
232
+ * blasting away the original object's prototype.
230
233
  * @example
231
234
  *
232
235
  * ```typescript
@@ -242,11 +245,18 @@ exports.StrongSetSchema = v4_1.z
242
245
  * ```
243
246
  *
244
247
  * @group Schema
248
+ * @see Aliases: {@link NullProtoObjectSchema}, {@link DictionarySchema}
245
249
  */
246
- exports.NullProtoObjectSchema = v4_1.z
250
+ exports.DictionarySchema = v4_1.z
247
251
  .custom((value) => (0, guards_js_1.isNonNullObject)(value) && Object.getPrototypeOf(value) === null)
248
252
  .describe('Object with null prototype')
249
253
  .register(metadata_js_1.BupkisRegistry, { name: 'ObjectWithNullPrototype' });
254
+ /**
255
+ * {@inheritDoc DictionarySchema}
256
+ *
257
+ * @group Schema
258
+ */
259
+ exports.NullProtoObjectSchema = exports.DictionarySchema;
250
260
  /**
251
261
  * A Zod schema that validates functions declared with the `async` keyword.
252
262
  *
@@ -255,7 +265,7 @@ exports.NullProtoObjectSchema = v4_1.z
255
265
  * function's internal `[[ToString]]` representation to distinguish async
256
266
  * functions from regular functions that might return Promises.
257
267
  *
258
- * @remarks
268
+ * @privateRemarks
259
269
  * The schema is registered in the `BupkisRegistry` with the name
260
270
  * `AsyncFunctionSchema` for later reference and type checking purposes. This
261
271
  * schema cannot reliably detect functions that return Promises but are not
@@ -294,7 +304,7 @@ exports.AsyncFunctionSchema = exports.FunctionSchema.refine((value) => Object.pr
294
304
  * if it converts to `true` when evaluated in a boolean context - essentially
295
305
  * any value that is not one of the eight falsy values.
296
306
  *
297
- * @remarks
307
+ * @privateRemarks
298
308
  * The schema is registered in the `BupkisRegistry` with the name `Truthy` and
299
309
  * indicates that it accepts anything as valid input for evaluation.
300
310
  * @example
@@ -329,7 +339,7 @@ exports.TruthySchema = v4_1.z
329
339
  * in JavaScript are: `false`, `0`, `-0`, `0n`, `""` (empty string), `null`,
330
340
  * `undefined`, and `NaN`.
331
341
  *
332
- * @remarks
342
+ * @privateRemarks
333
343
  * The schema is registered in the `BupkisRegistry` with the name `Falsy` and
334
344
  * indicates that it accepts anything as valid input for evaluation.
335
345
  * @example
@@ -366,7 +376,7 @@ exports.FalsySchema = v4_1.z
366
376
  * distinguishing them from objects and functions which are non-primitive
367
377
  * reference types.
368
378
  *
369
- * @remarks
379
+ * @privateRemarks
370
380
  * The schema is registered in the `BupkisRegistry` with the name `Primitive`
371
381
  * and indicates that it accepts primitive values as valid input.
372
382
  * @example
@@ -446,7 +456,7 @@ exports.ArrayLikeSchema = v4_1.z
446
456
  * It ensures the validated value is a proper regular expression object with all
447
457
  * associated methods and properties.
448
458
  *
449
- * @remarks
459
+ * @privateRemarks
450
460
  * The schema is registered in the `BupkisRegistry` with the name `RegExp` for
451
461
  * later reference and type checking purposes.
452
462
  * @example
@@ -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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"}
@@ -166,14 +166,7 @@ export interface CreateAsyncAssertionFn {
166
166
  * @returns New `AssertionFunctionAsync` object
167
167
  */
168
168
  <const Parts extends AssertionParts, Impl extends AssertionImplFnAsync<Parts>, Slots extends AssertionSlots<Parts>>(parts: Parts, impl: Impl): AssertionFunctionAsync<Parts, Impl, Slots>;
169
- } /**
170
- * @template BaseSyncAssertions Base set of synchronous
171
- * {@link Assertion | Assertions}; will be the builtin sync assertions, at
172
- * minimum)
173
- * @template BaseAsyncAssertions Base set of asynchronous
174
- * {@link Assertion | Assertions}; will be the builtin async assertions, at
175
- * minimum)
176
- */
169
+ }
177
170
  /**
178
171
  * The main synchronous assertion function.
179
172
  *
@@ -486,4 +479,42 @@ export interface UseFn<BaseSyncAssertions extends AnySyncAssertions, BaseAsyncAs
486
479
  */
487
480
  <MixedAssertions extends readonly AnyAssertion[], ExtendedSyncAssertions extends FilterSyncAssertions<MixedAssertions>, ExtendedAsyncAssertions extends FilterAsyncAssertions<MixedAssertions>>(assertions: MixedAssertions): Bupkis<BaseSyncAssertions, BaseAsyncAssertions, ExtendedSyncAssertions, ExtendedAsyncAssertions>;
488
481
  }
482
+ /**
483
+ * Maps Zod `def.type` strings to their corresponding ZodType classes.
484
+ *
485
+ * This allows for type-safe discrimination of ZodTypes based on their internal
486
+ * `def.type` property in Zod v4.
487
+ */
488
+ export interface ZodTypeMap {
489
+ any: z.ZodAny;
490
+ array: z.ZodArray<any>;
491
+ bigint: z.ZodBigInt;
492
+ boolean: z.ZodBoolean;
493
+ catch: z.ZodCatch<any>;
494
+ date: z.ZodDate;
495
+ default: z.ZodDefault<any>;
496
+ enum: z.ZodEnum<any>;
497
+ function: z.ZodFunction<any, any>;
498
+ lazy: z.ZodLazy<any>;
499
+ literal: z.ZodLiteral<any>;
500
+ map: z.ZodMap<any, any>;
501
+ never: z.ZodNever;
502
+ null: z.ZodNull;
503
+ nullable: z.ZodNullable<any>;
504
+ number: z.ZodNumber;
505
+ object: z.ZodObject<any>;
506
+ optional: z.ZodOptional<any>;
507
+ pipe: z.ZodPipe<any, any>;
508
+ promise: z.ZodPromise<any>;
509
+ readonly: z.ZodReadonly<any>;
510
+ record: z.ZodRecord<any, any>;
511
+ set: z.ZodSet<any>;
512
+ string: z.ZodString;
513
+ symbol: z.ZodSymbol;
514
+ tuple: z.ZodTuple<any>;
515
+ undefined: z.ZodUndefined;
516
+ union: z.ZodUnion<any>;
517
+ unknown: z.ZodUnknown;
518
+ void: z.ZodVoid;
519
+ }
489
520
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,5 @@
1
1
  /**
2
- * Utility functions for object satisfaction and shape validation.
3
- *
4
- * This module provides core utility functions for checking if objects satisfy
5
- * expected shapes, including `satisfies` for partial matching,
6
- * `exhaustivelySatisfies` for exact matching, and `shallowSatisfiesShape` for
7
- * converting shapes to Zod schemas. All functions handle circular references
8
- * safely.
2
+ * Utility functions.
9
3
  *
10
4
  * @category API
11
5
  * @example
@@ -17,58 +11,80 @@
17
11
  * @packageDocumentation
18
12
  */
19
13
  import { type StringKeyOf } from 'type-fest';
20
- import { z } from 'zod/v4';
21
- export declare function keyBy<const T extends readonly Record<PropertyKey, any>[], K extends StringKeyOf<T[number]>>(collection: T, key: K): Record<string, T[number]>;
14
+ export * from './value-to-schema.js';
22
15
  /**
23
- * Recursively converts an arbitrary value to a Zod v4 schema that would
24
- * validate values with the same structure.
16
+ * _Recursively_ searches within an object, array, or any nested structure to
17
+ * find whether a specific key exists.
25
18
  *
26
- * This function analyzes the runtime value and generates a corresponding Zod
27
- * schema that captures the value's structure and type information. It handles
28
- * primitives, objects, arrays, functions, and various built-in types, with
29
- * support for circular reference detection.
19
+ * Handles circular references by tracking visited objects to prevent infinite
20
+ * recursion.
30
21
  *
31
22
  * @example
32
23
  *
33
- * ```typescript
34
- * // Primitive types
35
- * valueToSchema('hello'); // z.string()
36
- * valueToSchema(42); // z.number()
37
- * valueToSchema(true); // z.boolean()
24
+ * ```ts
25
+ * const obj = { a: 1, b: { c: 2, d: [{ e: 3 }] } };
38
26
  *
39
- * // Objects
40
- * valueToSchema({ name: 'John', age: 30 });
41
- * // z.object({ name: z.string(), age: z.number() })
27
+ * hasKey(obj, 'c'); // true
28
+ * hasKey(obj, 'e'); // true
29
+ * hasKey(obj, 'x'); // false (key not found)
30
+ * ```
42
31
  *
43
- * // Arrays
44
- * valueToSchema(['a', 'b', 'c']); // z.array(z.string())
45
- * valueToSchema([1, 'mixed']); // z.array(z.union([z.number(), z.string()]))
32
+ * @param obj The object, array, or value to search within
33
+ * @param key The key to search for
34
+ * @param visited Internal set for circular reference detection
35
+ * @returns True if the key is found anywhere in the structure, false otherwise
36
+ */
37
+ export declare function hasKey(obj: unknown, key: PropertyKey, visited?: WeakSet<object>): boolean;
38
+ /**
39
+ * _Recursively_ searches within an object, array, or any nested structure to
40
+ * find whether a specific value exists.
41
+ *
42
+ * Uses strict equality (===) to compare values, with special handling for empty
43
+ * objects. Handles circular references by tracking visited objects to prevent
44
+ * infinite recursion.
45
+ *
46
+ * @example
47
+ *
48
+ * ```ts
49
+ * const obj = { a: 1, b: { c: 2, d: [{ e: 3 }] }, empty: {} };
46
50
  *
47
- * // Nested structures
48
- * valueToSchema({ users: [{ name: 'John' }] });
49
- * // z.object({ users: z.array(z.object({ name: z.string() })) })
51
+ * hasValue(obj, 2); // true (found in obj.b.c)
52
+ * hasValue(obj, 3); // true (found in obj.b.d[0].e)
53
+ * hasValue(obj, {}); // true (found in obj.empty, matches empty objects)
54
+ * hasValue(obj, '1'); // false (strict equality, 1 !== '1')
55
+ * hasValue(obj, 999); // false (value not found)
50
56
  * ```
51
57
  *
52
- * @param value - The value to convert to a schema
53
- * @param options - Configuration options for schema generation
54
- * @param visited - Internal WeakSet for circular reference detection
55
- * @returns A Zod schema that validates values matching the input's structure
58
+ * @param obj The object, array, or value to search within
59
+ * @param value The value to search for (using strict equality, with special
60
+ * empty object handling)
61
+ * @param visited Internal set for circular reference detection
62
+ * @returns True if the value is found anywhere in the structure, false
63
+ * otherwise
56
64
  */
57
- export declare const valueToSchema: (value: unknown, options?: {
58
- /** Current depth (internal) */
59
- _currentDepth?: number;
60
- /** Whether to allow mixed types in arrays (default: true) */
61
- allowMixedArrays?: boolean;
62
- /** If `true`, use `z.literal()` for primitive values instead of type schemas */
63
- literalPrimitives?: boolean;
64
- /**
65
- * If `true`, treat `RegExp` literals as `RegExp` literals; otherwise treat
66
- * as strings and attempt match
67
- */
68
- literalRegExp?: boolean;
69
- /** Maximum nesting depth to prevent stack overflow (default: 10) */
70
- maxDepth?: number;
71
- /** If `true`, will disallow unknown properties in objects */
72
- strict?: boolean;
73
- }, visited?: WeakSet<object>) => z.ZodType;
65
+ export declare function hasValue(obj: unknown, value: unknown, visited?: WeakSet<object>): boolean;
66
+ /**
67
+ * _Recursively_ searches for a key-value pair within an object or array.
68
+ *
69
+ * Uses strict equality (===) to compare values. Handles circular references by
70
+ * tracking visited objects to prevent infinite recursion.
71
+ *
72
+ * @example
73
+ *
74
+ * ```ts
75
+ * const obj = { a: 1, b: { c: 2, d: [{ e: 3 }] } };
76
+ *
77
+ * hasKeyValue(obj, 'c', 2); // true
78
+ * hasKeyValue(obj, 'e', 3); // true
79
+ * hasKeyValue(obj, 'a', '1'); // false (strict equality)
80
+ * hasKeyValue(obj, 'x', 1); // false (key not found)
81
+ * /**
82
+ * Maps an array of objects to an object keyed by the specified key.
83
+ *
84
+ * @param collection Array of objects
85
+ * @param key Name of key
86
+ * @returns Object mapping key values to objects
87
+ * ```
88
+ */
89
+ export declare function keyBy<const T extends readonly Record<PropertyKey, any>[], K extends StringKeyOf<T[number]>>(collection: T, key: K): Record<string, T[number]>;
74
90
  //# sourceMappingURL=util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAW3B,wBAAgB,KAAK,CACnB,KAAK,CAAC,CAAC,SAAS,SAAS,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,EACnD,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAChC,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAelD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,aAAa,GACxB,OAAO,OAAO,EACd,UAAS;IACP,+BAA+B;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,OAAO,CAAC;CACb,EACN,yBAA+B,KAC9B,CAAC,CAAC,OAoKJ,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,cAAc,sBAAsB,CAAC;AAErC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,MAAM,CACpB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,WAAW,EAChB,OAAO,kBAAwB,GAC9B,OAAO,CAuCT;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,QAAQ,CACtB,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,OAAO,EACd,OAAO,kBAAwB,GAC9B,OAAO,CAyDT;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,KAAK,CACnB,KAAK,CAAC,CAAC,SAAS,SAAS,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,EACnD,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAChC,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAelD"}