@graphql-hive/federation-gateway-audit 0.0.0 → 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (395) hide show
  1. package/.github/workflows/ci.yaml +4 -4
  2. package/.github/workflows/release.yml +3 -3
  3. package/CHANGELOG.md +10 -0
  4. package/dist/index.d.cts.map +1 -1
  5. package/dist/index.d.ts.map +1 -1
  6. package/package.json +8 -4
  7. package/src/cli.ts +700 -0
  8. package/src/env.ts +13 -0
  9. package/src/index.ts +262 -0
  10. package/src/subgraph.ts +113 -0
  11. package/src/summary.ts +237 -0
  12. package/src/supergraph.ts +195 -0
  13. package/src/test-suites/abstract-types/agency.subgraph.ts +43 -0
  14. package/src/test-suites/abstract-types/books.subgraph.ts +47 -0
  15. package/src/test-suites/abstract-types/data.ts +120 -0
  16. package/src/test-suites/abstract-types/index.ts +23 -0
  17. package/src/test-suites/abstract-types/inventory.subgraph.ts +142 -0
  18. package/src/test-suites/abstract-types/magazines.subgraph.ts +47 -0
  19. package/src/test-suites/abstract-types/products.subgraph.ts +204 -0
  20. package/src/test-suites/abstract-types/reviews.subgraph.ts +159 -0
  21. package/src/test-suites/abstract-types/test.ts +1084 -0
  22. package/src/test-suites/abstract-types/users.subgraph.ts +31 -0
  23. package/src/test-suites/child-type-mismatch/a.subgraph.ts +27 -0
  24. package/src/test-suites/child-type-mismatch/b.subgraph.ts +51 -0
  25. package/src/test-suites/child-type-mismatch/data.ts +6 -0
  26. package/src/test-suites/child-type-mismatch/index.ts +6 -0
  27. package/{dist/index-Ca0FeU7u.js → src/test-suites/child-type-mismatch/test.ts} +79 -178
  28. package/src/test-suites/circular-reference-interface/a.subgraph.ts +55 -0
  29. package/src/test-suites/circular-reference-interface/b.subgraph.ts +35 -0
  30. package/src/test-suites/circular-reference-interface/data.ts +17 -0
  31. package/src/test-suites/circular-reference-interface/index.ts +6 -0
  32. package/src/test-suites/circular-reference-interface/test.ts +78 -0
  33. package/src/test-suites/complex-entity-call/data.ts +27 -0
  34. package/src/test-suites/complex-entity-call/index.ts +12 -0
  35. package/src/test-suites/complex-entity-call/link.subgraph.ts +36 -0
  36. package/src/test-suites/complex-entity-call/list.subgraph.ts +44 -0
  37. package/src/test-suites/complex-entity-call/price.subgraph.ts +107 -0
  38. package/src/test-suites/complex-entity-call/products.subgraph.ts +65 -0
  39. package/src/test-suites/complex-entity-call/test.ts +74 -0
  40. package/src/test-suites/corrupted-supergraph-node-id/a.subgraph.ts +112 -0
  41. package/src/test-suites/corrupted-supergraph-node-id/b.subgraph.ts +113 -0
  42. package/src/test-suites/corrupted-supergraph-node-id/data.ts +16 -0
  43. package/src/test-suites/corrupted-supergraph-node-id/index.ts +6 -0
  44. package/src/test-suites/corrupted-supergraph-node-id/test.ts +223 -0
  45. package/src/test-suites/enum-intersection/a.subgraph.ts +46 -0
  46. package/src/test-suites/enum-intersection/b.subgraph.ts +51 -0
  47. package/src/test-suites/enum-intersection/data.ts +10 -0
  48. package/src/test-suites/enum-intersection/index.ts +6 -0
  49. package/src/test-suites/enum-intersection/test.ts +108 -0
  50. package/src/test-suites/fed1-external-extends/a.subgraph.ts +51 -0
  51. package/src/test-suites/fed1-external-extends/b.subgraph.ts +48 -0
  52. package/src/test-suites/fed1-external-extends/data.ts +14 -0
  53. package/src/test-suites/fed1-external-extends/index.ts +6 -0
  54. package/src/test-suites/fed1-external-extends/test.ts +90 -0
  55. package/src/test-suites/fed1-external-extends-resolvable/a.subgraph.ts +40 -0
  56. package/src/test-suites/fed1-external-extends-resolvable/b.subgraph.ts +52 -0
  57. package/src/test-suites/fed1-external-extends-resolvable/data.ts +9 -0
  58. package/src/test-suites/fed1-external-extends-resolvable/index.ts +6 -0
  59. package/src/test-suites/fed1-external-extends-resolvable/test.ts +28 -0
  60. package/src/test-suites/fed1-external-extension/a.subgraph.ts +51 -0
  61. package/src/test-suites/fed1-external-extension/b.subgraph.ts +48 -0
  62. package/src/test-suites/fed1-external-extension/data.ts +14 -0
  63. package/src/test-suites/fed1-external-extension/index.ts +6 -0
  64. package/src/test-suites/fed1-external-extension/test.ts +90 -0
  65. package/src/test-suites/fed2-external-extends/a.subgraph.ts +57 -0
  66. package/src/test-suites/fed2-external-extends/b.subgraph.ts +54 -0
  67. package/src/test-suites/fed2-external-extends/data.ts +14 -0
  68. package/src/test-suites/fed2-external-extends/index.ts +6 -0
  69. package/src/test-suites/fed2-external-extends/test.ts +90 -0
  70. package/src/test-suites/fed2-external-extension/a.subgraph.ts +57 -0
  71. package/src/test-suites/fed2-external-extension/b.subgraph.ts +54 -0
  72. package/src/test-suites/fed2-external-extension/data.ts +14 -0
  73. package/src/test-suites/fed2-external-extension/index.ts +6 -0
  74. package/src/test-suites/fed2-external-extension/test.ts +90 -0
  75. package/src/test-suites/include-skip/a.subgraph.ts +42 -0
  76. package/src/test-suites/include-skip/b.subgraph.ts +47 -0
  77. package/src/test-suites/include-skip/c.subgraph.ts +65 -0
  78. package/src/test-suites/include-skip/data.ts +6 -0
  79. package/src/test-suites/include-skip/index.ts +7 -0
  80. package/src/test-suites/include-skip/test.ts +74 -0
  81. package/src/test-suites/input-object-intersection/a.subgraph.ts +47 -0
  82. package/src/test-suites/input-object-intersection/b.subgraph.ts +51 -0
  83. package/src/test-suites/input-object-intersection/data.ts +10 -0
  84. package/src/test-suites/input-object-intersection/index.ts +6 -0
  85. package/src/test-suites/input-object-intersection/test.ts +49 -0
  86. package/src/test-suites/interface-object-indirect-extension/author.subgraph.ts +39 -0
  87. package/src/test-suites/interface-object-indirect-extension/index.ts +11 -0
  88. package/src/test-suites/interface-object-indirect-extension/media.subgraph.ts +63 -0
  89. package/src/test-suites/interface-object-indirect-extension/playlist.subgraph.ts +48 -0
  90. package/src/test-suites/interface-object-indirect-extension/test.ts +57 -0
  91. package/src/test-suites/interface-object-with-requires/a.subgraph.ts +68 -0
  92. package/src/test-suites/interface-object-with-requires/b.subgraph.ts +61 -0
  93. package/src/test-suites/interface-object-with-requires/data.ts +14 -0
  94. package/src/test-suites/interface-object-with-requires/index.ts +6 -0
  95. package/src/test-suites/interface-object-with-requires/test.ts +206 -0
  96. package/src/test-suites/keys-mashup/a.subgraph.ts +46 -0
  97. package/src/test-suites/keys-mashup/b.subgraph.ts +118 -0
  98. package/src/test-suites/keys-mashup/data.ts +43 -0
  99. package/src/test-suites/keys-mashup/index.ts +6 -0
  100. package/src/test-suites/keys-mashup/test.ts +32 -0
  101. package/src/test-suites/mutations/a.subgraph.ts +136 -0
  102. package/src/test-suites/mutations/b.subgraph.ts +107 -0
  103. package/src/test-suites/mutations/c.subgraph.ts +26 -0
  104. package/src/test-suites/mutations/data.ts +91 -0
  105. package/src/test-suites/mutations/index.ts +7 -0
  106. package/src/test-suites/mutations/test.ts +94 -0
  107. package/src/test-suites/mysterious-external/data.ts +12 -0
  108. package/src/test-suites/mysterious-external/index.ts +6 -0
  109. package/src/test-suites/mysterious-external/price.subgraph.ts +55 -0
  110. package/src/test-suites/mysterious-external/product.subgraph.ts +45 -0
  111. package/src/test-suites/mysterious-external/test.ts +51 -0
  112. package/src/test-suites/nested-provides/all-products.subgraph.ts +37 -0
  113. package/src/test-suites/nested-provides/category.subgraph.ts +104 -0
  114. package/src/test-suites/nested-provides/data.ts +28 -0
  115. package/src/test-suites/nested-provides/index.ts +11 -0
  116. package/src/test-suites/nested-provides/subcategories.subgraph.ts +89 -0
  117. package/src/test-suites/nested-provides/test.ts +122 -0
  118. package/src/test-suites/node/data.ts +23 -0
  119. package/src/test-suites/node/index.ts +7 -0
  120. package/src/test-suites/node/node-two.ts +49 -0
  121. package/src/test-suites/node/node.subgraph.ts +68 -0
  122. package/src/test-suites/node/test.ts +28 -0
  123. package/src/test-suites/node/types.subgraph.ts +58 -0
  124. package/src/test-suites/non-resolvable-interface-object/a.subgraph.ts +40 -0
  125. package/src/test-suites/non-resolvable-interface-object/b.subgraph.ts +55 -0
  126. package/src/test-suites/non-resolvable-interface-object/data.ts +7 -0
  127. package/src/test-suites/non-resolvable-interface-object/index.ts +6 -0
  128. package/src/test-suites/non-resolvable-interface-object/test.ts +113 -0
  129. package/src/test-suites/null-keys/a.subgraph.ts +40 -0
  130. package/src/test-suites/null-keys/b.subgraph.ts +42 -0
  131. package/src/test-suites/null-keys/c.subgraph.ts +48 -0
  132. package/src/test-suites/null-keys/data.ts +32 -0
  133. package/src/test-suites/null-keys/index.ts +7 -0
  134. package/src/test-suites/null-keys/test.ts +46 -0
  135. package/src/test-suites/override-type-interface/a.subgraph.ts +47 -0
  136. package/src/test-suites/override-type-interface/b.subgraph.ts +73 -0
  137. package/src/test-suites/override-type-interface/data.ts +27 -0
  138. package/src/test-suites/override-type-interface/index.ts +6 -0
  139. package/src/test-suites/override-type-interface/test.ts +94 -0
  140. package/src/test-suites/override-with-requires/a.subgraph.ts +55 -0
  141. package/src/test-suites/override-with-requires/b.subgraph.ts +42 -0
  142. package/src/test-suites/override-with-requires/c.subgraph.ts +55 -0
  143. package/src/test-suites/override-with-requires/data.ts +14 -0
  144. package/src/test-suites/override-with-requires/index.ts +7 -0
  145. package/src/test-suites/override-with-requires/test.ts +98 -0
  146. package/src/test-suites/parent-entity-call/a.subgraph.ts +90 -0
  147. package/src/test-suites/parent-entity-call/b.subgraph.ts +68 -0
  148. package/src/test-suites/parent-entity-call/c.subgraph.ts +56 -0
  149. package/src/test-suites/parent-entity-call/data.ts +34 -0
  150. package/src/test-suites/parent-entity-call/index.ts +7 -0
  151. package/src/test-suites/parent-entity-call/test.ts +52 -0
  152. package/src/test-suites/parent-entity-call-complex/a.subgraph.ts +29 -0
  153. package/src/test-suites/parent-entity-call-complex/b.subgraph.ts +32 -0
  154. package/src/test-suites/parent-entity-call-complex/c.subgraph.ts +22 -0
  155. package/src/test-suites/parent-entity-call-complex/d.subgraph.ts +35 -0
  156. package/src/test-suites/parent-entity-call-complex/index.ts +8 -0
  157. package/src/test-suites/parent-entity-call-complex/test.ts +32 -0
  158. package/src/test-suites/provides-on-interface/a.subgraph.ts +95 -0
  159. package/src/test-suites/provides-on-interface/b.subgraph.ts +65 -0
  160. package/src/test-suites/provides-on-interface/c.subgraph.ts +119 -0
  161. package/src/test-suites/provides-on-interface/data.ts +24 -0
  162. package/src/test-suites/provides-on-interface/index.ts +7 -0
  163. package/src/test-suites/provides-on-interface/test.ts +68 -0
  164. package/src/test-suites/provides-on-union/a.subgraph.ts +41 -0
  165. package/src/test-suites/provides-on-union/b.subgraph.ts +47 -0
  166. package/src/test-suites/provides-on-union/c.subgraph.ts +59 -0
  167. package/src/test-suites/provides-on-union/data.ts +12 -0
  168. package/src/test-suites/provides-on-union/index.ts +7 -0
  169. package/src/test-suites/provides-on-union/test.ts +62 -0
  170. package/src/test-suites/requires-circular/a.subgraph.ts +72 -0
  171. package/src/test-suites/requires-circular/b.subgraph.ts +46 -0
  172. package/src/test-suites/requires-circular/data.ts +25 -0
  173. package/src/test-suites/requires-circular/index.ts +6 -0
  174. package/src/test-suites/requires-circular/test.ts +46 -0
  175. package/src/test-suites/requires-interface/a.subgraph.ts +92 -0
  176. package/src/test-suites/requires-interface/b.subgraph.ts +82 -0
  177. package/src/test-suites/requires-interface/data.ts +27 -0
  178. package/src/test-suites/requires-interface/index.ts +6 -0
  179. package/src/test-suites/requires-interface/test.ts +96 -0
  180. package/src/test-suites/requires-requires/a.subgraph.ts +33 -0
  181. package/src/test-suites/requires-requires/b.subgraph.ts +42 -0
  182. package/src/test-suites/requires-requires/c.subgraph.ts +65 -0
  183. package/src/test-suites/requires-requires/d.subgraph.ts +71 -0
  184. package/src/test-suites/requires-requires/data.ts +7 -0
  185. package/src/test-suites/requires-requires/index.ts +8 -0
  186. package/src/test-suites/requires-requires/test.ts +88 -0
  187. package/src/test-suites/requires-with-argument/a.subgraph.ts +68 -0
  188. package/src/test-suites/requires-with-argument/b.subgraph.ts +55 -0
  189. package/src/test-suites/requires-with-argument/c.subgraph.ts +71 -0
  190. package/src/test-suites/requires-with-argument/d.subgraph.ts +97 -0
  191. package/src/test-suites/requires-with-argument/data.ts +81 -0
  192. package/src/test-suites/requires-with-argument/index.ts +8 -0
  193. package/src/test-suites/requires-with-argument/test.ts +192 -0
  194. package/src/test-suites/requires-with-argument-conflict/a.subgraph.ts +79 -0
  195. package/src/test-suites/requires-with-argument-conflict/b.subgraph.ts +60 -0
  196. package/src/test-suites/requires-with-argument-conflict/data.ts +20 -0
  197. package/src/test-suites/requires-with-argument-conflict/index.ts +6 -0
  198. package/src/test-suites/requires-with-argument-conflict/test.ts +37 -0
  199. package/src/test-suites/requires-with-fragments/a.subgraph.ts +81 -0
  200. package/src/test-suites/requires-with-fragments/b.subgraph.ts +151 -0
  201. package/src/test-suites/requires-with-fragments/data.ts +30 -0
  202. package/src/test-suites/requires-with-fragments/index.ts +6 -0
  203. package/src/test-suites/requires-with-fragments/test.ts +138 -0
  204. package/src/test-suites/shared-root/category.subgraph.ts +45 -0
  205. package/src/test-suites/shared-root/data.ts +22 -0
  206. package/src/test-suites/shared-root/index.ts +7 -0
  207. package/src/test-suites/shared-root/name.subgraph.ts +46 -0
  208. package/src/test-suites/shared-root/price.subgraph.ts +46 -0
  209. package/src/test-suites/shared-root/test.ts +94 -0
  210. package/src/test-suites/simple-entity-call/data.ts +12 -0
  211. package/src/test-suites/simple-entity-call/email.subgraph.ts +42 -0
  212. package/src/test-suites/simple-entity-call/index.ts +6 -0
  213. package/src/test-suites/simple-entity-call/nickname.subgraph.ts +32 -0
  214. package/src/test-suites/simple-entity-call/test.ts +23 -0
  215. package/src/test-suites/simple-inaccessible/age.subgraph.ts +45 -0
  216. package/src/test-suites/simple-inaccessible/data.ts +12 -0
  217. package/src/test-suites/simple-inaccessible/friends.subgraph.ts +68 -0
  218. package/src/test-suites/simple-inaccessible/index.ts +6 -0
  219. package/src/test-suites/simple-inaccessible/test.ts +124 -0
  220. package/src/test-suites/simple-interface-object/a.subgraph.ts +163 -0
  221. package/src/test-suites/simple-interface-object/b.subgraph.ts +89 -0
  222. package/src/test-suites/simple-interface-object/c.subgraph.ts +48 -0
  223. package/src/test-suites/simple-interface-object/data.ts +38 -0
  224. package/src/test-suites/simple-interface-object/index.ts +7 -0
  225. package/src/test-suites/simple-interface-object/test.ts +367 -0
  226. package/src/test-suites/simple-override/a.subgraph.ts +49 -0
  227. package/src/test-suites/simple-override/b.subgraph.ts +46 -0
  228. package/src/test-suites/simple-override/data.ts +10 -0
  229. package/src/test-suites/simple-override/index.ts +6 -0
  230. package/src/test-suites/simple-override/test.ts +51 -0
  231. package/src/test-suites/simple-requires-provides/accounts.subgraph.ts +48 -0
  232. package/src/test-suites/simple-requires-provides/data.ts +44 -0
  233. package/src/test-suites/simple-requires-provides/index.ts +12 -0
  234. package/src/test-suites/simple-requires-provides/inventory.subgraph.ts +59 -0
  235. package/src/test-suites/simple-requires-provides/products.subgraph.ts +48 -0
  236. package/src/test-suites/simple-requires-provides/reviews.subgraph.ts +106 -0
  237. package/src/test-suites/simple-requires-provides/test.ts +372 -0
  238. package/src/test-suites/typename/a.subgraph.ts +76 -0
  239. package/src/test-suites/typename/b.subgraph.ts +50 -0
  240. package/src/test-suites/typename/data.ts +14 -0
  241. package/src/test-suites/typename/index.ts +6 -0
  242. package/src/test-suites/typename/test.ts +132 -0
  243. package/src/test-suites/unavailable-override/a.subgraph.ts +46 -0
  244. package/src/test-suites/unavailable-override/b.subgraph.ts +46 -0
  245. package/src/test-suites/unavailable-override/data.ts +10 -0
  246. package/src/test-suites/unavailable-override/index.ts +6 -0
  247. package/src/test-suites/unavailable-override/test.ts +51 -0
  248. package/src/test-suites/union-interface-distributed/a.subgraph.ts +126 -0
  249. package/src/test-suites/union-interface-distributed/b.subgraph.ts +39 -0
  250. package/src/test-suites/union-interface-distributed/data.ts +26 -0
  251. package/src/test-suites/union-interface-distributed/index.ts +6 -0
  252. package/src/test-suites/union-interface-distributed/test.ts +244 -0
  253. package/src/test-suites/union-intersection/README.md +3 -0
  254. package/src/test-suites/union-intersection/a.subgraph.ts +83 -0
  255. package/src/test-suites/union-intersection/b.subgraph.ts +79 -0
  256. package/src/test-suites/union-intersection/data.ts +7 -0
  257. package/src/test-suites/union-intersection/index.ts +6 -0
  258. package/{dist/index-Ytb942t9.js → src/test-suites/union-intersection/test.ts} +74 -260
  259. package/src/test.ts +98 -0
  260. package/src/testkit.ts +31 -0
  261. package/.changeset/@graphql-hive_federation-gateway-audit-293-dependencies.md +0 -5
  262. package/.changeset/funky-times-cry.md +0 -5
  263. package/dist/index--3rcSZqA.js +0 -227
  264. package/dist/index-0MDIXUzP.cjs +0 -589
  265. package/dist/index-2oy7cA9A.js +0 -225
  266. package/dist/index-3BM15w2Y.mjs +0 -234
  267. package/dist/index-3CyAnc7j.js +0 -234
  268. package/dist/index-4swHVe9x.cjs +0 -507
  269. package/dist/index-6qNpP2wc.mjs +0 -238
  270. package/dist/index-A2YbwKzc.mjs +0 -288
  271. package/dist/index-B0coRevy.mjs +0 -337
  272. package/dist/index-B1NAc0TI.cjs +0 -215
  273. package/dist/index-B1WvIzTg.js +0 -371
  274. package/dist/index-B55AdoQy.js +0 -273
  275. package/dist/index-B7cr8XE-.js +0 -194
  276. package/dist/index-B7zN3YzE.cjs +0 -683
  277. package/dist/index-B9T896rB.mjs +0 -163
  278. package/dist/index-BEMScD_X.cjs +0 -173
  279. package/dist/index-BGC0_vWj.cjs +0 -335
  280. package/dist/index-BGUm947D.cjs +0 -229
  281. package/dist/index-BKcwbRZx.cjs +0 -339
  282. package/dist/index-BKpVb_h9.cjs +0 -236
  283. package/dist/index-BPFol6Ww.mjs +0 -129
  284. package/dist/index-BPza8i2Q.mjs +0 -213
  285. package/dist/index-BS7JyQSU.js +0 -250
  286. package/dist/index-BSWSgZCO.cjs +0 -252
  287. package/dist/index-BSwOAvti.js +0 -288
  288. package/dist/index-BWO8QbMB.mjs +0 -587
  289. package/dist/index-B_u5Boud.js +0 -333
  290. package/dist/index-BaH3FI9i.cjs +0 -361
  291. package/dist/index-BaluTf1I.cjs +0 -707
  292. package/dist/index-BcoW0aPo.cjs +0 -165
  293. package/dist/index-BdNZKlDU.js +0 -284
  294. package/dist/index-Bf81cAA1.mjs +0 -444
  295. package/dist/index-Bg3H3fgZ.js +0 -259
  296. package/dist/index-Bgl_1Y6Q.mjs +0 -681
  297. package/dist/index-BgryMCqm.mjs +0 -213
  298. package/dist/index-BiTzMTFn.js +0 -304
  299. package/dist/index-BjbmOyBP.cjs +0 -215
  300. package/dist/index-Bm8hqSRd.cjs +0 -168
  301. package/dist/index-BmQrhPXB.cjs +0 -131
  302. package/dist/index-BndUB2KV.mjs +0 -381
  303. package/dist/index-BpJZCoVH.mjs +0 -250
  304. package/dist/index-Br-Y1qC_.cjs +0 -446
  305. package/dist/index-BrFtcRgi.mjs +0 -194
  306. package/dist/index-Bu8SXnTf.mjs +0 -227
  307. package/dist/index-Bwh8HVkw.cjs +0 -384
  308. package/dist/index-BxK3Y72_.js +0 -227
  309. package/dist/index-BxPUzymh.cjs +0 -208
  310. package/dist/index-ByZa9qm8.mjs +0 -273
  311. package/dist/index-Bz_LTy1A.mjs +0 -222
  312. package/dist/index-C1GgHOiD.js +0 -228
  313. package/dist/index-C4Pk-zTm.mjs +0 -227
  314. package/dist/index-C6nkQ480.js +0 -225
  315. package/dist/index-C8Mu4K9Q.cjs +0 -383
  316. package/dist/index-CAJ9YPxc.js +0 -681
  317. package/dist/index-CD03pVUt.cjs +0 -373
  318. package/dist/index-CD8GiuIg.js +0 -227
  319. package/dist/index-CHB_0VqK.mjs +0 -333
  320. package/dist/index-CNvZCDZa.js +0 -166
  321. package/dist/index-COGhiFjk.mjs +0 -284
  322. package/dist/index-COIlelpZ.mjs +0 -262
  323. package/dist/index-CPu_XkjY.mjs +0 -304
  324. package/dist/index-CUFKuE64.js +0 -550
  325. package/dist/index-CW8h3l6M.js +0 -262
  326. package/dist/index-CWrng7Hd.mjs +0 -550
  327. package/dist/index-CXviN8qZ.cjs +0 -224
  328. package/dist/index-C_qaNb-X.mjs +0 -225
  329. package/dist/index-Cb3ImEjd.cjs +0 -165
  330. package/dist/index-Cc3vrs6_.mjs +0 -228
  331. package/dist/index-CcIXvx40.mjs +0 -171
  332. package/dist/index-CdaeeF3f.cjs +0 -306
  333. package/dist/index-Cj2ocjXI.cjs +0 -227
  334. package/dist/index-CkWEXzTN.js +0 -129
  335. package/dist/index-Ckhb9QAu.cjs +0 -264
  336. package/dist/index-CklJfQlf.cjs +0 -220
  337. package/dist/index-Cn0ZJkAv.mjs +0 -280
  338. package/dist/index-Cuw9ylL-.mjs +0 -371
  339. package/dist/index-CwOULUAt.mjs +0 -382
  340. package/dist/index-D-1dDKiZ.mjs +0 -227
  341. package/dist/index-D1Ip6ro6.js +0 -458
  342. package/dist/index-D5tEp8IU.js +0 -337
  343. package/dist/index-D7WuGKYY.cjs +0 -227
  344. package/dist/index-D8Dp6TnQ.cjs +0 -1837
  345. package/dist/index-D9OKpqgG.js +0 -381
  346. package/dist/index-DBMI2EcB.cjs +0 -170
  347. package/dist/index-DBRUKV0U.mjs +0 -225
  348. package/dist/index-DHRqE92a.cjs +0 -290
  349. package/dist/index-DJ3ndv3i.mjs +0 -705
  350. package/dist/index-DJXP-Gmp.js +0 -218
  351. package/dist/index-DJlXDQOY.cjs +0 -200
  352. package/dist/index-DLW4GEJl.cjs +0 -229
  353. package/dist/index-DM4ddIL6.js +0 -382
  354. package/dist/index-DN-ScBql.mjs +0 -458
  355. package/dist/index-DS86eFsI.mjs +0 -1835
  356. package/dist/index-DZws2w4w.cjs +0 -229
  357. package/dist/index-Dbb-jnWf.js +0 -206
  358. package/dist/index-DdXy_-T9.js +0 -444
  359. package/dist/index-DiDq1sL6.cjs +0 -240
  360. package/dist/index-DiuJQ9Mq.js +0 -198
  361. package/dist/index-Dk0q-ENv.mjs +0 -166
  362. package/dist/index-DlFElztE.mjs +0 -163
  363. package/dist/index-DlkxQ-B5.mjs +0 -359
  364. package/dist/index-Du5MxO_2.mjs +0 -505
  365. package/dist/index-DxHMqS-W.js +0 -117
  366. package/dist/index-DyTApTHI.cjs +0 -282
  367. package/dist/index-DzAewrkw.js +0 -238
  368. package/dist/index-EuKHpnHv.mjs +0 -117
  369. package/dist/index-FP6hvgSw.cjs +0 -552
  370. package/dist/index-GDSrKnPp.mjs +0 -198
  371. package/dist/index-GMCZo-KH.js +0 -222
  372. package/dist/index-IawHHRZX.mjs +0 -206
  373. package/dist/index-Jk7MG7tE.cjs +0 -286
  374. package/dist/index-KAC20a9r.js +0 -359
  375. package/dist/index-Ls2fI7y4.js +0 -163
  376. package/dist/index-NIEZaRYg.cjs +0 -261
  377. package/dist/index-PyaLRKuk.mjs +0 -168
  378. package/dist/index-QXYDkAsQ.cjs +0 -119
  379. package/dist/index-SmEIf5jz.mjs +0 -259
  380. package/dist/index-UVyXzNlG.js +0 -705
  381. package/dist/index-VvuhRvnC.mjs +0 -218
  382. package/dist/index-XZiO6uje.cjs +0 -275
  383. package/dist/index-YOlsBREZ.cjs +0 -230
  384. package/dist/index-_2dg_MWu.cjs +0 -460
  385. package/dist/index-eFEW10em.js +0 -213
  386. package/dist/index-f7FiDQMk.js +0 -171
  387. package/dist/index-fdDnq3vQ.js +0 -163
  388. package/dist/index-l8e8ip4U.js +0 -168
  389. package/dist/index-rn-_7-wp.cjs +0 -196
  390. package/dist/index-s27DHpTG.js +0 -1835
  391. package/dist/index-sbc7nDv3.js +0 -213
  392. package/dist/index-vHngHSlz.js +0 -280
  393. package/dist/testkit-C920qivh.js +0 -281
  394. package/dist/testkit-C920qivh.mjs +0 -281
  395. package/dist/testkit-D0rTQ6MD.cjs +0 -286
