@contember/schema-utils 2.1.0-alpha.30 → 2.1.0-alpha.35

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 (435) hide show
  1. package/package.json +11 -6
  2. package/src/acl/AllowAllPermissionFactory.ts +1 -1
  3. package/src/acl/PredicateDefinitionProcessor.ts +5 -7
  4. package/src/dataUtils.ts +1 -1
  5. package/src/definition-generator/AclDefinitionCodeGenerator.ts +7 -8
  6. package/src/definition-generator/DefinitionCodeGenerator.ts +8 -14
  7. package/src/definition-generator/DefinitionNamingConventions.ts +50 -1
  8. package/src/index.ts +2 -2
  9. package/src/lax/LaxSchemaConverter.ts +0 -4
  10. package/src/lax/schema.ts +4 -1
  11. package/src/model/modelUtils.ts +2 -4
  12. package/src/schemaChecksum.ts +0 -1
  13. package/src/schemaFilter.ts +1 -1
  14. package/src/type-schema/acl.ts +16 -13
  15. package/src/type-schema/actions.ts +0 -2
  16. package/src/type-schema/condition.ts +25 -23
  17. package/src/type-schema/model.ts +10 -8
  18. package/src/type-schema/validation.ts +5 -4
  19. package/src/type-schema/where.ts +11 -9
  20. package/src/utils/deepCompare.ts +1 -1
  21. package/src/utils/printJsValue.ts +23 -25
  22. package/src/validation/AclValidator.ts +0 -2
  23. package/src/validation/ActionsValidator.ts +7 -7
  24. package/src/validation/MembershipResolver.ts +0 -3
  25. package/src/validation/ModelValidator.ts +43 -32
  26. package/src/validation/SchemaValidator.ts +7 -6
  27. package/src/validation/ValidationValidator.ts +1 -3
  28. package/src/validation/errors.ts +0 -3
  29. package/tests/cases/unit/conditionSchema.test.ts +1 -2
  30. package/tests/cases/unit/deepCompare.test.ts +2 -3
  31. package/tests/cases/unit/laxSchemaConverter.test.ts +0 -4
  32. package/tests/cases/unit/membershipResolver.test.ts +88 -60
  33. package/tests/cases/unit/modelSchema.test.ts +4 -4
  34. package/tests/cases/unit/modelValidator.test.ts +0 -1
  35. package/tests/cases/unit/printJsvalue.test.ts +11 -7
  36. package/tests/cases/unit/whereSchema.test.ts +19 -18
  37. package/dist/development/index.cjs +0 -110
  38. package/dist/development/index.cjs.map +0 -1
  39. package/dist/development/index.js +0 -94
  40. package/dist/development/index.js.map +0 -1
  41. package/dist/development/src/acl/AllowAllPermissionFactory.cjs +0 -42
  42. package/dist/development/src/acl/AllowAllPermissionFactory.cjs.map +0 -1
  43. package/dist/development/src/acl/AllowAllPermissionFactory.js +0 -42
  44. package/dist/development/src/acl/AllowAllPermissionFactory.js.map +0 -1
  45. package/dist/development/src/acl/PredicateDefinitionProcessor.cjs +0 -71
  46. package/dist/development/src/acl/PredicateDefinitionProcessor.cjs.map +0 -1
  47. package/dist/development/src/acl/PredicateDefinitionProcessor.js +0 -71
  48. package/dist/development/src/acl/PredicateDefinitionProcessor.js.map +0 -1
  49. package/dist/development/src/acl/schemaUtils.cjs +0 -11
  50. package/dist/development/src/acl/schemaUtils.cjs.map +0 -1
  51. package/dist/development/src/acl/schemaUtils.js +0 -11
  52. package/dist/development/src/acl/schemaUtils.js.map +0 -1
  53. package/dist/development/src/dataUtils.cjs +0 -59
  54. package/dist/development/src/dataUtils.cjs.map +0 -1
  55. package/dist/development/src/dataUtils.js +0 -59
  56. package/dist/development/src/dataUtils.js.map +0 -1
  57. package/dist/development/src/definition-generator/AclDefinitionCodeGenerator.cjs +0 -117
  58. package/dist/development/src/definition-generator/AclDefinitionCodeGenerator.cjs.map +0 -1
  59. package/dist/development/src/definition-generator/AclDefinitionCodeGenerator.js +0 -117
  60. package/dist/development/src/definition-generator/AclDefinitionCodeGenerator.js.map +0 -1
  61. package/dist/development/src/definition-generator/DefinitionCodeGenerator.cjs +0 -218
  62. package/dist/development/src/definition-generator/DefinitionCodeGenerator.cjs.map +0 -1
  63. package/dist/development/src/definition-generator/DefinitionCodeGenerator.js +0 -218
  64. package/dist/development/src/definition-generator/DefinitionCodeGenerator.js.map +0 -1
  65. package/dist/development/src/definition-generator/DefinitionNamingConventions.cjs +0 -19
  66. package/dist/development/src/definition-generator/DefinitionNamingConventions.cjs.map +0 -1
  67. package/dist/development/src/definition-generator/DefinitionNamingConventions.js +0 -19
  68. package/dist/development/src/definition-generator/DefinitionNamingConventions.js.map +0 -1
  69. package/dist/development/src/definition-generator/TsDefinitionGenerator.cjs +0 -17
  70. package/dist/development/src/definition-generator/TsDefinitionGenerator.cjs.map +0 -1
  71. package/dist/development/src/definition-generator/TsDefinitionGenerator.js +0 -17
  72. package/dist/development/src/definition-generator/TsDefinitionGenerator.js.map +0 -1
  73. package/dist/development/src/lax/LaxSchemaConverter.cjs +0 -202
  74. package/dist/development/src/lax/LaxSchemaConverter.cjs.map +0 -1
  75. package/dist/development/src/lax/LaxSchemaConverter.js +0 -202
  76. package/dist/development/src/lax/LaxSchemaConverter.js.map +0 -1
  77. package/dist/development/src/lax/schema.cjs +0 -70
  78. package/dist/development/src/lax/schema.cjs.map +0 -1
  79. package/dist/development/src/lax/schema.js +0 -53
  80. package/dist/development/src/lax/schema.js.map +0 -1
  81. package/dist/development/src/model/NamingConventions.cjs +0 -28
  82. package/dist/development/src/model/NamingConventions.cjs.map +0 -1
  83. package/dist/development/src/model/NamingConventions.js +0 -28
  84. package/dist/development/src/model/NamingConventions.js.map +0 -1
  85. package/dist/development/src/model/modelUtils.cjs +0 -231
  86. package/dist/development/src/model/modelUtils.cjs.map +0 -1
  87. package/dist/development/src/model/modelUtils.js +0 -231
  88. package/dist/development/src/model/modelUtils.js.map +0 -1
  89. package/dist/development/src/model/resolveDefaultColumnType.cjs +0 -30
  90. package/dist/development/src/model/resolveDefaultColumnType.cjs.map +0 -1
  91. package/dist/development/src/model/resolveDefaultColumnType.js +0 -30
  92. package/dist/development/src/model/resolveDefaultColumnType.js.map +0 -1
  93. package/dist/development/src/schemaChecksum.cjs +0 -9
  94. package/dist/development/src/schemaChecksum.cjs.map +0 -1
  95. package/dist/development/src/schemaChecksum.js +0 -9
  96. package/dist/development/src/schemaChecksum.js.map +0 -1
  97. package/dist/development/src/schemaFilter.cjs +0 -24
  98. package/dist/development/src/schemaFilter.cjs.map +0 -1
  99. package/dist/development/src/schemaFilter.js +0 -24
  100. package/dist/development/src/schemaFilter.js.map +0 -1
  101. package/dist/development/src/schemaNormalizer.cjs +0 -72
  102. package/dist/development/src/schemaNormalizer.cjs.map +0 -1
  103. package/dist/development/src/schemaNormalizer.js +0 -72
  104. package/dist/development/src/schemaNormalizer.js.map +0 -1
  105. package/dist/development/src/type-schema/acl.cjs +0 -146
  106. package/dist/development/src/type-schema/acl.cjs.map +0 -1
  107. package/dist/development/src/type-schema/acl.js +0 -129
  108. package/dist/development/src/type-schema/acl.js.map +0 -1
  109. package/dist/development/src/type-schema/actions.cjs +0 -88
  110. package/dist/development/src/type-schema/actions.cjs.map +0 -1
  111. package/dist/development/src/type-schema/actions.js +0 -71
  112. package/dist/development/src/type-schema/actions.js.map +0 -1
  113. package/dist/development/src/type-schema/condition.cjs +0 -92
  114. package/dist/development/src/type-schema/condition.cjs.map +0 -1
  115. package/dist/development/src/type-schema/condition.js +0 -75
  116. package/dist/development/src/type-schema/condition.js.map +0 -1
  117. package/dist/development/src/type-schema/model.cjs +0 -219
  118. package/dist/development/src/type-schema/model.cjs.map +0 -1
  119. package/dist/development/src/type-schema/model.js +0 -203
  120. package/dist/development/src/type-schema/model.js.map +0 -1
  121. package/dist/development/src/type-schema/settings.cjs +0 -34
  122. package/dist/development/src/type-schema/settings.cjs.map +0 -1
  123. package/dist/development/src/type-schema/settings.js +0 -17
  124. package/dist/development/src/type-schema/settings.js.map +0 -1
  125. package/dist/development/src/type-schema/validation.cjs +0 -115
  126. package/dist/development/src/type-schema/validation.cjs.map +0 -1
  127. package/dist/development/src/type-schema/validation.js +0 -98
  128. package/dist/development/src/type-schema/validation.js.map +0 -1
  129. package/dist/development/src/type-schema/where.cjs +0 -44
  130. package/dist/development/src/type-schema/where.cjs.map +0 -1
  131. package/dist/development/src/type-schema/where.js +0 -27
  132. package/dist/development/src/type-schema/where.js.map +0 -1
  133. package/dist/development/src/utils/assertNever.cjs +0 -7
  134. package/dist/development/src/utils/assertNever.cjs.map +0 -1
  135. package/dist/development/src/utils/assertNever.js +0 -7
  136. package/dist/development/src/utils/assertNever.js.map +0 -1
  137. package/dist/development/src/utils/deepCompare.cjs +0 -134
  138. package/dist/development/src/utils/deepCompare.cjs.map +0 -1
  139. package/dist/development/src/utils/deepCompare.js +0 -134
  140. package/dist/development/src/utils/deepCompare.js.map +0 -1
  141. package/dist/development/src/utils/isIt.cjs +0 -7
  142. package/dist/development/src/utils/isIt.cjs.map +0 -1
  143. package/dist/development/src/utils/isIt.js +0 -7
  144. package/dist/development/src/utils/isIt.js.map +0 -1
  145. package/dist/development/src/utils/printJsValue.cjs +0 -42
  146. package/dist/development/src/utils/printJsValue.cjs.map +0 -1
  147. package/dist/development/src/utils/printJsValue.js +0 -42
  148. package/dist/development/src/utils/printJsValue.js.map +0 -1
  149. package/dist/development/src/validation/AclValidator.cjs +0 -168
  150. package/dist/development/src/validation/AclValidator.cjs.map +0 -1
  151. package/dist/development/src/validation/AclValidator.js +0 -168
  152. package/dist/development/src/validation/AclValidator.js.map +0 -1
  153. package/dist/development/src/validation/ActionsValidator.cjs +0 -127
  154. package/dist/development/src/validation/ActionsValidator.cjs.map +0 -1
  155. package/dist/development/src/validation/ActionsValidator.js +0 -110
  156. package/dist/development/src/validation/ActionsValidator.js.map +0 -1
  157. package/dist/development/src/validation/MembershipResolver.cjs +0 -129
  158. package/dist/development/src/validation/MembershipResolver.cjs.map +0 -1
  159. package/dist/development/src/validation/MembershipResolver.js +0 -129
  160. package/dist/development/src/validation/MembershipResolver.js.map +0 -1
  161. package/dist/development/src/validation/ModelValidator.cjs +0 -310
  162. package/dist/development/src/validation/ModelValidator.cjs.map +0 -1
  163. package/dist/development/src/validation/ModelValidator.js +0 -310
  164. package/dist/development/src/validation/ModelValidator.js.map +0 -1
  165. package/dist/development/src/validation/SchemaValidator.cjs +0 -29
  166. package/dist/development/src/validation/SchemaValidator.cjs.map +0 -1
  167. package/dist/development/src/validation/SchemaValidator.js +0 -29
  168. package/dist/development/src/validation/SchemaValidator.js.map +0 -1
  169. package/dist/development/src/validation/ValidationValidator.cjs +0 -121
  170. package/dist/development/src/validation/ValidationValidator.cjs.map +0 -1
  171. package/dist/development/src/validation/ValidationValidator.js +0 -121
  172. package/dist/development/src/validation/ValidationValidator.js.map +0 -1
  173. package/dist/development/src/validation/errors.cjs +0 -16
  174. package/dist/development/src/validation/errors.cjs.map +0 -1
  175. package/dist/development/src/validation/errors.js +0 -16
  176. package/dist/development/src/validation/errors.js.map +0 -1
  177. package/dist/production/index.cjs +0 -110
  178. package/dist/production/index.cjs.map +0 -1
  179. package/dist/production/index.js +0 -94
  180. package/dist/production/index.js.map +0 -1
  181. package/dist/production/src/acl/AllowAllPermissionFactory.cjs +0 -42
  182. package/dist/production/src/acl/AllowAllPermissionFactory.cjs.map +0 -1
  183. package/dist/production/src/acl/AllowAllPermissionFactory.js +0 -42
  184. package/dist/production/src/acl/AllowAllPermissionFactory.js.map +0 -1
  185. package/dist/production/src/acl/PredicateDefinitionProcessor.cjs +0 -71
  186. package/dist/production/src/acl/PredicateDefinitionProcessor.cjs.map +0 -1
  187. package/dist/production/src/acl/PredicateDefinitionProcessor.js +0 -71
  188. package/dist/production/src/acl/PredicateDefinitionProcessor.js.map +0 -1
  189. package/dist/production/src/acl/schemaUtils.cjs +0 -11
  190. package/dist/production/src/acl/schemaUtils.cjs.map +0 -1
  191. package/dist/production/src/acl/schemaUtils.js +0 -11
  192. package/dist/production/src/acl/schemaUtils.js.map +0 -1
  193. package/dist/production/src/dataUtils.cjs +0 -59
  194. package/dist/production/src/dataUtils.cjs.map +0 -1
  195. package/dist/production/src/dataUtils.js +0 -59
  196. package/dist/production/src/dataUtils.js.map +0 -1
  197. package/dist/production/src/definition-generator/AclDefinitionCodeGenerator.cjs +0 -117
  198. package/dist/production/src/definition-generator/AclDefinitionCodeGenerator.cjs.map +0 -1
  199. package/dist/production/src/definition-generator/AclDefinitionCodeGenerator.js +0 -117
  200. package/dist/production/src/definition-generator/AclDefinitionCodeGenerator.js.map +0 -1
  201. package/dist/production/src/definition-generator/DefinitionCodeGenerator.cjs +0 -218
  202. package/dist/production/src/definition-generator/DefinitionCodeGenerator.cjs.map +0 -1
  203. package/dist/production/src/definition-generator/DefinitionCodeGenerator.js +0 -218
  204. package/dist/production/src/definition-generator/DefinitionCodeGenerator.js.map +0 -1
  205. package/dist/production/src/definition-generator/DefinitionNamingConventions.cjs +0 -19
  206. package/dist/production/src/definition-generator/DefinitionNamingConventions.cjs.map +0 -1
  207. package/dist/production/src/definition-generator/DefinitionNamingConventions.js +0 -19
  208. package/dist/production/src/definition-generator/DefinitionNamingConventions.js.map +0 -1
  209. package/dist/production/src/definition-generator/TsDefinitionGenerator.cjs +0 -17
  210. package/dist/production/src/definition-generator/TsDefinitionGenerator.cjs.map +0 -1
  211. package/dist/production/src/definition-generator/TsDefinitionGenerator.js +0 -17
  212. package/dist/production/src/definition-generator/TsDefinitionGenerator.js.map +0 -1
  213. package/dist/production/src/lax/LaxSchemaConverter.cjs +0 -202
  214. package/dist/production/src/lax/LaxSchemaConverter.cjs.map +0 -1
  215. package/dist/production/src/lax/LaxSchemaConverter.js +0 -202
  216. package/dist/production/src/lax/LaxSchemaConverter.js.map +0 -1
  217. package/dist/production/src/lax/schema.cjs +0 -70
  218. package/dist/production/src/lax/schema.cjs.map +0 -1
  219. package/dist/production/src/lax/schema.js +0 -53
  220. package/dist/production/src/lax/schema.js.map +0 -1
  221. package/dist/production/src/model/NamingConventions.cjs +0 -28
  222. package/dist/production/src/model/NamingConventions.cjs.map +0 -1
  223. package/dist/production/src/model/NamingConventions.js +0 -28
  224. package/dist/production/src/model/NamingConventions.js.map +0 -1
  225. package/dist/production/src/model/modelUtils.cjs +0 -231
  226. package/dist/production/src/model/modelUtils.cjs.map +0 -1
  227. package/dist/production/src/model/modelUtils.js +0 -231
  228. package/dist/production/src/model/modelUtils.js.map +0 -1
  229. package/dist/production/src/model/resolveDefaultColumnType.cjs +0 -30
  230. package/dist/production/src/model/resolveDefaultColumnType.cjs.map +0 -1
  231. package/dist/production/src/model/resolveDefaultColumnType.js +0 -30
  232. package/dist/production/src/model/resolveDefaultColumnType.js.map +0 -1
  233. package/dist/production/src/schemaChecksum.cjs +0 -9
  234. package/dist/production/src/schemaChecksum.cjs.map +0 -1
  235. package/dist/production/src/schemaChecksum.js +0 -9
  236. package/dist/production/src/schemaChecksum.js.map +0 -1
  237. package/dist/production/src/schemaFilter.cjs +0 -24
  238. package/dist/production/src/schemaFilter.cjs.map +0 -1
  239. package/dist/production/src/schemaFilter.js +0 -24
  240. package/dist/production/src/schemaFilter.js.map +0 -1
  241. package/dist/production/src/schemaNormalizer.cjs +0 -72
  242. package/dist/production/src/schemaNormalizer.cjs.map +0 -1
  243. package/dist/production/src/schemaNormalizer.js +0 -72
  244. package/dist/production/src/schemaNormalizer.js.map +0 -1
  245. package/dist/production/src/type-schema/acl.cjs +0 -146
  246. package/dist/production/src/type-schema/acl.cjs.map +0 -1
  247. package/dist/production/src/type-schema/acl.js +0 -129
  248. package/dist/production/src/type-schema/acl.js.map +0 -1
  249. package/dist/production/src/type-schema/actions.cjs +0 -88
  250. package/dist/production/src/type-schema/actions.cjs.map +0 -1
  251. package/dist/production/src/type-schema/actions.js +0 -71
  252. package/dist/production/src/type-schema/actions.js.map +0 -1
  253. package/dist/production/src/type-schema/condition.cjs +0 -92
  254. package/dist/production/src/type-schema/condition.cjs.map +0 -1
  255. package/dist/production/src/type-schema/condition.js +0 -75
  256. package/dist/production/src/type-schema/condition.js.map +0 -1
  257. package/dist/production/src/type-schema/model.cjs +0 -219
  258. package/dist/production/src/type-schema/model.cjs.map +0 -1
  259. package/dist/production/src/type-schema/model.js +0 -203
  260. package/dist/production/src/type-schema/model.js.map +0 -1
  261. package/dist/production/src/type-schema/settings.cjs +0 -34
  262. package/dist/production/src/type-schema/settings.cjs.map +0 -1
  263. package/dist/production/src/type-schema/settings.js +0 -17
  264. package/dist/production/src/type-schema/settings.js.map +0 -1
  265. package/dist/production/src/type-schema/validation.cjs +0 -115
  266. package/dist/production/src/type-schema/validation.cjs.map +0 -1
  267. package/dist/production/src/type-schema/validation.js +0 -98
  268. package/dist/production/src/type-schema/validation.js.map +0 -1
  269. package/dist/production/src/type-schema/where.cjs +0 -44
  270. package/dist/production/src/type-schema/where.cjs.map +0 -1
  271. package/dist/production/src/type-schema/where.js +0 -27
  272. package/dist/production/src/type-schema/where.js.map +0 -1
  273. package/dist/production/src/utils/assertNever.cjs +0 -7
  274. package/dist/production/src/utils/assertNever.cjs.map +0 -1
  275. package/dist/production/src/utils/assertNever.js +0 -7
  276. package/dist/production/src/utils/assertNever.js.map +0 -1
  277. package/dist/production/src/utils/deepCompare.cjs +0 -134
  278. package/dist/production/src/utils/deepCompare.cjs.map +0 -1
  279. package/dist/production/src/utils/deepCompare.js +0 -134
  280. package/dist/production/src/utils/deepCompare.js.map +0 -1
  281. package/dist/production/src/utils/isIt.cjs +0 -7
  282. package/dist/production/src/utils/isIt.cjs.map +0 -1
  283. package/dist/production/src/utils/isIt.js +0 -7
  284. package/dist/production/src/utils/isIt.js.map +0 -1
  285. package/dist/production/src/utils/printJsValue.cjs +0 -42
  286. package/dist/production/src/utils/printJsValue.cjs.map +0 -1
  287. package/dist/production/src/utils/printJsValue.js +0 -42
  288. package/dist/production/src/utils/printJsValue.js.map +0 -1
  289. package/dist/production/src/validation/AclValidator.cjs +0 -168
  290. package/dist/production/src/validation/AclValidator.cjs.map +0 -1
  291. package/dist/production/src/validation/AclValidator.js +0 -168
  292. package/dist/production/src/validation/AclValidator.js.map +0 -1
  293. package/dist/production/src/validation/ActionsValidator.cjs +0 -127
  294. package/dist/production/src/validation/ActionsValidator.cjs.map +0 -1
  295. package/dist/production/src/validation/ActionsValidator.js +0 -110
  296. package/dist/production/src/validation/ActionsValidator.js.map +0 -1
  297. package/dist/production/src/validation/MembershipResolver.cjs +0 -129
  298. package/dist/production/src/validation/MembershipResolver.cjs.map +0 -1
  299. package/dist/production/src/validation/MembershipResolver.js +0 -129
  300. package/dist/production/src/validation/MembershipResolver.js.map +0 -1
  301. package/dist/production/src/validation/ModelValidator.cjs +0 -310
  302. package/dist/production/src/validation/ModelValidator.cjs.map +0 -1
  303. package/dist/production/src/validation/ModelValidator.js +0 -310
  304. package/dist/production/src/validation/ModelValidator.js.map +0 -1
  305. package/dist/production/src/validation/SchemaValidator.cjs +0 -29
  306. package/dist/production/src/validation/SchemaValidator.cjs.map +0 -1
  307. package/dist/production/src/validation/SchemaValidator.js +0 -29
  308. package/dist/production/src/validation/SchemaValidator.js.map +0 -1
  309. package/dist/production/src/validation/ValidationValidator.cjs +0 -121
  310. package/dist/production/src/validation/ValidationValidator.cjs.map +0 -1
  311. package/dist/production/src/validation/ValidationValidator.js +0 -121
  312. package/dist/production/src/validation/ValidationValidator.js.map +0 -1
  313. package/dist/production/src/validation/errors.cjs +0 -16
  314. package/dist/production/src/validation/errors.cjs.map +0 -1
  315. package/dist/production/src/validation/errors.js +0 -16
  316. package/dist/production/src/validation/errors.js.map +0 -1
  317. package/dist/tests/cases/unit/conditionSchema.test.d.ts +0 -2
  318. package/dist/tests/cases/unit/conditionSchema.test.d.ts.map +0 -1
  319. package/dist/tests/cases/unit/deepCompare.test.d.ts +0 -2
  320. package/dist/tests/cases/unit/deepCompare.test.d.ts.map +0 -1
  321. package/dist/tests/cases/unit/laxSchemaConverter.test.d.ts +0 -2
  322. package/dist/tests/cases/unit/laxSchemaConverter.test.d.ts.map +0 -1
  323. package/dist/tests/cases/unit/membershipResolver.test.d.ts +0 -2
  324. package/dist/tests/cases/unit/membershipResolver.test.d.ts.map +0 -1
  325. package/dist/tests/cases/unit/modelSchema.test.d.ts +0 -2
  326. package/dist/tests/cases/unit/modelSchema.test.d.ts.map +0 -1
  327. package/dist/tests/cases/unit/modelValidator.test.d.ts +0 -2
  328. package/dist/tests/cases/unit/modelValidator.test.d.ts.map +0 -1
  329. package/dist/tests/cases/unit/printJsvalue.test.d.ts +0 -2
  330. package/dist/tests/cases/unit/printJsvalue.test.d.ts.map +0 -1
  331. package/dist/tests/cases/unit/schemas/acl.d.ts +0 -12
  332. package/dist/tests/cases/unit/schemas/acl.d.ts.map +0 -1
  333. package/dist/tests/cases/unit/schemas/basic.d.ts +0 -4
  334. package/dist/tests/cases/unit/schemas/basic.d.ts.map +0 -1
  335. package/dist/tests/cases/unit/schemas/complex.d.ts +0 -12
  336. package/dist/tests/cases/unit/schemas/complex.d.ts.map +0 -1
  337. package/dist/tests/cases/unit/schemas/enum.d.ts +0 -6
  338. package/dist/tests/cases/unit/schemas/enum.d.ts.map +0 -1
  339. package/dist/tests/cases/unit/schemas/relations.d.ts +0 -14
  340. package/dist/tests/cases/unit/schemas/relations.d.ts.map +0 -1
  341. package/dist/tests/cases/unit/schemas/unique.d.ts +0 -4
  342. package/dist/tests/cases/unit/schemas/unique.d.ts.map +0 -1
  343. package/dist/tests/cases/unit/schemas/view.d.ts +0 -4
  344. package/dist/tests/cases/unit/schemas/view.d.ts.map +0 -1
  345. package/dist/tests/cases/unit/tsDefinitionGenerator.test.d.ts +0 -2
  346. package/dist/tests/cases/unit/tsDefinitionGenerator.test.d.ts.map +0 -1
  347. package/dist/tests/cases/unit/whereSchema.test.d.ts +0 -2
  348. package/dist/tests/cases/unit/whereSchema.test.d.ts.map +0 -1
  349. package/dist/tests/tsconfig.tsbuildinfo +0 -1
  350. package/dist/types/acl/AllowAllPermissionFactory.d.ts +0 -7
  351. package/dist/types/acl/AllowAllPermissionFactory.d.ts.map +0 -1
  352. package/dist/types/acl/PredicateDefinitionProcessor.d.ts +0 -32
  353. package/dist/types/acl/PredicateDefinitionProcessor.d.ts.map +0 -1
  354. package/dist/types/acl/index.d.ts +0 -4
  355. package/dist/types/acl/index.d.ts.map +0 -1
  356. package/dist/types/acl/schemaUtils.d.ts +0 -3
  357. package/dist/types/acl/schemaUtils.d.ts.map +0 -1
  358. package/dist/types/dataUtils.d.ts +0 -18
  359. package/dist/types/dataUtils.d.ts.map +0 -1
  360. package/dist/types/definition-generator/AclDefinitionCodeGenerator.d.ts +0 -19
  361. package/dist/types/definition-generator/AclDefinitionCodeGenerator.d.ts.map +0 -1
  362. package/dist/types/definition-generator/DefinitionCodeGenerator.d.ts +0 -27
  363. package/dist/types/definition-generator/DefinitionCodeGenerator.d.ts.map +0 -1
  364. package/dist/types/definition-generator/DefinitionNamingConventions.d.ts +0 -7
  365. package/dist/types/definition-generator/DefinitionNamingConventions.d.ts.map +0 -1
  366. package/dist/types/definition-generator/TsDefinitionGenerator.d.ts +0 -12
  367. package/dist/types/definition-generator/TsDefinitionGenerator.d.ts.map +0 -1
  368. package/dist/types/definition-generator/index.d.ts +0 -5
  369. package/dist/types/definition-generator/index.d.ts.map +0 -1
  370. package/dist/types/index.d.ts +0 -15
  371. package/dist/types/index.d.ts.map +0 -1
  372. package/dist/types/lax/LaxSchemaConverter.d.ts +0 -10
  373. package/dist/types/lax/LaxSchemaConverter.d.ts.map +0 -1
  374. package/dist/types/lax/index.d.ts +0 -3
  375. package/dist/types/lax/index.d.ts.map +0 -1
  376. package/dist/types/lax/schema.d.ts +0 -285
  377. package/dist/types/lax/schema.d.ts.map +0 -1
  378. package/dist/types/model/NamingConventions.d.ts +0 -17
  379. package/dist/types/model/NamingConventions.d.ts.map +0 -1
  380. package/dist/types/model/index.d.ts +0 -4
  381. package/dist/types/model/index.d.ts.map +0 -1
  382. package/dist/types/model/modelUtils.d.ts +0 -28
  383. package/dist/types/model/modelUtils.d.ts.map +0 -1
  384. package/dist/types/model/resolveDefaultColumnType.d.ts +0 -3
  385. package/dist/types/model/resolveDefaultColumnType.d.ts.map +0 -1
  386. package/dist/types/schemaChecksum.d.ts +0 -3
  387. package/dist/types/schemaChecksum.d.ts.map +0 -1
  388. package/dist/types/schemaFilter.d.ts +0 -3
  389. package/dist/types/schemaFilter.d.ts.map +0 -1
  390. package/dist/types/schemaNormalizer.d.ts +0 -3
  391. package/dist/types/schemaNormalizer.d.ts.map +0 -1
  392. package/dist/types/tsconfig.tsbuildinfo +0 -1
  393. package/dist/types/type-schema/acl.d.ts +0 -10
  394. package/dist/types/type-schema/acl.d.ts.map +0 -1
  395. package/dist/types/type-schema/actions.d.ts +0 -32
  396. package/dist/types/type-schema/actions.d.ts.map +0 -1
  397. package/dist/types/type-schema/condition.d.ts +0 -4
  398. package/dist/types/type-schema/condition.d.ts.map +0 -1
  399. package/dist/types/type-schema/index.d.ts +0 -6
  400. package/dist/types/type-schema/index.d.ts.map +0 -1
  401. package/dist/types/type-schema/model.d.ts +0 -30
  402. package/dist/types/type-schema/model.d.ts.map +0 -1
  403. package/dist/types/type-schema/settings.d.ts +0 -41
  404. package/dist/types/type-schema/settings.d.ts.map +0 -1
  405. package/dist/types/type-schema/validation.d.ts +0 -15
  406. package/dist/types/type-schema/validation.d.ts.map +0 -1
  407. package/dist/types/type-schema/where.d.ts +0 -7
  408. package/dist/types/type-schema/where.d.ts.map +0 -1
  409. package/dist/types/utils/assertNever.d.ts +0 -2
  410. package/dist/types/utils/assertNever.d.ts.map +0 -1
  411. package/dist/types/utils/deepCompare.d.ts +0 -13
  412. package/dist/types/utils/deepCompare.d.ts.map +0 -1
  413. package/dist/types/utils/index.d.ts +0 -4
  414. package/dist/types/utils/index.d.ts.map +0 -1
  415. package/dist/types/utils/isIt.d.ts +0 -2
  416. package/dist/types/utils/isIt.d.ts.map +0 -1
  417. package/dist/types/utils/printJsValue.d.ts +0 -13
  418. package/dist/types/utils/printJsValue.d.ts.map +0 -1
  419. package/dist/types/validation/AclValidator.d.ts +0 -20
  420. package/dist/types/validation/AclValidator.d.ts.map +0 -1
  421. package/dist/types/validation/ActionsValidator.d.ts +0 -13
  422. package/dist/types/validation/ActionsValidator.d.ts.map +0 -1
  423. package/dist/types/validation/MembershipResolver.d.ts +0 -37
  424. package/dist/types/validation/MembershipResolver.d.ts.map +0 -1
  425. package/dist/types/validation/ModelValidator.d.ts +0 -20
  426. package/dist/types/validation/ModelValidator.d.ts.map +0 -1
  427. package/dist/types/validation/SchemaValidator.d.ts +0 -11
  428. package/dist/types/validation/SchemaValidator.d.ts.map +0 -1
  429. package/dist/types/validation/ValidationValidator.d.ts +0 -14
  430. package/dist/types/validation/ValidationValidator.d.ts.map +0 -1
  431. package/dist/types/validation/errors.d.ts +0 -14
  432. package/dist/types/validation/errors.d.ts.map +0 -1
  433. package/dist/types/validation/index.d.ts +0 -7
  434. package/dist/types/validation/index.d.ts.map +0 -1
  435. package/tests/cases/unit/schemas/.eslintignore +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"condition.js","sources":["../../../../../packages/schema-utils/src/type-schema/condition.ts"],"sourcesContent":["import * as Typesafe from '@contember/typesafe'\nimport { Json, Type } from '@contember/typesafe'\nimport { Input, Model, Value } from '@contember/schema'\n\nexport const conditionSchema = <T extends Value.FieldValue>(type?: Model.ColumnType): Type<Input.Condition<T>> => {\n\tconst metadata = type ? resolveColumnMetadata(type) : { type: Typesafe.scalar }\n\treturn conditionSchemaInner(metadata)\n}\n\ninterface ResolvedColumnMetadata<T extends Json> {\n\ttype: Typesafe.Type<T>\n\tisJson?: boolean\n\tisString?: boolean\n}\n\nconst conditionSchemaInner = <T extends Json>(metadata: ResolvedColumnMetadata<T>): Type<Input.Condition<T>> => {\n\treturn (input: unknown, path: PropertyKey[] = []): Input.Condition<T> => {\n\t\tconst self = conditionSchemaInner(metadata)\n\t\tconst inner = metadata.type\n\t\tconst objectSchema = Typesafe.noExtraProps(Typesafe.partial({\n\t\t\tand: Typesafe.array(self),\n\t\t\tor: Typesafe.array(self),\n\t\t\tnot: self,\n\t\t\tnull: Typesafe.boolean,\n\t\t\tisNull: Typesafe.boolean,\n\t\t\tnever: Typesafe.true_,\n\t\t\talways: Typesafe.true_,\n\t\t\t...(metadata.isJson !== true ? {\n\t\t\t\teq: inner,\n\t\t\t\tnotEq: inner,\n\t\t\t\tin: Typesafe.array(inner),\n\t\t\t\tnotIn: Typesafe.array(inner),\n\t\t\t\tlt: inner,\n\t\t\t\tlte: inner,\n\t\t\t\tgt: inner,\n\t\t\t\tgte: inner,\n\t\t\t} : {\n\t\t\t\t// For JSON columns, allow includes operator\n\t\t\t\tincludes: inner,\n\t\t\t}),\n\t\t\t...(metadata.isString !== false ? {\n\t\t\t\tcontains: Typesafe.string,\n\t\t\t\tstartsWith: Typesafe.string,\n\t\t\t\tendsWith: Typesafe.string,\n\t\t\t\tcontainsCI: Typesafe.string,\n\t\t\t\tstartsWithCI: Typesafe.string,\n\t\t\t\tendsWithCI: Typesafe.string,\n\t\t\t} : {}),\n\t\t}))\n\t\treturn objectSchema(input, path) as Input.Condition<T>\n\t}\n}\n\nconst resolveColumnMetadata = (type: Model.ColumnType): ResolvedColumnMetadata<any> => {\n\tconst resolvedType = Typesafe.nullable(resolveColumnTypeSchema(type))\n\treturn {\n\t\ttype: resolvedType,\n\t\tisJson: type === Model.ColumnType.Json,\n\t\tisString: type === Model.ColumnType.String,\n\n\t}\n}\n\n\nconst resolveColumnTypeSchema = (type: Model.ColumnType) => {\n\tswitch (type) {\n\t\tcase Model.ColumnType.Bool:\n\t\t\treturn Typesafe.boolean\n\n\t\t// todo: validate format of string-like inputs uuid, date, enum\n\t\tcase Model.ColumnType.Date:\n\t\tcase Model.ColumnType.DateTime:\n\t\tcase Model.ColumnType.Time:\n\t\tcase Model.ColumnType.Uuid:\n\t\tcase Model.ColumnType.Enum:\n\t\tcase Model.ColumnType.String:\n\t\t\treturn Typesafe.string\n\t\tcase Model.ColumnType.Double:\n\t\t\treturn Typesafe.number\n\t\tcase Model.ColumnType.Int:\n\t\t\treturn Typesafe.integer\n\t\tcase Model.ColumnType.Json:\n\t\t\treturn Typesafe.anyJson\n\t}\n}\n"],"names":[],"mappings":";;AAIa,MAAA,kBAAkB,CAA6B,SAAsD;AAC3G,QAAA,WAAW,OAAO,sBAAsB,IAAI,IAAI,EAAE,MAAM,SAAS,OAAO;AAC9E,SAAO,qBAAqB,QAAQ;AACrC;AAQA,MAAM,uBAAuB,CAAiB,aAAkE;AAC/G,SAAO,CAAC,OAAgB,OAAsB,OAA2B;AAClE,UAAA,OAAO,qBAAqB,QAAQ;AAC1C,UAAM,QAAQ,SAAS;AACvB,UAAM,eAAe,SAAS,aAAa,SAAS,QAAQ;AAAA,MAC3D,KAAK,SAAS,MAAM,IAAI;AAAA,MACxB,IAAI,SAAS,MAAM,IAAI;AAAA,MACvB,KAAK;AAAA,MACL,MAAM,SAAS;AAAA,MACf,QAAQ,SAAS;AAAA,MACjB,OAAO,SAAS;AAAA,MAChB,QAAQ,SAAS;AAAA,MACjB,GAAI,SAAS,WAAW,OAAO;AAAA,QAC9B,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,IAAI,SAAS,MAAM,KAAK;AAAA,QACxB,OAAO,SAAS,MAAM,KAAK;AAAA,QAC3B,IAAI;AAAA,QACJ,KAAK;AAAA,QACL,IAAI;AAAA,QACJ,KAAK;AAAA,MAAA,IACF;AAAA;AAAA,QAEH,UAAU;AAAA,MACX;AAAA,MACA,GAAI,SAAS,aAAa,QAAQ;AAAA,QACjC,UAAU,SAAS;AAAA,QACnB,YAAY,SAAS;AAAA,QACrB,UAAU,SAAS;AAAA,QACnB,YAAY,SAAS;AAAA,QACrB,cAAc,SAAS;AAAA,QACvB,YAAY,SAAS;AAAA,MAAA,IAClB,CAAA;AAAA,IAAC,CACL,CAAC;AACK,WAAA,aAAa,OAAO,IAAI;AAAA,EAChC;AACD;AAEA,MAAM,wBAAwB,CAAC,SAAwD;AACtF,QAAM,eAAe,SAAS,SAAS,wBAAwB,IAAI,CAAC;AAC7D,SAAA;AAAA,IACN,MAAM;AAAA,IACN,QAAQ,SAAS,MAAM,WAAW;AAAA,IAClC,UAAU,SAAS,MAAM,WAAW;AAAA,EAErC;AACD;AAGA,MAAM,0BAA0B,CAAC,SAA2B;AAC3D,UAAQ,MAAM;AAAA,IACb,KAAK,MAAM,WAAW;AACrB,aAAO,SAAS;AAAA;AAAA,IAGjB,KAAK,MAAM,WAAW;AAAA,IACtB,KAAK,MAAM,WAAW;AAAA,IACtB,KAAK,MAAM,WAAW;AAAA,IACtB,KAAK,MAAM,WAAW;AAAA,IACtB,KAAK,MAAM,WAAW;AAAA,IACtB,KAAK,MAAM,WAAW;AACrB,aAAO,SAAS;AAAA,IACjB,KAAK,MAAM,WAAW;AACrB,aAAO,SAAS;AAAA,IACjB,KAAK,MAAM,WAAW;AACrB,aAAO,SAAS;AAAA,IACjB,KAAK,MAAM,WAAW;AACrB,aAAO,SAAS;AAAA,EAAA;AAEnB;"}
