cruddl 3.3.1 → 3.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (331) hide show
  1. package/dist/src/cruddl-version.js +1 -1
  2. package/dist/src/meta-schema/meta-schema.js +19 -17
  3. package/dist/src/meta-schema/meta-schema.js.map +1 -1
  4. package/package.json +1 -1
  5. package/dist/spec/authorization/move-errors-to-output-nodes.spec.d.ts +0 -1
  6. package/dist/spec/authorization/move-errors-to-output-nodes.spec.js +0 -111
  7. package/dist/spec/authorization/move-errors-to-output-nodes.spec.js.map +0 -1
  8. package/dist/spec/authorization/permission-descriptor.spec.d.ts +0 -1
  9. package/dist/spec/authorization/permission-descriptor.spec.js +0 -85
  10. package/dist/spec/authorization/permission-descriptor.spec.js.map +0 -1
  11. package/dist/spec/authorization/permission-profile.spec.d.ts +0 -1
  12. package/dist/spec/authorization/permission-profile.spec.js +0 -110
  13. package/dist/spec/authorization/permission-profile.spec.js.map +0 -1
  14. package/dist/spec/database/arangodb/aql-generator.spec.d.ts +0 -1
  15. package/dist/spec/database/arangodb/aql-generator.spec.js +0 -21
  16. package/dist/spec/database/arangodb/aql-generator.spec.js.map +0 -1
  17. package/dist/spec/database/arangodb/aql.spec.d.ts +0 -1
  18. package/dist/spec/database/arangodb/aql.spec.js +0 -78
  19. package/dist/spec/database/arangodb/aql.spec.js.map +0 -1
  20. package/dist/spec/database/arangodb/arangodb-adapter.spec.d.ts +0 -1
  21. package/dist/spec/database/arangodb/arangodb-adapter.spec.js +0 -192
  22. package/dist/spec/database/arangodb/arangodb-adapter.spec.js.map +0 -1
  23. package/dist/spec/database/arangodb/arangodb-test-utils.d.ts +0 -1
  24. package/dist/spec/database/arangodb/arangodb-test-utils.js +0 -8
  25. package/dist/spec/database/arangodb/arangodb-test-utils.js.map +0 -1
  26. package/dist/spec/database/arangodb/retry.spec.d.ts +0 -1
  27. package/dist/spec/database/arangodb/retry.spec.js +0 -74
  28. package/dist/spec/database/arangodb/retry.spec.js.map +0 -1
  29. package/dist/spec/database/arangodb/schema-migration/arango-search-helper.spec.d.ts +0 -1
  30. package/dist/spec/database/arangodb/schema-migration/arango-search-helper.spec.js +0 -76
  31. package/dist/spec/database/arangodb/schema-migration/arango-search-helper.spec.js.map +0 -1
  32. package/dist/spec/database/arangodb/ttl.spec.d.ts +0 -1
  33. package/dist/spec/database/arangodb/ttl.spec.js +0 -346
  34. package/dist/spec/database/arangodb/ttl.spec.js.map +0 -1
  35. package/dist/spec/database/like-helper.spec.d.ts +0 -1
  36. package/dist/spec/database/like-helper.spec.js +0 -87
  37. package/dist/spec/database/like-helper.spec.js.map +0 -1
  38. package/dist/spec/dev/fast-server.d.ts +0 -4
  39. package/dist/spec/dev/fast-server.js +0 -57
  40. package/dist/spec/dev/fast-server.js.map +0 -1
  41. package/dist/spec/dev/server.d.ts +0 -12
  42. package/dist/spec/dev/server.js +0 -121
  43. package/dist/spec/dev/server.js.map +0 -1
  44. package/dist/spec/dev/start.d.ts +0 -1
  45. package/dist/spec/dev/start.js +0 -10
  46. package/dist/spec/dev/start.js.map +0 -1
  47. package/dist/spec/graphql/query-distiller.spec.d.ts +0 -1
  48. package/dist/spec/graphql/query-distiller.spec.js +0 -220
  49. package/dist/spec/graphql/query-distiller.spec.js.map +0 -1
  50. package/dist/spec/helpers/log4js-logger-provider.d.ts +0 -11
  51. package/dist/spec/helpers/log4js-logger-provider.js +0 -18
  52. package/dist/spec/helpers/log4js-logger-provider.js.map +0 -1
  53. package/dist/spec/init.mocha.d.ts +0 -1
  54. package/dist/spec/init.mocha.js +0 -11
  55. package/dist/spec/init.mocha.js.map +0 -1
  56. package/dist/spec/meta-schema/meta-schema.spec.d.ts +0 -1
  57. package/dist/spec/meta-schema/meta-schema.spec.js +0 -951
  58. package/dist/spec/meta-schema/meta-schema.spec.js.map +0 -1
  59. package/dist/spec/model/create-model.spec.d.ts +0 -1
  60. package/dist/spec/model/create-model.spec.js +0 -158
  61. package/dist/spec/model/create-model.spec.js.map +0 -1
  62. package/dist/spec/model/implementation/billing-validation.spec.d.ts +0 -1
  63. package/dist/spec/model/implementation/billing-validation.spec.js +0 -180
  64. package/dist/spec/model/implementation/billing-validation.spec.js.map +0 -1
  65. package/dist/spec/model/implementation/collect-path.spec.d.ts +0 -1
  66. package/dist/spec/model/implementation/collect-path.spec.js +0 -678
  67. package/dist/spec/model/implementation/collect-path.spec.js.map +0 -1
  68. package/dist/spec/model/implementation/entity-extenion-type.spec.d.ts +0 -1
  69. package/dist/spec/model/implementation/entity-extenion-type.spec.js +0 -71
  70. package/dist/spec/model/implementation/entity-extenion-type.spec.js.map +0 -1
  71. package/dist/spec/model/implementation/field.spec.d.ts +0 -1
  72. package/dist/spec/model/implementation/field.spec.js +0 -648
  73. package/dist/spec/model/implementation/field.spec.js.map +0 -1
  74. package/dist/spec/model/implementation/flex-search-validation.spec.d.ts +0 -1
  75. package/dist/spec/model/implementation/flex-search-validation.spec.js +0 -288
  76. package/dist/spec/model/implementation/flex-search-validation.spec.js.map +0 -1
  77. package/dist/spec/model/implementation/i18n-fields.spec.d.ts +0 -1
  78. package/dist/spec/model/implementation/i18n-fields.spec.js +0 -208
  79. package/dist/spec/model/implementation/i18n-fields.spec.js.map +0 -1
  80. package/dist/spec/model/implementation/i18n-types.spec.d.ts +0 -1
  81. package/dist/spec/model/implementation/i18n-types.spec.js +0 -160
  82. package/dist/spec/model/implementation/i18n-types.spec.js.map +0 -1
  83. package/dist/spec/model/implementation/i18n-validation.spec.d.ts +0 -1
  84. package/dist/spec/model/implementation/i18n-validation.spec.js +0 -210
  85. package/dist/spec/model/implementation/i18n-validation.spec.js.map +0 -1
  86. package/dist/spec/model/implementation/indices.spec.d.ts +0 -1
  87. package/dist/spec/model/implementation/indices.spec.js +0 -96
  88. package/dist/spec/model/implementation/indices.spec.js.map +0 -1
  89. package/dist/spec/model/implementation/model.spec.d.ts +0 -1
  90. package/dist/spec/model/implementation/model.spec.js +0 -101
  91. package/dist/spec/model/implementation/model.spec.js.map +0 -1
  92. package/dist/spec/model/implementation/namespace.spec.d.ts +0 -1
  93. package/dist/spec/model/implementation/namespace.spec.js +0 -231
  94. package/dist/spec/model/implementation/namespace.spec.js.map +0 -1
  95. package/dist/spec/model/implementation/object-type.spec.d.ts +0 -1
  96. package/dist/spec/model/implementation/object-type.spec.js +0 -65
  97. package/dist/spec/model/implementation/object-type.spec.js.map +0 -1
  98. package/dist/spec/model/implementation/relation.spec.d.ts +0 -1
  99. package/dist/spec/model/implementation/relation.spec.js +0 -99
  100. package/dist/spec/model/implementation/relation.spec.js.map +0 -1
  101. package/dist/spec/model/implementation/root-entity-type.spec.d.ts +0 -1
  102. package/dist/spec/model/implementation/root-entity-type.spec.js +0 -470
  103. package/dist/spec/model/implementation/root-entity-type.spec.js.map +0 -1
  104. package/dist/spec/model/implementation/type.spec.d.ts +0 -1
  105. package/dist/spec/model/implementation/type.spec.js +0 -52
  106. package/dist/spec/model/implementation/type.spec.js.map +0 -1
  107. package/dist/spec/model/implementation/validation-utils.d.ts +0 -7
  108. package/dist/spec/model/implementation/validation-utils.js +0 -34
  109. package/dist/spec/model/implementation/validation-utils.js.map +0 -1
  110. package/dist/spec/model/model-spec.helper.d.ts +0 -3
  111. package/dist/spec/model/model-spec.helper.js +0 -35
  112. package/dist/spec/model/model-spec.helper.js.map +0 -1
  113. package/dist/spec/performance/associations.perf.d.ts +0 -3
  114. package/dist/spec/performance/associations.perf.js +0 -78
  115. package/dist/spec/performance/associations.perf.js.map +0 -1
  116. package/dist/spec/performance/count.perf.d.ts +0 -5
  117. package/dist/spec/performance/count.perf.js +0 -52
  118. package/dist/spec/performance/count.perf.js.map +0 -1
  119. package/dist/spec/performance/crud.perf.d.ts +0 -3
  120. package/dist/spec/performance/crud.perf.js +0 -100
  121. package/dist/spec/performance/crud.perf.js.map +0 -1
  122. package/dist/spec/performance/filter.perf.d.ts +0 -3
  123. package/dist/spec/performance/filter.perf.js +0 -32
  124. package/dist/spec/performance/filter.perf.js.map +0 -1
  125. package/dist/spec/performance/index.d.ts +0 -1
  126. package/dist/spec/performance/index.js +0 -21
  127. package/dist/spec/performance/index.js.map +0 -1
  128. package/dist/spec/performance/pagination.perf.d.ts +0 -5
  129. package/dist/spec/performance/pagination.perf.js +0 -50
  130. package/dist/spec/performance/pagination.perf.js.map +0 -1
  131. package/dist/spec/performance/query-pipeline.perf.d.ts +0 -3
  132. package/dist/spec/performance/query-pipeline.perf.js +0 -196
  133. package/dist/spec/performance/query-pipeline.perf.js.map +0 -1
  134. package/dist/spec/performance/references.perf.d.ts +0 -3
  135. package/dist/spec/performance/references.perf.js +0 -62
  136. package/dist/spec/performance/references.perf.js.map +0 -1
  137. package/dist/spec/performance/support/async-bench.d.ts +0 -92
  138. package/dist/spec/performance/support/async-bench.js +0 -237
  139. package/dist/spec/performance/support/async-bench.js.map +0 -1
  140. package/dist/spec/performance/support/helpers.d.ts +0 -28
  141. package/dist/spec/performance/support/helpers.js +0 -130
  142. package/dist/spec/performance/support/helpers.js.map +0 -1
  143. package/dist/spec/performance/support/runner.d.ts +0 -2
  144. package/dist/spec/performance/support/runner.js +0 -72
  145. package/dist/spec/performance/support/runner.js.map +0 -1
  146. package/dist/spec/project/project.spec.d.ts +0 -1
  147. package/dist/spec/project/project.spec.js +0 -72
  148. package/dist/spec/project/project.spec.js.map +0 -1
  149. package/dist/spec/query-tree/utils/simplify-booleans.spec.d.ts +0 -1
  150. package/dist/spec/query-tree/utils/simplify-booleans.spec.js +0 -87
  151. package/dist/spec/query-tree/utils/simplify-booleans.spec.js.map +0 -1
  152. package/dist/spec/regression/drop-test-db.d.ts +0 -1
  153. package/dist/spec/regression/drop-test-db.js +0 -5
  154. package/dist/spec/regression/drop-test-db.js.map +0 -1
  155. package/dist/spec/regression/initialization.d.ts +0 -10
  156. package/dist/spec/regression/initialization.js +0 -148
  157. package/dist/spec/regression/initialization.js.map +0 -1
  158. package/dist/spec/regression/regression-suite.d.ts +0 -28
  159. package/dist/spec/regression/regression-suite.js +0 -228
  160. package/dist/spec/regression/regression-suite.js.map +0 -1
  161. package/dist/spec/regression/regressions.spec.d.ts +0 -1
  162. package/dist/spec/regression/regressions.spec.js +0 -54
  163. package/dist/spec/regression/regressions.spec.js.map +0 -1
  164. package/dist/spec/schema/ast-validation-modules/business-object.spec.d.ts +0 -1
  165. package/dist/spec/schema/ast-validation-modules/business-object.spec.js +0 -27
  166. package/dist/spec/schema/ast-validation-modules/business-object.spec.js.map +0 -1
  167. package/dist/spec/schema/ast-validation-modules/check-directed-relation-edges-validator.spec.d.ts +0 -1
  168. package/dist/spec/schema/ast-validation-modules/check-directed-relation-edges-validator.spec.js +0 -73
  169. package/dist/spec/schema/ast-validation-modules/check-directed-relation-edges-validator.spec.js.map +0 -1
  170. package/dist/spec/schema/ast-validation-modules/collect-validation.spec.d.ts +0 -1
  171. package/dist/spec/schema/ast-validation-modules/collect-validation.spec.js +0 -633
  172. package/dist/spec/schema/ast-validation-modules/collect-validation.spec.js.map +0 -1
  173. package/dist/spec/schema/ast-validation-modules/entity-directive-nesting-validator.spec.d.ts +0 -1
  174. package/dist/spec/schema/ast-validation-modules/entity-directive-nesting-validator.spec.js +0 -94
  175. package/dist/spec/schema/ast-validation-modules/entity-directive-nesting-validator.spec.js.map +0 -1
  176. package/dist/spec/schema/ast-validation-modules/flex-search-commit-interval-msec-validator.spec.d.ts +0 -1
  177. package/dist/spec/schema/ast-validation-modules/flex-search-commit-interval-msec-validator.spec.js +0 -235
  178. package/dist/spec/schema/ast-validation-modules/flex-search-commit-interval-msec-validator.spec.js.map +0 -1
  179. package/dist/spec/schema/ast-validation-modules/helpers.d.ts +0 -10
  180. package/dist/spec/schema/ast-validation-modules/helpers.js +0 -85
  181. package/dist/spec/schema/ast-validation-modules/helpers.js.map +0 -1
  182. package/dist/spec/schema/ast-validation-modules/illegal-enum-values.spec.d.ts +0 -1
  183. package/dist/spec/schema/ast-validation-modules/illegal-enum-values.spec.js +0 -24
  184. package/dist/spec/schema/ast-validation-modules/illegal-enum-values.spec.js.map +0 -1
  185. package/dist/spec/schema/ast-validation-modules/indices-validator.spec.d.ts +0 -1
  186. package/dist/spec/schema/ast-validation-modules/indices-validator.spec.js +0 -117
  187. package/dist/spec/schema/ast-validation-modules/indices-validator.spec.js.map +0 -1
  188. package/dist/spec/schema/ast-validation-modules/key-field-validator.spec.d.ts +0 -1
  189. package/dist/spec/schema/ast-validation-modules/key-field-validator.spec.js +0 -139
  190. package/dist/spec/schema/ast-validation-modules/key-field-validator.spec.js.map +0 -1
  191. package/dist/spec/schema/ast-validation-modules/known-field-directive-validator.spec.d.ts +0 -1
  192. package/dist/spec/schema/ast-validation-modules/known-field-directive-validator.spec.js +0 -27
  193. package/dist/spec/schema/ast-validation-modules/known-field-directive-validator.spec.js.map +0 -1
  194. package/dist/spec/schema/ast-validation-modules/known-object-type-directive-validator.spec.d.ts +0 -1
  195. package/dist/spec/schema/ast-validation-modules/known-object-type-directive-validator.spec.js +0 -31
  196. package/dist/spec/schema/ast-validation-modules/known-object-type-directive-validator.spec.js.map +0 -1
  197. package/dist/spec/schema/ast-validation-modules/no-duplicate-types-validator.spec.d.ts +0 -1
  198. package/dist/spec/schema/ast-validation-modules/no-duplicate-types-validator.spec.js +0 -32
  199. package/dist/spec/schema/ast-validation-modules/no-duplicate-types-validator.spec.js.map +0 -1
  200. package/dist/spec/schema/ast-validation-modules/no-lists-of-lists-validator.spec.d.ts +0 -1
  201. package/dist/spec/schema/ast-validation-modules/no-lists-of-lists-validator.spec.js +0 -27
  202. package/dist/spec/schema/ast-validation-modules/no-lists-of-lists-validator.spec.js.map +0 -1
  203. package/dist/spec/schema/ast-validation-modules/no-lists-of-references-validator.spec.d.ts +0 -1
  204. package/dist/spec/schema/ast-validation-modules/no-lists-of-references-validator.spec.js +0 -27
  205. package/dist/spec/schema/ast-validation-modules/no-lists-of-references-validator.spec.js.map +0 -1
  206. package/dist/spec/schema/ast-validation-modules/no-unused-non-root-object-types-validator.spec.d.ts +0 -1
  207. package/dist/spec/schema/ast-validation-modules/no-unused-non-root-object-types-validator.spec.js +0 -27
  208. package/dist/spec/schema/ast-validation-modules/no-unused-non-root-object-types-validator.spec.js.map +0 -1
  209. package/dist/spec/schema/ast-validation-modules/non-unique-fields-validator.spec.d.ts +0 -1
  210. package/dist/spec/schema/ast-validation-modules/non-unique-fields-validator.spec.js +0 -29
  211. package/dist/spec/schema/ast-validation-modules/non-unique-fields-validator.spec.js.map +0 -1
  212. package/dist/spec/schema/ast-validation-modules/object-directive-count-validator.spec.d.ts +0 -1
  213. package/dist/spec/schema/ast-validation-modules/object-directive-count-validator.spec.js +0 -53
  214. package/dist/spec/schema/ast-validation-modules/object-directive-count-validator.spec.js.map +0 -1
  215. package/dist/spec/schema/ast-validation-modules/only-allowed-types-validator.spec.d.ts +0 -1
  216. package/dist/spec/schema/ast-validation-modules/only-allowed-types-validator.spec.js +0 -30
  217. package/dist/spec/schema/ast-validation-modules/only-allowed-types-validator.spec.js.map +0 -1
  218. package/dist/spec/schema/ast-validation-modules/parent-field.spec.d.ts +0 -1
  219. package/dist/spec/schema/ast-validation-modules/parent-field.spec.js +0 -451
  220. package/dist/spec/schema/ast-validation-modules/parent-field.spec.js.map +0 -1
  221. package/dist/spec/schema/ast-validation-modules/references-only-to-root-entities-with-key-field-validator.spec.d.ts +0 -1
  222. package/dist/spec/schema/ast-validation-modules/references-only-to-root-entities-with-key-field-validator.spec.js +0 -40
  223. package/dist/spec/schema/ast-validation-modules/references-only-to-root-entities-with-key-field-validator.spec.js.map +0 -1
  224. package/dist/spec/schema/ast-validation-modules/references-with-key-field.spec.d.ts +0 -1
  225. package/dist/spec/schema/ast-validation-modules/references-with-key-field.spec.js +0 -74
  226. package/dist/spec/schema/ast-validation-modules/references-with-key-field.spec.js.map +0 -1
  227. package/dist/spec/schema/ast-validation-modules/relations-only-in-root-entities-validator.spec.d.ts +0 -1
  228. package/dist/spec/schema/ast-validation-modules/relations-only-in-root-entities-validator.spec.js +0 -26
  229. package/dist/spec/schema/ast-validation-modules/relations-only-in-root-entities-validator.spec.js.map +0 -1
  230. package/dist/spec/schema/ast-validation-modules/relations-only-to-root-entities-validator.spec.d.ts +0 -1
  231. package/dist/spec/schema/ast-validation-modules/relations-only-to-root-entities-validator.spec.js +0 -26
  232. package/dist/spec/schema/ast-validation-modules/relations-only-to-root-entities-validator.spec.js.map +0 -1
  233. package/dist/spec/schema/ast-validation-modules/relations.spec.d.ts +0 -1
  234. package/dist/spec/schema/ast-validation-modules/relations.spec.js +0 -145
  235. package/dist/spec/schema/ast-validation-modules/relations.spec.js.map +0 -1
  236. package/dist/spec/schema/ast-validation-modules/roles-and-permission-profile-combined.spec.d.ts +0 -1
  237. package/dist/spec/schema/ast-validation-modules/roles-and-permission-profile-combined.spec.js +0 -31
  238. package/dist/spec/schema/ast-validation-modules/roles-and-permission-profile-combined.spec.js.map +0 -1
  239. package/dist/spec/schema/ast-validation-modules/roles-on-non-root-entity-types.spec.d.ts +0 -1
  240. package/dist/spec/schema/ast-validation-modules/roles-on-non-root-entity-types.spec.js +0 -35
  241. package/dist/spec/schema/ast-validation-modules/roles-on-non-root-entity-types.spec.js.map +0 -1
  242. package/dist/spec/schema/ast-validation-modules/root-entities-without-read-roles.spec.d.ts +0 -1
  243. package/dist/spec/schema/ast-validation-modules/root-entities-without-read-roles.spec.js +0 -27
  244. package/dist/spec/schema/ast-validation-modules/root-entities-without-read-roles.spec.js.map +0 -1
  245. package/dist/spec/schema/ast-validation-modules/root-field.spec.d.ts +0 -1
  246. package/dist/spec/schema/ast-validation-modules/root-field.spec.js +0 -405
  247. package/dist/spec/schema/ast-validation-modules/root-field.spec.js.map +0 -1
  248. package/dist/spec/schema/ast-validation-modules/ttl.spec.d.ts +0 -1
  249. package/dist/spec/schema/ast-validation-modules/ttl.spec.js +0 -362
  250. package/dist/spec/schema/ast-validation-modules/ttl.spec.js.map +0 -1
  251. package/dist/spec/schema/ast-validation-modules/undefined-permission-profile.spec.d.ts +0 -1
  252. package/dist/spec/schema/ast-validation-modules/undefined-permission-profile.spec.js +0 -79
  253. package/dist/spec/schema/ast-validation-modules/undefined-permission-profile.spec.js.map +0 -1
  254. package/dist/spec/schema/ast-validation-modules/undefined-types.spec.d.ts +0 -1
  255. package/dist/spec/schema/ast-validation-modules/undefined-types.spec.js +0 -38
  256. package/dist/spec/schema/ast-validation-modules/undefined-types.spec.js.map +0 -1
  257. package/dist/spec/schema/preparation/ast-transformation-modules/add-namespaces-to-types-transformer.spec.d.ts +0 -1
  258. package/dist/spec/schema/preparation/ast-transformation-modules/add-namespaces-to-types-transformer.spec.js +0 -53
  259. package/dist/spec/schema/preparation/ast-transformation-modules/add-namespaces-to-types-transformer.spec.js.map +0 -1
  260. package/dist/spec/schema/scalars/date-time.spec.d.ts +0 -1
  261. package/dist/spec/schema/scalars/date-time.spec.js +0 -74
  262. package/dist/spec/schema/scalars/date-time.spec.js.map +0 -1
  263. package/dist/spec/schema/scalars/fixed-point-decimals.spec.d.ts +0 -1
  264. package/dist/spec/schema/scalars/fixed-point-decimals.spec.js +0 -66
  265. package/dist/spec/schema/scalars/fixed-point-decimals.spec.js.map +0 -1
  266. package/dist/spec/schema/scalars/int53.spec.d.ts +0 -1
  267. package/dist/spec/schema/scalars/int53.spec.js +0 -45
  268. package/dist/spec/schema/scalars/int53.spec.js.map +0 -1
  269. package/dist/spec/schema/scalars/local-date.spec.d.ts +0 -1
  270. package/dist/spec/schema/scalars/local-date.spec.js +0 -30
  271. package/dist/spec/schema/scalars/local-date.spec.js.map +0 -1
  272. package/dist/spec/schema/scalars/local-time.spec.d.ts +0 -1
  273. package/dist/spec/schema/scalars/local-time.spec.js +0 -64
  274. package/dist/spec/schema/scalars/local-time.spec.js.map +0 -1
  275. package/dist/spec/schema/scalars/offset-date-time.spec.d.ts +0 -1
  276. package/dist/spec/schema/scalars/offset-date-time.spec.js +0 -82
  277. package/dist/spec/schema/scalars/offset-date-time.spec.js.map +0 -1
  278. package/dist/spec/schema/scalars/string-map.spec.d.ts +0 -1
  279. package/dist/spec/schema/scalars/string-map.spec.js +0 -230
  280. package/dist/spec/schema/scalars/string-map.spec.js.map +0 -1
  281. package/dist/spec/schema/schema-builder.spec.d.ts +0 -1
  282. package/dist/spec/schema/schema-builder.spec.js +0 -105
  283. package/dist/spec/schema/schema-builder.spec.js.map +0 -1
  284. package/dist/spec/schema/source-validation-modules/check-graphql-syntax.spec.d.ts +0 -1
  285. package/dist/spec/schema/source-validation-modules/check-graphql-syntax.spec.js +0 -30
  286. package/dist/spec/schema/source-validation-modules/check-graphql-syntax.spec.js.map +0 -1
  287. package/dist/spec/schema/source-validation-modules/check-json-syntax.spec.d.ts +0 -1
  288. package/dist/spec/schema/source-validation-modules/check-json-syntax.spec.js +0 -36
  289. package/dist/spec/schema/source-validation-modules/check-json-syntax.spec.js.map +0 -1
  290. package/dist/spec/schema/source-validation-modules/check-yaml-syntax.spec.d.ts +0 -1
  291. package/dist/spec/schema/source-validation-modules/check-yaml-syntax.spec.js +0 -30
  292. package/dist/spec/schema/source-validation-modules/check-yaml-syntax.spec.js.map +0 -1
  293. package/dist/spec/schema/source-validation-modules/graphql-rules.spec.d.ts +0 -1
  294. package/dist/spec/schema/source-validation-modules/graphql-rules.spec.js +0 -89
  295. package/dist/spec/schema/source-validation-modules/graphql-rules.spec.js.map +0 -1
  296. package/dist/spec/schema/source-validation-modules/permission-profile-validator.spec.d.ts +0 -1
  297. package/dist/spec/schema/source-validation-modules/permission-profile-validator.spec.js +0 -99
  298. package/dist/spec/schema/source-validation-modules/permission-profile-validator.spec.js.map +0 -1
  299. package/dist/spec/schema/source-validation-modules/sidecar-schema.spec.d.ts +0 -1
  300. package/dist/spec/schema/source-validation-modules/sidecar-schema.spec.js +0 -145
  301. package/dist/spec/schema/source-validation-modules/sidecar-schema.spec.js.map +0 -1
  302. package/dist/spec/schema/source-validation-modules/source-validation-helper.d.ts +0 -3
  303. package/dist/spec/schema/source-validation-modules/source-validation-helper.js +0 -12
  304. package/dist/spec/schema/source-validation-modules/source-validation-helper.js.map +0 -1
  305. package/dist/spec/schema/source-validation-modules/yaml-parser.spec.d.ts +0 -1
  306. package/dist/spec/schema/source-validation-modules/yaml-parser.spec.js +0 -87
  307. package/dist/spec/schema/source-validation-modules/yaml-parser.spec.js.map +0 -1
  308. package/dist/spec/schema-generation/create-input-type-generator.spec.d.ts +0 -1
  309. package/dist/spec/schema-generation/create-input-type-generator.spec.js +0 -518
  310. package/dist/spec/schema-generation/create-input-type-generator.spec.js.map +0 -1
  311. package/dist/spec/schema-generation/createdat-updatedat-modification.spec.d.ts +0 -1
  312. package/dist/spec/schema-generation/createdat-updatedat-modification.spec.js +0 -160
  313. package/dist/spec/schema-generation/createdat-updatedat-modification.spec.js.map +0 -1
  314. package/dist/spec/schema-generation/enum-type-generator.spec.d.ts +0 -1
  315. package/dist/spec/schema-generation/enum-type-generator.spec.js +0 -21
  316. package/dist/spec/schema-generation/enum-type-generator.spec.js.map +0 -1
  317. package/dist/spec/schema-generation/memorize-decorator.spec.d.ts +0 -1
  318. package/dist/spec/schema-generation/memorize-decorator.spec.js +0 -39
  319. package/dist/spec/schema-generation/memorize-decorator.spec.js.map +0 -1
  320. package/dist/spec/schema-generation/order-by-enum-generator.spec.d.ts +0 -1
  321. package/dist/spec/schema-generation/order-by-enum-generator.spec.js +0 -188
  322. package/dist/spec/schema-generation/order-by-enum-generator.spec.js.map +0 -1
  323. package/dist/spec/utils/group-by-equivalence.spec.d.ts +0 -1
  324. package/dist/spec/utils/group-by-equivalence.spec.js +0 -11
  325. package/dist/spec/utils/group-by-equivalence.spec.js.map +0 -1
  326. package/dist/spec/utils/utils.spec.d.ts +0 -1
  327. package/dist/spec/utils/utils.spec.js +0 -24
  328. package/dist/spec/utils/utils.spec.js.map +0 -1
  329. package/dist/spec/utils/visitor.spec.d.ts +0 -1
  330. package/dist/spec/utils/visitor.spec.js +0 -119
  331. package/dist/spec/utils/visitor.spec.js.map +0 -1
