@contember/schema-definition 2.0.0-alpha.9 → 2.0.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 (328) hide show
  1. package/dist/development/index.cjs.map +1 -1
  2. package/dist/development/index.js.map +1 -1
  3. package/dist/development/src/acl/builder/EntityPermissionsBuilder.cjs.map +1 -1
  4. package/dist/development/src/acl/builder/EntityPermissionsBuilder.js.map +1 -1
  5. package/dist/development/src/acl/builder/EntitySelector.cjs.map +1 -1
  6. package/dist/development/src/acl/builder/EntitySelector.js.map +1 -1
  7. package/dist/development/src/acl/builder/FieldPermissionsBuilder.cjs.map +1 -1
  8. package/dist/development/src/acl/builder/FieldPermissionsBuilder.js.map +1 -1
  9. package/dist/development/src/acl/builder/FieldSelector.cjs.map +1 -1
  10. package/dist/development/src/acl/builder/FieldSelector.js.map +1 -1
  11. package/dist/development/src/acl/builder/PermissionOverrider.cjs.map +1 -1
  12. package/dist/development/src/acl/builder/PermissionOverrider.js.map +1 -1
  13. package/dist/development/src/acl/builder/PermissionsBuilder.cjs.map +1 -1
  14. package/dist/development/src/acl/builder/PermissionsBuilder.js.map +1 -1
  15. package/dist/development/src/acl/builder/PredicateReference.cjs.map +1 -1
  16. package/dist/development/src/acl/builder/PredicateReference.js.map +1 -1
  17. package/dist/development/src/acl/definition/customPrimary.cjs.map +1 -1
  18. package/dist/development/src/acl/definition/customPrimary.js.map +1 -1
  19. package/dist/development/src/acl/definition/index.cjs.map +1 -1
  20. package/dist/development/src/acl/definition/internal/AclFactory.cjs.map +1 -1
  21. package/dist/development/src/acl/definition/internal/AclFactory.js.map +1 -1
  22. package/dist/development/src/acl/definition/internal/EntityPredicateResolver.cjs +2 -2
  23. package/dist/development/src/acl/definition/internal/EntityPredicateResolver.cjs.map +1 -1
  24. package/dist/development/src/acl/definition/internal/EntityPredicateResolver.js +2 -2
  25. package/dist/development/src/acl/definition/internal/EntityPredicateResolver.js.map +1 -1
  26. package/dist/development/src/acl/definition/internal/stores.cjs.map +1 -1
  27. package/dist/development/src/acl/definition/internal/stores.js.map +1 -1
  28. package/dist/development/src/acl/definition/permissions.cjs.map +1 -1
  29. package/dist/development/src/acl/definition/permissions.js.map +1 -1
  30. package/dist/development/src/acl/definition/references.cjs.map +1 -1
  31. package/dist/development/src/acl/definition/references.js.map +1 -1
  32. package/dist/development/src/acl/definition/roles.cjs.map +1 -1
  33. package/dist/development/src/acl/definition/roles.js.map +1 -1
  34. package/dist/development/src/acl/definition/variables.cjs.map +1 -1
  35. package/dist/development/src/acl/definition/variables.js.map +1 -1
  36. package/dist/development/src/actions/definition/index.cjs.map +1 -1
  37. package/dist/development/src/actions/definition/index.js.map +1 -1
  38. package/dist/development/src/actions/definition/internal/ActionsFactory.cjs.map +1 -1
  39. package/dist/development/src/actions/definition/internal/ActionsFactory.js.map +1 -1
  40. package/dist/development/src/actions/definition/targets.cjs.map +1 -1
  41. package/dist/development/src/actions/definition/targets.js.map +1 -1
  42. package/dist/development/src/actions/definition/triggers.cjs.map +1 -1
  43. package/dist/development/src/actions/definition/triggers.js.map +1 -1
  44. package/dist/development/src/createSchema.cjs.map +1 -1
  45. package/dist/development/src/createSchema.js.map +1 -1
  46. package/dist/development/src/model/builder/ColumnBuilder.cjs.map +1 -1
  47. package/dist/development/src/model/builder/ColumnBuilder.js.map +1 -1
  48. package/dist/development/src/model/builder/EntityBuilder.cjs.map +1 -1
  49. package/dist/development/src/model/builder/EntityBuilder.js.map +1 -1
  50. package/dist/development/src/model/builder/FieldBuilder.cjs.map +1 -1
  51. package/dist/development/src/model/builder/FieldBuilder.js.map +1 -1
  52. package/dist/development/src/model/builder/ManyHasManyBuilder.cjs.map +1 -1
  53. package/dist/development/src/model/builder/ManyHasManyBuilder.js.map +1 -1
  54. package/dist/development/src/model/builder/ManyHasOneBuilder.cjs.map +1 -1
  55. package/dist/development/src/model/builder/ManyHasOneBuilder.js.map +1 -1
  56. package/dist/development/src/model/builder/OneHasManyBuilder.cjs.map +1 -1
  57. package/dist/development/src/model/builder/OneHasManyBuilder.js.map +1 -1
  58. package/dist/development/src/model/builder/OneHasOneBuilder.cjs.map +1 -1
  59. package/dist/development/src/model/builder/OneHasOneBuilder.js.map +1 -1
  60. package/dist/development/src/model/builder/SchemaBuilder.cjs.map +1 -1
  61. package/dist/development/src/model/builder/SchemaBuilder.js.map +1 -1
  62. package/dist/development/src/model/builder/SchemaBuilderInternal.cjs.map +1 -1
  63. package/dist/development/src/model/builder/SchemaBuilderInternal.js.map +1 -1
  64. package/dist/development/src/model/builder/internal/ColumnProcessor.cjs.map +1 -1
  65. package/dist/development/src/model/builder/internal/ColumnProcessor.js.map +1 -1
  66. package/dist/development/src/model/builder/internal/ManyHasManyProcessor.cjs.map +1 -1
  67. package/dist/development/src/model/builder/internal/ManyHasManyProcessor.js.map +1 -1
  68. package/dist/development/src/model/builder/internal/ManyHasOneProcessor.cjs.map +1 -1
  69. package/dist/development/src/model/builder/internal/ManyHasOneProcessor.js.map +1 -1
  70. package/dist/development/src/model/builder/internal/OneHasManyProcessor.cjs.map +1 -1
  71. package/dist/development/src/model/builder/internal/OneHasManyProcessor.js.map +1 -1
  72. package/dist/development/src/model/builder/internal/OneHasOneProcessor.cjs.map +1 -1
  73. package/dist/development/src/model/builder/internal/OneHasOneProcessor.js.map +1 -1
  74. package/dist/development/src/model/definition/EnumDefinition.cjs.map +1 -1
  75. package/dist/development/src/model/definition/EnumDefinition.js.map +1 -1
  76. package/dist/development/src/model/definition/IndexDefinition.cjs.map +1 -1
  77. package/dist/development/src/model/definition/IndexDefinition.js.map +1 -1
  78. package/dist/development/src/model/definition/OrderByDefinition.cjs.map +1 -1
  79. package/dist/development/src/model/definition/OrderByDefinition.js.map +1 -1
  80. package/dist/development/src/model/definition/UniqueDefinition.cjs.map +1 -1
  81. package/dist/development/src/model/definition/UniqueDefinition.js.map +1 -1
  82. package/dist/development/src/model/definition/ViewDefinition.cjs.map +1 -1
  83. package/dist/development/src/model/definition/ViewDefinition.js.map +1 -1
  84. package/dist/development/src/model/definition/extensions.cjs.map +1 -1
  85. package/dist/development/src/model/definition/extensions.js.map +1 -1
  86. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +9 -2
  87. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +1 -1
  88. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js +9 -2
  89. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +1 -1
  90. package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.cjs +0 -3
  91. package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.cjs.map +1 -1
  92. package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.js +0 -3
  93. package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.js.map +1 -1
  94. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs +6 -3
  95. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs.map +1 -1
  96. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js +6 -3
  97. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js.map +1 -1
  98. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs +6 -7
  99. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs.map +1 -1
  100. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js +7 -8
  101. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js.map +1 -1
  102. package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs +6 -3
  103. package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs.map +1 -1
  104. package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js +6 -3
  105. package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js.map +1 -1
  106. package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs +6 -3
  107. package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs.map +1 -1
  108. package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.js +6 -3
  109. package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.js.map +1 -1
  110. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs +6 -3
  111. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs.map +1 -1
  112. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.js +6 -3
  113. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.js.map +1 -1
  114. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs +6 -7
  115. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs.map +1 -1
  116. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js +7 -8
  117. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map +1 -1
  118. package/dist/development/src/model/definition/index.cjs +6 -8
  119. package/dist/development/src/model/definition/index.cjs.map +1 -1
  120. package/dist/development/src/model/definition/index.js +12 -14
  121. package/dist/development/src/model/definition/index.js.map +1 -1
  122. package/dist/development/src/model/definition/internal/EntityRegistry.cjs.map +1 -1
  123. package/dist/development/src/model/definition/internal/EntityRegistry.js.map +1 -1
  124. package/dist/development/src/model/definition/internal/EnumRegistry.cjs.map +1 -1
  125. package/dist/development/src/model/definition/internal/EnumRegistry.js.map +1 -1
  126. package/dist/development/src/model/definition/internal/SchemaBuilder.cjs +5 -0
  127. package/dist/development/src/model/definition/internal/SchemaBuilder.cjs.map +1 -1
  128. package/dist/development/src/model/definition/internal/SchemaBuilder.js +5 -0
  129. package/dist/development/src/model/definition/internal/SchemaBuilder.js.map +1 -1
  130. package/dist/development/src/presets.cjs +13 -1
  131. package/dist/development/src/presets.cjs.map +1 -1
  132. package/dist/development/src/presets.js +13 -1
  133. package/dist/development/src/presets.js.map +1 -1
  134. package/dist/development/src/strict.cjs.map +1 -1
  135. package/dist/development/src/strict.js.map +1 -1
  136. package/dist/development/src/utils/MetadataStore.cjs.map +1 -1
  137. package/dist/development/src/utils/MetadataStore.js.map +1 -1
  138. package/dist/development/src/validation/index.cjs.map +1 -1
  139. package/dist/development/src/validation/index.js.map +1 -1
  140. package/dist/production/index.cjs.map +1 -1
  141. package/dist/production/index.js.map +1 -1
  142. package/dist/production/src/acl/builder/EntityPermissionsBuilder.cjs.map +1 -1
  143. package/dist/production/src/acl/builder/EntityPermissionsBuilder.js.map +1 -1
  144. package/dist/production/src/acl/builder/EntitySelector.cjs.map +1 -1
  145. package/dist/production/src/acl/builder/EntitySelector.js.map +1 -1
  146. package/dist/production/src/acl/builder/FieldPermissionsBuilder.cjs.map +1 -1
  147. package/dist/production/src/acl/builder/FieldPermissionsBuilder.js.map +1 -1
  148. package/dist/production/src/acl/builder/FieldSelector.cjs.map +1 -1
  149. package/dist/production/src/acl/builder/FieldSelector.js.map +1 -1
  150. package/dist/production/src/acl/builder/PermissionOverrider.cjs.map +1 -1
  151. package/dist/production/src/acl/builder/PermissionOverrider.js.map +1 -1
  152. package/dist/production/src/acl/builder/PermissionsBuilder.cjs.map +1 -1
  153. package/dist/production/src/acl/builder/PermissionsBuilder.js.map +1 -1
  154. package/dist/production/src/acl/builder/PredicateReference.cjs.map +1 -1
  155. package/dist/production/src/acl/builder/PredicateReference.js.map +1 -1
  156. package/dist/production/src/acl/definition/customPrimary.cjs.map +1 -1
  157. package/dist/production/src/acl/definition/customPrimary.js.map +1 -1
  158. package/dist/production/src/acl/definition/index.cjs.map +1 -1
  159. package/dist/production/src/acl/definition/internal/AclFactory.cjs.map +1 -1
  160. package/dist/production/src/acl/definition/internal/AclFactory.js.map +1 -1
  161. package/dist/production/src/acl/definition/internal/EntityPredicateResolver.cjs +2 -2
  162. package/dist/production/src/acl/definition/internal/EntityPredicateResolver.cjs.map +1 -1
  163. package/dist/production/src/acl/definition/internal/EntityPredicateResolver.js +2 -2
  164. package/dist/production/src/acl/definition/internal/EntityPredicateResolver.js.map +1 -1
  165. package/dist/production/src/acl/definition/internal/stores.cjs.map +1 -1
  166. package/dist/production/src/acl/definition/internal/stores.js.map +1 -1
  167. package/dist/production/src/acl/definition/permissions.cjs.map +1 -1
  168. package/dist/production/src/acl/definition/permissions.js.map +1 -1
  169. package/dist/production/src/acl/definition/references.cjs.map +1 -1
  170. package/dist/production/src/acl/definition/references.js.map +1 -1
  171. package/dist/production/src/acl/definition/roles.cjs.map +1 -1
  172. package/dist/production/src/acl/definition/roles.js.map +1 -1
  173. package/dist/production/src/acl/definition/variables.cjs.map +1 -1
  174. package/dist/production/src/acl/definition/variables.js.map +1 -1
  175. package/dist/production/src/actions/definition/index.cjs.map +1 -1
  176. package/dist/production/src/actions/definition/index.js.map +1 -1
  177. package/dist/production/src/actions/definition/internal/ActionsFactory.cjs.map +1 -1
  178. package/dist/production/src/actions/definition/internal/ActionsFactory.js.map +1 -1
  179. package/dist/production/src/actions/definition/targets.cjs.map +1 -1
  180. package/dist/production/src/actions/definition/targets.js.map +1 -1
  181. package/dist/production/src/actions/definition/triggers.cjs.map +1 -1
  182. package/dist/production/src/actions/definition/triggers.js.map +1 -1
  183. package/dist/production/src/createSchema.cjs.map +1 -1
  184. package/dist/production/src/createSchema.js.map +1 -1
  185. package/dist/production/src/model/builder/ColumnBuilder.cjs.map +1 -1
  186. package/dist/production/src/model/builder/ColumnBuilder.js.map +1 -1
  187. package/dist/production/src/model/builder/EntityBuilder.cjs.map +1 -1
  188. package/dist/production/src/model/builder/EntityBuilder.js.map +1 -1
  189. package/dist/production/src/model/builder/FieldBuilder.cjs.map +1 -1
  190. package/dist/production/src/model/builder/FieldBuilder.js.map +1 -1
  191. package/dist/production/src/model/builder/ManyHasManyBuilder.cjs.map +1 -1
  192. package/dist/production/src/model/builder/ManyHasManyBuilder.js.map +1 -1
  193. package/dist/production/src/model/builder/ManyHasOneBuilder.cjs.map +1 -1
  194. package/dist/production/src/model/builder/ManyHasOneBuilder.js.map +1 -1
  195. package/dist/production/src/model/builder/OneHasManyBuilder.cjs.map +1 -1
  196. package/dist/production/src/model/builder/OneHasManyBuilder.js.map +1 -1
  197. package/dist/production/src/model/builder/OneHasOneBuilder.cjs.map +1 -1
  198. package/dist/production/src/model/builder/OneHasOneBuilder.js.map +1 -1
  199. package/dist/production/src/model/builder/SchemaBuilder.cjs.map +1 -1
  200. package/dist/production/src/model/builder/SchemaBuilder.js.map +1 -1
  201. package/dist/production/src/model/builder/SchemaBuilderInternal.cjs.map +1 -1
  202. package/dist/production/src/model/builder/SchemaBuilderInternal.js.map +1 -1
  203. package/dist/production/src/model/builder/internal/ColumnProcessor.cjs.map +1 -1
  204. package/dist/production/src/model/builder/internal/ColumnProcessor.js.map +1 -1
  205. package/dist/production/src/model/builder/internal/ManyHasManyProcessor.cjs.map +1 -1
  206. package/dist/production/src/model/builder/internal/ManyHasManyProcessor.js.map +1 -1
  207. package/dist/production/src/model/builder/internal/ManyHasOneProcessor.cjs.map +1 -1
  208. package/dist/production/src/model/builder/internal/ManyHasOneProcessor.js.map +1 -1
  209. package/dist/production/src/model/builder/internal/OneHasManyProcessor.cjs.map +1 -1
  210. package/dist/production/src/model/builder/internal/OneHasManyProcessor.js.map +1 -1
  211. package/dist/production/src/model/builder/internal/OneHasOneProcessor.cjs.map +1 -1
  212. package/dist/production/src/model/builder/internal/OneHasOneProcessor.js.map +1 -1
  213. package/dist/production/src/model/definition/EnumDefinition.cjs.map +1 -1
  214. package/dist/production/src/model/definition/EnumDefinition.js.map +1 -1
  215. package/dist/production/src/model/definition/IndexDefinition.cjs.map +1 -1
  216. package/dist/production/src/model/definition/IndexDefinition.js.map +1 -1
  217. package/dist/production/src/model/definition/OrderByDefinition.cjs.map +1 -1
  218. package/dist/production/src/model/definition/OrderByDefinition.js.map +1 -1
  219. package/dist/production/src/model/definition/UniqueDefinition.cjs.map +1 -1
  220. package/dist/production/src/model/definition/UniqueDefinition.js.map +1 -1
  221. package/dist/production/src/model/definition/ViewDefinition.cjs.map +1 -1
  222. package/dist/production/src/model/definition/ViewDefinition.js.map +1 -1
  223. package/dist/production/src/model/definition/extensions.cjs.map +1 -1
  224. package/dist/production/src/model/definition/extensions.js.map +1 -1
  225. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +9 -2
  226. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +1 -1
  227. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js +9 -2
  228. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +1 -1
  229. package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.cjs +0 -3
  230. package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.cjs.map +1 -1
  231. package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.js +0 -3
  232. package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.js.map +1 -1
  233. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs +6 -3
  234. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs.map +1 -1
  235. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js +6 -3
  236. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js.map +1 -1
  237. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs +6 -7
  238. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs.map +1 -1
  239. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js +7 -8
  240. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js.map +1 -1
  241. package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs +6 -3
  242. package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs.map +1 -1
  243. package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js +6 -3
  244. package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js.map +1 -1
  245. package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs +6 -3
  246. package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs.map +1 -1
  247. package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.js +6 -3
  248. package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.js.map +1 -1
  249. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs +6 -3
  250. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs.map +1 -1
  251. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.js +6 -3
  252. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.js.map +1 -1
  253. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs +6 -7
  254. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs.map +1 -1
  255. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js +7 -8
  256. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map +1 -1
  257. package/dist/production/src/model/definition/index.cjs +6 -8
  258. package/dist/production/src/model/definition/index.cjs.map +1 -1
  259. package/dist/production/src/model/definition/index.js +12 -14
  260. package/dist/production/src/model/definition/index.js.map +1 -1
  261. package/dist/production/src/model/definition/internal/EntityRegistry.cjs.map +1 -1
  262. package/dist/production/src/model/definition/internal/EntityRegistry.js.map +1 -1
  263. package/dist/production/src/model/definition/internal/EnumRegistry.cjs.map +1 -1
  264. package/dist/production/src/model/definition/internal/EnumRegistry.js.map +1 -1
  265. package/dist/production/src/model/definition/internal/SchemaBuilder.cjs +5 -0
  266. package/dist/production/src/model/definition/internal/SchemaBuilder.cjs.map +1 -1
  267. package/dist/production/src/model/definition/internal/SchemaBuilder.js +5 -0
  268. package/dist/production/src/model/definition/internal/SchemaBuilder.js.map +1 -1
  269. package/dist/production/src/presets.cjs +13 -1
  270. package/dist/production/src/presets.cjs.map +1 -1
  271. package/dist/production/src/presets.js +13 -1
  272. package/dist/production/src/presets.js.map +1 -1
  273. package/dist/production/src/strict.cjs.map +1 -1
  274. package/dist/production/src/strict.js.map +1 -1
  275. package/dist/production/src/utils/MetadataStore.cjs.map +1 -1
  276. package/dist/production/src/utils/MetadataStore.js.map +1 -1
  277. package/dist/production/src/validation/index.cjs.map +1 -1
  278. package/dist/production/src/validation/index.js.map +1 -1
  279. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  280. package/dist/types/index.d.ts +10 -6
  281. package/dist/types/index.d.ts.map +1 -1
  282. package/dist/types/model/builder/EntityBuilder.d.ts +1 -1
  283. package/dist/types/model/builder/EntityBuilder.d.ts.map +1 -1
  284. package/dist/types/model/definition/fieldDefinitions/ColumnDefinition.d.ts +12 -10
  285. package/dist/types/model/definition/fieldDefinitions/ColumnDefinition.d.ts.map +1 -1
  286. package/dist/types/model/definition/fieldDefinitions/FieldDefinition.d.ts +0 -3
  287. package/dist/types/model/definition/fieldDefinitions/FieldDefinition.d.ts.map +1 -1
  288. package/dist/types/model/definition/fieldDefinitions/ManyHasManyDefinition.d.ts +6 -6
  289. package/dist/types/model/definition/fieldDefinitions/ManyHasManyDefinition.d.ts.map +1 -1
  290. package/dist/types/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.d.ts +4 -8
  291. package/dist/types/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.d.ts.map +1 -1
  292. package/dist/types/model/definition/fieldDefinitions/ManyHasOneDefinition.d.ts +10 -10
  293. package/dist/types/model/definition/fieldDefinitions/ManyHasOneDefinition.d.ts.map +1 -1
  294. package/dist/types/model/definition/fieldDefinitions/OneHasManyDefinition.d.ts +4 -4
  295. package/dist/types/model/definition/fieldDefinitions/OneHasManyDefinition.d.ts.map +1 -1
  296. package/dist/types/model/definition/fieldDefinitions/OneHasOneDefinition.d.ts +11 -11
  297. package/dist/types/model/definition/fieldDefinitions/OneHasOneDefinition.d.ts.map +1 -1
  298. package/dist/types/model/definition/fieldDefinitions/OneHasOneInverseDefinition.d.ts +4 -8
  299. package/dist/types/model/definition/fieldDefinitions/OneHasOneInverseDefinition.d.ts.map +1 -1
  300. package/dist/types/model/definition/index.d.ts +1 -2
  301. package/dist/types/model/definition/index.d.ts.map +1 -1
  302. package/dist/types/model/definition/internal/SchemaBuilder.d.ts.map +1 -1
  303. package/dist/types/model/definition/types.d.ts +2 -5
  304. package/dist/types/model/definition/types.d.ts.map +1 -1
  305. package/dist/types/presets.d.ts +1 -0
  306. package/dist/types/presets.d.ts.map +1 -1
  307. package/dist/types/tsconfig.tsbuildinfo +1 -1
  308. package/package.json +7 -6
  309. package/src/acl/definition/internal/EntityPredicateResolver.ts +2 -2
  310. package/src/index.ts +15 -0
  311. package/src/model/definition/fieldDefinitions/ColumnDefinition.ts +27 -19
  312. package/src/model/definition/fieldDefinitions/FieldDefinition.ts +1 -5
  313. package/src/model/definition/fieldDefinitions/ManyHasManyDefinition.ts +11 -7
  314. package/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.ts +8 -12
  315. package/src/model/definition/fieldDefinitions/ManyHasOneDefinition.ts +14 -12
  316. package/src/model/definition/fieldDefinitions/OneHasManyDefinition.ts +8 -5
  317. package/src/model/definition/fieldDefinitions/OneHasOneDefinition.ts +16 -12
  318. package/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.ts +8 -11
  319. package/src/model/definition/index.ts +1 -2
  320. package/src/model/definition/internal/SchemaBuilder.ts +6 -0
  321. package/src/model/definition/types.ts +2 -3
  322. package/src/presets.ts +12 -0
  323. package/tests/cases/unit/__snapshots__/readActions.test.ts.snap +33 -0
  324. package/tests/cases/unit/createSchema.test.ts +78 -80
  325. package/tests/cases/unit/extendEntity.test.ts +2 -2
  326. package/tests/cases/unit/orderBy.test.ts +10 -6
  327. package/tests/cases/unit/readAclDefinitions.test.ts +197 -208
  328. package/tests/cases/unit/readActions.test.ts +2 -32
