@contember/schema-definition 2.1.0-alpha.9 → 2.1.0-beta.2

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 (428) hide show
  1. package/CLAUDE.md +64 -0
  2. package/dist/development/index.cjs +33 -33
  3. package/dist/development/index.cjs.map +1 -1
  4. package/dist/development/index.js +25 -25
  5. package/dist/development/index.js.map +1 -1
  6. package/dist/development/src/acl/builder/EntityPermissionsBuilder.cjs.map +1 -1
  7. package/dist/development/src/acl/builder/EntityPermissionsBuilder.js.map +1 -1
  8. package/dist/development/src/acl/builder/EntitySelector.cjs.map +1 -1
  9. package/dist/development/src/acl/builder/EntitySelector.js.map +1 -1
  10. package/dist/development/src/acl/builder/FieldPermissionsBuilder.cjs.map +1 -1
  11. package/dist/development/src/acl/builder/FieldPermissionsBuilder.js.map +1 -1
  12. package/dist/development/src/acl/builder/FieldSelector.cjs.map +1 -1
  13. package/dist/development/src/acl/builder/FieldSelector.js.map +1 -1
  14. package/dist/development/src/acl/builder/PermissionOverrider.cjs.map +1 -1
  15. package/dist/development/src/acl/builder/PermissionOverrider.js.map +1 -1
  16. package/dist/development/src/acl/builder/PermissionsBuilder.cjs +1 -3
  17. package/dist/development/src/acl/builder/PermissionsBuilder.cjs.map +1 -1
  18. package/dist/development/src/acl/builder/PermissionsBuilder.js +1 -3
  19. package/dist/development/src/acl/builder/PermissionsBuilder.js.map +1 -1
  20. package/dist/development/src/acl/builder/PredicateReference.cjs.map +1 -1
  21. package/dist/development/src/acl/builder/PredicateReference.js.map +1 -1
  22. package/dist/development/src/acl/definition/aclExtensions.cjs +2 -2
  23. package/dist/development/src/acl/definition/aclExtensions.cjs.map +1 -1
  24. package/dist/development/src/acl/definition/aclExtensions.js +2 -2
  25. package/dist/development/src/acl/definition/aclExtensions.js.map +1 -1
  26. package/dist/development/src/acl/definition/customPrimary.cjs +1 -1
  27. package/dist/development/src/acl/definition/customPrimary.cjs.map +1 -1
  28. package/dist/development/src/acl/definition/customPrimary.js +1 -1
  29. package/dist/development/src/acl/definition/customPrimary.js.map +1 -1
  30. package/dist/development/src/acl/definition/index.cjs.map +1 -1
  31. package/dist/development/src/acl/definition/index.js.map +1 -1
  32. package/dist/development/src/acl/definition/internal/AclFactory.cjs +24 -16
  33. package/dist/development/src/acl/definition/internal/AclFactory.cjs.map +1 -1
  34. package/dist/development/src/acl/definition/internal/AclFactory.js +24 -16
  35. package/dist/development/src/acl/definition/internal/AclFactory.js.map +1 -1
  36. package/dist/development/src/acl/definition/internal/EntityPredicateResolver.cjs.map +1 -1
  37. package/dist/development/src/acl/definition/internal/EntityPredicateResolver.js.map +1 -1
  38. package/dist/development/src/acl/definition/internal/createPredicateName.cjs.map +1 -1
  39. package/dist/development/src/acl/definition/internal/createPredicateName.js.map +1 -1
  40. package/dist/development/src/acl/definition/internal/stores.cjs.map +1 -1
  41. package/dist/development/src/acl/definition/internal/stores.js.map +1 -1
  42. package/dist/development/src/acl/definition/permissions.cjs +5 -2
  43. package/dist/development/src/acl/definition/permissions.cjs.map +1 -1
  44. package/dist/development/src/acl/definition/permissions.js +5 -2
  45. package/dist/development/src/acl/definition/permissions.js.map +1 -1
  46. package/dist/development/src/acl/definition/references.cjs.map +1 -1
  47. package/dist/development/src/acl/definition/references.js.map +1 -1
  48. package/dist/development/src/acl/definition/roles.cjs.map +1 -1
  49. package/dist/development/src/acl/definition/roles.js.map +1 -1
  50. package/dist/development/src/acl/definition/variables.cjs.map +1 -1
  51. package/dist/development/src/acl/definition/variables.js.map +1 -1
  52. package/dist/development/src/actions/definition/index.cjs.map +1 -1
  53. package/dist/development/src/actions/definition/index.js.map +1 -1
  54. package/dist/development/src/actions/definition/internal/ActionsFactory.cjs +8 -7
  55. package/dist/development/src/actions/definition/internal/ActionsFactory.cjs.map +1 -1
  56. package/dist/development/src/actions/definition/internal/ActionsFactory.js +8 -7
  57. package/dist/development/src/actions/definition/internal/ActionsFactory.js.map +1 -1
  58. package/dist/development/src/actions/definition/internal/store.cjs.map +1 -1
  59. package/dist/development/src/actions/definition/internal/store.js.map +1 -1
  60. package/dist/development/src/actions/definition/targets.cjs.map +1 -1
  61. package/dist/development/src/actions/definition/targets.js.map +1 -1
  62. package/dist/development/src/actions/definition/triggers.cjs +4 -4
  63. package/dist/development/src/actions/definition/triggers.cjs.map +1 -1
  64. package/dist/development/src/actions/definition/triggers.js +4 -4
  65. package/dist/development/src/actions/definition/triggers.js.map +1 -1
  66. package/dist/development/src/createSchema.cjs.map +1 -1
  67. package/dist/development/src/createSchema.js.map +1 -1
  68. package/dist/development/src/model/builder/ColumnBuilder.cjs +7 -5
  69. package/dist/development/src/model/builder/ColumnBuilder.cjs.map +1 -1
  70. package/dist/development/src/model/builder/ColumnBuilder.js +7 -5
  71. package/dist/development/src/model/builder/ColumnBuilder.js.map +1 -1
  72. package/dist/development/src/model/builder/EntityBuilder.cjs.map +1 -1
  73. package/dist/development/src/model/builder/EntityBuilder.js.map +1 -1
  74. package/dist/development/src/model/builder/FieldBuilder.cjs +4 -4
  75. package/dist/development/src/model/builder/FieldBuilder.cjs.map +1 -1
  76. package/dist/development/src/model/builder/FieldBuilder.js.map +1 -1
  77. package/dist/development/src/model/builder/ManyHasManyBuilder.cjs.map +1 -1
  78. package/dist/development/src/model/builder/ManyHasManyBuilder.js.map +1 -1
  79. package/dist/development/src/model/builder/ManyHasOneBuilder.cjs.map +1 -1
  80. package/dist/development/src/model/builder/ManyHasOneBuilder.js.map +1 -1
  81. package/dist/development/src/model/builder/OneHasManyBuilder.cjs.map +1 -1
  82. package/dist/development/src/model/builder/OneHasManyBuilder.js.map +1 -1
  83. package/dist/development/src/model/builder/OneHasOneBuilder.cjs.map +1 -1
  84. package/dist/development/src/model/builder/OneHasOneBuilder.js.map +1 -1
  85. package/dist/development/src/model/builder/SchemaBuilder.cjs.map +1 -1
  86. package/dist/development/src/model/builder/SchemaBuilder.js.map +1 -1
  87. package/dist/development/src/model/builder/SchemaBuilderInternal.cjs.map +1 -1
  88. package/dist/development/src/model/builder/SchemaBuilderInternal.js.map +1 -1
  89. package/dist/development/src/model/builder/internal/ColumnProcessor.cjs.map +1 -1
  90. package/dist/development/src/model/builder/internal/ColumnProcessor.js.map +1 -1
  91. package/dist/development/src/model/builder/internal/ManyHasManyProcessor.cjs.map +1 -1
  92. package/dist/development/src/model/builder/internal/ManyHasManyProcessor.js.map +1 -1
  93. package/dist/development/src/model/builder/internal/ManyHasOneProcessor.cjs.map +1 -1
  94. package/dist/development/src/model/builder/internal/ManyHasOneProcessor.js.map +1 -1
  95. package/dist/development/src/model/builder/internal/OneHasManyProcessor.cjs.map +1 -1
  96. package/dist/development/src/model/builder/internal/OneHasManyProcessor.js.map +1 -1
  97. package/dist/development/src/model/builder/internal/OneHasOneProcessor.cjs.map +1 -1
  98. package/dist/development/src/model/builder/internal/OneHasOneProcessor.js.map +1 -1
  99. package/dist/development/src/model/definition/EnumDefinition.cjs.map +1 -1
  100. package/dist/development/src/model/definition/EnumDefinition.js.map +1 -1
  101. package/dist/development/src/model/definition/EventLogDefinition.cjs.map +1 -1
  102. package/dist/development/src/model/definition/EventLogDefinition.js.map +1 -1
  103. package/dist/development/src/model/definition/IndexDefinition.cjs +2 -2
  104. package/dist/development/src/model/definition/IndexDefinition.cjs.map +1 -1
  105. package/dist/development/src/model/definition/IndexDefinition.js +2 -2
  106. package/dist/development/src/model/definition/IndexDefinition.js.map +1 -1
  107. package/dist/development/src/model/definition/OrderByDefinition.cjs +3 -1
  108. package/dist/development/src/model/definition/OrderByDefinition.cjs.map +1 -1
  109. package/dist/development/src/model/definition/OrderByDefinition.js +3 -1
  110. package/dist/development/src/model/definition/OrderByDefinition.js.map +1 -1
  111. package/dist/development/src/model/definition/UniqueDefinition.cjs.map +1 -1
  112. package/dist/development/src/model/definition/UniqueDefinition.js.map +1 -1
  113. package/dist/development/src/model/definition/ViewDefinition.cjs.map +1 -1
  114. package/dist/development/src/model/definition/ViewDefinition.js.map +1 -1
  115. package/dist/development/src/model/definition/extensions.cjs +2 -2
  116. package/dist/development/src/model/definition/extensions.cjs.map +1 -1
  117. package/dist/development/src/model/definition/extensions.js +2 -2
  118. package/dist/development/src/model/definition/extensions.js.map +1 -1
  119. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +12 -1
  120. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +1 -1
  121. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js +12 -1
  122. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +1 -1
  123. package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.cjs.map +1 -1
  124. package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.js.map +1 -1
  125. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs.map +1 -1
  126. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js.map +1 -1
  127. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs.map +1 -1
  128. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js.map +1 -1
  129. package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs.map +1 -1
  130. package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js.map +1 -1
  131. package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs.map +1 -1
  132. package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.js.map +1 -1
  133. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs.map +1 -1
  134. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.js.map +1 -1
  135. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs.map +1 -1
  136. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map +1 -1
  137. package/dist/development/src/model/definition/index.cjs.map +1 -1
  138. package/dist/development/src/model/definition/index.js.map +1 -1
  139. package/dist/development/src/model/definition/internal/EntityRegistry.cjs.map +1 -1
  140. package/dist/development/src/model/definition/internal/EntityRegistry.js.map +1 -1
  141. package/dist/development/src/model/definition/internal/EnumRegistry.cjs.map +1 -1
  142. package/dist/development/src/model/definition/internal/EnumRegistry.js.map +1 -1
  143. package/dist/development/src/model/definition/internal/SchemaBuilder.cjs.map +1 -1
  144. package/dist/development/src/model/definition/internal/SchemaBuilder.js.map +1 -1
  145. package/dist/development/src/presets.cjs.map +1 -1
  146. package/dist/development/src/presets.js.map +1 -1
  147. package/dist/development/src/strict.cjs +3 -1
  148. package/dist/development/src/strict.cjs.map +1 -1
  149. package/dist/development/src/strict.js +3 -1
  150. package/dist/development/src/strict.js.map +1 -1
  151. package/dist/development/src/utils/MetadataStore.cjs +16 -4
  152. package/dist/development/src/utils/MetadataStore.cjs.map +1 -1
  153. package/dist/development/src/utils/MetadataStore.js +16 -4
  154. package/dist/development/src/utils/MetadataStore.js.map +1 -1
  155. package/dist/development/src/utils/assertNever.cjs.map +1 -1
  156. package/dist/development/src/utils/assertNever.js.map +1 -1
  157. package/dist/development/src/utils/filterEntityDefinition.cjs.map +1 -1
  158. package/dist/development/src/utils/filterEntityDefinition.js.map +1 -1
  159. package/dist/development/src/utils/tuple.cjs.map +1 -1
  160. package/dist/development/src/utils/tuple.js.map +1 -1
  161. package/dist/development/src/validation/index.cjs +25 -11
  162. package/dist/development/src/validation/index.cjs.map +1 -1
  163. package/dist/development/src/validation/index.js +25 -11
  164. package/dist/development/src/validation/index.js.map +1 -1
  165. package/dist/production/index.cjs +33 -33
  166. package/dist/production/index.cjs.map +1 -1
  167. package/dist/production/index.js +25 -25
  168. package/dist/production/index.js.map +1 -1
  169. package/dist/production/src/acl/builder/EntityPermissionsBuilder.cjs.map +1 -1
  170. package/dist/production/src/acl/builder/EntityPermissionsBuilder.js.map +1 -1
  171. package/dist/production/src/acl/builder/EntitySelector.cjs.map +1 -1
  172. package/dist/production/src/acl/builder/EntitySelector.js.map +1 -1
  173. package/dist/production/src/acl/builder/FieldPermissionsBuilder.cjs.map +1 -1
  174. package/dist/production/src/acl/builder/FieldPermissionsBuilder.js.map +1 -1
  175. package/dist/production/src/acl/builder/FieldSelector.cjs.map +1 -1
  176. package/dist/production/src/acl/builder/FieldSelector.js.map +1 -1
  177. package/dist/production/src/acl/builder/PermissionOverrider.cjs.map +1 -1
  178. package/dist/production/src/acl/builder/PermissionOverrider.js.map +1 -1
  179. package/dist/production/src/acl/builder/PermissionsBuilder.cjs +1 -3
  180. package/dist/production/src/acl/builder/PermissionsBuilder.cjs.map +1 -1
  181. package/dist/production/src/acl/builder/PermissionsBuilder.js +1 -3
  182. package/dist/production/src/acl/builder/PermissionsBuilder.js.map +1 -1
  183. package/dist/production/src/acl/builder/PredicateReference.cjs.map +1 -1
  184. package/dist/production/src/acl/builder/PredicateReference.js.map +1 -1
  185. package/dist/production/src/acl/definition/aclExtensions.cjs +2 -2
  186. package/dist/production/src/acl/definition/aclExtensions.cjs.map +1 -1
  187. package/dist/production/src/acl/definition/aclExtensions.js +2 -2
  188. package/dist/production/src/acl/definition/aclExtensions.js.map +1 -1
  189. package/dist/production/src/acl/definition/customPrimary.cjs +1 -1
  190. package/dist/production/src/acl/definition/customPrimary.cjs.map +1 -1
  191. package/dist/production/src/acl/definition/customPrimary.js +1 -1
  192. package/dist/production/src/acl/definition/customPrimary.js.map +1 -1
  193. package/dist/production/src/acl/definition/index.cjs.map +1 -1
  194. package/dist/production/src/acl/definition/index.js.map +1 -1
  195. package/dist/production/src/acl/definition/internal/AclFactory.cjs +24 -16
  196. package/dist/production/src/acl/definition/internal/AclFactory.cjs.map +1 -1
  197. package/dist/production/src/acl/definition/internal/AclFactory.js +24 -16
  198. package/dist/production/src/acl/definition/internal/AclFactory.js.map +1 -1
  199. package/dist/production/src/acl/definition/internal/EntityPredicateResolver.cjs.map +1 -1
  200. package/dist/production/src/acl/definition/internal/EntityPredicateResolver.js.map +1 -1
  201. package/dist/production/src/acl/definition/internal/createPredicateName.cjs.map +1 -1
  202. package/dist/production/src/acl/definition/internal/createPredicateName.js.map +1 -1
  203. package/dist/production/src/acl/definition/internal/stores.cjs.map +1 -1
  204. package/dist/production/src/acl/definition/internal/stores.js.map +1 -1
  205. package/dist/production/src/acl/definition/permissions.cjs +5 -2
  206. package/dist/production/src/acl/definition/permissions.cjs.map +1 -1
  207. package/dist/production/src/acl/definition/permissions.js +5 -2
  208. package/dist/production/src/acl/definition/permissions.js.map +1 -1
  209. package/dist/production/src/acl/definition/references.cjs.map +1 -1
  210. package/dist/production/src/acl/definition/references.js.map +1 -1
  211. package/dist/production/src/acl/definition/roles.cjs.map +1 -1
  212. package/dist/production/src/acl/definition/roles.js.map +1 -1
  213. package/dist/production/src/acl/definition/variables.cjs.map +1 -1
  214. package/dist/production/src/acl/definition/variables.js.map +1 -1
  215. package/dist/production/src/actions/definition/index.cjs.map +1 -1
  216. package/dist/production/src/actions/definition/index.js.map +1 -1
  217. package/dist/production/src/actions/definition/internal/ActionsFactory.cjs +8 -7
  218. package/dist/production/src/actions/definition/internal/ActionsFactory.cjs.map +1 -1
  219. package/dist/production/src/actions/definition/internal/ActionsFactory.js +8 -7
  220. package/dist/production/src/actions/definition/internal/ActionsFactory.js.map +1 -1
  221. package/dist/production/src/actions/definition/internal/store.cjs.map +1 -1
  222. package/dist/production/src/actions/definition/internal/store.js.map +1 -1
  223. package/dist/production/src/actions/definition/targets.cjs.map +1 -1
  224. package/dist/production/src/actions/definition/targets.js.map +1 -1
  225. package/dist/production/src/actions/definition/triggers.cjs +4 -4
  226. package/dist/production/src/actions/definition/triggers.cjs.map +1 -1
  227. package/dist/production/src/actions/definition/triggers.js +4 -4
  228. package/dist/production/src/actions/definition/triggers.js.map +1 -1
  229. package/dist/production/src/createSchema.cjs.map +1 -1
  230. package/dist/production/src/createSchema.js.map +1 -1
  231. package/dist/production/src/model/builder/ColumnBuilder.cjs +7 -5
  232. package/dist/production/src/model/builder/ColumnBuilder.cjs.map +1 -1
  233. package/dist/production/src/model/builder/ColumnBuilder.js +7 -5
  234. package/dist/production/src/model/builder/ColumnBuilder.js.map +1 -1
  235. package/dist/production/src/model/builder/EntityBuilder.cjs.map +1 -1
  236. package/dist/production/src/model/builder/EntityBuilder.js.map +1 -1
  237. package/dist/production/src/model/builder/FieldBuilder.cjs +4 -4
  238. package/dist/production/src/model/builder/FieldBuilder.cjs.map +1 -1
  239. package/dist/production/src/model/builder/FieldBuilder.js.map +1 -1
  240. package/dist/production/src/model/builder/ManyHasManyBuilder.cjs.map +1 -1
  241. package/dist/production/src/model/builder/ManyHasManyBuilder.js.map +1 -1
  242. package/dist/production/src/model/builder/ManyHasOneBuilder.cjs.map +1 -1
  243. package/dist/production/src/model/builder/ManyHasOneBuilder.js.map +1 -1
  244. package/dist/production/src/model/builder/OneHasManyBuilder.cjs.map +1 -1
  245. package/dist/production/src/model/builder/OneHasManyBuilder.js.map +1 -1
  246. package/dist/production/src/model/builder/OneHasOneBuilder.cjs.map +1 -1
  247. package/dist/production/src/model/builder/OneHasOneBuilder.js.map +1 -1
  248. package/dist/production/src/model/builder/SchemaBuilder.cjs.map +1 -1
  249. package/dist/production/src/model/builder/SchemaBuilder.js.map +1 -1
  250. package/dist/production/src/model/builder/SchemaBuilderInternal.cjs.map +1 -1
  251. package/dist/production/src/model/builder/SchemaBuilderInternal.js.map +1 -1
  252. package/dist/production/src/model/builder/internal/ColumnProcessor.cjs.map +1 -1
  253. package/dist/production/src/model/builder/internal/ColumnProcessor.js.map +1 -1
  254. package/dist/production/src/model/builder/internal/ManyHasManyProcessor.cjs.map +1 -1
  255. package/dist/production/src/model/builder/internal/ManyHasManyProcessor.js.map +1 -1
  256. package/dist/production/src/model/builder/internal/ManyHasOneProcessor.cjs.map +1 -1
  257. package/dist/production/src/model/builder/internal/ManyHasOneProcessor.js.map +1 -1
  258. package/dist/production/src/model/builder/internal/OneHasManyProcessor.cjs.map +1 -1
  259. package/dist/production/src/model/builder/internal/OneHasManyProcessor.js.map +1 -1
  260. package/dist/production/src/model/builder/internal/OneHasOneProcessor.cjs.map +1 -1
  261. package/dist/production/src/model/builder/internal/OneHasOneProcessor.js.map +1 -1
  262. package/dist/production/src/model/definition/EnumDefinition.cjs.map +1 -1
  263. package/dist/production/src/model/definition/EnumDefinition.js.map +1 -1
  264. package/dist/production/src/model/definition/EventLogDefinition.cjs.map +1 -1
  265. package/dist/production/src/model/definition/EventLogDefinition.js.map +1 -1
  266. package/dist/production/src/model/definition/IndexDefinition.cjs +2 -2
  267. package/dist/production/src/model/definition/IndexDefinition.cjs.map +1 -1
  268. package/dist/production/src/model/definition/IndexDefinition.js +2 -2
  269. package/dist/production/src/model/definition/IndexDefinition.js.map +1 -1
  270. package/dist/production/src/model/definition/OrderByDefinition.cjs +3 -1
  271. package/dist/production/src/model/definition/OrderByDefinition.cjs.map +1 -1
  272. package/dist/production/src/model/definition/OrderByDefinition.js +3 -1
  273. package/dist/production/src/model/definition/OrderByDefinition.js.map +1 -1
  274. package/dist/production/src/model/definition/UniqueDefinition.cjs.map +1 -1
  275. package/dist/production/src/model/definition/UniqueDefinition.js.map +1 -1
  276. package/dist/production/src/model/definition/ViewDefinition.cjs.map +1 -1
  277. package/dist/production/src/model/definition/ViewDefinition.js.map +1 -1
  278. package/dist/production/src/model/definition/extensions.cjs +2 -2
  279. package/dist/production/src/model/definition/extensions.cjs.map +1 -1
  280. package/dist/production/src/model/definition/extensions.js +2 -2
  281. package/dist/production/src/model/definition/extensions.js.map +1 -1
  282. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +12 -1
  283. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +1 -1
  284. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js +12 -1
  285. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +1 -1
  286. package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.cjs.map +1 -1
  287. package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.js.map +1 -1
  288. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs.map +1 -1
  289. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js.map +1 -1
  290. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs.map +1 -1
  291. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js.map +1 -1
  292. package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs.map +1 -1
  293. package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js.map +1 -1
  294. package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs.map +1 -1
  295. package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.js.map +1 -1
  296. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs.map +1 -1
  297. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.js.map +1 -1
  298. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs.map +1 -1
  299. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map +1 -1
  300. package/dist/production/src/model/definition/index.cjs.map +1 -1
  301. package/dist/production/src/model/definition/index.js.map +1 -1
  302. package/dist/production/src/model/definition/internal/EntityRegistry.cjs.map +1 -1
  303. package/dist/production/src/model/definition/internal/EntityRegistry.js.map +1 -1
  304. package/dist/production/src/model/definition/internal/EnumRegistry.cjs.map +1 -1
  305. package/dist/production/src/model/definition/internal/EnumRegistry.js.map +1 -1
  306. package/dist/production/src/model/definition/internal/SchemaBuilder.cjs.map +1 -1
  307. package/dist/production/src/model/definition/internal/SchemaBuilder.js.map +1 -1
  308. package/dist/production/src/presets.cjs.map +1 -1
  309. package/dist/production/src/presets.js.map +1 -1
  310. package/dist/production/src/strict.cjs +3 -1
  311. package/dist/production/src/strict.cjs.map +1 -1
  312. package/dist/production/src/strict.js +3 -1
  313. package/dist/production/src/strict.js.map +1 -1
  314. package/dist/production/src/utils/MetadataStore.cjs +16 -4
  315. package/dist/production/src/utils/MetadataStore.cjs.map +1 -1
  316. package/dist/production/src/utils/MetadataStore.js +16 -4
  317. package/dist/production/src/utils/MetadataStore.js.map +1 -1
  318. package/dist/production/src/utils/assertNever.cjs.map +1 -1
  319. package/dist/production/src/utils/assertNever.js.map +1 -1
  320. package/dist/production/src/utils/filterEntityDefinition.cjs.map +1 -1
  321. package/dist/production/src/utils/filterEntityDefinition.js.map +1 -1
  322. package/dist/production/src/utils/tuple.cjs.map +1 -1
  323. package/dist/production/src/utils/tuple.js.map +1 -1
  324. package/dist/production/src/validation/index.cjs +25 -11
  325. package/dist/production/src/validation/index.cjs.map +1 -1
  326. package/dist/production/src/validation/index.js +25 -11
  327. package/dist/production/src/validation/index.js.map +1 -1
  328. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  329. package/dist/types/acl/builder/PermissionOverrider.d.ts.map +1 -1
  330. package/dist/types/acl/builder/PermissionsBuilder.d.ts.map +1 -1
  331. package/dist/types/acl/definition/aclExtensions.d.ts.map +1 -1
  332. package/dist/types/acl/definition/internal/AclFactory.d.ts +1 -1
  333. package/dist/types/acl/definition/internal/AclFactory.d.ts.map +1 -1
  334. package/dist/types/acl/definition/internal/EntityPredicateResolver.d.ts.map +1 -1
  335. package/dist/types/acl/definition/internal/stores.d.ts +4 -3
  336. package/dist/types/acl/definition/internal/stores.d.ts.map +1 -1
  337. package/dist/types/acl/definition/permissions.d.ts +7 -2
  338. package/dist/types/acl/definition/permissions.d.ts.map +1 -1
  339. package/dist/types/acl/definition/variables.d.ts.map +1 -1
  340. package/dist/types/actions/definition/index.d.ts.map +1 -1
  341. package/dist/types/actions/definition/internal/ActionsFactory.d.ts +0 -1
  342. package/dist/types/actions/definition/internal/ActionsFactory.d.ts.map +1 -1
  343. package/dist/types/actions/definition/targets.d.ts.map +1 -1
  344. package/dist/types/actions/definition/triggers.d.ts +1 -0
  345. package/dist/types/actions/definition/triggers.d.ts.map +1 -1
  346. package/dist/types/createSchema.d.ts.map +1 -1
  347. package/dist/types/index.d.ts +3 -3
  348. package/dist/types/index.d.ts.map +1 -1
  349. package/dist/types/model/builder/ColumnBuilder.d.ts.map +1 -1
  350. package/dist/types/model/builder/internal/ColumnProcessor.d.ts.map +1 -1
  351. package/dist/types/model/definition/IndexDefinition.d.ts +2 -0
  352. package/dist/types/model/definition/IndexDefinition.d.ts.map +1 -1
  353. package/dist/types/model/definition/OrderByDefinition.d.ts.map +1 -1
  354. package/dist/types/model/definition/UniqueDefinition.d.ts +1 -0
  355. package/dist/types/model/definition/UniqueDefinition.d.ts.map +1 -1
  356. package/dist/types/model/definition/fieldDefinitions/ColumnDefinition.d.ts.map +1 -1
  357. package/dist/types/model/definition/fieldDefinitions/FieldDefinition.d.ts.map +1 -1
  358. package/dist/types/model/definition/fieldDefinitions/ManyHasManyDefinition.d.ts.map +1 -1
  359. package/dist/types/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.d.ts.map +1 -1
  360. package/dist/types/model/definition/fieldDefinitions/ManyHasOneDefinition.d.ts.map +1 -1
  361. package/dist/types/model/definition/fieldDefinitions/OneHasManyDefinition.d.ts.map +1 -1
  362. package/dist/types/model/definition/fieldDefinitions/OneHasOneDefinition.d.ts.map +1 -1
  363. package/dist/types/model/definition/fieldDefinitions/OneHasOneInverseDefinition.d.ts.map +1 -1
  364. package/dist/types/model/definition/index.d.ts +1 -1
  365. package/dist/types/model/definition/index.d.ts.map +1 -1
  366. package/dist/types/model/definition/internal/SchemaBuilder.d.ts.map +1 -1
  367. package/dist/types/model/definition/types.d.ts +1 -1
  368. package/dist/types/model/definition/types.d.ts.map +1 -1
  369. package/dist/types/model/index.d.ts +1 -1
  370. package/dist/types/model/index.d.ts.map +1 -1
  371. package/dist/types/presets.d.ts.map +1 -1
  372. package/dist/types/strict.d.ts.map +1 -1
  373. package/dist/types/tsconfig.tsbuildinfo +1 -1
  374. package/dist/types/utils/MetadataStore.d.ts +1 -1
  375. package/dist/types/utils/MetadataStore.d.ts.map +1 -1
  376. package/dist/types/utils/decorators.d.ts +1 -1
  377. package/dist/types/utils/decorators.d.ts.map +1 -1
  378. package/dist/types/utils/filterEntityDefinition.d.ts.map +1 -1
  379. package/dist/types/validation/index.d.ts +0 -1
  380. package/dist/types/validation/index.d.ts.map +1 -1
  381. package/package.json +11 -6
  382. package/src/acl/builder/EntityPermissionsBuilder.ts +1 -1
  383. package/src/acl/builder/EntitySelector.ts +2 -2
  384. package/src/acl/builder/PermissionOverrider.ts +10 -8
  385. package/src/acl/builder/PermissionsBuilder.ts +1 -3
  386. package/src/acl/definition/aclExtensions.ts +7 -8
  387. package/src/acl/definition/customPrimary.ts +1 -1
  388. package/src/acl/definition/internal/AclFactory.ts +30 -25
  389. package/src/acl/definition/internal/EntityPredicateResolver.ts +4 -4
  390. package/src/acl/definition/internal/stores.ts +5 -6
  391. package/src/acl/definition/permissions.ts +14 -8
  392. package/src/acl/definition/variables.ts +5 -1
  393. package/src/actions/definition/index.ts +0 -1
  394. package/src/actions/definition/internal/ActionsFactory.ts +7 -9
  395. package/src/actions/definition/targets.ts +0 -1
  396. package/src/actions/definition/triggers.ts +9 -7
  397. package/src/createSchema.ts +1 -1
  398. package/src/index.ts +6 -11
  399. package/src/model/builder/ColumnBuilder.ts +7 -5
  400. package/src/model/builder/internal/ColumnProcessor.ts +0 -1
  401. package/src/model/definition/IndexDefinition.ts +7 -3
  402. package/src/model/definition/OrderByDefinition.ts +7 -5
  403. package/src/model/definition/UniqueDefinition.ts +14 -12
  404. package/src/model/definition/extensions.ts +2 -2
  405. package/src/model/definition/fieldDefinitions/ColumnDefinition.ts +12 -4
  406. package/src/model/definition/fieldDefinitions/FieldDefinition.ts +1 -1
  407. package/src/model/definition/fieldDefinitions/ManyHasManyDefinition.ts +0 -2
  408. package/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.ts +4 -2
  409. package/src/model/definition/fieldDefinitions/ManyHasOneDefinition.ts +1 -1
  410. package/src/model/definition/fieldDefinitions/OneHasManyDefinition.ts +0 -1
  411. package/src/model/definition/fieldDefinitions/OneHasOneDefinition.ts +0 -2
  412. package/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.ts +5 -3
  413. package/src/model/definition/index.ts +2 -2
  414. package/src/model/definition/internal/SchemaBuilder.ts +1 -2
  415. package/src/model/definition/types.ts +1 -1
  416. package/src/model/index.ts +1 -10
  417. package/src/presets.ts +0 -2
  418. package/src/strict.ts +4 -4
  419. package/src/utils/MetadataStore.ts +18 -4
  420. package/src/utils/decorators.ts +1 -1
  421. package/src/utils/filterEntityDefinition.ts +3 -2
  422. package/src/validation/index.ts +30 -21
  423. package/tests/cases/unit/createSchema.test.ts +5 -6
  424. package/tests/cases/unit/extendEntity.test.ts +1 -2
  425. package/tests/cases/unit/orderBy.test.ts +3 -6
  426. package/tests/cases/unit/readAclDefinitions.test.ts +191 -176
  427. package/tests/cases/unit/readActions.test.ts +0 -2
  428. package/vitest.config.ts +0 -3
