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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (428) hide show
  1. package/dist/development/index.cjs +1 -0
  2. package/dist/development/index.cjs.map +1 -1
  3. package/dist/development/index.js +2 -1
  4. package/dist/development/index.js.map +1 -1
  5. package/dist/development/src/acl/builder/EntityPermissionsBuilder.cjs.map +1 -1
  6. package/dist/development/src/acl/builder/EntityPermissionsBuilder.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/PermissionOverrider.cjs.map +1 -1
  10. package/dist/development/src/acl/builder/PermissionOverrider.js.map +1 -1
  11. package/dist/development/src/acl/builder/PermissionsBuilder.cjs.map +1 -1
  12. package/dist/development/src/acl/builder/PermissionsBuilder.js.map +1 -1
  13. package/dist/development/src/acl/definition/aclExtensions.cjs.map +1 -1
  14. package/dist/development/src/acl/definition/aclExtensions.js.map +1 -1
  15. package/dist/development/src/acl/definition/customPrimary.cjs.map +1 -1
  16. package/dist/development/src/acl/definition/customPrimary.js.map +1 -1
  17. package/dist/development/src/acl/definition/index.cjs.map +1 -1
  18. package/dist/development/src/acl/definition/index.js.map +1 -1
  19. package/dist/development/src/acl/definition/internal/AclFactory.cjs.map +1 -1
  20. package/dist/development/src/acl/definition/internal/AclFactory.js.map +1 -1
  21. package/dist/development/src/acl/definition/internal/EntityPredicateResolver.cjs.map +1 -1
  22. package/dist/development/src/acl/definition/internal/EntityPredicateResolver.js.map +1 -1
  23. package/dist/development/src/acl/definition/internal/createPredicateName.cjs.map +1 -1
  24. package/dist/development/src/acl/definition/internal/createPredicateName.js.map +1 -1
  25. package/dist/development/src/acl/definition/internal/stores.cjs.map +1 -1
  26. package/dist/development/src/acl/definition/internal/stores.js.map +1 -1
  27. package/dist/development/src/acl/definition/permissions.cjs.map +1 -1
  28. package/dist/development/src/acl/definition/permissions.js.map +1 -1
  29. package/dist/development/src/acl/definition/variables.cjs.map +1 -1
  30. package/dist/development/src/acl/definition/variables.js.map +1 -1
  31. package/dist/development/src/actions/definition/index.cjs.map +1 -1
  32. package/dist/development/src/actions/definition/index.js.map +1 -1
  33. package/dist/development/src/actions/definition/internal/ActionsFactory.cjs.map +1 -1
  34. package/dist/development/src/actions/definition/internal/ActionsFactory.js.map +1 -1
  35. package/dist/development/src/actions/definition/internal/store.cjs.map +1 -1
  36. package/dist/development/src/actions/definition/internal/store.js.map +1 -1
  37. package/dist/development/src/actions/definition/triggers.cjs.map +1 -1
  38. package/dist/development/src/actions/definition/triggers.js.map +1 -1
  39. package/dist/development/src/createSchema.cjs +2 -1
  40. package/dist/development/src/createSchema.cjs.map +1 -1
  41. package/dist/development/src/createSchema.js +2 -1
  42. package/dist/development/src/createSchema.js.map +1 -1
  43. package/dist/development/src/model/builder/ColumnBuilder.cjs.map +1 -1
  44. package/dist/development/src/model/builder/ColumnBuilder.js.map +1 -1
  45. package/dist/development/src/model/builder/EntityBuilder.cjs.map +1 -1
  46. package/dist/development/src/model/builder/EntityBuilder.js.map +1 -1
  47. package/dist/development/src/model/builder/FieldBuilder.cjs.map +1 -1
  48. package/dist/development/src/model/builder/FieldBuilder.js.map +1 -1
  49. package/dist/development/src/model/builder/ManyHasManyBuilder.cjs.map +1 -1
  50. package/dist/development/src/model/builder/ManyHasManyBuilder.js.map +1 -1
  51. package/dist/development/src/model/builder/ManyHasOneBuilder.cjs.map +1 -1
  52. package/dist/development/src/model/builder/ManyHasOneBuilder.js.map +1 -1
  53. package/dist/development/src/model/builder/OneHasManyBuilder.cjs.map +1 -1
  54. package/dist/development/src/model/builder/OneHasManyBuilder.js.map +1 -1
  55. package/dist/development/src/model/builder/OneHasOneBuilder.cjs.map +1 -1
  56. package/dist/development/src/model/builder/OneHasOneBuilder.js.map +1 -1
  57. package/dist/development/src/model/builder/SchemaBuilder.cjs.map +1 -1
  58. package/dist/development/src/model/builder/SchemaBuilder.js.map +1 -1
  59. package/dist/development/src/model/builder/SchemaBuilderInternal.cjs.map +1 -1
  60. package/dist/development/src/model/builder/SchemaBuilderInternal.js.map +1 -1
  61. package/dist/development/src/model/builder/internal/ColumnProcessor.cjs.map +1 -1
  62. package/dist/development/src/model/builder/internal/ColumnProcessor.js.map +1 -1
  63. package/dist/development/src/model/builder/internal/ManyHasManyProcessor.cjs.map +1 -1
  64. package/dist/development/src/model/builder/internal/ManyHasManyProcessor.js.map +1 -1
  65. package/dist/development/src/model/builder/internal/ManyHasOneProcessor.cjs.map +1 -1
  66. package/dist/development/src/model/builder/internal/ManyHasOneProcessor.js.map +1 -1
  67. package/dist/development/src/model/builder/internal/OneHasManyProcessor.cjs.map +1 -1
  68. package/dist/development/src/model/builder/internal/OneHasManyProcessor.js.map +1 -1
  69. package/dist/development/src/model/builder/internal/OneHasOneProcessor.cjs.map +1 -1
  70. package/dist/development/src/model/builder/internal/OneHasOneProcessor.js.map +1 -1
  71. package/dist/development/src/model/definition/EventLogDefinition.cjs.map +1 -1
  72. package/dist/development/src/model/definition/EventLogDefinition.js.map +1 -1
  73. package/dist/development/src/model/definition/IndexDefinition.cjs +35 -10
  74. package/dist/development/src/model/definition/IndexDefinition.cjs.map +1 -1
  75. package/dist/development/src/model/definition/IndexDefinition.js +35 -10
  76. package/dist/development/src/model/definition/IndexDefinition.js.map +1 -1
  77. package/dist/development/src/model/definition/OrderByDefinition.cjs.map +1 -1
  78. package/dist/development/src/model/definition/OrderByDefinition.js.map +1 -1
  79. package/dist/development/src/model/definition/UniqueDefinition.cjs.map +1 -1
  80. package/dist/development/src/model/definition/UniqueDefinition.js.map +1 -1
  81. package/dist/development/src/model/definition/ViewDefinition.cjs.map +1 -1
  82. package/dist/development/src/model/definition/ViewDefinition.js.map +1 -1
  83. package/dist/development/src/model/definition/extensions.cjs.map +1 -1
  84. package/dist/development/src/model/definition/extensions.js.map +1 -1
  85. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +20 -2
  86. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +1 -1
  87. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js +20 -2
  88. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +1 -1
  89. package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.cjs.map +1 -1
  90. package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.js.map +1 -1
  91. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs.map +1 -1
  92. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js.map +1 -1
  93. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs.map +1 -1
  94. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js.map +1 -1
  95. package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs.map +1 -1
  96. package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js.map +1 -1
  97. package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs.map +1 -1
  98. package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.js.map +1 -1
  99. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs.map +1 -1
  100. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.js.map +1 -1
  101. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs.map +1 -1
  102. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map +1 -1
  103. package/dist/development/src/model/definition/index.cjs +1 -0
  104. package/dist/development/src/model/definition/index.cjs.map +1 -1
  105. package/dist/development/src/model/definition/index.js +2 -1
  106. package/dist/development/src/model/definition/index.js.map +1 -1
  107. package/dist/development/src/model/definition/internal/EntityRegistry.cjs.map +1 -1
  108. package/dist/development/src/model/definition/internal/EntityRegistry.js.map +1 -1
  109. package/dist/development/src/model/definition/internal/EnumRegistry.cjs.map +1 -1
  110. package/dist/development/src/model/definition/internal/EnumRegistry.js.map +1 -1
  111. package/dist/development/src/model/definition/internal/SchemaBuilder.cjs.map +1 -1
  112. package/dist/development/src/model/definition/internal/SchemaBuilder.js.map +1 -1
  113. package/dist/development/src/strict.cjs +20 -5
  114. package/dist/development/src/strict.cjs.map +1 -1
  115. package/dist/development/src/strict.js +20 -5
  116. package/dist/development/src/strict.js.map +1 -1
  117. package/dist/development/src/utils/filterEntityDefinition.cjs.map +1 -1
  118. package/dist/development/src/utils/filterEntityDefinition.js.map +1 -1
  119. package/dist/development/src/validation/index.cjs.map +1 -1
  120. package/dist/development/src/validation/index.js.map +1 -1
  121. package/dist/production/index.cjs +1 -0
  122. package/dist/production/index.cjs.map +1 -1
  123. package/dist/production/index.js +2 -1
  124. package/dist/production/index.js.map +1 -1
  125. package/dist/production/src/acl/builder/EntityPermissionsBuilder.cjs.map +1 -1
  126. package/dist/production/src/acl/builder/EntityPermissionsBuilder.js.map +1 -1
  127. package/dist/production/src/acl/builder/FieldPermissionsBuilder.cjs.map +1 -1
  128. package/dist/production/src/acl/builder/FieldPermissionsBuilder.js.map +1 -1
  129. package/dist/production/src/acl/builder/PermissionOverrider.cjs.map +1 -1
  130. package/dist/production/src/acl/builder/PermissionOverrider.js.map +1 -1
  131. package/dist/production/src/acl/builder/PermissionsBuilder.cjs.map +1 -1
  132. package/dist/production/src/acl/builder/PermissionsBuilder.js.map +1 -1
  133. package/dist/production/src/acl/definition/aclExtensions.cjs.map +1 -1
  134. package/dist/production/src/acl/definition/aclExtensions.js.map +1 -1
  135. package/dist/production/src/acl/definition/customPrimary.cjs.map +1 -1
  136. package/dist/production/src/acl/definition/customPrimary.js.map +1 -1
  137. package/dist/production/src/acl/definition/index.cjs.map +1 -1
  138. package/dist/production/src/acl/definition/index.js.map +1 -1
  139. package/dist/production/src/acl/definition/internal/AclFactory.cjs.map +1 -1
  140. package/dist/production/src/acl/definition/internal/AclFactory.js.map +1 -1
  141. package/dist/production/src/acl/definition/internal/EntityPredicateResolver.cjs.map +1 -1
  142. package/dist/production/src/acl/definition/internal/EntityPredicateResolver.js.map +1 -1
  143. package/dist/production/src/acl/definition/internal/createPredicateName.cjs.map +1 -1
  144. package/dist/production/src/acl/definition/internal/createPredicateName.js.map +1 -1
  145. package/dist/production/src/acl/definition/internal/stores.cjs.map +1 -1
  146. package/dist/production/src/acl/definition/internal/stores.js.map +1 -1
  147. package/dist/production/src/acl/definition/permissions.cjs.map +1 -1
  148. package/dist/production/src/acl/definition/permissions.js.map +1 -1
  149. package/dist/production/src/acl/definition/variables.cjs.map +1 -1
  150. package/dist/production/src/acl/definition/variables.js.map +1 -1
  151. package/dist/production/src/actions/definition/index.cjs.map +1 -1
  152. package/dist/production/src/actions/definition/index.js.map +1 -1
  153. package/dist/production/src/actions/definition/internal/ActionsFactory.cjs.map +1 -1
  154. package/dist/production/src/actions/definition/internal/ActionsFactory.js.map +1 -1
  155. package/dist/production/src/actions/definition/internal/store.cjs.map +1 -1
  156. package/dist/production/src/actions/definition/internal/store.js.map +1 -1
  157. package/dist/production/src/actions/definition/triggers.cjs.map +1 -1
  158. package/dist/production/src/actions/definition/triggers.js.map +1 -1
  159. package/dist/production/src/createSchema.cjs +2 -1
  160. package/dist/production/src/createSchema.cjs.map +1 -1
  161. package/dist/production/src/createSchema.js +2 -1
  162. package/dist/production/src/createSchema.js.map +1 -1
  163. package/dist/production/src/model/builder/ColumnBuilder.cjs.map +1 -1
  164. package/dist/production/src/model/builder/ColumnBuilder.js.map +1 -1
  165. package/dist/production/src/model/builder/EntityBuilder.cjs.map +1 -1
  166. package/dist/production/src/model/builder/EntityBuilder.js.map +1 -1
  167. package/dist/production/src/model/builder/FieldBuilder.cjs.map +1 -1
  168. package/dist/production/src/model/builder/FieldBuilder.js.map +1 -1
  169. package/dist/production/src/model/builder/ManyHasManyBuilder.cjs.map +1 -1
  170. package/dist/production/src/model/builder/ManyHasManyBuilder.js.map +1 -1
  171. package/dist/production/src/model/builder/ManyHasOneBuilder.cjs.map +1 -1
  172. package/dist/production/src/model/builder/ManyHasOneBuilder.js.map +1 -1
  173. package/dist/production/src/model/builder/OneHasManyBuilder.cjs.map +1 -1
  174. package/dist/production/src/model/builder/OneHasManyBuilder.js.map +1 -1
  175. package/dist/production/src/model/builder/OneHasOneBuilder.cjs.map +1 -1
  176. package/dist/production/src/model/builder/OneHasOneBuilder.js.map +1 -1
  177. package/dist/production/src/model/builder/SchemaBuilder.cjs.map +1 -1
  178. package/dist/production/src/model/builder/SchemaBuilder.js.map +1 -1
  179. package/dist/production/src/model/builder/SchemaBuilderInternal.cjs.map +1 -1
  180. package/dist/production/src/model/builder/SchemaBuilderInternal.js.map +1 -1
  181. package/dist/production/src/model/builder/internal/ColumnProcessor.cjs.map +1 -1
  182. package/dist/production/src/model/builder/internal/ColumnProcessor.js.map +1 -1
  183. package/dist/production/src/model/builder/internal/ManyHasManyProcessor.cjs.map +1 -1
  184. package/dist/production/src/model/builder/internal/ManyHasManyProcessor.js.map +1 -1
  185. package/dist/production/src/model/builder/internal/ManyHasOneProcessor.cjs.map +1 -1
  186. package/dist/production/src/model/builder/internal/ManyHasOneProcessor.js.map +1 -1
  187. package/dist/production/src/model/builder/internal/OneHasManyProcessor.cjs.map +1 -1
  188. package/dist/production/src/model/builder/internal/OneHasManyProcessor.js.map +1 -1
  189. package/dist/production/src/model/builder/internal/OneHasOneProcessor.cjs.map +1 -1
  190. package/dist/production/src/model/builder/internal/OneHasOneProcessor.js.map +1 -1
  191. package/dist/production/src/model/definition/EventLogDefinition.cjs.map +1 -1
  192. package/dist/production/src/model/definition/EventLogDefinition.js.map +1 -1
  193. package/dist/production/src/model/definition/IndexDefinition.cjs +35 -10
  194. package/dist/production/src/model/definition/IndexDefinition.cjs.map +1 -1
  195. package/dist/production/src/model/definition/IndexDefinition.js +35 -10
  196. package/dist/production/src/model/definition/IndexDefinition.js.map +1 -1
  197. package/dist/production/src/model/definition/OrderByDefinition.cjs.map +1 -1
  198. package/dist/production/src/model/definition/OrderByDefinition.js.map +1 -1
  199. package/dist/production/src/model/definition/UniqueDefinition.cjs.map +1 -1
  200. package/dist/production/src/model/definition/UniqueDefinition.js.map +1 -1
  201. package/dist/production/src/model/definition/ViewDefinition.cjs.map +1 -1
  202. package/dist/production/src/model/definition/ViewDefinition.js.map +1 -1
  203. package/dist/production/src/model/definition/extensions.cjs.map +1 -1
  204. package/dist/production/src/model/definition/extensions.js.map +1 -1
  205. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +20 -2
  206. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +1 -1
  207. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js +20 -2
  208. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +1 -1
  209. package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.cjs.map +1 -1
  210. package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.js.map +1 -1
  211. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs.map +1 -1
  212. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js.map +1 -1
  213. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs.map +1 -1
  214. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js.map +1 -1
  215. package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs.map +1 -1
  216. package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js.map +1 -1
  217. package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs.map +1 -1
  218. package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.js.map +1 -1
  219. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs.map +1 -1
  220. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.js.map +1 -1
  221. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs.map +1 -1
  222. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map +1 -1
  223. package/dist/production/src/model/definition/index.cjs +1 -0
  224. package/dist/production/src/model/definition/index.cjs.map +1 -1
  225. package/dist/production/src/model/definition/index.js +2 -1
  226. package/dist/production/src/model/definition/index.js.map +1 -1
  227. package/dist/production/src/model/definition/internal/EntityRegistry.cjs.map +1 -1
  228. package/dist/production/src/model/definition/internal/EntityRegistry.js.map +1 -1
  229. package/dist/production/src/model/definition/internal/EnumRegistry.cjs.map +1 -1
  230. package/dist/production/src/model/definition/internal/EnumRegistry.js.map +1 -1
  231. package/dist/production/src/model/definition/internal/SchemaBuilder.cjs.map +1 -1
  232. package/dist/production/src/model/definition/internal/SchemaBuilder.js.map +1 -1
  233. package/dist/production/src/strict.cjs +20 -5
  234. package/dist/production/src/strict.cjs.map +1 -1
  235. package/dist/production/src/strict.js +20 -5
  236. package/dist/production/src/strict.js.map +1 -1
  237. package/dist/production/src/utils/filterEntityDefinition.cjs.map +1 -1
  238. package/dist/production/src/utils/filterEntityDefinition.js.map +1 -1
  239. package/dist/production/src/validation/index.cjs.map +1 -1
  240. package/dist/production/src/validation/index.js.map +1 -1
  241. package/dist/tests/cases/unit/numericColumn.test.d.ts +2 -0
  242. package/dist/tests/cases/unit/numericColumn.test.d.ts.map +1 -0
  243. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  244. package/dist/types/acl/builder/EntityPermissionsBuilder.d.ts +5 -5
  245. package/dist/types/acl/builder/EntityPermissionsBuilder.d.ts.map +1 -1
  246. package/dist/types/acl/builder/FieldPermissionsBuilder.d.ts +4 -4
  247. package/dist/types/acl/builder/FieldPermissionsBuilder.d.ts.map +1 -1
  248. package/dist/types/acl/builder/PermissionsBuilder.d.ts +4 -4
  249. package/dist/types/acl/builder/PermissionsBuilder.d.ts.map +1 -1
  250. package/dist/types/acl/definition/aclExtensions.d.ts +2 -2
  251. package/dist/types/acl/definition/aclExtensions.d.ts.map +1 -1
  252. package/dist/types/acl/definition/customPrimary.d.ts +2 -2
  253. package/dist/types/acl/definition/customPrimary.d.ts.map +1 -1
  254. package/dist/types/acl/definition/index.d.ts +5 -5
  255. package/dist/types/acl/definition/index.d.ts.map +1 -1
  256. package/dist/types/acl/definition/internal/AclFactory.d.ts +2 -2
  257. package/dist/types/acl/definition/internal/AclFactory.d.ts.map +1 -1
  258. package/dist/types/acl/definition/internal/EntityPredicateResolver.d.ts +1 -1
  259. package/dist/types/acl/definition/internal/EntityPredicateResolver.d.ts.map +1 -1
  260. package/dist/types/acl/definition/internal/createPredicateName.d.ts +1 -1
  261. package/dist/types/acl/definition/internal/createPredicateName.d.ts.map +1 -1
  262. package/dist/types/acl/definition/internal/stores.d.ts +3 -3
  263. package/dist/types/acl/definition/internal/stores.d.ts.map +1 -1
  264. package/dist/types/acl/definition/permissions.d.ts +4 -4
  265. package/dist/types/acl/definition/permissions.d.ts.map +1 -1
  266. package/dist/types/acl/definition/variables.d.ts +1 -1
  267. package/dist/types/acl/definition/variables.d.ts.map +1 -1
  268. package/dist/types/actions/definition/index.d.ts +2 -2
  269. package/dist/types/actions/definition/index.d.ts.map +1 -1
  270. package/dist/types/actions/definition/internal/store.d.ts +2 -2
  271. package/dist/types/actions/definition/internal/store.d.ts.map +1 -1
  272. package/dist/types/actions/definition/triggers.d.ts +2 -2
  273. package/dist/types/actions/definition/triggers.d.ts.map +1 -1
  274. package/dist/types/createSchema.d.ts +1 -1
  275. package/dist/types/createSchema.d.ts.map +1 -1
  276. package/dist/types/index.d.ts +19 -18
  277. package/dist/types/index.d.ts.map +1 -1
  278. package/dist/types/model/builder/ColumnBuilder.d.ts +1 -1
  279. package/dist/types/model/builder/ColumnBuilder.d.ts.map +1 -1
  280. package/dist/types/model/builder/EntityBuilder.d.ts +7 -7
  281. package/dist/types/model/builder/EntityBuilder.d.ts.map +1 -1
  282. package/dist/types/model/builder/FieldBuilder.d.ts +5 -5
  283. package/dist/types/model/builder/FieldBuilder.d.ts.map +1 -1
  284. package/dist/types/model/builder/ManyHasManyBuilder.d.ts +2 -2
  285. package/dist/types/model/builder/ManyHasManyBuilder.d.ts.map +1 -1
  286. package/dist/types/model/builder/ManyHasOneBuilder.d.ts +2 -2
  287. package/dist/types/model/builder/ManyHasOneBuilder.d.ts.map +1 -1
  288. package/dist/types/model/builder/OneHasManyBuilder.d.ts +2 -2
  289. package/dist/types/model/builder/OneHasManyBuilder.d.ts.map +1 -1
  290. package/dist/types/model/builder/OneHasOneBuilder.d.ts +2 -2
  291. package/dist/types/model/builder/OneHasOneBuilder.d.ts.map +1 -1
  292. package/dist/types/model/builder/SchemaBuilder.d.ts +2 -2
  293. package/dist/types/model/builder/SchemaBuilder.d.ts.map +1 -1
  294. package/dist/types/model/builder/SchemaBuilderInternal.d.ts +2 -2
  295. package/dist/types/model/builder/SchemaBuilderInternal.d.ts.map +1 -1
  296. package/dist/types/model/builder/internal/ColumnProcessor.d.ts +2 -2
  297. package/dist/types/model/builder/internal/ColumnProcessor.d.ts.map +1 -1
  298. package/dist/types/model/builder/internal/ManyHasManyProcessor.d.ts +2 -2
  299. package/dist/types/model/builder/internal/ManyHasManyProcessor.d.ts.map +1 -1
  300. package/dist/types/model/builder/internal/ManyHasOneProcessor.d.ts +2 -2
  301. package/dist/types/model/builder/internal/ManyHasOneProcessor.d.ts.map +1 -1
  302. package/dist/types/model/builder/internal/OneHasManyProcessor.d.ts +2 -2
  303. package/dist/types/model/builder/internal/OneHasManyProcessor.d.ts.map +1 -1
  304. package/dist/types/model/builder/internal/OneHasOneProcessor.d.ts +2 -2
  305. package/dist/types/model/builder/internal/OneHasOneProcessor.d.ts.map +1 -1
  306. package/dist/types/model/builder/types.d.ts +1 -1
  307. package/dist/types/model/builder/types.d.ts.map +1 -1
  308. package/dist/types/model/definition/EventLogDefinition.d.ts +1 -1
  309. package/dist/types/model/definition/EventLogDefinition.d.ts.map +1 -1
  310. package/dist/types/model/definition/IndexDefinition.d.ts +11 -2
  311. package/dist/types/model/definition/IndexDefinition.d.ts.map +1 -1
  312. package/dist/types/model/definition/OrderByDefinition.d.ts +1 -1
  313. package/dist/types/model/definition/OrderByDefinition.d.ts.map +1 -1
  314. package/dist/types/model/definition/UniqueDefinition.d.ts +1 -1
  315. package/dist/types/model/definition/UniqueDefinition.d.ts.map +1 -1
  316. package/dist/types/model/definition/ViewDefinition.d.ts +2 -2
  317. package/dist/types/model/definition/ViewDefinition.d.ts.map +1 -1
  318. package/dist/types/model/definition/context.d.ts +2 -2
  319. package/dist/types/model/definition/context.d.ts.map +1 -1
  320. package/dist/types/model/definition/extensions.d.ts +4 -4
  321. package/dist/types/model/definition/extensions.d.ts.map +1 -1
  322. package/dist/types/model/definition/fieldDefinitions/ColumnDefinition.d.ts +26 -3
  323. package/dist/types/model/definition/fieldDefinitions/ColumnDefinition.d.ts.map +1 -1
  324. package/dist/types/model/definition/fieldDefinitions/FieldDefinition.d.ts +1 -1
  325. package/dist/types/model/definition/fieldDefinitions/FieldDefinition.d.ts.map +1 -1
  326. package/dist/types/model/definition/fieldDefinitions/ManyHasManyDefinition.d.ts +2 -2
  327. package/dist/types/model/definition/fieldDefinitions/ManyHasManyDefinition.d.ts.map +1 -1
  328. package/dist/types/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.d.ts +2 -2
  329. package/dist/types/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.d.ts.map +1 -1
  330. package/dist/types/model/definition/fieldDefinitions/ManyHasOneDefinition.d.ts +2 -2
  331. package/dist/types/model/definition/fieldDefinitions/ManyHasOneDefinition.d.ts.map +1 -1
  332. package/dist/types/model/definition/fieldDefinitions/OneHasManyDefinition.d.ts +2 -2
  333. package/dist/types/model/definition/fieldDefinitions/OneHasManyDefinition.d.ts.map +1 -1
  334. package/dist/types/model/definition/fieldDefinitions/OneHasOneDefinition.d.ts +2 -2
  335. package/dist/types/model/definition/fieldDefinitions/OneHasOneDefinition.d.ts.map +1 -1
  336. package/dist/types/model/definition/fieldDefinitions/OneHasOneInverseDefinition.d.ts +3 -3
  337. package/dist/types/model/definition/fieldDefinitions/OneHasOneInverseDefinition.d.ts.map +1 -1
  338. package/dist/types/model/definition/fieldDefinitions/index.d.ts +8 -8
  339. package/dist/types/model/definition/fieldDefinitions/index.d.ts.map +1 -1
  340. package/dist/types/model/definition/index.d.ts +11 -11
  341. package/dist/types/model/definition/index.d.ts.map +1 -1
  342. package/dist/types/model/definition/internal/EntityRegistry.d.ts +1 -1
  343. package/dist/types/model/definition/internal/EntityRegistry.d.ts.map +1 -1
  344. package/dist/types/model/definition/internal/EnumRegistry.d.ts +1 -1
  345. package/dist/types/model/definition/internal/EnumRegistry.d.ts.map +1 -1
  346. package/dist/types/model/definition/internal/SchemaBuilder.d.ts +3 -3
  347. package/dist/types/model/definition/internal/SchemaBuilder.d.ts.map +1 -1
  348. package/dist/types/model/definition/internal/index.d.ts +3 -3
  349. package/dist/types/model/definition/internal/index.d.ts.map +1 -1
  350. package/dist/types/model/definition/types.d.ts +2 -2
  351. package/dist/types/model/definition/types.d.ts.map +1 -1
  352. package/dist/types/model/index.d.ts +8 -8
  353. package/dist/types/model/index.d.ts.map +1 -1
  354. package/dist/types/strict.d.ts +2 -0
  355. package/dist/types/strict.d.ts.map +1 -1
  356. package/dist/types/tsconfig.tsbuildinfo +1 -1
  357. package/dist/types/utils/filterEntityDefinition.d.ts +1 -1
  358. package/dist/types/utils/filterEntityDefinition.d.ts.map +1 -1
  359. package/dist/types/utils/index.d.ts +5 -5
  360. package/dist/types/utils/index.d.ts.map +1 -1
  361. package/package.json +3 -3
  362. package/src/acl/builder/EntityPermissionsBuilder.ts +6 -6
  363. package/src/acl/builder/FieldPermissionsBuilder.ts +4 -4
  364. package/src/acl/builder/PermissionOverrider.ts +1 -1
  365. package/src/acl/builder/PermissionsBuilder.ts +5 -5
  366. package/src/acl/definition/aclExtensions.ts +2 -2
  367. package/src/acl/definition/customPrimary.ts +3 -3
  368. package/src/acl/definition/index.ts +6 -6
  369. package/src/acl/definition/internal/AclFactory.ts +7 -7
  370. package/src/acl/definition/internal/EntityPredicateResolver.ts +5 -5
  371. package/src/acl/definition/internal/createPredicateName.ts +1 -1
  372. package/src/acl/definition/internal/stores.ts +3 -3
  373. package/src/acl/definition/permissions.ts +5 -5
  374. package/src/acl/definition/variables.ts +1 -1
  375. package/src/actions/definition/index.ts +3 -3
  376. package/src/actions/definition/internal/ActionsFactory.ts +4 -4
  377. package/src/actions/definition/internal/store.ts +2 -2
  378. package/src/actions/definition/triggers.ts +3 -3
  379. package/src/createSchema.ts +7 -6
  380. package/src/index.ts +12 -11
  381. package/src/model/builder/ColumnBuilder.ts +1 -1
  382. package/src/model/builder/EntityBuilder.ts +7 -7
  383. package/src/model/builder/FieldBuilder.ts +5 -5
  384. package/src/model/builder/ManyHasManyBuilder.ts +2 -2
  385. package/src/model/builder/ManyHasOneBuilder.ts +2 -2
  386. package/src/model/builder/OneHasManyBuilder.ts +2 -2
  387. package/src/model/builder/OneHasOneBuilder.ts +2 -2
  388. package/src/model/builder/SchemaBuilder.ts +4 -4
  389. package/src/model/builder/SchemaBuilderInternal.ts +9 -9
  390. package/src/model/builder/internal/ColumnProcessor.ts +2 -2
  391. package/src/model/builder/internal/ManyHasManyProcessor.ts +2 -2
  392. package/src/model/builder/internal/ManyHasOneProcessor.ts +2 -2
  393. package/src/model/builder/internal/OneHasManyProcessor.ts +2 -2
  394. package/src/model/builder/internal/OneHasOneProcessor.ts +2 -2
  395. package/src/model/builder/types.ts +1 -1
  396. package/src/model/definition/EventLogDefinition.ts +1 -1
  397. package/src/model/definition/IndexDefinition.ts +52 -12
  398. package/src/model/definition/OrderByDefinition.ts +2 -2
  399. package/src/model/definition/UniqueDefinition.ts +2 -2
  400. package/src/model/definition/ViewDefinition.ts +3 -3
  401. package/src/model/definition/context.ts +2 -2
  402. package/src/model/definition/extensions.ts +4 -4
  403. package/src/model/definition/fieldDefinitions/ColumnDefinition.ts +34 -3
  404. package/src/model/definition/fieldDefinitions/FieldDefinition.ts +1 -1
  405. package/src/model/definition/fieldDefinitions/ManyHasManyDefinition.ts +2 -2
  406. package/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.ts +2 -2
  407. package/src/model/definition/fieldDefinitions/ManyHasOneDefinition.ts +2 -2
  408. package/src/model/definition/fieldDefinitions/OneHasManyDefinition.ts +2 -2
  409. package/src/model/definition/fieldDefinitions/OneHasOneDefinition.ts +2 -2
  410. package/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.ts +3 -3
  411. package/src/model/definition/fieldDefinitions/index.ts +8 -8
  412. package/src/model/definition/index.ts +13 -13
  413. package/src/model/definition/internal/EntityRegistry.ts +1 -1
  414. package/src/model/definition/internal/EnumRegistry.ts +1 -1
  415. package/src/model/definition/internal/SchemaBuilder.ts +8 -8
  416. package/src/model/definition/internal/index.ts +3 -3
  417. package/src/model/definition/types.ts +2 -2
  418. package/src/model/index.ts +8 -8
  419. package/src/strict.ts +29 -4
  420. package/src/utils/filterEntityDefinition.ts +1 -1
  421. package/src/utils/index.ts +5 -5
  422. package/src/validation/index.ts +3 -3
  423. package/tests/cases/unit/createSchema.test.ts +93 -2
  424. package/tests/cases/unit/extendEntity.test.ts +3 -3
  425. package/tests/cases/unit/numericColumn.test.ts +31 -0
  426. package/tests/cases/unit/orderBy.test.ts +1 -1
  427. package/tests/cases/unit/readAclDefinitions.test.ts +1 -1
  428. package/tests/cases/unit/readActions.test.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnProcessor.cjs","sources":["../../../../../../../packages/schema-definition/src/model/builder/internal/ColumnProcessor.ts"],"sourcesContent":["import FieldProcessor from './FieldProcessor'\nimport ColumnBuilder from '../ColumnBuilder'\nimport { Model } from '@contember/schema'\nimport { NamingConventions, resolveDefaultColumnType } from '@contember/schema-utils'\n\nexport default class ColumnProcessor implements FieldProcessor<ColumnBuilder.Options> {\n\tprivate conventions: NamingConventions\n\n\tconstructor(conventions: NamingConventions) {\n\t\tthis.conventions = conventions\n\t}\n\n\tpublic process(\n\t\tentityName: string,\n\t\tfieldName: string,\n\t\toptions: ColumnBuilder.Options,\n\t\tregisterField: FieldProcessor.FieldRegistrar,\n\t): void {\n\t\tregisterField(entityName, this.toColumnType(fieldName, options))\n\t}\n\n\tprivate toColumnType(fieldName: string, options: ColumnBuilder.Options): Model.Column<Model.ColumnType> {\n\t\tconst type = options.type\n\t\tconst common = {\n\t\t\tname: fieldName,\n\t\t\tcolumnName: options.columnName || this.conventions.getColumnName(fieldName),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t}\n\t\tif (type === Model.ColumnType.Enum) {\n\t\t\treturn { ...common, type: type, columnType: options.enumName! }\n\t\t}\n\t\treturn {\n\t\t\t...common,\n\t\t\ttype,\n\t\t\tcolumnType: resolveDefaultColumnType(type),\n\t\t\t...(options.typeAlias !== undefined ? { typeAlias: options.typeAlias } : {}),\n\t\t}\n\t}\n}\n"],"names":["Model","resolveDefaultColumnType"],"mappings":";;;;;;AAKA,MAAqB,gBAAiE;AAAA,EAGrF,YAAY,aAAgC;AAF5C,kBAAA,MAAQ,aAAA;AAGP,SAAK,cAAc;AAAA,EACpB;AAAA,EAEO,QACN,YACA,WACA,SACA,eACO;AACP,kBAAc,YAAY,KAAK,aAAa,WAAW,OAAO,CAAC;AAAA,EAChE;AAAA,EAEQ,aAAa,WAAmB,SAAgE;AACvG,UAAM,OAAO,QAAQ;AACrB,UAAM,SAAS;AAAA,MACd,MAAM;AAAA,MACN,YAAY,QAAQ,cAAc,KAAK,YAAY,cAAc,SAAS;AAAA,MAC1E,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,IAAA;AAE3D,QAAI,SAASA,OAAAA,MAAM,WAAW,MAAM;AACnC,aAAO,EAAE,GAAG,QAAQ,MAAY,YAAY,QAAQ,SAAA;AAAA,IACrD;AACA,WAAO;AAAA,MACN,GAAG;AAAA,MACH;AAAA,MACA,YAAYC,YAAAA,yBAAyB,IAAI;AAAA,MACzC,GAAI,QAAQ,cAAc,SAAY,EAAE,WAAW,QAAQ,cAAc,CAAA;AAAA,IAAC;AAAA,EAE5E;AACD;;"}