@@ -1 +1 @@
1
- {"version":3,"file":"OneHasOneDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, Interface, RelationTarget } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\n\nexport class OneHasOneDefinitionImpl extends FieldDefinition<OneHasOneDefinitionOptions> {\n\ttype = 'OneHasOneDefinition' as const\n\n\tinversedBy(inversedBy: string): Interface<OneHasOneDefinition> {\n\t\treturn this.withOption('inversedBy', inversedBy)\n\t}\n\n\tjoiningColumn(columnName: string): Interface<OneHasOneDefinition> {\n\t\treturn this.withOption('joiningColumn', { ...this.joiningColumn, columnName })\n\t}\n\n\tonDelete(onDelete: Model.OnDelete | `${Model.OnDelete}`): Interface<OneHasOneDefinition> {\n\t\treturn this.withOption('joiningColumn', { ...this.joiningColumn, onDelete: onDelete as Model.OnDelete })\n\t}\n\n\tcascadeOnDelete(): Interface<OneHasOneDefinition> {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.cascade })\n\t}\n\n\tsetNullOnDelete(): Interface<OneHasOneDefinition> {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.setNull })\n\t}\n\n\trestrictOnDelete(): Interface<OneHasOneDefinition> {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.restrict })\n\t}\n\n\tnotNull(): Interface<OneHasOneDefinition> {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tremoveOrphan(): Interface<OneHasOneDefinition> {\n\t\treturn this.withOption('orphanRemoval', true)\n\t}\n\n\tcreateField({ name, conventions, entityRegistry, strictDefinitionValidator, entityName }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\tconst joiningColumn: Partial<Model.JoiningColumn> = options.joiningColumn || {}\n\n\t\tstrictDefinitionValidator.validateInverseSide(entityName, name, options)\n\t\tstrictDefinitionValidator.validateOnCascade(entityName, name, joiningColumn)\n\n\t\treturn {\n\t\t\tname: name,\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: entityRegistry.getName(options.target),\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || conventions.getJoiningColumnName(name),\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\nexport type OneHasOneDefinition = Interface<OneHasOneDefinitionImpl>\n\nexport function oneHasOne(target: EntityConstructor, inversedBy?: string): OneHasOneDefinition {\n\treturn new OneHasOneDefinitionImpl({ target, inversedBy })\n}\n\nexport type OneHasOneDefinitionOptions = {\n\ttarget: RelationTarget\n\tinversedBy?: string\n\tjoiningColumn?: Partial<Model.JoiningColumn>\n\tnullable?: boolean\n\torphanRemoval?: true\n}\n"],"names":["FieldDefinition","Model"],"mappings":";;;;;;;AAIO,MAAM,gCAAgCA,gBAAAA,gBAA4C;AAAA,EAAlF,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,qBAAA;AAAA,EAAA;AAAA,EAEP,WAAW,YAAoD;AACvD,WAAA,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEA,cAAc,YAAoD;AAC1D,WAAA,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,eAAe,YAAY;AAAA,EAC9E;AAAA,EAEA,SAAS,UAAgF;AACjF,WAAA,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,eAAe,UAAsC;AAAA,EACxG;AAAA,EAEA,kBAAkD;AACjD,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUC,OAAA,MAAM,SAAS,QAAS,CAAA;AAAA,EAC5G;AAAA,EAEA,kBAAkD;AACjD,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUA,OAAA,MAAM,SAAS,QAAS,CAAA;AAAA,EAC5G;AAAA,EAEA,mBAAmD;AAClD,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUA,OAAA,MAAM,SAAS,SAAU,CAAA;AAAA,EAC7G;AAAA,EAEA,UAA0C;AAClC,WAAA,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,eAA+C;AACvC,WAAA,KAAK,WAAW,iBAAiB,IAAI;AAAA,EAC7C;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,gBAAgB,2BAA2B,cAAkD;AAC7H,UAAM,UAAU,KAAK;AACf,UAAA,gBAA8C,QAAQ,iBAAiB;AAEnD,8BAAA,oBAAoB,YAAY,MAAM,OAAO;AAC7C,8BAAA,kBAAkB,YAAY,MAAM,aAAa;AAEpE,WAAA;AAAA,MACN;AAAA,MACA,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,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,YAAY,qBAAqB,IAAI;AAAA,QAC7E,UAAU,cAAc,YAAYA,OAAA,MAAM,SAAS;AAAA,MACpD;AAAA,MACA,GAAI,QAAQ,gBAAgB,EAAE,eAAe,SAAS,CAAC;AAAA,IAAA;AAAA,EAEzD;AACD;AAIgB,SAAA,UAAU,QAA2B,YAA0C;AAC9F,SAAO,IAAI,wBAAwB,EAAE,QAAQ,WAAY,CAAA;AAC1D;;;"}
1
+ {"version":3,"file":"OneHasOneDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, RelationTarget } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\n\nexport class OneHasOneDefinition extends FieldDefinition<OneHasOneDefinitionOptions> {\n\ttype = 'OneHasOneDefinition' as const\n\n\n\tinversedBy(inversedBy: string): OneHasOneDefinition {\n\t\treturn this.withOption('inversedBy', inversedBy)\n\t}\n\n\tjoiningColumn(columnName: string): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.joiningColumn, columnName })\n\t}\n\n\tonDelete(onDelete: Model.OnDelete | `${Model.OnDelete}`): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.joiningColumn, onDelete: onDelete as Model.OnDelete })\n\t}\n\n\tcascadeOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.cascade })\n\t}\n\n\tsetNullOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.setNull })\n\t}\n\n\trestrictOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.restrict })\n\t}\n\n\tnotNull(): OneHasOneDefinition {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tremoveOrphan(): OneHasOneDefinition {\n\t\treturn this.withOption('orphanRemoval', true)\n\t}\n\n\tcreateField({ name, conventions, entityRegistry, strictDefinitionValidator, entityName }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\tconst joiningColumn: Partial<Model.JoiningColumn> = options.joiningColumn || {}\n\n\t\tstrictDefinitionValidator.validateInverseSide(entityName, name, options)\n\t\tstrictDefinitionValidator.validateOnCascade(entityName, name, joiningColumn)\n\n\t\treturn {\n\t\t\tname: name,\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: entityRegistry.getName(options.target),\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || conventions.getJoiningColumnName(name),\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\tprotected withOption<K extends keyof OneHasOneDefinitionOptions>(key: K, value: OneHasOneDefinitionOptions[K]): OneHasOneDefinition {\n\t\treturn new OneHasOneDefinition({ ...this.options, [key]: value })\n\t}\n}\n\n\nexport function oneHasOne(target: EntityConstructor, inversedBy?: string): OneHasOneDefinition {\n\treturn new OneHasOneDefinition({ target, inversedBy })\n}\n\nexport type OneHasOneDefinitionOptions = {\n\ttarget: RelationTarget\n\tinversedBy?: string\n\tjoiningColumn?: Partial<Model.JoiningColumn>\n\tnullable?: boolean\n\torphanRemoval?: true\n}\n"],"names":["FieldDefinition","Model"],"mappings":";;;;;;;AAIO,MAAM,4BAA4BA,gBAAAA,gBAA4C;AAAA,EAA9E,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,qBAAA;AAAA,EAAA;AAAA,EAGP,WAAW,YAAyC;AAC5C,WAAA,KAAK,WAAW,cAAc,UAAU;AAAA,EAAA;AAAA,EAGhD,cAAc,YAAyC;AAC/C,WAAA,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,eAAe,YAAY;AAAA,EAAA;AAAA,EAG9E,SAAS,UAAqE;AACtE,WAAA,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,eAAe,UAAsC;AAAA,EAAA;AAAA,EAGxG,kBAAuC;AACtC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUC,OAAAA,MAAM,SAAS,QAAA,CAAS;AAAA,EAAA;AAAA,EAG5G,kBAAuC;AACtC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUA,OAAAA,MAAM,SAAS,QAAA,CAAS;AAAA,EAAA;AAAA,EAG5G,mBAAwC;AACvC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUA,OAAAA,MAAM,SAAS,SAAA,CAAU;AAAA,EAAA;AAAA,EAG7G,UAA+B;AACvB,WAAA,KAAK,WAAW,YAAY,KAAK;AAAA,EAAA;AAAA,EAGzC,eAAoC;AAC5B,WAAA,KAAK,WAAW,iBAAiB,IAAI;AAAA,EAAA;AAAA,EAG7C,YAAY,EAAE,MAAM,aAAa,gBAAgB,2BAA2B,cAAkD;AAC7H,UAAM,UAAU,KAAK;AACf,UAAA,gBAA8C,QAAQ,iBAAiB,CAAC;AAEpD,8BAAA,oBAAoB,YAAY,MAAM,OAAO;AAC7C,8BAAA,kBAAkB,YAAY,MAAM,aAAa;AAEpE,WAAA;AAAA,MACN;AAAA,MACA,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,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,YAAY,qBAAqB,IAAI;AAAA,QAC7E,UAAU,cAAc,YAAYA,OAAAA,MAAM,SAAS;AAAA,MACpD;AAAA,MACA,GAAI,QAAQ,gBAAgB,EAAE,eAAe,KAAA,IAAS,CAAA;AAAA,IACvD;AAAA,EAAA;AAAA,EAGS,WAAuD,KAAQ,OAA2D;AAC5H,WAAA,IAAI,oBAAoB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EAAA;AAElE;AAGgB,SAAA,UAAU,QAA2B,YAA0C;AAC9F,SAAO,IAAI,oBAAoB,EAAE,QAAQ,YAAY;AACtD;;;"}
@@ -3,7 +3,7 @@ import { FieldDefinition } from "./FieldDefinition.js";
3
3
  var __defProp = Object.defineProperty;
4
4
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
5
5
  var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
