cruddl 3.0.0 → 3.0.1

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 (576) hide show
  1. package/.editorconfig +7 -4
  2. package/.github/workflows/ci.yml +43 -31
  3. package/.github/workflows/codeql-analysis.yml +29 -29
  4. package/.mocharc.json +7 -0
  5. package/.prettierignore +1 -0
  6. package/.prettierrc +1 -2
  7. package/README.md +16 -13
  8. package/cruddl-bench.js +1 -1
  9. package/dist/core-exports.d.ts +3 -3
  10. package/dist/core-exports.js.map +1 -1
  11. package/dist/spec/authorization/move-errors-to-output-nodes.spec.js +51 -45
  12. package/dist/spec/authorization/move-errors-to-output-nodes.spec.js.map +1 -1
  13. package/dist/spec/authorization/permission-descriptor.spec.js +23 -23
  14. package/dist/spec/authorization/permission-descriptor.spec.js.map +1 -1
  15. package/dist/spec/authorization/permission-profile.spec.js +35 -30
  16. package/dist/spec/authorization/permission-profile.spec.js.map +1 -1
  17. package/dist/spec/database/arangodb/aql-generator.spec.js +4 -4
  18. package/dist/spec/database/arangodb/aql-generator.spec.js.map +1 -1
  19. package/dist/spec/database/arangodb/aql.spec.js +32 -32
  20. package/dist/spec/database/arangodb/aql.spec.js.map +1 -1
  21. package/dist/spec/database/arangodb/arangodb-adapter.spec.js +25 -25
  22. package/dist/spec/database/arangodb/arangodb-adapter.spec.js.map +1 -1
  23. package/dist/spec/database/arangodb/retry.spec.js +16 -15
  24. package/dist/spec/database/arangodb/retry.spec.js.map +1 -1
  25. package/dist/spec/database/arangodb/schema-migration/arango-search-helper.spec.js +25 -15
  26. package/dist/spec/database/arangodb/schema-migration/arango-search-helper.spec.js.map +1 -1
  27. package/dist/spec/database/like-helper.spec.js +39 -39
  28. package/dist/spec/database/like-helper.spec.js.map +1 -1
  29. package/dist/spec/dev/fast-server.js +6 -6
  30. package/dist/spec/dev/fast-server.js.map +1 -1
  31. package/dist/spec/dev/server.js +6 -6
  32. package/dist/spec/dev/server.js.map +1 -1
  33. package/dist/spec/dev/start.js +1 -1
  34. package/dist/spec/dev/start.js.map +1 -1
  35. package/dist/spec/graphql/query-distiller.spec.js +104 -101
  36. package/dist/spec/graphql/query-distiller.spec.js.map +1 -1
  37. package/dist/spec/helpers/log4js-logger-provider.js +3 -2
  38. package/dist/spec/helpers/log4js-logger-provider.js.map +1 -1
  39. package/dist/spec/meta-schema/meta-schema.spec.js +23 -23
  40. package/dist/spec/meta-schema/meta-schema.spec.js.map +1 -1
  41. package/dist/spec/model/create-model.spec.js +59 -59
  42. package/dist/spec/model/create-model.spec.js.map +1 -1
  43. package/dist/spec/model/implementation/billing-validation.spec.js +92 -74
  44. package/dist/spec/model/implementation/billing-validation.spec.js.map +1 -1
  45. package/dist/spec/model/implementation/collect-path.spec.js +131 -119
  46. package/dist/spec/model/implementation/collect-path.spec.js.map +1 -1
  47. package/dist/spec/model/implementation/entity-extenion-type.spec.js +21 -21
  48. package/dist/spec/model/implementation/entity-extenion-type.spec.js.map +1 -1
  49. package/dist/spec/model/implementation/field.spec.js +169 -166
  50. package/dist/spec/model/implementation/field.spec.js.map +1 -1
  51. package/dist/spec/model/implementation/flex-search-validation.spec.js +35 -31
  52. package/dist/spec/model/implementation/flex-search-validation.spec.js.map +1 -1
  53. package/dist/spec/model/implementation/i18n-fields.spec.js +107 -66
  54. package/dist/spec/model/implementation/i18n-fields.spec.js.map +1 -1
  55. package/dist/spec/model/implementation/i18n-types.spec.js +67 -56
  56. package/dist/spec/model/implementation/i18n-types.spec.js.map +1 -1
  57. package/dist/spec/model/implementation/i18n-validation.spec.js +74 -44
  58. package/dist/spec/model/implementation/i18n-validation.spec.js.map +1 -1
  59. package/dist/spec/model/implementation/indices.spec.js +34 -29
  60. package/dist/spec/model/implementation/indices.spec.js.map +1 -1
  61. package/dist/spec/model/implementation/model.spec.js +37 -35
  62. package/dist/spec/model/implementation/model.spec.js.map +1 -1
  63. package/dist/spec/model/implementation/namespace.spec.js +102 -54
  64. package/dist/spec/model/implementation/namespace.spec.js.map +1 -1
  65. package/dist/spec/model/implementation/object-type.spec.js +22 -20
  66. package/dist/spec/model/implementation/object-type.spec.js.map +1 -1
  67. package/dist/spec/model/implementation/relation.spec.js +26 -26
  68. package/dist/spec/model/implementation/relation.spec.js.map +1 -1
  69. package/dist/spec/model/implementation/root-entity-type.spec.js +167 -157
  70. package/dist/spec/model/implementation/root-entity-type.spec.js.map +1 -1
  71. package/dist/spec/model/implementation/type.spec.js +10 -10
  72. package/dist/spec/model/implementation/type.spec.js.map +1 -1
  73. package/dist/spec/model/implementation/validation-utils.js +4 -4
  74. package/dist/spec/model/implementation/validation-utils.js.map +1 -1
  75. package/dist/spec/model/model-spec.helper.js +10 -10
  76. package/dist/spec/model/model-spec.helper.js.map +1 -1
  77. package/dist/spec/performance/associations.perf.js +18 -10
  78. package/dist/spec/performance/associations.perf.js.map +1 -1
  79. package/dist/spec/performance/count.perf.js +7 -5
  80. package/dist/spec/performance/count.perf.js.map +1 -1
  81. package/dist/spec/performance/crud.perf.js +28 -20
  82. package/dist/spec/performance/crud.perf.js.map +1 -1
  83. package/dist/spec/performance/filter.perf.js +4 -4
  84. package/dist/spec/performance/filter.perf.js.map +1 -1
  85. package/dist/spec/performance/index.js +2 -2
  86. package/dist/spec/performance/index.js.map +1 -1
  87. package/dist/spec/performance/pagination.perf.js +6 -4
  88. package/dist/spec/performance/pagination.perf.js.map +1 -1
  89. package/dist/spec/performance/query-pipeline.perf.js +61 -26
  90. package/dist/spec/performance/query-pipeline.perf.js.map +1 -1
  91. package/dist/spec/performance/references.perf.js +7 -7
  92. package/dist/spec/performance/references.perf.js.map +1 -1
  93. package/dist/spec/performance/support/async-bench.js +43 -17
  94. package/dist/spec/performance/support/async-bench.js.map +1 -1
  95. package/dist/spec/performance/support/helpers.js +16 -15
  96. package/dist/spec/performance/support/helpers.js.map +1 -1
  97. package/dist/spec/performance/support/runner.js +16 -15
  98. package/dist/spec/performance/support/runner.js.map +1 -1
  99. package/dist/spec/project/project.spec.js +2 -2
  100. package/dist/spec/project/project.spec.js.map +1 -1
  101. package/dist/spec/query-tree/utils/simplify-booleans.spec.js +21 -21
  102. package/dist/spec/query-tree/utils/simplify-booleans.spec.js.map +1 -1
  103. package/dist/spec/regression/drop-test-db.js +1 -1
  104. package/dist/spec/regression/drop-test-db.js.map +1 -1
  105. package/dist/spec/regression/initialization.js +13 -13
  106. package/dist/spec/regression/initialization.js.map +1 -1
  107. package/dist/spec/regression/regression-suite.js +42 -37
  108. package/dist/spec/regression/regression-suite.js.map +1 -1
  109. package/dist/spec/regression/regressions.spec.js +11 -13
  110. package/dist/spec/regression/regressions.spec.js.map +1 -1
  111. package/dist/spec/schema/ast-validation-modules/business-object.spec.js +2 -2
  112. package/dist/spec/schema/ast-validation-modules/business-object.spec.js.map +1 -1
  113. package/dist/spec/schema/ast-validation-modules/check-directed-relation-edges-validator.spec.js +9 -9
  114. package/dist/spec/schema/ast-validation-modules/check-directed-relation-edges-validator.spec.js.map +1 -1
  115. package/dist/spec/schema/ast-validation-modules/collect-validation.spec.js +58 -58
  116. package/dist/spec/schema/ast-validation-modules/collect-validation.spec.js.map +1 -1
  117. package/dist/spec/schema/ast-validation-modules/entity-directive-nesting-validator.spec.js +14 -14
  118. package/dist/spec/schema/ast-validation-modules/entity-directive-nesting-validator.spec.js.map +1 -1
  119. package/dist/spec/schema/ast-validation-modules/flex-search.spec.js +1 -1
  120. package/dist/spec/schema/ast-validation-modules/flex-search.spec.js.map +1 -1
  121. package/dist/spec/schema/ast-validation-modules/helpers.js +25 -25
  122. package/dist/spec/schema/ast-validation-modules/helpers.js.map +1 -1
  123. package/dist/spec/schema/ast-validation-modules/illegal-enum-values.spec.js +3 -3
  124. package/dist/spec/schema/ast-validation-modules/illegal-enum-values.spec.js.map +1 -1
  125. package/dist/spec/schema/ast-validation-modules/indices-validator.spec.js +18 -18
  126. package/dist/spec/schema/ast-validation-modules/indices-validator.spec.js.map +1 -1
  127. package/dist/spec/schema/ast-validation-modules/key-field-validator.spec.js +20 -20
  128. package/dist/spec/schema/ast-validation-modules/key-field-validator.spec.js.map +1 -1
  129. package/dist/spec/schema/ast-validation-modules/known-field-directive-validator.spec.js +3 -3
  130. package/dist/spec/schema/ast-validation-modules/known-field-directive-validator.spec.js.map +1 -1
  131. package/dist/spec/schema/ast-validation-modules/known-object-type-directive-validator.spec.js +6 -6
  132. package/dist/spec/schema/ast-validation-modules/known-object-type-directive-validator.spec.js.map +1 -1
  133. package/dist/spec/schema/ast-validation-modules/no-duplicate-types-validator.spec.js +5 -5
  134. package/dist/spec/schema/ast-validation-modules/no-duplicate-types-validator.spec.js.map +1 -1
  135. package/dist/spec/schema/ast-validation-modules/no-lists-of-lists-validator.spec.js +3 -3
  136. package/dist/spec/schema/ast-validation-modules/no-lists-of-lists-validator.spec.js.map +1 -1
  137. package/dist/spec/schema/ast-validation-modules/no-lists-of-references-validator.spec.js +2 -2
  138. package/dist/spec/schema/ast-validation-modules/no-lists-of-references-validator.spec.js.map +1 -1
  139. package/dist/spec/schema/ast-validation-modules/no-unused-non-root-object-types-validator.spec.js +2 -2
  140. package/dist/spec/schema/ast-validation-modules/no-unused-non-root-object-types-validator.spec.js.map +1 -1
  141. package/dist/spec/schema/ast-validation-modules/non-unique-fields-validator.spec.js +4 -4
  142. package/dist/spec/schema/ast-validation-modules/non-unique-fields-validator.spec.js.map +1 -1
  143. package/dist/spec/schema/ast-validation-modules/object-directive-count-validator.spec.js +6 -6
  144. package/dist/spec/schema/ast-validation-modules/object-directive-count-validator.spec.js.map +1 -1
  145. package/dist/spec/schema/ast-validation-modules/only-allowed-types-validator.spec.js +6 -6
  146. package/dist/spec/schema/ast-validation-modules/only-allowed-types-validator.spec.js.map +1 -1
  147. package/dist/spec/schema/ast-validation-modules/parent-field.spec.js +31 -31
  148. package/dist/spec/schema/ast-validation-modules/parent-field.spec.js.map +1 -1
  149. package/dist/spec/schema/ast-validation-modules/references-only-to-root-entities-with-key-field-validator.spec.js +3 -3
  150. package/dist/spec/schema/ast-validation-modules/references-only-to-root-entities-with-key-field-validator.spec.js.map +1 -1
  151. package/dist/spec/schema/ast-validation-modules/references-with-key-field.spec.js +8 -8
  152. package/dist/spec/schema/ast-validation-modules/references-with-key-field.spec.js.map +1 -1
  153. package/dist/spec/schema/ast-validation-modules/relations-only-in-root-entities-validator.spec.js +2 -2
  154. package/dist/spec/schema/ast-validation-modules/relations-only-in-root-entities-validator.spec.js.map +1 -1
  155. package/dist/spec/schema/ast-validation-modules/relations-only-to-root-entities-validator.spec.js +2 -2
  156. package/dist/spec/schema/ast-validation-modules/relations-only-to-root-entities-validator.spec.js.map +1 -1
  157. package/dist/spec/schema/ast-validation-modules/relations.spec.js +16 -16
  158. package/dist/spec/schema/ast-validation-modules/relations.spec.js.map +1 -1
  159. package/dist/spec/schema/ast-validation-modules/roles-and-permission-profile-combined.spec.js +6 -6
  160. package/dist/spec/schema/ast-validation-modules/roles-and-permission-profile-combined.spec.js.map +1 -1
  161. package/dist/spec/schema/ast-validation-modules/roles-on-non-root-entity-types.spec.js +4 -4
  162. package/dist/spec/schema/ast-validation-modules/roles-on-non-root-entity-types.spec.js.map +1 -1
  163. package/dist/spec/schema/ast-validation-modules/root-entities-without-read-roles.spec.js +3 -3
  164. package/dist/spec/schema/ast-validation-modules/root-entities-without-read-roles.spec.js.map +1 -1
  165. package/dist/spec/schema/ast-validation-modules/root-field.spec.js +28 -28
  166. package/dist/spec/schema/ast-validation-modules/root-field.spec.js.map +1 -1
  167. package/dist/spec/schema/ast-validation-modules/undefined-permission-profile.spec.js +26 -22
  168. package/dist/spec/schema/ast-validation-modules/undefined-permission-profile.spec.js.map +1 -1
  169. package/dist/spec/schema/ast-validation-modules/undefined-types.spec.js +6 -6
  170. package/dist/spec/schema/ast-validation-modules/undefined-types.spec.js.map +1 -1
  171. package/dist/spec/schema/preparation/ast-transformation-modules/add-namespaces-to-types-transformer.spec.js +19 -15
  172. package/dist/spec/schema/preparation/ast-transformation-modules/add-namespaces-to-types-transformer.spec.js.map +1 -1
  173. package/dist/spec/schema/scalars/date-time.spec.js +9 -9
  174. package/dist/spec/schema/scalars/date-time.spec.js.map +1 -1
  175. package/dist/spec/schema/scalars/fixed-point-decimals.spec.js +18 -18
  176. package/dist/spec/schema/scalars/fixed-point-decimals.spec.js.map +1 -1
  177. package/dist/spec/schema/scalars/int53.spec.js +11 -11
  178. package/dist/spec/schema/scalars/int53.spec.js.map +1 -1
  179. package/dist/spec/schema/scalars/local-date.spec.js +3 -6
  180. package/dist/spec/schema/scalars/local-date.spec.js.map +1 -1
  181. package/dist/spec/schema/scalars/local-time.spec.js +3 -3
  182. package/dist/spec/schema/scalars/local-time.spec.js.map +1 -1
  183. package/dist/spec/schema/scalars/offset-date-time.spec.js +14 -14
  184. package/dist/spec/schema/scalars/offset-date-time.spec.js.map +1 -1
  185. package/dist/spec/schema/scalars/string-map.spec.js +69 -69
  186. package/dist/spec/schema/scalars/string-map.spec.js.map +1 -1
  187. package/dist/spec/schema/schema-builder.spec.js +38 -38
  188. package/dist/spec/schema/schema-builder.spec.js.map +1 -1
  189. package/dist/spec/schema/source-validation-modules/check-graphql-syntax.spec.js +15 -15
  190. package/dist/spec/schema/source-validation-modules/check-graphql-syntax.spec.js.map +1 -1
  191. package/dist/spec/schema/source-validation-modules/check-json-syntax.spec.js +18 -18
  192. package/dist/spec/schema/source-validation-modules/check-json-syntax.spec.js.map +1 -1
  193. package/dist/spec/schema/source-validation-modules/check-yaml-syntax.spec.js +15 -15
  194. package/dist/spec/schema/source-validation-modules/check-yaml-syntax.spec.js.map +1 -1
  195. package/dist/spec/schema/source-validation-modules/graphql-rules.spec.js +24 -24
  196. package/dist/spec/schema/source-validation-modules/graphql-rules.spec.js.map +1 -1
  197. package/dist/spec/schema/source-validation-modules/permission-profile-validator.spec.js +34 -34
  198. package/dist/spec/schema/source-validation-modules/permission-profile-validator.spec.js.map +1 -1
  199. package/dist/spec/schema/source-validation-modules/sidecar-schema.spec.js +24 -24
  200. package/dist/spec/schema/source-validation-modules/sidecar-schema.spec.js.map +1 -1
  201. package/dist/spec/schema/source-validation-modules/source-validation-helper.js +1 -1
  202. package/dist/spec/schema/source-validation-modules/source-validation-helper.js.map +1 -1
  203. package/dist/spec/schema/source-validation-modules/yaml-parser.spec.js +31 -26
  204. package/dist/spec/schema/source-validation-modules/yaml-parser.spec.js.map +1 -1
  205. package/dist/spec/schema-generation/create-input-type-generator.spec.js +136 -125
  206. package/dist/spec/schema-generation/create-input-type-generator.spec.js.map +1 -1
  207. package/dist/spec/schema-generation/createdat-updatedat-modification.spec.js +21 -21
  208. package/dist/spec/schema-generation/createdat-updatedat-modification.spec.js.map +1 -1
  209. package/dist/spec/schema-generation/enum-type-generator.spec.js +5 -5
  210. package/dist/spec/schema-generation/enum-type-generator.spec.js.map +1 -1
  211. package/dist/spec/schema-generation/memorize-decorator.spec.js +4 -4
  212. package/dist/spec/schema-generation/memorize-decorator.spec.js.map +1 -1
  213. package/dist/spec/schema-generation/order-by-enum-generator.spec.js +38 -38
  214. package/dist/spec/schema-generation/order-by-enum-generator.spec.js.map +1 -1
  215. package/dist/spec/utils/group-by-equivalence.spec.js +2 -2
  216. package/dist/spec/utils/group-by-equivalence.spec.js.map +1 -1
  217. package/dist/spec/utils/utils.spec.js +5 -5
  218. package/dist/spec/utils/utils.spec.js.map +1 -1
  219. package/dist/spec/utils/visitor.spec.js +32 -26
  220. package/dist/spec/utils/visitor.spec.js.map +1 -1
  221. package/dist/src/authorization/execution.js +18 -12
  222. package/dist/src/authorization/execution.js.map +1 -1
  223. package/dist/src/authorization/move-errors-to-output-nodes.js +17 -11
  224. package/dist/src/authorization/move-errors-to-output-nodes.js.map +1 -1
  225. package/dist/src/authorization/permission-descriptors-in-model.js.map +1 -1
  226. package/dist/src/authorization/permission-descriptors.js +10 -7
  227. package/dist/src/authorization/permission-descriptors.js.map +1 -1
  228. package/dist/src/authorization/transformers/affected-field-info.js +1 -1
  229. package/dist/src/authorization/transformers/affected-field-info.js.map +1 -1
  230. package/dist/src/authorization/transformers/create-entities.js +7 -7
  231. package/dist/src/authorization/transformers/create-entities.js.map +1 -1
  232. package/dist/src/authorization/transformers/create-entity.js +6 -6
  233. package/dist/src/authorization/transformers/create-entity.js.map +1 -1
  234. package/dist/src/authorization/transformers/entities.js +6 -6
  235. package/dist/src/authorization/transformers/entities.js.map +1 -1
  236. package/dist/src/authorization/transformers/field.js +2 -2
  237. package/dist/src/authorization/transformers/field.js.map +1 -1
  238. package/dist/src/authorization/transformers/follow-edge.js +3 -3
  239. package/dist/src/authorization/transformers/follow-edge.js.map +1 -1
  240. package/dist/src/authorization/transformers/index.js.map +1 -1
  241. package/dist/src/authorization/transformers/traversal.js +6 -6
  242. package/dist/src/authorization/transformers/traversal.js.map +1 -1
  243. package/dist/src/authorization/transformers/update-delete-entities.js +15 -11
  244. package/dist/src/authorization/transformers/update-delete-entities.js.map +1 -1
  245. package/dist/src/config/logging.d.ts +1 -1
  246. package/dist/src/config/logging.js.map +1 -1
  247. package/dist/src/database/arangodb/aql-generator.d.ts +2 -2
  248. package/dist/src/database/arangodb/aql-generator.js +263 -248
  249. package/dist/src/database/arangodb/aql-generator.js.map +1 -1
  250. package/dist/src/database/arangodb/aql.js +26 -16
  251. package/dist/src/database/arangodb/aql.js.map +1 -1
  252. package/dist/src/database/arangodb/arango-basics.js +1 -1
  253. package/dist/src/database/arangodb/arango-basics.js.map +1 -1
  254. package/dist/src/database/arangodb/arangodb-adapter.js +89 -61
  255. package/dist/src/database/arangodb/arangodb-adapter.js.map +1 -1
  256. package/dist/src/database/arangodb/arangojs-instrumentation/custom-connection.js +10 -16
  257. package/dist/src/database/arangodb/arangojs-instrumentation/custom-connection.js.map +1 -1
  258. package/dist/src/database/arangodb/arangojs-instrumentation/custom-request.js +7 -7
  259. package/dist/src/database/arangodb/arangojs-instrumentation/custom-request.js.map +1 -1
  260. package/dist/src/database/arangodb/cancellation-manager.js +1 -1
  261. package/dist/src/database/arangodb/cancellation-manager.js.map +1 -1
  262. package/dist/src/database/arangodb/config.js +1 -1
  263. package/dist/src/database/arangodb/index.d.ts +1 -1
  264. package/dist/src/database/arangodb/index.js.map +1 -1
  265. package/dist/src/database/arangodb/revision-helper.js +6 -5
  266. package/dist/src/database/arangodb/revision-helper.js.map +1 -1
  267. package/dist/src/database/arangodb/schema-migration/analyzer.js +21 -15
  268. package/dist/src/database/arangodb/schema-migration/analyzer.js.map +1 -1
  269. package/dist/src/database/arangodb/schema-migration/arango-search-helpers.js +20 -12
  270. package/dist/src/database/arangodb/schema-migration/arango-search-helpers.js.map +1 -1
  271. package/dist/src/database/arangodb/schema-migration/index-helpers.js +15 -13
  272. package/dist/src/database/arangodb/schema-migration/index-helpers.js.map +1 -1
  273. package/dist/src/database/arangodb/schema-migration/migrations.js +4 -4
  274. package/dist/src/database/arangodb/schema-migration/migrations.js.map +1 -1
  275. package/dist/src/database/arangodb/schema-migration/performer.js +11 -9
  276. package/dist/src/database/arangodb/schema-migration/performer.js.map +1 -1
  277. package/dist/src/database/arangodb/version-helper.js +2 -2
  278. package/dist/src/database/arangodb/version-helper.js.map +1 -1
  279. package/dist/src/database/inmemory/inmemory-adapter.js +8 -5
  280. package/dist/src/database/inmemory/inmemory-adapter.js.map +1 -1
  281. package/dist/src/database/inmemory/inmemory-basics.js +1 -1
  282. package/dist/src/database/inmemory/inmemory-basics.js.map +1 -1
  283. package/dist/src/database/inmemory/js-generator.js +177 -171
  284. package/dist/src/database/inmemory/js-generator.js.map +1 -1
  285. package/dist/src/database/inmemory/js.js +43 -26
  286. package/dist/src/database/inmemory/js.js.map +1 -1
  287. package/dist/src/database/like-helpers.d.ts +1 -1
  288. package/dist/src/database/like-helpers.js +8 -6
  289. package/dist/src/database/like-helpers.js.map +1 -1
  290. package/dist/src/execution/operation-resolver.js +12 -9
  291. package/dist/src/execution/operation-resolver.js.map +1 -1
  292. package/dist/src/execution/runtime-errors.js +3 -1
  293. package/dist/src/execution/runtime-errors.js.map +1 -1
  294. package/dist/src/execution/schema-executor.js +22 -14
  295. package/dist/src/execution/schema-executor.js.map +1 -1
  296. package/dist/src/graphql/alias-based-resolvers.js +3 -3
  297. package/dist/src/graphql/alias-based-resolvers.js.map +1 -1
  298. package/dist/src/graphql/argument-values.js +3 -3
  299. package/dist/src/graphql/argument-values.js.map +1 -1
  300. package/dist/src/graphql/field-collection.js +4 -4
  301. package/dist/src/graphql/field-collection.js.map +1 -1
  302. package/dist/src/graphql/kinds.js.map +1 -1
  303. package/dist/src/graphql/language-utils.js +65 -60
  304. package/dist/src/graphql/language-utils.js.map +1 -1
  305. package/dist/src/graphql/operation-based-resolvers.d.ts +1 -1
  306. package/dist/src/graphql/operation-based-resolvers.js +10 -8
  307. package/dist/src/graphql/operation-based-resolvers.js.map +1 -1
  308. package/dist/src/graphql/operations.js +2 -2
  309. package/dist/src/graphql/operations.js.map +1 -1
  310. package/dist/src/graphql/query-distiller.js +25 -22
  311. package/dist/src/graphql/query-distiller.js.map +1 -1
  312. package/dist/src/graphql/schema-utils.js +1 -1
  313. package/dist/src/graphql/schema-utils.js.map +1 -1
  314. package/dist/src/graphql/value-from-ast.js +2 -2
  315. package/dist/src/graphql/value-from-ast.js.map +1 -1
  316. package/dist/src/meta-schema/meta-schema.js +28 -15
  317. package/dist/src/meta-schema/meta-schema.js.map +1 -1
  318. package/dist/src/model/create-model.js +89 -77
  319. package/dist/src/model/create-model.js.map +1 -1
  320. package/dist/src/model/implementation/billing.js +14 -11
  321. package/dist/src/model/implementation/billing.js.map +1 -1
  322. package/dist/src/model/implementation/built-in-types.js +14 -7
  323. package/dist/src/model/implementation/built-in-types.js.map +1 -1
  324. package/dist/src/model/implementation/child-entity-type.js +6 -5
  325. package/dist/src/model/implementation/child-entity-type.js.map +1 -1
  326. package/dist/src/model/implementation/collect-path.js +11 -11
  327. package/dist/src/model/implementation/collect-path.js.map +1 -1
  328. package/dist/src/model/implementation/entity-extension-type.js +2 -2
  329. package/dist/src/model/implementation/entity-extension-type.js.map +1 -1
  330. package/dist/src/model/implementation/enum-type.js +1 -1
  331. package/dist/src/model/implementation/enum-type.js.map +1 -1
  332. package/dist/src/model/implementation/field-path.js +4 -4
  333. package/dist/src/model/implementation/field-path.js.map +1 -1
  334. package/dist/src/model/implementation/field.js +49 -23
  335. package/dist/src/model/implementation/field.js.map +1 -1
  336. package/dist/src/model/implementation/i18n.d.ts +2 -2
  337. package/dist/src/model/implementation/i18n.js +41 -33
  338. package/dist/src/model/implementation/i18n.js.map +1 -1
  339. package/dist/src/model/implementation/indices.js.map +1 -1
  340. package/dist/src/model/implementation/model.js +15 -9
  341. package/dist/src/model/implementation/model.js.map +1 -1
  342. package/dist/src/model/implementation/namespace.js +24 -23
  343. package/dist/src/model/implementation/namespace.js.map +1 -1
  344. package/dist/src/model/implementation/object-type-base.js +6 -9
  345. package/dist/src/model/implementation/object-type-base.js.map +1 -1
  346. package/dist/src/model/implementation/permission-profile.js +8 -4
  347. package/dist/src/model/implementation/permission-profile.js.map +1 -1
  348. package/dist/src/model/implementation/relation.js.map +1 -1
  349. package/dist/src/model/implementation/roles-specifier.js +1 -1
  350. package/dist/src/model/implementation/roles-specifier.js.map +1 -1
  351. package/dist/src/model/implementation/root-entity-type.js +31 -16
  352. package/dist/src/model/implementation/root-entity-type.js.map +1 -1
  353. package/dist/src/model/implementation/time-to-live.js +5 -5
  354. package/dist/src/model/implementation/time-to-live.js.map +1 -1
  355. package/dist/src/model/implementation/type-base.js +2 -2
  356. package/dist/src/model/implementation/type-base.js.map +1 -1
  357. package/dist/src/model/implementation/type.js +1 -1
  358. package/dist/src/model/index.js.map +1 -1
  359. package/dist/src/model/parse-billing.js +3 -3
  360. package/dist/src/model/parse-billing.js.map +1 -1
  361. package/dist/src/model/parse-i18n.js +9 -9
  362. package/dist/src/model/parse-i18n.js.map +1 -1
  363. package/dist/src/model/parse-ttl.js +1 -1
  364. package/dist/src/model/utils/emedding-entity-types.js +12 -6
  365. package/dist/src/model/utils/emedding-entity-types.js.map +1 -1
  366. package/dist/src/model/validation/index.js.map +1 -1
  367. package/dist/src/model/validation/message.js +4 -4
  368. package/dist/src/model/validation/message.js.map +1 -1
  369. package/dist/src/model/validation/result.js +7 -7
  370. package/dist/src/model/validation/result.js.map +1 -1
  371. package/dist/src/model/validation/validation-context.js +1 -1
  372. package/dist/src/model/validation/validation-context.js.map +1 -1
  373. package/dist/src/project/project-from-fs.js +9 -14
  374. package/dist/src/project/project-from-fs.js.map +1 -1
  375. package/dist/src/project/project.js +13 -10
  376. package/dist/src/project/project.js.map +1 -1
  377. package/dist/src/project/source.js.map +1 -1
  378. package/dist/src/project/time-to-live.js +13 -13
  379. package/dist/src/project/time-to-live.js.map +1 -1
  380. package/dist/src/query-tree/base.js +1 -1
  381. package/dist/src/query-tree/base.js.map +1 -1
  382. package/dist/src/query-tree/errors.js +5 -3
  383. package/dist/src/query-tree/errors.js.map +1 -1
  384. package/dist/src/query-tree/flex-search.js +12 -7
  385. package/dist/src/query-tree/flex-search.js.map +1 -1
  386. package/dist/src/query-tree/index.js.map +1 -1
  387. package/dist/src/query-tree/lists.js +7 -5
  388. package/dist/src/query-tree/lists.js.map +1 -1
  389. package/dist/src/query-tree/literals.js +4 -2
  390. package/dist/src/query-tree/literals.js.map +1 -1
  391. package/dist/src/query-tree/mutations.js +11 -8
  392. package/dist/src/query-tree/mutations.js.map +1 -1
  393. package/dist/src/query-tree/objects.js +5 -3
  394. package/dist/src/query-tree/objects.js.map +1 -1
  395. package/dist/src/query-tree/operators.js.map +1 -1
  396. package/dist/src/query-tree/pre-exec.d.ts +1 -1
  397. package/dist/src/query-tree/pre-exec.js +12 -8
  398. package/dist/src/query-tree/pre-exec.js.map +1 -1
  399. package/dist/src/query-tree/quantifiers.js.map +1 -1
  400. package/dist/src/query-tree/queries.js +9 -8
  401. package/dist/src/query-tree/queries.js.map +1 -1
  402. package/dist/src/query-tree/type-check.js.map +1 -1
  403. package/dist/src/query-tree/utils/extract-variable-assignments.js +4 -5
  404. package/dist/src/query-tree/utils/extract-variable-assignments.js.map +1 -1
  405. package/dist/src/query-tree/utils/simplify-booleans.js.map +1 -1
  406. package/dist/src/query-tree/utils/static-evaluation.js +2 -2
  407. package/dist/src/query-tree/utils/static-evaluation.js.map +1 -1
  408. package/dist/src/query-tree/validation.js +13 -9
  409. package/dist/src/query-tree/validation.js.map +1 -1
  410. package/dist/src/query-tree/variables.js +3 -3
  411. package/dist/src/query-tree/variables.js.map +1 -1
  412. package/dist/src/query-tree/visitor.js +1 -1
  413. package/dist/src/query-tree/visitor.js.map +1 -1
  414. package/dist/src/schema/graphql-base.js +10 -4
  415. package/dist/src/schema/graphql-base.js.map +1 -1
  416. package/dist/src/schema/names.js +6 -6
  417. package/dist/src/schema/names.js.map +1 -1
  418. package/dist/src/schema/preparation/ast-validation-modules/indices-validator.js +9 -5
  419. package/dist/src/schema/preparation/ast-validation-modules/indices-validator.js.map +1 -1
  420. package/dist/src/schema/preparation/ast-validation-modules/key-field-validator.js +8 -4
  421. package/dist/src/schema/preparation/ast-validation-modules/key-field-validator.js.map +1 -1
  422. package/dist/src/schema/preparation/ast-validation-modules/no-lists-of-lists-validator.js +1 -1
  423. package/dist/src/schema/preparation/ast-validation-modules/no-lists-of-lists-validator.js.map +1 -1
  424. package/dist/src/schema/preparation/ast-validation-modules/no-unused-non-root-object-types-validator.js +4 -4
  425. package/dist/src/schema/preparation/ast-validation-modules/no-unused-non-root-object-types-validator.js.map +1 -1
  426. package/dist/src/schema/preparation/ast-validation-modules/roles-on-non-root-entity-types.js +4 -2
  427. package/dist/src/schema/preparation/ast-validation-modules/roles-on-non-root-entity-types.js.map +1 -1
  428. package/dist/src/schema/preparation/ast-validator.js +5 -5
  429. package/dist/src/schema/preparation/ast-validator.js.map +1 -1
  430. package/dist/src/schema/preparation/pre-merge-ast-transformation-modules/add-namespaces-to-types-transformer.js +15 -13
  431. package/dist/src/schema/preparation/pre-merge-ast-transformation-modules/add-namespaces-to-types-transformer.js.map +1 -1
  432. package/dist/src/schema/preparation/schema-transformation-modules/add-runtime-error-resolvers.js +6 -6
  433. package/dist/src/schema/preparation/schema-transformation-modules/add-runtime-error-resolvers.js.map +1 -1
  434. package/dist/src/schema/preparation/source-validation-modules/graphql-rules.js +9 -5
  435. package/dist/src/schema/preparation/source-validation-modules/graphql-rules.js.map +1 -1
  436. package/dist/src/schema/preparation/source-validation-modules/permission-profile-validator.js +11 -6
  437. package/dist/src/schema/preparation/source-validation-modules/permission-profile-validator.js.map +1 -1
  438. package/dist/src/schema/preparation/source-validation-modules/schema/schema.json +259 -259
  439. package/dist/src/schema/preparation/source-validation-modules/schema/validate-schema.d.ts +1 -1
  440. package/dist/src/schema/preparation/source-validation-modules/schema/validate-schema.js +167 -48
  441. package/dist/src/schema/preparation/source-validation-modules/sidecar-schema.js +3 -2
  442. package/dist/src/schema/preparation/source-validation-modules/sidecar-schema.js.map +1 -1
  443. package/dist/src/schema/preparation/transformation-pipeline.js +4 -8
  444. package/dist/src/schema/preparation/transformation-pipeline.js.map +1 -1
  445. package/dist/src/schema/scalars/date-time.js +6 -9
  446. package/dist/src/schema/scalars/date-time.js.map +1 -1
  447. package/dist/src/schema/scalars/fixed-point-decimals.js +2 -2
  448. package/dist/src/schema/scalars/fixed-point-decimals.js.map +1 -1
  449. package/dist/src/schema/scalars/int53.js +2 -2
  450. package/dist/src/schema/scalars/int53.js.map +1 -1
  451. package/dist/src/schema/scalars/local-date.js +3 -3
  452. package/dist/src/schema/scalars/local-date.js.map +1 -1
  453. package/dist/src/schema/scalars/local-time.js +3 -3
  454. package/dist/src/schema/scalars/local-time.js.map +1 -1
  455. package/dist/src/schema/scalars/offset-date-time.d.ts +1 -1
  456. package/dist/src/schema/scalars/offset-date-time.js +11 -11
  457. package/dist/src/schema/scalars/offset-date-time.js.map +1 -1
  458. package/dist/src/schema/scalars/string-map.js +2 -2
  459. package/dist/src/schema/scalars/string-map.js.map +1 -1
  460. package/dist/src/schema/schema-builder.js +23 -17
  461. package/dist/src/schema/schema-builder.js.map +1 -1
  462. package/dist/src/schema/schema-utils.js +31 -16
  463. package/dist/src/schema/schema-utils.js.map +1 -1
  464. package/dist/src/schema-generation/billing-type-generator.js +25 -22
  465. package/dist/src/schema-generation/billing-type-generator.js.map +1 -1
  466. package/dist/src/schema-generation/create-input-types/generator.js +20 -15
  467. package/dist/src/schema-generation/create-input-types/generator.js.map +1 -1
  468. package/dist/src/schema-generation/create-input-types/input-fields.js +8 -8
  469. package/dist/src/schema-generation/create-input-types/input-fields.js.map +1 -1
  470. package/dist/src/schema-generation/create-input-types/input-types.js +28 -28
  471. package/dist/src/schema-generation/create-input-types/input-types.js.map +1 -1
  472. package/dist/src/schema-generation/create-input-types/relation-fields.js +15 -14
  473. package/dist/src/schema-generation/create-input-types/relation-fields.js.map +1 -1
  474. package/dist/src/schema-generation/delete-all-generator.d.ts +1 -1
  475. package/dist/src/schema-generation/delete-all-generator.js +7 -7
  476. package/dist/src/schema-generation/delete-all-generator.js.map +1 -1
  477. package/dist/src/schema-generation/enum-type-generator.js +5 -5
  478. package/dist/src/schema-generation/enum-type-generator.js.map +1 -1
  479. package/dist/src/schema-generation/field-nodes.js +5 -5
  480. package/dist/src/schema-generation/field-nodes.js.map +1 -1
  481. package/dist/src/schema-generation/field-path-node.js +1 -1
  482. package/dist/src/schema-generation/field-path-node.js.map +1 -1
  483. package/dist/src/schema-generation/filter-augmentation.js +5 -5
  484. package/dist/src/schema-generation/filter-augmentation.js.map +1 -1
  485. package/dist/src/schema-generation/filter-input-types/constants.js +34 -24
  486. package/dist/src/schema-generation/filter-input-types/constants.js.map +1 -1
  487. package/dist/src/schema-generation/filter-input-types/filter-fields.js +33 -21
  488. package/dist/src/schema-generation/filter-input-types/filter-fields.js.map +1 -1
  489. package/dist/src/schema-generation/filter-input-types/generator.js +22 -16
  490. package/dist/src/schema-generation/filter-input-types/generator.js.map +1 -1
  491. package/dist/src/schema-generation/flex-search-filter-input-types/constants.js +33 -28
  492. package/dist/src/schema-generation/flex-search-filter-input-types/constants.js.map +1 -1
  493. package/dist/src/schema-generation/flex-search-filter-input-types/filter-fields.js +39 -20
  494. package/dist/src/schema-generation/flex-search-filter-input-types/filter-fields.js.map +1 -1
  495. package/dist/src/schema-generation/flex-search-filter-input-types/filter-types.js +1 -1
  496. package/dist/src/schema-generation/flex-search-filter-input-types/filter-types.js.map +1 -1
  497. package/dist/src/schema-generation/flex-search-filter-input-types/generator.js +23 -23
  498. package/dist/src/schema-generation/flex-search-filter-input-types/generator.js.map +1 -1
  499. package/dist/src/schema-generation/flex-search-generator.js +30 -24
  500. package/dist/src/schema-generation/flex-search-generator.js.map +1 -1
  501. package/dist/src/schema-generation/flex-search-post-filter-augmentation.js +6 -6
  502. package/dist/src/schema-generation/flex-search-post-filter-augmentation.js.map +1 -1
  503. package/dist/src/schema-generation/graphql-errors.js +1 -1
  504. package/dist/src/schema-generation/graphql-errors.js.map +1 -1
  505. package/dist/src/schema-generation/limit-augmentation.js +3 -4
  506. package/dist/src/schema-generation/limit-augmentation.js.map +1 -1
  507. package/dist/src/schema-generation/list-augmentation.js.map +1 -1
  508. package/dist/src/schema-generation/meta-type-generator.js +3 -3
  509. package/dist/src/schema-generation/meta-type-generator.js.map +1 -1
  510. package/dist/src/schema-generation/mutation-type-generator.js +85 -79
  511. package/dist/src/schema-generation/mutation-type-generator.js.map +1 -1
  512. package/dist/src/schema-generation/order-by-and-pagination-augmentation.js +26 -14
  513. package/dist/src/schema-generation/order-by-and-pagination-augmentation.js.map +1 -1
  514. package/dist/src/schema-generation/order-by-enum-generator.js +27 -19
  515. package/dist/src/schema-generation/order-by-enum-generator.js.map +1 -1
  516. package/dist/src/schema-generation/output-type-generator.js +30 -23
  517. package/dist/src/schema-generation/output-type-generator.js.map +1 -1
  518. package/dist/src/schema-generation/query-node-object-type/convert.js +11 -9
  519. package/dist/src/schema-generation/query-node-object-type/convert.js.map +1 -1
  520. package/dist/src/schema-generation/query-node-object-type/definition.js.map +1 -1
  521. package/dist/src/schema-generation/query-node-object-type/query-node-generator.js +23 -18
  522. package/dist/src/schema-generation/query-node-object-type/query-node-generator.js.map +1 -1
  523. package/dist/src/schema-generation/query-node-object-type/utils.js +4 -4
  524. package/dist/src/schema-generation/query-node-object-type/utils.js.map +1 -1
  525. package/dist/src/schema-generation/query-type-generator.js +16 -13
  526. package/dist/src/schema-generation/query-type-generator.js.map +1 -1
  527. package/dist/src/schema-generation/root-field-helper.js +17 -11
  528. package/dist/src/schema-generation/root-field-helper.js.map +1 -1
  529. package/dist/src/schema-generation/root-types-generator.js +3 -3
  530. package/dist/src/schema-generation/root-types-generator.js.map +1 -1
  531. package/dist/src/schema-generation/schema-generator.js +6 -4
  532. package/dist/src/schema-generation/schema-generator.js.map +1 -1
  533. package/dist/src/schema-generation/typed-input-object-type.js +12 -10
  534. package/dist/src/schema-generation/typed-input-object-type.js.map +1 -1
  535. package/dist/src/schema-generation/unique-field-arguments-generator.js +5 -5
  536. package/dist/src/schema-generation/unique-field-arguments-generator.js.map +1 -1
  537. package/dist/src/schema-generation/update-input-types/generator.js +31 -24
  538. package/dist/src/schema-generation/update-input-types/generator.js.map +1 -1
  539. package/dist/src/schema-generation/update-input-types/input-fields.js +24 -16
  540. package/dist/src/schema-generation/update-input-types/input-fields.js.map +1 -1
  541. package/dist/src/schema-generation/update-input-types/input-types.js +34 -26
  542. package/dist/src/schema-generation/update-input-types/input-types.js.map +1 -1
  543. package/dist/src/schema-generation/update-input-types/relation-fields.js +17 -14
  544. package/dist/src/schema-generation/update-input-types/relation-fields.js.map +1 -1
  545. package/dist/src/schema-generation/utils/billing-nodes.js +5 -5
  546. package/dist/src/schema-generation/utils/billing-nodes.js.map +1 -1
  547. package/dist/src/schema-generation/utils/entities-by-unique-field.js +6 -6
  548. package/dist/src/schema-generation/utils/entities-by-unique-field.js.map +1 -1
  549. package/dist/src/schema-generation/utils/filtering.js +5 -5
  550. package/dist/src/schema-generation/utils/filtering.js.map +1 -1
  551. package/dist/src/schema-generation/utils/flex-search-utils.js +4 -2
  552. package/dist/src/schema-generation/utils/flex-search-utils.js.map +1 -1
  553. package/dist/src/schema-generation/utils/input-types.d.ts +4 -4
  554. package/dist/src/schema-generation/utils/map.js +6 -5
  555. package/dist/src/schema-generation/utils/map.js.map +1 -1
  556. package/dist/src/schema-generation/utils/pagination.js +9 -9
  557. package/dist/src/schema-generation/utils/pagination.js.map +1 -1
  558. package/dist/src/schema-generation/utils/relations.js +43 -43
  559. package/dist/src/schema-generation/utils/relations.js.map +1 -1
  560. package/dist/src/utils/colors.js.map +1 -1
  561. package/dist/src/utils/group-by-equivalence.js.map +1 -1
  562. package/dist/src/utils/utils.d.ts +1 -1
  563. package/dist/src/utils/utils.js +13 -11
  564. package/dist/src/utils/utils.js.map +1 -1
  565. package/dist/src/utils/visitor.js +1 -1
  566. package/dist/src/utils/visitor.js.map +1 -1
  567. package/dist/src/utils/watch.js.map +1 -1
  568. package/docs/api.md +35 -25
  569. package/docs/architecture.md +17 -12
  570. package/docs/billing.md +15 -14
  571. package/docs/flexSearch.md +40 -34
  572. package/docs/i18n.md +24 -22
  573. package/docs/modelling.md +238 -204
  574. package/docs/time-to-live.md +8 -5
  575. package/package.json +114 -110
  576. package/tsconfig.json +28 -28
