@maxclicks/utilities 1.6.0 → 1.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/dist/helpers/deepClone.d.ts +1 -0
  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 -1
  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 +7 -1
  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/modules/common-normalizers/descriptionNormalizer.d.ts +1 -0
  82. package/dist/modules/common-normalizers/descriptionNormalizer.d.ts.map +1 -1
  83. package/dist/modules/common-normalizers/descriptionNormalizer.js +1 -0
  84. package/dist/modules/common-normalizers/descriptionNormalizer.js.map +1 -1
  85. package/dist/modules/common-normalizers/labelNormalizer.d.ts +1 -0
  86. package/dist/modules/common-normalizers/labelNormalizer.d.ts.map +1 -1
  87. package/dist/modules/common-normalizers/labelNormalizer.js +1 -0
  88. package/dist/modules/common-normalizers/labelNormalizer.js.map +1 -1
  89. package/dist/modules/common-normalizers/nameNormalizer.d.ts +1 -0
  90. package/dist/modules/common-normalizers/nameNormalizer.d.ts.map +1 -1
  91. package/dist/modules/common-normalizers/nameNormalizer.js +1 -0
  92. package/dist/modules/common-normalizers/nameNormalizer.js.map +1 -1
  93. package/dist/modules/common-normalizers/widthHeightNormalizer.d.ts +1 -0
  94. package/dist/modules/common-normalizers/widthHeightNormalizer.d.ts.map +1 -1
  95. package/dist/modules/common-normalizers/widthHeightNormalizer.js +1 -0
  96. package/dist/modules/common-normalizers/widthHeightNormalizer.js.map +1 -1
  97. package/dist/types/Address.d.ts +1 -0
  98. package/dist/types/Address.d.ts.map +1 -1
  99. package/dist/types/Color.d.ts +1 -0
  100. package/dist/types/Color.d.ts.map +1 -1
  101. package/dist/types/DateOnly.d.ts +2 -0
  102. package/dist/types/DateOnly.d.ts.map +1 -1
  103. package/dist/types/DateOnly.js +1 -0
  104. package/dist/types/DateOnly.js.map +1 -1
  105. package/dist/types/DateTime.d.ts +1 -0
  106. package/dist/types/DateTime.d.ts.map +1 -1
  107. package/dist/types/Decimal.d.ts +1 -0
  108. package/dist/types/Decimal.d.ts.map +1 -1
  109. package/dist/types/Email.d.ts +1 -0
  110. package/dist/types/Email.d.ts.map +1 -1
  111. package/dist/types/Geolocation.d.ts +1 -0
  112. package/dist/types/Geolocation.d.ts.map +1 -1
  113. package/dist/types/Json/Json.d.ts +7 -0
  114. package/dist/types/Json/Json.d.ts.map +1 -1
  115. package/dist/types/Json/Json.js +6 -0
  116. package/dist/types/Json/Json.js.map +1 -1
  117. package/dist/types/Json/jsonNormalizerWithSchemaFactory.js +13 -0
  118. package/dist/types/Json/jsonNormalizerWithSchemaFactory.js.map +1 -1
  119. package/dist/types/Json/jsonSchemaNormalizer.js +11 -0
  120. package/dist/types/Json/jsonSchemaNormalizer.js.map +1 -1
  121. package/dist/types/Json/jsonSchemaSatisfies.d.ts +9 -0
  122. package/dist/types/Json/jsonSchemaSatisfies.d.ts.map +1 -1
  123. package/dist/types/Json/jsonSchemaSatisfies.js +55 -3
  124. package/dist/types/Json/jsonSchemaSatisfies.js.map +1 -1
  125. package/dist/types/Json/jsonSchemaSimplifiedSatisfies.d.ts +1 -0
  126. package/dist/types/Json/jsonSchemaSimplifiedSatisfies.d.ts.map +1 -1
  127. package/dist/types/Json/jsonSchemaSimplifiedSatisfies.js +2 -0
  128. package/dist/types/Json/jsonSchemaSimplifiedSatisfies.js.map +1 -1
  129. package/dist/types/Lazily.d.ts +39 -0
  130. package/dist/types/Lazily.d.ts.map +1 -1
  131. package/dist/types/Lazily.js +2 -0
  132. package/dist/types/Lazily.js.map +1 -1
  133. package/dist/types/Normalizer.d.ts +78 -0
  134. package/dist/types/Normalizer.d.ts.map +1 -1
  135. package/dist/types/Normalizer.js +54 -0
  136. package/dist/types/Normalizer.js.map +1 -1
  137. package/dist/types/Phone.d.ts +1 -0
  138. package/dist/types/Phone.d.ts.map +1 -1
  139. package/dist/types/Slug.d.ts +1 -0
  140. package/dist/types/Slug.d.ts.map +1 -1
  141. package/dist/types/TimeOnly.d.ts +1 -0
  142. package/dist/types/TimeOnly.d.ts.map +1 -1
  143. package/dist/types/Url.d.ts +1 -0
  144. package/dist/types/Url.d.ts.map +1 -1
  145. package/dist/types/Uuid.d.ts +1 -0
  146. package/dist/types/Uuid.d.ts.map +1 -1
  147. package/dist/types.d.ts +29 -0
  148. package/dist/types.d.ts.map +1 -1
  149. package/package.json +1 -1
