@frictionless-ts/metadata 1.0.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 (312) hide show
  1. package/README.md +3 -0
  2. package/build/assets/dialect-1.0.json +58 -0
  3. package/build/assets/dialect-2.0.json +98 -0
  4. package/build/assets/package-1.0.json +1517 -0
  5. package/build/assets/package-2.0.json +2168 -0
  6. package/build/assets/resource-1.0.json +1353 -0
  7. package/build/assets/resource-2.0.json +1987 -0
  8. package/build/assets/schema-1.0.json +1126 -0
  9. package/build/assets/schema-2.0.json +1715 -0
  10. package/build/descriptor/Descriptor.d.ts +2 -0
  11. package/build/descriptor/Descriptor.js +4 -0
  12. package/build/descriptor/index.d.ts +6 -0
  13. package/build/descriptor/index.js +6 -0
  14. package/build/descriptor/load.d.ts +8 -0
  15. package/build/descriptor/load.js +36 -0
  16. package/build/descriptor/load.spec.d.ts +1 -0
  17. package/build/descriptor/load.spec.js +44 -0
  18. package/build/descriptor/process/parse.d.ts +2 -0
  19. package/build/descriptor/process/parse.js +8 -0
  20. package/build/descriptor/process/stringify.d.ts +2 -0
  21. package/build/descriptor/process/stringify.js +4 -0
  22. package/build/descriptor/save.d.ts +9 -0
  23. package/build/descriptor/save.js +19 -0
  24. package/build/descriptor/save.spec.d.ts +1 -0
  25. package/build/descriptor/save.spec.js +99 -0
  26. package/build/dialect/Dialect.d.ts +89 -0
  27. package/build/dialect/Dialect.js +2 -0
  28. package/build/dialect/assert.d.ts +6 -0
  29. package/build/dialect/assert.js +12 -0
  30. package/build/dialect/assert.spec.d.ts +1 -0
  31. package/build/dialect/assert.spec.js +22 -0
  32. package/build/dialect/convert/fromDescriptor.d.ts +2 -0
  33. package/build/dialect/convert/fromDescriptor.js +20 -0
  34. package/build/dialect/convert/toDescriptor.d.ts +3 -0
  35. package/build/dialect/convert/toDescriptor.js +5 -0
  36. package/build/dialect/index.d.ts +8 -0
  37. package/build/dialect/index.js +8 -0
  38. package/build/dialect/load.d.ts +5 -0
  39. package/build/dialect/load.js +12 -0
  40. package/build/dialect/load.spec.d.ts +1 -0
  41. package/build/dialect/load.spec.js +18 -0
  42. package/build/dialect/resolve.d.ts +2 -0
  43. package/build/dialect/resolve.js +11 -0
  44. package/build/dialect/save.d.ts +9 -0
  45. package/build/dialect/save.js +16 -0
  46. package/build/dialect/save.spec.d.ts +1 -0
  47. package/build/dialect/save.spec.js +52 -0
  48. package/build/dialect/validate.d.ts +10 -0
  49. package/build/dialect/validate.js +25 -0
  50. package/build/dialect/validate.spec.d.ts +1 -0
  51. package/build/dialect/validate.spec.js +28 -0
  52. package/build/error/Bound.d.ts +4 -0
  53. package/build/error/Bound.js +2 -0
  54. package/build/error/Error.d.ts +3 -0
  55. package/build/error/Error.js +2 -0
  56. package/build/error/Unbound.d.ts +6 -0
  57. package/build/error/Unbound.js +2 -0
  58. package/build/error/index.d.ts +16 -0
  59. package/build/error/index.js +2 -0
  60. package/build/error/types/Base.d.ts +3 -0
  61. package/build/error/types/Base.js +2 -0
  62. package/build/error/types/Bytes.d.ts +6 -0
  63. package/build/error/types/Bytes.js +2 -0
  64. package/build/error/types/Cell.d.ts +56 -0
  65. package/build/error/types/Cell.js +2 -0
  66. package/build/error/types/Data.d.ts +5 -0
  67. package/build/error/types/Data.js +2 -0
  68. package/build/error/types/Document.d.ts +7 -0
  69. package/build/error/types/Document.js +2 -0
  70. package/build/error/types/Encoding.d.ts +6 -0
  71. package/build/error/types/Encoding.js +2 -0
  72. package/build/error/types/Field.d.ts +15 -0
  73. package/build/error/types/Field.js +2 -0
  74. package/build/error/types/Fields.d.ts +11 -0
  75. package/build/error/types/Fields.js +2 -0
  76. package/build/error/types/File.d.ts +4 -0
  77. package/build/error/types/File.js +2 -0
  78. package/build/error/types/ForeignKey.d.ts +7 -0
  79. package/build/error/types/ForeignKey.js +2 -0
  80. package/build/error/types/Hash.d.ts +6 -0
  81. package/build/error/types/Hash.js +2 -0
  82. package/build/error/types/Metadata.d.ts +9 -0
  83. package/build/error/types/Metadata.js +2 -0
  84. package/build/error/types/Row.d.ts +9 -0
  85. package/build/error/types/Row.js +2 -0
  86. package/build/error/types/Table.d.ts +6 -0
  87. package/build/error/types/Table.js +2 -0
  88. package/build/field/Field.d.ts +5 -0
  89. package/build/field/Field.js +2 -0
  90. package/build/field/Type.d.ts +2 -0
  91. package/build/field/Type.js +2 -0
  92. package/build/field/convert/fromDescriptor.d.ts +2 -0
  93. package/build/field/convert/fromDescriptor.js +61 -0
  94. package/build/field/convert/fromDescriptor.spec.d.ts +1 -0
  95. package/build/field/convert/fromDescriptor.spec.js +241 -0
  96. package/build/field/convert/toDescriptor.d.ts +3 -0
  97. package/build/field/convert/toDescriptor.js +5 -0
  98. package/build/field/convert/toDescriptor.spec.d.ts +1 -0
  99. package/build/field/convert/toDescriptor.spec.js +291 -0
  100. package/build/field/index.d.ts +5 -0
  101. package/build/field/index.js +3 -0
  102. package/build/field/types/Any.d.ts +20 -0
  103. package/build/field/types/Any.js +2 -0
  104. package/build/field/types/Array.d.ts +32 -0
  105. package/build/field/types/Array.js +2 -0
  106. package/build/field/types/Base.d.ts +60 -0
  107. package/build/field/types/Base.js +2 -0
  108. package/build/field/types/Boolean.d.ts +28 -0
  109. package/build/field/types/Boolean.js +2 -0
  110. package/build/field/types/Date.d.ts +43 -0
  111. package/build/field/types/Date.js +2 -0
  112. package/build/field/types/Datetime.d.ts +43 -0
  113. package/build/field/types/Datetime.js +2 -0
  114. package/build/field/types/Duration.d.ts +28 -0
  115. package/build/field/types/Duration.js +2 -0
  116. package/build/field/types/Geojson.d.ts +30 -0
  117. package/build/field/types/Geojson.js +2 -0
  118. package/build/field/types/Geopoint.d.ts +27 -0
  119. package/build/field/types/Geopoint.js +2 -0
  120. package/build/field/types/Integer.d.ts +57 -0
  121. package/build/field/types/Integer.js +2 -0
  122. package/build/field/types/List.d.ts +36 -0
  123. package/build/field/types/List.js +2 -0
  124. package/build/field/types/Number.d.ts +48 -0
  125. package/build/field/types/Number.js +2 -0
  126. package/build/field/types/Object.d.ts +32 -0
  127. package/build/field/types/Object.js +2 -0
  128. package/build/field/types/String.d.ts +51 -0
  129. package/build/field/types/String.js +2 -0
  130. package/build/field/types/Time.d.ts +43 -0
  131. package/build/field/types/Time.js +2 -0
  132. package/build/field/types/Year.d.ts +36 -0
  133. package/build/field/types/Year.js +2 -0
  134. package/build/field/types/Yearmonth.d.ts +36 -0
  135. package/build/field/types/Yearmonth.js +2 -0
  136. package/build/field/types/index.d.ts +16 -0
  137. package/build/field/types/index.js +17 -0
  138. package/build/index.d.ts +112 -0
  139. package/build/index.js +32 -0
  140. package/build/json/Schema.d.ts +2 -0
  141. package/build/json/Schema.js +2 -0
  142. package/build/json/Value.d.ts +1 -0
  143. package/build/json/Value.js +2 -0
  144. package/build/json/ajv.d.ts +2 -0
  145. package/build/json/ajv.js +10 -0
  146. package/build/json/assert.d.ts +2 -0
  147. package/build/json/assert.js +10 -0
  148. package/build/json/cache.d.ts +2 -0
  149. package/build/json/cache.js +5 -0
  150. package/build/json/index.d.ts +5 -0
  151. package/build/json/index.js +4 -0
  152. package/build/json/inspect/schema.d.ts +4 -0
  153. package/build/json/inspect/schema.js +10 -0
  154. package/build/json/inspect/schema.spec.d.ts +1 -0
  155. package/build/json/inspect/schema.spec.js +132 -0
  156. package/build/json/inspect/value.d.ts +11 -0
  157. package/build/json/inspect/value.js +21 -0
  158. package/build/json/inspect/value.spec.d.ts +1 -0
  159. package/build/json/inspect/value.spec.js +121 -0
  160. package/build/json/load.d.ts +3 -0
  161. package/build/json/load.js +13 -0
  162. package/build/json/resolve.d.ts +2 -0
  163. package/build/json/resolve.js +11 -0
  164. package/build/metadata/Metadata.d.ts +3 -0
  165. package/build/metadata/Metadata.js +2 -0
  166. package/build/metadata/index.d.ts +1 -0
  167. package/build/metadata/index.js +2 -0
  168. package/build/package/Contributor.d.ts +21 -0
  169. package/build/package/Contributor.js +2 -0
  170. package/build/package/Package.d.ts +64 -0
  171. package/build/package/Package.js +2 -0
  172. package/build/package/assert.d.ts +8 -0
  173. package/build/package/assert.js +12 -0
  174. package/build/package/assert.spec.d.ts +1 -0
  175. package/build/package/assert.spec.js +26 -0
  176. package/build/package/convert/fromDescriptor.d.ts +4 -0
  177. package/build/package/convert/fromDescriptor.js +36 -0
  178. package/build/package/convert/toDescriptor.d.ts +5 -0
  179. package/build/package/convert/toDescriptor.js +7 -0
  180. package/build/package/index.d.ts +8 -0
  181. package/build/package/index.js +7 -0
  182. package/build/package/load.d.ts +5 -0
  183. package/build/package/load.js +14 -0
  184. package/build/package/load.spec.d.ts +1 -0
  185. package/build/package/load.spec.js +28 -0
  186. package/build/package/save.d.ts +9 -0
  187. package/build/package/save.js +18 -0
  188. package/build/package/save.spec.d.ts +1 -0
  189. package/build/package/save.spec.js +311 -0
  190. package/build/package/validate.d.ts +12 -0
  191. package/build/package/validate.js +27 -0
  192. package/build/package/validate.spec.d.ts +1 -0
  193. package/build/package/validate.spec.js +41 -0
  194. package/build/path/basepath.d.ts +2 -0
  195. package/build/path/basepath.js +25 -0
  196. package/build/path/basepath.spec.d.ts +1 -0
  197. package/build/path/basepath.spec.js +55 -0
  198. package/build/path/denormalize.d.ts +3 -0
  199. package/build/path/denormalize.js +29 -0
  200. package/build/path/denormalize.spec.d.ts +1 -0
  201. package/build/path/denormalize.spec.js +45 -0
  202. package/build/path/index.d.ts +5 -0
  203. package/build/path/index.js +6 -0
  204. package/build/path/normalize.d.ts +6 -0
  205. package/build/path/normalize.js +54 -0
  206. package/build/path/normalize.spec.d.ts +1 -0
  207. package/build/path/normalize.spec.js +71 -0
  208. package/build/path/path.d.ts +5 -0
  209. package/build/path/path.js +48 -0
  210. package/build/path/path.spec.d.ts +1 -0
  211. package/build/path/path.spec.js +111 -0
  212. package/build/platform/index.d.ts +1 -0
  213. package/build/platform/index.js +2 -0
  214. package/build/platform/node.d.ts +130 -0
  215. package/build/platform/node.js +10 -0
  216. package/build/platform/node.spec.d.ts +1 -0
  217. package/build/platform/node.spec.js +16 -0
  218. package/build/profile/@minify.d.ts +1 -0
  219. package/build/profile/@minify.js +58 -0
  220. package/build/profile/Profile.d.ts +9 -0
  221. package/build/profile/Profile.js +2 -0
  222. package/build/profile/assert.d.ts +6 -0
  223. package/build/profile/assert.js +36 -0
  224. package/build/profile/assert.spec.d.ts +1 -0
  225. package/build/profile/assert.spec.js +115 -0
  226. package/build/profile/index.d.ts +2 -0
  227. package/build/profile/index.js +2 -0
  228. package/build/profile/load.d.ts +4 -0
  229. package/build/profile/load.js +12 -0
  230. package/build/profile/registry.d.ts +2 -0
  231. package/build/profile/registry.js +83 -0
  232. package/build/profile/resolve.d.ts +2 -0
  233. package/build/profile/resolve.js +8 -0
  234. package/build/profile/validate.d.ts +9 -0
  235. package/build/profile/validate.js +12 -0
  236. package/build/report/Report.d.ts +5 -0
  237. package/build/report/Report.js +2 -0
  238. package/build/report/create.d.ts +7 -0
  239. package/build/report/create.js +6 -0
  240. package/build/report/index.d.ts +2 -0
  241. package/build/report/index.js +2 -0
  242. package/build/resource/License.d.ts +18 -0
  243. package/build/resource/License.js +2 -0
  244. package/build/resource/Resource.d.ts +93 -0
  245. package/build/resource/Resource.js +2 -0
  246. package/build/resource/Source.d.ts +17 -0
  247. package/build/resource/Source.js +2 -0
  248. package/build/resource/assert.d.ts +8 -0
  249. package/build/resource/assert.js +12 -0
  250. package/build/resource/assert.spec.d.ts +1 -0
  251. package/build/resource/assert.spec.js +23 -0
  252. package/build/resource/convert/fromDescriptor.d.ts +4 -0
  253. package/build/resource/convert/fromDescriptor.js +69 -0
  254. package/build/resource/convert/toDescriptor.d.ts +5 -0
  255. package/build/resource/convert/toDescriptor.js +36 -0
  256. package/build/resource/helpers.d.ts +2 -0
  257. package/build/resource/helpers.js +6 -0
  258. package/build/resource/index.d.ts +11 -0
  259. package/build/resource/index.js +9 -0
  260. package/build/resource/infer.d.ts +3 -0
  261. package/build/resource/infer.js +35 -0
  262. package/build/resource/infer.spec.d.ts +1 -0
  263. package/build/resource/infer.spec.js +103 -0
  264. package/build/resource/load.d.ts +5 -0
  265. package/build/resource/load.js +14 -0
  266. package/build/resource/load.spec.d.ts +1 -0
  267. package/build/resource/load.spec.js +22 -0
  268. package/build/resource/save.d.ts +9 -0
  269. package/build/resource/save.js +18 -0
  270. package/build/resource/save.spec.d.ts +1 -0
  271. package/build/resource/save.spec.js +170 -0
  272. package/build/resource/validate.d.ts +13 -0
  273. package/build/resource/validate.js +57 -0
  274. package/build/resource/validate.spec.d.ts +1 -0
  275. package/build/resource/validate.spec.js +30 -0
  276. package/build/schema/ForeignKey.d.ts +23 -0
  277. package/build/schema/ForeignKey.js +2 -0
  278. package/build/schema/Schema.d.ts +56 -0
  279. package/build/schema/Schema.js +2 -0
  280. package/build/schema/assert.d.ts +6 -0
  281. package/build/schema/assert.js +12 -0
  282. package/build/schema/assert.spec.d.ts +1 -0
  283. package/build/schema/assert.spec.js +34 -0
  284. package/build/schema/convert/fromDescriptor.d.ts +2 -0
  285. package/build/schema/convert/fromDescriptor.js +70 -0
  286. package/build/schema/convert/fromJsonSchema.d.ts +3 -0
  287. package/build/schema/convert/fromJsonSchema.js +105 -0
  288. package/build/schema/convert/fromJsonSchema.spec.d.ts +1 -0
  289. package/build/schema/convert/fromJsonSchema.spec.js +156 -0
  290. package/build/schema/convert/toDescriptor.d.ts +3 -0
  291. package/build/schema/convert/toDescriptor.js +5 -0
  292. package/build/schema/convert/toJsonSchema.d.ts +3 -0
  293. package/build/schema/convert/toJsonSchema.js +173 -0
  294. package/build/schema/convert/toJsonSchema.spec.d.ts +1 -0
  295. package/build/schema/convert/toJsonSchema.spec.js +403 -0
  296. package/build/schema/index.d.ts +11 -0
  297. package/build/schema/index.js +10 -0
  298. package/build/schema/load.d.ts +5 -0
  299. package/build/schema/load.js +12 -0
  300. package/build/schema/load.spec.d.ts +1 -0
  301. package/build/schema/load.spec.js +55 -0
  302. package/build/schema/resolve.d.ts +2 -0
  303. package/build/schema/resolve.js +11 -0
  304. package/build/schema/save.d.ts +9 -0
  305. package/build/schema/save.js +16 -0
  306. package/build/schema/save.spec.d.ts +1 -0
  307. package/build/schema/save.spec.js +58 -0
  308. package/build/schema/validate.d.ts +10 -0
  309. package/build/schema/validate.js +25 -0
  310. package/build/schema/validate.spec.d.ts +1 -0
  311. package/build/schema/validate.spec.js +41 -0
  312. package/package.json +37 -0
