@contember/schema-utils 2.1.0-alpha.3 → 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 +15 -12
  15. package/src/type-schema/actions.ts +1 -2
  16. package/src/type-schema/condition.ts +25 -20
  17. package/src/type-schema/model.ts +12 -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 +10 -9
  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 +136 -49
  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 -87
  110. package/dist/development/src/type-schema/actions.cjs.map +0 -1
  111. package/dist/development/src/type-schema/actions.js +0 -70
  112. package/dist/development/src/type-schema/actions.js.map +0 -1
  113. package/dist/development/src/type-schema/condition.cjs +0 -89
  114. package/dist/development/src/type-schema/condition.cjs.map +0 -1
  115. package/dist/development/src/type-schema/condition.js +0 -72
  116. package/dist/development/src/type-schema/condition.js.map +0 -1
  117. package/dist/development/src/type-schema/model.cjs +0 -217
  118. package/dist/development/src/type-schema/model.cjs.map +0 -1
  119. package/dist/development/src/type-schema/model.js +0 -201
  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 -126
  158. package/dist/development/src/validation/MembershipResolver.cjs.map +0 -1
  159. package/dist/development/src/validation/MembershipResolver.js +0 -126
  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 -87
  250. package/dist/production/src/type-schema/actions.cjs.map +0 -1
  251. package/dist/production/src/type-schema/actions.js +0 -70
  252. package/dist/production/src/type-schema/actions.js.map +0 -1
  253. package/dist/production/src/type-schema/condition.cjs +0 -89
  254. package/dist/production/src/type-schema/condition.cjs.map +0 -1
  255. package/dist/production/src/type-schema/condition.js +0 -72
  256. package/dist/production/src/type-schema/condition.js.map +0 -1
  257. package/dist/production/src/type-schema/model.cjs +0 -217
  258. package/dist/production/src/type-schema/model.cjs.map +0 -1
  259. package/dist/production/src/type-schema/model.js +0 -201
  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 -126
  298. package/dist/production/src/validation/MembershipResolver.cjs.map +0 -1
  299. package/dist/production/src/validation/MembershipResolver.js +0 -126
  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 -31
  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