@@ -1 +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.Uniques {\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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"}
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.Uniques {\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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"}
@@ -1 +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,EAAA;AAAA,EAGb,QACN,YACA,WACA,SACA,eACO;AACP,kBAAc,YAAY,KAAK,aAAa,WAAW,OAAO,CAAC;AAAA,EAAA;AAAA,EAGxD,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,IAC3D;AACI,QAAA,SAASA,OAAAA,MAAM,WAAW,MAAM;AAEnC,aAAO,EAAE,GAAG,QAAQ,MAAY,YAAY,QAAQ,SAAU;AAAA,IAAA;AAExD,WAAA;AAAA,MACN,GAAG;AAAA,MACH;AAAA,MACA,YAAYC,qCAAyB,IAAI;AAAA,MACzC,GAAI,QAAQ,cAAc,SAAY,EAAE,WAAW,QAAQ,cAAc,CAAA;AAAA,IAC1E;AAAA,EAAA;AAEF;;"}
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\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;AAF5C,kBAAA,MAAQ,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;AAE3D,QAAI,SAASA,OAAAA,MAAM,WAAW,MAAM;AACnC,aAAO,EAAE,GAAG,QAAQ,MAAY,YAAY,QAAQ,SAAA;AAAA,IACrD;AACA,WAAO;AAAA,MACN,GAAG;AAAA,MACH;AAAA,MACA,YAAYC,YAAAA,yBAAyB,IAAI;AAAA,MACzC,GAAI,QAAQ,cAAc,SAAY,EAAE,WAAW,QAAQ,cAAc,CAAA;AAAA,IAAC;AAAA,EAE5E;AACD;;"}
@@ -1 +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,EAAA;AAAA,EAGb,QACN,YACA,WACA,SACA,eACO;AACP,kBAAc,YAAY,KAAK,aAAa,WAAW,OAAO,CAAC;AAAA,EAAA;AAAA,EAGxD,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,IAC3D;AACI,QAAA,SAAS,MAAM,WAAW,MAAM;AAEnC,aAAO,EAAE,GAAG,QAAQ,MAAY,YAAY,QAAQ,SAAU;AAAA,IAAA;AAExD,WAAA;AAAA,MACN,GAAG;AAAA,MACH;AAAA,MACA,YAAY,yBAAyB,IAAI;AAAA,MACzC,GAAI,QAAQ,cAAc,SAAY,EAAE,WAAW,QAAQ,cAAc,CAAA;AAAA,IAC1E;AAAA,EAAA;AAEF;"}
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\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;AAF5C,kBAAA,MAAQ,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;AAE3D,QAAI,SAAS,MAAM,WAAW,MAAM;AACnC,aAAO,EAAE,GAAG,QAAQ,MAAY,YAAY,QAAQ,SAAA;AAAA,IACrD;AACA,WAAO;AAAA,MACN,GAAG;AAAA,MACH;AAAA,MACA,YAAY,yBAAyB,IAAI;AAAA,MACzC,GAAI,QAAQ,cAAc,SAAY,EAAE,WAAW,QAAQ,cAAc,CAAA;AAAA,IAAC;AAAA,EAE5E;AACD;"}
@@ -1 +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,EAAA;AAAA,EAGb,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,IAAA;AAAA,EACvG;AAAA,EAGO,yBACP,YACA,YACA,WACmC;AAC5B,WAAA;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,MAAMA,aAAM,aAAa;AAAA,IAC1B;AAAA,EAAA;AAAA,EAGO,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,MACT;AACe,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,QAAA;AAAA,MAEX;AAAA,IAAA;AAGM,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,CAAA;AAAA,IACtD;AAAA,EAAA;AAEF;;"}
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;AAF5C,kBAAA,MAAQ,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;AACvB,oBAAc,QAAQ,QAAQ,KAAK,yBAAyB,QAAQ,YAAY,YAAY,SAAS,CAAC;AAAA,IACvG;AAAA,EACD;AAAA,EAEQ,yBACP,YACA,YACA,WACmC;AACnC,WAAO;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;AAClB,YAAM,cAAc,KAAK,YAAY;AAAA,QACpC;AAAA,QACA;AAAA,QACA,QAAQ;AAAA,QACR,QAAQ;AAAA,MAAA;AAET,qBAAe;AAAA,QACd,WAAW,KAAK,YAAY,oBAAoB,YAAY,SAAS;AAAA,QACrE,eAAe,EAAE,YAAY,YAAY,CAAC,GAAG,UAAUA,OAAAA,MAAM,SAAS,QAAA;AAAA,QACtE,sBAAsB,EAAE,YAAY,YAAY,CAAC,GAAG,UAAUA,OAAAA,MAAM,SAAS,QAAA;AAAA,QAC7E,UAAU;AAAA,UACT,SAAS;AAAA,QAAA;AAAA,MACV;AAAA,IAEF;AAEA,WAAO;AAAA,MACN,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,MAAM;AAAA,MACN,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAA,IAAK,EAAE,YAAY,QAAQ,WAAA;AAAA,MAC3E,QAAQ,QAAQ;AAAA,MAChB;AAAA,MACA,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAA;AAAA,IAAC;AAAA,EAExD;AACD;;"}
@@ -1 +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,EAAA;AAAA,EAGb,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,IAAA;AAAA,EACvG;AAAA,EAGO,yBACP,YACA,YACA,WACmC;AAC5B,WAAA;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,MAAM,MAAM,aAAa;AAAA,IAC1B;AAAA,EAAA;AAAA,EAGO,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,MACT;AACe,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,QAAA;AAAA,MAEX;AAAA,IAAA;AAGM,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,CAAA;AAAA,IACtD;AAAA,EAAA;AAEF;"}
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;AAF5C,kBAAA,MAAQ,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;AACvB,oBAAc,QAAQ,QAAQ,KAAK,yBAAyB,QAAQ,YAAY,YAAY,SAAS,CAAC;AAAA,IACvG;AAAA,EACD;AAAA,EAEQ,yBACP,YACA,YACA,WACmC;AACnC,WAAO;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;AAClB,YAAM,cAAc,KAAK,YAAY;AAAA,QACpC;AAAA,QACA;AAAA,QACA,QAAQ;AAAA,QACR,QAAQ;AAAA,MAAA;AAET,qBAAe;AAAA,QACd,WAAW,KAAK,YAAY,oBAAoB,YAAY,SAAS;AAAA,QACrE,eAAe,EAAE,YAAY,YAAY,CAAC,GAAG,UAAU,MAAM,SAAS,QAAA;AAAA,QACtE,sBAAsB,EAAE,YAAY,YAAY,CAAC,GAAG,UAAU,MAAM,SAAS,QAAA;AAAA,QAC7E,UAAU;AAAA,UACT,SAAS;AAAA,QAAA;AAAA,MACV;AAAA,IAEF;AAEA,WAAO;AAAA,MACN,MAAM,MAAM,aAAa;AAAA,MACzB,MAAM;AAAA,MACN,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAA,IAAK,EAAE,YAAY,QAAQ,WAAA;AAAA,MAC3E,QAAQ,QAAQ;AAAA,MAChB;AAAA,MACA,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAA;AAAA,IAAC;AAAA,EAExD;AACD;"}
@@ -1 +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,EAAA;AAAA,EAGb,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,MACD;AACc,oBAAA,QAAQ,QAAQ,OAAO;AAAA,IAAA;AAAA,EACtC;AAAA,EAGO,wBACP,SACA,YACA,WAC2B;AACpB,WAAA;AAAA,MACN,MAAM,QAAQ;AAAA,MACd,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,MAAMA,aAAM,aAAa;AAAA,IAC1B;AAAA,EAAA;AAAA,EAGO,uBAAuB,SAAoC,WAA6C;AACzG,UAAA,gBAAgB,QAAQ,iBAAiB,CAAC;AACzC,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,OAAAA,MAAM,SAAS;AAAA,MAAA;AAAA,IAErD;AAAA,EAAA;AAEF;;"}
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;AAF5C,kBAAA,MAAQ,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;AAED,oBAAc,QAAQ,QAAQ,OAAO;AAAA,IACtC;AAAA,EACD;AAAA,EAEQ,wBACP,SACA,YACA,WAC2B;AAC3B,WAAO;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;AAC/G,UAAM,gBAAgB,QAAQ,iBAAiB,CAAA;AAC/C,WAAO;AAAA,MACN,MAAM;AAAA,MACN,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAA,IAAK,EAAE,YAAY,QAAQ,WAAA;AAAA,MAC3E,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,OAAAA,MAAM,SAAS;AAAA,MAAA;AAAA,IACpD;AAAA,EAEF;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ManyHasOneProcessor.js","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":[],"mappings":";;;;AAKA,MAAqB,oBAAyE;AAAA,EAG7F,YAAY,aAAgC;AAFpC,kBAAA,MAAA,aAAA;AAGP,SAAK,cAAc;AAAA,EAAA;AAAA,EAGb,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,MACD;AACc,oBAAA,QAAQ,QAAQ,OAAO;AAAA,IAAA;AAAA,EACtC;AAAA,EAGO,wBACP,SACA,YACA,WAC2B;AACpB,WAAA;AAAA,MACN,MAAM,QAAQ;AAAA,MACd,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,MAAM,MAAM,aAAa;AAAA,IAC1B;AAAA,EAAA;AAAA,EAGO,uBAAuB,SAAoC,WAA6C;AACzG,UAAA,gBAAgB,QAAQ,iBAAiB,CAAC;AACzC,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,MAAM,MAAM,aAAa;AAAA,MACzB,QAAQ,QAAQ;AAAA,MAChB,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,KAAK,YAAY,qBAAqB,SAAS;AAAA,QACvF,UAAU,cAAc,YAAY,MAAM,SAAS;AAAA,MAAA;AAAA,IAErD;AAAA,EAAA;AAEF;"}
1
+ {"version":3,"file":"ManyHasOneProcessor.js","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":[],"mappings":";;;;AAKA,MAAqB,oBAAyE;AAAA,EAG7F,YAAY,aAAgC;AAF5C,kBAAA,MAAQ,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;AAED,oBAAc,QAAQ,QAAQ,OAAO;AAAA,IACtC;AAAA,EACD;AAAA,EAEQ,wBACP,SACA,YACA,WAC2B;AAC3B,WAAO;AAAA,MACN,MAAM,QAAQ;AAAA,MACd,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,MAAM,MAAM,aAAa;AAAA,IAAA;AAAA,EAE3B;AAAA,EAEQ,uBAAuB,SAAoC,WAA6C;AAC/G,UAAM,gBAAgB,QAAQ,iBAAiB,CAAA;AAC/C,WAAO;AAAA,MACN,MAAM;AAAA,MACN,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAA,IAAK,EAAE,YAAY,QAAQ,WAAA;AAAA,MAC3E,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,MAC1D,MAAM,MAAM,aAAa;AAAA,MACzB,QAAQ,QAAQ;AAAA,MAChB,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,KAAK,YAAY,qBAAqB,SAAS;AAAA,QACvF,UAAU,cAAc,YAAY,MAAM,SAAS;AAAA,MAAA;AAAA,IACpD;AAAA,EAEF;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"OneHasManyProcessor.cjs","sources":["../../../../../../../packages/schema-definition/src/model/builder/internal/OneHasManyProcessor.ts"],"sourcesContent":["import FieldProcessor from './FieldProcessor'\nimport OneHasManyBuilder from '../OneHasManyBuilder'\nimport { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\n\nexport default class OneHasManyProcessor implements FieldProcessor<OneHasManyBuilder.Options> {\n\tprivate conventions: NamingConventions\n\n\tconstructor(conventions: NamingConventions) {\n\t\tthis.conventions = conventions\n\t}\n\n\tprocess(\n\t\tentityName: string,\n\t\tfieldName: string,\n\t\toptions: OneHasManyBuilder.Options,\n\t\tregisterField: FieldProcessor.FieldRegistrar,\n\t): void {\n\t\tconst optionsFinalized = {\n\t\t\t...options,\n\t\t\townedBy: options.ownedBy || entityName,\n\t\t}\n\t\tregisterField(optionsFinalized.target, this.createOwning(optionsFinalized, entityName, fieldName))\n\t\tregisterField(entityName, this.createInverse(optionsFinalized, fieldName))\n\t}\n\n\tprivate createInverse(\n\t\toptions: OneHasManyBuilder.Options & { ownedBy: string },\n\t\tfieldName: string,\n\t): Model.OneHasManyRelation {\n\t\treturn {\n\t\t\tname: fieldName,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttype: Model.RelationType.OneHasMany,\n\t\t\ttarget: options.target,\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n\n\tprivate createOwning(\n\t\toptions: OneHasManyBuilder.Options & { ownedBy: string },\n\t\tentityName: string,\n\t\tfieldName: string,\n\t): Model.ManyHasOneRelation {\n\t\tconst joiningColumn = options.ownerJoiningColumn || {}\n\n\t\treturn {\n\t\t\tname: options.ownedBy,\n\t\t\ttarget: entityName,\n\t\t\tinversedBy: fieldName,\n\t\t\tnullable: options.ownerNullable !== undefined ? options.ownerNullable : true,\n\t\t\ttype: Model.RelationType.ManyHasOne,\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || this.conventions.getJoiningColumnName(options.ownedBy),\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,EAAA;AAAA,EAGpB,QACC,YACA,WACA,SACA,eACO;AACP,UAAM,mBAAmB;AAAA,MACxB,GAAG;AAAA,MACH,SAAS,QAAQ,WAAW;AAAA,IAC7B;AACA,kBAAc,iBAAiB,QAAQ,KAAK,aAAa,kBAAkB,YAAY,SAAS,CAAC;AACjG,kBAAc,YAAY,KAAK,cAAc,kBAAkB,SAAS,CAAC;AAAA,EAAA;AAAA,EAGlE,cACP,SACA,WAC2B;AACpB,WAAA;AAAA,MACN,MAAM;AAAA,MACN,SAAS,QAAQ;AAAA,MACjB,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,QAAQ,QAAQ;AAAA,MAChB,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAA;AAAA,IACtD;AAAA,EAAA;AAAA,EAGO,aACP,SACA,YACA,WAC2B;AACrB,UAAA,gBAAgB,QAAQ,sBAAsB,CAAC;AAE9C,WAAA;AAAA,MACN,MAAM,QAAQ;AAAA,MACd,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,UAAU,QAAQ,kBAAkB,SAAY,QAAQ,gBAAgB;AAAA,MACxE,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,KAAK,YAAY,qBAAqB,QAAQ,OAAO;AAAA,QAC7F,UAAU,cAAc,YAAYA,OAAAA,MAAM,SAAS;AAAA,MAAA;AAAA,IAErD;AAAA,EAAA;AAEF;;"}
1
+ {"version":3,"file":"OneHasManyProcessor.cjs","sources":["../../../../../../../packages/schema-definition/src/model/builder/internal/OneHasManyProcessor.ts"],"sourcesContent":["import FieldProcessor from './FieldProcessor'\nimport OneHasManyBuilder from '../OneHasManyBuilder'\nimport { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\n\nexport default class OneHasManyProcessor implements FieldProcessor<OneHasManyBuilder.Options> {\n\tprivate conventions: NamingConventions\n\n\tconstructor(conventions: NamingConventions) {\n\t\tthis.conventions = conventions\n\t}\n\n\tprocess(\n\t\tentityName: string,\n\t\tfieldName: string,\n\t\toptions: OneHasManyBuilder.Options,\n\t\tregisterField: FieldProcessor.FieldRegistrar,\n\t): void {\n\t\tconst optionsFinalized = {\n\t\t\t...options,\n\t\t\townedBy: options.ownedBy || entityName,\n\t\t}\n\t\tregisterField(optionsFinalized.target, this.createOwning(optionsFinalized, entityName, fieldName))\n\t\tregisterField(entityName, this.createInverse(optionsFinalized, fieldName))\n\t}\n\n\tprivate createInverse(\n\t\toptions: OneHasManyBuilder.Options & { ownedBy: string },\n\t\tfieldName: string,\n\t): Model.OneHasManyRelation {\n\t\treturn {\n\t\t\tname: fieldName,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttype: Model.RelationType.OneHasMany,\n\t\t\ttarget: options.target,\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n\n\tprivate createOwning(\n\t\toptions: OneHasManyBuilder.Options & { ownedBy: string },\n\t\tentityName: string,\n\t\tfieldName: string,\n\t): Model.ManyHasOneRelation {\n\t\tconst joiningColumn = options.ownerJoiningColumn || {}\n\n\t\treturn {\n\t\t\tname: options.ownedBy,\n\t\t\ttarget: entityName,\n\t\t\tinversedBy: fieldName,\n\t\t\tnullable: options.ownerNullable !== undefined ? options.ownerNullable : true,\n\t\t\ttype: Model.RelationType.ManyHasOne,\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || this.conventions.getJoiningColumnName(options.ownedBy),\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;AAF5C,kBAAA,MAAQ,aAAA;AAGP,SAAK,cAAc;AAAA,EACpB;AAAA,EAEA,QACC,YACA,WACA,SACA,eACO;AACP,UAAM,mBAAmB;AAAA,MACxB,GAAG;AAAA,MACH,SAAS,QAAQ,WAAW;AAAA,IAAA;AAE7B,kBAAc,iBAAiB,QAAQ,KAAK,aAAa,kBAAkB,YAAY,SAAS,CAAC;AACjG,kBAAc,YAAY,KAAK,cAAc,kBAAkB,SAAS,CAAC;AAAA,EAC1E;AAAA,EAEQ,cACP,SACA,WAC2B;AAC3B,WAAO;AAAA,MACN,MAAM;AAAA,MACN,SAAS,QAAQ;AAAA,MACjB,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,QAAQ,QAAQ;AAAA,MAChB,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAA;AAAA,IAAC;AAAA,EAExD;AAAA,EAEQ,aACP,SACA,YACA,WAC2B;AAC3B,UAAM,gBAAgB,QAAQ,sBAAsB,CAAA;AAEpD,WAAO;AAAA,MACN,MAAM,QAAQ;AAAA,MACd,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,UAAU,QAAQ,kBAAkB,SAAY,QAAQ,gBAAgB;AAAA,MACxE,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,KAAK,YAAY,qBAAqB,QAAQ,OAAO;AAAA,QAC7F,UAAU,cAAc,YAAYA,OAAAA,MAAM,SAAS;AAAA,MAAA;AAAA,IACpD;AAAA,EAEF;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"OneHasManyProcessor.js","sources":["../../../../../../../packages/schema-definition/src/model/builder/internal/OneHasManyProcessor.ts"],"sourcesContent":["import FieldProcessor from './FieldProcessor'\nimport OneHasManyBuilder from '../OneHasManyBuilder'\nimport { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\n\nexport default class OneHasManyProcessor implements FieldProcessor<OneHasManyBuilder.Options> {\n\tprivate conventions: NamingConventions\n\n\tconstructor(conventions: NamingConventions) {\n\t\tthis.conventions = conventions\n\t}\n\n\tprocess(\n\t\tentityName: string,\n\t\tfieldName: string,\n\t\toptions: OneHasManyBuilder.Options,\n\t\tregisterField: FieldProcessor.FieldRegistrar,\n\t): void {\n\t\tconst optionsFinalized = {\n\t\t\t...options,\n\t\t\townedBy: options.ownedBy || entityName,\n\t\t}\n\t\tregisterField(optionsFinalized.target, this.createOwning(optionsFinalized, entityName, fieldName))\n\t\tregisterField(entityName, this.createInverse(optionsFinalized, fieldName))\n\t}\n\n\tprivate createInverse(\n\t\toptions: OneHasManyBuilder.Options & { ownedBy: string },\n\t\tfieldName: string,\n\t): Model.OneHasManyRelation {\n\t\treturn {\n\t\t\tname: fieldName,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttype: Model.RelationType.OneHasMany,\n\t\t\ttarget: options.target,\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n\n\tprivate createOwning(\n\t\toptions: OneHasManyBuilder.Options & { ownedBy: string },\n\t\tentityName: string,\n\t\tfieldName: string,\n\t): Model.ManyHasOneRelation {\n\t\tconst joiningColumn = options.ownerJoiningColumn || {}\n\n\t\treturn {\n\t\t\tname: options.ownedBy,\n\t\t\ttarget: entityName,\n\t\t\tinversedBy: fieldName,\n\t\t\tnullable: options.ownerNullable !== undefined ? options.ownerNullable : true,\n\t\t\ttype: Model.RelationType.ManyHasOne,\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || this.conventions.getJoiningColumnName(options.ownedBy),\n\t\t\t\tonDelete: joiningColumn.onDelete || Model.OnDelete.restrict,\n\t\t\t},\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;AAKA,MAAqB,oBAAyE;AAAA,EAG7F,YAAY,aAAgC;AAFpC,kBAAA,MAAA,aAAA;AAGP,SAAK,cAAc;AAAA,EAAA;AAAA,EAGpB,QACC,YACA,WACA,SACA,eACO;AACP,UAAM,mBAAmB;AAAA,MACxB,GAAG;AAAA,MACH,SAAS,QAAQ,WAAW;AAAA,IAC7B;AACA,kBAAc,iBAAiB,QAAQ,KAAK,aAAa,kBAAkB,YAAY,SAAS,CAAC;AACjG,kBAAc,YAAY,KAAK,cAAc,kBAAkB,SAAS,CAAC;AAAA,EAAA;AAAA,EAGlE,cACP,SACA,WAC2B;AACpB,WAAA;AAAA,MACN,MAAM;AAAA,MACN,SAAS,QAAQ;AAAA,MACjB,MAAM,MAAM,aAAa;AAAA,MACzB,QAAQ,QAAQ;AAAA,MAChB,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAA;AAAA,IACtD;AAAA,EAAA;AAAA,EAGO,aACP,SACA,YACA,WAC2B;AACrB,UAAA,gBAAgB,QAAQ,sBAAsB,CAAC;AAE9C,WAAA;AAAA,MACN,MAAM,QAAQ;AAAA,MACd,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,UAAU,QAAQ,kBAAkB,SAAY,QAAQ,gBAAgB;AAAA,MACxE,MAAM,MAAM,aAAa;AAAA,MACzB,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,KAAK,YAAY,qBAAqB,QAAQ,OAAO;AAAA,QAC7F,UAAU,cAAc,YAAY,MAAM,SAAS;AAAA,MAAA;AAAA,IAErD;AAAA,EAAA;AAEF;"}
1
+ {"version":3,"file":"OneHasManyProcessor.js","sources":["../../../../../../../packages/schema-definition/src/model/builder/internal/OneHasManyProcessor.ts"],"sourcesContent":["import FieldProcessor from './FieldProcessor'\nimport OneHasManyBuilder from '../OneHasManyBuilder'\nimport { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\n\nexport default class OneHasManyProcessor implements FieldProcessor<OneHasManyBuilder.Options> {\n\tprivate conventions: NamingConventions\n\n\tconstructor(conventions: NamingConventions) {\n\t\tthis.conventions = conventions\n\t}\n\n\tprocess(\n\t\tentityName: string,\n\t\tfieldName: string,\n\t\toptions: OneHasManyBuilder.Options,\n\t\tregisterField: FieldProcessor.FieldRegistrar,\n\t): void {\n\t\tconst optionsFinalized = {\n\t\t\t...options,\n\t\t\townedBy: options.ownedBy || entityName,\n\t\t}\n\t\tregisterField(optionsFinalized.target, this.createOwning(optionsFinalized, entityName, fieldName))\n\t\tregisterField(entityName, this.createInverse(optionsFinalized, fieldName))\n\t}\n\n\tprivate createInverse(\n\t\toptions: OneHasManyBuilder.Options & { ownedBy: string },\n\t\tfieldName: string,\n\t): Model.OneHasManyRelation {\n\t\treturn {\n\t\t\tname: fieldName,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttype: Model.RelationType.OneHasMany,\n\t\t\ttarget: options.target,\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n\n\tprivate createOwning(\n\t\toptions: OneHasManyBuilder.Options & { ownedBy: string },\n\t\tentityName: string,\n\t\tfieldName: string,\n\t): Model.ManyHasOneRelation {\n\t\tconst joiningColumn = options.ownerJoiningColumn || {}\n\n\t\treturn {\n\t\t\tname: options.ownedBy,\n\t\t\ttarget: entityName,\n\t\t\tinversedBy: fieldName,\n\t\t\tnullable: options.ownerNullable !== undefined ? options.ownerNullable : true,\n\t\t\ttype: Model.RelationType.ManyHasOne,\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || this.conventions.getJoiningColumnName(options.ownedBy),\n\t\t\t\tonDelete: joiningColumn.onDelete || Model.OnDelete.restrict,\n\t\t\t},\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;AAKA,MAAqB,oBAAyE;AAAA,EAG7F,YAAY,aAAgC;AAF5C,kBAAA,MAAQ,aAAA;AAGP,SAAK,cAAc;AAAA,EACpB;AAAA,EAEA,QACC,YACA,WACA,SACA,eACO;AACP,UAAM,mBAAmB;AAAA,MACxB,GAAG;AAAA,MACH,SAAS,QAAQ,WAAW;AAAA,IAAA;AAE7B,kBAAc,iBAAiB,QAAQ,KAAK,aAAa,kBAAkB,YAAY,SAAS,CAAC;AACjG,kBAAc,YAAY,KAAK,cAAc,kBAAkB,SAAS,CAAC;AAAA,EAC1E;AAAA,EAEQ,cACP,SACA,WAC2B;AAC3B,WAAO;AAAA,MACN,MAAM;AAAA,MACN,SAAS,QAAQ;AAAA,MACjB,MAAM,MAAM,aAAa;AAAA,MACzB,QAAQ,QAAQ;AAAA,MAChB,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAA;AAAA,IAAC;AAAA,EAExD;AAAA,EAEQ,aACP,SACA,YACA,WAC2B;AAC3B,UAAM,gBAAgB,QAAQ,sBAAsB,CAAA;AAEpD,WAAO;AAAA,MACN,MAAM,QAAQ;AAAA,MACd,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,UAAU,QAAQ,kBAAkB,SAAY,QAAQ,gBAAgB;AAAA,MACxE,MAAM,MAAM,aAAa;AAAA,MACzB,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,KAAK,YAAY,qBAAqB,QAAQ,OAAO;AAAA,QAC7F,UAAU,cAAc,YAAY,MAAM,SAAS;AAAA,MAAA;AAAA,IACpD;AAAA,EAEF;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"OneHasOneProcessor.cjs","sources":["../../../../../../../packages/schema-definition/src/model/builder/internal/OneHasOneProcessor.ts"],"sourcesContent":["import OneHasOneBuilder from '../OneHasOneBuilder'\nimport FieldProcessor from './FieldProcessor'\nimport { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\n\nexport default class OneHasOneProcessor implements FieldProcessor<OneHasOneBuilder.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: OneHasOneBuilder.Options,\n\t\tregisterField: FieldProcessor.FieldRegistrar,\n\t): void {\n\t\tregisterField(entityName, this.createOneHasOneOwner(options, fieldName))\n\t\tif (options.inversedBy) {\n\t\t\tregisterField(\n\t\t\t\toptions.target,\n\t\t\t\tthis.createOneHasOneInverse(\n\t\t\t\t\toptions as OneHasOneBuilder.Options & { inversedBy: string },\n\t\t\t\t\tentityName,\n\t\t\t\t\tfieldName,\n\t\t\t\t),\n\t\t\t)\n\t\t}\n\t}\n\n\tprivate createOneHasOneInverse(\n\t\toptions: OneHasOneBuilder.Options & { inversedBy: string },\n\t\tentityName: string,\n\t\tfieldName: string,\n\t): Model.OneHasOneInverseRelation {\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.OneHasOne,\n\t\t\tnullable: options.inverseNullable === undefined ? true : options.inverseNullable,\n\t\t}\n\t}\n\n\tprivate createOneHasOneOwner(options: OneHasOneBuilder.Options, fieldName: string): Model.OneHasOneOwningRelation {\n\t\tconst joiningColumn: Partial<Model.JoiningColumn> = options.joiningColumn || {}\n\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.OneHasOne,\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\t...(options.orphanRemoval ? { orphanRemoval: true } : {}),\n\t\t}\n\t}\n}\n"],"names":["Model"],"mappings":";;;;;AAKA,MAAqB,mBAAuE;AAAA,EAG3F,YAAY,aAAgC;AAFpC,kBAAA,MAAA,aAAA;AAGP,SAAK,cAAc;AAAA,EAAA;AAAA,EAGb,QACN,YACA,WACA,SACA,eACO;AACP,kBAAc,YAAY,KAAK,qBAAqB,SAAS,SAAS,CAAC;AACvE,QAAI,QAAQ,YAAY;AACvB;AAAA,QACC,QAAQ;AAAA,QACR,KAAK;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,QAAA;AAAA,MAEF;AAAA,IAAA;AAAA,EACD;AAAA,EAGO,uBACP,SACA,YACA,WACiC;AAC1B,WAAA;AAAA,MACN,MAAM,QAAQ;AAAA,MACd,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,UAAU,QAAQ,oBAAoB,SAAY,OAAO,QAAQ;AAAA,IAClE;AAAA,EAAA;AAAA,EAGO,qBAAqB,SAAmC,WAAkD;AAC3G,UAAA,gBAA8C,QAAQ,iBAAiB,CAAC;AAEvE,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,OAAAA,MAAM,SAAS;AAAA,MACpD;AAAA,MACA,GAAI,QAAQ,gBAAgB,EAAE,eAAe,KAAA,IAAS,CAAA;AAAA,IACvD;AAAA,EAAA;AAEF;;"}
1
+ {"version":3,"file":"OneHasOneProcessor.cjs","sources":["../../../../../../../packages/schema-definition/src/model/builder/internal/OneHasOneProcessor.ts"],"sourcesContent":["import OneHasOneBuilder from '../OneHasOneBuilder'\nimport FieldProcessor from './FieldProcessor'\nimport { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\n\nexport default class OneHasOneProcessor implements FieldProcessor<OneHasOneBuilder.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: OneHasOneBuilder.Options,\n\t\tregisterField: FieldProcessor.FieldRegistrar,\n\t): void {\n\t\tregisterField(entityName, this.createOneHasOneOwner(options, fieldName))\n\t\tif (options.inversedBy) {\n\t\t\tregisterField(\n\t\t\t\toptions.target,\n\t\t\t\tthis.createOneHasOneInverse(\n\t\t\t\t\toptions as OneHasOneBuilder.Options & { inversedBy: string },\n\t\t\t\t\tentityName,\n\t\t\t\t\tfieldName,\n\t\t\t\t),\n\t\t\t)\n\t\t}\n\t}\n\n\tprivate createOneHasOneInverse(\n\t\toptions: OneHasOneBuilder.Options & { inversedBy: string },\n\t\tentityName: string,\n\t\tfieldName: string,\n\t): Model.OneHasOneInverseRelation {\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.OneHasOne,\n\t\t\tnullable: options.inverseNullable === undefined ? true : options.inverseNullable,\n\t\t}\n\t}\n\n\tprivate createOneHasOneOwner(options: OneHasOneBuilder.Options, fieldName: string): Model.OneHasOneOwningRelation {\n\t\tconst joiningColumn: Partial<Model.JoiningColumn> = options.joiningColumn || {}\n\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.OneHasOne,\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\t...(options.orphanRemoval ? { orphanRemoval: true } : {}),\n\t\t}\n\t}\n}\n"],"names":["Model"],"mappings":";;;;;AAKA,MAAqB,mBAAuE;AAAA,EAG3F,YAAY,aAAgC;AAF5C,kBAAA,MAAQ,aAAA;AAGP,SAAK,cAAc;AAAA,EACpB;AAAA,EAEO,QACN,YACA,WACA,SACA,eACO;AACP,kBAAc,YAAY,KAAK,qBAAqB,SAAS,SAAS,CAAC;AACvE,QAAI,QAAQ,YAAY;AACvB;AAAA,QACC,QAAQ;AAAA,QACR,KAAK;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,QAAA;AAAA,MACD;AAAA,IAEF;AAAA,EACD;AAAA,EAEQ,uBACP,SACA,YACA,WACiC;AACjC,WAAO;AAAA,MACN,MAAM,QAAQ;AAAA,MACd,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,UAAU,QAAQ,oBAAoB,SAAY,OAAO,QAAQ;AAAA,IAAA;AAAA,EAEnE;AAAA,EAEQ,qBAAqB,SAAmC,WAAkD;AACjH,UAAM,gBAA8C,QAAQ,iBAAiB,CAAA;AAE7E,WAAO;AAAA,MACN,MAAM;AAAA,MACN,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAA,IAAK,EAAE,YAAY,QAAQ,WAAA;AAAA,MAC3E,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,OAAAA,MAAM,SAAS;AAAA,MAAA;AAAA,MAEpD,GAAI,QAAQ,gBAAgB,EAAE,eAAe,KAAA,IAAS,CAAA;AAAA,IAAC;AAAA,EAEzD;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"OneHasOneProcessor.js","sources":["../../../../../../../packages/schema-definition/src/model/builder/internal/OneHasOneProcessor.ts"],"sourcesContent":["import OneHasOneBuilder from '../OneHasOneBuilder'\nimport FieldProcessor from './FieldProcessor'\nimport { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\n\nexport default class OneHasOneProcessor implements FieldProcessor<OneHasOneBuilder.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: OneHasOneBuilder.Options,\n\t\tregisterField: FieldProcessor.FieldRegistrar,\n\t): void {\n\t\tregisterField(entityName, this.createOneHasOneOwner(options, fieldName))\n\t\tif (options.inversedBy) {\n\t\t\tregisterField(\n\t\t\t\toptions.target,\n\t\t\t\tthis.createOneHasOneInverse(\n\t\t\t\t\toptions as OneHasOneBuilder.Options & { inversedBy: string },\n\t\t\t\t\tentityName,\n\t\t\t\t\tfieldName,\n\t\t\t\t),\n\t\t\t)\n\t\t}\n\t}\n\n\tprivate createOneHasOneInverse(\n\t\toptions: OneHasOneBuilder.Options & { inversedBy: string },\n\t\tentityName: string,\n\t\tfieldName: string,\n\t): Model.OneHasOneInverseRelation {\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.OneHasOne,\n\t\t\tnullable: options.inverseNullable === undefined ? true : options.inverseNullable,\n\t\t}\n\t}\n\n\tprivate createOneHasOneOwner(options: OneHasOneBuilder.Options, fieldName: string): Model.OneHasOneOwningRelation {\n\t\tconst joiningColumn: Partial<Model.JoiningColumn> = options.joiningColumn || {}\n\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.OneHasOne,\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\t...(options.orphanRemoval ? { orphanRemoval: true } : {}),\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;AAKA,MAAqB,mBAAuE;AAAA,EAG3F,YAAY,aAAgC;AAFpC,kBAAA,MAAA,aAAA;AAGP,SAAK,cAAc;AAAA,EAAA;AAAA,EAGb,QACN,YACA,WACA,SACA,eACO;AACP,kBAAc,YAAY,KAAK,qBAAqB,SAAS,SAAS,CAAC;AACvE,QAAI,QAAQ,YAAY;AACvB;AAAA,QACC,QAAQ;AAAA,QACR,KAAK;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,QAAA;AAAA,MAEF;AAAA,IAAA;AAAA,EACD;AAAA,EAGO,uBACP,SACA,YACA,WACiC;AAC1B,WAAA;AAAA,MACN,MAAM,QAAQ;AAAA,MACd,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,MAAM,MAAM,aAAa;AAAA,MACzB,UAAU,QAAQ,oBAAoB,SAAY,OAAO,QAAQ;AAAA,IAClE;AAAA,EAAA;AAAA,EAGO,qBAAqB,SAAmC,WAAkD;AAC3G,UAAA,gBAA8C,QAAQ,iBAAiB,CAAC;AAEvE,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,MAAM,MAAM,aAAa;AAAA,MACzB,QAAQ,QAAQ;AAAA,MAChB,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,KAAK,YAAY,qBAAqB,SAAS;AAAA,QACvF,UAAU,cAAc,YAAY,MAAM,SAAS;AAAA,MACpD;AAAA,MACA,GAAI,QAAQ,gBAAgB,EAAE,eAAe,KAAA,IAAS,CAAA;AAAA,IACvD;AAAA,EAAA;AAEF;"}
1
+ {"version":3,"file":"OneHasOneProcessor.js","sources":["../../../../../../../packages/schema-definition/src/model/builder/internal/OneHasOneProcessor.ts"],"sourcesContent":["import OneHasOneBuilder from '../OneHasOneBuilder'\nimport FieldProcessor from './FieldProcessor'\nimport { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\n\nexport default class OneHasOneProcessor implements FieldProcessor<OneHasOneBuilder.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: OneHasOneBuilder.Options,\n\t\tregisterField: FieldProcessor.FieldRegistrar,\n\t): void {\n\t\tregisterField(entityName, this.createOneHasOneOwner(options, fieldName))\n\t\tif (options.inversedBy) {\n\t\t\tregisterField(\n\t\t\t\toptions.target,\n\t\t\t\tthis.createOneHasOneInverse(\n\t\t\t\t\toptions as OneHasOneBuilder.Options & { inversedBy: string },\n\t\t\t\t\tentityName,\n\t\t\t\t\tfieldName,\n\t\t\t\t),\n\t\t\t)\n\t\t}\n\t}\n\n\tprivate createOneHasOneInverse(\n\t\toptions: OneHasOneBuilder.Options & { inversedBy: string },\n\t\tentityName: string,\n\t\tfieldName: string,\n\t): Model.OneHasOneInverseRelation {\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.OneHasOne,\n\t\t\tnullable: options.inverseNullable === undefined ? true : options.inverseNullable,\n\t\t}\n\t}\n\n\tprivate createOneHasOneOwner(options: OneHasOneBuilder.Options, fieldName: string): Model.OneHasOneOwningRelation {\n\t\tconst joiningColumn: Partial<Model.JoiningColumn> = options.joiningColumn || {}\n\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.OneHasOne,\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\t...(options.orphanRemoval ? { orphanRemoval: true } : {}),\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;AAKA,MAAqB,mBAAuE;AAAA,EAG3F,YAAY,aAAgC;AAF5C,kBAAA,MAAQ,aAAA;AAGP,SAAK,cAAc;AAAA,EACpB;AAAA,EAEO,QACN,YACA,WACA,SACA,eACO;AACP,kBAAc,YAAY,KAAK,qBAAqB,SAAS,SAAS,CAAC;AACvE,QAAI,QAAQ,YAAY;AACvB;AAAA,QACC,QAAQ;AAAA,QACR,KAAK;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,QAAA;AAAA,MACD;AAAA,IAEF;AAAA,EACD;AAAA,EAEQ,uBACP,SACA,YACA,WACiC;AACjC,WAAO;AAAA,MACN,MAAM,QAAQ;AAAA,MACd,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,MAAM,MAAM,aAAa;AAAA,MACzB,UAAU,QAAQ,oBAAoB,SAAY,OAAO,QAAQ;AAAA,IAAA;AAAA,EAEnE;AAAA,EAEQ,qBAAqB,SAAmC,WAAkD;AACjH,UAAM,gBAA8C,QAAQ,iBAAiB,CAAA;AAE7E,WAAO;AAAA,MACN,MAAM;AAAA,MACN,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAA,IAAK,EAAE,YAAY,QAAQ,WAAA;AAAA,MAC3E,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,MAC1D,MAAM,MAAM,aAAa;AAAA,MACzB,QAAQ,QAAQ;AAAA,MAChB,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,KAAK,YAAY,qBAAqB,SAAS;AAAA,QACvF,UAAU,cAAc,YAAY,MAAM,SAAS;AAAA,MAAA;AAAA,MAEpD,GAAI,QAAQ,gBAAgB,EAAE,eAAe,KAAA,IAAS,CAAA;AAAA,IAAC;AAAA,EAEzD;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EnumDefinition.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/EnumDefinition.ts"],"sourcesContent":["export class EnumDefinition<Values extends string = string> {\n\tconstructor(public readonly values: Values[]) {}\n}\n\nexport function createEnum<Values extends string>(...values: Values[]): EnumDefinition<Values> {\n\treturn new EnumDefinition<Values>(values)\n}\n"],"names":[],"mappings":";;AAAO,MAAM,eAA+C;AAAA,EAC3D,YAA4B,QAAkB;AAAlB,SAAA,SAAA;AAAA,EAAA;AAC7B;AAEO,SAAS,cAAqC,QAA0C;AACvF,SAAA,IAAI,eAAuB,MAAM;AACzC;;;"}
1
+ {"version":3,"file":"EnumDefinition.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/EnumDefinition.ts"],"sourcesContent":["export class EnumDefinition<Values extends string = string> {\n\tconstructor(public readonly values: Values[]) {}\n}\n\nexport function createEnum<Values extends string>(...values: Values[]): EnumDefinition<Values> {\n\treturn new EnumDefinition<Values>(values)\n}\n"],"names":[],"mappings":";;AAAO,MAAM,eAA+C;AAAA,EAC3D,YAA4B,QAAkB;AAAlB,SAAA,SAAA;AAAA,EAAmB;AAChD;AAEO,SAAS,cAAqC,QAA0C;AAC9F,SAAO,IAAI,eAAuB,MAAM;AACzC;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EnumDefinition.js","sources":["../../../../../../packages/schema-definition/src/model/definition/EnumDefinition.ts"],"sourcesContent":["export class EnumDefinition<Values extends string = string> {\n\tconstructor(public readonly values: Values[]) {}\n}\n\nexport function createEnum<Values extends string>(...values: Values[]): EnumDefinition<Values> {\n\treturn new EnumDefinition<Values>(values)\n}\n"],"names":[],"mappings":"AAAO,MAAM,eAA+C;AAAA,EAC3D,YAA4B,QAAkB;AAAlB,SAAA,SAAA;AAAA,EAAA;AAC7B;AAEO,SAAS,cAAqC,QAA0C;AACvF,SAAA,IAAI,eAAuB,MAAM;AACzC;"}
1
+ {"version":3,"file":"EnumDefinition.js","sources":["../../../../../../packages/schema-definition/src/model/definition/EnumDefinition.ts"],"sourcesContent":["export class EnumDefinition<Values extends string = string> {\n\tconstructor(public readonly values: Values[]) {}\n}\n\nexport function createEnum<Values extends string>(...values: Values[]): EnumDefinition<Values> {\n\treturn new EnumDefinition<Values>(values)\n}\n"],"names":[],"mappings":"AAAO,MAAM,eAA+C;AAAA,EAC3D,YAA4B,QAAkB;AAAlB,SAAA,SAAA;AAAA,EAAmB;AAChD;AAEO,SAAS,cAAqC,QAA0C;AAC9F,SAAO,IAAI,eAAuB,MAAM;AACzC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EventLogDefinition.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/EventLogDefinition.ts"],"sourcesContent":["import { extendEntity } from './extensions'\n\nexport const DisableEventLog = () =>\n\textendEntity(({ entity }) => ({\n\t\t...entity,\n\t\teventLog: { enabled: false },\n\t}))\n"],"names":["extendEntity"],"mappings":";;;AAEO,MAAM,kBAAkB,MAC9BA,WAAAA,aAAa,CAAC,EAAE,cAAc;AAAA,EAC7B,GAAG;AAAA,EACH,UAAU,EAAE,SAAS,MAAM;AAC5B,EAAE;;"}
1
+ {"version":3,"file":"EventLogDefinition.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/EventLogDefinition.ts"],"sourcesContent":["import { extendEntity } from './extensions'\n\nexport const DisableEventLog = () =>\n\textendEntity(({ entity }) => ({\n\t\t...entity,\n\t\teventLog: { enabled: false },\n\t}))\n"],"names":["extendEntity"],"mappings":";;;AAEO,MAAM,kBAAkB,MAC9BA,WAAAA,aAAa,CAAC,EAAE,cAAc;AAAA,EAC7B,GAAG;AAAA,EACH,UAAU,EAAE,SAAS,MAAA;AACtB,EAAE;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EventLogDefinition.js","sources":["../../../../../../packages/schema-definition/src/model/definition/EventLogDefinition.ts"],"sourcesContent":["import { extendEntity } from './extensions'\n\nexport const DisableEventLog = () =>\n\textendEntity(({ entity }) => ({\n\t\t...entity,\n\t\teventLog: { enabled: false },\n\t}))\n"],"names":[],"mappings":";AAEO,MAAM,kBAAkB,MAC9B,aAAa,CAAC,EAAE,cAAc;AAAA,EAC7B,GAAG;AAAA,EACH,UAAU,EAAE,SAAS,MAAM;AAC5B,EAAE;"}
1
+ {"version":3,"file":"EventLogDefinition.js","sources":["../../../../../../packages/schema-definition/src/model/definition/EventLogDefinition.ts"],"sourcesContent":["import { extendEntity } from './extensions'\n\nexport const DisableEventLog = () =>\n\textendEntity(({ entity }) => ({\n\t\t...entity,\n\t\teventLog: { enabled: false },\n\t}))\n"],"names":[],"mappings":";AAEO,MAAM,kBAAkB,MAC9B,aAAa,CAAC,EAAE,cAAc;AAAA,EAC7B,GAAG;AAAA,EACH,UAAU,EAAE,SAAS,MAAA;AACtB,EAAE;"}
@@ -3,12 +3,12 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const extensions = require("./extensions.cjs");
4
4
  function Index(options, ...args) {
5
5
  return extensions.extendEntity(({ entity }) => {
6
- const fields = typeof options !== "object" ? [options, ...args] : options.fields;
6
+ const indexDef = typeof options !== "object" ? { fields: [options, ...args] } : options;
7
7
  return {
8
8
  ...entity,
9
9
  indexes: [
10
10
  ...entity.indexes,
11
- { fields }
11
+ indexDef
12
12
  ]
13
13
  };
14
14
  });
@@ -1 +1 @@
1
- {"version":3,"file":"IndexDefinition.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/IndexDefinition.ts"],"sourcesContent":["import { extendEntity } from './extensions'\nimport { DecoratorFunction } from '../../utils'\n\nexport type IndexOptions<T> = { fields: (keyof T)[] }\nexport function Index<T>(options: IndexOptions<T>): DecoratorFunction<T>\nexport function Index<T>(...fields: (keyof T)[]): DecoratorFunction<T>\nexport function Index<T>(options: IndexOptions<T> | keyof T, ...args: (keyof T)[]): DecoratorFunction<T> {\n\treturn extendEntity(({ entity }) => {\n\t\tconst fields = (typeof options !== 'object' ? [options, ...args] : options.fields) as string[]\n\t\treturn {\n\t\t\t...entity,\n\t\t\tindexes: [\n\t\t\t\t...entity.indexes,\n\t\t\t\t{ fields },\n\t\t\t],\n\t\t}\n\t})\n}\n"],"names":["extendEntity"],"mappings":";;;AAMgB,SAAA,MAAS,YAAuC,MAAyC;AACxG,SAAOA,WAAa,aAAA,CAAC,EAAE,aAAa;AAC7B,UAAA,SAAU,OAAO,YAAY,WAAW,CAAC,SAAS,GAAG,IAAI,IAAI,QAAQ;AACpE,WAAA;AAAA,MACN,GAAG;AAAA,MACH,SAAS;AAAA,QACR,GAAG,OAAO;AAAA,QACV,EAAE,OAAO;AAAA,MAAA;AAAA,IAEX;AAAA,EAAA,CACA;AACF;;"}
1
+ {"version":3,"file":"IndexDefinition.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/IndexDefinition.ts"],"sourcesContent":["import { extendEntity } from './extensions'\nimport { DecoratorFunction } from '../../utils'\nimport { Model } from '@contember/schema'\n\nexport type IndexOptions<T> = {\n\tfields: (keyof T)[]\n\tmethod?: Model.IndexMethod\n}\nexport function Index<T>(options: IndexOptions<T>): DecoratorFunction<T>\nexport function Index<T>(...fields: (keyof T)[]): DecoratorFunction<T>\nexport function Index<T>(options: IndexOptions<T> | keyof T, ...args: (keyof T)[]): DecoratorFunction<T> {\n\treturn extendEntity(({ entity }) => {\n\t\tconst indexDef = (typeof options !== 'object' ? { fields: [options, ...args] } : options) as { fields: string[]; method?: Model.IndexMethod }\n\t\treturn {\n\t\t\t...entity,\n\t\t\tindexes: [\n\t\t\t\t...entity.indexes,\n\t\t\t\tindexDef,\n\t\t\t],\n\t\t}\n\t})\n}\n"],"names":["extendEntity"],"mappings":";;;AAUO,SAAS,MAAS,YAAuC,MAAyC;AACxG,SAAOA,WAAAA,aAAa,CAAC,EAAE,aAAa;AACnC,UAAM,WAAY,OAAO,YAAY,WAAW,EAAE,QAAQ,CAAC,SAAS,GAAG,IAAI,EAAA,IAAM;AACjF,WAAO;AAAA,MACN,GAAG;AAAA,MACH,SAAS;AAAA,QACR,GAAG,OAAO;AAAA,QACV;AAAA,MAAA;AAAA,IACD;AAAA,EAEF,CAAC;AACF;;"}
@@ -1,12 +1,12 @@
1
1
  import { extendEntity } from "./extensions.js";
2
2
  function Index(options, ...args) {
3
3
  return extendEntity(({ entity }) => {
4
- const fields = typeof options !== "object" ? [options, ...args] : options.fields;
4
+ const indexDef = typeof options !== "object" ? { fields: [options, ...args] } : options;
5
5
  return {
6
6
  ...entity,
7
7
  indexes: [
8
8
  ...entity.indexes,
9
- { fields }
9
+ indexDef
10
10
  ]
11
11
  };
12
12
  });
@@ -1 +1 @@
1
- {"version":3,"file":"IndexDefinition.js","sources":["../../../../../../packages/schema-definition/src/model/definition/IndexDefinition.ts"],"sourcesContent":["import { extendEntity } from './extensions'\nimport { DecoratorFunction } from '../../utils'\n\nexport type IndexOptions<T> = { fields: (keyof T)[] }\nexport function Index<T>(options: IndexOptions<T>): DecoratorFunction<T>\nexport function Index<T>(...fields: (keyof T)[]): DecoratorFunction<T>\nexport function Index<T>(options: IndexOptions<T> | keyof T, ...args: (keyof T)[]): DecoratorFunction<T> {\n\treturn extendEntity(({ entity }) => {\n\t\tconst fields = (typeof options !== 'object' ? [options, ...args] : options.fields) as string[]\n\t\treturn {\n\t\t\t...entity,\n\t\t\tindexes: [\n\t\t\t\t...entity.indexes,\n\t\t\t\t{ fields },\n\t\t\t],\n\t\t}\n\t})\n}\n"],"names":[],"mappings":";AAMgB,SAAA,MAAS,YAAuC,MAAyC;AACxG,SAAO,aAAa,CAAC,EAAE,aAAa;AAC7B,UAAA,SAAU,OAAO,YAAY,WAAW,CAAC,SAAS,GAAG,IAAI,IAAI,QAAQ;AACpE,WAAA;AAAA,MACN,GAAG;AAAA,MACH,SAAS;AAAA,QACR,GAAG,OAAO;AAAA,QACV,EAAE,OAAO;AAAA,MAAA;AAAA,IAEX;AAAA,EAAA,CACA;AACF;"}
1
+ {"version":3,"file":"IndexDefinition.js","sources":["../../../../../../packages/schema-definition/src/model/definition/IndexDefinition.ts"],"sourcesContent":["import { extendEntity } from './extensions'\nimport { DecoratorFunction } from '../../utils'\nimport { Model } from '@contember/schema'\n\nexport type IndexOptions<T> = {\n\tfields: (keyof T)[]\n\tmethod?: Model.IndexMethod\n}\nexport function Index<T>(options: IndexOptions<T>): DecoratorFunction<T>\nexport function Index<T>(...fields: (keyof T)[]): DecoratorFunction<T>\nexport function Index<T>(options: IndexOptions<T> | keyof T, ...args: (keyof T)[]): DecoratorFunction<T> {\n\treturn extendEntity(({ entity }) => {\n\t\tconst indexDef = (typeof options !== 'object' ? { fields: [options, ...args] } : options) as { fields: string[]; method?: Model.IndexMethod }\n\t\treturn {\n\t\t\t...entity,\n\t\t\tindexes: [\n\t\t\t\t...entity.indexes,\n\t\t\t\tindexDef,\n\t\t\t],\n\t\t}\n\t})\n}\n"],"names":[],"mappings":";AAUO,SAAS,MAAS,YAAuC,MAAyC;AACxG,SAAO,aAAa,CAAC,EAAE,aAAa;AACnC,UAAM,WAAY,OAAO,YAAY,WAAW,EAAE,QAAQ,CAAC,SAAS,GAAG,IAAI,EAAA,IAAM;AACjF,WAAO;AAAA,MACN,GAAG;AAAA,MACH,SAAS;AAAA,QACR,GAAG,OAAO;AAAA,QACV;AAAA,MAAA;AAAA,IACD;AAAA,EAEF,CAAC;AACF;"}
@@ -18,7 +18,9 @@ function OrderBy(options, direction) {
18
18
  return [normalize([options], direction)];
19
19
  })();
20
20
  if (entity.orderBy?.length) {
21
- console.warn(`DEPRECATED: The "order by" property for the entity ${entity.name} has already been defined. Using multiple decorators can lead to unexpected order. Please provide an array containing all the 'order by' items as an input.`);
21
+ console.warn(
22
+ `DEPRECATED: The "order by" property for the entity ${entity.name} has already been defined. Using multiple decorators can lead to unexpected order. Please provide an array containing all the 'order by' items as an input.`
23
+ );
22
24
  }
23
25
  return {
24
26
  ...entity,
@@ -1 +1 @@
1
- {"version":3,"file":"OrderByDefinition.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/OrderByDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { extendEntity } from './extensions'\nimport { DecoratorFunction } from '../../utils'\n\n\nexport type OrderByDirection = Model.OrderDirection | `${Model.OrderDirection}`\nexport type OrderByOptions = { path: string[]; direction?: OrderByDirection }\n\n\nexport function OrderBy<T>(options: OrderByOptions): DecoratorFunction<T>\nexport function OrderBy<T>(options: OrderByOptions[]): DecoratorFunction<T>\nexport function OrderBy<T>(path: (keyof T) & string, direction?: OrderByDirection): DecoratorFunction<T>\nexport function OrderBy<T>(options: OrderByOptions | OrderByOptions[] | ((keyof T) & string), direction?: `${Model.OrderDirection}`): DecoratorFunction<T> {\n\treturn extendEntity(({ entity }) => {\n\t\tconst normalize = (path: string[], direction?: OrderByDirection): Model.OrderBy => ({\n\t\t\tpath,\n\t\t\tdirection: (direction ?? Model.OrderDirection.asc) as Model.OrderDirection,\n\t\t})\n\t\tconst orderBy = ((): Model.OrderBy[] => {\n\t\t\tif (Array.isArray(options)) {\n\t\t\t\treturn options.map(it => normalize(it.path, it.direction))\n\t\t\t}\n\t\t\tif (typeof options === 'object') {\n\t\t\t\treturn [normalize(options.path, options.direction)]\n\t\t\t}\n\t\t\treturn [normalize([options], direction)]\n\t\t})()\n\n\t\tif (entity.orderBy?.length) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn(`DEPRECATED: The \"order by\" property for the entity ${entity.name} has already been defined. Using multiple decorators can lead to unexpected order. Please provide an array containing all the 'order by' items as an input.`)\n\t\t}\n\n\t\treturn {\n\t\t\t...entity,\n\t\t\torderBy: [...(entity.orderBy ?? []), ...orderBy],\n\t\t}\n\t})\n}\n"],"names":["extendEntity","direction","Model"],"mappings":";;;;AAYgB,SAAA,QAAW,SAAmE,WAA6D;AAC1J,SAAOA,WAAa,aAAA,CAAC,EAAE,aAAa;AAC7B,UAAA,YAAY,CAAC,MAAgBC,gBAAiD;AAAA,MACnF;AAAA,MACA,WAAYA,cAAaC,OAAA,MAAM,eAAe;AAAA,IAAA;AAE/C,UAAM,WAAW,MAAuB;AACnC,UAAA,MAAM,QAAQ,OAAO,GAAG;AACpB,eAAA,QAAQ,IAAI,CAAM,OAAA,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;AAAA,MAAA;AAEtD,UAAA,OAAO,YAAY,UAAU;AAChC,eAAO,CAAC,UAAU,QAAQ,MAAM,QAAQ,SAAS,CAAC;AAAA,MAAA;AAEnD,aAAO,CAAC,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC;AAAA,IAAA,GACrC;AAEC,QAAA,OAAO,SAAS,QAAQ;AAE3B,cAAQ,KAAK,sDAAsD,OAAO,IAAI,6JAA6J;AAAA,IAAA;AAGrO,WAAA;AAAA,MACN,GAAG;AAAA,MACH,SAAS,CAAC,GAAI,OAAO,WAAW,CAAA,GAAK,GAAG,OAAO;AAAA,IAChD;AAAA,EAAA,CACA;AACF;;"}
1
+ {"version":3,"file":"OrderByDefinition.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/OrderByDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { extendEntity } from './extensions'\nimport { DecoratorFunction } from '../../utils'\n\nexport type OrderByDirection = Model.OrderDirection | `${Model.OrderDirection}`\nexport type OrderByOptions = { path: string[]; direction?: OrderByDirection }\n\nexport function OrderBy<T>(options: OrderByOptions): DecoratorFunction<T>\nexport function OrderBy<T>(options: OrderByOptions[]): DecoratorFunction<T>\nexport function OrderBy<T>(path: (keyof T) & string, direction?: OrderByDirection): DecoratorFunction<T>\nexport function OrderBy<T>(\n\toptions: OrderByOptions | OrderByOptions[] | ((keyof T) & string),\n\tdirection?: `${Model.OrderDirection}`,\n): DecoratorFunction<T> {\n\treturn extendEntity(({ entity }) => {\n\t\tconst normalize = (path: string[], direction?: OrderByDirection): Model.OrderBy => ({\n\t\t\tpath,\n\t\t\tdirection: (direction ?? Model.OrderDirection.asc) as Model.OrderDirection,\n\t\t})\n\t\tconst orderBy = ((): Model.OrderBy[] => {\n\t\t\tif (Array.isArray(options)) {\n\t\t\t\treturn options.map(it => normalize(it.path, it.direction))\n\t\t\t}\n\t\t\tif (typeof options === 'object') {\n\t\t\t\treturn [normalize(options.path, options.direction)]\n\t\t\t}\n\t\t\treturn [normalize([options], direction)]\n\t\t})()\n\n\t\tif (entity.orderBy?.length) {\n\t\t\tconsole.warn(\n\t\t\t\t`DEPRECATED: The \"order by\" property for the entity ${entity.name} has already been defined. Using multiple decorators can lead to unexpected order. Please provide an array containing all the 'order by' items as an input.`,\n\t\t\t)\n\t\t}\n\n\t\treturn {\n\t\t\t...entity,\n\t\t\torderBy: [...(entity.orderBy ?? []), ...orderBy],\n\t\t}\n\t})\n}\n"],"names":["extendEntity","direction","Model"],"mappings":";;;;AAUO,SAAS,QACf,SACA,WACuB;AACvB,SAAOA,WAAAA,aAAa,CAAC,EAAE,aAAa;AACnC,UAAM,YAAY,CAAC,MAAgBC,gBAAiD;AAAA,MACnF;AAAA,MACA,WAAYA,cAAaC,OAAAA,MAAM,eAAe;AAAA,IAAA;AAE/C,UAAM,WAAW,MAAuB;AACvC,UAAI,MAAM,QAAQ,OAAO,GAAG;AAC3B,eAAO,QAAQ,IAAI,CAAA,OAAM,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;AAAA,MAC1D;AACA,UAAI,OAAO,YAAY,UAAU;AAChC,eAAO,CAAC,UAAU,QAAQ,MAAM,QAAQ,SAAS,CAAC;AAAA,MACnD;AACA,aAAO,CAAC,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC;AAAA,IACxC,GAAA;AAEA,QAAI,OAAO,SAAS,QAAQ;AAC3B,cAAQ;AAAA,QACP,sDAAsD,OAAO,IAAI;AAAA,MAAA;AAAA,IAEnE;AAEA,WAAO;AAAA,MACN,GAAG;AAAA,MACH,SAAS,CAAC,GAAI,OAAO,WAAW,CAAA,GAAK,GAAG,OAAO;AAAA,IAAA;AAAA,EAEjD,CAAC;AACF;;"}
@@ -16,7 +16,9 @@ function OrderBy(options, direction) {
16
16
  return [normalize([options], direction)];
17
17
  })();
18
18
  if (entity.orderBy?.length) {
19
- console.warn(`DEPRECATED: The "order by" property for the entity ${entity.name} has already been defined. Using multiple decorators can lead to unexpected order. Please provide an array containing all the 'order by' items as an input.`);
19
+ console.warn(
20
+ `DEPRECATED: The "order by" property for the entity ${entity.name} has already been defined. Using multiple decorators can lead to unexpected order. Please provide an array containing all the 'order by' items as an input.`
21
+ );
20
22
  }
21
23
  return {
22
24
  ...entity,
@@ -1 +1 @@
1
- {"version":3,"file":"OrderByDefinition.js","sources":["../../../../../../packages/schema-definition/src/model/definition/OrderByDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { extendEntity } from './extensions'\nimport { DecoratorFunction } from '../../utils'\n\n\nexport type OrderByDirection = Model.OrderDirection | `${Model.OrderDirection}`\nexport type OrderByOptions = { path: string[]; direction?: OrderByDirection }\n\n\nexport function OrderBy<T>(options: OrderByOptions): DecoratorFunction<T>\nexport function OrderBy<T>(options: OrderByOptions[]): DecoratorFunction<T>\nexport function OrderBy<T>(path: (keyof T) & string, direction?: OrderByDirection): DecoratorFunction<T>\nexport function OrderBy<T>(options: OrderByOptions | OrderByOptions[] | ((keyof T) & string), direction?: `${Model.OrderDirection}`): DecoratorFunction<T> {\n\treturn extendEntity(({ entity }) => {\n\t\tconst normalize = (path: string[], direction?: OrderByDirection): Model.OrderBy => ({\n\t\t\tpath,\n\t\t\tdirection: (direction ?? Model.OrderDirection.asc) as Model.OrderDirection,\n\t\t})\n\t\tconst orderBy = ((): Model.OrderBy[] => {\n\t\t\tif (Array.isArray(options)) {\n\t\t\t\treturn options.map(it => normalize(it.path, it.direction))\n\t\t\t}\n\t\t\tif (typeof options === 'object') {\n\t\t\t\treturn [normalize(options.path, options.direction)]\n\t\t\t}\n\t\t\treturn [normalize([options], direction)]\n\t\t})()\n\n\t\tif (entity.orderBy?.length) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn(`DEPRECATED: The \"order by\" property for the entity ${entity.name} has already been defined. Using multiple decorators can lead to unexpected order. Please provide an array containing all the 'order by' items as an input.`)\n\t\t}\n\n\t\treturn {\n\t\t\t...entity,\n\t\t\torderBy: [...(entity.orderBy ?? []), ...orderBy],\n\t\t}\n\t})\n}\n"],"names":["direction"],"mappings":";;AAYgB,SAAA,QAAW,SAAmE,WAA6D;AAC1J,SAAO,aAAa,CAAC,EAAE,aAAa;AAC7B,UAAA,YAAY,CAAC,MAAgBA,gBAAiD;AAAA,MACnF;AAAA,MACA,WAAYA,cAAa,MAAM,eAAe;AAAA,IAAA;AAE/C,UAAM,WAAW,MAAuB;AACnC,UAAA,MAAM,QAAQ,OAAO,GAAG;AACpB,eAAA,QAAQ,IAAI,CAAM,OAAA,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;AAAA,MAAA;AAEtD,UAAA,OAAO,YAAY,UAAU;AAChC,eAAO,CAAC,UAAU,QAAQ,MAAM,QAAQ,SAAS,CAAC;AAAA,MAAA;AAEnD,aAAO,CAAC,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC;AAAA,IAAA,GACrC;AAEC,QAAA,OAAO,SAAS,QAAQ;AAE3B,cAAQ,KAAK,sDAAsD,OAAO,IAAI,6JAA6J;AAAA,IAAA;AAGrO,WAAA;AAAA,MACN,GAAG;AAAA,MACH,SAAS,CAAC,GAAI,OAAO,WAAW,CAAA,GAAK,GAAG,OAAO;AAAA,IAChD;AAAA,EAAA,CACA;AACF;"}
1
+ {"version":3,"file":"OrderByDefinition.js","sources":["../../../../../../packages/schema-definition/src/model/definition/OrderByDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { extendEntity } from './extensions'\nimport { DecoratorFunction } from '../../utils'\n\nexport type OrderByDirection = Model.OrderDirection | `${Model.OrderDirection}`\nexport type OrderByOptions = { path: string[]; direction?: OrderByDirection }\n\nexport function OrderBy<T>(options: OrderByOptions): DecoratorFunction<T>\nexport function OrderBy<T>(options: OrderByOptions[]): DecoratorFunction<T>\nexport function OrderBy<T>(path: (keyof T) & string, direction?: OrderByDirection): DecoratorFunction<T>\nexport function OrderBy<T>(\n\toptions: OrderByOptions | OrderByOptions[] | ((keyof T) & string),\n\tdirection?: `${Model.OrderDirection}`,\n): DecoratorFunction<T> {\n\treturn extendEntity(({ entity }) => {\n\t\tconst normalize = (path: string[], direction?: OrderByDirection): Model.OrderBy => ({\n\t\t\tpath,\n\t\t\tdirection: (direction ?? Model.OrderDirection.asc) as Model.OrderDirection,\n\t\t})\n\t\tconst orderBy = ((): Model.OrderBy[] => {\n\t\t\tif (Array.isArray(options)) {\n\t\t\t\treturn options.map(it => normalize(it.path, it.direction))\n\t\t\t}\n\t\t\tif (typeof options === 'object') {\n\t\t\t\treturn [normalize(options.path, options.direction)]\n\t\t\t}\n\t\t\treturn [normalize([options], direction)]\n\t\t})()\n\n\t\tif (entity.orderBy?.length) {\n\t\t\tconsole.warn(\n\t\t\t\t`DEPRECATED: The \"order by\" property for the entity ${entity.name} has already been defined. Using multiple decorators can lead to unexpected order. Please provide an array containing all the 'order by' items as an input.`,\n\t\t\t)\n\t\t}\n\n\t\treturn {\n\t\t\t...entity,\n\t\t\torderBy: [...(entity.orderBy ?? []), ...orderBy],\n\t\t}\n\t})\n}\n"],"names":["direction"],"mappings":";;AAUO,SAAS,QACf,SACA,WACuB;AACvB,SAAO,aAAa,CAAC,EAAE,aAAa;AACnC,UAAM,YAAY,CAAC,MAAgBA,gBAAiD;AAAA,MACnF;AAAA,MACA,WAAYA,cAAa,MAAM,eAAe;AAAA,IAAA;AAE/C,UAAM,WAAW,MAAuB;AACvC,UAAI,MAAM,QAAQ,OAAO,GAAG;AAC3B,eAAO,QAAQ,IAAI,CAAA,OAAM,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;AAAA,MAC1D;AACA,UAAI,OAAO,YAAY,UAAU;AAChC,eAAO,CAAC,UAAU,QAAQ,MAAM,QAAQ,SAAS,CAAC;AAAA,MACnD;AACA,aAAO,CAAC,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC;AAAA,IACxC,GAAA;AAEA,QAAI,OAAO,SAAS,QAAQ;AAC3B,cAAQ;AAAA,QACP,sDAAsD,OAAO,IAAI;AAAA,MAAA;AAAA,IAEnE;AAEA,WAAO;AAAA,MACN,GAAG;AAAA,MACH,SAAS,CAAC,GAAI,OAAO,WAAW,CAAA,GAAK,GAAG,OAAO;AAAA,IAAA;AAAA,EAEjD,CAAC;AACF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"UniqueDefinition.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/UniqueDefinition.ts"],"sourcesContent":["import { extendEntity } from './extensions'\nimport { DecoratorFunction } from '../../utils'\nimport { Model } from '@contember/schema'\n\nexport type UniqueOptions<T> = {\n\tfields: (keyof T & string)[]\n\n} & (\n\t| {\n\t\tindex?: false\n\t\ttiming?: Model.ConstraintTiming\n\t}\n\t| {\n\t\tindex: true\n\t\tnulls?: Model.NullsDistinctBehaviour\n\t}\n)\nexport function Unique<T>(options: UniqueOptions<T>): DecoratorFunction<T>\nexport function Unique<T>(...fields: (keyof T & string)[]): DecoratorFunction<T>\nexport function Unique<T>(options: UniqueOptions<T> | keyof T & string, ...args: (keyof T & string)[]): DecoratorFunction<T> {\n\treturn extendEntity(({ entity }) => {\n\t\tconst unique = typeof options !== 'object'\n\t\t\t? { fields: [options, ...args] }\n\t\t\t: options\n\t\treturn {\n\t\t\t...entity,\n\t\t\tunique: [\n\t\t\t\t...entity.unique,\n\t\t\t\tunique,\n\t\t\t],\n\t\t}\n\t})\n}\n"],"names":["extendEntity"],"mappings":";;;AAmBgB,SAAA,OAAU,YAAiD,MAAkD;AAC5H,SAAOA,WAAa,aAAA,CAAC,EAAE,aAAa;AAC7B,UAAA,SAAS,OAAO,YAAY,WAC/B,EAAE,QAAQ,CAAC,SAAS,GAAG,IAAI,EAAA,IAC3B;AACI,WAAA;AAAA,MACN,GAAG;AAAA,MACH,QAAQ;AAAA,QACP,GAAG,OAAO;AAAA,QACV;AAAA,MAAA;AAAA,IAEF;AAAA,EAAA,CACA;AACF;;"}
1
+ {"version":3,"file":"UniqueDefinition.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/UniqueDefinition.ts"],"sourcesContent":["import { extendEntity } from './extensions'\nimport { DecoratorFunction } from '../../utils'\nimport { Model } from '@contember/schema'\n\nexport type UniqueOptions<T> =\n\t& {\n\t\tfields: (keyof T & string)[]\n\t}\n\t& (\n\t\t| {\n\t\t\tindex?: false\n\t\t\ttiming?: Model.ConstraintTiming\n\t\t}\n\t\t| {\n\t\t\tindex: true\n\t\t\tnulls?: Model.NullsDistinctBehaviour\n\t\t\tmethod?: Model.IndexMethod\n\t\t}\n\t)\nexport function Unique<T>(options: UniqueOptions<T>): DecoratorFunction<T>\nexport function Unique<T>(...fields: (keyof T & string)[]): DecoratorFunction<T>\nexport function Unique<T>(options: UniqueOptions<T> | keyof T & string, ...args: (keyof T & string)[]): DecoratorFunction<T> {\n\treturn extendEntity(({ entity }) => {\n\t\tconst unique = typeof options !== 'object'\n\t\t\t? { fields: [options, ...args] }\n\t\t\t: options\n\t\treturn {\n\t\t\t...entity,\n\t\t\tunique: [\n\t\t\t\t...entity.unique,\n\t\t\t\tunique,\n\t\t\t],\n\t\t}\n\t})\n}\n"],"names":["extendEntity"],"mappings":";;;AAqBO,SAAS,OAAU,YAAiD,MAAkD;AAC5H,SAAOA,WAAAA,aAAa,CAAC,EAAE,aAAa;AACnC,UAAM,SAAS,OAAO,YAAY,WAC/B,EAAE,QAAQ,CAAC,SAAS,GAAG,IAAI,EAAA,IAC3B;AACH,WAAO;AAAA,MACN,GAAG;AAAA,MACH,QAAQ;AAAA,QACP,GAAG,OAAO;AAAA,QACV;AAAA,MAAA;AAAA,IACD;AAAA,EAEF,CAAC;AACF;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"UniqueDefinition.js","sources":["../../../../../../packages/schema-definition/src/model/definition/UniqueDefinition.ts"],"sourcesContent":["import { extendEntity } from './extensions'\nimport { DecoratorFunction } from '../../utils'\nimport { Model } from '@contember/schema'\n\nexport type UniqueOptions<T> = {\n\tfields: (keyof T & string)[]\n\n} & (\n\t| {\n\t\tindex?: false\n\t\ttiming?: Model.ConstraintTiming\n\t}\n\t| {\n\t\tindex: true\n\t\tnulls?: Model.NullsDistinctBehaviour\n\t}\n)\nexport function Unique<T>(options: UniqueOptions<T>): DecoratorFunction<T>\nexport function Unique<T>(...fields: (keyof T & string)[]): DecoratorFunction<T>\nexport function Unique<T>(options: UniqueOptions<T> | keyof T & string, ...args: (keyof T & string)[]): DecoratorFunction<T> {\n\treturn extendEntity(({ entity }) => {\n\t\tconst unique = typeof options !== 'object'\n\t\t\t? { fields: [options, ...args] }\n\t\t\t: options\n\t\treturn {\n\t\t\t...entity,\n\t\t\tunique: [\n\t\t\t\t...entity.unique,\n\t\t\t\tunique,\n\t\t\t],\n\t\t}\n\t})\n}\n"],"names":[],"mappings":";AAmBgB,SAAA,OAAU,YAAiD,MAAkD;AAC5H,SAAO,aAAa,CAAC,EAAE,aAAa;AAC7B,UAAA,SAAS,OAAO,YAAY,WAC/B,EAAE,QAAQ,CAAC,SAAS,GAAG,IAAI,EAAA,IAC3B;AACI,WAAA;AAAA,MACN,GAAG;AAAA,MACH,QAAQ;AAAA,QACP,GAAG,OAAO;AAAA,QACV;AAAA,MAAA;AAAA,IAEF;AAAA,EAAA,CACA;AACF;"}
1
+ {"version":3,"file":"UniqueDefinition.js","sources":["../../../../../../packages/schema-definition/src/model/definition/UniqueDefinition.ts"],"sourcesContent":["import { extendEntity } from './extensions'\nimport { DecoratorFunction } from '../../utils'\nimport { Model } from '@contember/schema'\n\nexport type UniqueOptions<T> =\n\t& {\n\t\tfields: (keyof T & string)[]\n\t}\n\t& (\n\t\t| {\n\t\t\tindex?: false\n\t\t\ttiming?: Model.ConstraintTiming\n\t\t}\n\t\t| {\n\t\t\tindex: true\n\t\t\tnulls?: Model.NullsDistinctBehaviour\n\t\t\tmethod?: Model.IndexMethod\n\t\t}\n\t)\nexport function Unique<T>(options: UniqueOptions<T>): DecoratorFunction<T>\nexport function Unique<T>(...fields: (keyof T & string)[]): DecoratorFunction<T>\nexport function Unique<T>(options: UniqueOptions<T> | keyof T & string, ...args: (keyof T & string)[]): DecoratorFunction<T> {\n\treturn extendEntity(({ entity }) => {\n\t\tconst unique = typeof options !== 'object'\n\t\t\t? { fields: [options, ...args] }\n\t\t\t: options\n\t\treturn {\n\t\t\t...entity,\n\t\t\tunique: [\n\t\t\t\t...entity.unique,\n\t\t\t\tunique,\n\t\t\t],\n\t\t}\n\t})\n}\n"],"names":[],"mappings":";AAqBO,SAAS,OAAU,YAAiD,MAAkD;AAC5H,SAAO,aAAa,CAAC,EAAE,aAAa;AACnC,UAAM,SAAS,OAAO,YAAY,WAC/B,EAAE,QAAQ,CAAC,SAAS,GAAG,IAAI,EAAA,IAC3B;AACH,WAAO;AAAA,MACN,GAAG;AAAA,MACH,QAAQ;AAAA,QACP,GAAG,OAAO;AAAA,QACV;AAAA,MAAA;AAAA,IACD;AAAA,EAEF,CAAC;AACF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ViewDefinition.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/ViewDefinition.ts"],"sourcesContent":["import { extendEntity } from './extensions'\nimport { EntityConstructor } from './types'\nimport { DecoratorFunction } from '../../utils'\n\nexport type ViewOptions<T> = {\n\tdependencies?: (() => EntityConstructor[]) | EntityConstructor[]\n\tidSource?: readonly ((keyof T) & string)[]\n\tmaterialized?: boolean\n}\n\nexport const View = <T>(sql: string, { dependencies, idSource, materialized }: ViewOptions<T> = {}): DecoratorFunction<T> =>\n\textendEntity(({ entity, entityRegistry }) => {\n\t\tconst dependenciesResolved = typeof dependencies === 'function' ? dependencies() : dependencies\n\t\tif (dependenciesResolved?.some(it => it === undefined)) {\n\t\t\tthrow `\"undefined\" value detected in dependencies of view entity ${entity.name}. This is possibly caused by circular imports.\nPlease wrap the array of dependencies into a function returning this array.\n\nInstead of:\ndependencies: [MyEntity]\nUse:\ndependencies: () => [MyEntity]\n`\n\t\t}\n\t\treturn ({\n\t\t\t...entity,\n\t\t\tview: {\n\t\t\t\tsql,\n\t\t\t\t...(dependenciesResolved ? { dependencies: dependenciesResolved.map(it => entityRegistry.getName(it)) } : {}),\n\t\t\t\t...(idSource ? { idSource } : {}),\n\t\t\t\t...(materialized ? { materialized: true } : {}),\n\t\t\t},\n\t\t})\n\t})\n"],"names":["extendEntity"],"mappings":";;;AAUO,MAAM,OAAO,CAAI,KAAa,EAAE,cAAc,UAAU,iBAAiC,CAAA,MAC/FA,WAAAA,aAAa,CAAC,EAAE,QAAQ,qBAAqB;AAC5C,QAAM,uBAAuB,OAAO,iBAAiB,aAAa,aAAiB,IAAA;AACnF,MAAI,sBAAsB,KAAK,CAAM,OAAA,OAAO,MAAS,GAAG;AACjD,UAAA,6DAA6D,OAAO,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA;AASvE,SAAA;AAAA,IACP,GAAG;AAAA,IACH,MAAM;AAAA,MACL;AAAA,MACA,GAAI,uBAAuB,EAAE,cAAc,qBAAqB,IAAI,CAAM,OAAA,eAAe,QAAQ,EAAE,CAAC,MAAM,CAAC;AAAA,MAC3G,GAAI,WAAW,EAAE,SAAA,IAAa,CAAC;AAAA,MAC/B,GAAI,eAAe,EAAE,cAAc,SAAS,CAAA;AAAA,IAAC;AAAA,EAE/C;AACD,CAAC;;"}
1
+ {"version":3,"file":"ViewDefinition.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/ViewDefinition.ts"],"sourcesContent":["import { extendEntity } from './extensions'\nimport { EntityConstructor } from './types'\nimport { DecoratorFunction } from '../../utils'\n\nexport type ViewOptions<T> = {\n\tdependencies?: (() => EntityConstructor[]) | EntityConstructor[]\n\tidSource?: readonly ((keyof T) & string)[]\n\tmaterialized?: boolean\n}\n\nexport const View = <T>(sql: string, { dependencies, idSource, materialized }: ViewOptions<T> = {}): DecoratorFunction<T> =>\n\textendEntity(({ entity, entityRegistry }) => {\n\t\tconst dependenciesResolved = typeof dependencies === 'function' ? dependencies() : dependencies\n\t\tif (dependenciesResolved?.some(it => it === undefined)) {\n\t\t\tthrow `\"undefined\" value detected in dependencies of view entity ${entity.name}. This is possibly caused by circular imports.\nPlease wrap the array of dependencies into a function returning this array.\n\nInstead of:\ndependencies: [MyEntity]\nUse:\ndependencies: () => [MyEntity]\n`\n\t\t}\n\t\treturn ({\n\t\t\t...entity,\n\t\t\tview: {\n\t\t\t\tsql,\n\t\t\t\t...(dependenciesResolved ? { dependencies: dependenciesResolved.map(it => entityRegistry.getName(it)) } : {}),\n\t\t\t\t...(idSource ? { idSource } : {}),\n\t\t\t\t...(materialized ? { materialized: true } : {}),\n\t\t\t},\n\t\t})\n\t})\n"],"names":["extendEntity"],"mappings":";;;AAUO,MAAM,OAAO,CAAI,KAAa,EAAE,cAAc,UAAU,iBAAiC,CAAA,MAC/FA,WAAAA,aAAa,CAAC,EAAE,QAAQ,qBAAqB;AAC5C,QAAM,uBAAuB,OAAO,iBAAiB,aAAa,iBAAiB;AACnF,MAAI,sBAAsB,KAAK,CAAA,OAAM,OAAO,MAAS,GAAG;AACvD,UAAM,6DAA6D,OAAO,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ/E;AACA,SAAQ;AAAA,IACP,GAAG;AAAA,IACH,MAAM;AAAA,MACL;AAAA,MACA,GAAI,uBAAuB,EAAE,cAAc,qBAAqB,IAAI,CAAA,OAAM,eAAe,QAAQ,EAAE,CAAC,EAAA,IAAM,CAAA;AAAA,MAC1G,GAAI,WAAW,EAAE,SAAA,IAAa,CAAA;AAAA,MAC9B,GAAI,eAAe,EAAE,cAAc,SAAS,CAAA;AAAA,IAAC;AAAA,EAC9C;AAEF,CAAC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ViewDefinition.js","sources":["../../../../../../packages/schema-definition/src/model/definition/ViewDefinition.ts"],"sourcesContent":["import { extendEntity } from './extensions'\nimport { EntityConstructor } from './types'\nimport { DecoratorFunction } from '../../utils'\n\nexport type ViewOptions<T> = {\n\tdependencies?: (() => EntityConstructor[]) | EntityConstructor[]\n\tidSource?: readonly ((keyof T) & string)[]\n\tmaterialized?: boolean\n}\n\nexport const View = <T>(sql: string, { dependencies, idSource, materialized }: ViewOptions<T> = {}): DecoratorFunction<T> =>\n\textendEntity(({ entity, entityRegistry }) => {\n\t\tconst dependenciesResolved = typeof dependencies === 'function' ? dependencies() : dependencies\n\t\tif (dependenciesResolved?.some(it => it === undefined)) {\n\t\t\tthrow `\"undefined\" value detected in dependencies of view entity ${entity.name}. This is possibly caused by circular imports.\nPlease wrap the array of dependencies into a function returning this array.\n\nInstead of:\ndependencies: [MyEntity]\nUse:\ndependencies: () => [MyEntity]\n`\n\t\t}\n\t\treturn ({\n\t\t\t...entity,\n\t\t\tview: {\n\t\t\t\tsql,\n\t\t\t\t...(dependenciesResolved ? { dependencies: dependenciesResolved.map(it => entityRegistry.getName(it)) } : {}),\n\t\t\t\t...(idSource ? { idSource } : {}),\n\t\t\t\t...(materialized ? { materialized: true } : {}),\n\t\t\t},\n\t\t})\n\t})\n"],"names":[],"mappings":";AAUO,MAAM,OAAO,CAAI,KAAa,EAAE,cAAc,UAAU,iBAAiC,CAAA,MAC/F,aAAa,CAAC,EAAE,QAAQ,qBAAqB;AAC5C,QAAM,uBAAuB,OAAO,iBAAiB,aAAa,aAAiB,IAAA;AACnF,MAAI,sBAAsB,KAAK,CAAM,OAAA,OAAO,MAAS,GAAG;AACjD,UAAA,6DAA6D,OAAO,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA;AASvE,SAAA;AAAA,IACP,GAAG;AAAA,IACH,MAAM;AAAA,MACL;AAAA,MACA,GAAI,uBAAuB,EAAE,cAAc,qBAAqB,IAAI,CAAM,OAAA,eAAe,QAAQ,EAAE,CAAC,MAAM,CAAC;AAAA,MAC3G,GAAI,WAAW,EAAE,SAAA,IAAa,CAAC;AAAA,MAC/B,GAAI,eAAe,EAAE,cAAc,SAAS,CAAA;AAAA,IAAC;AAAA,EAE/C;AACD,CAAC;"}
1
+ {"version":3,"file":"ViewDefinition.js","sources":["../../../../../../packages/schema-definition/src/model/definition/ViewDefinition.ts"],"sourcesContent":["import { extendEntity } from './extensions'\nimport { EntityConstructor } from './types'\nimport { DecoratorFunction } from '../../utils'\n\nexport type ViewOptions<T> = {\n\tdependencies?: (() => EntityConstructor[]) | EntityConstructor[]\n\tidSource?: readonly ((keyof T) & string)[]\n\tmaterialized?: boolean\n}\n\nexport const View = <T>(sql: string, { dependencies, idSource, materialized }: ViewOptions<T> = {}): DecoratorFunction<T> =>\n\textendEntity(({ entity, entityRegistry }) => {\n\t\tconst dependenciesResolved = typeof dependencies === 'function' ? dependencies() : dependencies\n\t\tif (dependenciesResolved?.some(it => it === undefined)) {\n\t\t\tthrow `\"undefined\" value detected in dependencies of view entity ${entity.name}. This is possibly caused by circular imports.\nPlease wrap the array of dependencies into a function returning this array.\n\nInstead of:\ndependencies: [MyEntity]\nUse:\ndependencies: () => [MyEntity]\n`\n\t\t}\n\t\treturn ({\n\t\t\t...entity,\n\t\t\tview: {\n\t\t\t\tsql,\n\t\t\t\t...(dependenciesResolved ? { dependencies: dependenciesResolved.map(it => entityRegistry.getName(it)) } : {}),\n\t\t\t\t...(idSource ? { idSource } : {}),\n\t\t\t\t...(materialized ? { materialized: true } : {}),\n\t\t\t},\n\t\t})\n\t})\n"],"names":[],"mappings":";AAUO,MAAM,OAAO,CAAI,KAAa,EAAE,cAAc,UAAU,iBAAiC,CAAA,MAC/F,aAAa,CAAC,EAAE,QAAQ,qBAAqB;AAC5C,QAAM,uBAAuB,OAAO,iBAAiB,aAAa,iBAAiB;AACnF,MAAI,sBAAsB,KAAK,CAAA,OAAM,OAAO,MAAS,GAAG;AACvD,UAAM,6DAA6D,OAAO,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ/E;AACA,SAAQ;AAAA,IACP,GAAG;AAAA,IACH,MAAM;AAAA,MACL;AAAA,MACA,GAAI,uBAAuB,EAAE,cAAc,qBAAqB,IAAI,CAAA,OAAM,eAAe,QAAQ,EAAE,CAAC,EAAA,IAAM,CAAA;AAAA,MAC1G,GAAI,WAAW,EAAE,SAAA,IAAa,CAAA;AAAA,MAC9B,GAAI,eAAe,EAAE,cAAc,SAAS,CAAA;AAAA,IAAC;AAAA,EAC9C;AAEF,CAAC;"}
@@ -3,8 +3,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const MetadataStore = require("../../utils/MetadataStore.cjs");
4
4
  const entityExtensionsStore = MetadataStore.createMetadataStore([]);
5
5
  const extendEntity = (extension) => {
6
- return function(cls) {
7
- entityExtensionsStore.update(cls, (current) => [...current, extension]);
6
+ return function(cls, context) {
7
+ entityExtensionsStore.update(cls, (current) => [...current, extension], context);
8
8
  };
9
9
  };
10
10
  const applyEntityExtensions = (cls, args) => entityExtensionsStore.get(cls).reduce(
@@ -1 +1 @@
1
- {"version":3,"file":"extensions.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/extensions.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, FieldsDefinition } from './types'\nimport { EntityRegistry } from './internal'\nimport { createMetadataStore, DecoratorFunction } from '../../utils'\nimport { CommonContext } from './context'\n\nexport type EntityExtensionArgs =\n\t& {\n\t\tentity: Model.Entity\n\t\tdefinition: FieldsDefinition\n\t\t/** @deprecated use entityRegistry */\n\t\tregistry: EntityRegistry\n\t}\n\t& CommonContext\n\nconst entityExtensionsStore = createMetadataStore<EntityExtension[]>([])\n\nexport type EntityExtension = (args: EntityExtensionArgs) => Model.Entity\nexport const extendEntity = <T>(extension: EntityExtension): DecoratorFunction<T> => {\n\treturn function (cls: EntityConstructor) {\n\t\tentityExtensionsStore.update(cls, current => [...current, extension])\n\t}\n}\n\nexport const applyEntityExtensions = (\n\tcls: EntityConstructor,\n\targs: EntityExtensionArgs,\n): Model.Entity =>\n\tentityExtensionsStore.get(cls).reduce(\n\t\t(entity, ext) => ext({ ...args, entity }),\n\t\targs.entity,\n\t)\n"],"names":["createMetadataStore"],"mappings":";;;AAeA,MAAM,wBAAwBA,cAAuC,oBAAA,EAAE;AAG1D,MAAA,eAAe,CAAI,cAAqD;AACpF,SAAO,SAAU,KAAwB;AACxC,0BAAsB,OAAO,KAAK,CAAA,YAAW,CAAC,GAAG,SAAS,SAAS,CAAC;AAAA,EACrE;AACD;AAEO,MAAM,wBAAwB,CACpC,KACA,SAEA,sBAAsB,IAAI,GAAG,EAAE;AAAA,EAC9B,CAAC,QAAQ,QAAQ,IAAI,EAAE,GAAG,MAAM,QAAQ;AAAA,EACxC,KAAK;AACN;;;"}
1
+ {"version":3,"file":"extensions.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/extensions.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, FieldsDefinition } from './types'\nimport { EntityRegistry } from './internal'\nimport { createMetadataStore, DecoratorFunction } from '../../utils'\nimport { CommonContext } from './context'\n\nexport type EntityExtensionArgs =\n\t& {\n\t\tentity: Model.Entity\n\t\tdefinition: FieldsDefinition\n\t\t/** @deprecated use entityRegistry */\n\t\tregistry: EntityRegistry\n\t}\n\t& CommonContext\n\nconst entityExtensionsStore = createMetadataStore<EntityExtension[]>([])\n\nexport type EntityExtension = (args: EntityExtensionArgs) => Model.Entity\nexport const extendEntity = <T>(extension: EntityExtension): DecoratorFunction<T> => {\n\treturn function(cls: EntityConstructor, context?: ClassDecoratorContext) {\n\t\tentityExtensionsStore.update(cls, current => [...current, extension], context)\n\t}\n}\n\nexport const applyEntityExtensions = (\n\tcls: EntityConstructor,\n\targs: EntityExtensionArgs,\n): Model.Entity =>\n\tentityExtensionsStore.get(cls).reduce(\n\t\t(entity, ext) => ext({ ...args, entity }),\n\t\targs.entity,\n\t)\n"],"names":["createMetadataStore"],"mappings":";;;AAeA,MAAM,wBAAwBA,cAAAA,oBAAuC,EAAE;AAGhE,MAAM,eAAe,CAAI,cAAqD;AACpF,SAAO,SAAS,KAAwB,SAAiC;AACxE,0BAAsB,OAAO,KAAK,CAAA,YAAW,CAAC,GAAG,SAAS,SAAS,GAAG,OAAO;AAAA,EAC9E;AACD;AAEO,MAAM,wBAAwB,CACpC,KACA,SAEA,sBAAsB,IAAI,GAAG,EAAE;AAAA,EAC9B,CAAC,QAAQ,QAAQ,IAAI,EAAE,GAAG,MAAM,QAAQ;AAAA,EACxC,KAAK;AACN;;;"}
@@ -1,8 +1,8 @@
1
1
  import { createMetadataStore } from "../../utils/MetadataStore.js";
2
2
  const entityExtensionsStore = createMetadataStore([]);
3
3
  const extendEntity = (extension) => {
4
- return function(cls) {
5
- entityExtensionsStore.update(cls, (current) => [...current, extension]);
4
+ return function(cls, context) {
5
+ entityExtensionsStore.update(cls, (current) => [...current, extension], context);
6
6
  };
7
7
  };
8
8
  const applyEntityExtensions = (cls, args) => entityExtensionsStore.get(cls).reduce(
@@ -1 +1 @@
1
- {"version":3,"file":"extensions.js","sources":["../../../../../../packages/schema-definition/src/model/definition/extensions.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, FieldsDefinition } from './types'\nimport { EntityRegistry } from './internal'\nimport { createMetadataStore, DecoratorFunction } from '../../utils'\nimport { CommonContext } from './context'\n\nexport type EntityExtensionArgs =\n\t& {\n\t\tentity: Model.Entity\n\t\tdefinition: FieldsDefinition\n\t\t/** @deprecated use entityRegistry */\n\t\tregistry: EntityRegistry\n\t}\n\t& CommonContext\n\nconst entityExtensionsStore = createMetadataStore<EntityExtension[]>([])\n\nexport type EntityExtension = (args: EntityExtensionArgs) => Model.Entity\nexport const extendEntity = <T>(extension: EntityExtension): DecoratorFunction<T> => {\n\treturn function (cls: EntityConstructor) {\n\t\tentityExtensionsStore.update(cls, current => [...current, extension])\n\t}\n}\n\nexport const applyEntityExtensions = (\n\tcls: EntityConstructor,\n\targs: EntityExtensionArgs,\n): Model.Entity =>\n\tentityExtensionsStore.get(cls).reduce(\n\t\t(entity, ext) => ext({ ...args, entity }),\n\t\targs.entity,\n\t)\n"],"names":[],"mappings":";AAeA,MAAM,wBAAwB,oBAAuC,EAAE;AAG1D,MAAA,eAAe,CAAI,cAAqD;AACpF,SAAO,SAAU,KAAwB;AACxC,0BAAsB,OAAO,KAAK,CAAA,YAAW,CAAC,GAAG,SAAS,SAAS,CAAC;AAAA,EACrE;AACD;AAEO,MAAM,wBAAwB,CACpC,KACA,SAEA,sBAAsB,IAAI,GAAG,EAAE;AAAA,EAC9B,CAAC,QAAQ,QAAQ,IAAI,EAAE,GAAG,MAAM,QAAQ;AAAA,EACxC,KAAK;AACN;"}
1
+ {"version":3,"file":"extensions.js","sources":["../../../../../../packages/schema-definition/src/model/definition/extensions.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, FieldsDefinition } from './types'\nimport { EntityRegistry } from './internal'\nimport { createMetadataStore, DecoratorFunction } from '../../utils'\nimport { CommonContext } from './context'\n\nexport type EntityExtensionArgs =\n\t& {\n\t\tentity: Model.Entity\n\t\tdefinition: FieldsDefinition\n\t\t/** @deprecated use entityRegistry */\n\t\tregistry: EntityRegistry\n\t}\n\t& CommonContext\n\nconst entityExtensionsStore = createMetadataStore<EntityExtension[]>([])\n\nexport type EntityExtension = (args: EntityExtensionArgs) => Model.Entity\nexport const extendEntity = <T>(extension: EntityExtension): DecoratorFunction<T> => {\n\treturn function(cls: EntityConstructor, context?: ClassDecoratorContext) {\n\t\tentityExtensionsStore.update(cls, current => [...current, extension], context)\n\t}\n}\n\nexport const applyEntityExtensions = (\n\tcls: EntityConstructor,\n\targs: EntityExtensionArgs,\n): Model.Entity =>\n\tentityExtensionsStore.get(cls).reduce(\n\t\t(entity, ext) => ext({ ...args, entity }),\n\t\targs.entity,\n\t)\n"],"names":[],"mappings":";AAeA,MAAM,wBAAwB,oBAAuC,EAAE;AAGhE,MAAM,eAAe,CAAI,cAAqD;AACpF,SAAO,SAAS,KAAwB,SAAiC;AACxE,0BAAsB,OAAO,KAAK,CAAA,YAAW,CAAC,GAAG,SAAS,SAAS,GAAG,OAAO;AAAA,EAC9E;AACD;AAEO,MAAM,wBAAwB,CACpC,KACA,SAEA,sBAAsB,IAAI,GAAG,EAAE;AAAA,EAC9B,CAAC,QAAQ,QAAQ,IAAI,EAAE,GAAG,MAAM,QAAQ;AAAA,EACxC,KAAK;AACN;"}
@@ -51,7 +51,18 @@ class ColumnDefinition extends FieldDefinition.FieldDefinition {
51
51
  return this.withOption("collation", collation);
52
52
  }
53
53
  createField({ name, conventions, enumRegistry, entityName, options }) {
54
- const { type, nullable, columnName, enumDefinition, default: defaultValue, columnType, typeAlias, sequence, list, collation = options.defaultCollation } = this.options;
54
+ const {
55
+ type,
56
+ nullable,
57
+ columnName,
58
+ enumDefinition,
59
+ default: defaultValue,
60
+ columnType,
61
+ typeAlias,
62
+ sequence,
63
+ list,
64
+ collation = options.defaultCollation
65
+ } = this.options;
55
66
  const common = {
56
67
  name,
57
68
  columnName: columnName || conventions.getColumnName(name),
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ColumnDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { EnumDefinition } from '../EnumDefinition'\nimport { resolveDefaultColumnType } from '@contember/schema-utils'\n\nexport class ColumnDefinition extends FieldDefinition<ColumnDefinitionOptions> {\n\ttype = 'ColumnDefinition' as const\n\n\n\tpublic static create(\n\t\ttype: Model.ColumnType,\n\t\ttypeOptions: ColumnTypeOptions = {},\n\t): ColumnDefinition {\n\t\treturn new ColumnDefinition({\n\t\t\ttype: type,\n\t\t\t...typeOptions,\n\t\t})\n\t}\n\n\n\tpublic columnName(columnName: string): ColumnDefinition {\n\t\treturn this.withOption('columnName', columnName)\n\t}\n\n\tpublic columnType(columnType: string): ColumnDefinition {\n\t\treturn this.withOption('columnType', columnType)\n\t}\n\n\tpublic list(): ColumnDefinition {\n\t\treturn this.withOption('list', true)\n\t}\n\n\tpublic nullable(): ColumnDefinition {\n\t\treturn this.withOption('nullable', true)\n\t}\n\n\tpublic notNull(): ColumnDefinition {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tpublic sequence(options?: Partial<Model.ColumnTypeDefinition['sequence']>): ColumnDefinition {\n\t\treturn this.withOption('sequence', { precedence: 'BY DEFAULT', ...options })\n\t}\n\n\tpublic unique(options: { timing?: Model.ConstraintTiming } = {}): ColumnDefinition {\n\t\treturn this.withOption('unique', options)\n\t}\n\n\tpublic default(value: ColumnDefinition['options']['default']): ColumnDefinition {\n\t\treturn this.withOption('default', value)\n\t}\n\n\tpublic typeAlias(alias: string): ColumnDefinition {\n\t\treturn this.withOption('typeAlias', alias)\n\t}\n\n\t/**\n\t * Collation for string columns\n\t */\n\tpublic collation(collation: Model.Collation): ColumnDefinition {\n\t\treturn this.withOption('collation', collation)\n\t}\n\n\tcreateField({ name, conventions, enumRegistry, entityName, options }: CreateFieldContext): Model.AnyField {\n\t\tconst { type, nullable, columnName, enumDefinition, default: defaultValue, columnType, typeAlias, sequence, list, collation = options.defaultCollation } = this.options\n\t\tconst common = {\n\t\t\tname: name,\n\t\t\tcolumnName: columnName || conventions.getColumnName(name),\n\t\t\tnullable: nullable === undefined ? true : nullable,\n\t\t\t...(list ? { list } : {}),\n\t\t\t...(defaultValue !== undefined ? { default: defaultValue } : {}),\n\t\t\t...(sequence !== undefined ? { sequence } : {}),\n\t\t\t...(type === Model.ColumnType.String && collation !== undefined ? { collation } : {}),\n\t\t}\n\t\tif (type === Model.ColumnType.Enum) {\n\t\t\tif (typeAlias) {\n\t\t\t\tthrow new Error('GraphQL type alias cannot be specified for enum type')\n\t\t\t}\n\t\t\tlet enumName: string\n\t\t\tif (!enumDefinition) {\n\t\t\t\tthrow new Error()\n\t\t\t}\n\t\t\tif (enumRegistry.has(enumDefinition)) {\n\t\t\t\tenumName = enumRegistry.getName(enumDefinition)\n\t\t\t} else {\n\t\t\t\tenumName = entityName + name.substring(0, 1).toUpperCase() + name.substring(1)\n\t\t\t\tenumRegistry.register(enumName, enumDefinition)\n\t\t\t}\n\n\t\t\treturn { ...common, type: type, columnType: enumName }\n\t\t}\n\t\treturn {\n\t\t\t...common,\n\t\t\ttype: type,\n\t\t\tcolumnType: columnType || resolveDefaultColumnType(type),\n\t\t\t...(typeAlias !== undefined ? { typeAlias } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof ColumnDefinitionOptions>(key: K, value: ColumnDefinitionOptions[K]): ColumnDefinition {\n\t\treturn new ColumnDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function column(type: Model.ColumnType, typeOptions: ColumnTypeOptions = {}) {\n\treturn ColumnDefinition.create(type, typeOptions)\n}\n\nexport function stringColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.String)\n}\n\nexport function intColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Int)\n}\n\nexport function boolColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Bool)\n}\n\nexport function doubleColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Double)\n}\n\nexport function dateColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Date)\n}\n\nexport function timeColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Time)\n}\n\nexport function dateTimeColumn(args?: { precision?: number }): ColumnDefinition {\n\tconst col = column(Model.ColumnType.DateTime)\n\tif (!args?.precision) {\n\t\treturn col\n\t}\n\treturn col.columnType(`${resolveDefaultColumnType(Model.ColumnType.DateTime)}(${args.precision})`)\n}\n\nexport function jsonColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Json)\n}\n\nexport function enumColumn(enumDefinition: EnumDefinition): ColumnDefinition {\n\treturn column(Model.ColumnType.Enum, { enumDefinition })\n}\n\nexport function uuidColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Uuid)\n}\n\nexport type ColumnTypeOptions = {\n\tenumDefinition?: EnumDefinition\n}\nexport type ColumnDefinitionOptions = {\n\ttype: Model.ColumnType\n\tcolumnType?: string\n\tlist?: boolean\n\ttypeAlias?: string\n\tcolumnName?: string\n\tunique?: { timing?: Model.ConstraintTiming }\n\tnullable?: boolean\n\tdefault?: Model.ColumnTypeDefinition['default']\n\tsequence?: Model.ColumnTypeDefinition['sequence']\n\tcollation?: Model.Collation\n} & ColumnTypeOptions\n\n"],"names":["FieldDefinition","Model","resolveDefaultColumnType"],"mappings":";;;;;;;;AAKO,MAAM,yBAAyBA,gBAAAA,gBAAyC;AAAA,EAAxE,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,kBAAA;AAAA,EAAA;AAAA,EAGP,OAAc,OACb,MACA,cAAiC,IACd;AACnB,WAAO,IAAI,iBAAiB;AAAA,MAC3B;AAAA,MACA,GAAG;AAAA,IAAA,CACH;AAAA,EAAA;AAAA,EAIK,WAAW,YAAsC;AAChD,WAAA,KAAK,WAAW,cAAc,UAAU;AAAA,EAAA;AAAA,EAGzC,WAAW,YAAsC;AAChD,WAAA,KAAK,WAAW,cAAc,UAAU;AAAA,EAAA;AAAA,EAGzC,OAAyB;AACxB,WAAA,KAAK,WAAW,QAAQ,IAAI;AAAA,EAAA;AAAA,EAG7B,WAA6B;AAC5B,WAAA,KAAK,WAAW,YAAY,IAAI;AAAA,EAAA;AAAA,EAGjC,UAA4B;AAC3B,WAAA,KAAK,WAAW,YAAY,KAAK;AAAA,EAAA;AAAA,EAGlC,SAAS,SAA6E;AACrF,WAAA,KAAK,WAAW,YAAY,EAAE,YAAY,cAAc,GAAG,SAAS;AAAA,EAAA;AAAA,EAGrE,OAAO,UAA+C,IAAsB;AAC3E,WAAA,KAAK,WAAW,UAAU,OAAO;AAAA,EAAA;AAAA,EAGlC,QAAQ,OAAiE;AACxE,WAAA,KAAK,WAAW,WAAW,KAAK;AAAA,EAAA;AAAA,EAGjC,UAAU,OAAiC;AAC1C,WAAA,KAAK,WAAW,aAAa,KAAK;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA,EAMnC,UAAU,WAA8C;AACvD,WAAA,KAAK,WAAW,aAAa,SAAS;AAAA,EAAA;AAAA,EAG9C,YAAY,EAAE,MAAM,aAAa,cAAc,YAAY,WAA+C;AACzG,UAAM,EAAE,MAAM,UAAU,YAAY,gBAAgB,SAAS,cAAc,YAAY,WAAW,UAAU,MAAM,YAAY,QAAQ,iBAAA,IAAqB,KAAK;AAChK,UAAM,SAAS;AAAA,MACd;AAAA,MACA,YAAY,cAAc,YAAY,cAAc,IAAI;AAAA,MACxD,UAAU,aAAa,SAAY,OAAO;AAAA,MAC1C,GAAI,OAAO,EAAE,KAAA,IAAS,CAAC;AAAA,MACvB,GAAI,iBAAiB,SAAY,EAAE,SAAS,iBAAiB,CAAC;AAAA,MAC9D,GAAI,aAAa,SAAY,EAAE,aAAa,CAAC;AAAA,MAC7C,GAAI,SAASC,OAAA,MAAM,WAAW,UAAU,cAAc,SAAY,EAAE,cAAc,CAAA;AAAA,IACnF;AACI,QAAA,SAASA,OAAAA,MAAM,WAAW,MAAM;AACnC,UAAI,WAAW;AACR,cAAA,IAAI,MAAM,sDAAsD;AAAA,MAAA;AAEnE,UAAA;AACJ,UAAI,CAAC,gBAAgB;AACpB,cAAM,IAAI,MAAM;AAAA,MAAA;AAEb,UAAA,aAAa,IAAI,cAAc,GAAG;AAC1B,mBAAA,aAAa,QAAQ,cAAc;AAAA,MAAA,OACxC;AACK,mBAAA,aAAa,KAAK,UAAU,GAAG,CAAC,EAAE,YAAY,IAAI,KAAK,UAAU,CAAC;AAChE,qBAAA,SAAS,UAAU,cAAc;AAAA,MAAA;AAG/C,aAAO,EAAE,GAAG,QAAQ,MAAY,YAAY,SAAS;AAAA,IAAA;AAE/C,WAAA;AAAA,MACN,GAAG;AAAA,MACH;AAAA,MACA,YAAY,cAAcC,YAAA,yBAAyB,IAAI;AAAA,MACvD,GAAI,cAAc,SAAY,EAAE,UAAA,IAAc,CAAA;AAAA,IAC/C;AAAA,EAAA;AAAA,EAGS,WAAoD,KAAQ,OAAqD;AACnH,WAAA,IAAI,iBAAiB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EAAA;AAE/D;AAEO,SAAS,OAAO,MAAwB,cAAiC,IAAI;AAC5E,SAAA,iBAAiB,OAAO,MAAM,WAAW;AACjD;AAEO,SAAS,eAAiC;AACzC,SAAA,OAAOD,OAAAA,MAAM,WAAW,MAAM;AACtC;AAEO,SAAS,YAA8B;AACtC,SAAA,OAAOA,OAAAA,MAAM,WAAW,GAAG;AACnC;AAEO,SAAS,aAA+B;AACvC,SAAA,OAAOA,OAAAA,MAAM,WAAW,IAAI;AACpC;AAEO,SAAS,eAAiC;AACzC,SAAA,OAAOA,OAAAA,MAAM,WAAW,MAAM;AACtC;AAEO,SAAS,aAA+B;AACvC,SAAA,OAAOA,OAAAA,MAAM,WAAW,IAAI;AACpC;AAEO,SAAS,aAA+B;AACvC,SAAA,OAAOA,OAAAA,MAAM,WAAW,IAAI;AACpC;AAEO,SAAS,eAAe,MAAiD;AAC/E,QAAM,MAAM,OAAOA,aAAM,WAAW,QAAQ;AACxC,MAAA,CAAC,MAAM,WAAW;AACd,WAAA;AAAA,EAAA;AAED,SAAA,IAAI,WAAW,GAAGC,YAAAA,yBAAyBD,OAAAA,MAAM,WAAW,QAAQ,CAAC,IAAI,KAAK,SAAS,GAAG;AAClG;AAEO,SAAS,aAA+B;AACvC,SAAA,OAAOA,OAAAA,MAAM,WAAW,IAAI;AACpC;AAEO,SAAS,WAAW,gBAAkD;AAC5E,SAAO,OAAOA,OAAAA,MAAM,WAAW,MAAM,EAAE,gBAAgB;AACxD;AAEO,SAAS,aAA+B;AACvC,SAAA,OAAOA,OAAAA,MAAM,WAAW,IAAI;AACpC;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ColumnDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ColumnDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { EnumDefinition } from '../EnumDefinition'\nimport { resolveDefaultColumnType } from '@contember/schema-utils'\n\nexport class ColumnDefinition extends FieldDefinition<ColumnDefinitionOptions> {\n\ttype = 'ColumnDefinition' as const\n\n\tpublic static create(\n\t\ttype: Model.ColumnType,\n\t\ttypeOptions: ColumnTypeOptions = {},\n\t): ColumnDefinition {\n\t\treturn new ColumnDefinition({\n\t\t\ttype: type,\n\t\t\t...typeOptions,\n\t\t})\n\t}\n\n\tpublic columnName(columnName: string): ColumnDefinition {\n\t\treturn this.withOption('columnName', columnName)\n\t}\n\n\tpublic columnType(columnType: string): ColumnDefinition {\n\t\treturn this.withOption('columnType', columnType)\n\t}\n\n\tpublic list(): ColumnDefinition {\n\t\treturn this.withOption('list', true)\n\t}\n\n\tpublic nullable(): ColumnDefinition {\n\t\treturn this.withOption('nullable', true)\n\t}\n\n\tpublic notNull(): ColumnDefinition {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tpublic sequence(options?: Partial<Model.ColumnTypeDefinition['sequence']>): ColumnDefinition {\n\t\treturn this.withOption('sequence', { precedence: 'BY DEFAULT', ...options })\n\t}\n\n\tpublic unique(options: { timing?: Model.ConstraintTiming } = {}): ColumnDefinition {\n\t\treturn this.withOption('unique', options)\n\t}\n\n\tpublic default(value: ColumnDefinition['options']['default']): ColumnDefinition {\n\t\treturn this.withOption('default', value)\n\t}\n\n\tpublic typeAlias(alias: string): ColumnDefinition {\n\t\treturn this.withOption('typeAlias', alias)\n\t}\n\n\t/**\n\t * Collation for string columns\n\t */\n\tpublic collation(collation: Model.Collation): ColumnDefinition {\n\t\treturn this.withOption('collation', collation)\n\t}\n\n\tcreateField({ name, conventions, enumRegistry, entityName, options }: CreateFieldContext): Model.AnyField {\n\t\tconst {\n\t\t\ttype,\n\t\t\tnullable,\n\t\t\tcolumnName,\n\t\t\tenumDefinition,\n\t\t\tdefault: defaultValue,\n\t\t\tcolumnType,\n\t\t\ttypeAlias,\n\t\t\tsequence,\n\t\t\tlist,\n\t\t\tcollation = options.defaultCollation,\n\t\t} = this.options\n\t\tconst common = {\n\t\t\tname: name,\n\t\t\tcolumnName: columnName || conventions.getColumnName(name),\n\t\t\tnullable: nullable === undefined ? true : nullable,\n\t\t\t...(list ? { list } : {}),\n\t\t\t...(defaultValue !== undefined ? { default: defaultValue } : {}),\n\t\t\t...(sequence !== undefined ? { sequence } : {}),\n\t\t\t...(type === Model.ColumnType.String && collation !== undefined ? { collation } : {}),\n\t\t}\n\t\tif (type === Model.ColumnType.Enum) {\n\t\t\tif (typeAlias) {\n\t\t\t\tthrow new Error('GraphQL type alias cannot be specified for enum type')\n\t\t\t}\n\t\t\tlet enumName: string\n\t\t\tif (!enumDefinition) {\n\t\t\t\tthrow new Error()\n\t\t\t}\n\t\t\tif (enumRegistry.has(enumDefinition)) {\n\t\t\t\tenumName = enumRegistry.getName(enumDefinition)\n\t\t\t} else {\n\t\t\t\tenumName = entityName + name.substring(0, 1).toUpperCase() + name.substring(1)\n\t\t\t\tenumRegistry.register(enumName, enumDefinition)\n\t\t\t}\n\n\t\t\treturn { ...common, type: type, columnType: enumName }\n\t\t}\n\t\treturn {\n\t\t\t...common,\n\t\t\ttype: type,\n\t\t\tcolumnType: columnType || resolveDefaultColumnType(type),\n\t\t\t...(typeAlias !== undefined ? { typeAlias } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof ColumnDefinitionOptions>(key: K, value: ColumnDefinitionOptions[K]): ColumnDefinition {\n\t\treturn new ColumnDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function column(type: Model.ColumnType, typeOptions: ColumnTypeOptions = {}) {\n\treturn ColumnDefinition.create(type, typeOptions)\n}\n\nexport function stringColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.String)\n}\n\nexport function intColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Int)\n}\n\nexport function boolColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Bool)\n}\n\nexport function doubleColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Double)\n}\n\nexport function dateColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Date)\n}\n\nexport function timeColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Time)\n}\n\nexport function dateTimeColumn(args?: { precision?: number }): ColumnDefinition {\n\tconst col = column(Model.ColumnType.DateTime)\n\tif (!args?.precision) {\n\t\treturn col\n\t}\n\treturn col.columnType(`${resolveDefaultColumnType(Model.ColumnType.DateTime)}(${args.precision})`)\n}\n\nexport function jsonColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Json)\n}\n\nexport function enumColumn(enumDefinition: EnumDefinition): ColumnDefinition {\n\treturn column(Model.ColumnType.Enum, { enumDefinition })\n}\n\nexport function uuidColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Uuid)\n}\n\nexport type ColumnTypeOptions = {\n\tenumDefinition?: EnumDefinition\n}\nexport type ColumnDefinitionOptions = {\n\ttype: Model.ColumnType\n\tcolumnType?: string\n\tlist?: boolean\n\ttypeAlias?: string\n\tcolumnName?: string\n\tunique?: { timing?: Model.ConstraintTiming }\n\tnullable?: boolean\n\tdefault?: Model.ColumnTypeDefinition['default']\n\tsequence?: Model.ColumnTypeDefinition['sequence']\n\tcollation?: Model.Collation\n} & ColumnTypeOptions\n"],"names":["FieldDefinition","Model","resolveDefaultColumnType"],"mappings":"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"}