@contember/schema-definition 1.4.0-rc.7 → 2.0.0-alpha.10

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 (861) hide show
  1. package/dist/development/index.cjs +122 -0
  2. package/dist/development/index.cjs.map +1 -0
  3. package/dist/development/index.js +117 -0
  4. package/dist/development/index.js.map +1 -0
  5. package/dist/development/src/acl/builder/EntityPermissionsBuilder.cjs +119 -0
  6. package/dist/development/src/acl/builder/EntityPermissionsBuilder.cjs.map +1 -0
  7. package/dist/development/src/acl/builder/EntityPermissionsBuilder.js +120 -0
  8. package/dist/development/src/acl/builder/EntityPermissionsBuilder.js.map +1 -0
  9. package/dist/development/src/acl/builder/EntitySelector.cjs +32 -0
  10. package/dist/development/src/acl/builder/EntitySelector.cjs.map +1 -0
  11. package/dist/development/src/acl/builder/EntitySelector.js +33 -0
  12. package/dist/development/src/acl/builder/EntitySelector.js.map +1 -0
  13. package/dist/development/src/acl/builder/FieldPermissionsBuilder.cjs +59 -0
  14. package/dist/development/src/acl/builder/FieldPermissionsBuilder.cjs.map +1 -0
  15. package/dist/development/src/acl/builder/FieldPermissionsBuilder.js +60 -0
  16. package/dist/development/src/acl/builder/FieldPermissionsBuilder.js.map +1 -0
  17. package/dist/development/src/acl/builder/FieldSelector.cjs +26 -0
  18. package/dist/development/src/acl/builder/FieldSelector.cjs.map +1 -0
  19. package/dist/development/src/acl/builder/FieldSelector.js +27 -0
  20. package/dist/development/src/acl/builder/FieldSelector.js.map +1 -0
  21. package/dist/development/src/acl/builder/PermissionOverrider.cjs +31 -0
  22. package/dist/development/src/acl/builder/PermissionOverrider.cjs.map +1 -0
  23. package/dist/development/src/acl/builder/PermissionOverrider.js +32 -0
  24. package/dist/development/src/acl/builder/PermissionOverrider.js.map +1 -0
  25. package/dist/development/src/acl/builder/PermissionsBuilder.cjs +58 -0
  26. package/dist/development/src/acl/builder/PermissionsBuilder.cjs.map +1 -0
  27. package/dist/development/src/acl/builder/PermissionsBuilder.js +58 -0
  28. package/dist/development/src/acl/builder/PermissionsBuilder.js.map +1 -0
  29. package/dist/development/src/acl/builder/PredicateReference.cjs +43 -0
  30. package/dist/development/src/acl/builder/PredicateReference.cjs.map +1 -0
  31. package/dist/development/src/acl/builder/PredicateReference.js +43 -0
  32. package/dist/development/src/acl/builder/PredicateReference.js.map +1 -0
  33. package/dist/development/src/acl/definition/customPrimary.cjs +14 -0
  34. package/dist/development/src/acl/definition/customPrimary.cjs.map +1 -0
  35. package/dist/development/src/acl/definition/customPrimary.js +14 -0
  36. package/dist/development/src/acl/definition/customPrimary.js.map +1 -0
  37. package/dist/development/src/acl/definition/index.cjs +27 -0
  38. package/dist/development/src/acl/definition/index.cjs.map +1 -0
  39. package/dist/development/src/acl/definition/index.js +27 -0
  40. package/dist/development/src/acl/definition/index.js.map +1 -0
  41. package/dist/development/src/acl/definition/internal/AclFactory.cjs +103 -0
  42. package/dist/development/src/acl/definition/internal/AclFactory.cjs.map +1 -0
  43. package/dist/development/src/acl/definition/internal/AclFactory.js +103 -0
  44. package/dist/development/src/acl/definition/internal/AclFactory.js.map +1 -0
  45. package/dist/development/src/acl/definition/internal/EntityPredicateResolver.cjs +151 -0
  46. package/dist/development/src/acl/definition/internal/EntityPredicateResolver.cjs.map +1 -0
  47. package/dist/development/src/acl/definition/internal/EntityPredicateResolver.js +151 -0
  48. package/dist/development/src/acl/definition/internal/EntityPredicateResolver.js.map +1 -0
  49. package/dist/development/src/acl/definition/internal/createPredicateName.cjs +8 -0
  50. package/dist/development/src/acl/definition/internal/createPredicateName.cjs.map +1 -0
  51. package/dist/development/src/acl/definition/internal/createPredicateName.js +8 -0
  52. package/dist/development/src/acl/definition/internal/createPredicateName.js.map +1 -0
  53. package/dist/development/src/acl/definition/internal/stores.cjs +10 -0
  54. package/dist/development/src/acl/definition/internal/stores.cjs.map +1 -0
  55. package/dist/development/src/acl/definition/internal/stores.js +10 -0
  56. package/dist/development/src/acl/definition/internal/stores.js.map +1 -0
  57. package/dist/development/src/acl/definition/permissions.cjs +12 -0
  58. package/dist/development/src/acl/definition/permissions.cjs.map +1 -0
  59. package/dist/development/src/acl/definition/permissions.js +12 -0
  60. package/dist/development/src/acl/definition/permissions.js.map +1 -0
  61. package/dist/development/src/acl/definition/references.cjs +26 -0
  62. package/dist/development/src/acl/definition/references.cjs.map +1 -0
  63. package/dist/development/src/acl/definition/references.js +26 -0
  64. package/dist/development/src/acl/definition/references.js.map +1 -0
  65. package/dist/development/src/acl/definition/roles.cjs +14 -0
  66. package/dist/development/src/acl/definition/roles.cjs.map +1 -0
  67. package/dist/development/src/acl/definition/roles.js +14 -0
  68. package/dist/development/src/acl/definition/roles.js.map +1 -0
  69. package/dist/development/src/acl/definition/variables.cjs +36 -0
  70. package/dist/development/src/acl/definition/variables.cjs.map +1 -0
  71. package/dist/development/src/acl/definition/variables.js +36 -0
  72. package/dist/development/src/acl/definition/variables.js.map +1 -0
  73. package/dist/development/src/actions/definition/index.cjs +15 -0
  74. package/dist/development/src/actions/definition/index.cjs.map +1 -0
  75. package/dist/development/src/actions/definition/index.js +15 -0
  76. package/dist/development/src/actions/definition/index.js.map +1 -0
  77. package/dist/development/src/actions/definition/internal/ActionsFactory.cjs +179 -0
  78. package/dist/development/src/actions/definition/internal/ActionsFactory.cjs.map +1 -0
  79. package/dist/development/src/actions/definition/internal/ActionsFactory.js +179 -0
  80. package/dist/development/src/actions/definition/internal/ActionsFactory.js.map +1 -0
  81. package/dist/development/src/actions/definition/internal/store.cjs +6 -0
  82. package/dist/development/src/actions/definition/internal/store.cjs.map +1 -0
  83. package/dist/development/src/actions/definition/internal/store.js +6 -0
  84. package/dist/development/src/actions/definition/internal/store.js.map +1 -0
  85. package/dist/development/src/actions/definition/targets.cjs +15 -0
  86. package/dist/development/src/actions/definition/targets.cjs.map +1 -0
  87. package/dist/development/src/actions/definition/targets.js +15 -0
  88. package/dist/development/src/actions/definition/targets.js.map +1 -0
  89. package/dist/development/src/actions/definition/triggers.cjs +12 -0
  90. package/dist/development/src/actions/definition/triggers.cjs.map +1 -0
  91. package/dist/development/src/actions/definition/triggers.js +12 -0
  92. package/dist/development/src/actions/definition/triggers.js.map +1 -0
  93. package/dist/development/src/createSchema.cjs +26 -0
  94. package/dist/development/src/createSchema.cjs.map +1 -0
  95. package/dist/development/src/createSchema.js +26 -0
  96. package/dist/development/src/createSchema.js.map +1 -0
  97. package/dist/development/src/model/builder/ColumnBuilder.cjs +36 -0
  98. package/dist/development/src/model/builder/ColumnBuilder.cjs.map +1 -0
  99. package/dist/development/src/model/builder/ColumnBuilder.js +37 -0
  100. package/dist/development/src/model/builder/ColumnBuilder.js.map +1 -0
  101. package/dist/development/src/model/builder/EntityBuilder.cjs +69 -0
  102. package/dist/development/src/model/builder/EntityBuilder.cjs.map +1 -0
  103. package/dist/development/src/model/builder/EntityBuilder.js +70 -0
  104. package/dist/development/src/model/builder/EntityBuilder.js.map +1 -0
  105. package/dist/development/src/model/builder/FieldBuilder.cjs +14 -0
  106. package/dist/development/src/model/builder/FieldBuilder.cjs.map +1 -0
  107. package/dist/development/src/model/builder/FieldBuilder.js +15 -0
  108. package/dist/development/src/model/builder/FieldBuilder.js.map +1 -0
  109. package/dist/development/src/model/builder/ManyHasManyBuilder.cjs +35 -0
  110. package/dist/development/src/model/builder/ManyHasManyBuilder.cjs.map +1 -0
  111. package/dist/development/src/model/builder/ManyHasManyBuilder.js +36 -0
  112. package/dist/development/src/model/builder/ManyHasManyBuilder.js.map +1 -0
  113. package/dist/development/src/model/builder/ManyHasOneBuilder.cjs +36 -0
  114. package/dist/development/src/model/builder/ManyHasOneBuilder.cjs.map +1 -0
  115. package/dist/development/src/model/builder/ManyHasOneBuilder.js +37 -0
  116. package/dist/development/src/model/builder/ManyHasOneBuilder.js.map +1 -0
  117. package/dist/development/src/model/builder/OneHasManyBuilder.cjs +44 -0
  118. package/dist/development/src/model/builder/OneHasManyBuilder.cjs.map +1 -0
  119. package/dist/development/src/model/builder/OneHasManyBuilder.js +45 -0
  120. package/dist/development/src/model/builder/OneHasManyBuilder.js.map +1 -0
  121. package/dist/development/src/model/builder/OneHasOneBuilder.cjs +46 -0
  122. package/dist/development/src/model/builder/OneHasOneBuilder.cjs.map +1 -0
  123. package/dist/development/src/model/builder/OneHasOneBuilder.js +47 -0
  124. package/dist/development/src/model/builder/OneHasOneBuilder.js.map +1 -0
  125. package/dist/development/src/model/builder/SchemaBuilder.cjs +40 -0
  126. package/dist/development/src/model/builder/SchemaBuilder.cjs.map +1 -0
  127. package/dist/development/src/model/builder/SchemaBuilder.js +40 -0
  128. package/dist/development/src/model/builder/SchemaBuilder.js.map +1 -0
  129. package/dist/development/src/model/builder/SchemaBuilderError.cjs +6 -0
  130. package/dist/development/src/model/builder/SchemaBuilderError.cjs.map +1 -0
  131. package/dist/development/src/model/builder/SchemaBuilderError.js +6 -0
  132. package/dist/development/src/model/builder/SchemaBuilderError.js.map +1 -0
  133. package/dist/development/src/model/builder/SchemaBuilderInternal.cjs +153 -0
  134. package/dist/development/src/model/builder/SchemaBuilderInternal.cjs.map +1 -0
  135. package/dist/development/src/model/builder/SchemaBuilderInternal.js +154 -0
  136. package/dist/development/src/model/builder/SchemaBuilderInternal.js.map +1 -0
  137. package/dist/development/src/model/builder/internal/ColumnProcessor.cjs +34 -0
  138. package/dist/development/src/model/builder/internal/ColumnProcessor.cjs.map +1 -0
  139. package/dist/development/src/model/builder/internal/ColumnProcessor.js +35 -0
  140. package/dist/development/src/model/builder/internal/ColumnProcessor.js.map +1 -0
  141. package/dist/development/src/model/builder/internal/ManyHasManyProcessor.cjs +54 -0
  142. package/dist/development/src/model/builder/internal/ManyHasManyProcessor.cjs.map +1 -0
  143. package/dist/development/src/model/builder/internal/ManyHasManyProcessor.js +55 -0
  144. package/dist/development/src/model/builder/internal/ManyHasManyProcessor.js.map +1 -0
  145. package/dist/development/src/model/builder/internal/ManyHasOneProcessor.cjs +46 -0
  146. package/dist/development/src/model/builder/internal/ManyHasOneProcessor.cjs.map +1 -0
  147. package/dist/development/src/model/builder/internal/ManyHasOneProcessor.js +47 -0
  148. package/dist/development/src/model/builder/internal/ManyHasOneProcessor.js.map +1 -0
  149. package/dist/development/src/model/builder/internal/OneHasManyProcessor.cjs +44 -0
  150. package/dist/development/src/model/builder/internal/OneHasManyProcessor.cjs.map +1 -0
  151. package/dist/development/src/model/builder/internal/OneHasManyProcessor.js +45 -0
  152. package/dist/development/src/model/builder/internal/OneHasManyProcessor.js.map +1 -0
  153. package/dist/development/src/model/builder/internal/OneHasOneProcessor.cjs +50 -0
  154. package/dist/development/src/model/builder/internal/OneHasOneProcessor.cjs.map +1 -0
  155. package/dist/development/src/model/builder/internal/OneHasOneProcessor.js +51 -0
  156. package/dist/development/src/model/builder/internal/OneHasOneProcessor.js.map +1 -0
  157. package/dist/development/src/model/definition/EnumDefinition.cjs +13 -0
  158. package/dist/development/src/model/definition/EnumDefinition.cjs.map +1 -0
  159. package/dist/development/src/model/definition/EnumDefinition.js +13 -0
  160. package/dist/development/src/model/definition/EnumDefinition.js.map +1 -0
  161. package/dist/development/src/model/definition/EventLogDefinition.cjs +9 -0
  162. package/dist/development/src/model/definition/EventLogDefinition.cjs.map +1 -0
  163. package/dist/development/src/model/definition/EventLogDefinition.js +9 -0
  164. package/dist/development/src/model/definition/EventLogDefinition.js.map +1 -0
  165. package/dist/development/src/model/definition/IndexDefinition.cjs +17 -0
  166. package/dist/development/src/model/definition/IndexDefinition.cjs.map +1 -0
  167. package/dist/development/src/model/definition/IndexDefinition.js +17 -0
  168. package/dist/development/src/model/definition/IndexDefinition.js.map +1 -0
  169. package/dist/development/src/model/definition/OrderByDefinition.cjs +30 -0
  170. package/dist/development/src/model/definition/OrderByDefinition.cjs.map +1 -0
  171. package/dist/development/src/model/definition/OrderByDefinition.js +30 -0
  172. package/dist/development/src/model/definition/OrderByDefinition.js.map +1 -0
  173. package/dist/development/src/model/definition/UniqueDefinition.cjs +17 -0
  174. package/dist/development/src/model/definition/UniqueDefinition.cjs.map +1 -0
  175. package/dist/development/src/model/definition/UniqueDefinition.js +17 -0
  176. package/dist/development/src/model/definition/UniqueDefinition.js.map +1 -0
  177. package/dist/development/src/model/definition/ViewDefinition.cjs +25 -0
  178. package/dist/development/src/model/definition/ViewDefinition.cjs.map +1 -0
  179. package/dist/development/src/model/definition/ViewDefinition.js +25 -0
  180. package/dist/development/src/model/definition/ViewDefinition.js.map +1 -0
  181. package/dist/development/src/model/definition/extensions.cjs +16 -0
  182. package/dist/development/src/model/definition/extensions.cjs.map +1 -0
  183. package/dist/development/src/model/definition/extensions.js +16 -0
  184. package/dist/development/src/model/definition/extensions.js.map +1 -0
  185. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +118 -0
  186. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +1 -0
  187. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js +118 -0
  188. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +1 -0
  189. package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.cjs +12 -0
  190. package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.cjs.map +1 -0
  191. package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.js +12 -0
  192. package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.js.map +1 -0
  193. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs +54 -0
  194. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs.map +1 -0
  195. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js +54 -0
  196. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js.map +1 -0
  197. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs +37 -0
  198. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs.map +1 -0
  199. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js +37 -0
  200. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js.map +1 -0
  201. package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs +57 -0
  202. package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs.map +1 -0
  203. package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js +57 -0
  204. package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js.map +1 -0
  205. package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs +33 -0
  206. package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs.map +1 -0
  207. package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.js +33 -0
  208. package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.js.map +1 -0
  209. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs +61 -0
  210. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs.map +1 -0
  211. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.js +61 -0
  212. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.js.map +1 -0
  213. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs +36 -0
  214. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs.map +1 -0
  215. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js +36 -0
  216. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map +1 -0
  217. package/dist/development/src/model/definition/index.cjs +80 -0
  218. package/dist/development/src/model/definition/index.cjs.map +1 -0
  219. package/dist/development/src/model/definition/index.js +81 -0
  220. package/dist/development/src/model/definition/index.js.map +1 -0
  221. package/dist/development/src/model/definition/internal/EntityRegistry.cjs +29 -0
  222. package/dist/development/src/model/definition/internal/EntityRegistry.cjs.map +1 -0
  223. package/dist/development/src/model/definition/internal/EntityRegistry.js +29 -0
  224. package/dist/development/src/model/definition/internal/EntityRegistry.js.map +1 -0
  225. package/dist/development/src/model/definition/internal/EnumRegistry.cjs +29 -0
  226. package/dist/development/src/model/definition/internal/EnumRegistry.cjs.map +1 -0
  227. package/dist/development/src/model/definition/internal/EnumRegistry.js +29 -0
  228. package/dist/development/src/model/definition/internal/EnumRegistry.js.map +1 -0
  229. package/dist/development/src/model/definition/internal/SchemaBuilder.cjs +92 -0
  230. package/dist/development/src/model/definition/internal/SchemaBuilder.cjs.map +1 -0
  231. package/dist/development/src/model/definition/internal/SchemaBuilder.js +92 -0
  232. package/dist/development/src/model/definition/internal/SchemaBuilder.js.map +1 -0
  233. package/dist/development/src/presets.cjs +25 -0
  234. package/dist/development/src/presets.cjs.map +1 -0
  235. package/dist/development/src/presets.js +25 -0
  236. package/dist/development/src/presets.js.map +1 -0
  237. package/dist/development/src/strict.cjs +31 -0
  238. package/dist/development/src/strict.cjs.map +1 -0
  239. package/dist/development/src/strict.js +31 -0
  240. package/dist/development/src/strict.js.map +1 -0
  241. package/dist/development/src/utils/MetadataStore.cjs +19 -0
  242. package/dist/development/src/utils/MetadataStore.cjs.map +1 -0
  243. package/dist/development/src/utils/MetadataStore.js +19 -0
  244. package/dist/development/src/utils/MetadataStore.js.map +1 -0
  245. package/dist/development/src/utils/assertNever.cjs +7 -0
  246. package/dist/development/src/utils/assertNever.cjs.map +1 -0
  247. package/dist/development/src/utils/assertNever.js +7 -0
  248. package/dist/development/src/utils/assertNever.js.map +1 -0
  249. package/dist/development/src/utils/filterEntityDefinition.cjs +9 -0
  250. package/dist/development/src/utils/filterEntityDefinition.cjs.map +1 -0
  251. package/dist/development/src/utils/filterEntityDefinition.js +9 -0
  252. package/dist/development/src/utils/filterEntityDefinition.js.map +1 -0
  253. package/dist/development/src/utils/tuple.cjs +5 -0
  254. package/dist/development/src/utils/tuple.cjs.map +1 -0
  255. package/dist/development/src/utils/tuple.js +5 -0
  256. package/dist/development/src/utils/tuple.js.map +1 -0
  257. package/dist/development/src/validation/index.cjs +199 -0
  258. package/dist/development/src/validation/index.cjs.map +1 -0
  259. package/dist/development/src/validation/index.js +199 -0
  260. package/dist/development/src/validation/index.js.map +1 -0
  261. package/dist/production/index.cjs +122 -0
  262. package/dist/production/index.cjs.map +1 -0
  263. package/dist/production/index.js +117 -0
  264. package/dist/production/index.js.map +1 -0
  265. package/dist/production/src/acl/builder/EntityPermissionsBuilder.cjs +119 -0
  266. package/dist/production/src/acl/builder/EntityPermissionsBuilder.cjs.map +1 -0
  267. package/dist/production/src/acl/builder/EntityPermissionsBuilder.js +120 -0
  268. package/dist/production/src/acl/builder/EntityPermissionsBuilder.js.map +1 -0
  269. package/dist/production/src/acl/builder/EntitySelector.cjs +32 -0
  270. package/dist/production/src/acl/builder/EntitySelector.cjs.map +1 -0
  271. package/dist/production/src/acl/builder/EntitySelector.js +33 -0
  272. package/dist/production/src/acl/builder/EntitySelector.js.map +1 -0
  273. package/dist/production/src/acl/builder/FieldPermissionsBuilder.cjs +59 -0
  274. package/dist/production/src/acl/builder/FieldPermissionsBuilder.cjs.map +1 -0
  275. package/dist/production/src/acl/builder/FieldPermissionsBuilder.js +60 -0
  276. package/dist/production/src/acl/builder/FieldPermissionsBuilder.js.map +1 -0
  277. package/dist/production/src/acl/builder/FieldSelector.cjs +26 -0
  278. package/dist/production/src/acl/builder/FieldSelector.cjs.map +1 -0
  279. package/dist/production/src/acl/builder/FieldSelector.js +27 -0
  280. package/dist/production/src/acl/builder/FieldSelector.js.map +1 -0
  281. package/dist/production/src/acl/builder/PermissionOverrider.cjs +31 -0
  282. package/dist/production/src/acl/builder/PermissionOverrider.cjs.map +1 -0
  283. package/dist/production/src/acl/builder/PermissionOverrider.js +32 -0
  284. package/dist/production/src/acl/builder/PermissionOverrider.js.map +1 -0
  285. package/dist/production/src/acl/builder/PermissionsBuilder.cjs +58 -0
  286. package/dist/production/src/acl/builder/PermissionsBuilder.cjs.map +1 -0
  287. package/dist/production/src/acl/builder/PermissionsBuilder.js +58 -0
  288. package/dist/production/src/acl/builder/PermissionsBuilder.js.map +1 -0
  289. package/dist/production/src/acl/builder/PredicateReference.cjs +43 -0
  290. package/dist/production/src/acl/builder/PredicateReference.cjs.map +1 -0
  291. package/dist/production/src/acl/builder/PredicateReference.js +43 -0
  292. package/dist/production/src/acl/builder/PredicateReference.js.map +1 -0
  293. package/dist/production/src/acl/definition/customPrimary.cjs +14 -0
  294. package/dist/production/src/acl/definition/customPrimary.cjs.map +1 -0
  295. package/dist/production/src/acl/definition/customPrimary.js +14 -0
  296. package/dist/production/src/acl/definition/customPrimary.js.map +1 -0
  297. package/dist/production/src/acl/definition/index.cjs +27 -0
  298. package/dist/production/src/acl/definition/index.cjs.map +1 -0
  299. package/dist/production/src/acl/definition/index.js +27 -0
  300. package/dist/production/src/acl/definition/index.js.map +1 -0
  301. package/dist/production/src/acl/definition/internal/AclFactory.cjs +103 -0
  302. package/dist/production/src/acl/definition/internal/AclFactory.cjs.map +1 -0
  303. package/dist/production/src/acl/definition/internal/AclFactory.js +103 -0
  304. package/dist/production/src/acl/definition/internal/AclFactory.js.map +1 -0
  305. package/dist/production/src/acl/definition/internal/EntityPredicateResolver.cjs +151 -0
  306. package/dist/production/src/acl/definition/internal/EntityPredicateResolver.cjs.map +1 -0
  307. package/dist/production/src/acl/definition/internal/EntityPredicateResolver.js +151 -0
  308. package/dist/production/src/acl/definition/internal/EntityPredicateResolver.js.map +1 -0
  309. package/dist/production/src/acl/definition/internal/createPredicateName.cjs +8 -0
  310. package/dist/production/src/acl/definition/internal/createPredicateName.cjs.map +1 -0
  311. package/dist/production/src/acl/definition/internal/createPredicateName.js +8 -0
  312. package/dist/production/src/acl/definition/internal/createPredicateName.js.map +1 -0
  313. package/dist/production/src/acl/definition/internal/stores.cjs +10 -0
  314. package/dist/production/src/acl/definition/internal/stores.cjs.map +1 -0
  315. package/dist/production/src/acl/definition/internal/stores.js +10 -0
  316. package/dist/production/src/acl/definition/internal/stores.js.map +1 -0
  317. package/dist/production/src/acl/definition/permissions.cjs +12 -0
  318. package/dist/production/src/acl/definition/permissions.cjs.map +1 -0
  319. package/dist/production/src/acl/definition/permissions.js +12 -0
  320. package/dist/production/src/acl/definition/permissions.js.map +1 -0
  321. package/dist/production/src/acl/definition/references.cjs +26 -0
  322. package/dist/production/src/acl/definition/references.cjs.map +1 -0
  323. package/dist/production/src/acl/definition/references.js +26 -0
  324. package/dist/production/src/acl/definition/references.js.map +1 -0
  325. package/dist/production/src/acl/definition/roles.cjs +14 -0
  326. package/dist/production/src/acl/definition/roles.cjs.map +1 -0
  327. package/dist/production/src/acl/definition/roles.js +14 -0
  328. package/dist/production/src/acl/definition/roles.js.map +1 -0
  329. package/dist/production/src/acl/definition/variables.cjs +36 -0
  330. package/dist/production/src/acl/definition/variables.cjs.map +1 -0
  331. package/dist/production/src/acl/definition/variables.js +36 -0
  332. package/dist/production/src/acl/definition/variables.js.map +1 -0
  333. package/dist/production/src/actions/definition/index.cjs +15 -0
  334. package/dist/production/src/actions/definition/index.cjs.map +1 -0
  335. package/dist/production/src/actions/definition/index.js +15 -0
  336. package/dist/production/src/actions/definition/index.js.map +1 -0
  337. package/dist/production/src/actions/definition/internal/ActionsFactory.cjs +179 -0
  338. package/dist/production/src/actions/definition/internal/ActionsFactory.cjs.map +1 -0
  339. package/dist/production/src/actions/definition/internal/ActionsFactory.js +179 -0
  340. package/dist/production/src/actions/definition/internal/ActionsFactory.js.map +1 -0
  341. package/dist/production/src/actions/definition/internal/store.cjs +6 -0
  342. package/dist/production/src/actions/definition/internal/store.cjs.map +1 -0
  343. package/dist/production/src/actions/definition/internal/store.js +6 -0
  344. package/dist/production/src/actions/definition/internal/store.js.map +1 -0
  345. package/dist/production/src/actions/definition/targets.cjs +15 -0
  346. package/dist/production/src/actions/definition/targets.cjs.map +1 -0
  347. package/dist/production/src/actions/definition/targets.js +15 -0
  348. package/dist/production/src/actions/definition/targets.js.map +1 -0
  349. package/dist/production/src/actions/definition/triggers.cjs +12 -0
  350. package/dist/production/src/actions/definition/triggers.cjs.map +1 -0
  351. package/dist/production/src/actions/definition/triggers.js +12 -0
  352. package/dist/production/src/actions/definition/triggers.js.map +1 -0
  353. package/dist/production/src/createSchema.cjs +26 -0
  354. package/dist/production/src/createSchema.cjs.map +1 -0
  355. package/dist/production/src/createSchema.js +26 -0
  356. package/dist/production/src/createSchema.js.map +1 -0
  357. package/dist/production/src/model/builder/ColumnBuilder.cjs +36 -0
  358. package/dist/production/src/model/builder/ColumnBuilder.cjs.map +1 -0
  359. package/dist/production/src/model/builder/ColumnBuilder.js +37 -0
  360. package/dist/production/src/model/builder/ColumnBuilder.js.map +1 -0
  361. package/dist/production/src/model/builder/EntityBuilder.cjs +69 -0
  362. package/dist/production/src/model/builder/EntityBuilder.cjs.map +1 -0
  363. package/dist/production/src/model/builder/EntityBuilder.js +70 -0
  364. package/dist/production/src/model/builder/EntityBuilder.js.map +1 -0
  365. package/dist/production/src/model/builder/FieldBuilder.cjs +14 -0
  366. package/dist/production/src/model/builder/FieldBuilder.cjs.map +1 -0
  367. package/dist/production/src/model/builder/FieldBuilder.js +15 -0
  368. package/dist/production/src/model/builder/FieldBuilder.js.map +1 -0
  369. package/dist/production/src/model/builder/ManyHasManyBuilder.cjs +35 -0
  370. package/dist/production/src/model/builder/ManyHasManyBuilder.cjs.map +1 -0
  371. package/dist/production/src/model/builder/ManyHasManyBuilder.js +36 -0
  372. package/dist/production/src/model/builder/ManyHasManyBuilder.js.map +1 -0
  373. package/dist/production/src/model/builder/ManyHasOneBuilder.cjs +36 -0
  374. package/dist/production/src/model/builder/ManyHasOneBuilder.cjs.map +1 -0
  375. package/dist/production/src/model/builder/ManyHasOneBuilder.js +37 -0
  376. package/dist/production/src/model/builder/ManyHasOneBuilder.js.map +1 -0
  377. package/dist/production/src/model/builder/OneHasManyBuilder.cjs +44 -0
  378. package/dist/production/src/model/builder/OneHasManyBuilder.cjs.map +1 -0
  379. package/dist/production/src/model/builder/OneHasManyBuilder.js +45 -0
  380. package/dist/production/src/model/builder/OneHasManyBuilder.js.map +1 -0
  381. package/dist/production/src/model/builder/OneHasOneBuilder.cjs +46 -0
  382. package/dist/production/src/model/builder/OneHasOneBuilder.cjs.map +1 -0
  383. package/dist/production/src/model/builder/OneHasOneBuilder.js +47 -0
  384. package/dist/production/src/model/builder/OneHasOneBuilder.js.map +1 -0
  385. package/dist/production/src/model/builder/SchemaBuilder.cjs +40 -0
  386. package/dist/production/src/model/builder/SchemaBuilder.cjs.map +1 -0
  387. package/dist/production/src/model/builder/SchemaBuilder.js +40 -0
  388. package/dist/production/src/model/builder/SchemaBuilder.js.map +1 -0
  389. package/dist/production/src/model/builder/SchemaBuilderError.cjs +6 -0
  390. package/dist/production/src/model/builder/SchemaBuilderError.cjs.map +1 -0
  391. package/dist/production/src/model/builder/SchemaBuilderError.js +6 -0
  392. package/dist/production/src/model/builder/SchemaBuilderError.js.map +1 -0
  393. package/dist/production/src/model/builder/SchemaBuilderInternal.cjs +153 -0
  394. package/dist/production/src/model/builder/SchemaBuilderInternal.cjs.map +1 -0
  395. package/dist/production/src/model/builder/SchemaBuilderInternal.js +154 -0
  396. package/dist/production/src/model/builder/SchemaBuilderInternal.js.map +1 -0
  397. package/dist/production/src/model/builder/internal/ColumnProcessor.cjs +34 -0
  398. package/dist/production/src/model/builder/internal/ColumnProcessor.cjs.map +1 -0
  399. package/dist/production/src/model/builder/internal/ColumnProcessor.js +35 -0
  400. package/dist/production/src/model/builder/internal/ColumnProcessor.js.map +1 -0
  401. package/dist/production/src/model/builder/internal/ManyHasManyProcessor.cjs +54 -0
  402. package/dist/production/src/model/builder/internal/ManyHasManyProcessor.cjs.map +1 -0
  403. package/dist/production/src/model/builder/internal/ManyHasManyProcessor.js +55 -0
  404. package/dist/production/src/model/builder/internal/ManyHasManyProcessor.js.map +1 -0
  405. package/dist/production/src/model/builder/internal/ManyHasOneProcessor.cjs +46 -0
  406. package/dist/production/src/model/builder/internal/ManyHasOneProcessor.cjs.map +1 -0
  407. package/dist/production/src/model/builder/internal/ManyHasOneProcessor.js +47 -0
  408. package/dist/production/src/model/builder/internal/ManyHasOneProcessor.js.map +1 -0
  409. package/dist/production/src/model/builder/internal/OneHasManyProcessor.cjs +44 -0
  410. package/dist/production/src/model/builder/internal/OneHasManyProcessor.cjs.map +1 -0
  411. package/dist/production/src/model/builder/internal/OneHasManyProcessor.js +45 -0
  412. package/dist/production/src/model/builder/internal/OneHasManyProcessor.js.map +1 -0
  413. package/dist/production/src/model/builder/internal/OneHasOneProcessor.cjs +50 -0
  414. package/dist/production/src/model/builder/internal/OneHasOneProcessor.cjs.map +1 -0
  415. package/dist/production/src/model/builder/internal/OneHasOneProcessor.js +51 -0
  416. package/dist/production/src/model/builder/internal/OneHasOneProcessor.js.map +1 -0
  417. package/dist/production/src/model/definition/EnumDefinition.cjs +13 -0
  418. package/dist/production/src/model/definition/EnumDefinition.cjs.map +1 -0
  419. package/dist/production/src/model/definition/EnumDefinition.js +13 -0
  420. package/dist/production/src/model/definition/EnumDefinition.js.map +1 -0
  421. package/dist/production/src/model/definition/EventLogDefinition.cjs +9 -0
  422. package/dist/production/src/model/definition/EventLogDefinition.cjs.map +1 -0
  423. package/dist/production/src/model/definition/EventLogDefinition.js +9 -0
  424. package/dist/production/src/model/definition/EventLogDefinition.js.map +1 -0
  425. package/dist/production/src/model/definition/IndexDefinition.cjs +17 -0
  426. package/dist/production/src/model/definition/IndexDefinition.cjs.map +1 -0
  427. package/dist/production/src/model/definition/IndexDefinition.js +17 -0
  428. package/dist/production/src/model/definition/IndexDefinition.js.map +1 -0
  429. package/dist/production/src/model/definition/OrderByDefinition.cjs +30 -0
  430. package/dist/production/src/model/definition/OrderByDefinition.cjs.map +1 -0
  431. package/dist/production/src/model/definition/OrderByDefinition.js +30 -0
  432. package/dist/production/src/model/definition/OrderByDefinition.js.map +1 -0
  433. package/dist/production/src/model/definition/UniqueDefinition.cjs +17 -0
  434. package/dist/production/src/model/definition/UniqueDefinition.cjs.map +1 -0
  435. package/dist/production/src/model/definition/UniqueDefinition.js +17 -0
  436. package/dist/production/src/model/definition/UniqueDefinition.js.map +1 -0
  437. package/dist/production/src/model/definition/ViewDefinition.cjs +25 -0
  438. package/dist/production/src/model/definition/ViewDefinition.cjs.map +1 -0
  439. package/dist/production/src/model/definition/ViewDefinition.js +25 -0
  440. package/dist/production/src/model/definition/ViewDefinition.js.map +1 -0
  441. package/dist/production/src/model/definition/extensions.cjs +16 -0
  442. package/dist/production/src/model/definition/extensions.cjs.map +1 -0
  443. package/dist/production/src/model/definition/extensions.js +16 -0
  444. package/dist/production/src/model/definition/extensions.js.map +1 -0
  445. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +118 -0
  446. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +1 -0
  447. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js +118 -0
  448. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +1 -0
  449. package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.cjs +12 -0
  450. package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.cjs.map +1 -0
  451. package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.js +12 -0
  452. package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.js.map +1 -0
  453. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs +54 -0
  454. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs.map +1 -0
  455. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js +54 -0
  456. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js.map +1 -0
  457. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs +37 -0
  458. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs.map +1 -0
  459. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js +37 -0
  460. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js.map +1 -0
  461. package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs +57 -0
  462. package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs.map +1 -0
  463. package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js +57 -0
  464. package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js.map +1 -0
  465. package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs +33 -0
  466. package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs.map +1 -0
  467. package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.js +33 -0
  468. package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.js.map +1 -0
  469. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs +61 -0
  470. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs.map +1 -0
  471. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.js +61 -0
  472. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.js.map +1 -0
  473. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs +36 -0
  474. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs.map +1 -0
  475. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js +36 -0
  476. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map +1 -0
  477. package/dist/production/src/model/definition/index.cjs +80 -0
  478. package/dist/production/src/model/definition/index.cjs.map +1 -0
  479. package/dist/production/src/model/definition/index.js +81 -0
  480. package/dist/production/src/model/definition/index.js.map +1 -0
  481. package/dist/production/src/model/definition/internal/EntityRegistry.cjs +29 -0
  482. package/dist/production/src/model/definition/internal/EntityRegistry.cjs.map +1 -0
  483. package/dist/production/src/model/definition/internal/EntityRegistry.js +29 -0
  484. package/dist/production/src/model/definition/internal/EntityRegistry.js.map +1 -0
  485. package/dist/production/src/model/definition/internal/EnumRegistry.cjs +29 -0
  486. package/dist/production/src/model/definition/internal/EnumRegistry.cjs.map +1 -0
  487. package/dist/production/src/model/definition/internal/EnumRegistry.js +29 -0
  488. package/dist/production/src/model/definition/internal/EnumRegistry.js.map +1 -0
  489. package/dist/production/src/model/definition/internal/SchemaBuilder.cjs +92 -0
  490. package/dist/production/src/model/definition/internal/SchemaBuilder.cjs.map +1 -0
  491. package/dist/production/src/model/definition/internal/SchemaBuilder.js +92 -0
  492. package/dist/production/src/model/definition/internal/SchemaBuilder.js.map +1 -0
  493. package/dist/production/src/presets.cjs +25 -0
  494. package/dist/production/src/presets.cjs.map +1 -0
  495. package/dist/production/src/presets.js +25 -0
  496. package/dist/production/src/presets.js.map +1 -0
  497. package/dist/production/src/strict.cjs +31 -0
  498. package/dist/production/src/strict.cjs.map +1 -0
  499. package/dist/production/src/strict.js +31 -0
  500. package/dist/production/src/strict.js.map +1 -0
  501. package/dist/production/src/utils/MetadataStore.cjs +19 -0
  502. package/dist/production/src/utils/MetadataStore.cjs.map +1 -0
  503. package/dist/production/src/utils/MetadataStore.js +19 -0
  504. package/dist/production/src/utils/MetadataStore.js.map +1 -0
  505. package/dist/production/src/utils/assertNever.cjs +7 -0
  506. package/dist/production/src/utils/assertNever.cjs.map +1 -0
  507. package/dist/production/src/utils/assertNever.js +7 -0
  508. package/dist/production/src/utils/assertNever.js.map +1 -0
  509. package/dist/production/src/utils/filterEntityDefinition.cjs +9 -0
  510. package/dist/production/src/utils/filterEntityDefinition.cjs.map +1 -0
  511. package/dist/production/src/utils/filterEntityDefinition.js +9 -0
  512. package/dist/production/src/utils/filterEntityDefinition.js.map +1 -0
  513. package/dist/production/src/utils/tuple.cjs +5 -0
  514. package/dist/production/src/utils/tuple.cjs.map +1 -0
  515. package/dist/production/src/utils/tuple.js +5 -0
  516. package/dist/production/src/utils/tuple.js.map +1 -0
  517. package/dist/production/src/validation/index.cjs +199 -0
  518. package/dist/production/src/validation/index.cjs.map +1 -0
  519. package/dist/production/src/validation/index.js +199 -0
  520. package/dist/production/src/validation/index.js.map +1 -0
  521. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  522. package/dist/types/acl/builder/PermissionsBuilder.d.ts.map +1 -0
  523. package/dist/types/acl/builder/PredicateReference.d.ts.map +1 -0
  524. package/dist/types/acl/definition/customPrimary.d.ts.map +1 -0
  525. package/dist/types/acl/definition/index.d.ts.map +1 -0
  526. package/dist/types/acl/definition/permissions.d.ts.map +1 -0
  527. package/dist/types/acl/definition/references.d.ts.map +1 -0
  528. package/dist/types/acl/definition/roles.d.ts.map +1 -0
  529. package/dist/types/acl/definition/variables.d.ts.map +1 -0
  530. package/dist/types/actions/definition/index.d.ts.map +1 -0
  531. package/dist/types/actions/definition/targets.d.ts +10 -0
  532. package/dist/types/actions/definition/targets.d.ts.map +1 -0
  533. package/dist/types/actions/definition/triggers.d.ts.map +1 -0
  534. package/dist/types/createSchema.d.ts +6 -0
  535. package/dist/types/createSchema.d.ts.map +1 -0
  536. package/dist/types/index.d.ts +85 -0
  537. package/dist/types/index.d.ts.map +1 -0
  538. package/dist/types/model/definition/ViewDefinition.d.ts +5 -0
  539. package/dist/types/model/definition/ViewDefinition.d.ts.map +1 -0
  540. package/dist/types/model/definition/extensions.d.ts.map +1 -0
  541. package/dist/types/model/definition/index.d.ts +27 -0
  542. package/dist/types/model/definition/index.d.ts.map +1 -0
  543. package/dist/types/model/definition/types.d.ts +9 -0
  544. package/dist/types/model/definition/types.d.ts.map +1 -0
  545. package/dist/types/tsconfig.tsbuildinfo +1 -0
  546. package/dist/types/utils/MetadataStore.d.ts.map +1 -0
  547. package/dist/types/utils/filterEntityDefinition.d.ts.map +1 -0
  548. package/dist/types/utils/tuple.d.ts.map +1 -0
  549. package/dist/types/validation/index.d.ts.map +1 -0
  550. package/package.json +23 -11
  551. package/src/model/definition/index.ts +1 -1
  552. package/src/model/definition/types.ts +1 -1
  553. package/src/tsconfig.json +1 -1
  554. package/vitest.config.ts +3 -0
  555. package/dist/src/acl/builder/EntityPermissionsBuilder.js +0 -102
  556. package/dist/src/acl/builder/EntityPermissionsBuilder.js.map +0 -1
  557. package/dist/src/acl/builder/EntitySelector.js +0 -32
  558. package/dist/src/acl/builder/EntitySelector.js.map +0 -1
  559. package/dist/src/acl/builder/FieldPermissionsBuilder.js +0 -60
  560. package/dist/src/acl/builder/FieldPermissionsBuilder.js.map +0 -1
  561. package/dist/src/acl/builder/FieldSelector.js +0 -27
  562. package/dist/src/acl/builder/FieldSelector.js.map +0 -1
  563. package/dist/src/acl/builder/PermissionOverrider.js +0 -38
  564. package/dist/src/acl/builder/PermissionOverrider.js.map +0 -1
  565. package/dist/src/acl/builder/PermissionsBuilder.d.ts.map +0 -1
  566. package/dist/src/acl/builder/PermissionsBuilder.js +0 -58
  567. package/dist/src/acl/builder/PermissionsBuilder.js.map +0 -1
  568. package/dist/src/acl/builder/PredicateReference.d.ts.map +0 -1
  569. package/dist/src/acl/builder/PredicateReference.js +0 -36
  570. package/dist/src/acl/builder/PredicateReference.js.map +0 -1
  571. package/dist/src/acl/definition/customPrimary.d.ts.map +0 -1
  572. package/dist/src/acl/definition/customPrimary.js +0 -16
  573. package/dist/src/acl/definition/customPrimary.js.map +0 -1
  574. package/dist/src/acl/definition/index.d.ts.map +0 -1
  575. package/dist/src/acl/definition/index.js +0 -29
  576. package/dist/src/acl/definition/index.js.map +0 -1
  577. package/dist/src/acl/definition/internal/AclFactory.js +0 -106
  578. package/dist/src/acl/definition/internal/AclFactory.js.map +0 -1
  579. package/dist/src/acl/definition/internal/EntityPredicateResolver.js +0 -153
  580. package/dist/src/acl/definition/internal/EntityPredicateResolver.js.map +0 -1
  581. package/dist/src/acl/definition/internal/createPredicateName.js +0 -9
  582. package/dist/src/acl/definition/internal/createPredicateName.js.map +0 -1
  583. package/dist/src/acl/definition/internal/stores.js +0 -8
  584. package/dist/src/acl/definition/internal/stores.js.map +0 -1
  585. package/dist/src/acl/definition/permissions.d.ts.map +0 -1
  586. package/dist/src/acl/definition/permissions.js +0 -13
  587. package/dist/src/acl/definition/permissions.js.map +0 -1
  588. package/dist/src/acl/definition/references.d.ts.map +0 -1
  589. package/dist/src/acl/definition/references.js +0 -27
  590. package/dist/src/acl/definition/references.js.map +0 -1
  591. package/dist/src/acl/definition/roles.d.ts.map +0 -1
  592. package/dist/src/acl/definition/roles.js +0 -15
  593. package/dist/src/acl/definition/roles.js.map +0 -1
  594. package/dist/src/acl/definition/variables.d.ts.map +0 -1
  595. package/dist/src/acl/definition/variables.js +0 -25
  596. package/dist/src/acl/definition/variables.js.map +0 -1
  597. package/dist/src/actions/definition/index.d.ts.map +0 -1
  598. package/dist/src/actions/definition/index.js +0 -26
  599. package/dist/src/actions/definition/index.js.map +0 -1
  600. package/dist/src/actions/definition/internal/ActionsFactory.js +0 -183
  601. package/dist/src/actions/definition/internal/ActionsFactory.js.map +0 -1
  602. package/dist/src/actions/definition/internal/store.js +0 -6
  603. package/dist/src/actions/definition/internal/store.js.map +0 -1
  604. package/dist/src/actions/definition/targets.d.ts +0 -10
  605. package/dist/src/actions/definition/targets.d.ts.map +0 -1
  606. package/dist/src/actions/definition/targets.js +0 -13
  607. package/dist/src/actions/definition/targets.js.map +0 -1
  608. package/dist/src/actions/definition/triggers.d.ts.map +0 -1
  609. package/dist/src/actions/definition/triggers.js +0 -13
  610. package/dist/src/actions/definition/triggers.js.map +0 -1
  611. package/dist/src/createSchema.d.ts +0 -6
  612. package/dist/src/createSchema.d.ts.map +0 -1
  613. package/dist/src/createSchema.js +0 -24
  614. package/dist/src/createSchema.js.map +0 -1
  615. package/dist/src/index.d.ts +0 -85
  616. package/dist/src/index.d.ts.map +0 -1
  617. package/dist/src/index.js +0 -95
  618. package/dist/src/index.js.map +0 -1
  619. package/dist/src/model/builder/ColumnBuilder.js +0 -37
  620. package/dist/src/model/builder/ColumnBuilder.js.map +0 -1
  621. package/dist/src/model/builder/EntityBuilder.js +0 -61
  622. package/dist/src/model/builder/EntityBuilder.js.map +0 -1
  623. package/dist/src/model/builder/FieldBuilder.js +0 -15
  624. package/dist/src/model/builder/FieldBuilder.js.map +0 -1
  625. package/dist/src/model/builder/ManyHasManyBuilder.js +0 -33
  626. package/dist/src/model/builder/ManyHasManyBuilder.js.map +0 -1
  627. package/dist/src/model/builder/ManyHasOneBuilder.js +0 -34
  628. package/dist/src/model/builder/ManyHasOneBuilder.js.map +0 -1
  629. package/dist/src/model/builder/OneHasManyBuilder.js +0 -42
  630. package/dist/src/model/builder/OneHasManyBuilder.js.map +0 -1
  631. package/dist/src/model/builder/OneHasOneBuilder.js +0 -44
  632. package/dist/src/model/builder/OneHasOneBuilder.js.map +0 -1
  633. package/dist/src/model/builder/SchemaBuilder.js +0 -52
  634. package/dist/src/model/builder/SchemaBuilder.js.map +0 -1
  635. package/dist/src/model/builder/SchemaBuilderError.js +0 -7
  636. package/dist/src/model/builder/SchemaBuilderError.js.map +0 -1
  637. package/dist/src/model/builder/SchemaBuilderInternal.js +0 -146
  638. package/dist/src/model/builder/SchemaBuilderInternal.js.map +0 -1
  639. package/dist/src/model/builder/internal/ColumnProcessor.js +0 -32
  640. package/dist/src/model/builder/internal/ColumnProcessor.js.map +0 -1
  641. package/dist/src/model/builder/internal/FieldProcessor.js +0 -3
  642. package/dist/src/model/builder/internal/FieldProcessor.js.map +0 -1
  643. package/dist/src/model/builder/internal/ManyHasManyProcessor.js +0 -46
  644. package/dist/src/model/builder/internal/ManyHasManyProcessor.js.map +0 -1
  645. package/dist/src/model/builder/internal/ManyHasOneProcessor.js +0 -39
  646. package/dist/src/model/builder/internal/ManyHasOneProcessor.js.map +0 -1
  647. package/dist/src/model/builder/internal/OneHasManyProcessor.js +0 -41
  648. package/dist/src/model/builder/internal/OneHasManyProcessor.js.map +0 -1
  649. package/dist/src/model/builder/internal/OneHasOneProcessor.js +0 -40
  650. package/dist/src/model/builder/internal/OneHasOneProcessor.js.map +0 -1
  651. package/dist/src/model/builder/types.js +0 -3
  652. package/dist/src/model/builder/types.js.map +0 -1
  653. package/dist/src/model/definition/EnumDefinition.js +0 -14
  654. package/dist/src/model/definition/EnumDefinition.js.map +0 -1
  655. package/dist/src/model/definition/EventLogDefinition.js +0 -10
  656. package/dist/src/model/definition/EventLogDefinition.js.map +0 -1
  657. package/dist/src/model/definition/IndexDefinition.js +0 -18
  658. package/dist/src/model/definition/IndexDefinition.js.map +0 -1
  659. package/dist/src/model/definition/OrderByDefinition.js +0 -33
  660. package/dist/src/model/definition/OrderByDefinition.js.map +0 -1
  661. package/dist/src/model/definition/UniqueDefinition.js +0 -20
  662. package/dist/src/model/definition/UniqueDefinition.js.map +0 -1
  663. package/dist/src/model/definition/ViewDefinition.d.ts +0 -5
  664. package/dist/src/model/definition/ViewDefinition.d.ts.map +0 -1
  665. package/dist/src/model/definition/ViewDefinition.js +0 -26
  666. package/dist/src/model/definition/ViewDefinition.js.map +0 -1
  667. package/dist/src/model/definition/context.js +0 -3
  668. package/dist/src/model/definition/context.js.map +0 -1
  669. package/dist/src/model/definition/extensions.d.ts.map +0 -1
  670. package/dist/src/model/definition/extensions.js +0 -14
  671. package/dist/src/model/definition/extensions.js.map +0 -1
  672. package/dist/src/model/definition/fieldDefinitions/ColumnDefinition.js +0 -117
  673. package/dist/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +0 -1
  674. package/dist/src/model/definition/fieldDefinitions/FieldDefinition.js +0 -13
  675. package/dist/src/model/definition/fieldDefinitions/FieldDefinition.js.map +0 -1
  676. package/dist/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js +0 -47
  677. package/dist/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js.map +0 -1
  678. package/dist/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js +0 -36
  679. package/dist/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js.map +0 -1
  680. package/dist/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js +0 -55
  681. package/dist/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js.map +0 -1
  682. package/dist/src/model/definition/fieldDefinitions/OneHasManyDefinition.js +0 -31
  683. package/dist/src/model/definition/fieldDefinitions/OneHasManyDefinition.js.map +0 -1
  684. package/dist/src/model/definition/fieldDefinitions/OneHasOneDefinition.js +0 -59
  685. package/dist/src/model/definition/fieldDefinitions/OneHasOneDefinition.js.map +0 -1
  686. package/dist/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js +0 -35
  687. package/dist/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map +0 -1
  688. package/dist/src/model/definition/fieldDefinitions/index.js +0 -25
  689. package/dist/src/model/definition/fieldDefinitions/index.js.map +0 -1
  690. package/dist/src/model/definition/index.d.ts +0 -27
  691. package/dist/src/model/definition/index.d.ts.map +0 -1
  692. package/dist/src/model/definition/index.js +0 -53
  693. package/dist/src/model/definition/index.js.map +0 -1
  694. package/dist/src/model/definition/internal/EntityRegistry.js +0 -27
  695. package/dist/src/model/definition/internal/EntityRegistry.js.map +0 -1
  696. package/dist/src/model/definition/internal/EnumRegistry.js +0 -27
  697. package/dist/src/model/definition/internal/EnumRegistry.js.map +0 -1
  698. package/dist/src/model/definition/internal/SchemaBuilder.js +0 -92
  699. package/dist/src/model/definition/internal/SchemaBuilder.js.map +0 -1
  700. package/dist/src/model/definition/internal/index.js +0 -20
  701. package/dist/src/model/definition/internal/index.js.map +0 -1
  702. package/dist/src/model/definition/types.d.ts +0 -9
  703. package/dist/src/model/definition/types.d.ts.map +0 -1
  704. package/dist/src/model/definition/types.js +0 -3
  705. package/dist/src/model/definition/types.js.map +0 -1
  706. package/dist/src/model/index.js +0 -20
  707. package/dist/src/model/index.js.map +0 -1
  708. package/dist/src/presets.js +0 -23
  709. package/dist/src/presets.js.map +0 -1
  710. package/dist/src/strict.js +0 -28
  711. package/dist/src/strict.js.map +0 -1
  712. package/dist/src/tsconfig.tsbuildinfo +0 -1
  713. package/dist/src/utils/MetadataStore.d.ts.map +0 -1
  714. package/dist/src/utils/MetadataStore.js +0 -22
  715. package/dist/src/utils/MetadataStore.js.map +0 -1
  716. package/dist/src/utils/assertNever.js +0 -8
  717. package/dist/src/utils/assertNever.js.map +0 -1
  718. package/dist/src/utils/decorators.js +0 -3
  719. package/dist/src/utils/decorators.js.map +0 -1
  720. package/dist/src/utils/filterEntityDefinition.d.ts.map +0 -1
  721. package/dist/src/utils/filterEntityDefinition.js +0 -11
  722. package/dist/src/utils/filterEntityDefinition.js.map +0 -1
  723. package/dist/src/utils/index.js +0 -22
  724. package/dist/src/utils/index.js.map +0 -1
  725. package/dist/src/utils/tuple.d.ts.map +0 -1
  726. package/dist/src/utils/tuple.js +0 -6
  727. package/dist/src/utils/tuple.js.map +0 -1
  728. package/dist/src/validation/index.d.ts.map +0 -1
  729. package/dist/src/validation/index.js +0 -190
  730. package/dist/src/validation/index.js.map +0 -1
  731. package/dist/tests/cases/unit/createSchema.test.js +0 -137
  732. package/dist/tests/cases/unit/createSchema.test.js.map +0 -1
  733. package/dist/tests/cases/unit/extendEntity.test.js +0 -40
  734. package/dist/tests/cases/unit/extendEntity.test.js.map +0 -1
  735. package/dist/tests/cases/unit/orderBy.test.js +0 -102
  736. package/dist/tests/cases/unit/orderBy.test.js.map +0 -1
  737. package/dist/tests/cases/unit/readAclDefinitions.test.js +0 -629
  738. package/dist/tests/cases/unit/readAclDefinitions.test.js.map +0 -1
  739. package/dist/tests/cases/unit/readActions.test.js +0 -109
  740. package/dist/tests/cases/unit/readActions.test.js.map +0 -1
  741. /package/dist/{src → types}/acl/builder/EntityPermissionsBuilder.d.ts +0 -0
  742. /package/dist/{src → types}/acl/builder/EntityPermissionsBuilder.d.ts.map +0 -0
  743. /package/dist/{src → types}/acl/builder/EntitySelector.d.ts +0 -0
  744. /package/dist/{src → types}/acl/builder/EntitySelector.d.ts.map +0 -0
  745. /package/dist/{src → types}/acl/builder/FieldPermissionsBuilder.d.ts +0 -0
  746. /package/dist/{src → types}/acl/builder/FieldPermissionsBuilder.d.ts.map +0 -0
  747. /package/dist/{src → types}/acl/builder/FieldSelector.d.ts +0 -0
  748. /package/dist/{src → types}/acl/builder/FieldSelector.d.ts.map +0 -0
  749. /package/dist/{src → types}/acl/builder/PermissionOverrider.d.ts +0 -0
  750. /package/dist/{src → types}/acl/builder/PermissionOverrider.d.ts.map +0 -0
  751. /package/dist/{src → types}/acl/builder/PermissionsBuilder.d.ts +0 -0
  752. /package/dist/{src → types}/acl/builder/PredicateReference.d.ts +0 -0
  753. /package/dist/{src → types}/acl/definition/customPrimary.d.ts +0 -0
  754. /package/dist/{src → types}/acl/definition/index.d.ts +0 -0
  755. /package/dist/{src → types}/acl/definition/internal/AclFactory.d.ts +0 -0
  756. /package/dist/{src → types}/acl/definition/internal/AclFactory.d.ts.map +0 -0
  757. /package/dist/{src → types}/acl/definition/internal/EntityPredicateResolver.d.ts +0 -0
  758. /package/dist/{src → types}/acl/definition/internal/EntityPredicateResolver.d.ts.map +0 -0
  759. /package/dist/{src → types}/acl/definition/internal/createPredicateName.d.ts +0 -0
  760. /package/dist/{src → types}/acl/definition/internal/createPredicateName.d.ts.map +0 -0
  761. /package/dist/{src → types}/acl/definition/internal/stores.d.ts +0 -0
  762. /package/dist/{src → types}/acl/definition/internal/stores.d.ts.map +0 -0
  763. /package/dist/{src → types}/acl/definition/permissions.d.ts +0 -0
  764. /package/dist/{src → types}/acl/definition/references.d.ts +0 -0
  765. /package/dist/{src → types}/acl/definition/roles.d.ts +0 -0
  766. /package/dist/{src → types}/acl/definition/variables.d.ts +0 -0
  767. /package/dist/{src → types}/actions/definition/index.d.ts +0 -0
  768. /package/dist/{src → types}/actions/definition/internal/ActionsFactory.d.ts +0 -0
  769. /package/dist/{src → types}/actions/definition/internal/ActionsFactory.d.ts.map +0 -0
  770. /package/dist/{src → types}/actions/definition/internal/store.d.ts +0 -0
  771. /package/dist/{src → types}/actions/definition/internal/store.d.ts.map +0 -0
  772. /package/dist/{src → types}/actions/definition/triggers.d.ts +0 -0
  773. /package/dist/{src → types}/model/builder/ColumnBuilder.d.ts +0 -0
  774. /package/dist/{src → types}/model/builder/ColumnBuilder.d.ts.map +0 -0
  775. /package/dist/{src → types}/model/builder/EntityBuilder.d.ts +0 -0
  776. /package/dist/{src → types}/model/builder/EntityBuilder.d.ts.map +0 -0
  777. /package/dist/{src → types}/model/builder/FieldBuilder.d.ts +0 -0
  778. /package/dist/{src → types}/model/builder/FieldBuilder.d.ts.map +0 -0
  779. /package/dist/{src → types}/model/builder/ManyHasManyBuilder.d.ts +0 -0
  780. /package/dist/{src → types}/model/builder/ManyHasManyBuilder.d.ts.map +0 -0
  781. /package/dist/{src → types}/model/builder/ManyHasOneBuilder.d.ts +0 -0
  782. /package/dist/{src → types}/model/builder/ManyHasOneBuilder.d.ts.map +0 -0
  783. /package/dist/{src → types}/model/builder/OneHasManyBuilder.d.ts +0 -0
  784. /package/dist/{src → types}/model/builder/OneHasManyBuilder.d.ts.map +0 -0
  785. /package/dist/{src → types}/model/builder/OneHasOneBuilder.d.ts +0 -0
  786. /package/dist/{src → types}/model/builder/OneHasOneBuilder.d.ts.map +0 -0
  787. /package/dist/{src → types}/model/builder/SchemaBuilder.d.ts +0 -0
  788. /package/dist/{src → types}/model/builder/SchemaBuilder.d.ts.map +0 -0
  789. /package/dist/{src → types}/model/builder/SchemaBuilderError.d.ts +0 -0
  790. /package/dist/{src → types}/model/builder/SchemaBuilderError.d.ts.map +0 -0
  791. /package/dist/{src → types}/model/builder/SchemaBuilderInternal.d.ts +0 -0
  792. /package/dist/{src → types}/model/builder/SchemaBuilderInternal.d.ts.map +0 -0
  793. /package/dist/{src → types}/model/builder/internal/ColumnProcessor.d.ts +0 -0
  794. /package/dist/{src → types}/model/builder/internal/ColumnProcessor.d.ts.map +0 -0
  795. /package/dist/{src → types}/model/builder/internal/FieldProcessor.d.ts +0 -0
  796. /package/dist/{src → types}/model/builder/internal/FieldProcessor.d.ts.map +0 -0
  797. /package/dist/{src → types}/model/builder/internal/ManyHasManyProcessor.d.ts +0 -0
  798. /package/dist/{src → types}/model/builder/internal/ManyHasManyProcessor.d.ts.map +0 -0
  799. /package/dist/{src → types}/model/builder/internal/ManyHasOneProcessor.d.ts +0 -0
  800. /package/dist/{src → types}/model/builder/internal/ManyHasOneProcessor.d.ts.map +0 -0
  801. /package/dist/{src → types}/model/builder/internal/OneHasManyProcessor.d.ts +0 -0
  802. /package/dist/{src → types}/model/builder/internal/OneHasManyProcessor.d.ts.map +0 -0
  803. /package/dist/{src → types}/model/builder/internal/OneHasOneProcessor.d.ts +0 -0
  804. /package/dist/{src → types}/model/builder/internal/OneHasOneProcessor.d.ts.map +0 -0
  805. /package/dist/{src → types}/model/builder/types.d.ts +0 -0
  806. /package/dist/{src → types}/model/builder/types.d.ts.map +0 -0
  807. /package/dist/{src → types}/model/definition/EnumDefinition.d.ts +0 -0
  808. /package/dist/{src → types}/model/definition/EnumDefinition.d.ts.map +0 -0
  809. /package/dist/{src → types}/model/definition/EventLogDefinition.d.ts +0 -0
  810. /package/dist/{src → types}/model/definition/EventLogDefinition.d.ts.map +0 -0
  811. /package/dist/{src → types}/model/definition/IndexDefinition.d.ts +0 -0
  812. /package/dist/{src → types}/model/definition/IndexDefinition.d.ts.map +0 -0
  813. /package/dist/{src → types}/model/definition/OrderByDefinition.d.ts +0 -0
  814. /package/dist/{src → types}/model/definition/OrderByDefinition.d.ts.map +0 -0
  815. /package/dist/{src → types}/model/definition/UniqueDefinition.d.ts +0 -0
  816. /package/dist/{src → types}/model/definition/UniqueDefinition.d.ts.map +0 -0
  817. /package/dist/{src → types}/model/definition/context.d.ts +0 -0
  818. /package/dist/{src → types}/model/definition/context.d.ts.map +0 -0
  819. /package/dist/{src → types}/model/definition/extensions.d.ts +0 -0
  820. /package/dist/{src → types}/model/definition/fieldDefinitions/ColumnDefinition.d.ts +0 -0
  821. /package/dist/{src → types}/model/definition/fieldDefinitions/ColumnDefinition.d.ts.map +0 -0
  822. /package/dist/{src → types}/model/definition/fieldDefinitions/FieldDefinition.d.ts +0 -0
  823. /package/dist/{src → types}/model/definition/fieldDefinitions/FieldDefinition.d.ts.map +0 -0
  824. /package/dist/{src → types}/model/definition/fieldDefinitions/ManyHasManyDefinition.d.ts +0 -0
  825. /package/dist/{src → types}/model/definition/fieldDefinitions/ManyHasManyDefinition.d.ts.map +0 -0
  826. /package/dist/{src → types}/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.d.ts +0 -0
  827. /package/dist/{src → types}/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.d.ts.map +0 -0
  828. /package/dist/{src → types}/model/definition/fieldDefinitions/ManyHasOneDefinition.d.ts +0 -0
  829. /package/dist/{src → types}/model/definition/fieldDefinitions/ManyHasOneDefinition.d.ts.map +0 -0
  830. /package/dist/{src → types}/model/definition/fieldDefinitions/OneHasManyDefinition.d.ts +0 -0
  831. /package/dist/{src → types}/model/definition/fieldDefinitions/OneHasManyDefinition.d.ts.map +0 -0
  832. /package/dist/{src → types}/model/definition/fieldDefinitions/OneHasOneDefinition.d.ts +0 -0
  833. /package/dist/{src → types}/model/definition/fieldDefinitions/OneHasOneDefinition.d.ts.map +0 -0
  834. /package/dist/{src → types}/model/definition/fieldDefinitions/OneHasOneInverseDefinition.d.ts +0 -0
  835. /package/dist/{src → types}/model/definition/fieldDefinitions/OneHasOneInverseDefinition.d.ts.map +0 -0
  836. /package/dist/{src → types}/model/definition/fieldDefinitions/index.d.ts +0 -0
  837. /package/dist/{src → types}/model/definition/fieldDefinitions/index.d.ts.map +0 -0
  838. /package/dist/{src → types}/model/definition/internal/EntityRegistry.d.ts +0 -0
  839. /package/dist/{src → types}/model/definition/internal/EntityRegistry.d.ts.map +0 -0
  840. /package/dist/{src → types}/model/definition/internal/EnumRegistry.d.ts +0 -0
  841. /package/dist/{src → types}/model/definition/internal/EnumRegistry.d.ts.map +0 -0
  842. /package/dist/{src → types}/model/definition/internal/SchemaBuilder.d.ts +0 -0
  843. /package/dist/{src → types}/model/definition/internal/SchemaBuilder.d.ts.map +0 -0
  844. /package/dist/{src → types}/model/definition/internal/index.d.ts +0 -0
  845. /package/dist/{src → types}/model/definition/internal/index.d.ts.map +0 -0
  846. /package/dist/{src → types}/model/index.d.ts +0 -0
  847. /package/dist/{src → types}/model/index.d.ts.map +0 -0
  848. /package/dist/{src → types}/presets.d.ts +0 -0
  849. /package/dist/{src → types}/presets.d.ts.map +0 -0
  850. /package/dist/{src → types}/strict.d.ts +0 -0
  851. /package/dist/{src → types}/strict.d.ts.map +0 -0
  852. /package/dist/{src → types}/utils/MetadataStore.d.ts +0 -0
  853. /package/dist/{src → types}/utils/assertNever.d.ts +0 -0
  854. /package/dist/{src → types}/utils/assertNever.d.ts.map +0 -0
  855. /package/dist/{src → types}/utils/decorators.d.ts +0 -0
  856. /package/dist/{src → types}/utils/decorators.d.ts.map +0 -0
  857. /package/dist/{src → types}/utils/filterEntityDefinition.d.ts +0 -0
  858. /package/dist/{src → types}/utils/index.d.ts +0 -0
  859. /package/dist/{src → types}/utils/index.d.ts.map +0 -0
  860. /package/dist/{src → types}/utils/tuple.d.ts +0 -0
  861. /package/dist/{src → types}/validation/index.d.ts +0 -0
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ const schema = require("@contember/schema");
3
+ const SchemaBuilderError = require("./SchemaBuilderError.cjs");
4
+ const ColumnProcessor = require("./internal/ColumnProcessor.cjs");
5
+ const ManyHasManyProcessor = require("./internal/ManyHasManyProcessor.cjs");
6
+ const OneHasOneProcessor = require("./internal/OneHasOneProcessor.cjs");
7
+ const OneHasManyProcessor = require("./internal/OneHasManyProcessor.cjs");
8
+ const ManyHasOneProcessor = require("./internal/ManyHasOneProcessor.cjs");
9
+ const FieldBuilder = require("./FieldBuilder.cjs");
10
+ var __defProp = Object.defineProperty;
11
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
13
+ class SchemaBuilderInternal {
14
+ constructor(conventions) {
15
+ this.conventions = conventions;
16
+ __publicField(this, "entities", {});
17
+ __publicField(this, "fieldOptions", {});
18
+ __publicField(this, "enums", {});
19
+ }
20
+ addEntity(name, options, fieldOptions) {
21
+ this.fieldOptions[name] = fieldOptions;
22
+ const primaryName = this.getPrimaryFieldName(options, name, fieldOptions);
23
+ if (!fieldOptions[primaryName]) {
24
+ fieldOptions[primaryName] = this.createDefaultPrimary(primaryName);
25
+ }
26
+ const primaryField = fieldOptions[primaryName];
27
+ if (primaryField.type !== FieldBuilder.Type.Column) {
28
+ throw new SchemaBuilderError.SchemaBuilderError(`${name}: Primary field must be a column`);
29
+ }
30
+ primaryField.options.primary = true;
31
+ primaryField.options.nullable = false;
32
+ this.entities[name] = {
33
+ name,
34
+ primary: primaryName,
35
+ primaryColumn: primaryField.options.columnName || this.conventions.getColumnName(primaryName),
36
+ unique: this.createUnique(name, options, fieldOptions),
37
+ fields: {},
38
+ indexes: [],
39
+ tableName: options.tableName || this.conventions.getTableName(name),
40
+ eventLog: {
41
+ enabled: true
42
+ },
43
+ ...options.orderBy !== void 0 ? { orderBy: options.orderBy } : {}
44
+ };
45
+ }
46
+ addEnum(name, values) {
47
+ this.enums[name] = values;
48
+ }
49
+ createSchema() {
50
+ for (let entityName in this.fieldOptions) {
51
+ let primaryField = this.entities[entityName].primary;
52
+ this.processField(entityName, primaryField);
53
+ for (let fieldName in this.fieldOptions[entityName]) {
54
+ if (fieldName === primaryField) {
55
+ continue;
56
+ }
57
+ this.processField(entityName, fieldName);
58
+ }
59
+ }
60
+ return {
61
+ enums: this.enums,
62
+ entities: this.entities
63
+ };
64
+ }
65
+ processField(entityName, fieldName) {
66
+ const processor = this.createProcessor(entityName, fieldName);
67
+ processor.process(
68
+ entityName,
69
+ fieldName,
70
+ this.fieldOptions[entityName][fieldName].options,
71
+ this.registerField.bind(this)
72
+ );
73
+ }
74
+ createProcessor(entityName, fieldName) {
75
+ const field = this.fieldOptions[entityName][fieldName];
76
+ if (field.type === FieldBuilder.Type.Column) {
77
+ return new ColumnProcessor(this.conventions);
78
+ }
79
+ this.checkTarget(entityName, fieldName, field.options);
80
+ switch (field.type) {
81
+ case FieldBuilder.Type.ManyHasMany:
82
+ return new ManyHasManyProcessor(this.conventions);
83
+ case FieldBuilder.Type.OneHasOne:
84
+ return new OneHasOneProcessor(this.conventions);
85
+ case FieldBuilder.Type.OneHasMany:
86
+ return new OneHasManyProcessor(this.conventions);
87
+ case FieldBuilder.Type.ManyHasOne:
88
+ return new ManyHasOneProcessor(this.conventions);
89
+ }
90
+ throw new Error();
91
+ }
92
+ checkTarget(entityName, fieldName, options) {
93
+ if (!this.entities[options.target]) {
94
+ throw new SchemaBuilderError.SchemaBuilderError(`${entityName}::${fieldName}: undefined target entity ${options.target}`);
95
+ }
96
+ }
97
+ registerField(entityName, field) {
98
+ if (!this.entities[entityName]) {
99
+ throw new SchemaBuilderError.SchemaBuilderError(`Undefined entity ${entityName}`);
100
+ }
101
+ if (this.entities[entityName].fields[field.name]) {
102
+ throw new SchemaBuilderError.SchemaBuilderError(`${entityName}: Field ${field.name} is already defined`);
103
+ }
104
+ this.entities[entityName].fields[field.name] = field;
105
+ }
106
+ getPrimaryFieldName(entityOptions, entityName, fields) {
107
+ let primary = [];
108
+ if (entityOptions.primary) {
109
+ primary.push(entityOptions.primary);
110
+ }
111
+ for (let name in fields) {
112
+ const field = fields[name];
113
+ if (field.type !== FieldBuilder.Type.Column) {
114
+ continue;
115
+ }
116
+ if (!field.options.primary) {
117
+ continue;
118
+ }
119
+ if (!primary.includes(name)) {
120
+ primary.push(name);
121
+ }
122
+ }
123
+ if (primary.length > 1) {
124
+ throw new SchemaBuilderError.SchemaBuilderError(`${entityName}: Only single column can be a primary. Found: ${primary.join(", ")}`);
125
+ }
126
+ return primary.length === 1 ? primary[0] : this.conventions.getPrimaryField();
127
+ }
128
+ createDefaultPrimary(fieldName) {
129
+ return {
130
+ type: FieldBuilder.Type.Column,
131
+ options: {
132
+ nullable: false,
133
+ type: schema.Model.ColumnType.Uuid,
134
+ primary: true
135
+ }
136
+ };
137
+ }
138
+ createUnique(entityName, options, fieldOptions) {
139
+ const unique = [];
140
+ for (const singleUnique of options.unique || []) {
141
+ unique.push(singleUnique);
142
+ }
143
+ for (let fieldName in fieldOptions) {
144
+ const options2 = fieldOptions[fieldName];
145
+ if (options2.type === FieldBuilder.Type.Column && options2.options.unique) {
146
+ unique.push({ fields: [fieldName] });
147
+ }
148
+ }
149
+ return unique;
150
+ }
151
+ }
152
+ module.exports = SchemaBuilderInternal;
153
+ //# sourceMappingURL=SchemaBuilderInternal.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaBuilderInternal.cjs","sources":["../../../../../../packages/schema-definition/src/model/builder/SchemaBuilderInternal.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\nimport EntityBuilder from './EntityBuilder'\nimport { SchemaBuilderError } from './SchemaBuilderError'\nimport FieldProcessor from './internal/FieldProcessor'\nimport ColumnProcessor from './internal/ColumnProcessor'\nimport ManyHasManyProcessor from './internal/ManyHasManyProcessor'\nimport OneHasOneProcessor from './internal/OneHasOneProcessor'\nimport OneHasManyProcessor from './internal/OneHasManyProcessor'\nimport ManyHasOneProcessor from './internal/ManyHasOneProcessor'\nimport FieldBuilder from './FieldBuilder'\n\nexport default class SchemaBuilderInternal {\n\tprivate entities: { [name: string]: Model.Entity & { fields: Record<string, Model.AnyField> } } = {}\n\n\tprivate fieldOptions: { [entity: string]: FieldBuilder.Map } = {}\n\n\tprivate enums: { [name: string]: string[] } = {}\n\n\tconstructor(private readonly conventions: NamingConventions) {}\n\n\tpublic addEntity(name: string, options: EntityBuilder.EntityOptions, fieldOptions: FieldBuilder.Map): void {\n\t\tthis.fieldOptions[name] = fieldOptions\n\t\tconst primaryName = this.getPrimaryFieldName(options, name, fieldOptions)\n\t\tif (!fieldOptions[primaryName]) {\n\t\t\tfieldOptions[primaryName] = this.createDefaultPrimary(primaryName)\n\t\t}\n\t\tconst primaryField = fieldOptions[primaryName]\n\t\tif (primaryField.type !== FieldBuilder.Type.Column) {\n\t\t\tthrow new SchemaBuilderError(`${name}: Primary field must be a column`)\n\t\t}\n\t\tprimaryField.options.primary = true\n\t\tprimaryField.options.nullable = false\n\n\t\tthis.entities[name] = {\n\t\t\tname: name,\n\t\t\tprimary: primaryName,\n\t\t\tprimaryColumn: primaryField.options.columnName || this.conventions.getColumnName(primaryName),\n\t\t\tunique: this.createUnique(name, options, fieldOptions),\n\t\t\tfields: {},\n\t\t\tindexes: [],\n\t\t\ttableName: options.tableName || this.conventions.getTableName(name),\n\t\t\teventLog: {\n\t\t\t\tenabled: true,\n\t\t\t},\n\t\t\t...(options.orderBy !== undefined ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n\n\tpublic addEnum(name: string, values: string[]): void {\n\t\tthis.enums[name] = values\n\t}\n\n\tpublic createSchema(): Model.Schema {\n\t\tfor (let entityName in this.fieldOptions) {\n\t\t\tlet primaryField = this.entities[entityName].primary\n\t\t\tthis.processField(entityName, primaryField)\n\t\t\tfor (let fieldName in this.fieldOptions[entityName]) {\n\t\t\t\tif (fieldName === primaryField) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tthis.processField(entityName, fieldName)\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tenums: this.enums,\n\t\t\tentities: this.entities,\n\t\t}\n\t}\n\n\tprivate processField(entityName: string, fieldName: string): void {\n\t\tconst processor = this.createProcessor(entityName, fieldName)\n\t\tprocessor.process(\n\t\t\tentityName,\n\t\t\tfieldName,\n\t\t\tthis.fieldOptions[entityName][fieldName].options,\n\t\t\tthis.registerField.bind(this),\n\t\t)\n\t}\n\n\tprivate createProcessor(entityName: string, fieldName: string): FieldProcessor<any> {\n\t\tconst field: FieldBuilder.Options = this.fieldOptions[entityName][fieldName]\n\n\t\tif (field.type === FieldBuilder.Type.Column) {\n\t\t\treturn new ColumnProcessor(this.conventions)\n\t\t}\n\t\tthis.checkTarget(entityName, fieldName, field.options)\n\t\tswitch (field.type) {\n\t\t\tcase FieldBuilder.Type.ManyHasMany:\n\t\t\t\treturn new ManyHasManyProcessor(this.conventions)\n\t\t\tcase FieldBuilder.Type.OneHasOne:\n\t\t\t\treturn new OneHasOneProcessor(this.conventions)\n\t\t\tcase FieldBuilder.Type.OneHasMany:\n\t\t\t\treturn new OneHasManyProcessor(this.conventions)\n\t\t\tcase FieldBuilder.Type.ManyHasOne:\n\t\t\t\treturn new ManyHasOneProcessor(this.conventions)\n\t\t}\n\n\t\tthrow new Error()\n\t}\n\n\tprivate checkTarget(entityName: string, fieldName: string, options: { target: string }) {\n\t\tif (!this.entities[options.target]) {\n\t\t\tthrow new SchemaBuilderError(`${entityName}::${fieldName}: undefined target entity ${options.target}`)\n\t\t}\n\t}\n\n\tprivate registerField(entityName: string, field: Model.AnyColumn | Model.AnyRelation) {\n\t\tif (!this.entities[entityName]) {\n\t\t\tthrow new SchemaBuilderError(`Undefined entity ${entityName}`)\n\t\t}\n\t\tif (this.entities[entityName].fields[field.name]) {\n\t\t\tthrow new SchemaBuilderError(`${entityName}: Field ${field.name} is already defined`)\n\t\t}\n\t\tthis.entities[entityName].fields[field.name] = field\n\t}\n\n\tprivate getPrimaryFieldName(\n\t\tentityOptions: EntityBuilder.EntityOptions,\n\t\tentityName: string,\n\t\tfields: FieldBuilder.Map,\n\t) {\n\t\tlet primary: string[] = []\n\t\tif (entityOptions.primary) {\n\t\t\tprimary.push(entityOptions.primary)\n\t\t}\n\t\tfor (let name in fields) {\n\t\t\tconst field: FieldBuilder.Options = fields[name]\n\t\t\tif (field.type !== FieldBuilder.Type.Column) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif (!field.options.primary) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif (!primary.includes(name)) {\n\t\t\t\tprimary.push(name)\n\t\t\t}\n\t\t}\n\t\tif (primary.length > 1) {\n\t\t\tthrow new SchemaBuilderError(`${entityName}: Only single column can be a primary. Found: ${primary.join(', ')}`)\n\t\t}\n\t\treturn primary.length === 1 ? primary[0] : this.conventions.getPrimaryField()\n\t}\n\n\tprivate createDefaultPrimary(fieldName: string): FieldBuilder.Options {\n\t\treturn {\n\t\t\ttype: FieldBuilder.Type.Column,\n\t\t\toptions: {\n\t\t\t\tnullable: false,\n\t\t\t\ttype: Model.ColumnType.Uuid,\n\t\t\t\tprimary: true,\n\t\t\t},\n\t\t}\n\t}\n\n\tprivate createUnique(\n\t\tentityName: string,\n\t\toptions: EntityBuilder.EntityOptions,\n\t\tfieldOptions: FieldBuilder.Map,\n\t): Model.UniqueConstraints {\n\t\tconst unique: Model.UniqueConstraint[] = []\n\n\t\tfor (const singleUnique of options.unique || []) {\n\t\t\tunique.push(singleUnique)\n\t\t}\n\t\tfor (let fieldName in fieldOptions) {\n\t\t\tconst options = fieldOptions[fieldName]\n\n\t\t\tif (options.type === FieldBuilder.Type.Column && options.options.unique) {\n\t\t\t\tunique.push({ fields: [fieldName] })\n\t\t\t}\n\t\t}\n\t\treturn unique\n\t}\n}\n"],"names":["SchemaBuilderError","Model","options"],"mappings":"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"}
@@ -0,0 +1,154 @@
1
+ import { Model } from "@contember/schema";
2
+ import { SchemaBuilderError } from "./SchemaBuilderError.js";
3
+ import ColumnProcessor from "./internal/ColumnProcessor.js";
4
+ import ManyHasManyProcessor from "./internal/ManyHasManyProcessor.js";
5
+ import OneHasOneProcessor from "./internal/OneHasOneProcessor.js";
6
+ import OneHasManyProcessor from "./internal/OneHasManyProcessor.js";
7
+ import ManyHasOneProcessor from "./internal/ManyHasOneProcessor.js";
8
+ import FieldBuilder from "./FieldBuilder.js";
9
+ var __defProp = Object.defineProperty;
10
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
11
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
12
+ class SchemaBuilderInternal {
13
+ constructor(conventions) {
14
+ this.conventions = conventions;
15
+ __publicField(this, "entities", {});
16
+ __publicField(this, "fieldOptions", {});
17
+ __publicField(this, "enums", {});
18
+ }
19
+ addEntity(name, options, fieldOptions) {
20
+ this.fieldOptions[name] = fieldOptions;
21
+ const primaryName = this.getPrimaryFieldName(options, name, fieldOptions);
22
+ if (!fieldOptions[primaryName]) {
23
+ fieldOptions[primaryName] = this.createDefaultPrimary(primaryName);
24
+ }
25
+ const primaryField = fieldOptions[primaryName];
26
+ if (primaryField.type !== FieldBuilder.Type.Column) {
27
+ throw new SchemaBuilderError(`${name}: Primary field must be a column`);
28
+ }
29
+ primaryField.options.primary = true;
30
+ primaryField.options.nullable = false;
31
+ this.entities[name] = {
32
+ name,
33
+ primary: primaryName,
34
+ primaryColumn: primaryField.options.columnName || this.conventions.getColumnName(primaryName),
35
+ unique: this.createUnique(name, options, fieldOptions),
36
+ fields: {},
37
+ indexes: [],
38
+ tableName: options.tableName || this.conventions.getTableName(name),
39
+ eventLog: {
40
+ enabled: true
41
+ },
42
+ ...options.orderBy !== void 0 ? { orderBy: options.orderBy } : {}
43
+ };
44
+ }
45
+ addEnum(name, values) {
46
+ this.enums[name] = values;
47
+ }
48
+ createSchema() {
49
+ for (let entityName in this.fieldOptions) {
50
+ let primaryField = this.entities[entityName].primary;
51
+ this.processField(entityName, primaryField);
52
+ for (let fieldName in this.fieldOptions[entityName]) {
53
+ if (fieldName === primaryField) {
54
+ continue;
55
+ }
56
+ this.processField(entityName, fieldName);
57
+ }
58
+ }
59
+ return {
60
+ enums: this.enums,
61
+ entities: this.entities
62
+ };
63
+ }
64
+ processField(entityName, fieldName) {
65
+ const processor = this.createProcessor(entityName, fieldName);
66
+ processor.process(
67
+ entityName,
68
+ fieldName,
69
+ this.fieldOptions[entityName][fieldName].options,
70
+ this.registerField.bind(this)
71
+ );
72
+ }
73
+ createProcessor(entityName, fieldName) {
74
+ const field = this.fieldOptions[entityName][fieldName];
75
+ if (field.type === FieldBuilder.Type.Column) {
76
+ return new ColumnProcessor(this.conventions);
77
+ }
78
+ this.checkTarget(entityName, fieldName, field.options);
79
+ switch (field.type) {
80
+ case FieldBuilder.Type.ManyHasMany:
81
+ return new ManyHasManyProcessor(this.conventions);
82
+ case FieldBuilder.Type.OneHasOne:
83
+ return new OneHasOneProcessor(this.conventions);
84
+ case FieldBuilder.Type.OneHasMany:
85
+ return new OneHasManyProcessor(this.conventions);
86
+ case FieldBuilder.Type.ManyHasOne:
87
+ return new ManyHasOneProcessor(this.conventions);
88
+ }
89
+ throw new Error();
90
+ }
91
+ checkTarget(entityName, fieldName, options) {
92
+ if (!this.entities[options.target]) {
93
+ throw new SchemaBuilderError(`${entityName}::${fieldName}: undefined target entity ${options.target}`);
94
+ }
95
+ }
96
+ registerField(entityName, field) {
97
+ if (!this.entities[entityName]) {
98
+ throw new SchemaBuilderError(`Undefined entity ${entityName}`);
99
+ }
100
+ if (this.entities[entityName].fields[field.name]) {
101
+ throw new SchemaBuilderError(`${entityName}: Field ${field.name} is already defined`);
102
+ }
103
+ this.entities[entityName].fields[field.name] = field;
104
+ }
105
+ getPrimaryFieldName(entityOptions, entityName, fields) {
106
+ let primary = [];
107
+ if (entityOptions.primary) {
108
+ primary.push(entityOptions.primary);
109
+ }
110
+ for (let name in fields) {
111
+ const field = fields[name];
112
+ if (field.type !== FieldBuilder.Type.Column) {
113
+ continue;
114
+ }
115
+ if (!field.options.primary) {
116
+ continue;
117
+ }
118
+ if (!primary.includes(name)) {
119
+ primary.push(name);
120
+ }
121
+ }
122
+ if (primary.length > 1) {
123
+ throw new SchemaBuilderError(`${entityName}: Only single column can be a primary. Found: ${primary.join(", ")}`);
124
+ }
125
+ return primary.length === 1 ? primary[0] : this.conventions.getPrimaryField();
126
+ }
127
+ createDefaultPrimary(fieldName) {
128
+ return {
129
+ type: FieldBuilder.Type.Column,
130
+ options: {
131
+ nullable: false,
132
+ type: Model.ColumnType.Uuid,
133
+ primary: true
134
+ }
135
+ };
136
+ }
137
+ createUnique(entityName, options, fieldOptions) {
138
+ const unique = [];
139
+ for (const singleUnique of options.unique || []) {
140
+ unique.push(singleUnique);
141
+ }
142
+ for (let fieldName in fieldOptions) {
143
+ const options2 = fieldOptions[fieldName];
144
+ if (options2.type === FieldBuilder.Type.Column && options2.options.unique) {
145
+ unique.push({ fields: [fieldName] });
146
+ }
147
+ }
148
+ return unique;
149
+ }
150
+ }
151
+ export {
152
+ SchemaBuilderInternal as default
153
+ };
154
+ //# sourceMappingURL=SchemaBuilderInternal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaBuilderInternal.js","sources":["../../../../../../packages/schema-definition/src/model/builder/SchemaBuilderInternal.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\nimport EntityBuilder from './EntityBuilder'\nimport { SchemaBuilderError } from './SchemaBuilderError'\nimport FieldProcessor from './internal/FieldProcessor'\nimport ColumnProcessor from './internal/ColumnProcessor'\nimport ManyHasManyProcessor from './internal/ManyHasManyProcessor'\nimport OneHasOneProcessor from './internal/OneHasOneProcessor'\nimport OneHasManyProcessor from './internal/OneHasManyProcessor'\nimport ManyHasOneProcessor from './internal/ManyHasOneProcessor'\nimport FieldBuilder from './FieldBuilder'\n\nexport default class SchemaBuilderInternal {\n\tprivate entities: { [name: string]: Model.Entity & { fields: Record<string, Model.AnyField> } } = {}\n\n\tprivate fieldOptions: { [entity: string]: FieldBuilder.Map } = {}\n\n\tprivate enums: { [name: string]: string[] } = {}\n\n\tconstructor(private readonly conventions: NamingConventions) {}\n\n\tpublic addEntity(name: string, options: EntityBuilder.EntityOptions, fieldOptions: FieldBuilder.Map): void {\n\t\tthis.fieldOptions[name] = fieldOptions\n\t\tconst primaryName = this.getPrimaryFieldName(options, name, fieldOptions)\n\t\tif (!fieldOptions[primaryName]) {\n\t\t\tfieldOptions[primaryName] = this.createDefaultPrimary(primaryName)\n\t\t}\n\t\tconst primaryField = fieldOptions[primaryName]\n\t\tif (primaryField.type !== FieldBuilder.Type.Column) {\n\t\t\tthrow new SchemaBuilderError(`${name}: Primary field must be a column`)\n\t\t}\n\t\tprimaryField.options.primary = true\n\t\tprimaryField.options.nullable = false\n\n\t\tthis.entities[name] = {\n\t\t\tname: name,\n\t\t\tprimary: primaryName,\n\t\t\tprimaryColumn: primaryField.options.columnName || this.conventions.getColumnName(primaryName),\n\t\t\tunique: this.createUnique(name, options, fieldOptions),\n\t\t\tfields: {},\n\t\t\tindexes: [],\n\t\t\ttableName: options.tableName || this.conventions.getTableName(name),\n\t\t\teventLog: {\n\t\t\t\tenabled: true,\n\t\t\t},\n\t\t\t...(options.orderBy !== undefined ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n\n\tpublic addEnum(name: string, values: string[]): void {\n\t\tthis.enums[name] = values\n\t}\n\n\tpublic createSchema(): Model.Schema {\n\t\tfor (let entityName in this.fieldOptions) {\n\t\t\tlet primaryField = this.entities[entityName].primary\n\t\t\tthis.processField(entityName, primaryField)\n\t\t\tfor (let fieldName in this.fieldOptions[entityName]) {\n\t\t\t\tif (fieldName === primaryField) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tthis.processField(entityName, fieldName)\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tenums: this.enums,\n\t\t\tentities: this.entities,\n\t\t}\n\t}\n\n\tprivate processField(entityName: string, fieldName: string): void {\n\t\tconst processor = this.createProcessor(entityName, fieldName)\n\t\tprocessor.process(\n\t\t\tentityName,\n\t\t\tfieldName,\n\t\t\tthis.fieldOptions[entityName][fieldName].options,\n\t\t\tthis.registerField.bind(this),\n\t\t)\n\t}\n\n\tprivate createProcessor(entityName: string, fieldName: string): FieldProcessor<any> {\n\t\tconst field: FieldBuilder.Options = this.fieldOptions[entityName][fieldName]\n\n\t\tif (field.type === FieldBuilder.Type.Column) {\n\t\t\treturn new ColumnProcessor(this.conventions)\n\t\t}\n\t\tthis.checkTarget(entityName, fieldName, field.options)\n\t\tswitch (field.type) {\n\t\t\tcase FieldBuilder.Type.ManyHasMany:\n\t\t\t\treturn new ManyHasManyProcessor(this.conventions)\n\t\t\tcase FieldBuilder.Type.OneHasOne:\n\t\t\t\treturn new OneHasOneProcessor(this.conventions)\n\t\t\tcase FieldBuilder.Type.OneHasMany:\n\t\t\t\treturn new OneHasManyProcessor(this.conventions)\n\t\t\tcase FieldBuilder.Type.ManyHasOne:\n\t\t\t\treturn new ManyHasOneProcessor(this.conventions)\n\t\t}\n\n\t\tthrow new Error()\n\t}\n\n\tprivate checkTarget(entityName: string, fieldName: string, options: { target: string }) {\n\t\tif (!this.entities[options.target]) {\n\t\t\tthrow new SchemaBuilderError(`${entityName}::${fieldName}: undefined target entity ${options.target}`)\n\t\t}\n\t}\n\n\tprivate registerField(entityName: string, field: Model.AnyColumn | Model.AnyRelation) {\n\t\tif (!this.entities[entityName]) {\n\t\t\tthrow new SchemaBuilderError(`Undefined entity ${entityName}`)\n\t\t}\n\t\tif (this.entities[entityName].fields[field.name]) {\n\t\t\tthrow new SchemaBuilderError(`${entityName}: Field ${field.name} is already defined`)\n\t\t}\n\t\tthis.entities[entityName].fields[field.name] = field\n\t}\n\n\tprivate getPrimaryFieldName(\n\t\tentityOptions: EntityBuilder.EntityOptions,\n\t\tentityName: string,\n\t\tfields: FieldBuilder.Map,\n\t) {\n\t\tlet primary: string[] = []\n\t\tif (entityOptions.primary) {\n\t\t\tprimary.push(entityOptions.primary)\n\t\t}\n\t\tfor (let name in fields) {\n\t\t\tconst field: FieldBuilder.Options = fields[name]\n\t\t\tif (field.type !== FieldBuilder.Type.Column) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif (!field.options.primary) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif (!primary.includes(name)) {\n\t\t\t\tprimary.push(name)\n\t\t\t}\n\t\t}\n\t\tif (primary.length > 1) {\n\t\t\tthrow new SchemaBuilderError(`${entityName}: Only single column can be a primary. Found: ${primary.join(', ')}`)\n\t\t}\n\t\treturn primary.length === 1 ? primary[0] : this.conventions.getPrimaryField()\n\t}\n\n\tprivate createDefaultPrimary(fieldName: string): FieldBuilder.Options {\n\t\treturn {\n\t\t\ttype: FieldBuilder.Type.Column,\n\t\t\toptions: {\n\t\t\t\tnullable: false,\n\t\t\t\ttype: Model.ColumnType.Uuid,\n\t\t\t\tprimary: true,\n\t\t\t},\n\t\t}\n\t}\n\n\tprivate createUnique(\n\t\tentityName: string,\n\t\toptions: EntityBuilder.EntityOptions,\n\t\tfieldOptions: FieldBuilder.Map,\n\t): Model.UniqueConstraints {\n\t\tconst unique: Model.UniqueConstraint[] = []\n\n\t\tfor (const singleUnique of options.unique || []) {\n\t\t\tunique.push(singleUnique)\n\t\t}\n\t\tfor (let fieldName in fieldOptions) {\n\t\t\tconst options = fieldOptions[fieldName]\n\n\t\t\tif (options.type === FieldBuilder.Type.Column && options.options.unique) {\n\t\t\t\tunique.push({ fields: [fieldName] })\n\t\t\t}\n\t\t}\n\t\treturn unique\n\t}\n}\n"],"names":["options"],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ const schema = require("@contember/schema");
3
+ const schemaUtils = require("@contember/schema-utils");
4
+ var __defProp = Object.defineProperty;
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
7
+ class ColumnProcessor {
8
+ constructor(conventions) {
9
+ __publicField(this, "conventions");
10
+ this.conventions = conventions;
11
+ }
12
+ process(entityName, fieldName, options, registerField) {
13
+ registerField(entityName, this.toColumnType(fieldName, options));
14
+ }
15
+ toColumnType(fieldName, options) {
16
+ const type = options.type;
17
+ const common = {
18
+ name: fieldName,
19
+ columnName: options.columnName || this.conventions.getColumnName(fieldName),
20
+ nullable: options.nullable === void 0 ? true : options.nullable
21
+ };
22
+ if (type === schema.Model.ColumnType.Enum) {
23
+ return { ...common, type, columnType: options.enumName };
24
+ }
25
+ return {
26
+ ...common,
27
+ type,
28
+ columnType: schemaUtils.resolveDefaultColumnType(type),
29
+ ...options.typeAlias !== void 0 ? { typeAlias: options.typeAlias } : {}
30
+ };
31
+ }
32
+ }
33
+ module.exports = ColumnProcessor;
34
+ //# sourceMappingURL=ColumnProcessor.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColumnProcessor.cjs","sources":["../../../../../../../packages/schema-definition/src/model/builder/internal/ColumnProcessor.ts"],"sourcesContent":["import FieldProcessor from './FieldProcessor'\nimport ColumnBuilder from '../ColumnBuilder'\nimport { Model } from '@contember/schema'\nimport { NamingConventions, resolveDefaultColumnType } from '@contember/schema-utils'\n\nexport default class ColumnProcessor implements FieldProcessor<ColumnBuilder.Options> {\n\tprivate conventions: NamingConventions\n\n\tconstructor(conventions: NamingConventions) {\n\t\tthis.conventions = conventions\n\t}\n\n\tpublic process(\n\t\tentityName: string,\n\t\tfieldName: string,\n\t\toptions: ColumnBuilder.Options,\n\t\tregisterField: FieldProcessor.FieldRegistrar,\n\t): void {\n\t\tregisterField(entityName, this.toColumnType(fieldName, options))\n\t}\n\n\tprivate toColumnType(fieldName: string, options: ColumnBuilder.Options): Model.Column<Model.ColumnType> {\n\t\tconst type = options.type\n\t\tconst common = {\n\t\t\tname: fieldName,\n\t\t\tcolumnName: options.columnName || this.conventions.getColumnName(fieldName),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t}\n\t\tif (type === Model.ColumnType.Enum) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\treturn { ...common, type: type, columnType: options.enumName! }\n\t\t}\n\t\treturn {\n\t\t\t...common,\n\t\t\ttype,\n\t\t\tcolumnType: resolveDefaultColumnType(type),\n\t\t\t...(options.typeAlias !== undefined ? { typeAlias: options.typeAlias } : {}),\n\t\t}\n\t}\n}\n"],"names":["Model","resolveDefaultColumnType"],"mappings":";;;;;;AAKA,MAAqB,gBAAiE;AAAA,EAGrF,YAAY,aAAgC;AAFpC,kBAAA,MAAA,aAAA;AAGP,SAAK,cAAc;AAAA,EACpB;AAAA,EAEO,QACN,YACA,WACA,SACA,eACO;AACP,kBAAc,YAAY,KAAK,aAAa,WAAW,OAAO,CAAC;AAAA,EAChE;AAAA,EAEQ,aAAa,WAAmB,SAAgE;AACvG,UAAM,OAAO,QAAQ;AACrB,UAAM,SAAS;AAAA,MACd,MAAM;AAAA,MACN,YAAY,QAAQ,cAAc,KAAK,YAAY,cAAc,SAAS;AAAA,MAC1E,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,IAAA;AAEvD,QAAA,SAASA,OAAAA,MAAM,WAAW,MAAM;AAEnC,aAAO,EAAE,GAAG,QAAQ,MAAY,YAAY,QAAQ;IACrD;AACO,WAAA;AAAA,MACN,GAAG;AAAA,MACH;AAAA,MACA,YAAYC,qCAAyB,IAAI;AAAA,MACzC,GAAI,QAAQ,cAAc,SAAY,EAAE,WAAW,QAAQ,UAAU,IAAI,CAAC;AAAA,IAAA;AAAA,EAE5E;AACD;;"}
@@ -0,0 +1,35 @@
1
+ import { Model } from "@contember/schema";
2
+ import { resolveDefaultColumnType } from "@contember/schema-utils";
3
+ var __defProp = Object.defineProperty;
4
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
5
+ var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
6
+ class ColumnProcessor {
7
+ constructor(conventions) {
8
+ __publicField(this, "conventions");
9
+ this.conventions = conventions;
10
+ }
11
+ process(entityName, fieldName, options, registerField) {
12
+ registerField(entityName, this.toColumnType(fieldName, options));
13
+ }
14
+ toColumnType(fieldName, options) {
15
+ const type = options.type;
16
+ const common = {
17
+ name: fieldName,
18
+ columnName: options.columnName || this.conventions.getColumnName(fieldName),
19
+ nullable: options.nullable === void 0 ? true : options.nullable
20
+ };
21
+ if (type === Model.ColumnType.Enum) {
22
+ return { ...common, type, columnType: options.enumName };
23
+ }
24
+ return {
25
+ ...common,
26
+ type,
27
+ columnType: resolveDefaultColumnType(type),
28
+ ...options.typeAlias !== void 0 ? { typeAlias: options.typeAlias } : {}
29
+ };
30
+ }
31
+ }
32
+ export {
33
+ ColumnProcessor as default
34
+ };
35
+ //# sourceMappingURL=ColumnProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColumnProcessor.js","sources":["../../../../../../../packages/schema-definition/src/model/builder/internal/ColumnProcessor.ts"],"sourcesContent":["import FieldProcessor from './FieldProcessor'\nimport ColumnBuilder from '../ColumnBuilder'\nimport { Model } from '@contember/schema'\nimport { NamingConventions, resolveDefaultColumnType } from '@contember/schema-utils'\n\nexport default class ColumnProcessor implements FieldProcessor<ColumnBuilder.Options> {\n\tprivate conventions: NamingConventions\n\n\tconstructor(conventions: NamingConventions) {\n\t\tthis.conventions = conventions\n\t}\n\n\tpublic process(\n\t\tentityName: string,\n\t\tfieldName: string,\n\t\toptions: ColumnBuilder.Options,\n\t\tregisterField: FieldProcessor.FieldRegistrar,\n\t): void {\n\t\tregisterField(entityName, this.toColumnType(fieldName, options))\n\t}\n\n\tprivate toColumnType(fieldName: string, options: ColumnBuilder.Options): Model.Column<Model.ColumnType> {\n\t\tconst type = options.type\n\t\tconst common = {\n\t\t\tname: fieldName,\n\t\t\tcolumnName: options.columnName || this.conventions.getColumnName(fieldName),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t}\n\t\tif (type === Model.ColumnType.Enum) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\treturn { ...common, type: type, columnType: options.enumName! }\n\t\t}\n\t\treturn {\n\t\t\t...common,\n\t\t\ttype,\n\t\t\tcolumnType: resolveDefaultColumnType(type),\n\t\t\t...(options.typeAlias !== undefined ? { typeAlias: options.typeAlias } : {}),\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;;AAKA,MAAqB,gBAAiE;AAAA,EAGrF,YAAY,aAAgC;AAFpC,kBAAA,MAAA,aAAA;AAGP,SAAK,cAAc;AAAA,EACpB;AAAA,EAEO,QACN,YACA,WACA,SACA,eACO;AACP,kBAAc,YAAY,KAAK,aAAa,WAAW,OAAO,CAAC;AAAA,EAChE;AAAA,EAEQ,aAAa,WAAmB,SAAgE;AACvG,UAAM,OAAO,QAAQ;AACrB,UAAM,SAAS;AAAA,MACd,MAAM;AAAA,MACN,YAAY,QAAQ,cAAc,KAAK,YAAY,cAAc,SAAS;AAAA,MAC1E,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,IAAA;AAEvD,QAAA,SAAS,MAAM,WAAW,MAAM;AAEnC,aAAO,EAAE,GAAG,QAAQ,MAAY,YAAY,QAAQ;IACrD;AACO,WAAA;AAAA,MACN,GAAG;AAAA,MACH;AAAA,MACA,YAAY,yBAAyB,IAAI;AAAA,MACzC,GAAI,QAAQ,cAAc,SAAY,EAAE,WAAW,QAAQ,UAAU,IAAI,CAAC;AAAA,IAAA;AAAA,EAE5E;AACD;"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ const schema = require("@contember/schema");
3
+ var __defProp = Object.defineProperty;
4
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
5
+ var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
6
+ class ManyHasManyProcessor {
7
+ constructor(conventions) {
8
+ __publicField(this, "conventions");
9
+ this.conventions = conventions;
10
+ }
11
+ process(entityName, fieldName, options, registerField) {
12
+ registerField(entityName, this.createManyHasManyOwning(options, entityName, fieldName));
13
+ if (options.inversedBy) {
14
+ registerField(options.target, this.createManyHasManyInverse(options.inversedBy, entityName, fieldName));
15
+ }
16
+ }
17
+ createManyHasManyInverse(inversedBy, entityName, fieldName) {
18
+ return {
19
+ name: inversedBy,
20
+ ownedBy: fieldName,
21
+ target: entityName,
22
+ type: schema.Model.RelationType.ManyHasMany
23
+ };
24
+ }
25
+ createManyHasManyOwning(options, entityName, fieldName) {
26
+ let joiningTable = options.joiningTable;
27
+ if (!joiningTable) {
28
+ const columnNames = this.conventions.getJoiningTableColumnNames(
29
+ entityName,
30
+ fieldName,
31
+ options.target,
32
+ options.inversedBy
33
+ );
34
+ joiningTable = {
35
+ tableName: this.conventions.getJoiningTableName(entityName, fieldName),
36
+ joiningColumn: { columnName: columnNames[0], onDelete: schema.Model.OnDelete.cascade },
37
+ inverseJoiningColumn: { columnName: columnNames[1], onDelete: schema.Model.OnDelete.cascade },
38
+ eventLog: {
39
+ enabled: true
40
+ }
41
+ };
42
+ }
43
+ return {
44
+ type: schema.Model.RelationType.ManyHasMany,
45
+ name: fieldName,
46
+ ...typeof options.inversedBy === "undefined" ? {} : { inversedBy: options.inversedBy },
47
+ target: options.target,
48
+ joiningTable,
49
+ ...options.orderBy ? { orderBy: options.orderBy } : {}
50
+ };
51
+ }
52
+ }
53
+ module.exports = ManyHasManyProcessor;
54
+ //# sourceMappingURL=ManyHasManyProcessor.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ManyHasManyProcessor.cjs","sources":["../../../../../../../packages/schema-definition/src/model/builder/internal/ManyHasManyProcessor.ts"],"sourcesContent":["import FieldProcessor from './FieldProcessor'\nimport ManyHasManyBuilder from '../ManyHasManyBuilder'\nimport { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\n\nexport default class ManyHasManyProcessor implements FieldProcessor<ManyHasManyBuilder.Options> {\n\tprivate conventions: NamingConventions\n\n\tconstructor(conventions: NamingConventions) {\n\t\tthis.conventions = conventions\n\t}\n\n\tpublic process(\n\t\tentityName: string,\n\t\tfieldName: string,\n\t\toptions: ManyHasManyBuilder.Options,\n\t\tregisterField: FieldProcessor.FieldRegistrar,\n\t): void {\n\t\tregisterField(entityName, this.createManyHasManyOwning(options, entityName, fieldName))\n\t\tif (options.inversedBy) {\n\t\t\tregisterField(options.target, this.createManyHasManyInverse(options.inversedBy, entityName, fieldName))\n\t\t}\n\t}\n\n\tprivate createManyHasManyInverse(\n\t\tinversedBy: string,\n\t\tentityName: string,\n\t\tfieldName: string,\n\t): Model.ManyHasManyInverseRelation {\n\t\treturn {\n\t\t\tname: inversedBy,\n\t\t\townedBy: fieldName,\n\t\t\ttarget: entityName,\n\t\t\ttype: Model.RelationType.ManyHasMany,\n\t\t}\n\t}\n\n\tprivate createManyHasManyOwning(\n\t\toptions: ManyHasManyBuilder.Options,\n\t\tentityName: string,\n\t\tfieldName: string,\n\t): Model.ManyHasManyOwningRelation {\n\t\tlet joiningTable: Model.JoiningTable | undefined = options.joiningTable\n\t\tif (!joiningTable) {\n\t\t\tconst columnNames = this.conventions.getJoiningTableColumnNames(\n\t\t\t\tentityName,\n\t\t\t\tfieldName,\n\t\t\t\toptions.target,\n\t\t\t\toptions.inversedBy,\n\t\t\t)\n\t\t\tjoiningTable = {\n\t\t\t\ttableName: this.conventions.getJoiningTableName(entityName, fieldName),\n\t\t\t\tjoiningColumn: { columnName: columnNames[0], onDelete: Model.OnDelete.cascade },\n\t\t\t\tinverseJoiningColumn: { columnName: columnNames[1], onDelete: Model.OnDelete.cascade },\n\t\t\t\teventLog: {\n\t\t\t\t\tenabled: true,\n\t\t\t\t},\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\ttype: Model.RelationType.ManyHasMany,\n\t\t\tname: fieldName,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\ttarget: options.target,\n\t\t\tjoiningTable: joiningTable,\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n}\n"],"names":["Model"],"mappings":";;;;;AAKA,MAAqB,qBAA2E;AAAA,EAG/F,YAAY,aAAgC;AAFpC,kBAAA,MAAA,aAAA;AAGP,SAAK,cAAc;AAAA,EACpB;AAAA,EAEO,QACN,YACA,WACA,SACA,eACO;AACP,kBAAc,YAAY,KAAK,wBAAwB,SAAS,YAAY,SAAS,CAAC;AACtF,QAAI,QAAQ,YAAY;AACT,oBAAA,QAAQ,QAAQ,KAAK,yBAAyB,QAAQ,YAAY,YAAY,SAAS,CAAC;AAAA,IACvG;AAAA,EACD;AAAA,EAEQ,yBACP,YACA,YACA,WACmC;AAC5B,WAAA;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,MAAMA,OAAAA,MAAM,aAAa;AAAA,IAAA;AAAA,EAE3B;AAAA,EAEQ,wBACP,SACA,YACA,WACkC;AAClC,QAAI,eAA+C,QAAQ;AAC3D,QAAI,CAAC,cAAc;AACZ,YAAA,cAAc,KAAK,YAAY;AAAA,QACpC;AAAA,QACA;AAAA,QACA,QAAQ;AAAA,QACR,QAAQ;AAAA,MAAA;AAEM,qBAAA;AAAA,QACd,WAAW,KAAK,YAAY,oBAAoB,YAAY,SAAS;AAAA,QACrE,eAAe,EAAE,YAAY,YAAY,CAAC,GAAG,UAAUA,OAAAA,MAAM,SAAS,QAAQ;AAAA,QAC9E,sBAAsB,EAAE,YAAY,YAAY,CAAC,GAAG,UAAUA,OAAAA,MAAM,SAAS,QAAQ;AAAA,QACrF,UAAU;AAAA,UACT,SAAS;AAAA,QACV;AAAA,MAAA;AAAA,IAEF;AAEO,WAAA;AAAA,MACN,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,MAAM;AAAA,MACN,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAK,IAAA,EAAE,YAAY,QAAQ,WAAW;AAAA,MACtF,QAAQ,QAAQ;AAAA,MAChB;AAAA,MACA,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAC;AAAA,IAAA;AAAA,EAExD;AACD;;"}
@@ -0,0 +1,55 @@
1
+ import { Model } from "@contember/schema";
2
+ var __defProp = Object.defineProperty;
3
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
+ var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
5
+ class ManyHasManyProcessor {
6
+ constructor(conventions) {
7
+ __publicField(this, "conventions");
8
+ this.conventions = conventions;
9
+ }
10
+ process(entityName, fieldName, options, registerField) {
11
+ registerField(entityName, this.createManyHasManyOwning(options, entityName, fieldName));
12
+ if (options.inversedBy) {
13
+ registerField(options.target, this.createManyHasManyInverse(options.inversedBy, entityName, fieldName));
14
+ }
15
+ }
16
+ createManyHasManyInverse(inversedBy, entityName, fieldName) {
17
+ return {
18
+ name: inversedBy,
19
+ ownedBy: fieldName,
20
+ target: entityName,
21
+ type: Model.RelationType.ManyHasMany
22
+ };
23
+ }
24
+ createManyHasManyOwning(options, entityName, fieldName) {
25
+ let joiningTable = options.joiningTable;
26
+ if (!joiningTable) {
27
+ const columnNames = this.conventions.getJoiningTableColumnNames(
28
+ entityName,
29
+ fieldName,
30
+ options.target,
31
+ options.inversedBy
32
+ );
33
+ joiningTable = {
34
+ tableName: this.conventions.getJoiningTableName(entityName, fieldName),
35
+ joiningColumn: { columnName: columnNames[0], onDelete: Model.OnDelete.cascade },
36
+ inverseJoiningColumn: { columnName: columnNames[1], onDelete: Model.OnDelete.cascade },
37
+ eventLog: {
38
+ enabled: true
39
+ }
40
+ };
41
+ }
42
+ return {
43
+ type: Model.RelationType.ManyHasMany,
44
+ name: fieldName,
45
+ ...typeof options.inversedBy === "undefined" ? {} : { inversedBy: options.inversedBy },
46
+ target: options.target,
47
+ joiningTable,
48
+ ...options.orderBy ? { orderBy: options.orderBy } : {}
49
+ };
50
+ }
51
+ }
52
+ export {
53
+ ManyHasManyProcessor as default
54
+ };
55
+ //# sourceMappingURL=ManyHasManyProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ManyHasManyProcessor.js","sources":["../../../../../../../packages/schema-definition/src/model/builder/internal/ManyHasManyProcessor.ts"],"sourcesContent":["import FieldProcessor from './FieldProcessor'\nimport ManyHasManyBuilder from '../ManyHasManyBuilder'\nimport { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\n\nexport default class ManyHasManyProcessor implements FieldProcessor<ManyHasManyBuilder.Options> {\n\tprivate conventions: NamingConventions\n\n\tconstructor(conventions: NamingConventions) {\n\t\tthis.conventions = conventions\n\t}\n\n\tpublic process(\n\t\tentityName: string,\n\t\tfieldName: string,\n\t\toptions: ManyHasManyBuilder.Options,\n\t\tregisterField: FieldProcessor.FieldRegistrar,\n\t): void {\n\t\tregisterField(entityName, this.createManyHasManyOwning(options, entityName, fieldName))\n\t\tif (options.inversedBy) {\n\t\t\tregisterField(options.target, this.createManyHasManyInverse(options.inversedBy, entityName, fieldName))\n\t\t}\n\t}\n\n\tprivate createManyHasManyInverse(\n\t\tinversedBy: string,\n\t\tentityName: string,\n\t\tfieldName: string,\n\t): Model.ManyHasManyInverseRelation {\n\t\treturn {\n\t\t\tname: inversedBy,\n\t\t\townedBy: fieldName,\n\t\t\ttarget: entityName,\n\t\t\ttype: Model.RelationType.ManyHasMany,\n\t\t}\n\t}\n\n\tprivate createManyHasManyOwning(\n\t\toptions: ManyHasManyBuilder.Options,\n\t\tentityName: string,\n\t\tfieldName: string,\n\t): Model.ManyHasManyOwningRelation {\n\t\tlet joiningTable: Model.JoiningTable | undefined = options.joiningTable\n\t\tif (!joiningTable) {\n\t\t\tconst columnNames = this.conventions.getJoiningTableColumnNames(\n\t\t\t\tentityName,\n\t\t\t\tfieldName,\n\t\t\t\toptions.target,\n\t\t\t\toptions.inversedBy,\n\t\t\t)\n\t\t\tjoiningTable = {\n\t\t\t\ttableName: this.conventions.getJoiningTableName(entityName, fieldName),\n\t\t\t\tjoiningColumn: { columnName: columnNames[0], onDelete: Model.OnDelete.cascade },\n\t\t\t\tinverseJoiningColumn: { columnName: columnNames[1], onDelete: Model.OnDelete.cascade },\n\t\t\t\teventLog: {\n\t\t\t\t\tenabled: true,\n\t\t\t\t},\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\ttype: Model.RelationType.ManyHasMany,\n\t\t\tname: fieldName,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\ttarget: options.target,\n\t\t\tjoiningTable: joiningTable,\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;AAKA,MAAqB,qBAA2E;AAAA,EAG/F,YAAY,aAAgC;AAFpC,kBAAA,MAAA,aAAA;AAGP,SAAK,cAAc;AAAA,EACpB;AAAA,EAEO,QACN,YACA,WACA,SACA,eACO;AACP,kBAAc,YAAY,KAAK,wBAAwB,SAAS,YAAY,SAAS,CAAC;AACtF,QAAI,QAAQ,YAAY;AACT,oBAAA,QAAQ,QAAQ,KAAK,yBAAyB,QAAQ,YAAY,YAAY,SAAS,CAAC;AAAA,IACvG;AAAA,EACD;AAAA,EAEQ,yBACP,YACA,YACA,WACmC;AAC5B,WAAA;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,MAAM,MAAM,aAAa;AAAA,IAAA;AAAA,EAE3B;AAAA,EAEQ,wBACP,SACA,YACA,WACkC;AAClC,QAAI,eAA+C,QAAQ;AAC3D,QAAI,CAAC,cAAc;AACZ,YAAA,cAAc,KAAK,YAAY;AAAA,QACpC;AAAA,QACA;AAAA,QACA,QAAQ;AAAA,QACR,QAAQ;AAAA,MAAA;AAEM,qBAAA;AAAA,QACd,WAAW,KAAK,YAAY,oBAAoB,YAAY,SAAS;AAAA,QACrE,eAAe,EAAE,YAAY,YAAY,CAAC,GAAG,UAAU,MAAM,SAAS,QAAQ;AAAA,QAC9E,sBAAsB,EAAE,YAAY,YAAY,CAAC,GAAG,UAAU,MAAM,SAAS,QAAQ;AAAA,QACrF,UAAU;AAAA,UACT,SAAS;AAAA,QACV;AAAA,MAAA;AAAA,IAEF;AAEO,WAAA;AAAA,MACN,MAAM,MAAM,aAAa;AAAA,MACzB,MAAM;AAAA,MACN,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAK,IAAA,EAAE,YAAY,QAAQ,WAAW;AAAA,MACtF,QAAQ,QAAQ;AAAA,MAChB;AAAA,MACA,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAC;AAAA,IAAA;AAAA,EAExD;AACD;"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ const schema = require("@contember/schema");
3
+ var __defProp = Object.defineProperty;
4
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
5
+ var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
6
+ class ManyHasOneProcessor {
7
+ constructor(conventions) {
8
+ __publicField(this, "conventions");
9
+ this.conventions = conventions;
10
+ }
11
+ process(entityName, fieldName, options, registerField) {
12
+ registerField(entityName, this.createManyHasOneOwning(options, fieldName));
13
+ if (options.inversedBy) {
14
+ const inverse = this.createManyHasOneInverse(
15
+ options,
16
+ entityName,
17
+ fieldName
18
+ );
19
+ registerField(options.target, inverse);
20
+ }
21
+ }
22
+ createManyHasOneInverse(options, entityName, fieldName) {
23
+ return {
24
+ name: options.inversedBy,
25
+ ownedBy: fieldName,
26
+ target: entityName,
27
+ type: schema.Model.RelationType.OneHasMany
28
+ };
29
+ }
30
+ createManyHasOneOwning(options, fieldName) {
31
+ const joiningColumn = options.joiningColumn || {};
32
+ return {
33
+ name: fieldName,
34
+ ...typeof options.inversedBy === "undefined" ? {} : { inversedBy: options.inversedBy },
35
+ nullable: options.nullable === void 0 ? true : options.nullable,
36
+ type: schema.Model.RelationType.ManyHasOne,
37
+ target: options.target,
38
+ joiningColumn: {
39
+ columnName: joiningColumn.columnName || this.conventions.getJoiningColumnName(fieldName),
40
+ onDelete: joiningColumn.onDelete || schema.Model.OnDelete.restrict
41
+ }
42
+ };
43
+ }
44
+ }
45
+ module.exports = ManyHasOneProcessor;
46
+ //# sourceMappingURL=ManyHasOneProcessor.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ManyHasOneProcessor.cjs","sources":["../../../../../../../packages/schema-definition/src/model/builder/internal/ManyHasOneProcessor.ts"],"sourcesContent":["import FieldProcessor from './FieldProcessor'\nimport { Model } from '@contember/schema'\nimport ManyHasOneBuilder from '../ManyHasOneBuilder'\nimport { NamingConventions } from '@contember/schema-utils'\n\nexport default class ManyHasOneProcessor implements FieldProcessor<ManyHasOneBuilder.Options> {\n\tprivate conventions: NamingConventions\n\n\tconstructor(conventions: NamingConventions) {\n\t\tthis.conventions = conventions\n\t}\n\n\tpublic process(\n\t\tentityName: string,\n\t\tfieldName: string,\n\t\toptions: ManyHasOneBuilder.Options,\n\t\tregisterField: FieldProcessor.FieldRegistrar,\n\t): void {\n\t\tregisterField(entityName, this.createManyHasOneOwning(options, fieldName))\n\t\tif (options.inversedBy) {\n\t\t\tconst inverse = this.createManyHasOneInverse(\n\t\t\t\toptions as ManyHasOneBuilder.Options & { inversedBy: string },\n\t\t\t\tentityName,\n\t\t\t\tfieldName,\n\t\t\t)\n\t\t\tregisterField(options.target, inverse)\n\t\t}\n\t}\n\n\tprivate createManyHasOneInverse(\n\t\toptions: ManyHasOneBuilder.Options & { inversedBy: string },\n\t\tentityName: string,\n\t\tfieldName: string,\n\t): Model.OneHasManyRelation {\n\t\treturn {\n\t\t\tname: options.inversedBy,\n\t\t\townedBy: fieldName,\n\t\t\ttarget: entityName,\n\t\t\ttype: Model.RelationType.OneHasMany,\n\t\t}\n\t}\n\n\tprivate createManyHasOneOwning(options: ManyHasOneBuilder.Options, fieldName: string): Model.ManyHasOneRelation {\n\t\tconst joiningColumn = options.joiningColumn || {}\n\t\treturn {\n\t\t\tname: fieldName,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t\ttype: Model.RelationType.ManyHasOne,\n\t\t\ttarget: options.target,\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || this.conventions.getJoiningColumnName(fieldName),\n\t\t\t\tonDelete: joiningColumn.onDelete || Model.OnDelete.restrict,\n\t\t\t},\n\t\t}\n\t}\n}\n"],"names":["Model"],"mappings":";;;;;AAKA,MAAqB,oBAAyE;AAAA,EAG7F,YAAY,aAAgC;AAFpC,kBAAA,MAAA,aAAA;AAGP,SAAK,cAAc;AAAA,EACpB;AAAA,EAEO,QACN,YACA,WACA,SACA,eACO;AACP,kBAAc,YAAY,KAAK,uBAAuB,SAAS,SAAS,CAAC;AACzE,QAAI,QAAQ,YAAY;AACvB,YAAM,UAAU,KAAK;AAAA,QACpB;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAEa,oBAAA,QAAQ,QAAQ,OAAO;AAAA,IACtC;AAAA,EACD;AAAA,EAEQ,wBACP,SACA,YACA,WAC2B;AACpB,WAAA;AAAA,MACN,MAAM,QAAQ;AAAA,MACd,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,MAAMA,OAAAA,MAAM,aAAa;AAAA,IAAA;AAAA,EAE3B;AAAA,EAEQ,uBAAuB,SAAoC,WAA6C;AACzG,UAAA,gBAAgB,QAAQ,iBAAiB;AACxC,WAAA;AAAA,MACN,MAAM;AAAA,MACN,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAK,IAAA,EAAE,YAAY,QAAQ,WAAW;AAAA,MACtF,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,MAC1D,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,QAAQ,QAAQ;AAAA,MAChB,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,KAAK,YAAY,qBAAqB,SAAS;AAAA,QACvF,UAAU,cAAc,YAAYA,OAAA,MAAM,SAAS;AAAA,MACpD;AAAA,IAAA;AAAA,EAEF;AACD;;"}