@fgv/ts-utils 1.9.4 → 2.0.1-alpha.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 (211) hide show
  1. package/CHANGELOG.json +26 -0
  2. package/CHANGELOG.md +14 -0
  3. package/dist/ts-utils.d.ts +3007 -0
  4. package/dist/tsdoc-metadata.json +11 -0
  5. package/lib/index.d.ts +12 -0
  6. package/lib/index.d.ts.map +1 -0
  7. package/lib/index.js +68 -0
  8. package/lib/index.js.map +1 -0
  9. package/lib/packlets/base/brand.d.ts.map +1 -0
  10. package/lib/packlets/base/brand.js +24 -0
  11. package/lib/packlets/base/brand.js.map +1 -0
  12. package/lib/packlets/base/index.d.ts +7 -0
  13. package/lib/packlets/base/index.d.ts.map +1 -0
  14. package/lib/packlets/base/index.js +58 -0
  15. package/lib/packlets/base/index.js.map +1 -0
  16. package/{logger.d.ts → lib/packlets/base/logger.d.ts} +16 -1
  17. package/lib/packlets/base/logger.d.ts.map +1 -0
  18. package/lib/packlets/base/logger.js +128 -0
  19. package/lib/packlets/base/logger.js.map +1 -0
  20. package/{normalize.d.ts → lib/packlets/base/normalize.d.ts} +6 -0
  21. package/lib/packlets/base/normalize.d.ts.map +1 -0
  22. package/lib/packlets/base/normalize.js +139 -0
  23. package/lib/packlets/base/normalize.js.map +1 -0
  24. package/{result.d.ts → lib/packlets/base/result.d.ts} +16 -15
  25. package/lib/packlets/base/result.d.ts.map +1 -0
  26. package/lib/packlets/base/result.js +571 -0
  27. package/lib/packlets/base/result.js.map +1 -0
  28. package/lib/packlets/base/utils.d.ts.map +1 -0
  29. package/lib/packlets/base/utils.js +200 -0
  30. package/lib/packlets/base/utils.js.map +1 -0
  31. package/{converter.d.ts → lib/packlets/conversion/converter.d.ts} +11 -12
  32. package/lib/packlets/conversion/converter.d.ts.map +1 -0
  33. package/lib/packlets/conversion/converter.js +218 -0
  34. package/lib/packlets/conversion/converter.js.map +1 -0
  35. package/{converters.d.ts → lib/packlets/conversion/converters.d.ts} +52 -216
  36. package/lib/packlets/conversion/converters.d.ts.map +1 -0
  37. package/lib/packlets/conversion/converters.js +739 -0
  38. package/lib/packlets/conversion/converters.js.map +1 -0
  39. package/lib/packlets/conversion/index.d.ts +6 -0
  40. package/lib/packlets/conversion/index.d.ts.map +1 -0
  41. package/lib/packlets/conversion/index.js +56 -0
  42. package/lib/packlets/conversion/index.js.map +1 -0
  43. package/lib/packlets/conversion/objectConverter.d.ts +94 -0
  44. package/lib/packlets/conversion/objectConverter.d.ts.map +1 -0
  45. package/lib/packlets/conversion/objectConverter.js +110 -0
  46. package/lib/packlets/conversion/objectConverter.js.map +1 -0
  47. package/lib/packlets/conversion/stringConverter.d.ts +78 -0
  48. package/lib/packlets/conversion/stringConverter.d.ts.map +1 -0
  49. package/lib/packlets/conversion/stringConverter.js +97 -0
  50. package/lib/packlets/conversion/stringConverter.js.map +1 -0
  51. package/{csvHelpers.d.ts → lib/packlets/csv/csvHelpers.d.ts} +1 -1
  52. package/lib/packlets/csv/csvHelpers.d.ts.map +1 -0
  53. package/lib/packlets/csv/csvHelpers.js +69 -0
  54. package/lib/packlets/csv/csvHelpers.js.map +1 -0
  55. package/lib/packlets/csv/index.d.ts +2 -0
  56. package/lib/packlets/csv/index.d.ts.map +1 -0
  57. package/lib/packlets/csv/index.js +39 -0
  58. package/lib/packlets/csv/index.js.map +1 -0
  59. package/{extendedArray.d.ts → lib/packlets/experimental/extendedArray.d.ts} +7 -7
  60. package/lib/packlets/experimental/extendedArray.d.ts.map +1 -0
  61. package/lib/packlets/experimental/extendedArray.js +106 -0
  62. package/lib/packlets/experimental/extendedArray.js.map +1 -0
  63. package/{formatter.d.ts → lib/packlets/experimental/formatter.d.ts} +6 -6
  64. package/lib/packlets/experimental/formatter.d.ts.map +1 -0
  65. package/lib/packlets/experimental/formatter.js +75 -0
  66. package/lib/packlets/experimental/formatter.js.map +1 -0
  67. package/lib/packlets/experimental/index.d.ts +4 -0
  68. package/lib/packlets/experimental/index.d.ts.map +1 -0
  69. package/lib/packlets/experimental/index.js +41 -0
  70. package/lib/packlets/experimental/index.js.map +1 -0
  71. package/{rangeOf.d.ts → lib/packlets/experimental/rangeOf.d.ts} +21 -24
  72. package/lib/packlets/experimental/rangeOf.d.ts.map +1 -0
  73. package/lib/packlets/experimental/rangeOf.js +185 -0
  74. package/lib/packlets/experimental/rangeOf.js.map +1 -0
  75. package/{hash.d.ts → lib/packlets/hash/hash.d.ts} +1 -1
  76. package/lib/packlets/hash/hash.d.ts.map +1 -0
  77. package/lib/packlets/hash/hash.js +168 -0
  78. package/lib/packlets/hash/hash.js.map +1 -0
  79. package/lib/packlets/hash/index.d.ts +2 -0
  80. package/lib/packlets/hash/index.d.ts.map +1 -0
  81. package/lib/packlets/hash/index.js +39 -0
  82. package/lib/packlets/hash/index.js.map +1 -0
  83. package/lib/packlets/record-jar/index.d.ts +2 -0
  84. package/lib/packlets/record-jar/index.d.ts.map +1 -0
  85. package/lib/packlets/record-jar/index.js +39 -0
  86. package/lib/packlets/record-jar/index.js.map +1 -0
  87. package/{recordJarHelpers.d.ts → lib/packlets/record-jar/recordJarHelpers.d.ts} +1 -1
  88. package/lib/packlets/record-jar/recordJarHelpers.d.ts.map +1 -0
  89. package/lib/packlets/record-jar/recordJarHelpers.js +263 -0
  90. package/lib/packlets/record-jar/recordJarHelpers.js.map +1 -0
  91. package/{validation → lib/packlets/validation}/array.d.ts +2 -2
  92. package/lib/packlets/validation/array.d.ts.map +1 -0
  93. package/lib/packlets/validation/array.js +67 -0
  94. package/lib/packlets/validation/array.js.map +1 -0
  95. package/{validation → lib/packlets/validation}/boolean.d.ts +1 -1
  96. package/lib/packlets/validation/boolean.d.ts.map +1 -0
  97. package/lib/packlets/validation/boolean.js +56 -0
  98. package/lib/packlets/validation/boolean.js.map +1 -0
  99. package/lib/packlets/validation/classes.d.ts.map +1 -0
  100. package/lib/packlets/validation/classes.js +38 -0
  101. package/lib/packlets/validation/classes.js.map +1 -0
  102. package/lib/packlets/validation/common.d.ts.map +1 -0
  103. package/lib/packlets/validation/common.js +24 -0
  104. package/lib/packlets/validation/common.js.map +1 -0
  105. package/{validation → lib/packlets/validation}/field.d.ts +1 -1
  106. package/lib/packlets/validation/field.d.ts.map +1 -0
  107. package/lib/packlets/validation/field.js +71 -0
  108. package/lib/packlets/validation/field.js.map +1 -0
  109. package/{validation → lib/packlets/validation}/genericValidator.d.ts +2 -3
  110. package/lib/packlets/validation/genericValidator.d.ts.map +1 -0
  111. package/lib/packlets/validation/genericValidator.js +137 -0
  112. package/lib/packlets/validation/genericValidator.js.map +1 -0
  113. package/lib/packlets/validation/index.d.ts.map +1 -0
  114. package/{validation → lib/packlets/validation}/index.js +1 -1
  115. package/lib/packlets/validation/index.js.map +1 -0
  116. package/{validation → lib/packlets/validation}/number.d.ts +1 -1
  117. package/lib/packlets/validation/number.d.ts.map +1 -0
  118. package/lib/packlets/validation/number.js +54 -0
  119. package/lib/packlets/validation/number.js.map +1 -0
  120. package/{validation → lib/packlets/validation}/object.d.ts +1 -1
  121. package/lib/packlets/validation/object.d.ts.map +1 -0
  122. package/lib/packlets/validation/object.js +139 -0
  123. package/lib/packlets/validation/object.js.map +1 -0
  124. package/{validation → lib/packlets/validation}/string.d.ts +1 -1
  125. package/lib/packlets/validation/string.d.ts.map +1 -0
  126. package/lib/packlets/validation/string.js +54 -0
  127. package/lib/packlets/validation/string.js.map +1 -0
  128. package/lib/packlets/validation/traits.d.ts.map +1 -0
  129. package/lib/packlets/validation/traits.js +58 -0
  130. package/lib/packlets/validation/traits.js.map +1 -0
  131. package/{validation → lib/packlets/validation}/typeGuard.d.ts +1 -1
  132. package/lib/packlets/validation/typeGuard.d.ts.map +1 -0
  133. package/lib/packlets/validation/typeGuard.js +62 -0
  134. package/lib/packlets/validation/typeGuard.js.map +1 -0
  135. package/{validation → lib/packlets/validation}/validator.d.ts +15 -16
  136. package/lib/packlets/validation/validator.d.ts.map +1 -0
  137. package/lib/packlets/validation/validator.js +24 -0
  138. package/lib/packlets/validation/validator.js.map +1 -0
  139. package/{validation → lib/packlets/validation}/validatorBase.d.ts +1 -1
  140. package/lib/packlets/validation/validatorBase.d.ts.map +1 -0
  141. package/lib/packlets/validation/validatorBase.js +41 -0
  142. package/lib/packlets/validation/validatorBase.js.map +1 -0
  143. package/{validation → lib/packlets/validation}/validators.d.ts +3 -6
  144. package/lib/packlets/validation/validators.d.ts.map +1 -0
  145. package/lib/packlets/validation/validators.js +121 -0
  146. package/lib/packlets/validation/validators.js.map +1 -0
  147. package/package.json +21 -20
  148. package/brand.d.ts.map +0 -1
  149. package/brand.js +0 -24
  150. package/converter.d.ts.map +0 -1
  151. package/converter.js +0 -222
  152. package/converters.d.ts.map +0 -1
  153. package/converters.js +0 -896
  154. package/csvHelpers.d.ts.map +0 -1
  155. package/csvHelpers.js +0 -69
  156. package/extendedArray.d.ts.map +0 -1
  157. package/extendedArray.js +0 -106
  158. package/formatter.d.ts.map +0 -1
  159. package/formatter.js +0 -75
  160. package/hash.d.ts.map +0 -1
  161. package/hash.js +0 -168
  162. package/index.d.ts +0 -15
  163. package/index.d.ts.map +0 -1
  164. package/index.js +0 -70
  165. package/logger.d.ts.map +0 -1
  166. package/logger.js +0 -115
  167. package/normalize.d.ts.map +0 -1
  168. package/normalize.js +0 -139
  169. package/rangeOf.d.ts.map +0 -1
  170. package/rangeOf.js +0 -185
  171. package/recordJarHelpers.d.ts.map +0 -1
  172. package/recordJarHelpers.js +0 -262
  173. package/result.d.ts.map +0 -1
  174. package/result.js +0 -569
  175. package/utils.d.ts.map +0 -1
  176. package/utils.js +0 -200
  177. package/validation/array.d.ts.map +0 -1
  178. package/validation/array.js +0 -67
  179. package/validation/boolean.d.ts.map +0 -1
  180. package/validation/boolean.js +0 -59
  181. package/validation/classes.d.ts.map +0 -1
  182. package/validation/classes.js +0 -38
  183. package/validation/common.d.ts.map +0 -1
  184. package/validation/common.js +0 -24
  185. package/validation/field.d.ts.map +0 -1
  186. package/validation/field.js +0 -72
  187. package/validation/genericValidator.d.ts.map +0 -1
  188. package/validation/genericValidator.js +0 -138
  189. package/validation/index.d.ts.map +0 -1
  190. package/validation/number.d.ts.map +0 -1
  191. package/validation/number.js +0 -57
  192. package/validation/object.d.ts.map +0 -1
  193. package/validation/object.js +0 -143
  194. package/validation/string.d.ts.map +0 -1
  195. package/validation/string.js +0 -57
  196. package/validation/traits.d.ts.map +0 -1
  197. package/validation/traits.js +0 -58
  198. package/validation/typeGuard.d.ts.map +0 -1
  199. package/validation/typeGuard.js +0 -62
  200. package/validation/validator.d.ts.map +0 -1
  201. package/validation/validator.js +0 -24
  202. package/validation/validatorBase.d.ts.map +0 -1
  203. package/validation/validatorBase.js +0 -44
  204. package/validation/validators.d.ts.map +0 -1
  205. package/validation/validators.js +0 -119
  206. /package/{brand.d.ts → lib/packlets/base/brand.d.ts} +0 -0
  207. /package/{utils.d.ts → lib/packlets/base/utils.d.ts} +0 -0
  208. /package/{validation → lib/packlets/validation}/classes.d.ts +0 -0
  209. /package/{validation → lib/packlets/validation}/common.d.ts +0 -0
  210. /package/{validation → lib/packlets/validation}/index.d.ts +0 -0
  211. /package/{validation → lib/packlets/validation}/traits.d.ts +0 -0