@@ -0,0 +1,43 @@
1
+ import type { BaseConstraints, BaseField } from "./Base.ts";
2
+ /**
3
+ * Time field type
4
+ */
5
+ export interface TimeField extends BaseField<TimeConstraints> {
6
+ /**
7
+ * Field type - discriminator property
8
+ */
9
+ type: "time";
10
+ /**
11
+ * Format of the time
12
+ * - default: HH:MM:SS
13
+ * - any: flexible time parsing (not recommended)
14
+ * - Or custom strptime/strftime format string
15
+ */
16
+ format?: string;
17
+ }
18
+ /**
19
+ * Time-specific constraints
20
+ */
21
+ export interface TimeConstraints extends BaseConstraints {
22
+ /**
23
+ * Minimum allowed time value
24
+ */
25
+ minimum?: string;
26
+ /**
27
+ * Maximum allowed time value
28
+ */
29
+ maximum?: string;
30
+ /**
31
+ * Exclusive minimum time value
32
+ */
33
+ exclusiveMinimum?: string;
34
+ /**
35
+ * Exclusive maximum time value
36
+ */
37
+ exclusiveMaximum?: string;
38
+ /**
39
+ * Restrict values to a specified set of times
40
+ * Should be in string time format (e.g., "HH:MM:SS")
41
+ */
42
+ enum?: string[];
43
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2ZpZWxkL3R5cGVzL1RpbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmFzZUNvbnN0cmFpbnRzLCBCYXNlRmllbGQgfSBmcm9tIFwiLi9CYXNlLnRzXCJcblxuLyoqXG4gKiBUaW1lIGZpZWxkIHR5cGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUaW1lRmllbGQgZXh0ZW5kcyBCYXNlRmllbGQ8VGltZUNvbnN0cmFpbnRzPiB7XG4gIC8qKlxuICAgKiBGaWVsZCB0eXBlIC0gZGlzY3JpbWluYXRvciBwcm9wZXJ0eVxuICAgKi9cbiAgdHlwZTogXCJ0aW1lXCJcblxuICAvKipcbiAgICogRm9ybWF0IG9mIHRoZSB0aW1lXG4gICAqIC0gZGVmYXVsdDogSEg6TU06U1NcbiAgICogLSBhbnk6IGZsZXhpYmxlIHRpbWUgcGFyc2luZyAobm90IHJlY29tbWVuZGVkKVxuICAgKiAtIE9yIGN1c3RvbSBzdHJwdGltZS9zdHJmdGltZSBmb3JtYXQgc3RyaW5nXG4gICAqL1xuICBmb3JtYXQ/OiBzdHJpbmdcbn1cblxuLyoqXG4gKiBUaW1lLXNwZWNpZmljIGNvbnN0cmFpbnRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGltZUNvbnN0cmFpbnRzIGV4dGVuZHMgQmFzZUNvbnN0cmFpbnRzIHtcbiAgLyoqXG4gICAqIE1pbmltdW0gYWxsb3dlZCB0aW1lIHZhbHVlXG4gICAqL1xuICBtaW5pbXVtPzogc3RyaW5nXG5cbiAgLyoqXG4gICAqIE1heGltdW0gYWxsb3dlZCB0aW1lIHZhbHVlXG4gICAqL1xuICBtYXhpbXVtPzogc3RyaW5nXG5cbiAgLyoqXG4gICAqIEV4Y2x1c2l2ZSBtaW5pbXVtIHRpbWUgdmFsdWVcbiAgICovXG4gIGV4Y2x1c2l2ZU1pbmltdW0/OiBzdHJpbmdcblxuICAvKipcbiAgICogRXhjbHVzaXZlIG1heGltdW0gdGltZSB2YWx1ZVxuICAgKi9cbiAgZXhjbHVzaXZlTWF4aW11bT86IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBSZXN0cmljdCB2YWx1ZXMgdG8gYSBzcGVjaWZpZWQgc2V0IG9mIHRpbWVzXG4gICAqIFNob3VsZCBiZSBpbiBzdHJpbmcgdGltZSBmb3JtYXQgKGUuZy4sIFwiSEg6TU06U1NcIilcbiAgICovXG4gIGVudW0/OiBzdHJpbmdbXVxufVxuIl19
@@ -0,0 +1,36 @@
1
+ import type { BaseConstraints, BaseField } from "./Base.ts";
2
+ /**
3
+ * Year field type
4
+ */
5
+ export interface YearField extends BaseField<YearConstraints> {
6
+ /**
7
+ * Field type - discriminator property
8
+ */
9
+ type: "year";
10
+ }
11
+ /**
12
+ * Year-specific constraints
13
+ */
14
+ export interface YearConstraints extends BaseConstraints {
15
+ /**
16
+ * Minimum allowed year
17
+ */
18
+ minimum?: number | string;
19
+ /**
20
+ * Maximum allowed year
21
+ */
22
+ maximum?: number | string;
23
+ /**
24
+ * Exclusive minimum year value
25
+ */
26
+ exclusiveMinimum?: number | string;
27
+ /**
28
+ * Exclusive maximum year value
29
+ */
30
+ exclusiveMaximum?: number | string;
31
+ /**
32
+ * Restrict values to a specified set of years
33
+ * Can be an array of numbers or strings that parse to years
34
+ */
35
+ enum?: number[] | string[];
36
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiWWVhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2ZpZWxkL3R5cGVzL1llYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmFzZUNvbnN0cmFpbnRzLCBCYXNlRmllbGQgfSBmcm9tIFwiLi9CYXNlLnRzXCJcblxuLyoqXG4gKiBZZWFyIGZpZWxkIHR5cGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBZZWFyRmllbGQgZXh0ZW5kcyBCYXNlRmllbGQ8WWVhckNvbnN0cmFpbnRzPiB7XG4gIC8qKlxuICAgKiBGaWVsZCB0eXBlIC0gZGlzY3JpbWluYXRvciBwcm9wZXJ0eVxuICAgKi9cbiAgdHlwZTogXCJ5ZWFyXCJcbn1cblxuLyoqXG4gKiBZZWFyLXNwZWNpZmljIGNvbnN0cmFpbnRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgWWVhckNvbnN0cmFpbnRzIGV4dGVuZHMgQmFzZUNvbnN0cmFpbnRzIHtcbiAgLyoqXG4gICAqIE1pbmltdW0gYWxsb3dlZCB5ZWFyXG4gICAqL1xuICBtaW5pbXVtPzogbnVtYmVyIHwgc3RyaW5nXG5cbiAgLyoqXG4gICAqIE1heGltdW0gYWxsb3dlZCB5ZWFyXG4gICAqL1xuICBtYXhpbXVtPzogbnVtYmVyIHwgc3RyaW5nXG5cbiAgLyoqXG4gICAqIEV4Y2x1c2l2ZSBtaW5pbXVtIHllYXIgdmFsdWVcbiAgICovXG4gIGV4Y2x1c2l2ZU1pbmltdW0/OiBudW1iZXIgfCBzdHJpbmdcblxuICAvKipcbiAgICogRXhjbHVzaXZlIG1heGltdW0geWVhciB2YWx1ZVxuICAgKi9cbiAgZXhjbHVzaXZlTWF4aW11bT86IG51bWJlciB8IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBSZXN0cmljdCB2YWx1ZXMgdG8gYSBzcGVjaWZpZWQgc2V0IG9mIHllYXJzXG4gICAqIENhbiBiZSBhbiBhcnJheSBvZiBudW1iZXJzIG9yIHN0cmluZ3MgdGhhdCBwYXJzZSB0byB5ZWFyc1xuICAgKi9cbiAgZW51bT86IG51bWJlcltdIHwgc3RyaW5nW11cbn1cbiJdfQ==
@@ -0,0 +1,36 @@
1
+ import type { BaseConstraints, BaseField } from "./Base.ts";
2
+ /**
3
+ * Year and month field type
4
+ */
5
+ export interface YearmonthField extends BaseField<YearmonthConstraints> {
6
+ /**
7
+ * Field type - discriminator property
8
+ */
9
+ type: "yearmonth";
10
+ }
11
+ /**
12
+ * Yearmonth-specific constraints
13
+ */
14
+ export interface YearmonthConstraints extends BaseConstraints {
15
+ /**
16
+ * Minimum allowed yearmonth value (format: YYYY-MM)
17
+ */
18
+ minimum?: string;
19
+ /**
20
+ * Maximum allowed yearmonth value (format: YYYY-MM)
21
+ */
22
+ maximum?: string;
23
+ /**
24
+ * Exclusive minimum yearmonth value
25
+ */
26
+ exclusiveMinimum?: string;
27
+ /**
28
+ * Exclusive maximum yearmonth value
29
+ */
30
+ exclusiveMaximum?: string;
31
+ /**
32
+ * Restrict values to a specified set of yearmonths
33
+ * Should be in string format (e.g., "YYYY-MM")
34
+ */
35
+ enum?: string[];
36
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiWWVhcm1vbnRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZmllbGQvdHlwZXMvWWVhcm1vbnRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEJhc2VDb25zdHJhaW50cywgQmFzZUZpZWxkIH0gZnJvbSBcIi4vQmFzZS50c1wiXG5cbi8qKlxuICogWWVhciBhbmQgbW9udGggZmllbGQgdHlwZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFllYXJtb250aEZpZWxkIGV4dGVuZHMgQmFzZUZpZWxkPFllYXJtb250aENvbnN0cmFpbnRzPiB7XG4gIC8qKlxuICAgKiBGaWVsZCB0eXBlIC0gZGlzY3JpbWluYXRvciBwcm9wZXJ0eVxuICAgKi9cbiAgdHlwZTogXCJ5ZWFybW9udGhcIlxufVxuXG4vKipcbiAqIFllYXJtb250aC1zcGVjaWZpYyBjb25zdHJhaW50c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFllYXJtb250aENvbnN0cmFpbnRzIGV4dGVuZHMgQmFzZUNvbnN0cmFpbnRzIHtcbiAgLyoqXG4gICAqIE1pbmltdW0gYWxsb3dlZCB5ZWFybW9udGggdmFsdWUgKGZvcm1hdDogWVlZWS1NTSlcbiAgICovXG4gIG1pbmltdW0/OiBzdHJpbmdcblxuICAvKipcbiAgICogTWF4aW11bSBhbGxvd2VkIHllYXJtb250aCB2YWx1ZSAoZm9ybWF0OiBZWVlZLU1NKVxuICAgKi9cbiAgbWF4aW11bT86IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBFeGNsdXNpdmUgbWluaW11bSB5ZWFybW9udGggdmFsdWVcbiAgICovXG4gIGV4Y2x1c2l2ZU1pbmltdW0/OiBzdHJpbmdcblxuICAvKipcbiAgICogRXhjbHVzaXZlIG1heGltdW0geWVhcm1vbnRoIHZhbHVlXG4gICAqL1xuICBleGNsdXNpdmVNYXhpbXVtPzogc3RyaW5nXG5cbiAgLyoqXG4gICAqIFJlc3RyaWN0IHZhbHVlcyB0byBhIHNwZWNpZmllZCBzZXQgb2YgeWVhcm1vbnRoc1xuICAgKiBTaG91bGQgYmUgaW4gc3RyaW5nIGZvcm1hdCAoZS5nLiwgXCJZWVlZLU1NXCIpXG4gICAqL1xuICBlbnVtPzogc3RyaW5nW11cbn1cbiJdfQ==
@@ -0,0 +1,16 @@
1
+ export * from "./Any.ts";
2
+ export * from "./String.ts";
3
+ export * from "./Number.ts";
4
+ export * from "./Integer.ts";
5
+ export * from "./Boolean.ts";
6
+ export * from "./Object.ts";
7
+ export * from "./Array.ts";
8
+ export * from "./List.ts";
9
+ export * from "./Date.ts";
10
+ export * from "./Time.ts";
11
+ export * from "./Datetime.ts";
12
+ export * from "./Year.ts";
13
+ export * from "./Yearmonth.ts";
14
+ export * from "./Duration.ts";
15
+ export * from "./Geopoint.ts";
16
+ export * from "./Geojson.ts";
@@ -0,0 +1,17 @@
1
+ export * from "./Any.js";
2
+ export * from "./String.js";
3
+ export * from "./Number.js";
4
+ export * from "./Integer.js";
5
+ export * from "./Boolean.js";
6
+ export * from "./Object.js";
7
+ export * from "./Array.js";
8
+ export * from "./List.js";
9
+ export * from "./Date.js";
10
+ export * from "./Time.js";
11
+ export * from "./Datetime.js";
12
+ export * from "./Year.js";
13
+ export * from "./Yearmonth.js";
14
+ export * from "./Duration.js";
15
+ export * from "./Geopoint.js";
16
+ export * from "./Geojson.js";
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9maWVsZC90eXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQTtBQUN4QixjQUFjLGFBQWEsQ0FBQTtBQUMzQixjQUFjLGFBQWEsQ0FBQTtBQUMzQixjQUFjLGNBQWMsQ0FBQTtBQUM1QixjQUFjLGNBQWMsQ0FBQTtBQUM1QixjQUFjLGFBQWEsQ0FBQTtBQUMzQixjQUFjLFlBQVksQ0FBQTtBQUMxQixjQUFjLFdBQVcsQ0FBQTtBQUN6QixjQUFjLFdBQVcsQ0FBQTtBQUN6QixjQUFjLFdBQVcsQ0FBQTtBQUN6QixjQUFjLGVBQWUsQ0FBQTtBQUM3QixjQUFjLFdBQVcsQ0FBQTtBQUN6QixjQUFjLGdCQUFnQixDQUFBO0FBQzlCLGNBQWMsZUFBZSxDQUFBO0FBQzdCLGNBQWMsZUFBZSxDQUFBO0FBQzdCLGNBQWMsY0FBYyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vQW55LnRzXCJcbmV4cG9ydCAqIGZyb20gXCIuL1N0cmluZy50c1wiXG5leHBvcnQgKiBmcm9tIFwiLi9OdW1iZXIudHNcIlxuZXhwb3J0ICogZnJvbSBcIi4vSW50ZWdlci50c1wiXG5leHBvcnQgKiBmcm9tIFwiLi9Cb29sZWFuLnRzXCJcbmV4cG9ydCAqIGZyb20gXCIuL09iamVjdC50c1wiXG5leHBvcnQgKiBmcm9tIFwiLi9BcnJheS50c1wiXG5leHBvcnQgKiBmcm9tIFwiLi9MaXN0LnRzXCJcbmV4cG9ydCAqIGZyb20gXCIuL0RhdGUudHNcIlxuZXhwb3J0ICogZnJvbSBcIi4vVGltZS50c1wiXG5leHBvcnQgKiBmcm9tIFwiLi9EYXRldGltZS50c1wiXG5leHBvcnQgKiBmcm9tIFwiLi9ZZWFyLnRzXCJcbmV4cG9ydCAqIGZyb20gXCIuL1llYXJtb250aC50c1wiXG5leHBvcnQgKiBmcm9tIFwiLi9EdXJhdGlvbi50c1wiXG5leHBvcnQgKiBmcm9tIFwiLi9HZW9wb2ludC50c1wiXG5leHBvcnQgKiBmcm9tIFwiLi9HZW9qc29uLnRzXCJcbiJdfQ==
@@ -0,0 +1,112 @@
1
+ export type { AnyConstraints } from "./field/index.ts";
2
+ export type { AnyField } from "./field/index.ts";
3
+ export type { ArrayConstraints } from "./field/index.ts";
4
+ export type { ArrayField } from "./field/index.ts";
5
+ export type { BaseCellError } from "./error/index.ts";
6
+ export type { BaseFieldError } from "./error/index.ts";
7
+ export type { BaseFieldsError } from "./error/index.ts";
8
+ export type { BaseRowError } from "./error/index.ts";
9
+ export type { BooleanConstraints } from "./field/index.ts";
10
+ export type { BooleanField } from "./field/index.ts";
11
+ export type { BoundError } from "./error/index.ts";
12
+ export type { BytesError } from "./error/index.ts";
13
+ export type { CellEnumError } from "./error/index.ts";
14
+ export type { CellError } from "./error/index.ts";
15
+ export type { CellExclusiveMaximumError } from "./error/index.ts";
16
+ export type { CellExclusiveMinimumError } from "./error/index.ts";
17
+ export type { CellJsonSchemaError } from "./error/index.ts";
18
+ export type { CellMaxLengthError } from "./error/index.ts";
19
+ export type { CellMaximumError } from "./error/index.ts";
20
+ export type { CellMinLengthError } from "./error/index.ts";
21
+ export type { CellMinimumError } from "./error/index.ts";
22
+ export type { CellPatternError } from "./error/index.ts";
23
+ export type { CellRequiredError } from "./error/index.ts";
24
+ export type { CellTypeError } from "./error/index.ts";
25
+ export type { CellUniqueError } from "./error/index.ts";
26
+ export type { Contributor } from "./package/index.ts";
27
+ export type { DataError } from "./error/index.ts";
28
+ export type { DateConstraints } from "./field/index.ts";
29
+ export type { DateField } from "./field/index.ts";
30
+ export type { DatetimeConstraints } from "./field/index.ts";
31
+ export type { DatetimeField } from "./field/index.ts";
32
+ export type { Descriptor } from "./descriptor/index.ts";
33
+ export type { Dialect } from "./dialect/index.ts";
34
+ export type { DocumentError } from "./error/index.ts";
35
+ export type { FrictionlessError } from "./error/index.ts";
36
+ export type { DurationConstraints } from "./field/index.ts";
37
+ export type { DurationField } from "./field/index.ts";
38
+ export type { EncodingError } from "./error/index.ts";
39
+ export type { Field } from "./field/index.ts";
40
+ export type { FieldError } from "./error/index.ts";
41
+ export type { FieldNameError } from "./error/index.ts";
42
+ export type { FieldType } from "./field/index.ts";
43
+ export type { FieldTypeError } from "./error/index.ts";
44
+ export type { FieldsError } from "./error/index.ts";
45
+ export type { FieldsExtraError } from "./error/index.ts";
46
+ export type { FieldsMissingError } from "./error/index.ts";
47
+ export type { FileError } from "./error/index.ts";
48
+ export type { ForeignKeyError } from "./error/index.ts";
49
+ export type { GeojsonConstraints } from "./field/index.ts";
50
+ export type { GeojsonField } from "./field/index.ts";
51
+ export type { GeopointConstraints } from "./field/index.ts";
52
+ export type { GeopointField } from "./field/index.ts";
53
+ export type { HashError } from "./error/index.ts";
54
+ export type { IntegerConstraints } from "./field/index.ts";
55
+ export type { IntegerField } from "./field/index.ts";
56
+ export type { JsonDocumentError } from "./error/index.ts";
57
+ export type { License } from "./resource/index.ts";
58
+ export type { ListConstraints } from "./field/index.ts";
59
+ export type { ListField } from "./field/index.ts";
60
+ export type { MetadataError } from "./error/index.ts";
61
+ export type { NumberConstraints } from "./field/index.ts";
62
+ export type { NumberField } from "./field/index.ts";
63
+ export type { ObjectConstraints } from "./field/index.ts";
64
+ export type { ObjectField } from "./field/index.ts";
65
+ export type { Package } from "./package/index.ts";
66
+ export type { Report } from "./report/index.ts";
67
+ export type { Resource } from "./resource/index.ts";
68
+ export type { RowError } from "./error/index.ts";
69
+ export type { RowUniqueError } from "./error/index.ts";
70
+ export type { Schema } from "./schema/Schema.ts";
71
+ export type { Source } from "./resource/index.ts";
72
+ export type { StringConstraints } from "./field/index.ts";
73
+ export type { StringField } from "./field/index.ts";
74
+ export type { TableError } from "./error/index.ts";
75
+ export type { TimeConstraints } from "./field/index.ts";
76
+ export type { TimeField } from "./field/index.ts";
77
+ export type { UnboundError } from "./error/index.ts";
78
+ export type { YearConstraints } from "./field/index.ts";
79
+ export type { YearField } from "./field/index.ts";
80
+ export type { YearmonthConstraints } from "./field/index.ts";
81
+ export type { YearmonthField } from "./field/index.ts";
82
+ export { convertPackageToDescriptor } from "./package/index.ts";
83
+ export { convertResourceToDescriptor } from "./resource/index.ts";
84
+ export { convertSchemaFromJsonSchema } from "./schema/index.ts";
85
+ export { convertSchemaToJsonSchema } from "./schema/index.ts";
86
+ export { createReport } from "./report/index.ts";
87
+ export { denormalizePath } from "./path/index.ts";
88
+ export { getBasepath } from "./path/index.ts";
89
+ export { getFilename } from "./path/index.ts";
90
+ export { getFormat } from "./path/index.ts";
91
+ export { getName } from "./path/index.ts";
92
+ export { inferFormat } from "./resource/index.ts";
93
+ export { inferName } from "./resource/index.ts";
94
+ export { inspectJsonValue } from "./json/index.ts";
95
+ export { isRemotePath } from "./path/index.ts";
96
+ export { isRemoteResource } from "./resource/index.ts";
97
+ export { loadDescriptor } from "./descriptor/index.ts";
98
+ export { loadDialect } from "./dialect/index.ts";
99
+ export { loadPackageDescriptor } from "./package/index.ts";
100
+ export { loadResourceDescriptor } from "./resource/index.ts";
101
+ export { loadSchema } from "./schema/index.ts";
102
+ export { resolveBasepath } from "./path/index.ts";
103
+ export { resolveDialect } from "./dialect/index.ts";
104
+ export { resolveJsonSchema } from "./json/index.ts";
105
+ export { resolveSchema } from "./schema/index.ts";
106
+ export { saveDescriptor } from "./descriptor/index.ts";
107
+ export { savePackageDescriptor } from "./package/index.ts";
108
+ export { stringifyDescriptor } from "./descriptor/index.ts";
109
+ export { validateDialect } from "./dialect/index.ts";
110
+ export { validatePackageMetadata } from "./package/index.ts";
111
+ export { validateResourceMetadata } from "./resource/index.ts";
112
+ export { validateSchema } from "./schema/index.ts";
package/build/index.js ADDED
@@ -0,0 +1,32 @@
1
+ export { convertPackageToDescriptor } from "./package/index.js";
2
+ export { convertResourceToDescriptor } from "./resource/index.js";
3
+ export { convertSchemaFromJsonSchema } from "./schema/index.js";
4
+ export { convertSchemaToJsonSchema } from "./schema/index.js";
5
+ export { createReport } from "./report/index.js";
6
+ export { denormalizePath } from "./path/index.js";
7
+ export { getBasepath } from "./path/index.js";
8
+ export { getFilename } from "./path/index.js";
9
+ export { getFormat } from "./path/index.js";
10
+ export { getName } from "./path/index.js";
11
+ export { inferFormat } from "./resource/index.js";
12
+ export { inferName } from "./resource/index.js";
13
+ export { inspectJsonValue } from "./json/index.js";
14
+ export { isRemotePath } from "./path/index.js";
15
+ export { isRemoteResource } from "./resource/index.js";
16
+ export { loadDescriptor } from "./descriptor/index.js";
17
+ export { loadDialect } from "./dialect/index.js";
18
+ export { loadPackageDescriptor } from "./package/index.js";
19
+ export { loadResourceDescriptor } from "./resource/index.js";
20
+ export { loadSchema } from "./schema/index.js";
21
+ export { resolveBasepath } from "./path/index.js";
22
+ export { resolveDialect } from "./dialect/index.js";
23
+ export { resolveJsonSchema } from "./json/index.js";
24
+ export { resolveSchema } from "./schema/index.js";
25
+ export { saveDescriptor } from "./descriptor/index.js";
26
+ export { savePackageDescriptor } from "./package/index.js";
27
+ export { stringifyDescriptor } from "./descriptor/index.js";
28
+ export { validateDialect } from "./dialect/index.js";
29
+ export { validatePackageMetadata } from "./package/index.js";
30
+ export { validateResourceMetadata } from "./resource/index.js";
31
+ export { validateSchema } from "./schema/index.js";
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrRkEsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDL0QsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDakUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDL0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNoRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUMxRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQzFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSB7IEFueUNvbnN0cmFpbnRzIH0gZnJvbSBcIi4vZmllbGQvaW5kZXgudHNcIlxuZXhwb3J0IHR5cGUgeyBBbnlGaWVsZCB9IGZyb20gXCIuL2ZpZWxkL2luZGV4LnRzXCJcbmV4cG9ydCB0eXBlIHsgQXJyYXlDb25zdHJhaW50cyB9IGZyb20gXCIuL2ZpZWxkL2luZGV4LnRzXCJcbmV4cG9ydCB0eXBlIHsgQXJyYXlGaWVsZCB9IGZyb20gXCIuL2ZpZWxkL2luZGV4LnRzXCJcbmV4cG9ydCB0eXBlIHsgQmFzZUNlbGxFcnJvciB9IGZyb20gXCIuL2Vycm9yL2luZGV4LnRzXCJcbmV4cG9ydCB0eXBlIHsgQmFzZUZpZWxkRXJyb3IgfSBmcm9tIFwiLi9lcnJvci9pbmRleC50c1wiXG5leHBvcnQgdHlwZSB7IEJhc2VGaWVsZHNFcnJvciB9IGZyb20gXCIuL2Vycm9yL2luZGV4LnRzXCJcbmV4cG9ydCB0eXBlIHsgQmFzZVJvd0Vycm9yIH0gZnJvbSBcIi4vZXJyb3IvaW5kZXgudHNcIlxuZXhwb3J0IHR5cGUgeyBCb29sZWFuQ29uc3RyYWludHMgfSBmcm9tIFwiLi9maWVsZC9pbmRleC50c1wiXG5leHBvcnQgdHlwZSB7IEJvb2xlYW5GaWVsZCB9IGZyb20gXCIuL2ZpZWxkL2luZGV4LnRzXCJcbmV4cG9ydCB0eXBlIHsgQm91bmRFcnJvciB9IGZyb20gXCIuL2Vycm9yL2luZGV4LnRzXCJcbmV4cG9ydCB0eXBlIHsgQnl0ZXNFcnJvciB9IGZyb20gXCIuL2Vycm9yL2luZGV4LnRzXCJcbmV4cG9ydCB0eXBlIHsgQ2VsbEVudW1FcnJvciB9IGZyb20gXCIuL2Vycm9yL2luZGV4LnRzXCJcbmV4cG9ydCB0eXBlIHsgQ2VsbEVycm9yIH0gZnJvbSBcIi4vZXJyb3IvaW5kZXgudHNcIlxuZXhwb3J0IHR5cGUgeyBDZWxsRXhjbHVzaXZlTWF4aW11bUVycm9yIH0gZnJvbSBcIi4vZXJyb3IvaW5kZXgudHNcIlxuZXhwb3J0IHR5cGUgeyBDZWxsRXhjbHVzaXZlTWluaW11bUVycm9yIH0gZnJvbSBcIi4vZXJyb3IvaW5kZXgudHNcIlxuZXhwb3J0IHR5cGUgeyBDZWxsSnNvblNjaGVtYUVycm9yIH0gZnJvbSBcIi4vZXJyb3IvaW5kZXgudHNcIlxuZXhwb3J0IHR5cGUgeyBDZWxsTWF4TGVuZ3RoRXJyb3IgfSBmcm9tIFwiLi9lcnJvci9pbmRleC50c1wiXG5leHBvcnQgdHlwZSB7IENlbGxNYXhpbXVtRXJyb3IgfSBmcm9tIFwiLi9lcnJvci9pbmRleC50c1wiXG5leHBvcnQgdHlwZSB7IENlbGxNaW5MZW5ndGhFcnJvciB9IGZyb20gXCIuL2Vycm9yL2luZGV4LnRzXCJcbmV4cG9ydCB0eXBlIHsgQ2VsbE1pbmltdW1FcnJvciB9IGZyb20gXCIuL2Vycm9yL2luZGV4LnRzXCJcbmV4cG9ydCB0eXBlIHsgQ2VsbFBhdHRlcm5FcnJvciB9IGZyb20gXCIuL2Vycm9yL2luZGV4LnRzXCJcbmV4cG9ydCB0eXBlIHsgQ2VsbFJlcXVpcmVkRXJyb3IgfSBmcm9tIFwiLi9lcnJvci9pbmRleC50c1wiXG5leHBvcnQgdHlwZSB7IENlbGxUeXBlRXJyb3IgfSBmcm9tIFwiLi9lcnJvci9pbmRleC50c1wiXG5leHBvcnQgdHlwZSB7IENlbGxVbmlxdWVFcnJvciB9IGZyb20gXCIuL2Vycm9yL2luZGV4LnRzXCJcbmV4cG9ydCB0eXBlIHsgQ29udHJpYnV0b3IgfSBmcm9tIFwiLi9wYWNrYWdlL2luZGV4LnRzXCJcbmV4cG9ydCB0eXBlIHsgRGF0YUVycm9yIH0gZnJvbSBcIi4vZXJyb3IvaW5kZXgudHNcIlxuZXhwb3J0IHR5cGUgeyBEYXRlQ29uc3RyYWludHMgfSBmcm9tIFwiLi9maWVsZC9pbmRleC50c1wiXG5leHBvcnQgdHlwZSB7IERhdGVGaWVsZCB9IGZyb20gXCIuL2ZpZWxkL2luZGV4LnRzXCJcbmV4cG9ydCB0eXBlIHsgRGF0ZXRpbWVDb25zdHJhaW50cyB9IGZyb20gXCIuL2ZpZWxkL2luZGV4LnRzXCJcbmV4cG9ydCB0eXBlIHsgRGF0ZXRpbWVGaWVsZCB9IGZyb20gXCIuL2ZpZWxkL2luZGV4LnRzXCJcbmV4cG9ydCB0eXBlIHsgRGVzY3JpcHRvciB9IGZyb20gXCIuL2Rlc2NyaXB0b3IvaW5kZXgudHNcIlxuZXhwb3J0IHR5cGUgeyBEaWFsZWN0IH0gZnJvbSBcIi4vZGlhbGVjdC9pbmRleC50c1wiXG5leHBvcnQgdHlwZSB7IERvY3VtZW50RXJyb3IgfSBmcm9tIFwiLi9lcnJvci9pbmRleC50c1wiXG5leHBvcnQgdHlwZSB7IEZyaWN0aW9ubGVzc0Vycm9yIH0gZnJvbSBcIi4vZXJyb3IvaW5kZXgudHNcIlxuZXhwb3J0IHR5cGUgeyBEdXJhdGlvbkNvbnN0cmFpbnRzIH0gZnJvbSBcIi4vZmllbGQvaW5kZXgudHNcIlxuZXhwb3J0IHR5cGUgeyBEdXJhdGlvbkZpZWxkIH0gZnJvbSBcIi4vZmllbGQvaW5kZXgudHNcIlxuZXhwb3J0IHR5cGUgeyBFbmNvZGluZ0Vycm9yIH0gZnJvbSBcIi4vZXJyb3IvaW5kZXgudHNcIlxuZXhwb3J0IHR5cGUgeyBGaWVsZCB9IGZyb20gXCIuL2ZpZWxkL2luZGV4LnRzXCJcbmV4cG9ydCB0eXBlIHsgRmllbGRFcnJvciB9IGZyb20gXCIuL2Vycm9yL2luZGV4LnRzXCJcbmV4cG9ydCB0eXBlIHsgRmllbGROYW1lRXJyb3IgfSBmcm9tIFwiLi9lcnJvci9pbmRleC50c1wiXG5leHBvcnQgdHlwZSB7IEZpZWxkVHlwZSB9IGZyb20gXCIuL2ZpZWxkL2luZGV4LnRzXCJcbmV4cG9ydCB0eXBlIHsgRmllbGRUeXBlRXJyb3IgfSBmcm9tIFwiLi9lcnJvci9pbmRleC50c1wiXG5leHBvcnQgdHlwZSB7IEZpZWxkc0Vycm9yIH0gZnJvbSBcIi4vZXJyb3IvaW5kZXgudHNcIlxuZXhwb3J0IHR5cGUgeyBGaWVsZHNFeHRyYUVycm9yIH0gZnJvbSBcIi4vZXJyb3IvaW5kZXgudHNcIlxuZXhwb3J0IHR5cGUgeyBGaWVsZHNNaXNzaW5nRXJyb3IgfSBmcm9tIFwiLi9lcnJvci9pbmRleC50c1wiXG5leHBvcnQgdHlwZSB7IEZpbGVFcnJvciB9IGZyb20gXCIuL2Vycm9yL2luZGV4LnRzXCJcbmV4cG9ydCB0eXBlIHsgRm9yZWlnbktleUVycm9yIH0gZnJvbSBcIi4vZXJyb3IvaW5kZXgudHNcIlxuZXhwb3J0IHR5cGUgeyBHZW9qc29uQ29uc3RyYWludHMgfSBmcm9tIFwiLi9maWVsZC9pbmRleC50c1wiXG5leHBvcnQgdHlwZSB7IEdlb2pzb25GaWVsZCB9IGZyb20gXCIuL2ZpZWxkL2luZGV4LnRzXCJcbmV4cG9ydCB0eXBlIHsgR2VvcG9pbnRDb25zdHJhaW50cyB9IGZyb20gXCIuL2ZpZWxkL2luZGV4LnRzXCJcbmV4cG9ydCB0eXBlIHsgR2VvcG9pbnRGaWVsZCB9IGZyb20gXCIuL2ZpZWxkL2luZGV4LnRzXCJcbmV4cG9ydCB0eXBlIHsgSGFzaEVycm9yIH0gZnJvbSBcIi4vZXJyb3IvaW5kZXgudHNcIlxuZXhwb3J0IHR5cGUgeyBJbnRlZ2VyQ29uc3RyYWludHMgfSBmcm9tIFwiLi9maWVsZC9pbmRleC50c1wiXG5leHBvcnQgdHlwZSB7IEludGVnZXJGaWVsZCB9IGZyb20gXCIuL2ZpZWxkL2luZGV4LnRzXCJcbmV4cG9ydCB0eXBlIHsgSnNvbkRvY3VtZW50RXJyb3IgfSBmcm9tIFwiLi9lcnJvci9pbmRleC50c1wiXG5leHBvcnQgdHlwZSB7IExpY2Vuc2UgfSBmcm9tIFwiLi9yZXNvdXJjZS9pbmRleC50c1wiXG5leHBvcnQgdHlwZSB7IExpc3RDb25zdHJhaW50cyB9IGZyb20gXCIuL2ZpZWxkL2luZGV4LnRzXCJcbmV4cG9ydCB0eXBlIHsgTGlzdEZpZWxkIH0gZnJvbSBcIi4vZmllbGQvaW5kZXgudHNcIlxuZXhwb3J0IHR5cGUgeyBNZXRhZGF0YUVycm9yIH0gZnJvbSBcIi4vZXJyb3IvaW5kZXgudHNcIlxuZXhwb3J0IHR5cGUgeyBOdW1iZXJDb25zdHJhaW50cyB9IGZyb20gXCIuL2ZpZWxkL2luZGV4LnRzXCJcbmV4cG9ydCB0eXBlIHsgTnVtYmVyRmllbGQgfSBmcm9tIFwiLi9maWVsZC9pbmRleC50c1wiXG5leHBvcnQgdHlwZSB7IE9iamVjdENvbnN0cmFpbnRzIH0gZnJvbSBcIi4vZmllbGQvaW5kZXgudHNcIlxuZXhwb3J0IHR5cGUgeyBPYmplY3RGaWVsZCB9IGZyb20gXCIuL2ZpZWxkL2luZGV4LnRzXCJcbmV4cG9ydCB0eXBlIHsgUGFja2FnZSB9IGZyb20gXCIuL3BhY2thZ2UvaW5kZXgudHNcIlxuZXhwb3J0IHR5cGUgeyBSZXBvcnQgfSBmcm9tIFwiLi9yZXBvcnQvaW5kZXgudHNcIlxuZXhwb3J0IHR5cGUgeyBSZXNvdXJjZSB9IGZyb20gXCIuL3Jlc291cmNlL2luZGV4LnRzXCJcbmV4cG9ydCB0eXBlIHsgUm93RXJyb3IgfSBmcm9tIFwiLi9lcnJvci9pbmRleC50c1wiXG5leHBvcnQgdHlwZSB7IFJvd1VuaXF1ZUVycm9yIH0gZnJvbSBcIi4vZXJyb3IvaW5kZXgudHNcIlxuZXhwb3J0IHR5cGUgeyBTY2hlbWEgfSBmcm9tIFwiLi9zY2hlbWEvU2NoZW1hLnRzXCJcbmV4cG9ydCB0eXBlIHsgU291cmNlIH0gZnJvbSBcIi4vcmVzb3VyY2UvaW5kZXgudHNcIlxuZXhwb3J0IHR5cGUgeyBTdHJpbmdDb25zdHJhaW50cyB9IGZyb20gXCIuL2ZpZWxkL2luZGV4LnRzXCJcbmV4cG9ydCB0eXBlIHsgU3RyaW5nRmllbGQgfSBmcm9tIFwiLi9maWVsZC9pbmRleC50c1wiXG5leHBvcnQgdHlwZSB7IFRhYmxlRXJyb3IgfSBmcm9tIFwiLi9lcnJvci9pbmRleC50c1wiXG5leHBvcnQgdHlwZSB7IFRpbWVDb25zdHJhaW50cyB9IGZyb20gXCIuL2ZpZWxkL2luZGV4LnRzXCJcbmV4cG9ydCB0eXBlIHsgVGltZUZpZWxkIH0gZnJvbSBcIi4vZmllbGQvaW5kZXgudHNcIlxuZXhwb3J0IHR5cGUgeyBVbmJvdW5kRXJyb3IgfSBmcm9tIFwiLi9lcnJvci9pbmRleC50c1wiXG5leHBvcnQgdHlwZSB7IFllYXJDb25zdHJhaW50cyB9IGZyb20gXCIuL2ZpZWxkL2luZGV4LnRzXCJcbmV4cG9ydCB0eXBlIHsgWWVhckZpZWxkIH0gZnJvbSBcIi4vZmllbGQvaW5kZXgudHNcIlxuZXhwb3J0IHR5cGUgeyBZZWFybW9udGhDb25zdHJhaW50cyB9IGZyb20gXCIuL2ZpZWxkL2luZGV4LnRzXCJcbmV4cG9ydCB0eXBlIHsgWWVhcm1vbnRoRmllbGQgfSBmcm9tIFwiLi9maWVsZC9pbmRleC50c1wiXG5cbmV4cG9ydCB7IGNvbnZlcnRQYWNrYWdlVG9EZXNjcmlwdG9yIH0gZnJvbSBcIi4vcGFja2FnZS9pbmRleC50c1wiXG5leHBvcnQgeyBjb252ZXJ0UmVzb3VyY2VUb0Rlc2NyaXB0b3IgfSBmcm9tIFwiLi9yZXNvdXJjZS9pbmRleC50c1wiXG5leHBvcnQgeyBjb252ZXJ0U2NoZW1hRnJvbUpzb25TY2hlbWEgfSBmcm9tIFwiLi9zY2hlbWEvaW5kZXgudHNcIlxuZXhwb3J0IHsgY29udmVydFNjaGVtYVRvSnNvblNjaGVtYSB9IGZyb20gXCIuL3NjaGVtYS9pbmRleC50c1wiXG5leHBvcnQgeyBjcmVhdGVSZXBvcnQgfSBmcm9tIFwiLi9yZXBvcnQvaW5kZXgudHNcIlxuZXhwb3J0IHsgZGVub3JtYWxpemVQYXRoIH0gZnJvbSBcIi4vcGF0aC9pbmRleC50c1wiXG5leHBvcnQgeyBnZXRCYXNlcGF0aCB9IGZyb20gXCIuL3BhdGgvaW5kZXgudHNcIlxuZXhwb3J0IHsgZ2V0RmlsZW5hbWUgfSBmcm9tIFwiLi9wYXRoL2luZGV4LnRzXCJcbmV4cG9ydCB7IGdldEZvcm1hdCB9IGZyb20gXCIuL3BhdGgvaW5kZXgudHNcIlxuZXhwb3J0IHsgZ2V0TmFtZSB9IGZyb20gXCIuL3BhdGgvaW5kZXgudHNcIlxuZXhwb3J0IHsgaW5mZXJGb3JtYXQgfSBmcm9tIFwiLi9yZXNvdXJjZS9pbmRleC50c1wiXG5leHBvcnQgeyBpbmZlck5hbWUgfSBmcm9tIFwiLi9yZXNvdXJjZS9pbmRleC50c1wiXG5leHBvcnQgeyBpbnNwZWN0SnNvblZhbHVlIH0gZnJvbSBcIi4vanNvbi9pbmRleC50c1wiXG5leHBvcnQgeyBpc1JlbW90ZVBhdGggfSBmcm9tIFwiLi9wYXRoL2luZGV4LnRzXCJcbmV4cG9ydCB7IGlzUmVtb3RlUmVzb3VyY2UgfSBmcm9tIFwiLi9yZXNvdXJjZS9pbmRleC50c1wiXG5leHBvcnQgeyBsb2FkRGVzY3JpcHRvciB9IGZyb20gXCIuL2Rlc2NyaXB0b3IvaW5kZXgudHNcIlxuZXhwb3J0IHsgbG9hZERpYWxlY3QgfSBmcm9tIFwiLi9kaWFsZWN0L2luZGV4LnRzXCJcbmV4cG9ydCB7IGxvYWRQYWNrYWdlRGVzY3JpcHRvciB9IGZyb20gXCIuL3BhY2thZ2UvaW5kZXgudHNcIlxuZXhwb3J0IHsgbG9hZFJlc291cmNlRGVzY3JpcHRvciB9IGZyb20gXCIuL3Jlc291cmNlL2luZGV4LnRzXCJcbmV4cG9ydCB7IGxvYWRTY2hlbWEgfSBmcm9tIFwiLi9zY2hlbWEvaW5kZXgudHNcIlxuZXhwb3J0IHsgcmVzb2x2ZUJhc2VwYXRoIH0gZnJvbSBcIi4vcGF0aC9pbmRleC50c1wiXG5leHBvcnQgeyByZXNvbHZlRGlhbGVjdCB9IGZyb20gXCIuL2RpYWxlY3QvaW5kZXgudHNcIlxuZXhwb3J0IHsgcmVzb2x2ZUpzb25TY2hlbWEgfSBmcm9tIFwiLi9qc29uL2luZGV4LnRzXCJcbmV4cG9ydCB7IHJlc29sdmVTY2hlbWEgfSBmcm9tIFwiLi9zY2hlbWEvaW5kZXgudHNcIlxuZXhwb3J0IHsgc2F2ZURlc2NyaXB0b3IgfSBmcm9tIFwiLi9kZXNjcmlwdG9yL2luZGV4LnRzXCJcbmV4cG9ydCB7IHNhdmVQYWNrYWdlRGVzY3JpcHRvciB9IGZyb20gXCIuL3BhY2thZ2UvaW5kZXgudHNcIlxuZXhwb3J0IHsgc3RyaW5naWZ5RGVzY3JpcHRvciB9IGZyb20gXCIuL2Rlc2NyaXB0b3IvaW5kZXgudHNcIlxuZXhwb3J0IHsgdmFsaWRhdGVEaWFsZWN0IH0gZnJvbSBcIi4vZGlhbGVjdC9pbmRleC50c1wiXG5leHBvcnQgeyB2YWxpZGF0ZVBhY2thZ2VNZXRhZGF0YSB9IGZyb20gXCIuL3BhY2thZ2UvaW5kZXgudHNcIlxuZXhwb3J0IHsgdmFsaWRhdGVSZXNvdXJjZU1ldGFkYXRhIH0gZnJvbSBcIi4vcmVzb3VyY2UvaW5kZXgudHNcIlxuZXhwb3J0IHsgdmFsaWRhdGVTY2hlbWEgfSBmcm9tIFwiLi9zY2hlbWEvaW5kZXgudHNcIlxuIl19
@@ -0,0 +1,2 @@
1
+ import type { Descriptor } from "../descriptor/index.ts";
2
+ export type JsonSchema = Descriptor;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vanNvbi9TY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGVzY3JpcHRvciB9IGZyb20gXCIuLi9kZXNjcmlwdG9yL2luZGV4LnRzXCJcblxuLy8gVE9ETzogTmFycm93IHRvIHZhbGlkIEpTT04gU2NoZW1hXG5leHBvcnQgdHlwZSBKc29uU2NoZW1hID0gRGVzY3JpcHRvclxuIl19
@@ -0,0 +1 @@
1
+ export type JsonValue = unknown;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmFsdWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9qc29uL1ZhbHVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBKc29uVmFsdWUgPSB1bmtub3duXG4iXX0=
@@ -0,0 +1,2 @@
1
+ import { Ajv } from "ajv";
2
+ export declare const ajv: Ajv;
@@ -0,0 +1,10 @@
1
+ import { Ajv } from "ajv";
2
+ import { loadJsonSchema } from "./load.js";
3
+ export const ajv = new Ajv({
4
+ strict: false,
5
+ allErrors: true,
6
+ validateSchema: false,
7
+ validateFormats: false,
8
+ loadSchema: loadJsonSchema,
9
+ });
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWp2LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vanNvbi9hanYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLEtBQUssQ0FBQTtBQUN6QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBRTFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUN6QixNQUFNLEVBQUUsS0FBSztJQUNiLFNBQVMsRUFBRSxJQUFJO0lBQ2YsY0FBYyxFQUFFLEtBQUs7SUFDckIsZUFBZSxFQUFFLEtBQUs7SUFDdEIsVUFBVSxFQUFFLGNBQWM7Q0FDM0IsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWp2IH0gZnJvbSBcImFqdlwiXG5pbXBvcnQgeyBsb2FkSnNvblNjaGVtYSB9IGZyb20gXCIuL2xvYWQudHNcIlxuXG5leHBvcnQgY29uc3QgYWp2ID0gbmV3IEFqdih7XG4gIHN0cmljdDogZmFsc2UsXG4gIGFsbEVycm9yczogdHJ1ZSxcbiAgdmFsaWRhdGVTY2hlbWE6IGZhbHNlLFxuICB2YWxpZGF0ZUZvcm1hdHM6IGZhbHNlLFxuICBsb2FkU2NoZW1hOiBsb2FkSnNvblNjaGVtYSxcbn0pXG4iXX0=
@@ -0,0 +1,2 @@
1
+ import type { Descriptor } from "../descriptor/index.ts";
2
+ export declare function assertJsonSchema(descriptor: Descriptor): Promise<Descriptor>;
@@ -0,0 +1,10 @@
1
+ import { inspectJsonSchema } from "./inspect/schema.js";
2
+ export async function assertJsonSchema(descriptor) {
3
+ const errors = await inspectJsonSchema(descriptor);
4
+ // TODO: Improve consolidated error message
5
+ if (errors.length) {
6
+ throw new Error(`JsonSchema "${JSON.stringify(descriptor).slice(0, 100)}" is not valid`);
7
+ }
8
+ return descriptor;
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vanNvbi9hc3NlcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFFdkQsTUFBTSxDQUFDLEtBQUssVUFBVSxnQkFBZ0IsQ0FBQyxVQUFzQjtJQUMzRCxNQUFNLE1BQU0sR0FBRyxNQUFNLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBRWxELDJDQUEyQztJQUMzQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNsQixNQUFNLElBQUksS0FBSyxDQUNiLGVBQWUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FDeEUsQ0FBQTtJQUNILENBQUM7SUFFRCxPQUFPLFVBQXdCLENBQUE7QUFDakMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGVzY3JpcHRvciB9IGZyb20gXCIuLi9kZXNjcmlwdG9yL2luZGV4LnRzXCJcbmltcG9ydCB0eXBlIHsgSnNvblNjaGVtYSB9IGZyb20gXCIuL1NjaGVtYS50c1wiXG5pbXBvcnQgeyBpbnNwZWN0SnNvblNjaGVtYSB9IGZyb20gXCIuL2luc3BlY3Qvc2NoZW1hLnRzXCJcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFzc2VydEpzb25TY2hlbWEoZGVzY3JpcHRvcjogRGVzY3JpcHRvcikge1xuICBjb25zdCBlcnJvcnMgPSBhd2FpdCBpbnNwZWN0SnNvblNjaGVtYShkZXNjcmlwdG9yKVxuXG4gIC8vIFRPRE86IEltcHJvdmUgY29uc29saWRhdGVkIGVycm9yIG1lc3NhZ2VcbiAgaWYgKGVycm9ycy5sZW5ndGgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgSnNvblNjaGVtYSBcIiR7SlNPTi5zdHJpbmdpZnkoZGVzY3JpcHRvcikuc2xpY2UoMCwgMTAwKX1cIiBpcyBub3QgdmFsaWRgLFxuICAgIClcbiAgfVxuXG4gIHJldHVybiBkZXNjcmlwdG9yIGFzIEpzb25TY2hlbWFcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ import QuickLRU from "quick-lru";
2
+ export declare const cache: QuickLRU<string, import("../index.ts").Descriptor>;
@@ -0,0 +1,5 @@
1
+ import QuickLRU from "quick-lru";
2
+ export const cache = new QuickLRU({
3
+ maxSize: 100,
4
+ });
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9qc29uL2NhY2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sUUFBUSxNQUFNLFdBQVcsQ0FBQTtBQUdoQyxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxRQUFRLENBQXFCO0lBQ3BELE9BQU8sRUFBRSxHQUFHO0NBQ2IsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFF1aWNrTFJVIGZyb20gXCJxdWljay1scnVcIlxuaW1wb3J0IHR5cGUgeyBKc29uU2NoZW1hIH0gZnJvbSBcIi4vU2NoZW1hLnRzXCJcblxuZXhwb3J0IGNvbnN0IGNhY2hlID0gbmV3IFF1aWNrTFJVPHN0cmluZywgSnNvblNjaGVtYT4oe1xuICBtYXhTaXplOiAxMDAsXG59KVxuIl19
@@ -0,0 +1,5 @@
1
+ export { inspectJsonValue } from "./inspect/value.ts";
2
+ export type { JsonSchema } from "./Schema.ts";
3
+ export type { JsonValue } from "./Value.ts";
4
+ export { resolveJsonSchema } from "./resolve.ts";
5
+ export { loadJsonSchema } from "./load.ts";
@@ -0,0 +1,4 @@
1
+ export { inspectJsonValue } from "./inspect/value.js";
2
+ export { resolveJsonSchema } from "./resolve.js";
3
+ export { loadJsonSchema } from "./load.js";
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9qc29uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBR3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sV0FBVyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgaW5zcGVjdEpzb25WYWx1ZSB9IGZyb20gXCIuL2luc3BlY3QvdmFsdWUudHNcIlxuZXhwb3J0IHR5cGUgeyBKc29uU2NoZW1hIH0gZnJvbSBcIi4vU2NoZW1hLnRzXCJcbmV4cG9ydCB0eXBlIHsgSnNvblZhbHVlIH0gZnJvbSBcIi4vVmFsdWUudHNcIlxuZXhwb3J0IHsgcmVzb2x2ZUpzb25TY2hlbWEgfSBmcm9tIFwiLi9yZXNvbHZlLnRzXCJcbmV4cG9ydCB7IGxvYWRKc29uU2NoZW1hIH0gZnJvbSBcIi4vbG9hZC50c1wiXG4iXX0=
@@ -0,0 +1,4 @@
1
+ import type { Descriptor } from "../../descriptor/index.ts";
2
+ export declare function inspectJsonSchema(descriptor: Descriptor): Promise<{
3
+ message: string;
4
+ }[]>;
@@ -0,0 +1,10 @@
1
+ import { ajv } from "../ajv.js";
2
+ export async function inspectJsonSchema(descriptor) {
3
+ const errors = [];
4
+ await ajv.validateSchema(descriptor);
5
+ for (const error of ajv.errors ?? []) {
6
+ errors.push({ message: error.message ?? error.keyword });
7
+ }
8
+ return errors;
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vanNvbi9pbnNwZWN0L3NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBRS9CLE1BQU0sQ0FBQyxLQUFLLFVBQVUsaUJBQWlCLENBQUMsVUFBc0I7SUFDNUQsTUFBTSxNQUFNLEdBQTBCLEVBQUUsQ0FBQTtJQUN4QyxNQUFNLEdBQUcsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUE7SUFFcEMsS0FBSyxNQUFNLEtBQUssSUFBSSxHQUFHLENBQUMsTUFBTSxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQ3JDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtJQUMxRCxDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUE7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEZXNjcmlwdG9yIH0gZnJvbSBcIi4uLy4uL2Rlc2NyaXB0b3IvaW5kZXgudHNcIlxuaW1wb3J0IHsgYWp2IH0gZnJvbSBcIi4uL2Fqdi50c1wiXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBpbnNwZWN0SnNvblNjaGVtYShkZXNjcmlwdG9yOiBEZXNjcmlwdG9yKSB7XG4gIGNvbnN0IGVycm9yczogeyBtZXNzYWdlOiBzdHJpbmcgfVtdID0gW11cbiAgYXdhaXQgYWp2LnZhbGlkYXRlU2NoZW1hKGRlc2NyaXB0b3IpXG5cbiAgZm9yIChjb25zdCBlcnJvciBvZiBhanYuZXJyb3JzID8/IFtdKSB7XG4gICAgZXJyb3JzLnB1c2goeyBtZXNzYWdlOiBlcnJvci5tZXNzYWdlID8/IGVycm9yLmtleXdvcmQgfSlcbiAgfVxuXG4gIHJldHVybiBlcnJvcnNcbn1cbiJdfQ==
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,132 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { inspectJsonSchema } from "./schema.js";
3
+ describe("inspectJsonSchema", () => {
4
+ it("returns empty array for valid JSON Schema", async () => {
5
+ const descriptor = {
6
+ type: "object",
7
+ properties: {
8
+ name: { type: "string" },
9
+ version: { type: "string" },
10
+ },
11
+ };
12
+ const errors = await inspectJsonSchema(descriptor);
13
+ expect(errors).toEqual([]);
14
+ });
15
+ it("returns empty array for valid JSON Schema with required fields", async () => {
16
+ const descriptor = {
17
+ type: "object",
18
+ required: ["name", "version"],
19
+ properties: {
20
+ name: { type: "string" },
21
+ version: { type: "string" },
22
+ description: { type: "string" },
23
+ },
24
+ };
25
+ const errors = await inspectJsonSchema(descriptor);
26
+ expect(errors).toEqual([]);
27
+ });
28
+ it("returns empty array for nested JSON Schema", async () => {
29
+ const descriptor = {
30
+ type: "object",
31
+ properties: {
32
+ author: {
33
+ type: "object",
34
+ properties: {
35
+ name: { type: "string" },
36
+ email: { type: "string", format: "email" },
37
+ },
38
+ },
39
+ },
40
+ };
41
+ const errors = await inspectJsonSchema(descriptor);
42
+ expect(errors).toEqual([]);
43
+ });
44
+ it("returns empty array for JSON Schema with array items", async () => {
45
+ const descriptor = {
46
+ type: "object",
47
+ properties: {
48
+ keywords: {
49
+ type: "array",
50
+ items: { type: "string" },
51
+ },
52
+ },
53
+ };
54
+ const errors = await inspectJsonSchema(descriptor);
55
+ expect(errors).toEqual([]);
56
+ });
57
+ it("returns validation errors for invalid JSON Schema structure", async () => {
58
+ const descriptor = {
59
+ type: "invalid-type",
60
+ properties: {
61
+ name: { type: "string" },
62
+ },
63
+ };
64
+ const errors = await inspectJsonSchema(descriptor);
65
+ expect(errors.length).toBeGreaterThan(0);
66
+ });
67
+ it("returns validation errors for malformed properties", async () => {
68
+ const descriptor = {
69
+ type: "object",
70
+ properties: {
71
+ name: {
72
+ type: "string",
73
+ minLength: "not-a-number",
74
+ },
75
+ },
76
+ };
77
+ const errors = await inspectJsonSchema(descriptor);
78
+ expect(errors.length).toBeGreaterThan(0);
79
+ });
80
+ it("returns validation errors for invalid required field", async () => {
81
+ const descriptor = {
82
+ type: "object",
83
+ required: "should-be-an-array",
84
+ properties: {
85
+ name: { type: "string" },
86
+ },
87
+ };
88
+ const errors = await inspectJsonSchema(descriptor);
89
+ expect(errors.length).toBeGreaterThan(0);
90
+ });
91
+ it("returns multiple errors for JSON Schema with multiple issues", async () => {
92
+ const descriptor = {
93
+ type: "invalid-type",
94
+ required: "should-be-array",
95
+ properties: {
96
+ field1: {
97
+ type: "string",
98
+ minLength: "not-a-number",
99
+ },
100
+ field2: {
101
+ type: "unknown-type",
102
+ },
103
+ },
104
+ };
105
+ const errors = await inspectJsonSchema(descriptor);
106
+ expect(errors.length).toBeGreaterThan(1);
107
+ });
108
+ it("returns empty array for empty JSON Schema", async () => {
109
+ const descriptor = {};
110
+ const errors = await inspectJsonSchema(descriptor);
111
+ expect(errors).toEqual([]);
112
+ });
113
+ it("returns empty array for JSON Schema with definitions", async () => {
114
+ const descriptor = {
115
+ type: "object",
116
+ properties: {
117
+ user: { $ref: "#/definitions/User" },
118
+ },
119
+ definitions: {
120
+ User: {
121
+ type: "object",
122
+ properties: {
123
+ name: { type: "string" },
124
+ },
125
+ },
126
+ },
127
+ };
128
+ const errors = await inspectJsonSchema(descriptor);
129
+ expect(errors).toEqual([]);
130
+ });
131
+ });
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLnNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9qc29uL2luc3BlY3Qvc2NoZW1hLnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUUvQyxRQUFRLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxFQUFFO0lBQ2pDLEVBQUUsQ0FBQywyQ0FBMkMsRUFBRSxLQUFLLElBQUksRUFBRTtRQUN6RCxNQUFNLFVBQVUsR0FBRztZQUNqQixJQUFJLEVBQUUsUUFBUTtZQUNkLFVBQVUsRUFBRTtnQkFDVixJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO2dCQUN4QixPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO2FBQzVCO1NBQ0YsQ0FBQTtRQUVELE1BQU0sTUFBTSxHQUFHLE1BQU0saUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUE7UUFFbEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUM1QixDQUFDLENBQUMsQ0FBQTtJQUVGLEVBQUUsQ0FBQyxnRUFBZ0UsRUFBRSxLQUFLLElBQUksRUFBRTtRQUM5RSxNQUFNLFVBQVUsR0FBRztZQUNqQixJQUFJLEVBQUUsUUFBUTtZQUNkLFFBQVEsRUFBRSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUM7WUFDN0IsVUFBVSxFQUFFO2dCQUNWLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7Z0JBQ3hCLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7Z0JBQzNCLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7YUFDaEM7U0FDRixDQUFBO1FBRUQsTUFBTSxNQUFNLEdBQUcsTUFB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QUFBO1FBRWxELE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDNUIsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlc2NyaWJlLCBleHBlY3QsIGl0IH0gZnJvbSBcInZpdGVzdFwiXG5pbXBvcnQgeyBpbnNwZWN0SnNvblNjaGVtYSB9IGZyb20gXCIuL3NjaGVtYS50c1wiXG5cbmRlc2NyaWJlKFwiaW5zcGVjdEpzb25TY2hlbWFcIiwgKCkgPT4ge1xuICBpdChcInJldHVybnMgZW1wdHkgYXJyYXkgZm9yIHZhbGlkIEpTT04gU2NoZW1hXCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBkZXNjcmlwdG9yID0ge1xuICAgICAgdHlwZTogXCJvYmplY3RcIixcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgbmFtZTogeyB0eXBlOiBcInN0cmluZ1wiIH0sXG4gICAgICAgIHZlcnNpb246IHsgdHlwZTogXCJzdHJpbmdcIiB9LFxuICAgICAgfSxcbiAgICB9XG5cbiAgICBjb25zdCBlcnJvcnMgPSBhd2FpdCBpbnNwZWN0SnNvblNjaGVtYShkZXNjcmlwdG9yKVxuXG4gICAgZXhwZWN0KGVycm9ycykudG9FcXVhbChbXSlcbiAgfSlcblxuICBpdChcInJldHVybnMgZW1wdHkgYXJyYXkgZm9yIHZhbGlkIEpTT04gU2NoZW1hIHdpdGggcmVxdWlyZWQgZmllbGRzXCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBkZXNjcmlwdG9yID0ge1xuICAgICAgdHlwZTogXCJvYmplY3RcIixcbiAgICAgIHJlcXVpcmVkOiBbXCJuYW1lXCIsIFwidmVyc2lvblwiXSxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgbmFtZTogeyB0eXBlOiBcInN0cmluZ1wiIH0sXG4gICAgICAgIHZlcnNpb246IHsgdHlwZTogXCJzdHJpbmdcIiB9LFxuICAgICAgICBkZXNjcmlwdGlvbjogeyB0eXBlOiBcInN0cmluZ1wiIH0sXG4gICAgICB9LFxuICAgIH1cblxuICAgIGNvbnN0IGVycm9ycyA9IGF3YWl0IGluc3BlY3RKc29uU2NoZW1hKGRlc2NyaXB0b3IpXG5cbiAgICBleHBlY3QoZXJyb3JzKS50b0VxdWFsKFtdKVxuICB9KVxuXG4gIGl0KFwicmV0dXJucyBlbXB0eSBhcnJheSBmb3IgbmVzdGVkIEpTT04gU2NoZW1hXCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBkZXNjcmlwdG9yID0ge1xuICAgICAgdHlwZTogXCJvYmplY3RcIixcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgYXV0aG9yOiB7XG4gICAgICAgICAgdHlwZTogXCJvYmplY3RcIixcbiAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICBuYW1lOiB7IHR5cGU6IFwic3RyaW5nXCIgfSxcbiAgICAgICAgICAgIGVtYWlsOiB7IHR5cGU6IFwic3RyaW5nXCIsIGZvcm1hdDogXCJlbWFpbFwiIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfVxuXG4gICAgY29uc3QgZXJyb3JzID0gYXdhaXQgaW5zcGVjdEpzb25TY2hlbWEoZGVzY3JpcHRvcilcblxuICAgIGV4cGVjdChlcnJvcnMpLnRvRXF1YWwoW10pXG4gIH0pXG5cbiAgaXQoXCJyZXR1cm5zIGVtcHR5IGFycmF5IGZvciBKU09OIFNjaGVtYSB3aXRoIGFycmF5IGl0ZW1zXCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBkZXNjcmlwdG9yID0ge1xuICAgICAgdHlwZTogXCJvYmplY3RcIixcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAga2V5d29yZHM6IHtcbiAgICAgICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgICAgICAgaXRlbXM6IHsgdHlwZTogXCJzdHJpbmdcIiB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9XG5cbiAgICBjb25zdCBlcnJvcnMgPSBhd2FpdCBpbnNwZWN0SnNvblNjaGVtYShkZXNjcmlwdG9yKVxuXG4gICAgZXhwZWN0KGVycm9ycykudG9FcXVhbChbXSlcbiAgfSlcblxuICBpdChcInJldHVybnMgdmFsaWRhdGlvbiBlcnJvcnMgZm9yIGludmFsaWQgSlNPTiBTY2hlbWEgc3RydWN0dXJlXCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBkZXNjcmlwdG9yID0ge1xuICAgICAgdHlwZTogXCJpbnZhbGlkLXR5cGVcIixcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgbmFtZTogeyB0eXBlOiBcInN0cmluZ1wiIH0sXG4gICAgICB9LFxuICAgIH1cblxuICAgIGNvbnN0IGVycm9ycyA9IGF3YWl0IGluc3BlY3RKc29uU2NoZW1hKGRlc2NyaXB0b3IpXG5cbiAgICBleHBlY3QoZXJyb3JzLmxlbmd0aCkudG9CZUdyZWF0ZXJUaGFuKDApXG4gIH0pXG5cbiAgaXQoXCJyZXR1cm5zIHZhbGlkYXRpb24gZXJyb3JzIGZvciBtYWxmb3JtZWQgcHJvcGVydGllc1wiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgZGVzY3JpcHRvciA9IHtcbiAgICAgIHR5cGU6IFwib2JqZWN0XCIsXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIG5hbWU6IHtcbiAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgIG1pbkxlbmd0aDogXCJub3QtYS1udW1iZXJcIixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfVxuXG4gICAgY29uc3QgZXJyb3JzID0gYXdhaXQgaW5zcGVjdEpzb25TY2hlbWEoZGVzY3JpcHRvcilcblxuICAgIGV4cGVjdChlcnJvcnMubGVuZ3RoKS50b0JlR3JlYXRlclRoYW4oMClcbiAgfSlcblxuICBpdChcInJldHVybnMgdmFsaWRhdGlvbiBlcnJvcnMgZm9yIGludmFsaWQgcmVxdWlyZWQgZmllbGRcIiwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGRlc2NyaXB0b3IgPSB7XG4gICAgICB0eXBlOiBcIm9iamVjdFwiLFxuICAgICAgcmVxdWlyZWQ6IFwic2hvdWxkLWJlLWFuLWFycmF5XCIsXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIG5hbWU6IHsgdHlwZTogXCJzdHJpbmdcIiB9LFxuICAgICAgfSxcbiAgICB9XG5cbiAgICBjb25zdCBlcnJvcnMgPSBhd2FpdCBpbnNwZWN0SnNvblNjaGVtYShkZXNjcmlwdG9yKVxuXG4gICAgZXhwZWN0KGVycm9ycy5sZW5ndGgpLnRvQmVHcmVhdGVyVGhhbigwKVxuICB9KVxuXG4gIGl0KFwicmV0dXJucyBtdWx0aXBsZSBlcnJvcnMgZm9yIEpTT04gU2NoZW1hIHdpdGggbXVsdGlwbGUgaXNzdWVzXCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBkZXNjcmlwdG9yID0ge1xuICAgICAgdHlwZTogXCJpbnZhbGlkLXR5cGVcIixcbiAgICAgIHJlcXVpcmVkOiBcInNob3VsZC1iZS1hcnJheVwiLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBmaWVsZDE6IHtcbiAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgIG1pbkxlbmd0aDogXCJub3QtYS1udW1iZXJcIixcbiAgICAgICAgfSxcbiAgICAgICAgZmllbGQyOiB7XG4gICAgICAgICAgdHlwZTogXCJ1bmtub3duLXR5cGVcIixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfVxuXG4gICAgY29uc3QgZXJyb3JzID0gYXdhaXQgaW5zcGVjdEpzb25TY2hlbWEoZGVzY3JpcHRvcilcblxuICAgIGV4cGVjdChlcnJvcnMubGVuZ3RoKS50b0JlR3JlYXRlclRoYW4oMSlcbiAgfSlcblxuICBpdChcInJldHVybnMgZW1wdHkgYXJyYXkgZm9yIGVtcHR5IEpTT04gU2NoZW1hXCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBkZXNjcmlwdG9yID0ge31cblxuICAgIGNvbnN0IGVycm9ycyA9IGF3YWl0IGluc3BlY3RKc29uU2NoZW1hKGRlc2NyaXB0b3IpXG5cbiAgICBleHBlY3QoZXJyb3JzKS50b0VxdWFsKFtdKVxuICB9KVxuXG4gIGl0KFwicmV0dXJucyBlbXB0eSBhcnJheSBmb3IgSlNPTiBTY2hlbWEgd2l0aCBkZWZpbml0aW9uc1wiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgZGVzY3JpcHRvciA9IHtcbiAgICAgIHR5cGU6IFwib2JqZWN0XCIsXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIHVzZXI6IHsgJHJlZjogXCIjL2RlZmluaXRpb25zL1VzZXJcIiB9LFxuICAgICAgfSxcbiAgICAgIGRlZmluaXRpb25zOiB7XG4gICAgICAgIFVzZXI6IHtcbiAgICAgICAgICB0eXBlOiBcIm9iamVjdFwiLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIG5hbWU6IHsgdHlwZTogXCJzdHJpbmdcIiB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH1cblxuICAgIGNvbnN0IGVycm9ycyA9IGF3YWl0IGluc3BlY3RKc29uU2NoZW1hKGRlc2NyaXB0b3IpXG5cbiAgICBleHBlY3QoZXJyb3JzKS50b0VxdWFsKFtdKVxuICB9KVxufSlcbiJdfQ==
@@ -0,0 +1,11 @@
1
+ import type { JsonSchema } from "../Schema.ts";
2
+ /**
3
+ * Validate a value against a JSON Schema
4
+ * It uses Ajv for JSON Schema validation under the hood
5
+ */
6
+ export declare function inspectJsonValue(value: unknown, options: {
7
+ jsonSchema: JsonSchema | string;
8
+ }): Promise<{
9
+ pointer: string;
10
+ message: string;
11
+ }[]>;
@@ -0,0 +1,21 @@
1
+ import { ajv } from "../ajv.js";
2
+ import { loadJsonSchema } from "../load.js";
3
+ /**
4
+ * Validate a value against a JSON Schema
5
+ * It uses Ajv for JSON Schema validation under the hood
6
+ */
7
+ export async function inspectJsonValue(value, options) {
8
+ const jsonSchema = typeof options.jsonSchema === "string"
9
+ ? await loadJsonSchema(options.jsonSchema)
10
+ : options.jsonSchema;
11
+ const validate = await ajv.compileAsync(jsonSchema);
12
+ validate(value);
13
+ const errors = validate.errors
14
+ ? validate.errors?.map(error => ({
15
+ pointer: error.instancePath ?? "/",
16
+ message: error.message ?? "error",
17
+ }))
18
+ : [];
19
+ return errors;
20
+ }
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9qc29uL2luc3BlY3QvdmFsdWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUMvQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRTNDOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsZ0JBQWdCLENBQ3BDLEtBQWMsRUFDZCxPQUVDO0lBRUQsTUFBTSxVQUFVLEdBQ2QsT0FBTyxPQUFPLENBQUMsVUFBVSxLQUFLLFFBQVE7UUFDcEMsQ0FBQyxDQUFDLE1BQU0sY0FBYyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7UUFDMUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUE7SUFFeEIsTUFBTSxRQUFRLEdBQUcsTUFBTSxHQUFHLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ25ELFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUVmLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxNQUFNO1FBQzVCLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDN0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxZQUFZLElBQUksR0FBRztZQUNsQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sSUFBSSxPQUFPO1NBQ2xDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxFQUFFLENBQUE7SUFFTixPQUFPLE1BQU0sQ0FBQTtBQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEpzb25TY2hlbWEgfSBmcm9tIFwiLi4vU2NoZW1hLnRzXCJcbmltcG9ydCB7IGFqdiB9IGZyb20gXCIuLi9hanYudHNcIlxuaW1wb3J0IHsgbG9hZEpzb25TY2hlbWEgfSBmcm9tIFwiLi4vbG9hZC50c1wiXG5cbi8qKlxuICogVmFsaWRhdGUgYSB2YWx1ZSBhZ2FpbnN0IGEgSlNPTiBTY2hlbWFcbiAqIEl0IHVzZXMgQWp2IGZvciBKU09OIFNjaGVtYSB2YWxpZGF0aW9uIHVuZGVyIHRoZSBob29kXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBpbnNwZWN0SnNvblZhbHVlKFxuICB2YWx1ZTogdW5rbm93bixcbiAgb3B0aW9uczoge1xuICAgIGpzb25TY2hlbWE6IEpzb25TY2hlbWEgfCBzdHJpbmdcbiAgfSxcbikge1xuICBjb25zdCBqc29uU2NoZW1hID1cbiAgICB0eXBlb2Ygb3B0aW9ucy5qc29uU2NoZW1hID09PSBcInN0cmluZ1wiXG4gICAgICA/IGF3YWl0IGxvYWRKc29uU2NoZW1hKG9wdGlvbnMuanNvblNjaGVtYSlcbiAgICAgIDogb3B0aW9ucy5qc29uU2NoZW1hXG5cbiAgY29uc3QgdmFsaWRhdGUgPSBhd2FpdCBhanYuY29tcGlsZUFzeW5jKGpzb25TY2hlbWEpXG4gIHZhbGlkYXRlKHZhbHVlKVxuXG4gIGNvbnN0IGVycm9ycyA9IHZhbGlkYXRlLmVycm9yc1xuICAgID8gdmFsaWRhdGUuZXJyb3JzPy5tYXAoZXJyb3IgPT4gKHtcbiAgICAgICAgcG9pbnRlcjogZXJyb3IuaW5zdGFuY2VQYXRoID8/IFwiL1wiLFxuICAgICAgICBtZXNzYWdlOiBlcnJvci5tZXNzYWdlID8/IFwiZXJyb3JcIixcbiAgICAgIH0pKVxuICAgIDogW11cblxuICByZXR1cm4gZXJyb3JzXG59XG4iXX0=