6
- class OneHasOneDefinitionImpl extends FieldDefinition {
6
+ class OneHasOneDefinition extends FieldDefinition {
7
7
  constructor() {
8
8
  super(...arguments);
9
9
  __publicField(this, "type", "OneHasOneDefinition");
@@ -50,12 +50,15 @@ class OneHasOneDefinitionImpl extends FieldDefinition {
50
50
  ...options.orphanRemoval ? { orphanRemoval: true } : {}
51
51
  };
52
52
  }
53
+ withOption(key, value) {
54
+ return new OneHasOneDefinition({ ...this.options, [key]: value });
55
+ }
53
56
  }
54
57
  function oneHasOne(target, inversedBy) {
55
- return new OneHasOneDefinitionImpl({ target, inversedBy });
58
+ return new OneHasOneDefinition({ target, inversedBy });
56
59
  }
57
60
  export {
58
- OneHasOneDefinitionImpl,
61
+ OneHasOneDefinition,
59
62
  oneHasOne
60
63
  };
61
64
  //# sourceMappingURL=OneHasOneDefinition.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OneHasOneDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, Interface, RelationTarget } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\n\nexport class OneHasOneDefinitionImpl extends FieldDefinition<OneHasOneDefinitionOptions> {\n\ttype = 'OneHasOneDefinition' as const\n\n\tinversedBy(inversedBy: string): Interface<OneHasOneDefinition> {\n\t\treturn this.withOption('inversedBy', inversedBy)\n\t}\n\n\tjoiningColumn(columnName: string): Interface<OneHasOneDefinition> {\n\t\treturn this.withOption('joiningColumn', { ...this.joiningColumn, columnName })\n\t}\n\n\tonDelete(onDelete: Model.OnDelete | `${Model.OnDelete}`): Interface<OneHasOneDefinition> {\n\t\treturn this.withOption('joiningColumn', { ...this.joiningColumn, onDelete: onDelete as Model.OnDelete })\n\t}\n\n\tcascadeOnDelete(): Interface<OneHasOneDefinition> {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.cascade })\n\t}\n\n\tsetNullOnDelete(): Interface<OneHasOneDefinition> {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.setNull })\n\t}\n\n\trestrictOnDelete(): Interface<OneHasOneDefinition> {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.restrict })\n\t}\n\n\tnotNull(): Interface<OneHasOneDefinition> {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tremoveOrphan(): Interface<OneHasOneDefinition> {\n\t\treturn this.withOption('orphanRemoval', true)\n\t}\n\n\tcreateField({ name, conventions, entityRegistry, strictDefinitionValidator, entityName }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\tconst joiningColumn: Partial<Model.JoiningColumn> = options.joiningColumn || {}\n\n\t\tstrictDefinitionValidator.validateInverseSide(entityName, name, options)\n\t\tstrictDefinitionValidator.validateOnCascade(entityName, name, joiningColumn)\n\n\t\treturn {\n\t\t\tname: name,\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: entityRegistry.getName(options.target),\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || conventions.getJoiningColumnName(name),\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\nexport type OneHasOneDefinition = Interface<OneHasOneDefinitionImpl>\n\nexport function oneHasOne(target: EntityConstructor, inversedBy?: string): OneHasOneDefinition {\n\treturn new OneHasOneDefinitionImpl({ target, inversedBy })\n}\n\nexport type OneHasOneDefinitionOptions = {\n\ttarget: RelationTarget\n\tinversedBy?: string\n\tjoiningColumn?: Partial<Model.JoiningColumn>\n\tnullable?: boolean\n\torphanRemoval?: true\n}\n"],"names":[],"mappings":";;;;;AAIO,MAAM,gCAAgC,gBAA4C;AAAA,EAAlF,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,qBAAA;AAAA,EAAA;AAAA,EAEP,WAAW,YAAoD;AACvD,WAAA,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEA,cAAc,YAAoD;AAC1D,WAAA,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,eAAe,YAAY;AAAA,EAC9E;AAAA,EAEA,SAAS,UAAgF;AACjF,WAAA,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,eAAe,UAAsC;AAAA,EACxG;AAAA,EAEA,kBAAkD;AACjD,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,QAAS,CAAA;AAAA,EAC5G;AAAA,EAEA,kBAAkD;AACjD,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,QAAS,CAAA;AAAA,EAC5G;AAAA,EAEA,mBAAmD;AAClD,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,SAAU,CAAA;AAAA,EAC7G;AAAA,EAEA,UAA0C;AAClC,WAAA,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,eAA+C;AACvC,WAAA,KAAK,WAAW,iBAAiB,IAAI;AAAA,EAC7C;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,gBAAgB,2BAA2B,cAAkD;AAC7H,UAAM,UAAU,KAAK;AACf,UAAA,gBAA8C,QAAQ,iBAAiB;AAEnD,8BAAA,oBAAoB,YAAY,MAAM,OAAO;AAC7C,8BAAA,kBAAkB,YAAY,MAAM,aAAa;AAEpE,WAAA;AAAA,MACN;AAAA,MACA,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,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,YAAY,qBAAqB,IAAI;AAAA,QAC7E,UAAU,cAAc,YAAY,MAAM,SAAS;AAAA,MACpD;AAAA,MACA,GAAI,QAAQ,gBAAgB,EAAE,eAAe,SAAS,CAAC;AAAA,IAAA;AAAA,EAEzD;AACD;AAIgB,SAAA,UAAU,QAA2B,YAA0C;AAC9F,SAAO,IAAI,wBAAwB,EAAE,QAAQ,WAAY,CAAA;AAC1D;"}
1
+ {"version":3,"file":"OneHasOneDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, RelationTarget } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\n\nexport class OneHasOneDefinition extends FieldDefinition<OneHasOneDefinitionOptions> {\n\ttype = 'OneHasOneDefinition' as const\n\n\n\tinversedBy(inversedBy: string): OneHasOneDefinition {\n\t\treturn this.withOption('inversedBy', inversedBy)\n\t}\n\n\tjoiningColumn(columnName: string): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.joiningColumn, columnName })\n\t}\n\n\tonDelete(onDelete: Model.OnDelete | `${Model.OnDelete}`): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.joiningColumn, onDelete: onDelete as Model.OnDelete })\n\t}\n\n\tcascadeOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.cascade })\n\t}\n\n\tsetNullOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.setNull })\n\t}\n\n\trestrictOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.restrict })\n\t}\n\n\tnotNull(): OneHasOneDefinition {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tremoveOrphan(): OneHasOneDefinition {\n\t\treturn this.withOption('orphanRemoval', true)\n\t}\n\n\tcreateField({ name, conventions, entityRegistry, strictDefinitionValidator, entityName }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\tconst joiningColumn: Partial<Model.JoiningColumn> = options.joiningColumn || {}\n\n\t\tstrictDefinitionValidator.validateInverseSide(entityName, name, options)\n\t\tstrictDefinitionValidator.validateOnCascade(entityName, name, joiningColumn)\n\n\t\treturn {\n\t\t\tname: name,\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: entityRegistry.getName(options.target),\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || conventions.getJoiningColumnName(name),\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\tprotected withOption<K extends keyof OneHasOneDefinitionOptions>(key: K, value: OneHasOneDefinitionOptions[K]): OneHasOneDefinition {\n\t\treturn new OneHasOneDefinition({ ...this.options, [key]: value })\n\t}\n}\n\n\nexport function oneHasOne(target: EntityConstructor, inversedBy?: string): OneHasOneDefinition {\n\treturn new OneHasOneDefinition({ target, inversedBy })\n}\n\nexport type OneHasOneDefinitionOptions = {\n\ttarget: RelationTarget\n\tinversedBy?: string\n\tjoiningColumn?: Partial<Model.JoiningColumn>\n\tnullable?: boolean\n\torphanRemoval?: true\n}\n"],"names":[],"mappings":";;;;;AAIO,MAAM,4BAA4B,gBAA4C;AAAA,EAA9E,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,qBAAA;AAAA,EAAA;AAAA,EAGP,WAAW,YAAyC;AAC5C,WAAA,KAAK,WAAW,cAAc,UAAU;AAAA,EAAA;AAAA,EAGhD,cAAc,YAAyC;AAC/C,WAAA,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,eAAe,YAAY;AAAA,EAAA;AAAA,EAG9E,SAAS,UAAqE;AACtE,WAAA,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,eAAe,UAAsC;AAAA,EAAA;AAAA,EAGxG,kBAAuC;AACtC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,QAAA,CAAS;AAAA,EAAA;AAAA,EAG5G,kBAAuC;AACtC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,QAAA,CAAS;AAAA,EAAA;AAAA,EAG5G,mBAAwC;AACvC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,SAAA,CAAU;AAAA,EAAA;AAAA,EAG7G,UAA+B;AACvB,WAAA,KAAK,WAAW,YAAY,KAAK;AAAA,EAAA;AAAA,EAGzC,eAAoC;AAC5B,WAAA,KAAK,WAAW,iBAAiB,IAAI;AAAA,EAAA;AAAA,EAG7C,YAAY,EAAE,MAAM,aAAa,gBAAgB,2BAA2B,cAAkD;AAC7H,UAAM,UAAU,KAAK;AACf,UAAA,gBAA8C,QAAQ,iBAAiB,CAAC;AAEpD,8BAAA,oBAAoB,YAAY,MAAM,OAAO;AAC7C,8BAAA,kBAAkB,YAAY,MAAM,aAAa;AAEpE,WAAA;AAAA,MACN;AAAA,MACA,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,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,YAAY,qBAAqB,IAAI;AAAA,QAC7E,UAAU,cAAc,YAAY,MAAM,SAAS;AAAA,MACpD;AAAA,MACA,GAAI,QAAQ,gBAAgB,EAAE,eAAe,KAAA,IAAS,CAAA;AAAA,IACvD;AAAA,EAAA;AAAA,EAGS,WAAuD,KAAQ,OAA2D;AAC5H,WAAA,IAAI,oBAAoB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EAAA;AAElE;AAGgB,SAAA,UAAU,QAA2B,YAA0C;AAC9F,SAAO,IAAI,oBAAoB,EAAE,QAAQ,YAAY;AACtD;"}
@@ -5,7 +5,7 @@ const FieldDefinition = require("./FieldDefinition.cjs");
5
5
  var __defProp = Object.defineProperty;
6
6
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
7
7
  var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
8
- class OneHasOneInverseDefinitionImpl extends FieldDefinition.FieldDefinition {
8
+ class OneHasOneInverseDefinition extends FieldDefinition.FieldDefinition {
9
9
  constructor() {
10
10
  super(...arguments);
11
11
  __publicField(this, "type", "OneHasOneInverseDefinition");
@@ -23,14 +23,13 @@ class OneHasOneInverseDefinitionImpl extends FieldDefinition.FieldDefinition {
23
23
  nullable: options.nullable === void 0 ? true : options.nullable
24
24
  };
25
25
  }
26
+ withOption(key, value) {
27
+ return new this.constructor({ ...this.options, [key]: value });
28
+ }
26
29
  }
27
30
  function oneHasOneInverse(target, ownedBy) {
28
- return new OneHasOneInverseDefinitionImpl({ target, ownedBy });
29
- }
30
- function oneHasOneInversed(target, ownedBy) {
31
- return new OneHasOneInverseDefinitionImpl({ target, ownedBy });
31
+ return new OneHasOneInverseDefinition({ target, ownedBy });
32
32
  }
33
- exports.OneHasOneInverseDefinitionImpl = OneHasOneInverseDefinitionImpl;
33
+ exports.OneHasOneInverseDefinition = OneHasOneInverseDefinition;
34
34
  exports.oneHasOneInverse = oneHasOneInverse;
35
- exports.oneHasOneInversed = oneHasOneInversed;
36
35
  //# sourceMappingURL=OneHasOneInverseDefinition.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"OneHasOneInverseDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, Interface } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { RelationTarget } from '../types'\n\nexport class OneHasOneInverseDefinitionImpl extends FieldDefinition<OneHasOneInverseDefinitionOptions> {\n\ttype = 'OneHasOneInverseDefinition' as const\n\n\tnotNull(): Interface<OneHasOneInverseDefinition> {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tcreateField({ name, conventions, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t}\n\t}\n}\n\nexport type OneHasOneInverseDefinition = Interface<OneHasOneInverseDefinitionImpl>\n/** @deprecated use OneHasOneInverseDefinition */\nexport type OneHasOneInversedDefinition = Interface<OneHasOneInverseDefinitionImpl>\n\nexport function oneHasOneInverse(target: EntityConstructor, ownedBy: string): OneHasOneInverseDefinition {\n\treturn new OneHasOneInverseDefinitionImpl({ target, ownedBy })\n}\n\n/** @deprecated use oneHasOneInverse */\nexport function oneHasOneInversed(target: EntityConstructor, ownedBy: string): OneHasOneInverseDefinition {\n\treturn new OneHasOneInverseDefinitionImpl({ target, ownedBy })\n}\n\nexport type OneHasOneInverseDefinitionOptions = {\n\ttarget: RelationTarget\n\townedBy: string\n\tnullable?: boolean\n}\n"],"names":["FieldDefinition","Model"],"mappings":";;;;;;;AAKO,MAAM,uCAAuCA,gBAAAA,gBAAmD;AAAA,EAAhG,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,4BAAA;AAAA,EAAA;AAAA,EAEP,UAAiD;AACzC,WAAA,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,kBAAsD;AACtF,UAAM,UAAU,KAAK;AACd,WAAA;AAAA,MACN;AAAA,MACA,SAAS,QAAQ;AAAA,MACjB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,MAAMC,OAAAA,MAAM,aAAa;AAAA,MACzB,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,IAAA;AAAA,EAE5D;AACD;AAMgB,SAAA,iBAAiB,QAA2B,SAA6C;AACxG,SAAO,IAAI,+BAA+B,EAAE,QAAQ,QAAS,CAAA;AAC9D;AAGgB,SAAA,kBAAkB,QAA2B,SAA6C;AACzG,SAAO,IAAI,+BAA+B,EAAE,QAAQ,QAAS,CAAA;AAC9D;;;;"}
1
+ {"version":3,"file":"OneHasOneInverseDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { RelationTarget } from '../types'\n\nexport class OneHasOneInverseDefinition extends FieldDefinition<OneHasOneInverseDefinitionOptions> {\n\ttype = 'OneHasOneInverseDefinition' as const\n\n\tnotNull() {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tcreateField({ name, conventions, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof OneHasOneInverseDefinitionOptions>(this: any, key: K, value: OneHasOneInverseDefinitionOptions[K]): OneHasOneInverseDefinition {\n\t\treturn new this.constructor({ ...this.options, [key]: value })\n\t}\n}\n\n\nexport function oneHasOneInverse(target: EntityConstructor, ownedBy: string): OneHasOneInverseDefinition {\n\treturn new OneHasOneInverseDefinition({ target, ownedBy })\n}\n\n\nexport type OneHasOneInverseDefinitionOptions = {\n\ttarget: RelationTarget\n\townedBy: string\n\tnullable?: boolean\n}\n"],"names":["FieldDefinition","Model"],"mappings":";;;;;;;AAKO,MAAM,mCAAmCA,gBAAAA,gBAAmD;AAAA,EAA5F,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,4BAAA;AAAA,EAAA;AAAA,EAEP,UAAU;AACF,WAAA,KAAK,WAAW,YAAY,KAAK;AAAA,EAAA;AAAA,EAGzC,YAAY,EAAE,MAAM,aAAa,kBAAsD;AACtF,UAAM,UAAU,KAAK;AACd,WAAA;AAAA,MACN;AAAA,MACA,SAAS,QAAQ;AAAA,MACjB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,MAAMC,OAAAA,MAAM,aAAa;AAAA,MACzB,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,IAC3D;AAAA,EAAA;AAAA,EAGS,WAAyE,KAAQ,OAAyE;AAC5J,WAAA,IAAI,KAAK,YAAY,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EAAA;AAE/D;AAGgB,SAAA,iBAAiB,QAA2B,SAA6C;AACxG,SAAO,IAAI,2BAA2B,EAAE,QAAQ,SAAS;AAC1D;;;"}
@@ -3,7 +3,7 @@ import { FieldDefinition } from "./FieldDefinition.js";
3
3
  var __defProp = Object.defineProperty;
4
4
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
5
5
  var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
6
- class OneHasOneInverseDefinitionImpl extends FieldDefinition {
6
+ class OneHasOneInverseDefinition extends FieldDefinition {
7
7
  constructor() {
8
8
  super(...arguments);
9
9
  __publicField(this, "type", "OneHasOneInverseDefinition");
@@ -21,16 +21,15 @@ class OneHasOneInverseDefinitionImpl extends FieldDefinition {
21
21
  nullable: options.nullable === void 0 ? true : options.nullable
22
22
  };
23
23
  }
24
+ withOption(key, value) {
25
+ return new this.constructor({ ...this.options, [key]: value });
26
+ }
24
27
  }
25
28
  function oneHasOneInverse(target, ownedBy) {
26
- return new OneHasOneInverseDefinitionImpl({ target, ownedBy });
27
- }
28
- function oneHasOneInversed(target, ownedBy) {
29
- return new OneHasOneInverseDefinitionImpl({ target, ownedBy });
29
+ return new OneHasOneInverseDefinition({ target, ownedBy });
30
30
  }
31
31
  export {
32
- OneHasOneInverseDefinitionImpl,
33
- oneHasOneInverse,
34
- oneHasOneInversed
32
+ OneHasOneInverseDefinition,
33
+ oneHasOneInverse
35
34
  };
36
35
  //# sourceMappingURL=OneHasOneInverseDefinition.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OneHasOneInverseDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, Interface } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { RelationTarget } from '../types'\n\nexport class OneHasOneInverseDefinitionImpl extends FieldDefinition<OneHasOneInverseDefinitionOptions> {\n\ttype = 'OneHasOneInverseDefinition' as const\n\n\tnotNull(): Interface<OneHasOneInverseDefinition> {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tcreateField({ name, conventions, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t}\n\t}\n}\n\nexport type OneHasOneInverseDefinition = Interface<OneHasOneInverseDefinitionImpl>\n/** @deprecated use OneHasOneInverseDefinition */\nexport type OneHasOneInversedDefinition = Interface<OneHasOneInverseDefinitionImpl>\n\nexport function oneHasOneInverse(target: EntityConstructor, ownedBy: string): OneHasOneInverseDefinition {\n\treturn new OneHasOneInverseDefinitionImpl({ target, ownedBy })\n}\n\n/** @deprecated use oneHasOneInverse */\nexport function oneHasOneInversed(target: EntityConstructor, ownedBy: string): OneHasOneInverseDefinition {\n\treturn new OneHasOneInverseDefinitionImpl({ target, ownedBy })\n}\n\nexport type OneHasOneInverseDefinitionOptions = {\n\ttarget: RelationTarget\n\townedBy: string\n\tnullable?: boolean\n}\n"],"names":[],"mappings":";;;;;AAKO,MAAM,uCAAuC,gBAAmD;AAAA,EAAhG,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,4BAAA;AAAA,EAAA;AAAA,EAEP,UAAiD;AACzC,WAAA,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,kBAAsD;AACtF,UAAM,UAAU,KAAK;AACd,WAAA;AAAA,MACN;AAAA,MACA,SAAS,QAAQ;AAAA,MACjB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,MAAM,MAAM,aAAa;AAAA,MACzB,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,IAAA;AAAA,EAE5D;AACD;AAMgB,SAAA,iBAAiB,QAA2B,SAA6C;AACxG,SAAO,IAAI,+BAA+B,EAAE,QAAQ,QAAS,CAAA;AAC9D;AAGgB,SAAA,kBAAkB,QAA2B,SAA6C;AACzG,SAAO,IAAI,+BAA+B,EAAE,QAAQ,QAAS,CAAA;AAC9D;"}
1
+ {"version":3,"file":"OneHasOneInverseDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { RelationTarget } from '../types'\n\nexport class OneHasOneInverseDefinition extends FieldDefinition<OneHasOneInverseDefinitionOptions> {\n\ttype = 'OneHasOneInverseDefinition' as const\n\n\tnotNull() {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tcreateField({ name, conventions, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof OneHasOneInverseDefinitionOptions>(this: any, key: K, value: OneHasOneInverseDefinitionOptions[K]): OneHasOneInverseDefinition {\n\t\treturn new this.constructor({ ...this.options, [key]: value })\n\t}\n}\n\n\nexport function oneHasOneInverse(target: EntityConstructor, ownedBy: string): OneHasOneInverseDefinition {\n\treturn new OneHasOneInverseDefinition({ target, ownedBy })\n}\n\n\nexport type OneHasOneInverseDefinitionOptions = {\n\ttarget: RelationTarget\n\townedBy: string\n\tnullable?: boolean\n}\n"],"names":[],"mappings":";;;;;AAKO,MAAM,mCAAmC,gBAAmD;AAAA,EAA5F,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,4BAAA;AAAA,EAAA;AAAA,EAEP,UAAU;AACF,WAAA,KAAK,WAAW,YAAY,KAAK;AAAA,EAAA;AAAA,EAGzC,YAAY,EAAE,MAAM,aAAa,kBAAsD;AACtF,UAAM,UAAU,KAAK;AACd,WAAA;AAAA,MACN;AAAA,MACA,SAAS,QAAQ;AAAA,MACjB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,MAAM,MAAM,aAAa;AAAA,MACzB,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,IAC3D;AAAA,EAAA;AAAA,EAGS,WAAyE,KAAQ,OAAyE;AAC5J,WAAA,IAAI,KAAK,YAAY,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EAAA;AAE/D;AAGgB,SAAA,iBAAiB,QAA2B,SAA6C;AACxG,SAAO,IAAI,2BAA2B,EAAE,QAAQ,SAAS;AAC1D;"}
@@ -53,20 +53,18 @@ exports.jsonColumn = ColumnDefinition.jsonColumn;
53
53
  exports.stringColumn = ColumnDefinition.stringColumn;
54
54
  exports.uuidColumn = ColumnDefinition.uuidColumn;
55
55
  exports.FieldDefinition = FieldDefinition.FieldDefinition;
56
- exports.ManyHasManyDefinitionImpl = ManyHasManyDefinition.ManyHasManyDefinitionImpl;
56
+ exports.ManyHasManyDefinition = ManyHasManyDefinition.ManyHasManyDefinition;
57
57
  exports.manyHasMany = ManyHasManyDefinition.manyHasMany;
