@contember/schema-definition 2.1.0-alpha.37 → 2.1.0-alpha.39

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 (691) hide show
  1. package/dist/development/index.cjs +123 -0
  2. package/dist/development/index.cjs.map +1 -0
  3. package/dist/development/index.js +118 -0
  4. package/dist/development/index.js.map +1 -0
  5. package/dist/development/src/acl/builder/EntityPermissionsBuilder.cjs +119 -0
  6. package/dist/development/src/acl/builder/EntityPermissionsBuilder.cjs.map +1 -0
  7. package/dist/development/src/acl/builder/EntityPermissionsBuilder.js +120 -0
  8. package/dist/development/src/acl/builder/EntityPermissionsBuilder.js.map +1 -0
  9. package/dist/development/src/acl/builder/EntitySelector.cjs +32 -0
  10. package/dist/development/src/acl/builder/EntitySelector.cjs.map +1 -0
  11. package/dist/development/src/acl/builder/EntitySelector.js +33 -0
  12. package/dist/development/src/acl/builder/EntitySelector.js.map +1 -0
  13. package/dist/development/src/acl/builder/FieldPermissionsBuilder.cjs +59 -0
  14. package/dist/development/src/acl/builder/FieldPermissionsBuilder.cjs.map +1 -0
  15. package/dist/development/src/acl/builder/FieldPermissionsBuilder.js +60 -0
  16. package/dist/development/src/acl/builder/FieldPermissionsBuilder.js.map +1 -0
  17. package/dist/development/src/acl/builder/FieldSelector.cjs +26 -0
  18. package/dist/development/src/acl/builder/FieldSelector.cjs.map +1 -0
  19. package/dist/development/src/acl/builder/FieldSelector.js +27 -0
  20. package/dist/development/src/acl/builder/FieldSelector.js.map +1 -0
  21. package/dist/development/src/acl/builder/PermissionOverrider.cjs +37 -0
  22. package/dist/development/src/acl/builder/PermissionOverrider.cjs.map +1 -0
  23. package/dist/development/src/acl/builder/PermissionOverrider.js +38 -0
  24. package/dist/development/src/acl/builder/PermissionOverrider.js.map +1 -0
  25. package/dist/development/src/acl/builder/PermissionsBuilder.cjs +56 -0
  26. package/dist/development/src/acl/builder/PermissionsBuilder.cjs.map +1 -0
  27. package/dist/development/src/acl/builder/PermissionsBuilder.js +56 -0
  28. package/dist/development/src/acl/builder/PermissionsBuilder.js.map +1 -0
  29. package/dist/development/src/acl/builder/PredicateReference.cjs +43 -0
  30. package/dist/development/src/acl/builder/PredicateReference.cjs.map +1 -0
  31. package/dist/development/src/acl/builder/PredicateReference.js +43 -0
  32. package/dist/development/src/acl/builder/PredicateReference.js.map +1 -0
  33. package/dist/development/src/acl/definition/aclExtensions.cjs +16 -0
  34. package/dist/development/src/acl/definition/aclExtensions.cjs.map +1 -0
  35. package/dist/development/src/acl/definition/aclExtensions.js +16 -0
  36. package/dist/development/src/acl/definition/aclExtensions.js.map +1 -0
  37. package/dist/development/src/acl/definition/customPrimary.cjs +13 -0
  38. package/dist/development/src/acl/definition/customPrimary.cjs.map +1 -0
  39. package/dist/development/src/acl/definition/customPrimary.js +13 -0
  40. package/dist/development/src/acl/definition/customPrimary.js.map +1 -0
  41. package/dist/development/src/acl/definition/index.cjs +27 -0
  42. package/dist/development/src/acl/definition/index.cjs.map +1 -0
  43. package/dist/development/src/acl/definition/index.js +27 -0
  44. package/dist/development/src/acl/definition/index.js.map +1 -0
  45. package/dist/development/src/acl/definition/internal/AclFactory.cjs +133 -0
  46. package/dist/development/src/acl/definition/internal/AclFactory.cjs.map +1 -0
  47. package/dist/development/src/acl/definition/internal/AclFactory.js +133 -0
  48. package/dist/development/src/acl/definition/internal/AclFactory.js.map +1 -0
  49. package/dist/development/src/acl/definition/internal/EntityPredicateResolver.cjs +151 -0
  50. package/dist/development/src/acl/definition/internal/EntityPredicateResolver.cjs.map +1 -0
  51. package/dist/development/src/acl/definition/internal/EntityPredicateResolver.js +151 -0
  52. package/dist/development/src/acl/definition/internal/EntityPredicateResolver.js.map +1 -0
  53. package/dist/development/src/acl/definition/internal/createPredicateName.cjs +8 -0
  54. package/dist/development/src/acl/definition/internal/createPredicateName.cjs.map +1 -0
  55. package/dist/development/src/acl/definition/internal/createPredicateName.js +8 -0
  56. package/dist/development/src/acl/definition/internal/createPredicateName.js.map +1 -0
  57. package/dist/development/src/acl/definition/internal/stores.cjs +6 -0
  58. package/dist/development/src/acl/definition/internal/stores.cjs.map +1 -0
  59. package/dist/development/src/acl/definition/internal/stores.js +6 -0
  60. package/dist/development/src/acl/definition/internal/stores.js.map +1 -0
  61. package/dist/development/src/acl/definition/permissions.cjs +15 -0
  62. package/dist/development/src/acl/definition/permissions.cjs.map +1 -0
  63. package/dist/development/src/acl/definition/permissions.js +15 -0
  64. package/dist/development/src/acl/definition/permissions.js.map +1 -0
  65. package/dist/development/src/acl/definition/references.cjs +26 -0
  66. package/dist/development/src/acl/definition/references.cjs.map +1 -0
  67. package/dist/development/src/acl/definition/references.js +26 -0
  68. package/dist/development/src/acl/definition/references.js.map +1 -0
  69. package/dist/development/src/acl/definition/roles.cjs +14 -0
  70. package/dist/development/src/acl/definition/roles.cjs.map +1 -0
  71. package/dist/development/src/acl/definition/roles.js +14 -0
  72. package/dist/development/src/acl/definition/roles.js.map +1 -0
  73. package/dist/development/src/acl/definition/variables.cjs +36 -0
  74. package/dist/development/src/acl/definition/variables.cjs.map +1 -0
  75. package/dist/development/src/acl/definition/variables.js +36 -0
  76. package/dist/development/src/acl/definition/variables.js.map +1 -0
  77. package/dist/development/src/actions/definition/index.cjs +15 -0
  78. package/dist/development/src/actions/definition/index.cjs.map +1 -0
  79. package/dist/development/src/actions/definition/index.js +15 -0
  80. package/dist/development/src/actions/definition/index.js.map +1 -0
  81. package/dist/development/src/actions/definition/internal/ActionsFactory.cjs +180 -0
  82. package/dist/development/src/actions/definition/internal/ActionsFactory.cjs.map +1 -0
  83. package/dist/development/src/actions/definition/internal/ActionsFactory.js +180 -0
  84. package/dist/development/src/actions/definition/internal/ActionsFactory.js.map +1 -0
  85. package/dist/development/src/actions/definition/internal/store.cjs +6 -0
  86. package/dist/development/src/actions/definition/internal/store.cjs.map +1 -0
  87. package/dist/development/src/actions/definition/internal/store.js +6 -0
  88. package/dist/development/src/actions/definition/internal/store.js.map +1 -0
  89. package/dist/development/src/actions/definition/targets.cjs +15 -0
  90. package/dist/development/src/actions/definition/targets.cjs.map +1 -0
  91. package/dist/development/src/actions/definition/targets.js +15 -0
  92. package/dist/development/src/actions/definition/targets.js.map +1 -0
  93. package/dist/development/src/actions/definition/triggers.cjs +12 -0
  94. package/dist/development/src/actions/definition/triggers.cjs.map +1 -0
  95. package/dist/development/src/actions/definition/triggers.js +12 -0
  96. package/dist/development/src/actions/definition/triggers.js.map +1 -0
  97. package/dist/development/src/createSchema.cjs +29 -0
  98. package/dist/development/src/createSchema.cjs.map +1 -0
  99. package/dist/development/src/createSchema.js +29 -0
  100. package/dist/development/src/createSchema.js.map +1 -0
  101. package/dist/development/src/model/builder/ColumnBuilder.cjs +38 -0
  102. package/dist/development/src/model/builder/ColumnBuilder.cjs.map +1 -0
  103. package/dist/development/src/model/builder/ColumnBuilder.js +39 -0
  104. package/dist/development/src/model/builder/ColumnBuilder.js.map +1 -0
  105. package/dist/development/src/model/builder/EntityBuilder.cjs +69 -0
  106. package/dist/development/src/model/builder/EntityBuilder.cjs.map +1 -0
  107. package/dist/development/src/model/builder/EntityBuilder.js +70 -0
  108. package/dist/development/src/model/builder/EntityBuilder.js.map +1 -0
  109. package/dist/development/src/model/builder/FieldBuilder.cjs +14 -0
  110. package/dist/development/src/model/builder/FieldBuilder.cjs.map +1 -0
  111. package/dist/development/src/model/builder/FieldBuilder.js +15 -0
  112. package/dist/development/src/model/builder/FieldBuilder.js.map +1 -0
  113. package/dist/development/src/model/builder/ManyHasManyBuilder.cjs +35 -0
  114. package/dist/development/src/model/builder/ManyHasManyBuilder.cjs.map +1 -0
  115. package/dist/development/src/model/builder/ManyHasManyBuilder.js +36 -0
  116. package/dist/development/src/model/builder/ManyHasManyBuilder.js.map +1 -0
  117. package/dist/development/src/model/builder/ManyHasOneBuilder.cjs +36 -0
  118. package/dist/development/src/model/builder/ManyHasOneBuilder.cjs.map +1 -0
  119. package/dist/development/src/model/builder/ManyHasOneBuilder.js +37 -0
  120. package/dist/development/src/model/builder/ManyHasOneBuilder.js.map +1 -0
  121. package/dist/development/src/model/builder/OneHasManyBuilder.cjs +44 -0
  122. package/dist/development/src/model/builder/OneHasManyBuilder.cjs.map +1 -0
  123. package/dist/development/src/model/builder/OneHasManyBuilder.js +45 -0
  124. package/dist/development/src/model/builder/OneHasManyBuilder.js.map +1 -0
  125. package/dist/development/src/model/builder/OneHasOneBuilder.cjs +46 -0
  126. package/dist/development/src/model/builder/OneHasOneBuilder.cjs.map +1 -0
  127. package/dist/development/src/model/builder/OneHasOneBuilder.js +47 -0
  128. package/dist/development/src/model/builder/OneHasOneBuilder.js.map +1 -0
  129. package/dist/development/src/model/builder/SchemaBuilder.cjs +40 -0
  130. package/dist/development/src/model/builder/SchemaBuilder.cjs.map +1 -0
  131. package/dist/development/src/model/builder/SchemaBuilder.js +40 -0
  132. package/dist/development/src/model/builder/SchemaBuilder.js.map +1 -0
  133. package/dist/development/src/model/builder/SchemaBuilderError.cjs +6 -0
  134. package/dist/development/src/model/builder/SchemaBuilderError.cjs.map +1 -0
  135. package/dist/development/src/model/builder/SchemaBuilderError.js +6 -0
  136. package/dist/development/src/model/builder/SchemaBuilderError.js.map +1 -0
  137. package/dist/development/src/model/builder/SchemaBuilderInternal.cjs +153 -0
  138. package/dist/development/src/model/builder/SchemaBuilderInternal.cjs.map +1 -0
  139. package/dist/development/src/model/builder/SchemaBuilderInternal.js +154 -0
  140. package/dist/development/src/model/builder/SchemaBuilderInternal.js.map +1 -0
  141. package/dist/development/src/model/builder/internal/ColumnProcessor.cjs +34 -0
  142. package/dist/development/src/model/builder/internal/ColumnProcessor.cjs.map +1 -0
  143. package/dist/development/src/model/builder/internal/ColumnProcessor.js +35 -0
  144. package/dist/development/src/model/builder/internal/ColumnProcessor.js.map +1 -0
  145. package/dist/development/src/model/builder/internal/ManyHasManyProcessor.cjs +54 -0
  146. package/dist/development/src/model/builder/internal/ManyHasManyProcessor.cjs.map +1 -0
  147. package/dist/development/src/model/builder/internal/ManyHasManyProcessor.js +55 -0
  148. package/dist/development/src/model/builder/internal/ManyHasManyProcessor.js.map +1 -0
  149. package/dist/development/src/model/builder/internal/ManyHasOneProcessor.cjs +46 -0
  150. package/dist/development/src/model/builder/internal/ManyHasOneProcessor.cjs.map +1 -0
  151. package/dist/development/src/model/builder/internal/ManyHasOneProcessor.js +47 -0
  152. package/dist/development/src/model/builder/internal/ManyHasOneProcessor.js.map +1 -0
  153. package/dist/development/src/model/builder/internal/OneHasManyProcessor.cjs +44 -0
  154. package/dist/development/src/model/builder/internal/OneHasManyProcessor.cjs.map +1 -0
  155. package/dist/development/src/model/builder/internal/OneHasManyProcessor.js +45 -0
  156. package/dist/development/src/model/builder/internal/OneHasManyProcessor.js.map +1 -0
  157. package/dist/development/src/model/builder/internal/OneHasOneProcessor.cjs +50 -0
  158. package/dist/development/src/model/builder/internal/OneHasOneProcessor.cjs.map +1 -0
  159. package/dist/development/src/model/builder/internal/OneHasOneProcessor.js +51 -0
  160. package/dist/development/src/model/builder/internal/OneHasOneProcessor.js.map +1 -0
  161. package/dist/development/src/model/definition/EnumDefinition.cjs +13 -0
  162. package/dist/development/src/model/definition/EnumDefinition.cjs.map +1 -0
  163. package/dist/development/src/model/definition/EnumDefinition.js +13 -0
  164. package/dist/development/src/model/definition/EnumDefinition.js.map +1 -0
  165. package/dist/development/src/model/definition/EventLogDefinition.cjs +9 -0
  166. package/dist/development/src/model/definition/EventLogDefinition.cjs.map +1 -0
  167. package/dist/development/src/model/definition/EventLogDefinition.js +9 -0
  168. package/dist/development/src/model/definition/EventLogDefinition.js.map +1 -0
  169. package/dist/development/src/model/definition/IndexDefinition.cjs +17 -0
  170. package/dist/development/src/model/definition/IndexDefinition.cjs.map +1 -0
  171. package/dist/development/src/model/definition/IndexDefinition.js +17 -0
  172. package/dist/development/src/model/definition/IndexDefinition.js.map +1 -0
  173. package/dist/development/src/model/definition/OrderByDefinition.cjs +32 -0
  174. package/dist/development/src/model/definition/OrderByDefinition.cjs.map +1 -0
  175. package/dist/development/src/model/definition/OrderByDefinition.js +32 -0
  176. package/dist/development/src/model/definition/OrderByDefinition.js.map +1 -0
  177. package/dist/development/src/model/definition/UniqueDefinition.cjs +17 -0
  178. package/dist/development/src/model/definition/UniqueDefinition.cjs.map +1 -0
  179. package/dist/development/src/model/definition/UniqueDefinition.js +17 -0
  180. package/dist/development/src/model/definition/UniqueDefinition.js.map +1 -0
  181. package/dist/development/src/model/definition/ViewDefinition.cjs +27 -0
  182. package/dist/development/src/model/definition/ViewDefinition.cjs.map +1 -0
  183. package/dist/development/src/model/definition/ViewDefinition.js +27 -0
  184. package/dist/development/src/model/definition/ViewDefinition.js.map +1 -0
  185. package/dist/development/src/model/definition/extensions.cjs +16 -0
  186. package/dist/development/src/model/definition/extensions.cjs.map +1 -0
  187. package/dist/development/src/model/definition/extensions.js +16 -0
  188. package/dist/development/src/model/definition/extensions.js.map +1 -0
  189. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +151 -0
  190. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +1 -0
  191. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js +151 -0
  192. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +1 -0
  193. package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.cjs +9 -0
  194. package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.cjs.map +1 -0
  195. package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.js +9 -0
  196. package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.js.map +1 -0
  197. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs +57 -0
  198. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs.map +1 -0
  199. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js +57 -0
  200. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js.map +1 -0
  201. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs +36 -0
  202. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs.map +1 -0
  203. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js +36 -0
  204. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js.map +1 -0
  205. package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs +60 -0
  206. package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs.map +1 -0
  207. package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js +60 -0
  208. package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js.map +1 -0
  209. package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs +36 -0
  210. package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs.map +1 -0
  211. package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.js +36 -0
  212. package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.js.map +1 -0
  213. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs +64 -0
  214. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs.map +1 -0
  215. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.js +64 -0
  216. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.js.map +1 -0
  217. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs +35 -0
  218. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs.map +1 -0
  219. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js +35 -0
  220. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map +1 -0
  221. package/dist/development/src/model/definition/index.cjs +80 -0
  222. package/dist/development/src/model/definition/index.cjs.map +1 -0
  223. package/dist/development/src/model/definition/index.js +81 -0
  224. package/dist/development/src/model/definition/index.js.map +1 -0
  225. package/dist/development/src/model/definition/internal/EntityRegistry.cjs +29 -0
  226. package/dist/development/src/model/definition/internal/EntityRegistry.cjs.map +1 -0
  227. package/dist/development/src/model/definition/internal/EntityRegistry.js +29 -0
  228. package/dist/development/src/model/definition/internal/EntityRegistry.js.map +1 -0
  229. package/dist/development/src/model/definition/internal/EnumRegistry.cjs +29 -0
  230. package/dist/development/src/model/definition/internal/EnumRegistry.cjs.map +1 -0
  231. package/dist/development/src/model/definition/internal/EnumRegistry.js +29 -0
  232. package/dist/development/src/model/definition/internal/EnumRegistry.js.map +1 -0
  233. package/dist/development/src/model/definition/internal/SchemaBuilder.cjs +101 -0
  234. package/dist/development/src/model/definition/internal/SchemaBuilder.cjs.map +1 -0
  235. package/dist/development/src/model/definition/internal/SchemaBuilder.js +101 -0
  236. package/dist/development/src/model/definition/internal/SchemaBuilder.js.map +1 -0
  237. package/dist/development/src/presets.cjs +46 -0
  238. package/dist/development/src/presets.cjs.map +1 -0
  239. package/dist/development/src/presets.js +46 -0
  240. package/dist/development/src/presets.js.map +1 -0
  241. package/dist/development/src/strict.cjs +33 -0
  242. package/dist/development/src/strict.cjs.map +1 -0
  243. package/dist/development/src/strict.js +33 -0
  244. package/dist/development/src/strict.js.map +1 -0
  245. package/dist/development/src/utils/MetadataStore.cjs +31 -0
  246. package/dist/development/src/utils/MetadataStore.cjs.map +1 -0
  247. package/dist/development/src/utils/MetadataStore.js +31 -0
  248. package/dist/development/src/utils/MetadataStore.js.map +1 -0
  249. package/dist/development/src/utils/assertNever.cjs +7 -0
  250. package/dist/development/src/utils/assertNever.cjs.map +1 -0
  251. package/dist/development/src/utils/assertNever.js +7 -0
  252. package/dist/development/src/utils/assertNever.js.map +1 -0
  253. package/dist/development/src/utils/filterEntityDefinition.cjs +9 -0
  254. package/dist/development/src/utils/filterEntityDefinition.cjs.map +1 -0
  255. package/dist/development/src/utils/filterEntityDefinition.js +9 -0
  256. package/dist/development/src/utils/filterEntityDefinition.js.map +1 -0
  257. package/dist/development/src/utils/tuple.cjs +5 -0
  258. package/dist/development/src/utils/tuple.cjs.map +1 -0
  259. package/dist/development/src/utils/tuple.js +5 -0
  260. package/dist/development/src/utils/tuple.js.map +1 -0
  261. package/dist/development/src/validation/index.cjs +213 -0
  262. package/dist/development/src/validation/index.cjs.map +1 -0
  263. package/dist/development/src/validation/index.js +213 -0
  264. package/dist/development/src/validation/index.js.map +1 -0
  265. package/dist/production/index.cjs +123 -0
  266. package/dist/production/index.cjs.map +1 -0
  267. package/dist/production/index.js +118 -0
  268. package/dist/production/index.js.map +1 -0
  269. package/dist/production/src/acl/builder/EntityPermissionsBuilder.cjs +119 -0
  270. package/dist/production/src/acl/builder/EntityPermissionsBuilder.cjs.map +1 -0
  271. package/dist/production/src/acl/builder/EntityPermissionsBuilder.js +120 -0
  272. package/dist/production/src/acl/builder/EntityPermissionsBuilder.js.map +1 -0
  273. package/dist/production/src/acl/builder/EntitySelector.cjs +32 -0
  274. package/dist/production/src/acl/builder/EntitySelector.cjs.map +1 -0
  275. package/dist/production/src/acl/builder/EntitySelector.js +33 -0
  276. package/dist/production/src/acl/builder/EntitySelector.js.map +1 -0
  277. package/dist/production/src/acl/builder/FieldPermissionsBuilder.cjs +59 -0
  278. package/dist/production/src/acl/builder/FieldPermissionsBuilder.cjs.map +1 -0
  279. package/dist/production/src/acl/builder/FieldPermissionsBuilder.js +60 -0
  280. package/dist/production/src/acl/builder/FieldPermissionsBuilder.js.map +1 -0
  281. package/dist/production/src/acl/builder/FieldSelector.cjs +26 -0
  282. package/dist/production/src/acl/builder/FieldSelector.cjs.map +1 -0
  283. package/dist/production/src/acl/builder/FieldSelector.js +27 -0
  284. package/dist/production/src/acl/builder/FieldSelector.js.map +1 -0
  285. package/dist/production/src/acl/builder/PermissionOverrider.cjs +37 -0
  286. package/dist/production/src/acl/builder/PermissionOverrider.cjs.map +1 -0
  287. package/dist/production/src/acl/builder/PermissionOverrider.js +38 -0
  288. package/dist/production/src/acl/builder/PermissionOverrider.js.map +1 -0
  289. package/dist/production/src/acl/builder/PermissionsBuilder.cjs +56 -0
  290. package/dist/production/src/acl/builder/PermissionsBuilder.cjs.map +1 -0
  291. package/dist/production/src/acl/builder/PermissionsBuilder.js +56 -0
  292. package/dist/production/src/acl/builder/PermissionsBuilder.js.map +1 -0
  293. package/dist/production/src/acl/builder/PredicateReference.cjs +43 -0
  294. package/dist/production/src/acl/builder/PredicateReference.cjs.map +1 -0
  295. package/dist/production/src/acl/builder/PredicateReference.js +43 -0
  296. package/dist/production/src/acl/builder/PredicateReference.js.map +1 -0
  297. package/dist/production/src/acl/definition/aclExtensions.cjs +16 -0
  298. package/dist/production/src/acl/definition/aclExtensions.cjs.map +1 -0
  299. package/dist/production/src/acl/definition/aclExtensions.js +16 -0
  300. package/dist/production/src/acl/definition/aclExtensions.js.map +1 -0
  301. package/dist/production/src/acl/definition/customPrimary.cjs +13 -0
  302. package/dist/production/src/acl/definition/customPrimary.cjs.map +1 -0
  303. package/dist/production/src/acl/definition/customPrimary.js +13 -0
  304. package/dist/production/src/acl/definition/customPrimary.js.map +1 -0
  305. package/dist/production/src/acl/definition/index.cjs +27 -0
  306. package/dist/production/src/acl/definition/index.cjs.map +1 -0
  307. package/dist/production/src/acl/definition/index.js +27 -0
  308. package/dist/production/src/acl/definition/index.js.map +1 -0
  309. package/dist/production/src/acl/definition/internal/AclFactory.cjs +133 -0
  310. package/dist/production/src/acl/definition/internal/AclFactory.cjs.map +1 -0
  311. package/dist/production/src/acl/definition/internal/AclFactory.js +133 -0
  312. package/dist/production/src/acl/definition/internal/AclFactory.js.map +1 -0
  313. package/dist/production/src/acl/definition/internal/EntityPredicateResolver.cjs +151 -0
  314. package/dist/production/src/acl/definition/internal/EntityPredicateResolver.cjs.map +1 -0
  315. package/dist/production/src/acl/definition/internal/EntityPredicateResolver.js +151 -0
  316. package/dist/production/src/acl/definition/internal/EntityPredicateResolver.js.map +1 -0
  317. package/dist/production/src/acl/definition/internal/createPredicateName.cjs +8 -0
  318. package/dist/production/src/acl/definition/internal/createPredicateName.cjs.map +1 -0
  319. package/dist/production/src/acl/definition/internal/createPredicateName.js +8 -0
  320. package/dist/production/src/acl/definition/internal/createPredicateName.js.map +1 -0
  321. package/dist/production/src/acl/definition/internal/stores.cjs +6 -0
  322. package/dist/production/src/acl/definition/internal/stores.cjs.map +1 -0
  323. package/dist/production/src/acl/definition/internal/stores.js +6 -0
  324. package/dist/production/src/acl/definition/internal/stores.js.map +1 -0
  325. package/dist/production/src/acl/definition/permissions.cjs +15 -0
  326. package/dist/production/src/acl/definition/permissions.cjs.map +1 -0
  327. package/dist/production/src/acl/definition/permissions.js +15 -0
  328. package/dist/production/src/acl/definition/permissions.js.map +1 -0
  329. package/dist/production/src/acl/definition/references.cjs +26 -0
  330. package/dist/production/src/acl/definition/references.cjs.map +1 -0
  331. package/dist/production/src/acl/definition/references.js +26 -0
  332. package/dist/production/src/acl/definition/references.js.map +1 -0
  333. package/dist/production/src/acl/definition/roles.cjs +14 -0
  334. package/dist/production/src/acl/definition/roles.cjs.map +1 -0
  335. package/dist/production/src/acl/definition/roles.js +14 -0
  336. package/dist/production/src/acl/definition/roles.js.map +1 -0
  337. package/dist/production/src/acl/definition/variables.cjs +36 -0
  338. package/dist/production/src/acl/definition/variables.cjs.map +1 -0
  339. package/dist/production/src/acl/definition/variables.js +36 -0
  340. package/dist/production/src/acl/definition/variables.js.map +1 -0
  341. package/dist/production/src/actions/definition/index.cjs +15 -0
  342. package/dist/production/src/actions/definition/index.cjs.map +1 -0
  343. package/dist/production/src/actions/definition/index.js +15 -0
  344. package/dist/production/src/actions/definition/index.js.map +1 -0
  345. package/dist/production/src/actions/definition/internal/ActionsFactory.cjs +180 -0
  346. package/dist/production/src/actions/definition/internal/ActionsFactory.cjs.map +1 -0
  347. package/dist/production/src/actions/definition/internal/ActionsFactory.js +180 -0
  348. package/dist/production/src/actions/definition/internal/ActionsFactory.js.map +1 -0
  349. package/dist/production/src/actions/definition/internal/store.cjs +6 -0
  350. package/dist/production/src/actions/definition/internal/store.cjs.map +1 -0
  351. package/dist/production/src/actions/definition/internal/store.js +6 -0
  352. package/dist/production/src/actions/definition/internal/store.js.map +1 -0
  353. package/dist/production/src/actions/definition/targets.cjs +15 -0
  354. package/dist/production/src/actions/definition/targets.cjs.map +1 -0
  355. package/dist/production/src/actions/definition/targets.js +15 -0
  356. package/dist/production/src/actions/definition/targets.js.map +1 -0
  357. package/dist/production/src/actions/definition/triggers.cjs +12 -0
  358. package/dist/production/src/actions/definition/triggers.cjs.map +1 -0
  359. package/dist/production/src/actions/definition/triggers.js +12 -0
  360. package/dist/production/src/actions/definition/triggers.js.map +1 -0
  361. package/dist/production/src/createSchema.cjs +29 -0
  362. package/dist/production/src/createSchema.cjs.map +1 -0
  363. package/dist/production/src/createSchema.js +29 -0
  364. package/dist/production/src/createSchema.js.map +1 -0
  365. package/dist/production/src/model/builder/ColumnBuilder.cjs +38 -0
  366. package/dist/production/src/model/builder/ColumnBuilder.cjs.map +1 -0
  367. package/dist/production/src/model/builder/ColumnBuilder.js +39 -0
  368. package/dist/production/src/model/builder/ColumnBuilder.js.map +1 -0
  369. package/dist/production/src/model/builder/EntityBuilder.cjs +69 -0
  370. package/dist/production/src/model/builder/EntityBuilder.cjs.map +1 -0
  371. package/dist/production/src/model/builder/EntityBuilder.js +70 -0
  372. package/dist/production/src/model/builder/EntityBuilder.js.map +1 -0
  373. package/dist/production/src/model/builder/FieldBuilder.cjs +14 -0
  374. package/dist/production/src/model/builder/FieldBuilder.cjs.map +1 -0
  375. package/dist/production/src/model/builder/FieldBuilder.js +15 -0
  376. package/dist/production/src/model/builder/FieldBuilder.js.map +1 -0
  377. package/dist/production/src/model/builder/ManyHasManyBuilder.cjs +35 -0
  378. package/dist/production/src/model/builder/ManyHasManyBuilder.cjs.map +1 -0
  379. package/dist/production/src/model/builder/ManyHasManyBuilder.js +36 -0
  380. package/dist/production/src/model/builder/ManyHasManyBuilder.js.map +1 -0
  381. package/dist/production/src/model/builder/ManyHasOneBuilder.cjs +36 -0
  382. package/dist/production/src/model/builder/ManyHasOneBuilder.cjs.map +1 -0
  383. package/dist/production/src/model/builder/ManyHasOneBuilder.js +37 -0
  384. package/dist/production/src/model/builder/ManyHasOneBuilder.js.map +1 -0
  385. package/dist/production/src/model/builder/OneHasManyBuilder.cjs +44 -0
  386. package/dist/production/src/model/builder/OneHasManyBuilder.cjs.map +1 -0
  387. package/dist/production/src/model/builder/OneHasManyBuilder.js +45 -0
  388. package/dist/production/src/model/builder/OneHasManyBuilder.js.map +1 -0
  389. package/dist/production/src/model/builder/OneHasOneBuilder.cjs +46 -0
  390. package/dist/production/src/model/builder/OneHasOneBuilder.cjs.map +1 -0
  391. package/dist/production/src/model/builder/OneHasOneBuilder.js +47 -0
  392. package/dist/production/src/model/builder/OneHasOneBuilder.js.map +1 -0
  393. package/dist/production/src/model/builder/SchemaBuilder.cjs +40 -0
  394. package/dist/production/src/model/builder/SchemaBuilder.cjs.map +1 -0
  395. package/dist/production/src/model/builder/SchemaBuilder.js +40 -0
  396. package/dist/production/src/model/builder/SchemaBuilder.js.map +1 -0
  397. package/dist/production/src/model/builder/SchemaBuilderError.cjs +6 -0
  398. package/dist/production/src/model/builder/SchemaBuilderError.cjs.map +1 -0
  399. package/dist/production/src/model/builder/SchemaBuilderError.js +6 -0
  400. package/dist/production/src/model/builder/SchemaBuilderError.js.map +1 -0
  401. package/dist/production/src/model/builder/SchemaBuilderInternal.cjs +153 -0
  402. package/dist/production/src/model/builder/SchemaBuilderInternal.cjs.map +1 -0
  403. package/dist/production/src/model/builder/SchemaBuilderInternal.js +154 -0
  404. package/dist/production/src/model/builder/SchemaBuilderInternal.js.map +1 -0
  405. package/dist/production/src/model/builder/internal/ColumnProcessor.cjs +34 -0
  406. package/dist/production/src/model/builder/internal/ColumnProcessor.cjs.map +1 -0
  407. package/dist/production/src/model/builder/internal/ColumnProcessor.js +35 -0
  408. package/dist/production/src/model/builder/internal/ColumnProcessor.js.map +1 -0
  409. package/dist/production/src/model/builder/internal/ManyHasManyProcessor.cjs +54 -0
  410. package/dist/production/src/model/builder/internal/ManyHasManyProcessor.cjs.map +1 -0
  411. package/dist/production/src/model/builder/internal/ManyHasManyProcessor.js +55 -0
  412. package/dist/production/src/model/builder/internal/ManyHasManyProcessor.js.map +1 -0
  413. package/dist/production/src/model/builder/internal/ManyHasOneProcessor.cjs +46 -0
  414. package/dist/production/src/model/builder/internal/ManyHasOneProcessor.cjs.map +1 -0
  415. package/dist/production/src/model/builder/internal/ManyHasOneProcessor.js +47 -0
  416. package/dist/production/src/model/builder/internal/ManyHasOneProcessor.js.map +1 -0
  417. package/dist/production/src/model/builder/internal/OneHasManyProcessor.cjs +44 -0
  418. package/dist/production/src/model/builder/internal/OneHasManyProcessor.cjs.map +1 -0
  419. package/dist/production/src/model/builder/internal/OneHasManyProcessor.js +45 -0
  420. package/dist/production/src/model/builder/internal/OneHasManyProcessor.js.map +1 -0
  421. package/dist/production/src/model/builder/internal/OneHasOneProcessor.cjs +50 -0
  422. package/dist/production/src/model/builder/internal/OneHasOneProcessor.cjs.map +1 -0
  423. package/dist/production/src/model/builder/internal/OneHasOneProcessor.js +51 -0
  424. package/dist/production/src/model/builder/internal/OneHasOneProcessor.js.map +1 -0
  425. package/dist/production/src/model/definition/EnumDefinition.cjs +13 -0
  426. package/dist/production/src/model/definition/EnumDefinition.cjs.map +1 -0
  427. package/dist/production/src/model/definition/EnumDefinition.js +13 -0
  428. package/dist/production/src/model/definition/EnumDefinition.js.map +1 -0
  429. package/dist/production/src/model/definition/EventLogDefinition.cjs +9 -0
  430. package/dist/production/src/model/definition/EventLogDefinition.cjs.map +1 -0
  431. package/dist/production/src/model/definition/EventLogDefinition.js +9 -0
  432. package/dist/production/src/model/definition/EventLogDefinition.js.map +1 -0
  433. package/dist/production/src/model/definition/IndexDefinition.cjs +17 -0
  434. package/dist/production/src/model/definition/IndexDefinition.cjs.map +1 -0
  435. package/dist/production/src/model/definition/IndexDefinition.js +17 -0
  436. package/dist/production/src/model/definition/IndexDefinition.js.map +1 -0
  437. package/dist/production/src/model/definition/OrderByDefinition.cjs +32 -0
  438. package/dist/production/src/model/definition/OrderByDefinition.cjs.map +1 -0
  439. package/dist/production/src/model/definition/OrderByDefinition.js +32 -0
  440. package/dist/production/src/model/definition/OrderByDefinition.js.map +1 -0
  441. package/dist/production/src/model/definition/UniqueDefinition.cjs +17 -0
  442. package/dist/production/src/model/definition/UniqueDefinition.cjs.map +1 -0
  443. package/dist/production/src/model/definition/UniqueDefinition.js +17 -0
  444. package/dist/production/src/model/definition/UniqueDefinition.js.map +1 -0
  445. package/dist/production/src/model/definition/ViewDefinition.cjs +27 -0
  446. package/dist/production/src/model/definition/ViewDefinition.cjs.map +1 -0
  447. package/dist/production/src/model/definition/ViewDefinition.js +27 -0
  448. package/dist/production/src/model/definition/ViewDefinition.js.map +1 -0
  449. package/dist/production/src/model/definition/extensions.cjs +16 -0
  450. package/dist/production/src/model/definition/extensions.cjs.map +1 -0
  451. package/dist/production/src/model/definition/extensions.js +16 -0
  452. package/dist/production/src/model/definition/extensions.js.map +1 -0
  453. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +151 -0
  454. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +1 -0
  455. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js +151 -0
  456. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +1 -0
  457. package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.cjs +9 -0
  458. package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.cjs.map +1 -0
  459. package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.js +9 -0
  460. package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.js.map +1 -0
  461. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs +57 -0
  462. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs.map +1 -0
  463. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js +57 -0
  464. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js.map +1 -0
  465. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs +36 -0
  466. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs.map +1 -0
  467. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js +36 -0
  468. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js.map +1 -0
  469. package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs +60 -0
  470. package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs.map +1 -0
  471. package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js +60 -0
  472. package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js.map +1 -0
  473. package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs +36 -0
  474. package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs.map +1 -0
  475. package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.js +36 -0
  476. package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.js.map +1 -0
  477. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs +64 -0
  478. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs.map +1 -0
  479. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.js +64 -0
  480. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.js.map +1 -0
  481. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs +35 -0
  482. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs.map +1 -0
  483. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js +35 -0
  484. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map +1 -0
  485. package/dist/production/src/model/definition/index.cjs +80 -0
  486. package/dist/production/src/model/definition/index.cjs.map +1 -0
  487. package/dist/production/src/model/definition/index.js +81 -0
  488. package/dist/production/src/model/definition/index.js.map +1 -0
  489. package/dist/production/src/model/definition/internal/EntityRegistry.cjs +29 -0
  490. package/dist/production/src/model/definition/internal/EntityRegistry.cjs.map +1 -0
  491. package/dist/production/src/model/definition/internal/EntityRegistry.js +29 -0
  492. package/dist/production/src/model/definition/internal/EntityRegistry.js.map +1 -0
  493. package/dist/production/src/model/definition/internal/EnumRegistry.cjs +29 -0
  494. package/dist/production/src/model/definition/internal/EnumRegistry.cjs.map +1 -0
  495. package/dist/production/src/model/definition/internal/EnumRegistry.js +29 -0
  496. package/dist/production/src/model/definition/internal/EnumRegistry.js.map +1 -0
  497. package/dist/production/src/model/definition/internal/SchemaBuilder.cjs +101 -0
  498. package/dist/production/src/model/definition/internal/SchemaBuilder.cjs.map +1 -0
  499. package/dist/production/src/model/definition/internal/SchemaBuilder.js +101 -0
  500. package/dist/production/src/model/definition/internal/SchemaBuilder.js.map +1 -0
  501. package/dist/production/src/presets.cjs +46 -0
  502. package/dist/production/src/presets.cjs.map +1 -0
  503. package/dist/production/src/presets.js +46 -0
  504. package/dist/production/src/presets.js.map +1 -0
  505. package/dist/production/src/strict.cjs +33 -0
  506. package/dist/production/src/strict.cjs.map +1 -0
  507. package/dist/production/src/strict.js +33 -0
  508. package/dist/production/src/strict.js.map +1 -0
  509. package/dist/production/src/utils/MetadataStore.cjs +31 -0
  510. package/dist/production/src/utils/MetadataStore.cjs.map +1 -0
  511. package/dist/production/src/utils/MetadataStore.js +31 -0
  512. package/dist/production/src/utils/MetadataStore.js.map +1 -0
  513. package/dist/production/src/utils/assertNever.cjs +7 -0
  514. package/dist/production/src/utils/assertNever.cjs.map +1 -0
  515. package/dist/production/src/utils/assertNever.js +7 -0
  516. package/dist/production/src/utils/assertNever.js.map +1 -0
  517. package/dist/production/src/utils/filterEntityDefinition.cjs +9 -0
  518. package/dist/production/src/utils/filterEntityDefinition.cjs.map +1 -0
  519. package/dist/production/src/utils/filterEntityDefinition.js +9 -0
  520. package/dist/production/src/utils/filterEntityDefinition.js.map +1 -0
  521. package/dist/production/src/utils/tuple.cjs +5 -0
  522. package/dist/production/src/utils/tuple.cjs.map +1 -0
  523. package/dist/production/src/utils/tuple.js +5 -0
  524. package/dist/production/src/utils/tuple.js.map +1 -0
  525. package/dist/production/src/validation/index.cjs +213 -0
  526. package/dist/production/src/validation/index.cjs.map +1 -0
  527. package/dist/production/src/validation/index.js +213 -0
  528. package/dist/production/src/validation/index.js.map +1 -0
  529. package/dist/tests/cases/unit/createSchema.test.d.ts +2 -0
  530. package/dist/tests/cases/unit/createSchema.test.d.ts.map +1 -0
  531. package/dist/tests/cases/unit/extendEntity.test.d.ts +2 -0
  532. package/dist/tests/cases/unit/extendEntity.test.d.ts.map +1 -0
  533. package/dist/tests/cases/unit/orderBy.test.d.ts +2 -0
  534. package/dist/tests/cases/unit/orderBy.test.d.ts.map +1 -0
  535. package/dist/tests/cases/unit/readAclDefinitions.test.d.ts +2 -0
  536. package/dist/tests/cases/unit/readAclDefinitions.test.d.ts.map +1 -0
  537. package/dist/tests/cases/unit/readActions.test.d.ts +2 -0
  538. package/dist/tests/cases/unit/readActions.test.d.ts.map +1 -0
  539. package/dist/tests/tsconfig.tsbuildinfo +1 -0
  540. package/dist/types/acl/builder/EntityPermissionsBuilder.d.ts +28 -0
  541. package/dist/types/acl/builder/EntityPermissionsBuilder.d.ts.map +1 -0
  542. package/dist/types/acl/builder/EntitySelector.d.ts +14 -0
  543. package/dist/types/acl/builder/EntitySelector.d.ts.map +1 -0
  544. package/dist/types/acl/builder/FieldPermissionsBuilder.d.ts +23 -0
  545. package/dist/types/acl/builder/FieldPermissionsBuilder.d.ts.map +1 -0
  546. package/dist/types/acl/builder/FieldSelector.d.ts +14 -0
  547. package/dist/types/acl/builder/FieldSelector.d.ts.map +1 -0
  548. package/dist/types/acl/builder/PermissionOverrider.d.ts +6 -0
  549. package/dist/types/acl/builder/PermissionOverrider.d.ts.map +1 -0
  550. package/dist/types/acl/builder/PermissionsBuilder.d.ts +24 -0
  551. package/dist/types/acl/builder/PermissionsBuilder.d.ts.map +1 -0
  552. package/dist/types/acl/builder/PredicateReference.d.ts +7 -0
  553. package/dist/types/acl/builder/PredicateReference.d.ts.map +1 -0
  554. package/dist/types/acl/definition/aclExtensions.d.ts +12 -0
  555. package/dist/types/acl/definition/aclExtensions.d.ts.map +1 -0
  556. package/dist/types/acl/definition/customPrimary.d.ts +4 -0
  557. package/dist/types/acl/definition/customPrimary.d.ts.map +1 -0
  558. package/dist/types/acl/definition/index.d.ts +8 -0
  559. package/dist/types/acl/definition/index.d.ts.map +1 -0
  560. package/dist/types/acl/definition/internal/AclFactory.d.ts +19 -0
  561. package/dist/types/acl/definition/internal/AclFactory.d.ts.map +1 -0
  562. package/dist/types/acl/definition/internal/EntityPredicateResolver.d.ts +16 -0
  563. package/dist/types/acl/definition/internal/EntityPredicateResolver.d.ts.map +1 -0
  564. package/dist/types/acl/definition/internal/createPredicateName.d.ts +3 -0
  565. package/dist/types/acl/definition/internal/createPredicateName.d.ts.map +1 -0
  566. package/dist/types/acl/definition/internal/stores.d.ts +8 -0
  567. package/dist/types/acl/definition/internal/stores.d.ts.map +1 -0
  568. package/dist/types/acl/definition/permissions.d.ts +23 -0
  569. package/dist/types/acl/definition/permissions.d.ts.map +1 -0
  570. package/dist/types/acl/definition/references.d.ts +10 -0
  571. package/dist/types/acl/definition/references.d.ts.map +1 -0
  572. package/dist/types/acl/definition/roles.d.ts +11 -0
  573. package/dist/types/acl/definition/roles.d.ts.map +1 -0
  574. package/dist/types/acl/definition/variables.d.ts +12 -0
  575. package/dist/types/acl/definition/variables.d.ts.map +1 -0
  576. package/dist/types/actions/definition/index.d.ts +5 -0
  577. package/dist/types/actions/definition/index.d.ts.map +1 -0
  578. package/dist/types/actions/definition/internal/ActionsFactory.d.ts +10 -0
  579. package/dist/types/actions/definition/internal/ActionsFactory.d.ts.map +1 -0
  580. package/dist/types/actions/definition/internal/store.d.ts +11 -0
  581. package/dist/types/actions/definition/internal/store.d.ts.map +1 -0
  582. package/dist/types/actions/definition/targets.d.ts +10 -0
  583. package/dist/types/actions/definition/targets.d.ts.map +1 -0
  584. package/dist/types/actions/definition/triggers.d.ts +31 -0
  585. package/dist/types/actions/definition/triggers.d.ts.map +1 -0
  586. package/dist/types/createSchema.d.ts +7 -0
  587. package/dist/types/createSchema.d.ts.map +1 -0
  588. package/dist/types/index.d.ts +88 -0
  589. package/dist/types/index.d.ts.map +1 -0
  590. package/dist/types/model/builder/ColumnBuilder.d.ts +31 -0
  591. package/dist/types/model/builder/ColumnBuilder.d.ts.map +1 -0
  592. package/dist/types/model/builder/EntityBuilder.d.ts +39 -0
  593. package/dist/types/model/builder/EntityBuilder.d.ts.map +1 -0
  594. package/dist/types/model/builder/FieldBuilder.d.ts +38 -0
  595. package/dist/types/model/builder/FieldBuilder.d.ts.map +1 -0
  596. package/dist/types/model/builder/ManyHasManyBuilder.d.ts +25 -0
  597. package/dist/types/model/builder/ManyHasManyBuilder.d.ts.map +1 -0
  598. package/dist/types/model/builder/ManyHasOneBuilder.d.ts +26 -0
  599. package/dist/types/model/builder/ManyHasOneBuilder.d.ts.map +1 -0
  600. package/dist/types/model/builder/OneHasManyBuilder.d.ts +29 -0
  601. package/dist/types/model/builder/OneHasManyBuilder.d.ts.map +1 -0
  602. package/dist/types/model/builder/OneHasOneBuilder.d.ts +32 -0
  603. package/dist/types/model/builder/OneHasOneBuilder.d.ts.map +1 -0
  604. package/dist/types/model/builder/SchemaBuilder.d.ts +14 -0
  605. package/dist/types/model/builder/SchemaBuilder.d.ts.map +1 -0
  606. package/dist/types/model/builder/SchemaBuilderError.d.ts +3 -0
  607. package/dist/types/model/builder/SchemaBuilderError.d.ts.map +1 -0
  608. package/dist/types/model/builder/SchemaBuilderInternal.d.ts +22 -0
  609. package/dist/types/model/builder/SchemaBuilderInternal.d.ts.map +1 -0
  610. package/dist/types/model/builder/internal/ColumnProcessor.d.ts +10 -0
  611. package/dist/types/model/builder/internal/ColumnProcessor.d.ts.map +1 -0
  612. package/dist/types/model/builder/internal/FieldProcessor.d.ts +9 -0
  613. package/dist/types/model/builder/internal/FieldProcessor.d.ts.map +1 -0
  614. package/dist/types/model/builder/internal/ManyHasManyProcessor.d.ts +11 -0
  615. package/dist/types/model/builder/internal/ManyHasManyProcessor.d.ts.map +1 -0
  616. package/dist/types/model/builder/internal/ManyHasOneProcessor.d.ts +11 -0
  617. package/dist/types/model/builder/internal/ManyHasOneProcessor.d.ts.map +1 -0
  618. package/dist/types/model/builder/internal/OneHasManyProcessor.d.ts +11 -0
  619. package/dist/types/model/builder/internal/OneHasManyProcessor.d.ts.map +1 -0
  620. package/dist/types/model/builder/internal/OneHasOneProcessor.d.ts +11 -0
  621. package/dist/types/model/builder/internal/OneHasOneProcessor.d.ts.map +1 -0
  622. package/dist/types/model/builder/types.d.ts +4 -0
  623. package/dist/types/model/builder/types.d.ts.map +1 -0
  624. package/dist/types/model/definition/EnumDefinition.d.ts +6 -0
  625. package/dist/types/model/definition/EnumDefinition.d.ts.map +1 -0
  626. package/dist/types/model/definition/EventLogDefinition.d.ts +2 -0
  627. package/dist/types/model/definition/EventLogDefinition.d.ts.map +1 -0
  628. package/dist/types/model/definition/IndexDefinition.d.ts +9 -0
  629. package/dist/types/model/definition/IndexDefinition.d.ts.map +1 -0
  630. package/dist/types/model/definition/OrderByDefinition.d.ts +11 -0
  631. package/dist/types/model/definition/OrderByDefinition.d.ts.map +1 -0
  632. package/dist/types/model/definition/UniqueDefinition.d.ts +15 -0
  633. package/dist/types/model/definition/UniqueDefinition.d.ts.map +1 -0
  634. package/dist/types/model/definition/ViewDefinition.d.ts +9 -0
  635. package/dist/types/model/definition/ViewDefinition.d.ts.map +1 -0
  636. package/dist/types/model/definition/context.d.ts +13 -0
  637. package/dist/types/model/definition/context.d.ts.map +1 -0
  638. package/dist/types/model/definition/extensions.d.ts +15 -0
  639. package/dist/types/model/definition/extensions.d.ts.map +1 -0
  640. package/dist/types/model/definition/fieldDefinitions/ColumnDefinition.d.ts +55 -0
  641. package/dist/types/model/definition/fieldDefinitions/ColumnDefinition.d.ts.map +1 -0
  642. package/dist/types/model/definition/fieldDefinitions/FieldDefinition.d.ts +15 -0
  643. package/dist/types/model/definition/fieldDefinitions/FieldDefinition.d.ts.map +1 -0
  644. package/dist/types/model/definition/fieldDefinitions/ManyHasManyDefinition.d.ts +19 -0
  645. package/dist/types/model/definition/fieldDefinitions/ManyHasManyDefinition.d.ts.map +1 -0
  646. package/dist/types/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.d.ts +16 -0
  647. package/dist/types/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.d.ts.map +1 -0
  648. package/dist/types/model/definition/fieldDefinitions/ManyHasOneDefinition.d.ts +23 -0
  649. package/dist/types/model/definition/fieldDefinitions/ManyHasOneDefinition.d.ts.map +1 -0
  650. package/dist/types/model/definition/fieldDefinitions/OneHasManyDefinition.d.ts +16 -0
  651. package/dist/types/model/definition/fieldDefinitions/OneHasManyDefinition.d.ts.map +1 -0
  652. package/dist/types/model/definition/fieldDefinitions/OneHasOneDefinition.d.ts +25 -0
  653. package/dist/types/model/definition/fieldDefinitions/OneHasOneDefinition.d.ts.map +1 -0
  654. package/dist/types/model/definition/fieldDefinitions/OneHasOneInverseDefinition.d.ts +17 -0
  655. package/dist/types/model/definition/fieldDefinitions/OneHasOneInverseDefinition.d.ts.map +1 -0
  656. package/dist/types/model/definition/fieldDefinitions/index.d.ts +9 -0
  657. package/dist/types/model/definition/fieldDefinitions/index.d.ts.map +1 -0
  658. package/dist/types/model/definition/index.d.ts +27 -0
  659. package/dist/types/model/definition/index.d.ts.map +1 -0
  660. package/dist/types/model/definition/internal/EntityRegistry.d.ts +8 -0
  661. package/dist/types/model/definition/internal/EntityRegistry.d.ts.map +1 -0
  662. package/dist/types/model/definition/internal/EnumRegistry.d.ts +8 -0
  663. package/dist/types/model/definition/internal/EnumRegistry.d.ts.map +1 -0
  664. package/dist/types/model/definition/internal/SchemaBuilder.d.ts +22 -0
  665. package/dist/types/model/definition/internal/SchemaBuilder.d.ts.map +1 -0
  666. package/dist/types/model/definition/internal/index.d.ts +4 -0
  667. package/dist/types/model/definition/internal/index.d.ts.map +1 -0
  668. package/dist/types/model/definition/types.d.ts +6 -0
  669. package/dist/types/model/definition/types.d.ts.map +1 -0
  670. package/dist/types/model/index.d.ts +10 -0
  671. package/dist/types/model/index.d.ts.map +1 -0
  672. package/dist/types/presets.d.ts +9 -0
  673. package/dist/types/presets.d.ts.map +1 -0
  674. package/dist/types/strict.d.ts +22 -0
  675. package/dist/types/strict.d.ts.map +1 -0
  676. package/dist/types/tsconfig.tsbuildinfo +1 -0
  677. package/dist/types/utils/MetadataStore.d.ts +7 -0
  678. package/dist/types/utils/MetadataStore.d.ts.map +1 -0
  679. package/dist/types/utils/assertNever.d.ts +2 -0
  680. package/dist/types/utils/assertNever.d.ts.map +1 -0
  681. package/dist/types/utils/decorators.d.ts +5 -0
  682. package/dist/types/utils/decorators.d.ts.map +1 -0
  683. package/dist/types/utils/filterEntityDefinition.d.ts +4 -0
  684. package/dist/types/utils/filterEntityDefinition.d.ts.map +1 -0
  685. package/dist/types/utils/index.d.ts +6 -0
  686. package/dist/types/utils/index.d.ts.map +1 -0
  687. package/dist/types/utils/tuple.d.ts +2 -0
  688. package/dist/types/utils/tuple.d.ts.map +1 -0
  689. package/dist/types/validation/index.d.ts +56 -0
  690. package/dist/types/validation/index.d.ts.map +1 -0
  691. package/package.json +7 -7
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const assertNever = require("../../../utils/assertNever.cjs");
4
+ const filterEntityDefinition = require("../../../utils/filterEntityDefinition.cjs");
5
+ require("reflect-metadata");
6
+ const store = require("./store.cjs");
7
+ const targets = require("../targets.cjs");
8
+ const graphql = require("graphql");
9
+ var __defProp = Object.defineProperty;
10
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
11
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
12
+ class ActionsFactory {
13
+ create(exportedDefinitions) {
14
+ const entityLikeDefinition = filterEntityDefinition.filterEntityDefinition(exportedDefinitions);
15
+ const targetsRegistry = new ActionsTargetRegistry();
16
+ for (const [exportedAs, def] of Object.entries(exportedDefinitions)) {
17
+ if (!(def instanceof targets.ActionsTarget)) {
18
+ continue;
19
+ }
20
+ const name = def.name ?? exportedAs;
21
+ targetsRegistry.register(name, def.definition);
22
+ }
23
+ const triggersDef = entityLikeDefinition.flatMap(
24
+ ([, entity]) => store.triggersStore.get(entity).map((it) => ({
25
+ ...it,
26
+ entity
27
+ }))
28
+ );
29
+ const triggerNames = triggersDef.map((it) => it.definition.name).filter((it) => !!it);
30
+ triggerNames.forEach((it, index, arr) => {
31
+ if (arr.indexOf(it) !== index) {
32
+ throw `Duplicate trigger name ${it}.`;
33
+ }
34
+ });
35
+ const triggers = {};
36
+ for (const { definition, entity, type } of triggersDef) {
37
+ const name = definition.name;
38
+ const target = this.resolveTarget(name, definition, targetsRegistry);
39
+ let trigger;
40
+ if (type === "basic") {
41
+ trigger = {
42
+ target,
43
+ ...this.createBasicTrigger(name, entity.name, definition)
44
+ };
45
+ } else if (type === "watch") {
46
+ trigger = {
47
+ target,
48
+ ...this.createWatchTrigger(name, entity.name, definition)
49
+ };
50
+ } else {
51
+ assertNever.assertNever();
52
+ }
53
+ triggers[name] = trigger;
54
+ }
55
+ return { triggers, targets: targetsRegistry.getTargets() };
56
+ }
57
+ resolveTarget(triggerName, targetDefinition, targetRegistry) {
58
+ const generatedName = `${triggerName}_target`;
59
+ if ("target" in targetDefinition) {
60
+ if (targetDefinition.target instanceof targets.ActionsTarget) {
61
+ const registeredName = targetRegistry.getName(targetDefinition.target.definition);
62
+ if (!registeredName) {
63
+ throw `Target of ${triggerName} trigger is not registered. Have you exported it?`;
64
+ }
65
+ return registeredName;
66
+ } else {
67
+ const { name, ...def } = targetDefinition.target;
68
+ const resolvedName = name ?? generatedName;
69
+ targetRegistry.register(resolvedName, { name: generatedName, ...def });
70
+ return resolvedName;
71
+ }
72
+ } else if ("webhook" in targetDefinition) {
73
+ if (typeof targetDefinition.webhook === "string") {
74
+ targetRegistry.register(generatedName, {
75
+ type: "webhook",
76
+ url: targetDefinition.webhook
77
+ });
78
+ } else {
79
+ targetRegistry.register(generatedName, {
80
+ type: "webhook",
81
+ ...targetDefinition.webhook
82
+ });
83
+ }
84
+ return generatedName;
85
+ }
86
+ return assertNever.assertNever();
87
+ }
88
+ createWatchTrigger(name, entity, trigger) {
89
+ return {
90
+ type: "watch",
91
+ entity,
92
+ name,
93
+ watch: this.parseSelection(trigger.watch),
94
+ selection: trigger.selection ? this.parseSelection(trigger.selection) : void 0,
95
+ priority: trigger.priority,
96
+ ..."withNodes" in trigger ? { withNodes: trigger.withNodes } : {}
97
+ };
98
+ }
99
+ createBasicTrigger(name, entity, trigger) {
100
+ return {
101
+ type: "basic",
102
+ entity,
103
+ name,
104
+ create: trigger.create ?? false,
105
+ delete: trigger.delete ?? false,
106
+ update: trigger.update ?? false,
107
+ selection: trigger.selection ? this.parseSelection(trigger.selection) : void 0,
108
+ priority: trigger.priority
109
+ };
110
+ }
111
+ parseSelection(selection) {
112
+ if (typeof selection !== "string") {
113
+ return selection;
114
+ }
115
+ const result = graphql.parse(`{
116
+ ${selection}
117
+ }`);
118
+ for (const def of result.definitions) {
119
+ if (def.kind === "OperationDefinition") {
120
+ return this.processSelectionSet(def.selectionSet.selections);
121
+ }
122
+ }
123
+ throw new Error();
124
+ }
125
+ processSelectionSet(selectionSet) {
126
+ return selectionSet.map((it) => {
127
+ if (it.kind !== "Field") {
128
+ throw `${it.kind} is not supported.`;
129
+ }
130
+ if (it.arguments?.length === 0 && it.selectionSet === void 0) {
131
+ return it.name.value;
132
+ }
133
+ const args = Object.fromEntries(it.arguments?.map((it2) => [it2.name, parseArguments(it2.value)]) ?? []);
134
+ return [it.name.value, args, it.selectionSet ? this.processSelectionSet(it.selectionSet.selections) : []];
135
+ });
136
+ }
137
+ }
138
+ class ActionsTargetRegistry {
139
+ constructor() {
140
+ __publicField(this, "targets", {});
141
+ __publicField(this, "targetsInverseMap", /* @__PURE__ */ new Map());
142
+ }
143
+ register(name, target) {
144
+ if (this.targets[name]) {
145
+ throw `Duplicate trigger target name ${name}`;
146
+ }
147
+ this.targets[name] = { name, ...target };
148
+ this.targetsInverseMap.set(target, name);
149
+ }
150
+ getName(target) {
151
+ return this.targetsInverseMap.get(target);
152
+ }
153
+ getTargets() {
154
+ return this.targets;
155
+ }
156
+ }
157
+ const parseArguments = (ast) => {
158
+ switch (ast.kind) {
159
+ case graphql.Kind.STRING:
160
+ return ast.value;
161
+ case graphql.Kind.BOOLEAN:
162
+ return ast.value;
163
+ case graphql.Kind.FLOAT:
164
+ return parseFloat(ast.value);
165
+ case graphql.Kind.INT:
166
+ return Number(ast.value);
167
+ case graphql.Kind.LIST:
168
+ return ast.values.map((it) => parseArguments(it));
169
+ case graphql.Kind.OBJECT:
170
+ return Object.fromEntries(ast.fields.map((it) => [it.name.value, parseArguments(it.value)]));
171
+ case graphql.Kind.ENUM:
172
+ return ast.value;
173
+ case graphql.Kind.NULL:
174
+ return null;
175
+ case graphql.Kind.VARIABLE:
176
+ throw `Variables are not supported here.`;
177
+ }
178
+ };
179
+ exports.ActionsFactory = ActionsFactory;
180
+ //# sourceMappingURL=ActionsFactory.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionsFactory.cjs","sources":["../../../../../../../packages/schema-definition/src/actions/definition/internal/ActionsFactory.ts"],"sourcesContent":["import { assertNever, filterEntityDefinition } from '../../../utils'\nimport { Actions } from '@contember/schema'\nimport { triggersStore } from './store'\nimport { BasicTriggerDefinition, TargetDefinition, WatchTriggerDefinition } from '../triggers'\nimport { ActionsTarget } from '../targets'\nimport { Kind, parse, SelectionNode, ValueNode } from 'graphql'\n\nexport class ActionsFactory {\n\tpublic create(\n\t\texportedDefinitions: Record<string, any>,\n\t): Actions.Schema {\n\t\tconst entityLikeDefinition = filterEntityDefinition(exportedDefinitions)\n\n\t\tconst targetsRegistry = new ActionsTargetRegistry()\n\t\tfor (const [exportedAs, def] of Object.entries(exportedDefinitions)) {\n\t\t\tif (!(def instanceof ActionsTarget)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst name = def.name ?? exportedAs\n\t\t\ttargetsRegistry.register(name, def.definition)\n\t\t}\n\n\t\tconst triggersDef = entityLikeDefinition.flatMap(([, entity]) =>\n\t\t\ttriggersStore.get(entity).map(it => ({\n\t\t\t\t...it,\n\t\t\t\tentity,\n\t\t\t}))\n\t\t)\n\n\t\tconst triggerNames = triggersDef.map(it => it.definition.name).filter((it): it is string => !!it)\n\t\ttriggerNames.forEach((it, index, arr) => {\n\t\t\tif (arr.indexOf(it) !== index) {\n\t\t\t\tthrow `Duplicate trigger name ${it}.`\n\t\t\t}\n\t\t})\n\n\t\tconst triggers: Record<string, Actions.AnyTrigger> = {}\n\t\tfor (const { definition, entity, type } of triggersDef) {\n\t\t\tconst name = definition.name\n\t\t\tconst target = this.resolveTarget(name, definition, targetsRegistry)\n\t\t\tlet trigger: Actions.AnyTrigger\n\t\t\tif (type === 'basic') {\n\t\t\t\ttrigger = {\n\t\t\t\t\ttarget,\n\t\t\t\t\t...this.createBasicTrigger(name, entity.name, definition),\n\t\t\t\t}\n\t\t\t} else if (type === 'watch') {\n\t\t\t\ttrigger = {\n\t\t\t\t\ttarget,\n\t\t\t\t\t...this.createWatchTrigger(name, entity.name, definition),\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tassertNever(type)\n\t\t\t}\n\t\t\ttriggers[name] = trigger\n\t\t}\n\n\t\treturn { triggers, targets: targetsRegistry.getTargets() }\n\t}\n\n\tprivate resolveTarget(triggerName: string, targetDefinition: TargetDefinition, targetRegistry: ActionsTargetRegistry): string {\n\t\tconst generatedName = `${triggerName}_target`\n\t\tif ('target' in targetDefinition) {\n\t\t\tif (targetDefinition.target instanceof ActionsTarget) {\n\t\t\t\tconst registeredName = targetRegistry.getName(targetDefinition.target.definition)\n\t\t\t\tif (!registeredName) {\n\t\t\t\t\tthrow `Target of ${triggerName} trigger is not registered. Have you exported it?`\n\t\t\t\t}\n\t\t\t\treturn registeredName\n\t\t\t} else {\n\t\t\t\tconst { name, ...def } = targetDefinition.target\n\t\t\t\tconst resolvedName = name ?? generatedName\n\t\t\t\ttargetRegistry.register(resolvedName, { name: generatedName, ...def })\n\t\t\t\treturn resolvedName\n\t\t\t}\n\t\t} else if ('webhook' in targetDefinition) {\n\t\t\tif (typeof targetDefinition.webhook === 'string') {\n\t\t\t\ttargetRegistry.register(generatedName, {\n\t\t\t\t\ttype: 'webhook',\n\t\t\t\t\turl: targetDefinition.webhook,\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\ttargetRegistry.register(generatedName, {\n\t\t\t\t\ttype: 'webhook',\n\t\t\t\t\t...targetDefinition.webhook,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn generatedName\n\t\t}\n\t\treturn assertNever(targetDefinition)\n\t}\n\n\tprivate createWatchTrigger(name: string, entity: string, trigger: WatchTriggerDefinition): Omit<Actions.WatchTrigger, 'target'> {\n\t\treturn {\n\t\t\ttype: 'watch',\n\t\t\tentity,\n\t\t\tname,\n\t\t\twatch: this.parseSelection(trigger.watch),\n\t\t\tselection: trigger.selection ? this.parseSelection(trigger.selection) : undefined,\n\t\t\tpriority: trigger.priority,\n\t\t\t...('withNodes' in trigger ? { withNodes: trigger.withNodes } : {}),\n\t\t}\n\t}\n\n\tprivate createBasicTrigger(name: string, entity: string, trigger: BasicTriggerDefinition): Omit<Actions.BasicTrigger, 'target'> {\n\t\treturn {\n\t\t\ttype: 'basic',\n\t\t\tentity,\n\t\t\tname,\n\t\t\tcreate: trigger.create ?? false,\n\t\t\tdelete: trigger.delete ?? false,\n\t\t\tupdate: trigger.update ?? false,\n\t\t\tselection: trigger.selection ? this.parseSelection(trigger.selection) : undefined,\n\t\t\tpriority: trigger.priority,\n\t\t}\n\t}\n\n\tprivate parseSelection(selection: Actions.SelectionNode | string): Actions.SelectionNode {\n\t\tif (typeof selection !== 'string') {\n\t\t\treturn selection\n\t\t}\n\t\tconst result = parse(`{\n\t\t\t${selection}\n\t\t}`)\n\t\tfor (const def of result.definitions) {\n\t\t\tif (def.kind === 'OperationDefinition') {\n\t\t\t\treturn this.processSelectionSet(def.selectionSet.selections)\n\t\t\t}\n\t\t}\n\t\tthrow new Error()\n\t}\n\n\tprivate processSelectionSet(selectionSet: readonly SelectionNode[]): Actions.SelectionNode {\n\t\treturn selectionSet.map(it => {\n\t\t\tif (it.kind !== 'Field') {\n\t\t\t\tthrow `${it.kind} is not supported.`\n\t\t\t}\n\t\t\tif (it.arguments?.length === 0 && it.selectionSet === undefined) {\n\t\t\t\treturn it.name.value\n\t\t\t}\n\t\t\tconst args = Object.fromEntries(it.arguments?.map(it => [it.name, parseArguments(it.value)]) ?? [])\n\t\t\treturn [it.name.value, args, it.selectionSet ? this.processSelectionSet(it.selectionSet.selections) : []]\n\t\t})\n\t}\n}\n\nclass ActionsTargetRegistry {\n\tprivate targets: Record<string, Actions.AnyTarget> = {}\n\tprivate targetsInverseMap = new Map<Omit<Actions.AnyTarget, 'name'>, string>()\n\n\tpublic register(name: string, target: Omit<Actions.AnyTarget, 'name'> & { name?: string }): void {\n\t\tif (this.targets[name]) {\n\t\t\tthrow `Duplicate trigger target name ${name}`\n\t\t}\n\t\tthis.targets[name] = { name, ...target }\n\t\tthis.targetsInverseMap.set(target, name)\n\t}\n\n\tpublic getName(target: Omit<Actions.AnyTarget, 'name'>): string | undefined {\n\t\treturn this.targetsInverseMap.get(target)\n\t}\n\n\tpublic getTargets() {\n\t\treturn this.targets\n\t}\n}\n\nconst parseArguments = (ast: ValueNode): any => {\n\tswitch (ast.kind) {\n\t\tcase Kind.STRING:\n\t\t\treturn ast.value\n\t\tcase Kind.BOOLEAN:\n\t\t\treturn ast.value\n\t\tcase Kind.FLOAT:\n\t\t\treturn parseFloat(ast.value)\n\t\tcase Kind.INT:\n\t\t\treturn Number(ast.value)\n\t\tcase Kind.LIST:\n\t\t\treturn ast.values.map(it => parseArguments(it))\n\t\tcase Kind.OBJECT:\n\t\t\treturn Object.fromEntries(ast.fields.map(it => [it.name.value, parseArguments(it.value)]))\n\t\tcase Kind.ENUM:\n\t\t\treturn ast.value\n\t\tcase Kind.NULL:\n\t\t\treturn null\n\t\tcase Kind.VARIABLE:\n\t\t\tthrow `Variables are not supported here.`\n\t}\n}\n"],"names":["filterEntityDefinition","ActionsTarget","triggersStore","assertNever","parse","it","Kind"],"mappings":"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"}
@@ -0,0 +1,180 @@
1
+ import { assertNever } from "../../../utils/assertNever.js";
2
+ import { filterEntityDefinition } from "../../../utils/filterEntityDefinition.js";
3
+ import "reflect-metadata";
4
+ import { triggersStore } from "./store.js";
5
+ import { ActionsTarget } from "../targets.js";
6
+ import { parse, Kind } from "graphql";
7
+ var __defProp = Object.defineProperty;
8
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
9
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
10
+ class ActionsFactory {
11
+ create(exportedDefinitions) {
12
+ const entityLikeDefinition = filterEntityDefinition(exportedDefinitions);
13
+ const targetsRegistry = new ActionsTargetRegistry();
14
+ for (const [exportedAs, def] of Object.entries(exportedDefinitions)) {
15
+ if (!(def instanceof ActionsTarget)) {
16
+ continue;
17
+ }
18
+ const name = def.name ?? exportedAs;
19
+ targetsRegistry.register(name, def.definition);
20
+ }
21
+ const triggersDef = entityLikeDefinition.flatMap(
22
+ ([, entity]) => triggersStore.get(entity).map((it) => ({
23
+ ...it,
24
+ entity
25
+ }))
26
+ );
27
+ const triggerNames = triggersDef.map((it) => it.definition.name).filter((it) => !!it);
28
+ triggerNames.forEach((it, index, arr) => {
29
+ if (arr.indexOf(it) !== index) {
30
+ throw `Duplicate trigger name ${it}.`;
31
+ }
32
+ });
33
+ const triggers = {};
34
+ for (const { definition, entity, type } of triggersDef) {
35
+ const name = definition.name;
36
+ const target = this.resolveTarget(name, definition, targetsRegistry);
37
+ let trigger;
38
+ if (type === "basic") {
39
+ trigger = {
40
+ target,
41
+ ...this.createBasicTrigger(name, entity.name, definition)
42
+ };
43
+ } else if (type === "watch") {
44
+ trigger = {
45
+ target,
46
+ ...this.createWatchTrigger(name, entity.name, definition)
47
+ };
48
+ } else {
49
+ assertNever();
50
+ }
51
+ triggers[name] = trigger;
52
+ }
53
+ return { triggers, targets: targetsRegistry.getTargets() };
54
+ }
55
+ resolveTarget(triggerName, targetDefinition, targetRegistry) {
56
+ const generatedName = `${triggerName}_target`;
57
+ if ("target" in targetDefinition) {
58
+ if (targetDefinition.target instanceof ActionsTarget) {
59
+ const registeredName = targetRegistry.getName(targetDefinition.target.definition);
60
+ if (!registeredName) {
61
+ throw `Target of ${triggerName} trigger is not registered. Have you exported it?`;
62
+ }
63
+ return registeredName;
64
+ } else {
65
+ const { name, ...def } = targetDefinition.target;
66
+ const resolvedName = name ?? generatedName;
67
+ targetRegistry.register(resolvedName, { name: generatedName, ...def });
68
+ return resolvedName;
69
+ }
70
+ } else if ("webhook" in targetDefinition) {
71
+ if (typeof targetDefinition.webhook === "string") {
72
+ targetRegistry.register(generatedName, {
73
+ type: "webhook",
74
+ url: targetDefinition.webhook
75
+ });
76
+ } else {
77
+ targetRegistry.register(generatedName, {
78
+ type: "webhook",
79
+ ...targetDefinition.webhook
80
+ });
81
+ }
82
+ return generatedName;
83
+ }
84
+ return assertNever();
85
+ }
86
+ createWatchTrigger(name, entity, trigger) {
87
+ return {
88
+ type: "watch",
89
+ entity,
90
+ name,
91
+ watch: this.parseSelection(trigger.watch),
92
+ selection: trigger.selection ? this.parseSelection(trigger.selection) : void 0,
93
+ priority: trigger.priority,
94
+ ..."withNodes" in trigger ? { withNodes: trigger.withNodes } : {}
95
+ };
96
+ }
97
+ createBasicTrigger(name, entity, trigger) {
98
+ return {
99
+ type: "basic",
100
+ entity,
101
+ name,
102
+ create: trigger.create ?? false,
103
+ delete: trigger.delete ?? false,
104
+ update: trigger.update ?? false,
105
+ selection: trigger.selection ? this.parseSelection(trigger.selection) : void 0,
106
+ priority: trigger.priority
107
+ };
108
+ }
109
+ parseSelection(selection) {
110
+ if (typeof selection !== "string") {
111
+ return selection;
112
+ }
113
+ const result = parse(`{
114
+ ${selection}
115
+ }`);
116
+ for (const def of result.definitions) {
117
+ if (def.kind === "OperationDefinition") {
118
+ return this.processSelectionSet(def.selectionSet.selections);
119
+ }
120
+ }
121
+ throw new Error();
122
+ }
123
+ processSelectionSet(selectionSet) {
124
+ return selectionSet.map((it) => {
125
+ if (it.kind !== "Field") {
126
+ throw `${it.kind} is not supported.`;
127
+ }
128
+ if (it.arguments?.length === 0 && it.selectionSet === void 0) {
129
+ return it.name.value;
130
+ }
131
+ const args = Object.fromEntries(it.arguments?.map((it2) => [it2.name, parseArguments(it2.value)]) ?? []);
132
+ return [it.name.value, args, it.selectionSet ? this.processSelectionSet(it.selectionSet.selections) : []];
133
+ });
134
+ }
135
+ }
136
+ class ActionsTargetRegistry {
137
+ constructor() {
138
+ __publicField(this, "targets", {});
139
+ __publicField(this, "targetsInverseMap", /* @__PURE__ */ new Map());
140
+ }
141
+ register(name, target) {
142
+ if (this.targets[name]) {
143
+ throw `Duplicate trigger target name ${name}`;
144
+ }
145
+ this.targets[name] = { name, ...target };
146
+ this.targetsInverseMap.set(target, name);
147
+ }
148
+ getName(target) {
149
+ return this.targetsInverseMap.get(target);
150
+ }
151
+ getTargets() {
152
+ return this.targets;
153
+ }
154
+ }
155
+ const parseArguments = (ast) => {
156
+ switch (ast.kind) {
157
+ case Kind.STRING:
158
+ return ast.value;
159
+ case Kind.BOOLEAN:
160
+ return ast.value;
161
+ case Kind.FLOAT:
162
+ return parseFloat(ast.value);
163
+ case Kind.INT:
164
+ return Number(ast.value);
165
+ case Kind.LIST:
166
+ return ast.values.map((it) => parseArguments(it));
167
+ case Kind.OBJECT:
168
+ return Object.fromEntries(ast.fields.map((it) => [it.name.value, parseArguments(it.value)]));
169
+ case Kind.ENUM:
170
+ return ast.value;
171
+ case Kind.NULL:
172
+ return null;
173
+ case Kind.VARIABLE:
174
+ throw `Variables are not supported here.`;
175
+ }
176
+ };
177
+ export {
178
+ ActionsFactory
179
+ };
180
+ //# sourceMappingURL=ActionsFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionsFactory.js","sources":["../../../../../../../packages/schema-definition/src/actions/definition/internal/ActionsFactory.ts"],"sourcesContent":["import { assertNever, filterEntityDefinition } from '../../../utils'\nimport { Actions } from '@contember/schema'\nimport { triggersStore } from './store'\nimport { BasicTriggerDefinition, TargetDefinition, WatchTriggerDefinition } from '../triggers'\nimport { ActionsTarget } from '../targets'\nimport { Kind, parse, SelectionNode, ValueNode } from 'graphql'\n\nexport class ActionsFactory {\n\tpublic create(\n\t\texportedDefinitions: Record<string, any>,\n\t): Actions.Schema {\n\t\tconst entityLikeDefinition = filterEntityDefinition(exportedDefinitions)\n\n\t\tconst targetsRegistry = new ActionsTargetRegistry()\n\t\tfor (const [exportedAs, def] of Object.entries(exportedDefinitions)) {\n\t\t\tif (!(def instanceof ActionsTarget)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst name = def.name ?? exportedAs\n\t\t\ttargetsRegistry.register(name, def.definition)\n\t\t}\n\n\t\tconst triggersDef = entityLikeDefinition.flatMap(([, entity]) =>\n\t\t\ttriggersStore.get(entity).map(it => ({\n\t\t\t\t...it,\n\t\t\t\tentity,\n\t\t\t}))\n\t\t)\n\n\t\tconst triggerNames = triggersDef.map(it => it.definition.name).filter((it): it is string => !!it)\n\t\ttriggerNames.forEach((it, index, arr) => {\n\t\t\tif (arr.indexOf(it) !== index) {\n\t\t\t\tthrow `Duplicate trigger name ${it}.`\n\t\t\t}\n\t\t})\n\n\t\tconst triggers: Record<string, Actions.AnyTrigger> = {}\n\t\tfor (const { definition, entity, type } of triggersDef) {\n\t\t\tconst name = definition.name\n\t\t\tconst target = this.resolveTarget(name, definition, targetsRegistry)\n\t\t\tlet trigger: Actions.AnyTrigger\n\t\t\tif (type === 'basic') {\n\t\t\t\ttrigger = {\n\t\t\t\t\ttarget,\n\t\t\t\t\t...this.createBasicTrigger(name, entity.name, definition),\n\t\t\t\t}\n\t\t\t} else if (type === 'watch') {\n\t\t\t\ttrigger = {\n\t\t\t\t\ttarget,\n\t\t\t\t\t...this.createWatchTrigger(name, entity.name, definition),\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tassertNever(type)\n\t\t\t}\n\t\t\ttriggers[name] = trigger\n\t\t}\n\n\t\treturn { triggers, targets: targetsRegistry.getTargets() }\n\t}\n\n\tprivate resolveTarget(triggerName: string, targetDefinition: TargetDefinition, targetRegistry: ActionsTargetRegistry): string {\n\t\tconst generatedName = `${triggerName}_target`\n\t\tif ('target' in targetDefinition) {\n\t\t\tif (targetDefinition.target instanceof ActionsTarget) {\n\t\t\t\tconst registeredName = targetRegistry.getName(targetDefinition.target.definition)\n\t\t\t\tif (!registeredName) {\n\t\t\t\t\tthrow `Target of ${triggerName} trigger is not registered. Have you exported it?`\n\t\t\t\t}\n\t\t\t\treturn registeredName\n\t\t\t} else {\n\t\t\t\tconst { name, ...def } = targetDefinition.target\n\t\t\t\tconst resolvedName = name ?? generatedName\n\t\t\t\ttargetRegistry.register(resolvedName, { name: generatedName, ...def })\n\t\t\t\treturn resolvedName\n\t\t\t}\n\t\t} else if ('webhook' in targetDefinition) {\n\t\t\tif (typeof targetDefinition.webhook === 'string') {\n\t\t\t\ttargetRegistry.register(generatedName, {\n\t\t\t\t\ttype: 'webhook',\n\t\t\t\t\turl: targetDefinition.webhook,\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\ttargetRegistry.register(generatedName, {\n\t\t\t\t\ttype: 'webhook',\n\t\t\t\t\t...targetDefinition.webhook,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn generatedName\n\t\t}\n\t\treturn assertNever(targetDefinition)\n\t}\n\n\tprivate createWatchTrigger(name: string, entity: string, trigger: WatchTriggerDefinition): Omit<Actions.WatchTrigger, 'target'> {\n\t\treturn {\n\t\t\ttype: 'watch',\n\t\t\tentity,\n\t\t\tname,\n\t\t\twatch: this.parseSelection(trigger.watch),\n\t\t\tselection: trigger.selection ? this.parseSelection(trigger.selection) : undefined,\n\t\t\tpriority: trigger.priority,\n\t\t\t...('withNodes' in trigger ? { withNodes: trigger.withNodes } : {}),\n\t\t}\n\t}\n\n\tprivate createBasicTrigger(name: string, entity: string, trigger: BasicTriggerDefinition): Omit<Actions.BasicTrigger, 'target'> {\n\t\treturn {\n\t\t\ttype: 'basic',\n\t\t\tentity,\n\t\t\tname,\n\t\t\tcreate: trigger.create ?? false,\n\t\t\tdelete: trigger.delete ?? false,\n\t\t\tupdate: trigger.update ?? false,\n\t\t\tselection: trigger.selection ? this.parseSelection(trigger.selection) : undefined,\n\t\t\tpriority: trigger.priority,\n\t\t}\n\t}\n\n\tprivate parseSelection(selection: Actions.SelectionNode | string): Actions.SelectionNode {\n\t\tif (typeof selection !== 'string') {\n\t\t\treturn selection\n\t\t}\n\t\tconst result = parse(`{\n\t\t\t${selection}\n\t\t}`)\n\t\tfor (const def of result.definitions) {\n\t\t\tif (def.kind === 'OperationDefinition') {\n\t\t\t\treturn this.processSelectionSet(def.selectionSet.selections)\n\t\t\t}\n\t\t}\n\t\tthrow new Error()\n\t}\n\n\tprivate processSelectionSet(selectionSet: readonly SelectionNode[]): Actions.SelectionNode {\n\t\treturn selectionSet.map(it => {\n\t\t\tif (it.kind !== 'Field') {\n\t\t\t\tthrow `${it.kind} is not supported.`\n\t\t\t}\n\t\t\tif (it.arguments?.length === 0 && it.selectionSet === undefined) {\n\t\t\t\treturn it.name.value\n\t\t\t}\n\t\t\tconst args = Object.fromEntries(it.arguments?.map(it => [it.name, parseArguments(it.value)]) ?? [])\n\t\t\treturn [it.name.value, args, it.selectionSet ? this.processSelectionSet(it.selectionSet.selections) : []]\n\t\t})\n\t}\n}\n\nclass ActionsTargetRegistry {\n\tprivate targets: Record<string, Actions.AnyTarget> = {}\n\tprivate targetsInverseMap = new Map<Omit<Actions.AnyTarget, 'name'>, string>()\n\n\tpublic register(name: string, target: Omit<Actions.AnyTarget, 'name'> & { name?: string }): void {\n\t\tif (this.targets[name]) {\n\t\t\tthrow `Duplicate trigger target name ${name}`\n\t\t}\n\t\tthis.targets[name] = { name, ...target }\n\t\tthis.targetsInverseMap.set(target, name)\n\t}\n\n\tpublic getName(target: Omit<Actions.AnyTarget, 'name'>): string | undefined {\n\t\treturn this.targetsInverseMap.get(target)\n\t}\n\n\tpublic getTargets() {\n\t\treturn this.targets\n\t}\n}\n\nconst parseArguments = (ast: ValueNode): any => {\n\tswitch (ast.kind) {\n\t\tcase Kind.STRING:\n\t\t\treturn ast.value\n\t\tcase Kind.BOOLEAN:\n\t\t\treturn ast.value\n\t\tcase Kind.FLOAT:\n\t\t\treturn parseFloat(ast.value)\n\t\tcase Kind.INT:\n\t\t\treturn Number(ast.value)\n\t\tcase Kind.LIST:\n\t\t\treturn ast.values.map(it => parseArguments(it))\n\t\tcase Kind.OBJECT:\n\t\t\treturn Object.fromEntries(ast.fields.map(it => [it.name.value, parseArguments(it.value)]))\n\t\tcase Kind.ENUM:\n\t\t\treturn ast.value\n\t\tcase Kind.NULL:\n\t\t\treturn null\n\t\tcase Kind.VARIABLE:\n\t\t\tthrow `Variables are not supported here.`\n\t}\n}\n"],"names":["it"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const MetadataStore = require("../../../utils/MetadataStore.cjs");
4
+ const triggersStore = MetadataStore.createMetadataStore([]);
5
+ exports.triggersStore = triggersStore;
6
+ //# sourceMappingURL=store.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.cjs","sources":["../../../../../../../packages/schema-definition/src/actions/definition/internal/store.ts"],"sourcesContent":["import { createMetadataStore } from '../../../utils'\nimport { BasicTriggerDefinition, WatchTriggerDefinition } from '../triggers'\n\ntype StoredTrigger =\n\t| { type: 'basic'; definition: BasicTriggerDefinition }\n\t| { type: 'watch'; definition: WatchTriggerDefinition }\n\nexport const triggersStore = createMetadataStore<StoredTrigger[]>([])\n"],"names":["createMetadataStore"],"mappings":";;;AAOO,MAAM,gBAAgBA,cAAAA,oBAAqC,CAAA,CAAE;;"}
@@ -0,0 +1,6 @@
1
+ import { createMetadataStore } from "../../../utils/MetadataStore.js";
2
+ const triggersStore = createMetadataStore([]);
3
+ export {
4
+ triggersStore
5
+ };
6
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sources":["../../../../../../../packages/schema-definition/src/actions/definition/internal/store.ts"],"sourcesContent":["import { createMetadataStore } from '../../../utils'\nimport { BasicTriggerDefinition, WatchTriggerDefinition } from '../triggers'\n\ntype StoredTrigger =\n\t| { type: 'basic'; definition: BasicTriggerDefinition }\n\t| { type: 'watch'; definition: WatchTriggerDefinition }\n\nexport const triggersStore = createMetadataStore<StoredTrigger[]>([])\n"],"names":[],"mappings":";AAOO,MAAM,gBAAgB,oBAAqC,CAAA,CAAE;"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ class ActionsTarget {
4
+ constructor(name, definition) {
5
+ this.name = name;
6
+ this.definition = definition;
7
+ }
8
+ }
9
+ const createTarget = ({
10
+ name,
11
+ ...definition
12
+ }) => new ActionsTarget(name, definition);
13
+ exports.ActionsTarget = ActionsTarget;
14
+ exports.createTarget = createTarget;
15
+ //# sourceMappingURL=targets.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"targets.cjs","sources":["../../../../../../packages/schema-definition/src/actions/definition/targets.ts"],"sourcesContent":["import { Actions } from '@contember/schema'\n\nexport class ActionsTarget {\n\tconstructor(\n\t\tpublic readonly name: string | undefined,\n\t\tpublic readonly definition: Omit<Actions.AnyTarget, 'name'>,\n\t) {\n\t}\n}\n\nexport const createTarget = ({\n\tname,\n\t...definition\n}: Actions.AnyTarget & { name?: string }) => new ActionsTarget(name, definition)\n"],"names":[],"mappings":";;AAEO,MAAM,cAAc;AAAA,EAC1B,YACiB,MACA,YACf;AAFe,SAAA,OAAA;AACA,SAAA,aAAA;AAAA,EAEjB;AACD;AAEO,MAAM,eAAe,CAAC;AAAA,EAC5B;AAAA,EACA,GAAG;AACJ,MAA6C,IAAI,cAAc,MAAM,UAAU;;;"}
@@ -0,0 +1,15 @@
1
+ class ActionsTarget {
2
+ constructor(name, definition) {
3
+ this.name = name;
4
+ this.definition = definition;
5
+ }
6
+ }
7
+ const createTarget = ({
8
+ name,
9
+ ...definition
10
+ }) => new ActionsTarget(name, definition);
11
+ export {
12
+ ActionsTarget,
13
+ createTarget
14
+ };
15
+ //# sourceMappingURL=targets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"targets.js","sources":["../../../../../../packages/schema-definition/src/actions/definition/targets.ts"],"sourcesContent":["import { Actions } from '@contember/schema'\n\nexport class ActionsTarget {\n\tconstructor(\n\t\tpublic readonly name: string | undefined,\n\t\tpublic readonly definition: Omit<Actions.AnyTarget, 'name'>,\n\t) {\n\t}\n}\n\nexport const createTarget = ({\n\tname,\n\t...definition\n}: Actions.AnyTarget & { name?: string }) => new ActionsTarget(name, definition)\n"],"names":[],"mappings":"AAEO,MAAM,cAAc;AAAA,EAC1B,YACiB,MACA,YACf;AAFe,SAAA,OAAA;AACA,SAAA,aAAA;AAAA,EAEjB;AACD;AAEO,MAAM,eAAe,CAAC;AAAA,EAC5B;AAAA,EACA,GAAG;AACJ,MAA6C,IAAI,cAAc,MAAM,UAAU;"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const store = require("./internal/store.cjs");
4
+ const trigger = (definition) => (entity, context) => {
5
+ store.triggersStore.update(entity, (it) => [...it, { type: "basic", definition }], context);
6
+ };
7
+ const watch = (definition) => (entity, context) => {
8
+ store.triggersStore.update(entity, (it) => [...it, { type: "watch", definition }], context);
9
+ };
10
+ exports.trigger = trigger;
11
+ exports.watch = watch;
12
+ //# sourceMappingURL=triggers.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triggers.cjs","sources":["../../../../../../packages/schema-definition/src/actions/definition/triggers.ts"],"sourcesContent":["import { DecoratorFunction, EntityConstructor } from '../../utils'\nimport { Actions } from '@contember/schema'\nimport { triggersStore } from './internal/store'\nimport { ActionsTarget } from './targets'\n\nexport type TriggerWebhookDefinition = {\n\twebhook:\n\t\t| string\n\t\t| Omit<Actions.WebhookTarget, 'type' | 'name'> & { name?: string }\n}\n\nexport type TriggerTargetDefinition = {\n\ttarget: (Omit<Actions.AnyTarget, 'name'> & { name?: string }) | ActionsTarget\n}\n\nexport type TargetDefinition =\n\t| TriggerWebhookDefinition\n\t| TriggerTargetDefinition\n\nexport type CommonTriggerDefinition = {\n\treadonly name: string\n\treadonly selection?: Actions.SelectionNode | string\n\treadonly priority?: number\n}\n\nexport type BasicTriggerDefinition =\n\t& {\n\t\treadonly create?: boolean\n\t\treadonly delete?: boolean\n\t\treadonly update?: boolean | readonly string[]\n\t}\n\t& CommonTriggerDefinition\n\t& TargetDefinition\n\nexport type WatchTriggerDefinition =\n\t& {\n\t\treadonly watch: Actions.SelectionNode | string\n\t\treadonly withNodes?: boolean\n\t}\n\t& CommonTriggerDefinition\n\t& TargetDefinition\n\nexport const trigger =\n\t<T>(definition: BasicTriggerDefinition): DecoratorFunction<T> => (entity: EntityConstructor<T>, context?: ClassDecoratorContext) => {\n\t\ttriggersStore.update(entity, it => [...it, { type: 'basic', definition }], context)\n\t}\n\nexport const watch =\n\t<T>(definition: WatchTriggerDefinition): DecoratorFunction<T> => (entity: EntityConstructor<T>, context?: ClassDecoratorContext) => {\n\t\ttriggersStore.update(entity, it => [...it, { type: 'watch', definition }], context)\n\t}\n"],"names":["triggersStore"],"mappings":";;;AA0CO,MAAM,UACZ,CAAI,eAA6D,CAAC,QAA8B,YAAoC;AACnIA,QAAAA,cAAc,OAAO,QAAQ,CAAA,OAAM,CAAC,GAAG,IAAI,EAAE,MAAM,SAAS,WAAA,CAAY,GAAG,OAAO;AACnF;AAEM,MAAM,QACZ,CAAI,eAA6D,CAAC,QAA8B,YAAoC;AACnIA,QAAAA,cAAc,OAAO,QAAQ,CAAA,OAAM,CAAC,GAAG,IAAI,EAAE,MAAM,SAAS,WAAA,CAAY,GAAG,OAAO;AACnF;;;"}
@@ -0,0 +1,12 @@
1
+ import { triggersStore } from "./internal/store.js";
2
+ const trigger = (definition) => (entity, context) => {
3
+ triggersStore.update(entity, (it) => [...it, { type: "basic", definition }], context);
4
+ };
5
+ const watch = (definition) => (entity, context) => {
6
+ triggersStore.update(entity, (it) => [...it, { type: "watch", definition }], context);
7
+ };
8
+ export {
9
+ trigger,
10
+ watch
11
+ };
12
+ //# sourceMappingURL=triggers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triggers.js","sources":["../../../../../../packages/schema-definition/src/actions/definition/triggers.ts"],"sourcesContent":["import { DecoratorFunction, EntityConstructor } from '../../utils'\nimport { Actions } from '@contember/schema'\nimport { triggersStore } from './internal/store'\nimport { ActionsTarget } from './targets'\n\nexport type TriggerWebhookDefinition = {\n\twebhook:\n\t\t| string\n\t\t| Omit<Actions.WebhookTarget, 'type' | 'name'> & { name?: string }\n}\n\nexport type TriggerTargetDefinition = {\n\ttarget: (Omit<Actions.AnyTarget, 'name'> & { name?: string }) | ActionsTarget\n}\n\nexport type TargetDefinition =\n\t| TriggerWebhookDefinition\n\t| TriggerTargetDefinition\n\nexport type CommonTriggerDefinition = {\n\treadonly name: string\n\treadonly selection?: Actions.SelectionNode | string\n\treadonly priority?: number\n}\n\nexport type BasicTriggerDefinition =\n\t& {\n\t\treadonly create?: boolean\n\t\treadonly delete?: boolean\n\t\treadonly update?: boolean | readonly string[]\n\t}\n\t& CommonTriggerDefinition\n\t& TargetDefinition\n\nexport type WatchTriggerDefinition =\n\t& {\n\t\treadonly watch: Actions.SelectionNode | string\n\t\treadonly withNodes?: boolean\n\t}\n\t& CommonTriggerDefinition\n\t& TargetDefinition\n\nexport const trigger =\n\t<T>(definition: BasicTriggerDefinition): DecoratorFunction<T> => (entity: EntityConstructor<T>, context?: ClassDecoratorContext) => {\n\t\ttriggersStore.update(entity, it => [...it, { type: 'basic', definition }], context)\n\t}\n\nexport const watch =\n\t<T>(definition: WatchTriggerDefinition): DecoratorFunction<T> => (entity: EntityConstructor<T>, context?: ClassDecoratorContext) => {\n\t\ttriggersStore.update(entity, it => [...it, { type: 'watch', definition }], context)\n\t}\n"],"names":[],"mappings":";AA0CO,MAAM,UACZ,CAAI,eAA6D,CAAC,QAA8B,YAAoC;AACnI,gBAAc,OAAO,QAAQ,CAAA,OAAM,CAAC,GAAG,IAAI,EAAE,MAAM,SAAS,WAAA,CAAY,GAAG,OAAO;AACnF;AAEM,MAAM,QACZ,CAAI,eAA6D,CAAC,QAA8B,YAAoC;AACnI,gBAAc,OAAO,QAAQ,CAAA,OAAM,CAAC,GAAG,IAAI,EAAE,MAAM,SAAS,WAAA,CAAY,GAAG,OAAO;AACnF;"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ require("./model/builder/FieldBuilder.cjs");
4
+ require("@contember/schema");
5
+ const schemaUtils = require("@contember/schema-utils");
6
+ const index = require("./model/definition/index.cjs");
7
+ const index$1 = require("./validation/index.cjs");
8
+ const index$2 = require("./acl/definition/index.cjs");
9
+ const index$3 = require("./actions/definition/index.cjs");
10
+ const strict = require("./strict.cjs");
11
+ const createSchema = (definitions, modifyCallback, options) => {
12
+ const strictOptions = options?.strict === true ? strict.allStrict : options?.strict || {};
13
+ const strictDefinitionValidator = new strict.StrictDefinitionValidator(strictOptions);
14
+ const model = index.createModel(definitions, {
15
+ strictDefinitionValidator,
16
+ defaultCollation: options?.defaultCollation
17
+ });
18
+ const validation = index$1.parseDefinition(definitions);
19
+ const acl = index$2.createAcl(definitions, model);
20
+ const actions = index$3.createActions(definitions);
21
+ const schema = { ...schemaUtils.emptySchema, model, validation, acl, actions };
22
+ if (strictDefinitionValidator.warnings.length > 0) {
23
+ throw `Strict schema validation failed:
24
+ ${strictDefinitionValidator.warnings.map((it) => `- ${it.message}`).join("\n")}`;
25
+ }
26
+ return modifyCallback ? modifyCallback(schema) : schema;
27
+ };
28
+ exports.createSchema = createSchema;
29
+ //# sourceMappingURL=createSchema.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSchema.cjs","sources":["../../../../packages/schema-definition/src/createSchema.ts"],"sourcesContent":["import { SchemaDefinition } from './model'\nimport * as InputValidation from './validation'\nimport * as AclDefinition from './acl/definition'\nimport * as ActionsDefinition from './actions/definition'\nimport { Model, Schema } from '@contember/schema'\nimport { emptySchema } from '@contember/schema-utils'\nimport { allStrict, StrictDefinitionValidator, StrictOptions } from './strict'\n\nexport const createSchema = (definitions: Record<string, any>, modifyCallback?: (schema: Schema) => Schema, options?: {\n\tstrict?: boolean | StrictOptions\n\tdefaultCollation?: Model.Collation\n}): Schema => {\n\tconst strictOptions = options?.strict === true ? allStrict : (options?.strict || {})\n\tconst strictDefinitionValidator = new StrictDefinitionValidator(strictOptions)\n\n\tconst model = SchemaDefinition.createModel(definitions, {\n\t\tstrictDefinitionValidator: strictDefinitionValidator,\n\t\tdefaultCollation: options?.defaultCollation,\n\t})\n\tconst validation = InputValidation.parseDefinition(definitions)\n\tconst acl = AclDefinition.createAcl(definitions, model)\n\tconst actions = ActionsDefinition.createActions(definitions)\n\tconst schema = { ...emptySchema, model, validation, acl, actions }\n\n\tif (strictDefinitionValidator.warnings.length > 0) {\n\t\tthrow `Strict schema validation failed: \\n${strictDefinitionValidator.warnings.map(it => `- ${it.message}`).join('\\n')}`\n\t}\n\n\treturn modifyCallback ? modifyCallback(schema) : schema\n}\n"],"names":["allStrict","StrictDefinitionValidator","SchemaDefinition.createModel","InputValidation.parseDefinition","AclDefinition.createAcl","ActionsDefinition.createActions","emptySchema"],"mappings":";;;;;;;;;;AAQO,MAAM,eAAe,CAAC,aAAkC,gBAA6C,YAG9F;AACb,QAAM,gBAAgB,SAAS,WAAW,OAAOA,mBAAa,SAAS,UAAU,CAAA;AACjF,QAAM,4BAA4B,IAAIC,OAAAA,0BAA0B,aAAa;AAE7E,QAAM,QAAQC,MAAAA,YAA6B,aAAa;AAAA,IACvD;AAAA,IACA,kBAAkB,SAAS;AAAA,EAAA,CAC3B;AACD,QAAM,aAAaC,QAAAA,gBAAgC,WAAW;AAC9D,QAAM,MAAMC,QAAAA,UAAwB,aAAa,KAAK;AACtD,QAAM,UAAUC,QAAAA,cAAgC,WAAW;AAC3D,QAAM,SAAS,EAAE,GAAGC,YAAAA,aAAa,OAAO,YAAY,KAAK,QAAA;AAEzD,MAAI,0BAA0B,SAAS,SAAS,GAAG;AAClD,UAAM;AAAA,EAAsC,0BAA0B,SAAS,IAAI,CAAA,OAAM,KAAK,GAAG,OAAO,EAAE,EAAE,KAAK,IAAI,CAAC;AAAA,EACvH;AAEA,SAAO,iBAAiB,eAAe,MAAM,IAAI;AAClD;;"}
@@ -0,0 +1,29 @@
1
+ import "./model/builder/FieldBuilder.js";
2
+ import "@contember/schema";
3
+ import { emptySchema } from "@contember/schema-utils";
4
+ import { createModel } from "./model/definition/index.js";
5
+ import { parseDefinition } from "./validation/index.js";
6
+ import { createAcl } from "./acl/definition/index.js";
7
+ import { createActions } from "./actions/definition/index.js";
8
+ import { allStrict, StrictDefinitionValidator } from "./strict.js";
9
+ const createSchema = (definitions, modifyCallback, options) => {
10
+ const strictOptions = options?.strict === true ? allStrict : options?.strict || {};
11
+ const strictDefinitionValidator = new StrictDefinitionValidator(strictOptions);
12
+ const model = createModel(definitions, {
13
+ strictDefinitionValidator,
14
+ defaultCollation: options?.defaultCollation
15
+ });
16
+ const validation = parseDefinition(definitions);
17
+ const acl = createAcl(definitions, model);
18
+ const actions = createActions(definitions);
19
+ const schema = { ...emptySchema, model, validation, acl, actions };
20
+ if (strictDefinitionValidator.warnings.length > 0) {
21
+ throw `Strict schema validation failed:
22
+ ${strictDefinitionValidator.warnings.map((it) => `- ${it.message}`).join("\n")}`;
23
+ }
24
+ return modifyCallback ? modifyCallback(schema) : schema;
25
+ };
26
+ export {
27
+ createSchema
28
+ };
29
+ //# sourceMappingURL=createSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSchema.js","sources":["../../../../packages/schema-definition/src/createSchema.ts"],"sourcesContent":["import { SchemaDefinition } from './model'\nimport * as InputValidation from './validation'\nimport * as AclDefinition from './acl/definition'\nimport * as ActionsDefinition from './actions/definition'\nimport { Model, Schema } from '@contember/schema'\nimport { emptySchema } from '@contember/schema-utils'\nimport { allStrict, StrictDefinitionValidator, StrictOptions } from './strict'\n\nexport const createSchema = (definitions: Record<string, any>, modifyCallback?: (schema: Schema) => Schema, options?: {\n\tstrict?: boolean | StrictOptions\n\tdefaultCollation?: Model.Collation\n}): Schema => {\n\tconst strictOptions = options?.strict === true ? allStrict : (options?.strict || {})\n\tconst strictDefinitionValidator = new StrictDefinitionValidator(strictOptions)\n\n\tconst model = SchemaDefinition.createModel(definitions, {\n\t\tstrictDefinitionValidator: strictDefinitionValidator,\n\t\tdefaultCollation: options?.defaultCollation,\n\t})\n\tconst validation = InputValidation.parseDefinition(definitions)\n\tconst acl = AclDefinition.createAcl(definitions, model)\n\tconst actions = ActionsDefinition.createActions(definitions)\n\tconst schema = { ...emptySchema, model, validation, acl, actions }\n\n\tif (strictDefinitionValidator.warnings.length > 0) {\n\t\tthrow `Strict schema validation failed: \\n${strictDefinitionValidator.warnings.map(it => `- ${it.message}`).join('\\n')}`\n\t}\n\n\treturn modifyCallback ? modifyCallback(schema) : schema\n}\n"],"names":["SchemaDefinition.createModel","InputValidation.parseDefinition","AclDefinition.createAcl","ActionsDefinition.createActions"],"mappings":";;;;;;;;AAQO,MAAM,eAAe,CAAC,aAAkC,gBAA6C,YAG9F;AACb,QAAM,gBAAgB,SAAS,WAAW,OAAO,YAAa,SAAS,UAAU,CAAA;AACjF,QAAM,4BAA4B,IAAI,0BAA0B,aAAa;AAE7E,QAAM,QAAQA,YAA6B,aAAa;AAAA,IACvD;AAAA,IACA,kBAAkB,SAAS;AAAA,EAAA,CAC3B;AACD,QAAM,aAAaC,gBAAgC,WAAW;AAC9D,QAAM,MAAMC,UAAwB,aAAa,KAAK;AACtD,QAAM,UAAUC,cAAgC,WAAW;AAC3D,QAAM,SAAS,EAAE,GAAG,aAAa,OAAO,YAAY,KAAK,QAAA;AAEzD,MAAI,0BAA0B,SAAS,SAAS,GAAG;AAClD,UAAM;AAAA,EAAsC,0BAA0B,SAAS,IAAI,CAAA,OAAM,KAAK,GAAG,OAAO,EAAE,EAAE,KAAK,IAAI,CAAC;AAAA,EACvH;AAEA,SAAO,iBAAiB,eAAe,MAAM,IAAI;AAClD;"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ class ColumnBuilder {
3
+ constructor(options) {
4
+ this.options = options;
5
+ }
6
+ columnName(columnName) {
7
+ return new ColumnBuilder({ ...this.options, columnName });
8
+ }
9
+ type(type, typeOptions = {}) {
10
+ return new ColumnBuilder(
11
+ {
12
+ ...this.options,
13
+ type,
14
+ ...typeOptions
15
+ }
16
+ );
17
+ }
18
+ nullable() {
19
+ return new ColumnBuilder({ ...this.options, nullable: true });
20
+ }
21
+ notNull() {
22
+ return new ColumnBuilder({ ...this.options, nullable: false });
23
+ }
24
+ unique() {
25
+ return new ColumnBuilder({ ...this.options, unique: true });
26
+ }
27
+ primary() {
28
+ return new ColumnBuilder({ ...this.options, primary: true });
29
+ }
30
+ typeAlias(typeAlias) {
31
+ return new ColumnBuilder({ ...this.options, typeAlias });
32
+ }
33
+ getOption() {
34
+ return this.options;
35
+ }
36
+ }
37
+ module.exports = ColumnBuilder;
38
+ //# sourceMappingURL=ColumnBuilder.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColumnBuilder.cjs","sources":["../../../../../../packages/schema-definition/src/model/builder/ColumnBuilder.ts"],"sourcesContent":["import FieldBuilder from './FieldBuilder'\nimport { Model } from '@contember/schema'\n\ntype PartialColumnOptions<K extends keyof ColumnBuilder.Options> =\n\t& Partial<ColumnBuilder.Options>\n\t& Pick<ColumnBuilder.Options, K>\n\nclass ColumnBuilder<O extends PartialColumnOptions<never> = PartialColumnOptions<never>> implements FieldBuilder<O> {\n\tconstructor(private readonly options: O) {}\n\n\tpublic columnName(columnName: string): ColumnBuilder<O> {\n\t\treturn new ColumnBuilder<O>({ ...(this.options as object), columnName } as O)\n\t}\n\n\tpublic type(\n\t\ttype: Model.ColumnType,\n\t\ttypeOptions: ColumnBuilder.TypeOptions = {},\n\t): ColumnBuilder<O & PartialColumnOptions<'type'>> {\n\t\treturn new ColumnBuilder<O & PartialColumnOptions<'type'>>(\n\t\t\t{\n\t\t\t\t...(this.options as object),\n\t\t\t\ttype: type,\n\t\t\t\t...typeOptions,\n\t\t\t} as O & PartialColumnOptions<'type'>,\n\t\t)\n\t}\n\n\tpublic nullable(): ColumnBuilder<O> {\n\t\treturn new ColumnBuilder<O>({ ...(this.options as object), nullable: true } as O)\n\t}\n\n\tpublic notNull(): ColumnBuilder<O> {\n\t\treturn new ColumnBuilder<O>({ ...(this.options as object), nullable: false } as O)\n\t}\n\n\tpublic unique(): ColumnBuilder<O> {\n\t\treturn new ColumnBuilder<O>({ ...(this.options as object), unique: true } as O)\n\t}\n\n\tpublic primary(): ColumnBuilder<O> {\n\t\treturn new ColumnBuilder<O>({ ...(this.options as object), primary: true } as O)\n\t}\n\n\tpublic typeAlias(typeAlias: string): ColumnBuilder<O> {\n\t\treturn new ColumnBuilder<O>({ ...(this.options as object), typeAlias } as O)\n\t}\n\n\tgetOption(): O {\n\t\treturn this.options\n\t}\n}\n\nnamespace ColumnBuilder {\n\texport type TypeOptions = {\n\t\tenumName?: string\n\t}\n\n\texport type Options = {\n\t\ttype: Model.ColumnType\n\t\tenumName?: string\n\t\tcolumnName?: string\n\t\tunique?: boolean\n\t\tnullable?: boolean\n\t\tprimary?: boolean\n\t\ttypeAlias?: string\n\t}\n}\n\nexport default ColumnBuilder\n"],"names":[],"mappings":";AAOA,MAAM,cAA8G;AAAA,EACnH,YAA6B,SAAY;AAAZ,SAAA,UAAA;AAAA,EAAa;AAAA,EAEnC,WAAW,YAAsC;AACvD,WAAO,IAAI,cAAiB,EAAE,GAAI,KAAK,SAAoB,YAAiB;AAAA,EAC7E;AAAA,EAEO,KACN,MACA,cAAyC,IACS;AAClD,WAAO,IAAI;AAAA,MACV;AAAA,QACC,GAAI,KAAK;AAAA,QACT;AAAA,QACA,GAAG;AAAA,MAAA;AAAA,IACJ;AAAA,EAEF;AAAA,EAEO,WAA6B;AACnC,WAAO,IAAI,cAAiB,EAAE,GAAI,KAAK,SAAoB,UAAU,MAAW;AAAA,EACjF;AAAA,EAEO,UAA4B;AAClC,WAAO,IAAI,cAAiB,EAAE,GAAI,KAAK,SAAoB,UAAU,OAAY;AAAA,EAClF;AAAA,EAEO,SAA2B;AACjC,WAAO,IAAI,cAAiB,EAAE,GAAI,KAAK,SAAoB,QAAQ,MAAW;AAAA,EAC/E;AAAA,EAEO,UAA4B;AAClC,WAAO,IAAI,cAAiB,EAAE,GAAI,KAAK,SAAoB,SAAS,MAAW;AAAA,EAChF;AAAA,EAEO,UAAU,WAAqC;AACrD,WAAO,IAAI,cAAiB,EAAE,GAAI,KAAK,SAAoB,WAAgB;AAAA,EAC5E;AAAA,EAEA,YAAe;AACd,WAAO,KAAK;AAAA,EACb;AACD;;"}