houdini 2.0.0-next.9 → 2.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 (455) hide show
  1. package/build/adapter/index.d.ts +2 -2
  2. package/build/adapter/index.js +6 -0
  3. package/build/cmd/generate.d.ts +5 -0
  4. package/build/cmd/generate.js +77 -0
  5. package/build/cmd/index.js +32 -0
  6. package/build/cmd/init.js +565 -0
  7. package/build/cmd/pullSchema.js +26 -0
  8. package/build/lib/ast.js +71 -0
  9. package/build/lib/codegen.d.ts +57 -0
  10. package/build/lib/codegen.js +627 -0
  11. package/build/lib/config.d.ts +240 -177
  12. package/build/lib/config.js +143 -0
  13. package/build/lib/constants.js +14 -0
  14. package/build/lib/database.d.ts +7 -0
  15. package/build/lib/database.js +624 -0
  16. package/build/lib/db.d.ts +13 -0
  17. package/build/lib/db.js +135 -0
  18. package/build/lib/deepMerge.js +23 -0
  19. package/build/lib/error.d.ts +16 -0
  20. package/build/lib/error.js +115 -0
  21. package/build/lib/fs.d.ts +9 -11
  22. package/build/lib/fs.js +245 -0
  23. package/build/lib/graphql.d.ts +5 -32
  24. package/build/lib/graphql.js +36 -0
  25. package/build/lib/imports.d.ts +29 -14
  26. package/build/lib/imports.js +66 -0
  27. package/build/lib/index.d.ts +17 -24
  28. package/build/lib/index.js +21 -0
  29. package/build/lib/logger.d.ts +12 -0
  30. package/build/lib/logger.js +45 -0
  31. package/build/lib/parse.d.ts +2 -3
  32. package/build/lib/parse.js +33 -0
  33. package/build/lib/path.d.ts +0 -1
  34. package/build/lib/path.js +44 -0
  35. package/build/lib/pipeline.d.ts +1 -1
  36. package/build/lib/pipeline.js +8 -0
  37. package/build/lib/plugins.d.ts +4 -0
  38. package/build/lib/plugins.js +88 -0
  39. package/build/lib/project.d.ts +19 -0
  40. package/build/lib/project.js +296 -0
  41. package/build/lib/schema.d.ts +1 -0
  42. package/build/lib/schema.js +61 -0
  43. package/build/lib/sleep.d.ts +1 -0
  44. package/build/lib/sleep.js +8 -0
  45. package/build/lib/types.d.ts +92 -303
  46. package/build/lib/types.js +37 -0
  47. package/build/lib/walk.d.ts +11 -6
  48. package/build/lib/walk.js +138 -0
  49. package/build/node/index.d.ts +44 -0
  50. package/build/node/index.js +402 -0
  51. package/build/oauth/index.d.ts +41 -0
  52. package/build/oauth/index.js +108 -0
  53. package/build/package.json +212 -0
  54. package/build/router/auth-token.d.ts +29 -0
  55. package/build/router/auth-token.js +168 -0
  56. package/build/{lib/router → router}/conventions.d.ts +10 -1
  57. package/build/router/conventions.js +165 -0
  58. package/build/{runtime-esm/router → router}/cookies.js +21 -21
  59. package/build/{runtime-esm/router → router}/jwt.js +8 -6
  60. package/build/{lib/router → router}/manifest.d.ts +2 -2
  61. package/build/router/manifest.js +279 -0
  62. package/build/{runtime/router → router}/match.d.ts +10 -10
  63. package/build/router/match.js +219 -0
  64. package/build/router/server.d.ts +57 -0
  65. package/build/router/server.js +500 -0
  66. package/build/{runtime/router → router}/session.d.ts +8 -3
  67. package/build/router/session.js +338 -0
  68. package/build/router/types.d.ts +44 -0
  69. package/build/runtime/cache/benchmarks/cache.bench.d.ts +1 -0
  70. package/build/runtime/cache/benchmarks/cache.bench.js +943 -0
  71. package/build/runtime/cache/gc.d.ts +2 -1
  72. package/build/{runtime-esm → runtime}/cache/gc.js +4 -1
  73. package/build/runtime/cache/index.d.ts +173 -3
  74. package/build/{runtime-esm/cache/cache.js → runtime/cache/index.js} +197 -70
  75. package/build/runtime/cache/lists.d.ts +9 -4
  76. package/build/{runtime-esm → runtime}/cache/lists.js +116 -27
  77. package/build/runtime/cache/staleManager.d.ts +2 -1
  78. package/build/{runtime-esm → runtime}/cache/staleManager.js +6 -2
  79. package/build/runtime/cache/storage.d.ts +5 -2
  80. package/build/{runtime-esm → runtime}/cache/storage.js +126 -54
  81. package/build/{runtime-esm → runtime}/cache/stuff.js +4 -3
  82. package/build/runtime/cache/subscription.d.ts +23 -9
  83. package/build/{runtime-esm → runtime}/cache/subscription.js +103 -65
  84. package/build/runtime/{client/index.d.ts → client.d.ts} +15 -22
  85. package/build/runtime/client.js +86 -0
  86. package/build/runtime/coerce.d.ts +4 -0
  87. package/build/runtime/coerce.js +31 -0
  88. package/build/runtime/config.d.ts +20 -0
  89. package/build/runtime/config.js +88 -0
  90. package/build/runtime/{lib/constants.d.ts → constants.d.ts} +1 -1
  91. package/build/runtime/{client/documentStore.d.ts → documentStore.d.ts} +18 -11
  92. package/build/{runtime-esm/client → runtime}/documentStore.js +53 -56
  93. package/build/runtime/endpoint.d.ts +14 -0
  94. package/build/runtime/endpoint.js +29 -0
  95. package/build/{runtime-cjs/lib → runtime}/flatten.d.ts +1 -1
  96. package/build/runtime/formData.d.ts +24 -0
  97. package/build/runtime/formData.js +93 -0
  98. package/build/runtime/index.d.ts +16 -8
  99. package/build/runtime/index.js +54 -0
  100. package/build/{runtime-cjs/lib → runtime}/key.d.ts +1 -1
  101. package/build/{runtime-esm/lib → runtime}/key.js +4 -4
  102. package/build/{runtime-esm/lib → runtime}/log.js +3 -3
  103. package/build/runtime/multipart.d.ts +8 -0
  104. package/build/runtime/multipart.js +49 -0
  105. package/build/{runtime-cjs/lib → runtime}/pageInfo.d.ts +3 -3
  106. package/build/{runtime-esm/lib → runtime}/pageInfo.js +2 -2
  107. package/build/{runtime-cjs/lib → runtime}/pagination.d.ts +12 -8
  108. package/build/{runtime-esm/lib → runtime}/pagination.js +157 -21
  109. package/build/{runtime-cjs/lib → runtime}/scalars.d.ts +6 -6
  110. package/build/{runtime-esm/lib → runtime}/scalars.js +10 -43
  111. package/build/{runtime-cjs/lib → runtime}/selection.d.ts +1 -1
  112. package/build/{runtime-esm/lib → runtime}/selection.js +17 -2
  113. package/build/runtime/{lib/store.d.ts → store.d.ts} +1 -1
  114. package/build/{runtime-esm/lib → runtime}/store.js +2 -3
  115. package/build/runtime/{lib/types.d.ts → types.d.ts} +107 -102
  116. package/build/{runtime-esm/lib → runtime}/types.js +37 -15
  117. package/build/test/index.d.ts +6 -25
  118. package/build/test/index.js +329 -0
  119. package/build/test/package.json +1 -0
  120. package/build/vite/hmr.d.ts +26 -3
  121. package/build/vite/hmr.js +433 -0
  122. package/build/vite/houdini.d.ts +4 -10
  123. package/build/vite/houdini.js +144 -0
  124. package/build/vite/index.d.ts +13 -7
  125. package/build/vite/index.js +106 -0
  126. package/build/vite/package.json +1 -0
  127. package/build/vite/schema.d.ts +5 -3
  128. package/build/vite/schema.js +193 -0
  129. package/package.json +148 -57
  130. package/build/adapter-cjs/index.js +0 -33
  131. package/build/adapter-cjs/package.json +0 -1
  132. package/build/adapter-esm/index.js +0 -9
  133. package/build/cmd-cjs/index.js +0 -89299
  134. package/build/cmd-cjs/package.json +0 -1
  135. package/build/cmd-esm/index.js +0 -89303
  136. package/build/codegen/generators/artifacts/fieldKey.d.ts +0 -3
  137. package/build/codegen/generators/artifacts/index.d.ts +0 -17
  138. package/build/codegen/generators/artifacts/indexFile.d.ts +0 -2
  139. package/build/codegen/generators/artifacts/inputs.d.ts +0 -4
  140. package/build/codegen/generators/artifacts/operations.d.ts +0 -11
  141. package/build/codegen/generators/artifacts/selection.d.ts +0 -20
  142. package/build/codegen/generators/artifacts/utils.d.ts +0 -8
  143. package/build/codegen/generators/comments/jsdoc.d.ts +0 -2
  144. package/build/codegen/generators/definitions/enums.d.ts +0 -2
  145. package/build/codegen/generators/definitions/index.d.ts +0 -2
  146. package/build/codegen/generators/index.d.ts +0 -6
  147. package/build/codegen/generators/indexFile/index.d.ts +0 -2
  148. package/build/codegen/generators/persistedQueries/index.d.ts +0 -2
  149. package/build/codegen/generators/runtime/graphqlFunction.d.ts +0 -2
  150. package/build/codegen/generators/runtime/index.d.ts +0 -3
  151. package/build/codegen/generators/runtime/injectPlugins.d.ts +0 -7
  152. package/build/codegen/generators/runtime/pluginIndex.d.ts +0 -5
  153. package/build/codegen/generators/runtime/pluginRuntime.d.ts +0 -15
  154. package/build/codegen/generators/runtime/runtimeConfig.d.ts +0 -7
  155. package/build/codegen/generators/typescript/addReferencedInputTypes.d.ts +0 -4
  156. package/build/codegen/generators/typescript/documentTypes.d.ts +0 -2
  157. package/build/codegen/generators/typescript/imperativeTypeDef.d.ts +0 -2
  158. package/build/codegen/generators/typescript/index.d.ts +0 -2
  159. package/build/codegen/generators/typescript/inlineType.d.ts +0 -29
  160. package/build/codegen/generators/typescript/loadingState.d.ts +0 -8
  161. package/build/codegen/index.d.ts +0 -8
  162. package/build/codegen/transforms/addFields.d.ts +0 -2
  163. package/build/codegen/transforms/collectDefinitions.d.ts +0 -9
  164. package/build/codegen/transforms/componentFields.d.ts +0 -8
  165. package/build/codegen/transforms/fragmentVariables.d.ts +0 -17
  166. package/build/codegen/transforms/index.d.ts +0 -9
  167. package/build/codegen/transforms/list.d.ts +0 -9
  168. package/build/codegen/transforms/paginate.d.ts +0 -4
  169. package/build/codegen/transforms/runtimeScalars.d.ts +0 -2
  170. package/build/codegen/transforms/schema.d.ts +0 -2
  171. package/build/codegen/transforms/typename.d.ts +0 -2
  172. package/build/codegen/utils/commonjs.d.ts +0 -5
  173. package/build/codegen/utils/flattenSelections.d.ts +0 -11
  174. package/build/codegen/utils/index.d.ts +0 -4
  175. package/build/codegen/utils/moduleExport.d.ts +0 -4
  176. package/build/codegen/utils/murmur.d.ts +0 -9
  177. package/build/codegen/utils/objectIdentificationSelection.d.ts +0 -3
  178. package/build/codegen/utils/stripLoc.d.ts +0 -3
  179. package/build/codegen/validators/componentFields.d.ts +0 -2
  180. package/build/codegen/validators/index.d.ts +0 -5
  181. package/build/codegen/validators/noIDAlias.d.ts +0 -2
  182. package/build/codegen/validators/plugins.d.ts +0 -3
  183. package/build/codegen/validators/typeCheck.d.ts +0 -5
  184. package/build/codegen/validators/uniqueNames.d.ts +0 -2
  185. package/build/codegen-cjs/index.js +0 -74656
  186. package/build/codegen-cjs/package.json +0 -1
  187. package/build/codegen-esm/index.js +0 -74655
  188. package/build/lib/cleanupFiles.d.ts +0 -1
  189. package/build/lib/detectTools.d.ts +0 -16
  190. package/build/lib/introspection.d.ts +0 -3
  191. package/build/lib/plugin.d.ts +0 -2
  192. package/build/lib/router/index.d.ts +0 -9
  193. package/build/lib/router/server.d.ts +0 -7
  194. package/build/lib/router/types.d.ts +0 -23
  195. package/build/lib/typescript.d.ts +0 -20
  196. package/build/lib/watchAndRun.d.ts +0 -61
  197. package/build/lib-cjs/index.js +0 -79739
  198. package/build/lib-cjs/package.json +0 -1
  199. package/build/lib-esm/index.js +0 -79648
  200. package/build/runtime/cache/cache.d.ts +0 -169
  201. package/build/runtime/client/plugins/cache.d.ts +0 -9
  202. package/build/runtime/client/plugins/fetch.d.ts +0 -38
  203. package/build/runtime/client/plugins/fetchParams.d.ts +0 -9
  204. package/build/runtime/client/plugins/fragment.d.ts +0 -2
  205. package/build/runtime/client/plugins/index.d.ts +0 -9
  206. package/build/runtime/client/plugins/injectedPlugins.d.ts +0 -4
  207. package/build/runtime/client/plugins/mutation.d.ts +0 -2
  208. package/build/runtime/client/plugins/optimisticKeys.d.ts +0 -7
  209. package/build/runtime/client/plugins/query.d.ts +0 -2
  210. package/build/runtime/client/plugins/subscription.d.ts +0 -20
  211. package/build/runtime/client/plugins/test.d.ts +0 -15
  212. package/build/runtime/client/plugins/throwOnError.d.ts +0 -8
  213. package/build/runtime/client/utils/documentPlugins.d.ts +0 -3
  214. package/build/runtime/client/utils/index.d.ts +0 -1
  215. package/build/runtime/generated.d.ts +0 -5
  216. package/build/runtime/imports/config.d.ts +0 -3
  217. package/build/runtime/imports/pluginConfig.d.ts +0 -3
  218. package/build/runtime/lib/config.d.ts +0 -216
  219. package/build/runtime/lib/deepEquals.d.ts +0 -1
  220. package/build/runtime/lib/flatten.d.ts +0 -2
  221. package/build/runtime/lib/index.d.ts +0 -10
  222. package/build/runtime/lib/key.d.ts +0 -6
  223. package/build/runtime/lib/log.d.ts +0 -6
  224. package/build/runtime/lib/lru.d.ts +0 -52
  225. package/build/runtime/lib/pageInfo.d.ts +0 -7
  226. package/build/runtime/lib/pagination.d.ts +0 -27
  227. package/build/runtime/lib/scalars.d.ts +0 -14
  228. package/build/runtime/lib/selection.d.ts +0 -2
  229. package/build/runtime/public/cache.d.ts +0 -42
  230. package/build/runtime/public/index.d.ts +0 -1
  231. package/build/runtime/public/list.d.ts +0 -18
  232. package/build/runtime/public/record.d.ts +0 -40
  233. package/build/runtime/public/tests/test.d.ts +0 -156
  234. package/build/runtime/public/types.d.ts +0 -62
  235. package/build/runtime/router/cookies.d.ts +0 -41
  236. package/build/runtime/router/jwt.d.ts +0 -117
  237. package/build/runtime/router/server.d.ts +0 -24
  238. package/build/runtime/router/types.d.ts +0 -26
  239. package/build/runtime/server/index.d.ts +0 -17
  240. package/build/runtime-cjs/cache/cache.d.ts +0 -169
  241. package/build/runtime-cjs/cache/cache.js +0 -1077
  242. package/build/runtime-cjs/cache/constants.d.ts +0 -1
  243. package/build/runtime-cjs/cache/constants.js +0 -28
  244. package/build/runtime-cjs/cache/gc.d.ts +0 -10
  245. package/build/runtime-cjs/cache/gc.js +0 -74
  246. package/build/runtime-cjs/cache/index.d.ts +0 -3
  247. package/build/runtime-cjs/cache/index.js +0 -25
  248. package/build/runtime-cjs/cache/lists.d.ts +0 -89
  249. package/build/runtime-cjs/cache/lists.js +0 -467
  250. package/build/runtime-cjs/cache/staleManager.d.ts +0 -31
  251. package/build/runtime-cjs/cache/staleManager.js +0 -123
  252. package/build/runtime-cjs/cache/storage.d.ts +0 -110
  253. package/build/runtime-cjs/cache/storage.js +0 -451
  254. package/build/runtime-cjs/cache/stuff.d.ts +0 -2
  255. package/build/runtime-cjs/cache/stuff.js +0 -56
  256. package/build/runtime-cjs/cache/subscription.d.ts +0 -52
  257. package/build/runtime-cjs/cache/subscription.js +0 -349
  258. package/build/runtime-cjs/client/documentStore.d.ts +0 -107
  259. package/build/runtime-cjs/client/documentStore.js +0 -487
  260. package/build/runtime-cjs/client/index.d.ts +0 -50
  261. package/build/runtime-cjs/client/index.js +0 -162
  262. package/build/runtime-cjs/client/plugins/cache.d.ts +0 -9
  263. package/build/runtime-cjs/client/plugins/cache.js +0 -138
  264. package/build/runtime-cjs/client/plugins/fetch.d.ts +0 -38
  265. package/build/runtime-cjs/client/plugins/fetch.js +0 -210
  266. package/build/runtime-cjs/client/plugins/fetchParams.d.ts +0 -9
  267. package/build/runtime-cjs/client/plugins/fetchParams.js +0 -47
  268. package/build/runtime-cjs/client/plugins/fragment.d.ts +0 -2
  269. package/build/runtime-cjs/client/plugins/fragment.js +0 -77
  270. package/build/runtime-cjs/client/plugins/index.d.ts +0 -9
  271. package/build/runtime-cjs/client/plugins/index.js +0 -45
  272. package/build/runtime-cjs/client/plugins/injectedPlugins.d.ts +0 -4
  273. package/build/runtime-cjs/client/plugins/injectedPlugins.js +0 -25
  274. package/build/runtime-cjs/client/plugins/mutation.d.ts +0 -2
  275. package/build/runtime-cjs/client/plugins/mutation.js +0 -89
  276. package/build/runtime-cjs/client/plugins/optimisticKeys.d.ts +0 -7
  277. package/build/runtime-cjs/client/plugins/optimisticKeys.js +0 -324
  278. package/build/runtime-cjs/client/plugins/query.d.ts +0 -2
  279. package/build/runtime-cjs/client/plugins/query.js +0 -93
  280. package/build/runtime-cjs/client/plugins/subscription.d.ts +0 -20
  281. package/build/runtime-cjs/client/plugins/subscription.js +0 -114
  282. package/build/runtime-cjs/client/plugins/test.d.ts +0 -15
  283. package/build/runtime-cjs/client/plugins/test.js +0 -118
  284. package/build/runtime-cjs/client/plugins/throwOnError.d.ts +0 -8
  285. package/build/runtime-cjs/client/plugins/throwOnError.js +0 -47
  286. package/build/runtime-cjs/client/utils/documentPlugins.d.ts +0 -3
  287. package/build/runtime-cjs/client/utils/documentPlugins.js +0 -57
  288. package/build/runtime-cjs/client/utils/index.d.ts +0 -1
  289. package/build/runtime-cjs/client/utils/index.js +0 -22
  290. package/build/runtime-cjs/generated.d.ts +0 -5
  291. package/build/runtime-cjs/generated.js +0 -16
  292. package/build/runtime-cjs/imports/config.d.ts +0 -3
  293. package/build/runtime-cjs/imports/config.js +0 -24
  294. package/build/runtime-cjs/imports/pluginConfig.d.ts +0 -3
  295. package/build/runtime-cjs/imports/pluginConfig.js +0 -25
  296. package/build/runtime-cjs/index.d.ts +0 -8
  297. package/build/runtime-cjs/index.js +0 -61
  298. package/build/runtime-cjs/lib/config.d.ts +0 -216
  299. package/build/runtime-cjs/lib/config.js +0 -110
  300. package/build/runtime-cjs/lib/constants.d.ts +0 -6
  301. package/build/runtime-cjs/lib/constants.js +0 -38
  302. package/build/runtime-cjs/lib/deepEquals.js +0 -52
  303. package/build/runtime-cjs/lib/flatten.js +0 -41
  304. package/build/runtime-cjs/lib/index.d.ts +0 -10
  305. package/build/runtime-cjs/lib/index.js +0 -40
  306. package/build/runtime-cjs/lib/key.js +0 -41
  307. package/build/runtime-cjs/lib/log.js +0 -72
  308. package/build/runtime-cjs/lib/lru.js +0 -73
  309. package/build/runtime-cjs/lib/pageInfo.js +0 -79
  310. package/build/runtime-cjs/lib/pagination.js +0 -240
  311. package/build/runtime-cjs/lib/scalars.js +0 -147
  312. package/build/runtime-cjs/lib/selection.js +0 -66
  313. package/build/runtime-cjs/lib/store.d.ts +0 -19
  314. package/build/runtime-cjs/lib/store.js +0 -81
  315. package/build/runtime-cjs/lib/types.d.ts +0 -417
  316. package/build/runtime-cjs/lib/types.js +0 -104
  317. package/build/runtime-cjs/package.json +0 -1
  318. package/build/runtime-cjs/public/cache.d.ts +0 -42
  319. package/build/runtime-cjs/public/cache.js +0 -98
  320. package/build/runtime-cjs/public/index.d.ts +0 -1
  321. package/build/runtime-cjs/public/index.js +0 -28
  322. package/build/runtime-cjs/public/list.d.ts +0 -18
  323. package/build/runtime-cjs/public/list.js +0 -151
  324. package/build/runtime-cjs/public/record.d.ts +0 -40
  325. package/build/runtime-cjs/public/record.js +0 -94
  326. package/build/runtime-cjs/public/tests/test.d.ts +0 -156
  327. package/build/runtime-cjs/public/tests/test.js +0 -60
  328. package/build/runtime-cjs/public/types.d.ts +0 -62
  329. package/build/runtime-cjs/public/types.js +0 -16
  330. package/build/runtime-cjs/router/cookies.js +0 -168
  331. package/build/runtime-cjs/router/jwt.js +0 -168
  332. package/build/runtime-cjs/router/match.d.ts +0 -39
  333. package/build/runtime-cjs/router/match.js +0 -158
  334. package/build/runtime-cjs/router/server.d.ts +0 -24
  335. package/build/runtime-cjs/router/server.js +0 -117
  336. package/build/runtime-cjs/router/session.d.ts +0 -22
  337. package/build/runtime-cjs/router/session.js +0 -100
  338. package/build/runtime-cjs/router/types.d.ts +0 -26
  339. package/build/runtime-cjs/router/types.js +0 -16
  340. package/build/runtime-cjs/server/index.d.ts +0 -17
  341. package/build/runtime-cjs/server/index.js +0 -62
  342. package/build/runtime-esm/cache/cache.d.ts +0 -169
  343. package/build/runtime-esm/cache/constants.d.ts +0 -1
  344. package/build/runtime-esm/cache/gc.d.ts +0 -10
  345. package/build/runtime-esm/cache/index.d.ts +0 -3
  346. package/build/runtime-esm/cache/index.js +0 -5
  347. package/build/runtime-esm/cache/lists.d.ts +0 -89
  348. package/build/runtime-esm/cache/staleManager.d.ts +0 -31
  349. package/build/runtime-esm/cache/storage.d.ts +0 -110
  350. package/build/runtime-esm/cache/stuff.d.ts +0 -2
  351. package/build/runtime-esm/cache/subscription.d.ts +0 -52
  352. package/build/runtime-esm/client/documentStore.d.ts +0 -107
  353. package/build/runtime-esm/client/index.d.ts +0 -50
  354. package/build/runtime-esm/client/index.js +0 -130
  355. package/build/runtime-esm/client/plugins/cache.d.ts +0 -9
  356. package/build/runtime-esm/client/plugins/cache.js +0 -104
  357. package/build/runtime-esm/client/plugins/fetch.d.ts +0 -38
  358. package/build/runtime-esm/client/plugins/fetch.js +0 -184
  359. package/build/runtime-esm/client/plugins/fetchParams.d.ts +0 -9
  360. package/build/runtime-esm/client/plugins/fetchParams.js +0 -23
  361. package/build/runtime-esm/client/plugins/fragment.d.ts +0 -2
  362. package/build/runtime-esm/client/plugins/fragment.js +0 -53
  363. package/build/runtime-esm/client/plugins/index.d.ts +0 -9
  364. package/build/runtime-esm/client/plugins/index.js +0 -12
  365. package/build/runtime-esm/client/plugins/injectedPlugins.d.ts +0 -4
  366. package/build/runtime-esm/client/plugins/injectedPlugins.js +0 -5
  367. package/build/runtime-esm/client/plugins/mutation.d.ts +0 -2
  368. package/build/runtime-esm/client/plugins/mutation.js +0 -65
  369. package/build/runtime-esm/client/plugins/optimisticKeys.d.ts +0 -7
  370. package/build/runtime-esm/client/plugins/optimisticKeys.js +0 -290
  371. package/build/runtime-esm/client/plugins/query.d.ts +0 -2
  372. package/build/runtime-esm/client/plugins/query.js +0 -69
  373. package/build/runtime-esm/client/plugins/subscription.d.ts +0 -20
  374. package/build/runtime-esm/client/plugins/subscription.js +0 -90
  375. package/build/runtime-esm/client/plugins/test.d.ts +0 -15
  376. package/build/runtime-esm/client/plugins/test.js +0 -93
  377. package/build/runtime-esm/client/plugins/throwOnError.d.ts +0 -8
  378. package/build/runtime-esm/client/plugins/throwOnError.js +0 -23
  379. package/build/runtime-esm/client/utils/documentPlugins.d.ts +0 -3
  380. package/build/runtime-esm/client/utils/documentPlugins.js +0 -33
  381. package/build/runtime-esm/client/utils/index.d.ts +0 -1
  382. package/build/runtime-esm/client/utils/index.js +0 -1
  383. package/build/runtime-esm/generated.d.ts +0 -5
  384. package/build/runtime-esm/generated.js +0 -0
  385. package/build/runtime-esm/imports/config.d.ts +0 -3
  386. package/build/runtime-esm/imports/config.js +0 -4
  387. package/build/runtime-esm/imports/pluginConfig.d.ts +0 -3
  388. package/build/runtime-esm/imports/pluginConfig.js +0 -5
  389. package/build/runtime-esm/index.d.ts +0 -8
  390. package/build/runtime-esm/index.js +0 -22
  391. package/build/runtime-esm/lib/config.d.ts +0 -216
  392. package/build/runtime-esm/lib/config.js +0 -69
  393. package/build/runtime-esm/lib/constants.d.ts +0 -6
  394. package/build/runtime-esm/lib/deepEquals.d.ts +0 -1
  395. package/build/runtime-esm/lib/flatten.d.ts +0 -2
  396. package/build/runtime-esm/lib/index.d.ts +0 -10
  397. package/build/runtime-esm/lib/index.js +0 -10
  398. package/build/runtime-esm/lib/key.d.ts +0 -6
  399. package/build/runtime-esm/lib/log.d.ts +0 -6
  400. package/build/runtime-esm/lib/lru.d.ts +0 -52
  401. package/build/runtime-esm/lib/pageInfo.d.ts +0 -7
  402. package/build/runtime-esm/lib/pagination.d.ts +0 -27
  403. package/build/runtime-esm/lib/scalars.d.ts +0 -14
  404. package/build/runtime-esm/lib/selection.d.ts +0 -2
  405. package/build/runtime-esm/lib/store.d.ts +0 -19
  406. package/build/runtime-esm/lib/types.d.ts +0 -417
  407. package/build/runtime-esm/public/cache.d.ts +0 -42
  408. package/build/runtime-esm/public/cache.js +0 -74
  409. package/build/runtime-esm/public/index.d.ts +0 -1
  410. package/build/runtime-esm/public/index.js +0 -4
  411. package/build/runtime-esm/public/list.d.ts +0 -18
  412. package/build/runtime-esm/public/list.js +0 -127
  413. package/build/runtime-esm/public/record.d.ts +0 -40
  414. package/build/runtime-esm/public/record.js +0 -70
  415. package/build/runtime-esm/public/tests/test.d.ts +0 -156
  416. package/build/runtime-esm/public/tests/test.js +0 -36
  417. package/build/runtime-esm/public/types.d.ts +0 -62
  418. package/build/runtime-esm/router/cookies.d.ts +0 -41
  419. package/build/runtime-esm/router/jwt.d.ts +0 -117
  420. package/build/runtime-esm/router/match.d.ts +0 -39
  421. package/build/runtime-esm/router/match.js +0 -131
  422. package/build/runtime-esm/router/server.d.ts +0 -24
  423. package/build/runtime-esm/router/server.js +0 -92
  424. package/build/runtime-esm/router/session.d.ts +0 -22
  425. package/build/runtime-esm/router/session.js +0 -74
  426. package/build/runtime-esm/router/types.d.ts +0 -26
  427. package/build/runtime-esm/router/types.js +0 -0
  428. package/build/runtime-esm/server/index.d.ts +0 -17
  429. package/build/runtime-esm/server/index.js +0 -38
  430. package/build/test-cjs/index.js +0 -75249
  431. package/build/test-cjs/package.json +0 -1
  432. package/build/test-esm/index.js +0 -75244
  433. package/build/vite/imports.d.ts +0 -40
  434. package/build/vite-cjs/index.js +0 -86272
  435. package/build/vite-cjs/package.json +0 -1
  436. package/build/vite-esm/index.js +0 -86264
  437. /package/build/{adapter-esm → adapter}/package.json +0 -0
  438. /package/build/{cmd-esm → cmd}/package.json +0 -0
  439. /package/build/{vite → lib}/ast.d.ts +0 -0
  440. /package/build/{codegen-esm → lib}/package.json +0 -0
  441. /package/build/{lib-esm → node}/package.json +0 -0
  442. /package/build/{runtime-esm → oauth}/package.json +0 -0
  443. /package/build/{runtime-cjs/router → router}/cookies.d.ts +0 -0
  444. /package/build/{runtime-cjs/router → router}/jwt.d.ts +0 -0
  445. /package/build/{test-esm → router}/package.json +0 -0
  446. /package/build/{runtime-esm/public → router}/types.js +0 -0
  447. /package/build/{runtime-esm → runtime}/cache/constants.js +0 -0
  448. /package/build/{runtime-esm/lib → runtime}/constants.js +0 -0
  449. /package/build/{runtime-cjs/lib → runtime}/deepEquals.d.ts +0 -0
  450. /package/build/{runtime-esm/lib → runtime}/deepEquals.js +0 -0
  451. /package/build/{runtime-esm/lib → runtime}/flatten.js +0 -0
  452. /package/build/{runtime-cjs/lib → runtime}/log.d.ts +0 -0
  453. /package/build/{runtime-cjs/lib → runtime}/lru.d.ts +0 -0
  454. /package/build/{runtime-esm/lib → runtime}/lru.js +0 -0
  455. /package/build/{vite-esm → runtime}/package.json +0 -0