@@ -1,231 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const chai_1 = require("chai");
4
- const model_1 = require("../../../src/model");
5
- const validation_utils_1 = require("./validation-utils");
6
- const model = new model_1.Model({
7
- types: [],
8
- });
9
- describe('Namespace', () => {
10
- describe('rootEntityTypes', () => {
11
- it('works for root namespace', () => {
12
- const types = ['Top1', 'Top2', 'a.A1', 'b.B1', 'b.inner.Inner'].map(createRootEntity);
13
- const namespace = new model_1.Namespace({
14
- path: [],
15
- allTypes: types,
16
- allPermissionProfiles: [],
17
- });
18
- (0, chai_1.expect)(namespace.rootEntityTypes.map((t) => t.name)).to.deep.equal(['Top1', 'Top2']);
19
- });
20
- it('works for first-level namespace', () => {
21
- const types = ['a.A1', 'a.A2', 'a.inner.Inner'].map(createRootEntity);
22
- const namespace = new model_1.Namespace({
23
- path: ['a'],
24
- allTypes: types,
25
- allPermissionProfiles: [],
26
- });
27
- (0, chai_1.expect)(namespace.rootEntityTypes.map((t) => t.name)).to.deep.equal(['A1', 'A2']);
28
- });
29
- it('works for second-level namespace', () => {
30
- const types = ['b.inner.Inner', 'b.inner.evendeeper.Test'].map(createRootEntity);
31
- const namespace = new model_1.Namespace({
32
- path: ['b', 'inner'],
33
- allTypes: types,
34
- allPermissionProfiles: [],
35
- });
36
- (0, chai_1.expect)(namespace.rootEntityTypes.map((t) => t.name)).to.deep.equal(['Inner']);
37
- });
38
- });
39
- describe('childNamespaces', () => {
40
- it('works for root namespace', () => {
41
- const types = ['Top1', 'Top2', 'a.A1', 'a.A2', 'b.B1', 'b.inner.Inner'].map(createRootEntity);
42
- const namespace = new model_1.Namespace({
43
- path: [],
44
- allTypes: types,
45
- allPermissionProfiles: [],
46
- });
47
- (0, chai_1.expect)(namespace.childNamespaces.map((c) => c.dotSeparatedPath)).to.deep.equal([
48
- 'a',
49
- 'b',
50
- ]);
51
- (0, chai_1.expect)(namespace.childNamespaces.map((c) => c.rootEntityTypes.map((r) => r.name))).to.deep.equal([['A1', 'A2'], ['B1']]);
52
- });
53
- it('works for first-level namespace', () => {
54
- const types = ['b.B1', 'b.inner.Inner', 'b.other.evendeeper.Test'].map(createRootEntity);
55
- const namespace = new model_1.Namespace({
56
- path: ['b'],
57
- allTypes: types,
58
- allPermissionProfiles: [],
59
- });
60
- (0, chai_1.expect)(namespace.childNamespaces.map((c) => c.dotSeparatedPath)).to.deep.equal([
61
- 'b.inner',
62
- 'b.other',
63
- ]);
64
- (0, chai_1.expect)(namespace.childNamespaces.map((c) => c.rootEntityTypes.map((r) => r.name))).to.deep.equal([['Inner'], []]);
65
- });
66
- it('works for second-level namespace', () => {
67
- const types = ['b.B1', 'b.inner.Inner', 'b.other.evendeeper.Test'].map(createRootEntity);
68
- const namespace = new model_1.Namespace({
69
- path: ['b', 'other'],
70
- allTypes: types,
71
- allPermissionProfiles: [],
72
- });
73
- (0, chai_1.expect)(namespace.childNamespaces.map((c) => c.dotSeparatedPath)).to.deep.equal([
74
- 'b.other.evendeeper',
75
- ]);
76
- (0, chai_1.expect)(namespace.childNamespaces.map((c) => c.rootEntityTypes.map((r) => r.name))).to.deep.equal([['Test']]);
77
- });
78
- });
79
- describe('descendantNamespaces', () => {
80
- it('includes all namespaces, even empty ones', () => {
81
- const types = [
82
- 'Top1',
83
- 'Top2',
84
- 'a.A1',
85
- 'a.A2',
86
- 'b.B1',
87
- 'b.inner.Inner',
88
- 'c.inner.deep.Test',
89
- ].map(createRootEntity);
90
- const namespace = new model_1.Namespace({
91
- path: [],
92
- allTypes: types,
93
- allPermissionProfiles: [],
94
- });
95
- (0, chai_1.expect)(namespace.descendantNamespaces.map((c) => c.dotSeparatedPath)).to.deep.equal([
96
- 'a',
97
- 'b',
98
- 'b.inner',
99
- 'c',
100
- 'c.inner',
101
- 'c.inner.deep',
102
- ]);
103
- });
104
- });
105
- describe('getChildNamespace', () => {
106
- it('works for root', () => {
107
- const types = ['Top1', 'Top2', 'a.A1', 'b.B1', 'b.inner.Inner'].map(createRootEntity);
108
- const namespace = new model_1.Namespace({
109
- path: [],
110
- allTypes: types,
111
- allPermissionProfiles: [],
112
- });
113
- const res = namespace.getChildNamespace('a');
114
- (0, chai_1.expect)(res).not.to.be.undefined;
115
- (0, chai_1.expect)(res.dotSeparatedPath).to.equal('a');
116
- });
117
- it('returns undefined if not found', () => {
118
- const types = ['Top1', 'Top2', 'a.A1', 'b.B1', 'b.inner.Inner'].map(createRootEntity);
119
- const namespace = new model_1.Namespace({
120
- path: [],
121
- allTypes: types,
122
- allPermissionProfiles: [],
123
- });
124
- const res = namespace.getChildNamespace('notfound');
125
- (0, chai_1.expect)(res).to.be.undefined;
126
- });
127
- });
128
- describe('permission profiles', () => {
129
- describe('validate', () => {
130
- it('accepts multiple permission profiles', () => {
131
- const namespace = new model_1.Namespace({
132
- path: [],
133
- allTypes: [],
134
- allPermissionProfiles: [
135
- new model_1.PermissionProfile('test1', [], { permissions: [] }),
136
- new model_1.PermissionProfile('test2', [], { permissions: [] }),
137
- ],
138
- });
139
- (0, validation_utils_1.expectToBeValid)(namespace);
140
- });
141
- it('rejects duplicate permission profiles', () => {
142
- const namespace = new model_1.Namespace({
143
- path: [],
144
- allTypes: [],
145
- allPermissionProfiles: [
146
- new model_1.PermissionProfile('test', [], { permissions: [] }),
147
- new model_1.PermissionProfile('test', [], { permissions: [] }),
148
- ],
149
- });
150
- const result = (0, validation_utils_1.validate)(namespace);
151
- (0, chai_1.expect)(result.hasErrors()).to.be.true;
152
- (0, chai_1.expect)(result.messages).to.have.lengthOf(2);
153
- (0, chai_1.expect)(result.messages.map((m) => m.message)).to.deep.equal([
154
- 'Duplicate permission profile name: "test".',
155
- 'Duplicate permission profile name: "test".',
156
- ]);
157
- });
158
- it('accepts duplicate permission profiles in child namespaces', () => {
159
- const namespace = new model_1.Namespace({
160
- path: [],
161
- allTypes: [],
162
- allPermissionProfiles: [
163
- new model_1.PermissionProfile('test1', ['sub'], { permissions: [] }),
164
- new model_1.PermissionProfile('test2', ['sub'], { permissions: [] }),
165
- ],
166
- });
167
- (0, validation_utils_1.expectToBeValid)(namespace);
168
- });
169
- it('warns about shadowed namespaces', () => {
170
- const parent = new model_1.Namespace({
171
- path: [],
172
- allTypes: [],
173
- allPermissionProfiles: [
174
- new model_1.PermissionProfile('test', [], { permissions: [] }),
175
- new model_1.PermissionProfile('test', ['sub'], { permissions: [] }),
176
- ],
177
- });
178
- const sub = parent.getChildNamespaceOrThrow('sub');
179
- (0, validation_utils_1.expectSingleWarningToInclude)(sub, `shadow`);
180
- });
181
- it('does not warn about shadowed default namespaces with', () => {
182
- const parent = new model_1.Namespace({
183
- path: [],
184
- allTypes: [],
185
- allPermissionProfiles: [
186
- new model_1.PermissionProfile('default', [], { permissions: [] }),
187
- new model_1.PermissionProfile('default', ['sub'], { permissions: [] }),
188
- ],
189
- });
190
- (0, validation_utils_1.expectToBeValid)(parent.getChildNamespaceOrThrow('sub'));
191
- });
192
- });
193
- describe('getPermissionProfile()', () => {
194
- const outer = new model_1.PermissionProfile('outer', [], { permissions: [] });
195
- const inner = new model_1.PermissionProfile('inner', ['sub'], { permissions: [] });
196
- const innersubsub = new model_1.PermissionProfile('inner', ['sub', 'subsub'], {
197
- permissions: [],
198
- });
199
- const parent = new model_1.Namespace({
200
- path: [],
201
- allTypes: [],
202
- allPermissionProfiles: [outer, inner, innersubsub],
203
- });
204
- const sub = parent.getChildNamespaceOrThrow('sub');
205
- const subsub = sub.getChildNamespaceOrThrow('subsub');
206
- it('returns profiles within its own namespace', () => {
207
- (0, chai_1.expect)(sub.getPermissionProfile('inner')).to.equal(inner);
208
- });
209
- it('returns profiles of its parent namespace', () => {
210
- (0, chai_1.expect)(sub.getPermissionProfile('outer')).to.equal(outer);
211
- });
212
- it('prefers its own profiles over those of its parent namespace', () => {
213
- (0, chai_1.expect)(subsub.getPermissionProfile('inner')).to.equal(innersubsub);
214
- });
215
- it('does not find profiles of its child namespaces', () => {
216
- (0, chai_1.expect)(parent.getPermissionProfile('inner')).to.be.undefined;
217
- });
218
- });
219
- });
220
- });
221
- function createRootEntity(fqn) {
222
- const namespacePath = fqn.split('.');
223
- const name = namespacePath.pop();
224
- return new model_1.RootEntityType({
225
- kind: model_1.TypeKind.ROOT_ENTITY,
226
- name,
227
- namespacePath,
228
- fields: [],
229
- }, model);
230
- }
231
- //# sourceMappingURL=namespace.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"namespace.spec.js","sourceRoot":"","sources":["../../../../spec/model/implementation/namespace.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,65 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const model_1 = require("../../../src/model");
4
- const validation_utils_1 = require("./validation-utils");
5
- const chai_1 = require("chai");
6
- // This test uses a ChildEntityType because that is a concrete class without much addition to ObjectType, but it
7
- // has system fields.
8
- describe('ObjectType', () => {
9
- const model = new model_1.Model({
10
- types: [],
11
- });
12
- it('accepts simple type', () => {
13
- const type = new model_1.ChildEntityType({
14
- kind: model_1.TypeKind.CHILD_ENTITY,
15
- name: 'Delivery',
16
- fields: [
17
- {
18
- name: 'deliveryNumber',
19
- typeName: 'String',
20
- },
21
- {
22
- name: 'shipmentNumber',
23
- typeName: 'String',
24
- },
25
- ],
26
- }, model);
27
- (0, validation_utils_1.expectToBeValid)(type);
28
- });
29
- it('rejects type with duplicate field names', () => {
30
- const type = new model_1.ChildEntityType({
31
- kind: model_1.TypeKind.CHILD_ENTITY,
32
- name: 'Delivery',
33
- fields: [
34
- {
35
- name: 'deliveryNumber',
36
- typeName: 'String',
37
- },
38
- {
39
- name: 'deliveryNumber',
40
- typeName: 'String',
41
- },
42
- ],
43
- }, model);
44
- const result = (0, validation_utils_1.validate)(type);
45
- (0, chai_1.expect)(result.messages.length).to.equal(2);
46
- for (const message of result.messages) {
47
- (0, chai_1.expect)(message.severity).to.equal(model_1.Severity.Error);
48
- (0, chai_1.expect)(message.message).to.equal(`Duplicate field name: "deliveryNumber".`);
49
- }
50
- });
51
- it('rejects type with reserved field names', () => {
52
- const type = new model_1.ChildEntityType({
53
- kind: model_1.TypeKind.CHILD_ENTITY,
54
- name: 'Delivery',
55
- fields: [
56
- {
57
- name: 'updatedAt',
58
- typeName: 'String',
59
- },
60
- ],
61
- }, model);
62
- (0, validation_utils_1.expectSingleErrorToInclude)(type, `Field name "updatedAt" is reserved by a system field.`);
63
- });
64
- });
65
- //# sourceMappingURL=object-type.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"object-type.spec.js","sourceRoot":"","sources":["../../../../spec/model/implementation/object-type.spec.ts"],"names":[],"mappings":";;AAAA,8CAAgF;AAChF,yDAA2F;AAC3F,+BAA8B;AAE9B,gHAAgH;AAChH,qBAAqB;AACrB,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IACxB,MAAM,KAAK,GAAG,IAAI,aAAK,CAAC;QACpB,KAAK,EAAE,EAAE;KACZ,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC3B,MAAM,IAAI,GAAG,IAAI,uBAAe,CAC5B;YACI,IAAI,EAAE,gBAAQ,CAAC,YAAY;YAC3B,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE;gBACJ;oBACI,IAAI,EAAE,gBAAgB;oBACtB,QAAQ,EAAE,QAAQ;iBACrB;gBACD;oBACI,IAAI,EAAE,gBAAgB;oBACtB,QAAQ,EAAE,QAAQ;iBACrB;aACJ;SACJ,EACD,KAAK,CACR,CAAC;QAEF,IAAA,kCAAe,EAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QAC/C,MAAM,IAAI,GAAG,IAAI,uBAAe,CAC5B;YACI,IAAI,EAAE,gBAAQ,CAAC,YAAY;YAC3B,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE;gBACJ;oBACI,IAAI,EAAE,gBAAgB;oBACtB,QAAQ,EAAE,QAAQ;iBACrB;gBACD;oBACI,IAAI,EAAE,gBAAgB;oBACtB,QAAQ,EAAE,QAAQ;iBACrB;aACJ;SACJ,EACD,KAAK,CACR,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,2BAAQ,EAAC,IAAI,CAAC,CAAC;QAC9B,IAAA,aAAM,EAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3C,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE;YACnC,IAAA,aAAM,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,gBAAQ,CAAC,KAAK,CAAC,CAAC;YAClD,IAAA,aAAM,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC/E;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAC9C,MAAM,IAAI,GAAG,IAAI,uBAAe,CAC5B;YACI,IAAI,EAAE,gBAAQ,CAAC,YAAY;YAC3B,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE;gBACJ;oBACI,IAAI,EAAE,WAAW;oBACjB,QAAQ,EAAE,QAAQ;iBACrB;aACJ;SACJ,EACD,KAAK,CACR,CAAC;QAEF,IAAA,6CAA0B,EAAC,IAAI,EAAE,uDAAuD,CAAC,CAAC;IAC9F,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,99 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const chai_1 = require("chai");
4
- const model_1 = require("../../../src/model");
5
- class FakeDBAdatper {
6
- async execute(queryTree) {
7
- return { allTypeAS: [{ relB: { id: 5 } }], allTypeBS: [{ relA: { id: 2 } }] };
8
- }
9
- async updateSchema(schema) { }
10
- async tokenizeExpressions(tokenizations) {
11
- return tokenizations.map((value) => {
12
- return {
13
- expression: value.expression,
14
- analyzer: value.analyzer,
15
- tokens: value.expression.split('-'),
16
- };
17
- });
18
- }
19
- }
20
- describe('Relation', () => {
21
- it('works with unrelated relations between two root entities', async () => {
22
- const model = new model_1.Model({
23
- types: [
24
- {
25
- kind: model_1.TypeKind.ROOT_ENTITY,
26
- name: 'TypeA',
27
- fields: [
28
- {
29
- name: 'relB',
30
- typeName: 'TypeB',
31
- isRelation: true,
32
- },
33
- ],
34
- },
35
- {
36
- kind: model_1.TypeKind.ROOT_ENTITY,
37
- name: 'TypeB',
38
- fields: [
39
- {
40
- name: 'relA',
41
- typeName: 'TypeA',
42
- isRelation: true,
43
- },
44
- ],
45
- },
46
- ],
47
- });
48
- const fieldOnA = model.getRootEntityTypeOrThrow('TypeA').getFieldOrThrow('relB');
49
- const fieldOnB = model.getRootEntityTypeOrThrow('TypeB').getFieldOrThrow('relA');
50
- const edgeTypeFromA = fieldOnA.getRelationOrThrow();
51
- (0, chai_1.expect)(edgeTypeFromA.fromField).to.equal(fieldOnA);
52
- (0, chai_1.expect)(edgeTypeFromA.toField).to.be.undefined;
53
- const edgeTypeFromB = fieldOnB.getRelationOrThrow();
54
- (0, chai_1.expect)(edgeTypeFromB.fromField).to.equal(fieldOnB);
55
- (0, chai_1.expect)(edgeTypeFromA.toField).to.be.undefined;
56
- });
57
- it('correctly builds EdgeType from field', () => {
58
- const model = new model_1.Model({
59
- types: [
60
- {
61
- kind: model_1.TypeKind.ROOT_ENTITY,
62
- name: 'Delivery',
63
- fields: [
64
- {
65
- name: 'handlingUnits',
66
- typeName: 'HandlingUnit',
67
- isRelation: true,
68
- },
69
- ],
70
- },
71
- {
72
- kind: model_1.TypeKind.ROOT_ENTITY,
73
- name: 'HandlingUnit',
74
- fields: [
75
- {
76
- name: 'delivery',
77
- typeName: 'Delivery',
78
- isRelation: true,
79
- inverseOfFieldName: 'handlingUnits',
80
- },
81
- ],
82
- },
83
- ],
84
- });
85
- const deliveryType = model.getRootEntityTypeOrThrow('Delivery');
86
- const handlingUnitType = model.getRootEntityTypeOrThrow('HandlingUnit');
87
- const handlingUnitsField = deliveryType.getFieldOrThrow('handlingUnits');
88
- const deliveryField = handlingUnitType.getFieldOrThrow('delivery');
89
- function checkEdgeType(edgeType) {
90
- (0, chai_1.expect)(edgeType.fromType).to.equal(deliveryType);
91
- (0, chai_1.expect)(edgeType.fromField).to.equal(handlingUnitsField);
92
- (0, chai_1.expect)(edgeType.toType).to.equal(handlingUnitType);
93
- (0, chai_1.expect)(edgeType.toField).to.equal(deliveryField);
94
- }
95
- checkEdgeType(handlingUnitsField.getRelationOrThrow());
96
- checkEdgeType(deliveryField.getRelationOrThrow());
97
- });
98
- });
99
- //# sourceMappingURL=relation.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"relation.spec.js","sourceRoot":"","sources":["../../../../spec/model/implementation/relation.spec.ts"],"names":[],"mappings":"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"}