@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,5 @@
1
+ export type { Field } from "./Field.ts";
2
+ export type { FieldType } from "./Type.ts";
3
+ export type * from "./types/index.ts";
4
+ export { convertFieldFromDescriptor } from "./convert/fromDescriptor.ts";
5
+ export { convertFieldToDescriptor } from "./convert/toDescriptor.ts";
@@ -0,0 +1,3 @@
1
+ export { convertFieldFromDescriptor } from "./convert/fromDescriptor.js";
2
+ export { convertFieldToDescriptor } from "./convert/toDescriptor.js";
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9maWVsZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUN4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tIFwiLi9GaWVsZC50c1wiXG5leHBvcnQgdHlwZSB7IEZpZWxkVHlwZSB9IGZyb20gXCIuL1R5cGUudHNcIlxuZXhwb3J0IHR5cGUgKiBmcm9tIFwiLi90eXBlcy9pbmRleC50c1wiXG5leHBvcnQgeyBjb252ZXJ0RmllbGRGcm9tRGVzY3JpcHRvciB9IGZyb20gXCIuL2NvbnZlcnQvZnJvbURlc2NyaXB0b3IudHNcIlxuZXhwb3J0IHsgY29udmVydEZpZWxkVG9EZXNjcmlwdG9yIH0gZnJvbSBcIi4vY29udmVydC90b0Rlc2NyaXB0b3IudHNcIlxuIl19
@@ -0,0 +1,20 @@
1
+ import type { BaseConstraints, BaseField } from "./Base.ts";
2
+ /**
3
+ * Any field type (unspecified/mixed)
4
+ */
5
+ export interface AnyField extends BaseField<AnyConstraints> {
6
+ /**
7
+ * Field type - discriminator property
8
+ */
9
+ type?: "any";
10
+ }
11
+ /**
12
+ * Any field constraints
13
+ */
14
+ export interface AnyConstraints extends BaseConstraints {
15
+ /**
16
+ * Restrict values to a specified set
17
+ * For any field type, can be an array of any values
18
+ */
19
+ enum?: any[];
20
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQW55LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZmllbGQvdHlwZXMvQW55LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEJhc2VDb25zdHJhaW50cywgQmFzZUZpZWxkIH0gZnJvbSBcIi4vQmFzZS50c1wiXG5cbi8qKlxuICogQW55IGZpZWxkIHR5cGUgKHVuc3BlY2lmaWVkL21peGVkKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFueUZpZWxkIGV4dGVuZHMgQmFzZUZpZWxkPEFueUNvbnN0cmFpbnRzPiB7XG4gIC8qKlxuICAgKiBGaWVsZCB0eXBlIC0gZGlzY3JpbWluYXRvciBwcm9wZXJ0eVxuICAgKi9cbiAgdHlwZT86IFwiYW55XCJcbn1cblxuLyoqXG4gKiBBbnkgZmllbGQgY29uc3RyYWludHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbnlDb25zdHJhaW50cyBleHRlbmRzIEJhc2VDb25zdHJhaW50cyB7XG4gIC8qKlxuICAgKiBSZXN0cmljdCB2YWx1ZXMgdG8gYSBzcGVjaWZpZWQgc2V0XG4gICAqIEZvciBhbnkgZmllbGQgdHlwZSwgY2FuIGJlIGFuIGFycmF5IG9mIGFueSB2YWx1ZXNcbiAgICovXG4gIGVudW0/OiBhbnlbXVxufVxuIl19
@@ -0,0 +1,32 @@
1
+ import type { BaseConstraints, BaseField } from "./Base.ts";
2
+ /**
3
+ * Array field type (serialized JSON array)
4
+ */
5
+ export interface ArrayField extends BaseField<ArrayConstraints> {
6
+ /**
7
+ * Field type - discriminator property
8
+ */
9
+ type: "array";
10
+ }
11
+ /**
12
+ * Array-specific constraints
13
+ */
14
+ export interface ArrayConstraints extends BaseConstraints {
15
+ /**
16
+ * Minimum array length
17
+ */
18
+ minLength?: number;
19
+ /**
20
+ * Maximum array length
21
+ */
22
+ maxLength?: number;
23
+ /**
24
+ * JSON Schema object for validating array items
25
+ */
26
+ jsonSchema?: Record<string, any>;
27
+ /**
28
+ * Restrict values to a specified set of arrays
29
+ * Serialized as JSON strings or parsed array objects
30
+ */
31
+ enum?: string[] | any[][];
32
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJyYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9maWVsZC90eXBlcy9BcnJheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCYXNlQ29uc3RyYWludHMsIEJhc2VGaWVsZCB9IGZyb20gXCIuL0Jhc2UudHNcIlxuXG4vKipcbiAqIEFycmF5IGZpZWxkIHR5cGUgKHNlcmlhbGl6ZWQgSlNPTiBhcnJheSlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcnJheUZpZWxkIGV4dGVuZHMgQmFzZUZpZWxkPEFycmF5Q29uc3RyYWludHM+IHtcbiAgLyoqXG4gICAqIEZpZWxkIHR5cGUgLSBkaXNjcmltaW5hdG9yIHByb3BlcnR5XG4gICAqL1xuICB0eXBlOiBcImFycmF5XCJcbn1cblxuLyoqXG4gKiBBcnJheS1zcGVjaWZpYyBjb25zdHJhaW50c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFycmF5Q29uc3RyYWludHMgZXh0ZW5kcyBCYXNlQ29uc3RyYWludHMge1xuICAvKipcbiAgICogTWluaW11bSBhcnJheSBsZW5ndGhcbiAgICovXG4gIG1pbkxlbmd0aD86IG51bWJlclxuXG4gIC8qKlxuICAgKiBNYXhpbXVtIGFycmF5IGxlbmd0aFxuICAgKi9cbiAgbWF4TGVuZ3RoPzogbnVtYmVyXG5cbiAgLyoqXG4gICAqIEpTT04gU2NoZW1hIG9iamVjdCBmb3IgdmFsaWRhdGluZyBhcnJheSBpdGVtc1xuICAgKi9cbiAganNvblNjaGVtYT86IFJlY29yZDxzdHJpbmcsIGFueT5cblxuICAvKipcbiAgICogUmVzdHJpY3QgdmFsdWVzIHRvIGEgc3BlY2lmaWVkIHNldCBvZiBhcnJheXNcbiAgICogU2VyaWFsaXplZCBhcyBKU09OIHN0cmluZ3Mgb3IgcGFyc2VkIGFycmF5IG9iamVjdHNcbiAgICovXG4gIGVudW0/OiBzdHJpbmdbXSB8IGFueVtdW11cbn1cbiJdfQ==
@@ -0,0 +1,60 @@
1
+ import type { Metadata } from "../../metadata/index.ts";
2
+ /**
3
+ * Base field properties common to all field types
4
+ */
5
+ export interface BaseField<T = BaseConstraints> extends Metadata {
6
+ /**
7
+ * Name of the field matching the column name
8
+ */
9
+ name: string;
10
+ /**
11
+ * Field format -- optional addition to the type
12
+ */
13
+ format?: string;
14
+ /**
15
+ * Human-readable title
16
+ */
17
+ title?: string;
18
+ /**
19
+ * Human-readable description
20
+ */
21
+ description?: string;
22
+ /**
23
+ * Example value for this field
24
+ */
25
+ example?: any;
26
+ /**
27
+ * Examples for this field
28
+ */
29
+ examples?: any[];
30
+ /**
31
+ * URI for semantic type (RDF)
32
+ */
33
+ rdfType?: string;
34
+ /**
35
+ * Values representing missing data for this field
36
+ * Can be a simple array of strings or an array of {value, label} objects
37
+ * where label provides context for why the data is missing
38
+ */
39
+ missingValues?: (string | {
40
+ value: string;
41
+ label: string;
42
+ })[];
43
+ /**
44
+ * Validation constraints applied to values
45
+ */
46
+ constraints?: T;
47
+ }
48
+ /**
49
+ * Base constraints that can be applied to any field type
50
+ */
51
+ export interface BaseConstraints {
52
+ /**
53
+ * Indicates if field is allowed to be null/empty
54
+ */
55
+ required?: boolean;
56
+ /**
57
+ * Indicates if values must be unique within the column
58
+ */
59
+ unique?: boolean;
60
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2ZpZWxkL3R5cGVzL0Jhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTWV0YWRhdGEgfSBmcm9tIFwiLi4vLi4vbWV0YWRhdGEvaW5kZXgudHNcIlxuXG4vKipcbiAqIEJhc2UgZmllbGQgcHJvcGVydGllcyBjb21tb24gdG8gYWxsIGZpZWxkIHR5cGVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUZpZWxkPFQgPSBCYXNlQ29uc3RyYWludHM+IGV4dGVuZHMgTWV0YWRhdGEge1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgZmllbGQgbWF0Y2hpbmcgdGhlIGNvbHVtbiBuYW1lXG4gICAqL1xuICBuYW1lOiBzdHJpbmdcblxuICAvKipcbiAgICogRmllbGQgZm9ybWF0IC0tIG9wdGlvbmFsIGFkZGl0aW9uIHRvIHRoZSB0eXBlXG4gICAqL1xuICBmb3JtYXQ/OiBzdHJpbmdcblxuICAvKipcbiAgICogSHVtYW4tcmVhZGFibGUgdGl0bGVcbiAgICovXG4gIHRpdGxlPzogc3RyaW5nXG5cbiAgLyoqXG4gICAqIEh1bWFuLXJlYWRhYmxlIGRlc2NyaXB0aW9uXG4gICAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBFeGFtcGxlIHZhbHVlIGZvciB0aGlzIGZpZWxkXG4gICAqL1xuICBleGFtcGxlPzogYW55XG5cbiAgLyoqXG4gICAqIEV4YW1wbGVzIGZvciB0aGlzIGZpZWxkXG4gICAqL1xuICBleGFtcGxlcz86IGFueVtdXG5cbiAgLyoqXG4gICAqIFVSSSBmb3Igc2VtYW50aWMgdHlwZSAoUkRGKVxuICAgKi9cbiAgcmRmVHlwZT86IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBWYWx1ZXMgcmVwcmVzZW50aW5nIG1pc3NpbmcgZGF0YSBmb3IgdGhpcyBmaWVsZFxuICAgKiBDYW4gYmUgYSBzaW1wbGUgYXJyYXkgb2Ygc3RyaW5ncyBvciBhbiBhcnJheSBvZiB7dmFsdWUsIGxhYmVsfSBvYmplY3RzXG4gICAqIHdoZXJlIGxhYmVsIHByb3ZpZGVzIGNvbnRleHQgZm9yIHdoeSB0aGUgZGF0YSBpcyBtaXNzaW5nXG4gICAqL1xuICBtaXNzaW5nVmFsdWVzPzogKHN0cmluZyB8IHsgdmFsdWU6IHN0cmluZzsgbGFiZWw6IHN0cmluZyB9KVtdXG5cbiAgLyoqXG4gICAqIFZhbGlkYXRpb24gY29uc3RyYWludHMgYXBwbGllZCB0byB2YWx1ZXNcbiAgICovXG4gIGNvbnN0cmFpbnRzPzogVFxufVxuXG4vKipcbiAqIEJhc2UgY29uc3RyYWludHMgdGhhdCBjYW4gYmUgYXBwbGllZCB0byBhbnkgZmllbGQgdHlwZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VDb25zdHJhaW50cyB7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgZmllbGQgaXMgYWxsb3dlZCB0byBiZSBudWxsL2VtcHR5XG4gICAqL1xuICByZXF1aXJlZD86IGJvb2xlYW5cblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHZhbHVlcyBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGNvbHVtblxuICAgKi9cbiAgdW5pcXVlPzogYm9vbGVhblxufVxuIl19
@@ -0,0 +1,28 @@
1
+ import type { BaseConstraints, BaseField } from "./Base.ts";
2
+ /**
3
+ * Boolean field type
4
+ */
5
+ export interface BooleanField extends BaseField<BooleanConstraints> {
6
+ /**
7
+ * Field type - discriminator property
8
+ */
9
+ type: "boolean";
10
+ /**
11
+ * Values that represent true
12
+ */
13
+ trueValues?: string[];
14
+ /**
15
+ * Values that represent false
16
+ */
17
+ falseValues?: string[];
18
+ }
19
+ /**
20
+ * Boolean-specific constraints
21
+ */
22
+ export interface BooleanConstraints extends BaseConstraints {
23
+ /**
24
+ * Restrict values to a specified set
25
+ * Can be an array of booleans or strings that parse to booleans
26
+ */
27
+ enum?: boolean[] | string[];
28
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm9vbGVhbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2ZpZWxkL3R5cGVzL0Jvb2xlYW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmFzZUNvbnN0cmFpbnRzLCBCYXNlRmllbGQgfSBmcm9tIFwiLi9CYXNlLnRzXCJcblxuLyoqXG4gKiBCb29sZWFuIGZpZWxkIHR5cGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCb29sZWFuRmllbGQgZXh0ZW5kcyBCYXNlRmllbGQ8Qm9vbGVhbkNvbnN0cmFpbnRzPiB7XG4gIC8qKlxuICAgKiBGaWVsZCB0eXBlIC0gZGlzY3JpbWluYXRvciBwcm9wZXJ0eVxuICAgKi9cbiAgdHlwZTogXCJib29sZWFuXCJcblxuICAvKipcbiAgICogVmFsdWVzIHRoYXQgcmVwcmVzZW50IHRydWVcbiAgICovXG4gIHRydWVWYWx1ZXM/OiBzdHJpbmdbXVxuXG4gIC8qKlxuICAgKiBWYWx1ZXMgdGhhdCByZXByZXNlbnQgZmFsc2VcbiAgICovXG4gIGZhbHNlVmFsdWVzPzogc3RyaW5nW11cbn1cblxuLyoqXG4gKiBCb29sZWFuLXNwZWNpZmljIGNvbnN0cmFpbnRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQm9vbGVhbkNvbnN0cmFpbnRzIGV4dGVuZHMgQmFzZUNvbnN0cmFpbnRzIHtcbiAgLyoqXG4gICAqIFJlc3RyaWN0IHZhbHVlcyB0byBhIHNwZWNpZmllZCBzZXRcbiAgICogQ2FuIGJlIGFuIGFycmF5IG9mIGJvb2xlYW5zIG9yIHN0cmluZ3MgdGhhdCBwYXJzZSB0byBib29sZWFuc1xuICAgKi9cbiAgZW51bT86IGJvb2xlYW5bXSB8IHN0cmluZ1tdXG59XG4iXX0=
@@ -0,0 +1,43 @@
1
+ import type { BaseConstraints, BaseField } from "./Base.ts";
2
+ /**
3
+ * Date field type
4
+ */
5
+ export interface DateField extends BaseField<DateConstraints> {
6
+ /**
7
+ * Field type - discriminator property
8
+ */
9
+ type: "date";
10
+ /**
11
+ * Format of the date
12
+ * - default: YYYY-MM-DD
13
+ * - any: flexible date parsing (not recommended)
14
+ * - Or custom strptime/strftime format string
15
+ */
16
+ format?: string;
17
+ }
18
+ /**
19
+ * Date-specific constraints
20
+ */
21
+ export interface DateConstraints extends BaseConstraints {
22
+ /**
23
+ * Minimum allowed date value
24
+ */
25
+ minimum?: string;
26
+ /**
27
+ * Maximum allowed date value
28
+ */
29
+ maximum?: string;
30
+ /**
31
+ * Exclusive minimum date value
32
+ */
33
+ exclusiveMinimum?: string;
34
+ /**
35
+ * Exclusive maximum date value
36
+ */
37
+ exclusiveMaximum?: string;
38
+ /**
39
+ * Restrict values to a specified set of dates
40
+ * Should be in string date format (e.g., "YYYY-MM-DD")
41
+ */
42
+ enum?: string[];
43
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2ZpZWxkL3R5cGVzL0RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmFzZUNvbnN0cmFpbnRzLCBCYXNlRmllbGQgfSBmcm9tIFwiLi9CYXNlLnRzXCJcblxuLyoqXG4gKiBEYXRlIGZpZWxkIHR5cGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRlRmllbGQgZXh0ZW5kcyBCYXNlRmllbGQ8RGF0ZUNvbnN0cmFpbnRzPiB7XG4gIC8qKlxuICAgKiBGaWVsZCB0eXBlIC0gZGlzY3JpbWluYXRvciBwcm9wZXJ0eVxuICAgKi9cbiAgdHlwZTogXCJkYXRlXCJcblxuICAvKipcbiAgICogRm9ybWF0IG9mIHRoZSBkYXRlXG4gICAqIC0gZGVmYXVsdDogWVlZWS1NTS1ERFxuICAgKiAtIGFueTogZmxleGlibGUgZGF0ZSBwYXJzaW5nIChub3QgcmVjb21tZW5kZWQpXG4gICAqIC0gT3IgY3VzdG9tIHN0cnB0aW1lL3N0cmZ0aW1lIGZvcm1hdCBzdHJpbmdcbiAgICovXG4gIGZvcm1hdD86IHN0cmluZ1xufVxuXG4vKipcbiAqIERhdGUtc3BlY2lmaWMgY29uc3RyYWludHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRlQ29uc3RyYWludHMgZXh0ZW5kcyBCYXNlQ29uc3RyYWludHMge1xuICAvKipcbiAgICogTWluaW11bSBhbGxvd2VkIGRhdGUgdmFsdWVcbiAgICovXG4gIG1pbmltdW0/OiBzdHJpbmdcblxuICAvKipcbiAgICogTWF4aW11bSBhbGxvd2VkIGRhdGUgdmFsdWVcbiAgICovXG4gIG1heGltdW0/OiBzdHJpbmdcblxuICAvKipcbiAgICogRXhjbHVzaXZlIG1pbmltdW0gZGF0ZSB2YWx1ZVxuICAgKi9cbiAgZXhjbHVzaXZlTWluaW11bT86IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBFeGNsdXNpdmUgbWF4aW11bSBkYXRlIHZhbHVlXG4gICAqL1xuICBleGNsdXNpdmVNYXhpbXVtPzogc3RyaW5nXG5cbiAgLyoqXG4gICAqIFJlc3RyaWN0IHZhbHVlcyB0byBhIHNwZWNpZmllZCBzZXQgb2YgZGF0ZXNcbiAgICogU2hvdWxkIGJlIGluIHN0cmluZyBkYXRlIGZvcm1hdCAoZS5nLiwgXCJZWVlZLU1NLUREXCIpXG4gICAqL1xuICBlbnVtPzogc3RyaW5nW11cbn1cbiJdfQ==
@@ -0,0 +1,43 @@
1
+ import type { BaseConstraints, BaseField } from "./Base.ts";
2
+ /**
3
+ * Datetime field type
4
+ */
5
+ export interface DatetimeField extends BaseField<DatetimeConstraints> {
6
+ /**
7
+ * Field type - discriminator property
8
+ */
9
+ type: "datetime";
10
+ /**
11
+ * Format of the datetime
12
+ * - default: ISO8601 format
13
+ * - any: flexible datetime parsing (not recommended)
14
+ * - Or custom strptime/strftime format string
15
+ */
16
+ format?: string;
17
+ }
18
+ /**
19
+ * Datetime-specific constraints
20
+ */
21
+ export interface DatetimeConstraints extends BaseConstraints {
22
+ /**
23
+ * Minimum allowed datetime value
24
+ */
25
+ minimum?: string;
26
+ /**
27
+ * Maximum allowed datetime value
28
+ */
29
+ maximum?: string;
30
+ /**
31
+ * Exclusive minimum datetime value
32
+ */
33
+ exclusiveMinimum?: string;
34
+ /**
35
+ * Exclusive maximum datetime value
36
+ */
37
+ exclusiveMaximum?: string;
38
+ /**
39
+ * Restrict values to a specified set of datetimes
40
+ * Should be in string datetime format (e.g., ISO8601)
41
+ */
42
+ enum?: string[];
43
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0ZXRpbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9maWVsZC90eXBlcy9EYXRldGltZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCYXNlQ29uc3RyYWludHMsIEJhc2VGaWVsZCB9IGZyb20gXCIuL0Jhc2UudHNcIlxuXG4vKipcbiAqIERhdGV0aW1lIGZpZWxkIHR5cGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRldGltZUZpZWxkIGV4dGVuZHMgQmFzZUZpZWxkPERhdGV0aW1lQ29uc3RyYWludHM+IHtcbiAgLyoqXG4gICAqIEZpZWxkIHR5cGUgLSBkaXNjcmltaW5hdG9yIHByb3BlcnR5XG4gICAqL1xuICB0eXBlOiBcImRhdGV0aW1lXCJcblxuICAvKipcbiAgICogRm9ybWF0IG9mIHRoZSBkYXRldGltZVxuICAgKiAtIGRlZmF1bHQ6IElTTzg2MDEgZm9ybWF0XG4gICAqIC0gYW55OiBmbGV4aWJsZSBkYXRldGltZSBwYXJzaW5nIChub3QgcmVjb21tZW5kZWQpXG4gICAqIC0gT3IgY3VzdG9tIHN0cnB0aW1lL3N0cmZ0aW1lIGZvcm1hdCBzdHJpbmdcbiAgICovXG4gIGZvcm1hdD86IHN0cmluZ1xufVxuXG4vKipcbiAqIERhdGV0aW1lLXNwZWNpZmljIGNvbnN0cmFpbnRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGF0ZXRpbWVDb25zdHJhaW50cyBleHRlbmRzIEJhc2VDb25zdHJhaW50cyB7XG4gIC8qKlxuICAgKiBNaW5pbXVtIGFsbG93ZWQgZGF0ZXRpbWUgdmFsdWVcbiAgICovXG4gIG1pbmltdW0/OiBzdHJpbmdcblxuICAvKipcbiAgICogTWF4aW11bSBhbGxvd2VkIGRhdGV0aW1lIHZhbHVlXG4gICAqL1xuICBtYXhpbXVtPzogc3RyaW5nXG5cbiAgLyoqXG4gICAqIEV4Y2x1c2l2ZSBtaW5pbXVtIGRhdGV0aW1lIHZhbHVlXG4gICAqL1xuICBleGNsdXNpdmVNaW5pbXVtPzogc3RyaW5nXG5cbiAgLyoqXG4gICAqIEV4Y2x1c2l2ZSBtYXhpbXVtIGRhdGV0aW1lIHZhbHVlXG4gICAqL1xuICBleGNsdXNpdmVNYXhpbXVtPzogc3RyaW5nXG5cbiAgLyoqXG4gICAqIFJlc3RyaWN0IHZhbHVlcyB0byBhIHNwZWNpZmllZCBzZXQgb2YgZGF0ZXRpbWVzXG4gICAqIFNob3VsZCBiZSBpbiBzdHJpbmcgZGF0ZXRpbWUgZm9ybWF0IChlLmcuLCBJU084NjAxKVxuICAgKi9cbiAgZW51bT86IHN0cmluZ1tdXG59XG4iXX0=
@@ -0,0 +1,28 @@
1
+ import type { BaseConstraints, BaseField } from "./Base.ts";
2
+ /**
3
+ * Duration field type (ISO 8601 duration)
4
+ */
5
+ export interface DurationField extends BaseField<DurationConstraints> {
6
+ /**
7
+ * Field type - discriminator property
8
+ */
9
+ type: "duration";
10
+ }
11
+ /**
12
+ * Duration-specific constraints
13
+ */
14
+ export interface DurationConstraints extends BaseConstraints {
15
+ /**
16
+ * Minimum allowed duration (ISO 8601 format)
17
+ */
18
+ minimum?: string;
19
+ /**
20
+ * Maximum allowed duration (ISO 8601 format)
21
+ */
22
+ maximum?: string;
23
+ /**
24
+ * Restrict values to a specified set of durations
25
+ * Should be in ISO 8601 duration format
26
+ */
27
+ enum?: string[];
28
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHVyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9maWVsZC90eXBlcy9EdXJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCYXNlQ29uc3RyYWludHMsIEJhc2VGaWVsZCB9IGZyb20gXCIuL0Jhc2UudHNcIlxuXG4vKipcbiAqIER1cmF0aW9uIGZpZWxkIHR5cGUgKElTTyA4NjAxIGR1cmF0aW9uKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIER1cmF0aW9uRmllbGQgZXh0ZW5kcyBCYXNlRmllbGQ8RHVyYXRpb25Db25zdHJhaW50cz4ge1xuICAvKipcbiAgICogRmllbGQgdHlwZSAtIGRpc2NyaW1pbmF0b3IgcHJvcGVydHlcbiAgICovXG4gIHR5cGU6IFwiZHVyYXRpb25cIlxufVxuXG4vKipcbiAqIER1cmF0aW9uLXNwZWNpZmljIGNvbnN0cmFpbnRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRHVyYXRpb25Db25zdHJhaW50cyBleHRlbmRzIEJhc2VDb25zdHJhaW50cyB7XG4gIC8qKlxuICAgKiBNaW5pbXVtIGFsbG93ZWQgZHVyYXRpb24gKElTTyA4NjAxIGZvcm1hdClcbiAgICovXG4gIG1pbmltdW0/OiBzdHJpbmdcblxuICAvKipcbiAgICogTWF4aW11bSBhbGxvd2VkIGR1cmF0aW9uIChJU08gODYwMSBmb3JtYXQpXG4gICAqL1xuICBtYXhpbXVtPzogc3RyaW5nXG5cbiAgLyoqXG4gICAqIFJlc3RyaWN0IHZhbHVlcyB0byBhIHNwZWNpZmllZCBzZXQgb2YgZHVyYXRpb25zXG4gICAqIFNob3VsZCBiZSBpbiBJU08gODYwMSBkdXJhdGlvbiBmb3JtYXRcbiAgICovXG4gIGVudW0/OiBzdHJpbmdbXVxufVxuIl19
@@ -0,0 +1,30 @@
1
+ import type { BaseConstraints, BaseField } from "./Base.ts";
2
+ /**
3
+ * GeoJSON field type
4
+ */
5
+ export interface GeojsonField extends BaseField<GeojsonConstraints> {
6
+ /**
7
+ * Field type - discriminator property
8
+ */
9
+ type: "geojson";
10
+ /**
11
+ * Format of the geojson
12
+ * - default: standard GeoJSON
13
+ * - topojson: TopoJSON format
14
+ */
15
+ format?: "default" | "topojson";
16
+ }
17
+ /**
18
+ * GeoJSON-specific constraints
19
+ */
20
+ export interface GeojsonConstraints extends BaseConstraints {
21
+ /**
22
+ * JSON Schema object for validating the object structure and properties
23
+ */
24
+ jsonSchema?: Record<string, any>;
25
+ /**
26
+ * Restrict values to a specified set of GeoJSON objects
27
+ * Serialized as strings or GeoJSON object literals
28
+ */
29
+ enum?: string[] | Record<string, any>[];
30
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2VvanNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2ZpZWxkL3R5cGVzL0dlb2pzb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmFzZUNvbnN0cmFpbnRzLCBCYXNlRmllbGQgfSBmcm9tIFwiLi9CYXNlLnRzXCJcblxuLyoqXG4gKiBHZW9KU09OIGZpZWxkIHR5cGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZW9qc29uRmllbGQgZXh0ZW5kcyBCYXNlRmllbGQ8R2VvanNvbkNvbnN0cmFpbnRzPiB7XG4gIC8qKlxuICAgKiBGaWVsZCB0eXBlIC0gZGlzY3JpbWluYXRvciBwcm9wZXJ0eVxuICAgKi9cbiAgdHlwZTogXCJnZW9qc29uXCJcblxuICAvKipcbiAgICogRm9ybWF0IG9mIHRoZSBnZW9qc29uXG4gICAqIC0gZGVmYXVsdDogc3RhbmRhcmQgR2VvSlNPTlxuICAgKiAtIHRvcG9qc29uOiBUb3BvSlNPTiBmb3JtYXRcbiAgICovXG4gIGZvcm1hdD86IFwiZGVmYXVsdFwiIHwgXCJ0b3BvanNvblwiXG59XG5cbi8qKlxuICogR2VvSlNPTi1zcGVjaWZpYyBjb25zdHJhaW50c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEdlb2pzb25Db25zdHJhaW50cyBleHRlbmRzIEJhc2VDb25zdHJhaW50cyB7XG4gIC8qKlxuICAgKiBKU09OIFNjaGVtYSBvYmplY3QgZm9yIHZhbGlkYXRpbmcgdGhlIG9iamVjdCBzdHJ1Y3R1cmUgYW5kIHByb3BlcnRpZXNcbiAgICovXG4gIGpzb25TY2hlbWE/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG5cbiAgLyoqXG4gICAqIFJlc3RyaWN0IHZhbHVlcyB0byBhIHNwZWNpZmllZCBzZXQgb2YgR2VvSlNPTiBvYmplY3RzXG4gICAqIFNlcmlhbGl6ZWQgYXMgc3RyaW5ncyBvciBHZW9KU09OIG9iamVjdCBsaXRlcmFsc1xuICAgKi9cbiAgZW51bT86IHN0cmluZ1tdIHwgUmVjb3JkPHN0cmluZywgYW55PltdXG59XG4iXX0=
@@ -0,0 +1,27 @@
1
+ import type { BaseConstraints, BaseField } from "./Base.ts";
2
+ /**
3
+ * Geopoint field type
4
+ */
5
+ export interface GeopointField extends BaseField<GeopointConstraints> {
6
+ /**
7
+ * Field type - discriminator property
8
+ */
9
+ type: "geopoint";
10
+ /**
11
+ * Format of the geopoint
12
+ * - default: "lon,lat" string with comma separator
13
+ * - array: [lon,lat] array
14
+ * - object: {lon:x, lat:y} object
15
+ */
16
+ format?: "default" | "array" | "object";
17
+ }
18
+ /**
19
+ * Geopoint-specific constraints
20
+ */
21
+ export interface GeopointConstraints extends BaseConstraints {
22
+ /**
23
+ * Restrict values to a specified set of geopoints
24
+ * Format depends on the field's format setting
25
+ */
26
+ enum?: string[] | number[][] | Record<string, number>[];
27
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2VvcG9pbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9maWVsZC90eXBlcy9HZW9wb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCYXNlQ29uc3RyYWludHMsIEJhc2VGaWVsZCB9IGZyb20gXCIuL0Jhc2UudHNcIlxuXG4vKipcbiAqIEdlb3BvaW50IGZpZWxkIHR5cGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZW9wb2ludEZpZWxkIGV4dGVuZHMgQmFzZUZpZWxkPEdlb3BvaW50Q29uc3RyYWludHM+IHtcbiAgLyoqXG4gICAqIEZpZWxkIHR5cGUgLSBkaXNjcmltaW5hdG9yIHByb3BlcnR5XG4gICAqL1xuICB0eXBlOiBcImdlb3BvaW50XCJcblxuICAvKipcbiAgICogRm9ybWF0IG9mIHRoZSBnZW9wb2ludFxuICAgKiAtIGRlZmF1bHQ6IFwibG9uLGxhdFwiIHN0cmluZyB3aXRoIGNvbW1hIHNlcGFyYXRvclxuICAgKiAtIGFycmF5OiBbbG9uLGxhdF0gYXJyYXlcbiAgICogLSBvYmplY3Q6IHtsb246eCwgbGF0Onl9IG9iamVjdFxuICAgKi9cbiAgZm9ybWF0PzogXCJkZWZhdWx0XCIgfCBcImFycmF5XCIgfCBcIm9iamVjdFwiXG59XG5cbi8qKlxuICogR2VvcG9pbnQtc3BlY2lmaWMgY29uc3RyYWludHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZW9wb2ludENvbnN0cmFpbnRzIGV4dGVuZHMgQmFzZUNvbnN0cmFpbnRzIHtcbiAgLyoqXG4gICAqIFJlc3RyaWN0IHZhbHVlcyB0byBhIHNwZWNpZmllZCBzZXQgb2YgZ2VvcG9pbnRzXG4gICAqIEZvcm1hdCBkZXBlbmRzIG9uIHRoZSBmaWVsZCdzIGZvcm1hdCBzZXR0aW5nXG4gICAqL1xuICBlbnVtPzogc3RyaW5nW10gfCBudW1iZXJbXVtdIHwgUmVjb3JkPHN0cmluZywgbnVtYmVyPltdXG59XG4iXX0=
@@ -0,0 +1,57 @@
1
+ import type { BaseConstraints, BaseField } from "./Base.ts";
2
+ /**
3
+ * Integer field type
4
+ */
5
+ export interface IntegerField extends BaseField<IntegerConstraints> {
6
+ /**
7
+ * Field type - discriminator property
8
+ */
9
+ type: "integer";
10
+ /**
11
+ * Character used as thousands separator
12
+ */
13
+ groupChar?: string;
14
+ /**
15
+ * Whether number is presented without currency symbols or percent signs
16
+ */
17
+ bareNumber?: boolean;
18
+ /**
19
+ * Categories for enum values
20
+ * Can be an array of values or an array of {value, label} objects
21
+ */
22
+ categories?: number[] | Array<{
23
+ value: number;
24
+ label: string;
25
+ }>;
26
+ /**
27
+ * Whether categories should be considered to have a natural order
28
+ */
29
+ categoriesOrdered?: boolean;
30
+ }
31
+ /**
32
+ * Integer-specific constraints
33
+ * @internal
34
+ */
35
+ export interface IntegerConstraints extends BaseConstraints {
36
+ /**
37
+ * Minimum allowed value
38
+ */
39
+ minimum?: number | string;
40
+ /**
41
+ * Maximum allowed value
42
+ */
43
+ maximum?: number | string;
44
+ /**
45
+ * Exclusive minimum allowed value
46
+ */
47
+ exclusiveMinimum?: number | string;
48
+ /**
49
+ * Exclusive maximum allowed value
50
+ */
51
+ exclusiveMaximum?: number | string;
52
+ /**
53
+ * Restrict values to a specified set
54
+ * Can be an array of integers or strings that parse to integers
55
+ */
56
+ enum?: number[] | string[];
57
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50ZWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2ZpZWxkL3R5cGVzL0ludGVnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmFzZUNvbnN0cmFpbnRzLCBCYXNlRmllbGQgfSBmcm9tIFwiLi9CYXNlLnRzXCJcblxuLyoqXG4gKiBJbnRlZ2VyIGZpZWxkIHR5cGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnRlZ2VyRmllbGQgZXh0ZW5kcyBCYXNlRmllbGQ8SW50ZWdlckNvbnN0cmFpbnRzPiB7XG4gIC8qKlxuICAgKiBGaWVsZCB0eXBlIC0gZGlzY3JpbWluYXRvciBwcm9wZXJ0eVxuICAgKi9cbiAgdHlwZTogXCJpbnRlZ2VyXCJcblxuICAvKipcbiAgICogQ2hhcmFjdGVyIHVzZWQgYXMgdGhvdXNhbmRzIHNlcGFyYXRvclxuICAgKi9cbiAgZ3JvdXBDaGFyPzogc3RyaW5nXG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgbnVtYmVyIGlzIHByZXNlbnRlZCB3aXRob3V0IGN1cnJlbmN5IHN5bWJvbHMgb3IgcGVyY2VudCBzaWduc1xuICAgKi9cbiAgYmFyZU51bWJlcj86IGJvb2xlYW5cblxuICAvKipcbiAgICogQ2F0ZWdvcmllcyBmb3IgZW51bSB2YWx1ZXNcbiAgICogQ2FuIGJlIGFuIGFycmF5IG9mIHZhbHVlcyBvciBhbiBhcnJheSBvZiB7dmFsdWUsIGxhYmVsfSBvYmplY3RzXG4gICAqL1xuICBjYXRlZ29yaWVzPzogbnVtYmVyW10gfCBBcnJheTx7IHZhbHVlOiBudW1iZXI7IGxhYmVsOiBzdHJpbmcgfT5cblxuICAvKipcbiAgICogV2hldGhlciBjYXRlZ29yaWVzIHNob3VsZCBiZSBjb25zaWRlcmVkIHRvIGhhdmUgYSBuYXR1cmFsIG9yZGVyXG4gICAqL1xuICBjYXRlZ29yaWVzT3JkZXJlZD86IGJvb2xlYW5cbn1cblxuLyoqXG4gKiBJbnRlZ2VyLXNwZWNpZmljIGNvbnN0cmFpbnRzXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnRlZ2VyQ29uc3RyYWludHMgZXh0ZW5kcyBCYXNlQ29uc3RyYWludHMge1xuICAvKipcbiAgICogTWluaW11bSBhbGxvd2VkIHZhbHVlXG4gICAqL1xuICBtaW5pbXVtPzogbnVtYmVyIHwgc3RyaW5nXG5cbiAgLyoqXG4gICAqIE1heGltdW0gYWxsb3dlZCB2YWx1ZVxuICAgKi9cbiAgbWF4aW11bT86IG51bWJlciB8IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBFeGNsdXNpdmUgbWluaW11bSBhbGxvd2VkIHZhbHVlXG4gICAqL1xuICBleGNsdXNpdmVNaW5pbXVtPzogbnVtYmVyIHwgc3RyaW5nXG5cbiAgLyoqXG4gICAqIEV4Y2x1c2l2ZSBtYXhpbXVtIGFsbG93ZWQgdmFsdWVcbiAgICovXG4gIGV4Y2x1c2l2ZU1heGltdW0/OiBudW1iZXIgfCBzdHJpbmdcblxuICAvKipcbiAgICogUmVzdHJpY3QgdmFsdWVzIHRvIGEgc3BlY2lmaWVkIHNldFxuICAgKiBDYW4gYmUgYW4gYXJyYXkgb2YgaW50ZWdlcnMgb3Igc3RyaW5ncyB0aGF0IHBhcnNlIHRvIGludGVnZXJzXG4gICAqL1xuICBlbnVtPzogbnVtYmVyW10gfCBzdHJpbmdbXVxufVxuIl19
@@ -0,0 +1,36 @@
1
+ import type { BaseConstraints, BaseField } from "./Base.ts";
2
+ /**
3
+ * List field type (primitive values ordered collection)
4
+ */
5
+ export interface ListField extends BaseField<ListConstraints> {
6
+ /**
7
+ * Field type - discriminator property
8
+ */
9
+ type: "list";
10
+ /**
11
+ * Character used to separate values in the list
12
+ */
13
+ delimiter?: string;
14
+ /**
15
+ * Type of items in the list
16
+ */
17
+ itemType?: "string" | "integer" | "number" | "boolean" | "datetime" | "date" | "time";
18
+ }
19
+ /**
20
+ * List-specific constraints
21
+ */
22
+ export interface ListConstraints extends BaseConstraints {
23
+ /**
24
+ * Minimum number of list items
25
+ */
26
+ minLength?: number;
27
+ /**
28
+ * Maximum number of list items
29
+ */
30
+ maxLength?: number;
31
+ /**
32
+ * Restrict values to a specified set of lists
33
+ * Either as delimited strings or arrays
34
+ */
35
+ enum?: string[] | any[][];
36
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2ZpZWxkL3R5cGVzL0xpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmFzZUNvbnN0cmFpbnRzLCBCYXNlRmllbGQgfSBmcm9tIFwiLi9CYXNlLnRzXCJcblxuLyoqXG4gKiBMaXN0IGZpZWxkIHR5cGUgKHByaW1pdGl2ZSB2YWx1ZXMgb3JkZXJlZCBjb2xsZWN0aW9uKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpc3RGaWVsZCBleHRlbmRzIEJhc2VGaWVsZDxMaXN0Q29uc3RyYWludHM+IHtcbiAgLyoqXG4gICAqIEZpZWxkIHR5cGUgLSBkaXNjcmltaW5hdG9yIHByb3BlcnR5XG4gICAqL1xuICB0eXBlOiBcImxpc3RcIlxuXG4gIC8qKlxuICAgKiBDaGFyYWN0ZXIgdXNlZCB0byBzZXBhcmF0ZSB2YWx1ZXMgaW4gdGhlIGxpc3RcbiAgICovXG4gIGRlbGltaXRlcj86IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBUeXBlIG9mIGl0ZW1zIGluIHRoZSBsaXN0XG4gICAqL1xuICBpdGVtVHlwZT86XG4gICAgfCBcInN0cmluZ1wiXG4gICAgfCBcImludGVnZXJcIlxuICAgIHwgXCJudW1iZXJcIlxuICAgIHwgXCJib29sZWFuXCJcbiAgICB8IFwiZGF0ZXRpbWVcIlxuICAgIHwgXCJkYXRlXCJcbiAgICB8IFwidGltZVwiXG59XG5cbi8qKlxuICogTGlzdC1zcGVjaWZpYyBjb25zdHJhaW50c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIExpc3RDb25zdHJhaW50cyBleHRlbmRzIEJhc2VDb25zdHJhaW50cyB7XG4gIC8qKlxuICAgKiBNaW5pbXVtIG51bWJlciBvZiBsaXN0IGl0ZW1zXG4gICAqL1xuICBtaW5MZW5ndGg/OiBudW1iZXJcblxuICAvKipcbiAgICogTWF4aW11bSBudW1iZXIgb2YgbGlzdCBpdGVtc1xuICAgKi9cbiAgbWF4TGVuZ3RoPzogbnVtYmVyXG5cbiAgLyoqXG4gICAqIFJlc3RyaWN0IHZhbHVlcyB0byBhIHNwZWNpZmllZCBzZXQgb2YgbGlzdHNcbiAgICogRWl0aGVyIGFzIGRlbGltaXRlZCBzdHJpbmdzIG9yIGFycmF5c1xuICAgKi9cbiAgZW51bT86IHN0cmluZ1tdIHwgYW55W11bXVxufVxuIl19
@@ -0,0 +1,48 @@
1
+ import type { BaseConstraints, BaseField } from "./Base.ts";
2
+ /**
3
+ * Number field type
4
+ */
5
+ export interface NumberField extends BaseField<NumberConstraints> {
6
+ /**
7
+ * Field type - discriminator property
8
+ */
9
+ type: "number";
10
+ /**
11
+ * Character used as decimal separator
12
+ */
13
+ decimalChar?: string;
14
+ /**
15
+ * Character used as thousands separator
16
+ */
17
+ groupChar?: string;
18
+ /**
19
+ * Whether number is presented without currency symbols or percent signs
20
+ */
21
+ bareNumber?: boolean;
22
+ }
23
+ /**
24
+ * Number-specific constraints
25
+ */
26
+ export interface NumberConstraints extends BaseConstraints {
27
+ /**
28
+ * Minimum allowed value
29
+ */
30
+ minimum?: number | string;
31
+ /**
32
+ * Maximum allowed value
33
+ */
34
+ maximum?: number | string;
35
+ /**
36
+ * Exclusive minimum allowed value
37
+ */
38
+ exclusiveMinimum?: number | string;
39
+ /**
40
+ * Exclusive maximum allowed value
41
+ */
42
+ exclusiveMaximum?: number | string;
43
+ /**
44
+ * Restrict values to a specified set
45
+ * Can be an array of numbers or strings that parse to numbers
46
+ */
47
+ enum?: number[] | string[];
48
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTnVtYmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZmllbGQvdHlwZXMvTnVtYmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEJhc2VDb25zdHJhaW50cywgQmFzZUZpZWxkIH0gZnJvbSBcIi4vQmFzZS50c1wiXG5cbi8qKlxuICogTnVtYmVyIGZpZWxkIHR5cGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOdW1iZXJGaWVsZCBleHRlbmRzIEJhc2VGaWVsZDxOdW1iZXJDb25zdHJhaW50cz4ge1xuICAvKipcbiAgICogRmllbGQgdHlwZSAtIGRpc2NyaW1pbmF0b3IgcHJvcGVydHlcbiAgICovXG4gIHR5cGU6IFwibnVtYmVyXCJcblxuICAvKipcbiAgICogQ2hhcmFjdGVyIHVzZWQgYXMgZGVjaW1hbCBzZXBhcmF0b3JcbiAgICovXG4gIGRlY2ltYWxDaGFyPzogc3RyaW5nXG5cbiAgLyoqXG4gICAqIENoYXJhY3RlciB1c2VkIGFzIHRob3VzYW5kcyBzZXBhcmF0b3JcbiAgICovXG4gIGdyb3VwQ2hhcj86IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG51bWJlciBpcyBwcmVzZW50ZWQgd2l0aG91dCBjdXJyZW5jeSBzeW1ib2xzIG9yIHBlcmNlbnQgc2lnbnNcbiAgICovXG4gIGJhcmVOdW1iZXI/OiBib29sZWFuXG59XG5cbi8qKlxuICogTnVtYmVyLXNwZWNpZmljIGNvbnN0cmFpbnRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTnVtYmVyQ29uc3RyYWludHMgZXh0ZW5kcyBCYXNlQ29uc3RyYWludHMge1xuICAvKipcbiAgICogTWluaW11bSBhbGxvd2VkIHZhbHVlXG4gICAqL1xuICBtaW5pbXVtPzogbnVtYmVyIHwgc3RyaW5nXG5cbiAgLyoqXG4gICAqIE1heGltdW0gYWxsb3dlZCB2YWx1ZVxuICAgKi9cbiAgbWF4aW11bT86IG51bWJlciB8IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBFeGNsdXNpdmUgbWluaW11bSBhbGxvd2VkIHZhbHVlXG4gICAqL1xuICBleGNsdXNpdmVNaW5pbXVtPzogbnVtYmVyIHwgc3RyaW5nXG5cbiAgLyoqXG4gICAqIEV4Y2x1c2l2ZSBtYXhpbXVtIGFsbG93ZWQgdmFsdWVcbiAgICovXG4gIGV4Y2x1c2l2ZU1heGltdW0/OiBudW1iZXIgfCBzdHJpbmdcblxuICAvKipcbiAgICogUmVzdHJpY3QgdmFsdWVzIHRvIGEgc3BlY2lmaWVkIHNldFxuICAgKiBDYW4gYmUgYW4gYXJyYXkgb2YgbnVtYmVycyBvciBzdHJpbmdzIHRoYXQgcGFyc2UgdG8gbnVtYmVyc1xuICAgKi9cbiAgZW51bT86IG51bWJlcltdIHwgc3RyaW5nW11cbn1cbiJdfQ==
@@ -0,0 +1,32 @@
1
+ import type { BaseConstraints, BaseField } from "./Base.ts";
2
+ /**
3
+ * Object field type (serialized JSON object)
4
+ */
5
+ export interface ObjectField extends BaseField<ObjectConstraints> {
6
+ /**
7
+ * Field type - discriminator property
8
+ */
9
+ type: "object";
10
+ }
11
+ /**
12
+ * Object-specific constraints
13
+ */
14
+ export interface ObjectConstraints extends BaseConstraints {
15
+ /**
16
+ * Minimum number of properties
17
+ */
18
+ minLength?: number;
19
+ /**
20
+ * Maximum number of properties
21
+ */
22
+ maxLength?: number;
23
+ /**
24
+ * JSON Schema object for validating the object structure and properties
25
+ */
26
+ jsonSchema?: Record<string, any>;
27
+ /**
28
+ * Restrict values to a specified set of objects
29
+ * Serialized as JSON strings or object literals
30
+ */
31
+ enum?: string[] | Record<string, any>[];
32
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2JqZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZmllbGQvdHlwZXMvT2JqZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEJhc2VDb25zdHJhaW50cywgQmFzZUZpZWxkIH0gZnJvbSBcIi4vQmFzZS50c1wiXG5cbi8qKlxuICogT2JqZWN0IGZpZWxkIHR5cGUgKHNlcmlhbGl6ZWQgSlNPTiBvYmplY3QpXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT2JqZWN0RmllbGQgZXh0ZW5kcyBCYXNlRmllbGQ8T2JqZWN0Q29uc3RyYWludHM+IHtcbiAgLyoqXG4gICAqIEZpZWxkIHR5cGUgLSBkaXNjcmltaW5hdG9yIHByb3BlcnR5XG4gICAqL1xuICB0eXBlOiBcIm9iamVjdFwiXG59XG5cbi8qKlxuICogT2JqZWN0LXNwZWNpZmljIGNvbnN0cmFpbnRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT2JqZWN0Q29uc3RyYWludHMgZXh0ZW5kcyBCYXNlQ29uc3RyYWludHMge1xuICAvKipcbiAgICogTWluaW11bSBudW1iZXIgb2YgcHJvcGVydGllc1xuICAgKi9cbiAgbWluTGVuZ3RoPzogbnVtYmVyXG5cbiAgLyoqXG4gICAqIE1heGltdW0gbnVtYmVyIG9mIHByb3BlcnRpZXNcbiAgICovXG4gIG1heExlbmd0aD86IG51bWJlclxuXG4gIC8qKlxuICAgKiBKU09OIFNjaGVtYSBvYmplY3QgZm9yIHZhbGlkYXRpbmcgdGhlIG9iamVjdCBzdHJ1Y3R1cmUgYW5kIHByb3BlcnRpZXNcbiAgICovXG4gIGpzb25TY2hlbWE/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG5cbiAgLyoqXG4gICAqIFJlc3RyaWN0IHZhbHVlcyB0byBhIHNwZWNpZmllZCBzZXQgb2Ygb2JqZWN0c1xuICAgKiBTZXJpYWxpemVkIGFzIEpTT04gc3RyaW5ncyBvciBvYmplY3QgbGl0ZXJhbHNcbiAgICovXG4gIGVudW0/OiBzdHJpbmdbXSB8IFJlY29yZDxzdHJpbmcsIGFueT5bXVxufVxuIl19
@@ -0,0 +1,51 @@
1
+ import type { BaseConstraints, BaseField } from "./Base.ts";
2
+ /**
3
+ * String field type
4
+ */
5
+ export interface StringField extends BaseField<StringConstraints> {
6
+ /**
7
+ * Field type - discriminator property
8
+ */
9
+ type: "string";
10
+ /**
11
+ * Format of the string
12
+ * - email: valid email address
13
+ * - uri: valid URI
14
+ * - binary: base64 encoded string
15
+ * - uuid: valid UUID string
16
+ */
17
+ format?: "email" | "uri" | "binary" | "uuid";
18
+ /**
19
+ * Categories for enum values
20
+ * Can be an array of string values or an array of {value, label} objects
21
+ */
22
+ categories?: string[] | Array<{
23
+ value: string;
24
+ label: string;
25
+ }>;
26
+ /**
27
+ * Whether categories should be considered to have a natural order
28
+ */
29
+ categoriesOrdered?: boolean;
30
+ }
31
+ /**
32
+ * String-specific constraints
33
+ */
34
+ export interface StringConstraints extends BaseConstraints {
35
+ /**
36
+ * Minimum string length
37
+ */
38
+ minLength?: number;
39
+ /**
40
+ * Maximum string length
41
+ */
42
+ maxLength?: number;
43
+ /**
44
+ * Regular expression pattern to match
45
+ */
46
+ pattern?: string;
47
+ /**
48
+ * Restrict values to a specified set of strings
49
+ */
50
+ enum?: string[];
51
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RyaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZmllbGQvdHlwZXMvU3RyaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEJhc2VDb25zdHJhaW50cywgQmFzZUZpZWxkIH0gZnJvbSBcIi4vQmFzZS50c1wiXG5cbi8qKlxuICogU3RyaW5nIGZpZWxkIHR5cGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdHJpbmdGaWVsZCBleHRlbmRzIEJhc2VGaWVsZDxTdHJpbmdDb25zdHJhaW50cz4ge1xuICAvKipcbiAgICogRmllbGQgdHlwZSAtIGRpc2NyaW1pbmF0b3IgcHJvcGVydHlcbiAgICovXG4gIHR5cGU6IFwic3RyaW5nXCJcblxuICAvKipcbiAgICogRm9ybWF0IG9mIHRoZSBzdHJpbmdcbiAgICogLSBlbWFpbDogdmFsaWQgZW1haWwgYWRkcmVzc1xuICAgKiAtIHVyaTogdmFsaWQgVVJJXG4gICAqIC0gYmluYXJ5OiBiYXNlNjQgZW5jb2RlZCBzdHJpbmdcbiAgICogLSB1dWlkOiB2YWxpZCBVVUlEIHN0cmluZ1xuICAgKi9cbiAgZm9ybWF0PzogXCJlbWFpbFwiIHwgXCJ1cmlcIiB8IFwiYmluYXJ5XCIgfCBcInV1aWRcIlxuXG4gIC8qKlxuICAgKiBDYXRlZ29yaWVzIGZvciBlbnVtIHZhbHVlc1xuICAgKiBDYW4gYmUgYW4gYXJyYXkgb2Ygc3RyaW5nIHZhbHVlcyBvciBhbiBhcnJheSBvZiB7dmFsdWUsIGxhYmVsfSBvYmplY3RzXG4gICAqL1xuICBjYXRlZ29yaWVzPzogc3RyaW5nW10gfCBBcnJheTx7IHZhbHVlOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmcgfT5cblxuICAvKipcbiAgICogV2hldGhlciBjYXRlZ29yaWVzIHNob3VsZCBiZSBjb25zaWRlcmVkIHRvIGhhdmUgYSBuYXR1cmFsIG9yZGVyXG4gICAqL1xuICBjYXRlZ29yaWVzT3JkZXJlZD86IGJvb2xlYW5cbn1cblxuLyoqXG4gKiBTdHJpbmctc3BlY2lmaWMgY29uc3RyYWludHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdHJpbmdDb25zdHJhaW50cyBleHRlbmRzIEJhc2VDb25zdHJhaW50cyB7XG4gIC8qKlxuICAgKiBNaW5pbXVtIHN0cmluZyBsZW5ndGhcbiAgICovXG4gIG1pbkxlbmd0aD86IG51bWJlclxuXG4gIC8qKlxuICAgKiBNYXhpbXVtIHN0cmluZyBsZW5ndGhcbiAgICovXG4gIG1heExlbmd0aD86IG51bWJlclxuXG4gIC8qKlxuICAgKiBSZWd1bGFyIGV4cHJlc3Npb24gcGF0dGVybiB0byBtYXRjaFxuICAgKi9cbiAgcGF0dGVybj86IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBSZXN0cmljdCB2YWx1ZXMgdG8gYSBzcGVjaWZpZWQgc2V0IG9mIHN0cmluZ3NcbiAgICovXG4gIGVudW0/OiBzdHJpbmdbXVxufVxuIl19