@@ -6,7 +6,6 @@ export class Literal {
6
6
  export type FormatterPath = ({ type: 'array' } | { type: 'object'; key: string })[]
7
7
  export type IndentDecider = (value: any, path: FormatterPath) => boolean
8
8
 
9
-
10
9
  export const printJsValue = (value: any, shouldIndentCb: IndentDecider = () => false, path: FormatterPath = []): string => {
11
10
  if (value instanceof Literal) {
12
11
  return value.value
@@ -18,7 +17,7 @@ export const printJsValue = (value: any, shouldIndentCb: IndentDecider = () => f
18
17
  return value.toString(10) + 'n'
19
18
  }
20
19
  if (typeof value === 'string') {
21
- return `'${value.replaceAll(/'/g, '\\\'')}'`
20
+ return `'${value.replaceAll(/'/g, "\\'")}'`
22
21
  }
23
22
  const shouldIndent = shouldIndentCb(value, path)
24
23
  if (!shouldIndent) {
@@ -29,32 +28,31 @@ export const printJsValue = (value: any, shouldIndentCb: IndentDecider = () => f
29
28
  const nl = '\n'
30
29
 
31
30
  if (Array.isArray(value)) {
32
- return ''
33
- + '['
34
- + value.map((it, index, arr) =>
35
- (shouldIndent ? nl + indent(1) : '')
36
- + printJsValue(it, shouldIndentCb, [...path, { type: 'array' }])
37
- + (shouldIndent ? ',' : ((index + 1) < arr.length ? ', ' : '')),
38
- ).join('')
39
- + (shouldIndent ? nl + indent(0) : '')
40
- + ']'
31
+ return ''
32
+ + '['
33
+ + value.map((it, index, arr) =>
34
+ (shouldIndent ? nl + indent(1) : '')
35
+ + printJsValue(it, shouldIndentCb, [...path, { type: 'array' }])
36
+ + (shouldIndent ? ',' : ((index + 1) < arr.length ? ', ' : ''))
37
+ ).join('')
38
+ + (shouldIndent ? nl + indent(0) : '')
39
+ + ']'
41
40
  }
42
41
 
43
42
  return ''
44
- + '{'
45
- + (shouldIndent ? '' : ' ')
46
- + Object.entries(value).map(([key, value], index, arr) => {
47
- const formattedKey = isSimpleIdentifier(key) ? key : `[${printJsValue(key)}]`
48
- return ''
49
- + (shouldIndent ? nl + indent(1) : '')
50
- + formattedKey
51
- + ': '
52
- + printJsValue(value, shouldIndentCb, [...path, { type: 'object', key }])
53
- + (shouldIndent ? ',' : ((index + 1) < arr.length ? ', ' : ''))
54
- }).join('')
55
- + (shouldIndent ? nl + indent(0) : ' ')
56
- + '}'
57
-
43
+ + '{'
44
+ + (shouldIndent ? '' : ' ')
45
+ + Object.entries(value).map(([key, value], index, arr) => {
46
+ const formattedKey = isSimpleIdentifier(key) ? key : `[${printJsValue(key)}]`
47
+ return ''
48
+ + (shouldIndent ? nl + indent(1) : '')
49
+ + formattedKey
50
+ + ': '
51
+ + printJsValue(value, shouldIndentCb, [...path, { type: 'object', key }])
52
+ + (shouldIndent ? ',' : ((index + 1) < arr.length ? ', ' : ''))
53
+ }).join('')
54
+ + (shouldIndent ? nl + indent(0) : ' ')
55
+ + '}'
58
56
  }
59
57
 
60
58
  const isSimpleIdentifier = (identifier: string): boolean => {
@@ -4,7 +4,6 @@ import { getEntity } from '../model'
4
4
  import { ErrorBuilder, ValidationError } from './errors'
5
5
  import { conditionSchema } from '../type-schema'
6
6
 
7
-
8
7
  export class AclValidator {
9
8
  constructor(private readonly model: Model.Schema) {}
10
9
 
@@ -28,7 +27,6 @@ export class AclValidator {
28
27
  roles: string[],
29
28
  errorBuilder: ErrorBuilder,
30
29
  ): void {
31
-
32
30
  this.validateInherits(permissions.inherits, roles, errorBuilder.for('inherits'))
33
31
  this.validateVariables(permissions.variables, errorBuilder.for('variables'))
34
32
  this.validatePermissions(permissions.entities, (permissions.variables as Acl.Variables) || {}, errorBuilder.for('entities'))
@@ -5,12 +5,13 @@ import { assertNever } from '../utils'
5
5
  import * as Typesafe from '@contember/typesafe'
6
6
  import { whereSchema } from '../type-schema/where'
7
7
 
8
- const manyArgsSchema = (args: {schema: Model.Schema; entity: Model.Entity}) => Typesafe.partial({
9
- limit: Typesafe.integer,
10
- offset: Typesafe.integer,
11
- orderBy: Typesafe.array(Typesafe.anyJsonObject),
12
- filter: whereSchema(args),
13
- })
8
+ const manyArgsSchema = (args: { schema: Model.Schema; entity: Model.Entity }) =>
9
+ Typesafe.partial({
10
+ limit: Typesafe.integer,
11
+ offset: Typesafe.integer,
12
+ orderBy: Typesafe.array(Typesafe.anyJsonObject),
13
+ filter: whereSchema(args),
14
+ })
14
15
 
15
16
  export class ActionsValidator {
16
17
  constructor(private readonly model: Model.Schema) {}
@@ -34,7 +35,6 @@ export class ActionsValidator {
34
35
  }
35
36
  }
36
37
 
37
-
38
38
  private validateTrigger(trigger: Actions.AnyTrigger, errorBuilder: ErrorBuilder): void {
39
39
  const entity = this.model.entities[trigger.entity]
40
40
  if (!entity) {
@@ -3,7 +3,6 @@ import { getRoleVariables } from '../acl'
3
3
  import { conditionSchema } from '../type-schema'
4
4
  import { assertNever } from '../utils'
5
5
 
6
-
7
6
  export class MembershipResolver {
8
7
  public static UnknownIdentity = { identityId: '00000000-0000-0000-0000-000000000000' }
9
8
 
@@ -14,6 +13,7 @@ export class MembershipResolver {
14
13
  identityId: string
15
14
  personId?: string
16
15
  },
16
+ isAssumed: boolean,
17
17
  ): MembershipReadResult {
18
18
  const errors: MembershipValidationError[] = []
19
19
  const parsed: ParsedMembership[] = []
@@ -25,7 +25,7 @@ export class MembershipResolver {
25
25
  }
26
26
  const roleVariables = getRoleVariables(membership.role, acl)
27
27
  for (const variable of membership.variables) {
28
- if (!roleVariables[variable.name] || roleVariables[variable.name].type === Acl.VariableType.predefined) {
28
+ if (!roleVariables[variable.name] || (!isAssumed && roleVariables[variable.name].type === Acl.VariableType.predefined)) {
29
29
  errors.push(
30
30
  new MembershipValidationError(
31
31
  membership.role,
@@ -35,7 +35,7 @@ export class MembershipResolver {
35
35
  )
36
36
  }
37
37
  }
38
- const [membershipErrors, parsedVariables] = this.readMembershipVariables(roleVariables, membership, identity)
38
+ const [membershipErrors, parsedVariables] = this.readMembershipVariables(roleVariables, membership, identity, isAssumed)
39
39
  errors.push(...membershipErrors)
40
40
  parsed.push({
41
41
  role: membership.role,
@@ -48,19 +48,23 @@ export class MembershipResolver {
48
48
  private readMembershipVariables(roleVariables: Acl.Variables, membership: Acl.Membership, identity: {
49
49
  identityId: string
50
50
  personId?: string
51
- }): [MembershipValidationError[], ParsedMembershipVariable[]] {
51
+ }, isAssumed: boolean): [MembershipValidationError[], ParsedMembershipVariable[]] {
52
52
  const errors: MembershipValidationError[] = []
53
53
  const parsedVariables: ParsedMembershipVariable[] = []
54
54
  for (const [name, variable] of Object.entries(roleVariables)) {
55
+ const inputVariable = membership.variables.find(it => it.name === name)
55
56
  if (variable.type === Acl.VariableType.predefined) {
56
57
  switch (variable.value) {
57
58
  case 'identityID':
58
- parsedVariables.push({ name, condition: { in: [identity.identityId] } })
59
+ parsedVariables.push({
60
+ name,
61
+ condition: { in: isAssumed && inputVariable ? inputVariable.values : [identity.identityId] },
62
+ })
59
63
  break
60
64
  case 'personID':
61
65
  parsedVariables.push({
62
66
  name,
63
- condition: { in: identity.personId ? [identity.personId] : [] },
67
+ condition: { in: isAssumed && inputVariable ? inputVariable.values : identity.personId ? [identity.personId] : [] },
64
68
  })
65
69
  break
66
70
  default:
@@ -71,7 +75,6 @@ export class MembershipResolver {
71
75
  continue
72
76
  }
73
77
 
74
- const inputVariable = membership.variables.find(it => it.name === name)
75
78
  if (!inputVariable) {
76
79
  if (variable.fallback) {
77
80
  parsedVariables.push({ name, condition: variable.fallback })
@@ -84,7 +87,6 @@ export class MembershipResolver {
84
87
 
85
88
  if (variable.type === Acl.VariableType.entity) {
86
89
  parsedVariables.push({ name, condition: { in: inputVariable.values } }) // todo: cast to int where primary is int
87
-
88
90
  } else if (variable.type === Acl.VariableType.condition) {
89
91
  try {
90
92
  const conditions = inputVariable.values.map(it => conditionSchema()(JSON.parse(it)))
@@ -128,7 +130,6 @@ export enum MembershipValidationErrorType {
128
130
  VARIABLE_INVALID = 'variableInvalid',
129
131
  }
130
132
 
131
-
132
133
  export interface ParsedMembershipVariable {
133
134
  readonly name: string
134
135
  readonly condition: Input.Condition
@@ -5,9 +5,8 @@ import { acceptEveryFieldVisitor, getTargetEntity, isColumn, isInverseRelation,
5
5
  const IDENTIFIER_PATTERN = /^[_a-zA-Z][_a-zA-Z0-9]*$/
6
6
  const RESERVED_WORDS = ['and', 'or', 'not']
7
7
 
8
-
9
8
  export class ModelValidator {
10
- constructor(private readonly model: Model.Schema) { }
9
+ constructor(private readonly model: Model.Schema) {}
11
10
 
12
11
  public validate(): ValidationError[] {
13
12
  const errorBuilder = new ErrorBuilder([], [])
@@ -121,7 +120,7 @@ export class ModelValidator {
121
120
  return errors.add('MODEL_UNDEFINED_ENTITY', `Target entity ${targetEntityName} not found`)
122
121
  }
123
122
  if (((it: Model.AnyRelation): it is Model.AnyRelation & Model.OrderableRelation => 'orderBy' in it)(field)) {
124
- (field as Model.OrderableRelation).orderBy?.forEach(it => {
123
+ ;(field as Model.OrderableRelation).orderBy?.forEach(it => {
125
124
  let entity = targetEntity
126
125
 
127
126
  for (let i = 0; i < it.path.length; i++) {
@@ -147,15 +146,15 @@ export class ModelValidator {
147
146
  return errors.add('MODEL_INVALID_VIEW_USAGE', 'Many-has-many relation is not allowed on a view entity.')
148
147
  }
149
148
  if (
150
- !targetEntity.view &&
151
- field.type === Model.RelationType.OneHasMany
149
+ !targetEntity.view
150
+ && field.type === Model.RelationType.OneHasMany
152
151
  ) {
153
152
  return errors.add('MODEL_INVALID_VIEW_USAGE', 'One-has-many relation fields on views must point to a view entity.')
154
153
  }
155
154
  if (
156
- !targetEntity.view &&
157
- field.type === Model.RelationType.OneHasOne &&
158
- !('joiningColumn' in field)
155
+ !targetEntity.view
156
+ && field.type === Model.RelationType.OneHasOne
157
+ && !('joiningColumn' in field)
159
158
  ) {
160
159
  return errors.add('MODEL_INVALID_VIEW_USAGE', 'One-has-one relation fields on views must be owning or point to a view entity.')
161
160
  }
@@ -172,7 +171,10 @@ export class ModelValidator {
172
171
  return errors.add('MODEL_RELATION_REQUIRED', `${relationDescription} not a relation`)
173
172
  }
174
173
  if (targetField.target !== entityName) {
175
- return errors.add('MODEL_INVALID_RELATION_DEFINITION', `${relationDescription} back reference to entity ${entityName} expected, but ${targetField.target} given`)
174
+ return errors.add(
175
+ 'MODEL_INVALID_RELATION_DEFINITION',
176
+ `${relationDescription} back reference to entity ${entityName} expected, but ${targetField.target} given`,
177
+ )
176
178
  }
177
179
  if (!isOwningRelation(targetField)) {
178
180
  errors.add('MODEL_INVALID_RELATION_DEFINITION', `${relationDescription} not an owning relation`)
@@ -182,7 +184,10 @@ export class ModelValidator {
182
184
  return errors.add('MODEL_INVALID_RELATION_DEFINITION', `${relationDescription} inverse relation is not set`)
183
185
  }
184
186
  if (targetField.inversedBy !== field.name) {
185
- return errors.add('MODEL_INVALID_RELATION_DEFINITION', `${relationDescription} back reference ${entityName}::${field.name} expected, ${targetField.target}::${targetField.inversedBy} given`)
187
+ return errors.add(
188
+ 'MODEL_INVALID_RELATION_DEFINITION',
189
+ `${relationDescription} back reference ${entityName}::${field.name} expected, ${targetField.target}::${targetField.inversedBy} given`,
190
+ )
186
191
  }
187
192
  if (field.type === Model.RelationType.OneHasOne && targetField.type !== Model.RelationType.OneHasOne) {
188
193
  return errors.add('MODEL_INVALID_RELATION_DEFINITION', `${relationDescription} "OneHasOne" type expected, "${targetField.type}" given`)
@@ -205,7 +210,10 @@ export class ModelValidator {
205
210
  return errors.add('MODEL_RELATION_REQUIRED', `${relationDescription} not a relation`)
206
211
  }
207
212
  if (targetField.target !== entityName) {
208
- return errors.add('MODEL_INVALID_RELATION_DEFINITION', `${relationDescription} back reference to entity ${entityName} expected, but ${targetField.target} given`)
213
+ return errors.add(
214
+ 'MODEL_INVALID_RELATION_DEFINITION',
215
+ `${relationDescription} back reference to entity ${entityName} expected, but ${targetField.target} given`,
216
+ )
209
217
  }
210
218
  if (!isInverseRelation(targetField)) {
211
219
  return errors.add('MODEL_INVALID_RELATION_DEFINITION', `${relationDescription} not an inverse relation`)
@@ -214,7 +222,10 @@ export class ModelValidator {
214
222
  return errors.add('MODEL_INVALID_RELATION_DEFINITION', `${relationDescription} owning relation is not set`)
215
223
  }
216
224
  if (targetField.ownedBy !== field.name) {
217
- return errors.add('MODEL_INVALID_RELATION_DEFINITION', `${relationDescription} back reference ${entityName}::${field.name} expected, ${targetField.target}::${targetField.ownedBy} given`)
225
+ return errors.add(
226
+ 'MODEL_INVALID_RELATION_DEFINITION',
227
+ `${relationDescription} back reference ${entityName}::${field.name} expected, ${targetField.target}::${targetField.ownedBy} given`,
228
+ )
218
229
  }
219
230
  if (field.type === Model.RelationType.OneHasOne && targetField.type !== Model.RelationType.OneHasOne) {
220
231
  return errors.add('MODEL_INVALID_RELATION_DEFINITION', `${relationDescription} "OneHasOne" type expected, "${targetField.type}" given`)
@@ -244,7 +255,6 @@ export class ModelValidator {
244
255
  }
245
256
  }
246
257
 
247
-
248
258
  private validateMetaSuffixCollisions(entities: Model.Entity[], errorBuilder: ErrorBuilder) {
249
259
  const entityNames = new Set(entities.map(it => it.name))
250
260
  for (const entity of entities) {
@@ -252,13 +262,15 @@ export class ModelValidator {
252
262
  const baseName = entity.name.substring(0, entity.name.length - 4)
253
263
  if (entityNames.has(baseName)) {
254
264
  errorBuilder.for(entity.name)
255
- .add('MODEL_NAME_COLLISION', `entity ${entity.name} collides with entity ${baseName}, because a GraphQL type with "Meta" suffix is created for every entity`)
265
+ .add(
266
+ 'MODEL_NAME_COLLISION',
267
+ `entity ${entity.name} collides with entity ${baseName}, because a GraphQL type with "Meta" suffix is created for every entity`,
268
+ )
256
269
  }
257
270
  }
258
271
  }
259
272
  }
260
273
 
261
-
262
274
  private validateTableNameCollisions(entities: Model.Entity[], errorBuilder: ErrorBuilder) {
263
275
  const relationNames: Record<string, string> = {}
264
276
  for (const entity of entities) {
@@ -280,25 +292,25 @@ export class ModelValidator {
280
292
  if (relationNames[joiningTable.tableName]) {
281
293
  entityErrorBuilder
282
294
  .for(relation.name)
283
- .add('MODEL_NAME_COLLISION',
284
- `${description} collides with a ${relationNames[joiningTable.tableName]}.` +
285
- 'Consider using plural for a relation name or change the joining table name using .joiningTable(...) in schema definition.',
295
+ .add(
296
+ 'MODEL_NAME_COLLISION',
297
+ `${description} collides with a ${relationNames[joiningTable.tableName]}.`
298
+ + 'Consider using plural for a relation name or change the joining table name using .joiningTable(...) in schema definition.',
286
299
  )
287
300
  } else {
288
301
  relationNames[joiningTable.tableName] = description
289
302
  }
290
303
  },
291
304
  visitColumn: () => {},
292
- visitManyHasManyInverse: () => { },
293
- visitOneHasMany: () => { },
294
- visitOneHasOneInverse: () => { },
295
- visitOneHasOneOwning: () => { },
296
- visitManyHasOne: () => { },
305
+ visitManyHasManyInverse: () => {},
306
+ visitOneHasMany: () => {},
307
+ visitOneHasOneInverse: () => {},
308
+ visitOneHasOneOwning: () => {},
309
+ visitManyHasOne: () => {},
297
310
  })
298
311
  }
299
312
  }
300
313
 
301
-
302
314
  private validateAliasedTypesCollision(entities: Model.Entity[], errorBuilder: ErrorBuilder) {
303
315
  const aliasedTypes = new Map<string, Model.ColumnType>()
304
316
  for (const entity of entities) {
@@ -314,16 +326,15 @@ export class ModelValidator {
314
326
  }
315
327
  aliasedTypes.set(column.typeAlias, column.type)
316
328
  },
317
- visitManyHasManyOwning: () => { },
318
- visitManyHasManyInverse: () => { },
319
- visitOneHasMany: () => { },
320
- visitOneHasOneInverse: () => { },
321
- visitOneHasOneOwning: () => { },
322
- visitManyHasOne: () => { },
329
+ visitManyHasManyOwning: () => {},
330
+ visitManyHasManyInverse: () => {},
331
+ visitOneHasMany: () => {},
332
+ visitOneHasOneInverse: () => {},
333
+ visitOneHasOneOwning: () => {},
334
+ visitManyHasOne: () => {},
323
335
  })
324
336
  }
325
337
  }
326
338
  }
327
339
 
328
- const isRelation = (field: Model.AnyField): field is Model.AnyRelation =>
329
- Object.values(Model.RelationType).includes(field.type as Model.RelationType)
340
+ const isRelation = (field: Model.AnyField): field is Model.AnyRelation => Object.values(Model.RelationType).includes(field.type as Model.RelationType)
@@ -19,22 +19,23 @@ export class SchemaValidator {
19
19
  const aclValidator = new AclValidator(schema.model)
20
20
  const aclErrors = aclValidator.validate(schema.acl)
21
21
 
22
-
23
22
  const validationValidator = new ValidationValidator(schema.model)
24
23
  const validationErrors = validationValidator.validate(schema.validation)
25
24
 
26
25
  const actionsValidator = new ActionsValidator(schema.model)
27
- const actionsErrors = actionsValidator.validate(schema.actions)
26
+ const actionsErrors = actionsValidator.validate(schema.actions)
28
27
 
29
28
  const allErrors = [...aclErrors, ...modelErrors, ...validationErrors, ...actionsErrors]
30
29
  if (skippedErrors.length === 0) {
31
30
  return allErrors
32
31
  }
33
32
  return allErrors.filter(
34
- err => !skippedErrors.some(
35
- rule => err.code === rule.code
36
- && (!rule.path || err.path.join('.') === rule.path),
37
- ),
33
+ err =>
34
+ !skippedErrors.some(
35
+ rule =>
36
+ err.code === rule.code
37
+ && (!rule.path || err.path.join('.') === rule.path),
38
+ ),
38
39
  )
39
40
  }
40
41
  }
@@ -65,7 +65,6 @@ export class ValidationValidator {
65
65
  this.validateValidator(errorBuilder.for('validator'), rule.validator, entity, field)
66
66
  }
67
67
 
68
-
69
68
  private validateValidator(
70
69
  errorBuilder: ErrorBuilder,
71
70
  validator: Validation.Validator,
@@ -120,7 +119,7 @@ export class ValidationValidator {
120
119
  )
121
120
  return
122
121
  default:
123
- ((_: never) => {
122
+ ;((_: never) => {
124
123
  errorBuilder.for('operation', `Operation ${(validatorCast as any).operation} is not an valid option`)
125
124
  })(validatorCast)
126
125
  }
@@ -135,7 +134,6 @@ export class ValidationValidator {
135
134
  this.validateValidator(errorBuilder.for('validator'), argument.validator, entity, field)
136
135
  }
137
136
 
138
-
139
137
  private validatePathArgument(
140
138
  errorBuilder: ErrorBuilder,
141
139
  argument: Validation.PathArgument,
@@ -11,21 +11,18 @@ export type ValidationErrorCode =
11
11
  | 'MODEL_INVALID_ENTITY_NAME'
12
12
  | 'MODEL_INVALID_CONSTRAINT'
13
13
  | 'MODEL_NAME_COLLISION'
14
-
15
14
  | 'ACL_INVALID_CONDITION'
16
15
  | 'ACL_UNDEFINED_VARIABLE'
17
16
  | 'ACL_UNDEFINED_FIELD'
18
17
  | 'ACL_UNDEFINED_PREDICATE'
19
18
  | 'ACL_UNDEFINED_ROLE'
20
19
  | 'ACL_UNDEFINED_ENTITY'
21
-
22
20
  | 'ACTIONS_NAME_MISMATCH'
23
21
  | 'ACTIONS_INVALID_CONDITION'
24
22
  | 'ACTIONS_UNDEFINED_FIELD'
25
23
  | 'ACTIONS_UNDEFINED_ENTITY'
26
24
  | 'ACTIONS_UNDEFINED_TRIGGER_TARGET'
27
25
  | 'ACTIONS_INVALID_SELECTION'
28
-
29
26
  | 'VALIDATION_UNDEFINED_ENTITY'
30
27
  | 'VALIDATION_UNDEFINED_FIELD'
31
28
  | 'VALIDATION_NOT_IMPLEMENTED'
@@ -1,4 +1,4 @@
1
- import { expect, test, describe } from 'bun:test'
1
+ import { describe, expect, test } from 'bun:test'
2
2
  import { conditionSchema } from '../../../src/type-schema'
3
3
  import { Model } from '@contember/schema'
4
4
 
@@ -31,7 +31,6 @@ describe('condition schema', () => {
31
31
  expect(() => conditionSchema(Model.ColumnType.Int)(condition)).toThrow('value at root: extra property containsCI found')
32
32
  })
33
33
 
34
-
35
34
  test('accept non-json condition for unknown type', () => {
36
35
  const condition = {
37
36
  eq: 'foo',
@@ -1,4 +1,4 @@
1
- import { expect, describe, test } from 'bun:test'
1
+ import { describe, expect, test } from 'bun:test'
2
2
  import { compareArraysIgnoreOrder } from '../../../src'
3
3
 
4
4
  describe('deep compare', () => {
@@ -38,7 +38,6 @@ describe('deep compare', () => {
38
38
  expect(actual).toStrictEqual([{
39
39
  path: [],
40
40
  message: 'Array item: {"foo":"bar"} not found in [{"lorem":"ipsum"},{"lorem":"ipsum"}]',
41
- }],
42
- )
41
+ }])
43
42
  })
44
43
  })
@@ -18,7 +18,6 @@ test('lax schema converter basic', () => {
18
18
  expect(converter.convert()).toMatchSnapshot()
19
19
  })
20
20
 
21
-
22
21
  test('lax schema converter one-has-many', () => {
23
22
  const converter = new LaxSchemaConverter(
24
23
  {
@@ -57,7 +56,6 @@ test('lax schema converter one-has-many', () => {
57
56
  expect(converter2.convert()).toStrictEqual(schema1)
58
57
  })
59
58
 
60
-
61
59
  test('lax schema converter many-has-many', () => {
62
60
  const converter = new LaxSchemaConverter(
63
61
  {
@@ -96,7 +94,6 @@ test('lax schema converter many-has-many', () => {
96
94
  expect(converter2.convert()).toStrictEqual(schema1)
97
95
  })
98
96
 
99
-
100
97
  test('lax schema converter one-has-one', () => {
101
98
  const converter = new LaxSchemaConverter(
102
99
  {
@@ -134,4 +131,3 @@ test('lax schema converter one-has-one', () => {
134
131
  )
135
132
  expect(converter2.convert()).toStrictEqual(schema1)
136
133
  })
137
-