@@ -1,219 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const Typesafe = require("@contember/typesafe");
4
- const schema = require("@contember/schema");
5
- function _interopNamespaceDefault(e) {
6
- const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
7
- if (e) {
8
- for (const k in e) {
9
- if (k !== "default") {
10
- const d = Object.getOwnPropertyDescriptor(e, k);
11
- Object.defineProperty(n, k, d.get ? d : {
12
- enumerable: true,
13
- get: () => e[k]
14
- });
15
- }
16
- }
17
- }
18
- n.default = e;
19
- return Object.freeze(n);
20
- }
21
- const Typesafe__namespace = /* @__PURE__ */ _interopNamespaceDefault(Typesafe);
22
- const orderBySchema = Typesafe__namespace.array(Typesafe__namespace.object({
23
- path: Typesafe__namespace.array(Typesafe__namespace.string),
24
- direction: Typesafe__namespace.enumeration(
25
- schema.Model.OrderDirection.asc,
26
- schema.Model.OrderDirection.desc,
27
- schema.Model.OrderDirection.ascNullsFirst,
28
- schema.Model.OrderDirection.descNullsLast
29
- )
30
- }));
31
- const joiningColumnSchema = Typesafe__namespace.object({
32
- columnName: Typesafe__namespace.string,
33
- onDelete: Typesafe__namespace.enumeration(schema.Model.OnDelete.cascade, schema.Model.OnDelete.restrict, schema.Model.OnDelete.setNull)
34
- });
35
- const oneHasManyRelationSchema = Typesafe__namespace.intersection(
36
- Typesafe__namespace.object({
37
- type: Typesafe__namespace.literal(schema.Model.RelationType.OneHasMany),
38
- name: Typesafe__namespace.string,
39
- target: Typesafe__namespace.string,
40
- ownedBy: Typesafe__namespace.string
41
- }),
42
- Typesafe__namespace.partial({
43
- orderBy: orderBySchema
44
- })
45
- );
46
- const manyHasOneRelationSchema = Typesafe__namespace.intersection(
47
- Typesafe__namespace.object({
48
- type: Typesafe__namespace.literal(schema.Model.RelationType.ManyHasOne),
49
- name: Typesafe__namespace.string,
50
- target: Typesafe__namespace.string,
51
- joiningColumn: joiningColumnSchema,
52
- nullable: Typesafe__namespace.boolean
53
- }),
54
- Typesafe__namespace.partial({
55
- inversedBy: Typesafe__namespace.string
56
- })
57
- );
58
- const oneHasOneInverseRelationSchema = Typesafe__namespace.object({
59
- type: Typesafe__namespace.literal(schema.Model.RelationType.OneHasOne),
60
- name: Typesafe__namespace.string,
61
- target: Typesafe__namespace.string,
62
- ownedBy: Typesafe__namespace.string,
63
- nullable: Typesafe__namespace.boolean
64
- });
65
- const oneHasOneOwningRelationSchema = Typesafe__namespace.intersection(
66
- Typesafe__namespace.object({
67
- type: Typesafe__namespace.literal(schema.Model.RelationType.OneHasOne),
68
- name: Typesafe__namespace.string,
69
- target: Typesafe__namespace.string,
70
- joiningColumn: joiningColumnSchema,
71
- nullable: Typesafe__namespace.boolean
72
- }),
73
- Typesafe__namespace.partial({
74
- inversedBy: Typesafe__namespace.string,
75
- orphanRemoval: Typesafe__namespace.literal(true)
76
- })
77
- );
78
- const eventLogSchema = Typesafe__namespace.coalesce(Typesafe__namespace.object({
79
- enabled: Typesafe__namespace.boolean
80
- }), { enabled: true });
81
- const manyHasManyOwningRelationSchema = Typesafe__namespace.intersection(
82
- Typesafe__namespace.object({
83
- type: Typesafe__namespace.literal(schema.Model.RelationType.ManyHasMany),
84
- name: Typesafe__namespace.string,
85
- target: Typesafe__namespace.string,
86
- joiningTable: Typesafe__namespace.object({
87
- tableName: Typesafe__namespace.string,
88
- joiningColumn: joiningColumnSchema,
89
- inverseJoiningColumn: joiningColumnSchema,
90
- eventLog: eventLogSchema
91
- })
92
- }),
93
- Typesafe__namespace.partial({
94
- inversedBy: Typesafe__namespace.string,
95
- orderBy: orderBySchema
96
- })
97
- );
98
- const manyHasManyInverseRelationSchema = Typesafe__namespace.intersection(
99
- Typesafe__namespace.object({
100
- type: Typesafe__namespace.literal(schema.Model.RelationType.ManyHasMany),
101
- name: Typesafe__namespace.string,
102
- target: Typesafe__namespace.string,
103
- ownedBy: Typesafe__namespace.string
104
- }),
105
- Typesafe__namespace.partial({
106
- orderBy: orderBySchema
107
- })
108
- );
109
- const intersectionSchema = Typesafe__namespace.intersection(
110
- Typesafe__namespace.object({
111
- precedence: Typesafe__namespace.enumeration("ALWAYS", "BY DEFAULT")
112
- }),
113
- Typesafe__namespace.partial({
114
- start: Typesafe__namespace.number
115
- })
116
- );
117
- const columnSchema = Typesafe__namespace.intersection(
118
- Typesafe__namespace.object({
119
- name: Typesafe__namespace.string,
120
- columnName: Typesafe__namespace.string,
121
- columnType: Typesafe__namespace.transform(Typesafe__namespace.string, (it, raw, path) => {
122
- if (!it.replaceAll(/\s+/g, "").match(/^[\w_]+(?:\(\w+(?:,\w+)*\))?\w*(?:"[^"]+")?(\[])*$/)) {
123
- throw Typesafe.ParseError.format(it, path, "valid column type");
124
- }
125
- return it;
126
- }),
127
- nullable: Typesafe__namespace.boolean,
128
- type: Typesafe__namespace.enumeration(...Object.values(schema.Model.ColumnType))
129
- }),
130
- Typesafe__namespace.partial({
131
- typeAlias: Typesafe__namespace.string,
132
- list: Typesafe__namespace.boolean,
133
- default: Typesafe__namespace.anyJson,
134
- sequence: intersectionSchema,
135
- collation: Typesafe__namespace.string
136
- })
137
- );
138
- const fieldSchema = Typesafe__namespace.partiallyDiscriminatedUnion(
139
- "type",
140
- oneHasOneInverseRelationSchema,
141
- oneHasOneOwningRelationSchema,
142
- oneHasManyRelationSchema,
143
- manyHasOneRelationSchema,
144
- manyHasManyInverseRelationSchema,
145
- manyHasManyOwningRelationSchema,
146
- columnSchema
147
- );
148
- const viewSchemaInner = Typesafe__namespace.intersection(
149
- Typesafe__namespace.object({
150
- sql: Typesafe__namespace.string
151
- }),
152
- Typesafe__namespace.partial({
153
- dependencies: Typesafe__namespace.array(Typesafe__namespace.string),
154
- idSource: Typesafe__namespace.array(Typesafe__namespace.string),
155
- materialized: Typesafe__namespace.boolean
156
- })
157
- );
158
- const viewSchema = viewSchemaInner;
159
- const indexSchemaBase = Typesafe__namespace.intersection(
160
- Typesafe__namespace.object({
161
- fields: Typesafe__namespace.array(Typesafe__namespace.string)
162
- }),
163
- Typesafe__namespace.partial({
164
- name: Typesafe__namespace.string,
165
- method: Typesafe__namespace.enumeration("btree", "gin", "gist", "hash", "brin", "spgist")
166
- })
167
- );
168
- const indexesSchema = Typesafe__namespace.coalesce(
169
- Typesafe__namespace.preprocess(
170
- Typesafe__namespace.array(indexSchemaBase),
171
- (it) => it?.constructor === Object ? Object.values(it) : it
172
- ),
173
- []
174
- );
175
- const uniqueConstraint = Typesafe__namespace.intersection(
176
- Typesafe__namespace.object({
177
- fields: Typesafe__namespace.array(Typesafe__namespace.string)
178
- }),
179
- Typesafe__namespace.partial({
180
- timing: Typesafe__namespace.enumeration("deferrable", "deferred"),
181
- name: Typesafe__namespace.string,
182
- index: Typesafe__namespace.literal(false)
183
- })
184
- );
185
- const uniqueIndex = Typesafe__namespace.intersection(
186
- Typesafe__namespace.object({
187
- fields: Typesafe__namespace.array(Typesafe__namespace.string),
188
- index: Typesafe__namespace.literal(true)
189
- }),
190
- Typesafe__namespace.partial({
191
- nulls: Typesafe__namespace.enumeration("distinct", "not distinct"),
192
- method: Typesafe__namespace.enumeration("btree", "gin", "gist", "hash", "brin", "spgist")
193
- })
194
- );
195
- const entitySchema = Typesafe__namespace.intersection(
196
- Typesafe__namespace.object({
197
- name: Typesafe__namespace.string,
198
- primary: Typesafe__namespace.string,
199
- primaryColumn: Typesafe__namespace.string,
200
- tableName: Typesafe__namespace.string,
201
- fields: Typesafe__namespace.record(Typesafe__namespace.string, fieldSchema),
202
- unique: Typesafe__namespace.preprocess(
203
- Typesafe__namespace.array(Typesafe__namespace.union(uniqueConstraint, uniqueIndex)),
204
- (it) => it?.constructor === Object ? Object.values(it) : it
205
- ),
206
- indexes: indexesSchema,
207
- eventLog: eventLogSchema
208
- }),
209
- Typesafe__namespace.partial({
210
- view: viewSchema,
211
- orderBy: orderBySchema
212
- })
213
- );
214
- const modelSchema = Typesafe__namespace.object({
215
- entities: Typesafe__namespace.record(Typesafe__namespace.string, entitySchema),
216
- enums: Typesafe__namespace.record(Typesafe__namespace.string, Typesafe__namespace.array(Typesafe__namespace.string))
217
- });
218
- exports.modelSchema = modelSchema;
219
- //# sourceMappingURL=model.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model.cjs","sources":["../../../../../packages/schema-utils/src/type-schema/model.ts"],"sourcesContent":["import * as Typesafe from '@contember/typesafe'\nimport { Model } from '@contember/schema'\nimport { ParseError } from '@contember/typesafe'\n\nconst orderBySchema = Typesafe.array(Typesafe.object({\n\tpath: Typesafe.array(Typesafe.string),\n\tdirection: Typesafe.enumeration<Model.OrderDirection>(\n\t\tModel.OrderDirection.asc,\n\t\tModel.OrderDirection.desc,\n\t\tModel.OrderDirection.ascNullsFirst,\n\t\tModel.OrderDirection.descNullsLast,\n\t),\n}))\nconst joiningColumnSchema = Typesafe.object({\n\tcolumnName: Typesafe.string,\n\tonDelete: Typesafe.enumeration<Model.OnDelete>(Model.OnDelete.cascade, Model.OnDelete.restrict, Model.OnDelete.setNull),\n})\nconst oneHasManyRelationSchema = Typesafe.intersection(\n\tTypesafe.object({\n\t\ttype: Typesafe.literal(Model.RelationType.OneHasMany),\n\t\tname: Typesafe.string,\n\t\ttarget: Typesafe.string,\n\t\townedBy: Typesafe.string,\n\t}),\n\tTypesafe.partial({\n\t\torderBy: orderBySchema,\n\t}),\n)\nconst oneHasManyRelationSchemaCheck: Typesafe.Equals<Model.OneHasManyRelation, ReturnType<typeof oneHasManyRelationSchema>> = true\n\nconst manyHasOneRelationSchema = Typesafe.intersection(\n\tTypesafe.object({\n\t\ttype: Typesafe.literal(Model.RelationType.ManyHasOne),\n\t\tname: Typesafe.string,\n\t\ttarget: Typesafe.string,\n\t\tjoiningColumn: joiningColumnSchema,\n\t\tnullable: Typesafe.boolean,\n\t}),\n\tTypesafe.partial({\n\t\tinversedBy: Typesafe.string,\n\t}),\n)\n\nconst manyHasOneRelationSchemaCheck: Typesafe.Equals<Model.ManyHasOneRelation, ReturnType<typeof manyHasOneRelationSchema>> = true\n\nconst oneHasOneInverseRelationSchema = Typesafe.object({\n\ttype: Typesafe.literal(Model.RelationType.OneHasOne),\n\tname: Typesafe.string,\n\ttarget: Typesafe.string,\n\townedBy: Typesafe.string,\n\tnullable: Typesafe.boolean,\n})\nconst oneHasOneInverseRelationSchemaCheck: Typesafe.Equals<Model.OneHasOneInverseRelation, ReturnType<typeof oneHasOneInverseRelationSchema>> = true\n\n\nconst oneHasOneOwningRelationSchema = Typesafe.intersection(\n\tTypesafe.object({\n\t\ttype: Typesafe.literal(Model.RelationType.OneHasOne),\n\t\tname: Typesafe.string,\n\t\ttarget: Typesafe.string,\n\t\tjoiningColumn: joiningColumnSchema,\n\t\tnullable: Typesafe.boolean,\n\t}),\n\tTypesafe.partial({\n\t\tinversedBy: Typesafe.string,\n\t\torphanRemoval: Typesafe.literal(true),\n\t}),\n)\n\nconst oneHasOneOwningRelationSchemaCheck: Typesafe.Equals<Model.OneHasOneOwningRelation, ReturnType<typeof oneHasOneOwningRelationSchema>> = true\n\nconst eventLogSchema = Typesafe.coalesce(Typesafe.object({\n\tenabled: Typesafe.boolean,\n}), { enabled: true }) as Typesafe.Type<{ readonly enabled: boolean }>\n\nconst manyHasManyOwningRelationSchema = Typesafe.intersection(\n\tTypesafe.object({\n\t\ttype: Typesafe.literal(Model.RelationType.ManyHasMany),\n\t\tname: Typesafe.string,\n\t\ttarget: Typesafe.string,\n\t\tjoiningTable: Typesafe.object({\n\t\t\ttableName: Typesafe.string,\n\t\t\tjoiningColumn: joiningColumnSchema,\n\t\t\tinverseJoiningColumn: joiningColumnSchema,\n\t\t\teventLog: eventLogSchema,\n\t\t}),\n\t}),\n\tTypesafe.partial({\n\t\tinversedBy: Typesafe.string,\n\t\torderBy: orderBySchema,\n\t}),\n)\nconst manyHasManyOwningRelationSchemaCheck: Typesafe.Equals<Model.ManyHasManyOwningRelation, ReturnType<typeof manyHasManyOwningRelationSchema>> = true\n\nconst manyHasManyInverseRelationSchema = Typesafe.intersection(\n\tTypesafe.object({\n\t\ttype: Typesafe.literal(Model.RelationType.ManyHasMany),\n\t\tname: Typesafe.string,\n\t\ttarget: Typesafe.string,\n\t\townedBy: Typesafe.string,\n\t}),\n\tTypesafe.partial({\n\t\torderBy: orderBySchema,\n\t}),\n)\nconst manyHasManyInverseRelationSchemaCheck: Typesafe.Equals<Model.ManyHasManyInverseRelation, ReturnType<typeof manyHasManyInverseRelationSchema>> = true\n\nconst intersectionSchema = Typesafe.intersection(\n\tTypesafe.object({\n\t\tprecedence: Typesafe.enumeration('ALWAYS', 'BY DEFAULT'),\n\t}),\n\tTypesafe.partial({\n\t\tstart: Typesafe.number,\n\t}),\n)\nconst intersectionSchemaCheck: Typesafe.Equals<Model.AnyColumn['sequence'], ReturnType<typeof intersectionSchema>> = true\n\nconst columnSchema = Typesafe.intersection(\n\tTypesafe.object({\n\t\tname: Typesafe.string,\n\t\tcolumnName: Typesafe.string,\n\t\tcolumnType: Typesafe.transform(Typesafe.string, (it, raw, path) => {\n\t\t\tif (!it.replaceAll(/\\s+/g, '').match(/^[\\w_]+(?:\\(\\w+(?:,\\w+)*\\))?\\w*(?:\"[^\"]+\")?(\\[])*$/)) {\n\t\t\t\tthrow ParseError.format(it, path, 'valid column type')\n\t\t\t}\n\t\t\treturn it\n\t\t}),\n\t\tnullable: Typesafe.boolean,\n\t\ttype: Typesafe.enumeration<Model.ColumnType>(...Object.values(Model.ColumnType)),\n\t}),\n\tTypesafe.partial({\n\t\ttypeAlias: Typesafe.string,\n\t\tlist: Typesafe.boolean,\n\t\tdefault: Typesafe.anyJson,\n\t\tsequence: intersectionSchema as Typesafe.Type<Model.AnyColumn['sequence']>,\n\t\tcollation: Typesafe.string as Typesafe.Type<Model.AnyColumn['collation']>,\n\t}),\n)\nconst columnSchemaCheck: Typesafe.Equals<Model.AnyColumn, ReturnType<typeof columnSchema>> = true\n\nconst fieldSchema: Typesafe.Type<Model.AnyField> = Typesafe.partiallyDiscriminatedUnion(\n\t'type',\n\toneHasOneInverseRelationSchema,\n\toneHasOneOwningRelationSchema,\n\toneHasManyRelationSchema,\n\tmanyHasOneRelationSchema,\n\tmanyHasManyInverseRelationSchema,\n\tmanyHasManyOwningRelationSchema,\n\tcolumnSchema,\n)\n\nconst viewSchemaInner = Typesafe.intersection(\n\tTypesafe.object({\n\t\tsql: Typesafe.string,\n\t}),\n\tTypesafe.partial({\n\t\tdependencies: Typesafe.array(Typesafe.string),\n\t\tidSource: Typesafe.array(Typesafe.string),\n\t\tmaterialized: Typesafe.boolean,\n\t}),\n)\nconst viewSchemaCheck: Typesafe.Equals<Model.View, ReturnType<typeof viewSchemaInner>> = true\nconst viewSchema: Typesafe.Type<Model.View> = viewSchemaInner\n\n\nconst indexSchemaBase = Typesafe.intersection(\n\tTypesafe.object({\n\t\tfields: Typesafe.array(Typesafe.string),\n\t}),\n\tTypesafe.partial({\n\t\tname: Typesafe.string,\n\t\tmethod: Typesafe.enumeration('btree', 'gin', 'gist', 'hash', 'brin', 'spgist'),\n\t}),\n)\nconst indexCheck: Typesafe.Equals<Model.Index, ReturnType<typeof indexSchemaBase>> = true\n\nconst indexesSchema = Typesafe.coalesce<Model.Indexes, Model.Indexes>(\n\tTypesafe.preprocess(\n\t\tTypesafe.array(indexSchemaBase),\n\t\tit => it?.constructor === Object ? Object.values(it) : it,\n\t),\n\t[],\n)\n\nconst uniqueConstraint = Typesafe.intersection(\n\tTypesafe.object({\n\t\tfields: Typesafe.array(Typesafe.string),\n\t}),\n\tTypesafe.partial({\n\t\ttiming: Typesafe.enumeration('deferrable', 'deferred'),\n\t\tname: Typesafe.string,\n\t\tindex: Typesafe.literal(false),\n\t}),\n)\nconst uniqueIndex = Typesafe.intersection(\n\tTypesafe.object({\n\t\tfields: Typesafe.array(Typesafe.string),\n\t\tindex: Typesafe.literal(true),\n\t}),\n\tTypesafe.partial({\n\t\tnulls: Typesafe.enumeration('distinct', 'not distinct'),\n\t\tmethod: Typesafe.enumeration('btree', 'gin', 'gist', 'hash', 'brin', 'spgist'),\n\t}),\n)\nconst uniqueConstraintCheck: Typesafe.Equals<Model.UniqueConstraint, ReturnType<typeof uniqueConstraint>> = true\nconst uniqueIndexCheck: Typesafe.Equals<Model.UniqueIndex, ReturnType<typeof uniqueIndex>> = true\n\nconst entitySchema = Typesafe.intersection(\n\tTypesafe.object({\n\t\tname: Typesafe.string,\n\t\tprimary: Typesafe.string,\n\t\tprimaryColumn: Typesafe.string,\n\t\ttableName: Typesafe.string,\n\t\tfields: Typesafe.record(Typesafe.string, fieldSchema),\n\t\tunique: Typesafe.preprocess<Model.Uniques>(\n\t\t\tTypesafe.array(Typesafe.union(uniqueConstraint, uniqueIndex)),\n\t\t\tit => it?.constructor === Object ? Object.values(it) : it,\n\t\t),\n\t\tindexes: indexesSchema,\n\t\teventLog: eventLogSchema,\n\t}),\n\tTypesafe.partial({\n\t\tview: viewSchema,\n\t\torderBy: orderBySchema,\n\t}),\n)\n\nconst entitySchemaCheck: Typesafe.Equals<Model.Entity, ReturnType<typeof entitySchema>> = true\n\nexport const modelSchema = Typesafe.object({\n\tentities: Typesafe.record(Typesafe.string, entitySchema),\n\tenums: Typesafe.record(Typesafe.string, Typesafe.array(Typesafe.string)),\n})\n\n"],"names":["Typesafe","Model","ParseError"],"mappings":"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"}
@@ -1,203 +0,0 @@
1
- import * as Typesafe from "@contember/typesafe";
2
- import { ParseError } from "@contember/typesafe";
3
- import { Model } from "@contember/schema";
4
- const orderBySchema = Typesafe.array(Typesafe.object({
5
- path: Typesafe.array(Typesafe.string),
6
- direction: Typesafe.enumeration(
7
- Model.OrderDirection.asc,
8
- Model.OrderDirection.desc,
9
- Model.OrderDirection.ascNullsFirst,
10
- Model.OrderDirection.descNullsLast
11
- )
12
- }));
13
- const joiningColumnSchema = Typesafe.object({
14
- columnName: Typesafe.string,
15
- onDelete: Typesafe.enumeration(Model.OnDelete.cascade, Model.OnDelete.restrict, Model.OnDelete.setNull)
16
- });
17
- const oneHasManyRelationSchema = Typesafe.intersection(
18
- Typesafe.object({
19
- type: Typesafe.literal(Model.RelationType.OneHasMany),
20
- name: Typesafe.string,
21
- target: Typesafe.string,
22
- ownedBy: Typesafe.string
23
- }),
24
- Typesafe.partial({
25
- orderBy: orderBySchema
26
- })
27
- );
28
- const manyHasOneRelationSchema = Typesafe.intersection(
29
- Typesafe.object({
30
- type: Typesafe.literal(Model.RelationType.ManyHasOne),
31
- name: Typesafe.string,
32
- target: Typesafe.string,
33
- joiningColumn: joiningColumnSchema,
34
- nullable: Typesafe.boolean
35
- }),
36
- Typesafe.partial({
37
- inversedBy: Typesafe.string
38
- })
39
- );
40
- const oneHasOneInverseRelationSchema = Typesafe.object({
41
- type: Typesafe.literal(Model.RelationType.OneHasOne),
42
- name: Typesafe.string,
43
- target: Typesafe.string,
44
- ownedBy: Typesafe.string,
45
- nullable: Typesafe.boolean
46
- });
47
- const oneHasOneOwningRelationSchema = Typesafe.intersection(
48
- Typesafe.object({
49
- type: Typesafe.literal(Model.RelationType.OneHasOne),
50
- name: Typesafe.string,
51
- target: Typesafe.string,
52
- joiningColumn: joiningColumnSchema,
53
- nullable: Typesafe.boolean
54
- }),
55
- Typesafe.partial({
56
- inversedBy: Typesafe.string,
57
- orphanRemoval: Typesafe.literal(true)
58
- })
59
- );
60
- const eventLogSchema = Typesafe.coalesce(Typesafe.object({
61
- enabled: Typesafe.boolean
62
- }), { enabled: true });
63
- const manyHasManyOwningRelationSchema = Typesafe.intersection(
64
- Typesafe.object({
65
- type: Typesafe.literal(Model.RelationType.ManyHasMany),
66
- name: Typesafe.string,
67
- target: Typesafe.string,
68
- joiningTable: Typesafe.object({
69
- tableName: Typesafe.string,
70
- joiningColumn: joiningColumnSchema,
71
- inverseJoiningColumn: joiningColumnSchema,
72
- eventLog: eventLogSchema
73
- })
74
- }),
75
- Typesafe.partial({
76
- inversedBy: Typesafe.string,
77
- orderBy: orderBySchema
78
- })
79
- );
80
- const manyHasManyInverseRelationSchema = Typesafe.intersection(
81
- Typesafe.object({
82
- type: Typesafe.literal(Model.RelationType.ManyHasMany),
83
- name: Typesafe.string,
84
- target: Typesafe.string,
85
- ownedBy: Typesafe.string
86
- }),
87
- Typesafe.partial({
88
- orderBy: orderBySchema
89
- })
90
- );
91
- const intersectionSchema = Typesafe.intersection(
92
- Typesafe.object({
93
- precedence: Typesafe.enumeration("ALWAYS", "BY DEFAULT")
94
- }),
95
- Typesafe.partial({
96
- start: Typesafe.number
97
- })
98
- );
99
- const columnSchema = Typesafe.intersection(
100
- Typesafe.object({
101
- name: Typesafe.string,
102
- columnName: Typesafe.string,
103
- columnType: Typesafe.transform(Typesafe.string, (it, raw, path) => {
104
- if (!it.replaceAll(/\s+/g, "").match(/^[\w_]+(?:\(\w+(?:,\w+)*\))?\w*(?:"[^"]+")?(\[])*$/)) {
105
- throw ParseError.format(it, path, "valid column type");
106
- }
107
- return it;
108
- }),
109
- nullable: Typesafe.boolean,
110
- type: Typesafe.enumeration(...Object.values(Model.ColumnType))
111
- }),
112
- Typesafe.partial({
113
- typeAlias: Typesafe.string,
114
- list: Typesafe.boolean,
115
- default: Typesafe.anyJson,
116
- sequence: intersectionSchema,
117
- collation: Typesafe.string
118
- })
119
- );
120
- const fieldSchema = Typesafe.partiallyDiscriminatedUnion(
121
- "type",
122
- oneHasOneInverseRelationSchema,
123
- oneHasOneOwningRelationSchema,
124
- oneHasManyRelationSchema,
125
- manyHasOneRelationSchema,
126
- manyHasManyInverseRelationSchema,
127
- manyHasManyOwningRelationSchema,
128
- columnSchema
129
- );
130
- const viewSchemaInner = Typesafe.intersection(
131
- Typesafe.object({
132
- sql: Typesafe.string
133
- }),
134
- Typesafe.partial({
135
- dependencies: Typesafe.array(Typesafe.string),
136
- idSource: Typesafe.array(Typesafe.string),
137
- materialized: Typesafe.boolean
138
- })
139
- );
140
- const viewSchema = viewSchemaInner;
141
- const indexSchemaBase = Typesafe.intersection(
142
- Typesafe.object({
143
- fields: Typesafe.array(Typesafe.string)
144
- }),
145
- Typesafe.partial({
146
- name: Typesafe.string,
147
- method: Typesafe.enumeration("btree", "gin", "gist", "hash", "brin", "spgist")
148
- })
149
- );
150
- const indexesSchema = Typesafe.coalesce(
151
- Typesafe.preprocess(
152
- Typesafe.array(indexSchemaBase),
153
- (it) => it?.constructor === Object ? Object.values(it) : it
154
- ),
155
- []
156
- );
157
- const uniqueConstraint = Typesafe.intersection(
158
- Typesafe.object({
159
- fields: Typesafe.array(Typesafe.string)
160
- }),
161
- Typesafe.partial({
162
- timing: Typesafe.enumeration("deferrable", "deferred"),
163
- name: Typesafe.string,
164
- index: Typesafe.literal(false)
165
- })
166
- );
167
- const uniqueIndex = Typesafe.intersection(
168
- Typesafe.object({
169
- fields: Typesafe.array(Typesafe.string),
170
- index: Typesafe.literal(true)
171
- }),
172
- Typesafe.partial({
173
- nulls: Typesafe.enumeration("distinct", "not distinct"),
174
- method: Typesafe.enumeration("btree", "gin", "gist", "hash", "brin", "spgist")
175
- })
176
- );
177
- const entitySchema = Typesafe.intersection(
178
- Typesafe.object({
179
- name: Typesafe.string,
180
- primary: Typesafe.string,
181
- primaryColumn: Typesafe.string,
182
- tableName: Typesafe.string,
183
- fields: Typesafe.record(Typesafe.string, fieldSchema),
184
- unique: Typesafe.preprocess(
185
- Typesafe.array(Typesafe.union(uniqueConstraint, uniqueIndex)),
186
- (it) => it?.constructor === Object ? Object.values(it) : it
187
- ),
188
- indexes: indexesSchema,
189
- eventLog: eventLogSchema
190
- }),
191
- Typesafe.partial({
192
- view: viewSchema,
193
- orderBy: orderBySchema
194
- })
195
- );
196
- const modelSchema = Typesafe.object({
197
- entities: Typesafe.record(Typesafe.string, entitySchema),
198
- enums: Typesafe.record(Typesafe.string, Typesafe.array(Typesafe.string))
199
- });
200
- export {
201
- modelSchema
202
- };
203
- //# sourceMappingURL=model.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model.js","sources":["../../../../../packages/schema-utils/src/type-schema/model.ts"],"sourcesContent":["import * as Typesafe from '@contember/typesafe'\nimport { Model } from '@contember/schema'\nimport { ParseError } from '@contember/typesafe'\n\nconst orderBySchema = Typesafe.array(Typesafe.object({\n\tpath: Typesafe.array(Typesafe.string),\n\tdirection: Typesafe.enumeration<Model.OrderDirection>(\n\t\tModel.OrderDirection.asc,\n\t\tModel.OrderDirection.desc,\n\t\tModel.OrderDirection.ascNullsFirst,\n\t\tModel.OrderDirection.descNullsLast,\n\t),\n}))\nconst joiningColumnSchema = Typesafe.object({\n\tcolumnName: Typesafe.string,\n\tonDelete: Typesafe.enumeration<Model.OnDelete>(Model.OnDelete.cascade, Model.OnDelete.restrict, Model.OnDelete.setNull),\n})\nconst oneHasManyRelationSchema = Typesafe.intersection(\n\tTypesafe.object({\n\t\ttype: Typesafe.literal(Model.RelationType.OneHasMany),\n\t\tname: Typesafe.string,\n\t\ttarget: Typesafe.string,\n\t\townedBy: Typesafe.string,\n\t}),\n\tTypesafe.partial({\n\t\torderBy: orderBySchema,\n\t}),\n)\nconst oneHasManyRelationSchemaCheck: Typesafe.Equals<Model.OneHasManyRelation, ReturnType<typeof oneHasManyRelationSchema>> = true\n\nconst manyHasOneRelationSchema = Typesafe.intersection(\n\tTypesafe.object({\n\t\ttype: Typesafe.literal(Model.RelationType.ManyHasOne),\n\t\tname: Typesafe.string,\n\t\ttarget: Typesafe.string,\n\t\tjoiningColumn: joiningColumnSchema,\n\t\tnullable: Typesafe.boolean,\n\t}),\n\tTypesafe.partial({\n\t\tinversedBy: Typesafe.string,\n\t}),\n)\n\nconst manyHasOneRelationSchemaCheck: Typesafe.Equals<Model.ManyHasOneRelation, ReturnType<typeof manyHasOneRelationSchema>> = true\n\nconst oneHasOneInverseRelationSchema = Typesafe.object({\n\ttype: Typesafe.literal(Model.RelationType.OneHasOne),\n\tname: Typesafe.string,\n\ttarget: Typesafe.string,\n\townedBy: Typesafe.string,\n\tnullable: Typesafe.boolean,\n})\nconst oneHasOneInverseRelationSchemaCheck: Typesafe.Equals<Model.OneHasOneInverseRelation, ReturnType<typeof oneHasOneInverseRelationSchema>> = true\n\n\nconst oneHasOneOwningRelationSchema = Typesafe.intersection(\n\tTypesafe.object({\n\t\ttype: Typesafe.literal(Model.RelationType.OneHasOne),\n\t\tname: Typesafe.string,\n\t\ttarget: Typesafe.string,\n\t\tjoiningColumn: joiningColumnSchema,\n\t\tnullable: Typesafe.boolean,\n\t}),\n\tTypesafe.partial({\n\t\tinversedBy: Typesafe.string,\n\t\torphanRemoval: Typesafe.literal(true),\n\t}),\n)\n\nconst oneHasOneOwningRelationSchemaCheck: Typesafe.Equals<Model.OneHasOneOwningRelation, ReturnType<typeof oneHasOneOwningRelationSchema>> = true\n\nconst eventLogSchema = Typesafe.coalesce(Typesafe.object({\n\tenabled: Typesafe.boolean,\n}), { enabled: true }) as Typesafe.Type<{ readonly enabled: boolean }>\n\nconst manyHasManyOwningRelationSchema = Typesafe.intersection(\n\tTypesafe.object({\n\t\ttype: Typesafe.literal(Model.RelationType.ManyHasMany),\n\t\tname: Typesafe.string,\n\t\ttarget: Typesafe.string,\n\t\tjoiningTable: Typesafe.object({\n\t\t\ttableName: Typesafe.string,\n\t\t\tjoiningColumn: joiningColumnSchema,\n\t\t\tinverseJoiningColumn: joiningColumnSchema,\n\t\t\teventLog: eventLogSchema,\n\t\t}),\n\t}),\n\tTypesafe.partial({\n\t\tinversedBy: Typesafe.string,\n\t\torderBy: orderBySchema,\n\t}),\n)\nconst manyHasManyOwningRelationSchemaCheck: Typesafe.Equals<Model.ManyHasManyOwningRelation, ReturnType<typeof manyHasManyOwningRelationSchema>> = true\n\nconst manyHasManyInverseRelationSchema = Typesafe.intersection(\n\tTypesafe.object({\n\t\ttype: Typesafe.literal(Model.RelationType.ManyHasMany),\n\t\tname: Typesafe.string,\n\t\ttarget: Typesafe.string,\n\t\townedBy: Typesafe.string,\n\t}),\n\tTypesafe.partial({\n\t\torderBy: orderBySchema,\n\t}),\n)\nconst manyHasManyInverseRelationSchemaCheck: Typesafe.Equals<Model.ManyHasManyInverseRelation, ReturnType<typeof manyHasManyInverseRelationSchema>> = true\n\nconst intersectionSchema = Typesafe.intersection(\n\tTypesafe.object({\n\t\tprecedence: Typesafe.enumeration('ALWAYS', 'BY DEFAULT'),\n\t}),\n\tTypesafe.partial({\n\t\tstart: Typesafe.number,\n\t}),\n)\nconst intersectionSchemaCheck: Typesafe.Equals<Model.AnyColumn['sequence'], ReturnType<typeof intersectionSchema>> = true\n\nconst columnSchema = Typesafe.intersection(\n\tTypesafe.object({\n\t\tname: Typesafe.string,\n\t\tcolumnName: Typesafe.string,\n\t\tcolumnType: Typesafe.transform(Typesafe.string, (it, raw, path) => {\n\t\t\tif (!it.replaceAll(/\\s+/g, '').match(/^[\\w_]+(?:\\(\\w+(?:,\\w+)*\\))?\\w*(?:\"[^\"]+\")?(\\[])*$/)) {\n\t\t\t\tthrow ParseError.format(it, path, 'valid column type')\n\t\t\t}\n\t\t\treturn it\n\t\t}),\n\t\tnullable: Typesafe.boolean,\n\t\ttype: Typesafe.enumeration<Model.ColumnType>(...Object.values(Model.ColumnType)),\n\t}),\n\tTypesafe.partial({\n\t\ttypeAlias: Typesafe.string,\n\t\tlist: Typesafe.boolean,\n\t\tdefault: Typesafe.anyJson,\n\t\tsequence: intersectionSchema as Typesafe.Type<Model.AnyColumn['sequence']>,\n\t\tcollation: Typesafe.string as Typesafe.Type<Model.AnyColumn['collation']>,\n\t}),\n)\nconst columnSchemaCheck: Typesafe.Equals<Model.AnyColumn, ReturnType<typeof columnSchema>> = true\n\nconst fieldSchema: Typesafe.Type<Model.AnyField> = Typesafe.partiallyDiscriminatedUnion(\n\t'type',\n\toneHasOneInverseRelationSchema,\n\toneHasOneOwningRelationSchema,\n\toneHasManyRelationSchema,\n\tmanyHasOneRelationSchema,\n\tmanyHasManyInverseRelationSchema,\n\tmanyHasManyOwningRelationSchema,\n\tcolumnSchema,\n)\n\nconst viewSchemaInner = Typesafe.intersection(\n\tTypesafe.object({\n\t\tsql: Typesafe.string,\n\t}),\n\tTypesafe.partial({\n\t\tdependencies: Typesafe.array(Typesafe.string),\n\t\tidSource: Typesafe.array(Typesafe.string),\n\t\tmaterialized: Typesafe.boolean,\n\t}),\n)\nconst viewSchemaCheck: Typesafe.Equals<Model.View, ReturnType<typeof viewSchemaInner>> = true\nconst viewSchema: Typesafe.Type<Model.View> = viewSchemaInner\n\n\nconst indexSchemaBase = Typesafe.intersection(\n\tTypesafe.object({\n\t\tfields: Typesafe.array(Typesafe.string),\n\t}),\n\tTypesafe.partial({\n\t\tname: Typesafe.string,\n\t\tmethod: Typesafe.enumeration('btree', 'gin', 'gist', 'hash', 'brin', 'spgist'),\n\t}),\n)\nconst indexCheck: Typesafe.Equals<Model.Index, ReturnType<typeof indexSchemaBase>> = true\n\nconst indexesSchema = Typesafe.coalesce<Model.Indexes, Model.Indexes>(\n\tTypesafe.preprocess(\n\t\tTypesafe.array(indexSchemaBase),\n\t\tit => it?.constructor === Object ? Object.values(it) : it,\n\t),\n\t[],\n)\n\nconst uniqueConstraint = Typesafe.intersection(\n\tTypesafe.object({\n\t\tfields: Typesafe.array(Typesafe.string),\n\t}),\n\tTypesafe.partial({\n\t\ttiming: Typesafe.enumeration('deferrable', 'deferred'),\n\t\tname: Typesafe.string,\n\t\tindex: Typesafe.literal(false),\n\t}),\n)\nconst uniqueIndex = Typesafe.intersection(\n\tTypesafe.object({\n\t\tfields: Typesafe.array(Typesafe.string),\n\t\tindex: Typesafe.literal(true),\n\t}),\n\tTypesafe.partial({\n\t\tnulls: Typesafe.enumeration('distinct', 'not distinct'),\n\t\tmethod: Typesafe.enumeration('btree', 'gin', 'gist', 'hash', 'brin', 'spgist'),\n\t}),\n)\nconst uniqueConstraintCheck: Typesafe.Equals<Model.UniqueConstraint, ReturnType<typeof uniqueConstraint>> = true\nconst uniqueIndexCheck: Typesafe.Equals<Model.UniqueIndex, ReturnType<typeof uniqueIndex>> = true\n\nconst entitySchema = Typesafe.intersection(\n\tTypesafe.object({\n\t\tname: Typesafe.string,\n\t\tprimary: Typesafe.string,\n\t\tprimaryColumn: Typesafe.string,\n\t\ttableName: Typesafe.string,\n\t\tfields: Typesafe.record(Typesafe.string, fieldSchema),\n\t\tunique: Typesafe.preprocess<Model.Uniques>(\n\t\t\tTypesafe.array(Typesafe.union(uniqueConstraint, uniqueIndex)),\n\t\t\tit => it?.constructor === Object ? Object.values(it) : it,\n\t\t),\n\t\tindexes: indexesSchema,\n\t\teventLog: eventLogSchema,\n\t}),\n\tTypesafe.partial({\n\t\tview: viewSchema,\n\t\torderBy: orderBySchema,\n\t}),\n)\n\nconst entitySchemaCheck: Typesafe.Equals<Model.Entity, ReturnType<typeof entitySchema>> = true\n\nexport const modelSchema = Typesafe.object({\n\tentities: Typesafe.record(Typesafe.string, entitySchema),\n\tenums: Typesafe.record(Typesafe.string, Typesafe.array(Typesafe.string)),\n})\n\n"],"names":[],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const Typesafe = require("@contember/typesafe");
4
- function _interopNamespaceDefault(e) {
5
- const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
6
- if (e) {
7
- for (const k in e) {
8
- if (k !== "default") {
9
- const d = Object.getOwnPropertyDescriptor(e, k);
10
- Object.defineProperty(n, k, d.get ? d : {
11
- enumerable: true,
12
- get: () => e[k]
13
- });
14
- }
15
- }
16
- }
17
- n.default = e;
18
- return Object.freeze(n);
19
- }
20
- const Typesafe__namespace = /* @__PURE__ */ _interopNamespaceDefault(Typesafe);
21
- const settingsSchema = Typesafe__namespace.partial({
22
- useExistsInHasManyFilter: Typesafe__namespace.boolean,
23
- tenant: Typesafe__namespace.partial({
24
- inviteExpirationMinutes: Typesafe__namespace.integer
25
- }),
26
- content: Typesafe__namespace.partial({
27
- useExistsInHasManyFilter: Typesafe__namespace.boolean,
28
- fullDateTimeResponse: Typesafe__namespace.boolean,
29
- shortDateResponse: Typesafe__namespace.boolean,
30
- uuidVersion: Typesafe__namespace.union(Typesafe__namespace.literal(4), Typesafe__namespace.literal(7))
31
- })
32
- });
33
- exports.settingsSchema = settingsSchema;
34
- //# sourceMappingURL=settings.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"settings.cjs","sources":["../../../../../packages/schema-utils/src/type-schema/settings.ts"],"sourcesContent":["import * as Typesafe from '@contember/typesafe'\nimport { Settings } from '@contember/schema'\n\nexport const settingsSchema = Typesafe.partial({\n\tuseExistsInHasManyFilter: Typesafe.boolean,\n\n\ttenant: Typesafe.partial({\n\t\tinviteExpirationMinutes: Typesafe.integer,\n\t}),\n\tcontent: Typesafe.partial({\n\t\tuseExistsInHasManyFilter: Typesafe.boolean,\n\t\tfullDateTimeResponse: Typesafe.boolean,\n\t\tshortDateResponse: Typesafe.boolean,\n\t\tuuidVersion: Typesafe.union(Typesafe.literal(4), Typesafe.literal(7)),\n\t}),\n})\n\nconst settingSchemaCheck: Typesafe.Equals<Settings.Schema, ReturnType<typeof settingsSchema>> = true\n"],"names":["Typesafe"],"mappings":";;;;;;;;;;;;;;;;;;;;AAGa,MAAA,iBAAiBA,oBAAS,QAAQ;AAAA,EAC9C,0BAA0BA,oBAAS;AAAA,EAEnC,QAAQA,oBAAS,QAAQ;AAAA,IACxB,yBAAyBA,oBAAS;AAAA,EAAA,CAClC;AAAA,EACD,SAASA,oBAAS,QAAQ;AAAA,IACzB,0BAA0BA,oBAAS;AAAA,IACnC,sBAAsBA,oBAAS;AAAA,IAC/B,mBAAmBA,oBAAS;AAAA,IAC5B,aAAaA,oBAAS,MAAMA,oBAAS,QAAQ,CAAC,GAAGA,oBAAS,QAAQ,CAAC,CAAC;AAAA,EACpE,CAAA;AACF,CAAC;;"}
@@ -1,17 +0,0 @@
1
- import * as Typesafe from "@contember/typesafe";
2
- const settingsSchema = Typesafe.partial({
3
- useExistsInHasManyFilter: Typesafe.boolean,
4
- tenant: Typesafe.partial({
5
- inviteExpirationMinutes: Typesafe.integer
6
- }),
7
- content: Typesafe.partial({
8
- useExistsInHasManyFilter: Typesafe.boolean,
9
- fullDateTimeResponse: Typesafe.boolean,
10
- shortDateResponse: Typesafe.boolean,
11
- uuidVersion: Typesafe.union(Typesafe.literal(4), Typesafe.literal(7))
12
- })
13
- });
14
- export {
15
- settingsSchema
16
- };
17
- //# sourceMappingURL=settings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"settings.js","sources":["../../../../../packages/schema-utils/src/type-schema/settings.ts"],"sourcesContent":["import * as Typesafe from '@contember/typesafe'\nimport { Settings } from '@contember/schema'\n\nexport const settingsSchema = Typesafe.partial({\n\tuseExistsInHasManyFilter: Typesafe.boolean,\n\n\ttenant: Typesafe.partial({\n\t\tinviteExpirationMinutes: Typesafe.integer,\n\t}),\n\tcontent: Typesafe.partial({\n\t\tuseExistsInHasManyFilter: Typesafe.boolean,\n\t\tfullDateTimeResponse: Typesafe.boolean,\n\t\tshortDateResponse: Typesafe.boolean,\n\t\tuuidVersion: Typesafe.union(Typesafe.literal(4), Typesafe.literal(7)),\n\t}),\n})\n\nconst settingSchemaCheck: Typesafe.Equals<Settings.Schema, ReturnType<typeof settingsSchema>> = true\n"],"names":[],"mappings":";AAGa,MAAA,iBAAiB,SAAS,QAAQ;AAAA,EAC9C,0BAA0B,SAAS;AAAA,EAEnC,QAAQ,SAAS,QAAQ;AAAA,IACxB,yBAAyB,SAAS;AAAA,EAAA,CAClC;AAAA,EACD,SAAS,SAAS,QAAQ;AAAA,IACzB,0BAA0B,SAAS;AAAA,IACnC,sBAAsB,SAAS;AAAA,IAC/B,mBAAmB,SAAS;AAAA,IAC5B,aAAa,SAAS,MAAM,SAAS,QAAQ,CAAC,GAAG,SAAS,QAAQ,CAAC,CAAC;AAAA,EACpE,CAAA;AACF,CAAC;"}
@@ -1,115 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const Typesafe = require("@contember/typesafe");
4
- const schema = require("@contember/schema");
5
- function _interopNamespaceDefault(e) {
6
- const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
7
- if (e) {
8
- for (const k in e) {
9
- if (k !== "default") {
10
- const d = Object.getOwnPropertyDescriptor(e, k);
11
- Object.defineProperty(n, k, d.get ? d : {
12
- enumerable: true,
13
- get: () => e[k]
14
- });
15
- }
16
- }
17
- }
18
- n.default = e;
19
- return Object.freeze(n);
20
- }
21
- const Typesafe__namespace = /* @__PURE__ */ _interopNamespaceDefault(Typesafe);
22
- const messageSchema = Typesafe__namespace.intersection(
23
- Typesafe__namespace.object({
24
- text: Typesafe__namespace.string
25
- }),
26
- Typesafe__namespace.partial({
27
- parameters: Typesafe__namespace.array(Typesafe__namespace.union(Typesafe__namespace.string, Typesafe__namespace.number))
28
- })
29
- );
30
- const literalArgumentFactory = (inner) => Typesafe__namespace.object({
31
- type: Typesafe__namespace.literal(schema.Validation.ArgumentType.literal),
32
- value: inner
33
- });
34
- const validatorArgumentSchema = Typesafe__namespace.object({
35
- type: Typesafe__namespace.literal(schema.Validation.ArgumentType.validator),
36
- validator: (v, p) => validatorSchema(v, p)
37
- });
38
- const pathArgumentSchema = Typesafe__namespace.object({
39
- type: Typesafe__namespace.literal(schema.Validation.ArgumentType.path),
40
- path: Typesafe__namespace.array(Typesafe__namespace.string)
41
- });
42
- const validatorSchema = Typesafe__namespace.union(
43
- Typesafe__namespace.object({
44
- operation: Typesafe__namespace.literal("and"),
45
- args: Typesafe__namespace.array(validatorArgumentSchema)
46
- }),
47
- Typesafe__namespace.object({
48
- operation: Typesafe__namespace.literal("or"),
49
- args: Typesafe__namespace.array(validatorArgumentSchema)
50
- }),
51
- Typesafe__namespace.object({
52
- operation: Typesafe__namespace.literal("conditional"),
53
- args: Typesafe__namespace.tuple(validatorArgumentSchema, validatorArgumentSchema)
54
- }),
55
- Typesafe__namespace.object({
56
- operation: Typesafe__namespace.literal("pattern"),
57
- args: Typesafe__namespace.tuple(literalArgumentFactory(Typesafe__namespace.tuple(Typesafe__namespace.string, Typesafe__namespace.string)))
58
- }),
59
- Typesafe__namespace.object({
60
- operation: Typesafe__namespace.literal("lengthRange"),
61
- args: Typesafe__namespace.tuple(
62
- literalArgumentFactory(Typesafe__namespace.union(Typesafe__namespace.null_, Typesafe__namespace.number)),
63
- literalArgumentFactory(Typesafe__namespace.union(Typesafe__namespace.null_, Typesafe__namespace.number))
64
- )
65
- }),
66
- Typesafe__namespace.object({
67
- operation: Typesafe__namespace.literal("range"),
68
- args: Typesafe__namespace.tuple(
69
- literalArgumentFactory(Typesafe__namespace.union(Typesafe__namespace.null_, Typesafe__namespace.number)),
70
- literalArgumentFactory(Typesafe__namespace.union(Typesafe__namespace.null_, Typesafe__namespace.number))
71
- )
72
- }),
73
- Typesafe__namespace.object({
74
- operation: Typesafe__namespace.literal("equals"),
75
- args: Typesafe__namespace.tuple(literalArgumentFactory(Typesafe__namespace.anyJson))
76
- }),
77
- Typesafe__namespace.object({
78
- operation: Typesafe__namespace.literal("not"),
79
- args: Typesafe__namespace.tuple(validatorArgumentSchema)
80
- }),
81
- Typesafe__namespace.object({
82
- operation: Typesafe__namespace.literal("empty"),
83
- args: Typesafe__namespace.tuple()
84
- }),
85
- Typesafe__namespace.object({
86
- operation: Typesafe__namespace.literal("defined"),
87
- args: Typesafe__namespace.tuple()
88
- }),
89
- Typesafe__namespace.object({
90
- operation: Typesafe__namespace.literal("inContext"),
91
- args: Typesafe__namespace.tuple(pathArgumentSchema, validatorArgumentSchema)
92
- }),
93
- Typesafe__namespace.object({
94
- operation: Typesafe__namespace.literal("every"),
95
- args: Typesafe__namespace.tuple(validatorArgumentSchema)
96
- }),
97
- Typesafe__namespace.object({
98
- operation: Typesafe__namespace.literal("any"),
99
- args: Typesafe__namespace.tuple(validatorArgumentSchema)
100
- }),
101
- Typesafe__namespace.object({
102
- operation: Typesafe__namespace.literal("filter"),
103
- args: Typesafe__namespace.tuple(validatorArgumentSchema, validatorArgumentSchema)
104
- })
105
- );
106
- const validationRuleSchema = Typesafe__namespace.object({
107
- validator: validatorSchema,
108
- message: messageSchema
109
- });
110
- const validationSchema = Typesafe__namespace.record(
111
- Typesafe__namespace.string,
112
- Typesafe__namespace.record(Typesafe__namespace.string, Typesafe__namespace.array(validationRuleSchema))
113
- );
114
- exports.validationSchema = validationSchema;
115
- //# sourceMappingURL=validation.cjs.map