@@ -15,29 +15,36 @@ export function jsonNormalizerWithSchemaFactory(schema) {
15
15
  });
16
16
  }
17
17
  function validateAgainstSchema(value, schema, warn, path) {
18
+ // Handle const validation
18
19
  if ('const' in schema) {
19
20
  if (!haveSameContents(value, schema.const))
20
21
  throw new Error(prependMessage(path, `Value must be ${JSON.stringify(schema.const)}.`));
21
22
  return;
22
23
  }
24
+ // Handle enum validation
23
25
  if ('enum' in schema) {
24
26
  if (!schema.enum.some(enumValue => haveSameContents(value, enumValue)))
25
27
  throw new Error(prependMessage(path, `Value must be one of: ${schema.enum.map(v => JSON.stringify(v)).join(', ')}.`));
26
28
  return;
27
29
  }
28
30
  const type = schema.type;
31
+ // Any validation (no type or type: 'any')
29
32
  if (type === undefined || type === 'any')
30
33
  return;
34
+ // Parse type for nullable handling
31
35
  const typeArray = Array.isArray(type) ? type : null;
32
36
  const nullable = typeArray !== null && typeArray.includes('null');
33
37
  const typeValue = typeArray ? typeArray.find(t => t !== 'null') : type;
38
+ // Handle null values
34
39
  if (value === null) {
35
40
  if (nullable || typeValue === 'null')
36
41
  return;
37
42
  throw new Error(prependMessage(path, 'Value cannot be null.'));
38
43
  }
44
+ // Null type (but value is not null at this point)
39
45
  if (typeValue === 'null')
40
46
  throw new Error(prependMessage(path, 'Value must be null.'));
47
+ // String validation
41
48
  if (typeValue === 'string') {
42
49
  if (typeof value !== 'string')
43
50
  throw new Error(prependMessage(path, 'Value must be a string.'));
@@ -51,6 +58,7 @@ function validateAgainstSchema(value, schema, warn, path) {
51
58
  validateStringFormat(stringValue, stringSchema.format, path, warn);
52
59
  return;
53
60
  }
61
+ // Number/Integer validation
54
62
  if (typeValue === 'number' || typeValue === 'integer') {
55
63
  if (typeof value !== 'number')
56
64
  throw new Error(prependMessage(path, `Value must be a ${typeValue}.`));
@@ -70,11 +78,13 @@ function validateAgainstSchema(value, schema, warn, path) {
70
78
  throw new Error(prependMessage(path, `Value must be a multiple of ${numberSchema.multipleOf}.`));
71
79
  return;
72
80
  }
81
+ // Boolean validation
73
82
  if (typeValue === 'boolean') {
74
83
  if (typeof value !== 'boolean')
75
84
  throw new Error(prependMessage(path, 'Value must be a boolean.'));
76
85
  return;
77
86
  }
87
+ // Array validation
78
88
  if (typeValue === 'array') {
79
89
  if (!Array.isArray(value))
80
90
  throw new Error(prependMessage(path, 'Value must be an array.'));
@@ -91,17 +101,20 @@ function validateAgainstSchema(value, schema, warn, path) {
91
101
  }
92
102
  return;
93
103
  }
104
+ // Object validation
94
105
  if (typeValue === 'object') {
95
106
  if (typeof value !== 'object' || Array.isArray(value))
96
107
  throw new Error(prependMessage(path, 'Value must be an object.'));
97
108
  const objectSchema = schema;
98
109
  const objectValue = value;
110
+ // Check required properties
99
111
  if (objectSchema.required) {
100
112
  for (const requiredKey of objectSchema.required) {
101
113
  if (!(requiredKey in objectValue))
102
114
  throw new Error(prependMessage(path, `Missing required property "${requiredKey}".`));
103
115
  }
104
116
  }
117
+ // Validate properties
105
118
  const definedProperties = new Set(objectSchema.properties ? Object.keys(objectSchema.properties) : []);
106
119
  for (const [key, propertyValue] of Object.entries(objectValue)) {
107
120
  const propertyPath = path ? `${path}.${key}` : key;
@@ -1 +1 @@
1
- {"version":3,"file":"jsonNormalizerWithSchemaFactory.js","sourceRoot":"","sources":["../../../src/types/Json/jsonNormalizerWithSchemaFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jsonNormalizerWithSchemaFactory.js","sourceRoot":"","sources":["../../../src/types/Json/jsonNormalizerWithSchemaFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAA;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAEhC,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAE9B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,MAAM,UAAU,+BAA+B,CAAW,MAAmB;IAC3E,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,IAAI,EAAY,EAAE;QACpD,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QAC/B,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;QACrD,OAAO,KAAU,CAAA;IACnB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAAW,EACX,MAAmB,EACnB,IAAqB,EACrB,IAAwB;IAExB,0BAA0B;IAC1B,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;QACtB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,iBAAiB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;QACzF,OAAM;IACR,CAAC;IAED,yBAAyB;IACzB,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YACpE,MAAM,IAAI,KAAK,CACb,cAAc,CAAC,IAAI,EAAE,yBAAyB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CACrG,CAAA;QACH,OAAM;IACR,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;IAExB,0CAA0C;IAC1C,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,KAAK;QAAE,OAAM;IAEhD,mCAAmC;IACnC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;IACnD,MAAM,QAAQ,GAAG,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACjE,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAEtE,qBAAqB;IACrB,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,IAAI,QAAQ,IAAI,SAAS,KAAK,MAAM;YAAE,OAAM;QAC5C,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAA;IAChE,CAAC;IAED,kDAAkD;IAClD,IAAI,SAAS,KAAK,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAA;IAEtF,oBAAoB;IACpB,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC,CAAA;QAC/F,MAAM,WAAW,GAAG,KAAe,CAAA;QACnC,MAAM,YAAY,GAAG,MAAsC,CAAA;QAC3D,IAAI,YAAY,CAAC,SAAS,KAAK,SAAS,IAAI,WAAW,CAAC,MAAM,GAAG,YAAY,CAAC,SAAS;YACrF,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,kCAAkC,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC,CAAA;QACpG,IAAI,YAAY,CAAC,SAAS,KAAK,SAAS,IAAI,WAAW,CAAC,MAAM,GAAG,YAAY,CAAC,SAAS;YACrF,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,iCAAiC,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC,CAAA;QACnG,IAAI,YAAY,CAAC,MAAM,KAAK,SAAS;YAAE,oBAAoB,CAAC,WAAW,EAAE,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QACzG,OAAM;IACR,CAAC;IAED,4BAA4B;IAC5B,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QACtD,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,mBAAmB,SAAS,GAAG,CAAC,CAAC,CAAA;QACrG,MAAM,WAAW,GAAG,KAAe,CAAA;QACnC,IAAI,SAAS,KAAK,SAAS,IAAI,WAAW,GAAG,CAAC,KAAK,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC,CAAA;QACpE,MAAM,YAAY,GAAG,MAA6C,CAAA;QAClE,IAAI,YAAY,CAAC,OAAO,KAAK,SAAS,IAAI,WAAW,GAAG,YAAY,CAAC,OAAO;YAC1E,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,0BAA0B,YAAY,CAAC,OAAO,GAAG,CAAC,CAAC,CAAA;QAC1F,IAAI,YAAY,CAAC,OAAO,KAAK,SAAS,IAAI,WAAW,GAAG,YAAY,CAAC,OAAO;YAC1E,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,yBAAyB,YAAY,CAAC,OAAO,GAAG,CAAC,CAAC,CAAA;QACzF,IAAI,YAAY,CAAC,gBAAgB,KAAK,SAAS,IAAI,WAAW,IAAI,YAAY,CAAC,gBAAgB;YAC7F,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,8BAA8B,YAAY,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAA;QACvG,IAAI,YAAY,CAAC,gBAAgB,KAAK,SAAS,IAAI,WAAW,IAAI,YAAY,CAAC,gBAAgB;YAC7F,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,2BAA2B,YAAY,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAA;QACpG,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS,IAAI,WAAW,GAAG,YAAY,CAAC,UAAU,KAAK,CAAC;YACtF,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,+BAA+B,YAAY,CAAC,UAAU,GAAG,CAAC,CAAC,CAAA;QAClG,OAAM;IACR,CAAC;IAED,qBAAqB;IACrB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,IAAI,OAAO,KAAK,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC,CAAA;QACjG,OAAM;IACR,CAAC;IAED,mBAAmB;IACnB,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC,CAAA;QAC3F,MAAM,UAAU,GAAG,KAAwB,CAAA;QAC3C,MAAM,WAAW,GAAG,MAAqC,CAAA;QACzD,IAAI,WAAW,CAAC,QAAQ,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC,QAAQ;YAChF,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,4BAA4B,WAAW,CAAC,QAAQ,WAAW,CAAC,CAAC,CAAA;QACpG,IAAI,WAAW,CAAC,QAAQ,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC,QAAQ;YAChF,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,2BAA2B,WAAW,CAAC,QAAQ,WAAW,CAAC,CAAC,CAAA;QACnG,IAAI,WAAW,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACpC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;gBACvD,qBAAqB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAA;YAC9G,CAAC;QACH,CAAC;QACD,OAAM;IACR,CAAC;IAED,oBAAoB;IACpB,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC,CAAA;QACnE,MAAM,YAAY,GAAG,MAAsC,CAAA;QAC3D,MAAM,WAAW,GAAG,KAA6B,CAAA;QAEjD,4BAA4B;QAC5B,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC1B,KAAK,MAAM,WAAW,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;gBAChD,IAAI,CAAC,CAAC,WAAW,IAAI,WAAW,CAAC;oBAC/B,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,8BAA8B,WAAW,IAAI,CAAC,CAAC,CAAA;YACxF,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAEtG,KAAK,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/D,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;YAElD,IAAI,YAAY,CAAC,UAAU,IAAI,GAAG,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;gBAC9D,qBAAqB,CAAC,aAAa,EAAE,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAA;YACxF,CAAC;iBAAM,IAAI,YAAY,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;gBAC3D,IAAI,YAAY,CAAC,oBAAoB,KAAK,IAAI;oBAC5C,qBAAqB,CAAC,aAAa,EAAE,YAAY,CAAC,oBAAoB,EAAE,IAAI,EAAE,YAAY,CAAC,CAAA;YAC/F,CAAC;iBAAM,IAAI,iBAAiB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,yCAAyC,CAAC,CAAC,CAAA;YAC/E,CAAC;QACH,CAAC;QACD,OAAM;IACR,CAAC;IAED,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,4BAA4B,SAAS,IAAI,CAAC,CAAC,CAAA;AAC7E,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa,EAAE,MAAc,EAAE,IAAwB,EAAE,IAAqB;IAC1G,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YACvD,IAAI,UAAU,CAAC,YAAY;gBAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC,CAAA;YAC/F,IAAI,UAAU,CAAC,cAAc;gBAAE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC,CAAA;YACpF,MAAK;QACP,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YACpD,IAAI,UAAU,CAAC,YAAY;gBAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAA;YAC3F,IAAI,UAAU,CAAC,cAAc;gBAAE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC,CAAA;YACpF,MAAK;QACP,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YACnD,IAAI,UAAU,CAAC,YAAY;gBAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAAA;YAC1F,IAAI,UAAU,CAAC,cAAc;gBAAE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC,CAAA;YACpF,MAAK;QACP,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YAClD,IAAI,UAAU,CAAC,YAAY;gBAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAA;YACzF,IAAI,UAAU,CAAC,cAAc;gBAAE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC,CAAA;YACpF,MAAK;QACP,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -6,6 +6,7 @@ export const jsonSchemaNormalizer = jsonNormalizer.chain((value, warn) => {
6
6
  if (typeof value !== 'object' || Array.isArray(value))
7
7
  throw new Error('Schema must be an object.');
8
8
  const schema = value;
9
+ // Extract and validate annotations
9
10
  const { $comment, title, description, default: defaultValue, examples, ...rest } = schema;
10
11
  if ($comment !== undefined && typeof $comment !== 'string')
11
12
  throw new Error('"$comment" must be a string.');
@@ -15,6 +16,7 @@ export const jsonSchemaNormalizer = jsonNormalizer.chain((value, warn) => {
15
16
  throw new Error('"description" must be a string.');
16
17
  if (examples !== undefined && !Array.isArray(examples))
17
18
  throw new Error('"examples" must be an array.');
19
+ // Check for const validation
18
20
  if ('const' in rest) {
19
21
  const { const: constValue, ...afterConst } = rest;
20
22
  const unsupportedKeys = objectHelpers.keys(afterConst);
@@ -22,6 +24,7 @@ export const jsonSchemaNormalizer = jsonNormalizer.chain((value, warn) => {
22
24
  throw new Error(`When "const" is declared, these properties are not supported: ${unsupportedKeys.map(k => `"${k}"`).join(', ')}.`);
23
25
  return value;
24
26
  }
27
+ // Check for enum validation
25
28
  if ('enum' in rest) {
26
29
  const { enum: enumValue, ...afterEnum } = rest;
27
30
  if (!Array.isArray(enumValue))
@@ -34,12 +37,14 @@ export const jsonSchemaNormalizer = jsonNormalizer.chain((value, warn) => {
34
37
  return value;
35
38
  }
36
39
  const { type, ...afterType } = rest;
40
+ // Any validation (no type or type: 'any')
37
41
  if (type === undefined || type === 'any') {
38
42
  const unsupportedKeys = objectHelpers.keys(afterType);
39
43
  if (unsupportedKeys.length > 0)
40
44
  throw new Error(`When ${type === undefined ? 'no type is specified' : 'type is "any"'}, these properties are not supported: ${unsupportedKeys.map(k => `"${k}"`).join(', ')}.`);
41
45
  return value;
42
46
  }
47
+ // Parse type (handle nullable types like ['string', 'null'])
43
48
  const typeArray = Array.isArray(type) ? type : null;
44
49
  const nullable = typeArray !== null && typeArray.includes('null');
45
50
  const typeValues = typeArray ? typeArray.filter(t => t !== 'null') : [type];
@@ -48,12 +53,14 @@ export const jsonSchemaNormalizer = jsonNormalizer.chain((value, warn) => {
48
53
  const typeValue = typeValues[0];
49
54
  if (typeof typeValue !== 'string')
50
55
  throw new Error('"type" must be a string or an array of strings.');
56
+ // Null validation
51
57
  if (typeValue === 'null') {
52
58
  const unsupportedKeys = objectHelpers.keys(afterType);
53
59
  if (unsupportedKeys.length > 0)
54
60
  throw new Error(`When type is "null", these properties are not supported: ${unsupportedKeys.map(k => `"${k}"`).join(', ')}.`);
55
61
  return value;
56
62
  }
63
+ // String validation
57
64
  if (typeValue === 'string') {
58
65
  const { minLength, maxLength, format, ...remaining } = afterType;
59
66
  const unsupportedKeys = objectHelpers.keys(remaining);
@@ -81,6 +88,7 @@ export const jsonSchemaNormalizer = jsonNormalizer.chain((value, warn) => {
81
88
  throw new Error('"format" must be a string.');
82
89
  return value;
83
90
  }
91
+ // Number/Integer validation
84
92
  if (typeValue === 'number' || typeValue === 'integer') {
85
93
  const { minimum, maximum, exclusiveMinimum, exclusiveMaximum, multipleOf, ...remaining } = afterType;
86
94
  const unsupportedKeys = objectHelpers.keys(remaining);
@@ -108,12 +116,14 @@ export const jsonSchemaNormalizer = jsonNormalizer.chain((value, warn) => {
108
116
  }
109
117
  return value;
110
118
  }
119
+ // Boolean validation
111
120
  if (typeValue === 'boolean') {
112
121
  const unsupportedKeys = objectHelpers.keys(afterType);
113
122
  if (unsupportedKeys.length > 0)
114
123
  throw new Error(`When type is "boolean", these properties are not supported: ${unsupportedKeys.map(k => `"${k}"`).join(', ')}.`);
115
124
  return value;
116
125
  }
126
+ // Array validation
117
127
  if (typeValue === 'array') {
118
128
  const { items, minItems, maxItems, ...remaining } = afterType;
119
129
  const unsupportedKeys = objectHelpers.keys(remaining);
@@ -140,6 +150,7 @@ export const jsonSchemaNormalizer = jsonNormalizer.chain((value, warn) => {
140
150
  }
141
151
  return value;
142
152
  }
153
+ // Object validation
143
154
  if (typeValue === 'object') {
144
155
  const { properties, additionalProperties, required, ...remaining } = afterType;
145
156
  const unsupportedKeys = objectHelpers.keys(remaining);
@@ -1 +1 @@
1
- {"version":3,"file":"jsonSchemaNormalizer.js","sourceRoot":"","sources":["../../../src/types/Json/jsonSchemaNormalizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAA;AAElE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,IAAI,EAAsB,EAAE;IAC3F,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAE/B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAEnG,MAAM,MAAM,GAAG,KAA6B,CAAA;IAG5C,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAA;IAEzF,IAAI,QAAQ,KAAK,SAAS,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;IAC3G,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAClG,IAAI,WAAW,KAAK,SAAS,IAAI,OAAO,WAAW,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACpH,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;IAGvG,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;QACpB,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,GAAG,IAAI,CAAA;QACjD,MAAM,eAAe,GAAG,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACtD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,iEAAiE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAClH,CAAA;QACH,OAAO,KAAoB,CAAA;IAC7B,CAAC;IAGD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACnB,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,GAAG,IAAI,CAAA;QAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;QAC1E,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACnF,MAAM,eAAe,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACrD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,gEAAgE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACjH,CAAA;QACH,OAAO,KAAoB,CAAA;IAC7B,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,GAAG,IAAI,CAAA;IAGnC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACzC,MAAM,eAAe,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACrD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,QAAQ,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,eAAe,yCAAyC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC/J,CAAA;QACH,OAAO,KAAoB,CAAA;IAC7B,CAAC;IAGD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;IACnD,MAAM,QAAQ,GAAG,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACjE,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAE3E,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAA;IAEhG,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;IAE/B,IAAI,OAAO,SAAS,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;IAGrG,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACzB,MAAM,eAAe,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACrD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,4DAA4D,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC7G,CAAA;QACH,OAAO,KAAoB,CAAA;IAC7B,CAAC;IAGD,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,GAAG,SAAS,CAAA;QAChE,MAAM,eAAe,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACrD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,8DAA8D,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC/G,CAAA;QACH,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,OAAO,SAAS,KAAK,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;YACnF,IAAI,SAAS,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;YACrE,IAAI,SAAS,GAAG,CAAC,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;QAC7E,CAAC;QACD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,OAAO,SAAS,KAAK,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;YACnF,IAAI,SAAS,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;YACrE,IAAI,SAAS,GAAG,CAAC,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;YAC3E,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,GAAI,SAAoB;gBAC9D,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;QACnE,CAAC;QACD,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;QACrG,OAAO,KAAoB,CAAA;IAC7B,CAAC;IAGD,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QACtD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,GAAG,SAAS,EAAE,GAAG,SAAS,CAAA;QACpG,MAAM,eAAe,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACrD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,iBAAiB,SAAS,0CAA0C,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACrH,CAAA;QACH,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;QACxG,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;QACxG,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,IAAK,OAAkB,GAAI,OAAkB;YAC7F,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;QAC7D,IAAI,gBAAgB,KAAK,SAAS,IAAI,OAAO,gBAAgB,KAAK,QAAQ;YACxE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACzD,IAAI,gBAAgB,KAAK,SAAS,IAAI,OAAO,gBAAgB,KAAK,QAAQ;YACxE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACzD,IACE,gBAAgB,KAAK,SAAS;YAC9B,gBAAgB,KAAK,SAAS;YAC7B,gBAA2B,IAAK,gBAA2B;YAE5D,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;QAChF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,OAAO,UAAU,KAAK,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;YACrF,IAAI,UAAU,IAAI,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;QACxE,CAAC;QACD,OAAO,KAAoB,CAAA;IAC7B,CAAC;IAGD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,eAAe,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACrD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,+DAA+D,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAChH,CAAA;QACH,OAAO,KAAoB,CAAA;IAC7B,CAAC;IAGD,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,SAAS,CAAA;QAC7D,MAAM,eAAe,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACrD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,6DAA6D,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC9G,CAAA;QACH,oBAAoB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QAC9E,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,OAAO,QAAQ,KAAK,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;YACjF,IAAI,QAAQ,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;YACnE,IAAI,QAAQ,GAAG,CAAC,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;QAC3E,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,OAAO,QAAQ,KAAK,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;YACjF,IAAI,QAAQ,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;YACnE,IAAI,QAAQ,GAAG,CAAC,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;YACzE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,GAAI,QAAmB;gBAC3D,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;QACjE,CAAC;QACD,OAAO,KAAoB,CAAA;IAC7B,CAAC;IAGD,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,EAAE,UAAU,EAAE,oBAAoB,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,SAAS,CAAA;QAC9E,MAAM,eAAe,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACrD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,8DAA8D,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC/G,CAAA;QACH,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;gBACpF,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;YACpD,KAAK,MAAM,CAAC,GAAG,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/D,oBAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,cAAc,GAAG,EAAE,EAAE,IAAI,CAAC,CAAA;YAC7F,CAAC;QACH,CAAC;QACD,IAAI,oBAAoB,KAAK,SAAS,IAAI,oBAAoB,KAAK,IAAI,EAAE,CAAC;YACxE,oBAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAA;QACtG,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;YAC7E,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC5B,IAAI,OAAO,IAAI,KAAK,QAAQ;oBAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;YAC9F,CAAC;QACH,CAAC;QACD,OAAO,KAAoB,CAAA;IAC7B,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,qBAAqB,SAAS,IAAI,CAAC,CAAA;AACrD,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"jsonSchemaNormalizer.js","sourceRoot":"","sources":["../../../src/types/Json/jsonSchemaNormalizer.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,12 @@
1
1
  import { Json } from './Json';
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 declare function jsonSchemaSatisfies(provided: Json.Schema, required: Json.Schema): boolean;
3
12
  //# sourceMappingURL=jsonSchemaSatisfies.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jsonSchemaSatisfies.d.ts","sourceRoot":"","sources":["../../../src/types/Json/jsonSchemaSatisfies.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAW7B,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAuEzF"}
1
+ {"version":3,"file":"jsonSchemaSatisfies.d.ts","sourceRoot":"","sources":["../../../src/types/Json/jsonSchemaSatisfies.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAuEzF"}
@@ -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":"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"}
@@ -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":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAGjE,uGAAuG;AACvG,MAAM,UAAU,mBAAmB,CAAC,QAAqB,EAAE,QAAqB;IAC9E,IAAI,WAAW,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAA;IACtC,IAAI,WAAW,CAAC,QAAQ,CAAC;QAAE,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAA;IAEvD,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,OAAO,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;IACrD,CAAC;IAED,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,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;IAC1E,CAAC;IAED,IAAI,OAAO,IAAI,QAAQ,IAAI,MAAM,IAAI,QAAQ;QAAE,OAAO,KAAK,CAAA;IAE3D,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,IAAI,gBAAgB,IAAI,CAAC,gBAAgB;QAAE,OAAO,KAAK,CAAA;IACvD,IAAI,gBAAgB,KAAK,MAAM;QAAE,OAAO,gBAAgB,KAAK,MAAM,IAAI,gBAAgB,CAAA;IAEvF,IAAI,gBAAgB,KAAK,gBAAgB,EAAE,CAAC;QAC1C,2DAA2D;QAC3D,IAAI,CAAC,CAAC,gBAAgB,KAAK,QAAQ,IAAI,gBAAgB,KAAK,SAAS,CAAC;YAAE,OAAO,KAAK,CAAA;IACtF,CAAC;IAED,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;QAEb,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,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,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,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,IAAI,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS;QACjH,OAAO,KAAK,CAAA;IACd,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,IAAI,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS;QACjH,OAAO,KAAK,CAAA;IACd,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;QACvG,OAAO,KAAK,CAAA;IACd,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,oBAAoB,CAC3B,QAA6C,EAC7C,QAA6C;IAE7C,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,IAAI,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO;QACzG,OAAO,KAAK,CAAA;IACd,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,IAAI,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO;QACzG,OAAO,KAAK,CAAA;IACd,IACE,QAAQ,CAAC,gBAAgB,KAAK,SAAS;QACvC,QAAQ,CAAC,gBAAgB,KAAK,SAAS;QACvC,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB;QAErD,OAAO,KAAK,CAAA;IACd,IACE,QAAQ,CAAC,gBAAgB,KAAK,SAAS;QACvC,QAAQ,CAAC,gBAAgB,KAAK,SAAS;QACvC,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB;QAErD,OAAO,KAAK,CAAA;IACd,IACE,QAAQ,CAAC,UAAU,KAAK,SAAS;QACjC,QAAQ,CAAC,UAAU,KAAK,SAAS;QACjC,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,KAAK,CAAC;QAE/C,OAAO,KAAK,CAAA;IACd,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAqC,EAAE,QAAqC;IACvG,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ;QAC7G,OAAO,KAAK,CAAA;IACd,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ;QAC7G,OAAO,KAAK,CAAA;IACd,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,IAAI,CAAA;QAC7C,OAAO,mBAAmB,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC5D,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAsC,EAAE,QAAsC;IAC1G,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;gBAAE,OAAO,KAAK,CAAA;QACrD,CAAC;IACH,CAAC;IAED,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,IAAI,QAAQ,CAAC,oBAAoB,KAAK,IAAI;oBAAE,SAAQ;gBACpD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,oBAAoB,EAAE,sBAAsB,CAAC;oBAAE,OAAO,KAAK,CAAA;YAC/F,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;QAChD,IAAI,QAAQ,CAAC,oBAAoB,KAAK,SAAS;YAAE,OAAO,IAAI,CAAA;QAC5D,IAAI,QAAQ,CAAC,oBAAoB,KAAK,IAAI;YAAE,OAAO,QAAQ,CAAC,oBAAoB,KAAK,IAAI,CAAA;QACzF,IAAI,QAAQ,CAAC,oBAAoB,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QACvD,OAAO,mBAAmB,CAAC,QAAQ,CAAC,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAA;IAC1F,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -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>;