@fougere/schema 0.6.0-alpha.0 → 0.7.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (421) hide show
  1. package/README.md +5 -4
  2. package/dist/{schema/Schema.d.ts → Schema.d.ts} +17 -27
  3. package/dist/Schema.d.ts.map +1 -0
  4. package/dist/{schema/Schema.js → Schema.js} +21 -61
  5. package/dist/Schema.js.map +1 -0
  6. package/dist/SchemaDefinition.d.ts +73 -0
  7. package/dist/SchemaDefinition.d.ts.map +1 -0
  8. package/dist/SchemaDefinition.js +184 -0
  9. package/dist/SchemaDefinition.js.map +1 -0
  10. package/dist/SchemaDerivation.d.ts +16 -0
  11. package/dist/SchemaDerivation.d.ts.map +1 -0
  12. package/dist/SchemaDerivation.js +31 -0
  13. package/dist/SchemaDerivation.js.map +1 -0
  14. package/dist/{schema/SchemaView.d.ts → SchemaView.d.ts} +9 -9
  15. package/dist/SchemaView.d.ts.map +1 -0
  16. package/dist/{schema/SchemaView.js.map → SchemaView.js.map} +1 -1
  17. package/dist/{schema/axis → axis}/Axis.d.ts +2 -2
  18. package/dist/axis/Axis.d.ts.map +1 -0
  19. package/dist/axis/Axis.js.map +1 -0
  20. package/dist/axis/Meta.d.ts.map +1 -0
  21. package/dist/{schema/axis → axis}/Meta.js.map +1 -1
  22. package/dist/axis/boundary/Boundaries.d.ts +21 -0
  23. package/dist/axis/boundary/Boundaries.d.ts.map +1 -0
  24. package/dist/axis/boundary/Boundaries.js +25 -0
  25. package/dist/axis/boundary/Boundaries.js.map +1 -0
  26. package/dist/{schema/axis → axis}/boundary/Boundary.d.ts +3 -1
  27. package/dist/axis/boundary/Boundary.d.ts.map +1 -0
  28. package/dist/{schema/axis → axis}/boundary/Boundary.js +8 -6
  29. package/dist/axis/boundary/Boundary.js.map +1 -0
  30. package/dist/axis/boundary/BoundaryAxis.d.ts.map +1 -0
  31. package/dist/{schema/axis → axis}/boundary/BoundaryAxis.js +4 -4
  32. package/dist/axis/boundary/BoundaryAxis.js.map +1 -0
  33. package/dist/{schema/axis → axis}/lifecycle/Clock.d.ts +1 -1
  34. package/dist/axis/lifecycle/Clock.d.ts.map +1 -0
  35. package/dist/{schema/axis → axis}/lifecycle/Clock.js +1 -1
  36. package/dist/axis/lifecycle/Clock.js.map +1 -0
  37. package/dist/axis/lifecycle/Generators.d.ts +10 -0
  38. package/dist/axis/lifecycle/Generators.d.ts.map +1 -0
  39. package/dist/axis/lifecycle/Generators.js +20 -0
  40. package/dist/axis/lifecycle/Generators.js.map +1 -0
  41. package/dist/axis/lifecycle/Lifecycle.d.ts.map +1 -0
  42. package/dist/axis/lifecycle/Lifecycle.js.map +1 -0
  43. package/dist/axis/lifecycle/LifecycleAxis.d.ts.map +1 -0
  44. package/dist/{schema/axis → axis}/lifecycle/LifecycleAxis.js +11 -6
  45. package/dist/axis/lifecycle/LifecycleAxis.js.map +1 -0
  46. package/dist/axis/lifecycle/apply.d.ts +15 -0
  47. package/dist/axis/lifecycle/apply.d.ts.map +1 -0
  48. package/dist/axis/lifecycle/apply.js +50 -0
  49. package/dist/axis/lifecycle/apply.js.map +1 -0
  50. package/dist/{schema/axis → axis}/role/Relation.d.ts +3 -2
  51. package/dist/axis/role/Relation.d.ts.map +1 -0
  52. package/dist/{schema/axis → axis}/role/Relation.js +6 -5
  53. package/dist/axis/role/Relation.js.map +1 -0
  54. package/dist/{schema/axis → axis}/role/Role.d.ts +6 -6
  55. package/dist/axis/role/Role.d.ts.map +1 -0
  56. package/dist/axis/role/Role.js +36 -0
  57. package/dist/axis/role/Role.js.map +1 -0
  58. package/dist/{schema/axis → axis}/role/RoleAxis.d.ts +1 -1
  59. package/dist/axis/role/RoleAxis.d.ts.map +1 -0
  60. package/dist/{schema/axis → axis}/role/RoleAxis.js +28 -36
  61. package/dist/axis/role/RoleAxis.js.map +1 -0
  62. package/dist/axis/shape/Formats.d.ts +11 -0
  63. package/dist/axis/shape/Formats.d.ts.map +1 -0
  64. package/dist/axis/shape/Formats.js +9 -0
  65. package/dist/axis/shape/Formats.js.map +1 -0
  66. package/dist/{schema/axis → axis}/shape/Shape.d.ts +5 -3
  67. package/dist/axis/shape/Shape.d.ts.map +1 -0
  68. package/dist/{schema/axis → axis}/shape/Shape.js +13 -13
  69. package/dist/axis/shape/Shape.js.map +1 -0
  70. package/dist/entity/EntityAdapterSet.d.ts +22 -0
  71. package/dist/entity/EntityAdapterSet.d.ts.map +1 -0
  72. package/dist/entity/EntityAdapterSet.js +63 -0
  73. package/dist/entity/EntityAdapterSet.js.map +1 -0
  74. package/dist/entity/EntityAdapters.d.ts +1 -24
  75. package/dist/entity/EntityAdapters.d.ts.map +1 -1
  76. package/dist/entity/EntityAdapters.js +1 -74
  77. package/dist/entity/EntityAdapters.js.map +1 -1
  78. package/dist/entity/EntityDeclarations.d.ts +1 -1
  79. package/dist/entity/EntityDeclarations.d.ts.map +1 -1
  80. package/dist/entity.d.ts +7 -2
  81. package/dist/entity.d.ts.map +1 -1
  82. package/dist/entity.js +6 -1
  83. package/dist/entity.js.map +1 -1
  84. package/dist/{schema/fields → field}/Field.d.ts +2 -3
  85. package/dist/field/Field.d.ts.map +1 -0
  86. package/dist/field/Field.js +35 -0
  87. package/dist/field/Field.js.map +1 -0
  88. package/dist/field/FieldSet.d.ts +22 -0
  89. package/dist/field/FieldSet.d.ts.map +1 -0
  90. package/dist/field/FieldSet.js +58 -0
  91. package/dist/field/FieldSet.js.map +1 -0
  92. package/dist/index.d.ts +27 -30
  93. package/dist/index.d.ts.map +1 -1
  94. package/dist/index.js +20 -23
  95. package/dist/index.js.map +1 -1
  96. package/dist/lib/Registry.d.ts +12 -0
  97. package/dist/lib/Registry.d.ts.map +1 -0
  98. package/dist/lib/Registry.js +29 -0
  99. package/dist/lib/Registry.js.map +1 -0
  100. package/dist/lib/utils.d.ts.map +1 -0
  101. package/dist/lib/utils.js.map +1 -0
  102. package/dist/projection/Cases.d.ts +9 -20
  103. package/dist/projection/Cases.d.ts.map +1 -1
  104. package/dist/projection/Cases.js +44 -39
  105. package/dist/projection/Cases.js.map +1 -1
  106. package/dist/projection/Visibility.d.ts +2 -1
  107. package/dist/projection/Visibility.d.ts.map +1 -1
  108. package/dist/projection/Visibility.js +4 -3
  109. package/dist/projection/Visibility.js.map +1 -1
  110. package/dist/projection/card/Bundle.d.ts +1 -1
  111. package/dist/projection/card/Bundle.d.ts.map +1 -1
  112. package/dist/projection/card/Bundle.js +7 -7
  113. package/dist/projection/card/Bundle.js.map +1 -1
  114. package/dist/projection/card/Card.d.ts +7 -13
  115. package/dist/projection/card/Card.d.ts.map +1 -1
  116. package/dist/projection/card/Card.js +96 -69
  117. package/dist/projection/card/Card.js.map +1 -1
  118. package/dist/projection/card/Descriptor.d.ts +7 -7
  119. package/dist/projection/card/Descriptor.d.ts.map +1 -1
  120. package/dist/projection/card/admission.d.ts +15 -5
  121. package/dist/projection/card/admission.d.ts.map +1 -1
  122. package/dist/projection/card/admission.js +15 -5
  123. package/dist/projection/card/admission.js.map +1 -1
  124. package/dist/projection/card/diff.d.ts +2 -2
  125. package/dist/projection/card/diff.d.ts.map +1 -1
  126. package/dist/{judge/result.d.ts → validation.d.ts} +1 -1
  127. package/dist/validation.d.ts.map +1 -0
  128. package/dist/validation.js +2 -0
  129. package/dist/validation.js.map +1 -0
  130. package/dist/validator/AdapterFieldValidator.d.ts +14 -0
  131. package/dist/validator/AdapterFieldValidator.d.ts.map +1 -0
  132. package/dist/validator/AdapterFieldValidator.js +36 -0
  133. package/dist/validator/AdapterFieldValidator.js.map +1 -0
  134. package/dist/validator/FieldDeclarationValidator.d.ts +9 -0
  135. package/dist/validator/FieldDeclarationValidator.d.ts.map +1 -0
  136. package/dist/{judge/FieldJudge.js → validator/FieldDeclarationValidator.js} +8 -8
  137. package/dist/validator/FieldDeclarationValidator.js.map +1 -0
  138. package/dist/validator/FieldValueValidator.d.ts +13 -0
  139. package/dist/validator/FieldValueValidator.d.ts.map +1 -0
  140. package/dist/{judge/ValueJudge.js → validator/FieldValueValidator.js} +12 -11
  141. package/dist/validator/FieldValueValidator.js.map +1 -0
  142. package/dist/{judge/RowRefusal.d.ts → validator/InputRefusal.d.ts} +3 -4
  143. package/dist/validator/InputRefusal.d.ts.map +1 -0
  144. package/dist/{judge/RowRefusal.js → validator/InputRefusal.js} +3 -3
  145. package/dist/validator/InputRefusal.js.map +1 -0
  146. package/dist/validator/InputValidator.d.ts +15 -0
  147. package/dist/validator/InputValidator.d.ts.map +1 -0
  148. package/dist/{judge/RowJudge.js → validator/InputValidator.js} +24 -20
  149. package/dist/validator/InputValidator.js.map +1 -0
  150. package/dist/vocabulary/bool.d.ts +6 -1
  151. package/dist/vocabulary/bool.d.ts.map +1 -1
  152. package/dist/vocabulary/bool.js +6 -1
  153. package/dist/vocabulary/bool.js.map +1 -1
  154. package/dist/vocabulary/created.d.ts +6 -1
  155. package/dist/vocabulary/created.d.ts.map +1 -1
  156. package/dist/vocabulary/created.js +5 -0
  157. package/dist/vocabulary/created.js.map +1 -1
  158. package/dist/vocabulary/date.d.ts +6 -1
  159. package/dist/vocabulary/date.d.ts.map +1 -1
  160. package/dist/vocabulary/date.js +6 -1
  161. package/dist/vocabulary/date.js.map +1 -1
  162. package/dist/vocabulary/email.d.ts +6 -1
  163. package/dist/vocabulary/email.d.ts.map +1 -1
  164. package/dist/vocabulary/email.js +5 -0
  165. package/dist/vocabulary/email.js.map +1 -1
  166. package/dist/vocabulary/immutable.d.ts +6 -1
  167. package/dist/vocabulary/immutable.d.ts.map +1 -1
  168. package/dist/vocabulary/immutable.js +5 -0
  169. package/dist/vocabulary/immutable.js.map +1 -1
  170. package/dist/vocabulary/indexed.d.ts +6 -1
  171. package/dist/vocabulary/indexed.d.ts.map +1 -1
  172. package/dist/vocabulary/indexed.js +5 -0
  173. package/dist/vocabulary/indexed.js.map +1 -1
  174. package/dist/vocabulary/json.d.ts +2 -2
  175. package/dist/vocabulary/json.d.ts.map +1 -1
  176. package/dist/vocabulary/json.js +9 -4
  177. package/dist/vocabulary/json.js.map +1 -1
  178. package/dist/vocabulary/list.d.ts +6 -1
  179. package/dist/vocabulary/list.d.ts.map +1 -1
  180. package/dist/vocabulary/list.js +6 -1
  181. package/dist/vocabulary/list.js.map +1 -1
  182. package/dist/vocabulary/many.d.ts +7 -2
  183. package/dist/vocabulary/many.d.ts.map +1 -1
  184. package/dist/vocabulary/many.js +7 -2
  185. package/dist/vocabulary/many.js.map +1 -1
  186. package/dist/vocabulary/nullable.d.ts +6 -1
  187. package/dist/vocabulary/nullable.d.ts.map +1 -1
  188. package/dist/vocabulary/nullable.js +7 -2
  189. package/dist/vocabulary/nullable.js.map +1 -1
  190. package/dist/vocabulary/number.d.ts +6 -1
  191. package/dist/vocabulary/number.d.ts.map +1 -1
  192. package/dist/vocabulary/number.js +6 -1
  193. package/dist/vocabulary/number.js.map +1 -1
  194. package/dist/vocabulary/oneOf.d.ts +1 -1
  195. package/dist/vocabulary/oneOf.d.ts.map +1 -1
  196. package/dist/vocabulary/oneOf.js +6 -1
  197. package/dist/vocabulary/oneOf.js.map +1 -1
  198. package/dist/vocabulary/optional.d.ts +6 -1
  199. package/dist/vocabulary/optional.d.ts.map +1 -1
  200. package/dist/vocabulary/optional.js +7 -2
  201. package/dist/vocabulary/optional.js.map +1 -1
  202. package/dist/vocabulary/primary.d.ts +2 -2
  203. package/dist/vocabulary/primary.d.ts.map +1 -1
  204. package/dist/vocabulary/primary.js +7 -2
  205. package/dist/vocabulary/primary.js.map +1 -1
  206. package/dist/vocabulary/readOnly.d.ts +6 -1
  207. package/dist/vocabulary/readOnly.d.ts.map +1 -1
  208. package/dist/vocabulary/readOnly.js +6 -1
  209. package/dist/vocabulary/readOnly.js.map +1 -1
  210. package/dist/vocabulary/ref.d.ts +7 -2
  211. package/dist/vocabulary/ref.d.ts.map +1 -1
  212. package/dist/vocabulary/ref.js +7 -2
  213. package/dist/vocabulary/ref.js.map +1 -1
  214. package/dist/vocabulary/text.d.ts +7 -2
  215. package/dist/vocabulary/text.d.ts.map +1 -1
  216. package/dist/vocabulary/text.js +6 -1
  217. package/dist/vocabulary/text.js.map +1 -1
  218. package/dist/vocabulary/unique.d.ts +6 -1
  219. package/dist/vocabulary/unique.d.ts.map +1 -1
  220. package/dist/vocabulary/unique.js +7 -3
  221. package/dist/vocabulary/unique.js.map +1 -1
  222. package/dist/vocabulary/updated.d.ts +6 -1
  223. package/dist/vocabulary/updated.d.ts.map +1 -1
  224. package/dist/vocabulary/updated.js +5 -0
  225. package/dist/vocabulary/updated.js.map +1 -1
  226. package/dist/vocabulary/url.d.ts +6 -1
  227. package/dist/vocabulary/url.d.ts.map +1 -1
  228. package/dist/vocabulary/url.js +5 -0
  229. package/dist/vocabulary/url.js.map +1 -1
  230. package/dist/vocabulary/vocabulary.d.ts +6 -1
  231. package/dist/vocabulary/vocabulary.d.ts.map +1 -1
  232. package/dist/vocabulary/vocabulary.js +22 -12
  233. package/dist/vocabulary/vocabulary.js.map +1 -1
  234. package/dist/vocabulary/writeOnly.d.ts +6 -1
  235. package/dist/vocabulary/writeOnly.d.ts.map +1 -1
  236. package/dist/vocabulary/writeOnly.js +6 -1
  237. package/dist/vocabulary/writeOnly.js.map +1 -1
  238. package/package.json +1 -1
  239. package/src/{schema/Schema.ts → Schema.ts} +31 -74
  240. package/src/SchemaDefinition.ts +257 -0
  241. package/src/SchemaDerivation.ts +44 -0
  242. package/src/{schema/SchemaView.ts → SchemaView.ts} +9 -9
  243. package/src/{schema/axis → axis}/Axis.ts +2 -2
  244. package/src/axis/boundary/Boundaries.ts +37 -0
  245. package/src/{schema/axis → axis}/boundary/Boundary.ts +9 -7
  246. package/src/{schema/axis → axis}/boundary/BoundaryAxis.ts +4 -4
  247. package/src/{schema/axis → axis}/lifecycle/Clock.ts +1 -1
  248. package/src/axis/lifecycle/Generators.ts +29 -0
  249. package/src/{schema/axis → axis}/lifecycle/LifecycleAxis.ts +12 -7
  250. package/src/axis/lifecycle/apply.ts +53 -0
  251. package/src/{schema/axis → axis}/role/Relation.ts +6 -5
  252. package/src/axis/role/Role.ts +52 -0
  253. package/src/{schema/axis → axis}/role/RoleAxis.ts +28 -40
  254. package/src/axis/shape/Formats.ts +20 -0
  255. package/src/{schema/axis → axis}/shape/Shape.ts +18 -18
  256. package/src/entity/EntityAdapterSet.ts +81 -0
  257. package/src/entity/EntityAdapters.ts +4 -96
  258. package/src/entity/EntityDeclarations.ts +1 -1
  259. package/src/entity.ts +7 -2
  260. package/src/{schema/fields → field}/Field.ts +8 -26
  261. package/src/field/FieldSet.ts +75 -0
  262. package/src/index.ts +29 -44
  263. package/src/lib/Registry.ts +37 -0
  264. package/src/projection/Cases.ts +56 -55
  265. package/src/projection/Visibility.ts +5 -4
  266. package/src/projection/card/Bundle.ts +9 -9
  267. package/src/projection/card/Card.ts +101 -74
  268. package/src/projection/card/Descriptor.ts +7 -7
  269. package/src/projection/card/admission.ts +16 -6
  270. package/src/projection/card/diff.ts +2 -2
  271. package/src/validator/AdapterFieldValidator.ts +40 -0
  272. package/src/{judge/FieldJudge.ts → validator/FieldDeclarationValidator.ts} +10 -10
  273. package/src/{judge/ValueJudge.ts → validator/FieldValueValidator.ts} +14 -13
  274. package/src/{judge/RowRefusal.ts → validator/InputRefusal.ts} +2 -4
  275. package/src/{judge/RowJudge.ts → validator/InputValidator.ts} +30 -23
  276. package/src/vocabulary/bool.ts +6 -1
  277. package/src/vocabulary/created.ts +6 -1
  278. package/src/vocabulary/date.ts +6 -1
  279. package/src/vocabulary/email.ts +6 -1
  280. package/src/vocabulary/immutable.ts +6 -1
  281. package/src/vocabulary/indexed.ts +6 -1
  282. package/src/vocabulary/json.ts +10 -5
  283. package/src/vocabulary/list.ts +6 -1
  284. package/src/vocabulary/many.ts +7 -2
  285. package/src/vocabulary/nullable.ts +8 -3
  286. package/src/vocabulary/number.ts +6 -1
  287. package/src/vocabulary/oneOf.ts +6 -1
  288. package/src/vocabulary/optional.ts +8 -3
  289. package/src/vocabulary/primary.ts +7 -2
  290. package/src/vocabulary/readOnly.ts +7 -2
  291. package/src/vocabulary/ref.ts +7 -2
  292. package/src/vocabulary/text.ts +7 -2
  293. package/src/vocabulary/unique.ts +8 -4
  294. package/src/vocabulary/updated.ts +6 -1
  295. package/src/vocabulary/url.ts +6 -1
  296. package/src/vocabulary/vocabulary.ts +22 -12
  297. package/src/vocabulary/writeOnly.ts +7 -2
  298. package/dist/judge/FieldJudge.d.ts +0 -9
  299. package/dist/judge/FieldJudge.d.ts.map +0 -1
  300. package/dist/judge/FieldJudge.js.map +0 -1
  301. package/dist/judge/RowJudge.d.ts +0 -12
  302. package/dist/judge/RowJudge.d.ts.map +0 -1
  303. package/dist/judge/RowJudge.js.map +0 -1
  304. package/dist/judge/RowRefusal.d.ts.map +0 -1
  305. package/dist/judge/RowRefusal.js.map +0 -1
  306. package/dist/judge/ValueJudge.d.ts +0 -12
  307. package/dist/judge/ValueJudge.d.ts.map +0 -1
  308. package/dist/judge/ValueJudge.js.map +0 -1
  309. package/dist/judge/options.d.ts +0 -4
  310. package/dist/judge/options.d.ts.map +0 -1
  311. package/dist/judge/options.js +0 -2
  312. package/dist/judge/options.js.map +0 -1
  313. package/dist/judge/result.d.ts.map +0 -1
  314. package/dist/judge/result.js +0 -2
  315. package/dist/judge/result.js.map +0 -1
  316. package/dist/projection/SchemaOrCard.d.ts +0 -7
  317. package/dist/projection/SchemaOrCard.d.ts.map +0 -1
  318. package/dist/projection/SchemaOrCard.js +0 -11
  319. package/dist/projection/SchemaOrCard.js.map +0 -1
  320. package/dist/projection/card/EntityTypeSource.d.ts +0 -12
  321. package/dist/projection/card/EntityTypeSource.d.ts.map +0 -1
  322. package/dist/projection/card/EntityTypeSource.js +0 -78
  323. package/dist/projection/card/EntityTypeSource.js.map +0 -1
  324. package/dist/projection/card/FacadeTypeSource.d.ts +0 -19
  325. package/dist/projection/card/FacadeTypeSource.d.ts.map +0 -1
  326. package/dist/projection/card/FacadeTypeSource.js +0 -40
  327. package/dist/projection/card/FacadeTypeSource.js.map +0 -1
  328. package/dist/schema/Schema.d.ts.map +0 -1
  329. package/dist/schema/Schema.js.map +0 -1
  330. package/dist/schema/SchemaDefinition.d.ts +0 -60
  331. package/dist/schema/SchemaDefinition.d.ts.map +0 -1
  332. package/dist/schema/SchemaDefinition.js +0 -85
  333. package/dist/schema/SchemaDefinition.js.map +0 -1
  334. package/dist/schema/SchemaDerivation.d.ts +0 -34
  335. package/dist/schema/SchemaDerivation.d.ts.map +0 -1
  336. package/dist/schema/SchemaDerivation.js +0 -51
  337. package/dist/schema/SchemaDerivation.js.map +0 -1
  338. package/dist/schema/SchemaView.d.ts.map +0 -1
  339. package/dist/schema/axis/Axis.d.ts.map +0 -1
  340. package/dist/schema/axis/Axis.js.map +0 -1
  341. package/dist/schema/axis/Meta.d.ts.map +0 -1
  342. package/dist/schema/axis/boundary/Boundaries.d.ts +0 -20
  343. package/dist/schema/axis/boundary/Boundaries.d.ts.map +0 -1
  344. package/dist/schema/axis/boundary/Boundaries.js +0 -31
  345. package/dist/schema/axis/boundary/Boundaries.js.map +0 -1
  346. package/dist/schema/axis/boundary/Boundary.d.ts.map +0 -1
  347. package/dist/schema/axis/boundary/Boundary.js.map +0 -1
  348. package/dist/schema/axis/boundary/BoundaryAxis.d.ts.map +0 -1
  349. package/dist/schema/axis/boundary/BoundaryAxis.js.map +0 -1
  350. package/dist/schema/axis/lifecycle/Clock.d.ts.map +0 -1
  351. package/dist/schema/axis/lifecycle/Clock.js.map +0 -1
  352. package/dist/schema/axis/lifecycle/Generators.d.ts +0 -18
  353. package/dist/schema/axis/lifecycle/Generators.d.ts.map +0 -1
  354. package/dist/schema/axis/lifecycle/Generators.js +0 -38
  355. package/dist/schema/axis/lifecycle/Generators.js.map +0 -1
  356. package/dist/schema/axis/lifecycle/Lifecycle.d.ts.map +0 -1
  357. package/dist/schema/axis/lifecycle/Lifecycle.js.map +0 -1
  358. package/dist/schema/axis/lifecycle/LifecycleAxis.d.ts.map +0 -1
  359. package/dist/schema/axis/lifecycle/LifecycleAxis.js.map +0 -1
  360. package/dist/schema/axis/lifecycle/apply.d.ts +0 -6
  361. package/dist/schema/axis/lifecycle/apply.d.ts.map +0 -1
  362. package/dist/schema/axis/lifecycle/apply.js +0 -34
  363. package/dist/schema/axis/lifecycle/apply.js.map +0 -1
  364. package/dist/schema/axis/role/Relation.d.ts.map +0 -1
  365. package/dist/schema/axis/role/Relation.js.map +0 -1
  366. package/dist/schema/axis/role/Role.d.ts.map +0 -1
  367. package/dist/schema/axis/role/Role.js +0 -40
  368. package/dist/schema/axis/role/Role.js.map +0 -1
  369. package/dist/schema/axis/role/RoleAxis.d.ts.map +0 -1
  370. package/dist/schema/axis/role/RoleAxis.js.map +0 -1
  371. package/dist/schema/axis/shape/Formats.d.ts +0 -8
  372. package/dist/schema/axis/shape/Formats.d.ts.map +0 -1
  373. package/dist/schema/axis/shape/Formats.js +0 -10
  374. package/dist/schema/axis/shape/Formats.js.map +0 -1
  375. package/dist/schema/axis/shape/Shape.d.ts.map +0 -1
  376. package/dist/schema/axis/shape/Shape.js.map +0 -1
  377. package/dist/schema/fields/Field.d.ts.map +0 -1
  378. package/dist/schema/fields/Field.js +0 -52
  379. package/dist/schema/fields/Field.js.map +0 -1
  380. package/dist/schema/fields/FieldSet.d.ts +0 -28
  381. package/dist/schema/fields/FieldSet.d.ts.map +0 -1
  382. package/dist/schema/fields/FieldSet.js +0 -55
  383. package/dist/schema/fields/FieldSet.js.map +0 -1
  384. package/dist/schema/fields/constraint/FieldGroup.d.ts +0 -21
  385. package/dist/schema/fields/constraint/FieldGroup.d.ts.map +0 -1
  386. package/dist/schema/fields/constraint/FieldGroup.js +0 -65
  387. package/dist/schema/fields/constraint/FieldGroup.js.map +0 -1
  388. package/dist/schema/fields/constraint/Unique.d.ts +0 -4
  389. package/dist/schema/fields/constraint/Unique.d.ts.map +0 -1
  390. package/dist/schema/fields/constraint/Unique.js +0 -4
  391. package/dist/schema/fields/constraint/Unique.js.map +0 -1
  392. package/dist/utils.d.ts.map +0 -1
  393. package/dist/utils.js.map +0 -1
  394. package/src/judge/options.ts +0 -3
  395. package/src/projection/SchemaOrCard.ts +0 -18
  396. package/src/projection/card/EntityTypeSource.ts +0 -90
  397. package/src/projection/card/FacadeTypeSource.ts +0 -55
  398. package/src/schema/SchemaDefinition.ts +0 -150
  399. package/src/schema/SchemaDerivation.ts +0 -65
  400. package/src/schema/axis/boundary/Boundaries.ts +0 -44
  401. package/src/schema/axis/lifecycle/Generators.ts +0 -46
  402. package/src/schema/axis/lifecycle/apply.ts +0 -39
  403. package/src/schema/axis/role/Role.ts +0 -56
  404. package/src/schema/axis/shape/Formats.ts +0 -22
  405. package/src/schema/fields/FieldSet.ts +0 -63
  406. package/src/schema/fields/constraint/FieldGroup.ts +0 -84
  407. package/src/schema/fields/constraint/Unique.ts +0 -3
  408. /package/dist/{schema/SchemaView.js → SchemaView.js} +0 -0
  409. /package/dist/{schema/axis → axis}/Axis.js +0 -0
  410. /package/dist/{schema/axis → axis}/Meta.d.ts +0 -0
  411. /package/dist/{schema/axis → axis}/Meta.js +0 -0
  412. /package/dist/{schema/axis → axis}/boundary/BoundaryAxis.d.ts +0 -0
  413. /package/dist/{schema/axis → axis}/lifecycle/Lifecycle.d.ts +0 -0
  414. /package/dist/{schema/axis → axis}/lifecycle/Lifecycle.js +0 -0
  415. /package/dist/{schema/axis → axis}/lifecycle/LifecycleAxis.d.ts +0 -0
  416. /package/dist/{utils.d.ts → lib/utils.d.ts} +0 -0
  417. /package/dist/{utils.js → lib/utils.js} +0 -0
  418. /package/src/{schema/axis → axis}/Meta.ts +0 -0
  419. /package/src/{schema/axis → axis}/lifecycle/Lifecycle.ts +0 -0
  420. /package/src/{utils.ts → lib/utils.ts} +0 -0
  421. /package/src/{judge/result.ts → validation.ts} +0 -0
