@maxclicks/utilities 1.5.0 → 1.6.1

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 (179) hide show
  1. package/dist/helpers/deepClone.d.ts +2 -1
  2. package/dist/helpers/deepClone.d.ts.map +1 -1
  3. package/dist/helpers/deepClone.js +1 -0
  4. package/dist/helpers/deepClone.js.map +1 -1
  5. package/dist/helpers/delay.d.ts +7 -0
  6. package/dist/helpers/delay.d.ts.map +1 -1
  7. package/dist/helpers/delay.js +1 -1
  8. package/dist/helpers/delay.js.map +1 -1
  9. package/dist/helpers/error-warning/alterError.d.ts +6 -0
  10. package/dist/helpers/error-warning/alterError.d.ts.map +1 -1
  11. package/dist/helpers/error-warning/alterError.js +6 -0
  12. package/dist/helpers/error-warning/alterError.js.map +1 -1
  13. package/dist/helpers/error-warning/combineMessages.d.ts +6 -0
  14. package/dist/helpers/error-warning/combineMessages.d.ts.map +1 -1
  15. package/dist/helpers/error-warning/combineMessages.js +6 -0
  16. package/dist/helpers/error-warning/combineMessages.js.map +1 -1
  17. package/dist/helpers/error-warning/getErrorMessage.d.ts +1 -0
  18. package/dist/helpers/error-warning/getErrorMessage.d.ts.map +1 -1
  19. package/dist/helpers/error-warning/getErrorMessage.js +1 -0
  20. package/dist/helpers/error-warning/getErrorMessage.js.map +1 -1
  21. package/dist/helpers/error-warning/prependMessage.d.ts +6 -0
  22. package/dist/helpers/error-warning/prependMessage.d.ts.map +1 -1
  23. package/dist/helpers/error-warning/prependMessage.js +6 -0
  24. package/dist/helpers/error-warning/prependMessage.js.map +1 -1
  25. package/dist/helpers/error-warning/throwError.d.ts +7 -0
  26. package/dist/helpers/error-warning/throwError.d.ts.map +1 -1
  27. package/dist/helpers/error-warning/throwError.js +9 -0
  28. package/dist/helpers/error-warning/throwError.js.map +1 -1
  29. package/dist/helpers/escapeForRegExp.d.ts +1 -0
  30. package/dist/helpers/escapeForRegExp.d.ts.map +1 -1
  31. package/dist/helpers/escapeForRegExp.js +2 -1
  32. package/dist/helpers/escapeForRegExp.js.map +1 -1
  33. package/dist/helpers/formatCurrencyUsd.d.ts +1 -0
  34. package/dist/helpers/formatCurrencyUsd.d.ts.map +1 -1
  35. package/dist/helpers/formatCurrencyUsd.js +1 -0
  36. package/dist/helpers/formatCurrencyUsd.js.map +1 -1
  37. package/dist/helpers/generateRandomKey.d.ts +6 -0
  38. package/dist/helpers/generateRandomKey.d.ts.map +1 -1
  39. package/dist/helpers/generateRandomKey.js +6 -0
  40. package/dist/helpers/generateRandomKey.js.map +1 -1
  41. package/dist/helpers/generateRuntimeId.d.ts +1 -0
  42. package/dist/helpers/generateRuntimeId.d.ts.map +1 -1
  43. package/dist/helpers/generateRuntimeId.js +1 -0
  44. package/dist/helpers/generateRuntimeId.js.map +1 -1
  45. package/dist/helpers/generateSequence.d.ts +5 -0
  46. package/dist/helpers/generateSequence.d.ts.map +1 -1
  47. package/dist/helpers/generateSequence.js +5 -0
  48. package/dist/helpers/generateSequence.js.map +1 -1
  49. package/dist/helpers/getEnumKeyValues.d.ts +1 -0
  50. package/dist/helpers/getEnumKeyValues.d.ts.map +1 -1
  51. package/dist/helpers/getEnumKeyValues.js +2 -0
  52. package/dist/helpers/getEnumKeyValues.js.map +1 -1
  53. package/dist/helpers/haveSameContents.d.ts +1 -0
  54. package/dist/helpers/haveSameContents.d.ts.map +1 -1
  55. package/dist/helpers/haveSameContents.js +1 -0
  56. package/dist/helpers/haveSameContents.js.map +1 -1
  57. package/dist/helpers/isOneOf.d.ts +5 -0
  58. package/dist/helpers/isOneOf.d.ts.map +1 -1
  59. package/dist/helpers/isOneOf.js +5 -0
  60. package/dist/helpers/isOneOf.js.map +1 -1
  61. package/dist/helpers/native/arrayHelpers.d.ts +4 -0
  62. package/dist/helpers/native/arrayHelpers.d.ts.map +1 -1
  63. package/dist/helpers/native/arrayHelpers.js +1 -1
  64. package/dist/helpers/native/arrayHelpers.js.map +1 -1
  65. package/dist/helpers/native/objectHelpers.d.ts +3 -0
  66. package/dist/helpers/native/objectHelpers.d.ts.map +1 -1
  67. package/dist/helpers/native/stringHelpers.d.ts +3 -0
  68. package/dist/helpers/native/stringHelpers.d.ts.map +1 -1
  69. package/dist/helpers/optional.d.ts +3 -0
  70. package/dist/helpers/optional.d.ts.map +1 -1
  71. package/dist/helpers/optional.js +3 -0
  72. package/dist/helpers/optional.js.map +1 -1
  73. package/dist/helpers/percent.d.ts +2 -0
  74. package/dist/helpers/percent.d.ts.map +1 -1
  75. package/dist/helpers/percent.js +2 -0
  76. package/dist/helpers/percent.js.map +1 -1
  77. package/dist/helpers/typed.d.ts +19 -0
  78. package/dist/helpers/typed.d.ts.map +1 -1
  79. package/dist/helpers/typed.js +19 -0
  80. package/dist/helpers/typed.js.map +1 -1
  81. package/dist/index.d.ts +1 -1
  82. package/dist/index.d.ts.map +1 -1
  83. package/dist/index.js +1 -1
  84. package/dist/index.js.map +1 -1
  85. package/dist/modules/common-normalizers/descriptionNormalizer.d.ts +1 -0
  86. package/dist/modules/common-normalizers/descriptionNormalizer.d.ts.map +1 -1
  87. package/dist/modules/common-normalizers/descriptionNormalizer.js +1 -0
  88. package/dist/modules/common-normalizers/descriptionNormalizer.js.map +1 -1
  89. package/dist/modules/common-normalizers/labelNormalizer.d.ts +1 -0
  90. package/dist/modules/common-normalizers/labelNormalizer.d.ts.map +1 -1
  91. package/dist/modules/common-normalizers/labelNormalizer.js +1 -0
  92. package/dist/modules/common-normalizers/labelNormalizer.js.map +1 -1
  93. package/dist/modules/common-normalizers/nameNormalizer.d.ts +1 -0
  94. package/dist/modules/common-normalizers/nameNormalizer.d.ts.map +1 -1
  95. package/dist/modules/common-normalizers/nameNormalizer.js +1 -0
  96. package/dist/modules/common-normalizers/nameNormalizer.js.map +1 -1
  97. package/dist/modules/common-normalizers/widthHeightNormalizer.d.ts +1 -0
  98. package/dist/modules/common-normalizers/widthHeightNormalizer.d.ts.map +1 -1
  99. package/dist/modules/common-normalizers/widthHeightNormalizer.js +1 -0
  100. package/dist/modules/common-normalizers/widthHeightNormalizer.js.map +1 -1
  101. package/dist/types/Address.d.ts +3 -0
  102. package/dist/types/Address.d.ts.map +1 -1
  103. package/dist/types/Address.js +20 -0
  104. package/dist/types/Address.js.map +1 -1
  105. package/dist/types/Color.d.ts +3 -0
  106. package/dist/types/Color.d.ts.map +1 -1
  107. package/dist/types/Color.js +4 -0
  108. package/dist/types/Color.js.map +1 -1
  109. package/dist/types/DateOnly.d.ts +4 -0
  110. package/dist/types/DateOnly.d.ts.map +1 -1
  111. package/dist/types/DateOnly.js +6 -0
  112. package/dist/types/DateOnly.js.map +1 -1
  113. package/dist/types/DateTime.d.ts +3 -0
  114. package/dist/types/DateTime.d.ts.map +1 -1
  115. package/dist/types/DateTime.js +5 -0
  116. package/dist/types/DateTime.js.map +1 -1
  117. package/dist/types/Decimal.d.ts +3 -0
  118. package/dist/types/Decimal.d.ts.map +1 -1
  119. package/dist/types/Decimal.js +4 -0
  120. package/dist/types/Decimal.js.map +1 -1
  121. package/dist/types/Email.d.ts +3 -0
  122. package/dist/types/Email.d.ts.map +1 -1
  123. package/dist/types/Email.js +5 -0
  124. package/dist/types/Email.js.map +1 -1
  125. package/dist/types/Geolocation.d.ts +3 -0
  126. package/dist/types/Geolocation.d.ts.map +1 -1
  127. package/dist/types/Geolocation.js +14 -0
  128. package/dist/types/Geolocation.js.map +1 -1
  129. package/dist/types/Json/Json.d.ts +7 -0
  130. package/dist/types/Json/Json.d.ts.map +1 -1
  131. package/dist/types/Json/Json.js +6 -0
  132. package/dist/types/Json/Json.js.map +1 -1
  133. package/dist/types/Json/index.d.ts +2 -0
  134. package/dist/types/Json/index.d.ts.map +1 -0
  135. package/dist/types/Json/index.js +2 -0
  136. package/dist/types/Json/index.js.map +1 -0
  137. package/dist/types/Json/jsonNormalizerWithSchemaFactory.js +13 -0
  138. package/dist/types/Json/jsonNormalizerWithSchemaFactory.js.map +1 -1
  139. package/dist/types/Json/jsonSchemaNormalizer.js +11 -0
  140. package/dist/types/Json/jsonSchemaNormalizer.js.map +1 -1
  141. package/dist/types/Json/jsonSchemaSatisfies.d.ts +9 -0
  142. package/dist/types/Json/jsonSchemaSatisfies.d.ts.map +1 -1
  143. package/dist/types/Json/jsonSchemaSatisfies.js +55 -3
  144. package/dist/types/Json/jsonSchemaSatisfies.js.map +1 -1
  145. package/dist/types/Json/jsonSchemaSimplifiedSatisfies.d.ts +1 -0
  146. package/dist/types/Json/jsonSchemaSimplifiedSatisfies.d.ts.map +1 -1
  147. package/dist/types/Json/jsonSchemaSimplifiedSatisfies.js +2 -0
  148. package/dist/types/Json/jsonSchemaSimplifiedSatisfies.js.map +1 -1
  149. package/dist/types/Lazily.d.ts +39 -0
  150. package/dist/types/Lazily.d.ts.map +1 -1
  151. package/dist/types/Lazily.js +2 -0
  152. package/dist/types/Lazily.js.map +1 -1
  153. package/dist/types/Normalizer.d.ts +78 -0
  154. package/dist/types/Normalizer.d.ts.map +1 -1
  155. package/dist/types/Normalizer.js +54 -0
  156. package/dist/types/Normalizer.js.map +1 -1
  157. package/dist/types/Phone.d.ts +3 -0
  158. package/dist/types/Phone.d.ts.map +1 -1
  159. package/dist/types/Phone.js +4 -0
  160. package/dist/types/Phone.js.map +1 -1
  161. package/dist/types/Slug.d.ts +3 -0
  162. package/dist/types/Slug.d.ts.map +1 -1
  163. package/dist/types/Slug.js +4 -0
  164. package/dist/types/Slug.js.map +1 -1
  165. package/dist/types/TimeOnly.d.ts +3 -0
  166. package/dist/types/TimeOnly.d.ts.map +1 -1
  167. package/dist/types/TimeOnly.js +4 -0
  168. package/dist/types/TimeOnly.js.map +1 -1
  169. package/dist/types/Url.d.ts +3 -0
  170. package/dist/types/Url.d.ts.map +1 -1
  171. package/dist/types/Url.js +5 -0
  172. package/dist/types/Url.js.map +1 -1
  173. package/dist/types/Uuid.d.ts +3 -0
  174. package/dist/types/Uuid.d.ts.map +1 -1
  175. package/dist/types/Uuid.js +4 -0
  176. package/dist/types/Uuid.js.map +1 -1
  177. package/dist/types.d.ts +29 -0
  178. package/dist/types.d.ts.map +1 -1
  179. package/package.json +1 -1