package/.editorconfig CHANGED
@@ -1,9 +1,12 @@
1
1
  root = true
2
2
 
3
- [{src,example,spec}/**.{ts,json,js}]
4
- end_of_line = lf
3
+ [*]
5
4
  charset = utf-8
6
- trim_trailing_whitespace = true
7
- insert_final_newline = true
8
5
  indent_style = space
9
6
  indent_size = 4
7
+ max_line_length = 100
8
+ end_of_line = lf
9
+ insert_final_newline = true
10
+
11
+ [*.{json,yml,yaml}]
12
+ indent_size = 2
@@ -1,34 +1,46 @@
1
1
  name: CI
2
2
  on: [push, pull_request]
3
3
  jobs:
4
- test:
5
- runs-on: ubuntu-latest
6
- strategy:
7
- matrix:
8
- arango-image: ['arangodb:3.6', 'arangodb:3.7', 'arangodb:3.8', 'arangodb:3.9']
9
- node-version: [14.x, 16.x]
10
- steps:
11
- - uses: actions/checkout@v2
12
- - name: Use Node.js ${{ matrix.node-version }}
13
- uses: actions/setup-node@v1
14
- with:
15
- node-version: ${{ matrix.node-version }}
16
- - run: docker run --name arangodb -p 127.0.0.1:8529:8529 -d -e ARANGO_NO_AUTH=1 ${{ matrix.arango-image }}
17
- - run: timeout 10 docker logs --follow arangodb || true # wait until arangodb is started
18
- - run: curl -L http://localhost:8529/_api/version
19
- - run: npm ci
20
- - run: npm test
21
- deploy:
22
- if: startsWith(github.ref, 'refs/tags/v')
23
- runs-on: ubuntu-latest
24
- needs: test
25
- steps:
26
- - uses: actions/checkout@v2
27
- - uses: actions/setup-node@v1
28
- with:
29
- node-version: 12
30
- registry-url: https://registry.npmjs.org/
31
- - run: npm ci
32
- - run: npm publish --tag next
33
- env:
34
- NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
4
+ test:
5
+ runs-on: ubuntu-latest
6
+ strategy:
7
+ matrix:
8
+ arango-image: ['arangodb:3.6', 'arangodb:3.7', 'arangodb:3.8', 'arangodb:3.9']
9
+ node-version: [14.x, 16.x]
10
+ steps:
11
+ - uses: actions/checkout@v2
12
+ - name: Use Node.js ${{ matrix.node-version }}
13
+ uses: actions/setup-node@v1
14
+ with:
15
+ node-version: ${{ matrix.node-version }}
16
+ - run:
17
+ docker run --name arangodb -p 127.0.0.1:8529:8529 -d -e ARANGO_NO_AUTH=1 ${{
18
+ matrix.arango-image }}
19
+ - run: timeout 10 docker logs --follow arangodb || true # wait until arangodb is started
20
+ - run: curl -L http://localhost:8529/_api/version
21
+ - run: npm ci
22
+ - run: npm test
23
+ audit:
24
+ runs-on: ubuntu-latest
25
+ steps:
26
+ - uses: actions/checkout@v2
27
+ - name: Use Node.js ${{ matrix.node-version }}
28
+ uses: actions/setup-node@v1
29
+ with:
30
+ node-version: ${{ matrix.node-version }}
31
+ - run: npm ci
32
+ - run: npm audit
33
+ deploy:
34
+ if: startsWith(github.ref, 'refs/tags/v')
35
+ runs-on: ubuntu-latest
36
+ needs: test
37
+ steps:
38
+ - uses: actions/checkout@v2
39
+ - uses: actions/setup-node@v1
40
+ with:
41
+ node-version: 16
42
+ registry-url: https://registry.npmjs.org/
43
+ - run: npm ci
44
+ - run: npm publish --tag next
45
+ env:
46
+ NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
@@ -9,14 +9,14 @@
9
9
  # the `language` matrix defined below to confirm you have the correct set of
10
10
  # supported CodeQL languages.
11
11
  #
12
- name: "CodeQL"
12
+ name: 'CodeQL'
13
13
 
14
14
  on:
15
15
  push:
16
- branches: [ master ]
16
+ branches: [main]
17
17
  pull_request:
18
18
  # The branches below must be a subset of the branches above
19
- branches: [ master ]
19
+ branches: [main]
20
20
  schedule:
21
21
  - cron: '24 11 * * 0'
22
22
 
@@ -32,39 +32,39 @@ jobs:
32
32
  strategy:
33
33
  fail-fast: false
34
34
  matrix:
35
- language: [ 'javascript' ]
35
+ language: ['javascript']
36
36
  # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
37
37
  # Learn more about CodeQL language support at https://git.io/codeql-language-support
38
38
 
39
39
  steps:
40
- - name: Checkout repository
41
- uses: actions/checkout@v2
40
+ - name: Checkout repository
41
+ uses: actions/checkout@v2
42
42
 
43
- # Initializes the CodeQL tools for scanning.
44
- - name: Initialize CodeQL
45
- uses: github/codeql-action/init@v1
46
- with:
47
- languages: ${{ matrix.language }}
48
- # If you wish to specify custom queries, you can do so here or in a config file.
49
- # By default, queries listed here will override any specified in a config file.
50
- # Prefix the list here with "+" to use these queries and those in the config file.
51
- # queries: ./path/to/local/query, your-org/your-repo/queries@main
43
+ # Initializes the CodeQL tools for scanning.
44
+ - name: Initialize CodeQL
45
+ uses: github/codeql-action/init@v1
46
+ with:
47
+ languages: ${{ matrix.language }}
48
+ # If you wish to specify custom queries, you can do so here or in a config file.
49
+ # By default, queries listed here will override any specified in a config file.
50
+ # Prefix the list here with "+" to use these queries and those in the config file.
51
+ # queries: ./path/to/local/query, your-org/your-repo/queries@main
52
52
 
53
- # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
54
- # If this step fails, then you should remove it and run the build manually (see below)
55
- - name: Autobuild
56
- uses: github/codeql-action/autobuild@v1
53
+ # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
54
+ # If this step fails, then you should remove it and run the build manually (see below)
55
+ - name: Autobuild
56
+ uses: github/codeql-action/autobuild@v1
57
57
 
58
- # ℹ️ Command-line programs to run using the OS shell.
59
- # 📚 https://git.io/JvXDl
58
+ # ℹ️ Command-line programs to run using the OS shell.
59
+ # 📚 https://git.io/JvXDl
60
60
 
61
- # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
62
- # and modify them (or add more) to build your code if your project
63
- # uses a compiled language
61
+ # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
62
+ # and modify them (or add more) to build your code if your project
63
+ # uses a compiled language
64
64
 
65
- #- run: |
66
- # make bootstrap
67
- # make release
65
+ #- run: |
66
+ # make bootstrap
67
+ # make release
68
68
 
69
- - name: Perform CodeQL Analysis
70
- uses: github/codeql-action/analyze@v1
69
+ - name: Perform CodeQL Analysis
70
+ uses: github/codeql-action/analyze@v1
package/.mocharc.json ADDED
@@ -0,0 +1,7 @@
1
+ {
2
+ "require": [
3
+ "ts-node/register",
4
+ "./spec/init.mocha.ts"
5
+ ],
6
+ "timeout": 5000
7
+ }
@@ -0,0 +1 @@
1
+ package-lock.json
package/.prettierrc CHANGED
@@ -1,6 +1,5 @@
1
1
  {
2
- "tabWidth": 4,
3
2
  "singleQuote": true,
4
- "printWidth": 120,
3
+ "trailingComma": "all",
5
4
  "proseWrap": "always"
6
5
  }
package/README.md CHANGED
@@ -1,16 +1,18 @@
1
1
  # cruddl
2
2
 
3
3
  [![npm version](https://badge.fury.io/js/cruddl.svg)](https://npmjs.org/cruddl)
4
- [![Build Status](https://github.com/AEB-labs/cruddl/workflows/CI/badge.svg)](https://github.com/AEB-labs/cruddl/actions?query=branch%3Amaster)
4
+ [![Build Status](https://github.com/AEB-labs/cruddl/workflows/CI/badge.svg)](https://github.com/AEB-labs/cruddl/actions?query=branch%3Amain)
5
5
  [![Package Quality](https://npm.packagequality.com/shield/cruddl.svg)](https://packagequality.com/#?package=cruddl)
6
6
 
7
- **cruddl** - create a cuddly GraphQL API for your database, using the GraphQL SDL to model your schema.
7
+ **cruddl** - create a cuddly GraphQL API for your database, using the GraphQL SDL to model your
8
+ schema.
8
9
 
9
- This TypeScript library creates an executable GraphQL schema from a model definition and provides queries and mutations
10
- to access a database. Currently, it supports the multi-model database [ArangoDB](https://www.arangodb.com/). The concept
11
- being inspired by existing projects like [prisma](https://github.com/graphcool/prisma) and
12
- [join-monster](https://github.com/stems/join-monster), cruddl exploits the expressiveness of the Arango Query Language
13
- (AQL) to generate one tailored query for each GraphQL request.
10
+ This TypeScript library creates an executable GraphQL schema from a model definition and provides
11
+ queries and mutations to access a database. Currently, it supports the multi-model database
12
+ [ArangoDB](https://www.arangodb.com/). The concept being inspired by existing projects like
13
+ [prisma](https://github.com/graphcool/prisma) and
14
+ [join-monster](https://github.com/stems/join-monster), cruddl exploits the expressiveness of the
15
+ Arango Query Language (AQL) to generate one tailored query for each GraphQL request.
14
16
 
15
17
  **[Try it online](https://aeb-labs.github.io/cruddl/)**
16
18
 
@@ -41,8 +43,8 @@ const db = new ArangoDBAdapter({
41
43
  });
42
44
  ```
43
45
 
44
- If you just want to explore the features, you can also use an in-memory database implementation - but don't use this for
45
- anything else.
46
+ If you just want to explore the features, you can also use an in-memory database implementation -
47
+ but don't use this for anything else.
46
48
 
47
49
  ```typescript
48
50
  import { InMemoryAdapter } from 'cruddl';
@@ -106,10 +108,11 @@ See the [modelling guide](docs/modelling.md) and the [api documentation](docs/ap
106
108
 
107
109
  ### Usage in a browser environment
108
110
 
109
- The core of cruddl perfectly works in a browser (e.g., using webpack), and this can be useful to generate a mock GraphQL
110
- schema on the fly or to validate a cruddl project. However, the ArangoDB adapter only works with node imports like
111
- `path`. Unless you configure webpack to provide mock modules for them, you will get an error when you import `cruddl` in
112
- a webpack environment. To solve this, you can import the core symbols from `cruddl/core` and the `InMemoryAdapter` from
111
+ The core of cruddl perfectly works in a browser (e.g., using webpack), and this can be useful to
112
+ generate a mock GraphQL schema on the fly or to validate a cruddl project. However, the ArangoDB
113
+ adapter only works with node imports like `path`. Unless you configure webpack to provide mock
114
+ modules for them, you will get an error when you import `cruddl` in a webpack environment. To solve
115
+ this, you can import the core symbols from `cruddl/core` and the `InMemoryAdapter` from
113
116
  `cruddl/inmemory`.
114
117
 
115
118
  ## Running Tests
package/cruddl-bench.js CHANGED
@@ -1,2 +1,2 @@
1
- require('ts-node').register({lazy: true, ignore: /node_modules\/(?!@aeb\/)/});
1
+ require('ts-node').register({ lazy: true, ignore: /node_modules\/(?!@aeb\/)/ });
2
2
  require('./spec/performance');
@@ -1,12 +1,12 @@
1
- export { RequestProfile, ProjectOptions, RequestContext, ModelOptions } from './src/config/interfaces';
1
+ export { RequestProfile, ProjectOptions, RequestContext, ModelOptions, } from './src/config/interfaces';
2
2
  export { FieldResolverParameters } from './src/graphql/operation-based-resolvers';
3
3
  export { Project, ProjectConfig } from './src/project/project';
4
4
  export { InvalidProjectError } from './src/project/invalid-project-error';
5
5
  export { ProjectSource, SourceConfig, SourceType, SourceLike } from './src/project/source';
6
6
  export { SchemaExecutor, SchemaExecutionArgs } from './src/execution/schema-executor';
7
- export { ExecutionOptions, MutationMode, ExecutionOptionsCallbackArgs } from './src/execution/execution-options';
7
+ export { ExecutionOptions, MutationMode, ExecutionOptionsCallbackArgs, } from './src/execution/execution-options';
8
8
  export { ExecutionResult } from './src/execution/execution-result';
9
- export { ValidationMessage, Severity, MessageLocation, SourcePosition, ValidationResult, Model } from './src/model';
9
+ export { ValidationMessage, Severity, MessageLocation, SourcePosition, ValidationResult, Model, } from './src/model';
10
10
  export { DatabaseAdapter } from './src/database/database-adapter';
11
11
  export { DIRECTIVES, CORE_SCALARS } from './src/schema/graphql-base';
12
12
  export { Logger, LoggerProvider } from './src/config/logging';
@@ -1 +1 @@
1
- {"version":3,"file":"core-exports.js","sourceRoot":"","sources":["../core-exports.ts"],"names":[],"mappings":";;;;AAEA,iDAA+D;AAAtD,kGAAA,OAAO,OAAA;AAChB,6EAA0E;AAAjE,4HAAA,mBAAmB,OAAA;AAC5B,+CAA2F;AAAlF,uGAAA,aAAa,OAAA;AAAgB,oGAAA,UAAU,OAAA;AAChD,mEAAsF;AAA7E,iHAAA,cAAc,OAAA;AAGvB,qCAAoH;AAA3G,0GAAA,iBAAiB,OAAA;AAAE,iGAAA,QAAQ,OAAA;AAAE,wGAAA,eAAe,OAAA;AAAE,uGAAA,cAAc,OAAA;AAAE,yGAAA,gBAAgB,OAAA;AAAE,8FAAA,KAAK,OAAA;AAE9F,0DAAqE;AAA5D,0GAAA,UAAU,OAAA;AAAE,4GAAA,YAAY,OAAA;AAEjC,iEAAoG;AAA3F,2HAAA,yBAAyB,OAAA;AAAE,yHAAA,uBAAuB,OAAA;AAC3D,qEAA2C;AAC3C,6CAA8C;AAArC,kGAAA,QAAQ,OAAA;AACjB,qFAAqF;AAA5E,uIAAA,0BAA0B,OAAA;AACnC,uEAAqE;AAA5D,qHAAA,gBAAgB,OAAA;AACzB,iEAA+E;AAAtE,+HAAA,6BAA6B,OAAA"}
1
+ {"version":3,"file":"core-exports.js","sourceRoot":"","sources":["../core-exports.ts"],"names":[],"mappings":";;;;AAOA,iDAA+D;AAAtD,kGAAA,OAAO,OAAA;AAChB,6EAA0E;AAAjE,4HAAA,mBAAmB,OAAA;AAC5B,+CAA2F;AAAlF,uGAAA,aAAa,OAAA;AAAgB,oGAAA,UAAU,OAAA;AAChD,mEAAsF;AAA7E,iHAAA,cAAc,OAAA;AAOvB,qCAOqB;AANjB,0GAAA,iBAAiB,OAAA;AACjB,iGAAA,QAAQ,OAAA;AACR,wGAAA,eAAe,OAAA;AACf,uGAAA,cAAc,OAAA;AACd,yGAAA,gBAAgB,OAAA;AAChB,8FAAA,KAAK,OAAA;AAGT,0DAAqE;AAA5D,0GAAA,UAAU,OAAA;AAAE,4GAAA,YAAY,OAAA;AAEjC,iEAAoG;AAA3F,2HAAA,yBAAyB,OAAA;AAAE,yHAAA,uBAAuB,OAAA;AAC3D,qEAA2C;AAC3C,6CAA8C;AAArC,kGAAA,QAAQ,OAAA;AACjB,qFAAqF;AAA5E,uIAAA,0BAA0B,OAAA;AACnC,uEAAqE;AAA5D,qHAAA,gBAAgB,OAAA;AACzB,iEAA+E;AAAtE,+HAAA,6BAA6B,OAAA"}
@@ -9,39 +9,41 @@ describe('move-errors-to-output-nodes', () => {
9
9
  const tree = new query_tree_1.ObjectQueryNode([
10
10
  new query_tree_1.PropertySpecification('prop1', new query_tree_1.TransformListQueryNode({
11
11
  listNode: new query_tree_1.ListQueryNode([]),
12
- filterNode: new query_tree_1.RuntimeErrorQueryNode('filter error')
13
- }))
12
+ filterNode: new query_tree_1.RuntimeErrorQueryNode('filter error'),
13
+ })),
14
14
  ]);
15
- const newTree = move_errors_to_output_nodes_1.moveErrorsToOutputNodes(tree);
16
- chai_1.expect(newTree.properties[0].valueNode.constructor.name).to.equal(query_tree_1.RuntimeErrorQueryNode.name);
15
+ const newTree = (0, move_errors_to_output_nodes_1.moveErrorsToOutputNodes)(tree);
16
+ (0, chai_1.expect)(newTree.properties[0].valueNode.constructor.name).to.equal(query_tree_1.RuntimeErrorQueryNode.name);
17
17
  });
18
18
  it('keeps errors in innerNode', () => {
19
19
  const tree = new query_tree_1.ObjectQueryNode([
20
20
  new query_tree_1.PropertySpecification('prop1', new query_tree_1.TransformListQueryNode({
21
21
  listNode: new query_tree_1.ListQueryNode([]),
22
- innerNode: new query_tree_1.RuntimeErrorQueryNode('filter error')
23
- }))
22
+ innerNode: new query_tree_1.RuntimeErrorQueryNode('filter error'),
23
+ })),
24
24
  ]);
25
- const newTree = move_errors_to_output_nodes_1.moveErrorsToOutputNodes(tree);
26
- const transformList = newTree.properties[0].valueNode;
27
- chai_1.expect(transformList.constructor.name).to.equal(query_tree_1.TransformListQueryNode.name);
28
- chai_1.expect(transformList.innerNode.constructor.name).to.equal(query_tree_1.RuntimeErrorQueryNode.name);
25
+ const newTree = (0, move_errors_to_output_nodes_1.moveErrorsToOutputNodes)(tree);
26
+ const transformList = newTree.properties[0]
27
+ .valueNode;
28
+ (0, chai_1.expect)(transformList.constructor.name).to.equal(query_tree_1.TransformListQueryNode.name);
29
+ (0, chai_1.expect)(transformList.innerNode.constructor.name).to.equal(query_tree_1.RuntimeErrorQueryNode.name);
29
30
  });
30
31
  it('ConditionalQueryNode moves errors in condition up', () => {
31
32
  const tree = new query_tree_1.ObjectQueryNode([
32
- new query_tree_1.PropertySpecification('prop1', new query_tree_1.ConditionalQueryNode(new query_tree_1.RuntimeErrorQueryNode('condition error'), new query_tree_1.TransformListQueryNode({ listNode: new query_tree_1.ListQueryNode([]) }), new query_tree_1.TransformListQueryNode({ listNode: new query_tree_1.ListQueryNode([]) })))
33
+ new query_tree_1.PropertySpecification('prop1', new query_tree_1.ConditionalQueryNode(new query_tree_1.RuntimeErrorQueryNode('condition error'), new query_tree_1.TransformListQueryNode({ listNode: new query_tree_1.ListQueryNode([]) }), new query_tree_1.TransformListQueryNode({ listNode: new query_tree_1.ListQueryNode([]) }))),
33
34
  ]);
34
- const newTree = move_errors_to_output_nodes_1.moveErrorsToOutputNodes(tree);
35
- chai_1.expect(newTree.properties[0].valueNode.constructor.name).to.equal(query_tree_1.RuntimeErrorQueryNode.name);
35
+ const newTree = (0, move_errors_to_output_nodes_1.moveErrorsToOutputNodes)(tree);
36
+ (0, chai_1.expect)(newTree.properties[0].valueNode.constructor.name).to.equal(query_tree_1.RuntimeErrorQueryNode.name);
36
37
  });
37
38
  it('ConditionalQueryNode keeps errors in expression', () => {
38
39
  const tree = new query_tree_1.ObjectQueryNode([
39
- new query_tree_1.PropertySpecification('prop1', new query_tree_1.ConditionalQueryNode(new query_tree_1.ConstBoolQueryNode(true), new query_tree_1.TransformListQueryNode({ listNode: new query_tree_1.ListQueryNode([]) }), new query_tree_1.RuntimeErrorQueryNode('expression error')))
40
+ new query_tree_1.PropertySpecification('prop1', new query_tree_1.ConditionalQueryNode(new query_tree_1.ConstBoolQueryNode(true), new query_tree_1.TransformListQueryNode({ listNode: new query_tree_1.ListQueryNode([]) }), new query_tree_1.RuntimeErrorQueryNode('expression error'))),
40
41
  ]);
41
- const newTree = move_errors_to_output_nodes_1.moveErrorsToOutputNodes(tree);
42
- const conditionalQueryNode = newTree.properties[0].valueNode;
43
- chai_1.expect(conditionalQueryNode.constructor.name).to.equal(query_tree_1.ConditionalQueryNode.name);
44
- chai_1.expect(conditionalQueryNode.expr2.constructor.name).to.equal(query_tree_1.RuntimeErrorQueryNode.name);
42
+ const newTree = (0, move_errors_to_output_nodes_1.moveErrorsToOutputNodes)(tree);
43
+ const conditionalQueryNode = newTree.properties[0]
44
+ .valueNode;
45
+ (0, chai_1.expect)(conditionalQueryNode.constructor.name).to.equal(query_tree_1.ConditionalQueryNode.name);
46
+ (0, chai_1.expect)(conditionalQueryNode.expr2.constructor.name).to.equal(query_tree_1.RuntimeErrorQueryNode.name);
45
47
  });
46
48
  it('WithPreExecutionQueryNode moves errors in condition up', () => {
47
49
  const tree = new query_tree_1.ObjectQueryNode([
@@ -49,13 +51,13 @@ describe('move-errors-to-output-nodes', () => {
49
51
  resultNode: new query_tree_1.TransformListQueryNode({ listNode: new query_tree_1.ListQueryNode([]) }),
50
52
  preExecQueries: [
51
53
  new query_tree_1.PreExecQueryParms({
52
- query: new query_tree_1.RuntimeErrorQueryNode('condition error')
53
- })
54
- ]
55
- }))
54
+ query: new query_tree_1.RuntimeErrorQueryNode('condition error'),
55
+ }),
56
+ ],
57
+ })),
56
58
  ]);
57
- const newTree = move_errors_to_output_nodes_1.moveErrorsToOutputNodes(tree);
58
- chai_1.expect(newTree.properties[0].valueNode.constructor.name).to.equal(query_tree_1.RuntimeErrorQueryNode.name);
59
+ const newTree = (0, move_errors_to_output_nodes_1.moveErrorsToOutputNodes)(tree);
60
+ (0, chai_1.expect)(newTree.properties[0].valueNode.constructor.name).to.equal(query_tree_1.RuntimeErrorQueryNode.name);
59
61
  });
60
62
  it('moves errors in result node up', () => {
61
63
  const tree = new query_tree_1.ObjectQueryNode([
@@ -63,13 +65,13 @@ describe('move-errors-to-output-nodes', () => {
63
65
  resultNode: new query_tree_1.RuntimeErrorQueryNode('resultNode error'),
64
66
  preExecQueries: [
65
67
  new query_tree_1.PreExecQueryParms({
66
- query: new query_tree_1.TransformListQueryNode({ listNode: new query_tree_1.ListQueryNode([]) })
67
- })
68
- ]
69
- }))
68
+ query: new query_tree_1.TransformListQueryNode({ listNode: new query_tree_1.ListQueryNode([]) }),
69
+ }),
70
+ ],
71
+ })),
70
72
  ]);
71
- const newTree = move_errors_to_output_nodes_1.moveErrorsToOutputNodes(tree);
72
- chai_1.expect(newTree.properties[0].valueNode.constructor.name).to.equal(query_tree_1.RuntimeErrorQueryNode.name);
73
+ const newTree = (0, move_errors_to_output_nodes_1.moveErrorsToOutputNodes)(tree);
74
+ (0, chai_1.expect)(newTree.properties[0].valueNode.constructor.name).to.equal(query_tree_1.RuntimeErrorQueryNode.name);
73
75
  });
74
76
  it('do move up necessary error message', () => {
75
77
  const tree = new query_tree_1.ObjectQueryNode([
@@ -77,29 +79,33 @@ describe('move-errors-to-output-nodes', () => {
77
79
  resultNode: new query_tree_1.RuntimeErrorQueryNode('resultNode error'),
78
80
  preExecQueries: [
79
81
  new query_tree_1.PreExecQueryParms({
80
- query: new query_tree_1.RuntimeErrorQueryNode('query error')
81
- })
82
- ]
83
- }))
82
+ query: new query_tree_1.RuntimeErrorQueryNode('query error'),
83
+ }),
84
+ ],
85
+ })),
84
86
  ]);
85
- const newTree = move_errors_to_output_nodes_1.moveErrorsToOutputNodes(tree);
86
- chai_1.expect(newTree.properties[0].valueNode.constructor.name).to.equal(query_tree_1.RuntimeErrorQueryNode.name);
87
- chai_1.expect(newTree.properties[0].valueNode.message).to.equal('query error, resultNode error');
87
+ const newTree = (0, move_errors_to_output_nodes_1.moveErrorsToOutputNodes)(tree);
88
+ (0, chai_1.expect)(newTree.properties[0].valueNode.constructor.name).to.equal(query_tree_1.RuntimeErrorQueryNode.name);
89
+ (0, chai_1.expect)(newTree.properties[0].valueNode.message).to.equal('query error, resultNode error');
88
90
  });
89
91
  it('does not unnecessarily move up error message', () => {
90
92
  const tree = new query_tree_1.ObjectQueryNode([
91
93
  new query_tree_1.PropertySpecification('prop1', new query_tree_1.WithPreExecutionQueryNode({
92
- resultNode: new query_tree_1.ConditionalQueryNode(new query_tree_1.ConstBoolQueryNode(true), new query_tree_1.RuntimeErrorQueryNode(flex_search_generator_1.TOO_MANY_OBJECTS_ERROR, { code: query_tree_1.FLEX_SEARCH_TOO_MANY_OBJECTS }), new query_tree_1.RuntimeErrorQueryNode(flex_search_generator_1.TOO_MANY_OBJECTS_ERROR, { code: query_tree_1.FLEX_SEARCH_TOO_MANY_OBJECTS })),
94
+ resultNode: new query_tree_1.ConditionalQueryNode(new query_tree_1.ConstBoolQueryNode(true), new query_tree_1.RuntimeErrorQueryNode(flex_search_generator_1.TOO_MANY_OBJECTS_ERROR, {
95
+ code: query_tree_1.FLEX_SEARCH_TOO_MANY_OBJECTS,
96
+ }), new query_tree_1.RuntimeErrorQueryNode(flex_search_generator_1.TOO_MANY_OBJECTS_ERROR, {
97
+ code: query_tree_1.FLEX_SEARCH_TOO_MANY_OBJECTS,
98
+ })),
93
99
  preExecQueries: [
94
100
  new query_tree_1.PreExecQueryParms({
95
- query: new query_tree_1.RuntimeErrorQueryNode('query error')
96
- })
97
- ]
98
- }))
101
+ query: new query_tree_1.RuntimeErrorQueryNode('query error'),
102
+ }),
103
+ ],
104
+ })),
99
105
  ]);
100
- const newTree = move_errors_to_output_nodes_1.moveErrorsToOutputNodes(tree);
101
- chai_1.expect(newTree.properties[0].valueNode.constructor.name).to.equal(query_tree_1.RuntimeErrorQueryNode.name);
102
- chai_1.expect(newTree.properties[0].valueNode.message).to.equal('query error');
106
+ const newTree = (0, move_errors_to_output_nodes_1.moveErrorsToOutputNodes)(tree);
107
+ (0, chai_1.expect)(newTree.properties[0].valueNode.constructor.name).to.equal(query_tree_1.RuntimeErrorQueryNode.name);
108
+ (0, chai_1.expect)(newTree.properties[0].valueNode.message).to.equal('query error');
103
109
  });
104
110
  });
105
111
  //# sourceMappingURL=move-errors-to-output-nodes.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"move-errors-to-output-nodes.spec.js","sourceRoot":"","sources":["../../../spec/authorization/move-errors-to-output-nodes.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"move-errors-to-output-nodes.spec.js","sourceRoot":"","sources":["../../../spec/authorization/move-errors-to-output-nodes.spec.ts"],"names":[],"mappings":"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"}
@@ -20,13 +20,13 @@ describe('PermissionDescriptor', () => {
20
20
  const authContext = { authRoles: [] };
21
21
  const operation = auth_basics_1.AccessOperation.READ;
22
22
  it('returns GRANTED if constant true', () => {
23
- chai_1.expect(new MockPermissionDescriptor(query_tree_1.ConstBoolQueryNode.TRUE).canAccess(authContext, operation)).to.equal(permission_descriptors_1.PermissionResult.GRANTED);
23
+ (0, chai_1.expect)(new MockPermissionDescriptor(query_tree_1.ConstBoolQueryNode.TRUE).canAccess(authContext, operation)).to.equal(permission_descriptors_1.PermissionResult.GRANTED);
24
24
  });
25
25
  it('returns DENIED if constant false', () => {
26
- chai_1.expect(new MockPermissionDescriptor(query_tree_1.ConstBoolQueryNode.FALSE).canAccess(authContext, operation)).to.equal(permission_descriptors_1.PermissionResult.DENIED);
26
+ (0, chai_1.expect)(new MockPermissionDescriptor(query_tree_1.ConstBoolQueryNode.FALSE).canAccess(authContext, operation)).to.equal(permission_descriptors_1.PermissionResult.DENIED);
27
27
  });
28
28
  it('returns CONDITIONAL on anything else', () => {
29
- chai_1.expect(new MockPermissionDescriptor(new query_tree_1.LiteralQueryNode(true)).canAccess(authContext, operation)).to.equal(permission_descriptors_1.PermissionResult.CONDITIONAL);
29
+ (0, chai_1.expect)(new MockPermissionDescriptor(new query_tree_1.LiteralQueryNode(true)).canAccess(authContext, operation)).to.equal(permission_descriptors_1.PermissionResult.CONDITIONAL);
30
30
  });
31
31
  });
32
32
  });
@@ -35,14 +35,14 @@ describe('ProfileBasedPermissionDescriptor', () => {
35
35
  permissions: [
36
36
  {
37
37
  access: 'read',
38
- roles: ['theRole']
38
+ roles: ['theRole'],
39
39
  },
40
40
  {
41
41
  access: 'read',
42
42
  roles: ['restricted'],
43
- restrictToAccessGroups: ['groupA', 'groupB']
44
- }
45
- ]
43
+ restrictToAccessGroups: ['groupA', 'groupB'],
44
+ },
45
+ ],
46
46
  });
47
47
  const model = new model_1.Model({
48
48
  types: [
@@ -52,34 +52,34 @@ describe('ProfileBasedPermissionDescriptor', () => {
52
52
  fields: [
53
53
  {
54
54
  name: constants_1.ACCESS_GROUP_FIELD,
55
- typeName: 'String'
56
- }
57
- ]
58
- }
59
- ]
55
+ typeName: 'String',
56
+ },
57
+ ],
58
+ },
59
+ ],
60
60
  });
61
61
  const descriptor = new permission_descriptors_1.ProfileBasedPermissionDescriptor(profile, model.getRootEntityTypeOrThrow('Test'));
62
62
  it('grants access if role matches', () => {
63
- chai_1.expect(descriptor.canAccess({ authRoles: ['theRole', 'other'] }, auth_basics_1.AccessOperation.READ)).to.equal(permission_descriptors_1.PermissionResult.GRANTED);
63
+ (0, chai_1.expect)(descriptor.canAccess({ authRoles: ['theRole', 'other'] }, auth_basics_1.AccessOperation.READ)).to.equal(permission_descriptors_1.PermissionResult.GRANTED);
64
64
  });
65
65
  it('denies access if no role matches', () => {
66
- chai_1.expect(descriptor.canAccess({ authRoles: ['theRole2'] }, auth_basics_1.AccessOperation.READ)).to.equal(permission_descriptors_1.PermissionResult.DENIED);
66
+ (0, chai_1.expect)(descriptor.canAccess({ authRoles: ['theRole2'] }, auth_basics_1.AccessOperation.READ)).to.equal(permission_descriptors_1.PermissionResult.DENIED);
67
67
  });
68
68
  it('denies write access if role matches but has only read permissions', () => {
69
- chai_1.expect(descriptor.canAccess({ authRoles: ['theRole'] }, auth_basics_1.AccessOperation.UPDATE)).to.equal(permission_descriptors_1.PermissionResult.DENIED);
69
+ (0, chai_1.expect)(descriptor.canAccess({ authRoles: ['theRole'] }, auth_basics_1.AccessOperation.UPDATE)).to.equal(permission_descriptors_1.PermissionResult.DENIED);
70
70
  });
71
71
  it('produces conditional QueryNode if only accessGroup-based permissions match', () => {
72
- chai_1.expect(descriptor.canAccess({ authRoles: ['restricted'] }, auth_basics_1.AccessOperation.READ)).to.equal(permission_descriptors_1.PermissionResult.CONDITIONAL);
72
+ (0, chai_1.expect)(descriptor.canAccess({ authRoles: ['restricted'] }, auth_basics_1.AccessOperation.READ)).to.equal(permission_descriptors_1.PermissionResult.CONDITIONAL);
73
73
  const instanceNode = new query_tree_1.VariableQueryNode('instance');
74
74
  const condition = descriptor.getAccessCondition({ authRoles: ['restricted'] }, auth_basics_1.AccessOperation.READ, instanceNode);
75
- chai_1.expect(condition).to.be.an.instanceof(query_tree_1.BinaryOperationQueryNode);
76
- chai_1.expect(condition.lhs).to.be.an.instanceof(query_tree_1.FieldQueryNode);
75
+ (0, chai_1.expect)(condition).to.be.an.instanceof(query_tree_1.BinaryOperationQueryNode);
76
+ (0, chai_1.expect)(condition.lhs).to.be.an.instanceof(query_tree_1.FieldQueryNode);
77
77
  const fieldNode = condition.lhs;
78
- chai_1.expect(fieldNode.objectNode).to.equal(instanceNode);
79
- chai_1.expect(condition.operator).to.equal(query_tree_1.BinaryOperator.IN);
80
- chai_1.expect(condition.rhs).to.be.an.instanceof(query_tree_1.LiteralQueryNode);
81
- chai_1.expect(condition.rhs.value).to.contain('groupA');
82
- chai_1.expect(condition.rhs.value).to.contain('groupB');
78
+ (0, chai_1.expect)(fieldNode.objectNode).to.equal(instanceNode);
79
+ (0, chai_1.expect)(condition.operator).to.equal(query_tree_1.BinaryOperator.IN);
80
+ (0, chai_1.expect)(condition.rhs).to.be.an.instanceof(query_tree_1.LiteralQueryNode);
81
+ (0, chai_1.expect)(condition.rhs.value).to.contain('groupA');
82
+ (0, chai_1.expect)(condition.rhs.value).to.contain('groupB');
83
83
  });
84
84
  });
85
85
  //# sourceMappingURL=permission-descriptor.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"permission-descriptor.spec.js","sourceRoot":"","sources":["../../../spec/authorization/permission-descriptor.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permission-descriptor.spec.js","sourceRoot":"","sources":["../../../spec/authorization/permission-descriptor.spec.ts"],"names":[],"mappings":"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"}