@@ -1,1835 +0,0 @@
1
- import { c as createSubgraph, a as createTest, s as serve } from './testkit-C920qivh.mjs';
2
- import '@apollo/composition';
3
- import 'graphql';
4
- import 'fets';
5
- import '@apollo/subgraph';
6
- import 'graphql-yoga';
7
-
8
- const users = [
9
- {
10
- id: "u1",
11
- email: "u1@example.com",
12
- name: "u1-name"
13
- },
14
- {
15
- id: "u2",
16
- email: "u2@example.com",
17
- name: "u2-name"
18
- },
19
- {
20
- id: "u3",
21
- email: "u3@example.com",
22
- name: "u3-name"
23
- }
24
- ];
25
- const books = [
26
- {
27
- __typename: "Book",
28
- id: "p1",
29
- sku: "sku-1",
30
- title: "Book 1",
31
- createdBy: "u1",
32
- dimensions: {
33
- size: "small",
34
- weight: 0.5
35
- },
36
- publisher: {
37
- __typename: "Self",
38
- email: users[0].email
39
- },
40
- hidden: false
41
- },
42
- {
43
- __typename: "Book",
44
- id: "p3",
45
- sku: "sku-3",
46
- title: "Book 2",
47
- createdBy: "u2",
48
- dimensions: {
49
- size: "small",
50
- weight: 0.6
51
- },
52
- publisher: {
53
- __typename: "Agency",
54
- id: "a1"
55
- },
56
- hidden: false
57
- }
58
- ];
59
- const magazines = [
60
- {
61
- __typename: "Magazine",
62
- id: "p2",
63
- sku: "sku-2",
64
- title: "Magazine 1",
65
- createdBy: "u1",
66
- dimensions: {
67
- size: "small",
68
- weight: 0.2
69
- },
70
- publisher: {
71
- __typename: "Agency",
72
- id: "a1"
73
- },
74
- hidden: false
75
- },
76
- {
77
- __typename: "Magazine",
78
- id: "p4",
79
- sku: "sku-4",
80
- title: "Magazine 2",
81
- createdBy: "u2",
82
- dimensions: {
83
- size: "small",
84
- weight: 0.3
85
- },
86
- publisher: {
87
- __typename: "Self",
88
- email: users[0].email
89
- },
90
- hidden: true
91
- }
92
- ];
93
- const products = [...books, ...magazines];
94
- const reviews = [
95
- {
96
- id: 1,
97
- body: "review 1",
98
- productId: "p1",
99
- score: 3
100
- },
101
- {
102
- id: 2,
103
- body: "review 2",
104
- productId: "p1",
105
- score: 4
106
- },
107
- {
108
- id: 3,
109
- body: "review 3",
110
- productId: "p2",
111
- score: 5
112
- }
113
- ];
114
- const agencies = [
115
- {
116
- id: "a1",
117
- companyName: "Agency 1",
118
- email: {
119
- address: "a1@example.com"
120
- }
121
- }
122
- ];
123
-
124
- var inventorySubgraph = createSubgraph("inventory", {
125
- typeDefs: (
126
- /* GraphQL */
127
- `
128
- extend schema
129
- @link(
130
- url: "https://specs.apollo.dev/federation/v2.3"
131
- import: ["@key", "@shareable", "@external", "@requires"]
132
- )
133
-
134
- interface Product {
135
- id: ID!
136
- dimensions: ProductDimension
137
- delivery(zip: String): DeliveryEstimates
138
- }
139
-
140
- type Book implements Product @key(fields: "id") {
141
- id: ID!
142
- dimensions: ProductDimension @external
143
- delivery(zip: String): DeliveryEstimates
144
- @requires(fields: "dimensions { size weight }")
145
- }
146
-
147
- type Magazine implements Product @key(fields: "id") {
148
- id: ID!
149
- dimensions: ProductDimension @external
150
- delivery(zip: String): DeliveryEstimates
151
- @requires(fields: "dimensions { size weight }")
152
- }
153
-
154
- type ProductDimension @shareable {
155
- size: String
156
- weight: Float
157
- }
158
-
159
- type DeliveryEstimates {
160
- estimatedDelivery: String
161
- fastestDelivery: String
162
- }
163
- `
164
- ),
165
- resolvers: {
166
- Book: {
167
- __resolveReference(key) {
168
- const book = books.find((book2) => book2.id === key.id);
169
- if (!book) {
170
- return null;
171
- }
172
- return {
173
- __typename: book.__typename,
174
- id: book.id,
175
- dimensions: key.dimensions
176
- };
177
- },
178
- delivery({ dimensions }, { zip }) {
179
- if (!zip) {
180
- return null;
181
- }
182
- if (!dimensions) {
183
- return null;
184
- }
185
- if (dimensions.size === "small" && dimensions.weight < 1) {
186
- return {
187
- estimatedDelivery: "1 day",
188
- fastestDelivery: "same day"
189
- };
190
- }
191
- if (dimensions.size === "large" && dimensions.weight >= 1) {
192
- return {
193
- estimatedDelivery: "3 days",
194
- fastestDelivery: "2 days"
195
- };
196
- }
197
- return null;
198
- }
199
- },
200
- Magazine: {
201
- __resolveReference(key) {
202
- const magazine = magazines.find((magazine2) => magazine2.id === key.id);
203
- if (!magazine) {
204
- return null;
205
- }
206
- return {
207
- __typename: magazine.__typename,
208
- id: magazine.id,
209
- dimensions: key.dimensions
210
- };
211
- },
212
- delivery({ dimensions }, { zip }) {
213
- if (!zip) {
214
- return null;
215
- }
216
- if (!dimensions) {
217
- return null;
218
- }
219
- if (dimensions.size === "small" && dimensions.weight < 1) {
220
- return {
221
- estimatedDelivery: "1 day",
222
- fastestDelivery: "same day"
223
- };
224
- }
225
- if (dimensions.size === "large" && dimensions.weight >= 1) {
226
- return {
227
- estimatedDelivery: "3 days",
228
- fastestDelivery: "2 days"
229
- };
230
- }
231
- return null;
232
- }
233
- }
234
- }
235
- });
236
-
237
- var booksSubgraph = createSubgraph("books", {
238
- typeDefs: (
239
- /* GraphQL */
240
- `
241
- schema
242
- @link(
243
- url: "https://specs.apollo.dev/federation/v2.3"
244
- import: ["@key", "@shareable", "@external", "@requires"]
245
- ) {
246
- query: Query
247
- }
248
-
249
- type Book @key(fields: "id") {
250
- id: ID!
251
- title: String
252
- }
253
-
254
- type Query {
255
- books: [Book]
256
- }
257
- `
258
- ),
259
- resolvers: {
260
- Query: {
261
- books() {
262
- return books.map((book) => ({
263
- __typename: "Book",
264
- id: book.id,
265
- title: book.title
266
- }));
267
- }
268
- },
269
- Book: {
270
- __resolveReference(key) {
271
- const book = books.find((book2) => book2.id === key.id);
272
- return book ? {
273
- __typename: "Book",
274
- id: book.id,
275
- title: book.title
276
- } : null;
277
- }
278
- }
279
- }
280
- });
281
-
282
- var usersSubgraph = createSubgraph("users", {
283
- typeDefs: (
284
- /* GraphQL */
285
- `
286
- type User @key(fields: "email") {
287
- email: ID!
288
- name: String
289
- totalProductsCreated: Int
290
- }
291
- `
292
- ),
293
- resolvers: {
294
- User: {
295
- __resolveReference(key) {
296
- const user = users.find((user2) => user2.email === key.email);
297
- return user ? {
298
- __typename: "User",
299
- id: user.id,
300
- email: user.email,
301
- name: user.name
302
- } : null;
303
- },
304
- totalProductsCreated(user) {
305
- return products.filter((p) => p.createdBy === user.id).length;
306
- }
307
- }
308
- }
309
- });
310
-
311
- var productsSubgraph = createSubgraph("products", {
312
- typeDefs: (
313
- /* GraphQL */
314
- `
315
- schema
316
- @link(
317
- url: "https://specs.apollo.dev/federation/v2.3"
318
- import: ["@key", "@shareable", "@inaccessible", "@external"]
319
- ) {
320
- query: Query
321
- }
322
-
323
- type Query {
324
- products: [Product]
325
- similar(id: ID!): [Product]
326
- }
327
-
328
- interface Product {
329
- id: ID!
330
- sku: String
331
- dimensions: ProductDimension
332
- createdBy: User
333
- hidden: Boolean @inaccessible
334
- }
335
-
336
- interface Similar {
337
- similar: [Product]
338
- }
339
-
340
- type ProductDimension @shareable {
341
- size: String
342
- weight: Float
343
- }
344
-
345
- type Book implements Product & Similar @key(fields: "id") {
346
- id: ID!
347
- sku: String
348
- dimensions: ProductDimension @shareable
349
- createdBy: User
350
- similar: [Book]
351
- hidden: Boolean
352
- publisherType: PublisherType
353
- }
354
-
355
- type Magazine implements Product & Similar @key(fields: "id") {
356
- id: ID!
357
- sku: String
358
- dimensions: ProductDimension @shareable
359
- createdBy: User
360
- similar: [Magazine]
361
- hidden: Boolean
362
- publisherType: PublisherType
363
- }
364
-
365
- union PublisherType = Agency | Self
366
-
367
- type Agency {
368
- id: ID! @shareable
369
- }
370
-
371
- type Self {
372
- email: String
373
- }
374
-
375
- type User @key(fields: "email") {
376
- email: ID!
377
- totalProductsCreated: Int @shareable
378
- }
379
- `
380
- ),
381
- resolvers: {
382
- Query: {
383
- products() {
384
- return products.map((p) => ({
385
- __typename: p.__typename,
386
- id: p.id,
387
- sku: p.sku,
388
- dimensions: p.dimensions,
389
- createdBy: p.createdBy,
390
- hidden: p.hidden,
391
- publisherType: p.publisher
392
- }));
393
- },
394
- similar(_, { id }) {
395
- const product = products.find((product2) => product2.id === id);
396
- if (!product) {
397
- return [];
398
- }
399
- const similar = products.filter(
400
- (p) => p.id !== product.id && p.__typename === product.__typename
401
- );
402
- return similar.map((b) => ({
403
- __typename: b.__typename,
404
- id: b.id,
405
- sku: b.sku,
406
- dimensions: b.dimensions,
407
- createdBy: b.createdBy,
408
- hidden: b.hidden,
409
- publisherType: b.publisher
410
- }));
411
- }
412
- },
413
- Book: {
414
- __resolveReference(key) {
415
- const book = books.find((book2) => book2.id === key.id);
416
- return book ? {
417
- __typename: book.__typename,
418
- id: book.id,
419
- sku: book.sku,
420
- dimensions: book.dimensions,
421
- createdBy: book.createdBy,
422
- hidden: book.hidden,
423
- publisherType: book.publisher
424
- } : null;
425
- },
426
- similar(book) {
427
- return books.filter((b) => b.id !== book.id).map((b) => ({
428
- __typename: b.__typename,
429
- id: b.id,
430
- sku: b.sku,
431
- dimensions: b.dimensions,
432
- createdBy: b.createdBy,
433
- hidden: b.hidden,
434
- publisherType: b.publisher
435
- }));
436
- },
437
- createdBy(book) {
438
- const user = users.find((user2) => user2.id === book.createdBy);
439
- return user ? {
440
- __typename: "User",
441
- id: user.id,
442
- email: user.email
443
- } : null;
444
- }
445
- },
446
- Magazine: {
447
- __resolveReference(key) {
448
- const magazine = magazines.find((magazine2) => magazine2.id === key.id);
449
- return magazine ? {
450
- __typename: magazine.__typename,
451
- id: magazine.id,
452
- sku: magazine.sku,
453
- dimensions: magazine.dimensions,
454
- createdBy: magazine.createdBy,
455
- hidden: magazine.hidden,
456
- publisherType: magazine.publisher
457
- } : null;
458
- },
459
- similar(magazine) {
460
- return magazines.filter((m) => m.id !== magazine.id).map((m) => ({
461
- __typename: m.__typename,
462
- id: m.id,
463
- sku: m.sku,
464
- dimensions: m.dimensions,
465
- createdBy: m.createdBy,
466
- hidden: m.hidden,
467
- publisherType: m.publisher
468
- }));
469
- },
470
- createdBy(magazine) {
471
- const user = users.find((user2) => user2.id === magazine.createdBy);
472
- return user ? {
473
- __typename: "User",
474
- id: user.id,
475
- email: user.email
476
- } : null;
477
- }
478
- },
479
- User: {
480
- __resolveReference(key) {
481
- const user = users.find((user2) => user2.email === key.email);
482
- return user ? {
483
- __typename: "User",
484
- id: user.id,
485
- email: user.email
486
- } : null;
487
- },
488
- totalProductsCreated(user) {
489
- return products.filter((product) => product.createdBy === user.id).length;
490
- }
491
- }
492
- }
493
- });
494
-
495
- const Product = {
496
- __resolveReference(key) {
497
- const product = products.find((product2) => product2.id === key.id);
498
- return product ? {
499
- __typename: product.__typename,
500
- id: product.id,
501
- similar: key.similar
502
- } : null;
503
- },
504
- reviews(product) {
505
- return reviews.filter((review) => review.productId === product.id).map((review) => {
506
- const product2 = products.find(
507
- (product3) => product3.id === review.productId
508
- );
509
- return {
510
- __typename: "Review",
511
- id: review.id,
512
- body: review.body,
513
- product: product2 ? {
514
- __typename: product2.__typename,
515
- id: product2.id
516
- } : null
517
- };
518
- });
519
- },
520
- reviewsCount(product) {
521
- return reviews.filter((review) => review.productId === product.id).length;
522
- },
523
- reviewsScore(product) {
524
- const productReviews = reviews.filter(
525
- (review) => review.productId === product.id
526
- );
527
- if (productReviews.length === 0) {
528
- return 0;
529
- }
530
- const sum = productReviews.reduce((acc, review) => acc + review.score, 0);
531
- return sum / productReviews.length;
532
- },
533
- reviewsOfSimilar(product) {
534
- const similarProducts = products.filter(
535
- (p) => p.__typename === product.__typename && product.similar.id.includes(p.id)
536
- );
537
- return similarProducts.flatMap((p) => reviews.filter((review) => review.productId === p.id)).map((review) => {
538
- const product2 = products.find(
539
- (product3) => product3.id === review.productId
540
- );
541
- return {
542
- __typename: "Review",
543
- id: review.id,
544
- body: review.body,
545
- product: product2 ? {
546
- __typename: product2.__typename,
547
- id: product2.id
548
- } : null
549
- };
550
- });
551
- }
552
- };
553
- var reviewsSubgraph = createSubgraph("reviews", {
554
- typeDefs: (
555
- /* GraphQL */
556
- `
557
- schema
558
- @link(
559
- url: "https://specs.apollo.dev/federation/v2.3"
560
- import: ["@key", "@shareable", "@requires", "@external"]
561
- ) {
562
- query: Query
563
- }
564
-
565
- type Book implements Product & Similar @key(fields: "id") {
566
- id: ID!
567
- reviewsCount: Int!
568
- reviewsScore: Float! @shareable
569
- reviews: [Review!]!
570
- similar: [Book] @external
571
- reviewsOfSimilar: [Review!]! @requires(fields: "similar { id }")
572
- }
573
-
574
- type Magazine implements Product & Similar @key(fields: "id") {
575
- id: ID!
576
- reviewsCount: Int!
577
- reviewsScore: Float! @shareable
578
- reviews: [Review!]!
579
- similar: [Magazine] @external
580
- reviewsOfSimilar: [Review!]! @requires(fields: "similar { id }")
581
- }
582
-
583
- interface Product {
584
- id: ID!
585
- reviewsCount: Int!
586
- reviewsScore: Float!
587
- reviews: [Review!]!
588
- }
589
-
590
- interface Similar {
591
- similar: [Product]
592
- }
593
-
594
- type Query {
595
- review(id: Int!): Review
596
- }
597
-
598
- type Review {
599
- id: Int!
600
- body: String!
601
- product: Product
602
- }
603
- `
604
- ),
605
- resolvers: {
606
- Query: {
607
- review(_, { id }) {
608
- const review = reviews.find((review2) => review2.id === id);
609
- if (!review) {
610
- return null;
611
- }
612
- const product = products.find(
613
- (product2) => product2.id === review.productId
614
- );
615
- return {
616
- __typename: "Review",
617
- id: review.id,
618
- body: review.body,
619
- product: product ? {
620
- __typename: product.__typename,
621
- id: product.id
622
- } : null
623
- };
624
- }
625
- },
626
- Book: Product,
627
- Magazine: Product
628
- }
629
- });
630
-
631
- var magazinesSubgraph = createSubgraph("magazines", {
632
- typeDefs: (
633
- /* GraphQL */
634
- `
635
- schema
636
- @link(
637
- url: "https://specs.apollo.dev/federation/v2.3"
638
- import: ["@key", "@shareable"]
639
- ) {
640
- query: Query
641
- }
642
-
643
- type Magazine @key(fields: "id") {
644
- id: ID!
645
- title: String
646
- }
647
-
648
- type Query {
649
- magazines: [Magazine]
650
- }
651
- `
652
- ),
653
- resolvers: {
654
- Query: {
655
- magazines() {
656
- return magazines.map((magazine) => ({
657
- __typename: magazine.__typename,
658
- id: magazine.id,
659
- title: magazine.title
660
- }));
661
- }
662
- },
663
- Magazine: {
664
- __resolveReference(key) {
665
- const magazine = magazines.find((magazine2) => magazine2.id === key.id);
666
- return magazine ? {
667
- __typename: magazine.__typename,
668
- id: magazine.id,
669
- title: magazine.title
670
- } : null;
671
- }
672
- }
673
- }
674
- });
675
-
676
- var agencySubgraph = createSubgraph("agency", {
677
- typeDefs: (
678
- /* GraphQL */
679
- `
680
- extend schema
681
- @link(url: "https://specs.apollo.dev/federation/v2.3", import: ["@key"])
682
-
683
- type Agency @key(fields: "id") {
684
- id: ID!
685
- companyName: String
686
- email: Email
687
- }
688
-
689
- type Email {
690
- address: String
691
- }
692
-
693
- type Group @key(fields: "id") {
694
- id: ID!
695
- name: String
696
- email: String
697
- }
698
-
699
- extend union PublisherType = Agency | Group
700
- `
701
- ),
702
- resolvers: {
703
- Agency: {
704
- __resolveReference(key) {
705
- return agencies.find((a) => a.id === key.id);
706
- }
707
- },
708
- Group: {
709
- __resolveReference(key) {
710
- return {
711
- id: key.id,
712
- name: "Group " + key.id,
713
- email: "group" + key.id + "@example.com"
714
- };
715
- }
716
- }
717
- }
718
- });
719
-
720
- var test = [
721
- createTest(
722
- /* GraphQL */
723
- `
724
- query {
725
- products {
726
- id
727
- dimensions {
728
- size
729
- weight
730
- }
731
- }
732
- }
733
- `,
734
- {
735
- data: {
736
- products: [
737
- {
738
- id: "p1",
739
- dimensions: {
740
- size: "small",
741
- weight: 0.5
742
- }
743
- },
744
- {
745
- id: "p3",
746
- dimensions: {
747
- size: "small",
748
- weight: 0.6
749
- }
750
- },
751
- {
752
- id: "p2",
753
- dimensions: {
754
- size: "small",
755
- weight: 0.2
756
- }
757
- },
758
- {
759
- id: "p4",
760
- dimensions: {
761
- size: "small",
762
- weight: 0.3
763
- }
764
- }
765
- ]
766
- }
767
- }
768
- ),
769
- createTest(
770
- /* GraphQL */
771
- `
772
- query {
773
- similar(id: "p1") {
774
- id
775
- sku
776
- }
777
- }
778
- `,
779
- {
780
- data: {
781
- similar: [
782
- {
783
- id: "p3",
784
- sku: "sku-3"
785
- }
786
- ]
787
- }
788
- }
789
- ),
790
- createTest(
791
- /* GraphQL */
792
- `
793
- query {
794
- book: similar(id: "p1") {
795
- id
796
- sku
797
- delivery(zip: "1234") {
798
- fastestDelivery
799
- estimatedDelivery
800
- }
801
- }
802
- magazine: similar(id: "p2") {
803
- id
804
- sku
805
- delivery(zip: "1234") {
806
- fastestDelivery
807
- estimatedDelivery
808
- }
809
- }
810
- }
811
- `,
812
- {
813
- data: {
814
- book: [
815
- {
816
- id: "p3",
817
- sku: "sku-3",
818
- delivery: {
819
- fastestDelivery: "same day",
820
- estimatedDelivery: "1 day"
821
- }
822
- }
823
- ],
824
- magazine: [
825
- {
826
- id: "p4",
827
- sku: "sku-4",
828
- delivery: {
829
- fastestDelivery: "same day",
830
- estimatedDelivery: "1 day"
831
- }
832
- }
833
- ]
834
- }
835
- }
836
- ),
837
- createTest(
838
- /* GraphQL */
839
- `
840
- {
841
- products {
842
- sku
843
- ... on Product {
844
- sku
845
- }
846
- ... on Book {
847
- sku
848
- }
849
- ... on Magazine {
850
- sku
851
- }
852
- ... on Similar {
853
- __typename
854
- type: __typename
855
- }
856
- }
857
- }
858
- `,
859
- {
860
- data: {
861
- products: [
862
- {
863
- sku: "sku-1",
864
- __typename: "Book",
865
- type: "Book"
866
- },
867
- {
868
- sku: "sku-3",
869
- __typename: "Book",
870
- type: "Book"
871
- },
872
- {
873
- sku: "sku-2",
874
- __typename: "Magazine",
875
- type: "Magazine"
876
- },
877
- {
878
- sku: "sku-4",
879
- __typename: "Magazine",
880
- type: "Magazine"
881
- }
882
- ]
883
- }
884
- }
885
- ),
886
- createTest(
887
- /* GraphQL */
888
- `
889
- {
890
- products {
891
- author: createdBy {
892
- email
893
- totalProductsCreated
894
- }
895
- ... on Magazine {
896
- title
897
- }
898
- }
899
- }
900
- `,
901
- {
902
- data: {
903
- products: [
904
- {
905
- author: {
906
- email: "u1@example.com",
907
- totalProductsCreated: 2
908
- }
909
- },
910
- {
911
- author: {
912
- email: "u2@example.com",
913
- totalProductsCreated: 2
914
- }
915
- },
916
- {
917
- author: {
918
- email: "u1@example.com",
919
- totalProductsCreated: 2
920
- },
921
- title: "Magazine 1"
922
- },
923
- {
924
- author: {
925
- email: "u2@example.com",
926
- totalProductsCreated: 2
927
- },
928
- title: "Magazine 2"
929
- }
930
- ]
931
- }
932
- }
933
- ),
934
- createTest(
935
- /* GraphQL */
936
- `
937
- {
938
- products {
939
- id
940
- reviews {
941
- product {
942
- sku
943
- ... on Magazine {
944
- title
945
- }
946
- ... on Book {
947
- reviewsCount
948
- }
949
- }
950
- }
951
- }
952
- }
953
- `,
954
- {
955
- data: {
956
- products: [
957
- {
958
- id: "p1",
959
- reviews: [
960
- {
961
- product: {
962
- sku: "sku-1",
963
- reviewsCount: 2
964
- }
965
- },
966
- {
967
- product: {
968
- sku: "sku-1",
969
- reviewsCount: 2
970
- }
971
- }
972
- ]
973
- },
974
- {
975
- id: "p3",
976
- reviews: []
977
- },
978
- {
979
- id: "p2",
980
- reviews: [
981
- {
982
- product: {
983
- sku: "sku-2",
984
- title: "Magazine 1"
985
- }
986
- }
987
- ]
988
- },
989
- {
990
- id: "p4",
991
- reviews: []
992
- }
993
- ]
994
- }
995
- }
996
- ),
997
- createTest(
998
- /* GraphQL */
999
- `
1000
- {
1001
- products {
1002
- id
1003
- reviews {
1004
- id
1005
- }
1006
- }
1007
- }
1008
- `,
1009
- {
1010
- data: {
1011
- products: [
1012
- {
1013
- id: "p1",
1014
- reviews: [
1015
- {
1016
- id: 1
1017
- },
1018
- {
1019
- id: 2
1020
- }
1021
- ]
1022
- },
1023
- {
1024
- id: "p3",
1025
- reviews: []
1026
- },
1027
- {
1028
- id: "p2",
1029
- reviews: [
1030
- {
1031
- id: 3
1032
- }
1033
- ]
1034
- },
1035
- {
1036
- id: "p4",
1037
- reviews: []
1038
- }
1039
- ]
1040
- }
1041
- }
1042
- ),
1043
- createTest(
1044
- /* GraphQL */
1045
- `
1046
- query ($title: Boolean = true) {
1047
- products {
1048
- id
1049
- reviews {
1050
- product {
1051
- id
1052
- ... on Book @include(if: $title) {
1053
- title
1054
- }
1055
- ... on Magazine {
1056
- sku
1057
- }
1058
- }
1059
- }
1060
- }
1061
- }
1062
- `,
1063
- {
1064
- data: {
1065
- products: [
1066
- {
1067
- id: "p1",
1068
- reviews: [
1069
- {
1070
- product: {
1071
- id: "p1",
1072
- title: "Book 1"
1073
- }
1074
- },
1075
- {
1076
- product: {
1077
- id: "p1",
1078
- title: "Book 1"
1079
- }
1080
- }
1081
- ]
1082
- },
1083
- {
1084
- id: "p3",
1085
- reviews: []
1086
- },
1087
- {
1088
- id: "p2",
1089
- reviews: [
1090
- {
1091
- product: {
1092
- id: "p2",
1093
- sku: "sku-2"
1094
- }
1095
- }
1096
- ]
1097
- },
1098
- {
1099
- id: "p4",
1100
- reviews: []
1101
- }
1102
- ]
1103
- }
1104
- }
1105
- ),
1106
- createTest(
1107
- /* GraphQL */
1108
- `
1109
- query ($title: Boolean = false) {
1110
- products {
1111
- id
1112
- reviews {
1113
- product {
1114
- id
1115
- ... on Book @include(if: $title) {
1116
- title
1117
- }
1118
- ... on Magazine {
1119
- sku
1120
- }
1121
- }
1122
- }
1123
- }
1124
- }
1125
- `,
1126
- {
1127
- data: {
1128
- products: [
1129
- {
1130
- id: "p1",
1131
- reviews: [
1132
- {
1133
- product: {
1134
- id: "p1"
1135
- }
1136
- },
1137
- {
1138
- product: {
1139
- id: "p1"
1140
- }
1141
- }
1142
- ]
1143
- },
1144
- {
1145
- id: "p3",
1146
- reviews: []
1147
- },
1148
- {
1149
- id: "p2",
1150
- reviews: [
1151
- {
1152
- product: {
1153
- id: "p2",
1154
- sku: "sku-2"
1155
- }
1156
- }
1157
- ]
1158
- },
1159
- {
1160
- id: "p4",
1161
- reviews: []
1162
- }
1163
- ]
1164
- }
1165
- }
1166
- ),
1167
- createTest(
1168
- /* GraphQL */
1169
- `
1170
- query ($title: Boolean = false) {
1171
- products {
1172
- id
1173
- reviews {
1174
- product {
1175
- id
1176
- ... on Book @skip(if: $title) {
1177
- title
1178
- }
1179
- ... on Magazine {
1180
- sku
1181
- }
1182
- }
1183
- }
1184
- }
1185
- }
1186
- `,
1187
- {
1188
- data: {
1189
- products: [
1190
- {
1191
- id: "p1",
1192
- reviews: [
1193
- {
1194
- product: {
1195
- id: "p1",
1196
- title: "Book 1"
1197
- }
1198
- },
1199
- {
1200
- product: {
1201
- id: "p1",
1202
- title: "Book 1"
1203
- }
1204
- }
1205
- ]
1206
- },
1207
- {
1208
- id: "p3",
1209
- reviews: []
1210
- },
1211
- {
1212
- id: "p2",
1213
- reviews: [
1214
- {
1215
- product: {
1216
- id: "p2",
1217
- sku: "sku-2"
1218
- }
1219
- }
1220
- ]
1221
- },
1222
- {
1223
- id: "p4",
1224
- reviews: []
1225
- }
1226
- ]
1227
- }
1228
- }
1229
- ),
1230
- createTest(
1231
- /* GraphQL */
1232
- `
1233
- query ($title: Boolean = true) {
1234
- products {
1235
- id
1236
- reviews {
1237
- product {
1238
- id
1239
- ... on Book @skip(if: $title) {
1240
- title
1241
- }
1242
- ... on Magazine {
1243
- sku
1244
- }
1245
- }
1246
- }
1247
- }
1248
- }
1249
- `,
1250
- {
1251
- data: {
1252
- products: [
1253
- {
1254
- id: "p1",
1255
- reviews: [
1256
- {
1257
- product: {
1258
- id: "p1"
1259
- }
1260
- },
1261
- {
1262
- product: {
1263
- id: "p1"
1264
- }
1265
- }
1266
- ]
1267
- },
1268
- {
1269
- id: "p3",
1270
- reviews: []
1271
- },
1272
- {
1273
- id: "p2",
1274
- reviews: [
1275
- {
1276
- product: {
1277
- id: "p2",
1278
- sku: "sku-2"
1279
- }
1280
- }
1281
- ]
1282
- },
1283
- {
1284
- id: "p4",
1285
- reviews: []
1286
- }
1287
- ]
1288
- }
1289
- }
1290
- ),
1291
- createTest(
1292
- /* GraphQL */
1293
- `
1294
- query ($title: Boolean = true) {
1295
- products {
1296
- id
1297
- reviews {
1298
- product {
1299
- id
1300
- ... on Book @skip(if: $title) {
1301
- title
1302
- }
1303
- ... on Book {
1304
- sku
1305
- }
1306
- ... on Magazine {
1307
- sku
1308
- }
1309
- }
1310
- }
1311
- }
1312
- }
1313
- `,
1314
- {
1315
- data: {
1316
- products: [
1317
- {
1318
- id: "p1",
1319
- reviews: [
1320
- {
1321
- product: {
1322
- id: "p1",
1323
- sku: "sku-1"
1324
- }
1325
- },
1326
- {
1327
- product: {
1328
- id: "p1",
1329
- sku: "sku-1"
1330
- }
1331
- }
1332
- ]
1333
- },
1334
- {
1335
- id: "p3",
1336
- reviews: []
1337
- },
1338
- {
1339
- id: "p2",
1340
- reviews: [
1341
- {
1342
- product: {
1343
- id: "p2",
1344
- sku: "sku-2"
1345
- }
1346
- }
1347
- ]
1348
- },
1349
- {
1350
- id: "p4",
1351
- reviews: []
1352
- }
1353
- ]
1354
- }
1355
- }
1356
- ),
1357
- createTest(
1358
- /* GraphQL */
1359
- `
1360
- query ($title: Boolean = false) {
1361
- products {
1362
- id
1363
- reviews {
1364
- product {
1365
- id
1366
- ... on Book @skip(if: $title) {
1367
- title
1368
- }
1369
- ... on Book {
1370
- sku
1371
- }
1372
- ... on Magazine {
1373
- sku
1374
- }
1375
- }
1376
- }
1377
- }
1378
- }
1379
- `,
1380
- {
1381
- data: {
1382
- products: [
1383
- {
1384
- id: "p1",
1385
- reviews: [
1386
- {
1387
- product: {
1388
- id: "p1",
1389
- title: "Book 1",
1390
- sku: "sku-1"
1391
- }
1392
- },
1393
- {
1394
- product: {
1395
- id: "p1",
1396
- title: "Book 1",
1397
- sku: "sku-1"
1398
- }
1399
- }
1400
- ]
1401
- },
1402
- {
1403
- id: "p3",
1404
- reviews: []
1405
- },
1406
- {
1407
- id: "p2",
1408
- reviews: [
1409
- {
1410
- product: {
1411
- id: "p2",
1412
- sku: "sku-2"
1413
- }
1414
- }
1415
- ]
1416
- },
1417
- {
1418
- id: "p4",
1419
- reviews: []
1420
- }
1421
- ]
1422
- }
1423
- }
1424
- ),
1425
- createTest(
1426
- /* GraphQL */
1427
- `
1428
- query ($title: Boolean = true) {
1429
- products {
1430
- id
1431
- reviews {
1432
- product {
1433
- id
1434
- ... on Book @include(if: $title) {
1435
- title
1436
- ... on Book {
1437
- sku
1438
- }
1439
- }
1440
- ... on Magazine {
1441
- sku
1442
- }
1443
- }
1444
- }
1445
- }
1446
- }
1447
- `,
1448
- {
1449
- data: {
1450
- products: [
1451
- {
1452
- id: "p1",
1453
- reviews: [
1454
- {
1455
- product: {
1456
- id: "p1",
1457
- title: "Book 1",
1458
- sku: "sku-1"
1459
- }
1460
- },
1461
- {
1462
- product: {
1463
- id: "p1",
1464
- title: "Book 1",
1465
- sku: "sku-1"
1466
- }
1467
- }
1468
- ]
1469
- },
1470
- {
1471
- id: "p3",
1472
- reviews: []
1473
- },
1474
- {
1475
- id: "p2",
1476
- reviews: [
1477
- {
1478
- product: {
1479
- id: "p2",
1480
- sku: "sku-2"
1481
- }
1482
- }
1483
- ]
1484
- },
1485
- {
1486
- id: "p4",
1487
- reviews: []
1488
- }
1489
- ]
1490
- }
1491
- }
1492
- ),
1493
- createTest(
1494
- /* GraphQL */
1495
- `
1496
- query ($title: Boolean = true) {
1497
- products {
1498
- id
1499
- reviews {
1500
- product {
1501
- id
1502
- ... on Book @include(if: $title) {
1503
- title
1504
- ... on Book @skip(if: $title) {
1505
- sku
1506
- }
1507
- }
1508
- ... on Magazine {
1509
- sku
1510
- }
1511
- }
1512
- }
1513
- }
1514
- }
1515
- `,
1516
- {
1517
- data: {
1518
- products: [
1519
- {
1520
- id: "p1",
1521
- reviews: [
1522
- {
1523
- product: {
1524
- id: "p1",
1525
- title: "Book 1"
1526
- }
1527
- },
1528
- {
1529
- product: {
1530
- id: "p1",
1531
- title: "Book 1"
1532
- }
1533
- }
1534
- ]
1535
- },
1536
- {
1537
- id: "p3",
1538
- reviews: []
1539
- },
1540
- {
1541
- id: "p2",
1542
- reviews: [
1543
- {
1544
- product: {
1545
- id: "p2",
1546
- sku: "sku-2"
1547
- }
1548
- }
1549
- ]
1550
- },
1551
- {
1552
- id: "p4",
1553
- reviews: []
1554
- }
1555
- ]
1556
- }
1557
- }
1558
- ),
1559
- createTest(
1560
- /* GraphQL */
1561
- `
1562
- {
1563
- products {
1564
- id
1565
- reviews {
1566
- product {
1567
- id
1568
- ... on Magazine {
1569
- publisherType {
1570
- ...Publisher
1571
- }
1572
- }
1573
- ... on Book {
1574
- publisherType {
1575
- ...Publisher
1576
- }
1577
- }
1578
- }
1579
- }
1580
- }
1581
- }
1582
-
1583
- fragment Publisher on PublisherType {
1584
- ... on Agency {
1585
- id
1586
- companyName
1587
- }
1588
- ... on Self {
1589
- email
1590
- }
1591
- }
1592
- `,
1593
- {
1594
- data: {
1595
- products: [
1596
- {
1597
- id: "p1",
1598
- reviews: [
1599
- {
1600
- product: {
1601
- id: "p1",
1602
- publisherType: {
1603
- email: "u1@example.com"
1604
- }
1605
- }
1606
- },
1607
- {
1608
- product: {
1609
- id: "p1",
1610
- publisherType: {
1611
- email: "u1@example.com"
1612
- }
1613
- }
1614
- }
1615
- ]
1616
- },
1617
- {
1618
- id: "p3",
1619
- reviews: []
1620
- },
1621
- {
1622
- id: "p2",
1623
- reviews: [
1624
- {
1625
- product: {
1626
- id: "p2",
1627
- publisherType: {
1628
- id: "a1",
1629
- companyName: "Agency 1"
1630
- }
1631
- }
1632
- }
1633
- ]
1634
- },
1635
- {
1636
- id: "p4",
1637
- reviews: []
1638
- }
1639
- ]
1640
- }
1641
- }
1642
- ),
1643
- createTest(
1644
- /* GraphQL */
1645
- `
1646
- {
1647
- products {
1648
- id
1649
- reviews {
1650
- product {
1651
- id
1652
- ... on Magazine {
1653
- publisherType {
1654
- ...Publisher
1655
- }
1656
- }
1657
- ... on Book {
1658
- publisherType {
1659
- ...Publisher
1660
- }
1661
- }
1662
- }
1663
- }
1664
- }
1665
- }
1666
-
1667
- fragment Publisher on PublisherType {
1668
- ... on Agency {
1669
- id
1670
- companyName
1671
- }
1672
- ... on Self {
1673
- email
1674
- }
1675
- ... on Group {
1676
- name
1677
- }
1678
- }
1679
- `,
1680
- {
1681
- data: {
1682
- products: [
1683
- {
1684
- id: "p1",
1685
- reviews: [
1686
- {
1687
- product: {
1688
- id: "p1",
1689
- publisherType: {
1690
- email: "u1@example.com"
1691
- }
1692
- }
1693
- },
1694
- {
1695
- product: {
1696
- id: "p1",
1697
- publisherType: {
1698
- email: "u1@example.com"
1699
- }
1700
- }
1701
- }
1702
- ]
1703
- },
1704
- {
1705
- id: "p3",
1706
- reviews: []
1707
- },
1708
- {
1709
- id: "p2",
1710
- reviews: [
1711
- {
1712
- product: {
1713
- id: "p2",
1714
- publisherType: {
1715
- id: "a1",
1716
- companyName: "Agency 1"
1717
- }
1718
- }
1719
- }
1720
- ]
1721
- },
1722
- {
1723
- id: "p4",
1724
- reviews: []
1725
- }
1726
- ]
1727
- }
1728
- }
1729
- ),
1730
- createTest(
1731
- /* GraphQL */
1732
- `
1733
- {
1734
- products {
1735
- id
1736
- reviews {
1737
- product {
1738
- id
1739
- ... on Magazine {
1740
- publisherType {
1741
- ...Publisher
1742
- }
1743
- }
1744
- ... on Book {
1745
- publisherType {
1746
- ...Publisher
1747
- }
1748
- }
1749
- }
1750
- }
1751
- }
1752
- }
1753
-
1754
- fragment Publisher on PublisherType {
1755
- ... on Agency {
1756
- emailObj: email {
1757
- address
1758
- }
1759
- }
1760
- ... on Self {
1761
- emailStr: email
1762
- }
1763
- ... on Group {
1764
- emailStr: email
1765
- }
1766
- }
1767
- `,
1768
- {
1769
- data: {
1770
- products: [
1771
- {
1772
- id: "p1",
1773
- reviews: [
1774
- {
1775
- product: {
1776
- id: "p1",
1777
- publisherType: {
1778
- emailStr: "u1@example.com"
1779
- }
1780
- }
1781
- },
1782
- {
1783
- product: {
1784
- id: "p1",
1785
- publisherType: {
1786
- emailStr: "u1@example.com"
1787
- }
1788
- }
1789
- }
1790
- ]
1791
- },
1792
- {
1793
- id: "p3",
1794
- reviews: []
1795
- },
1796
- {
1797
- id: "p2",
1798
- reviews: [
1799
- {
1800
- product: {
1801
- id: "p2",
1802
- publisherType: {
1803
- emailObj: {
1804
- address: "a1@example.com"
1805
- }
1806
- }
1807
- }
1808
- }
1809
- ]
1810
- },
1811
- {
1812
- id: "p4",
1813
- reviews: []
1814
- }
1815
- ]
1816
- }
1817
- }
1818
- )
1819
- ];
1820
-
1821
- var index = serve(
1822
- "abstract-types",
1823
- [
1824
- agencySubgraph,
1825
- inventorySubgraph,
1826
- booksSubgraph,
1827
- usersSubgraph,
1828
- reviewsSubgraph,
1829
- productsSubgraph,
1830
- magazinesSubgraph
1831
- ],
1832
- test
1833
- );
1834
-
1835
- export { index as default };