@@ -1,91 +1,18 @@
1
- import { BaseConverter, Converter, ConverterTraits } from './converter';
2
- import { RangeOf, RangeOfProperties } from './rangeOf';
3
- import { Result } from './result';
4
- import { TypeGuardWithContext, Validator } from './validation';
5
- import { ExtendedArray } from './extendedArray';
1
+ import { Result } from '../base';
2
+ import { ExtendedArray, RangeOf, RangeOfProperties } from '../experimental';
3
+ import { TypeGuardWithContext, Validator } from '../validation';
4
+ import { Converter } from './converter';
5
+ import { FieldConverters, ObjectConverter, ObjectConverterOptions } from './objectConverter';
6
+ import { StringConverter } from './stringConverter';
6
7
  type OnError = 'failOnError' | 'ignoreErrors';
7
- /**
8
- * Options for {@link Converters.StringConverter | StringConverter}
9
- * matching method
10
- * @public
11
- */
12
- export interface StringMatchOptions {
13
- /**
14
- * An optional message to be displayed if a non-matching string
15
- * is encountered.
16
- */
17
- message?: string;
18
- }
19
- /**
20
- * The {@link Converters.StringConverter | StringConverter} class extends {@link BaseConverter}
21
- * to provide string-specific helper methods.
22
- * @public
23
- */
24
- export declare class StringConverter<T extends string = string, TC = unknown> extends BaseConverter<T, TC> {
25
- /**
26
- * Construct a new {@link Converters.StringConverter | StringConverter}.
27
- * @param defaultContext - Optional context used by the conversion.
28
- * @param traits - Optional traits to be applied to the conversion.
29
- * @param converter - Optional conversion function to be used for the conversion.
30
- */
31
- constructor(defaultContext?: TC, traits?: ConverterTraits, converter?: (from: unknown, self: Converter<T, TC>, context?: TC) => Result<T>);
32
- /**
33
- * @internal
34
- */
35
- protected static _convert<T extends string>(from: unknown): Result<T>;
36
- /**
37
- * @internal
38
- */
39
- protected static _wrap<T extends string, TC>(wrapped: StringConverter<T, TC>, converter: (from: T) => Result<T>, traits?: ConverterTraits): StringConverter<T, TC>;
40
- /**
41
- * Returns a {@link Converters.StringConverter | StringConverter} which constrains the result to match
42
- * a supplied string.
43
- * @param match - The string to be matched
44
- * @param options - Optional {@link Converters.StringMatchOptions} for this conversion.
45
- * @returns {@link Success} with a matching string or {@link Failure} with an informative
46
- * error if the string does not match.
47
- * {@label string}
48
- */
49
- matching(match: string, options?: Partial<StringMatchOptions>): StringConverter<T, TC>;
50
- /**
51
- * Returns a {@link Converters.StringConverter | StringConverter} which constrains the result to match
52
- * one of a supplied array of strings.
53
- * @param match - The array of allowed strings.
54
- * @param options - Optional {@link Converters.StringMatchOptions} for this conversion.
55
- * @returns {@link Success} with a matching string or {@link Failure} with an informative
56
- * error if the string does not match.
57
- * {@label array}
58
- */
59
- matching(match: string[], options?: Partial<StringMatchOptions>): StringConverter<T, TC>;
60
- /**
61
- * Returns a {@link Converters.StringConverter | StringConverter} which constrains the result to match
62
- * one of a supplied `Set` of strings.
63
- * @param match - The `Set` of allowed strings.
64
- * @param options - Optional {@link Converters.StringMatchOptions} for this conversion.
65
- * @returns {@link Success} with a matching string or {@link Failure} with an informative
66
- * error if the string does not match.
67
- * {@label set}
68
- */
69
- matching(match: Set<T>, options?: Partial<StringMatchOptions>): StringConverter<T, TC>;
70
- /**
71
- * Returns a {@link Converters.StringConverter | StringConverter} which constrains the result to match
72
- * a supplied regular expression.
73
- * @param match - The regular expression to be used as a constraint.
74
- * @param options - Optional {@link Converters.StringMatchOptions} for this conversion
75
- * @returns {@link Success} with a matching string or {@link Failure} with an informative
76
- * error if the string does not match.
77
- * {@label regexp}
78
- */
79
- matching(match: RegExp, options?: Partial<StringMatchOptions>): StringConverter<T, TC>;
80
- }
81
8
  /**
82
9
  * A converter to convert unknown to string. Values of type
83
10
  * string succeed. Anything else fails.
84
11
  * @public
85
12
  */