58
- exports.ManyHasManyInverseDefinitionImpl = ManyHasManyInverseDefinition.ManyHasManyInverseDefinitionImpl;
58
+ exports.ManyHasManyInverseDefinition = ManyHasManyInverseDefinition.ManyHasManyInverseDefinition;
59
59
  exports.manyHasManyInverse = ManyHasManyInverseDefinition.manyHasManyInverse;
60
- exports.manyHasManyInversed = ManyHasManyInverseDefinition.manyHasManyInversed;
61
- exports.ManyHasOneDefinitionImpl = ManyHasOneDefinition.ManyHasOneDefinitionImpl;
60
+ exports.ManyHasOneDefinition = ManyHasOneDefinition.ManyHasOneDefinition;
62
61
  exports.manyHasOne = ManyHasOneDefinition.manyHasOne;
63
- exports.OneHasManyDefinitionImpl = OneHasManyDefinition.OneHasManyDefinitionImpl;
62
+ exports.OneHasManyDefinition = OneHasManyDefinition.OneHasManyDefinition;
64
63
  exports.oneHasMany = OneHasManyDefinition.oneHasMany;
65
- exports.OneHasOneDefinitionImpl = OneHasOneDefinition.OneHasOneDefinitionImpl;
64
+ exports.OneHasOneDefinition = OneHasOneDefinition.OneHasOneDefinition;
66
65
  exports.oneHasOne = OneHasOneDefinition.oneHasOne;
67
- exports.OneHasOneInverseDefinitionImpl = OneHasOneInverseDefinition.OneHasOneInverseDefinitionImpl;
66
+ exports.OneHasOneInverseDefinition = OneHasOneInverseDefinition.OneHasOneInverseDefinition;
68
67
  exports.oneHasOneInverse = OneHasOneInverseDefinition.oneHasOneInverse;
69
- exports.oneHasOneInversed = OneHasOneInverseDefinition.oneHasOneInversed;
70
68
  exports.DisableEventLog = EventLogDefinition.DisableEventLog;
71
69
  exports.Index = IndexDefinition.Index;
