@commitspark/graphql-api 0.90.0 → 1.0.0-beta.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 (342) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +8 -9
  3. package/dist/cjs/client.js +65 -0
  4. package/dist/cjs/client.js.map +1 -0
  5. package/dist/cjs/graphql/{apollo-config-factory.service.js → apollo-config-factory.js} +12 -17
  6. package/dist/cjs/graphql/apollo-config-factory.js.map +1 -0
  7. package/dist/cjs/graphql/errors.js +32 -0
  8. package/dist/cjs/graphql/errors.js.map +1 -0
  9. package/dist/cjs/graphql/input-type-generator.js +94 -0
  10. package/dist/cjs/graphql/input-type-generator.js.map +1 -0
  11. package/dist/cjs/graphql/queries-mutations-generator.js +70 -0
  12. package/dist/cjs/graphql/queries-mutations-generator.js.map +1 -0
  13. package/dist/cjs/graphql/resolvers/field-resolvers/entry-reference-resolver.js +26 -0
  14. package/dist/cjs/graphql/resolvers/field-resolvers/entry-reference-resolver.js.map +1 -0
  15. package/dist/cjs/graphql/resolvers/field-resolvers/field-default-value-resolver.js +93 -0
  16. package/dist/cjs/graphql/resolvers/field-resolvers/field-default-value-resolver.js.map +1 -0
  17. package/dist/cjs/graphql/{field-resolver/fieldResolver.js → resolvers/field-resolvers/types.js} +1 -1
  18. package/dist/cjs/graphql/resolvers/field-resolvers/types.js.map +1 -0
  19. package/dist/cjs/graphql/resolvers/field-resolvers/union-value-resolver.js +25 -0
  20. package/dist/cjs/graphql/resolvers/field-resolvers/union-value-resolver.js.map +1 -0
  21. package/dist/cjs/graphql/resolvers/object-type-field-default-value-resolver-generator.js +53 -0
  22. package/dist/cjs/graphql/resolvers/object-type-field-default-value-resolver-generator.js.map +1 -0
  23. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js +74 -0
  24. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js.map +1 -0
  25. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js +52 -0
  26. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js.map +1 -0
  27. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js +57 -0
  28. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js.map +1 -0
  29. package/dist/cjs/graphql/{resolver-generators/query-type-by-id-resolver-generator.js → resolvers/query-mutation-resolvers/query-by-id-resolver.js} +8 -13
  30. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.js.map +1 -0
  31. package/dist/cjs/graphql/{resolver-generators/query-count-all-resolver-generator.js → resolvers/query-mutation-resolvers/query-every-resolver.js} +10 -15
  32. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-every-resolver.js.map +1 -0
  33. package/dist/cjs/graphql/{resolver-generators/query-by-id-resolver-generator.js → resolvers/query-mutation-resolvers/query-type-by-id-resolver.js} +7 -14
  34. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.js.map +1 -0
  35. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js +27 -0
  36. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js.map +1 -0
  37. package/dist/cjs/graphql/resolvers/types.js +3 -0
  38. package/dist/cjs/graphql/resolvers/types.js.map +1 -0
  39. package/dist/cjs/graphql/schema-analyzer.js +38 -0
  40. package/dist/cjs/graphql/schema-analyzer.js.map +1 -0
  41. package/dist/cjs/graphql/schema-generator.js +100 -0
  42. package/dist/cjs/graphql/schema-generator.js.map +1 -0
  43. package/dist/cjs/graphql/schema-root-type-generator.js +32 -0
  44. package/dist/cjs/graphql/schema-root-type-generator.js.map +1 -0
  45. package/dist/cjs/graphql/schema-utils/entry-reference-util.js +115 -113
  46. package/dist/cjs/graphql/schema-utils/entry-reference-util.js.map +1 -1
  47. package/dist/cjs/graphql/schema-utils/entry-type-util.js +24 -26
  48. package/dist/cjs/graphql/schema-utils/entry-type-util.js.map +1 -1
  49. package/dist/cjs/graphql/schema-utils/union-type-util.js +19 -16
  50. package/dist/cjs/graphql/schema-utils/union-type-util.js.map +1 -1
  51. package/dist/cjs/graphql/schema-validator.js +23 -26
  52. package/dist/cjs/graphql/schema-validator.js.map +1 -1
  53. package/dist/cjs/index.js +10 -7
  54. package/dist/cjs/index.js.map +1 -1
  55. package/dist/cjs/persistence/persistence.js +63 -0
  56. package/dist/cjs/persistence/persistence.js.map +1 -0
  57. package/dist/esm/client.js +53 -0
  58. package/dist/esm/client.js.map +1 -0
  59. package/dist/esm/graphql/apollo-config-factory.js +12 -0
  60. package/dist/esm/graphql/apollo-config-factory.js.map +1 -0
  61. package/dist/esm/graphql/errors.js +28 -0
  62. package/dist/esm/graphql/errors.js.map +1 -0
  63. package/dist/esm/graphql/input-type-generator.js +89 -0
  64. package/dist/esm/graphql/input-type-generator.js.map +1 -0
  65. package/dist/esm/graphql/queries-mutations-generator.js +66 -0
  66. package/dist/esm/graphql/queries-mutations-generator.js.map +1 -0
  67. package/dist/esm/graphql/resolvers/field-resolvers/entry-reference-resolver.js +13 -0
  68. package/dist/esm/graphql/resolvers/field-resolvers/entry-reference-resolver.js.map +1 -0
  69. package/dist/esm/graphql/resolvers/field-resolvers/field-default-value-resolver.js +80 -0
  70. package/dist/esm/graphql/resolvers/field-resolvers/field-default-value-resolver.js.map +1 -0
  71. package/dist/esm/graphql/resolvers/field-resolvers/types.js +2 -0
  72. package/dist/esm/graphql/resolvers/field-resolvers/types.js.map +1 -0
  73. package/dist/esm/graphql/resolvers/field-resolvers/union-value-resolver.js +15 -0
  74. package/dist/esm/graphql/resolvers/field-resolvers/union-value-resolver.js.map +1 -0
  75. package/dist/esm/graphql/resolvers/object-type-field-default-value-resolver-generator.js +50 -0
  76. package/dist/esm/graphql/resolvers/object-type-field-default-value-resolver-generator.js.map +1 -0
  77. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js +67 -0
  78. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js.map +1 -0
  79. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js +48 -0
  80. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js.map +1 -0
  81. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js +60 -0
  82. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js.map +1 -0
  83. package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.js +6 -0
  84. package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.js.map +1 -0
  85. package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-every-resolver.js +8 -0
  86. package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-every-resolver.js.map +1 -0
  87. package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.js +5 -0
  88. package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.js.map +1 -0
  89. package/dist/esm/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js +14 -0
  90. package/dist/esm/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js.map +1 -0
  91. package/dist/esm/graphql/resolvers/types.js +2 -0
  92. package/dist/esm/graphql/resolvers/types.js.map +1 -0
  93. package/dist/esm/graphql/schema-analyzer.js +34 -0
  94. package/dist/esm/graphql/schema-analyzer.js.map +1 -0
  95. package/dist/esm/graphql/schema-generator.js +94 -0
  96. package/dist/esm/graphql/schema-generator.js.map +1 -0
  97. package/dist/esm/graphql/schema-root-type-generator.js +29 -0
  98. package/dist/esm/graphql/schema-root-type-generator.js.map +1 -0
  99. package/dist/esm/graphql/schema-utils/entry-reference-util.js +108 -108
  100. package/dist/esm/graphql/schema-utils/entry-reference-util.js.map +1 -1
  101. package/dist/esm/graphql/schema-utils/entry-type-util.js +20 -23
  102. package/dist/esm/graphql/schema-utils/entry-type-util.js.map +1 -1
  103. package/dist/esm/graphql/schema-utils/union-type-util.js +17 -14
  104. package/dist/esm/graphql/schema-utils/union-type-util.js.map +1 -1
  105. package/dist/esm/graphql/schema-validator.js +18 -20
  106. package/dist/esm/graphql/schema-validator.js.map +1 -1
  107. package/dist/esm/index.js +8 -5
  108. package/dist/esm/index.js.map +1 -1
  109. package/dist/esm/persistence/persistence.js +40 -0
  110. package/dist/esm/persistence/persistence.js.map +1 -0
  111. package/dist/tsconfig.build.cjs.tsbuildinfo +1 -1
  112. package/dist/tsconfig.build.esm.tsbuildinfo +1 -1
  113. package/dist/tsconfig.build.types.tsbuildinfo +1 -1
  114. package/dist/types/client.d.ts +27 -0
  115. package/dist/types/client.d.ts.map +1 -0
  116. package/dist/types/graphql/apollo-config-factory.d.ts +4 -0
  117. package/dist/types/graphql/apollo-config-factory.d.ts.map +1 -0
  118. package/dist/types/graphql/errors.d.ts +20 -0
  119. package/dist/types/graphql/errors.d.ts.map +1 -0
  120. package/dist/types/graphql/input-type-generator.d.ts +6 -0
  121. package/dist/types/graphql/input-type-generator.d.ts.map +1 -0
  122. package/dist/types/graphql/queries-mutations-generator.d.ts +18 -0
  123. package/dist/types/graphql/queries-mutations-generator.d.ts.map +1 -0
  124. package/dist/types/graphql/resolvers/field-resolvers/entry-reference-resolver.d.ts +3 -0
  125. package/dist/types/graphql/resolvers/field-resolvers/entry-reference-resolver.d.ts.map +1 -0
  126. package/dist/types/graphql/resolvers/field-resolvers/field-default-value-resolver.d.ts +3 -0
  127. package/dist/types/graphql/resolvers/field-resolvers/field-default-value-resolver.d.ts.map +1 -0
  128. package/dist/types/graphql/resolvers/field-resolvers/types.d.ts +12 -0
  129. package/dist/types/graphql/resolvers/field-resolvers/types.d.ts.map +1 -0
  130. package/dist/types/graphql/resolvers/field-resolvers/union-value-resolver.d.ts +3 -0
  131. package/dist/types/graphql/resolvers/field-resolvers/union-value-resolver.d.ts.map +1 -0
  132. package/dist/types/graphql/resolvers/object-type-field-default-value-resolver-generator.d.ts +8 -0
  133. package/dist/types/graphql/resolvers/object-type-field-default-value-resolver-generator.d.ts.map +1 -0
  134. package/dist/types/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.d.ts +5 -0
  135. package/dist/types/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.d.ts.map +1 -0
  136. package/dist/types/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.d.ts +5 -0
  137. package/dist/types/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.d.ts.map +1 -0
  138. package/dist/types/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.d.ts +5 -0
  139. package/dist/types/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.d.ts.map +1 -0
  140. package/dist/types/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.d.ts +5 -0
  141. package/dist/types/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.d.ts.map +1 -0
  142. package/dist/types/graphql/resolvers/query-mutation-resolvers/query-every-resolver.d.ts +5 -0
  143. package/dist/types/graphql/resolvers/query-mutation-resolvers/query-every-resolver.d.ts.map +1 -0
  144. package/dist/types/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.d.ts +4 -0
  145. package/dist/types/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.d.ts.map +1 -0
  146. package/dist/types/graphql/resolvers/query-mutation-resolvers/union-type-resolver.d.ts +4 -0
  147. package/dist/types/graphql/resolvers/query-mutation-resolvers/union-type-resolver.d.ts.map +1 -0
  148. package/dist/types/graphql/resolvers/types.d.ts +8 -0
  149. package/dist/types/graphql/resolvers/types.d.ts.map +1 -0
  150. package/dist/types/graphql/{schema-analyzer.service.d.ts → schema-analyzer.d.ts} +3 -5
  151. package/dist/types/graphql/schema-analyzer.d.ts.map +1 -0
  152. package/dist/types/graphql/schema-generator.d.ts +4 -0
  153. package/dist/types/graphql/schema-generator.d.ts.map +1 -0
  154. package/dist/types/graphql/schema-root-type-generator.d.ts +3 -0
  155. package/dist/types/graphql/schema-root-type-generator.d.ts.map +1 -0
  156. package/dist/types/graphql/schema-utils/entry-reference-util.d.ts +2 -13
  157. package/dist/types/graphql/schema-utils/entry-reference-util.d.ts.map +1 -1
  158. package/dist/types/graphql/schema-utils/entry-type-util.d.ts +3 -5
  159. package/dist/types/graphql/schema-utils/entry-type-util.d.ts.map +1 -1
  160. package/dist/types/graphql/schema-utils/union-type-util.d.ts +2 -4
  161. package/dist/types/graphql/schema-utils/union-type-util.d.ts.map +1 -1
  162. package/dist/types/graphql/schema-validator.d.ts +1 -4
  163. package/dist/types/graphql/schema-validator.d.ts.map +1 -1
  164. package/dist/types/index.d.ts +9 -3
  165. package/dist/types/index.d.ts.map +1 -1
  166. package/dist/types/persistence/persistence.d.ts +6 -0
  167. package/dist/types/persistence/persistence.d.ts.map +1 -0
  168. package/package.json +10 -2
  169. package/src/client.ts +114 -0
  170. package/src/graphql/apollo-config-factory.ts +17 -0
  171. package/src/graphql/errors.ts +43 -0
  172. package/src/graphql/input-type-generator.ts +126 -0
  173. package/src/graphql/queries-mutations-generator.ts +138 -0
  174. package/src/graphql/resolvers/field-resolvers/entry-reference-resolver.ts +29 -0
  175. package/src/graphql/resolvers/field-resolvers/field-default-value-resolver.ts +125 -0
  176. package/src/graphql/{field-resolver/fieldResolver.ts → resolvers/field-resolvers/types.ts} +5 -4
  177. package/src/graphql/resolvers/field-resolvers/union-value-resolver.ts +24 -0
  178. package/src/graphql/resolvers/object-type-field-default-value-resolver-generator.ts +91 -0
  179. package/src/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.ts +116 -0
  180. package/src/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.ts +85 -0
  181. package/src/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.ts +119 -0
  182. package/src/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.ts +20 -0
  183. package/src/graphql/resolvers/query-mutation-resolvers/query-every-resolver.ts +21 -0
  184. package/src/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.ts +12 -0
  185. package/src/graphql/resolvers/query-mutation-resolvers/union-type-resolver.ts +19 -0
  186. package/src/graphql/resolvers/types.ts +14 -0
  187. package/src/graphql/schema-analyzer.ts +55 -0
  188. package/src/graphql/schema-generator.ts +166 -0
  189. package/src/graphql/schema-root-type-generator.ts +35 -0
  190. package/src/graphql/schema-utils/entry-reference-util.ts +175 -167
  191. package/src/graphql/schema-utils/entry-type-util.ts +25 -28
  192. package/src/graphql/schema-utils/union-type-util.ts +26 -15
  193. package/src/graphql/schema-validator.ts +29 -31
  194. package/src/index.ts +27 -5
  195. package/src/persistence/persistence.ts +70 -0
  196. package/dist/cjs/app/api.service.js +0 -74
  197. package/dist/cjs/app/api.service.js.map +0 -1
  198. package/dist/cjs/container.js +0 -53
  199. package/dist/cjs/container.js.map +0 -1
  200. package/dist/cjs/graphql/apollo-config-factory.service.js.map +0 -1
  201. package/dist/cjs/graphql/field-resolver/entry-reference-resolver.js +0 -26
  202. package/dist/cjs/graphql/field-resolver/entry-reference-resolver.js.map +0 -1
  203. package/dist/cjs/graphql/field-resolver/field-default-value-resolver.js +0 -73
  204. package/dist/cjs/graphql/field-resolver/field-default-value-resolver.js.map +0 -1
  205. package/dist/cjs/graphql/field-resolver/fieldResolver.js.map +0 -1
  206. package/dist/cjs/graphql/field-resolver/union-value-resolver.js +0 -21
  207. package/dist/cjs/graphql/field-resolver/union-value-resolver.js.map +0 -1
  208. package/dist/cjs/graphql/input-type-generator.service.js +0 -97
  209. package/dist/cjs/graphql/input-type-generator.service.js.map +0 -1
  210. package/dist/cjs/graphql/queries-mutations-generator.service.js +0 -82
  211. package/dist/cjs/graphql/queries-mutations-generator.service.js.map +0 -1
  212. package/dist/cjs/graphql/resolver-generators/mutation-create-resolver-generator.js +0 -83
  213. package/dist/cjs/graphql/resolver-generators/mutation-create-resolver-generator.js.map +0 -1
  214. package/dist/cjs/graphql/resolver-generators/mutation-delete-resolver-generator.js +0 -60
  215. package/dist/cjs/graphql/resolver-generators/mutation-delete-resolver-generator.js.map +0 -1
  216. package/dist/cjs/graphql/resolver-generators/mutation-update-resolver-generator.js +0 -62
  217. package/dist/cjs/graphql/resolver-generators/mutation-update-resolver-generator.js.map +0 -1
  218. package/dist/cjs/graphql/resolver-generators/object-type-field-default-value-resolver-generator.js +0 -58
  219. package/dist/cjs/graphql/resolver-generators/object-type-field-default-value-resolver-generator.js.map +0 -1
  220. package/dist/cjs/graphql/resolver-generators/query-all-resolver-generator.js +0 -27
  221. package/dist/cjs/graphql/resolver-generators/query-all-resolver-generator.js.map +0 -1
  222. package/dist/cjs/graphql/resolver-generators/query-by-id-resolver-generator.js.map +0 -1
  223. package/dist/cjs/graphql/resolver-generators/query-count-all-resolver-generator.js.map +0 -1
  224. package/dist/cjs/graphql/resolver-generators/query-type-by-id-resolver-generator.js.map +0 -1
  225. package/dist/cjs/graphql/resolver-generators/union-type-resolver-generator.js +0 -33
  226. package/dist/cjs/graphql/resolver-generators/union-type-resolver-generator.js.map +0 -1
  227. package/dist/cjs/graphql/schema-analyzer.service.js +0 -41
  228. package/dist/cjs/graphql/schema-analyzer.service.js.map +0 -1
  229. package/dist/cjs/graphql/schema-generator.service.js +0 -103
  230. package/dist/cjs/graphql/schema-generator.service.js.map +0 -1
  231. package/dist/cjs/graphql/schema-root-type-generator.service.js +0 -39
  232. package/dist/cjs/graphql/schema-root-type-generator.service.js.map +0 -1
  233. package/dist/cjs/persistence/persistence.service.js +0 -66
  234. package/dist/cjs/persistence/persistence.service.js.map +0 -1
  235. package/dist/esm/app/api.service.js +0 -61
  236. package/dist/esm/app/api.service.js.map +0 -1
  237. package/dist/esm/container.js +0 -50
  238. package/dist/esm/container.js.map +0 -1
  239. package/dist/esm/graphql/apollo-config-factory.service.js +0 -17
  240. package/dist/esm/graphql/apollo-config-factory.service.js.map +0 -1
  241. package/dist/esm/graphql/field-resolver/entry-reference-resolver.js +0 -13
  242. package/dist/esm/graphql/field-resolver/entry-reference-resolver.js.map +0 -1
  243. package/dist/esm/graphql/field-resolver/field-default-value-resolver.js +0 -73
  244. package/dist/esm/graphql/field-resolver/field-default-value-resolver.js.map +0 -1
  245. package/dist/esm/graphql/field-resolver/fieldResolver.js +0 -2
  246. package/dist/esm/graphql/field-resolver/fieldResolver.js.map +0 -1
  247. package/dist/esm/graphql/field-resolver/union-value-resolver.js +0 -22
  248. package/dist/esm/graphql/field-resolver/union-value-resolver.js.map +0 -1
  249. package/dist/esm/graphql/input-type-generator.service.js +0 -94
  250. package/dist/esm/graphql/input-type-generator.service.js.map +0 -1
  251. package/dist/esm/graphql/queries-mutations-generator.service.js +0 -85
  252. package/dist/esm/graphql/queries-mutations-generator.service.js.map +0 -1
  253. package/dist/esm/graphql/resolver-generators/mutation-create-resolver-generator.js +0 -78
  254. package/dist/esm/graphql/resolver-generators/mutation-create-resolver-generator.js.map +0 -1
  255. package/dist/esm/graphql/resolver-generators/mutation-delete-resolver-generator.js +0 -58
  256. package/dist/esm/graphql/resolver-generators/mutation-delete-resolver-generator.js.map +0 -1
  257. package/dist/esm/graphql/resolver-generators/mutation-update-resolver-generator.js +0 -67
  258. package/dist/esm/graphql/resolver-generators/mutation-update-resolver-generator.js.map +0 -1
  259. package/dist/esm/graphql/resolver-generators/object-type-field-default-value-resolver-generator.js +0 -55
  260. package/dist/esm/graphql/resolver-generators/object-type-field-default-value-resolver-generator.js.map +0 -1
  261. package/dist/esm/graphql/resolver-generators/query-all-resolver-generator.js +0 -15
  262. package/dist/esm/graphql/resolver-generators/query-all-resolver-generator.js.map +0 -1
  263. package/dist/esm/graphql/resolver-generators/query-by-id-resolver-generator.js +0 -13
  264. package/dist/esm/graphql/resolver-generators/query-by-id-resolver-generator.js.map +0 -1
  265. package/dist/esm/graphql/resolver-generators/query-count-all-resolver-generator.js +0 -14
  266. package/dist/esm/graphql/resolver-generators/query-count-all-resolver-generator.js.map +0 -1
  267. package/dist/esm/graphql/resolver-generators/query-type-by-id-resolver-generator.js +0 -12
  268. package/dist/esm/graphql/resolver-generators/query-type-by-id-resolver-generator.js.map +0 -1
  269. package/dist/esm/graphql/resolver-generators/union-type-resolver-generator.js +0 -22
  270. package/dist/esm/graphql/resolver-generators/union-type-resolver-generator.js.map +0 -1
  271. package/dist/esm/graphql/schema-analyzer.service.js +0 -36
  272. package/dist/esm/graphql/schema-analyzer.service.js.map +0 -1
  273. package/dist/esm/graphql/schema-generator.service.js +0 -103
  274. package/dist/esm/graphql/schema-generator.service.js.map +0 -1
  275. package/dist/esm/graphql/schema-root-type-generator.service.js +0 -35
  276. package/dist/esm/graphql/schema-root-type-generator.service.js.map +0 -1
  277. package/dist/esm/persistence/persistence.service.js +0 -45
  278. package/dist/esm/persistence/persistence.service.js.map +0 -1
  279. package/dist/types/app/api.service.d.ts +0 -34
  280. package/dist/types/app/api.service.d.ts.map +0 -1
  281. package/dist/types/container.d.ts +0 -3
  282. package/dist/types/container.d.ts.map +0 -1
  283. package/dist/types/graphql/apollo-config-factory.service.d.ts +0 -9
  284. package/dist/types/graphql/apollo-config-factory.service.d.ts.map +0 -1
  285. package/dist/types/graphql/field-resolver/entry-reference-resolver.d.ts +0 -11
  286. package/dist/types/graphql/field-resolver/entry-reference-resolver.d.ts.map +0 -1
  287. package/dist/types/graphql/field-resolver/field-default-value-resolver.d.ts +0 -15
  288. package/dist/types/graphql/field-resolver/field-default-value-resolver.d.ts.map +0 -1
  289. package/dist/types/graphql/field-resolver/fieldResolver.d.ts +0 -11
  290. package/dist/types/graphql/field-resolver/fieldResolver.d.ts.map +0 -1
  291. package/dist/types/graphql/field-resolver/union-value-resolver.d.ts +0 -11
  292. package/dist/types/graphql/field-resolver/union-value-resolver.d.ts.map +0 -1
  293. package/dist/types/graphql/input-type-generator.service.d.ts +0 -12
  294. package/dist/types/graphql/input-type-generator.service.d.ts.map +0 -1
  295. package/dist/types/graphql/queries-mutations-generator.service.d.ts +0 -39
  296. package/dist/types/graphql/queries-mutations-generator.service.d.ts.map +0 -1
  297. package/dist/types/graphql/resolver-generators/mutation-create-resolver-generator.d.ts +0 -12
  298. package/dist/types/graphql/resolver-generators/mutation-create-resolver-generator.d.ts.map +0 -1
  299. package/dist/types/graphql/resolver-generators/mutation-delete-resolver-generator.d.ts +0 -12
  300. package/dist/types/graphql/resolver-generators/mutation-delete-resolver-generator.d.ts.map +0 -1
  301. package/dist/types/graphql/resolver-generators/mutation-update-resolver-generator.d.ts +0 -13
  302. package/dist/types/graphql/resolver-generators/mutation-update-resolver-generator.d.ts.map +0 -1
  303. package/dist/types/graphql/resolver-generators/object-type-field-default-value-resolver-generator.d.ts +0 -13
  304. package/dist/types/graphql/resolver-generators/object-type-field-default-value-resolver-generator.d.ts.map +0 -1
  305. package/dist/types/graphql/resolver-generators/query-all-resolver-generator.d.ts +0 -10
  306. package/dist/types/graphql/resolver-generators/query-all-resolver-generator.d.ts.map +0 -1
  307. package/dist/types/graphql/resolver-generators/query-by-id-resolver-generator.d.ts +0 -10
  308. package/dist/types/graphql/resolver-generators/query-by-id-resolver-generator.d.ts.map +0 -1
  309. package/dist/types/graphql/resolver-generators/query-count-all-resolver-generator.d.ts +0 -10
  310. package/dist/types/graphql/resolver-generators/query-count-all-resolver-generator.d.ts.map +0 -1
  311. package/dist/types/graphql/resolver-generators/query-type-by-id-resolver-generator.d.ts +0 -9
  312. package/dist/types/graphql/resolver-generators/query-type-by-id-resolver-generator.d.ts.map +0 -1
  313. package/dist/types/graphql/resolver-generators/union-type-resolver-generator.d.ts +0 -11
  314. package/dist/types/graphql/resolver-generators/union-type-resolver-generator.d.ts.map +0 -1
  315. package/dist/types/graphql/schema-analyzer.service.d.ts.map +0 -1
  316. package/dist/types/graphql/schema-generator.service.d.ts +0 -21
  317. package/dist/types/graphql/schema-generator.service.d.ts.map +0 -1
  318. package/dist/types/graphql/schema-root-type-generator.service.d.ts +0 -5
  319. package/dist/types/graphql/schema-root-type-generator.service.d.ts.map +0 -1
  320. package/dist/types/persistence/persistence.service.d.ts +0 -8
  321. package/dist/types/persistence/persistence.service.d.ts.map +0 -1
  322. package/src/app/api.service.ts +0 -121
  323. package/src/container.ts +0 -106
  324. package/src/graphql/apollo-config-factory.service.ts +0 -21
  325. package/src/graphql/field-resolver/entry-reference-resolver.ts +0 -47
  326. package/src/graphql/field-resolver/field-default-value-resolver.ts +0 -152
  327. package/src/graphql/field-resolver/union-value-resolver.ts +0 -46
  328. package/src/graphql/input-type-generator.service.ts +0 -127
  329. package/src/graphql/queries-mutations-generator.service.ts +0 -154
  330. package/src/graphql/resolver-generators/mutation-create-resolver-generator.ts +0 -120
  331. package/src/graphql/resolver-generators/mutation-delete-resolver-generator.ts +0 -96
  332. package/src/graphql/resolver-generators/mutation-update-resolver-generator.ts +0 -127
  333. package/src/graphql/resolver-generators/object-type-field-default-value-resolver-generator.ts +0 -117
  334. package/src/graphql/resolver-generators/query-all-resolver-generator.ts +0 -29
  335. package/src/graphql/resolver-generators/query-by-id-resolver-generator.ts +0 -23
  336. package/src/graphql/resolver-generators/query-count-all-resolver-generator.ts +0 -29
  337. package/src/graphql/resolver-generators/query-type-by-id-resolver-generator.ts +0 -27
  338. package/src/graphql/resolver-generators/union-type-resolver-generator.ts +0 -38
  339. package/src/graphql/schema-analyzer.service.ts +0 -57
  340. package/src/graphql/schema-generator.service.ts +0 -178
  341. package/src/graphql/schema-root-type-generator.service.ts +0 -44
  342. package/src/persistence/persistence.service.ts +0 -74