86
- export declare const string: StringConverter<string, unknown>;
13
+ export declare const string: StringConverter;
87
14
  /**
88
- * Helper function to create a {@link Converters.StringConverter | StringConverter} which converts
15
+ * Helper function to create a {@link Conversion.StringConverter | StringConverter} which converts
89
16
  * `unknown` to `string`, applying template conversions supplied at construction time or at
90
17
  * runtime as context.
91
18
  * @remarks
@@ -141,7 +68,7 @@ export declare const value: typeof literal;
141
68
  * Numbers and strings with a numeric format succeed. Anything else fails.
142
69
  * @public
143
70
  */
144
- export declare const number: BaseConverter<number, undefined>;
71
+ export declare const number: Converter<number, undefined>;
145
72
  /**
146
73
  * A {@link Converter} which converts `unknown` to `boolean`.
147
74
  * @remarks
@@ -149,7 +76,7 @@ export declare const number: BaseConverter<number, undefined>;
149
76
  * Anything else fails.
150
77
  * @public
151
78
  */
152
- export declare const boolean: BaseConverter<boolean, undefined>;
79
+ export declare const boolean: Converter<boolean, undefined>;
153
80
  /**
154
81
  * A {@link Converter} which converts an optional `string` value. Values of type
155
82
  * `string` are returned. Anything else returns {@link Success} with value `undefined`.
@@ -171,7 +98,7 @@ export declare function delimitedString(delimiter: string, options?: 'filtered'
171
98
  * a `Date` object.
172
99
  * @public
173
100
  */