72
70
  exports.OrderBy = OrderByDefinition.OrderBy;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/index.ts"],"sourcesContent":["import { Interface } from './types'\nimport { Model } from '@contember/schema'\nimport { EnumDefinition } from './EnumDefinition'\nimport { SchemaBuilder } from './internal'\nimport 'reflect-metadata'\nimport { FieldDefinition } from './fieldDefinitions'\nimport { isEntityConstructor } from '../../utils'\nimport { DefaultNamingConventions } from '@contember/schema-utils'\nimport { StrictOptions, StrictDefinitionValidator } from '../../strict'\n\nexport * from './fieldDefinitions'\nexport * from './EventLogDefinition'\nexport * from './IndexDefinition'\nexport * from './OrderByDefinition'\nexport * from './EnumDefinition'\nexport * from './UniqueDefinition'\nexport * from './ViewDefinition'\nexport { extendEntity, type EntityExtension } from './extensions'\n\nexport abstract class Entity {\n\t[key: string]: Interface<FieldDefinition<any>> | undefined\n}\n\nexport type ModelDefinition<M> = {\n\t[K in keyof M]: unknown\n}\n\nexport function createModel<M extends ModelDefinition<M>>(definitions: M, options: {\n\tstrictDefinitionValidator?: StrictDefinitionValidator\n} = {}): Model.Schema {\n\tconst schemaBuilder = new SchemaBuilder(\n\t\tnew DefaultNamingConventions(),\n\t\toptions.strictDefinitionValidator,\n\t)\n\tfor (const [name, definition] of Object.entries(definitions)) {\n\t\tif (definition instanceof EnumDefinition) {\n\t\t\tschemaBuilder.addEnum(name, definition)\n\t\t} else if (isEntityConstructor(definition)) {\n\t\t\tschemaBuilder.addEntity(name, definition)\n\t\t}\n\t}\n\tconst schema = schemaBuilder.createSchema()\n\treturn schema\n}\n\nexport const OnDelete = Model.OnDelete\nexport const OrderDirection = Model.OrderDirection\nexport { EnumDefinition }\n"],"names":["SchemaBuilder","DefaultNamingConventions","EnumDefinition","isEntityConstructor","schema","Model"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAmBO,MAAe,OAAO;AAE7B;AAMO,SAAS,YAA0C,aAAgB,UAEtE,IAAkB;AACrB,QAAM,gBAAgB,IAAIA,cAAA;AAAA,IACzB,IAAIC,qCAAyB;AAAA,IAC7B,QAAQ;AAAA,EAAA;AAET,aAAW,CAAC,MAAM,UAAU,KAAK,OAAO,QAAQ,WAAW,GAAG;AAC7D,QAAI,sBAAsBC,eAAAA,gBAAgB;AAC3B,oBAAA,QAAQ,MAAM,UAAU;AAAA,IAAA,WAC5BC,uBAAAA,oBAAoB,UAAU,GAAG;AAC7B,oBAAA,UAAU,MAAM,UAAU;AAAA,IACzC;AAAA,EACD;AACM,QAAAC,UAAS,cAAc;AACtB,SAAAA;AACR;AAEO,MAAM,WAAWC,OAAM,MAAA;AACvB,MAAM,iBAAiBA,OAAAA,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/index.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EnumDefinition } from './EnumDefinition'\nimport { SchemaBuilder } from './internal'\nimport 'reflect-metadata'\nimport { FieldDefinition } from './fieldDefinitions'\nimport { isEntityConstructor } from '../../utils'\nimport { DefaultNamingConventions } from '@contember/schema-utils'\nimport { StrictOptions, StrictDefinitionValidator } from '../../strict'\n\nexport * from './fieldDefinitions'\nexport * from './EventLogDefinition'\nexport * from './IndexDefinition'\nexport * from './OrderByDefinition'\nexport * from './EnumDefinition'\nexport * from './UniqueDefinition'\nexport * from './ViewDefinition'\nexport { extendEntity, type EntityExtension } from './extensions'\n\nexport abstract class Entity {\n\t[key: string]: FieldDefinition<any> | undefined\n}\n\nexport type ModelDefinition<M> = {\n\t[K in keyof M]: unknown\n}\n\nexport function createModel<M extends ModelDefinition<M>>(definitions: M, options: {\n\tstrictDefinitionValidator?: StrictDefinitionValidator\n} = {}): Model.Schema {\n\tconst schemaBuilder = new SchemaBuilder(\n\t\tnew DefaultNamingConventions(),\n\t\toptions.strictDefinitionValidator,\n\t)\n\tfor (const [name, definition] of Object.entries(definitions)) {\n\t\tif (definition instanceof EnumDefinition) {\n\t\t\tschemaBuilder.addEnum(name, definition)\n\t\t} else if (isEntityConstructor(definition)) {\n\t\t\tschemaBuilder.addEntity(name, definition)\n\t\t}\n\t}\n\tconst schema = schemaBuilder.createSchema()\n\treturn schema\n}\n\nexport const OnDelete = Model.OnDelete\nexport const OrderDirection = Model.OrderDirection\nexport { EnumDefinition }\n"],"names":["SchemaBuilder","DefaultNamingConventions","EnumDefinition","isEntityConstructor","schema","Model"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAkBO,MAAe,OAAO;AAE7B;AAMO,SAAS,YAA0C,aAAgB,UAEtE,IAAkB;AACrB,QAAM,gBAAgB,IAAIA,cAAA;AAAA,IACzB,IAAIC,qCAAyB;AAAA,IAC7B,QAAQ;AAAA,EACT;AACA,aAAW,CAAC,MAAM,UAAU,KAAK,OAAO,QAAQ,WAAW,GAAG;AAC7D,QAAI,sBAAsBC,eAAAA,gBAAgB;AAC3B,oBAAA,QAAQ,MAAM,UAAU;AAAA,IAAA,WAC5BC,uBAAAA,oBAAoB,UAAU,GAAG;AAC7B,oBAAA,UAAU,MAAM,UAAU;AAAA,IAAA;AAAA,EACzC;AAEK,QAAAC,UAAS,cAAc,aAAa;AACnC,SAAAA;AACR;AAEO,MAAM,WAAWC,OAAAA,MAAM;AACvB,MAAM,iBAAiBA,OAAAA,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -7,12 +7,12 @@ import { isEntityConstructor } from "../../utils/filterEntityDefinition.js";
7
7
  import { DefaultNamingConventions } from "@contember/schema-utils";
8
8
  import { ColumnDefinition, boolColumn, column, dateColumn, dateTimeColumn, doubleColumn, enumColumn, intColumn, jsonColumn, stringColumn, uuidColumn } from "./fieldDefinitions/ColumnDefinition.js";
9
9
  import { FieldDefinition } from "./fieldDefinitions/FieldDefinition.js";
10
- import { ManyHasManyDefinitionImpl, manyHasMany } from "./fieldDefinitions/ManyHasManyDefinition.js";
11
- import { ManyHasManyInverseDefinitionImpl, manyHasManyInverse, manyHasManyInversed } from "./fieldDefinitions/ManyHasManyInverseDefinition.js";
12
- import { ManyHasOneDefinitionImpl, manyHasOne } from "./fieldDefinitions/ManyHasOneDefinition.js";
13
- import { OneHasManyDefinitionImpl, oneHasMany } from "./fieldDefinitions/OneHasManyDefinition.js";
14
- import { OneHasOneDefinitionImpl, oneHasOne } from "./fieldDefinitions/OneHasOneDefinition.js";
15
- import { OneHasOneInverseDefinitionImpl, oneHasOneInverse, oneHasOneInversed } from "./fieldDefinitions/OneHasOneInverseDefinition.js";
10
+ import { ManyHasManyDefinition, manyHasMany } from "./fieldDefinitions/ManyHasManyDefinition.js";
11
+ import { ManyHasManyInverseDefinition, manyHasManyInverse } from "./fieldDefinitions/ManyHasManyInverseDefinition.js";
12
+ import { ManyHasOneDefinition, manyHasOne } from "./fieldDefinitions/ManyHasOneDefinition.js";
13
+ import { OneHasManyDefinition, oneHasMany } from "./fieldDefinitions/OneHasManyDefinition.js";
14
+ import { OneHasOneDefinition, oneHasOne } from "./fieldDefinitions/OneHasOneDefinition.js";
15
+ import { OneHasOneInverseDefinition, oneHasOneInverse } from "./fieldDefinitions/OneHasOneInverseDefinition.js";
16
16
  import { DisableEventLog } from "./EventLogDefinition.js";
17
17
  import { Index } from "./IndexDefinition.js";
18
18
  import { OrderBy } from "./OrderByDefinition.js";
@@ -45,13 +45,13 @@ export {
45
45
  EnumDefinition,
46
46
  FieldDefinition,
47
47
  Index,
48
- ManyHasManyDefinitionImpl,
49
- ManyHasManyInverseDefinitionImpl,
50
- ManyHasOneDefinitionImpl,
48
+ ManyHasManyDefinition,
49
+ ManyHasManyInverseDefinition,
50
+ ManyHasOneDefinition,
51
51
  OnDelete,
52
- OneHasManyDefinitionImpl,
53
- OneHasOneDefinitionImpl,
54
- OneHasOneInverseDefinitionImpl,
52
+ OneHasManyDefinition,
53
+ OneHasOneDefinition,
54
+ OneHasOneInverseDefinition,
55
55
  OrderBy,
56
56
  OrderDirection,
57
57
  Unique,
@@ -69,12 +69,10 @@ export {
69
69
  jsonColumn,
70
70
  manyHasMany,
71
71
  manyHasManyInverse,
72
- manyHasManyInversed,
73
72
  manyHasOne,
74
73
  oneHasMany,
75
74
  oneHasOne,
76
75
  oneHasOneInverse,
77
- oneHasOneInversed,
78
76
  stringColumn,
79
77
  uuidColumn
80
78
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../packages/schema-definition/src/model/definition/index.ts"],"sourcesContent":["import { Interface } from './types'\nimport { Model } from '@contember/schema'\nimport { EnumDefinition } from './EnumDefinition'\nimport { SchemaBuilder } from './internal'\nimport 'reflect-metadata'\nimport { FieldDefinition } from './fieldDefinitions'\nimport { isEntityConstructor } from '../../utils'\nimport { DefaultNamingConventions } from '@contember/schema-utils'\nimport { StrictOptions, StrictDefinitionValidator } from '../../strict'\n\nexport * from './fieldDefinitions'\nexport * from './EventLogDefinition'\nexport * from './IndexDefinition'\nexport * from './OrderByDefinition'\nexport * from './EnumDefinition'\nexport * from './UniqueDefinition'\nexport * from './ViewDefinition'\nexport { extendEntity, type EntityExtension } from './extensions'\n\nexport abstract class Entity {\n\t[key: string]: Interface<FieldDefinition<any>> | undefined\n}\n\nexport type ModelDefinition<M> = {\n\t[K in keyof M]: unknown\n}\n\nexport function createModel<M extends ModelDefinition<M>>(definitions: M, options: {\n\tstrictDefinitionValidator?: StrictDefinitionValidator\n} = {}): Model.Schema {\n\tconst schemaBuilder = new SchemaBuilder(\n\t\tnew DefaultNamingConventions(),\n\t\toptions.strictDefinitionValidator,\n\t)\n\tfor (const [name, definition] of Object.entries(definitions)) {\n\t\tif (definition instanceof EnumDefinition) {\n\t\t\tschemaBuilder.addEnum(name, definition)\n\t\t} else if (isEntityConstructor(definition)) {\n\t\t\tschemaBuilder.addEntity(name, definition)\n\t\t}\n\t}\n\tconst schema = schemaBuilder.createSchema()\n\treturn schema\n}\n\nexport const OnDelete = Model.OnDelete\nexport const OrderDirection = Model.OrderDirection\nexport { EnumDefinition }\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAmBO,MAAe,OAAO;AAE7B;AAMO,SAAS,YAA0C,aAAgB,UAEtE,IAAkB;AACrB,QAAM,gBAAgB,IAAI;AAAA,IACzB,IAAI,yBAAyB;AAAA,IAC7B,QAAQ;AAAA,EAAA;AAET,aAAW,CAAC,MAAM,UAAU,KAAK,OAAO,QAAQ,WAAW,GAAG;AAC7D,QAAI,sBAAsB,gBAAgB;AAC3B,oBAAA,QAAQ,MAAM,UAAU;AAAA,IAAA,WAC5B,oBAAoB,UAAU,GAAG;AAC7B,oBAAA,UAAU,MAAM,UAAU;AAAA,IACzC;AAAA,EACD;AACM,QAAA,SAAS,cAAc;AACtB,SAAA;AACR;AAEO,MAAM,WAAW,MAAM;AACvB,MAAM,iBAAiB,MAAM;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../packages/schema-definition/src/model/definition/index.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EnumDefinition } from './EnumDefinition'\nimport { SchemaBuilder } from './internal'\nimport 'reflect-metadata'\nimport { FieldDefinition } from './fieldDefinitions'\nimport { isEntityConstructor } from '../../utils'\nimport { DefaultNamingConventions } from '@contember/schema-utils'\nimport { StrictOptions, StrictDefinitionValidator } from '../../strict'\n\nexport * from './fieldDefinitions'\nexport * from './EventLogDefinition'\nexport * from './IndexDefinition'\nexport * from './OrderByDefinition'\nexport * from './EnumDefinition'\nexport * from './UniqueDefinition'\nexport * from './ViewDefinition'\nexport { extendEntity, type EntityExtension } from './extensions'\n\nexport abstract class Entity {\n\t[key: string]: FieldDefinition<any> | undefined\n}\n\nexport type ModelDefinition<M> = {\n\t[K in keyof M]: unknown\n}\n\nexport function createModel<M extends ModelDefinition<M>>(definitions: M, options: {\n\tstrictDefinitionValidator?: StrictDefinitionValidator\n} = {}): Model.Schema {\n\tconst schemaBuilder = new SchemaBuilder(\n\t\tnew DefaultNamingConventions(),\n\t\toptions.strictDefinitionValidator,\n\t)\n\tfor (const [name, definition] of Object.entries(definitions)) {\n\t\tif (definition instanceof EnumDefinition) {\n\t\t\tschemaBuilder.addEnum(name, definition)\n\t\t} else if (isEntityConstructor(definition)) {\n\t\t\tschemaBuilder.addEntity(name, definition)\n\t\t}\n\t}\n\tconst schema = schemaBuilder.createSchema()\n\treturn schema\n}\n\nexport const OnDelete = Model.OnDelete\nexport const OrderDirection = Model.OrderDirection\nexport { EnumDefinition }\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAkBO,MAAe,OAAO;AAE7B;AAMO,SAAS,YAA0C,aAAgB,UAEtE,IAAkB;AACrB,QAAM,gBAAgB,IAAI;AAAA,IACzB,IAAI,yBAAyB;AAAA,IAC7B,QAAQ;AAAA,EACT;AACA,aAAW,CAAC,MAAM,UAAU,KAAK,OAAO,QAAQ,WAAW,GAAG;AAC7D,QAAI,sBAAsB,gBAAgB;AAC3B,oBAAA,QAAQ,MAAM,UAAU;AAAA,IAAA,WAC5B,oBAAoB,UAAU,GAAG;AAC7B,oBAAA,UAAU,MAAM,UAAU;AAAA,IAAA;AAAA,EACzC;AAEK,QAAA,SAAS,cAAc,aAAa;AACnC,SAAA;AACR;AAEO,MAAM,WAAW,MAAM;AACvB,MAAM,iBAAiB,MAAM;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EntityRegistry.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/internal/EntityRegistry.ts"],"sourcesContent":["import { EntityConstructor } from '../../../utils'\n\nexport class EntityRegistry {\n\tpublic readonly entities: Record<string, EntityConstructor> = {}\n\n\tregister(name: string, definition: EntityConstructor) {\n\t\tif (this.entities[name]) {\n\t\t\tthrow new Error(`Entity with name ${name} is already registered`)\n\t\t}\n\t\tthis.entities[name] = definition\n\t}\n\n\thas(definition: EntityConstructor): boolean {\n\t\treturn Object.values(this.entities).includes(definition)\n\t}\n\n\tgetName(definition: EntityConstructor): string {\n\t\tfor (const [name, def] of Object.entries(this.entities)) {\n\t\t\tif (def === definition) {\n\t\t\t\treturn name\n\t\t\t}\n\t\t}\n\t\tthrow new Error(`Entity ${definition.name} is not registered. Have you exported the definition?`)\n\t}\n}\n"],"names":[],"mappings":";;;;;AAEO,MAAM,eAAe;AAAA,EAArB,cAAA;AACN,kBAAA,MAAgB,YAA8C,CAAA,CAAC;AAAA,EAAA;AAAA,EAE/D,SAAS,MAAc,YAA+B;AACjD,QAAA,KAAK,SAAS,IAAI,GAAG;AACxB,YAAM,IAAI,MAAM,oBAAoB,IAAI,wBAAwB;AAAA,IACjE;AACK,SAAA,SAAS,IAAI,IAAI;AAAA,EACvB;AAAA,EAEA,IAAI,YAAwC;AAC3C,WAAO,OAAO,OAAO,KAAK,QAAQ,EAAE,SAAS,UAAU;AAAA,EACxD;AAAA,EAEA,QAAQ,YAAuC;AACnC,eAAA,CAAC,MAAM,GAAG,KAAK,OAAO,QAAQ,KAAK,QAAQ,GAAG;AACxD,UAAI,QAAQ,YAAY;AAChB,eAAA;AAAA,MACR;AAAA,IACD;AACA,UAAM,IAAI,MAAM,UAAU,WAAW,IAAI,uDAAuD;AAAA,EACjG;AACD;;"}
1
+ {"version":3,"file":"EntityRegistry.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/internal/EntityRegistry.ts"],"sourcesContent":["import { EntityConstructor } from '../../../utils'\n\nexport class EntityRegistry {\n\tpublic readonly entities: Record<string, EntityConstructor> = {}\n\n\tregister(name: string, definition: EntityConstructor) {\n\t\tif (this.entities[name]) {\n\t\t\tthrow new Error(`Entity with name ${name} is already registered`)\n\t\t}\n\t\tthis.entities[name] = definition\n\t}\n\n\thas(definition: EntityConstructor): boolean {\n\t\treturn Object.values(this.entities).includes(definition)\n\t}\n\n\tgetName(definition: EntityConstructor): string {\n\t\tfor (const [name, def] of Object.entries(this.entities)) {\n\t\t\tif (def === definition) {\n\t\t\t\treturn name\n\t\t\t}\n\t\t}\n\t\tthrow new Error(`Entity ${definition.name} is not registered. Have you exported the definition?`)\n\t}\n}\n"],"names":[],"mappings":";;;;;AAEO,MAAM,eAAe;AAAA,EAArB,cAAA;AACN,kBAAA,MAAgB,YAA8C,EAAC;AAAA,EAAA;AAAA,EAE/D,SAAS,MAAc,YAA+B;AACjD,QAAA,KAAK,SAAS,IAAI,GAAG;AACxB,YAAM,IAAI,MAAM,oBAAoB,IAAI,wBAAwB;AAAA,IAAA;AAE5D,SAAA,SAAS,IAAI,IAAI;AAAA,EAAA;AAAA,EAGvB,IAAI,YAAwC;AAC3C,WAAO,OAAO,OAAO,KAAK,QAAQ,EAAE,SAAS,UAAU;AAAA,EAAA;AAAA,EAGxD,QAAQ,YAAuC;AACnC,eAAA,CAAC,MAAM,GAAG,KAAK,OAAO,QAAQ,KAAK,QAAQ,GAAG;AACxD,UAAI,QAAQ,YAAY;AAChB,eAAA;AAAA,MAAA;AAAA,IACR;AAED,UAAM,IAAI,MAAM,UAAU,WAAW,IAAI,uDAAuD;AAAA,EAAA;AAElG;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EntityRegistry.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/internal/EntityRegistry.ts"],"sourcesContent":["import { EntityConstructor } from '../../../utils'\n\nexport class EntityRegistry {\n\tpublic readonly entities: Record<string, EntityConstructor> = {}\n\n\tregister(name: string, definition: EntityConstructor) {\n\t\tif (this.entities[name]) {\n\t\t\tthrow new Error(`Entity with name ${name} is already registered`)\n\t\t}\n\t\tthis.entities[name] = definition\n\t}\n\n\thas(definition: EntityConstructor): boolean {\n\t\treturn Object.values(this.entities).includes(definition)\n\t}\n\n\tgetName(definition: EntityConstructor): string {\n\t\tfor (const [name, def] of Object.entries(this.entities)) {\n\t\t\tif (def === definition) {\n\t\t\t\treturn name\n\t\t\t}\n\t\t}\n\t\tthrow new Error(`Entity ${definition.name} is not registered. Have you exported the definition?`)\n\t}\n}\n"],"names":[],"mappings":";;;AAEO,MAAM,eAAe;AAAA,EAArB,cAAA;AACN,kBAAA,MAAgB,YAA8C,CAAA,CAAC;AAAA,EAAA;AAAA,EAE/D,SAAS,MAAc,YAA+B;AACjD,QAAA,KAAK,SAAS,IAAI,GAAG;AACxB,YAAM,IAAI,MAAM,oBAAoB,IAAI,wBAAwB;AAAA,IACjE;AACK,SAAA,SAAS,IAAI,IAAI;AAAA,EACvB;AAAA,EAEA,IAAI,YAAwC;AAC3C,WAAO,OAAO,OAAO,KAAK,QAAQ,EAAE,SAAS,UAAU;AAAA,EACxD;AAAA,EAEA,QAAQ,YAAuC;AACnC,eAAA,CAAC,MAAM,GAAG,KAAK,OAAO,QAAQ,KAAK,QAAQ,GAAG;AACxD,UAAI,QAAQ,YAAY;AAChB,eAAA;AAAA,MACR;AAAA,IACD;AACA,UAAM,IAAI,MAAM,UAAU,WAAW,IAAI,uDAAuD;AAAA,EACjG;AACD;"}
1
+ {"version":3,"file":"EntityRegistry.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/internal/EntityRegistry.ts"],"sourcesContent":["import { EntityConstructor } from '../../../utils'\n\nexport class EntityRegistry {\n\tpublic readonly entities: Record<string, EntityConstructor> = {}\n\n\tregister(name: string, definition: EntityConstructor) {\n\t\tif (this.entities[name]) {\n\t\t\tthrow new Error(`Entity with name ${name} is already registered`)\n\t\t}\n\t\tthis.entities[name] = definition\n\t}\n\n\thas(definition: EntityConstructor): boolean {\n\t\treturn Object.values(this.entities).includes(definition)\n\t}\n\n\tgetName(definition: EntityConstructor): string {\n\t\tfor (const [name, def] of Object.entries(this.entities)) {\n\t\t\tif (def === definition) {\n\t\t\t\treturn name\n\t\t\t}\n\t\t}\n\t\tthrow new Error(`Entity ${definition.name} is not registered. Have you exported the definition?`)\n\t}\n}\n"],"names":[],"mappings":";;;AAEO,MAAM,eAAe;AAAA,EAArB,cAAA;AACN,kBAAA,MAAgB,YAA8C,EAAC;AAAA,EAAA;AAAA,EAE/D,SAAS,MAAc,YAA+B;AACjD,QAAA,KAAK,SAAS,IAAI,GAAG;AACxB,YAAM,IAAI,MAAM,oBAAoB,IAAI,wBAAwB;AAAA,IAAA;AAE5D,SAAA,SAAS,IAAI,IAAI;AAAA,EAAA;AAAA,EAGvB,IAAI,YAAwC;AAC3C,WAAO,OAAO,OAAO,KAAK,QAAQ,EAAE,SAAS,UAAU;AAAA,EAAA;AAAA,EAGxD,QAAQ,YAAuC;AACnC,eAAA,CAAC,MAAM,GAAG,KAAK,OAAO,QAAQ,KAAK,QAAQ,GAAG;AACxD,UAAI,QAAQ,YAAY;AAChB,eAAA;AAAA,MAAA;AAAA,IACR;AAED,UAAM,IAAI,MAAM,UAAU,WAAW,IAAI,uDAAuD;AAAA,EAAA;AAElG;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EnumRegistry.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/internal/EnumRegistry.ts"],"sourcesContent":["import { EnumDefinition } from '../EnumDefinition'\n\nexport class EnumRegistry {\n\tpublic readonly enums: Record<string, EnumDefinition> = {}\n\n\tregister(name: string, definition: EnumDefinition) {\n\t\tif (this.enums[name]) {\n\t\t\tthrow new Error(`Enum with name ${name} is already registered`)\n\t\t}\n\t\tthis.enums[name] = definition\n\t}\n\n\thas(definition: EnumDefinition): boolean {\n\t\treturn Object.values(this.enums).includes(definition)\n\t}\n\n\tgetName(definition: EnumDefinition): string {\n\t\tfor (const [name, def] of Object.entries(this.enums)) {\n\t\t\tif (def === definition) {\n\t\t\t\treturn name\n\t\t\t}\n\t\t}\n\t\tthrow new Error(`Enum with values ${definition.values.join(', ')} is not registered.`)\n\t}\n}\n"],"names":[],"mappings":";;;;;AAEO,MAAM,aAAa;AAAA,EAAnB,cAAA;AACN,kBAAA,MAAgB,SAAwC,CAAA,CAAC;AAAA,EAAA;AAAA,EAEzD,SAAS,MAAc,YAA4B;AAC9C,QAAA,KAAK,MAAM,IAAI,GAAG;AACrB,YAAM,IAAI,MAAM,kBAAkB,IAAI,wBAAwB;AAAA,IAC/D;AACK,SAAA,MAAM,IAAI,IAAI;AAAA,EACpB;AAAA,EAEA,IAAI,YAAqC;AACxC,WAAO,OAAO,OAAO,KAAK,KAAK,EAAE,SAAS,UAAU;AAAA,EACrD;AAAA,EAEA,QAAQ,YAAoC;AAChC,eAAA,CAAC,MAAM,GAAG,KAAK,OAAO,QAAQ,KAAK,KAAK,GAAG;AACrD,UAAI,QAAQ,YAAY;AAChB,eAAA;AAAA,MACR;AAAA,IACD;AACM,UAAA,IAAI,MAAM,oBAAoB,WAAW,OAAO,KAAK,IAAI,CAAC,qBAAqB;AAAA,EACtF;AACD;;"}
1
+ {"version":3,"file":"EnumRegistry.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/internal/EnumRegistry.ts"],"sourcesContent":["import { EnumDefinition } from '../EnumDefinition'\n\nexport class EnumRegistry {\n\tpublic readonly enums: Record<string, EnumDefinition> = {}\n\n\tregister(name: string, definition: EnumDefinition) {\n\t\tif (this.enums[name]) {\n\t\t\tthrow new Error(`Enum with name ${name} is already registered`)\n\t\t}\n\t\tthis.enums[name] = definition\n\t}\n\n\thas(definition: EnumDefinition): boolean {\n\t\treturn Object.values(this.enums).includes(definition)\n\t}\n\n\tgetName(definition: EnumDefinition): string {\n\t\tfor (const [name, def] of Object.entries(this.enums)) {\n\t\t\tif (def === definition) {\n\t\t\t\treturn name\n\t\t\t}\n\t\t}\n\t\tthrow new Error(`Enum with values ${definition.values.join(', ')} is not registered.`)\n\t}\n}\n"],"names":[],"mappings":";;;;;AAEO,MAAM,aAAa;AAAA,EAAnB,cAAA;AACN,kBAAA,MAAgB,SAAwC,EAAC;AAAA,EAAA;AAAA,EAEzD,SAAS,MAAc,YAA4B;AAC9C,QAAA,KAAK,MAAM,IAAI,GAAG;AACrB,YAAM,IAAI,MAAM,kBAAkB,IAAI,wBAAwB;AAAA,IAAA;AAE1D,SAAA,MAAM,IAAI,IAAI;AAAA,EAAA;AAAA,EAGpB,IAAI,YAAqC;AACxC,WAAO,OAAO,OAAO,KAAK,KAAK,EAAE,SAAS,UAAU;AAAA,EAAA;AAAA,EAGrD,QAAQ,YAAoC;AAChC,eAAA,CAAC,MAAM,GAAG,KAAK,OAAO,QAAQ,KAAK,KAAK,GAAG;AACrD,UAAI,QAAQ,YAAY;AAChB,eAAA;AAAA,MAAA;AAAA,IACR;AAEK,UAAA,IAAI,MAAM,oBAAoB,WAAW,OAAO,KAAK,IAAI,CAAC,qBAAqB;AAAA,EAAA;AAEvF;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EnumRegistry.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/internal/EnumRegistry.ts"],"sourcesContent":["import { EnumDefinition } from '../EnumDefinition'\n\nexport class EnumRegistry {\n\tpublic readonly enums: Record<string, EnumDefinition> = {}\n\n\tregister(name: string, definition: EnumDefinition) {\n\t\tif (this.enums[name]) {\n\t\t\tthrow new Error(`Enum with name ${name} is already registered`)\n\t\t}\n\t\tthis.enums[name] = definition\n\t}\n\n\thas(definition: EnumDefinition): boolean {\n\t\treturn Object.values(this.enums).includes(definition)\n\t}\n\n\tgetName(definition: EnumDefinition): string {\n\t\tfor (const [name, def] of Object.entries(this.enums)) {\n\t\t\tif (def === definition) {\n\t\t\t\treturn name\n\t\t\t}\n\t\t}\n\t\tthrow new Error(`Enum with values ${definition.values.join(', ')} is not registered.`)\n\t}\n}\n"],"names":[],"mappings":";;;AAEO,MAAM,aAAa;AAAA,EAAnB,cAAA;AACN,kBAAA,MAAgB,SAAwC,CAAA,CAAC;AAAA,EAAA;AAAA,EAEzD,SAAS,MAAc,YAA4B;AAC9C,QAAA,KAAK,MAAM,IAAI,GAAG;AACrB,YAAM,IAAI,MAAM,kBAAkB,IAAI,wBAAwB;AAAA,IAC/D;AACK,SAAA,MAAM,IAAI,IAAI;AAAA,EACpB;AAAA,EAEA,IAAI,YAAqC;AACxC,WAAO,OAAO,OAAO,KAAK,KAAK,EAAE,SAAS,UAAU;AAAA,EACrD;AAAA,EAEA,QAAQ,YAAoC;AAChC,eAAA,CAAC,MAAM,GAAG,KAAK,OAAO,QAAQ,KAAK,KAAK,GAAG;AACrD,UAAI,QAAQ,YAAY;AAChB,eAAA;AAAA,MACR;AAAA,IACD;AACM,UAAA,IAAI,MAAM,oBAAoB,WAAW,OAAO,KAAK,IAAI,CAAC,qBAAqB;AAAA,EACtF;AACD;"}
1
+ {"version":3,"file":"EnumRegistry.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/internal/EnumRegistry.ts"],"sourcesContent":["import { EnumDefinition } from '../EnumDefinition'\n\nexport class EnumRegistry {\n\tpublic readonly enums: Record<string, EnumDefinition> = {}\n\n\tregister(name: string, definition: EnumDefinition) {\n\t\tif (this.enums[name]) {\n\t\t\tthrow new Error(`Enum with name ${name} is already registered`)\n\t\t}\n\t\tthis.enums[name] = definition\n\t}\n\n\thas(definition: EnumDefinition): boolean {\n\t\treturn Object.values(this.enums).includes(definition)\n\t}\n\n\tgetName(definition: EnumDefinition): string {\n\t\tfor (const [name, def] of Object.entries(this.enums)) {\n\t\t\tif (def === definition) {\n\t\t\t\treturn name\n\t\t\t}\n\t\t}\n\t\tthrow new Error(`Enum with values ${definition.values.join(', ')} is not registered.`)\n\t}\n}\n"],"names":[],"mappings":";;;AAEO,MAAM,aAAa;AAAA,EAAnB,cAAA;AACN,kBAAA,MAAgB,SAAwC,EAAC;AAAA,EAAA;AAAA,EAEzD,SAAS,MAAc,YAA4B;AAC9C,QAAA,KAAK,MAAM,IAAI,GAAG;AACrB,YAAM,IAAI,MAAM,kBAAkB,IAAI,wBAAwB;AAAA,IAAA;AAE1D,SAAA,MAAM,IAAI,IAAI;AAAA,EAAA;AAAA,EAGpB,IAAI,YAAqC;AACxC,WAAO,OAAO,OAAO,KAAK,KAAK,EAAE,SAAS,UAAU;AAAA,EAAA;AAAA,EAGrD,QAAQ,YAAoC;AAChC,eAAA,CAAC,MAAM,GAAG,KAAK,OAAO,QAAQ,KAAK,KAAK,GAAG;AACrD,UAAI,QAAQ,YAAY;AAChB,eAAA;AAAA,MAAA;AAAA,IACR;AAEK,UAAA,IAAI,MAAM,oBAAoB,WAAW,OAAO,KAAK,IAAI,CAAC,qBAAqB;AAAA,EAAA;AAEvF;"}
@@ -27,6 +27,11 @@ class SchemaBuilder {
27
27
  createSchema() {
28
28
  const entities = Object.entries(this.entityRegistry.entities).map(([entityName, definition]) => {
29
29
  const definitionInstance = new definition();
30
+ Object.entries(definitionInstance).forEach(([fieldName, fieldDefinition]) => {
31
+ if (typeof fieldDefinition !== "object" || !("createField" in fieldDefinition)) {
32
+ throw `Entity "${entityName}": field "${fieldName}" does not contain expected field definition. Check that you are correctly invoking methods of the definition builder.`;
33
+ }
34
+ });
30
35
  const primaryName = this.conventions.getPrimaryField();
31
36
  const entity = {
32
37
  name: entityName,
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaBuilder.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/internal/SchemaBuilder.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\nimport 'reflect-metadata'\nimport { tuple } from '../../../utils'\nimport { EntityConstructor, FieldsDefinition } from '../types'\nimport { EnumDefinition } from '../EnumDefinition'\nimport { EntityRegistry } from './EntityRegistry'\nimport { EnumRegistry } from './EnumRegistry'\nimport { ColumnDefinition } from '../fieldDefinitions'\nimport { applyEntityExtensions } from '../extensions'\nimport { StrictOptions, StrictDefinitionValidator } from '../../../strict'\n\nexport class SchemaBuilder {\n\tprivate entityRegistry = new EntityRegistry()\n\n\tprivate enumRegistry = new EnumRegistry()\n\n\tconstructor(\n\t\tprivate readonly conventions: NamingConventions,\n\t\tprivate readonly strictDefinitionValidator: StrictDefinitionValidator = new StrictDefinitionValidator({}),\n\t) {}\n\n\tpublic addEntity(name: string, entity: EntityConstructor): void {\n\t\tthis.entityRegistry.register(name, entity)\n\t}\n\n\tpublic addEnum(name: string, definition: EnumDefinition): void {\n\t\tthis.enumRegistry.register(name, definition)\n\t}\n\n\tpublic createSchema(): Model.Schema {\n\t\tconst entities = Object.entries(this.entityRegistry.entities).map(([entityName, definition]): Model.Entity => {\n\t\t\tconst definitionInstance: FieldsDefinition = new definition()\n\n\t\t\tconst primaryName = this.conventions.getPrimaryField()\n\n\t\t\tconst entity: Model.Entity = {\n\t\t\t\tname: entityName,\n\t\t\t\tprimary: primaryName,\n\t\t\t\tprimaryColumn: this.conventions.getColumnName(primaryName),\n\t\t\t\tunique: this.createUnique(entityName, definitionInstance),\n\t\t\t\tindexes: [],\n\t\t\t\tfields: [\n\t\t\t\t\t...definitionInstance[primaryName] ? [] : [tuple(primaryName, this.createPrimaryColumn())],\n\t\t\t\t\t...Object.entries(definitionInstance),\n\t\t\t\t]\n\t\t\t\t\t.map(([name, definition]) => {\n\t\t\t\t\t\treturn definition.createField({\n\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\tentityName,\n\t\t\t\t\t\t\tconventions: this.conventions,\n\t\t\t\t\t\t\tenumRegistry: this.enumRegistry,\n\t\t\t\t\t\t\tentityRegistry: this.entityRegistry,\n\t\t\t\t\t\t\tstrictDefinitionValidator: this.strictDefinitionValidator,\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t\t.reduce<Model.Entity['fields']>((acc, field) => {\n\t\t\t\t\t\tif (acc[field.name]) {\n\t\t\t\t\t\t\tthrow new Error(`Entity ${entityName}: field ${field.name} is already registered`)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn { ...acc, [field.name]: field }\n\t\t\t\t\t}, {}),\n\t\t\t\ttableName: this.conventions.getTableName(entityName),\n\t\t\t\teventLog: {\n\t\t\t\t\tenabled: true,\n\t\t\t\t},\n\t\t\t}\n\t\t\treturn applyEntityExtensions(definition, {\n\t\t\t\tentity,\n\t\t\t\tdefinition: definitionInstance,\n\t\t\t\tregistry: this.entityRegistry,\n\t\t\t\tentityRegistry: this.entityRegistry,\n\t\t\t\tconventions: this.conventions,\n\t\t\t\tenumRegistry: this.enumRegistry,\n\t\t\t\tstrictDefinitionValidator: this.strictDefinitionValidator,\n\t\t\t})\n\t\t})\n\n\t\treturn {\n\t\t\tenums: Object.entries(this.enumRegistry.enums).reduce((acc, [name, def]) => ({ ...acc, [name]: def.values }), {}),\n\t\t\tentities: entities.reduce((acc, entity) => ({ ...acc, [entity.name]: entity }), {}),\n\t\t}\n\t}\n\n\tprivate createPrimaryColumn(): ColumnDefinition {\n\t\treturn new ColumnDefinition({\n\t\t\tnullable: false,\n\t\t\ttype: Model.ColumnType.Uuid,\n\t\t})\n\t}\n\n\tprivate createUnique(entityName: string, fieldDefinitions: FieldsDefinition): Model.UniqueConstraints {\n\t\tconst unique: Model.UniqueConstraint[] = []\n\t\tfor (const [fieldName, definition] of Object.entries(fieldDefinitions)) {\n\t\t\tif (definition.options.unique) {\n\t\t\t\tunique.push({ fields: [fieldName], ...definition.options.unique })\n\t\t\t}\n\t\t}\n\t\treturn unique\n\t}\n}\n"],"names":["StrictDefinitionValidator","EntityRegistry","EnumRegistry","tuple","definition","applyEntityExtensions","ColumnDefinition","Model"],"mappings":"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"}
1
+ {"version":3,"file":"SchemaBuilder.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/internal/SchemaBuilder.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\nimport 'reflect-metadata'\nimport { tuple } from '../../../utils'\nimport { EntityConstructor, FieldsDefinition } from '../types'\nimport { EnumDefinition } from '../EnumDefinition'\nimport { EntityRegistry } from './EntityRegistry'\nimport { EnumRegistry } from './EnumRegistry'\nimport { ColumnDefinition } from '../fieldDefinitions'\nimport { applyEntityExtensions } from '../extensions'\nimport { StrictOptions, StrictDefinitionValidator } from '../../../strict'\n\nexport class SchemaBuilder {\n\tprivate entityRegistry = new EntityRegistry()\n\n\tprivate enumRegistry = new EnumRegistry()\n\n\tconstructor(\n\t\tprivate readonly conventions: NamingConventions,\n\t\tprivate readonly strictDefinitionValidator: StrictDefinitionValidator = new StrictDefinitionValidator({}),\n\t) {}\n\n\tpublic addEntity(name: string, entity: EntityConstructor): void {\n\t\tthis.entityRegistry.register(name, entity)\n\t}\n\n\tpublic addEnum(name: string, definition: EnumDefinition): void {\n\t\tthis.enumRegistry.register(name, definition)\n\t}\n\n\tpublic createSchema(): Model.Schema {\n\t\tconst entities = Object.entries(this.entityRegistry.entities).map(([entityName, definition]): Model.Entity => {\n\t\t\tconst definitionInstance: FieldsDefinition = new definition()\n\n\t\t\tObject.entries(definitionInstance).forEach(([fieldName, fieldDefinition]) => {\n\t\t\t\tif (typeof fieldDefinition !== 'object' || !('createField' in fieldDefinition)) {\n\t\t\t\t\tthrow `Entity \"${entityName}\": field \"${fieldName}\" does not contain expected field definition. Check that you are correctly invoking methods of the definition builder.`\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tconst primaryName = this.conventions.getPrimaryField()\n\n\t\t\tconst entity: Model.Entity = {\n\t\t\t\tname: entityName,\n\t\t\t\tprimary: primaryName,\n\t\t\t\tprimaryColumn: this.conventions.getColumnName(primaryName),\n\t\t\t\tunique: this.createUnique(entityName, definitionInstance),\n\t\t\t\tindexes: [],\n\t\t\t\tfields: [\n\t\t\t\t\t...definitionInstance[primaryName] ? [] : [tuple(primaryName, this.createPrimaryColumn())],\n\t\t\t\t\t...Object.entries(definitionInstance),\n\t\t\t\t]\n\t\t\t\t\t.map(([name, definition]) => {\n\t\t\t\t\t\treturn definition.createField({\n\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\tentityName,\n\t\t\t\t\t\t\tconventions: this.conventions,\n\t\t\t\t\t\t\tenumRegistry: this.enumRegistry,\n\t\t\t\t\t\t\tentityRegistry: this.entityRegistry,\n\t\t\t\t\t\t\tstrictDefinitionValidator: this.strictDefinitionValidator,\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t\t.reduce<Model.Entity['fields']>((acc, field) => {\n\t\t\t\t\t\tif (acc[field.name]) {\n\t\t\t\t\t\t\tthrow new Error(`Entity ${entityName}: field ${field.name} is already registered`)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn { ...acc, [field.name]: field }\n\t\t\t\t\t}, {}),\n\t\t\t\ttableName: this.conventions.getTableName(entityName),\n\t\t\t\teventLog: {\n\t\t\t\t\tenabled: true,\n\t\t\t\t},\n\t\t\t}\n\t\t\treturn applyEntityExtensions(definition, {\n\t\t\t\tentity,\n\t\t\t\tdefinition: definitionInstance,\n\t\t\t\tregistry: this.entityRegistry,\n\t\t\t\tentityRegistry: this.entityRegistry,\n\t\t\t\tconventions: this.conventions,\n\t\t\t\tenumRegistry: this.enumRegistry,\n\t\t\t\tstrictDefinitionValidator: this.strictDefinitionValidator,\n\t\t\t})\n\t\t})\n\n\t\treturn {\n\t\t\tenums: Object.entries(this.enumRegistry.enums).reduce((acc, [name, def]) => ({ ...acc, [name]: def.values }), {}),\n\t\t\tentities: entities.reduce((acc, entity) => ({ ...acc, [entity.name]: entity }), {}),\n\t\t}\n\t}\n\n\tprivate createPrimaryColumn(): ColumnDefinition {\n\t\treturn new ColumnDefinition({\n\t\t\tnullable: false,\n\t\t\ttype: Model.ColumnType.Uuid,\n\t\t})\n\t}\n\n\tprivate createUnique(entityName: string, fieldDefinitions: FieldsDefinition): Model.UniqueConstraints {\n\t\tconst unique: Model.UniqueConstraint[] = []\n\t\tfor (const [fieldName, definition] of Object.entries(fieldDefinitions)) {\n\t\t\tif (definition.options.unique) {\n\t\t\t\tunique.push({ fields: [fieldName], ...definition.options.unique })\n\t\t\t}\n\t\t}\n\t\treturn unique\n\t}\n}\n"],"names":["StrictDefinitionValidator","EntityRegistry","EnumRegistry","tuple","definition","applyEntityExtensions","ColumnDefinition","Model"],"mappings":";;;;;;;;;;;;;AAYO,MAAM,cAAc;AAAA,EAK1B,YACkB,aACA,4BAAuD,IAAIA,OAA0B,0BAAA,CAAE,CAAA,GACvG;AAFgB,SAAA,cAAA;AACA,SAAA,4BAAA;AANV,kBAAA,MAAA,kBAAiB,IAAIC,eAAe,eAAA,CAAA;AAEpC,kBAAA,MAAA,gBAAe,IAAIC,aAAa,aAAA,CAAA;AAAA,EAAA;AAAA,EAOjC,UAAU,MAAc,QAAiC;AAC1D,SAAA,eAAe,SAAS,MAAM,MAAM;AAAA,EAAA;AAAA,EAGnC,QAAQ,MAAc,YAAkC;AACzD,SAAA,aAAa,SAAS,MAAM,UAAU;AAAA,EAAA;AAAA,EAGrC,eAA6B;AACnC,UAAM,WAAW,OAAO,QAAQ,KAAK,eAAe,QAAQ,EAAE,IAAI,CAAC,CAAC,YAAY,UAAU,MAAoB;AACvG,YAAA,qBAAuC,IAAI,WAAW;AAErD,aAAA,QAAQ,kBAAkB,EAAE,QAAQ,CAAC,CAAC,WAAW,eAAe,MAAM;AAC5E,YAAI,OAAO,oBAAoB,YAAY,EAAE,iBAAiB,kBAAkB;AACzE,gBAAA,WAAW,UAAU,aAAa,SAAS;AAAA,QAAA;AAAA,MAClD,CACA;AAEK,YAAA,cAAc,KAAK,YAAY,gBAAgB;AAErD,YAAM,SAAuB;AAAA,QAC5B,MAAM;AAAA,QACN,SAAS;AAAA,QACT,eAAe,KAAK,YAAY,cAAc,WAAW;AAAA,QACzD,QAAQ,KAAK,aAAa,YAAY,kBAAkB;AAAA,QACxD,SAAS,CAAC;AAAA,QACV,QAAQ;AAAA,UACP,GAAG,mBAAmB,WAAW,IAAI,KAAK,CAACC,MAAA,MAAM,aAAa,KAAK,oBAAoB,CAAC,CAAC;AAAA,UACzF,GAAG,OAAO,QAAQ,kBAAkB;AAAA,UAEnC,IAAI,CAAC,CAAC,MAAMC,WAAU,MAAM;AAC5B,iBAAOA,YAAW,YAAY;AAAA,YAC7B;AAAA,YACA;AAAA,YACA,aAAa,KAAK;AAAA,YAClB,cAAc,KAAK;AAAA,YACnB,gBAAgB,KAAK;AAAA,YACrB,2BAA2B,KAAK;AAAA,UAAA,CAChC;AAAA,QACD,CAAA,EACA,OAA+B,CAAC,KAAK,UAAU;AAC3C,cAAA,IAAI,MAAM,IAAI,GAAG;AACpB,kBAAM,IAAI,MAAM,UAAU,UAAU,WAAW,MAAM,IAAI,wBAAwB;AAAA,UAAA;AAElF,iBAAO,EAAE,GAAG,KAAK,CAAC,MAAM,IAAI,GAAG,MAAM;AAAA,QACtC,GAAG,EAAE;AAAA,QACN,WAAW,KAAK,YAAY,aAAa,UAAU;AAAA,QACnD,UAAU;AAAA,UACT,SAAS;AAAA,QAAA;AAAA,MAEX;AACA,aAAOC,WAAAA,sBAAsB,YAAY;AAAA,QACxC;AAAA,QACA,YAAY;AAAA,QACZ,UAAU,KAAK;AAAA,QACf,gBAAgB,KAAK;AAAA,QACrB,aAAa,KAAK;AAAA,QAClB,cAAc,KAAK;AAAA,QACnB,2BAA2B,KAAK;AAAA,MAAA,CAChC;AAAA,IAAA,CACD;AAEM,WAAA;AAAA,MACN,OAAO,OAAO,QAAQ,KAAK,aAAa,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,IAAI,WAAW,EAAE;AAAA,MAChH,UAAU,SAAS,OAAO,CAAC,KAAK,YAAY,EAAE,GAAG,KAAK,CAAC,OAAO,IAAI,GAAG,OAAO,IAAI,CAAE,CAAA;AAAA,IACnF;AAAA,EAAA;AAAA,EAGO,sBAAwC;AAC/C,WAAO,IAAIC,iBAAAA,iBAAiB;AAAA,MAC3B,UAAU;AAAA,MACV,MAAMC,aAAM,WAAW;AAAA,IAAA,CACvB;AAAA,EAAA;AAAA,EAGM,aAAa,YAAoB,kBAA6D;AACrG,UAAM,SAAmC,CAAC;AAC1C,eAAW,CAAC,WAAW,UAAU,KAAK,OAAO,QAAQ,gBAAgB,GAAG;AACnE,UAAA,WAAW,QAAQ,QAAQ;AACvB,eAAA,KAAK,EAAE,QAAQ,CAAC,SAAS,GAAG,GAAG,WAAW,QAAQ,QAAQ;AAAA,MAAA;AAAA,IAClE;AAEM,WAAA;AAAA,EAAA;AAET;;"}
@@ -25,6 +25,11 @@ class SchemaBuilder {
25
25
  createSchema() {
26
26
  const entities = Object.entries(this.entityRegistry.entities).map(([entityName, definition]) => {
27
27
  const definitionInstance = new definition();
28
+ Object.entries(definitionInstance).forEach(([fieldName, fieldDefinition]) => {
29
+ if (typeof fieldDefinition !== "object" || !("createField" in fieldDefinition)) {
30
+ throw `Entity "${entityName}": field "${fieldName}" does not contain expected field definition. Check that you are correctly invoking methods of the definition builder.`;
31
+ }
32
+ });
28
33
  const primaryName = this.conventions.getPrimaryField();
29
34
  const entity = {
30
35
  name: entityName,
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaBuilder.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/internal/SchemaBuilder.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\nimport 'reflect-metadata'\nimport { tuple } from '../../../utils'\nimport { EntityConstructor, FieldsDefinition } from '../types'\nimport { EnumDefinition } from '../EnumDefinition'\nimport { EntityRegistry } from './EntityRegistry'\nimport { EnumRegistry } from './EnumRegistry'\nimport { ColumnDefinition } from '../fieldDefinitions'\nimport { applyEntityExtensions } from '../extensions'\nimport { StrictOptions, StrictDefinitionValidator } from '../../../strict'\n\nexport class SchemaBuilder {\n\tprivate entityRegistry = new EntityRegistry()\n\n\tprivate enumRegistry = new EnumRegistry()\n\n\tconstructor(\n\t\tprivate readonly conventions: NamingConventions,\n\t\tprivate readonly strictDefinitionValidator: StrictDefinitionValidator = new StrictDefinitionValidator({}),\n\t) {}\n\n\tpublic addEntity(name: string, entity: EntityConstructor): void {\n\t\tthis.entityRegistry.register(name, entity)\n\t}\n\n\tpublic addEnum(name: string, definition: EnumDefinition): void {\n\t\tthis.enumRegistry.register(name, definition)\n\t}\n\n\tpublic createSchema(): Model.Schema {\n\t\tconst entities = Object.entries(this.entityRegistry.entities).map(([entityName, definition]): Model.Entity => {\n\t\t\tconst definitionInstance: FieldsDefinition = new definition()\n\n\t\t\tconst primaryName = this.conventions.getPrimaryField()\n\n\t\t\tconst entity: Model.Entity = {\n\t\t\t\tname: entityName,\n\t\t\t\tprimary: primaryName,\n\t\t\t\tprimaryColumn: this.conventions.getColumnName(primaryName),\n\t\t\t\tunique: this.createUnique(entityName, definitionInstance),\n\t\t\t\tindexes: [],\n\t\t\t\tfields: [\n\t\t\t\t\t...definitionInstance[primaryName] ? [] : [tuple(primaryName, this.createPrimaryColumn())],\n\t\t\t\t\t...Object.entries(definitionInstance),\n\t\t\t\t]\n\t\t\t\t\t.map(([name, definition]) => {\n\t\t\t\t\t\treturn definition.createField({\n\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\tentityName,\n\t\t\t\t\t\t\tconventions: this.conventions,\n\t\t\t\t\t\t\tenumRegistry: this.enumRegistry,\n\t\t\t\t\t\t\tentityRegistry: this.entityRegistry,\n\t\t\t\t\t\t\tstrictDefinitionValidator: this.strictDefinitionValidator,\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t\t.reduce<Model.Entity['fields']>((acc, field) => {\n\t\t\t\t\t\tif (acc[field.name]) {\n\t\t\t\t\t\t\tthrow new Error(`Entity ${entityName}: field ${field.name} is already registered`)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn { ...acc, [field.name]: field }\n\t\t\t\t\t}, {}),\n\t\t\t\ttableName: this.conventions.getTableName(entityName),\n\t\t\t\teventLog: {\n\t\t\t\t\tenabled: true,\n\t\t\t\t},\n\t\t\t}\n\t\t\treturn applyEntityExtensions(definition, {\n\t\t\t\tentity,\n\t\t\t\tdefinition: definitionInstance,\n\t\t\t\tregistry: this.entityRegistry,\n\t\t\t\tentityRegistry: this.entityRegistry,\n\t\t\t\tconventions: this.conventions,\n\t\t\t\tenumRegistry: this.enumRegistry,\n\t\t\t\tstrictDefinitionValidator: this.strictDefinitionValidator,\n\t\t\t})\n\t\t})\n\n\t\treturn {\n\t\t\tenums: Object.entries(this.enumRegistry.enums).reduce((acc, [name, def]) => ({ ...acc, [name]: def.values }), {}),\n\t\t\tentities: entities.reduce((acc, entity) => ({ ...acc, [entity.name]: entity }), {}),\n\t\t}\n\t}\n\n\tprivate createPrimaryColumn(): ColumnDefinition {\n\t\treturn new ColumnDefinition({\n\t\t\tnullable: false,\n\t\t\ttype: Model.ColumnType.Uuid,\n\t\t})\n\t}\n\n\tprivate createUnique(entityName: string, fieldDefinitions: FieldsDefinition): Model.UniqueConstraints {\n\t\tconst unique: Model.UniqueConstraint[] = []\n\t\tfor (const [fieldName, definition] of Object.entries(fieldDefinitions)) {\n\t\t\tif (definition.options.unique) {\n\t\t\t\tunique.push({ fields: [fieldName], ...definition.options.unique })\n\t\t\t}\n\t\t}\n\t\treturn unique\n\t}\n}\n"],"names":["definition"],"mappings":"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"}
1
+ {"version":3,"file":"SchemaBuilder.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/internal/SchemaBuilder.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\nimport 'reflect-metadata'\nimport { tuple } from '../../../utils'\nimport { EntityConstructor, FieldsDefinition } from '../types'\nimport { EnumDefinition } from '../EnumDefinition'\nimport { EntityRegistry } from './EntityRegistry'\nimport { EnumRegistry } from './EnumRegistry'\nimport { ColumnDefinition } from '../fieldDefinitions'\nimport { applyEntityExtensions } from '../extensions'\nimport { StrictOptions, StrictDefinitionValidator } from '../../../strict'\n\nexport class SchemaBuilder {\n\tprivate entityRegistry = new EntityRegistry()\n\n\tprivate enumRegistry = new EnumRegistry()\n\n\tconstructor(\n\t\tprivate readonly conventions: NamingConventions,\n\t\tprivate readonly strictDefinitionValidator: StrictDefinitionValidator = new StrictDefinitionValidator({}),\n\t) {}\n\n\tpublic addEntity(name: string, entity: EntityConstructor): void {\n\t\tthis.entityRegistry.register(name, entity)\n\t}\n\n\tpublic addEnum(name: string, definition: EnumDefinition): void {\n\t\tthis.enumRegistry.register(name, definition)\n\t}\n\n\tpublic createSchema(): Model.Schema {\n\t\tconst entities = Object.entries(this.entityRegistry.entities).map(([entityName, definition]): Model.Entity => {\n\t\t\tconst definitionInstance: FieldsDefinition = new definition()\n\n\t\t\tObject.entries(definitionInstance).forEach(([fieldName, fieldDefinition]) => {\n\t\t\t\tif (typeof fieldDefinition !== 'object' || !('createField' in fieldDefinition)) {\n\t\t\t\t\tthrow `Entity \"${entityName}\": field \"${fieldName}\" does not contain expected field definition. Check that you are correctly invoking methods of the definition builder.`\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tconst primaryName = this.conventions.getPrimaryField()\n\n\t\t\tconst entity: Model.Entity = {\n\t\t\t\tname: entityName,\n\t\t\t\tprimary: primaryName,\n\t\t\t\tprimaryColumn: this.conventions.getColumnName(primaryName),\n\t\t\t\tunique: this.createUnique(entityName, definitionInstance),\n\t\t\t\tindexes: [],\n\t\t\t\tfields: [\n\t\t\t\t\t...definitionInstance[primaryName] ? [] : [tuple(primaryName, this.createPrimaryColumn())],\n\t\t\t\t\t...Object.entries(definitionInstance),\n\t\t\t\t]\n\t\t\t\t\t.map(([name, definition]) => {\n\t\t\t\t\t\treturn definition.createField({\n\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\tentityName,\n\t\t\t\t\t\t\tconventions: this.conventions,\n\t\t\t\t\t\t\tenumRegistry: this.enumRegistry,\n\t\t\t\t\t\t\tentityRegistry: this.entityRegistry,\n\t\t\t\t\t\t\tstrictDefinitionValidator: this.strictDefinitionValidator,\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t\t.reduce<Model.Entity['fields']>((acc, field) => {\n\t\t\t\t\t\tif (acc[field.name]) {\n\t\t\t\t\t\t\tthrow new Error(`Entity ${entityName}: field ${field.name} is already registered`)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn { ...acc, [field.name]: field }\n\t\t\t\t\t}, {}),\n\t\t\t\ttableName: this.conventions.getTableName(entityName),\n\t\t\t\teventLog: {\n\t\t\t\t\tenabled: true,\n\t\t\t\t},\n\t\t\t}\n\t\t\treturn applyEntityExtensions(definition, {\n\t\t\t\tentity,\n\t\t\t\tdefinition: definitionInstance,\n\t\t\t\tregistry: this.entityRegistry,\n\t\t\t\tentityRegistry: this.entityRegistry,\n\t\t\t\tconventions: this.conventions,\n\t\t\t\tenumRegistry: this.enumRegistry,\n\t\t\t\tstrictDefinitionValidator: this.strictDefinitionValidator,\n\t\t\t})\n\t\t})\n\n\t\treturn {\n\t\t\tenums: Object.entries(this.enumRegistry.enums).reduce((acc, [name, def]) => ({ ...acc, [name]: def.values }), {}),\n\t\t\tentities: entities.reduce((acc, entity) => ({ ...acc, [entity.name]: entity }), {}),\n\t\t}\n\t}\n\n\tprivate createPrimaryColumn(): ColumnDefinition {\n\t\treturn new ColumnDefinition({\n\t\t\tnullable: false,\n\t\t\ttype: Model.ColumnType.Uuid,\n\t\t})\n\t}\n\n\tprivate createUnique(entityName: string, fieldDefinitions: FieldsDefinition): Model.UniqueConstraints {\n\t\tconst unique: Model.UniqueConstraint[] = []\n\t\tfor (const [fieldName, definition] of Object.entries(fieldDefinitions)) {\n\t\t\tif (definition.options.unique) {\n\t\t\t\tunique.push({ fields: [fieldName], ...definition.options.unique })\n\t\t\t}\n\t\t}\n\t\treturn unique\n\t}\n}\n"],"names":["definition"],"mappings":";;;;;;;;;;;AAYO,MAAM,cAAc;AAAA,EAK1B,YACkB,aACA,4BAAuD,IAAI,0BAA0B,CAAE,CAAA,GACvG;AAFgB,SAAA,cAAA;AACA,SAAA,4BAAA;AANV,kBAAA,MAAA,kBAAiB,IAAI,eAAe,CAAA;AAEpC,kBAAA,MAAA,gBAAe,IAAI,aAAa,CAAA;AAAA,EAAA;AAAA,EAOjC,UAAU,MAAc,QAAiC;AAC1D,SAAA,eAAe,SAAS,MAAM,MAAM;AAAA,EAAA;AAAA,EAGnC,QAAQ,MAAc,YAAkC;AACzD,SAAA,aAAa,SAAS,MAAM,UAAU;AAAA,EAAA;AAAA,EAGrC,eAA6B;AACnC,UAAM,WAAW,OAAO,QAAQ,KAAK,eAAe,QAAQ,EAAE,IAAI,CAAC,CAAC,YAAY,UAAU,MAAoB;AACvG,YAAA,qBAAuC,IAAI,WAAW;AAErD,aAAA,QAAQ,kBAAkB,EAAE,QAAQ,CAAC,CAAC,WAAW,eAAe,MAAM;AAC5E,YAAI,OAAO,oBAAoB,YAAY,EAAE,iBAAiB,kBAAkB;AACzE,gBAAA,WAAW,UAAU,aAAa,SAAS;AAAA,QAAA;AAAA,MAClD,CACA;AAEK,YAAA,cAAc,KAAK,YAAY,gBAAgB;AAErD,YAAM,SAAuB;AAAA,QAC5B,MAAM;AAAA,QACN,SAAS;AAAA,QACT,eAAe,KAAK,YAAY,cAAc,WAAW;AAAA,QACzD,QAAQ,KAAK,aAAa,YAAY,kBAAkB;AAAA,QACxD,SAAS,CAAC;AAAA,QACV,QAAQ;AAAA,UACP,GAAG,mBAAmB,WAAW,IAAI,KAAK,CAAC,MAAM,aAAa,KAAK,oBAAoB,CAAC,CAAC;AAAA,UACzF,GAAG,OAAO,QAAQ,kBAAkB;AAAA,UAEnC,IAAI,CAAC,CAAC,MAAMA,WAAU,MAAM;AAC5B,iBAAOA,YAAW,YAAY;AAAA,YAC7B;AAAA,YACA;AAAA,YACA,aAAa,KAAK;AAAA,YAClB,cAAc,KAAK;AAAA,YACnB,gBAAgB,KAAK;AAAA,YACrB,2BAA2B,KAAK;AAAA,UAAA,CAChC;AAAA,QACD,CAAA,EACA,OAA+B,CAAC,KAAK,UAAU;AAC3C,cAAA,IAAI,MAAM,IAAI,GAAG;AACpB,kBAAM,IAAI,MAAM,UAAU,UAAU,WAAW,MAAM,IAAI,wBAAwB;AAAA,UAAA;AAElF,iBAAO,EAAE,GAAG,KAAK,CAAC,MAAM,IAAI,GAAG,MAAM;AAAA,QACtC,GAAG,EAAE;AAAA,QACN,WAAW,KAAK,YAAY,aAAa,UAAU;AAAA,QACnD,UAAU;AAAA,UACT,SAAS;AAAA,QAAA;AAAA,MAEX;AACA,aAAO,sBAAsB,YAAY;AAAA,QACxC;AAAA,QACA,YAAY;AAAA,QACZ,UAAU,KAAK;AAAA,QACf,gBAAgB,KAAK;AAAA,QACrB,aAAa,KAAK;AAAA,QAClB,cAAc,KAAK;AAAA,QACnB,2BAA2B,KAAK;AAAA,MAAA,CAChC;AAAA,IAAA,CACD;AAEM,WAAA;AAAA,MACN,OAAO,OAAO,QAAQ,KAAK,aAAa,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,IAAI,WAAW,EAAE;AAAA,MAChH,UAAU,SAAS,OAAO,CAAC,KAAK,YAAY,EAAE,GAAG,KAAK,CAAC,OAAO,IAAI,GAAG,OAAO,IAAI,CAAE,CAAA;AAAA,IACnF;AAAA,EAAA;AAAA,EAGO,sBAAwC;AAC/C,WAAO,IAAI,iBAAiB;AAAA,MAC3B,UAAU;AAAA,MACV,MAAM,MAAM,WAAW;AAAA,IAAA,CACvB;AAAA,EAAA;AAAA,EAGM,aAAa,YAAoB,kBAA6D;AACrG,UAAM,SAAmC,CAAC;AAC1C,eAAW,CAAC,WAAW,UAAU,KAAK,OAAO,QAAQ,gBAAgB,GAAG;AACnE,UAAA,WAAW,QAAQ,QAAQ;AACvB,eAAA,KAAK,EAAE,QAAQ,CAAC,SAAS,GAAG,GAAG,WAAW,QAAQ,QAAQ;AAAA,MAAA;AAAA,IAClE;AAEM,WAAA;AAAA,EAAA;AAET;"}
@@ -17,9 +17,21 @@ const v1_4preset = {
17
17
  useExistsInHasManyFilter: true
18
18
  }
19
19
  };
20
+ const v2_0preset = {
21
+ tenant: {
22
+ inviteExpirationMinutes: 60 * 24 * 7
23
+ // 7 days
24
+ },
25
+ content: {
26
+ shortDateResponse: true,
27
+ fullDateTimeResponse: true,
28
+ useExistsInHasManyFilter: true
29
+ }
30
+ };
20
31
  const settingsPresets = {
21
32
  "v1.3": v1_3preset,
22
- "v1.4": v1_4preset
33
+ "v1.4": v1_4preset,
34
+ "v2.0": v2_0preset
23
35
  };
24
36
  exports.settingsPresets = settingsPresets;
25
37
  //# sourceMappingURL=presets.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"presets.cjs","sources":["../../../../packages/schema-definition/src/presets.ts"],"sourcesContent":["import { Settings } from '@contember/schema'\n\nconst v1_3preset: Settings.Schema = {\n\tuseExistsInHasManyFilter: true,\n\ttenant: {\n\t\tinviteExpirationMinutes: 60 * 24 * 7, // 7 days\n\t},\n}\n\n\nconst v1_4preset: Settings.Schema = {\n\ttenant: {\n\t\tinviteExpirationMinutes: 60 * 24 * 7, // 7 days\n\t},\n\tcontent: {\n\t\tshortDateResponse: true,\n\t\tuseExistsInHasManyFilter: true,\n\t},\n}\n\nexport const settingsPresets = {\n\t'v1.3': v1_3preset,\n\t'v1.4': v1_4preset,\n}\n"],"names":[],"mappings":";;AAEA,MAAM,aAA8B;AAAA,EACnC,0BAA0B;AAAA,EAC1B,QAAQ;AAAA,IACP,yBAAyB,KAAK,KAAK;AAAA;AAAA,EACpC;AACD;AAGA,MAAM,aAA8B;AAAA,EACnC,QAAQ;AAAA,IACP,yBAAyB,KAAK,KAAK;AAAA;AAAA,EACpC;AAAA,EACA,SAAS;AAAA,IACR,mBAAmB;AAAA,IACnB,0BAA0B;AAAA,EAC3B;AACD;AAEO,MAAM,kBAAkB;AAAA,EAC9B,QAAQ;AAAA,EACR,QAAQ;AACT;;"}
1
+ {"version":3,"file":"presets.cjs","sources":["../../../../packages/schema-definition/src/presets.ts"],"sourcesContent":["import { Settings } from '@contember/schema'\n\nconst v1_3preset: Settings.Schema = {\n\tuseExistsInHasManyFilter: true,\n\ttenant: {\n\t\tinviteExpirationMinutes: 60 * 24 * 7, // 7 days\n\t},\n}\n\n\nconst v1_4preset: Settings.Schema = {\n\ttenant: {\n\t\tinviteExpirationMinutes: 60 * 24 * 7, // 7 days\n\t},\n\tcontent: {\n\t\tshortDateResponse: true,\n\t\tuseExistsInHasManyFilter: true,\n\t},\n}\n\nconst v2_0preset: Settings.Schema = {\n\ttenant: {\n\t\tinviteExpirationMinutes: 60 * 24 * 7, // 7 days\n\t},\n\tcontent: {\n\t\tshortDateResponse: true,\n\t\tfullDateTimeResponse: true,\n\t\tuseExistsInHasManyFilter: true,\n\t},\n}\n\nexport const settingsPresets = {\n\t'v1.3': v1_3preset,\n\t'v1.4': v1_4preset,\n\t'v2.0': v2_0preset,\n}\n"],"names":[],"mappings":";;AAEA,MAAM,aAA8B;AAAA,EACnC,0BAA0B;AAAA,EAC1B,QAAQ;AAAA,IACP,yBAAyB,KAAK,KAAK;AAAA;AAAA,EAAA;AAErC;AAGA,MAAM,aAA8B;AAAA,EACnC,QAAQ;AAAA,IACP,yBAAyB,KAAK,KAAK;AAAA;AAAA,EACpC;AAAA,EACA,SAAS;AAAA,IACR,mBAAmB;AAAA,IACnB,0BAA0B;AAAA,EAAA;AAE5B;AAEA,MAAM,aAA8B;AAAA,EACnC,QAAQ;AAAA,IACP,yBAAyB,KAAK,KAAK;AAAA;AAAA,EACpC;AAAA,EACA,SAAS;AAAA,IACR,mBAAmB;AAAA,IACnB,sBAAsB;AAAA,IACtB,0BAA0B;AAAA,EAAA;AAE5B;AAEO,MAAM,kBAAkB;AAAA,EAC9B,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AACT;;"}
@@ -15,9 +15,21 @@ const v1_4preset = {
15
15
  useExistsInHasManyFilter: true
16
16
  }
17
17
  };
18
+ const v2_0preset = {
19
+ tenant: {
20
+ inviteExpirationMinutes: 60 * 24 * 7
21
+ // 7 days
22
+ },
23
+ content: {
24
+ shortDateResponse: true,
25
+ fullDateTimeResponse: true,
26
+ useExistsInHasManyFilter: true
27
+ }
28
+ };
18
29
  const settingsPresets = {
19
30
  "v1.3": v1_3preset,
20
- "v1.4": v1_4preset
31
+ "v1.4": v1_4preset,
32
+ "v2.0": v2_0preset
21
33
  };
22
34
  export {
23
35
  settingsPresets
@@ -1 +1 @@
1
- {"version":3,"file":"presets.js","sources":["../../../../packages/schema-definition/src/presets.ts"],"sourcesContent":["import { Settings } from '@contember/schema'\n\nconst v1_3preset: Settings.Schema = {\n\tuseExistsInHasManyFilter: true,\n\ttenant: {\n\t\tinviteExpirationMinutes: 60 * 24 * 7, // 7 days\n\t},\n}\n\n\nconst v1_4preset: Settings.Schema = {\n\ttenant: {\n\t\tinviteExpirationMinutes: 60 * 24 * 7, // 7 days\n\t},\n\tcontent: {\n\t\tshortDateResponse: true,\n\t\tuseExistsInHasManyFilter: true,\n\t},\n}\n\nexport const settingsPresets = {\n\t'v1.3': v1_3preset,\n\t'v1.4': v1_4preset,\n}\n"],"names":[],"mappings":"AAEA,MAAM,aAA8B;AAAA,EACnC,0BAA0B;AAAA,EAC1B,QAAQ;AAAA,IACP,yBAAyB,KAAK,KAAK;AAAA;AAAA,EACpC;AACD;AAGA,MAAM,aAA8B;AAAA,EACnC,QAAQ;AAAA,IACP,yBAAyB,KAAK,KAAK;AAAA;AAAA,EACpC;AAAA,EACA,SAAS;AAAA,IACR,mBAAmB;AAAA,IACnB,0BAA0B;AAAA,EAC3B;AACD;AAEO,MAAM,kBAAkB;AAAA,EAC9B,QAAQ;AAAA,EACR,QAAQ;AACT;"}
1
+ {"version":3,"file":"presets.js","sources":["../../../../packages/schema-definition/src/presets.ts"],"sourcesContent":["import { Settings } from '@contember/schema'\n\nconst v1_3preset: Settings.Schema = {\n\tuseExistsInHasManyFilter: true,\n\ttenant: {\n\t\tinviteExpirationMinutes: 60 * 24 * 7, // 7 days\n\t},\n}\n\n\nconst v1_4preset: Settings.Schema = {\n\ttenant: {\n\t\tinviteExpirationMinutes: 60 * 24 * 7, // 7 days\n\t},\n\tcontent: {\n\t\tshortDateResponse: true,\n\t\tuseExistsInHasManyFilter: true,\n\t},\n}\n\nconst v2_0preset: Settings.Schema = {\n\ttenant: {\n\t\tinviteExpirationMinutes: 60 * 24 * 7, // 7 days\n\t},\n\tcontent: {\n\t\tshortDateResponse: true,\n\t\tfullDateTimeResponse: true,\n\t\tuseExistsInHasManyFilter: true,\n\t},\n}\n\nexport const settingsPresets = {\n\t'v1.3': v1_3preset,\n\t'v1.4': v1_4preset,\n\t'v2.0': v2_0preset,\n}\n"],"names":[],"mappings":"AAEA,MAAM,aAA8B;AAAA,EACnC,0BAA0B;AAAA,EAC1B,QAAQ;AAAA,IACP,yBAAyB,KAAK,KAAK;AAAA;AAAA,EAAA;AAErC;AAGA,MAAM,aAA8B;AAAA,EACnC,QAAQ;AAAA,IACP,yBAAyB,KAAK,KAAK;AAAA;AAAA,EACpC;AAAA,EACA,SAAS;AAAA,IACR,mBAAmB;AAAA,IACnB,0BAA0B;AAAA,EAAA;AAE5B;AAEA,MAAM,aAA8B;AAAA,EACnC,QAAQ;AAAA,IACP,yBAAyB,KAAK,KAAK;AAAA;AAAA,EACpC;AAAA,EACA,SAAS;AAAA,IACR,mBAAmB;AAAA,IACnB,sBAAsB;AAAA,IACtB,0BAA0B;AAAA,EAAA;AAE5B;AAEO,MAAM,kBAAkB;AAAA,EAC9B,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AACT;"}
@@ -1 +1 @@
1
- {"version":3,"file":"strict.cjs","sources":["../../../../packages/schema-definition/src/strict.ts"],"sourcesContent":["import { Model } from '@contember/schema'\n\nexport type StrictOptions = {\n\trequireOnDelete?: boolean\n\trequireInverseSide?: boolean\n}\n\nexport const allStrict: StrictOptions = {\n\trequireOnDelete: true,\n\trequireInverseSide: true,\n}\n\n\nexport type Warning = { message: string }\n\nexport class StrictDefinitionValidator {\n\tpublic readonly warnings: Warning[] = []\n\n\tconstructor(\n\t\tprivate readonly options: StrictOptions,\n\t) {\n\t}\n\n\tpublic validateInverseSide(entityName: string, field: string, definition: { inversedBy?: string }): void {\n\t\tif (!definition.inversedBy && this.options.requireInverseSide) {\n\t\t\tthis.registerWarning(`${entityName}.${field}: inverse side of the relation is not defined.`)\n\t\t}\n\t}\n\n\n\tpublic validateOnCascade(entityName: string, field: string, definition: { onDelete?: Model.OnDelete}): void {\n\t\tif (!definition.onDelete && this.options.requireOnDelete) {\n\t\t\tthis.registerWarning(`${entityName}.${field}: onDelete behaviour is not set. Use one of cascadeOnDelete(), setNullOnDelete() or restrictOnDelete().`)\n\t\t}\n\t}\n\n\tpublic registerWarning(message: string): void {\n\t\tthis.warnings.push({ message })\n\t}\n}\n"],"names":[],"mappings":";;;;;AAOO,MAAM,YAA2B;AAAA,EACvC,iBAAiB;AAAA,EACjB,oBAAoB;AACrB;AAKO,MAAM,0BAA0B;AAAA,EAGtC,YACkB,SAChB;AADgB,SAAA,UAAA;AAHlB,kBAAA,MAAgB,YAAsB,CAAA,CAAC;AAAA,EAKvC;AAAA,EAEO,oBAAoB,YAAoB,OAAe,YAA2C;AACxG,QAAI,CAAC,WAAW,cAAc,KAAK,QAAQ,oBAAoB;AAC9D,WAAK,gBAAgB,GAAG,UAAU,IAAI,KAAK,gDAAgD;AAAA,IAC5F;AAAA,EACD;AAAA,EAGO,kBAAkB,YAAoB,OAAe,YAAgD;AAC3G,QAAI,CAAC,WAAW,YAAY,KAAK,QAAQ,iBAAiB;AACzD,WAAK,gBAAgB,GAAG,UAAU,IAAI,KAAK,yGAAyG;AAAA,IACrJ;AAAA,EACD;AAAA,EAEO,gBAAgB,SAAuB;AAC7C,SAAK,SAAS,KAAK,EAAE,QAAS,CAAA;AAAA,EAC/B;AACD;;;"}
1
+ {"version":3,"file":"strict.cjs","sources":["../../../../packages/schema-definition/src/strict.ts"],"sourcesContent":["import { Model } from '@contember/schema'\n\nexport type StrictOptions = {\n\trequireOnDelete?: boolean\n\trequireInverseSide?: boolean\n}\n\nexport const allStrict: StrictOptions = {\n\trequireOnDelete: true,\n\trequireInverseSide: true,\n}\n\n\nexport type Warning = { message: string }\n\nexport class StrictDefinitionValidator {\n\tpublic readonly warnings: Warning[] = []\n\n\tconstructor(\n\t\tprivate readonly options: StrictOptions,\n\t) {\n\t}\n\n\tpublic validateInverseSide(entityName: string, field: string, definition: { inversedBy?: string }): void {\n\t\tif (!definition.inversedBy && this.options.requireInverseSide) {\n\t\t\tthis.registerWarning(`${entityName}.${field}: inverse side of the relation is not defined.`)\n\t\t}\n\t}\n\n\n\tpublic validateOnCascade(entityName: string, field: string, definition: { onDelete?: Model.OnDelete}): void {\n\t\tif (!definition.onDelete && this.options.requireOnDelete) {\n\t\t\tthis.registerWarning(`${entityName}.${field}: onDelete behaviour is not set. Use one of cascadeOnDelete(), setNullOnDelete() or restrictOnDelete().`)\n\t\t}\n\t}\n\n\tpublic registerWarning(message: string): void {\n\t\tthis.warnings.push({ message })\n\t}\n}\n"],"names":[],"mappings":";;;;;AAOO,MAAM,YAA2B;AAAA,EACvC,iBAAiB;AAAA,EACjB,oBAAoB;AACrB;AAKO,MAAM,0BAA0B;AAAA,EAGtC,YACkB,SAChB;AADgB,SAAA,UAAA;AAHlB,kBAAA,MAAgB,YAAsB,EAAC;AAAA,EAAA;AAAA,EAOhC,oBAAoB,YAAoB,OAAe,YAA2C;AACxG,QAAI,CAAC,WAAW,cAAc,KAAK,QAAQ,oBAAoB;AAC9D,WAAK,gBAAgB,GAAG,UAAU,IAAI,KAAK,gDAAgD;AAAA,IAAA;AAAA,EAC5F;AAAA,EAIM,kBAAkB,YAAoB,OAAe,YAAgD;AAC3G,QAAI,CAAC,WAAW,YAAY,KAAK,QAAQ,iBAAiB;AACzD,WAAK,gBAAgB,GAAG,UAAU,IAAI,KAAK,yGAAyG;AAAA,IAAA;AAAA,EACrJ;AAAA,EAGM,gBAAgB,SAAuB;AAC7C,SAAK,SAAS,KAAK,EAAE,QAAA,CAAS;AAAA,EAAA;AAEhC;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"strict.js","sources":["../../../../packages/schema-definition/src/strict.ts"],"sourcesContent":["import { Model } from '@contember/schema'\n\nexport type StrictOptions = {\n\trequireOnDelete?: boolean\n\trequireInverseSide?: boolean\n}\n\nexport const allStrict: StrictOptions = {\n\trequireOnDelete: true,\n\trequireInverseSide: true,\n}\n\n\nexport type Warning = { message: string }\n\nexport class StrictDefinitionValidator {\n\tpublic readonly warnings: Warning[] = []\n\n\tconstructor(\n\t\tprivate readonly options: StrictOptions,\n\t) {\n\t}\n\n\tpublic validateInverseSide(entityName: string, field: string, definition: { inversedBy?: string }): void {\n\t\tif (!definition.inversedBy && this.options.requireInverseSide) {\n\t\t\tthis.registerWarning(`${entityName}.${field}: inverse side of the relation is not defined.`)\n\t\t}\n\t}\n\n\n\tpublic validateOnCascade(entityName: string, field: string, definition: { onDelete?: Model.OnDelete}): void {\n\t\tif (!definition.onDelete && this.options.requireOnDelete) {\n\t\t\tthis.registerWarning(`${entityName}.${field}: onDelete behaviour is not set. Use one of cascadeOnDelete(), setNullOnDelete() or restrictOnDelete().`)\n\t\t}\n\t}\n\n\tpublic registerWarning(message: string): void {\n\t\tthis.warnings.push({ message })\n\t}\n}\n"],"names":[],"mappings":";;;AAOO,MAAM,YAA2B;AAAA,EACvC,iBAAiB;AAAA,EACjB,oBAAoB;AACrB;AAKO,MAAM,0BAA0B;AAAA,EAGtC,YACkB,SAChB;AADgB,SAAA,UAAA;AAHlB,kBAAA,MAAgB,YAAsB,CAAA,CAAC;AAAA,EAKvC;AAAA,EAEO,oBAAoB,YAAoB,OAAe,YAA2C;AACxG,QAAI,CAAC,WAAW,cAAc,KAAK,QAAQ,oBAAoB;AAC9D,WAAK,gBAAgB,GAAG,UAAU,IAAI,KAAK,gDAAgD;AAAA,IAC5F;AAAA,EACD;AAAA,EAGO,kBAAkB,YAAoB,OAAe,YAAgD;AAC3G,QAAI,CAAC,WAAW,YAAY,KAAK,QAAQ,iBAAiB;AACzD,WAAK,gBAAgB,GAAG,UAAU,IAAI,KAAK,yGAAyG;AAAA,IACrJ;AAAA,EACD;AAAA,EAEO,gBAAgB,SAAuB;AAC7C,SAAK,SAAS,KAAK,EAAE,QAAS,CAAA;AAAA,EAC/B;AACD;"}
1
+ {"version":3,"file":"strict.js","sources":["../../../../packages/schema-definition/src/strict.ts"],"sourcesContent":["import { Model } from '@contember/schema'\n\nexport type StrictOptions = {\n\trequireOnDelete?: boolean\n\trequireInverseSide?: boolean\n}\n\nexport const allStrict: StrictOptions = {\n\trequireOnDelete: true,\n\trequireInverseSide: true,\n}\n\n\nexport type Warning = { message: string }\n\nexport class StrictDefinitionValidator {\n\tpublic readonly warnings: Warning[] = []\n\n\tconstructor(\n\t\tprivate readonly options: StrictOptions,\n\t) {\n\t}\n\n\tpublic validateInverseSide(entityName: string, field: string, definition: { inversedBy?: string }): void {\n\t\tif (!definition.inversedBy && this.options.requireInverseSide) {\n\t\t\tthis.registerWarning(`${entityName}.${field}: inverse side of the relation is not defined.`)\n\t\t}\n\t}\n\n\n\tpublic validateOnCascade(entityName: string, field: string, definition: { onDelete?: Model.OnDelete}): void {\n\t\tif (!definition.onDelete && this.options.requireOnDelete) {\n\t\t\tthis.registerWarning(`${entityName}.${field}: onDelete behaviour is not set. Use one of cascadeOnDelete(), setNullOnDelete() or restrictOnDelete().`)\n\t\t}\n\t}\n\n\tpublic registerWarning(message: string): void {\n\t\tthis.warnings.push({ message })\n\t}\n}\n"],"names":[],"mappings":";;;AAOO,MAAM,YAA2B;AAAA,EACvC,iBAAiB;AAAA,EACjB,oBAAoB;AACrB;AAKO,MAAM,0BAA0B;AAAA,EAGtC,YACkB,SAChB;AADgB,SAAA,UAAA;AAHlB,kBAAA,MAAgB,YAAsB,EAAC;AAAA,EAAA;AAAA,EAOhC,oBAAoB,YAAoB,OAAe,YAA2C;AACxG,QAAI,CAAC,WAAW,cAAc,KAAK,QAAQ,oBAAoB;AAC9D,WAAK,gBAAgB,GAAG,UAAU,IAAI,KAAK,gDAAgD;AAAA,IAAA;AAAA,EAC5F;AAAA,EAIM,kBAAkB,YAAoB,OAAe,YAAgD;AAC3G,QAAI,CAAC,WAAW,YAAY,KAAK,QAAQ,iBAAiB;AACzD,WAAK,gBAAgB,GAAG,UAAU,IAAI,KAAK,yGAAyG;AAAA,IAAA;AAAA,EACrJ;AAAA,EAGM,gBAAgB,SAAuB;AAC7C,SAAK,SAAS,KAAK,EAAE,QAAA,CAAS;AAAA,EAAA;AAEhC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"MetadataStore.cjs","sources":["../../../../../packages/schema-definition/src/utils/MetadataStore.ts"],"sourcesContent":["import 'reflect-metadata'\n\nexport interface MetadataStore<V> {\n\tget(target: Object): V\n\tupdate(target: Object, generator: (current: V) => V): void\n}\n\nexport const createMetadataStore = <V>(initialValue: V): MetadataStore<V> => {\n\tconst key = Symbol()\n\tconst get = (target: Object): V => {\n\t\treturn Reflect.hasMetadata(key, target)\n\t\t\t? Reflect.getMetadata(key, target)\n\t\t\t: initialValue\n\t}\n\treturn {\n\t\tget,\n\t\tupdate: (target, generator) => {\n\t\t\tconst current = get(target)\n\t\t\tconst newMetadata = generator(current)\n\t\t\tReflect.defineMetadata(key, newMetadata, target)\n\t\t},\n\t}\n}\n"],"names":[],"mappings":";;;AAOa,MAAA,sBAAsB,CAAI,iBAAsC;AAC5E,QAAM,MAAM;AACN,QAAA,MAAM,CAAC,WAAsB;AAC3B,WAAA,QAAQ,YAAY,KAAK,MAAM,IACnC,QAAQ,YAAY,KAAK,MAAM,IAC/B;AAAA,EAAA;AAEG,SAAA;AAAA,IACN;AAAA,IACA,QAAQ,CAAC,QAAQ,cAAc;AACxB,YAAA,UAAU,IAAI,MAAM;AACpB,YAAA,cAAc,UAAU,OAAO;AAC7B,cAAA,eAAe,KAAK,aAAa,MAAM;AAAA,IAChD;AAAA,EAAA;AAEF;;"}
1
+ {"version":3,"file":"MetadataStore.cjs","sources":["../../../../../packages/schema-definition/src/utils/MetadataStore.ts"],"sourcesContent":["import 'reflect-metadata'\n\nexport interface MetadataStore<V> {\n\tget(target: Object): V\n\tupdate(target: Object, generator: (current: V) => V): void\n}\n\nexport const createMetadataStore = <V>(initialValue: V): MetadataStore<V> => {\n\tconst key = Symbol()\n\tconst get = (target: Object): V => {\n\t\treturn Reflect.hasMetadata(key, target)\n\t\t\t? Reflect.getMetadata(key, target)\n\t\t\t: initialValue\n\t}\n\treturn {\n\t\tget,\n\t\tupdate: (target, generator) => {\n\t\t\tconst current = get(target)\n\t\t\tconst newMetadata = generator(current)\n\t\t\tReflect.defineMetadata(key, newMetadata, target)\n\t\t},\n\t}\n}\n"],"names":[],"mappings":";;;AAOa,MAAA,sBAAsB,CAAI,iBAAsC;AAC5E,QAAM,MAAM,OAAO;AACb,QAAA,MAAM,CAAC,WAAsB;AAC3B,WAAA,QAAQ,YAAY,KAAK,MAAM,IACnC,QAAQ,YAAY,KAAK,MAAM,IAC/B;AAAA,EACJ;AACO,SAAA;AAAA,IACN;AAAA,IACA,QAAQ,CAAC,QAAQ,cAAc;AACxB,YAAA,UAAU,IAAI,MAAM;AACpB,YAAA,cAAc,UAAU,OAAO;AAC7B,cAAA,eAAe,KAAK,aAAa,MAAM;AAAA,IAAA;AAAA,EAEjD;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"MetadataStore.js","sources":["../../../../../packages/schema-definition/src/utils/MetadataStore.ts"],"sourcesContent":["import 'reflect-metadata'\n\nexport interface MetadataStore<V> {\n\tget(target: Object): V\n\tupdate(target: Object, generator: (current: V) => V): void\n}\n\nexport const createMetadataStore = <V>(initialValue: V): MetadataStore<V> => {\n\tconst key = Symbol()\n\tconst get = (target: Object): V => {\n\t\treturn Reflect.hasMetadata(key, target)\n\t\t\t? Reflect.getMetadata(key, target)\n\t\t\t: initialValue\n\t}\n\treturn {\n\t\tget,\n\t\tupdate: (target, generator) => {\n\t\t\tconst current = get(target)\n\t\t\tconst newMetadata = generator(current)\n\t\t\tReflect.defineMetadata(key, newMetadata, target)\n\t\t},\n\t}\n}\n"],"names":[],"mappings":";AAOa,MAAA,sBAAsB,CAAI,iBAAsC;AAC5E,QAAM,MAAM;AACN,QAAA,MAAM,CAAC,WAAsB;AAC3B,WAAA,QAAQ,YAAY,KAAK,MAAM,IACnC,QAAQ,YAAY,KAAK,MAAM,IAC/B;AAAA,EAAA;AAEG,SAAA;AAAA,IACN;AAAA,IACA,QAAQ,CAAC,QAAQ,cAAc;AACxB,YAAA,UAAU,IAAI,MAAM;AACpB,YAAA,cAAc,UAAU,OAAO;AAC7B,cAAA,eAAe,KAAK,aAAa,MAAM;AAAA,IAChD;AAAA,EAAA;AAEF;"}
1
+ {"version":3,"file":"MetadataStore.js","sources":["../../../../../packages/schema-definition/src/utils/MetadataStore.ts"],"sourcesContent":["import 'reflect-metadata'\n\nexport interface MetadataStore<V> {\n\tget(target: Object): V\n\tupdate(target: Object, generator: (current: V) => V): void\n}\n\nexport const createMetadataStore = <V>(initialValue: V): MetadataStore<V> => {\n\tconst key = Symbol()\n\tconst get = (target: Object): V => {\n\t\treturn Reflect.hasMetadata(key, target)\n\t\t\t? Reflect.getMetadata(key, target)\n\t\t\t: initialValue\n\t}\n\treturn {\n\t\tget,\n\t\tupdate: (target, generator) => {\n\t\t\tconst current = get(target)\n\t\t\tconst newMetadata = generator(current)\n\t\t\tReflect.defineMetadata(key, newMetadata, target)\n\t\t},\n\t}\n}\n"],"names":[],"mappings":";AAOa,MAAA,sBAAsB,CAAI,iBAAsC;AAC5E,QAAM,MAAM,OAAO;AACb,QAAA,MAAM,CAAC,WAAsB;AAC3B,WAAA,QAAQ,YAAY,KAAK,MAAM,IACnC,QAAQ,YAAY,KAAK,MAAM,IAC/B;AAAA,EACJ;AACO,SAAA;AAAA,IACN;AAAA,IACA,QAAQ,CAAC,QAAQ,cAAc;AACxB,YAAA,UAAU,IAAI,MAAM;AACpB,YAAA,cAAc,UAAU,OAAO;AAC7B,cAAA,eAAe,KAAK,aAAa,MAAM;AAAA,IAAA;AAAA,EAEjD;AACD;"}