@@ -0,0 +1,53 @@
1
+ import { createApolloConfig } from './graphql/apollo-config-factory';
2
+ import { generateSchema } from './graphql/schema-generator';
3
+ import { ApolloServer, } from '@apollo/server';
4
+ export const postGraphQL = async (gitAdapter, ref, request) => {
5
+ let currentRef = await gitAdapter.getLatestCommitHash(ref);
6
+ const context = {
7
+ branch: ref,
8
+ gitAdapter: gitAdapter,
9
+ getCurrentRef() {
10
+ return currentRef;
11
+ },
12
+ setCurrentRef(refArg) {
13
+ currentRef = refArg;
14
+ },
15
+ };
16
+ const apolloDriverConfig = await createApolloConfig(context);
17
+ const apolloServer = new ApolloServer({
18
+ ...apolloDriverConfig,
19
+ });
20
+ const result = await apolloServer.executeOperation(request, {
21
+ contextValue: context,
22
+ });
23
+ await apolloServer.stop();
24
+ return {
25
+ ref: context.getCurrentRef(),
26
+ data: result.body.kind === 'single' ? result.body.singleResult.data : undefined,
27
+ errors: result.body.kind === 'single'
28
+ ? result.body.singleResult.errors
29
+ : undefined,
30
+ };
31
+ };
32
+ export const getSchema = async (gitAdapter, ref) => {
33
+ let currentRef = await gitAdapter.getLatestCommitHash(ref);
34
+ const context = {
35
+ branch: ref,
36
+ gitAdapter: gitAdapter,
37
+ getCurrentRef() {
38
+ return currentRef;
39
+ },
40
+ setCurrentRef(refArg) {
41
+ currentRef = refArg;
42
+ },
43
+ };
44
+ const typeDefinitionStrings = (await generateSchema(context)).typeDefs;
45
+ if (!Array.isArray(typeDefinitionStrings)) {
46
+ throw new Error('Expected array of typeDefinition strings.');
47
+ }
48
+ return {
49
+ ref: context.getCurrentRef(),
50
+ data: typeDefinitionStrings.join('\n'),
51
+ };
52
+ };
53
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAO3D,OAAO,EACL,YAAY,GAGb,MAAM,gBAAgB,CAAA;AAWvB,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAI9B,UAAsB,EACtB,GAAW,EACX,OAAyD,EACjB,EAAE;IAC1C,IAAI,UAAU,GAAG,MAAM,UAAU,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAC1D,MAAM,OAAO,GAAkB;QAC7B,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,UAAU;QACtB,aAAa;YACX,OAAO,UAAU,CAAA;QACnB,CAAC;QACD,aAAa,CAAC,MAAc;YAC1B,UAAU,GAAG,MAAM,CAAA;QACrB,CAAC;KACF,CAAA;IAED,MAAM,kBAAkB,GACtB,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAEnC,MAAM,YAAY,GAAG,IAAI,YAAY,CAAgB;QACnD,GAAG,kBAAkB;KACtB,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,gBAAgB,CAChD,OAAO,EACP;QACE,YAAY,EAAE,OAAO;KACtB,CACF,CAAA;IAED,MAAM,YAAY,CAAC,IAAI,EAAE,CAAA;IAEzB,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,aAAa,EAAE;QAC5B,IAAI,EACF,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QAC3E,MAAM,EACJ,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ;YAC3B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM;YACjC,CAAC,CAAC,SAAS;KAChB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAC5B,UAAsB,EACtB,GAAW,EACc,EAAE;IAC3B,IAAI,UAAU,GAAG,MAAM,UAAU,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAC1D,MAAM,OAAO,GAAkB;QAC7B,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,UAAU;QACtB,aAAa;YACX,OAAO,UAAU,CAAA;QACnB,CAAC;QACD,aAAa,CAAC,MAAc;YAC1B,UAAU,GAAG,MAAM,CAAA;QACrB,CAAC;KACF,CAAA;IAED,MAAM,qBAAqB,GAAG,CAAC,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAA;IACtE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,aAAa,EAAE;QAC5B,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;KACvC,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { makeExecutableSchema } from '@graphql-tools/schema';
2
+ import { generateSchema } from './schema-generator';
3
+ import { ApolloServerPluginUsageReportingDisabled } from '@apollo/server/plugin/disabled';
4
+ export async function createApolloConfig(context) {
5
+ const schemaDefinition = await generateSchema(context);
6
+ const schema = makeExecutableSchema(schemaDefinition);
7
+ return {
8
+ schema: schema,
9
+ plugins: [ApolloServerPluginUsageReportingDisabled()],
10
+ };
11
+ }
12
+ //# sourceMappingURL=apollo-config-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apollo-config-factory.js","sourceRoot":"","sources":["../../../src/graphql/apollo-config-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAGnD,OAAO,EAAE,wCAAwC,EAAE,MAAM,gCAAgC,CAAA;AAEzF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAsB;IAEtB,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAA;IACtD,MAAM,MAAM,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAA;IAErD,OAAO;QACL,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,CAAC,wCAAwC,EAAE,CAAC;KAChB,CAAA;AACzC,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { GraphQLError } from 'graphql';
2
+ export var ErrorCode;
3
+ (function (ErrorCode) {
4
+ ErrorCode["BAD_USER_INPUT"] = "BAD_USER_INPUT";
5
+ ErrorCode["NOT_FOUND"] = "NOT_FOUND";
6
+ ErrorCode["BAD_REPOSITORY_DATA"] = "BAD_REPOSITORY_DATA";
7
+ ErrorCode["SCHEMA_DATA_MISMATCH"] = "SCHEMA_DATA_MISMATCH";
8
+ ErrorCode["BAD_SCHEMA"] = "BAD_SCHEMA";
9
+ ErrorCode["INTERNAL_ERROR"] = "INTERNAL_ERROR";
10
+ ErrorCode["IN_USE"] = "IN_USE";
11
+ })(ErrorCode || (ErrorCode = {}));
12
+ export const createError = (message, code, metaData) => {
13
+ const serializedFieldValue = typeof metaData.fieldValue === 'object' ||
14
+ Array.isArray(metaData.fieldValue)
15
+ ? JSON.stringify(metaData.fieldValue)
16
+ : metaData.fieldValue;
17
+ const updatedMetaData = { ...metaData };
18
+ if (serializedFieldValue !== undefined) {
19
+ updatedMetaData.fieldValue = serializedFieldValue;
20
+ }
21
+ return new GraphQLError(message, {
22
+ extensions: {
23
+ code: code,
24
+ commitspark: updatedMetaData,
25
+ },
26
+ });
27
+ };
28
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/graphql/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC,MAAM,CAAN,IAAY,SAQX;AARD,WAAY,SAAS;IACnB,8CAAiC,CAAA;IACjC,oCAAuB,CAAA;IACvB,wDAA2C,CAAA;IAC3C,0DAA6C,CAAA;IAC7C,sCAAyB,CAAA;IACzB,8CAAiC,CAAA;IACjC,8BAAiB,CAAA;AACnB,CAAC,EARW,SAAS,KAAT,SAAS,QAQpB;AAWD,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,OAAe,EACf,IAAe,EACf,QAAuB,EACT,EAAE;IAChB,MAAM,oBAAoB,GACxB,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ;QACvC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;QAChC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC;QACrC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAA;IACzB,MAAM,eAAe,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAA;IACvC,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACvC,eAAe,CAAC,UAAU,GAAG,oBAAoB,CAAA;IACnD,CAAC;IAED,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE;QAC/B,UAAU,EAAE;YACV,IAAI,EAAE,IAAI;YACV,WAAW,EAAE,eAAe;SAC7B;KACF,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -0,0 +1,89 @@
1
+ import { isInterfaceType, isListType, isNonNullType, isObjectType, isScalarType, isUnionType, } from 'graphql';
2
+ import { buildsOnTypeWithEntryDirective, hasEntryDirective, } from './schema-utils/entry-type-util';
3
+ function generateFieldInputTypeString(type) {
4
+ if (isListType(type)) {
5
+ return `[${generateFieldInputTypeString(type.ofType)}]`;
6
+ }
7
+ else if (isNonNullType(type)) {
8
+ return `${generateFieldInputTypeString(type.ofType)}!`;
9
+ }
10
+ else if (isObjectType(type)) {
11
+ if (hasEntryDirective(type)) {
12
+ return `${type.name}IdInput`;
13
+ }
14
+ else {
15
+ return `${type.name}Input`;
16
+ }
17
+ }
18
+ else if (isInterfaceType(type)) {
19
+ // TODO
20
+ return '';
21
+ }
22
+ else if (isUnionType(type)) {
23
+ if (buildsOnTypeWithEntryDirective(type)) {
24
+ return `${type.name}IdInput`;
25
+ }
26
+ else {
27
+ return `${type.name}Input`;
28
+ }
29
+ }
30
+ else {
31
+ return type.name;
32
+ }
33
+ }
34
+ export function generateIdInputTypeStrings(schemaAnalyzerResult) {
35
+ let typesWithIdField = [];
36
+ typesWithIdField = typesWithIdField.concat(schemaAnalyzerResult.entryDirectiveTypes);
37
+ typesWithIdField = typesWithIdField.concat(schemaAnalyzerResult.interfaceTypes);
38
+ typesWithIdField = typesWithIdField.concat(schemaAnalyzerResult.unionTypes);
39
+ return typesWithIdField.map((type) => {
40
+ return `input ${type.name}IdInput {\n` + ' id: ID!\n' + '}\n';
41
+ });
42
+ }
43
+ export function generateObjectInputTypeStrings(objectTypes) {
44
+ return objectTypes.map((objectType) => {
45
+ const name = objectType.name;
46
+ const inputTypeName = `${name}Input`;
47
+ let inputType = `input ${inputTypeName} {\n`;
48
+ let inputTypeFieldStrings = '';
49
+ for (const fieldsKey in objectType.getFields()) {
50
+ const field = objectType.getFields()[fieldsKey];
51
+ if ((isNonNullType(field.type) &&
52
+ isScalarType(field.type.ofType) &&
53
+ field.type.ofType.name === 'ID') ||
54
+ (isScalarType(field.type) && field.type.name === 'ID')) {
55
+ continue;
56
+ }
57
+ const inputTypeString = generateFieldInputTypeString(field.type);
58
+ inputTypeFieldStrings += ` ${field.name}: ${inputTypeString}\n`;
59
+ }
60
+ if (inputTypeFieldStrings.length > 0) {
61
+ inputType += `${inputTypeFieldStrings}`;
62
+ }
63
+ else {
64
+ // generate a dummy field as empty input types are not permitted
65
+ inputType += ' _: Boolean\n';
66
+ }
67
+ inputType += '}\n';
68
+ return inputType;
69
+ });
70
+ }
71
+ export function generateUnionInputTypeStrings(unionTypes) {
72
+ const typeStrings = unionTypes.map((unionType) => {
73
+ if (buildsOnTypeWithEntryDirective(unionType)) {
74
+ return '';
75
+ }
76
+ // see https://github.com/graphql/graphql-spec/pull/825
77
+ let unionInputType = `input ${unionType.name}Input @oneOf {\n`;
78
+ for (const innerType of unionType.getTypes()) {
79
+ unionInputType += ` ${innerType.name}: ${innerType.name}Input\n`;
80
+ }
81
+ unionInputType += '}\n';
82
+ return unionInputType;
83
+ });
84
+ if (typeStrings.join('').length > 0) {
85
+ typeStrings.push('directive @oneOf on INPUT_OBJECT\n');
86
+ }
87
+ return typeStrings;
88
+ }
89
+ //# sourceMappingURL=input-type-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-type-generator.js","sourceRoot":"","sources":["../../../src/graphql/input-type-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ import { queryEveryResolver } from './resolvers/query-mutation-resolvers/query-every-resolver';
2
+ import { queryByIdResolver } from './resolvers/query-mutation-resolvers/query-by-id-resolver';
3
+ import { mutationCreateResolver } from './resolvers/query-mutation-resolvers/mutation-create-resolver';
4
+ import { mutationUpdateResolver } from './resolvers/query-mutation-resolvers/mutation-update-resolver';
5
+ import { mutationDeleteResolver } from './resolvers/query-mutation-resolvers/mutation-delete-resolver';
6
+ import { queryTypeByIdResolver } from './resolvers/query-mutation-resolvers/query-type-by-id-resolver';
7
+ export function generateQueriesAndMutations(entryDirectiveTypes) {
8
+ return entryDirectiveTypes.map((objectType) => {
9
+ const typeName = objectType.name;
10
+ // The semantics of `every` aren't a perfect replacement of `all` but this way we don't need to do non-trivial
11
+ // pluralization of user-provided typeName
12
+ const queryEveryName = `every${typeName}`;
13
+ const queryEveryString = `${queryEveryName}: [${objectType.name}!]`;
14
+ const queryEveryResolverFunc = (source, args, context, info) => queryEveryResolver(source, args, { ...context, type: objectType }, info);
15
+ const queryByIdName = typeName;
16
+ const queryByIdString = `${queryByIdName}(id: ID!): ${objectType.name}`;
17
+ const queryByIdResolverFunc = (source, args, context, info) => queryByIdResolver(source, args, { ...context, type: objectType }, info);
18
+ const inputTypeName = `${typeName}Input`;
19
+ const createMutationName = `create${typeName}`;
20
+ const createMutationString = `${createMutationName}(id: ID!, data: ${inputTypeName}!, commitMessage: String): ${typeName}`;
21
+ const createMutationResolver = (source, args, context, info) => mutationCreateResolver(source, args, { ...context, type: objectType }, info);
22
+ const updateMutationName = `update${typeName}`;
23
+ const updateMutationString = `${updateMutationName}(id: ID!, data: ${inputTypeName}!, commitMessage: String): ${typeName}`;
24
+ const updateMutationResolver = (source, args, context, info) => mutationUpdateResolver(source, args, { ...context, type: objectType }, info);
25
+ const deleteMutationName = `delete${typeName}`;
26
+ const deleteMutationString = `${deleteMutationName}(id: ID!, commitMessage: String): ID`;
27
+ const deleteMutationResolver = (source, args, context, info) => mutationDeleteResolver(source, args, { ...context, type: objectType }, info);
28
+ return {
29
+ queryEvery: {
30
+ name: queryEveryName,
31
+ schemaString: queryEveryString,
32
+ resolver: queryEveryResolverFunc,
33
+ },
34
+ queryById: {
35
+ name: queryByIdName,
36
+ schemaString: queryByIdString,
37
+ resolver: queryByIdResolverFunc,
38
+ },
39
+ createMutation: {
40
+ name: createMutationName,
41
+ schemaString: createMutationString,
42
+ resolver: createMutationResolver,
43
+ },
44
+ updateMutation: {
45
+ name: updateMutationName,
46
+ schemaString: updateMutationString,
47
+ resolver: updateMutationResolver,
48
+ },
49
+ deleteMutation: {
50
+ name: deleteMutationName,
51
+ schemaString: deleteMutationString,
52
+ resolver: deleteMutationResolver,
53
+ },
54
+ };
55
+ });
56
+ }
57
+ export function generateTypeNameQuery() {
58
+ const entryTypeQueryName = '_typeName';
59
+ const entryTypeQueryString = `${entryTypeQueryName}(id: ID!): String!`;
60
+ return {
61
+ name: entryTypeQueryName,
62
+ schemaString: entryTypeQueryString,
63
+ resolver: queryTypeByIdResolver,
64
+ };
65
+ }
66
+ //# sourceMappingURL=queries-mutations-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queries-mutations-generator.js","sourceRoot":"","sources":["../../../src/graphql/queries-mutations-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { isNamedType } from 'graphql';
2
+ import { findById } from '../../../persistence/persistence';
3
+ import { createError, ErrorCode } from '../../errors';
4
+ export const resolveEntryReference = async (fieldValue, args, context, info) => {
5
+ if (!isNamedType(context.currentType)) {
6
+ throw createError(`Expected context.currentType type to be a named type.`, ErrorCode.INTERNAL_ERROR, {
7
+ fieldValue: fieldValue,
8
+ });
9
+ }
10
+ const entry = await findById(context.gitAdapter, context.getCurrentRef(), fieldValue.id);
11
+ return { ...entry.data, id: entry.id };
12
+ };
13
+ //# sourceMappingURL=entry-reference-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entry-reference-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/field-resolvers/entry-reference-resolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,WAAW,EAAE,MAAM,SAAS,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAErD,MAAM,CAAC,MAAM,qBAAqB,GAAuB,KAAK,EAC5D,UAAe,EACf,IAAS,EACT,OAA6B,EAC7B,IAAwB,EACxB,EAAE;IACF,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACtC,MAAM,WAAW,CACf,uDAAuD,EACvD,SAAS,CAAC,cAAc,EACxB;YACE,UAAU,EAAE,UAAU;SACvB,CACF,CAAA;IACH,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,QAAQ,CAC1B,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,aAAa,EAAE,EACvB,UAAU,CAAC,EAAE,CACd,CAAA;IAED,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAA;AACxC,CAAC,CAAA"}
@@ -0,0 +1,80 @@
1
+ import { isListType, isNonNullType, isObjectType, isUnionType, } from 'graphql';
2
+ import { buildsOnTypeWithEntryDirective, hasEntryDirective, } from '../../schema-utils/entry-type-util';
3
+ import { resolveEntryReference } from './entry-reference-resolver';
4
+ import { resolveUnionValue } from './union-value-resolver';
5
+ import { createError, ErrorCode } from '../../errors';
6
+ export const resolveFieldDefaultValue = async (fieldValue, args, context, info) => {
7
+ if (isNonNullType(context.currentType)) {
8
+ return resolveFieldDefaultValue(fieldValue, args, {
9
+ gitAdapter: context.gitAdapter,
10
+ getCurrentRef: context.getCurrentRef,
11
+ currentType: context.currentType.ofType,
12
+ hasNonNullParent: true,
13
+ }, info);
14
+ }
15
+ else if (isListType(context.currentType)) {
16
+ if (fieldValue === undefined || fieldValue === null) {
17
+ if (context.hasNonNullParent) {
18
+ return new Promise((resolve) => resolve([]));
19
+ }
20
+ else {
21
+ return new Promise((resolve) => resolve(null));
22
+ }
23
+ }
24
+ if (!Array.isArray(fieldValue)) {
25
+ throw createError(`Expected array while resolving value for field "${info.fieldName}".`, ErrorCode.SCHEMA_DATA_MISMATCH, {
26
+ fieldName: info.fieldName,
27
+ fieldValue: fieldValue,
28
+ });
29
+ }
30
+ const resultPromises = [];
31
+ for (const item of fieldValue) {
32
+ const resultPromise = resolveFieldDefaultValue(item, args, {
33
+ gitAdapter: context.gitAdapter,
34
+ getCurrentRef: context.getCurrentRef,
35
+ currentType: context.currentType.ofType,
36
+ hasNonNullParent: context.hasNonNullParent,
37
+ }, info);
38
+ resultPromises.push(resultPromise);
39
+ }
40
+ return Promise.all(resultPromises);
41
+ }
42
+ else if (isUnionType(context.currentType)) {
43
+ if (fieldValue === undefined || fieldValue === null) {
44
+ if (context.hasNonNullParent) {
45
+ throw createError(`Cannot generate a default value for NonNull field "${info.parentType.name}.${info.fieldName}" because it is a union field of type "${info.returnType.ofType.name}". Set a value in your repository data or remove the NonNull declaration in your schema.`, ErrorCode.BAD_REPOSITORY_DATA, {
46
+ typeName: info.parentType.name,
47
+ fieldName: info.fieldName,
48
+ });
49
+ }
50
+ else {
51
+ return new Promise((resolve) => resolve(null));
52
+ }
53
+ }
54
+ if (buildsOnTypeWithEntryDirective(context.currentType)) {
55
+ return resolveEntryReference(fieldValue, args, context, info);
56
+ }
57
+ return resolveUnionValue(fieldValue, args, context, info);
58
+ }
59
+ else if (isObjectType(context.currentType)) {
60
+ if (fieldValue === undefined || fieldValue === null) {
61
+ if (context.hasNonNullParent) {
62
+ throw createError(`Cannot generate a default value for NonNull field "${info.fieldName}" of type ` +
63
+ `"${info.parentType.name}". Set a value in your repository data or remove the NonNull ` +
64
+ `declaration in your schema.`, ErrorCode.BAD_REPOSITORY_DATA, {
65
+ typeName: info.parentType.name,
66
+ fieldName: info.fieldName,
67
+ });
68
+ }
69
+ else {
70
+ return new Promise((resolve) => resolve(null));
71
+ }
72
+ }
73
+ if (hasEntryDirective(context.currentType)) {
74
+ return resolveEntryReference(fieldValue, args, context, info);
75
+ }
76
+ return fieldValue;
77
+ }
78
+ return fieldValue;
79
+ };
80
+ //# sourceMappingURL=field-default-value-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-default-value-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/field-resolvers/field-default-value-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/field-resolvers/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import { getUnionTypeNameFromFieldValue, getUnionValue, } from '../../schema-utils/union-type-util';
2
+ export const resolveUnionValue = async (fieldValue) => {
3
+ const typeName = getUnionTypeNameFromFieldValue(fieldValue);
4
+ const unionValue = getUnionValue(fieldValue);
5
+ // We replace the helper type name field that holds our field's actual data
6
+ // with this actual data and add a `__typename` field, so that our output data
7
+ // corresponds to the output schema provided by the user (i.e. there is
8
+ // no additional nesting level there).
9
+ const res = {
10
+ ...unionValue,
11
+ __typename: typeName,
12
+ };
13
+ return new Promise((resolve) => resolve(res));
14
+ };
15
+ //# sourceMappingURL=union-value-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"union-value-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/field-resolvers/union-value-resolver.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,8BAA8B,EAC9B,aAAa,GACd,MAAM,oCAAoC,CAAA;AAE3C,MAAM,CAAC,MAAM,iBAAiB,GAAuB,KAAK,EACxD,UAAe,EAC6C,EAAE;IAC9D,MAAM,QAAQ,GAAG,8BAA8B,CAAC,UAAU,CAAC,CAAA;IAC3D,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;IAE5C,2EAA2E;IAC3E,8EAA8E;IAC9E,uEAAuE;IACvE,sCAAsC;IACtC,MAAM,GAAG,GAAc;QACrB,GAAG,UAAU;QACb,UAAU,EAAE,QAAQ;KACrB,CAAA;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;AAC/C,CAAC,CAAA"}
@@ -0,0 +1,50 @@
1
+ import { isListType, isNonNullType, isObjectType, isUnionType, } from 'graphql';
2
+ import { resolveFieldDefaultValue } from './field-resolvers/field-default-value-resolver';
3
+ function requiresCustomDefaultValueResolver(type) {
4
+ if (isNonNullType(type)) {
5
+ return requiresCustomDefaultValueResolver(type.ofType);
6
+ }
7
+ else if (isListType(type)) {
8
+ return true;
9
+ }
10
+ else if (isUnionType(type)) {
11
+ return true;
12
+ }
13
+ else if (isObjectType(type)) {
14
+ return true;
15
+ }
16
+ return false;
17
+ }
18
+ function getFieldsForCustomDefaultValueResolver(objectType) {
19
+ const fields = [];
20
+ for (const fieldsKey in objectType.getFields()) {
21
+ const field = objectType.getFields()[fieldsKey];
22
+ if (requiresCustomDefaultValueResolver(field.type)) {
23
+ fields.push(field);
24
+ }
25
+ }
26
+ return fields;
27
+ }
28
+ export function createObjectTypeFieldResolvers(schema) {
29
+ const fieldResolversByType = {};
30
+ for (const typeName of Object.keys(schema.getTypeMap())) {
31
+ const type = schema.getType(typeName);
32
+ if (!isObjectType(type) || type.name.startsWith('__')) {
33
+ continue;
34
+ }
35
+ const fieldsForCustomDefaultValueResolver = getFieldsForCustomDefaultValueResolver(type);
36
+ const fieldResolversByFieldName = {};
37
+ for (const field of fieldsForCustomDefaultValueResolver) {
38
+ fieldResolversByFieldName[field.name] = (obj, args, context, info) => resolveFieldDefaultValue(field.name in obj ? obj[field.name] : undefined, args, {
39
+ currentType: field.type,
40
+ gitAdapter: context.gitAdapter,
41
+ getCurrentRef: context.getCurrentRef,
42
+ }, info);
43
+ }
44
+ if (Object.keys(fieldResolversByFieldName).length > 0) {
45
+ fieldResolversByType[typeName] = fieldResolversByFieldName;
46
+ }
47
+ }
48
+ return fieldResolversByType;
49
+ }
50
+ //# sourceMappingURL=object-type-field-default-value-resolver-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object-type-field-default-value-resolver-generator.js","sourceRoot":"","sources":["../../../../src/graphql/resolvers/object-type-field-default-value-resolver-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,UAAU,EACV,aAAa,EACb,YAAY,EACZ,WAAW,GACZ,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAA;AAGzF,SAAS,kCAAkC,CAAC,IAAuB;IACjE,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,kCAAkC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACxD,CAAC;SAAM,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;SAAM,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAA;IACb,CAAC;SAAM,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,sCAAsC,CAC7C,UAA6B;IAE7B,MAAM,MAAM,GAAG,EAAE,CAAA;IACjB,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC;QAC/C,MAAM,KAAK,GAA2B,UAAU,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,CAAA;QACvE,IAAI,kCAAkC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACnD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACpB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAYD,MAAM,UAAU,8BAA8B,CAC5C,MAAqB;IAErB,MAAM,oBAAoB,GAAyC,EAAE,CAAA;IACrE,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACtD,SAAQ;QACV,CAAC;QACD,MAAM,mCAAmC,GACvC,sCAAsC,CAAC,IAAI,CAAC,CAAA;QAE9C,MAAM,yBAAyB,GAAyB,EAAE,CAAA;QAC1D,KAAK,MAAM,KAAK,IAAI,mCAAmC,EAAE,CAAC;YACxD,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CACtC,GAAG,EACH,IAAI,EACJ,OAAO,EACP,IAAI,EACwD,EAAE,CAC9D,wBAAwB,CACtB,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,EAC/C,IAAI,EACJ;gBACE,WAAW,EAAE,KAAK,CAAC,IAAI;gBACvB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,aAAa,EAAE,OAAO,CAAC,aAAa;aACrC,EACD,IAAI,CACL,CAAA;QACL,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtD,oBAAoB,CAAC,QAAQ,CAAC,GAAG,yBAAyB,CAAA;QAC5D,CAAC;IACH,CAAC;IAED,OAAO,oBAAoB,CAAA;AAC7B,CAAC"}
@@ -0,0 +1,67 @@
1
+ import { findById, findByTypeId } from '../../../persistence/persistence';
2
+ import { isObjectType } from 'graphql';
3
+ import { getReferencedEntryIds } from '../../schema-utils/entry-reference-util';
4
+ import { ENTRY_ID_INVALID_CHARACTERS, } from '@commitspark/git-adapter';
5
+ import { createError, ErrorCode } from '../../errors';
6
+ export const mutationCreateResolver = async (source, args, context, info) => {
7
+ if (!isObjectType(context.type)) {
8
+ throw createError(`Entry of type "${context.type.name}" cannot be created as is not an ObjectType.`, ErrorCode.INTERNAL_ERROR, {});
9
+ }
10
+ const idValidationResult = args.id.match(ENTRY_ID_INVALID_CHARACTERS);
11
+ if (idValidationResult) {
12
+ throw createError(`Field "id" contains invalid characters "${idValidationResult.join(', ')}".`, ErrorCode.BAD_USER_INPUT, {
13
+ argumentName: 'id',
14
+ argumentValue: args.id,
15
+ });
16
+ }
17
+ let existingEntry;
18
+ try {
19
+ existingEntry = await findById(context.gitAdapter, context.getCurrentRef(), args.id);
20
+ }
21
+ catch (_) {
22
+ /* empty */
23
+ }
24
+ if (existingEntry) {
25
+ throw createError(`An entry with id "${args.id}" already exists.`, ErrorCode.BAD_USER_INPUT, {
26
+ argumentName: 'id',
27
+ argumentValue: args.id,
28
+ });
29
+ }
30
+ const referencedEntryIds = await getReferencedEntryIds(context.type, context, null, info.returnType, args.data);
31
+ const referencedEntryUpdates = [];
32
+ for (const referencedEntryId of referencedEntryIds) {
33
+ const referencedEntry = await findById(context.gitAdapter, context.getCurrentRef(), referencedEntryId);
34
+ const newReferencedEntryIds = [
35
+ ...(referencedEntry.metadata.referencedBy ?? []),
36
+ args.id,
37
+ ].sort();
38
+ const newReferencedEntryDraft = {
39
+ ...referencedEntry,
40
+ metadata: {
41
+ ...referencedEntry.metadata,
42
+ referencedBy: newReferencedEntryIds,
43
+ },
44
+ deletion: false,
45
+ };
46
+ referencedEntryUpdates.push(newReferencedEntryDraft);
47
+ }
48
+ const newEntryDraft = {
49
+ id: args.id,
50
+ metadata: {
51
+ type: context.type.name,
52
+ referencedBy: [],
53
+ },
54
+ data: args.data,
55
+ deletion: false,
56
+ };
57
+ const commit = await context.gitAdapter.createCommit({
58
+ ref: context.branch,
59
+ parentSha: context.getCurrentRef(),
60
+ entries: [newEntryDraft, ...referencedEntryUpdates],
61
+ message: args.commitMessage,
62
+ });
63
+ context.setCurrentRef(commit.ref);
64
+ const newEntry = await findByTypeId(context.gitAdapter, context.getCurrentRef(), context.type.name, args.id);
65
+ return { ...newEntry.data, id: newEntry.id };
66
+ };
67
+ //# sourceMappingURL=mutation-create-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutation-create-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { findById, findByTypeId } from '../../../persistence/persistence';
2
+ import { getReferencedEntryIds } from '../../schema-utils/entry-reference-util';
3
+ import { isObjectType } from 'graphql';
4
+ import { createError, ErrorCode } from '../../errors';
5
+ export const mutationDeleteResolver = async (source, args, context, info) => {
6
+ const entry = await findByTypeId(context.gitAdapter, context.getCurrentRef(), context.type.name, args.id);
7
+ if (entry.metadata.referencedBy && entry.metadata.referencedBy.length > 0) {
8
+ const otherIds = entry.metadata.referencedBy
9
+ .map((referenceId) => `"${referenceId}"`)
10
+ .join(', ');
11
+ throw createError(`Entry with ID "${args.id}" is still referenced by entries [${otherIds}].`, ErrorCode.IN_USE, {
12
+ argumentName: 'id',
13
+ argumentValue: args.id,
14
+ });
15
+ }
16
+ const entryType = info.schema.getType(context.type.name);
17
+ if (!isObjectType(entryType)) {
18
+ throw createError(`Type "${context.type.name}" is not an ObjectType.`, ErrorCode.INTERNAL_ERROR, {});
19
+ }
20
+ const referencedEntryIds = await getReferencedEntryIds(entryType, context, null, entryType, entry.data);
21
+ const referencedEntryUpdates = [];
22
+ for (const referencedEntryId of referencedEntryIds) {
23
+ const noLongerReferencedEntry = await findById(context.gitAdapter, context.getCurrentRef(), referencedEntryId);
24
+ referencedEntryUpdates.push({
25
+ ...noLongerReferencedEntry,
26
+ metadata: {
27
+ ...noLongerReferencedEntry.metadata,
28
+ referencedBy: noLongerReferencedEntry.metadata.referencedBy?.filter((entryId) => entryId !== args.id),
29
+ },
30
+ deletion: false,
31
+ });
32
+ }
33
+ const commit = await context.gitAdapter.createCommit({
34
+ ref: context.branch,
35
+ parentSha: context.getCurrentRef(),
36
+ entries: [
37
+ {
38
+ ...entry,
39
+ deletion: true,
40
+ },
41
+ ...referencedEntryUpdates,
42
+ ],
43
+ message: args.commitMessage,
44
+ });
45
+ context.setCurrentRef(commit.ref);
46
+ return args.id;
47
+ };
48
+ //# sourceMappingURL=mutation-delete-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutation-delete-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAEzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAA;AAC/E,OAAO,EAAwB,YAAY,EAAE,MAAM,SAAS,CAAA;AAE5D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAErD,MAAM,CAAC,MAAM,sBAAsB,GAK/B,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IACxC,MAAM,KAAK,GAAU,MAAM,YAAY,CACrC,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,aAAa,EAAE,EACvB,OAAO,CAAC,IAAI,CAAC,IAAI,EACjB,IAAI,CAAC,EAAE,CACR,CAAA;IAED,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1E,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,YAAY;aACzC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,WAAW,GAAG,CAAC;aACxC,IAAI,CAAC,IAAI,CAAC,CAAA;QACb,MAAM,WAAW,CACf,kBAAkB,IAAI,CAAC,EAAE,qCAAqC,QAAQ,IAAI,EAC1E,SAAS,CAAC,MAAM,EAChB;YACE,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,IAAI,CAAC,EAAE;SACvB,CACF,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACxD,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,MAAM,WAAW,CACf,SAAS,OAAO,CAAC,IAAI,CAAC,IAAI,yBAAyB,EACnD,SAAS,CAAC,cAAc,EACxB,EAAE,CACH,CAAA;IACH,CAAC;IAED,MAAM,kBAAkB,GAAG,MAAM,qBAAqB,CACpD,SAAS,EACT,OAAO,EACP,IAAI,EACJ,SAAS,EACT,KAAK,CAAC,IAAI,CACX,CAAA;IACD,MAAM,sBAAsB,GAAiB,EAAE,CAAA;IAC/C,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE,CAAC;QACnD,MAAM,uBAAuB,GAAG,MAAM,QAAQ,CAC5C,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,aAAa,EAAE,EACvB,iBAAiB,CAClB,CAAA;QACD,sBAAsB,CAAC,IAAI,CAAC;YAC1B,GAAG,uBAAuB;YAC1B,QAAQ,EAAE;gBACR,GAAG,uBAAuB,CAAC,QAAQ;gBACnC,YAAY,EAAE,uBAAuB,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CACjE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE,CACjC;aACF;YACD,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC;QACnD,GAAG,EAAE,OAAO,CAAC,MAAM;QACnB,SAAS,EAAE,OAAO,CAAC,aAAa,EAAE;QAClC,OAAO,EAAE;YACP;gBACE,GAAG,KAAK;gBACR,QAAQ,EAAE,IAAI;aACf;YACD,GAAG,sBAAsB;SAC1B;QACD,OAAO,EAAE,IAAI,CAAC,aAAa;KAC5B,CAAC,CAAA;IACF,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAEjC,OAAO,IAAI,CAAC,EAAE,CAAA;AAChB,CAAC,CAAA"}