174
- export declare const isoDate: BaseConverter<Date, undefined>;
101
+ export declare const isoDate: Converter<Date, unknown>;
175
102
  /**
176
103
  * Helper function to create a {@link Converter} from any {@link Validation.Validator}
177
104
  * @param validator - the validator to be wrapped
@@ -195,7 +122,7 @@ export declare function isA<T, TC = unknown>(description: string, guard: TypeGua
195
122
  * Anything else returns {@link Success} with value `undefined`.
196
123
  * @public
197
124
  */
198
- export declare const optionalNumber: Converter<number | undefined, undefined>;
125
+ export declare const optionalNumber: Converter<number | undefined>;
199
126
  /**
200
127
  * A {@link Converter} to convert an optional `boolean` value.
201
128
  * @remarks
@@ -204,7 +131,7 @@ export declare const optionalNumber: Converter<number | undefined, undefined>;
204
131
  * with value `undefined`.
205
132
  * @public
206
133
  */
207
- export declare const optionalBoolean: Converter<boolean | undefined, undefined>;
134
+ export declare const optionalBoolean: Converter<boolean | undefined>;
208
135
  /**
209
136
  * A helper function to create a {@link Converter} for polymorphic values. Returns a
210
137
  * converter which Invokes the wrapped converters in sequence, returning the first successful
@@ -234,7 +161,7 @@ export declare function oneOf<T, TC = unknown>(converters: Array<Converter<T, TC
234
161
  */
