@commitspark/graphql-api 2.0.0-beta.3 → 2.0.0-beta.5

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 (269) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/README.md +165 -88
  3. package/dist/cjs/client.d.ts +1 -0
  4. package/dist/cjs/graphql/apollo-config-factory.d.ts +1 -0
  5. package/dist/cjs/graphql/errors.d.ts +4 -2
  6. package/dist/cjs/graphql/errors.d.ts.map +1 -0
  7. package/dist/cjs/graphql/errors.js +11 -1
  8. package/dist/cjs/graphql/errors.js.map +1 -1
  9. package/dist/cjs/graphql/input-type-generator.d.ts +1 -0
  10. package/dist/cjs/graphql/input-type-generator.d.ts.map +1 -0
  11. package/dist/cjs/graphql/input-type-generator.js +5 -10
  12. package/dist/cjs/graphql/input-type-generator.js.map +1 -1
  13. package/dist/cjs/graphql/queries-mutations-generator.d.ts +10 -1
  14. package/dist/cjs/graphql/queries-mutations-generator.d.ts.map +1 -0
  15. package/dist/cjs/graphql/queries-mutations-generator.js +55 -3
  16. package/dist/cjs/graphql/queries-mutations-generator.js.map +1 -1
  17. package/dist/cjs/graphql/resolvers/commit-message.d.ts +11 -0
  18. package/dist/cjs/graphql/resolvers/commit-message.d.ts.map +1 -0
  19. package/dist/cjs/graphql/resolvers/commit-message.js +22 -0
  20. package/dist/cjs/graphql/resolvers/commit-message.js.map +1 -0
  21. package/dist/cjs/graphql/resolvers/field-resolvers/entry-reference-resolver.d.ts +1 -0
  22. package/dist/cjs/graphql/resolvers/field-resolvers/entry-reference-resolver.js +2 -2
  23. package/dist/cjs/graphql/resolvers/field-resolvers/entry-reference-resolver.js.map +1 -1
  24. package/dist/cjs/graphql/resolvers/field-resolvers/field-default-value-resolver.d.ts +1 -0
  25. package/dist/cjs/graphql/resolvers/field-resolvers/field-default-value-resolver.js +3 -3
  26. package/dist/cjs/graphql/resolvers/field-resolvers/field-default-value-resolver.js.map +1 -1
  27. package/dist/cjs/graphql/resolvers/field-resolvers/referenced-by-resolver.d.ts +3 -0
  28. package/dist/cjs/graphql/resolvers/field-resolvers/referenced-by-resolver.d.ts.map +1 -0
  29. package/dist/cjs/graphql/resolvers/field-resolvers/referenced-by-resolver.js +7 -0
  30. package/dist/cjs/graphql/resolvers/field-resolvers/referenced-by-resolver.js.map +1 -0
  31. package/dist/cjs/graphql/resolvers/field-resolvers/types.d.ts +1 -0
  32. package/dist/cjs/graphql/resolvers/field-resolvers/union-value-resolver.d.ts +1 -0
  33. package/dist/cjs/graphql/resolvers/field-resolvers/version-resolver.d.ts +3 -0
  34. package/dist/cjs/graphql/resolvers/field-resolvers/version-resolver.d.ts.map +1 -0
  35. package/dist/cjs/graphql/resolvers/field-resolvers/version-resolver.js +7 -0
  36. package/dist/cjs/graphql/resolvers/field-resolvers/version-resolver.js.map +1 -0
  37. package/dist/cjs/graphql/resolvers/object-type-field-default-value-resolver-generator.d.ts +1 -0
  38. package/dist/cjs/graphql/resolvers/object-type-field-default-value-resolver-generator.js +1 -1
  39. package/dist/cjs/graphql/resolvers/object-type-field-default-value-resolver-generator.js.map +1 -1
  40. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.d.ts +1 -0
  41. package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.d.ts.map +1 -1
  42. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js +33 -42
  43. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js.map +1 -1
  44. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.d.ts +1 -0
  45. package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.d.ts.map +1 -1
  46. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js +28 -40
  47. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js.map +1 -1
  48. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.d.ts +1 -0
  49. package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.d.ts.map +1 -1
  50. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js +26 -43
  51. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js.map +1 -1
  52. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.d.ts +1 -0
  53. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-every-resolver.d.ts +1 -0
  54. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-search-resolver.d.ts +1 -0
  55. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-search-resolver.js +5 -5
  56. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-search-resolver.js.map +1 -1
  57. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.d.ts +1 -0
  58. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/union-type-resolver.d.ts +1 -0
  59. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js +1 -1
  60. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js.map +1 -1
  61. package/dist/cjs/graphql/resolvers/types.d.ts +14 -2
  62. package/dist/cjs/graphql/resolvers/types.d.ts.map +1 -0
  63. package/dist/cjs/graphql/schema-analyzer.d.ts +1 -0
  64. package/dist/cjs/graphql/schema-generator.d.ts +1 -0
  65. package/dist/cjs/graphql/schema-generator.d.ts.map +1 -0
  66. package/dist/cjs/graphql/schema-generator.js +12 -1
  67. package/dist/cjs/graphql/schema-generator.js.map +1 -1
  68. package/dist/cjs/graphql/schema-root-type-generator.d.ts +1 -0
  69. package/dist/cjs/graphql/schema-utils/directive-util.d.ts +1 -0
  70. package/dist/cjs/graphql/schema-utils/entry-reference-util.d.ts +5 -2
  71. package/dist/cjs/graphql/schema-utils/entry-reference-util.d.ts.map +1 -0
  72. package/dist/cjs/graphql/schema-utils/entry-reference-util.js +94 -121
  73. package/dist/cjs/graphql/schema-utils/entry-reference-util.js.map +1 -1
  74. package/dist/cjs/graphql/schema-utils/entry-type-util.d.ts +1 -0
  75. package/dist/cjs/graphql/schema-utils/searchable-field-util.d.ts +1 -0
  76. package/dist/cjs/graphql/schema-utils/union-type-util.d.ts +1 -0
  77. package/dist/cjs/graphql/schema-utils/union-type-util.js +2 -2
  78. package/dist/cjs/graphql/schema-utils/union-type-util.js.map +1 -1
  79. package/dist/cjs/graphql/schema-validator.d.ts +1 -0
  80. package/dist/{types → cjs}/graphql/schema-validator.d.ts.map +1 -1
  81. package/dist/cjs/graphql/schema-validator.js +16 -0
  82. package/dist/cjs/graphql/schema-validator.js.map +1 -1
  83. package/dist/cjs/graphql/util.d.ts +1 -0
  84. package/dist/cjs/index.d.ts +1 -0
  85. package/dist/cjs/index.js +3 -0
  86. package/dist/cjs/index.js.map +1 -1
  87. package/dist/cjs/persistence/cache.d.ts +4 -1
  88. package/dist/cjs/persistence/cache.d.ts.map +1 -0
  89. package/dist/cjs/persistence/cache.js +8 -17
  90. package/dist/cjs/persistence/cache.js.map +1 -1
  91. package/dist/cjs/persistence/commit-with-retry.d.ts +16 -0
  92. package/dist/cjs/persistence/commit-with-retry.d.ts.map +1 -0
  93. package/dist/cjs/persistence/commit-with-retry.js +39 -0
  94. package/dist/cjs/persistence/commit-with-retry.js.map +1 -0
  95. package/dist/cjs/persistence/git-adapter-call.d.ts +10 -0
  96. package/dist/cjs/persistence/git-adapter-call.d.ts.map +1 -0
  97. package/dist/cjs/persistence/git-adapter-call.js +29 -0
  98. package/dist/cjs/persistence/git-adapter-call.js.map +1 -0
  99. package/dist/cjs/persistence/persistence.d.ts +12 -0
  100. package/dist/{types → cjs}/persistence/persistence.d.ts.map +1 -1
  101. package/dist/cjs/persistence/persistence.js +37 -2
  102. package/dist/cjs/persistence/persistence.js.map +1 -1
  103. package/dist/esm/client.d.ts.map +1 -0
  104. package/dist/esm/graphql/apollo-config-factory.d.ts.map +1 -0
  105. package/dist/{types → esm}/graphql/errors.d.ts +3 -2
  106. package/dist/esm/graphql/errors.d.ts.map +1 -0
  107. package/dist/esm/graphql/errors.js +10 -0
  108. package/dist/esm/graphql/errors.js.map +1 -1
  109. package/dist/esm/graphql/input-type-generator.d.ts.map +1 -0
  110. package/dist/esm/graphql/input-type-generator.js +6 -11
  111. package/dist/esm/graphql/input-type-generator.js.map +1 -1
  112. package/dist/{types → esm}/graphql/queries-mutations-generator.d.ts +9 -1
  113. package/dist/esm/graphql/queries-mutations-generator.d.ts.map +1 -0
  114. package/dist/esm/graphql/queries-mutations-generator.js +53 -3
  115. package/dist/esm/graphql/queries-mutations-generator.js.map +1 -1
  116. package/dist/esm/graphql/resolvers/commit-message.d.ts +11 -0
  117. package/dist/esm/graphql/resolvers/commit-message.d.ts.map +1 -0
  118. package/dist/esm/graphql/resolvers/commit-message.js +19 -0
  119. package/dist/esm/graphql/resolvers/commit-message.js.map +1 -0
  120. package/dist/esm/graphql/resolvers/field-resolvers/entry-reference-resolver.d.ts.map +1 -0
  121. package/dist/esm/graphql/resolvers/field-resolvers/entry-reference-resolver.js +3 -3
  122. package/dist/esm/graphql/resolvers/field-resolvers/entry-reference-resolver.js.map +1 -1
  123. package/dist/esm/graphql/resolvers/field-resolvers/field-default-value-resolver.d.ts.map +1 -0
  124. package/dist/esm/graphql/resolvers/field-resolvers/field-default-value-resolver.js +4 -4
  125. package/dist/esm/graphql/resolvers/field-resolvers/field-default-value-resolver.js.map +1 -1
  126. package/dist/esm/graphql/resolvers/field-resolvers/referenced-by-resolver.d.ts +3 -0
  127. package/dist/esm/graphql/resolvers/field-resolvers/referenced-by-resolver.d.ts.map +1 -0
  128. package/dist/esm/graphql/resolvers/field-resolvers/referenced-by-resolver.js +3 -0
  129. package/dist/esm/graphql/resolvers/field-resolvers/referenced-by-resolver.js.map +1 -0
  130. package/dist/esm/graphql/resolvers/field-resolvers/types.d.ts.map +1 -0
  131. package/dist/esm/graphql/resolvers/field-resolvers/union-value-resolver.d.ts.map +1 -0
  132. package/dist/esm/graphql/resolvers/field-resolvers/version-resolver.d.ts +3 -0
  133. package/dist/esm/graphql/resolvers/field-resolvers/version-resolver.d.ts.map +1 -0
  134. package/dist/esm/graphql/resolvers/field-resolvers/version-resolver.js +3 -0
  135. package/dist/esm/graphql/resolvers/field-resolvers/version-resolver.js.map +1 -0
  136. package/dist/esm/graphql/resolvers/object-type-field-default-value-resolver-generator.d.ts.map +1 -0
  137. package/dist/esm/graphql/resolvers/object-type-field-default-value-resolver-generator.js +2 -2
  138. package/dist/esm/graphql/resolvers/object-type-field-default-value-resolver-generator.js.map +1 -1
  139. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.d.ts.map +1 -0
  140. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js +36 -45
  141. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js.map +1 -1
  142. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.d.ts.map +1 -0
  143. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js +31 -43
  144. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js.map +1 -1
  145. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.d.ts.map +1 -0
  146. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js +29 -46
  147. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js.map +1 -1
  148. package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.d.ts.map +1 -0
  149. package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-every-resolver.d.ts.map +1 -0
  150. package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-search-resolver.d.ts.map +1 -0
  151. package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-search-resolver.js +6 -6
  152. package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-search-resolver.js.map +1 -1
  153. package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.d.ts.map +1 -0
  154. package/dist/esm/graphql/resolvers/query-mutation-resolvers/union-type-resolver.d.ts.map +1 -0
  155. package/dist/esm/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js +2 -2
  156. package/dist/esm/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js.map +1 -1
  157. package/dist/{types → esm}/graphql/resolvers/types.d.ts +13 -2
  158. package/dist/esm/graphql/resolvers/types.d.ts.map +1 -0
  159. package/dist/esm/graphql/schema-analyzer.d.ts.map +1 -0
  160. package/dist/esm/graphql/schema-generator.d.ts.map +1 -0
  161. package/dist/esm/graphql/schema-generator.js +14 -3
  162. package/dist/esm/graphql/schema-generator.js.map +1 -1
  163. package/dist/esm/graphql/schema-root-type-generator.d.ts.map +1 -0
  164. package/dist/esm/graphql/schema-utils/directive-util.d.ts.map +1 -0
  165. package/dist/esm/graphql/schema-utils/entry-reference-util.d.ts +6 -0
  166. package/dist/esm/graphql/schema-utils/entry-reference-util.d.ts.map +1 -0
  167. package/dist/esm/graphql/schema-utils/entry-reference-util.js +93 -121
  168. package/dist/esm/graphql/schema-utils/entry-reference-util.js.map +1 -1
  169. package/dist/esm/graphql/schema-utils/entry-type-util.d.ts.map +1 -0
  170. package/dist/esm/graphql/schema-utils/searchable-field-util.d.ts.map +1 -0
  171. package/dist/esm/graphql/schema-utils/union-type-util.d.ts.map +1 -0
  172. package/dist/esm/graphql/schema-utils/union-type-util.js +3 -3
  173. package/dist/esm/graphql/schema-utils/union-type-util.js.map +1 -1
  174. package/dist/esm/graphql/schema-validator.d.ts.map +1 -0
  175. package/dist/esm/graphql/schema-validator.js +17 -1
  176. package/dist/esm/graphql/schema-validator.js.map +1 -1
  177. package/dist/esm/graphql/util.d.ts.map +1 -0
  178. package/dist/esm/index.d.ts.map +1 -0
  179. package/dist/esm/index.js +2 -0
  180. package/dist/esm/index.js.map +1 -1
  181. package/dist/{types → esm}/persistence/cache.d.ts +3 -1
  182. package/dist/esm/persistence/cache.d.ts.map +1 -0
  183. package/dist/esm/persistence/cache.js +6 -15
  184. package/dist/esm/persistence/cache.js.map +1 -1
  185. package/dist/esm/persistence/commit-with-retry.d.ts +16 -0
  186. package/dist/esm/persistence/commit-with-retry.d.ts.map +1 -0
  187. package/dist/esm/persistence/commit-with-retry.js +35 -0
  188. package/dist/esm/persistence/commit-with-retry.js.map +1 -0
  189. package/dist/esm/persistence/git-adapter-call.d.ts +10 -0
  190. package/dist/esm/persistence/git-adapter-call.d.ts.map +1 -0
  191. package/dist/esm/persistence/git-adapter-call.js +24 -0
  192. package/dist/esm/persistence/git-adapter-call.js.map +1 -0
  193. package/dist/esm/persistence/persistence.d.ts +18 -0
  194. package/dist/esm/persistence/persistence.d.ts.map +1 -0
  195. package/dist/esm/persistence/persistence.js +36 -3
  196. package/dist/esm/persistence/persistence.js.map +1 -1
  197. package/package.json +27 -18
  198. package/src/graphql/errors.ts +2 -1
  199. package/src/graphql/input-type-generator.ts +6 -18
  200. package/src/graphql/queries-mutations-generator.ts +69 -3
  201. package/src/graphql/resolvers/commit-message.ts +34 -0
  202. package/src/graphql/resolvers/field-resolvers/referenced-by-resolver.ts +9 -0
  203. package/src/graphql/resolvers/field-resolvers/version-resolver.ts +8 -0
  204. package/src/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.ts +43 -57
  205. package/src/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.ts +45 -60
  206. package/src/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.ts +38 -67
  207. package/src/graphql/resolvers/types.ts +26 -2
  208. package/src/graphql/schema-generator.ts +19 -0
  209. package/src/graphql/schema-utils/entry-reference-util.ts +147 -191
  210. package/src/graphql/schema-validator.ts +21 -0
  211. package/src/persistence/cache.ts +8 -14
  212. package/src/persistence/commit-with-retry.ts +47 -0
  213. package/src/persistence/git-adapter-call.ts +27 -0
  214. package/src/persistence/persistence.ts +50 -0
  215. package/dist/types/graphql/errors.d.ts.map +0 -1
  216. package/dist/types/graphql/input-type-generator.d.ts.map +0 -1
  217. package/dist/types/graphql/queries-mutations-generator.d.ts.map +0 -1
  218. package/dist/types/graphql/resolvers/types.d.ts.map +0 -1
  219. package/dist/types/graphql/schema-generator.d.ts.map +0 -1
  220. package/dist/types/graphql/schema-utils/entry-reference-util.d.ts +0 -4
  221. package/dist/types/graphql/schema-utils/entry-reference-util.d.ts.map +0 -1
  222. package/dist/types/persistence/cache.d.ts.map +0 -1
  223. package/dist/types/persistence/persistence.d.ts +0 -7
  224. /package/dist/{types → cjs}/client.d.ts.map +0 -0
  225. /package/dist/{types → cjs}/graphql/apollo-config-factory.d.ts.map +0 -0
  226. /package/dist/{types → cjs}/graphql/resolvers/field-resolvers/entry-reference-resolver.d.ts.map +0 -0
  227. /package/dist/{types → cjs}/graphql/resolvers/field-resolvers/field-default-value-resolver.d.ts.map +0 -0
  228. /package/dist/{types → cjs}/graphql/resolvers/field-resolvers/types.d.ts.map +0 -0
  229. /package/dist/{types → cjs}/graphql/resolvers/field-resolvers/union-value-resolver.d.ts.map +0 -0
  230. /package/dist/{types → cjs}/graphql/resolvers/object-type-field-default-value-resolver-generator.d.ts.map +0 -0
  231. /package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.d.ts.map +0 -0
  232. /package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/query-every-resolver.d.ts.map +0 -0
  233. /package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/query-search-resolver.d.ts.map +0 -0
  234. /package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.d.ts.map +0 -0
  235. /package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/union-type-resolver.d.ts.map +0 -0
  236. /package/dist/{types → cjs}/graphql/schema-analyzer.d.ts.map +0 -0
  237. /package/dist/{types → cjs}/graphql/schema-root-type-generator.d.ts.map +0 -0
  238. /package/dist/{types → cjs}/graphql/schema-utils/directive-util.d.ts.map +0 -0
  239. /package/dist/{types → cjs}/graphql/schema-utils/entry-type-util.d.ts.map +0 -0
  240. /package/dist/{types → cjs}/graphql/schema-utils/searchable-field-util.d.ts.map +0 -0
  241. /package/dist/{types → cjs}/graphql/schema-utils/union-type-util.d.ts.map +0 -0
  242. /package/dist/{types → cjs}/graphql/util.d.ts.map +0 -0
  243. /package/dist/{types → cjs}/index.d.ts.map +0 -0
  244. /package/dist/{types → esm}/client.d.ts +0 -0
  245. /package/dist/{types → esm}/graphql/apollo-config-factory.d.ts +0 -0
  246. /package/dist/{types → esm}/graphql/input-type-generator.d.ts +0 -0
  247. /package/dist/{types → esm}/graphql/resolvers/field-resolvers/entry-reference-resolver.d.ts +0 -0
  248. /package/dist/{types → esm}/graphql/resolvers/field-resolvers/field-default-value-resolver.d.ts +0 -0
  249. /package/dist/{types → esm}/graphql/resolvers/field-resolvers/types.d.ts +0 -0
  250. /package/dist/{types → esm}/graphql/resolvers/field-resolvers/union-value-resolver.d.ts +0 -0
  251. /package/dist/{types → esm}/graphql/resolvers/object-type-field-default-value-resolver-generator.d.ts +0 -0
  252. /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.d.ts +0 -0
  253. /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.d.ts +0 -0
  254. /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.d.ts +0 -0
  255. /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.d.ts +0 -0
  256. /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/query-every-resolver.d.ts +0 -0
  257. /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/query-search-resolver.d.ts +0 -0
  258. /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.d.ts +0 -0
  259. /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/union-type-resolver.d.ts +0 -0
  260. /package/dist/{types → esm}/graphql/schema-analyzer.d.ts +0 -0
  261. /package/dist/{types → esm}/graphql/schema-generator.d.ts +0 -0
  262. /package/dist/{types → esm}/graphql/schema-root-type-generator.d.ts +0 -0
  263. /package/dist/{types → esm}/graphql/schema-utils/directive-util.d.ts +0 -0
  264. /package/dist/{types → esm}/graphql/schema-utils/entry-type-util.d.ts +0 -0
  265. /package/dist/{types → esm}/graphql/schema-utils/searchable-field-util.d.ts +0 -0
  266. /package/dist/{types → esm}/graphql/schema-utils/union-type-util.d.ts +0 -0
  267. /package/dist/{types → esm}/graphql/schema-validator.d.ts +0 -0
  268. /package/dist/{types → esm}/graphql/util.d.ts +0 -0
  269. /package/dist/{types → esm}/index.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"entry-reference-util.js","sourceRoot":"","sources":["../../../../src/graphql/schema-utils/entry-reference-util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entry-reference-util.js","sourceRoot":"","sources":["../../../../src/graphql/schema-utils/entry-reference-util.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import { GraphQLNullableType, GraphQLUnionType } from 'graphql';
2
2
  export declare function isUnionOfEntryTypes(type: GraphQLUnionType): boolean;
3
3
  export declare function buildsOnTypeWithEntryDirective(type: GraphQLNullableType): boolean;
4
+ //# sourceMappingURL=entry-type-util.d.ts.map
@@ -2,3 +2,4 @@ import { GraphQLSchema } from 'graphql';
2
2
  import { Entry } from '@commitspark/git-adapter';
3
3
  import { SearchableFieldValue } from '@commitspark/search-adapter';
4
4
  export declare function extractSearchableFieldValues(schema: GraphQLSchema, entries: Iterable<Entry>): SearchableFieldValue[];
5
+ //# sourceMappingURL=searchable-field-util.d.ts.map
@@ -1,3 +1,4 @@
1
1
  import { EntryData } from '@commitspark/git-adapter';
2
2
  export declare function getUnionTypeNameFromFieldValue(fieldValue: unknown): string;
3
3
  export declare function getUnionValue(fieldValue: unknown): EntryData;
4
+ //# sourceMappingURL=union-type-util.d.ts.map
@@ -5,7 +5,7 @@ exports.getUnionValue = getUnionValue;
5
5
  const errors_ts_1 = require("../errors.js");
6
6
  function getUnionTypeNameFromFieldValue(fieldValue) {
7
7
  if (typeof fieldValue !== 'object' || fieldValue === null) {
8
- throw (0, errors_ts_1.createError)(`Expected object value in order to determine union type name.`, "BAD_REPOSITORY_DATA" /* ErrorCode.BAD_REPOSITORY_DATA */, {
8
+ throw (0, errors_ts_1.createError)(`Expected object value in order to determine union type name.`, errors_ts_1.ErrorCode.BAD_REPOSITORY_DATA, {
9
9
  fieldValue: fieldValue,
10
10
  });
11
11
  }
@@ -15,7 +15,7 @@ function getUnionTypeNameFromFieldValue(fieldValue) {
15
15
  }
16
16
  function getUnionValue(fieldValue) {
17
17
  if (typeof fieldValue !== 'object' || fieldValue === null) {
18
- throw (0, errors_ts_1.createError)(`Expected object value in order to determine union value.`, "BAD_REPOSITORY_DATA" /* ErrorCode.BAD_REPOSITORY_DATA */, {
18
+ throw (0, errors_ts_1.createError)(`Expected object value in order to determine union value.`, errors_ts_1.ErrorCode.BAD_REPOSITORY_DATA, {
19
19
  fieldValue: fieldValue,
20
20
  });
21
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"union-type-util.js","sourceRoot":"","sources":["../../../../src/graphql/schema-utils/union-type-util.ts"],"names":[],"mappings":";;AAGA,wEAcC;AAED,sCAaC;AA/BD,4CAAqD;AAErD,SAAgB,8BAA8B,CAAC,UAAmB;IAChE,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QAC1D,MAAM,IAAA,uBAAW,EACf,8DAA8D,6DAE9D;YACE,UAAU,EAAE,UAAU;SACvB,CACF,CAAA;IACH,CAAC;IAED,qEAAqE;IACrE,2CAA2C;IAC3C,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;AACnC,CAAC;AAED,SAAgB,aAAa,CAAC,UAAmB;IAC/C,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QAC1D,MAAM,IAAA,uBAAW,EACf,0DAA0D,6DAE1D;YACE,UAAU,EAAE,UAAU;SACvB,CACF,CAAA;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3C,OAAQ,UAAwC,CAAC,QAAQ,CAAC,CAAA;AAC5D,CAAC"}
1
+ {"version":3,"file":"union-type-util.js","sourceRoot":"","sources":["../../../../src/graphql/schema-utils/union-type-util.ts"],"names":[],"mappings":";;AAGA,wEAcC;AAED,sCAaC;AA/BD,4CAAqD;AAErD,SAAgB,8BAA8B,CAAC,UAAmB;IAChE,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QAC1D,MAAM,IAAA,uBAAW,EACf,8DAA8D,EAC9D,qBAAS,CAAC,mBAAmB,EAC7B;YACE,UAAU,EAAE,UAAU;SACvB,CACF,CAAA;IACH,CAAC;IAED,qEAAqE;IACrE,2CAA2C;IAC3C,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;AACnC,CAAC;AAED,SAAgB,aAAa,CAAC,UAAmB;IAC/C,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QAC1D,MAAM,IAAA,uBAAW,EACf,0DAA0D,EAC1D,qBAAS,CAAC,mBAAmB,EAC7B;YACE,UAAU,EAAE,UAAU;SACvB,CACF,CAAA;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3C,OAAQ,UAAwC,CAAC,QAAQ,CAAC,CAAA;AAC5D,CAAC"}
@@ -1,2 +1,3 @@
1
1
  import { GraphQLSchema } from 'graphql';
2
2
  export declare function getValidationResult(schema: GraphQLSchema): string[];
3
+ //# sourceMappingURL=schema-validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-validator.d.ts","sourceRoot":"","sources":["../../../src/graphql/schema-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EAKd,MAAM,SAAS,CAAA;AAsDhB,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,EAAE,CAKnE"}
1
+ {"version":3,"file":"schema-validator.d.ts","sourceRoot":"","sources":["../../../src/graphql/schema-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EAMd,MAAM,SAAS,CAAA;AAyEhB,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,EAAE,CAMnE"}
@@ -35,8 +35,24 @@ function checkSearchableDirectiveOnlyOnStringFields(schema) {
35
35
  }
36
36
  return '';
37
37
  }
38
+ function checkEntryTypesHaveIdField(schema) {
39
+ for (const type of Object.values(schema.getTypeMap())) {
40
+ if (!(0, graphql_1.isObjectType)(type) || !(0, directive_util_ts_1.hasDirective)(type, directive_util_ts_1.ENTRY_DIRECTIVE_NAME)) {
41
+ continue;
42
+ }
43
+ const idField = type.getFields()['id'];
44
+ if (idField === undefined ||
45
+ !(0, graphql_1.isNonNullType)(idField.type) ||
46
+ !(0, graphql_1.isScalarType)(idField.type.ofType) ||
47
+ idField.type.ofType.name !== 'ID') {
48
+ return `Type "${type.name}" must have a field "id" of type "ID!" to use "@${directive_util_ts_1.ENTRY_DIRECTIVE_NAME}" directive.`;
49
+ }
50
+ }
51
+ return '';
52
+ }
38
53
  function getValidationResult(schema) {
39
54
  const results = [];
55
+ results.push(checkEntryTypesHaveIdField(schema));
40
56
  results.push(checkUnionMembersConsistentUseOfEntryDirective(schema));
41
57
  results.push(checkSearchableDirectiveOnlyOnStringFields(schema));
42
58
  return results.filter((result) => result !== '');
@@ -1 +1 @@
1
- {"version":3,"file":"schema-validator.js","sourceRoot":"","sources":["../../../src/graphql/schema-validator.ts"],"names":[],"mappings":";;AA6DA,kDAKC;AAlED,qCAOgB;AAChB,wEAIyC;AAEzC,SAAS,8CAA8C,CACrD,MAAqB;IAErB,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;IAEnC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,cAAI,CAAC,qBAAqB,EAAE,CAAC;YACtD,SAAQ;QACV,CAAC;QACD,MAAM,UAAU,GAAI,IAAyB,CAAC,QAAQ,EAAE,CAAA;QAExD,MAAM,oCAAoC,GAAG,UAAU,CAAC,MAAM,CAC5D,CAAC,SAAS,EAAE,EAAE,CAAC,IAAA,gCAAY,EAAC,SAAS,EAAE,wCAAoB,CAAC,CAC7D,CAAC,MAAM,CAAA;QAER,IACE,oCAAoC,KAAK,CAAC;YAC1C,oCAAoC,KAAK,UAAU,CAAC,MAAM,EAC1D,CAAC;YACD,OAAO,gCAAgC,IAAI,CAAC,IAAI,iBAAiB,wCAAoB,sBAAsB,CAAA;QAC7G,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAA;AACX,CAAC;AAED,SAAS,0CAA0C,CACjD,MAAqB;IAErB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,IAAA,sBAAY,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACtD,SAAQ;QACV,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,IAAA,gCAAY,EAAC,KAAK,EAAE,6CAAyB,CAAC,EAAE,CAAC;gBACpD,SAAQ;YACV,CAAC;YACD,MAAM,SAAS,GAAG,IAAA,sBAAY,EAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC1C,IAAI,CAAC,IAAA,sBAAY,EAAC,SAAS,CAAC,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5D,OAAO,UAAU,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,6DAA6D,6CAAyB,cAAc,CAAA;YAC9I,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAA;AACX,CAAC;AAED,SAAgB,mBAAmB,CAAC,MAAqB;IACvD,MAAM,OAAO,GAAG,EAAE,CAAA;IAClB,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC,MAAM,CAAC,CAAC,CAAA;IACpE,OAAO,CAAC,IAAI,CAAC,0CAA0C,CAAC,MAAM,CAAC,CAAC,CAAA;IAChE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,CAAA;AAClD,CAAC"}
1
+ {"version":3,"file":"schema-validator.js","sourceRoot":"","sources":["../../../src/graphql/schema-validator.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  import { EntryData } from '@commitspark/git-adapter';
2
2
  export declare function isEntryData(obj: unknown): obj is EntryData;
3
+ //# sourceMappingURL=util.d.ts.map
@@ -14,3 +14,4 @@ interface ClientOptions {
14
14
  }
15
15
  export { Client, ClientOptions, GraphQLResponse, SchemaResponse, ErrorCode, ErrorMetadata, };
16
16
  export declare function createClient(gitAdapter: GitAdapter, options?: ClientOptions): Promise<Client>;
17
+ //# sourceMappingURL=index.d.ts.map
package/dist/cjs/index.js CHANGED
@@ -1,7 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ErrorCode = void 0;
3
4
  exports.createClient = createClient;
4
5
  const client_ts_1 = require("./client.js");
6
+ const errors_ts_1 = require("./graphql/errors.js");
7
+ Object.defineProperty(exports, "ErrorCode", { enumerable: true, get: function () { return errors_ts_1.ErrorCode; } });
5
8
  const cache_ts_1 = require("./persistence/cache.js");
6
9
  async function createClient(gitAdapter, options = {}) {
7
10
  const repositoryCache = (0, cache_ts_1.createCacheHandler)();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;AAwCA,oCAYC;AApDD,2CAOoB;AAIpB,qDAA2D;AA6BpD,KAAK,UAAU,YAAY,CAChC,UAAsB,EACtB,UAAyB,EAAE;IAE3B,MAAM,eAAe,GAAG,IAAA,6BAAkB,GAAE,CAAA;IAC5C,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAA;IAC3C,OAAO;QACL,WAAW,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CACvB,IAAA,uBAAW,EAAC,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;QAClE,SAAS,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CACrB,IAAA,qBAAS,EAAC,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;KACjE,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAwCA,oCAYC;AApDD,2CAOoB;AAGpB,mDAA8D;AA0B5D,0FA1BO,qBAAS,OA0BP;AAzBX,qDAA2D;AA6BpD,KAAK,UAAU,YAAY,CAChC,UAAsB,EACtB,UAAyB,EAAE;IAE3B,MAAM,eAAe,GAAG,IAAA,6BAAkB,GAAE,CAAA;IAC5C,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAA;IAC3C,OAAO;QACL,WAAW,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CACvB,IAAA,uBAAW,EAAC,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;QAClE,SAAS,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CACrB,IAAA,qBAAS,EAAC,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;KACjE,CAAA;AACH,CAAC"}
@@ -1,8 +1,10 @@
1
1
  import { Entry } from '@commitspark/git-adapter';
2
2
  import { ApolloContext } from '../client.ts';
3
- interface EntriesRecord {
3
+ type ContentHash = string;
4
+ export interface EntriesRecord {
4
5
  byId: Map<string, Entry>;
5
6
  byType: Map<string, Entry[]>;
7
+ hashById: Map<string, ContentHash>;
6
8
  }
7
9
  export interface RepositoryCacheHandler {
8
10
  getEntriesRecord: (context: ApolloContext, ref: string) => Promise<EntriesRecord>;
@@ -10,3 +12,4 @@ export interface RepositoryCacheHandler {
10
12
  }
11
13
  export declare const createCacheHandler: (cacheSize?: number) => RepositoryCacheHandler;
12
14
  export {};
15
+ //# sourceMappingURL=cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/persistence/cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAK5C,KAAK,WAAW,GAAG,MAAM,CAAA;AAQzB,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IACxB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;IAE5B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;CACnC;AAOD,MAAM,WAAW,sBAAsB;IACrC,gBAAgB,EAAE,CAChB,OAAO,EAAE,aAAa,EACtB,GAAG,EAAE,MAAM,KACR,OAAO,CAAC,aAAa,CAAC,CAAA;IAC3B,SAAS,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;CACpE;AAsLD,eAAO,MAAM,kBAAkB,GAC7B,YAAW,MAA0B,KACpC,sBAoBF,CAAA"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createCacheHandler = void 0;
4
- const git_adapter_1 = require("@commitspark/git-adapter");
5
4
  const errors_ts_1 = require("../graphql/errors.js");
5
+ const git_adapter_call_ts_1 = require("./git-adapter-call.js");
6
6
  const MAX_CACHE_ENTRIES = 50;
7
7
  // intentionally not async so that the same in-flight promise is returned to all callers
8
8
  const getEntriesRecordByRef = (entriesCache, contentCache, inflightEntries, cacheSize, context, ref) => {
@@ -22,7 +22,7 @@ const getEntriesRecordByRef = (entriesCache, contentCache, inflightEntries, cach
22
22
  return fetchPromise;
23
23
  };
24
24
  const fetchAndCacheEntries = async (entriesCache, contentCache, cacheSize, context, ref) => {
25
- const entryHashes = await callGitAdapter(() => context.gitAdapter.getEntryHashes(ref));
25
+ const entryHashes = await (0, git_adapter_call_ts_1.callGitAdapter)(() => context.gitAdapter.getEntryHashes(ref));
26
26
  // hold on to known content now, as it may be evicted from the content cache while missing content is fetched
27
27
  const contentByHash = new Map();
28
28
  const idsToFetchByHash = new Map();
@@ -37,19 +37,21 @@ const fetchAndCacheEntries = async (entriesCache, contentCache, cacheSize, conte
37
37
  }
38
38
  }
39
39
  if (idsToFetchByHash.size > 0) {
40
- const fetchedEntries = await callGitAdapter(() => context.gitAdapter.getEntriesByIds(ref, [...idsToFetchByHash.values()]));
40
+ const fetchedEntries = await (0, git_adapter_call_ts_1.callGitAdapter)(() => context.gitAdapter.getEntriesByIds(ref, [...idsToFetchByHash.values()]));
41
41
  const fetchedEntriesById = new Map(fetchedEntries.map((entry) => [entry.id, entry]));
42
42
  for (const [hash, id] of idsToFetchByHash) {
43
43
  const fetchedEntry = fetchedEntriesById.get(id);
44
44
  if (fetchedEntry === undefined) {
45
- throw (0, errors_ts_1.createError)(`Git adapter did not return requested entry "${id}".`, "INTERNAL_ERROR" /* ErrorCode.INTERNAL_ERROR */, {});
45
+ throw (0, errors_ts_1.createError)(`Git adapter did not return requested entry "${id}".`, errors_ts_1.ErrorCode.INTERNAL_ERROR, {});
46
46
  }
47
47
  contentByHash.set(hash, createEntryContent(fetchedEntry));
48
48
  }
49
49
  }
50
50
  const entriesById = new Map();
51
51
  const entriesByType = new Map();
52
+ const hashesById = new Map();
52
53
  for (const { id, hash } of entryHashes) {
54
+ hashesById.set(id, hash);
53
55
  const entry = {
54
56
  id: id,
55
57
  ...contentByHash.get(hash),
@@ -63,6 +65,7 @@ const fetchAndCacheEntries = async (entriesCache, contentCache, cacheSize, conte
63
65
  entriesRecord: {
64
66
  byType: entriesByType,
65
67
  byId: entriesById,
68
+ hashById: hashesById,
66
69
  },
67
70
  contentHashes: [...contentByHash.keys()],
68
71
  };
@@ -100,18 +103,6 @@ const removeUnreferencedContent = (entriesCache, contentCache) => {
100
103
  }
101
104
  }
102
105
  };
103
- const callGitAdapter = async (operation) => {
104
- try {
105
- return await operation();
106
- }
107
- catch (err) {
108
- if (err instanceof git_adapter_1.GitAdapterError) {
109
- throw (0, errors_ts_1.createError)(err.message, err.code, {});
110
- }
111
- const message = err instanceof Error ? err.message : String(err);
112
- throw (0, errors_ts_1.createError)(message, "INTERNAL_ERROR" /* ErrorCode.INTERNAL_ERROR */, {});
113
- }
114
- };
115
106
  const getSchemaStringByRef = async (schemaCache, cacheSize, context, ref) => {
116
107
  const schemaCacheRecord = schemaCache.get(ref);
117
108
  if (schemaCacheRecord !== undefined) {
@@ -120,7 +111,7 @@ const getSchemaStringByRef = async (schemaCache, cacheSize, context, ref) => {
120
111
  schemaCache.set(ref, schemaCacheRecord);
121
112
  return schemaCacheRecord;
122
113
  }
123
- const schemaString = await callGitAdapter(() => context.gitAdapter.getSchema(ref));
114
+ const schemaString = await (0, git_adapter_call_ts_1.callGitAdapter)(() => context.gitAdapter.getSchema(ref));
124
115
  schemaCache.set(ref, schemaString);
125
116
  if (schemaCache.size > cacheSize) {
126
117
  // get first map key (oldest)
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/persistence/cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/persistence/cache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { CommitDraft } from '@commitspark/git-adapter';
2
+ import { ApolloContext } from '../client.ts';
3
+ /**
4
+ * Commits a draft that `createDraft` validates against the current commit of the request, guaranteeing that the
5
+ * draft is only committed on top of the exact commit it was validated against.
6
+ *
7
+ * Git adapters only move a branch if it still points to `parentSha` and otherwise throw `CONFLICT`. As most adapters
8
+ * can only check this for the branch as a whole, any concurrent commit to the branch between reading and committing
9
+ * leads to `CONFLICT`, even if it changed unrelated entries. In this case, the current commit of the request is moved
10
+ * to the new branch head and the draft is created and validated again, including expected entry versions and
11
+ * references, so that only actual conflicts are reported to the caller.
12
+ *
13
+ * Errors thrown by `createDraft` are not retried, as the draft was validated against the latest known state.
14
+ */
15
+ export declare const commitWithRetry: (context: ApolloContext, createDraft: () => Promise<CommitDraft>) => Promise<void>;
16
+ //# sourceMappingURL=commit-with-retry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commit-with-retry.d.ts","sourceRoot":"","sources":["../../../src/persistence/commit-with-retry.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAGZ,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAK5C;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,eAAe,GAC1B,SAAS,aAAa,EACtB,aAAa,MAAM,OAAO,CAAC,WAAW,CAAC,KACtC,OAAO,CAAC,IAAI,CAqBd,CAAA"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.commitWithRetry = void 0;
4
+ const git_adapter_1 = require("@commitspark/git-adapter");
5
+ const git_adapter_call_ts_1 = require("./git-adapter-call.js");
6
+ const MAX_COMMIT_ATTEMPTS = 3;
7
+ /**
8
+ * Commits a draft that `createDraft` validates against the current commit of the request, guaranteeing that the
9
+ * draft is only committed on top of the exact commit it was validated against.
10
+ *
11
+ * Git adapters only move a branch if it still points to `parentSha` and otherwise throw `CONFLICT`. As most adapters
12
+ * can only check this for the branch as a whole, any concurrent commit to the branch between reading and committing
13
+ * leads to `CONFLICT`, even if it changed unrelated entries. In this case, the current commit of the request is moved
14
+ * to the new branch head and the draft is created and validated again, including expected entry versions and
15
+ * references, so that only actual conflicts are reported to the caller.
16
+ *
17
+ * Errors thrown by `createDraft` are not retried, as the draft was validated against the latest known state.
18
+ */
19
+ const commitWithRetry = async (context, createDraft) => {
20
+ for (let attempt = 1;; attempt++) {
21
+ const commitDraft = await createDraft();
22
+ try {
23
+ const commit = await context.gitAdapter.createCommit(commitDraft);
24
+ context.setCurrentHash(commit.commitHash);
25
+ return;
26
+ }
27
+ catch (err) {
28
+ const isConflict = err instanceof git_adapter_1.GitAdapterError &&
29
+ err.code === git_adapter_1.ErrorCode.CONFLICT;
30
+ if (!isConflict || attempt >= MAX_COMMIT_ATTEMPTS) {
31
+ throw (0, git_adapter_call_ts_1.toGraphQLError)(err);
32
+ }
33
+ }
34
+ const headCommitHash = await (0, git_adapter_call_ts_1.callGitAdapter)(() => context.gitAdapter.getLatestCommitHash(context.branch));
35
+ context.setCurrentHash(headCommitHash);
36
+ }
37
+ };
38
+ exports.commitWithRetry = commitWithRetry;
39
+ //# sourceMappingURL=commit-with-retry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commit-with-retry.js","sourceRoot":"","sources":["../../../src/persistence/commit-with-retry.ts"],"names":[],"mappings":";;;AAAA,0DAIiC;AAEjC,+DAAsE;AAEtE,MAAM,mBAAmB,GAAG,CAAC,CAAA;AAE7B;;;;;;;;;;;GAWG;AACI,MAAM,eAAe,GAAG,KAAK,EAClC,OAAsB,EACtB,WAAuC,EACxB,EAAE;IACjB,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;QAClC,MAAM,WAAW,GAAG,MAAM,WAAW,EAAE,CAAA;QACvC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA;YACjE,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;YACzC,OAAM;QACR,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,UAAU,GACd,GAAG,YAAY,6BAAe;gBAC9B,GAAG,CAAC,IAAI,KAAK,uBAAmB,CAAC,QAAQ,CAAA;YAC3C,IAAI,CAAC,UAAU,IAAI,OAAO,IAAI,mBAAmB,EAAE,CAAC;gBAClD,MAAM,IAAA,oCAAc,EAAC,GAAG,CAAC,CAAA;YAC3B,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,IAAA,oCAAc,EAAC,GAAG,EAAE,CAC/C,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,CACvD,CAAA;QACD,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;IACxC,CAAC;AACH,CAAC,CAAA;AAxBY,QAAA,eAAe,mBAwB3B"}
@@ -0,0 +1,10 @@
1
+ import { GraphQLError } from 'graphql';
2
+ /**
3
+ * Converts an error thrown by a Git adapter to a GraphQL error, keeping the error code of a `GitAdapterError`.
4
+ */
5
+ export declare const toGraphQLError: (err: unknown) => GraphQLError;
6
+ /**
7
+ * Runs a Git adapter operation and converts thrown errors to GraphQL errors.
8
+ */
9
+ export declare const callGitAdapter: <T>(operation: () => Promise<T>) => Promise<T>;
10
+ //# sourceMappingURL=git-adapter-call.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-adapter-call.d.ts","sourceRoot":"","sources":["../../../src/persistence/git-adapter-call.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAGtC;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,KAAK,OAAO,KAAG,YAM7C,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,GAAU,CAAC,EACpC,WAAW,MAAM,OAAO,CAAC,CAAC,CAAC,KAC1B,OAAO,CAAC,CAAC,CAMX,CAAA"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.callGitAdapter = exports.toGraphQLError = void 0;
4
+ const git_adapter_1 = require("@commitspark/git-adapter");
5
+ const errors_ts_1 = require("../graphql/errors.js");
6
+ /**
7
+ * Converts an error thrown by a Git adapter to a GraphQL error, keeping the error code of a `GitAdapterError`.
8
+ */
9
+ const toGraphQLError = (err) => {
10
+ if (err instanceof git_adapter_1.GitAdapterError) {
11
+ return (0, errors_ts_1.createError)(err.message, err.code, {});
12
+ }
13
+ const message = err instanceof Error ? err.message : String(err);
14
+ return (0, errors_ts_1.createError)(message, errors_ts_1.ErrorCode.INTERNAL_ERROR, {});
15
+ };
16
+ exports.toGraphQLError = toGraphQLError;
17
+ /**
18
+ * Runs a Git adapter operation and converts thrown errors to GraphQL errors.
19
+ */
20
+ const callGitAdapter = async (operation) => {
21
+ try {
22
+ return await operation();
23
+ }
24
+ catch (err) {
25
+ throw (0, exports.toGraphQLError)(err);
26
+ }
27
+ };
28
+ exports.callGitAdapter = callGitAdapter;
29
+ //# sourceMappingURL=git-adapter-call.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-adapter-call.js","sourceRoot":"","sources":["../../../src/persistence/git-adapter-call.ts"],"names":[],"mappings":";;;AAAA,0DAA0D;AAE1D,oDAA6D;AAE7D;;GAEG;AACI,MAAM,cAAc,GAAG,CAAC,GAAY,EAAgB,EAAE;IAC3D,IAAI,GAAG,YAAY,6BAAe,EAAE,CAAC;QACnC,OAAO,IAAA,uBAAW,EAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IAC/C,CAAC;IACD,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAChE,OAAO,IAAA,uBAAW,EAAC,OAAO,EAAE,qBAAS,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;AAC3D,CAAC,CAAA;AANY,QAAA,cAAc,kBAM1B;AAED;;GAEG;AACI,MAAM,cAAc,GAAG,KAAK,EACjC,SAA2B,EACf,EAAE;IACd,IAAI,CAAC;QACH,OAAO,MAAM,SAAS,EAAE,CAAA;IAC1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAA,sBAAc,EAAC,GAAG,CAAC,CAAA;IAC3B,CAAC;AACH,CAAC,CAAA;AARY,QAAA,cAAc,kBAQ1B"}
@@ -4,3 +4,15 @@ export declare function getTypeById(context: ApolloContext, id: string): Promise
4
4
  export declare function findById(context: ApolloContext, id: string): Promise<Entry>;
5
5
  export declare function findByType(context: ApolloContext, type: string): Promise<Entry[]>;
6
6
  export declare function findByTypeId(context: ApolloContext, type: string, id: string): Promise<Entry>;
7
+ /**
8
+ * Returns the version of an entry, which is the content hash of the entry reported by the Git adapter. It changes
9
+ * whenever the stored entry changes.
10
+ */
11
+ export declare function getEntryVersion(context: ApolloContext, id: string): Promise<string>;
12
+ /**
13
+ * Throws `CONFLICT` if an expected version is given and the entry has a different version at the current commit of
14
+ * the request. This lets callers detect that an entry was changed by someone else since they read it, e.g. while a
15
+ * user was editing the entry, instead of overwriting these changes.
16
+ */
17
+ export declare function assertExpectedVersion(context: ApolloContext, id: string, expectedVersion: string | null | undefined): Promise<void>;
18
+ //# sourceMappingURL=persistence.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../../src/persistence/persistence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,wBAAsB,WAAW,CAC/B,OAAO,EAAE,aAAa,EACtB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,aAAa,EACtB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,KAAK,CAAC,CAchB;AAED,wBAAsB,UAAU,CAC9B,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,KAAK,EAAE,CAAC,CAMlB;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,KAAK,CAAC,CAehB"}
1
+ {"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../../src/persistence/persistence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,wBAAsB,WAAW,CAC/B,OAAO,EAAE,aAAa,EACtB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,aAAa,EACtB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,KAAK,CAAC,CAchB;AAED,wBAAsB,UAAU,CAC9B,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,KAAK,EAAE,CAAC,CAMlB;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,KAAK,CAAC,CAehB;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,aAAa,EACtB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,MAAM,CAAC,CAcjB;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,aAAa,EACtB,EAAE,EAAE,MAAM,EACV,eAAe,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACzC,OAAO,CAAC,IAAI,CAAC,CAgBf"}
@@ -4,6 +4,8 @@ exports.getTypeById = getTypeById;
4
4
  exports.findById = findById;
5
5
  exports.findByType = findByType;
6
6
  exports.findByTypeId = findByTypeId;
7
+ exports.getEntryVersion = getEntryVersion;
8
+ exports.assertExpectedVersion = assertExpectedVersion;
7
9
  const errors_ts_1 = require("../graphql/errors.js");
8
10
  async function getTypeById(context, id) {
9
11
  const requestedEntry = await findById(context, id);
@@ -13,7 +15,7 @@ async function findById(context, id) {
13
15
  const entriesRecord = await context.repositoryCache.getEntriesRecord(context, context.getCurrentHash());
14
16
  const requestedEntry = entriesRecord.byId.get(id);
15
17
  if (requestedEntry === undefined) {
16
- throw (0, errors_ts_1.createError)(`No entry with ID "${id}" exists.`, "NOT_FOUND" /* ErrorCode.NOT_FOUND */, {
18
+ throw (0, errors_ts_1.createError)(`No entry with ID "${id}" exists.`, errors_ts_1.ErrorCode.NOT_FOUND, {
17
19
  argumentName: 'id',
18
20
  argumentValue: id,
19
21
  });
@@ -27,7 +29,7 @@ async function findByType(context, type) {
27
29
  async function findByTypeId(context, type, id) {
28
30
  const entryById = await findById(context, id);
29
31
  if (entryById === undefined || entryById.metadata.type !== type) {
30
- throw (0, errors_ts_1.createError)(`No entry of type "${type}" with ID "${id}" exists.`, "NOT_FOUND" /* ErrorCode.NOT_FOUND */, {
32
+ throw (0, errors_ts_1.createError)(`No entry of type "${type}" with ID "${id}" exists.`, errors_ts_1.ErrorCode.NOT_FOUND, {
31
33
  typeName: type,
32
34
  argumentName: 'id',
33
35
  argumentValue: id,
@@ -35,4 +37,37 @@ async function findByTypeId(context, type, id) {
35
37
  }
36
38
  return entryById;
37
39
  }
40
+ /**
41
+ * Returns the version of an entry, which is the content hash of the entry reported by the Git adapter. It changes
42
+ * whenever the stored entry changes.
43
+ */
44
+ async function getEntryVersion(context, id) {
45
+ const entriesRecord = await context.repositoryCache.getEntriesRecord(context, context.getCurrentHash());
46
+ const version = entriesRecord.hashById.get(id);
47
+ if (version === undefined) {
48
+ throw (0, errors_ts_1.createError)(`No entry with ID "${id}" exists.`, errors_ts_1.ErrorCode.NOT_FOUND, {
49
+ argumentName: 'id',
50
+ argumentValue: id,
51
+ });
52
+ }
53
+ return version;
54
+ }
55
+ /**
56
+ * Throws `CONFLICT` if an expected version is given and the entry has a different version at the current commit of
57
+ * the request. This lets callers detect that an entry was changed by someone else since they read it, e.g. while a
58
+ * user was editing the entry, instead of overwriting these changes.
59
+ */
60
+ async function assertExpectedVersion(context, id, expectedVersion) {
61
+ if (expectedVersion === undefined || expectedVersion === null) {
62
+ return;
63
+ }
64
+ const currentVersion = await getEntryVersion(context, id);
65
+ if (currentVersion !== expectedVersion) {
66
+ throw (0, errors_ts_1.createError)(`Entry with ID "${id}" has been changed: expected version "${expectedVersion}" but current version is ` +
67
+ `"${currentVersion}".`, errors_ts_1.ErrorCode.CONFLICT, {
68
+ argumentName: 'expectedVersion',
69
+ argumentValue: expectedVersion,
70
+ });
71
+ }
72
+ }
38
73
  //# sourceMappingURL=persistence.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../../src/persistence/persistence.ts"],"names":[],"mappings":";;AAIA,kCAMC;AAED,4BAiBC;AAED,gCASC;AAED,oCAmBC;AA5DD,oDAA6D;AAGtD,KAAK,UAAU,WAAW,CAC/B,OAAsB,EACtB,EAAU;IAEV,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IAClD,OAAO,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAA;AACrC,CAAC;AAEM,KAAK,UAAU,QAAQ,CAC5B,OAAsB,EACtB,EAAU;IAEV,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,gBAAgB,CAClE,OAAO,EACP,OAAO,CAAC,cAAc,EAAE,CACzB,CAAA;IACD,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACjD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,IAAA,uBAAW,EAAC,qBAAqB,EAAE,WAAW,yCAAuB;YACzE,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,EAAE;SAClB,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,cAAc,CAAA;AACvB,CAAC;AAEM,KAAK,UAAU,UAAU,CAC9B,OAAsB,EACtB,IAAY;IAEZ,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,gBAAgB,CAClE,OAAO,EACP,OAAO,CAAC,cAAc,EAAE,CACzB,CAAA;IACD,OAAO,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;AAC7C,CAAC;AAEM,KAAK,UAAU,YAAY,CAChC,OAAsB,EACtB,IAAY,EACZ,EAAU;IAEV,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IAC7C,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAChE,MAAM,IAAA,uBAAW,EACf,qBAAqB,IAAI,cAAc,EAAE,WAAW,yCAEpD;YACE,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,EAAE;SAClB,CACF,CAAA;IACH,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC"}
1
+ {"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../../src/persistence/persistence.ts"],"names":[],"mappings":";;AAIA,kCAMC;AAED,4BAiBC;AAED,gCASC;AAED,oCAmBC;AAMD,0CAiBC;AAOD,sDAoBC;AA9GD,oDAA6D;AAGtD,KAAK,UAAU,WAAW,CAC/B,OAAsB,EACtB,EAAU;IAEV,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IAClD,OAAO,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAA;AACrC,CAAC;AAEM,KAAK,UAAU,QAAQ,CAC5B,OAAsB,EACtB,EAAU;IAEV,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,gBAAgB,CAClE,OAAO,EACP,OAAO,CAAC,cAAc,EAAE,CACzB,CAAA;IACD,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACjD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,IAAA,uBAAW,EAAC,qBAAqB,EAAE,WAAW,EAAE,qBAAS,CAAC,SAAS,EAAE;YACzE,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,EAAE;SAClB,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,cAAc,CAAA;AACvB,CAAC;AAEM,KAAK,UAAU,UAAU,CAC9B,OAAsB,EACtB,IAAY;IAEZ,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,gBAAgB,CAClE,OAAO,EACP,OAAO,CAAC,cAAc,EAAE,CACzB,CAAA;IACD,OAAO,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;AAC7C,CAAC;AAEM,KAAK,UAAU,YAAY,CAChC,OAAsB,EACtB,IAAY,EACZ,EAAU;IAEV,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IAC7C,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAChE,MAAM,IAAA,uBAAW,EACf,qBAAqB,IAAI,cAAc,EAAE,WAAW,EACpD,qBAAS,CAAC,SAAS,EACnB;YACE,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,EAAE;SAClB,CACF,CAAA;IACH,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,eAAe,CACnC,OAAsB,EACtB,EAAU;IAEV,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,gBAAgB,CAClE,OAAO,EACP,OAAO,CAAC,cAAc,EAAE,CACzB,CAAA;IACD,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC9C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAA,uBAAW,EAAC,qBAAqB,EAAE,WAAW,EAAE,qBAAS,CAAC,SAAS,EAAE;YACzE,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,EAAE;SAClB,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,qBAAqB,CACzC,OAAsB,EACtB,EAAU,EACV,eAA0C;IAE1C,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QAC9D,OAAM;IACR,CAAC;IACD,MAAM,cAAc,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IACzD,IAAI,cAAc,KAAK,eAAe,EAAE,CAAC;QACvC,MAAM,IAAA,uBAAW,EACf,kBAAkB,EAAE,yCAAyC,eAAe,2BAA2B;YACrG,IAAI,cAAc,IAAI,EACxB,qBAAS,CAAC,QAAQ,EAClB;YACE,YAAY,EAAE,iBAAiB;YAC/B,aAAa,EAAE,eAAe;SAC/B,CACF,CAAA;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAGL,cAAc,EACf,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAE/D,MAAM,MAAM,cAAc,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAA;AAExD,MAAM,MAAM,6BAA6B,CACvC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,UAAU,SAAS,cAAc,GAAG,cAAc,IAChD,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,GAAG;IAC9C,KAAK,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,sBAAsB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;CAC1E,CAAA;AAED,eAAO,MAAM,WAAW,GACtB,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,UAAU,SAAS,cAAc,GAAG,cAAc,EAElD,YAAY,UAAU,EACtB,eAAe,aAAa,GAAG,SAAS,EACxC,iBAAiB,sBAAsB,EACvC,KAAK,MAAM,EACX,SAAS,6BAA6B,CAAC,KAAK,EAAE,UAAU,CAAC,KACxD,OAAO,CAAC,eAAe,CAAC,KAAK,GAAG,IAAI,CAAC,CAwCvC,CAAA;AAED,eAAO,MAAM,SAAS,GACpB,YAAY,UAAU,EACtB,eAAe,aAAa,GAAG,SAAS,EACxC,iBAAiB,sBAAsB,EACvC,KAAK,MAAM,KACV,OAAO,CAAC,cAAc,CAwBxB,CAAA;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,UAAU,CAAA;IACtB,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,cAAc,IAAI,MAAM,CAAA;IACxB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,eAAe,EAAE,sBAAsB,CAAA;CACxC;AAED,MAAM,WAAW,eAAe,CAAC,KAAK;IACpC,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,MAAM,EAAE,aAAa,CAAC,qBAAqB,CAAC,GAAG,SAAS,CAAA;CACzD;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACb"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apollo-config-factory.d.ts","sourceRoot":"","sources":["../../../src/graphql/apollo-config-factory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAGpD,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAQ7C"}
@@ -1,13 +1,14 @@
1
1
  import { GraphQLError } from 'graphql';
2
2
  import { ErrorCode as GitAdapterErrorCode } from '@commitspark/git-adapter';
3
3
  import { ErrorCode as SearchAdapterErrorCode } from '@commitspark/search-adapter';
4
- export declare const enum ErrorCode {
4
+ export declare enum ErrorCode {
5
5
  BAD_USER_INPUT = "BAD_USER_INPUT",
6
6
  NOT_FOUND = "NOT_FOUND",
7
7
  BAD_REPOSITORY_DATA = "BAD_REPOSITORY_DATA",
8
8
  BAD_SCHEMA = "BAD_SCHEMA",
9
9
  INTERNAL_ERROR = "INTERNAL_ERROR",
10
- IN_USE = "IN_USE"
10
+ IN_USE = "IN_USE",
11
+ CONFLICT = "CONFLICT"
11
12
  }
12
13
  export interface ErrorMetadata {
13
14
  typeName?: string;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/graphql/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,SAAS,IAAI,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC3E,OAAO,EAAE,SAAS,IAAI,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAEjF,oBAAY,SAAS;IACnB,cAAc,mBAAmB;IACjC,SAAS,cAAc;IACvB,mBAAmB,wBAAwB;IAC3C,UAAU,eAAe;IACzB,cAAc,mBAAmB;IACjC,MAAM,WAAW;IACjB,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,WAAW,GACtB,SAAS,MAAM,EACf,MAAM,SAAS,GAAG,mBAAmB,GAAG,sBAAsB,EAC9D,UAAU,aAAa,KACtB,YAiBF,CAAA"}
@@ -1,4 +1,14 @@
1
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["BAD_SCHEMA"] = "BAD_SCHEMA";
8
+ ErrorCode["INTERNAL_ERROR"] = "INTERNAL_ERROR";
9
+ ErrorCode["IN_USE"] = "IN_USE";
10
+ ErrorCode["CONFLICT"] = "CONFLICT";
11
+ })(ErrorCode || (ErrorCode = {}));
2
12
  export const createError = (message, code, metaData) => {
3
13
  const serializedFieldValue = typeof metaData.fieldValue === 'object' ||
4
14
  Array.isArray(metaData.fieldValue)
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/graphql/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAsBtC,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,OAAe,EACf,IAA8D,EAC9D,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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/graphql/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAItC,MAAM,CAAN,IAAY,SAQX;AARD,WAAY,SAAS;IACnB,8CAAiC,CAAA;IACjC,oCAAuB,CAAA;IACvB,wDAA2C,CAAA;IAC3C,sCAAyB,CAAA;IACzB,8CAAiC,CAAA;IACjC,8BAAiB,CAAA;IACjB,kCAAqB,CAAA;AACvB,CAAC,EARW,SAAS,KAAT,SAAS,QAQpB;AAWD,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,OAAe,EACf,IAA8D,EAC9D,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 @@
1
+ {"version":3,"file":"input-type-generator.d.ts","sourceRoot":"","sources":["../../../src/graphql/input-type-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,iBAAiB,EAEjB,gBAAgB,EAMjB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAkC3D,wBAAgB,0BAA0B,CACxC,oBAAoB,EAAE,oBAAoB,GACzC,MAAM,EAAE,CAeV;AAED,wBAAgB,8BAA8B,CAC5C,WAAW,EAAE,iBAAiB,EAAE,GAC/B,MAAM,EAAE,CA2BV;AAED,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,gBAAgB,EAAE,GAC7B,MAAM,EAAE,CAcV"}