@@ -1,18 +0,0 @@
1
- export type GeneratorRef = 'cuid2' | 'uuid' | 'nanoid' | (string & {});
2
- /**
3
- * Who answers a `generate` by name — one registry per process, like `Formats` and
4
- * `Boundaries`.
5
- *
6
- * The three builtins are REGISTERED rather than switched on, which is what brings the
7
- * refusal back inside: a registry whose unknown name is refused by a `default:` branch in
8
- * its caller does not know what it holds, so it cannot say so.
9
- */
10
- export declare class Generators {
11
- private static readonly registry;
12
- static register(name: string, fn: () => string): void;
13
- /** The generator this name stands for, refused by name when nothing does. */
14
- static resolve(ref: GeneratorRef): () => string;
15
- /** Whether a name is answered, for a caller that must not throw to find out. */
16
- static answers(ref: GeneratorRef): boolean;
17
- }
18
- //# sourceMappingURL=Generators.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Generators.d.ts","sourceRoot":"","sources":["../../../../src/schema/axis/lifecycle/Generators.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAUvE;;;;;;;GAOG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAI7B;IAEH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,MAAM,GAAG,IAAI,CAEpD;IAED,6EAA6E;IAC7E,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,MAAM,CAO9C;IAED,gFAAgF;IAChF,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAEzC;CACF"}
@@ -1,38 +0,0 @@
1
- import { createId } from '@paralleldrive/cuid2';
2
- const NANOID_ALPHABET = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_';
3
- function nanoid() {
4
- const bytes = new Uint8Array(21);
5
- globalThis.crypto.getRandomValues(bytes);
6
- return Array.from(bytes, (byte) => NANOID_ALPHABET[byte & 63]).join('');
7
- }
8
- /**
9
- * Who answers a `generate` by name — one registry per process, like `Formats` and
10
- * `Boundaries`.
11
- *
12
- * The three builtins are REGISTERED rather than switched on, which is what brings the
13
- * refusal back inside: a registry whose unknown name is refused by a `default:` branch in
14
- * its caller does not know what it holds, so it cannot say so.
15
- */
16
- export class Generators {
17
- static registry = new Map([
18
- ['cuid2', createId],
19
- ['uuid', () => globalThis.crypto.randomUUID()],
20
- ['nanoid', nanoid],
21
- ]);
22
- static register(name, fn) {
23
- this.registry.set(name, fn);
24
- }
25
- /** The generator this name stands for, refused by name when nothing does. */
26
- static resolve(ref) {
27
- const found = this.registry.get(ref);
28
- if (found)
29
- return found;
30
- throw new Error(`Unknown generator '${ref}' — register it with Generators.register('${ref}', fn). ` +
31
- `This process answers ${[...this.registry.keys()].join(', ')}.`);
32
- }
33
- /** Whether a name is answered, for a caller that must not throw to find out. */
34
- static answers(ref) {
35
- return this.registry.has(ref);
36
- }
37
- }
38
- //# sourceMappingURL=Generators.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Generators.js","sourceRoot":"","sources":["../../../../src/schema/axis/lifecycle/Generators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAIhD,MAAM,eAAe,GAAG,kEAAkE,CAAC;AAE3F,SAAS,MAAM;IACb,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACjC,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IACzC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,UAAU;IACb,MAAM,CAAU,QAAQ,GAAG,IAAI,GAAG,CAAuB;QAC/D,CAAC,OAAO,EAAE,QAAQ,CAAC;QACnB,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAC9C,CAAC,QAAQ,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IAEH,MAAM,CAAC,QAAQ,CAAC,IAAY,EAAE,EAAgB;QAC5C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,6EAA6E;IAC7E,MAAM,CAAC,OAAO,CAAC,GAAiB;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,sBAAsB,GAAG,6CAA6C,GAAG,UAAU;YACnF,wBAAwB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAChE,CAAC;IACJ,CAAC;IAED,gFAAgF;IAChF,MAAM,CAAC,OAAO,CAAC,GAAiB;QAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Lifecycle.d.ts","sourceRoot":"","sources":["../../../../src/schema/axis/lifecycle/Lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,eAAO,MAAM,aAAa,YAAI,KAAK,EAAE,UAAU,CAAU,CAAC;AAC1D,eAAO,MAAM,aAAa,YAAI,KAAK,EAAE,WAAW,CAAU,CAAC;AAE3D,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG;QAAE,QAAQ,EAAE,YAAY,CAAA;KAAE,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;IAC1F,MAAM,CAAC,EAAE,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;CACzC;AAED,qBAAa,SAAU,YAAW,cAAc;IAC9C,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC3C,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAE3C,OAAO,eAGN;IAED,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,SAAS,CAAC,EAAE,cAAc,CAAA;KAAE,GAAG,SAAS,CAE1D;IAED,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED,IAAI,OAAO,IAAI;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CAK5C;IAED,IAAI,SAAS,IAAI,YAAY,GAAG,SAAS,CAKxC;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Lifecycle.js","sourceRoot":"","sources":["../../../../src/schema/axis/lifecycle/Lifecycle.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,UAAU,CAAU,CAAC;AAC1D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,WAAW,CAAU,CAAC;AAO3D,MAAM,OAAO,SAAS;IACX,MAAM,CAA4B;IAClC,MAAM,CAA4B;IAE3C,YAAoB,KAAK,GAAmB,EAAE;QAC5C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,EAAE,CAAC,KAAqC;QAC7C,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC;IACnC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC;IACxD,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC;IACrC,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC;IAC/B,CAAC;IAED,IAAI,OAAO;QACT,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,IAAI;YACjE,CAAC,CAAC,EAAE,KAAK,EAAG,IAA2B,CAAC,KAAK,EAAE;YAC/C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED,IAAI,SAAS;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,UAAU,IAAI,IAAI;YACpE,CAAC,CAAE,IAAmC,CAAC,QAAQ;YAC/C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"LifecycleAxis.d.ts","sourceRoot":"","sources":["../../../../src/schema/axis/lifecycle/LifecycleAxis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAIvC,OAAO,EAAgC,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEnF,eAAO,MAAM,aAAa,EAAE,IAAI,CAAC,cAAc,EAAE,cAAc,CAsB9D,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"LifecycleAxis.js","sourceRoot":"","sources":["../../../../src/schema/axis/lifecycle/LifecycleAxis.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAuB,MAAM,gBAAgB,CAAC;AAEnF,MAAM,CAAC,MAAM,aAAa,GAAyC;IACjE,IAAI,EAAE,WAAW;IAEjB,KAAK,CAAC,KAAK,EAAE,MAAM;QACjB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,4BAA4B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YACjG,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;YAAE,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClE,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,CAAC;YAC5E,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,uCAAuC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;aAC/E,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK;IAC1B,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;QACpB,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC;AAEF,SAAS,WAAW,CAAC,IAAa,EAAE,MAAyB;IAC3D,IAAI,WAAW,CAAC,IAAI,EAAE,aAAa,CAAC;QAAE,OAAO;IAC7C,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnB,IAAI,OAAO,IAAI,IAAI;YAAE,OAAO;QAC5B,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACtC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,2BAA2B;oBACjC,OAAO,EAAE,mCAAmC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;iBAC5E,CAAC,CAAC;YACL,CAAC;YACD,OAAO;QACT,CAAC;IACH,CAAC;IACD,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,+DAA+D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;KAC/F,CAAC,CAAC;AACL,CAAC"}
@@ -1,6 +0,0 @@
1
- import { type Fields } from '../../fields/Field.js';
2
- type Row = Record<string, unknown>;
3
- export declare function applyCreate(fields: Fields, input: Row): Row;
4
- export declare function applyUpdate(fields: Fields, patch: Row): Row;
5
- export {};
6
- //# sourceMappingURL=apply.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../../../src/schema/axis/lifecycle/apply.ts"],"names":[],"mappings":"AAGA,OAAO,EAAc,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEhE,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEnC,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,CAc3D;AAOD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,CAU3D"}
@@ -1,34 +0,0 @@
1
- import { Lifecycle } from './Lifecycle.js';
2
- import { Generators } from './Generators.js';
3
- import { Clock } from './Clock.js';
4
- export function applyCreate(fields, input) {
5
- const out = { ...input };
6
- const instant = Clock.now();
7
- for (const [name, field] of Object.entries(fields)) {
8
- if (name in out)
9
- continue;
10
- const rule = Lifecycle.of(field);
11
- if (rule.create === 'now')
12
- out[name] = new Date(instant);
13
- else if (rule.literal)
14
- out[name] = freshValue(rule.literal.value);
15
- else if (rule.generator)
16
- out[name] = Generators.resolve(rule.generator)();
17
- }
18
- return out;
19
- }
20
- function freshValue(value) {
21
- if (value === null || typeof value !== 'object')
22
- return value;
23
- return structuredClone(value);
24
- }
25
- export function applyUpdate(fields, patch) {
26
- const out = { ...patch };
27
- const instant = Clock.now();
28
- for (const [name, field] of Object.entries(fields)) {
29
- if (Lifecycle.of(field).stampedOnUpdate && !(name in out))
30
- out[name] = new Date(instant);
31
- }
32
- return out;
33
- }
34
- //# sourceMappingURL=apply.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../../src/schema/axis/lifecycle/apply.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAKnC,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,KAAU;IACpD,MAAM,GAAG,GAAQ,EAAE,GAAG,KAAK,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;IAE5B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAsB,EAAE,CAAC;QACxE,IAAI,IAAI,IAAI,GAAG;YAAE,SAAS;QAC1B,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QAEjC,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;aACpD,IAAI,IAAI,CAAC,OAAO;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aAC7D,IAAI,IAAI,CAAC,SAAS;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9D,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,KAAU;IACpD,MAAM,GAAG,GAAQ,EAAE,GAAG,KAAK,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;IAE5B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAsB,EAAE,CAAC;QACxE,IAAI,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC;YACvD,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Relation.d.ts","sourceRoot":"","sources":["../../../../src/schema/axis/role/Relation.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;AAErE,eAAO,MAAM,cAAc,YAAI,KAAK,EAAE,MAAM,CAAU,CAAC;AACvD,eAAO,MAAM,SAAS,YAAI,SAAS,EAAE,UAAU,EAAE,UAAU,CAAU,CAAC;AAEtE,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,iBAAiB,CAAC;IAC5B,IAAI,EAAE,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,EAAE,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;CACvC;AAED;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ;IACnB,GAAG,SAAS,iBAAiB,GAAG,CAAC,MAAM,iBAAiB,CAAC,YAAY,OAAO,GAAG,QAAQ;IAIvF,IAAI,SAAS,iBAAiB,GAAG,CAAC,MAAM,iBAAiB,CAAC,GAAG,QAAQ;CAGtE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Relation.js","sourceRoot":"","sources":["../../../../src/schema/axis/role/Relation.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,MAAM,CAAU,CAAC;AACvD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAU,CAAC;AAQtE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,GAAG,CAAC,MAAqD,EAAE,OAAiB;QAC1E,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACvF,CAAC;IAED,IAAI,CAAC,MAAqD;QACxD,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC7C,CAAC;CACF,CAAC;AAEF,SAAS,KAAK,CAA8B,MAAqB;IAC/D,OAAO,WAAW,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,MAAW,CAAC,CAAC,CAAE,MAAkB,CAAC;AACzE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Role.d.ts","sourceRoot":"","sources":["../../../../src/schema/axis/role/Role.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAEnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEjE,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;CAC/B;AAED,qBAAa,IAAK,YAAW,SAAS;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAEvC,OAAO,eAKN;IAED,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,CAAC,EAAE,SAAS,CAAA;KAAE,GAAG,IAAI,CAE3C;IAED,yGAAyG;IACzG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAKlF;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,IAAI,MAAM,IAAI,iBAAiB,GAAG,SAAS,CAE1C;CACF"}
@@ -1,40 +0,0 @@
1
- import { FieldGroup } from "../../fields/constraint/FieldGroup.js";
2
- import { Unique } from "../../fields/constraint/Unique.js";
3
- export class Role {
4
- primary;
5
- index;
6
- relation;
7
- rules;
8
- constructor(declared = {}) {
9
- this.primary = declared.primary;
10
- this.index = declared.index;
11
- this.relation = declared.relation;
12
- this.rules = declared.rules;
13
- }
14
- static of(field) {
15
- return new Role(field.role);
16
- }
17
- /** A group written with no members means "this field": only the key it is declared under resolves it. */
18
- static resolvedOn(role, key) {
19
- let rules = FieldGroup.normalize(role?.rules, (members) => new Unique(members));
20
- if (rules && key !== undefined && rules.some((group) => group.isSelf))
21
- rules = rules.map((group) => group.resolvedOn(key));
22
- return rules === role?.rules ? role : { ...role, rules };
23
- }
24
- get isPrimary() {
25
- return this.primary === true;
26
- }
27
- get isIndexed() {
28
- return this.index === true;
29
- }
30
- get isCollection() {
31
- return this.relation?.kind === "many";
32
- }
33
- get isReference() {
34
- return this.relation?.kind === "one";
35
- }
36
- get target() {
37
- return this.relation?.to();
38
- }
39
- }
40
- //# sourceMappingURL=Role.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Role.js","sourceRoot":"","sources":["../../../../src/schema/axis/role/Role.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAU3D,MAAM,OAAO,IAAI;IACN,OAAO,CAAW;IAClB,KAAK,CAAW;IAChB,QAAQ,CAAY;IACpB,KAAK,CAAyB;IAEvC,YAAoB,QAAQ,GAAc,EAAE;QAC1C,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,EAAE,CAAC,KAA2B;QACnC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,yGAAyG;IACzG,MAAM,CAAC,UAAU,CAAC,IAA2B,EAAE,GAAY;QACzD,IAAI,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAChF,IAAI,KAAK,IAAI,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;YACnE,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QACtD,OAAO,KAAK,KAAK,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC;IAC3D,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;IAC/B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC;IAC7B,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,QAAQ,EAAE,IAAI,KAAK,MAAM,CAAC;IACxC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,QAAQ,EAAE,IAAI,KAAK,KAAK,CAAC;IACvC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC7B,CAAC;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"RoleAxis.d.ts","sourceRoot":"","sources":["../../../../src/schema/axis/role/RoleAxis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAY,MAAM,YAAY,CAAC;AAKjD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAG3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAE7E,eAAO,MAAM,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,cAAc,CA+EpD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"RoleAxis.js","sourceRoot":"","sources":["../../../../src/schema/axis/role/RoleAxis.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- export type StringFormat = 'date-time' | 'date' | 'time' | 'email' | 'uuid' | 'uri' | (string & {});
2
- export type FormatPredicate = (value: string) => boolean;
3
- export declare class Formats {
4
- private static readonly registry;
5
- static register(name: string, predicate: FormatPredicate): void;
6
- static resolve(name: string): FormatPredicate | undefined;
7
- }
8
- //# sourceMappingURL=Formats.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Formats.d.ts","sourceRoot":"","sources":["../../../../src/schema/axis/shape/Formats.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GACpB,WAAW,GACX,MAAM,GACN,MAAM,GACN,OAAO,GACP,MAAM,GACN,KAAK,GACL,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;AAEzD,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAsC;IAEtE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,GAAG,IAAI,CAE9D;IAED,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAExD;CACF"}
@@ -1,10 +0,0 @@
1
- export class Formats {
2
- static registry = new Map();
3
- static register(name, predicate) {
4
- this.registry.set(name, predicate);
5
- }
6
- static resolve(name) {
7
- return this.registry.get(name);
8
- }
9
- }
10
- //# sourceMappingURL=Formats.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Formats.js","sourceRoot":"","sources":["../../../../src/schema/axis/shape/Formats.ts"],"names":[],"mappings":"AAWA,MAAM,OAAO,OAAO;IACV,MAAM,CAAU,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEtE,MAAM,CAAC,QAAQ,CAAC,IAAY,EAAE,SAA0B;QACtD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,IAAY;QACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Shape.d.ts","sourceRoot":"","sources":["../../../../src/schema/axis/shape/Shape.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,KAAK,QAAQ,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAE3D,UAAU,iBAAiB;IAAG,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,YAAY,CAAA;CAAE;AAClJ,UAAU,kBAAkB;IAAG,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE;AACnE,UAAU,gBAAgB;IAAG,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE;AAClF,UAAU,iBAAiB;IAAG,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE;AAElG,MAAM,MAAM,KAAK,GACb,CAAC;IAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;CAAE,GAAG,iBAAiB,CAAC,GAClD,CAAC;IAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;CAAE,GAAG,kBAAkB,CAAC,GACzE;IAAE,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAA;CAAE,GAC7B,CAAC;IAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;CAAE,GAAG,gBAAgB,CAAC,GAChD,CAAC;IAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;CAAE,GAAG,iBAAiB,CAAC,CAAC;AAcvD,KAAK,SAAS,GACV,CAAC;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAAG,iBAAiB,CAAC,GACxC,CAAC;IAAE,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAA;CAAE,GAAG,kBAAkB,CAAC,GACrD;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB,CAAC;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG,gBAAgB,CAAC,GACtC,CAAC;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAAG,iBAAiB,CAAC,CAAC;AAW7C,UAAU,YAAY;IACpB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,OAAO;IAClB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,CAExC;IAED,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAEnC;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAuC;IACpE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAsD;IAElF,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,YAAY,CAiBrC;IAED,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CAExC;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Shape.js","sourceRoot":"","sources":["../../../../src/schema/axis/shape/Shape.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../../src/schema/fields/Field.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAI5C,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAE3C,0EAA0E;AAC1E,MAAM,MAAM,SAAS,CAAC,OAAO,SAAS,MAAM,IAAI,OAAO,CAAC,MAAM,OAAO,EAAE,MAAM,CAAC,CAAC;AAE/E,wFAAwF;AACxF,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;AAE5E,qBAAa,KAAK,CAAC,CAAC,GAAG,OAAO;IAC5B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IAErB,SAAiB,KAAK,CAAC,EAAE,CAAC,CAAC;IAE3B,YAAY,IAAI,EAAE,gBAAgB,EAAE,GAAG,CAAC,EAAE,MAAM,EAyB/C;IAED,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,CAExC;IAED,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAE1D;IAED,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAgBzD;CACF"}
@@ -1,52 +0,0 @@
1
- import { Role } from '../axis/role/Role.js';
2
- import { FieldJudge } from '../../judge/FieldJudge.js';
3
- import { ValueJudge } from '../../judge/ValueJudge.js';
4
- export class Field {
5
- shape;
6
- role;
7
- lifecycle;
8
- boundary;
9
- meta;
10
- constructor(init, key) {
11
- const verdict = FieldJudge.of(init).verdict;
12
- if (!verdict.success) {
13
- throw new Error(`${key ? `Field '${key}': ` : ''}` +
14
- verdict.errors.map((e) => `${e.path}: ${e.message}`).join('; '));
15
- }
16
- this.shape = init.shape;
17
- this.role = Role.resolvedOn(init.role, key);
18
- this.lifecycle = init.lifecycle;
19
- this.boundary = init.boundary;
20
- this.meta = init.meta;
21
- const create = this.lifecycle?.create;
22
- if (typeof create === 'object' && create !== null && 'value' in create) {
23
- const checked = ValueJudge.of(this).check(create.value);
24
- if ('error' in checked)
25
- throw new Error(`${key ? `Field '${key}': ` : ''}the declared default ${JSON.stringify(create.value)} ` +
26
- `is not a legal value for it — ${checked.error}.`);
27
- }
28
- }
29
- static is(value) {
30
- return FieldJudge.of(value).verdict.success;
31
- }
32
- with(overrides) {
33
- return new Field({ ...this, ...overrides });
34
- }
35
- rename(map) {
36
- const rules = this.role?.rules;
37
- if (!rules?.length)
38
- return this;
39
- const carried = rules
40
- .map((group) => group.rename(map))
41
- .filter((group) => group !== null);
42
- const unchanged = carried.length === rules.length &&
43
- carried.every((group, i) => group.equals(rules[i]));
44
- if (unchanged)
45
- return this;
46
- const { rules: _dropped, ...rest } = this.role;
47
- return this.with({
48
- role: carried.length ? { ...rest, rules: carried } : rest,
49
- });
50
- }
51
- }
52
- //# sourceMappingURL=Field.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Field.js","sourceRoot":"","sources":["../../../src/schema/fields/Field.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAkB,MAAM,sBAAsB,CAAC;AAK5D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAUvD,MAAM,OAAO,KAAK;IACP,KAAK,CAAQ;IACb,IAAI,CAAa;IACjB,SAAS,CAAkB;IAC3B,QAAQ,CAAe;IACvB,IAAI,CAAQ;IAIrB,YAAY,IAAsB,EAAE,GAAY;QAC9C,MAAM,OAAO,GAAG,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;QAE5C,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;gBAChC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAClE,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEtB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC;QACtC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YACvE,MAAM,OAAO,GAAG,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxD,IAAI,OAAO,IAAI,OAAO;gBACpB,MAAM,IAAI,KAAK,CACb,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,wBAAwB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG;oBACrF,iCAAiC,OAAO,CAAC,KAAK,GAAG,CACpD,CAAC;QACN,CAAC;IACH,CAAC;IAED,MAAM,CAAC,EAAE,CAAC,KAAc;QACtB,OAAO,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAC9C,CAAC;IAED,IAAI,CAAQ,SAAoC;QAC9C,OAAO,IAAI,KAAK,CAAI,EAAE,GAAG,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,GAAwC;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;QAC/B,IAAI,CAAC,KAAK,EAAE,MAAM;YAAE,OAAO,IAAI,CAAC;QAEhC,MAAM,OAAO,GAAG,KAAK;aAClB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aACjC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;QACrC,MAAM,SAAS,GACb,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;YAC/B,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;QACvD,IAAI,SAAS;YAAE,OAAO,IAAI,CAAC;QAE3B,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,IAAK,CAAC;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI;SAC1D,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1,28 +0,0 @@
1
- import type { CompositeUnique } from '../../entity/EntityDeclarations.js';
2
- import { type FieldName, type Fields } from './Field.js';
3
- export declare class FieldSet<TFields extends Fields = Fields> {
4
- private readonly fields;
5
- private constructor();
6
- static of<TFields extends Fields>(fields: TFields): FieldSet<TFields>;
7
- /**
8
- * Every entry through the field door, then the groups declared over several of them.
9
- * A group written here names its members; one written on a field named itself, and the
10
- * key it sat under resolved it.
11
- */
12
- static declared<TFields extends Fields>(declared: TFields, unique?: CompositeUnique<TFields>): TFields;
13
- /**
14
- * The name of the field that carries `primary`, or `undefined` when none does.
15
- *
16
- * `Role.of(field).isPrimary` answers about ONE field; this answers about a shape, which
17
- * is the question every reader actually had. It was the same three lines spelled five
18
- * times — a mirror's key, a form's row identity, GraphQL's node id, the DDL's primary
19
- * key and the storage's `findById` column — so a shape with two primaries meant whichever
20
- * one that loop happened to see first, five times over.
21
- *
22
- * The absence is answered and not defaulted: `'id'` is a fine fallback for a form and a
23
- * lie for a DDL, so the caller decides.
24
- */
25
- get primary(): FieldName<TFields> | undefined;
26
- get uniqueGroups(): CompositeUnique<TFields> | undefined;
27
- }
28
- //# sourceMappingURL=FieldSet.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FieldSet.d.ts","sourceRoot":"","sources":["../../../src/schema/fields/FieldSet.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAS,KAAK,SAAS,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAEhE,qBAAa,QAAQ,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAA3C,OAAO,eAAiD;IAExD,MAAM,CAAC,EAAE,CAAC,OAAO,SAAS,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAEpE;IAED;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,OAAO,SAAS,MAAM,EACpC,QAAQ,EAAE,OAAO,EACjB,MAAM,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,GAChC,OAAO,CAMT;IAED;;;;;;;;;;;OAWG;IACH,IAAI,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,SAAS,CAa5C;IAED,IAAI,YAAY,IAAI,eAAe,CAAC,OAAO,CAAC,GAAG,SAAS,CAKvD;CACF"}
@@ -1,55 +0,0 @@
1
- import { Role } from '../axis/role/Role.js';
2
- import { FieldGroup } from './constraint/FieldGroup.js';
3
- import { Unique } from './constraint/Unique.js';
4
- import { Field } from './Field.js';
5
- export class FieldSet {
6
- fields;
7
- constructor(fields) {
8
- this.fields = fields;
9
- }
10
- static of(fields) {
11
- return new FieldSet(fields);
12
- }
13
- /**
14
- * Every entry through the field door, then the groups declared over several of them.
15
- * A group written here names its members; one written on a field named itself, and the
16
- * key it sat under resolved it.
17
- */
18
- static declared(declared, unique) {
19
- let fields = {};
20
- for (const [key, field] of Object.entries(declared))
21
- fields[key] = new Field(field, key);
22
- for (const group of unique ?? [])
23
- fields = new Unique(group).onto(fields);
24
- return fields;
25
- }
26
- /**
27
- * The name of the field that carries `primary`, or `undefined` when none does.
28
- *
29
- * `Role.of(field).isPrimary` answers about ONE field; this answers about a shape, which
30
- * is the question every reader actually had. It was the same three lines spelled five
31
- * times — a mirror's key, a form's row identity, GraphQL's node id, the DDL's primary
32
- * key and the storage's `findById` column — so a shape with two primaries meant whichever
33
- * one that loop happened to see first, five times over.
34
- *
35
- * The absence is answered and not defaulted: `'id'` is a fine fallback for a form and a
36
- * lie for a DDL, so the caller decides.
37
- */
38
- get primary() {
39
- const primaries = Object.entries(this.fields)
40
- .filter(([, field]) => Role.of(field).isPrimary)
41
- .map(([name]) => name);
42
- if (primaries.length > 1) {
43
- throw new Error(`FieldSet.primary: ${primaries.map((name) => JSON.stringify(name)).join(', ')} all declare ` +
44
- '`primary`; a field set can have only one primary field.');
45
- }
46
- return primaries[0];
47
- }
48
- get uniqueGroups() {
49
- const groups = FieldGroup.groupsOf(this.fields, Unique);
50
- return groups.length
51
- ? groups.map((group) => [...group.members])
52
- : undefined;
53
- }
54
- }
55
- //# sourceMappingURL=FieldSet.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FieldSet.js","sourceRoot":"","sources":["../../../src/schema/fields/FieldSet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,OAAO,EAAE,KAAK,EAA+B,MAAM,YAAY,CAAC;AAEhE,MAAM,OAAO,QAAQ;IACkB,MAAM;IAA3C,YAAqC,MAAe;sBAAf,MAAM;IAAY,CAAC;IAExD,MAAM,CAAC,EAAE,CAAyB,MAAe;QAC/C,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CACb,QAAiB,EACjB,MAAiC;QAEjC,IAAI,MAAM,GAAW,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;YACjD,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACtC,KAAK,MAAM,KAAK,IAAI,MAAM,IAAI,EAAE;YAAE,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1E,OAAO,MAAiB,CAAC;IAC3B,CAAC;IAED;;;;;;;;;;;OAWG;IACH,IAAI,OAAO;QACT,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;aAC1C,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC;aAC/C,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QAEzB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,qBAAqB,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe;gBAC1F,yDAAyD,CAC5D,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CAAC,CAAC,CAAmC,CAAC;IACxD,CAAC;IAED,IAAI,YAAY;QACd,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,MAAM,CAAC,MAAM;YAClB,CAAC,CAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAyC;YACpF,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;CACF"}
@@ -1,21 +0,0 @@
1
- import type { Field, Fields } from '../Field.js';
2
- export declare abstract class FieldGroup {
3
- readonly members: readonly string[];
4
- constructor(members: readonly string[]);
5
- protected withMembers(members: readonly string[]): this;
6
- get isSelf(): boolean;
7
- resolvedOn(ownKey: string): this;
8
- covers(key: string): boolean;
9
- equals(other: FieldGroup): boolean;
10
- onto(fields: Fields): Fields;
11
- rename(map: (key: string) => string | undefined): this | null;
12
- toJSON(): string[];
13
- static normalize<R extends FieldGroup>(groups: readonly (R | readonly string[])[] | undefined, make: (members: readonly string[]) => R): readonly R[] | undefined;
14
- static on<R extends FieldGroup>(field: Field, kind: Function & {
15
- prototype: R;
16
- }): R[];
17
- static groupsOf<R extends FieldGroup>(fields: Fields, kind: Function & {
18
- prototype: R;
19
- }): R[];
20
- }
21
- //# sourceMappingURL=FieldGroup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FieldGroup.d.ts","sourceRoot":"","sources":["../../../../src/schema/fields/constraint/FieldGroup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEjD,8BAAsB,UAAU;IAClB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE;IAA/C,YAAqB,OAAO,EAAE,SAAS,MAAM,EAAE,EAAI;IAEnD,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAEtD;IAED,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE/B;IAED,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE3B;IAED,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAMjC;IAED,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAgB3B;IAED,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,CAM5D;IAED,MAAM,IAAI,MAAM,EAAE,CAEjB;IAED,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,UAAU,EACnC,MAAM,EAAE,SAAS,CAAC,CAAC,GAAG,SAAS,MAAM,EAAE,CAAC,EAAE,GAAG,SAAS,EACtD,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,KAAK,CAAC,GACtC,SAAS,CAAC,EAAE,GAAG,SAAS,CAK1B;IAED,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,GAAG;QAAE,SAAS,EAAE,CAAC,CAAA;KAAE,GAAG,CAAC,EAAE,CAEpF;IAED,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,UAAU,EAClC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,QAAQ,GAAG;QAAE,SAAS,EAAE,CAAC,CAAA;KAAE,GAChC,CAAC,EAAE,CAML;CACF"}
@@ -1,65 +0,0 @@
1
- export class FieldGroup {
2
- members;
3
- constructor(members) {
4
- this.members = members;
5
- }
6
- withMembers(members) {
7
- return new this.constructor(members);
8
- }
9
- get isSelf() {
10
- return this.members.length === 0;
11
- }
12
- resolvedOn(ownKey) {
13
- return this.isSelf ? this.withMembers([ownKey]) : this;
14
- }
15
- covers(key) {
16
- return this.members.includes(key);
17
- }
18
- equals(other) {
19
- return (this.constructor === other.constructor &&
20
- this.members.length === other.members.length &&
21
- this.members.every((member, i) => member === other.members[i]));
22
- }
23
- onto(fields) {
24
- const missing = this.members.filter((key) => !(key in fields));
25
- if (missing.length)
26
- throw new Error(`${this.constructor.name.toLowerCase()}: [${this.members.join(', ')}] names ` +
27
- `${missing.map((m) => `'${m}'`).join(', ')}, which the entity does not declare.`);
28
- const out = { ...fields };
29
- for (const key of this.members) {
30
- const field = out[key];
31
- out[key] = field.with({
32
- role: { ...field.role, rules: [...(field.role?.rules ?? []), this] },
33
- });
34
- }
35
- return out;
36
- }
37
- rename(map) {
38
- if (this.isSelf)
39
- return this;
40
- const carried = this.members.map(map);
41
- return carried.every((key) => key !== undefined)
42
- ? this.withMembers(carried)
43
- : null;
44
- }
45
- toJSON() {
46
- return [...this.members];
47
- }
48
- static normalize(groups, make) {
49
- if (!groups)
50
- return undefined;
51
- return groups.map((group) => group instanceof FieldGroup ? group : make(group));
52
- }
53
- static on(field, kind) {
54
- return (field.role?.rules ?? []).filter((rule) => rule instanceof kind);
55
- }
56
- static groupsOf(fields, kind) {
57
- const seen = new Map();
58
- for (const field of Object.values(fields))
59
- for (const rule of FieldGroup.on(field, kind))
60
- if (rule.members.length > 1)
61
- seen.set(rule.members.join(' '), rule);
62
- return [...seen.values()];
63
- }
64
- }
65
- //# sourceMappingURL=FieldGroup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FieldGroup.js","sourceRoot":"","sources":["../../../../src/schema/fields/constraint/FieldGroup.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { FieldGroup } from './FieldGroup.js';
2
- export declare class Unique extends FieldGroup {
3
- }
4
- //# sourceMappingURL=Unique.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Unique.d.ts","sourceRoot":"","sources":["../../../../src/schema/fields/constraint/Unique.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,qBAAa,MAAO,SAAQ,UAAU;CAAG"}
@@ -1,4 +0,0 @@
1
- import { FieldGroup } from './FieldGroup.js';
2
- export class Unique extends FieldGroup {
3
- }
4
- //# sourceMappingURL=Unique.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Unique.js","sourceRoot":"","sources":["../../../../src/schema/fields/constraint/Unique.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,OAAO,MAAO,SAAQ,UAAU;CAAG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAIlE;AAED,eAAO,MAAM,QAAQ,UAAW,OAAO,KAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CACH,CAAC"}
package/dist/utils.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,KAAK,CAAoC,GAAM;IAC7D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;IAEhF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAoC,EAAE,CAC3E,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- export interface ValidateOptions {
2
- patch?: boolean;
3
- }
@@ -1,18 +0,0 @@
1
- import type { Fields } from '../schema/fields/Field.js';
2
- import type { SchemaView } from '../schema/SchemaView.js';
3
- import type { SchemaDescriptor } from './card/Descriptor.js';
4
- import { Card } from './card/Card.js';
5
-
6
- export type SchemaOrCard = SchemaView | SchemaDescriptor;
7
-
8
- function isDescriptor(source: SchemaOrCard): source is SchemaDescriptor {
9
- return typeof (source as SchemaView).getFields !== 'function';
10
- }
11
-
12
- export function schemaOf(source: SchemaOrCard): SchemaView {
13
- return isDescriptor(source) ? Card.fromDescriptor(source).toSchema() : source;
14
- }
15
-
16
- export function fieldsOf(source: SchemaOrCard): Fields {
17
- return schemaOf(source).getFields();
18
- }