1
+ {"version":3,"file":"ColumnProcessor.cjs","sources":["../../../../../../../packages/schema-definition/src/model/builder/internal/ColumnProcessor.ts"],"sourcesContent":["import FieldProcessor from './FieldProcessor.js'\nimport ColumnBuilder from '../ColumnBuilder.js'\nimport { Model } from '@contember/schema'\nimport { NamingConventions, resolveDefaultColumnType } from '@contember/schema-utils'\n\nexport default class ColumnProcessor implements FieldProcessor<ColumnBuilder.Options> {\n\tprivate conventions: NamingConventions\n\n\tconstructor(conventions: NamingConventions) {\n\t\tthis.conventions = conventions\n\t}\n\n\tpublic process(\n\t\tentityName: string,\n\t\tfieldName: string,\n\t\toptions: ColumnBuilder.Options,\n\t\tregisterField: FieldProcessor.FieldRegistrar,\n\t): void {\n\t\tregisterField(entityName, this.toColumnType(fieldName, options))\n\t}\n\n\tprivate toColumnType(fieldName: string, options: ColumnBuilder.Options): Model.Column<Model.ColumnType> {\n\t\tconst type = options.type\n\t\tconst common = {\n\t\t\tname: fieldName,\n\t\t\tcolumnName: options.columnName || this.conventions.getColumnName(fieldName),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t}\n\t\tif (type === Model.ColumnType.Enum) {\n\t\t\treturn { ...common, type: type, columnType: options.enumName! }\n\t\t}\n\t\treturn {\n\t\t\t...common,\n\t\t\ttype,\n\t\t\tcolumnType: resolveDefaultColumnType(type),\n\t\t\t...(options.typeAlias !== undefined ? { typeAlias: options.typeAlias } : {}),\n\t\t}\n\t}\n}\n"],"names":["Model","resolveDefaultColumnType"],"mappings":";;;;;;AAKA,MAAqB,gBAAiE;AAAA,EAGrF,YAAY,aAAgC;AAF5C,kBAAA,MAAQ,aAAA;AAGP,SAAK,cAAc;AAAA,EACpB;AAAA,EAEO,QACN,YACA,WACA,SACA,eACO;AACP,kBAAc,YAAY,KAAK,aAAa,WAAW,OAAO,CAAC;AAAA,EAChE;AAAA,EAEQ,aAAa,WAAmB,SAAgE;AACvG,UAAM,OAAO,QAAQ;AACrB,UAAM,SAAS;AAAA,MACd,MAAM;AAAA,MACN,YAAY,QAAQ,cAAc,KAAK,YAAY,cAAc,SAAS;AAAA,MAC1E,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,IAAA;AAE3D,QAAI,SAASA,OAAAA,MAAM,WAAW,MAAM;AACnC,aAAO,EAAE,GAAG,QAAQ,MAAY,YAAY,QAAQ,SAAA;AAAA,IACrD;AACA,WAAO;AAAA,MACN,GAAG;AAAA,MACH;AAAA,MACA,YAAYC,YAAAA,yBAAyB,IAAI;AAAA,MACzC,GAAI,QAAQ,cAAc,SAAY,EAAE,WAAW,QAAQ,cAAc,CAAA;AAAA,IAAC;AAAA,EAE5E;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnProcessor.js","sources":["../../../../../../../packages/schema-definition/src/model/builder/internal/ColumnProcessor.ts"],"sourcesContent":["import FieldProcessor from './FieldProcessor'\nimport ColumnBuilder from '../ColumnBuilder'\nimport { Model } from '@contember/schema'\nimport { NamingConventions, resolveDefaultColumnType } from '@contember/schema-utils'\n\nexport default class ColumnProcessor implements FieldProcessor<ColumnBuilder.Options> {\n\tprivate conventions: NamingConventions\n\n\tconstructor(conventions: NamingConventions) {\n\t\tthis.conventions = conventions\n\t}\n\n\tpublic process(\n\t\tentityName: string,\n\t\tfieldName: string,\n\t\toptions: ColumnBuilder.Options,\n\t\tregisterField: FieldProcessor.FieldRegistrar,\n\t): void {\n\t\tregisterField(entityName, this.toColumnType(fieldName, options))\n\t}\n\n\tprivate toColumnType(fieldName: string, options: ColumnBuilder.Options): Model.Column<Model.ColumnType> {\n\t\tconst type = options.type\n\t\tconst common = {\n\t\t\tname: fieldName,\n\t\t\tcolumnName: options.columnName || this.conventions.getColumnName(fieldName),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t}\n\t\tif (type === Model.ColumnType.Enum) {\n\t\t\treturn { ...common, type: type, columnType: options.enumName! }\n\t\t}\n\t\treturn {\n\t\t\t...common,\n\t\t\ttype,\n\t\t\tcolumnType: resolveDefaultColumnType(type),\n\t\t\t...(options.typeAlias !== undefined ? { typeAlias: options.typeAlias } : {}),\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;;AAKA,MAAqB,gBAAiE;AAAA,EAGrF,YAAY,aAAgC;AAF5C,kBAAA,MAAQ,aAAA;AAGP,SAAK,cAAc;AAAA,EACpB;AAAA,EAEO,QACN,YACA,WACA,SACA,eACO;AACP,kBAAc,YAAY,KAAK,aAAa,WAAW,OAAO,CAAC;AAAA,EAChE;AAAA,EAEQ,aAAa,WAAmB,SAAgE;AACvG,UAAM,OAAO,QAAQ;AACrB,UAAM,SAAS;AAAA,MACd,MAAM;AAAA,MACN,YAAY,QAAQ,cAAc,KAAK,YAAY,cAAc,SAAS;AAAA,MAC1E,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,IAAA;AAE3D,QAAI,SAAS,MAAM,WAAW,MAAM;AACnC,aAAO,EAAE,GAAG,QAAQ,MAAY,YAAY,QAAQ,SAAA;AAAA,IACrD;AACA,WAAO;AAAA,MACN,GAAG;AAAA,MACH;AAAA,MACA,YAAY,yBAAyB,IAAI;AAAA,MACzC,GAAI,QAAQ,cAAc,SAAY,EAAE,WAAW,QAAQ,cAAc,CAAA;AAAA,IAAC;AAAA,EAE5E;AACD;"}
1
+ {"version":3,"file":"ColumnProcessor.js","sources":["../../../../../../../packages/schema-definition/src/model/builder/internal/ColumnProcessor.ts"],"sourcesContent":["import FieldProcessor from './FieldProcessor.js'\nimport ColumnBuilder from '../ColumnBuilder.js'\nimport { Model } from '@contember/schema'\nimport { NamingConventions, resolveDefaultColumnType } from '@contember/schema-utils'\n\nexport default class ColumnProcessor implements FieldProcessor<ColumnBuilder.Options> {\n\tprivate conventions: NamingConventions\n\n\tconstructor(conventions: NamingConventions) {\n\t\tthis.conventions = conventions\n\t}\n\n\tpublic process(\n\t\tentityName: string,\n\t\tfieldName: string,\n\t\toptions: ColumnBuilder.Options,\n\t\tregisterField: FieldProcessor.FieldRegistrar,\n\t): void {\n\t\tregisterField(entityName, this.toColumnType(fieldName, options))\n\t}\n\n\tprivate toColumnType(fieldName: string, options: ColumnBuilder.Options): Model.Column<Model.ColumnType> {\n\t\tconst type = options.type\n\t\tconst common = {\n\t\t\tname: fieldName,\n\t\t\tcolumnName: options.columnName || this.conventions.getColumnName(fieldName),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t}\n\t\tif (type === Model.ColumnType.Enum) {\n\t\t\treturn { ...common, type: type, columnType: options.enumName! }\n\t\t}\n\t\treturn {\n\t\t\t...common,\n\t\t\ttype,\n\t\t\tcolumnType: resolveDefaultColumnType(type),\n\t\t\t...(options.typeAlias !== undefined ? { typeAlias: options.typeAlias } : {}),\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;;AAKA,MAAqB,gBAAiE;AAAA,EAGrF,YAAY,aAAgC;AAF5C,kBAAA,MAAQ,aAAA;AAGP,SAAK,cAAc;AAAA,EACpB;AAAA,EAEO,QACN,YACA,WACA,SACA,eACO;AACP,kBAAc,YAAY,KAAK,aAAa,WAAW,OAAO,CAAC;AAAA,EAChE;AAAA,EAEQ,aAAa,WAAmB,SAAgE;AACvG,UAAM,OAAO,QAAQ;AACrB,UAAM,SAAS;AAAA,MACd,MAAM;AAAA,MACN,YAAY,QAAQ,cAAc,KAAK,YAAY,cAAc,SAAS;AAAA,MAC1E,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,IAAA;AAE3D,QAAI,SAAS,MAAM,WAAW,MAAM;AACnC,aAAO,EAAE,GAAG,QAAQ,MAAY,YAAY,QAAQ,SAAA;AAAA,IACrD;AACA,WAAO;AAAA,MACN,GAAG;AAAA,MACH;AAAA,MACA,YAAY,yBAAyB,IAAI;AAAA,MACzC,GAAI,QAAQ,cAAc,SAAY,EAAE,WAAW,QAAQ,cAAc,CAAA;AAAA,IAAC;AAAA,EAE5E;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ManyHasManyProcessor.cjs","sources":["../../../../../../../packages/schema-definition/src/model/builder/internal/ManyHasManyProcessor.ts"],"sourcesContent":["import FieldProcessor from './FieldProcessor'\nimport ManyHasManyBuilder from '../ManyHasManyBuilder'\nimport { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\n\nexport default class ManyHasManyProcessor implements FieldProcessor<ManyHasManyBuilder.Options> {\n\tprivate conventions: NamingConventions\n\n\tconstructor(conventions: NamingConventions) {\n\t\tthis.conventions = conventions\n\t}\n\n\tpublic process(\n\t\tentityName: string,\n\t\tfieldName: string,\n\t\toptions: ManyHasManyBuilder.Options,\n\t\tregisterField: FieldProcessor.FieldRegistrar,\n\t): void {\n\t\tregisterField(entityName, this.createManyHasManyOwning(options, entityName, fieldName))\n\t\tif (options.inversedBy) {\n\t\t\tregisterField(options.target, this.createManyHasManyInverse(options.inversedBy, entityName, fieldName))\n\t\t}\n\t}\n\n\tprivate createManyHasManyInverse(\n\t\tinversedBy: string,\n\t\tentityName: string,\n\t\tfieldName: string,\n\t): Model.ManyHasManyInverseRelation {\n\t\treturn {\n\t\t\tname: inversedBy,\n\t\t\townedBy: fieldName,\n\t\t\ttarget: entityName,\n\t\t\ttype: Model.RelationType.ManyHasMany,\n\t\t}\n\t}\n\n\tprivate createManyHasManyOwning(\n\t\toptions: ManyHasManyBuilder.Options,\n\t\tentityName: string,\n\t\tfieldName: string,\n\t): Model.ManyHasManyOwningRelation {\n\t\tlet joiningTable: Model.JoiningTable | undefined = options.joiningTable\n\t\tif (!joiningTable) {\n\t\t\tconst columnNames = this.conventions.getJoiningTableColumnNames(\n\t\t\t\tentityName,\n\t\t\t\tfieldName,\n\t\t\t\toptions.target,\n\t\t\t\toptions.inversedBy,\n\t\t\t)\n\t\t\tjoiningTable = {\n\t\t\t\ttableName: this.conventions.getJoiningTableName(entityName, fieldName),\n\t\t\t\tjoiningColumn: { columnName: columnNames[0], onDelete: Model.OnDelete.cascade },\n\t\t\t\tinverseJoiningColumn: { columnName: columnNames[1], onDelete: Model.OnDelete.cascade },\n\t\t\t\teventLog: {\n\t\t\t\t\tenabled: true,\n\t\t\t\t},\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\ttype: Model.RelationType.ManyHasMany,\n\t\t\tname: fieldName,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\ttarget: options.target,\n\t\t\tjoiningTable: joiningTable,\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n}\n"],"names":["Model"],"mappings":";;;;;AAKA,MAAqB,qBAA2E;AAAA,EAG/F,YAAY,aAAgC;AAF5C,kBAAA,MAAQ,aAAA;AAGP,SAAK,cAAc;AAAA,EACpB;AAAA,EAEO,QACN,YACA,WACA,SACA,eACO;AACP,kBAAc,YAAY,KAAK,wBAAwB,SAAS,YAAY,SAAS,CAAC;AACtF,QAAI,QAAQ,YAAY;AACvB,oBAAc,QAAQ,QAAQ,KAAK,yBAAyB,QAAQ,YAAY,YAAY,SAAS,CAAC;AAAA,IACvG;AAAA,EACD;AAAA,EAEQ,yBACP,YACA,YACA,WACmC;AACnC,WAAO;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,MAAMA,OAAAA,MAAM,aAAa;AAAA,IAAA;AAAA,EAE3B;AAAA,EAEQ,wBACP,SACA,YACA,WACkC;AAClC,QAAI,eAA+C,QAAQ;AAC3D,QAAI,CAAC,cAAc;AAClB,YAAM,cAAc,KAAK,YAAY;AAAA,QACpC;AAAA,QACA;AAAA,QACA,QAAQ;AAAA,QACR,QAAQ;AAAA,MAAA;AAET,qBAAe;AAAA,QACd,WAAW,KAAK,YAAY,oBAAoB,YAAY,SAAS;AAAA,QACrE,eAAe,EAAE,YAAY,YAAY,CAAC,GAAG,UAAUA,OAAAA,MAAM,SAAS,QAAA;AAAA,QACtE,sBAAsB,EAAE,YAAY,YAAY,CAAC,GAAG,UAAUA,OAAAA,MAAM,SAAS,QAAA;AAAA,QAC7E,UAAU;AAAA,UACT,SAAS;AAAA,QAAA;AAAA,MACV;AAAA,IAEF;AAEA,WAAO;AAAA,MACN,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,MAAM;AAAA,MACN,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAA,IAAK,EAAE,YAAY,QAAQ,WAAA;AAAA,MAC3E,QAAQ,QAAQ;AAAA,MAChB;AAAA,MACA,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAA;AAAA,IAAC;AAAA,EAExD;AACD;;"}
1
+ {"version":3,"file":"ManyHasManyProcessor.cjs","sources":["../../../../../../../packages/schema-definition/src/model/builder/internal/ManyHasManyProcessor.ts"],"sourcesContent":["import FieldProcessor from './FieldProcessor.js'\nimport ManyHasManyBuilder from '../ManyHasManyBuilder.js'\nimport { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\n\nexport default class ManyHasManyProcessor implements FieldProcessor<ManyHasManyBuilder.Options> {\n\tprivate conventions: NamingConventions\n\n\tconstructor(conventions: NamingConventions) {\n\t\tthis.conventions = conventions\n\t}\n\n\tpublic process(\n\t\tentityName: string,\n\t\tfieldName: string,\n\t\toptions: ManyHasManyBuilder.Options,\n\t\tregisterField: FieldProcessor.FieldRegistrar,\n\t): void {\n\t\tregisterField(entityName, this.createManyHasManyOwning(options, entityName, fieldName))\n\t\tif (options.inversedBy) {\n\t\t\tregisterField(options.target, this.createManyHasManyInverse(options.inversedBy, entityName, fieldName))\n\t\t}\n\t}\n\n\tprivate createManyHasManyInverse(\n\t\tinversedBy: string,\n\t\tentityName: string,\n\t\tfieldName: string,\n\t): Model.ManyHasManyInverseRelation {\n\t\treturn {\n\t\t\tname: inversedBy,\n\t\t\townedBy: fieldName,\n\t\t\ttarget: entityName,\n\t\t\ttype: Model.RelationType.ManyHasMany,\n\t\t}\n\t}\n\n\tprivate createManyHasManyOwning(\n\t\toptions: ManyHasManyBuilder.Options,\n\t\tentityName: string,\n\t\tfieldName: string,\n\t): Model.ManyHasManyOwningRelation {\n\t\tlet joiningTable: Model.JoiningTable | undefined = options.joiningTable\n\t\tif (!joiningTable) {\n\t\t\tconst columnNames = this.conventions.getJoiningTableColumnNames(\n\t\t\t\tentityName,\n\t\t\t\tfieldName,\n\t\t\t\toptions.target,\n\t\t\t\toptions.inversedBy,\n\t\t\t)\n\t\t\tjoiningTable = {\n\t\t\t\ttableName: this.conventions.getJoiningTableName(entityName, fieldName),\n\t\t\t\tjoiningColumn: { columnName: columnNames[0], onDelete: Model.OnDelete.cascade },\n\t\t\t\tinverseJoiningColumn: { columnName: columnNames[1], onDelete: Model.OnDelete.cascade },\n\t\t\t\teventLog: {\n\t\t\t\t\tenabled: true,\n\t\t\t\t},\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\ttype: Model.RelationType.ManyHasMany,\n\t\t\tname: fieldName,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\ttarget: options.target,\n\t\t\tjoiningTable: joiningTable,\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n}\n"],"names":["Model"],"mappings":";;;;;AAKA,MAAqB,qBAA2E;AAAA,EAG/F,YAAY,aAAgC;AAF5C,kBAAA,MAAQ,aAAA;AAGP,SAAK,cAAc;AAAA,EACpB;AAAA,EAEO,QACN,YACA,WACA,SACA,eACO;AACP,kBAAc,YAAY,KAAK,wBAAwB,SAAS,YAAY,SAAS,CAAC;AACtF,QAAI,QAAQ,YAAY;AACvB,oBAAc,QAAQ,QAAQ,KAAK,yBAAyB,QAAQ,YAAY,YAAY,SAAS,CAAC;AAAA,IACvG;AAAA,EACD;AAAA,EAEQ,yBACP,YACA,YACA,WACmC;AACnC,WAAO;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,MAAMA,OAAAA,MAAM,aAAa;AAAA,IAAA;AAAA,EAE3B;AAAA,EAEQ,wBACP,SACA,YACA,WACkC;AAClC,QAAI,eAA+C,QAAQ;AAC3D,QAAI,CAAC,cAAc;AAClB,YAAM,cAAc,KAAK,YAAY;AAAA,QACpC;AAAA,QACA;AAAA,QACA,QAAQ;AAAA,QACR,QAAQ;AAAA,MAAA;AAET,qBAAe;AAAA,QACd,WAAW,KAAK,YAAY,oBAAoB,YAAY,SAAS;AAAA,QACrE,eAAe,EAAE,YAAY,YAAY,CAAC,GAAG,UAAUA,OAAAA,MAAM,SAAS,QAAA;AAAA,QACtE,sBAAsB,EAAE,YAAY,YAAY,CAAC,GAAG,UAAUA,OAAAA,MAAM,SAAS,QAAA;AAAA,QAC7E,UAAU;AAAA,UACT,SAAS;AAAA,QAAA;AAAA,MACV;AAAA,IAEF;AAEA,WAAO;AAAA,MACN,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,MAAM;AAAA,MACN,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAA,IAAK,EAAE,YAAY,QAAQ,WAAA;AAAA,MAC3E,QAAQ,QAAQ;AAAA,MAChB;AAAA,MACA,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAA;AAAA,IAAC;AAAA,EAExD;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ManyHasManyProcessor.js","sources":["../../../../../../../packages/schema-definition/src/model/builder/internal/ManyHasManyProcessor.ts"],"sourcesContent":["import FieldProcessor from './FieldProcessor'\nimport ManyHasManyBuilder from '../ManyHasManyBuilder'\nimport { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\n\nexport default class ManyHasManyProcessor implements FieldProcessor<ManyHasManyBuilder.Options> {\n\tprivate conventions: NamingConventions\n\n\tconstructor(conventions: NamingConventions) {\n\t\tthis.conventions = conventions\n\t}\n\n\tpublic process(\n\t\tentityName: string,\n\t\tfieldName: string,\n\t\toptions: ManyHasManyBuilder.Options,\n\t\tregisterField: FieldProcessor.FieldRegistrar,\n\t): void {\n\t\tregisterField(entityName, this.createManyHasManyOwning(options, entityName, fieldName))\n\t\tif (options.inversedBy) {\n\t\t\tregisterField(options.target, this.createManyHasManyInverse(options.inversedBy, entityName, fieldName))\n\t\t}\n\t}\n\n\tprivate createManyHasManyInverse(\n\t\tinversedBy: string,\n\t\tentityName: string,\n\t\tfieldName: string,\n\t): Model.ManyHasManyInverseRelation {\n\t\treturn {\n\t\t\tname: inversedBy,\n\t\t\townedBy: fieldName,\n\t\t\ttarget: entityName,\n\t\t\ttype: Model.RelationType.ManyHasMany,\n\t\t}\n\t}\n\n\tprivate createManyHasManyOwning(\n\t\toptions: ManyHasManyBuilder.Options,\n\t\tentityName: string,\n\t\tfieldName: string,\n\t): Model.ManyHasManyOwningRelation {\n\t\tlet joiningTable: Model.JoiningTable | undefined = options.joiningTable\n\t\tif (!joiningTable) {\n\t\t\tconst columnNames = this.conventions.getJoiningTableColumnNames(\n\t\t\t\tentityName,\n\t\t\t\tfieldName,\n\t\t\t\toptions.target,\n\t\t\t\toptions.inversedBy,\n\t\t\t)\n\t\t\tjoiningTable = {\n\t\t\t\ttableName: this.conventions.getJoiningTableName(entityName, fieldName),\n\t\t\t\tjoiningColumn: { columnName: columnNames[0], onDelete: Model.OnDelete.cascade },\n\t\t\t\tinverseJoiningColumn: { columnName: columnNames[1], onDelete: Model.OnDelete.cascade },\n\t\t\t\teventLog: {\n\t\t\t\t\tenabled: true,\n\t\t\t\t},\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\ttype: Model.RelationType.ManyHasMany,\n\t\t\tname: fieldName,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\ttarget: options.target,\n\t\t\tjoiningTable: joiningTable,\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;AAKA,MAAqB,qBAA2E;AAAA,EAG/F,YAAY,aAAgC;AAF5C,kBAAA,MAAQ,aAAA;AAGP,SAAK,cAAc;AAAA,EACpB;AAAA,EAEO,QACN,YACA,WACA,SACA,eACO;AACP,kBAAc,YAAY,KAAK,wBAAwB,SAAS,YAAY,SAAS,CAAC;AACtF,QAAI,QAAQ,YAAY;AACvB,oBAAc,QAAQ,QAAQ,KAAK,yBAAyB,QAAQ,YAAY,YAAY,SAAS,CAAC;AAAA,IACvG;AAAA,EACD;AAAA,EAEQ,yBACP,YACA,YACA,WACmC;AACnC,WAAO;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,MAAM,MAAM,aAAa;AAAA,IAAA;AAAA,EAE3B;AAAA,EAEQ,wBACP,SACA,YACA,WACkC;AAClC,QAAI,eAA+C,QAAQ;AAC3D,QAAI,CAAC,cAAc;AAClB,YAAM,cAAc,KAAK,YAAY;AAAA,QACpC;AAAA,QACA;AAAA,QACA,QAAQ;AAAA,QACR,QAAQ;AAAA,MAAA;AAET,qBAAe;AAAA,QACd,WAAW,KAAK,YAAY,oBAAoB,YAAY,SAAS;AAAA,QACrE,eAAe,EAAE,YAAY,YAAY,CAAC,GAAG,UAAU,MAAM,SAAS,QAAA;AAAA,QACtE,sBAAsB,EAAE,YAAY,YAAY,CAAC,GAAG,UAAU,MAAM,SAAS,QAAA;AAAA,QAC7E,UAAU;AAAA,UACT,SAAS;AAAA,QAAA;AAAA,MACV;AAAA,IAEF;AAEA,WAAO;AAAA,MACN,MAAM,MAAM,aAAa;AAAA,MACzB,MAAM;AAAA,MACN,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAA,IAAK,EAAE,YAAY,QAAQ,WAAA;AAAA,MAC3E,QAAQ,QAAQ;AAAA,MAChB;AAAA,MACA,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAA;AAAA,IAAC;AAAA,EAExD;AACD;"}
1
+ {"version":3,"file":"ManyHasManyProcessor.js","sources":["../../../../../../../packages/schema-definition/src/model/builder/internal/ManyHasManyProcessor.ts"],"sourcesContent":["import FieldProcessor from './FieldProcessor.js'\nimport ManyHasManyBuilder from '../ManyHasManyBuilder.js'\nimport { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\n\nexport default class ManyHasManyProcessor implements FieldProcessor<ManyHasManyBuilder.Options> {\n\tprivate conventions: NamingConventions\n\n\tconstructor(conventions: NamingConventions) {\n\t\tthis.conventions = conventions\n\t}\n\n\tpublic process(\n\t\tentityName: string,\n\t\tfieldName: string,\n\t\toptions: ManyHasManyBuilder.Options,\n\t\tregisterField: FieldProcessor.FieldRegistrar,\n\t): void {\n\t\tregisterField(entityName, this.createManyHasManyOwning(options, entityName, fieldName))\n\t\tif (options.inversedBy) {\n\t\t\tregisterField(options.target, this.createManyHasManyInverse(options.inversedBy, entityName, fieldName))\n\t\t}\n\t}\n\n\tprivate createManyHasManyInverse(\n\t\tinversedBy: string,\n\t\tentityName: string,\n\t\tfieldName: string,\n\t): Model.ManyHasManyInverseRelation {\n\t\treturn {\n\t\t\tname: inversedBy,\n\t\t\townedBy: fieldName,\n\t\t\ttarget: entityName,\n\t\t\ttype: Model.RelationType.ManyHasMany,\n\t\t}\n\t}\n\n\tprivate createManyHasManyOwning(\n\t\toptions: ManyHasManyBuilder.Options,\n\t\tentityName: string,\n\t\tfieldName: string,\n\t): Model.ManyHasManyOwningRelation {\n\t\tlet joiningTable: Model.JoiningTable | undefined = options.joiningTable\n\t\tif (!joiningTable) {\n\t\t\tconst columnNames = this.conventions.getJoiningTableColumnNames(\n\t\t\t\tentityName,\n\t\t\t\tfieldName,\n\t\t\t\toptions.target,\n\t\t\t\toptions.inversedBy,\n\t\t\t)\n\t\t\tjoiningTable = {\n\t\t\t\ttableName: this.conventions.getJoiningTableName(entityName, fieldName),\n\t\t\t\tjoiningColumn: { columnName: columnNames[0], onDelete: Model.OnDelete.cascade },\n\t\t\t\tinverseJoiningColumn: { columnName: columnNames[1], onDelete: Model.OnDelete.cascade },\n\t\t\t\teventLog: {\n\t\t\t\t\tenabled: true,\n\t\t\t\t},\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\ttype: Model.RelationType.ManyHasMany,\n\t\t\tname: fieldName,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\ttarget: options.target,\n\t\t\tjoiningTable: joiningTable,\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;AAKA,MAAqB,qBAA2E;AAAA,EAG/F,YAAY,aAAgC;AAF5C,kBAAA,MAAQ,aAAA;AAGP,SAAK,cAAc;AAAA,EACpB;AAAA,EAEO,QACN,YACA,WACA,SACA,eACO;AACP,kBAAc,YAAY,KAAK,wBAAwB,SAAS,YAAY,SAAS,CAAC;AACtF,QAAI,QAAQ,YAAY;AACvB,oBAAc,QAAQ,QAAQ,KAAK,yBAAyB,QAAQ,YAAY,YAAY,SAAS,CAAC;AAAA,IACvG;AAAA,EACD;AAAA,EAEQ,yBACP,YACA,YACA,WACmC;AACnC,WAAO;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,MAAM,MAAM,aAAa;AAAA,IAAA;AAAA,EAE3B;AAAA,EAEQ,wBACP,SACA,YACA,WACkC;AAClC,QAAI,eAA+C,QAAQ;AAC3D,QAAI,CAAC,cAAc;AAClB,YAAM,cAAc,KAAK,YAAY;AAAA,QACpC;AAAA,QACA;AAAA,QACA,QAAQ;AAAA,QACR,QAAQ;AAAA,MAAA;AAET,qBAAe;AAAA,QACd,WAAW,KAAK,YAAY,oBAAoB,YAAY,SAAS;AAAA,QACrE,eAAe,EAAE,YAAY,YAAY,CAAC,GAAG,UAAU,MAAM,SAAS,QAAA;AAAA,QACtE,sBAAsB,EAAE,YAAY,YAAY,CAAC,GAAG,UAAU,MAAM,SAAS,QAAA;AAAA,QAC7E,UAAU;AAAA,UACT,SAAS;AAAA,QAAA;AAAA,MACV;AAAA,IAEF;AAEA,WAAO;AAAA,MACN,MAAM,MAAM,aAAa;AAAA,MACzB,MAAM;AAAA,MACN,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAA,IAAK,EAAE,YAAY,QAAQ,WAAA;AAAA,MAC3E,QAAQ,QAAQ;AAAA,MAChB;AAAA,MACA,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAA;AAAA,IAAC;AAAA,EAExD;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ManyHasOneProcessor.cjs","sources":["../../../../../../../packages/schema-definition/src/model/builder/internal/ManyHasOneProcessor.ts"],"sourcesContent":["import FieldProcessor from './FieldProcessor'\nimport { Model } from '@contember/schema'\nimport ManyHasOneBuilder from '../ManyHasOneBuilder'\nimport { NamingConventions } from '@contember/schema-utils'\n\nexport default class ManyHasOneProcessor implements FieldProcessor<ManyHasOneBuilder.Options> {\n\tprivate conventions: NamingConventions\n\n\tconstructor(conventions: NamingConventions) {\n\t\tthis.conventions = conventions\n\t}\n\n\tpublic process(\n\t\tentityName: string,\n\t\tfieldName: string,\n\t\toptions: ManyHasOneBuilder.Options,\n\t\tregisterField: FieldProcessor.FieldRegistrar,\n\t): void {\n\t\tregisterField(entityName, this.createManyHasOneOwning(options, fieldName))\n\t\tif (options.inversedBy) {\n\t\t\tconst inverse = this.createManyHasOneInverse(\n\t\t\t\toptions as ManyHasOneBuilder.Options & { inversedBy: string },\n\t\t\t\tentityName,\n\t\t\t\tfieldName,\n\t\t\t)\n\t\t\tregisterField(options.target, inverse)\n\t\t}\n\t}\n\n\tprivate createManyHasOneInverse(\n\t\toptions: ManyHasOneBuilder.Options & { inversedBy: string },\n\t\tentityName: string,\n\t\tfieldName: string,\n\t): Model.OneHasManyRelation {\n\t\treturn {\n\t\t\tname: options.inversedBy,\n\t\t\townedBy: fieldName,\n\t\t\ttarget: entityName,\n\t\t\ttype: Model.RelationType.OneHasMany,\n\t\t}\n\t}\n\n\tprivate createManyHasOneOwning(options: ManyHasOneBuilder.Options, fieldName: string): Model.ManyHasOneRelation {\n\t\tconst joiningColumn = options.joiningColumn || {}\n\t\treturn {\n\t\t\tname: fieldName,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t\ttype: Model.RelationType.ManyHasOne,\n\t\t\ttarget: options.target,\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || this.conventions.getJoiningColumnName(fieldName),\n\t\t\t\tonDelete: joiningColumn.onDelete || Model.OnDelete.restrict,\n\t\t\t},\n\t\t}\n\t}\n}\n"],"names":["Model"],"mappings":";;;;;AAKA,MAAqB,oBAAyE;AAAA,EAG7F,YAAY,aAAgC;AAF5C,kBAAA,MAAQ,aAAA;AAGP,SAAK,cAAc;AAAA,EACpB;AAAA,EAEO,QACN,YACA,WACA,SACA,eACO;AACP,kBAAc,YAAY,KAAK,uBAAuB,SAAS,SAAS,CAAC;AACzE,QAAI,QAAQ,YAAY;AACvB,YAAM,UAAU,KAAK;AAAA,QACpB;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAED,oBAAc,QAAQ,QAAQ,OAAO;AAAA,IACtC;AAAA,EACD;AAAA,EAEQ,wBACP,SACA,YACA,WAC2B;AAC3B,WAAO;AAAA,MACN,MAAM,QAAQ;AAAA,MACd,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,MAAMA,OAAAA,MAAM,aAAa;AAAA,IAAA;AAAA,EAE3B;AAAA,EAEQ,uBAAuB,SAAoC,WAA6C;AAC/G,UAAM,gBAAgB,QAAQ,iBAAiB,CAAA;AAC/C,WAAO;AAAA,MACN,MAAM;AAAA,MACN,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAA,IAAK,EAAE,YAAY,QAAQ,WAAA;AAAA,MAC3E,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,MAC1D,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,QAAQ,QAAQ;AAAA,MAChB,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,KAAK,YAAY,qBAAqB,SAAS;AAAA,QACvF,UAAU,cAAc,YAAYA,OAAAA,MAAM,SAAS;AAAA,MAAA;AAAA,IACpD;AAAA,EAEF;AACD;;"}
1
+ {"version":3,"file":"ManyHasOneProcessor.cjs","sources":["../../../../../../../packages/schema-definition/src/model/builder/internal/ManyHasOneProcessor.ts"],"sourcesContent":["import FieldProcessor from './FieldProcessor.js'\nimport { Model } from '@contember/schema'\nimport ManyHasOneBuilder from '../ManyHasOneBuilder.js'\nimport { NamingConventions } from '@contember/schema-utils'\n\nexport default class ManyHasOneProcessor implements FieldProcessor<ManyHasOneBuilder.Options> {\n\tprivate conventions: NamingConventions\n\n\tconstructor(conventions: NamingConventions) {\n\t\tthis.conventions = conventions\n\t}\n\n\tpublic process(\n\t\tentityName: string,\n\t\tfieldName: string,\n\t\toptions: ManyHasOneBuilder.Options,\n\t\tregisterField: FieldProcessor.FieldRegistrar,\n\t): void {\n\t\tregisterField(entityName, this.createManyHasOneOwning(options, fieldName))\n\t\tif (options.inversedBy) {\n\t\t\tconst inverse = this.createManyHasOneInverse(\n\t\t\t\toptions as ManyHasOneBuilder.Options & { inversedBy: string },\n\t\t\t\tentityName,\n\t\t\t\tfieldName,\n\t\t\t)\n\t\t\tregisterField(options.target, inverse)\n\t\t}\n\t}\n\n\tprivate createManyHasOneInverse(\n\t\toptions: ManyHasOneBuilder.Options & { inversedBy: string },\n\t\tentityName: string,\n\t\tfieldName: string,\n\t): Model.OneHasManyRelation {\n\t\treturn {\n\t\t\tname: options.inversedBy,\n\t\t\townedBy: fieldName,\n\t\t\ttarget: entityName,\n\t\t\ttype: Model.RelationType.OneHasMany,\n\t\t}\n\t}\n\n\tprivate createManyHasOneOwning(options: ManyHasOneBuilder.Options, fieldName: string): Model.ManyHasOneRelation {\n\t\tconst joiningColumn = options.joiningColumn || {}\n\t\treturn {\n\t\t\tname: fieldName,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t\ttype: Model.RelationType.ManyHasOne,\n\t\t\ttarget: options.target,\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || this.conventions.getJoiningColumnName(fieldName),\n\t\t\t\tonDelete: joiningColumn.onDelete || Model.OnDelete.restrict,\n\t\t\t},\n\t\t}\n\t}\n}\n"],"names":["Model"],"mappings":";;;;;AAKA,MAAqB,oBAAyE;AAAA,EAG7F,YAAY,aAAgC;AAF5C,kBAAA,MAAQ,aAAA;AAGP,SAAK,cAAc;AAAA,EACpB;AAAA,EAEO,QACN,YACA,WACA,SACA,eACO;AACP,kBAAc,YAAY,KAAK,uBAAuB,SAAS,SAAS,CAAC;AACzE,QAAI,QAAQ,YAAY;AACvB,YAAM,UAAU,KAAK;AAAA,QACpB;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAED,oBAAc,QAAQ,QAAQ,OAAO;AAAA,IACtC;AAAA,EACD;AAAA,EAEQ,wBACP,SACA,YACA,WAC2B;AAC3B,WAAO;AAAA,MACN,MAAM,QAAQ;AAAA,MACd,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,MAAMA,OAAAA,MAAM,aAAa;AAAA,IAAA;AAAA,EAE3B;AAAA,EAEQ,uBAAuB,SAAoC,WAA6C;AAC/G,UAAM,gBAAgB,QAAQ,iBAAiB,CAAA;AAC/C,WAAO;AAAA,MACN,MAAM;AAAA,MACN,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAA,IAAK,EAAE,YAAY,QAAQ,WAAA;AAAA,MAC3E,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,MAC1D,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,QAAQ,QAAQ;AAAA,MAChB,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,KAAK,YAAY,qBAAqB,SAAS;AAAA,QACvF,UAAU,cAAc,YAAYA,OAAAA,MAAM,SAAS;AAAA,MAAA;AAAA,IACpD;AAAA,EAEF;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ManyHasOneProcessor.js","sources":["../../../../../../../packages/schema-definition/src/model/builder/internal/ManyHasOneProcessor.ts"],"sourcesContent":["import FieldProcessor from './FieldProcessor'\nimport { Model } from '@contember/schema'\nimport ManyHasOneBuilder from '../ManyHasOneBuilder'\nimport { NamingConventions } from '@contember/schema-utils'\n\nexport default class ManyHasOneProcessor implements FieldProcessor<ManyHasOneBuilder.Options> {\n\tprivate conventions: NamingConventions\n\n\tconstructor(conventions: NamingConventions) {\n\t\tthis.conventions = conventions\n\t}\n\n\tpublic process(\n\t\tentityName: string,\n\t\tfieldName: string,\n\t\toptions: ManyHasOneBuilder.Options,\n\t\tregisterField: FieldProcessor.FieldRegistrar,\n\t): void {\n\t\tregisterField(entityName, this.createManyHasOneOwning(options, fieldName))\n\t\tif (options.inversedBy) {\n\t\t\tconst inverse = this.createManyHasOneInverse(\n\t\t\t\toptions as ManyHasOneBuilder.Options & { inversedBy: string },\n\t\t\t\tentityName,\n\t\t\t\tfieldName,\n\t\t\t)\n\t\t\tregisterField(options.target, inverse)\n\t\t}\n\t}\n\n\tprivate createManyHasOneInverse(\n\t\toptions: ManyHasOneBuilder.Options & { inversedBy: string },\n\t\tentityName: string,\n\t\tfieldName: string,\n\t): Model.OneHasManyRelation {\n\t\treturn {\n\t\t\tname: options.inversedBy,\n\t\t\townedBy: fieldName,\n\t\t\ttarget: entityName,\n\t\t\ttype: Model.RelationType.OneHasMany,\n\t\t}\n\t}\n\n\tprivate createManyHasOneOwning(options: ManyHasOneBuilder.Options, fieldName: string): Model.ManyHasOneRelation {\n\t\tconst joiningColumn = options.joiningColumn || {}\n\t\treturn {\n\t\t\tname: fieldName,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t\ttype: Model.RelationType.ManyHasOne,\n\t\t\ttarget: options.target,\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || this.conventions.getJoiningColumnName(fieldName),\n\t\t\t\tonDelete: joiningColumn.onDelete || Model.OnDelete.restrict,\n\t\t\t},\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;AAKA,MAAqB,oBAAyE;AAAA,EAG7F,YAAY,aAAgC;AAF5C,kBAAA,MAAQ,aAAA;AAGP,SAAK,cAAc;AAAA,EACpB;AAAA,EAEO,QACN,YACA,WACA,SACA,eACO;AACP,kBAAc,YAAY,KAAK,uBAAuB,SAAS,SAAS,CAAC;AACzE,QAAI,QAAQ,YAAY;AACvB,YAAM,UAAU,KAAK;AAAA,QACpB;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAED,oBAAc,QAAQ,QAAQ,OAAO;AAAA,IACtC;AAAA,EACD;AAAA,EAEQ,wBACP,SACA,YACA,WAC2B;AAC3B,WAAO;AAAA,MACN,MAAM,QAAQ;AAAA,MACd,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,MAAM,MAAM,aAAa;AAAA,IAAA;AAAA,EAE3B;AAAA,EAEQ,uBAAuB,SAAoC,WAA6C;AAC/G,UAAM,gBAAgB,QAAQ,iBAAiB,CAAA;AAC/C,WAAO;AAAA,MACN,MAAM;AAAA,MACN,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAA,IAAK,EAAE,YAAY,QAAQ,WAAA;AAAA,MAC3E,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,MAC1D,MAAM,MAAM,aAAa;AAAA,MACzB,QAAQ,QAAQ;AAAA,MAChB,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,KAAK,YAAY,qBAAqB,SAAS;AAAA,QACvF,UAAU,cAAc,YAAY,MAAM,SAAS;AAAA,MAAA;AAAA,IACpD;AAAA,EAEF;AACD;"}
1
+ {"version":3,"file":"ManyHasOneProcessor.js","sources":["../../../../../../../packages/schema-definition/src/model/builder/internal/ManyHasOneProcessor.ts"],"sourcesContent":["import FieldProcessor from './FieldProcessor.js'\nimport { Model } from '@contember/schema'\nimport ManyHasOneBuilder from '../ManyHasOneBuilder.js'\nimport { NamingConventions } from '@contember/schema-utils'\n\nexport default class ManyHasOneProcessor implements FieldProcessor<ManyHasOneBuilder.Options> {\n\tprivate conventions: NamingConventions\n\n\tconstructor(conventions: NamingConventions) {\n\t\tthis.conventions = conventions\n\t}\n\n\tpublic process(\n\t\tentityName: string,\n\t\tfieldName: string,\n\t\toptions: ManyHasOneBuilder.Options,\n\t\tregisterField: FieldProcessor.FieldRegistrar,\n\t): void {\n\t\tregisterField(entityName, this.createManyHasOneOwning(options, fieldName))\n\t\tif (options.inversedBy) {\n\t\t\tconst inverse = this.createManyHasOneInverse(\n\t\t\t\toptions as ManyHasOneBuilder.Options & { inversedBy: string },\n\t\t\t\tentityName,\n\t\t\t\tfieldName,\n\t\t\t)\n\t\t\tregisterField(options.target, inverse)\n\t\t}\n\t}\n\n\tprivate createManyHasOneInverse(\n\t\toptions: ManyHasOneBuilder.Options & { inversedBy: string },\n\t\tentityName: string,\n\t\tfieldName: string,\n\t): Model.OneHasManyRelation {\n\t\treturn {\n\t\t\tname: options.inversedBy,\n\t\t\townedBy: fieldName,\n\t\t\ttarget: entityName,\n\t\t\ttype: Model.RelationType.OneHasMany,\n\t\t}\n\t}\n\n\tprivate createManyHasOneOwning(options: ManyHasOneBuilder.Options, fieldName: string): Model.ManyHasOneRelation {\n\t\tconst joiningColumn = options.joiningColumn || {}\n\t\treturn {\n\t\t\tname: fieldName,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t\ttype: Model.RelationType.ManyHasOne,\n\t\t\ttarget: options.target,\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || this.conventions.getJoiningColumnName(fieldName),\n\t\t\t\tonDelete: joiningColumn.onDelete || Model.OnDelete.restrict,\n\t\t\t},\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;AAKA,MAAqB,oBAAyE;AAAA,EAG7F,YAAY,aAAgC;AAF5C,kBAAA,MAAQ,aAAA;AAGP,SAAK,cAAc;AAAA,EACpB;AAAA,EAEO,QACN,YACA,WACA,SACA,eACO;AACP,kBAAc,YAAY,KAAK,uBAAuB,SAAS,SAAS,CAAC;AACzE,QAAI,QAAQ,YAAY;AACvB,YAAM,UAAU,KAAK;AAAA,QACpB;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAED,oBAAc,QAAQ,QAAQ,OAAO;AAAA,IACtC;AAAA,EACD;AAAA,EAEQ,wBACP,SACA,YACA,WAC2B;AAC3B,WAAO;AAAA,MACN,MAAM,QAAQ;AAAA,MACd,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,MAAM,MAAM,aAAa;AAAA,IAAA;AAAA,EAE3B;AAAA,EAEQ,uBAAuB,SAAoC,WAA6C;AAC/G,UAAM,gBAAgB,QAAQ,iBAAiB,CAAA;AAC/C,WAAO;AAAA,MACN,MAAM;AAAA,MACN,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAA,IAAK,EAAE,YAAY,QAAQ,WAAA;AAAA,MAC3E,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,MAC1D,MAAM,MAAM,aAAa;AAAA,MACzB,QAAQ,QAAQ;AAAA,MAChB,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,KAAK,YAAY,qBAAqB,SAAS;AAAA,QACvF,UAAU,cAAc,YAAY,MAAM,SAAS;AAAA,MAAA;AAAA,IACpD;AAAA,EAEF;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"OneHasManyProcessor.cjs","sources":["../../../../../../../packages/schema-definition/src/model/builder/internal/OneHasManyProcessor.ts"],"sourcesContent":["import FieldProcessor from './FieldProcessor'\nimport OneHasManyBuilder from '../OneHasManyBuilder'\nimport { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\n\nexport default class OneHasManyProcessor implements FieldProcessor<OneHasManyBuilder.Options> {\n\tprivate conventions: NamingConventions\n\n\tconstructor(conventions: NamingConventions) {\n\t\tthis.conventions = conventions\n\t}\n\n\tprocess(\n\t\tentityName: string,\n\t\tfieldName: string,\n\t\toptions: OneHasManyBuilder.Options,\n\t\tregisterField: FieldProcessor.FieldRegistrar,\n\t): void {\n\t\tconst optionsFinalized = {\n\t\t\t...options,\n\t\t\townedBy: options.ownedBy || entityName,\n\t\t}\n\t\tregisterField(optionsFinalized.target, this.createOwning(optionsFinalized, entityName, fieldName))\n\t\tregisterField(entityName, this.createInverse(optionsFinalized, fieldName))\n\t}\n\n\tprivate createInverse(\n\t\toptions: OneHasManyBuilder.Options & { ownedBy: string },\n\t\tfieldName: string,\n\t): Model.OneHasManyRelation {\n\t\treturn {\n\t\t\tname: fieldName,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttype: Model.RelationType.OneHasMany,\n\t\t\ttarget: options.target,\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n\n\tprivate createOwning(\n\t\toptions: OneHasManyBuilder.Options & { ownedBy: string },\n\t\tentityName: string,\n\t\tfieldName: string,\n\t): Model.ManyHasOneRelation {\n\t\tconst joiningColumn = options.ownerJoiningColumn || {}\n\n\t\treturn {\n\t\t\tname: options.ownedBy,\n\t\t\ttarget: entityName,\n\t\t\tinversedBy: fieldName,\n\t\t\tnullable: options.ownerNullable !== undefined ? options.ownerNullable : true,\n\t\t\ttype: Model.RelationType.ManyHasOne,\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || this.conventions.getJoiningColumnName(options.ownedBy),\n\t\t\t\tonDelete: joiningColumn.onDelete || Model.OnDelete.restrict,\n\t\t\t},\n\t\t}\n\t}\n}\n"],"names":["Model"],"mappings":";;;;;AAKA,MAAqB,oBAAyE;AAAA,EAG7F,YAAY,aAAgC;AAF5C,kBAAA,MAAQ,aAAA;AAGP,SAAK,cAAc;AAAA,EACpB;AAAA,EAEA,QACC,YACA,WACA,SACA,eACO;AACP,UAAM,mBAAmB;AAAA,MACxB,GAAG;AAAA,MACH,SAAS,QAAQ,WAAW;AAAA,IAAA;AAE7B,kBAAc,iBAAiB,QAAQ,KAAK,aAAa,kBAAkB,YAAY,SAAS,CAAC;AACjG,kBAAc,YAAY,KAAK,cAAc,kBAAkB,SAAS,CAAC;AAAA,EAC1E;AAAA,EAEQ,cACP,SACA,WAC2B;AAC3B,WAAO;AAAA,MACN,MAAM;AAAA,MACN,SAAS,QAAQ;AAAA,MACjB,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,QAAQ,QAAQ;AAAA,MAChB,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAA;AAAA,IAAC;AAAA,EAExD;AAAA,EAEQ,aACP,SACA,YACA,WAC2B;AAC3B,UAAM,gBAAgB,QAAQ,sBAAsB,CAAA;AAEpD,WAAO;AAAA,MACN,MAAM,QAAQ;AAAA,MACd,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,UAAU,QAAQ,kBAAkB,SAAY,QAAQ,gBAAgB;AAAA,MACxE,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,KAAK,YAAY,qBAAqB,QAAQ,OAAO;AAAA,QAC7F,UAAU,cAAc,YAAYA,OAAAA,MAAM,SAAS;AAAA,MAAA;AAAA,IACpD;AAAA,EAEF;AACD;;"}
1
+ {"version":3,"file":"OneHasManyProcessor.cjs","sources":["../../../../../../../packages/schema-definition/src/model/builder/internal/OneHasManyProcessor.ts"],"sourcesContent":["import FieldProcessor from './FieldProcessor.js'\nimport OneHasManyBuilder from '../OneHasManyBuilder.js'\nimport { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\n\nexport default class OneHasManyProcessor implements FieldProcessor<OneHasManyBuilder.Options> {\n\tprivate conventions: NamingConventions\n\n\tconstructor(conventions: NamingConventions) {\n\t\tthis.conventions = conventions\n\t}\n\n\tprocess(\n\t\tentityName: string,\n\t\tfieldName: string,\n\t\toptions: OneHasManyBuilder.Options,\n\t\tregisterField: FieldProcessor.FieldRegistrar,\n\t): void {\n\t\tconst optionsFinalized = {\n\t\t\t...options,\n\t\t\townedBy: options.ownedBy || entityName,\n\t\t}\n\t\tregisterField(optionsFinalized.target, this.createOwning(optionsFinalized, entityName, fieldName))\n\t\tregisterField(entityName, this.createInverse(optionsFinalized, fieldName))\n\t}\n\n\tprivate createInverse(\n\t\toptions: OneHasManyBuilder.Options & { ownedBy: string },\n\t\tfieldName: string,\n\t): Model.OneHasManyRelation {\n\t\treturn {\n\t\t\tname: fieldName,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttype: Model.RelationType.OneHasMany,\n\t\t\ttarget: options.target,\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n\n\tprivate createOwning(\n\t\toptions: OneHasManyBuilder.Options & { ownedBy: string },\n\t\tentityName: string,\n\t\tfieldName: string,\n\t): Model.ManyHasOneRelation {\n\t\tconst joiningColumn = options.ownerJoiningColumn || {}\n\n\t\treturn {\n\t\t\tname: options.ownedBy,\n\t\t\ttarget: entityName,\n\t\t\tinversedBy: fieldName,\n\t\t\tnullable: options.ownerNullable !== undefined ? options.ownerNullable : true,\n\t\t\ttype: Model.RelationType.ManyHasOne,\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || this.conventions.getJoiningColumnName(options.ownedBy),\n\t\t\t\tonDelete: joiningColumn.onDelete || Model.OnDelete.restrict,\n\t\t\t},\n\t\t}\n\t}\n}\n"],"names":["Model"],"mappings":";;;;;AAKA,MAAqB,oBAAyE;AAAA,EAG7F,YAAY,aAAgC;AAF5C,kBAAA,MAAQ,aAAA;AAGP,SAAK,cAAc;AAAA,EACpB;AAAA,EAEA,QACC,YACA,WACA,SACA,eACO;AACP,UAAM,mBAAmB;AAAA,MACxB,GAAG;AAAA,MACH,SAAS,QAAQ,WAAW;AAAA,IAAA;AAE7B,kBAAc,iBAAiB,QAAQ,KAAK,aAAa,kBAAkB,YAAY,SAAS,CAAC;AACjG,kBAAc,YAAY,KAAK,cAAc,kBAAkB,SAAS,CAAC;AAAA,EAC1E;AAAA,EAEQ,cACP,SACA,WAC2B;AAC3B,WAAO;AAAA,MACN,MAAM;AAAA,MACN,SAAS,QAAQ;AAAA,MACjB,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,QAAQ,QAAQ;AAAA,MAChB,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAA;AAAA,IAAC;AAAA,EAExD;AAAA,EAEQ,aACP,SACA,YACA,WAC2B;AAC3B,UAAM,gBAAgB,QAAQ,sBAAsB,CAAA;AAEpD,WAAO;AAAA,MACN,MAAM,QAAQ;AAAA,MACd,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,UAAU,QAAQ,kBAAkB,SAAY,QAAQ,gBAAgB;AAAA,MACxE,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,KAAK,YAAY,qBAAqB,QAAQ,OAAO;AAAA,QAC7F,UAAU,cAAc,YAAYA,OAAAA,MAAM,SAAS;AAAA,MAAA;AAAA,IACpD;AAAA,EAEF;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"OneHasManyProcessor.js","sources":["../../../../../../../packages/schema-definition/src/model/builder/internal/OneHasManyProcessor.ts"],"sourcesContent":["import FieldProcessor from './FieldProcessor'\nimport OneHasManyBuilder from '../OneHasManyBuilder'\nimport { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\n\nexport default class OneHasManyProcessor implements FieldProcessor<OneHasManyBuilder.Options> {\n\tprivate conventions: NamingConventions\n\n\tconstructor(conventions: NamingConventions) {\n\t\tthis.conventions = conventions\n\t}\n\n\tprocess(\n\t\tentityName: string,\n\t\tfieldName: string,\n\t\toptions: OneHasManyBuilder.Options,\n\t\tregisterField: FieldProcessor.FieldRegistrar,\n\t): void {\n\t\tconst optionsFinalized = {\n\t\t\t...options,\n\t\t\townedBy: options.ownedBy || entityName,\n\t\t}\n\t\tregisterField(optionsFinalized.target, this.createOwning(optionsFinalized, entityName, fieldName))\n\t\tregisterField(entityName, this.createInverse(optionsFinalized, fieldName))\n\t}\n\n\tprivate createInverse(\n\t\toptions: OneHasManyBuilder.Options & { ownedBy: string },\n\t\tfieldName: string,\n\t): Model.OneHasManyRelation {\n\t\treturn {\n\t\t\tname: fieldName,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttype: Model.RelationType.OneHasMany,\n\t\t\ttarget: options.target,\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n\n\tprivate createOwning(\n\t\toptions: OneHasManyBuilder.Options & { ownedBy: string },\n\t\tentityName: string,\n\t\tfieldName: string,\n\t): Model.ManyHasOneRelation {\n\t\tconst joiningColumn = options.ownerJoiningColumn || {}\n\n\t\treturn {\n\t\t\tname: options.ownedBy,\n\t\t\ttarget: entityName,\n\t\t\tinversedBy: fieldName,\n\t\t\tnullable: options.ownerNullable !== undefined ? options.ownerNullable : true,\n\t\t\ttype: Model.RelationType.ManyHasOne,\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || this.conventions.getJoiningColumnName(options.ownedBy),\n\t\t\t\tonDelete: joiningColumn.onDelete || Model.OnDelete.restrict,\n\t\t\t},\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;AAKA,MAAqB,oBAAyE;AAAA,EAG7F,YAAY,aAAgC;AAF5C,kBAAA,MAAQ,aAAA;AAGP,SAAK,cAAc;AAAA,EACpB;AAAA,EAEA,QACC,YACA,WACA,SACA,eACO;AACP,UAAM,mBAAmB;AAAA,MACxB,GAAG;AAAA,MACH,SAAS,QAAQ,WAAW;AAAA,IAAA;AAE7B,kBAAc,iBAAiB,QAAQ,KAAK,aAAa,kBAAkB,YAAY,SAAS,CAAC;AACjG,kBAAc,YAAY,KAAK,cAAc,kBAAkB,SAAS,CAAC;AAAA,EAC1E;AAAA,EAEQ,cACP,SACA,WAC2B;AAC3B,WAAO;AAAA,MACN,MAAM;AAAA,MACN,SAAS,QAAQ;AAAA,MACjB,MAAM,MAAM,aAAa;AAAA,MACzB,QAAQ,QAAQ;AAAA,MAChB,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAA;AAAA,IAAC;AAAA,EAExD;AAAA,EAEQ,aACP,SACA,YACA,WAC2B;AAC3B,UAAM,gBAAgB,QAAQ,sBAAsB,CAAA;AAEpD,WAAO;AAAA,MACN,MAAM,QAAQ;AAAA,MACd,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,UAAU,QAAQ,kBAAkB,SAAY,QAAQ,gBAAgB;AAAA,MACxE,MAAM,MAAM,aAAa;AAAA,MACzB,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,KAAK,YAAY,qBAAqB,QAAQ,OAAO;AAAA,QAC7F,UAAU,cAAc,YAAY,MAAM,SAAS;AAAA,MAAA;AAAA,IACpD;AAAA,EAEF;AACD;"}
1
+ {"version":3,"file":"OneHasManyProcessor.js","sources":["../../../../../../../packages/schema-definition/src/model/builder/internal/OneHasManyProcessor.ts"],"sourcesContent":["import FieldProcessor from './FieldProcessor.js'\nimport OneHasManyBuilder from '../OneHasManyBuilder.js'\nimport { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\n\nexport default class OneHasManyProcessor implements FieldProcessor<OneHasManyBuilder.Options> {\n\tprivate conventions: NamingConventions\n\n\tconstructor(conventions: NamingConventions) {\n\t\tthis.conventions = conventions\n\t}\n\n\tprocess(\n\t\tentityName: string,\n\t\tfieldName: string,\n\t\toptions: OneHasManyBuilder.Options,\n\t\tregisterField: FieldProcessor.FieldRegistrar,\n\t): void {\n\t\tconst optionsFinalized = {\n\t\t\t...options,\n\t\t\townedBy: options.ownedBy || entityName,\n\t\t}\n\t\tregisterField(optionsFinalized.target, this.createOwning(optionsFinalized, entityName, fieldName))\n\t\tregisterField(entityName, this.createInverse(optionsFinalized, fieldName))\n\t}\n\n\tprivate createInverse(\n\t\toptions: OneHasManyBuilder.Options & { ownedBy: string },\n\t\tfieldName: string,\n\t): Model.OneHasManyRelation {\n\t\treturn {\n\t\t\tname: fieldName,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttype: Model.RelationType.OneHasMany,\n\t\t\ttarget: options.target,\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n\n\tprivate createOwning(\n\t\toptions: OneHasManyBuilder.Options & { ownedBy: string },\n\t\tentityName: string,\n\t\tfieldName: string,\n\t): Model.ManyHasOneRelation {\n\t\tconst joiningColumn = options.ownerJoiningColumn || {}\n\n\t\treturn {\n\t\t\tname: options.ownedBy,\n\t\t\ttarget: entityName,\n\t\t\tinversedBy: fieldName,\n\t\t\tnullable: options.ownerNullable !== undefined ? options.ownerNullable : true,\n\t\t\ttype: Model.RelationType.ManyHasOne,\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || this.conventions.getJoiningColumnName(options.ownedBy),\n\t\t\t\tonDelete: joiningColumn.onDelete || Model.OnDelete.restrict,\n\t\t\t},\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;AAKA,MAAqB,oBAAyE;AAAA,EAG7F,YAAY,aAAgC;AAF5C,kBAAA,MAAQ,aAAA;AAGP,SAAK,cAAc;AAAA,EACpB;AAAA,EAEA,QACC,YACA,WACA,SACA,eACO;AACP,UAAM,mBAAmB;AAAA,MACxB,GAAG;AAAA,MACH,SAAS,QAAQ,WAAW;AAAA,IAAA;AAE7B,kBAAc,iBAAiB,QAAQ,KAAK,aAAa,kBAAkB,YAAY,SAAS,CAAC;AACjG,kBAAc,YAAY,KAAK,cAAc,kBAAkB,SAAS,CAAC;AAAA,EAC1E;AAAA,EAEQ,cACP,SACA,WAC2B;AAC3B,WAAO;AAAA,MACN,MAAM;AAAA,MACN,SAAS,QAAQ;AAAA,MACjB,MAAM,MAAM,aAAa;AAAA,MACzB,QAAQ,QAAQ;AAAA,MAChB,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAA;AAAA,IAAC;AAAA,EAExD;AAAA,EAEQ,aACP,SACA,YACA,WAC2B;AAC3B,UAAM,gBAAgB,QAAQ,sBAAsB,CAAA;AAEpD,WAAO;AAAA,MACN,MAAM,QAAQ;AAAA,MACd,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,UAAU,QAAQ,kBAAkB,SAAY,QAAQ,gBAAgB;AAAA,MACxE,MAAM,MAAM,aAAa;AAAA,MACzB,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,KAAK,YAAY,qBAAqB,QAAQ,OAAO;AAAA,QAC7F,UAAU,cAAc,YAAY,MAAM,SAAS;AAAA,MAAA;AAAA,IACpD;AAAA,EAEF;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"OneHasOneProcessor.cjs","sources":["../../../../../../../packages/schema-definition/src/model/builder/internal/OneHasOneProcessor.ts"],"sourcesContent":["import OneHasOneBuilder from '../OneHasOneBuilder'\nimport FieldProcessor from './FieldProcessor'\nimport { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\n\nexport default class OneHasOneProcessor implements FieldProcessor<OneHasOneBuilder.Options> {\n\tprivate conventions: NamingConventions\n\n\tconstructor(conventions: NamingConventions) {\n\t\tthis.conventions = conventions\n\t}\n\n\tpublic process(\n\t\tentityName: string,\n\t\tfieldName: string,\n\t\toptions: OneHasOneBuilder.Options,\n\t\tregisterField: FieldProcessor.FieldRegistrar,\n\t): void {\n\t\tregisterField(entityName, this.createOneHasOneOwner(options, fieldName))\n\t\tif (options.inversedBy) {\n\t\t\tregisterField(\n\t\t\t\toptions.target,\n\t\t\t\tthis.createOneHasOneInverse(\n\t\t\t\t\toptions as OneHasOneBuilder.Options & { inversedBy: string },\n\t\t\t\t\tentityName,\n\t\t\t\t\tfieldName,\n\t\t\t\t),\n\t\t\t)\n\t\t}\n\t}\n\n\tprivate createOneHasOneInverse(\n\t\toptions: OneHasOneBuilder.Options & { inversedBy: string },\n\t\tentityName: string,\n\t\tfieldName: string,\n\t): Model.OneHasOneInverseRelation {\n\t\treturn {\n\t\t\tname: options.inversedBy,\n\t\t\townedBy: fieldName,\n\t\t\ttarget: entityName,\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\tnullable: options.inverseNullable === undefined ? true : options.inverseNullable,\n\t\t}\n\t}\n\n\tprivate createOneHasOneOwner(options: OneHasOneBuilder.Options, fieldName: string): Model.OneHasOneOwningRelation {\n\t\tconst joiningColumn: Partial<Model.JoiningColumn> = options.joiningColumn || {}\n\n\t\treturn {\n\t\t\tname: fieldName,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\ttarget: options.target,\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || this.conventions.getJoiningColumnName(fieldName),\n\t\t\t\tonDelete: joiningColumn.onDelete || Model.OnDelete.restrict,\n\t\t\t},\n\t\t\t...(options.orphanRemoval ? { orphanRemoval: true } : {}),\n\t\t}\n\t}\n}\n"],"names":["Model"],"mappings":";;;;;AAKA,MAAqB,mBAAuE;AAAA,EAG3F,YAAY,aAAgC;AAF5C,kBAAA,MAAQ,aAAA;AAGP,SAAK,cAAc;AAAA,EACpB;AAAA,EAEO,QACN,YACA,WACA,SACA,eACO;AACP,kBAAc,YAAY,KAAK,qBAAqB,SAAS,SAAS,CAAC;AACvE,QAAI,QAAQ,YAAY;AACvB;AAAA,QACC,QAAQ;AAAA,QACR,KAAK;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,QAAA;AAAA,MACD;AAAA,IAEF;AAAA,EACD;AAAA,EAEQ,uBACP,SACA,YACA,WACiC;AACjC,WAAO;AAAA,MACN,MAAM,QAAQ;AAAA,MACd,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,UAAU,QAAQ,oBAAoB,SAAY,OAAO,QAAQ;AAAA,IAAA;AAAA,EAEnE;AAAA,EAEQ,qBAAqB,SAAmC,WAAkD;AACjH,UAAM,gBAA8C,QAAQ,iBAAiB,CAAA;AAE7E,WAAO;AAAA,MACN,MAAM;AAAA,MACN,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAA,IAAK,EAAE,YAAY,QAAQ,WAAA;AAAA,MAC3E,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,MAC1D,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,QAAQ,QAAQ;AAAA,MAChB,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,KAAK,YAAY,qBAAqB,SAAS;AAAA,QACvF,UAAU,cAAc,YAAYA,OAAAA,MAAM,SAAS;AAAA,MAAA;AAAA,MAEpD,GAAI,QAAQ,gBAAgB,EAAE,eAAe,KAAA,IAAS,CAAA;AAAA,IAAC;AAAA,EAEzD;AACD;;"}
1
+ {"version":3,"file":"OneHasOneProcessor.cjs","sources":["../../../../../../../packages/schema-definition/src/model/builder/internal/OneHasOneProcessor.ts"],"sourcesContent":["import OneHasOneBuilder from '../OneHasOneBuilder.js'\nimport FieldProcessor from './FieldProcessor.js'\nimport { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\n\nexport default class OneHasOneProcessor implements FieldProcessor<OneHasOneBuilder.Options> {\n\tprivate conventions: NamingConventions\n\n\tconstructor(conventions: NamingConventions) {\n\t\tthis.conventions = conventions\n\t}\n\n\tpublic process(\n\t\tentityName: string,\n\t\tfieldName: string,\n\t\toptions: OneHasOneBuilder.Options,\n\t\tregisterField: FieldProcessor.FieldRegistrar,\n\t): void {\n\t\tregisterField(entityName, this.createOneHasOneOwner(options, fieldName))\n\t\tif (options.inversedBy) {\n\t\t\tregisterField(\n\t\t\t\toptions.target,\n\t\t\t\tthis.createOneHasOneInverse(\n\t\t\t\t\toptions as OneHasOneBuilder.Options & { inversedBy: string },\n\t\t\t\t\tentityName,\n\t\t\t\t\tfieldName,\n\t\t\t\t),\n\t\t\t)\n\t\t}\n\t}\n\n\tprivate createOneHasOneInverse(\n\t\toptions: OneHasOneBuilder.Options & { inversedBy: string },\n\t\tentityName: string,\n\t\tfieldName: string,\n\t): Model.OneHasOneInverseRelation {\n\t\treturn {\n\t\t\tname: options.inversedBy,\n\t\t\townedBy: fieldName,\n\t\t\ttarget: entityName,\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\tnullable: options.inverseNullable === undefined ? true : options.inverseNullable,\n\t\t}\n\t}\n\n\tprivate createOneHasOneOwner(options: OneHasOneBuilder.Options, fieldName: string): Model.OneHasOneOwningRelation {\n\t\tconst joiningColumn: Partial<Model.JoiningColumn> = options.joiningColumn || {}\n\n\t\treturn {\n\t\t\tname: fieldName,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\ttarget: options.target,\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || this.conventions.getJoiningColumnName(fieldName),\n\t\t\t\tonDelete: joiningColumn.onDelete || Model.OnDelete.restrict,\n\t\t\t},\n\t\t\t...(options.orphanRemoval ? { orphanRemoval: true } : {}),\n\t\t}\n\t}\n}\n"],"names":["Model"],"mappings":";;;;;AAKA,MAAqB,mBAAuE;AAAA,EAG3F,YAAY,aAAgC;AAF5C,kBAAA,MAAQ,aAAA;AAGP,SAAK,cAAc;AAAA,EACpB;AAAA,EAEO,QACN,YACA,WACA,SACA,eACO;AACP,kBAAc,YAAY,KAAK,qBAAqB,SAAS,SAAS,CAAC;AACvE,QAAI,QAAQ,YAAY;AACvB;AAAA,QACC,QAAQ;AAAA,QACR,KAAK;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,QAAA;AAAA,MACD;AAAA,IAEF;AAAA,EACD;AAAA,EAEQ,uBACP,SACA,YACA,WACiC;AACjC,WAAO;AAAA,MACN,MAAM,QAAQ;AAAA,MACd,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,UAAU,QAAQ,oBAAoB,SAAY,OAAO,QAAQ;AAAA,IAAA;AAAA,EAEnE;AAAA,EAEQ,qBAAqB,SAAmC,WAAkD;AACjH,UAAM,gBAA8C,QAAQ,iBAAiB,CAAA;AAE7E,WAAO;AAAA,MACN,MAAM;AAAA,MACN,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAA,IAAK,EAAE,YAAY,QAAQ,WAAA;AAAA,MAC3E,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,MAC1D,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,QAAQ,QAAQ;AAAA,MAChB,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,KAAK,YAAY,qBAAqB,SAAS;AAAA,QACvF,UAAU,cAAc,YAAYA,OAAAA,MAAM,SAAS;AAAA,MAAA;AAAA,MAEpD,GAAI,QAAQ,gBAAgB,EAAE,eAAe,KAAA,IAAS,CAAA;AAAA,IAAC;AAAA,EAEzD;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"OneHasOneProcessor.js","sources":["../../../../../../../packages/schema-definition/src/model/builder/internal/OneHasOneProcessor.ts"],"sourcesContent":["import OneHasOneBuilder from '../OneHasOneBuilder'\nimport FieldProcessor from './FieldProcessor'\nimport { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\n\nexport default class OneHasOneProcessor implements FieldProcessor<OneHasOneBuilder.Options> {\n\tprivate conventions: NamingConventions\n\n\tconstructor(conventions: NamingConventions) {\n\t\tthis.conventions = conventions\n\t}\n\n\tpublic process(\n\t\tentityName: string,\n\t\tfieldName: string,\n\t\toptions: OneHasOneBuilder.Options,\n\t\tregisterField: FieldProcessor.FieldRegistrar,\n\t): void {\n\t\tregisterField(entityName, this.createOneHasOneOwner(options, fieldName))\n\t\tif (options.inversedBy) {\n\t\t\tregisterField(\n\t\t\t\toptions.target,\n\t\t\t\tthis.createOneHasOneInverse(\n\t\t\t\t\toptions as OneHasOneBuilder.Options & { inversedBy: string },\n\t\t\t\t\tentityName,\n\t\t\t\t\tfieldName,\n\t\t\t\t),\n\t\t\t)\n\t\t}\n\t}\n\n\tprivate createOneHasOneInverse(\n\t\toptions: OneHasOneBuilder.Options & { inversedBy: string },\n\t\tentityName: string,\n\t\tfieldName: string,\n\t): Model.OneHasOneInverseRelation {\n\t\treturn {\n\t\t\tname: options.inversedBy,\n\t\t\townedBy: fieldName,\n\t\t\ttarget: entityName,\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\tnullable: options.inverseNullable === undefined ? true : options.inverseNullable,\n\t\t}\n\t}\n\n\tprivate createOneHasOneOwner(options: OneHasOneBuilder.Options, fieldName: string): Model.OneHasOneOwningRelation {\n\t\tconst joiningColumn: Partial<Model.JoiningColumn> = options.joiningColumn || {}\n\n\t\treturn {\n\t\t\tname: fieldName,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\ttarget: options.target,\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || this.conventions.getJoiningColumnName(fieldName),\n\t\t\t\tonDelete: joiningColumn.onDelete || Model.OnDelete.restrict,\n\t\t\t},\n\t\t\t...(options.orphanRemoval ? { orphanRemoval: true } : {}),\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;AAKA,MAAqB,mBAAuE;AAAA,EAG3F,YAAY,aAAgC;AAF5C,kBAAA,MAAQ,aAAA;AAGP,SAAK,cAAc;AAAA,EACpB;AAAA,EAEO,QACN,YACA,WACA,SACA,eACO;AACP,kBAAc,YAAY,KAAK,qBAAqB,SAAS,SAAS,CAAC;AACvE,QAAI,QAAQ,YAAY;AACvB;AAAA,QACC,QAAQ;AAAA,QACR,KAAK;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,QAAA;AAAA,MACD;AAAA,IAEF;AAAA,EACD;AAAA,EAEQ,uBACP,SACA,YACA,WACiC;AACjC,WAAO;AAAA,MACN,MAAM,QAAQ;AAAA,MACd,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,MAAM,MAAM,aAAa;AAAA,MACzB,UAAU,QAAQ,oBAAoB,SAAY,OAAO,QAAQ;AAAA,IAAA;AAAA,EAEnE;AAAA,EAEQ,qBAAqB,SAAmC,WAAkD;AACjH,UAAM,gBAA8C,QAAQ,iBAAiB,CAAA;AAE7E,WAAO;AAAA,MACN,MAAM;AAAA,MACN,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAA,IAAK,EAAE,YAAY,QAAQ,WAAA;AAAA,MAC3E,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,MAC1D,MAAM,MAAM,aAAa;AAAA,MACzB,QAAQ,QAAQ;AAAA,MAChB,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,KAAK,YAAY,qBAAqB,SAAS;AAAA,QACvF,UAAU,cAAc,YAAY,MAAM,SAAS;AAAA,MAAA;AAAA,MAEpD,GAAI,QAAQ,gBAAgB,EAAE,eAAe,KAAA,IAAS,CAAA;AAAA,IAAC;AAAA,EAEzD;AACD;"}
1
+ {"version":3,"file":"OneHasOneProcessor.js","sources":["../../../../../../../packages/schema-definition/src/model/builder/internal/OneHasOneProcessor.ts"],"sourcesContent":["import OneHasOneBuilder from '../OneHasOneBuilder.js'\nimport FieldProcessor from './FieldProcessor.js'\nimport { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\n\nexport default class OneHasOneProcessor implements FieldProcessor<OneHasOneBuilder.Options> {\n\tprivate conventions: NamingConventions\n\n\tconstructor(conventions: NamingConventions) {\n\t\tthis.conventions = conventions\n\t}\n\n\tpublic process(\n\t\tentityName: string,\n\t\tfieldName: string,\n\t\toptions: OneHasOneBuilder.Options,\n\t\tregisterField: FieldProcessor.FieldRegistrar,\n\t): void {\n\t\tregisterField(entityName, this.createOneHasOneOwner(options, fieldName))\n\t\tif (options.inversedBy) {\n\t\t\tregisterField(\n\t\t\t\toptions.target,\n\t\t\t\tthis.createOneHasOneInverse(\n\t\t\t\t\toptions as OneHasOneBuilder.Options & { inversedBy: string },\n\t\t\t\t\tentityName,\n\t\t\t\t\tfieldName,\n\t\t\t\t),\n\t\t\t)\n\t\t}\n\t}\n\n\tprivate createOneHasOneInverse(\n\t\toptions: OneHasOneBuilder.Options & { inversedBy: string },\n\t\tentityName: string,\n\t\tfieldName: string,\n\t): Model.OneHasOneInverseRelation {\n\t\treturn {\n\t\t\tname: options.inversedBy,\n\t\t\townedBy: fieldName,\n\t\t\ttarget: entityName,\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\tnullable: options.inverseNullable === undefined ? true : options.inverseNullable,\n\t\t}\n\t}\n\n\tprivate createOneHasOneOwner(options: OneHasOneBuilder.Options, fieldName: string): Model.OneHasOneOwningRelation {\n\t\tconst joiningColumn: Partial<Model.JoiningColumn> = options.joiningColumn || {}\n\n\t\treturn {\n\t\t\tname: fieldName,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\ttarget: options.target,\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || this.conventions.getJoiningColumnName(fieldName),\n\t\t\t\tonDelete: joiningColumn.onDelete || Model.OnDelete.restrict,\n\t\t\t},\n\t\t\t...(options.orphanRemoval ? { orphanRemoval: true } : {}),\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;AAKA,MAAqB,mBAAuE;AAAA,EAG3F,YAAY,aAAgC;AAF5C,kBAAA,MAAQ,aAAA;AAGP,SAAK,cAAc;AAAA,EACpB;AAAA,EAEO,QACN,YACA,WACA,SACA,eACO;AACP,kBAAc,YAAY,KAAK,qBAAqB,SAAS,SAAS,CAAC;AACvE,QAAI,QAAQ,YAAY;AACvB;AAAA,QACC,QAAQ;AAAA,QACR,KAAK;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,QAAA;AAAA,MACD;AAAA,IAEF;AAAA,EACD;AAAA,EAEQ,uBACP,SACA,YACA,WACiC;AACjC,WAAO;AAAA,MACN,MAAM,QAAQ;AAAA,MACd,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,MAAM,MAAM,aAAa;AAAA,MACzB,UAAU,QAAQ,oBAAoB,SAAY,OAAO,QAAQ;AAAA,IAAA;AAAA,EAEnE;AAAA,EAEQ,qBAAqB,SAAmC,WAAkD;AACjH,UAAM,gBAA8C,QAAQ,iBAAiB,CAAA;AAE7E,WAAO;AAAA,MACN,MAAM;AAAA,MACN,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAA,IAAK,EAAE,YAAY,QAAQ,WAAA;AAAA,MAC3E,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,MAC1D,MAAM,MAAM,aAAa;AAAA,MACzB,QAAQ,QAAQ;AAAA,MAChB,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,KAAK,YAAY,qBAAqB,SAAS;AAAA,QACvF,UAAU,cAAc,YAAY,MAAM,SAAS;AAAA,MAAA;AAAA,MAEpD,GAAI,QAAQ,gBAAgB,EAAE,eAAe,KAAA,IAAS,CAAA;AAAA,IAAC;AAAA,EAEzD;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EventLogDefinition.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/EventLogDefinition.ts"],"sourcesContent":["import { extendEntity } from './extensions'\n\nexport const DisableEventLog = () =>\n\textendEntity(({ entity }) => ({\n\t\t...entity,\n\t\teventLog: { enabled: false },\n\t}))\n"],"names":["extendEntity"],"mappings":";;;AAEO,MAAM,kBAAkB,MAC9BA,WAAAA,aAAa,CAAC,EAAE,cAAc;AAAA,EAC7B,GAAG;AAAA,EACH,UAAU,EAAE,SAAS,MAAA;AACtB,EAAE;;"}
1
+ {"version":3,"file":"EventLogDefinition.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/EventLogDefinition.ts"],"sourcesContent":["import { extendEntity } from './extensions.js'\n\nexport const DisableEventLog = () =>\n\textendEntity(({ entity }) => ({\n\t\t...entity,\n\t\teventLog: { enabled: false },\n\t}))\n"],"names":["extendEntity"],"mappings":";;;AAEO,MAAM,kBAAkB,MAC9BA,WAAAA,aAAa,CAAC,EAAE,cAAc;AAAA,EAC7B,GAAG;AAAA,EACH,UAAU,EAAE,SAAS,MAAA;AACtB,EAAE;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EventLogDefinition.js","sources":["../../../../../../packages/schema-definition/src/model/definition/EventLogDefinition.ts"],"sourcesContent":["import { extendEntity } from './extensions'\n\nexport const DisableEventLog = () =>\n\textendEntity(({ entity }) => ({\n\t\t...entity,\n\t\teventLog: { enabled: false },\n\t}))\n"],"names":[],"mappings":";AAEO,MAAM,kBAAkB,MAC9B,aAAa,CAAC,EAAE,cAAc;AAAA,EAC7B,GAAG;AAAA,EACH,UAAU,EAAE,SAAS,MAAA;AACtB,EAAE;"}
1
+ {"version":3,"file":"EventLogDefinition.js","sources":["../../../../../../packages/schema-definition/src/model/definition/EventLogDefinition.ts"],"sourcesContent":["import { extendEntity } from './extensions.js'\n\nexport const DisableEventLog = () =>\n\textendEntity(({ entity }) => ({\n\t\t...entity,\n\t\teventLog: { enabled: false },\n\t}))\n"],"names":[],"mappings":";AAEO,MAAM,kBAAkB,MAC9B,aAAa,CAAC,EAAE,cAAc;AAAA,EAC7B,GAAG;AAAA,EACH,UAAU,EAAE,SAAS,MAAA;AACtB,EAAE;"}
@@ -2,16 +2,41 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const extensions = require("./extensions.cjs");
4
4
  function Index(options, ...args) {
5
- return extensions.extendEntity(({ entity }) => {
6
- const indexDef = typeof options !== "object" ? { fields: [options, ...args] } : options;
7
- return {
8
- ...entity,
9
- indexes: [
10
- ...entity.indexes,
11
- indexDef
12
- ]
13
- };
14
- });
5
+ return extensions.extendEntity(({ entity }) => ({
6
+ ...entity,
7
+ indexes: [
8
+ ...entity.indexes,
9
+ typeof options !== "object" ? { fields: [String(options), ...args.map(String)] } : normalizeIndex(options)
10
+ ]
11
+ }));
15
12
  }
13
+ const normalizeIndex = (options) => {
14
+ const fields = [];
15
+ const columnOptions = {};
16
+ for (const column of options.fields) {
17
+ if (typeof column === "object") {
18
+ const field = String(column.field);
19
+ fields.push(field);
20
+ const columnOption = {
21
+ ...column.order !== void 0 ? { order: column.order } : {},
22
+ ...column.nulls !== void 0 ? { nulls: column.nulls } : {},
23
+ ...column.opClass !== void 0 ? { opClass: column.opClass } : {}
24
+ };
25
+ if (Object.keys(columnOption).length > 0) {
26
+ columnOptions[field] = columnOption;
27
+ }
28
+ } else {
29
+ fields.push(String(column));
30
+ }
31
+ }
32
+ return {
33
+ fields,
34
+ ...options.method !== void 0 ? { method: options.method } : {},
35
+ ...options.opClass !== void 0 ? { opClass: options.opClass } : {},
36
+ ...options.where !== void 0 ? { where: options.where } : {},
37
+ ...options.include !== void 0 ? { include: options.include.map(String) } : {},
38
+ ...Object.keys(columnOptions).length > 0 ? { columnOptions } : {}
39
+ };
40
+ };
16
41
  exports.Index = Index;
17
42
  //# sourceMappingURL=IndexDefinition.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"IndexDefinition.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/IndexDefinition.ts"],"sourcesContent":["import { extendEntity } from './extensions'\nimport { DecoratorFunction } from '../../utils'\nimport { Model } from '@contember/schema'\n\nexport type IndexOptions<T> = {\n\tfields: (keyof T)[]\n\tmethod?: Model.IndexMethod\n}\nexport function Index<T>(options: IndexOptions<T>): DecoratorFunction<T>\nexport function Index<T>(...fields: (keyof T)[]): DecoratorFunction<T>\nexport function Index<T>(options: IndexOptions<T> | keyof T, ...args: (keyof T)[]): DecoratorFunction<T> {\n\treturn extendEntity(({ entity }) => {\n\t\tconst indexDef = (typeof options !== 'object' ? { fields: [options, ...args] } : options) as { fields: string[]; method?: Model.IndexMethod }\n\t\treturn {\n\t\t\t...entity,\n\t\t\tindexes: [\n\t\t\t\t...entity.indexes,\n\t\t\t\tindexDef,\n\t\t\t],\n\t\t}\n\t})\n}\n"],"names":["extendEntity"],"mappings":";;;AAUO,SAAS,MAAS,YAAuC,MAAyC;AACxG,SAAOA,WAAAA,aAAa,CAAC,EAAE,aAAa;AACnC,UAAM,WAAY,OAAO,YAAY,WAAW,EAAE,QAAQ,CAAC,SAAS,GAAG,IAAI,EAAA,IAAM;AACjF,WAAO;AAAA,MACN,GAAG;AAAA,MACH,SAAS;AAAA,QACR,GAAG,OAAO;AAAA,QACV;AAAA,MAAA;AAAA,IACD;AAAA,EAEF,CAAC;AACF;;"}
1
+ {"version":3,"file":"IndexDefinition.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/IndexDefinition.ts"],"sourcesContent":["import { extendEntity } from './extensions.js'\nimport { DecoratorFunction } from '../../utils/index.js'\nimport { Model } from '@contember/schema'\n\nexport type IndexColumn<T> =\n\t| keyof T\n\t| {\n\t\tfield: keyof T\n\t\torder?: Model.IndexColumnOrder\n\t\tnulls?: Model.IndexColumnNulls\n\t\topClass?: string\n\t}\n\nexport type IndexOptions<T> = {\n\tfields: IndexColumn<T>[]\n\tmethod?: Model.IndexMethod\n\topClass?: string\n\twhere?: string\n\tinclude?: (keyof T)[]\n}\nexport function Index<T>(options: IndexOptions<T>): DecoratorFunction<T>\nexport function Index<T>(...fields: (keyof T)[]): DecoratorFunction<T>\nexport function Index<T>(options: IndexOptions<T> | keyof T, ...args: (keyof T)[]): DecoratorFunction<T> {\n\treturn extendEntity(({ entity }) => ({\n\t\t...entity,\n\t\tindexes: [\n\t\t\t...entity.indexes,\n\t\t\ttypeof options !== 'object'\n\t\t\t\t? { fields: [String(options), ...args.map(String)] }\n\t\t\t\t: normalizeIndex(options),\n\t\t],\n\t}))\n}\n\nconst normalizeIndex = <T>(options: IndexOptions<T>): Model.Index => {\n\tconst fields: string[] = []\n\tconst columnOptions: { [field: string]: Model.IndexColumnOptions } = {}\n\tfor (const column of options.fields) {\n\t\tif (typeof column === 'object') {\n\t\t\tconst field = String(column.field)\n\t\t\tfields.push(field)\n\t\t\tconst columnOption: Model.IndexColumnOptions = {\n\t\t\t\t...(column.order !== undefined ? { order: column.order } : {}),\n\t\t\t\t...(column.nulls !== undefined ? { nulls: column.nulls } : {}),\n\t\t\t\t...(column.opClass !== undefined ? { opClass: column.opClass } : {}),\n\t\t\t}\n\t\t\tif (Object.keys(columnOption).length > 0) {\n\t\t\t\tcolumnOptions[field] = columnOption\n\t\t\t}\n\t\t} else {\n\t\t\tfields.push(String(column))\n\t\t}\n\t}\n\treturn {\n\t\tfields,\n\t\t...(options.method !== undefined ? { method: options.method } : {}),\n\t\t...(options.opClass !== undefined ? { opClass: options.opClass } : {}),\n\t\t...(options.where !== undefined ? { where: options.where } : {}),\n\t\t...(options.include !== undefined ? { include: options.include.map(String) } : {}),\n\t\t...(Object.keys(columnOptions).length > 0 ? { columnOptions } : {}),\n\t}\n}\n"],"names":["extendEntity"],"mappings":";;;AAsBO,SAAS,MAAS,YAAuC,MAAyC;AACxG,SAAOA,WAAAA,aAAa,CAAC,EAAE,cAAc;AAAA,IACpC,GAAG;AAAA,IACH,SAAS;AAAA,MACR,GAAG,OAAO;AAAA,MACV,OAAO,YAAY,WAChB,EAAE,QAAQ,CAAC,OAAO,OAAO,GAAG,GAAG,KAAK,IAAI,MAAM,CAAC,EAAA,IAC/C,eAAe,OAAO;AAAA,IAAA;AAAA,EAC1B,EACC;AACH;AAEA,MAAM,iBAAiB,CAAI,YAA0C;AACpE,QAAM,SAAmB,CAAA;AACzB,QAAM,gBAA+D,CAAA;AACrE,aAAW,UAAU,QAAQ,QAAQ;AACpC,QAAI,OAAO,WAAW,UAAU;AAC/B,YAAM,QAAQ,OAAO,OAAO,KAAK;AACjC,aAAO,KAAK,KAAK;AACjB,YAAM,eAAyC;AAAA,QAC9C,GAAI,OAAO,UAAU,SAAY,EAAE,OAAO,OAAO,MAAA,IAAU,CAAA;AAAA,QAC3D,GAAI,OAAO,UAAU,SAAY,EAAE,OAAO,OAAO,MAAA,IAAU,CAAA;AAAA,QAC3D,GAAI,OAAO,YAAY,SAAY,EAAE,SAAS,OAAO,YAAY,CAAA;AAAA,MAAC;AAEnE,UAAI,OAAO,KAAK,YAAY,EAAE,SAAS,GAAG;AACzC,sBAAc,KAAK,IAAI;AAAA,MACxB;AAAA,IACD,OAAO;AACN,aAAO,KAAK,OAAO,MAAM,CAAC;AAAA,IAC3B;AAAA,EACD;AACA,SAAO;AAAA,IACN;AAAA,IACA,GAAI,QAAQ,WAAW,SAAY,EAAE,QAAQ,QAAQ,OAAA,IAAW,CAAA;AAAA,IAChE,GAAI,QAAQ,YAAY,SAAY,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAA;AAAA,IACnE,GAAI,QAAQ,UAAU,SAAY,EAAE,OAAO,QAAQ,MAAA,IAAU,CAAA;AAAA,IAC7D,GAAI,QAAQ,YAAY,SAAY,EAAE,SAAS,QAAQ,QAAQ,IAAI,MAAM,EAAA,IAAM,CAAA;AAAA,IAC/E,GAAI,OAAO,KAAK,aAAa,EAAE,SAAS,IAAI,EAAE,kBAAkB,CAAA;AAAA,EAAC;AAEnE;;"}
@@ -1,16 +1,41 @@
1
1
  import { extendEntity } from "./extensions.js";
2
2
  function Index(options, ...args) {
3
- return extendEntity(({ entity }) => {
4
- const indexDef = typeof options !== "object" ? { fields: [options, ...args] } : options;
5
- return {
6
- ...entity,
7
- indexes: [
8
- ...entity.indexes,
9
- indexDef
10
- ]
11
- };
12
- });
3
+ return extendEntity(({ entity }) => ({
4
+ ...entity,
5
+ indexes: [
6
+ ...entity.indexes,
7
+ typeof options !== "object" ? { fields: [String(options), ...args.map(String)] } : normalizeIndex(options)
8
+ ]
9
+ }));
13
10
  }
11
+ const normalizeIndex = (options) => {
12
+ const fields = [];
13
+ const columnOptions = {};
14
+ for (const column of options.fields) {
15
+ if (typeof column === "object") {
16
+ const field = String(column.field);
17
+ fields.push(field);
18
+ const columnOption = {
19
+ ...column.order !== void 0 ? { order: column.order } : {},
20
+ ...column.nulls !== void 0 ? { nulls: column.nulls } : {},
21
+ ...column.opClass !== void 0 ? { opClass: column.opClass } : {}
22
+ };
23
+ if (Object.keys(columnOption).length > 0) {
24
+ columnOptions[field] = columnOption;
25
+ }
26
+ } else {
27
+ fields.push(String(column));
28
+ }
29
+ }
30
+ return {
31
+ fields,
32
+ ...options.method !== void 0 ? { method: options.method } : {},
33
+ ...options.opClass !== void 0 ? { opClass: options.opClass } : {},
34
+ ...options.where !== void 0 ? { where: options.where } : {},
35
+ ...options.include !== void 0 ? { include: options.include.map(String) } : {},
36
+ ...Object.keys(columnOptions).length > 0 ? { columnOptions } : {}
37
+ };
38
+ };
14
39
  export {
15
40
  Index
16
41
  };
@@ -1 +1 @@
1
- {"version":3,"file":"IndexDefinition.js","sources":["../../../../../../packages/schema-definition/src/model/definition/IndexDefinition.ts"],"sourcesContent":["import { extendEntity } from './extensions'\nimport { DecoratorFunction } from '../../utils'\nimport { Model } from '@contember/schema'\n\nexport type IndexOptions<T> = {\n\tfields: (keyof T)[]\n\tmethod?: Model.IndexMethod\n}\nexport function Index<T>(options: IndexOptions<T>): DecoratorFunction<T>\nexport function Index<T>(...fields: (keyof T)[]): DecoratorFunction<T>\nexport function Index<T>(options: IndexOptions<T> | keyof T, ...args: (keyof T)[]): DecoratorFunction<T> {\n\treturn extendEntity(({ entity }) => {\n\t\tconst indexDef = (typeof options !== 'object' ? { fields: [options, ...args] } : options) as { fields: string[]; method?: Model.IndexMethod }\n\t\treturn {\n\t\t\t...entity,\n\t\t\tindexes: [\n\t\t\t\t...entity.indexes,\n\t\t\t\tindexDef,\n\t\t\t],\n\t\t}\n\t})\n}\n"],"names":[],"mappings":";AAUO,SAAS,MAAS,YAAuC,MAAyC;AACxG,SAAO,aAAa,CAAC,EAAE,aAAa;AACnC,UAAM,WAAY,OAAO,YAAY,WAAW,EAAE,QAAQ,CAAC,SAAS,GAAG,IAAI,EAAA,IAAM;AACjF,WAAO;AAAA,MACN,GAAG;AAAA,MACH,SAAS;AAAA,QACR,GAAG,OAAO;AAAA,QACV;AAAA,MAAA;AAAA,IACD;AAAA,EAEF,CAAC;AACF;"}
1
+ {"version":3,"file":"IndexDefinition.js","sources":["../../../../../../packages/schema-definition/src/model/definition/IndexDefinition.ts"],"sourcesContent":["import { extendEntity } from './extensions.js'\nimport { DecoratorFunction } from '../../utils/index.js'\nimport { Model } from '@contember/schema'\n\nexport type IndexColumn<T> =\n\t| keyof T\n\t| {\n\t\tfield: keyof T\n\t\torder?: Model.IndexColumnOrder\n\t\tnulls?: Model.IndexColumnNulls\n\t\topClass?: string\n\t}\n\nexport type IndexOptions<T> = {\n\tfields: IndexColumn<T>[]\n\tmethod?: Model.IndexMethod\n\topClass?: string\n\twhere?: string\n\tinclude?: (keyof T)[]\n}\nexport function Index<T>(options: IndexOptions<T>): DecoratorFunction<T>\nexport function Index<T>(...fields: (keyof T)[]): DecoratorFunction<T>\nexport function Index<T>(options: IndexOptions<T> | keyof T, ...args: (keyof T)[]): DecoratorFunction<T> {\n\treturn extendEntity(({ entity }) => ({\n\t\t...entity,\n\t\tindexes: [\n\t\t\t...entity.indexes,\n\t\t\ttypeof options !== 'object'\n\t\t\t\t? { fields: [String(options), ...args.map(String)] }\n\t\t\t\t: normalizeIndex(options),\n\t\t],\n\t}))\n}\n\nconst normalizeIndex = <T>(options: IndexOptions<T>): Model.Index => {\n\tconst fields: string[] = []\n\tconst columnOptions: { [field: string]: Model.IndexColumnOptions } = {}\n\tfor (const column of options.fields) {\n\t\tif (typeof column === 'object') {\n\t\t\tconst field = String(column.field)\n\t\t\tfields.push(field)\n\t\t\tconst columnOption: Model.IndexColumnOptions = {\n\t\t\t\t...(column.order !== undefined ? { order: column.order } : {}),\n\t\t\t\t...(column.nulls !== undefined ? { nulls: column.nulls } : {}),\n\t\t\t\t...(column.opClass !== undefined ? { opClass: column.opClass } : {}),\n\t\t\t}\n\t\t\tif (Object.keys(columnOption).length > 0) {\n\t\t\t\tcolumnOptions[field] = columnOption\n\t\t\t}\n\t\t} else {\n\t\t\tfields.push(String(column))\n\t\t}\n\t}\n\treturn {\n\t\tfields,\n\t\t...(options.method !== undefined ? { method: options.method } : {}),\n\t\t...(options.opClass !== undefined ? { opClass: options.opClass } : {}),\n\t\t...(options.where !== undefined ? { where: options.where } : {}),\n\t\t...(options.include !== undefined ? { include: options.include.map(String) } : {}),\n\t\t...(Object.keys(columnOptions).length > 0 ? { columnOptions } : {}),\n\t}\n}\n"],"names":[],"mappings":";AAsBO,SAAS,MAAS,YAAuC,MAAyC;AACxG,SAAO,aAAa,CAAC,EAAE,cAAc;AAAA,IACpC,GAAG;AAAA,IACH,SAAS;AAAA,MACR,GAAG,OAAO;AAAA,MACV,OAAO,YAAY,WAChB,EAAE,QAAQ,CAAC,OAAO,OAAO,GAAG,GAAG,KAAK,IAAI,MAAM,CAAC,EAAA,IAC/C,eAAe,OAAO;AAAA,IAAA;AAAA,EAC1B,EACC;AACH;AAEA,MAAM,iBAAiB,CAAI,YAA0C;AACpE,QAAM,SAAmB,CAAA;AACzB,QAAM,gBAA+D,CAAA;AACrE,aAAW,UAAU,QAAQ,QAAQ;AACpC,QAAI,OAAO,WAAW,UAAU;AAC/B,YAAM,QAAQ,OAAO,OAAO,KAAK;AACjC,aAAO,KAAK,KAAK;AACjB,YAAM,eAAyC;AAAA,QAC9C,GAAI,OAAO,UAAU,SAAY,EAAE,OAAO,OAAO,MAAA,IAAU,CAAA;AAAA,QAC3D,GAAI,OAAO,UAAU,SAAY,EAAE,OAAO,OAAO,MAAA,IAAU,CAAA;AAAA,QAC3D,GAAI,OAAO,YAAY,SAAY,EAAE,SAAS,OAAO,YAAY,CAAA;AAAA,MAAC;AAEnE,UAAI,OAAO,KAAK,YAAY,EAAE,SAAS,GAAG;AACzC,sBAAc,KAAK,IAAI;AAAA,MACxB;AAAA,IACD,OAAO;AACN,aAAO,KAAK,OAAO,MAAM,CAAC;AAAA,IAC3B;AAAA,EACD;AACA,SAAO;AAAA,IACN;AAAA,IACA,GAAI,QAAQ,WAAW,SAAY,EAAE,QAAQ,QAAQ,OAAA,IAAW,CAAA;AAAA,IAChE,GAAI,QAAQ,YAAY,SAAY,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAA;AAAA,IACnE,GAAI,QAAQ,UAAU,SAAY,EAAE,OAAO,QAAQ,MAAA,IAAU,CAAA;AAAA,IAC7D,GAAI,QAAQ,YAAY,SAAY,EAAE,SAAS,QAAQ,QAAQ,IAAI,MAAM,EAAA,IAAM,CAAA;AAAA,IAC/E,GAAI,OAAO,KAAK,aAAa,EAAE,SAAS,IAAI,EAAE,kBAAkB,CAAA;AAAA,EAAC;AAEnE;"}
@@ -1 +1 @@
1
- {"version":3,"file":"OrderByDefinition.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/OrderByDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { extendEntity } from './extensions'\nimport { DecoratorFunction } from '../../utils'\n\nexport type OrderByDirection = Model.OrderDirection | `${Model.OrderDirection}`\nexport type OrderByOptions = { path: string[]; direction?: OrderByDirection }\n\nexport function OrderBy<T>(options: OrderByOptions): DecoratorFunction<T>\nexport function OrderBy<T>(options: OrderByOptions[]): DecoratorFunction<T>\nexport function OrderBy<T>(path: (keyof T) & string, direction?: OrderByDirection): DecoratorFunction<T>\nexport function OrderBy<T>(\n\toptions: OrderByOptions | OrderByOptions[] | ((keyof T) & string),\n\tdirection?: `${Model.OrderDirection}`,\n): DecoratorFunction<T> {\n\treturn extendEntity(({ entity }) => {\n\t\tconst normalize = (path: string[], direction?: OrderByDirection): Model.OrderBy => ({\n\t\t\tpath,\n\t\t\tdirection: (direction ?? Model.OrderDirection.asc) as Model.OrderDirection,\n\t\t})\n\t\tconst orderBy = ((): Model.OrderBy[] => {\n\t\t\tif (Array.isArray(options)) {\n\t\t\t\treturn options.map(it => normalize(it.path, it.direction))\n\t\t\t}\n\t\t\tif (typeof options === 'object') {\n\t\t\t\treturn [normalize(options.path, options.direction)]\n\t\t\t}\n\t\t\treturn [normalize([options], direction)]\n\t\t})()\n\n\t\tif (entity.orderBy?.length) {\n\t\t\tconsole.warn(\n\t\t\t\t`DEPRECATED: The \"order by\" property for the entity ${entity.name} has already been defined. Using multiple decorators can lead to unexpected order. Please provide an array containing all the 'order by' items as an input.`,\n\t\t\t)\n\t\t}\n\n\t\treturn {\n\t\t\t...entity,\n\t\t\torderBy: [...(entity.orderBy ?? []), ...orderBy],\n\t\t}\n\t})\n}\n"],"names":["extendEntity","direction","Model"],"mappings":";;;;AAUO,SAAS,QACf,SACA,WACuB;AACvB,SAAOA,WAAAA,aAAa,CAAC,EAAE,aAAa;AACnC,UAAM,YAAY,CAAC,MAAgBC,gBAAiD;AAAA,MACnF;AAAA,MACA,WAAYA,cAAaC,OAAAA,MAAM,eAAe;AAAA,IAAA;AAE/C,UAAM,WAAW,MAAuB;AACvC,UAAI,MAAM,QAAQ,OAAO,GAAG;AAC3B,eAAO,QAAQ,IAAI,CAAA,OAAM,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;AAAA,MAC1D;AACA,UAAI,OAAO,YAAY,UAAU;AAChC,eAAO,CAAC,UAAU,QAAQ,MAAM,QAAQ,SAAS,CAAC;AAAA,MACnD;AACA,aAAO,CAAC,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC;AAAA,IACxC,GAAA;AAEA,QAAI,OAAO,SAAS,QAAQ;AAC3B,cAAQ;AAAA,QACP,sDAAsD,OAAO,IAAI;AAAA,MAAA;AAAA,IAEnE;AAEA,WAAO;AAAA,MACN,GAAG;AAAA,MACH,SAAS,CAAC,GAAI,OAAO,WAAW,CAAA,GAAK,GAAG,OAAO;AAAA,IAAA;AAAA,EAEjD,CAAC;AACF;;"}
1
+ {"version":3,"file":"OrderByDefinition.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/OrderByDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { extendEntity } from './extensions.js'\nimport { DecoratorFunction } from '../../utils/index.js'\n\nexport type OrderByDirection = Model.OrderDirection | `${Model.OrderDirection}`\nexport type OrderByOptions = { path: string[]; direction?: OrderByDirection }\n\nexport function OrderBy<T>(options: OrderByOptions): DecoratorFunction<T>\nexport function OrderBy<T>(options: OrderByOptions[]): DecoratorFunction<T>\nexport function OrderBy<T>(path: (keyof T) & string, direction?: OrderByDirection): DecoratorFunction<T>\nexport function OrderBy<T>(\n\toptions: OrderByOptions | OrderByOptions[] | ((keyof T) & string),\n\tdirection?: `${Model.OrderDirection}`,\n): DecoratorFunction<T> {\n\treturn extendEntity(({ entity }) => {\n\t\tconst normalize = (path: string[], direction?: OrderByDirection): Model.OrderBy => ({\n\t\t\tpath,\n\t\t\tdirection: (direction ?? Model.OrderDirection.asc) as Model.OrderDirection,\n\t\t})\n\t\tconst orderBy = ((): Model.OrderBy[] => {\n\t\t\tif (Array.isArray(options)) {\n\t\t\t\treturn options.map(it => normalize(it.path, it.direction))\n\t\t\t}\n\t\t\tif (typeof options === 'object') {\n\t\t\t\treturn [normalize(options.path, options.direction)]\n\t\t\t}\n\t\t\treturn [normalize([options], direction)]\n\t\t})()\n\n\t\tif (entity.orderBy?.length) {\n\t\t\tconsole.warn(\n\t\t\t\t`DEPRECATED: The \"order by\" property for the entity ${entity.name} has already been defined. Using multiple decorators can lead to unexpected order. Please provide an array containing all the 'order by' items as an input.`,\n\t\t\t)\n\t\t}\n\n\t\treturn {\n\t\t\t...entity,\n\t\t\torderBy: [...(entity.orderBy ?? []), ...orderBy],\n\t\t}\n\t})\n}\n"],"names":["extendEntity","direction","Model"],"mappings":";;;;AAUO,SAAS,QACf,SACA,WACuB;AACvB,SAAOA,WAAAA,aAAa,CAAC,EAAE,aAAa;AACnC,UAAM,YAAY,CAAC,MAAgBC,gBAAiD;AAAA,MACnF;AAAA,MACA,WAAYA,cAAaC,OAAAA,MAAM,eAAe;AAAA,IAAA;AAE/C,UAAM,WAAW,MAAuB;AACvC,UAAI,MAAM,QAAQ,OAAO,GAAG;AAC3B,eAAO,QAAQ,IAAI,CAAA,OAAM,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;AAAA,MAC1D;AACA,UAAI,OAAO,YAAY,UAAU;AAChC,eAAO,CAAC,UAAU,QAAQ,MAAM,QAAQ,SAAS,CAAC;AAAA,MACnD;AACA,aAAO,CAAC,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC;AAAA,IACxC,GAAA;AAEA,QAAI,OAAO,SAAS,QAAQ;AAC3B,cAAQ;AAAA,QACP,sDAAsD,OAAO,IAAI;AAAA,MAAA;AAAA,IAEnE;AAEA,WAAO;AAAA,MACN,GAAG;AAAA,MACH,SAAS,CAAC,GAAI,OAAO,WAAW,CAAA,GAAK,GAAG,OAAO;AAAA,IAAA;AAAA,EAEjD,CAAC;AACF;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"OrderByDefinition.js","sources":["../../../../../../packages/schema-definition/src/model/definition/OrderByDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { extendEntity } from './extensions'\nimport { DecoratorFunction } from '../../utils'\n\nexport type OrderByDirection = Model.OrderDirection | `${Model.OrderDirection}`\nexport type OrderByOptions = { path: string[]; direction?: OrderByDirection }\n\nexport function OrderBy<T>(options: OrderByOptions): DecoratorFunction<T>\nexport function OrderBy<T>(options: OrderByOptions[]): DecoratorFunction<T>\nexport function OrderBy<T>(path: (keyof T) & string, direction?: OrderByDirection): DecoratorFunction<T>\nexport function OrderBy<T>(\n\toptions: OrderByOptions | OrderByOptions[] | ((keyof T) & string),\n\tdirection?: `${Model.OrderDirection}`,\n): DecoratorFunction<T> {\n\treturn extendEntity(({ entity }) => {\n\t\tconst normalize = (path: string[], direction?: OrderByDirection): Model.OrderBy => ({\n\t\t\tpath,\n\t\t\tdirection: (direction ?? Model.OrderDirection.asc) as Model.OrderDirection,\n\t\t})\n\t\tconst orderBy = ((): Model.OrderBy[] => {\n\t\t\tif (Array.isArray(options)) {\n\t\t\t\treturn options.map(it => normalize(it.path, it.direction))\n\t\t\t}\n\t\t\tif (typeof options === 'object') {\n\t\t\t\treturn [normalize(options.path, options.direction)]\n\t\t\t}\n\t\t\treturn [normalize([options], direction)]\n\t\t})()\n\n\t\tif (entity.orderBy?.length) {\n\t\t\tconsole.warn(\n\t\t\t\t`DEPRECATED: The \"order by\" property for the entity ${entity.name} has already been defined. Using multiple decorators can lead to unexpected order. Please provide an array containing all the 'order by' items as an input.`,\n\t\t\t)\n\t\t}\n\n\t\treturn {\n\t\t\t...entity,\n\t\t\torderBy: [...(entity.orderBy ?? []), ...orderBy],\n\t\t}\n\t})\n}\n"],"names":["direction"],"mappings":";;AAUO,SAAS,QACf,SACA,WACuB;AACvB,SAAO,aAAa,CAAC,EAAE,aAAa;AACnC,UAAM,YAAY,CAAC,MAAgBA,gBAAiD;AAAA,MACnF;AAAA,MACA,WAAYA,cAAa,MAAM,eAAe;AAAA,IAAA;AAE/C,UAAM,WAAW,MAAuB;AACvC,UAAI,MAAM,QAAQ,OAAO,GAAG;AAC3B,eAAO,QAAQ,IAAI,CAAA,OAAM,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;AAAA,MAC1D;AACA,UAAI,OAAO,YAAY,UAAU;AAChC,eAAO,CAAC,UAAU,QAAQ,MAAM,QAAQ,SAAS,CAAC;AAAA,MACnD;AACA,aAAO,CAAC,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC;AAAA,IACxC,GAAA;AAEA,QAAI,OAAO,SAAS,QAAQ;AAC3B,cAAQ;AAAA,QACP,sDAAsD,OAAO,IAAI;AAAA,MAAA;AAAA,IAEnE;AAEA,WAAO;AAAA,MACN,GAAG;AAAA,MACH,SAAS,CAAC,GAAI,OAAO,WAAW,CAAA,GAAK,GAAG,OAAO;AAAA,IAAA;AAAA,EAEjD,CAAC;AACF;"}
1
+ {"version":3,"file":"OrderByDefinition.js","sources":["../../../../../../packages/schema-definition/src/model/definition/OrderByDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { extendEntity } from './extensions.js'\nimport { DecoratorFunction } from '../../utils/index.js'\n\nexport type OrderByDirection = Model.OrderDirection | `${Model.OrderDirection}`\nexport type OrderByOptions = { path: string[]; direction?: OrderByDirection }\n\nexport function OrderBy<T>(options: OrderByOptions): DecoratorFunction<T>\nexport function OrderBy<T>(options: OrderByOptions[]): DecoratorFunction<T>\nexport function OrderBy<T>(path: (keyof T) & string, direction?: OrderByDirection): DecoratorFunction<T>\nexport function OrderBy<T>(\n\toptions: OrderByOptions | OrderByOptions[] | ((keyof T) & string),\n\tdirection?: `${Model.OrderDirection}`,\n): DecoratorFunction<T> {\n\treturn extendEntity(({ entity }) => {\n\t\tconst normalize = (path: string[], direction?: OrderByDirection): Model.OrderBy => ({\n\t\t\tpath,\n\t\t\tdirection: (direction ?? Model.OrderDirection.asc) as Model.OrderDirection,\n\t\t})\n\t\tconst orderBy = ((): Model.OrderBy[] => {\n\t\t\tif (Array.isArray(options)) {\n\t\t\t\treturn options.map(it => normalize(it.path, it.direction))\n\t\t\t}\n\t\t\tif (typeof options === 'object') {\n\t\t\t\treturn [normalize(options.path, options.direction)]\n\t\t\t}\n\t\t\treturn [normalize([options], direction)]\n\t\t})()\n\n\t\tif (entity.orderBy?.length) {\n\t\t\tconsole.warn(\n\t\t\t\t`DEPRECATED: The \"order by\" property for the entity ${entity.name} has already been defined. Using multiple decorators can lead to unexpected order. Please provide an array containing all the 'order by' items as an input.`,\n\t\t\t)\n\t\t}\n\n\t\treturn {\n\t\t\t...entity,\n\t\t\torderBy: [...(entity.orderBy ?? []), ...orderBy],\n\t\t}\n\t})\n}\n"],"names":["direction"],"mappings":";;AAUO,SAAS,QACf,SACA,WACuB;AACvB,SAAO,aAAa,CAAC,EAAE,aAAa;AACnC,UAAM,YAAY,CAAC,MAAgBA,gBAAiD;AAAA,MACnF;AAAA,MACA,WAAYA,cAAa,MAAM,eAAe;AAAA,IAAA;AAE/C,UAAM,WAAW,MAAuB;AACvC,UAAI,MAAM,QAAQ,OAAO,GAAG;AAC3B,eAAO,QAAQ,IAAI,CAAA,OAAM,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;AAAA,MAC1D;AACA,UAAI,OAAO,YAAY,UAAU;AAChC,eAAO,CAAC,UAAU,QAAQ,MAAM,QAAQ,SAAS,CAAC;AAAA,MACnD;AACA,aAAO,CAAC,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC;AAAA,IACxC,GAAA;AAEA,QAAI,OAAO,SAAS,QAAQ;AAC3B,cAAQ;AAAA,QACP,sDAAsD,OAAO,IAAI;AAAA,MAAA;AAAA,IAEnE;AAEA,WAAO;AAAA,MACN,GAAG;AAAA,MACH,SAAS,CAAC,GAAI,OAAO,WAAW,CAAA,GAAK,GAAG,OAAO;AAAA,IAAA;AAAA,EAEjD,CAAC;AACF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"UniqueDefinition.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/UniqueDefinition.ts"],"sourcesContent":["import { extendEntity } from './extensions'\nimport { DecoratorFunction } from '../../utils'\nimport { Model } from '@contember/schema'\n\nexport type UniqueOptions<T> =\n\t& {\n\t\tfields: (keyof T & string)[]\n\t}\n\t& (\n\t\t| {\n\t\t\tindex?: false\n\t\t\ttiming?: Model.ConstraintTiming\n\t\t}\n\t\t| {\n\t\t\tindex: true\n\t\t\tnulls?: Model.NullsDistinctBehaviour\n\t\t\tmethod?: Model.IndexMethod\n\t\t}\n\t)\nexport function Unique<T>(options: UniqueOptions<T>): DecoratorFunction<T>\nexport function Unique<T>(...fields: (keyof T & string)[]): DecoratorFunction<T>\nexport function Unique<T>(options: UniqueOptions<T> | keyof T & string, ...args: (keyof T & string)[]): DecoratorFunction<T> {\n\treturn extendEntity(({ entity }) => {\n\t\tconst unique = typeof options !== 'object'\n\t\t\t? { fields: [options, ...args] }\n\t\t\t: options\n\t\treturn {\n\t\t\t...entity,\n\t\t\tunique: [\n\t\t\t\t...entity.unique,\n\t\t\t\tunique,\n\t\t\t],\n\t\t}\n\t})\n}\n"],"names":["extendEntity"],"mappings":";;;AAqBO,SAAS,OAAU,YAAiD,MAAkD;AAC5H,SAAOA,WAAAA,aAAa,CAAC,EAAE,aAAa;AACnC,UAAM,SAAS,OAAO,YAAY,WAC/B,EAAE,QAAQ,CAAC,SAAS,GAAG,IAAI,EAAA,IAC3B;AACH,WAAO;AAAA,MACN,GAAG;AAAA,MACH,QAAQ;AAAA,QACP,GAAG,OAAO;AAAA,QACV;AAAA,MAAA;AAAA,IACD;AAAA,EAEF,CAAC;AACF;;"}
1
+ {"version":3,"file":"UniqueDefinition.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/UniqueDefinition.ts"],"sourcesContent":["import { extendEntity } from './extensions.js'\nimport { DecoratorFunction } from '../../utils/index.js'\nimport { Model } from '@contember/schema'\n\nexport type UniqueOptions<T> =\n\t& {\n\t\tfields: (keyof T & string)[]\n\t}\n\t& (\n\t\t| {\n\t\t\tindex?: false\n\t\t\ttiming?: Model.ConstraintTiming\n\t\t}\n\t\t| {\n\t\t\tindex: true\n\t\t\tnulls?: Model.NullsDistinctBehaviour\n\t\t\tmethod?: Model.IndexMethod\n\t\t}\n\t)\nexport function Unique<T>(options: UniqueOptions<T>): DecoratorFunction<T>\nexport function Unique<T>(...fields: (keyof T & string)[]): DecoratorFunction<T>\nexport function Unique<T>(options: UniqueOptions<T> | keyof T & string, ...args: (keyof T & string)[]): DecoratorFunction<T> {\n\treturn extendEntity(({ entity }) => {\n\t\tconst unique = typeof options !== 'object'\n\t\t\t? { fields: [options, ...args] }\n\t\t\t: options\n\t\treturn {\n\t\t\t...entity,\n\t\t\tunique: [\n\t\t\t\t...entity.unique,\n\t\t\t\tunique,\n\t\t\t],\n\t\t}\n\t})\n}\n"],"names":["extendEntity"],"mappings":";;;AAqBO,SAAS,OAAU,YAAiD,MAAkD;AAC5H,SAAOA,WAAAA,aAAa,CAAC,EAAE,aAAa;AACnC,UAAM,SAAS,OAAO,YAAY,WAC/B,EAAE,QAAQ,CAAC,SAAS,GAAG,IAAI,EAAA,IAC3B;AACH,WAAO;AAAA,MACN,GAAG;AAAA,MACH,QAAQ;AAAA,QACP,GAAG,OAAO;AAAA,QACV;AAAA,MAAA;AAAA,IACD;AAAA,EAEF,CAAC;AACF;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"UniqueDefinition.js","sources":["../../../../../../packages/schema-definition/src/model/definition/UniqueDefinition.ts"],"sourcesContent":["import { extendEntity } from './extensions'\nimport { DecoratorFunction } from '../../utils'\nimport { Model } from '@contember/schema'\n\nexport type UniqueOptions<T> =\n\t& {\n\t\tfields: (keyof T & string)[]\n\t}\n\t& (\n\t\t| {\n\t\t\tindex?: false\n\t\t\ttiming?: Model.ConstraintTiming\n\t\t}\n\t\t| {\n\t\t\tindex: true\n\t\t\tnulls?: Model.NullsDistinctBehaviour\n\t\t\tmethod?: Model.IndexMethod\n\t\t}\n\t)\nexport function Unique<T>(options: UniqueOptions<T>): DecoratorFunction<T>\nexport function Unique<T>(...fields: (keyof T & string)[]): DecoratorFunction<T>\nexport function Unique<T>(options: UniqueOptions<T> | keyof T & string, ...args: (keyof T & string)[]): DecoratorFunction<T> {\n\treturn extendEntity(({ entity }) => {\n\t\tconst unique = typeof options !== 'object'\n\t\t\t? { fields: [options, ...args] }\n\t\t\t: options\n\t\treturn {\n\t\t\t...entity,\n\t\t\tunique: [\n\t\t\t\t...entity.unique,\n\t\t\t\tunique,\n\t\t\t],\n\t\t}\n\t})\n}\n"],"names":[],"mappings":";AAqBO,SAAS,OAAU,YAAiD,MAAkD;AAC5H,SAAO,aAAa,CAAC,EAAE,aAAa;AACnC,UAAM,SAAS,OAAO,YAAY,WAC/B,EAAE,QAAQ,CAAC,SAAS,GAAG,IAAI,EAAA,IAC3B;AACH,WAAO;AAAA,MACN,GAAG;AAAA,MACH,QAAQ;AAAA,QACP,GAAG,OAAO;AAAA,QACV;AAAA,MAAA;AAAA,IACD;AAAA,EAEF,CAAC;AACF;"}
1
+ {"version":3,"file":"UniqueDefinition.js","sources":["../../../../../../packages/schema-definition/src/model/definition/UniqueDefinition.ts"],"sourcesContent":["import { extendEntity } from './extensions.js'\nimport { DecoratorFunction } from '../../utils/index.js'\nimport { Model } from '@contember/schema'\n\nexport type UniqueOptions<T> =\n\t& {\n\t\tfields: (keyof T & string)[]\n\t}\n\t& (\n\t\t| {\n\t\t\tindex?: false\n\t\t\ttiming?: Model.ConstraintTiming\n\t\t}\n\t\t| {\n\t\t\tindex: true\n\t\t\tnulls?: Model.NullsDistinctBehaviour\n\t\t\tmethod?: Model.IndexMethod\n\t\t}\n\t)\nexport function Unique<T>(options: UniqueOptions<T>): DecoratorFunction<T>\nexport function Unique<T>(...fields: (keyof T & string)[]): DecoratorFunction<T>\nexport function Unique<T>(options: UniqueOptions<T> | keyof T & string, ...args: (keyof T & string)[]): DecoratorFunction<T> {\n\treturn extendEntity(({ entity }) => {\n\t\tconst unique = typeof options !== 'object'\n\t\t\t? { fields: [options, ...args] }\n\t\t\t: options\n\t\treturn {\n\t\t\t...entity,\n\t\t\tunique: [\n\t\t\t\t...entity.unique,\n\t\t\t\tunique,\n\t\t\t],\n\t\t}\n\t})\n}\n"],"names":[],"mappings":";AAqBO,SAAS,OAAU,YAAiD,MAAkD;AAC5H,SAAO,aAAa,CAAC,EAAE,aAAa;AACnC,UAAM,SAAS,OAAO,YAAY,WAC/B,EAAE,QAAQ,CAAC,SAAS,GAAG,IAAI,EAAA,IAC3B;AACH,WAAO;AAAA,MACN,GAAG;AAAA,MACH,QAAQ;AAAA,QACP,GAAG,OAAO;AAAA,QACV;AAAA,MAAA;AAAA,IACD;AAAA,EAEF,CAAC;AACF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ViewDefinition.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/ViewDefinition.ts"],"sourcesContent":["import { extendEntity } from './extensions'\nimport { EntityConstructor } from './types'\nimport { DecoratorFunction } from '../../utils'\n\nexport type ViewOptions<T> = {\n\tdependencies?: (() => EntityConstructor[]) | EntityConstructor[]\n\tidSource?: readonly ((keyof T) & string)[]\n\tmaterialized?: boolean\n}\n\nexport const View = <T>(sql: string, { dependencies, idSource, materialized }: ViewOptions<T> = {}): DecoratorFunction<T> =>\n\textendEntity(({ entity, entityRegistry }) => {\n\t\tconst dependenciesResolved = typeof dependencies === 'function' ? dependencies() : dependencies\n\t\tif (dependenciesResolved?.some(it => it === undefined)) {\n\t\t\tthrow `\"undefined\" value detected in dependencies of view entity ${entity.name}. This is possibly caused by circular imports.\nPlease wrap the array of dependencies into a function returning this array.\n\nInstead of:\ndependencies: [MyEntity]\nUse:\ndependencies: () => [MyEntity]\n`\n\t\t}\n\t\treturn ({\n\t\t\t...entity,\n\t\t\tview: {\n\t\t\t\tsql,\n\t\t\t\t...(dependenciesResolved ? { dependencies: dependenciesResolved.map(it => entityRegistry.getName(it)) } : {}),\n\t\t\t\t...(idSource ? { idSource } : {}),\n\t\t\t\t...(materialized ? { materialized: true } : {}),\n\t\t\t},\n\t\t})\n\t})\n"],"names":["extendEntity"],"mappings":";;;AAUO,MAAM,OAAO,CAAI,KAAa,EAAE,cAAc,UAAU,iBAAiC,CAAA,MAC/FA,WAAAA,aAAa,CAAC,EAAE,QAAQ,qBAAqB;AAC5C,QAAM,uBAAuB,OAAO,iBAAiB,aAAa,iBAAiB;AACnF,MAAI,sBAAsB,KAAK,CAAA,OAAM,OAAO,MAAS,GAAG;AACvD,UAAM,6DAA6D,OAAO,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ/E;AACA,SAAQ;AAAA,IACP,GAAG;AAAA,IACH,MAAM;AAAA,MACL;AAAA,MACA,GAAI,uBAAuB,EAAE,cAAc,qBAAqB,IAAI,CAAA,OAAM,eAAe,QAAQ,EAAE,CAAC,EAAA,IAAM,CAAA;AAAA,MAC1G,GAAI,WAAW,EAAE,SAAA,IAAa,CAAA;AAAA,MAC9B,GAAI,eAAe,EAAE,cAAc,SAAS,CAAA;AAAA,IAAC;AAAA,EAC9C;AAEF,CAAC;;"}
1
+ {"version":3,"file":"ViewDefinition.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/ViewDefinition.ts"],"sourcesContent":["import { extendEntity } from './extensions.js'\nimport { EntityConstructor } from './types.js'\nimport { DecoratorFunction } from '../../utils/index.js'\n\nexport type ViewOptions<T> = {\n\tdependencies?: (() => EntityConstructor[]) | EntityConstructor[]\n\tidSource?: readonly ((keyof T) & string)[]\n\tmaterialized?: boolean\n}\n\nexport const View = <T>(sql: string, { dependencies, idSource, materialized }: ViewOptions<T> = {}): DecoratorFunction<T> =>\n\textendEntity(({ entity, entityRegistry }) => {\n\t\tconst dependenciesResolved = typeof dependencies === 'function' ? dependencies() : dependencies\n\t\tif (dependenciesResolved?.some(it => it === undefined)) {\n\t\t\tthrow `\"undefined\" value detected in dependencies of view entity ${entity.name}. This is possibly caused by circular imports.\nPlease wrap the array of dependencies into a function returning this array.\n\nInstead of:\ndependencies: [MyEntity]\nUse:\ndependencies: () => [MyEntity]\n`\n\t\t}\n\t\treturn ({\n\t\t\t...entity,\n\t\t\tview: {\n\t\t\t\tsql,\n\t\t\t\t...(dependenciesResolved ? { dependencies: dependenciesResolved.map(it => entityRegistry.getName(it)) } : {}),\n\t\t\t\t...(idSource ? { idSource } : {}),\n\t\t\t\t...(materialized ? { materialized: true } : {}),\n\t\t\t},\n\t\t})\n\t})\n"],"names":["extendEntity"],"mappings":";;;AAUO,MAAM,OAAO,CAAI,KAAa,EAAE,cAAc,UAAU,iBAAiC,CAAA,MAC/FA,WAAAA,aAAa,CAAC,EAAE,QAAQ,qBAAqB;AAC5C,QAAM,uBAAuB,OAAO,iBAAiB,aAAa,iBAAiB;AACnF,MAAI,sBAAsB,KAAK,CAAA,OAAM,OAAO,MAAS,GAAG;AACvD,UAAM,6DAA6D,OAAO,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ/E;AACA,SAAQ;AAAA,IACP,GAAG;AAAA,IACH,MAAM;AAAA,MACL;AAAA,MACA,GAAI,uBAAuB,EAAE,cAAc,qBAAqB,IAAI,CAAA,OAAM,eAAe,QAAQ,EAAE,CAAC,EAAA,IAAM,CAAA;AAAA,MAC1G,GAAI,WAAW,EAAE,SAAA,IAAa,CAAA;AAAA,MAC9B,GAAI,eAAe,EAAE,cAAc,SAAS,CAAA;AAAA,IAAC;AAAA,EAC9C;AAEF,CAAC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ViewDefinition.js","sources":["../../../../../../packages/schema-definition/src/model/definition/ViewDefinition.ts"],"sourcesContent":["import { extendEntity } from './extensions'\nimport { EntityConstructor } from './types'\nimport { DecoratorFunction } from '../../utils'\n\nexport type ViewOptions<T> = {\n\tdependencies?: (() => EntityConstructor[]) | EntityConstructor[]\n\tidSource?: readonly ((keyof T) & string)[]\n\tmaterialized?: boolean\n}\n\nexport const View = <T>(sql: string, { dependencies, idSource, materialized }: ViewOptions<T> = {}): DecoratorFunction<T> =>\n\textendEntity(({ entity, entityRegistry }) => {\n\t\tconst dependenciesResolved = typeof dependencies === 'function' ? dependencies() : dependencies\n\t\tif (dependenciesResolved?.some(it => it === undefined)) {\n\t\t\tthrow `\"undefined\" value detected in dependencies of view entity ${entity.name}. This is possibly caused by circular imports.\nPlease wrap the array of dependencies into a function returning this array.\n\nInstead of:\ndependencies: [MyEntity]\nUse:\ndependencies: () => [MyEntity]\n`\n\t\t}\n\t\treturn ({\n\t\t\t...entity,\n\t\t\tview: {\n\t\t\t\tsql,\n\t\t\t\t...(dependenciesResolved ? { dependencies: dependenciesResolved.map(it => entityRegistry.getName(it)) } : {}),\n\t\t\t\t...(idSource ? { idSource } : {}),\n\t\t\t\t...(materialized ? { materialized: true } : {}),\n\t\t\t},\n\t\t})\n\t})\n"],"names":[],"mappings":";AAUO,MAAM,OAAO,CAAI,KAAa,EAAE,cAAc,UAAU,iBAAiC,CAAA,MAC/F,aAAa,CAAC,EAAE,QAAQ,qBAAqB;AAC5C,QAAM,uBAAuB,OAAO,iBAAiB,aAAa,iBAAiB;AACnF,MAAI,sBAAsB,KAAK,CAAA,OAAM,OAAO,MAAS,GAAG;AACvD,UAAM,6DAA6D,OAAO,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ/E;AACA,SAAQ;AAAA,IACP,GAAG;AAAA,IACH,MAAM;AAAA,MACL;AAAA,MACA,GAAI,uBAAuB,EAAE,cAAc,qBAAqB,IAAI,CAAA,OAAM,eAAe,QAAQ,EAAE,CAAC,EAAA,IAAM,CAAA;AAAA,MAC1G,GAAI,WAAW,EAAE,SAAA,IAAa,CAAA;AAAA,MAC9B,GAAI,eAAe,EAAE,cAAc,SAAS,CAAA;AAAA,IAAC;AAAA,EAC9C;AAEF,CAAC;"}
1
+ {"version":3,"file":"ViewDefinition.js","sources":["../../../../../../packages/schema-definition/src/model/definition/ViewDefinition.ts"],"sourcesContent":["import { extendEntity } from './extensions.js'\nimport { EntityConstructor } from './types.js'\nimport { DecoratorFunction } from '../../utils/index.js'\n\nexport type ViewOptions<T> = {\n\tdependencies?: (() => EntityConstructor[]) | EntityConstructor[]\n\tidSource?: readonly ((keyof T) & string)[]\n\tmaterialized?: boolean\n}\n\nexport const View = <T>(sql: string, { dependencies, idSource, materialized }: ViewOptions<T> = {}): DecoratorFunction<T> =>\n\textendEntity(({ entity, entityRegistry }) => {\n\t\tconst dependenciesResolved = typeof dependencies === 'function' ? dependencies() : dependencies\n\t\tif (dependenciesResolved?.some(it => it === undefined)) {\n\t\t\tthrow `\"undefined\" value detected in dependencies of view entity ${entity.name}. This is possibly caused by circular imports.\nPlease wrap the array of dependencies into a function returning this array.\n\nInstead of:\ndependencies: [MyEntity]\nUse:\ndependencies: () => [MyEntity]\n`\n\t\t}\n\t\treturn ({\n\t\t\t...entity,\n\t\t\tview: {\n\t\t\t\tsql,\n\t\t\t\t...(dependenciesResolved ? { dependencies: dependenciesResolved.map(it => entityRegistry.getName(it)) } : {}),\n\t\t\t\t...(idSource ? { idSource } : {}),\n\t\t\t\t...(materialized ? { materialized: true } : {}),\n\t\t\t},\n\t\t})\n\t})\n"],"names":[],"mappings":";AAUO,MAAM,OAAO,CAAI,KAAa,EAAE,cAAc,UAAU,iBAAiC,CAAA,MAC/F,aAAa,CAAC,EAAE,QAAQ,qBAAqB;AAC5C,QAAM,uBAAuB,OAAO,iBAAiB,aAAa,iBAAiB;AACnF,MAAI,sBAAsB,KAAK,CAAA,OAAM,OAAO,MAAS,GAAG;AACvD,UAAM,6DAA6D,OAAO,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ/E;AACA,SAAQ;AAAA,IACP,GAAG;AAAA,IACH,MAAM;AAAA,MACL;AAAA,MACA,GAAI,uBAAuB,EAAE,cAAc,qBAAqB,IAAI,CAAA,OAAM,eAAe,QAAQ,EAAE,CAAC,EAAA,IAAM,CAAA;AAAA,MAC1G,GAAI,WAAW,EAAE,SAAA,IAAa,CAAA;AAAA,MAC9B,GAAI,eAAe,EAAE,cAAc,SAAS,CAAA;AAAA,IAAC;AAAA,EAC9C;AAEF,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"extensions.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/extensions.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, FieldsDefinition } from './types'\nimport { EntityRegistry } from './internal'\nimport { createMetadataStore, DecoratorFunction } from '../../utils'\nimport { CommonContext } from './context'\n\nexport type EntityExtensionArgs =\n\t& {\n\t\tentity: Model.Entity\n\t\tdefinition: FieldsDefinition\n\t\t/** @deprecated use entityRegistry */\n\t\tregistry: EntityRegistry\n\t}\n\t& CommonContext\n\nconst entityExtensionsStore = createMetadataStore<EntityExtension[]>([])\n\nexport type EntityExtension = (args: EntityExtensionArgs) => Model.Entity\nexport const extendEntity = <T>(extension: EntityExtension): DecoratorFunction<T> => {\n\treturn function(cls: EntityConstructor, context?: ClassDecoratorContext) {\n\t\tentityExtensionsStore.update(cls, current => [...current, extension], context)\n\t}\n}\n\nexport const applyEntityExtensions = (\n\tcls: EntityConstructor,\n\targs: EntityExtensionArgs,\n): Model.Entity =>\n\tentityExtensionsStore.get(cls).reduce(\n\t\t(entity, ext) => ext({ ...args, entity }),\n\t\targs.entity,\n\t)\n"],"names":["createMetadataStore"],"mappings":";;;AAeA,MAAM,wBAAwBA,cAAAA,oBAAuC,EAAE;AAGhE,MAAM,eAAe,CAAI,cAAqD;AACpF,SAAO,SAAS,KAAwB,SAAiC;AACxE,0BAAsB,OAAO,KAAK,CAAA,YAAW,CAAC,GAAG,SAAS,SAAS,GAAG,OAAO;AAAA,EAC9E;AACD;AAEO,MAAM,wBAAwB,CACpC,KACA,SAEA,sBAAsB,IAAI,GAAG,EAAE;AAAA,EAC9B,CAAC,QAAQ,QAAQ,IAAI,EAAE,GAAG,MAAM,QAAQ;AAAA,EACxC,KAAK;AACN;;;"}
1
+ {"version":3,"file":"extensions.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/extensions.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, FieldsDefinition } from './types.js'\nimport { EntityRegistry } from './internal/index.js'\nimport { createMetadataStore, DecoratorFunction } from '../../utils/index.js'\nimport { CommonContext } from './context.js'\n\nexport type EntityExtensionArgs =\n\t& {\n\t\tentity: Model.Entity\n\t\tdefinition: FieldsDefinition\n\t\t/** @deprecated use entityRegistry */\n\t\tregistry: EntityRegistry\n\t}\n\t& CommonContext\n\nconst entityExtensionsStore = createMetadataStore<EntityExtension[]>([])\n\nexport type EntityExtension = (args: EntityExtensionArgs) => Model.Entity\nexport const extendEntity = <T>(extension: EntityExtension): DecoratorFunction<T> => {\n\treturn function(cls: EntityConstructor, context?: ClassDecoratorContext) {\n\t\tentityExtensionsStore.update(cls, current => [...current, extension], context)\n\t}\n}\n\nexport const applyEntityExtensions = (\n\tcls: EntityConstructor,\n\targs: EntityExtensionArgs,\n): Model.Entity =>\n\tentityExtensionsStore.get(cls).reduce(\n\t\t(entity, ext) => ext({ ...args, entity }),\n\t\targs.entity,\n\t)\n"],"names":["createMetadataStore"],"mappings":";;;AAeA,MAAM,wBAAwBA,cAAAA,oBAAuC,EAAE;AAGhE,MAAM,eAAe,CAAI,cAAqD;AACpF,SAAO,SAAS,KAAwB,SAAiC;AACxE,0BAAsB,OAAO,KAAK,CAAA,YAAW,CAAC,GAAG,SAAS,SAAS,GAAG,OAAO;AAAA,EAC9E;AACD;AAEO,MAAM,wBAAwB,CACpC,KACA,SAEA,sBAAsB,IAAI,GAAG,EAAE;AAAA,EAC9B,CAAC,QAAQ,QAAQ,IAAI,EAAE,GAAG,MAAM,QAAQ;AAAA,EACxC,KAAK;AACN;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"extensions.js","sources":["../../../../../../packages/schema-definition/src/model/definition/extensions.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, FieldsDefinition } from './types'\nimport { EntityRegistry } from './internal'\nimport { createMetadataStore, DecoratorFunction } from '../../utils'\nimport { CommonContext } from './context'\n\nexport type EntityExtensionArgs =\n\t& {\n\t\tentity: Model.Entity\n\t\tdefinition: FieldsDefinition\n\t\t/** @deprecated use entityRegistry */\n\t\tregistry: EntityRegistry\n\t}\n\t& CommonContext\n\nconst entityExtensionsStore = createMetadataStore<EntityExtension[]>([])\n\nexport type EntityExtension = (args: EntityExtensionArgs) => Model.Entity\nexport const extendEntity = <T>(extension: EntityExtension): DecoratorFunction<T> => {\n\treturn function(cls: EntityConstructor, context?: ClassDecoratorContext) {\n\t\tentityExtensionsStore.update(cls, current => [...current, extension], context)\n\t}\n}\n\nexport const applyEntityExtensions = (\n\tcls: EntityConstructor,\n\targs: EntityExtensionArgs,\n): Model.Entity =>\n\tentityExtensionsStore.get(cls).reduce(\n\t\t(entity, ext) => ext({ ...args, entity }),\n\t\targs.entity,\n\t)\n"],"names":[],"mappings":";AAeA,MAAM,wBAAwB,oBAAuC,EAAE;AAGhE,MAAM,eAAe,CAAI,cAAqD;AACpF,SAAO,SAAS,KAAwB,SAAiC;AACxE,0BAAsB,OAAO,KAAK,CAAA,YAAW,CAAC,GAAG,SAAS,SAAS,GAAG,OAAO;AAAA,EAC9E;AACD;AAEO,MAAM,wBAAwB,CACpC,KACA,SAEA,sBAAsB,IAAI,GAAG,EAAE;AAAA,EAC9B,CAAC,QAAQ,QAAQ,IAAI,EAAE,GAAG,MAAM,QAAQ;AAAA,EACxC,KAAK;AACN;"}
1
+ {"version":3,"file":"extensions.js","sources":["../../../../../../packages/schema-definition/src/model/definition/extensions.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, FieldsDefinition } from './types.js'\nimport { EntityRegistry } from './internal/index.js'\nimport { createMetadataStore, DecoratorFunction } from '../../utils/index.js'\nimport { CommonContext } from './context.js'\n\nexport type EntityExtensionArgs =\n\t& {\n\t\tentity: Model.Entity\n\t\tdefinition: FieldsDefinition\n\t\t/** @deprecated use entityRegistry */\n\t\tregistry: EntityRegistry\n\t}\n\t& CommonContext\n\nconst entityExtensionsStore = createMetadataStore<EntityExtension[]>([])\n\nexport type EntityExtension = (args: EntityExtensionArgs) => Model.Entity\nexport const extendEntity = <T>(extension: EntityExtension): DecoratorFunction<T> => {\n\treturn function(cls: EntityConstructor, context?: ClassDecoratorContext) {\n\t\tentityExtensionsStore.update(cls, current => [...current, extension], context)\n\t}\n}\n\nexport const applyEntityExtensions = (\n\tcls: EntityConstructor,\n\targs: EntityExtensionArgs,\n): Model.Entity =>\n\tentityExtensionsStore.get(cls).reduce(\n\t\t(entity, ext) => ext({ ...args, entity }),\n\t\targs.entity,\n\t)\n"],"names":[],"mappings":";AAeA,MAAM,wBAAwB,oBAAuC,EAAE;AAGhE,MAAM,eAAe,CAAI,cAAqD;AACpF,SAAO,SAAS,KAAwB,SAAiC;AACxE,0BAAsB,OAAO,KAAK,CAAA,YAAW,CAAC,GAAG,SAAS,SAAS,GAAG,OAAO;AAAA,EAC9E;AACD;AAEO,MAAM,wBAAwB,CACpC,KACA,SAEA,sBAAsB,IAAI,GAAG,EAAE;AAAA,EAC9B,CAAC,QAAQ,QAAQ,IAAI,EAAE,GAAG,MAAM,QAAQ;AAAA,EACxC,KAAK;AACN;"}
@@ -50,6 +50,18 @@ class ColumnDefinition extends FieldDefinition.FieldDefinition {
50
50
  collation(collation) {
51
51
  return this.withOption("collation", collation);
52
52
  }
53
+ /**
54
+ * Attaches a JSON Schema to a JSON column. Input values are validated against it on create/update.
55
+ * The schema is stored as metadata and does not affect the database schema.
56
+ *
57
+ * Only honored for JSON columns ({@link jsonColumn}); it is silently ignored on other column types.
58
+ * Validation runs on mutation input only — stored rows are not re-validated when the schema changes,
59
+ * and the data-transfer/import path bypasses it. Only a subset of JSON Schema keywords is supported;
60
+ * see {@link validateJsonSchema} for the exact list.
61
+ */
62
+ schema(schema2) {
63
+ return this.withOption("schema", schema2);
64
+ }
53
65
  createField({ name, conventions, enumRegistry, entityName, options }) {
54
66
  const {
55
67
  type,
@@ -61,7 +73,8 @@ class ColumnDefinition extends FieldDefinition.FieldDefinition {
61
73
  typeAlias,
62
74
  sequence,
63
75
  list,
64
- collation = options.defaultCollation
76
+ collation = options.defaultCollation,
77
+ schema: schema$1
65
78
  } = this.options;
66
79
  const common = {
67
80
  name,
@@ -70,7 +83,8 @@ class ColumnDefinition extends FieldDefinition.FieldDefinition {
70
83
  ...list ? { list } : {},
71
84
  ...defaultValue !== void 0 ? { default: defaultValue } : {},
72
85
  ...sequence !== void 0 ? { sequence } : {},
73
- ...type === schema.Model.ColumnType.String && collation !== void 0 ? { collation } : {}
86
+ ...type === schema.Model.ColumnType.String && collation !== void 0 ? { collation } : {},
87
+ ...type === schema.Model.ColumnType.Json && schema$1 !== void 0 ? { schema: schema$1 } : {}
74
88
  };
75
89
  if (type === schema.Model.ColumnType.Enum) {
76
90
  if (typeAlias) {
@@ -114,6 +128,9 @@ function boolColumn() {
114
128
  function doubleColumn() {
115
129
  return column(schema.Model.ColumnType.Double);
116
130
  }
131
+ function numericColumn(precision, scale) {
132
+ return column(schema.Model.ColumnType.Numeric).columnType(`${schemaUtils.resolveDefaultColumnType(schema.Model.ColumnType.Numeric)}(${precision}, ${scale})`);
133
+ }
117
134
  function dateColumn() {
118
135
  return column(schema.Model.ColumnType.Date);
119
136
  }
@@ -145,6 +162,7 @@ exports.doubleColumn = doubleColumn;
145
162
  exports.enumColumn = enumColumn;
146
163
  exports.intColumn = intColumn;
147
164
  exports.jsonColumn = jsonColumn;
165
+ exports.numericColumn = numericColumn;
148
166
  exports.stringColumn = stringColumn;
149
167
  exports.timeColumn = timeColumn;
150
168
  exports.uuidColumn = uuidColumn;
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ColumnDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { EnumDefinition } from '../EnumDefinition'\nimport { resolveDefaultColumnType } from '@contember/schema-utils'\n\nexport class ColumnDefinition extends FieldDefinition<ColumnDefinitionOptions> {\n\ttype = 'ColumnDefinition' as const\n\n\tpublic static create(\n\t\ttype: Model.ColumnType,\n\t\ttypeOptions: ColumnTypeOptions = {},\n\t): ColumnDefinition {\n\t\treturn new ColumnDefinition({\n\t\t\ttype: type,\n\t\t\t...typeOptions,\n\t\t})\n\t}\n\n\tpublic columnName(columnName: string): ColumnDefinition {\n\t\treturn this.withOption('columnName', columnName)\n\t}\n\n\tpublic columnType(columnType: string): ColumnDefinition {\n\t\treturn this.withOption('columnType', columnType)\n\t}\n\n\tpublic list(): ColumnDefinition {\n\t\treturn this.withOption('list', true)\n\t}\n\n\tpublic nullable(): ColumnDefinition {\n\t\treturn this.withOption('nullable', true)\n\t}\n\n\tpublic notNull(): ColumnDefinition {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tpublic sequence(options?: Partial<Model.ColumnTypeDefinition['sequence']>): ColumnDefinition {\n\t\treturn this.withOption('sequence', { precedence: 'BY DEFAULT', ...options })\n\t}\n\n\tpublic unique(options: { timing?: Model.ConstraintTiming } = {}): ColumnDefinition {\n\t\treturn this.withOption('unique', options)\n\t}\n\n\tpublic default(value: ColumnDefinition['options']['default']): ColumnDefinition {\n\t\treturn this.withOption('default', value)\n\t}\n\n\tpublic typeAlias(alias: string): ColumnDefinition {\n\t\treturn this.withOption('typeAlias', alias)\n\t}\n\n\t/**\n\t * Collation for string columns\n\t */\n\tpublic collation(collation: Model.Collation): ColumnDefinition {\n\t\treturn this.withOption('collation', collation)\n\t}\n\n\tcreateField({ name, conventions, enumRegistry, entityName, options }: CreateFieldContext): Model.AnyField {\n\t\tconst {\n\t\t\ttype,\n\t\t\tnullable,\n\t\t\tcolumnName,\n\t\t\tenumDefinition,\n\t\t\tdefault: defaultValue,\n\t\t\tcolumnType,\n\t\t\ttypeAlias,\n\t\t\tsequence,\n\t\t\tlist,\n\t\t\tcollation = options.defaultCollation,\n\t\t} = this.options\n\t\tconst common = {\n\t\t\tname: name,\n\t\t\tcolumnName: columnName || conventions.getColumnName(name),\n\t\t\tnullable: nullable === undefined ? true : nullable,\n\t\t\t...(list ? { list } : {}),\n\t\t\t...(defaultValue !== undefined ? { default: defaultValue } : {}),\n\t\t\t...(sequence !== undefined ? { sequence } : {}),\n\t\t\t...(type === Model.ColumnType.String && collation !== undefined ? { collation } : {}),\n\t\t}\n\t\tif (type === Model.ColumnType.Enum) {\n\t\t\tif (typeAlias) {\n\t\t\t\tthrow new Error('GraphQL type alias cannot be specified for enum type')\n\t\t\t}\n\t\t\tlet enumName: string\n\t\t\tif (!enumDefinition) {\n\t\t\t\tthrow new Error()\n\t\t\t}\n\t\t\tif (enumRegistry.has(enumDefinition)) {\n\t\t\t\tenumName = enumRegistry.getName(enumDefinition)\n\t\t\t} else {\n\t\t\t\tenumName = entityName + name.substring(0, 1).toUpperCase() + name.substring(1)\n\t\t\t\tenumRegistry.register(enumName, enumDefinition)\n\t\t\t}\n\n\t\t\treturn { ...common, type: type, columnType: enumName }\n\t\t}\n\t\treturn {\n\t\t\t...common,\n\t\t\ttype: type,\n\t\t\tcolumnType: columnType || resolveDefaultColumnType(type),\n\t\t\t...(typeAlias !== undefined ? { typeAlias } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof ColumnDefinitionOptions>(key: K, value: ColumnDefinitionOptions[K]): ColumnDefinition {\n\t\treturn new ColumnDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function column(type: Model.ColumnType, typeOptions: ColumnTypeOptions = {}) {\n\treturn ColumnDefinition.create(type, typeOptions)\n}\n\nexport function stringColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.String)\n}\n\nexport function intColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Int)\n}\n\nexport function boolColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Bool)\n}\n\nexport function doubleColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Double)\n}\n\nexport function dateColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Date)\n}\n\nexport function timeColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Time)\n}\n\nexport function dateTimeColumn(args?: { precision?: number }): ColumnDefinition {\n\tconst col = column(Model.ColumnType.DateTime)\n\tif (!args?.precision) {\n\t\treturn col\n\t}\n\treturn col.columnType(`${resolveDefaultColumnType(Model.ColumnType.DateTime)}(${args.precision})`)\n}\n\nexport function jsonColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Json)\n}\n\nexport function enumColumn(enumDefinition: EnumDefinition): ColumnDefinition {\n\treturn column(Model.ColumnType.Enum, { enumDefinition })\n}\n\nexport function uuidColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Uuid)\n}\n\nexport type ColumnTypeOptions = {\n\tenumDefinition?: EnumDefinition\n}\nexport type ColumnDefinitionOptions = {\n\ttype: Model.ColumnType\n\tcolumnType?: string\n\tlist?: boolean\n\ttypeAlias?: string\n\tcolumnName?: string\n\tunique?: { timing?: Model.ConstraintTiming }\n\tnullable?: boolean\n\tdefault?: Model.ColumnTypeDefinition['default']\n\tsequence?: Model.ColumnTypeDefinition['sequence']\n\tcollation?: Model.Collation\n} & ColumnTypeOptions\n"],"names":["FieldDefinition","Model","resolveDefaultColumnType"],"mappings":";;;;;;;;AAKO,MAAM,yBAAyBA,gBAAAA,gBAAyC;AAAA,EAAxE,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAO,kBAAA;AAAA,EAAA;AAAA,EAEP,OAAc,OACb,MACA,cAAiC,IACd;AACnB,WAAO,IAAI,iBAAiB;AAAA,MAC3B;AAAA,MACA,GAAG;AAAA,IAAA,CACH;AAAA,EACF;AAAA,EAEO,WAAW,YAAsC;AACvD,WAAO,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEO,WAAW,YAAsC;AACvD,WAAO,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEO,OAAyB;AAC/B,WAAO,KAAK,WAAW,QAAQ,IAAI;AAAA,EACpC;AAAA,EAEO,WAA6B;AACnC,WAAO,KAAK,WAAW,YAAY,IAAI;AAAA,EACxC;AAAA,EAEO,UAA4B;AAClC,WAAO,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEO,SAAS,SAA6E;AAC5F,WAAO,KAAK,WAAW,YAAY,EAAE,YAAY,cAAc,GAAG,SAAS;AAAA,EAC5E;AAAA,EAEO,OAAO,UAA+C,IAAsB;AAClF,WAAO,KAAK,WAAW,UAAU,OAAO;AAAA,EACzC;AAAA,EAEO,QAAQ,OAAiE;AAC/E,WAAO,KAAK,WAAW,WAAW,KAAK;AAAA,EACxC;AAAA,EAEO,UAAU,OAAiC;AACjD,WAAO,KAAK,WAAW,aAAa,KAAK;AAAA,EAC1C;AAAA;AAAA;AAAA;AAAA,EAKO,UAAU,WAA8C;AAC9D,WAAO,KAAK,WAAW,aAAa,SAAS;AAAA,EAC9C;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,cAAc,YAAY,WAA+C;AACzG,UAAM;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY,QAAQ;AAAA,IAAA,IACjB,KAAK;AACT,UAAM,SAAS;AAAA,MACd;AAAA,MACA,YAAY,cAAc,YAAY,cAAc,IAAI;AAAA,MACxD,UAAU,aAAa,SAAY,OAAO;AAAA,MAC1C,GAAI,OAAO,EAAE,KAAA,IAAS,CAAA;AAAA,MACtB,GAAI,iBAAiB,SAAY,EAAE,SAAS,aAAA,IAAiB,CAAA;AAAA,MAC7D,GAAI,aAAa,SAAY,EAAE,SAAA,IAAa,CAAA;AAAA,MAC5C,GAAI,SAASC,OAAAA,MAAM,WAAW,UAAU,cAAc,SAAY,EAAE,cAAc,CAAA;AAAA,IAAC;AAEpF,QAAI,SAASA,OAAAA,MAAM,WAAW,MAAM;AACnC,UAAI,WAAW;AACd,cAAM,IAAI,MAAM,sDAAsD;AAAA,MACvE;AACA,UAAI;AACJ,UAAI,CAAC,gBAAgB;AACpB,cAAM,IAAI,MAAA;AAAA,MACX;AACA,UAAI,aAAa,IAAI,cAAc,GAAG;AACrC,mBAAW,aAAa,QAAQ,cAAc;AAAA,MAC/C,OAAO;AACN,mBAAW,aAAa,KAAK,UAAU,GAAG,CAAC,EAAE,YAAA,IAAgB,KAAK,UAAU,CAAC;AAC7E,qBAAa,SAAS,UAAU,cAAc;AAAA,MAC/C;AAEA,aAAO,EAAE,GAAG,QAAQ,MAAY,YAAY,SAAA;AAAA,IAC7C;AACA,WAAO;AAAA,MACN,GAAG;AAAA,MACH;AAAA,MACA,YAAY,cAAcC,YAAAA,yBAAyB,IAAI;AAAA,MACvD,GAAI,cAAc,SAAY,EAAE,cAAc,CAAA;AAAA,IAAC;AAAA,EAEjD;AAAA,EAEU,WAAoD,KAAQ,OAAqD;AAC1H,WAAO,IAAI,iBAAiB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EAC9D;AACD;AAEO,SAAS,OAAO,MAAwB,cAAiC,IAAI;AACnF,SAAO,iBAAiB,OAAO,MAAM,WAAW;AACjD;AAEO,SAAS,eAAiC;AAChD,SAAO,OAAOD,OAAAA,MAAM,WAAW,MAAM;AACtC;AAEO,SAAS,YAA8B;AAC7C,SAAO,OAAOA,OAAAA,MAAM,WAAW,GAAG;AACnC;AAEO,SAAS,aAA+B;AAC9C,SAAO,OAAOA,OAAAA,MAAM,WAAW,IAAI;AACpC;AAEO,SAAS,eAAiC;AAChD,SAAO,OAAOA,OAAAA,MAAM,WAAW,MAAM;AACtC;AAEO,SAAS,aAA+B;AAC9C,SAAO,OAAOA,OAAAA,MAAM,WAAW,IAAI;AACpC;AAEO,SAAS,aAA+B;AAC9C,SAAO,OAAOA,OAAAA,MAAM,WAAW,IAAI;AACpC;AAEO,SAAS,eAAe,MAAiD;AAC/E,QAAM,MAAM,OAAOA,aAAM,WAAW,QAAQ;AAC5C,MAAI,CAAC,MAAM,WAAW;AACrB,WAAO;AAAA,EACR;AACA,SAAO,IAAI,WAAW,GAAGC,YAAAA,yBAAyBD,OAAAA,MAAM,WAAW,QAAQ,CAAC,IAAI,KAAK,SAAS,GAAG;AAClG;AAEO,SAAS,aAA+B;AAC9C,SAAO,OAAOA,OAAAA,MAAM,WAAW,IAAI;AACpC;AAEO,SAAS,WAAW,gBAAkD;AAC5E,SAAO,OAAOA,OAAAA,MAAM,WAAW,MAAM,EAAE,gBAAgB;AACxD;AAEO,SAAS,aAA+B;AAC9C,SAAO,OAAOA,OAAAA,MAAM,WAAW,IAAI;AACpC;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ColumnDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ColumnDefinition.ts"],"sourcesContent":["import { JSONValue, Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition.js'\nimport { EnumDefinition } from '../EnumDefinition.js'\nimport { resolveDefaultColumnType } from '@contember/schema-utils'\n\nexport class ColumnDefinition extends FieldDefinition<ColumnDefinitionOptions> {\n\ttype = 'ColumnDefinition' as const\n\n\tpublic static create(\n\t\ttype: Model.ColumnType,\n\t\ttypeOptions: ColumnTypeOptions = {},\n\t): ColumnDefinition {\n\t\treturn new ColumnDefinition({\n\t\t\ttype: type,\n\t\t\t...typeOptions,\n\t\t})\n\t}\n\n\tpublic columnName(columnName: string): ColumnDefinition {\n\t\treturn this.withOption('columnName', columnName)\n\t}\n\n\tpublic columnType(columnType: string): ColumnDefinition {\n\t\treturn this.withOption('columnType', columnType)\n\t}\n\n\tpublic list(): ColumnDefinition {\n\t\treturn this.withOption('list', true)\n\t}\n\n\tpublic nullable(): ColumnDefinition {\n\t\treturn this.withOption('nullable', true)\n\t}\n\n\tpublic notNull(): ColumnDefinition {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tpublic sequence(options?: Partial<Model.ColumnTypeDefinition['sequence']>): ColumnDefinition {\n\t\treturn this.withOption('sequence', { precedence: 'BY DEFAULT', ...options })\n\t}\n\n\tpublic unique(options: { timing?: Model.ConstraintTiming } = {}): ColumnDefinition {\n\t\treturn this.withOption('unique', options)\n\t}\n\n\tpublic default(value: ColumnDefinition['options']['default']): ColumnDefinition {\n\t\treturn this.withOption('default', value)\n\t}\n\n\tpublic typeAlias(alias: string): ColumnDefinition {\n\t\treturn this.withOption('typeAlias', alias)\n\t}\n\n\t/**\n\t * Collation for string columns\n\t */\n\tpublic collation(collation: Model.Collation): ColumnDefinition {\n\t\treturn this.withOption('collation', collation)\n\t}\n\n\t/**\n\t * Attaches a JSON Schema to a JSON column. Input values are validated against it on create/update.\n\t * The schema is stored as metadata and does not affect the database schema.\n\t *\n\t * Only honored for JSON columns ({@link jsonColumn}); it is silently ignored on other column types.\n\t * Validation runs on mutation input only — stored rows are not re-validated when the schema changes,\n\t * and the data-transfer/import path bypasses it. Only a subset of JSON Schema keywords is supported;\n\t * see {@link validateJsonSchema} for the exact list.\n\t */\n\tpublic schema(schema: JSONValue): ColumnDefinition {\n\t\treturn this.withOption('schema', schema)\n\t}\n\n\tcreateField({ name, conventions, enumRegistry, entityName, options }: CreateFieldContext): Model.AnyField {\n\t\tconst {\n\t\t\ttype,\n\t\t\tnullable,\n\t\t\tcolumnName,\n\t\t\tenumDefinition,\n\t\t\tdefault: defaultValue,\n\t\t\tcolumnType,\n\t\t\ttypeAlias,\n\t\t\tsequence,\n\t\t\tlist,\n\t\t\tcollation = options.defaultCollation,\n\t\t\tschema,\n\t\t} = this.options\n\t\tconst common = {\n\t\t\tname: name,\n\t\t\tcolumnName: columnName || conventions.getColumnName(name),\n\t\t\tnullable: nullable === undefined ? true : nullable,\n\t\t\t...(list ? { list } : {}),\n\t\t\t...(defaultValue !== undefined ? { default: defaultValue } : {}),\n\t\t\t...(sequence !== undefined ? { sequence } : {}),\n\t\t\t...(type === Model.ColumnType.String && collation !== undefined ? { collation } : {}),\n\t\t\t...(type === Model.ColumnType.Json && schema !== undefined ? { schema } : {}),\n\t\t}\n\t\tif (type === Model.ColumnType.Enum) {\n\t\t\tif (typeAlias) {\n\t\t\t\tthrow new Error('GraphQL type alias cannot be specified for enum type')\n\t\t\t}\n\t\t\tlet enumName: string\n\t\t\tif (!enumDefinition) {\n\t\t\t\tthrow new Error()\n\t\t\t}\n\t\t\tif (enumRegistry.has(enumDefinition)) {\n\t\t\t\tenumName = enumRegistry.getName(enumDefinition)\n\t\t\t} else {\n\t\t\t\tenumName = entityName + name.substring(0, 1).toUpperCase() + name.substring(1)\n\t\t\t\tenumRegistry.register(enumName, enumDefinition)\n\t\t\t}\n\n\t\t\treturn { ...common, type: type, columnType: enumName }\n\t\t}\n\t\treturn {\n\t\t\t...common,\n\t\t\ttype: type,\n\t\t\tcolumnType: columnType || resolveDefaultColumnType(type),\n\t\t\t...(typeAlias !== undefined ? { typeAlias } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof ColumnDefinitionOptions>(key: K, value: ColumnDefinitionOptions[K]): ColumnDefinition {\n\t\treturn new ColumnDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function column(type: Model.ColumnType, typeOptions: ColumnTypeOptions = {}) {\n\treturn ColumnDefinition.create(type, typeOptions)\n}\n\nexport function stringColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.String)\n}\n\nexport function intColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Int)\n}\n\nexport function boolColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Bool)\n}\n\nexport function doubleColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Double)\n}\n\n/**\n * Creates a `numeric(precision, scale)` (a.k.a. `decimal`) column.\n *\n * Values are transported over GraphQL as strings (e.g. `'-123456789123.456'`) to avoid\n * JavaScript floating-point precision loss. The value returned by the API is the exact\n * Postgres `numeric` text representation, which includes trailing zeros up to the column\n * scale (e.g. `123.450000000` for `numeric(20, 9)`).\n *\n * @param precision total number of significant digits\n * @param scale number of digits after the decimal point\n */\nexport function numericColumn(precision: number, scale: number): ColumnDefinition {\n\treturn column(Model.ColumnType.Numeric).columnType(`${resolveDefaultColumnType(Model.ColumnType.Numeric)}(${precision}, ${scale})`)\n}\n\nexport function dateColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Date)\n}\n\nexport function timeColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Time)\n}\n\nexport function dateTimeColumn(args?: { precision?: number }): ColumnDefinition {\n\tconst col = column(Model.ColumnType.DateTime)\n\tif (!args?.precision) {\n\t\treturn col\n\t}\n\treturn col.columnType(`${resolveDefaultColumnType(Model.ColumnType.DateTime)}(${args.precision})`)\n}\n\nexport function jsonColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Json)\n}\n\nexport function enumColumn(enumDefinition: EnumDefinition): ColumnDefinition {\n\treturn column(Model.ColumnType.Enum, { enumDefinition })\n}\n\nexport function uuidColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Uuid)\n}\n\nexport type ColumnTypeOptions = {\n\tenumDefinition?: EnumDefinition\n}\nexport type ColumnDefinitionOptions = {\n\ttype: Model.ColumnType\n\tcolumnType?: string\n\tlist?: boolean\n\ttypeAlias?: string\n\tcolumnName?: string\n\tunique?: { timing?: Model.ConstraintTiming }\n\tnullable?: boolean\n\tdefault?: Model.ColumnTypeDefinition['default']\n\tsequence?: Model.ColumnTypeDefinition['sequence']\n\tcollation?: Model.Collation\n\tschema?: JSONValue\n} & ColumnTypeOptions\n"],"names":["FieldDefinition","schema","Model","resolveDefaultColumnType"],"mappings":";;;;;;;;AAKO,MAAM,yBAAyBA,gBAAAA,gBAAyC;AAAA,EAAxE,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAO,kBAAA;AAAA,EAAA;AAAA,EAEP,OAAc,OACb,MACA,cAAiC,IACd;AACnB,WAAO,IAAI,iBAAiB;AAAA,MAC3B;AAAA,MACA,GAAG;AAAA,IAAA,CACH;AAAA,EACF;AAAA,EAEO,WAAW,YAAsC;AACvD,WAAO,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEO,WAAW,YAAsC;AACvD,WAAO,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEO,OAAyB;AAC/B,WAAO,KAAK,WAAW,QAAQ,IAAI;AAAA,EACpC;AAAA,EAEO,WAA6B;AACnC,WAAO,KAAK,WAAW,YAAY,IAAI;AAAA,EACxC;AAAA,EAEO,UAA4B;AAClC,WAAO,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEO,SAAS,SAA6E;AAC5F,WAAO,KAAK,WAAW,YAAY,EAAE,YAAY,cAAc,GAAG,SAAS;AAAA,EAC5E;AAAA,EAEO,OAAO,UAA+C,IAAsB;AAClF,WAAO,KAAK,WAAW,UAAU,OAAO;AAAA,EACzC;AAAA,EAEO,QAAQ,OAAiE;AAC/E,WAAO,KAAK,WAAW,WAAW,KAAK;AAAA,EACxC;AAAA,EAEO,UAAU,OAAiC;AACjD,WAAO,KAAK,WAAW,aAAa,KAAK;AAAA,EAC1C;AAAA;AAAA;AAAA;AAAA,EAKO,UAAU,WAA8C;AAC9D,WAAO,KAAK,WAAW,aAAa,SAAS;AAAA,EAC9C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWO,OAAOC,SAAqC;AAClD,WAAO,KAAK,WAAW,UAAUA,OAAM;AAAA,EACxC;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,cAAc,YAAY,WAA+C;AACzG,UAAM;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY,QAAQ;AAAA,MAAA,QACpBA;AAAAA,IAAA,IACG,KAAK;AACT,UAAM,SAAS;AAAA,MACd;AAAA,MACA,YAAY,cAAc,YAAY,cAAc,IAAI;AAAA,MACxD,UAAU,aAAa,SAAY,OAAO;AAAA,MAC1C,GAAI,OAAO,EAAE,KAAA,IAAS,CAAA;AAAA,MACtB,GAAI,iBAAiB,SAAY,EAAE,SAAS,aAAA,IAAiB,CAAA;AAAA,MAC7D,GAAI,aAAa,SAAY,EAAE,SAAA,IAAa,CAAA;AAAA,MAC5C,GAAI,SAASC,OAAAA,MAAM,WAAW,UAAU,cAAc,SAAY,EAAE,UAAA,IAAc,CAAA;AAAA,MAClF,GAAI,SAASA,OAAAA,MAAM,WAAW,QAAQD,aAAW,SAAY,EAAA,QAAEA,aAAW,CAAA;AAAA,IAAC;AAE5E,QAAI,SAASC,OAAAA,MAAM,WAAW,MAAM;AACnC,UAAI,WAAW;AACd,cAAM,IAAI,MAAM,sDAAsD;AAAA,MACvE;AACA,UAAI;AACJ,UAAI,CAAC,gBAAgB;AACpB,cAAM,IAAI,MAAA;AAAA,MACX;AACA,UAAI,aAAa,IAAI,cAAc,GAAG;AACrC,mBAAW,aAAa,QAAQ,cAAc;AAAA,MAC/C,OAAO;AACN,mBAAW,aAAa,KAAK,UAAU,GAAG,CAAC,EAAE,YAAA,IAAgB,KAAK,UAAU,CAAC;AAC7E,qBAAa,SAAS,UAAU,cAAc;AAAA,MAC/C;AAEA,aAAO,EAAE,GAAG,QAAQ,MAAY,YAAY,SAAA;AAAA,IAC7C;AACA,WAAO;AAAA,MACN,GAAG;AAAA,MACH;AAAA,MACA,YAAY,cAAcC,YAAAA,yBAAyB,IAAI;AAAA,MACvD,GAAI,cAAc,SAAY,EAAE,cAAc,CAAA;AAAA,IAAC;AAAA,EAEjD;AAAA,EAEU,WAAoD,KAAQ,OAAqD;AAC1H,WAAO,IAAI,iBAAiB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EAC9D;AACD;AAEO,SAAS,OAAO,MAAwB,cAAiC,IAAI;AACnF,SAAO,iBAAiB,OAAO,MAAM,WAAW;AACjD;AAEO,SAAS,eAAiC;AAChD,SAAO,OAAOD,OAAAA,MAAM,WAAW,MAAM;AACtC;AAEO,SAAS,YAA8B;AAC7C,SAAO,OAAOA,OAAAA,MAAM,WAAW,GAAG;AACnC;AAEO,SAAS,aAA+B;AAC9C,SAAO,OAAOA,OAAAA,MAAM,WAAW,IAAI;AACpC;AAEO,SAAS,eAAiC;AAChD,SAAO,OAAOA,OAAAA,MAAM,WAAW,MAAM;AACtC;AAaO,SAAS,cAAc,WAAmB,OAAiC;AACjF,SAAO,OAAOA,OAAAA,MAAM,WAAW,OAAO,EAAE,WAAW,GAAGC,YAAAA,yBAAyBD,OAAAA,MAAM,WAAW,OAAO,CAAC,IAAI,SAAS,KAAK,KAAK,GAAG;AACnI;AAEO,SAAS,aAA+B;AAC9C,SAAO,OAAOA,OAAAA,MAAM,WAAW,IAAI;AACpC;AAEO,SAAS,aAA+B;AAC9C,SAAO,OAAOA,OAAAA,MAAM,WAAW,IAAI;AACpC;AAEO,SAAS,eAAe,MAAiD;AAC/E,QAAM,MAAM,OAAOA,aAAM,WAAW,QAAQ;AAC5C,MAAI,CAAC,MAAM,WAAW;AACrB,WAAO;AAAA,EACR;AACA,SAAO,IAAI,WAAW,GAAGC,YAAAA,yBAAyBD,OAAAA,MAAM,WAAW,QAAQ,CAAC,IAAI,KAAK,SAAS,GAAG;AAClG;AAEO,SAAS,aAA+B;AAC9C,SAAO,OAAOA,OAAAA,MAAM,WAAW,IAAI;AACpC;AAEO,SAAS,WAAW,gBAAkD;AAC5E,SAAO,OAAOA,OAAAA,MAAM,WAAW,MAAM,EAAE,gBAAgB;AACxD;AAEO,SAAS,aAA+B;AAC9C,SAAO,OAAOA,OAAAA,MAAM,WAAW,IAAI;AACpC;;;;;;;;;;;;;;"}