houdini 1.0.0-next.1 → 1.0.0-next.3
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.
- package/build/cmd/generate.d.ts +0 -1
- package/build/cmd-cjs/index.js +1400 -2836
- package/build/cmd-esm/index.js +1400 -2836
- package/build/codegen/generators/artifacts/fieldKey.d.ts +1 -1
- package/build/codegen/generators/artifacts/index.d.ts +1 -1
- package/build/codegen/generators/artifacts/indexFile.d.ts +1 -1
- package/build/codegen/generators/artifacts/inputs.d.ts +2 -2
- package/build/codegen/generators/artifacts/operations.d.ts +2 -2
- package/build/codegen/generators/artifacts/selection.d.ts +1 -1
- package/build/codegen/generators/artifacts/utils.d.ts +1 -1
- package/build/codegen/generators/definitions/enums.d.ts +1 -1
- package/build/codegen/generators/definitions/index.d.ts +1 -1
- package/build/codegen/generators/indexFile/index.d.ts +1 -1
- package/build/codegen/generators/persistedQueries/index.d.ts +1 -1
- package/build/codegen/generators/runtime/graphqlFunction.d.ts +2 -0
- package/build/codegen/generators/runtime/index.d.ts +1 -1
- package/build/codegen/generators/runtime/injectPlugins.d.ts +7 -0
- package/build/codegen/generators/runtime/pluginIndex.d.ts +5 -0
- package/build/codegen/generators/typescript/addReferencedInputTypes.d.ts +1 -1
- package/build/codegen/generators/typescript/documentTypes.d.ts +2 -0
- package/build/codegen/generators/typescript/{imperativeCache.d.ts → imperativeTypeDef.d.ts} +1 -1
- package/build/codegen/generators/typescript/index.d.ts +1 -1
- package/build/codegen/generators/typescript/inlineType.d.ts +1 -1
- package/build/codegen/generators/typescript/typeReference.d.ts +1 -1
- package/build/codegen/generators/typescript/types.d.ts +1 -1
- package/build/codegen/index.d.ts +1 -1
- package/build/codegen/transforms/addID.d.ts +1 -1
- package/build/codegen/transforms/composeQueries.d.ts +2 -2
- package/build/codegen/transforms/fragmentVariables.d.ts +3 -2
- package/build/codegen/transforms/list.d.ts +1 -1
- package/build/codegen/transforms/paginate.d.ts +1 -1
- package/build/codegen/transforms/schema.d.ts +1 -1
- package/build/codegen/transforms/typename.d.ts +1 -1
- package/build/codegen/utils/commonjs.d.ts +2 -0
- package/build/codegen/utils/flattenSelections.d.ts +2 -2
- package/build/codegen/utils/moduleExport.d.ts +1 -1
- package/build/codegen/utils/objectIdentificationSelection.d.ts +1 -1
- package/build/codegen/validators/noIDAlias.d.ts +1 -1
- package/build/codegen/validators/typeCheck.d.ts +1 -1
- package/build/codegen-cjs/index.js +1320 -2779
- package/build/codegen-esm/index.js +1320 -2779
- package/build/lib/config.d.ts +9 -4
- package/build/lib/fs.d.ts +1 -1
- package/build/lib/graphql.d.ts +1 -1
- package/build/lib/imports.d.ts +1 -1
- package/build/lib/types.d.ts +3 -3
- package/build/lib/walk.d.ts +8 -5
- package/build/lib-cjs/index.js +155 -1856
- package/build/lib-esm/index.js +155 -1856
- package/build/runtime/cache/cache.d.ts +10 -8
- package/build/runtime/cache/gc.d.ts +1 -1
- package/build/runtime/cache/lists.d.ts +3 -2
- package/build/runtime/cache/schema.d.ts +2 -2
- package/build/runtime/cache/stuff.d.ts +2 -2
- package/build/runtime/cache/subscription.d.ts +19 -11
- package/build/runtime/client/documentStore.d.ts +87 -0
- package/build/runtime/client/index.d.ts +25 -0
- package/build/runtime/client/plugins/cache.d.ts +8 -0
- package/build/runtime/client/plugins/fetch.d.ts +37 -0
- package/build/runtime/client/plugins/fetchParams.d.ts +9 -0
- package/build/runtime/client/plugins/index.d.ts +7 -0
- package/build/runtime/client/plugins/injectedPlugins.d.ts +3 -0
- package/build/runtime/client/plugins/mutation.d.ts +1 -0
- package/build/runtime/client/plugins/query.d.ts +2 -0
- package/build/runtime/client/plugins/subscription.d.ts +18 -0
- package/build/runtime/client/plugins/throwOnError.d.ts +7 -0
- package/build/runtime/client/utils/documentPlugins.d.ts +3 -0
- package/build/runtime/client/utils/index.d.ts +1 -0
- package/build/runtime/generated.d.ts +1 -0
- package/build/runtime/imports/config.d.ts +3 -0
- package/build/runtime/index.d.ts +3 -2
- package/build/runtime/lib/config.d.ts +26 -25
- package/build/runtime/lib/index.d.ts +1 -2
- package/build/runtime/lib/scalars.d.ts +6 -5
- package/build/runtime/lib/selection.d.ts +1 -1
- package/build/runtime/lib/store.d.ts +19 -0
- package/build/runtime/lib/types.d.ts +22 -9
- package/build/runtime/public/cache.d.ts +20 -7
- package/build/runtime/public/list.d.ts +2 -2
- package/build/runtime/public/record.d.ts +18 -18
- package/build/runtime/public/tests/test.d.ts +44 -1
- package/build/runtime/public/types.d.ts +8 -0
- package/build/runtime-cjs/cache/cache.d.ts +10 -8
- package/build/runtime-cjs/cache/cache.js +5 -11
- package/build/runtime-cjs/cache/gc.d.ts +1 -1
- package/build/runtime-cjs/cache/lists.d.ts +3 -2
- package/build/runtime-cjs/cache/lists.js +5 -2
- package/build/runtime-cjs/cache/schema.d.ts +2 -2
- package/build/runtime-cjs/cache/stuff.d.ts +2 -2
- package/build/runtime-cjs/cache/subscription.d.ts +19 -11
- package/build/runtime-cjs/cache/subscription.js +95 -56
- package/build/runtime-cjs/client/documentStore.d.ts +87 -0
- package/build/runtime-cjs/client/documentStore.js +360 -0
- package/build/runtime-cjs/client/index.d.ts +25 -0
- package/build/runtime-cjs/client/index.js +87 -0
- package/build/runtime-cjs/client/plugins/cache.d.ts +8 -0
- package/build/runtime-cjs/client/plugins/cache.js +99 -0
- package/build/runtime-cjs/client/plugins/fetch.d.ts +37 -0
- package/build/runtime-cjs/{lib/networkUtils.js → client/plugins/fetch.js} +95 -3
- package/build/runtime-cjs/client/plugins/fetchParams.d.ts +9 -0
- package/build/runtime-cjs/client/plugins/fetchParams.js +40 -0
- package/build/runtime-cjs/client/plugins/index.d.ts +7 -0
- package/build/runtime-cjs/client/plugins/index.js +24 -0
- package/build/runtime-cjs/client/plugins/injectedPlugins.d.ts +3 -0
- package/build/runtime-cjs/{lib/errors.js → client/plugins/injectedPlugins.js} +7 -15
- package/build/runtime-cjs/client/plugins/mutation.d.ts +1 -0
- package/build/runtime-cjs/client/plugins/mutation.js +86 -0
- package/build/runtime-cjs/client/plugins/query.d.ts +2 -0
- package/build/runtime-cjs/client/plugins/query.js +83 -0
- package/build/runtime-cjs/client/plugins/subscription.d.ts +18 -0
- package/build/runtime-cjs/client/plugins/subscription.js +98 -0
- package/build/runtime-cjs/client/plugins/throwOnError.d.ts +7 -0
- package/build/runtime-cjs/client/plugins/throwOnError.js +47 -0
- package/build/runtime-cjs/client/utils/documentPlugins.d.ts +3 -0
- package/build/runtime-cjs/client/utils/documentPlugins.js +56 -0
- package/build/runtime-cjs/client/utils/index.d.ts +1 -0
- package/build/runtime-cjs/client/utils/index.js +18 -0
- package/build/runtime-cjs/generated.d.ts +1 -0
- package/build/runtime-cjs/imports/config.d.ts +3 -0
- package/build/runtime-cjs/imports/config.js +26 -0
- package/build/runtime-cjs/index.d.ts +3 -2
- package/build/runtime-cjs/index.js +1 -0
- package/build/runtime-cjs/lib/config.d.ts +26 -25
- package/build/runtime-cjs/lib/config.js +5 -4
- package/build/runtime-cjs/lib/index.d.ts +1 -2
- package/build/runtime-cjs/lib/index.js +1 -2
- package/build/runtime-cjs/lib/scalars.d.ts +6 -5
- package/build/runtime-cjs/lib/scalars.js +20 -24
- package/build/runtime-cjs/lib/selection.d.ts +1 -1
- package/build/runtime-cjs/lib/store.d.ts +19 -0
- package/build/runtime-cjs/lib/store.js +81 -0
- package/build/runtime-cjs/lib/types.d.ts +22 -9
- package/build/runtime-cjs/public/cache.d.ts +20 -7
- package/build/runtime-cjs/public/cache.js +29 -32
- package/build/runtime-cjs/public/list.d.ts +2 -2
- package/build/runtime-cjs/public/list.js +6 -28
- package/build/runtime-cjs/public/record.d.ts +18 -18
- package/build/runtime-cjs/public/record.js +23 -189
- package/build/runtime-cjs/public/tests/test.d.ts +44 -1
- package/build/runtime-cjs/public/tests/test.js +27 -2
- package/build/runtime-cjs/public/types.d.ts +8 -0
- package/build/runtime-esm/cache/cache.d.ts +10 -8
- package/build/runtime-esm/cache/cache.js +5 -11
- package/build/runtime-esm/cache/gc.d.ts +1 -1
- package/build/runtime-esm/cache/lists.d.ts +3 -2
- package/build/runtime-esm/cache/lists.js +5 -2
- package/build/runtime-esm/cache/schema.d.ts +2 -2
- package/build/runtime-esm/cache/stuff.d.ts +2 -2
- package/build/runtime-esm/cache/subscription.d.ts +19 -11
- package/build/runtime-esm/cache/subscription.js +95 -56
- package/build/runtime-esm/client/documentStore.d.ts +87 -0
- package/build/runtime-esm/client/documentStore.js +336 -0
- package/build/runtime-esm/client/index.d.ts +25 -0
- package/build/runtime-esm/client/index.js +58 -0
- package/build/runtime-esm/client/plugins/cache.d.ts +8 -0
- package/build/runtime-esm/client/plugins/cache.js +69 -0
- package/build/runtime-esm/client/plugins/fetch.d.ts +37 -0
- package/build/runtime-esm/client/plugins/fetch.js +151 -0
- package/build/runtime-esm/client/plugins/fetchParams.d.ts +9 -0
- package/build/runtime-esm/client/plugins/fetchParams.js +16 -0
- package/build/runtime-esm/client/plugins/index.d.ts +7 -0
- package/build/runtime-esm/client/plugins/index.js +7 -0
- package/build/runtime-esm/client/plugins/injectedPlugins.d.ts +3 -0
- package/build/runtime-esm/client/plugins/injectedPlugins.js +5 -0
- package/build/runtime-esm/client/plugins/mutation.d.ts +1 -0
- package/build/runtime-esm/client/plugins/mutation.js +56 -0
- package/build/runtime-esm/client/plugins/query.d.ts +2 -0
- package/build/runtime-esm/client/plugins/query.js +53 -0
- package/build/runtime-esm/client/plugins/subscription.d.ts +18 -0
- package/build/runtime-esm/client/plugins/subscription.js +74 -0
- package/build/runtime-esm/client/plugins/throwOnError.d.ts +7 -0
- package/build/runtime-esm/client/plugins/throwOnError.js +23 -0
- package/build/runtime-esm/client/utils/documentPlugins.d.ts +3 -0
- package/build/runtime-esm/client/utils/documentPlugins.js +32 -0
- package/build/runtime-esm/client/utils/index.d.ts +1 -0
- package/build/runtime-esm/client/utils/index.js +1 -0
- package/build/runtime-esm/generated.d.ts +1 -0
- package/build/runtime-esm/imports/config.d.ts +3 -0
- package/build/runtime-esm/imports/config.js +4 -0
- package/build/runtime-esm/index.d.ts +3 -2
- package/build/runtime-esm/index.js +1 -0
- package/build/runtime-esm/lib/config.d.ts +26 -25
- package/build/runtime-esm/lib/config.js +5 -4
- package/build/runtime-esm/lib/index.d.ts +1 -2
- package/build/runtime-esm/lib/index.js +1 -2
- package/build/runtime-esm/lib/scalars.d.ts +6 -5
- package/build/runtime-esm/lib/scalars.js +20 -24
- package/build/runtime-esm/lib/selection.d.ts +1 -1
- package/build/runtime-esm/lib/store.d.ts +19 -0
- package/build/runtime-esm/lib/store.js +57 -0
- package/build/runtime-esm/lib/types.d.ts +22 -9
- package/build/runtime-esm/public/cache.d.ts +20 -7
- package/build/runtime-esm/public/cache.js +28 -30
- package/build/runtime-esm/public/list.d.ts +2 -2
- package/build/runtime-esm/public/list.js +6 -28
- package/build/runtime-esm/public/record.d.ts +18 -18
- package/build/runtime-esm/public/record.js +22 -185
- package/build/runtime-esm/public/tests/test.d.ts +44 -1
- package/build/runtime-esm/public/tests/test.js +26 -1
- package/build/runtime-esm/public/types.d.ts +8 -0
- package/build/test/index.d.ts +4 -3
- package/build/test-cjs/index.js +1334 -2766
- package/build/test-esm/index.js +1334 -2766
- package/build/vite/ast.d.ts +1 -1
- package/build/vite/houdini.d.ts +1 -1
- package/build/vite/imports.d.ts +3 -3
- package/build/vite/index.d.ts +1 -1
- package/build/vite/schema.d.ts +1 -1
- package/build/vite-cjs/index.js +1395 -2821
- package/build/vite-esm/index.js +1395 -2821
- package/package.json +1 -1
- package/build/runtime/lib/errors.d.ts +0 -3
- package/build/runtime/lib/network.d.ts +0 -79
- package/build/runtime/lib/networkUtils.d.ts +0 -8
- package/build/runtime-cjs/lib/errors.d.ts +0 -3
- package/build/runtime-cjs/lib/network.d.ts +0 -79
- package/build/runtime-cjs/lib/network.js +0 -200
- package/build/runtime-cjs/lib/networkUtils.d.ts +0 -8
- package/build/runtime-esm/lib/errors.d.ts +0 -3
- package/build/runtime-esm/lib/errors.js +0 -11
- package/build/runtime-esm/lib/network.d.ts +0 -79
- package/build/runtime-esm/lib/network.js +0 -170
- package/build/runtime-esm/lib/networkUtils.d.ts +0 -8
- package/build/runtime-esm/lib/networkUtils.js +0 -60
|
@@ -0,0 +1,26 @@
|
|
|
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 config_exports = {};
|
|
20
|
+
__export(config_exports, {
|
|
21
|
+
default: () => config_default
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(config_exports);
|
|
24
|
+
var config_default = {};
|
|
25
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
26
|
+
0 && (module.exports = {});
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { Cache as InternalCache } from './cache/cache';
|
|
1
|
+
import type { Cache as InternalCache } from './cache/cache';
|
|
2
2
|
import type { CacheTypeDef } from './generated';
|
|
3
3
|
import { Cache } from './public';
|
|
4
|
+
export * from './client';
|
|
4
5
|
export * from './lib';
|
|
5
|
-
export declare function graphql(str:
|
|
6
|
+
export declare function graphql<_Payload>(str: TemplateStringsArray): _Payload;
|
|
6
7
|
export declare const cache: Cache<CacheTypeDef>;
|
|
7
8
|
export declare function getCache(): InternalCache;
|
|
@@ -32,6 +32,7 @@ __export(runtime_exports, {
|
|
|
32
32
|
module.exports = __toCommonJS(runtime_exports);
|
|
33
33
|
var import_cache = __toESM(require("./cache"), 1);
|
|
34
34
|
var import_public = require("./public");
|
|
35
|
+
__reExport(runtime_exports, require("./client"), module.exports);
|
|
35
36
|
__reExport(runtime_exports, require("./lib"), module.exports);
|
|
36
37
|
function graphql(str) {
|
|
37
38
|
if (globalThis?.process?.env?.HOUDINI_PLUGIN) {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { GraphQLSchema } from 'graphql';
|
|
2
|
-
import { CachePolicy } from './types';
|
|
1
|
+
import type { GraphQLSchema } from 'graphql';
|
|
2
|
+
import type { CachePolicy } from './types';
|
|
3
3
|
export declare function getMockConfig(): ConfigFile | null;
|
|
4
4
|
export declare function setMockConfig(config: ConfigFile | null): void;
|
|
5
5
|
export declare function defaultConfigValues(file: ConfigFile): ConfigFile;
|
|
6
6
|
export declare function keyFieldsForType(configFile: ConfigFile, type: string): string[];
|
|
7
7
|
export declare function computeID(configFile: ConfigFile, type: string, data: any): string;
|
|
8
|
-
export declare function getCurrentConfig():
|
|
8
|
+
export declare function getCurrentConfig(): ConfigFile;
|
|
9
9
|
export type ConfigFile = {
|
|
10
10
|
/**
|
|
11
11
|
* A glob pointing to all files that houdini should consider. Note, this must include .js files
|
|
@@ -31,10 +31,6 @@ export type ConfigFile = {
|
|
|
31
31
|
* FYI: `schemaPath` or `schema` should be defined
|
|
32
32
|
*/
|
|
33
33
|
schema?: string | GraphQLSchema;
|
|
34
|
-
/**
|
|
35
|
-
* A url to use to pull the schema. For more information: https://www.houdinigraphql.com/api/cli#generate
|
|
36
|
-
*/
|
|
37
|
-
apiUrl?: string | ((env: Record<string, string | undefined>) => string);
|
|
38
34
|
/**
|
|
39
35
|
* An object describing custom scalars for your project. For more information: https://www.houdinigraphql.com/api/config#custom-scalars
|
|
40
36
|
*/
|
|
@@ -43,11 +39,6 @@ export type ConfigFile = {
|
|
|
43
39
|
* A path that the generator will use to write schema.graphql and documents.gql files containing all of the internal fragment and directive definitions used in the project.
|
|
44
40
|
*/
|
|
45
41
|
definitionsPath?: string;
|
|
46
|
-
/**
|
|
47
|
-
* One of "kit" or "svelte". Used to tell the preprocessor what kind of loading paradigm to generate for you. (default: `kit`)
|
|
48
|
-
* @deprecated please follow the steps here: http://www.houdinigraphql.com/guides/release-notes#0170
|
|
49
|
-
*/
|
|
50
|
-
framework?: 'kit' | 'svelte';
|
|
51
42
|
/**
|
|
52
43
|
* One of "esm" or "commonjs". Tells the artifact generator what kind of modules to create. (default: `esm`)
|
|
53
44
|
*/
|
|
@@ -90,20 +81,9 @@ export type ConfigFile = {
|
|
|
90
81
|
*/
|
|
91
82
|
defaultFragmentMasking?: 'enable' | 'disable';
|
|
92
83
|
/**
|
|
93
|
-
*
|
|
94
|
-
* during development in order to keep it's definition of your schema up to date. The schemaPollingInterval
|
|
95
|
-
* config value sets the amount of time between each request in milliseconds (default 2 seconds).
|
|
96
|
-
* To limit the schema introspection to just on the start of the server, set schemaPollingInterval to 0.
|
|
97
|
-
* To disable the schema introspection, set schemaPollingInterval to null.
|
|
98
|
-
*/
|
|
99
|
-
schemaPollInterval?: number | null;
|
|
100
|
-
/**
|
|
101
|
-
* An object containing the environment variables you want passed onto the api when polling for a new schema.
|
|
102
|
-
* The keys dictate the header names. If the value is a string, the corresponding environment variable will be used
|
|
103
|
-
* directly. If the value is a function, the current environment will be passed to your function so you can perform any
|
|
104
|
-
* logic you need
|
|
84
|
+
* Configure the dev environment to watch a remote schema for changes
|
|
105
85
|
*/
|
|
106
|
-
|
|
86
|
+
watchSchema?: WatchSchemaConfig;
|
|
107
87
|
/**
|
|
108
88
|
* An object describing the plugins enabled for the project
|
|
109
89
|
*/
|
|
@@ -133,6 +113,25 @@ export type TypeConfig = {
|
|
|
133
113
|
};
|
|
134
114
|
};
|
|
135
115
|
};
|
|
116
|
+
export type WatchSchemaConfig = {
|
|
117
|
+
/**
|
|
118
|
+
* A url to use to pull the schema. For more information: https://www.houdinigraphql.com/api/cli#generate
|
|
119
|
+
*/
|
|
120
|
+
url: string | ((env: Record<string, string | undefined>) => string);
|
|
121
|
+
/**
|
|
122
|
+
* sets the amount of time between each request in milliseconds (default 2 seconds).
|
|
123
|
+
* To limit the schema introspection to just on the start of the server, set interval to 0.
|
|
124
|
+
* To disable the schema introspection, set interval to null.
|
|
125
|
+
*/
|
|
126
|
+
interval?: number | null;
|
|
127
|
+
/**
|
|
128
|
+
* An object containing the environment variables you want passed onto the api when polling for a new schema.
|
|
129
|
+
* The keys dictate the header names. If the value is a string, the corresponding environment variable will be used
|
|
130
|
+
* directly. If the value is a function, the current environment will be passed to your function so you can perform any
|
|
131
|
+
* logic you need
|
|
132
|
+
*/
|
|
133
|
+
headers?: Record<string, string | ((env: Record<string, string | undefined>) => string)> | ((env: Record<string, string | undefined>) => Record<string, string>);
|
|
134
|
+
};
|
|
136
135
|
export type ScalarSpec = {
|
|
137
136
|
type: string;
|
|
138
137
|
marshal?: (val: any) => any;
|
|
@@ -140,4 +139,6 @@ export type ScalarSpec = {
|
|
|
140
139
|
};
|
|
141
140
|
export interface HoudiniPluginConfig {
|
|
142
141
|
}
|
|
142
|
+
export interface HoudiniClientPluginConfig {
|
|
143
|
+
}
|
|
143
144
|
export {};
|
|
@@ -32,12 +32,13 @@ __export(config_exports, {
|
|
|
32
32
|
setMockConfig: () => setMockConfig
|
|
33
33
|
});
|
|
34
34
|
module.exports = __toCommonJS(config_exports);
|
|
35
|
+
var import_config = __toESM(require("../imports/config"), 1);
|
|
35
36
|
let mockConfig = null;
|
|
36
37
|
function getMockConfig() {
|
|
37
38
|
return mockConfig;
|
|
38
39
|
}
|
|
39
|
-
function setMockConfig(
|
|
40
|
-
mockConfig =
|
|
40
|
+
function setMockConfig(config2) {
|
|
41
|
+
mockConfig = config2;
|
|
41
42
|
}
|
|
42
43
|
function defaultConfigValues(file) {
|
|
43
44
|
return {
|
|
@@ -66,12 +67,12 @@ function computeID(configFile, type, data) {
|
|
|
66
67
|
}
|
|
67
68
|
return id.slice(0, -2);
|
|
68
69
|
}
|
|
69
|
-
|
|
70
|
+
function getCurrentConfig() {
|
|
70
71
|
const mockConfig2 = getMockConfig();
|
|
71
72
|
if (mockConfig2) {
|
|
72
73
|
return mockConfig2;
|
|
73
74
|
}
|
|
74
|
-
return defaultConfigValues(
|
|
75
|
+
return defaultConfigValues(import_config.default);
|
|
75
76
|
}
|
|
76
77
|
// Annotate the CommonJS export names for ESM import in node:
|
|
77
78
|
0 && (module.exports = {
|
|
@@ -18,8 +18,7 @@ module.exports = __toCommonJS(lib_exports);
|
|
|
18
18
|
__reExport(lib_exports, require("./config"), module.exports);
|
|
19
19
|
__reExport(lib_exports, require("./constants"), module.exports);
|
|
20
20
|
__reExport(lib_exports, require("./deepEquals"), module.exports);
|
|
21
|
-
__reExport(lib_exports, require("./errors"), module.exports);
|
|
22
21
|
__reExport(lib_exports, require("./log"), module.exports);
|
|
23
|
-
__reExport(lib_exports, require("./network"), module.exports);
|
|
24
22
|
__reExport(lib_exports, require("./scalars"), module.exports);
|
|
25
23
|
__reExport(lib_exports, require("./types"), module.exports);
|
|
24
|
+
__reExport(lib_exports, require("./store"), module.exports);
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import { ConfigFile } from './config';
|
|
2
|
-
import { MutationArtifact, QueryArtifact, SubscriptionArtifact, SubscriptionSelection } from './types';
|
|
1
|
+
import type { ConfigFile } from './config';
|
|
2
|
+
import type { FragmentArtifact, MutationArtifact, QueryArtifact, SubscriptionArtifact, SubscriptionSelection } from './types';
|
|
3
3
|
export declare function marshalSelection({ selection, data, }: {
|
|
4
4
|
selection: SubscriptionSelection;
|
|
5
5
|
data: any;
|
|
6
6
|
}): Promise<{} | null | undefined>;
|
|
7
|
-
export declare function marshalInputs<T>({ artifact, input, rootType, }: {
|
|
8
|
-
artifact: QueryArtifact | MutationArtifact | SubscriptionArtifact;
|
|
7
|
+
export declare function marshalInputs<T>({ artifact, input, config, rootType, }: {
|
|
8
|
+
artifact: QueryArtifact | MutationArtifact | SubscriptionArtifact | FragmentArtifact;
|
|
9
9
|
input: unknown;
|
|
10
10
|
rootType?: string;
|
|
11
|
-
|
|
11
|
+
config: ConfigFile;
|
|
12
|
+
}): {} | null | undefined;
|
|
12
13
|
export declare function unmarshalSelection(config: ConfigFile, selection: SubscriptionSelection, data: any): {} | null | undefined;
|
|
13
14
|
export declare function isScalar(config: ConfigFile, type: string): boolean;
|
|
14
15
|
export declare function parseScalar(config: ConfigFile, type: string, value: string): string | number | boolean;
|
|
@@ -31,7 +31,7 @@ async function marshalSelection({
|
|
|
31
31
|
selection,
|
|
32
32
|
data
|
|
33
33
|
}) {
|
|
34
|
-
const config =
|
|
34
|
+
const config = (0, import_config.getCurrentConfig)();
|
|
35
35
|
if (data === null || typeof data === "undefined") {
|
|
36
36
|
return data;
|
|
37
37
|
}
|
|
@@ -66,12 +66,12 @@ async function marshalSelection({
|
|
|
66
66
|
)
|
|
67
67
|
);
|
|
68
68
|
}
|
|
69
|
-
|
|
69
|
+
function marshalInputs({
|
|
70
70
|
artifact,
|
|
71
71
|
input,
|
|
72
|
+
config,
|
|
72
73
|
rootType = "@root"
|
|
73
74
|
}) {
|
|
74
|
-
const config = await (0, import_config.getCurrentConfig)();
|
|
75
75
|
if (input === null || typeof input === "undefined") {
|
|
76
76
|
return input;
|
|
77
77
|
}
|
|
@@ -80,30 +80,26 @@ async function marshalInputs({
|
|
|
80
80
|
}
|
|
81
81
|
const fields = rootType === "@root" ? artifact.input.fields : artifact.input.types[rootType];
|
|
82
82
|
if (Array.isArray(input)) {
|
|
83
|
-
return
|
|
84
|
-
input.map(async (val) => await marshalInputs({ artifact, input: val, rootType }))
|
|
85
|
-
);
|
|
83
|
+
return input.map((val) => marshalInputs({ artifact, input: val, rootType, config }));
|
|
86
84
|
}
|
|
87
85
|
return Object.fromEntries(
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
if (
|
|
96
|
-
|
|
97
|
-
return [fieldName, value.map(marshalFn)];
|
|
98
|
-
}
|
|
99
|
-
return [fieldName, marshalFn(value)];
|
|
100
|
-
}
|
|
101
|
-
if (isScalar(config, type) || !artifact.input.types[type]) {
|
|
102
|
-
return [fieldName, value];
|
|
86
|
+
Object.entries(input).map(([fieldName, value]) => {
|
|
87
|
+
const type = fields?.[fieldName];
|
|
88
|
+
if (!type) {
|
|
89
|
+
return [fieldName, value];
|
|
90
|
+
}
|
|
91
|
+
const marshalFn = config.scalars?.[type]?.marshal;
|
|
92
|
+
if (marshalFn) {
|
|
93
|
+
if (Array.isArray(value)) {
|
|
94
|
+
return [fieldName, value.map(marshalFn)];
|
|
103
95
|
}
|
|
104
|
-
return [fieldName,
|
|
105
|
-
}
|
|
106
|
-
|
|
96
|
+
return [fieldName, marshalFn(value)];
|
|
97
|
+
}
|
|
98
|
+
if (isScalar(config, type) || !artifact.input.types[type]) {
|
|
99
|
+
return [fieldName, value];
|
|
100
|
+
}
|
|
101
|
+
return [fieldName, marshalInputs({ artifact, input: value, rootType: type, config })];
|
|
102
|
+
})
|
|
107
103
|
);
|
|
108
104
|
}
|
|
109
105
|
function unmarshalSelection(config, selection, data) {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { SubscriptionSelection } from './types';
|
|
1
|
+
import type { SubscriptionSelection } from './types';
|
|
2
2
|
export declare function getFieldsForType(selection: SubscriptionSelection, __typename: string | undefined | null): Required<SubscriptionSelection>['fields'];
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare class Writable<T> {
|
|
2
|
+
#private;
|
|
3
|
+
state: T;
|
|
4
|
+
constructor(value: T, start?: StartStopNotifier<T>);
|
|
5
|
+
set(new_value: T): void;
|
|
6
|
+
update(fn: Updater<T>): void;
|
|
7
|
+
subscribe(run: Subscriber<T>, invalidate?: Invalidator<T>): Unsubscriber;
|
|
8
|
+
}
|
|
9
|
+
/** Start and stop notification callbacks. */
|
|
10
|
+
type StartStopNotifier<T> = (set: Subscriber<T>) => Unsubscriber | void;
|
|
11
|
+
/** Callback to inform of a value updates. */
|
|
12
|
+
export type Subscriber<T> = (value: T) => void;
|
|
13
|
+
/** Unsubscribes from value updates. */
|
|
14
|
+
export type Unsubscriber = () => void;
|
|
15
|
+
/** Callback to update a value. */
|
|
16
|
+
type Updater<T> = (value: T) => T;
|
|
17
|
+
/** Cleanup logic callback. */
|
|
18
|
+
type Invalidator<T> = (value?: T) => void;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,81 @@
|
|
|
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 store_exports = {};
|
|
20
|
+
__export(store_exports, {
|
|
21
|
+
Writable: () => Writable
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(store_exports);
|
|
24
|
+
const subscriber_queue = [];
|
|
25
|
+
const noop = () => {
|
|
26
|
+
};
|
|
27
|
+
class Writable {
|
|
28
|
+
state;
|
|
29
|
+
#subscribers;
|
|
30
|
+
#stop;
|
|
31
|
+
#start;
|
|
32
|
+
constructor(value, start = noop) {
|
|
33
|
+
this.state = value;
|
|
34
|
+
this.#subscribers = /* @__PURE__ */ new Set();
|
|
35
|
+
this.#stop = null;
|
|
36
|
+
this.#start = start;
|
|
37
|
+
}
|
|
38
|
+
set(new_value) {
|
|
39
|
+
if (safe_not_equal(this.state, new_value)) {
|
|
40
|
+
this.state = new_value;
|
|
41
|
+
if (this.#stop) {
|
|
42
|
+
const run_queue = !subscriber_queue.length;
|
|
43
|
+
for (const subscriber of this.#subscribers) {
|
|
44
|
+
subscriber[1]();
|
|
45
|
+
subscriber_queue.push(subscriber, this.state);
|
|
46
|
+
}
|
|
47
|
+
if (run_queue) {
|
|
48
|
+
for (let i = 0; i < subscriber_queue.length; i += 2) {
|
|
49
|
+
subscriber_queue[i][0](subscriber_queue[i + 1]);
|
|
50
|
+
}
|
|
51
|
+
subscriber_queue.length = 0;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
update(fn) {
|
|
57
|
+
this.set(fn(this.state));
|
|
58
|
+
}
|
|
59
|
+
subscribe(run, invalidate = noop) {
|
|
60
|
+
const subscriber = [run, invalidate];
|
|
61
|
+
this.#subscribers.add(subscriber);
|
|
62
|
+
if (this.#subscribers.size === 1) {
|
|
63
|
+
this.#stop = this.#start(this.set) || noop;
|
|
64
|
+
}
|
|
65
|
+
run(this.state);
|
|
66
|
+
return () => {
|
|
67
|
+
this.#subscribers.delete(subscriber);
|
|
68
|
+
if (this.#subscribers.size === 0) {
|
|
69
|
+
this.#stop?.();
|
|
70
|
+
this.#stop = null;
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
function safe_not_equal(a, b) {
|
|
76
|
+
return a != a ? b == b : a !== b || a && typeof a === "object" || typeof a === "function";
|
|
77
|
+
}
|
|
78
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
79
|
+
0 && (module.exports = {
|
|
80
|
+
Writable
|
|
81
|
+
});
|
|
@@ -4,6 +4,22 @@ export declare enum CachePolicy {
|
|
|
4
4
|
NetworkOnly = "NetworkOnly",
|
|
5
5
|
CacheAndNetwork = "CacheAndNetwork"
|
|
6
6
|
}
|
|
7
|
+
declare global {
|
|
8
|
+
namespace App {
|
|
9
|
+
interface Session {
|
|
10
|
+
}
|
|
11
|
+
interface Metadata {
|
|
12
|
+
}
|
|
13
|
+
interface Stuff {
|
|
14
|
+
inputs: {
|
|
15
|
+
init: boolean;
|
|
16
|
+
marshaled: Record<string, any>;
|
|
17
|
+
changed: boolean;
|
|
18
|
+
};
|
|
19
|
+
optimisticResponse?: GraphQLObject;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
7
23
|
export type Fragment<_Result> = {
|
|
8
24
|
readonly shape?: _Result;
|
|
9
25
|
};
|
|
@@ -65,6 +81,7 @@ export type BaseCompiledDocument = {
|
|
|
65
81
|
paginated: boolean;
|
|
66
82
|
direction?: 'forward' | 'backwards';
|
|
67
83
|
};
|
|
84
|
+
pluginsData?: Record<string, any>;
|
|
68
85
|
};
|
|
69
86
|
export type HoudiniFetchContext = {
|
|
70
87
|
variables: () => {};
|
|
@@ -150,7 +167,7 @@ export type FetchQueryResult<_Data> = {
|
|
|
150
167
|
source: DataSource | null;
|
|
151
168
|
partial: boolean;
|
|
152
169
|
};
|
|
153
|
-
export type QueryResult<_Data, _Input
|
|
170
|
+
export type QueryResult<_Data = GraphQLObject, _Input = Record<string, any>> = {
|
|
154
171
|
data: _Data | null;
|
|
155
172
|
errors: {
|
|
156
173
|
message: string;
|
|
@@ -158,16 +175,12 @@ export type QueryResult<_Data, _Input, _Extra = {}> = {
|
|
|
158
175
|
fetching: boolean;
|
|
159
176
|
partial: boolean;
|
|
160
177
|
source: DataSource | null;
|
|
161
|
-
variables: _Input;
|
|
162
|
-
}
|
|
163
|
-
export type RequestPayload<
|
|
164
|
-
data:
|
|
178
|
+
variables: _Input | null;
|
|
179
|
+
};
|
|
180
|
+
export type RequestPayload<GraphQLObject = any> = {
|
|
181
|
+
data: GraphQLObject | null;
|
|
165
182
|
errors: {
|
|
166
183
|
message: string;
|
|
167
184
|
}[] | null;
|
|
168
185
|
};
|
|
169
|
-
export type RequestPayloadMagic<_Data = any> = {
|
|
170
|
-
ssr: boolean;
|
|
171
|
-
body: RequestPayload<_Data>;
|
|
172
|
-
};
|
|
173
186
|
export {};
|
|
@@ -1,19 +1,32 @@
|
|
|
1
|
-
import { Cache as _Cache } from '../cache/cache';
|
|
2
|
-
import {
|
|
1
|
+
import type { Cache as _Cache } from '../cache/cache';
|
|
2
|
+
import { type QueryArtifact } from '../lib';
|
|
3
3
|
import { ListCollection } from './list';
|
|
4
4
|
import { Record } from './record';
|
|
5
|
-
import type { CacheTypeDef, IDFields, TypeNames, ValidLists } from './types';
|
|
5
|
+
import type { CacheTypeDef, IDFields, QueryInput, QueryList, QueryValue, TypeNames, ValidLists } from './types';
|
|
6
6
|
export declare class Cache<Def extends CacheTypeDef> {
|
|
7
7
|
_internal_unstable: _Cache;
|
|
8
8
|
constructor(cache: _Cache);
|
|
9
9
|
validateInstabilityWarning(): void;
|
|
10
|
-
setFieldType(...args: Parameters<SchemaManager['setFieldType']>): void;
|
|
11
|
-
get root(): Record<Def, '__ROOT__'>;
|
|
12
10
|
get<T extends TypeNames<Def>>(type: T, data: IDFields<Def, T>): Record<Def, T>;
|
|
13
|
-
get config(): import("
|
|
11
|
+
get config(): import("../lib").ConfigFile;
|
|
14
12
|
list<Name extends ValidLists<Def>>(name: Name, { parentID, allLists }?: {
|
|
15
13
|
parentID?: string;
|
|
16
14
|
allLists?: boolean;
|
|
17
15
|
}): ListCollection<Def, Name>;
|
|
16
|
+
read<_Query extends {
|
|
17
|
+
artifact: QueryArtifact;
|
|
18
|
+
}>({ query, variables, }: {
|
|
19
|
+
query: _Query;
|
|
20
|
+
variables?: QueryInput<QueryList<Def>, _Query>;
|
|
21
|
+
}): {
|
|
22
|
+
data: QueryValue<QueryList<Def>, _Query> | null;
|
|
23
|
+
partial: boolean;
|
|
24
|
+
};
|
|
25
|
+
write<_Query extends {
|
|
26
|
+
artifact: QueryArtifact;
|
|
27
|
+
}>({ query, variables, data, }: {
|
|
28
|
+
query: _Query;
|
|
29
|
+
data: QueryValue<QueryList<Def>, _Query>;
|
|
30
|
+
variables?: QueryInput<QueryList<Def>, _Query>;
|
|
31
|
+
}): void;
|
|
18
32
|
}
|
|
19
|
-
export declare function _typeInfo<Def extends CacheTypeDef>(cache: Cache<Def>, type: string, field: string): TypeInfo;
|
|
@@ -18,11 +18,10 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var cache_exports = {};
|
|
20
20
|
__export(cache_exports, {
|
|
21
|
-
Cache: () => Cache
|
|
22
|
-
_typeInfo: () => _typeInfo
|
|
21
|
+
Cache: () => Cache
|
|
23
22
|
});
|
|
24
23
|
module.exports = __toCommonJS(cache_exports);
|
|
25
|
-
var
|
|
24
|
+
var import_lib = require("../lib");
|
|
26
25
|
var import_list = require("./list");
|
|
27
26
|
var import_record = require("./record");
|
|
28
27
|
class Cache {
|
|
@@ -36,19 +35,6 @@ class Cache {
|
|
|
36
35
|
Please acknowledge this by setting acceptImperativeInstability to true in your config file.`);
|
|
37
36
|
}
|
|
38
37
|
}
|
|
39
|
-
setFieldType(...args) {
|
|
40
|
-
this.validateInstabilityWarning();
|
|
41
|
-
this._internal_unstable._internal_unstable.schema.setFieldType(...args);
|
|
42
|
-
}
|
|
43
|
-
get root() {
|
|
44
|
-
this.validateInstabilityWarning();
|
|
45
|
-
return new import_record.Record({
|
|
46
|
-
cache: this,
|
|
47
|
-
type: "Query",
|
|
48
|
-
id: import_cache.rootID,
|
|
49
|
-
idFields: {}
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
38
|
get(type, data) {
|
|
53
39
|
this.validateInstabilityWarning();
|
|
54
40
|
let recordID = this._internal_unstable._internal_unstable.id(type, data);
|
|
@@ -66,6 +52,7 @@ Please acknowledge this by setting acceptImperativeInstability to true in your c
|
|
|
66
52
|
return this._internal_unstable._internal_unstable.config;
|
|
67
53
|
}
|
|
68
54
|
list(name, { parentID, allLists } = {}) {
|
|
55
|
+
this.validateInstabilityWarning();
|
|
69
56
|
return new import_list.ListCollection({
|
|
70
57
|
cache: this,
|
|
71
58
|
name,
|
|
@@ -73,25 +60,35 @@ Please acknowledge this by setting acceptImperativeInstability to true in your c
|
|
|
73
60
|
allLists
|
|
74
61
|
});
|
|
75
62
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
63
|
+
read({
|
|
64
|
+
query,
|
|
65
|
+
variables
|
|
66
|
+
}) {
|
|
67
|
+
this.validateInstabilityWarning();
|
|
68
|
+
return this._internal_unstable.read({
|
|
69
|
+
selection: query.artifact.selection,
|
|
70
|
+
variables
|
|
71
|
+
});
|
|
84
72
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
73
|
+
write({
|
|
74
|
+
query,
|
|
75
|
+
variables,
|
|
76
|
+
data
|
|
77
|
+
}) {
|
|
78
|
+
this.validateInstabilityWarning();
|
|
79
|
+
this._internal_unstable.write({
|
|
80
|
+
selection: query.artifact.selection,
|
|
81
|
+
data,
|
|
82
|
+
variables: (0, import_lib.marshalInputs)({
|
|
83
|
+
config: this.config,
|
|
84
|
+
artifact: query.artifact,
|
|
85
|
+
input: variables
|
|
86
|
+
}) ?? {}
|
|
87
|
+
});
|
|
88
|
+
return;
|
|
90
89
|
}
|
|
91
|
-
return info;
|
|
92
90
|
}
|
|
93
91
|
// Annotate the CommonJS export names for ESM import in node:
|
|
94
92
|
0 && (module.exports = {
|
|
95
|
-
Cache
|
|
96
|
-
_typeInfo
|
|
93
|
+
Cache
|
|
97
94
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Cache } from './cache';
|
|
2
|
-
import { CacheTypeDef, ListType, ValidLists, ListFilters } from './types';
|
|
1
|
+
import type { Cache } from './cache';
|
|
2
|
+
import type { CacheTypeDef, ListType, ValidLists, ListFilters } from './types';
|
|
3
3
|
export declare class ListCollection<Def extends CacheTypeDef, ListName extends ValidLists<Def>> {
|
|
4
4
|
#private;
|
|
5
5
|
constructor({ parentID, allLists, when, cache, name, }: {
|
|
@@ -21,8 +21,6 @@ __export(list_exports, {
|
|
|
21
21
|
ListCollection: () => ListCollection
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(list_exports);
|
|
24
|
-
var import_lib = require("../lib");
|
|
25
|
-
var import_cache = require("./cache");
|
|
26
24
|
var import_record = require("./record");
|
|
27
25
|
class ListCollection {
|
|
28
26
|
#parentID;
|
|
@@ -83,7 +81,7 @@ class ListCollection {
|
|
|
83
81
|
return new ListCollection({
|
|
84
82
|
parentID: this.#parentID,
|
|
85
83
|
allLists: this.#allLists,
|
|
86
|
-
when:
|
|
84
|
+
when: filter,
|
|
87
85
|
cache: this.#cache,
|
|
88
86
|
name: this.#name
|
|
89
87
|
});
|
|
@@ -119,36 +117,16 @@ class ListCollection {
|
|
|
119
117
|
}
|
|
120
118
|
}
|
|
121
119
|
#listOperationPayload(records) {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
};
|
|
120
|
+
let selection = this.#collection.selection;
|
|
121
|
+
const connectionSelection = selection.fields?.["edges"]?.selection?.fields?.node.selection;
|
|
122
|
+
if (connectionSelection) {
|
|
123
|
+
selection = connectionSelection;
|
|
124
|
+
}
|
|
128
125
|
const data = [];
|
|
129
126
|
for (const record of records) {
|
|
130
127
|
if (!(record instanceof import_record.Record)) {
|
|
131
128
|
throw new Error("You must provide a Record to a list operation");
|
|
132
129
|
}
|
|
133
|
-
const keys = (0, import_lib.keyFieldsForType)(this.#cache.config, record.type);
|
|
134
|
-
selection.abstractFields.fields[record.type] = keys.reduce(
|
|
135
|
-
(acc, key) => {
|
|
136
|
-
const keyInfo = (0, import_cache._typeInfo)(this.#cache, record.type, key);
|
|
137
|
-
return {
|
|
138
|
-
...acc,
|
|
139
|
-
[key]: {
|
|
140
|
-
type: keyInfo.type,
|
|
141
|
-
keyRaw: key
|
|
142
|
-
}
|
|
143
|
-
};
|
|
144
|
-
},
|
|
145
|
-
{
|
|
146
|
-
__typename: {
|
|
147
|
-
type: "String",
|
|
148
|
-
keyRaw: "__typename"
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
);
|
|
152
130
|
data.push({ __typename: record.type, ...record.idFields });
|
|
153
131
|
}
|
|
154
132
|
return {
|