@@ -1,37 +1,59 @@
1
1
  import { haveSameContents } from '../../helpers/haveSameContents';
2
+ /**
3
+ * Checks if the `provided` schema satisfies the `required` schema.
4
+ * In other words, any JSON value valid under `required` (old schema) will also be valid under `provided` (new schema).
5
+ * This is useful for checking backward compatibility when updating schemas.
6
+ *
7
+ * @param provided - The new schema (what the provider now offers)
8
+ * @param required - The old schema (what consumers expect)
9
+ * @returns true if the provided schema accepts all values that required schema accepts
10
+ */
2
11
  export function jsonSchemaSatisfies(provided, required) {
12
+ // If provided accepts any value, it satisfies any required schema
3
13
  if (isAnySchema(provided))
4
14
  return true;
15
+ // If required accepts any value, provided must also accept any value
5
16
  if (isAnySchema(required))
6
17
  return isAnySchema(provided);
18
+ // Handle const in required
7
19
  if ('const' in required) {
8
20
  if ('const' in provided)
9
21
  return haveSameContents(provided.const, required.const);
10
22
  if ('enum' in provided)
11
23
  return provided.enum.some(value => haveSameContents(value, required.const));
24
+ // Provided is a typed schema - check if it would accept the const value
12
25
  return schemaAcceptsValue(provided, required.const);
13
26
  }
27
+ // Handle enum in required
14
28
  if ('enum' in required) {
15
29
  if ('const' in provided)
16
30
  return required.enum.length === 1 && haveSameContents(provided.const, required.enum[0]);
17
31
  if ('enum' in provided)
18
32
  return required.enum.every(requiredValue => provided.enum.some(providedValue => haveSameContents(providedValue, requiredValue)));
33
+ // Provided is a typed schema - check if it would accept all enum values
19
34
  return required.enum.every(value => schemaAcceptsValue(provided, value));
20
35
  }
36
+ // Handle const/enum in provided when required is a typed schema
37
+ // const/enum are more restrictive than type-based schemas
21
38
  if ('const' in provided || 'enum' in provided)
22
39
  return false;
40
+ // Both schemas are type-based - compare types and constraints
23
41
  const providedBaseType = getBaseType(provided.type);
24
42
  const requiredBaseType = getBaseType(required.type);
25
43
  const providedNullable = isNullable(provided.type);
26
44
  const requiredNullable = isNullable(required.type);
45
+ // If required accepts null, provided must also accept null
27
46
  if (requiredNullable && !providedNullable)
28
47
  return false;
48
+ // Handle null type
29
49
  if (requiredBaseType === 'null')
30
50
  return providedBaseType === 'null' || providedNullable;
51
+ // Types must match (with special case: number satisfies integer since number is more permissive)
31
52
  if (providedBaseType !== requiredBaseType) {
32
53
  if (!(providedBaseType === 'number' && requiredBaseType === 'integer'))
33
54
  return false;
34
55
  }
56
+ // Type-specific constraint checks
35
57
  switch (requiredBaseType) {
36
58
  case 'string':
37
59
  return stringSchemasSatisfy(provided, required);
@@ -39,7 +61,7 @@ export function jsonSchemaSatisfies(provided, required) {
39
61
  case 'integer':
40
62
  return numberSchemasSatisfy(provided, required);
41
63
  case 'boolean':
42
- return true;
64
+ return true; // No additional constraints for boolean
43
65
  case 'array':
44
66
  return arraySchemasSatisfy(provided, required);
45
67
  case 'object':
@@ -65,6 +87,10 @@ function isNullable(type) {
65
87
  return type.includes('null');
66
88
  return false;
67
89
  }
90
+ /**
91
+ * Check if a typed schema would accept a specific JSON value.
92
+ * Used when required has const/enum and provided is type-based.
93
+ */
68
94
  function schemaAcceptsValue(schema, value) {
69
95
  if (isAnySchema(schema))
70
96
  return true;
@@ -83,6 +109,7 @@ function schemaAcceptsValue(schema, value) {
83
109
  return false;
84
110
  if (stringSchema.maxLength !== undefined && value.length > stringSchema.maxLength)
85
111
  return false;
112
+ // Note: format validation is lenient here - we assume the const/enum value is well-formed
86
113
  return true;
87
114
  }
88
115
  case 'number':
@@ -146,14 +173,17 @@ function schemaAcceptsValue(schema, value) {
146
173
  }
147
174
  }
148
175
  function stringSchemasSatisfy(provided, required) {
176
+ // Provided minLength must be <= required minLength (or undefined = no constraint)
149
177
  if (required.minLength !== undefined) {
150
178
  if (provided.minLength !== undefined && provided.minLength > required.minLength)
151
179
  return false;
152
180
  }
181
+ // Provided maxLength must be >= required maxLength (or undefined = no constraint)
153
182
  if (required.maxLength !== undefined) {
154
183
  if (provided.maxLength !== undefined && provided.maxLength < required.maxLength)
155
184
  return false;
156
185
  }
186
+ // Format: if required has a format, provided must have the same format or no format (more permissive)
157
187
  if (required.format !== undefined) {
158
188
  if (provided.format !== undefined && provided.format !== required.format)
159
189
  return false;
@@ -161,22 +191,28 @@ function stringSchemasSatisfy(provided, required) {
161
191
  return true;
162
192
  }
163
193
  function numberSchemasSatisfy(provided, required) {
194
+ // Provided minimum must be <= required minimum
164
195
  if (required.minimum !== undefined) {
165
196
  if (provided.minimum !== undefined && provided.minimum > required.minimum)
166
197
  return false;
167
198
  }
199
+ // Provided maximum must be >= required maximum
168
200
  if (required.maximum !== undefined) {
169
201
  if (provided.maximum !== undefined && provided.maximum < required.maximum)
170
202
  return false;
171
203
  }
204
+ // Provided exclusiveMinimum must be <= required exclusiveMinimum
172
205
  if (required.exclusiveMinimum !== undefined) {
173
206
  if (provided.exclusiveMinimum !== undefined && provided.exclusiveMinimum > required.exclusiveMinimum)
174
207
  return false;
175
208
  }
209
+ // Provided exclusiveMaximum must be >= required exclusiveMaximum
176
210
  if (required.exclusiveMaximum !== undefined) {
177
211
  if (provided.exclusiveMaximum !== undefined && provided.exclusiveMaximum < required.exclusiveMaximum)
178
212
  return false;
179
213
  }
214
+ // multipleOf: provided's multipleOf must divide required's multipleOf
215
+ // e.g., if required is multipleOf: 6, provided can be multipleOf: 2 or 3 (accepts more values)
180
216
  if (required.multipleOf !== undefined) {
181
217
  if (provided.multipleOf !== undefined && required.multipleOf % provided.multipleOf !== 0)
182
218
  return false;
@@ -184,29 +220,38 @@ function numberSchemasSatisfy(provided, required) {
184
220
  return true;
185
221
  }
186
222
  function arraySchemasSatisfy(provided, required) {
223
+ // Provided minItems must be <= required minItems
187
224
  if (required.minItems !== undefined) {
188
225
  if (provided.minItems !== undefined && provided.minItems > required.minItems)
189
226
  return false;
190
227
  }
228
+ // Provided maxItems must be >= required maxItems
191
229
  if (required.maxItems !== undefined) {
192
230
  if (provided.maxItems !== undefined && provided.maxItems < required.maxItems)
193
231
  return false;
194
232
  }
233
+ // Items schema: provided's items must satisfy required's items
195
234
  if (required.items !== undefined) {
196
235
  if (provided.items === undefined)
197
- return true;
236
+ return true; // No constraint = accepts any items
198
237
  return jsonSchemaSatisfies(provided.items, required.items);
199
238
  }
200
239
  return true;
201
240
  }
202
241
  function objectSchemasSatisfy(provided, required) {
242
+ // Required properties: provided can have fewer required properties (more permissive)
243
+ // But if provided requires a property that required doesn't, it's more restrictive
203
244
  if (provided.required) {
204
245
  for (const key of provided.required) {
205
246
  if (!required.required?.includes(key)) {
247
+ // Provided requires a property that required doesn't - check if required schema would accept objects without it
248
+ // If the property is in required.properties but not required.required, it's optional in required
249
+ // So provided making it required is more restrictive
206
250
  return false;
207
251
  }
208
252
  }
209
253
  }
254
+ // Properties: for each property in required, check if provided's schema for that property satisfies it
210
255
  if (required.properties) {
211
256
  for (const [key, requiredPropertySchema] of Object.entries(required.properties)) {
212
257
  if (provided.properties && key in provided.properties) {
@@ -214,23 +259,30 @@ function objectSchemasSatisfy(provided, required) {
214
259
  return false;
215
260
  }
216
261
  else if (provided.additionalProperties !== undefined) {
262
+ // Property is covered by additionalProperties in provided
217
263
  if (provided.additionalProperties === true)
218
- continue;
264
+ continue; // Accepts any value
219
265
  if (!jsonSchemaSatisfies(provided.additionalProperties, requiredPropertySchema))
220
266
  return false;
221
267
  }
268
+ // If property not in provided.properties and no additionalProperties, provided accepts any value for it
222
269
  }
223
270
  }
271
+ // Additional properties: if required allows additional properties, provided must also allow them
224
272
  if (required.additionalProperties !== undefined) {
225
273
  if (provided.additionalProperties === undefined) {
274
+ // Provided has no additionalProperties constraint - implicitly accepts any
226
275
  return true;
227
276
  }
228
277
  if (required.additionalProperties === true) {
278
+ // Required accepts any additional properties
229
279
  return provided.additionalProperties === true;
230
280
  }
231
281
  if (provided.additionalProperties === true) {
282
+ // Provided accepts any additional properties - satisfies any schema
232
283
  return true;
233
284
  }
285
+ // Both have schema constraints - provided must satisfy required
234
286
  return jsonSchemaSatisfies(provided.additionalProperties, required.additionalProperties);
235
287
  }
236
288
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"jsonSchemaSatisfies.js","sourceRoot":"","sources":["../../../src/types/Json/jsonSchemaSatisfies.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jsonSchemaSatisfies.js","sourceRoot":"","sources":["../../../src/types/Json/jsonSchemaSatisfies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAGjE;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAqB,EAAE,QAAqB;IAC9E,kEAAkE;IAClE,IAAI,WAAW,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAA;IAEtC,qEAAqE;IACrE,IAAI,WAAW,CAAC,QAAQ,CAAC;QAAE,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAA;IAEvD,2BAA2B;IAC3B,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;QACxB,IAAI,OAAO,IAAI,QAAQ;YAAE,OAAO,gBAAgB,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;QAChF,IAAI,MAAM,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;QACnG,wEAAwE;QACxE,OAAO,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;IACrD,CAAC;IAED,0BAA0B;IAC1B,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;QACvB,IAAI,OAAO,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QAChH,IAAI,MAAM,IAAI,QAAQ;YACpB,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CACzC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,gBAAgB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,CACpF,CAAA;QACH,wEAAwE;QACxE,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;IAC1E,CAAC;IAED,gEAAgE;IAChE,0DAA0D;IAC1D,IAAI,OAAO,IAAI,QAAQ,IAAI,MAAM,IAAI,QAAQ;QAAE,OAAO,KAAK,CAAA;IAE3D,8DAA8D;IAC9D,MAAM,gBAAgB,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IACnD,MAAM,gBAAgB,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IACnD,MAAM,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAClD,MAAM,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAElD,2DAA2D;IAC3D,IAAI,gBAAgB,IAAI,CAAC,gBAAgB;QAAE,OAAO,KAAK,CAAA;IAEvD,mBAAmB;IACnB,IAAI,gBAAgB,KAAK,MAAM;QAAE,OAAO,gBAAgB,KAAK,MAAM,IAAI,gBAAgB,CAAA;IAEvF,iGAAiG;IACjG,IAAI,gBAAgB,KAAK,gBAAgB,EAAE,CAAC;QAC1C,IAAI,CAAC,CAAC,gBAAgB,KAAK,QAAQ,IAAI,gBAAgB,KAAK,SAAS,CAAC;YAAE,OAAO,KAAK,CAAA;IACtF,CAAC;IAED,kCAAkC;IAClC,QAAQ,gBAAgB,EAAE,CAAC;QACzB,KAAK,QAAQ;YACX,OAAO,oBAAoB,CAAC,QAAwC,EAAE,QAAwC,CAAC,CAAA;QAEjH,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS;YACZ,OAAO,oBAAoB,CACzB,QAA+C,EAC/C,QAA+C,CAChD,CAAA;QAEH,KAAK,SAAS;YACZ,OAAO,IAAI,CAAA,CAAC,wCAAwC;QAEtD,KAAK,OAAO;YACV,OAAO,mBAAmB,CAAC,QAAuC,EAAE,QAAuC,CAAC,CAAA;QAE9G,KAAK,QAAQ;YACX,OAAO,oBAAoB,CAAC,QAAwC,EAAE,QAAwC,CAAC,CAAA;QAEjH;YACE,OAAO,KAAK,CAAA;IAChB,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,MAAmB;IACtC,OAAO,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,CAAA;AAC5G,CAAC;AAID,SAAS,WAAW,CAAC,IAAyB;IAC5C,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,KAAK,CAAA;IACpC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAa,CAAA;IACxE,OAAO,IAAgB,CAAA;AACzB,CAAC;AAED,SAAS,UAAU,CAAC,IAAyB;IAC3C,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,IAAI,CAAA;IAChC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACrD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,MAAmB,EAAE,KAAW;IAC1D,IAAI,WAAW,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAA;IAEpC,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACzC,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAExC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,QAAQ,IAAI,QAAQ,KAAK,MAAM,CAAA;IAE1D,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,MAAM;YACT,OAAO,KAAK,KAAK,IAAI,CAAA;QAEvB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAA;YAC3C,MAAM,YAAY,GAAG,MAAsC,CAAA;YAC3D,IAAI,YAAY,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC,SAAS;gBAAE,OAAO,KAAK,CAAA;YAC/F,IAAI,YAAY,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC,SAAS;gBAAE,OAAO,KAAK,CAAA;YAC/F,0FAA0F;YAC1F,OAAO,IAAI,CAAA;QACb,CAAC;QAED,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAA;YAC3C,IAAI,QAAQ,KAAK,SAAS,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAA;YAC3D,MAAM,YAAY,GAAG,MAA6C,CAAA;YAClE,IAAI,YAAY,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,GAAG,YAAY,CAAC,OAAO;gBAAE,OAAO,KAAK,CAAA;YACpF,IAAI,YAAY,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,GAAG,YAAY,CAAC,OAAO;gBAAE,OAAO,KAAK,CAAA;YACpF,IAAI,YAAY,CAAC,gBAAgB,KAAK,SAAS,IAAI,KAAK,IAAI,YAAY,CAAC,gBAAgB;gBAAE,OAAO,KAAK,CAAA;YACvG,IAAI,YAAY,CAAC,gBAAgB,KAAK,SAAS,IAAI,KAAK,IAAI,YAAY,CAAC,gBAAgB;gBAAE,OAAO,KAAK,CAAA;YACvG,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS,IAAI,KAAK,GAAG,YAAY,CAAC,UAAU,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAA;YAChG,OAAO,IAAI,CAAA;QACb,CAAC;QAED,KAAK,SAAS;YACZ,OAAO,OAAO,KAAK,KAAK,SAAS,CAAA;QAEnC,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAA;YACvC,MAAM,WAAW,GAAG,MAAqC,CAAA;YACzD,IAAI,WAAW,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC,QAAQ;gBAAE,OAAO,KAAK,CAAA;YAC3F,IAAI,WAAW,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC,QAAQ;gBAAE,OAAO,KAAK,CAAA;YAC3F,IAAI,WAAW,CAAC,KAAK,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,WAAW,CAAC,KAAM,EAAE,IAAI,CAAC,CAAC,CAAA;YAC7G,OAAO,IAAI,CAAA;QACb,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO,KAAK,CAAA;YACrF,MAAM,YAAY,GAAG,MAAsC,CAAA;YAC3D,MAAM,WAAW,GAAG,KAA6B,CAAA;YACjD,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;gBAC1B,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;oBACxC,IAAI,CAAC,CAAC,GAAG,IAAI,WAAW,CAAC;wBAAE,OAAO,KAAK,CAAA;gBACzC,CAAC;YACH,CAAC;YACD,KAAK,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/D,IAAI,YAAY,CAAC,UAAU,IAAI,GAAG,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;oBAC9D,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC;wBAAE,OAAO,KAAK,CAAA;gBACpF,CAAC;qBAAM,IAAI,YAAY,CAAC,oBAAoB,KAAK,SAAS,IAAI,YAAY,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;oBACzG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,oBAAoB,EAAE,aAAa,CAAC;wBAAE,OAAO,KAAK,CAAA;gBACzF,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QAED;YACE,OAAO,KAAK,CAAA;IAChB,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAsC,EAAE,QAAsC;IAC1G,kFAAkF;IAClF,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACrC,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,IAAI,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS;YAAE,OAAO,KAAK,CAAA;IAC/F,CAAC;IAED,kFAAkF;IAClF,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACrC,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,IAAI,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS;YAAE,OAAO,KAAK,CAAA;IAC/F,CAAC;IAED,sGAAsG;IACtG,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAClC,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;YAAE,OAAO,KAAK,CAAA;IACxF,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,oBAAoB,CAC3B,QAA6C,EAC7C,QAA6C;IAE7C,+CAA+C;IAC/C,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACnC,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,IAAI,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO;YAAE,OAAO,KAAK,CAAA;IACzF,CAAC;IAED,+CAA+C;IAC/C,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACnC,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,IAAI,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO;YAAE,OAAO,KAAK,CAAA;IACzF,CAAC;IAED,iEAAiE;IACjE,IAAI,QAAQ,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QAC5C,IAAI,QAAQ,CAAC,gBAAgB,KAAK,SAAS,IAAI,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB;YAAE,OAAO,KAAK,CAAA;IACpH,CAAC;IAED,iEAAiE;IACjE,IAAI,QAAQ,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QAC5C,IAAI,QAAQ,CAAC,gBAAgB,KAAK,SAAS,IAAI,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB;YAAE,OAAO,KAAK,CAAA;IACpH,CAAC;IAED,sEAAsE;IACtE,+FAA+F;IAC/F,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACtC,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,IAAI,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,KAAK,CAAC;YAAE,OAAO,KAAK,CAAA;IACxG,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAqC,EAAE,QAAqC;IACvG,iDAAiD;IACjD,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAA;IAC5F,CAAC;IAED,iDAAiD;IACjD,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAA;IAC5F,CAAC;IAED,+DAA+D;IAC/D,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,IAAI,CAAA,CAAC,oCAAoC;QAClF,OAAO,mBAAmB,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC5D,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAsC,EAAE,QAAsC;IAC1G,qFAAqF;IACrF,mFAAmF;IACnF,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACtB,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtC,gHAAgH;gBAChH,iGAAiG;gBACjG,qDAAqD;gBACrD,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,uGAAuG;IACvG,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC,GAAG,EAAE,sBAAsB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAChF,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;gBACtD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,sBAAsB,CAAC;oBAAE,OAAO,KAAK,CAAA;YAC1F,CAAC;iBAAM,IAAI,QAAQ,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;gBACvD,0DAA0D;gBAC1D,IAAI,QAAQ,CAAC,oBAAoB,KAAK,IAAI;oBAAE,SAAQ,CAAC,oBAAoB;gBACzE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,oBAAoB,EAAE,sBAAsB,CAAC;oBAAE,OAAO,KAAK,CAAA;YAC/F,CAAC;YACD,wGAAwG;QAC1G,CAAC;IACH,CAAC;IAED,iGAAiG;IACjG,IAAI,QAAQ,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;QAChD,IAAI,QAAQ,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;YAChD,2EAA2E;YAC3E,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IAAI,QAAQ,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;YAC3C,6CAA6C;YAC7C,OAAO,QAAQ,CAAC,oBAAoB,KAAK,IAAI,CAAA;QAC/C,CAAC;QACD,IAAI,QAAQ,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;YAC3C,oEAAoE;YACpE,OAAO,IAAI,CAAA;QACb,CAAC;QACD,gEAAgE;QAChE,OAAO,mBAAmB,CAAC,QAAQ,CAAC,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAA;IAC1F,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -1,3 +1,4 @@
1
1
  import { Json } from './Json';
2
+ /** Checks if any JSON value valid under `required` (old) will also be valid under `provided` (new). */
2
3
  export declare function jsonSchemaSatisfies(provided: Json.Schema, required: Json.Schema): boolean;
3
4
  //# sourceMappingURL=jsonSchemaSimplifiedSatisfies.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jsonSchemaSimplifiedSatisfies.d.ts","sourceRoot":"","sources":["../../../src/types/Json/jsonSchemaSimplifiedSatisfies.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAG7B,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAyDzF"}
1
+ {"version":3,"file":"jsonSchemaSimplifiedSatisfies.d.ts","sourceRoot":"","sources":["../../../src/types/Json/jsonSchemaSimplifiedSatisfies.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,uGAAuG;AACvG,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAyDzF"}
@@ -1,4 +1,5 @@
1
1
  import { haveSameContents } from '../../helpers/haveSameContents';
2
+ /** Checks if any JSON value valid under `required` (old) will also be valid under `provided` (new). */
2
3
  export function jsonSchemaSatisfies(provided, required) {
3
4
  if (isAnySchema(provided))
4
5
  return true;
@@ -29,6 +30,7 @@ export function jsonSchemaSatisfies(provided, required) {
29
30
  if (requiredBaseType === 'null')
30
31
  return providedBaseType === 'null' || providedNullable;
31
32
  if (providedBaseType !== requiredBaseType) {
33
+ // number satisfies integer since number is more permissive
32
34
  if (!(providedBaseType === 'number' && requiredBaseType === 'integer'))
33
35
  return false;
34
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"jsonSchemaSimplifiedSatisfies.js","sourceRoot":"","sources":["../../../src/types/Json/jsonSchemaSimplifiedSatisfies.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jsonSchemaSimplifiedSatisfies.js","sourceRoot":"","sources":["../../../src/types/Json/jsonSchemaSimplifiedSatisfies.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,40 @@
1
+ /**
2
+ * Extend to build lazy accessors to values that have to be evaluated but are rarely needed.
3
+ *
4
+ * @example
5
+ * ```ts
6
+ * const rawItems = [{ id: 'one', name: 'One', value: 1 }, ... ]
7
+ *
8
+ * // Use `createByInitialValues` to put direct values on the first level, or `create` to start by getters right away.
9
+ * // You may extend the lazy properties by more getters as many levels as you need:
10
+ * const items = Lazily.createByInitialValues({
11
+ * array: rawItems,
12
+ * })({
13
+ * sum() {
14
+ * return rawItems.reduce((current, item) => current + item.value, 0)
15
+ * },
16
+ * })({
17
+ * // Getters in each level have access to the previous properties via the `values` or `this` arguments:
18
+ * average(values) {
19
+ * return this.sum / values.array.length
20
+ * },
21
+ * extendedArray() {
22
+ * return this.array.map(item => ({ ...item, image: getImage(item.id), ... }))
23
+ * }
24
+ * })({
25
+ * sortedExtendedArray(values) {
26
+ * return [...values.extendedArray].sort( ... )
27
+ * },
28
+ * })({
29
+ * sortedExtendedById() {
30
+ * return this.sortedExtendedArray.reduce( ... )
31
+ * }
32
+ * })() // An extra empty call at the end to finish extending your lazy accessors.
33
+ *
34
+ * // Later in the code:
35
+ * console.log(items.sortedExtendedById) // Only when accessed (for the first time) the values are evaluated (in this case `extendedArray` and `sortedExtendedById`).
36
+ * ```
37
+ */
1
38
  export interface Lazily<Values extends {
2
39
  readonly [key: string]: any;
3
40
  }> {
@@ -15,11 +52,13 @@ export interface Lazily<Values extends {
15
52
  };
16
53
  }
17
54
  export declare namespace Lazily {
55
+ /** Creates a lazy object from getter functions. Getters starting with `$` are excluded. */
18
56
  function create<Getters extends {
19
57
  readonly [key: string]: () => any;
20
58
  }>(getters: Getters): Lazily<{
21
59
  readonly [Key in keyof Getters as Key extends `$${string}` ? never : Key]: ReturnType<Getters[Key]>;
22
60
  }>;
61
+ /** Creates a lazy object from initial values, allowing extension with lazy getters. */
23
62
  function createByInitialValues<InitialValues extends {
24
63
  readonly [key: string]: any;
25
64
  }>(initialValues: InitialValues): Lazily<InitialValues>;
@@ -1 +1 @@
1
- {"version":3,"file":"Lazily.d.ts","sourceRoot":"","sources":["../../src/types/Lazily.ts"],"names":[],"mappings":"AAuCA,MAAM,WAAW,MAAM,CAAC,MAAM,SAAS;IAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE;IACpE,CACE,UAAU,SAAS;QACjB,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,CACtB,IAAI,EAAE;YAAE,QAAQ,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC;SAAE,EACrD,MAAM,EAAE;YAAE,QAAQ,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC;SAAE,KACpD,GAAG,CAAA;KACT,EAED,OAAO,EAAE,UAAU,GAClB,MAAM,CAAC,MAAM,GAAG;QAAE,QAAQ,EAAE,GAAG,IAAI,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;KAAE,CAAC,CAAA;IACvF,IAAI;QAAE,QAAQ,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC;KAAE,CAAA;CACpD;AAED,yBAAiB,MAAM,CAAC;IAEtB,SAAgB,MAAM,CAAC,OAAO,SAAS;QAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,CAAA;KAAE,EAC1E,OAAO,EAAE,OAAO,GACf,MAAM,CAAC;QAAE,QAAQ,EAAE,GAAG,IAAI,MAAM,OAAO,IAAI,GAAG,SAAS,IAAI,MAAM,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;KAAE,CAAC,CAEjH;IAGD,SAAgB,qBAAqB,CAAC,aAAa,SAAS;QAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EACzF,aAAa,EAAE,aAAa,GAC3B,MAAM,CAAC,aAAa,CAAC,CAIvB;CACF"}
1
+ {"version":3,"file":"Lazily.d.ts","sourceRoot":"","sources":["../../src/types/Lazily.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,WAAW,MAAM,CAAC,MAAM,SAAS;IAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE;IACpE,CACE,UAAU,SAAS;QACjB,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,CACtB,IAAI,EAAE;YAAE,QAAQ,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC;SAAE,EACrD,MAAM,EAAE;YAAE,QAAQ,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC;SAAE,KACpD,GAAG,CAAA;KACT,EAED,OAAO,EAAE,UAAU,GAClB,MAAM,CAAC,MAAM,GAAG;QAAE,QAAQ,EAAE,GAAG,IAAI,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;KAAE,CAAC,CAAA;IACvF,IAAI;QAAE,QAAQ,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC;KAAE,CAAA;CACpD;AAED,yBAAiB,MAAM,CAAC;IACtB,2FAA2F;IAC3F,SAAgB,MAAM,CAAC,OAAO,SAAS;QAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,CAAA;KAAE,EAC1E,OAAO,EAAE,OAAO,GACf,MAAM,CAAC;QAAE,QAAQ,EAAE,GAAG,IAAI,MAAM,OAAO,IAAI,GAAG,SAAS,IAAI,MAAM,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;KAAE,CAAC,CAEjH;IAED,uFAAuF;IACvF,SAAgB,qBAAqB,CAAC,aAAa,SAAS;QAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EACzF,aAAa,EAAE,aAAa,GAC3B,MAAM,CAAC,aAAa,CAAC,CAIvB;CACF"}
@@ -1,10 +1,12 @@
1
1
  import { objectHelpers } from '../helpers/native/objectHelpers';
2
2
  export var Lazily;
3
3
  (function (Lazily) {
4
+ /** Creates a lazy object from getter functions. Getters starting with `$` are excluded. */
4
5
  function create(getters) {
5
6
  return createByGetters(getters);
6
7
  }
7
8
  Lazily.create = create;
9
+ /** Creates a lazy object from initial values, allowing extension with lazy getters. */
8
10
  function createByInitialValues(initialValues) {
9
11
  return createByGetters(objectHelpers.map(initialValues, (key, value) => (typeof value === 'function' ? () => value : value)));
10
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Lazily.js","sourceRoot":"","sources":["../../src/types/Lazily.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAqD/D,MAAM,KAAW,MAAM,CAgBtB;AAhBD,WAAiB,MAAM;IAErB,SAAgB,MAAM,CACpB,OAAgB;QAEhB,OAAO,eAAe,CAAC,OAAO,CAAC,CAAA;IACjC,CAAC;IAJe,aAAM,SAIrB,CAAA;IAGD,SAAgB,qBAAqB,CACnC,aAA4B;QAE5B,OAAO,eAAe,CACpB,aAAa,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CACtG,CAAA;IACH,CAAC;IANe,4BAAqB,wBAMpC,CAAA;AACH,CAAC,EAhBgB,MAAM,KAAN,MAAM,QAgBtB;AAED,SAAS,eAAe,CAAiD,OAExE;IACC,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,EAAS,EAAE;QAClC,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ;YAC/B,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,CAAC,WAAW,IAAI,OAAO,CAAC;gBAAE,OAAO,SAAS,CAAA;YAClF,IAAI,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;gBACnC,MAAM,CAAC,WAAW,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAE,MAAc,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;YACpG,CAAC;YACD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;QACnD,CAAC;KACF,CAAC,CAAA;IAEF,OAAO,UAAU,UAAgB;QAC/B,IAAI,CAAC,UAAU;YAAE,OAAO,MAAM,CAAA;QAC9B,OAAO,eAAe,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,UAAU,EAAE,CAAC,CAAA;IACvD,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"Lazily.js","sourceRoot":"","sources":["../../src/types/Lazily.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAqD/D,MAAM,KAAW,MAAM,CAgBtB;AAhBD,WAAiB,MAAM;IACrB,2FAA2F;IAC3F,SAAgB,MAAM,CACpB,OAAgB;QAEhB,OAAO,eAAe,CAAC,OAAO,CAAC,CAAA;IACjC,CAAC;IAJe,aAAM,SAIrB,CAAA;IAED,uFAAuF;IACvF,SAAgB,qBAAqB,CACnC,aAA4B;QAE5B,OAAO,eAAe,CACpB,aAAa,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CACtG,CAAA;IACH,CAAC;IANe,4BAAqB,wBAMpC,CAAA;AACH,CAAC,EAhBgB,MAAM,KAAN,MAAM,QAgBtB;AAED,SAAS,eAAe,CAAiD,OAExE;IACC,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,EAAS,EAAE;QAClC,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ;YAC/B,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,CAAC,WAAW,IAAI,OAAO,CAAC;gBAAE,OAAO,SAAS,CAAA;YAClF,IAAI,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;gBACnC,MAAM,CAAC,WAAW,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAE,MAAc,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;YACpG,CAAC;YACD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;QACnD,CAAC;KACF,CAAC,CAAA;IAEF,OAAO,UAAU,UAAgB;QAC/B,IAAI,CAAC,UAAU;YAAE,OAAO,MAAM,CAAA;QAC9B,OAAO,eAAe,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,UAAU,EAAE,CAAC,CAAA;IACvD,CAAC,CAAA;AACH,CAAC"}
@@ -1,23 +1,51 @@
1
1
  import type { Falsy } from '../types';
2
+ /**
3
+ * A composable validation and transformation pipeline for parsing input values.
4
+ *
5
+ * Normalizers can be chained to build complex validation logic:
6
+ * ```ts
7
+ * const emailNormalizer = Normalizer.stringTrimmed
8
+ * .chain(value => value?.toLowerCase())
9
+ * .chain(value => { if (!isValidEmail(value)) throw new Error('Invalid email'); return value })
10
+ * ```
11
+ */
2
12
  export declare class Normalizer<Value> {
3
13
  readonly parseOrThrow: Normalizer.ParseOrThrow<Value>;
4
14
  constructor(parseOrThrow: Normalizer.ParseOrThrow<Value>);
15
+ /** Runs the normalizer, returning a `Normalized` result with value or error. */
5
16
  normalize(value: any): Normalizer.Normalized<Value>;
17
+ /**
18
+ * Runs the normalizer, returning a `Normalized` result with value or error.
19
+ * Passes `undefined` as it is, suitable to normalized optional (not nullable) values.
20
+ */
6
21
  normalizeIfExists<V>(value: V): Normalizer.Normalized<undefined extends V ? Value | undefined : Value>;
22
+ /** Chains another synchronous transformation step. */
7
23
  chain<NewValue>(parseOrThrow: Normalizer.ParseOrThrow<NewValue, Value>): Normalizer<NewValue>;
24
+ /** Chains an asynchronous transformation step, converting to `Normalizer.Async`. */
8
25
  chainAsync<NewValue>(parseOrThrowAsync: Normalizer.ParseOrThrowAsync<NewValue, Value>): Normalizer.Async<NewValue>;
26
+ /** Creates a normalizer that throws if value is null, empty string, or empty array. */
9
27
  get required(): Normalizer<Exclude<Value, null>>;
10
28
  }
11
29
  export declare namespace Normalizer {
30
+ /** Async variant of `Normalizer` for pipelines with async steps. */
12
31
  class Async<Value> {
13
32
  readonly parseOrThrowAsync: ParseOrThrowAsync<Value>;
14
33
  constructor(parseOrThrowAsync: ParseOrThrowAsync<Value>);
34
+ /** Runs the async normalizer, returning a `Normalized` result. */
15
35
  normalize(value: any, abortSignal?: AbortSignal): Promise<Normalized<Value>>;
36
+ /**
37
+ * Runs the async normalizer, returning a `Normalized` result with value or error.
38
+ * Passes `undefined` as it is, suitable to normalized optional (not nullable) values.
39
+ */
16
40
  normalizeIfExists<V>(value: V, abortSignal?: AbortSignal): Promise<Normalized<undefined extends V ? Value | undefined : Value>>;
41
+ /** Chains a synchronous transformation step. */
17
42
  chain<NewValue>(parseOrThrow: ParseOrThrow<NewValue, Value>): Async<NewValue>;
43
+ /** Chains an asynchronous transformation step. */
18
44
  chainAsync<NewValue>(parseOrThrowAsync: ParseOrThrowAsync<NewValue, Value>): Async<NewValue>;
45
+ /** Creates an async normalizer that throws if value is null, empty string, or empty array. */
19
46
  get required(): Async<Exclude<Value, null>>;
20
47
  }
48
+ /** Result container holding either a normalized value (with optional warning) or an error. */
21
49
  class Normalized<Value> {
22
50
  private readonly state;
23
51
  constructor(state: {
@@ -29,14 +57,27 @@ export declare namespace Normalizer {
29
57
  readonly warningMessage?: string;
30
58
  readonly value: Value;
31
59
  });
60
+ /** Error message if normalization failed. */
32
61
  get errorMessage(): string | undefined;
62
+ /** Warning message if normalization succeeded with issues. */
33
63
  get warningMessage(): string | undefined;
64
+ /** The normalized value, or undefined if failed. Does not throw. */
34
65
  get valueSafe(): Value | undefined;
66
+ /** The normalized value. Throws if normalization failed. */
35
67
  get value(): Value;
68
+ /** Allows using `Normalized` in expressions expecting the value type. */
36
69
  valueOf(): Value;
70
+ /**
71
+ * Gets the value, passing any warning to the warn function.
72
+ * Throws with optional prefix if normalization failed.
73
+ */
37
74
  getValue(warn: Warn): Value;
38
75
  getValue(messagePrefix: string): Value;
39
76
  getValue(messagePrefix: string, warn: Warn): Value;
77
+ /**
78
+ * Combines multiple `Normalized` results into a single result.
79
+ * Aggregates all errors/warnings with optional labels.
80
+ */
40
81
  static combine<T extends {
41
82
  readonly [K in string]: any;
42
83
  } | readonly any[]>(normalizedItems: T, labelByKey?: {
@@ -46,38 +87,75 @@ export declare namespace Normalizer {
46
87
  }>;
47
88
  }
48
89
  namespace Normalized {
90
+ /**
91
+ * Use it with `satisfies`.
92
+ *
93
+ * @example
94
+ * interface Type {
95
+ * key1: Type1
96
+ * key2: Type2
97
+ * key3: Type3
98
+ * }
99
+ * const items = {
100
+ * key1: normalizer.normalize(value1),
101
+ * key2: normalizer.normalize(value2),
102
+ * key3: value3,
103
+ * } satisfies Normalizer.Normalized.Items<Type> // Helps with correctly defining items while not restricting the actual type definition.
104
+ * const combined = Normalizer.Normalized.combine(items) // combined.value is compatible with Type.
105
+ */
49
106
  type Items<T extends {
50
107
  readonly [K in string]: any;
51
108
  } | readonly any[]> = {
52
109
  -readonly [K in keyof T]: T[K] | Normalized<T[K]>;
53
110
  };
54
111
  }
112
+ /** Synchronous parser function signature. Throws on validation failure. */
55
113
  type ParseOrThrow<ToValue, FromValue = any> = (value: FromValue, warn: Warn) => ToValue;
114
+ /** Async parser function signature. Throws on validation failure. */
56
115
  type ParseOrThrowAsync<ToValue, FromValue = any> = (value: FromValue, warn: Warn, abortSignal: AbortSignal | undefined) => Promise<ToValue>;
116
+ /** Warning collector function passed to parsers. Call with a message to accumulate warnings. */
57
117
  interface Warn {
58
118
  (message: string | Falsy): void;
119
+ /** Accumulated warning messages joined by newlines. */
59
120
  readonly message: string | undefined;
60
121
  }
61
122
  namespace Warn {
123
+ /** Creates a new warning collector. */
62
124
  function create(): Warn;
63
125
  }
126
+ /** Passthrough normalizer that accepts any value unchanged. */
64
127
  const any: Normalizer<any>;
128
+ /** Normalizer that coerces to string. Returns null for empty strings. */
65
129
  const string: Normalizer<string | null>;
130
+ /** Normalizer that trims whitespace and warns if trimming occurred. */
66
131
  const stringTrimmed: Normalizer<string | null>;
132
+ /** Normalizer that trims and lowercases strings. */
67
133
  const stringTrimmedAndLowerCased: Normalizer<string | null>;
134
+ /** Creates a parser that warns if string length is outside bounds. */
68
135
  function stringLimitLength(minimum: number, maximum: number): ParseOrThrow<string | null, string | null>;
136
+ /** Creates a parser that validates string is a value from an enum object. */
69
137
  function stringEnum<E extends string>(enumObject: {
70
138
  readonly [K in string]: E;
71
139
  }): ParseOrThrow<E | null, string | null>;
140
+ /** Creates a parser that validates string is one of the allowed values. */
72
141
  function stringEnumValues<E extends readonly string[]>(...allowedValues: E): ParseOrThrow<E[number] | null, string | null>;
142
+ /** Normalizer that coerces to number. Throws for NaN. */
73
143
  const number: Normalizer<number | null>;
144
+ /** Normalizer that validates number is an integer. */
74
145
  const numberInteger: Normalizer<number | null>;
146
+ /** Creates a parser that warns if number is outside bounds. */
75
147
  function numberLimitRange(minimum: number, maximum: number): ParseOrThrow<number | null, number | null>;
148
+ /** Normalizer that coerces to boolean. Accepts `'true'`/`'false'` strings. */
76
149
  const boolean: Normalizer<boolean | null>;
150
+ /** Normalizer that validates value is a plain object (not array). */
77
151
  const object: Normalizer<Record<string, any> | null>;
152
+ /** Creates a parser that throws if object is missing required keys. */
78
153
  function objectRequireKeys(...keys: readonly string[]): ParseOrThrow<Record<string, any> | null, Record<string, any> | null>;
154
+ /** Simplifies normalization of object properties with a stronger type guarantee. */
79
155
  function objectProperties<T extends {}>(normalizeProperties: (value: T) => Normalized.Items<T>): ParseOrThrow<T | null, Record<string, any> | null>;
156
+ /** Normalizer that wraps non-array values in an array. Returns empty array for null. */
80
157
  const array: Normalizer<any[]>;
158
+ /** Simplifies normalization of array items with a stronger type guarantee. */
81
159
  function arrayItems<I>(itemNormalizer: Normalizer<I>): Normalizer.ParseOrThrow<I[], any[]>;
82
160
  }
83
161
  //# sourceMappingURL=Normalizer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Normalizer.d.ts","sourceRoot":"","sources":["../../src/types/Normalizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Normalizer.d.ts","sourceRoot":"","sources":["../../src/types/Normalizer.ts"],"names":[],"mappings":"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"}