235
162
  export declare function arrayOf<T, TC = undefined>(converter: Converter<T, TC>, onError?: OnError): Converter<T[], TC>;
236
163
  /**
237
- * A helper function to create a {@link Converter} which converts `unknown` to {@link ExtendedArray | ExtendedArray<T>}.
164
+ * A helper function to create a {@link Converter} which converts `unknown` to {@link Experimental.ExtendedArray | ExtendedArray<T>}.
238
165
  * @remarks
239
166
  * If `onError` is `'failOnError'` (default), then the entire conversion fails if any element cannot
240
167
  * be converted. If `onError` is `'ignoreErrors'`, then failing elements are silently ignored.
@@ -250,17 +177,18 @@ export declare function extendedArrayOf<T, TC = undefined>(label: string, conver
250
177
  * of strings, returns {@link Failure} with an error message otherwise.
251
178
  * @public
252
179
  */
253
- export declare const stringArray: Converter<string[], unknown>;
180
+ export declare const stringArray: Converter<string[] | undefined>;
254
181
  /**
255
- * {@link Converter} to convert an `unknown` to an array of `number`.
182
+ * {@link Converter | Converter} to convert an `unknown` to an array of `number`.
256
183
  * @remarks
257
- * Returns {@link Success} with the the supplied value if it as an array
258
- * of numbers, returns {@link Failure} with an error message otherwise.
184
+ * Returns {@link Success | Success} with the the supplied value if it as an array
185
+ * of numbers, returns {@link Failure | Failure} with an error message otherwise.
259
186
  * @public
260
187
  */
261
- export declare const numberArray: Converter<number[], undefined>;
188
+ export declare const numberArray: Converter<number[] | undefined>;
262
189
  /**
263
- * Options for {@link Converters.recordOf.(:withOptions)} and {@link Converters.mapOf.(:withOptions)}
190
+ * Options for {@link Converters.(recordOf:3) | Converters.recordOf} and
191
+ * {@link Converters.(mapOf:3) | Converters.mapOf}
264
192
  * helper functions.
265
193
  * @public
266
194
  */
@@ -285,7 +213,7 @@ export interface KeyedConverterOptions<T extends string = string, TC = undefined
285
213
  * The resulting converter fails conversion if any element cannot be converted.
286
214
  * @param converter - {@link Converter} used to convert each item in the source object.
287
215
  * @returns A {@link Converter} which returns `Record<string, T>`.
288
- * {@label default}
216
+ * {@label WITH_DEFAULT}
289
217
  * @public
290
218
  */
291
219
  export declare function recordOf<T, TC = undefined, TK extends string = string>(converter: Converter<T, TC>): Converter<Record<TK, T>, TC>;