@@ -1 +0,0 @@
1
- export declare const rootID = "_ROOT_";
@@ -1,28 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var constants_exports = {};
20
- __export(constants_exports, {
21
- rootID: () => rootID
22
- });
23
- module.exports = __toCommonJS(constants_exports);
24
- const rootID = "_ROOT_";
25
- // Annotate the CommonJS export names for ESM import in node:
26
- 0 && (module.exports = {
27
- rootID
28
- });
@@ -1,10 +0,0 @@
1
- import type { Cache } from './cache';
2
- export declare class GarbageCollector {
3
- cache: Cache;
4
- private lifetimes;
5
- get cacheBufferSize(): number;
6
- constructor(cache: Cache);
7
- reset(): void;
8
- resetLifetime(id: string, field: string): void;
9
- tick(): void;
10
- }
@@ -1,74 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var gc_exports = {};
20
- __export(gc_exports, {
21
- GarbageCollector: () => GarbageCollector
22
- });
23
- module.exports = __toCommonJS(gc_exports);
24
- class GarbageCollector {
25
- cache;
26
- lifetimes = /* @__PURE__ */ new Map();
27
- // the number of ticks of the garbage collector that a piece of data will
28
- get cacheBufferSize() {
29
- return this.cache._internal_unstable.config.cacheBufferSize ?? 10;
30
- }
31
- constructor(cache) {
32
- this.cache = cache;
33
- }
34
- reset() {
35
- this.lifetimes.clear();
36
- }
37
- resetLifetime(id, field) {
38
- if (!this.lifetimes.get(id)) {
39
- this.lifetimes.set(id, /* @__PURE__ */ new Map());
40
- }
41
- this.lifetimes.get(id).set(field, 0);
42
- }
43
- tick() {
44
- const dt_tick = Date.now().valueOf();
45
- const config_max_time = this.cache._internal_unstable.config.defaultLifetime;
46
- for (const [id, fieldMap] of this.lifetimes.entries()) {
47
- for (const [field, lifetime] of fieldMap.entries()) {
48
- if (this.cache._internal_unstable.subscriptions.get(id, field).length > 0) {
49
- continue;
50
- }
51
- fieldMap.set(field, lifetime + 1);
52
- if (fieldMap.get(field) > this.cacheBufferSize) {
53
- this.cache._internal_unstable.storage.deleteField(id, field);
54
- this.cache._internal_unstable.lists.deleteField(id, field);
55
- fieldMap.delete(field);
56
- if ([...fieldMap.keys()].length === 0) {
57
- this.lifetimes.delete(id);
58
- }
59
- this.cache._internal_unstable.staleManager.delete(id, field);
60
- }
61
- if (config_max_time && config_max_time > 0) {
62
- const dt_valueOf = this.cache.getFieldTime(id, field);
63
- if (dt_valueOf && dt_tick - dt_valueOf > config_max_time) {
64
- this.cache._internal_unstable.staleManager.markFieldStale(id, field);
65
- }
66
- }
67
- }
68
- }
69
- }
70
- }
71
- // Annotate the CommonJS export names for ESM import in node:
72
- 0 && (module.exports = {
73
- GarbageCollector
74
- });
@@ -1,3 +0,0 @@
1
- import { Cache } from './cache';
2
- declare const _default: Cache;
3
- export default _default;
@@ -1,25 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var cache_exports = {};
20
- __export(cache_exports, {
21
- default: () => cache_default
22
- });
23
- module.exports = __toCommonJS(cache_exports);
24
- var import_cache = require("./cache");
25
- var cache_default = new import_cache.Cache();
@@ -1,89 +0,0 @@
1
- import type { SubscriptionSelection, ListWhen, SubscriptionSpec } from '../lib/types';
2
- import type { Cache } from './cache';
3
- import type { Layer } from './storage';
4
- export declare class ListManager {
5
- rootID: string;
6
- cache: Cache;
7
- constructor(cache: Cache, rootID: string);
8
- lists: Map<string, Map<string, ListCollection>>;
9
- private listsByField;
10
- get(listName: string, id?: string, allLists?: boolean, skipMatches?: Set<string>): ListCollection | null;
11
- getLists(listName: string, id?: string, allLists?: boolean): ListCollection | null | undefined;
12
- remove(listName: string, id: string): void;
13
- add(list: {
14
- name: string;
15
- connection: boolean;
16
- recordID: SubscriptionSpec['parentID'];
17
- recordType?: string;
18
- key: string;
19
- listType: string;
20
- selection: SubscriptionSelection;
21
- when?: ListWhen;
22
- filters?: List['filters'];
23
- abstract?: boolean;
24
- }): void;
25
- removeIDFromAllLists(id: string, layer?: Layer): boolean;
26
- deleteField(parentID: string, field: string): void;
27
- reset(): void;
28
- }
29
- export declare class List {
30
- readonly recordID: string;
31
- readonly recordType?: string;
32
- readonly key: string;
33
- readonly type: string;
34
- private cache;
35
- readonly selection: SubscriptionSelection;
36
- private _when?;
37
- private filters?;
38
- readonly name: string;
39
- private connection;
40
- private manager;
41
- private abstract?;
42
- constructor({ name, recordID, recordType, key, listType, selection, when, filters, connection, manager, abstract, }: Parameters<ListManager['add']>[0] & {
43
- manager: ListManager;
44
- });
45
- get fieldRef(): string;
46
- when(when?: ListWhen): ListCollection;
47
- append({ selection, data, variables, layer, }: {
48
- selection: SubscriptionSelection;
49
- data: {};
50
- variables?: {};
51
- layer?: Layer;
52
- }): void;
53
- prepend({ selection, data, variables, layer, }: {
54
- selection: SubscriptionSelection;
55
- data: {};
56
- variables?: {};
57
- layer?: Layer;
58
- }): void;
59
- addToList(selection: SubscriptionSelection, data: {}, variables: {} | undefined, where: 'first' | 'last', layer?: Layer): void;
60
- removeID(id: string, variables?: {}, layer?: Layer): true | undefined;
61
- remove(data: {}, variables?: {}, layer?: Layer): true | undefined;
62
- listType(data: {
63
- __typename?: string;
64
- }): string;
65
- validateWhen(when?: ListWhen): boolean;
66
- toggleElement({ selection, data, variables, layer, where, }: {
67
- selection: SubscriptionSelection;
68
- data: {};
69
- variables?: {};
70
- layer?: Layer;
71
- where: 'first' | 'last';
72
- }): void;
73
- [Symbol.iterator](): Generator<string, void, unknown>;
74
- }
75
- export declare class ListCollection {
76
- lists: List[];
77
- constructor(lists: List[]);
78
- get selection(): SubscriptionSelection;
79
- append(...args: Parameters<List['append']>): void;
80
- prepend(...args: Parameters<List['prepend']>): void;
81
- addToList(...args: Parameters<List['addToList']>): void;
82
- removeID(...args: Parameters<List['removeID']>): boolean;
83
- remove(...args: Parameters<List['remove']>): void;
84
- toggleElement(...args: Parameters<List['toggleElement']>): void;
85
- when(when?: ListWhen): ListCollection;
86
- includes(key: string): boolean;
87
- deleteListWithKey(key: string): List[];
88
- [Symbol.iterator](): Generator<string, void, unknown>;
89
- }
@@ -1,467 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var lists_exports = {};
20
- __export(lists_exports, {
21
- List: () => List,
22
- ListCollection: () => ListCollection,
23
- ListManager: () => ListManager
24
- });
25
- module.exports = __toCommonJS(lists_exports);
26
- var import_flatten = require("../lib/flatten");
27
- var import_stuff = require("./stuff");
28
- class ListManager {
29
- rootID;
30
- cache;
31
- constructor(cache, rootID2) {
32
- this.rootID = rootID2;
33
- this.cache = cache;
34
- }
35
- // associate list names with the handler that wraps the list
36
- lists = /* @__PURE__ */ new Map();
37
- listsByField = /* @__PURE__ */ new Map();
38
- get(listName, id, allLists, skipMatches) {
39
- const lists = this.getLists(listName, id, allLists);
40
- if (!lists) {
41
- return null;
42
- }
43
- if (skipMatches) {
44
- return new ListCollection(lists.lists.filter((list) => !skipMatches.has(list.fieldRef)));
45
- } else {
46
- return lists;
47
- }
48
- }
49
- getLists(listName, id, allLists) {
50
- const matches = this.lists.get(listName);
51
- if (!matches || matches.size === 0) {
52
- return null;
53
- }
54
- if (allLists) {
55
- return new ListCollection(
56
- Array.from(matches, ([key, value]) => [...value.lists]).flat()
57
- );
58
- }
59
- const head = [...matches.values()][0];
60
- const { recordType } = head.lists[0];
61
- const parentID = id ? this.cache._internal_unstable.id(recordType || "", id) : this.rootID;
62
- if (matches?.size === 1) {
63
- if (!id) {
64
- return head;
65
- }
66
- return parentID === Array.from(matches.keys())[0] ? head : null;
67
- }
68
- if (!id) {
69
- console.error(
70
- `Found multiple instances of "${listName}". Please provide one of @parentID or @allLists directives to help identify which list you want modify. For more information, visit this guide: https://www.houdinigraphql.com/api/graphql#parentidvalue-string `
71
- );
72
- return null;
73
- }
74
- return this.lists.get(listName)?.get(parentID);
75
- }
76
- remove(listName, id) {
77
- this.lists.get(listName)?.delete(id || this.rootID);
78
- }
79
- add(list) {
80
- if (!this.lists.has(list.name)) {
81
- this.lists.set(list.name, /* @__PURE__ */ new Map());
82
- }
83
- const name = list.name;
84
- const parentID = list.recordID || this.rootID;
85
- if (this.lists.get(name)?.get(parentID)?.includes(list.key)) {
86
- return;
87
- }
88
- if (!this.lists.has(name)) {
89
- this.lists.set(name, /* @__PURE__ */ new Map());
90
- }
91
- if (!this.lists.get(name).has(parentID)) {
92
- this.lists.get(name).set(parentID, new ListCollection([]));
93
- }
94
- if (!this.listsByField.has(parentID)) {
95
- this.listsByField.set(parentID, /* @__PURE__ */ new Map());
96
- }
97
- if (!this.listsByField.get(parentID).has(list.key)) {
98
- this.listsByField.get(parentID)?.set(list.key, []);
99
- }
100
- const handler = new List({ ...list, manager: this });
101
- this.lists.get(list.name).get(parentID).lists.push(handler);
102
- this.listsByField.get(parentID).get(list.key).push(handler);
103
- }
104
- removeIDFromAllLists(id, layer) {
105
- let removed = false;
106
- for (const fieldMap of this.lists.values()) {
107
- for (const list of fieldMap.values()) {
108
- if (list.removeID(id, void 0, layer)) {
109
- removed = true;
110
- }
111
- }
112
- }
113
- return removed;
114
- }
115
- deleteField(parentID, field) {
116
- if (!this.listsByField.get(parentID)?.has(field)) {
117
- return;
118
- }
119
- for (const list of this.listsByField.get(parentID).get(field)) {
120
- this.lists.get(list.name)?.get(list.recordID)?.deleteListWithKey(field);
121
- if (this.lists.get(list.name)?.get(list.recordID)?.lists.length === 0) {
122
- this.lists.get(list.name)?.delete(list.recordID);
123
- }
124
- }
125
- this.listsByField.get(parentID).delete(field);
126
- }
127
- reset() {
128
- this.lists.clear();
129
- this.listsByField.clear();
130
- }
131
- }
132
- class List {
133
- recordID;
134
- recordType;
135
- key;
136
- type;
137
- cache;
138
- selection;
139
- _when;
140
- filters;
141
- name;
142
- connection;
143
- manager;
144
- abstract;
145
- constructor({
146
- name,
147
- recordID,
148
- recordType,
149
- key,
150
- listType,
151
- selection,
152
- when,
153
- filters,
154
- connection,
155
- manager,
156
- abstract
157
- }) {
158
- this.recordID = recordID || import_stuff.rootID;
159
- this.recordType = recordType;
160
- this.key = key;
161
- this.type = listType;
162
- this.cache = manager.cache;
163
- this.selection = selection;
164
- this._when = when;
165
- this.filters = filters;
166
- this.name = name;
167
- this.connection = connection;
168
- this.manager = manager;
169
- this.abstract = abstract;
170
- }
171
- get fieldRef() {
172
- return `${this.recordID}.${this.key}`;
173
- }
174
- // looks for the collection of all of the lists in the cache that satisfies a when
175
- // condition
176
- when(when) {
177
- return this.manager.lists.get(this.name).get(this.recordID).when(when);
178
- }
179
- append({
180
- selection,
181
- data,
182
- variables = {},
183
- layer
184
- }) {
185
- return this.addToList(selection, data, variables, "last", layer);
186
- }
187
- prepend({
188
- selection,
189
- data,
190
- variables = {},
191
- layer
192
- }) {
193
- return this.addToList(selection, data, variables, "first", layer);
194
- }
195
- addToList(selection, data, variables = {}, where, layer) {
196
- const listType = this.listType(data);
197
- const dataID = this.cache._internal_unstable.id(listType, data);
198
- if (!this.validateWhen() || !dataID) {
199
- return;
200
- }
201
- let insertSelection = selection;
202
- let insertData = data;
203
- if (this.connection) {
204
- insertSelection = {
205
- fields: {
206
- newEntry: {
207
- keyRaw: this.key,
208
- type: "Connection",
209
- selection: {
210
- fields: {
211
- edges: {
212
- keyRaw: "edges",
213
- type: "ConnectionEdge",
214
- updates: ["append", "prepend"],
215
- selection: {
216
- fields: {
217
- __typename: {
218
- keyRaw: "__typename",
219
- type: "String"
220
- },
221
- node: {
222
- type: listType,
223
- keyRaw: "node",
224
- selection: {
225
- ...selection,
226
- fields: {
227
- ...selection.fields,
228
- __typename: {
229
- keyRaw: "__typename",
230
- type: "String"
231
- }
232
- }
233
- }
234
- }
235
- }
236
- }
237
- }
238
- }
239
- }
240
- }
241
- }
242
- };
243
- insertData = {
244
- newEntry: {
245
- edges: [
246
- {
247
- __typename: listType + "Edge",
248
- node: {
249
- ...data,
250
- __typename: listType
251
- }
252
- }
253
- ]
254
- }
255
- };
256
- } else {
257
- insertSelection = {
258
- fields: {
259
- newEntries: {
260
- keyRaw: this.key,
261
- type: listType,
262
- updates: ["append", "prepend"],
263
- selection: {
264
- ...selection,
265
- fields: {
266
- ...selection.fields,
267
- __typename: {
268
- keyRaw: "__typename",
269
- type: "String"
270
- }
271
- }
272
- }
273
- }
274
- }
275
- };
276
- insertData = {
277
- newEntries: [{ ...data, __typename: listType }]
278
- };
279
- }
280
- this.cache.write({
281
- selection: insertSelection,
282
- data: insertData,
283
- variables,
284
- parent: this.recordID,
285
- applyUpdates: [where === "first" ? "prepend" : "append"],
286
- layer: layer?.id
287
- });
288
- }
289
- removeID(id, variables = {}, layer) {
290
- if (!this.validateWhen()) {
291
- return;
292
- }
293
- let parentID = this.recordID;
294
- let targetID = id;
295
- let targetKey = this.key;
296
- if (this.connection) {
297
- const { value: embeddedConnection } = this.cache._internal_unstable.storage.get(
298
- this.recordID,
299
- this.key
300
- );
301
- if (!embeddedConnection) {
302
- return;
303
- }
304
- const embeddedConnectionID = embeddedConnection;
305
- const { value: edges } = this.cache._internal_unstable.storage.get(
306
- embeddedConnectionID,
307
- "edges"
308
- );
309
- for (const edge of (0, import_flatten.flatten)(edges) || []) {
310
- if (!edge) {
311
- continue;
312
- }
313
- const edgeID = edge;
314
- const { value: nodeID } = this.cache._internal_unstable.storage.get(edgeID, "node");
315
- if (!nodeID) {
316
- continue;
317
- }
318
- if (nodeID === id) {
319
- targetID = edgeID;
320
- }
321
- }
322
- parentID = embeddedConnectionID;
323
- targetKey = "edges";
324
- }
325
- let value = this.cache._internal_unstable.storage.get(parentID, targetKey).value;
326
- if (!value || !value.includes(targetID)) {
327
- return;
328
- }
329
- const subscribers = this.cache._internal_unstable.subscriptions.get(this.recordID, this.key);
330
- this.cache._internal_unstable.subscriptions.remove(
331
- targetID,
332
- // if we are unsubscribing from a connection, the fields we care about
333
- // are tucked away under edges
334
- this.connection ? this.selection.fields.edges.selection : this.selection,
335
- subscribers.map((sub) => sub[0]),
336
- variables
337
- );
338
- this.cache._internal_unstable.storage.remove(parentID, targetKey, targetID, layer);
339
- for (const [spec] of subscribers) {
340
- spec.set(
341
- this.cache._internal_unstable.getSelection({
342
- parent: spec.parentID || this.manager.rootID,
343
- selection: spec.selection,
344
- variables: spec.variables?.() || {},
345
- ignoreMasking: false
346
- }).data
347
- );
348
- }
349
- return true;
350
- }
351
- remove(data, variables = {}, layer) {
352
- const targetID = this.cache._internal_unstable.id(this.listType(data), data);
353
- if (!targetID) {
354
- return;
355
- }
356
- return this.removeID(targetID, variables, layer);
357
- }
358
- listType(data) {
359
- return data.__typename || this.type;
360
- }
361
- validateWhen(when) {
362
- let filters = when || this._when;
363
- let ok = true;
364
- if (filters) {
365
- const targets = this.filters;
366
- if (filters.must && targets) {
367
- ok = Object.entries(filters.must).reduce(
368
- (prev, [key, value]) => Boolean(prev && targets[key] == value),
369
- ok
370
- );
371
- }
372
- if (filters.must_not) {
373
- ok = !targets || Object.entries(filters.must_not).reduce(
374
- (prev, [key, value]) => Boolean(prev && targets[key] != value),
375
- ok
376
- );
377
- }
378
- }
379
- return ok;
380
- }
381
- toggleElement({
382
- selection,
383
- data,
384
- variables = {},
385
- layer,
386
- where
387
- }) {
388
- if (!this.remove(data, variables, layer)) {
389
- this.addToList(selection, data, variables, where, layer);
390
- }
391
- }
392
- // iterating over the list handler should be the same as iterating over
393
- // the underlying linked list
394
- *[Symbol.iterator]() {
395
- let entries = [];
396
- let value = this.cache._internal_unstable.storage.get(this.recordID, this.key).value;
397
- if (!this.connection) {
398
- entries = (0, import_flatten.flatten)(value);
399
- } else {
400
- entries = this.cache._internal_unstable.storage.get(value, "edges").value;
401
- }
402
- for (let record of entries) {
403
- yield record;
404
- }
405
- }
406
- }
407
- class ListCollection {
408
- lists = [];
409
- constructor(lists) {
410
- this.lists = lists;
411
- }
412
- get selection() {
413
- return this.lists[0].selection;
414
- }
415
- append(...args) {
416
- this.lists.forEach((list) => list.append(...args));
417
- }
418
- prepend(...args) {
419
- this.lists.forEach((list) => list.prepend(...args));
420
- }
421
- addToList(...args) {
422
- this.lists.forEach((list) => list.addToList(...args));
423
- }
424
- removeID(...args) {
425
- let removed = false;
426
- this.lists.forEach((list) => {
427
- if (list.removeID(...args)) {
428
- removed = true;
429
- }
430
- });
431
- return removed;
432
- }
433
- remove(...args) {
434
- this.lists.forEach((list) => list.remove(...args));
435
- }
436
- toggleElement(...args) {
437
- this.lists.forEach((list) => list.toggleElement(...args));
438
- }
439
- when(when) {
440
- return new ListCollection(
441
- this.lists.filter((list) => {
442
- return list.validateWhen(when);
443
- })
444
- );
445
- }
446
- includes(key) {
447
- return !!this.lists.find((list) => list.key === key);
448
- }
449
- deleteListWithKey(key) {
450
- return this.lists = this.lists.filter((list) => list.key !== key);
451
- }
452
- // iterating over the collection should be the same as iterating over
453
- // the underlying list
454
- *[Symbol.iterator]() {
455
- for (let list of this.lists) {
456
- for (const entry of list) {
457
- yield entry;
458
- }
459
- }
460
- }
461
- }
462
- // Annotate the CommonJS export names for ESM import in node:
463
- 0 && (module.exports = {
464
- List,
465
- ListCollection,
466
- ListManager
467
- });