@@ -298,7 +226,7 @@ export declare function recordOf<T, TC = undefined, TK extends string = string>(
298
226
  * cannot be converted. If `onError` is `'ignore'`, failing elements are silently ignored.
299
227
  * @param converter - {@link Converter} used to convert each item in the source object.
300
228
  * @returns A {@link Converter} which returns `Record<string, T>`.
301
- * {@label withOnError}
229
+ * {@label WITH_ON_ERROR}
302
230
  * @public
303
231
  */
304
232
  export declare function recordOf<T, TC = undefined, TK extends string = string>(converter: Converter<T, TC>, onError: 'fail' | 'ignore'): Converter<Record<TK, T>, TC>;
@@ -312,7 +240,7 @@ export declare function recordOf<T, TC = undefined, TK extends string = string>(
312
240
  * @param options - Optional {@link Converters.KeyedConverterOptions | KeyedConverterOptions<TK, TC>} which
313
241
  * supplies a key converter and/or error-handling options.
314
242
  * @returns A {@link Converter} which returns `Record<TK, T>`.
315
- * {@label withOptions}
243
+ * {@label WITH_OPTIONS}
316
244
  * @public
317
245
  */
318
246
  export declare function recordOf<T, TC = undefined, TK extends string = string>(converter: Converter<T, TC>, options: KeyedConverterOptions<TK, TC>): Converter<Record<TK, T>, TC>;
@@ -323,7 +251,7 @@ export declare function recordOf<T, TC = undefined, TK extends string = string>(
323
251
  * The resulting converter fails conversion if any element cannot be converted.
324
252
  * @param converter - {@link Converter} used to convert each item in the source object.
325
253
  * @returns A {@link Converter} which returns `Map<string, T>`.
326
- * {@label default}
254
+ * {@label WITH_DEFAULT}
327
255
  * @public
328
256
  */
329
257
  export declare function mapOf<T, TC = undefined, TK extends string = string>(converter: Converter<T, TC>): Converter<Map<TK, T>, TC>;
@@ -336,7 +264,7 @@ export declare function mapOf<T, TC = undefined, TK extends string = string>(con
336
264
  * cannot be converted. If `onError` is `'ignore'`, failing elements are silently ignored.
337
265
  * @param converter - {@link Converter} used to convert each item in the source object.
338
266
  * @returns A {@link Converter} which returns `Map<string, T>`.
339
- * {@label withOnError}
267
+ * {@label WITH_ON_ERROR}
340
268
  * @public
341
269
  */
342
270
  export declare function mapOf<T, TC = undefined, TK extends string = string>(converter: Converter<T, TC>, onError: 'fail' | 'ignore'): Converter<Map<TK, T>, TC>;
@@ -350,7 +278,7 @@ export declare function mapOf<T, TC = undefined, TK extends string = string>(con
350
278
  * @param options - Optional {@link Converters.KeyedConverterOptions | KeyedConverterOptions<TK, TC>} which
351
279
  * supplies a key converter and/or error-handling options.
352
280
  * @returns A {@link Converter} which returns `Map<TK, T>`.
353
- * {@label withOptions}
281
+ * {@label WITH_OPTIONS}
354
282
  * @public
355
283
  */
356
284
  export declare function mapOf<T, TC = undefined, TK extends string = string>(converter: Converter<T, TC>, options: KeyedConverterOptions<TK, TC>): Converter<Map<TK, T>, TC>;
@@ -417,101 +345,9 @@ export declare function field<T, TC = undefined>(name: string, converter: Conver
417
345
  */
418
346
  export declare function optionalField<T, TC = undefined>(name: string, converter: Converter<T, TC>): Converter<T | undefined, TC>;
419
347
  /**
420
- * Options for an {@link Converters.ObjectConverter | ObjectConverter}.
421
- * @public
422
- */
423
- export interface ObjectConverterOptions<T> {
424
- /**
425
- * If present, lists optional fields. Missing non-optional fields cause an error.
426
- */
427
- optionalFields?: (keyof T)[];
428
- /**
429
- * If true, unrecognized fields yield an error. If false or undefined (default),
430
- * unrecognized fields are ignored.
431
- */
432
- strict?: boolean;
433
- /**
434
- * Optional description to be included in error messages.
435
- */
436
- description?: string;
437
- }
438
- /**
439
- * Per-property converters for each of the properties in type T.
440
- * @remarks
441
- * Used to construct a {@link Converters.ObjectConverter | ObjectConverter}
442
- * @public
443
- */
444
- export type FieldConverters<T, TC = unknown> = {
445
- [key in keyof T]: Converter<T[key], TC>;
446
- };
447
- /**
448
- * A {@link Converter} which converts an object of type `<T>` without changing shape, given
449
- * a {@link Converters.FieldConverters | FieldConverters<T>} for the fields in the object.
450
- * @remarks
451
- * By default, if all of the required fields exist and can be converted, returns a new object with
452
- * the converted values under the original key names. If any required fields do not exist or cannot
453
- * be converted, the entire conversion fails. See {@link Converters.ObjectConverterOptions | ObjectConverterOptions}
454
- * for other conversion options.
455
- * @public
456
- */
457
- export declare class ObjectConverter<T, TC = unknown> extends BaseConverter<T, TC> {
458
- /**
459
- * Fields converted by this {@link Converters.ObjectConverter | ObjectConverter}.
460
- */
461
- readonly fields: FieldConverters<T>;
462
- /**
463
- * Options used to initialize this {@link Converters.ObjectConverter | ObjectConverter}.
464
- */
465
- readonly options: ObjectConverterOptions<T>;
466
- /**
467
- * Constructs a new {@link Converters.ObjectConverter | ObjectConverter<T>} using options
468
- * supplied in a {@link Converters.ObjectConverterOptions | ObjectConverterOptions<T>}.
469
- * @param fields - A {@link Converters.FieldConverters | FieldConverters<T>} containing
470
- * a {@link Converter} for each field
471
- * @param options - An optional @see ObjectConverterOptions to configure the conversion
472
- * {@label withOptions}
473
- */
474
- constructor(fields: FieldConverters<T, TC>, options?: ObjectConverterOptions<T>);
475
- /**
476
- * Constructs a new {@link Converters.ObjectConverter | ObjectConverter<T>} with optional
477
- * properties specified as an array of `keyof T`.
478
- * @param fields - A {@link Converters.FieldConverters | FieldConverters<T>} containing
479
- * a {@link Converter} for each field.
480
- * @param optional - An array of `keyof T` listing fields that are not required.
481
- * {@label withKeys}
482
- */
483
- constructor(fields: FieldConverters<T, TC>, optional?: (keyof T)[]);
484
- /**
485
- * Creates a new {@link Converters.ObjectConverter | ObjectConverter} derived from this one but with
486
- * new optional properties as specified by a supplied {@link Converters.ObjectConverterOptions | ObjectConverterOptions<T>}.
487
- * @param options - The {@link Converters.ObjectConverterOptions | options} to be applied to the new
488
- * converter.
489
- * @returns A new {@link Converters.ObjectConverter | ObjectConverter} with the additional optional source properties.
490
- * {@label withOptions}
491
- */
492
- partial(options: ObjectConverterOptions<T>): ObjectConverter<Partial<T>, TC>;
493
- /**
494
- * Creates a new {@link Converters.ObjectConverter | ObjectConverter} derived from this one but with
495
- * new optional properties as specified by a supplied array of `keyof T`.
496
- * @param optional - The keys of the source object properties to be made optional.
497
- * @returns A new {@link Converters.ObjectConverter | ObjectConverter} with the additional optional source
498
- * properties.
499
- * {@label withKeys}
500
- */
501
- partial(optional?: (keyof T)[]): ObjectConverter<Partial<T>, TC>;
502
- /**
503
- * Creates a new {@link Converters.ObjectConverter | ObjectConverter} derived from this one but with
504
- * new optional properties as specified by a supplied array of `keyof T`.
505
- * @param addOptionalProperties - The keys to be made optional.
506
- * @returns A new {@link Converters.ObjectConverter | ObjectConverter} with the additional optional source
507
- * properties.
508
- */
509
- addPartial(addOptionalProperties: (keyof T)[]): ObjectConverter<Partial<T>, TC>;
510
- }
511
- /**
512
- * Helper function to create a {@link Converters.ObjectConverter | ObjectConverter<T>} which converts an object
513
- * without changing shape, given a {@link Converters.FieldConverters | FieldConverters<T>} and an optional
514
- * {@link Converters.ObjectConverterOptions | ObjectConverterOptions<T>} to further refine conversion behavior.
348
+ * Helper function to create a {@link Conversion.ObjectConverter | ObjectConverter<T>} which converts an object
349
+ * without changing shape, given a {@link Conversion.FieldConverters | FieldConverters<T>} and an optional
350
+ * {@link Conversion.ObjectConverterOptions | ObjectConverterOptions<T>} to further refine conversion behavior.
515
351
  * @remarks
516
352
  * By default, if all of the requested fields exist and can be converted, returns {@link Success}
517
353
  * with a new object that contains the converted values under the original key names. If any required properties
@@ -520,18 +356,18 @@ export declare class ObjectConverter<T, TC = unknown> extends BaseConverter<T, T
520
356
  *
521
357
  * Fields that succeed but convert to undefined are omitted from the result object but do not
522
358
  * fail the conversion.
523
- * @param properties - An {@link Converters.FieldConverters | FieldConverters<T>} defining the shape of the
359
+ * @param properties - An {@link Conversion.FieldConverters | FieldConverters<T>} defining the shape of the
524
360
  * source object and {@link Converter | converters} to be applied to each properties.
525
- * @param options - An {@link Converters.ObjectConverterOptions | ObjectConverterOptions<T>} containing options
361
+ * @param options - An {@link Conversion.ObjectConverterOptions | ObjectConverterOptions<T>} containing options
526
362
  * for the object converter.
527
- * @returns A new {@link Converters.ObjectConverter | ObjectConverter} which applies the specified conversions.
528
- * {@label withOptions}
363
+ * @returns A new {@link Conversion.ObjectConverter | ObjectConverter} which applies the specified conversions.
364
+ * {@label WITH_OPTIONS}
529
365
  * @public
530
366
  */
531
367
  export declare function object<T>(properties: FieldConverters<T>, options?: ObjectConverterOptions<T>): ObjectConverter<T>;
532
368
  /**
533
- * Helper function to create a {@link Converters.ObjectConverter | ObjectConverter<T>} which converts an object
534
- * without changing shape, given a {@link Converters.FieldConverters | FieldConverters<T>} and a set of
369
+ * Helper function to create a {@link Conversion.ObjectConverter | ObjectConverter<T>} which converts an object
370
+ * without changing shape, given a {@link Conversion.FieldConverters | FieldConverters<T>} and a set of
535
371
  * optional properties.
536
372
  * @remarks
537
373
  * By default, if all of the requested fields exist and can be converted, returns {@link Success}
@@ -541,23 +377,23 @@ export declare function object<T>(properties: FieldConverters<T>, options?: Obje
541
377
  *
542
378
  * Fields that succeed but convert to undefined are omitted from the result object but do not
543
379
  * fail the conversion.
544
- * @param properties - An {@link Converters.FieldConverters | FieldConverters<T>} defining the shape of the
380
+ * @param properties - An {@link Conversion.FieldConverters | FieldConverters<T>} defining the shape of the
545
381
  * source object and {@link Converter | converters} to be applied to each properties.
546
382
  * @param optional - An array of `(keyof T)` listing the keys to be considered optional.
547
- * {@label withKeys}
548
- * @returns A new {@link Converters.ObjectConverter | ObjectConverter} which applies the specified conversions.
383
+ * {@label WITH_KEYS}
384
+ * @returns A new {@link Conversion.ObjectConverter | ObjectConverter} which applies the specified conversions.
549
385
  * @public
550
- * @deprecated Use {@link Converters.object.(:withOptions) | Converters.object(fields, options)} instead.
386
+ * @deprecated Use {@link Converters.(object:1) | Converters.object(fields, options)} instead.
551
387
  */
552
388
  export declare function object<T>(properties: FieldConverters<T>, optional: (keyof T)[]): ObjectConverter<T>;
553
389
  /**
554
- * Options for the {@link Converters.strictObject.(:withOptions)} helper function.
390
+ * Options for the {@link Converters.(strictObject:1)} helper function.
555
391
  * @public
556
392
  */
557
393
  export type StrictObjectConverterOptions<T> = Omit<ObjectConverterOptions<T>, 'strict'>;
558
394
  /**
559
- * Helper function to create a {@link Converters.ObjectConverter | ObjectConverter} which converts an object
560
- * without changing shape, a {@link Converters.FieldConverters | FieldConverters<T>} and an optional
395
+ * Helper function to create a {@link Conversion.ObjectConverter | ObjectConverter} which converts an object
396
+ * without changing shape, a {@link Conversion.FieldConverters | FieldConverters<T>} and an optional
561
397
  * {@link Converters.StrictObjectConverterOptions | StrictObjectConverterOptions<T>} to further refine
562
398
  * conversion behavior.
563
399
  *
@@ -569,14 +405,14 @@ export type StrictObjectConverterOptions<T> = Omit<ObjectConverterOptions<T>, 's
569
405
  *
570
406
  * @param properties - An object containing defining the shape and converters to be applied.
571
407
  * @param options - An optional @see StrictObjectConverterOptions<T> containing options for the object converter.
572
- * @returns A new {@link Converters.ObjectConverter | ObjectConverter} which applies the specified conversions.
573
- * {@label withOptions}
408
+ * @returns A new {@link Conversion.ObjectConverter | ObjectConverter} which applies the specified conversions.
409
+ * {@label WITH_OPTIONS}
574
410
  * @public
575
411
  */
576
412
  export declare function strictObject<T>(properties: FieldConverters<T>, options?: StrictObjectConverterOptions<T>): ObjectConverter<T>;
577
413
  /**
578
- * Helper function to create a {@link Converters.ObjectConverter | ObjectConverter} which converts an object
579
- * without changing shape, a {@link Converters.FieldConverters | FieldConverters<T>} and an optional
414
+ * Helper function to create a {@link Conversion.ObjectConverter | ObjectConverter} which converts an object
415
+ * without changing shape, a {@link Conversion.FieldConverters | FieldConverters<T>} and an optional
580
416
  * {@link Converters.StrictObjectConverterOptions | StrictObjectConverterOptions<T>} to further refine
581
417
  * conversion behavior.
582
418
  *
@@ -588,9 +424,9 @@ export declare function strictObject<T>(properties: FieldConverters<T>, options?
588
424
  *
589
425
  * @param properties - An object containing defining the shape and converters to be applied.
590
426
  * @param optional - An array of `keyof T` containing keys to be considered optional.
591
- * @returns A new {@link Converters.ObjectConverter | ObjectConverter} which applies the specified conversions.
592
- * {@label withKeys}
593
- * @deprecated Use {@link Converters.strictObject(:withOptions) | Converters.strictObject(options)} instead.
427
+ * @returns A new {@link Conversion.ObjectConverter | ObjectConverter} which applies the specified conversions.
428
+ * {@label WITH_KEYS}
429
+ * @deprecated Use {@link Converters.(strictObject:1) | Converters.strictObject(options)} instead.
594
430
  * @public
595
431
  */
596
432
  export declare function strictObject<T>(properties: FieldConverters<T>, optional: (keyof T)[]): ObjectConverter<T>;
@@ -631,7 +467,7 @@ export declare function discriminatedObject<T, TD extends string = string, TC =
631
467
  * fail the conversion.
632
468
  *
633
469
  * @param properties - An object with key names that correspond to the target object and an
634
- * appropriate {@link Converters.FieldConverters | FieldConverter} which extracts and converts
470
+ * appropriate {@link Conversion.FieldConverters | FieldConverter} which extracts and converts
635
471
  * a single filed from the source object.
636
472
  * @returns A {@link Converter} with the specified conversion behavior.
637
473
  * @public
@@ -709,7 +545,7 @@ export declare function transformObject<TSRC, TDEST, TC = unknown>(destinationFi
709
545
  */
710
546
  export declare function rangeTypeOf<T, RT extends RangeOf<T>, TC = unknown>(converter: Converter<T, TC>, constructor: (init: RangeOfProperties<T>) => Result<RT>): Converter<RT, TC>;
711
547
  /**
712
- * A helper wrapper to construct a {@link Converter} which converts to {@link RangeOf | RangeOf<T>}
548
+ * A helper wrapper to construct a {@link Converter} which converts to {@link Experimental.RangeOf | RangeOf<T>}
713
549
  * where `<T>` is some comparable type.
714
550
  * @param converter - {@link Converter} used to convert `min` and `max` extent of the range.
715
551
  * @public
@@ -0,0 +1 @@
1
+ {"version":3,"file":"converters.d.ts","sourceRoot":"","sources":["../../../src/packlets/conversion/converters.ts"],"names":[],"mappings":"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"}