houdini-core 2.0.4 → 2.0.6
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/package.json +8 -8
- package/postInstall.js +1 -1
- package/runtime/plugins/query.ts +1 -1
- package/runtime/public/types.ts +36 -35
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "houdini-core",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.6",
|
|
4
4
|
"description": "The core GraphQL client for Houdini",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"graphql",
|
|
@@ -21,13 +21,13 @@
|
|
|
21
21
|
"minimatch": "^10.2.5"
|
|
22
22
|
},
|
|
23
23
|
"optionalDependencies": {
|
|
24
|
-
"houdini-core-darwin-x64": "2.0.
|
|
25
|
-
"houdini-core-darwin-arm64": "2.0.
|
|
26
|
-
"houdini-core-linux-x64": "2.0.
|
|
27
|
-
"houdini-core-linux-arm64": "2.0.
|
|
28
|
-
"houdini-core-win32-x64": "2.0.
|
|
29
|
-
"houdini-core-win32-arm64": "2.0.
|
|
30
|
-
"houdini-core-wasm": "2.0.
|
|
24
|
+
"houdini-core-darwin-x64": "2.0.6",
|
|
25
|
+
"houdini-core-darwin-arm64": "2.0.6",
|
|
26
|
+
"houdini-core-linux-x64": "2.0.6",
|
|
27
|
+
"houdini-core-linux-arm64": "2.0.6",
|
|
28
|
+
"houdini-core-win32-x64": "2.0.6",
|
|
29
|
+
"houdini-core-win32-arm64": "2.0.6",
|
|
30
|
+
"houdini-core-wasm": "2.0.6"
|
|
31
31
|
},
|
|
32
32
|
"files": [
|
|
33
33
|
"bin",
|
package/postInstall.js
CHANGED
|
@@ -5,7 +5,7 @@ const https = require('https')
|
|
|
5
5
|
const child_process = require('child_process')
|
|
6
6
|
|
|
7
7
|
// Adjust the version you want to install. You can also make this dynamic.
|
|
8
|
-
const BINARY_DISTRIBUTION_VERSION = '2.0.
|
|
8
|
+
const BINARY_DISTRIBUTION_VERSION = '2.0.6'
|
|
9
9
|
|
|
10
10
|
// Windows binaries end with .exe so we need to special case them.
|
|
11
11
|
const binaryName = process.platform === 'win32' ? 'houdini-core.exe' : 'houdini-core'
|
package/runtime/plugins/query.ts
CHANGED
|
@@ -79,7 +79,7 @@ export const query = (cache: Cache) =>
|
|
|
79
79
|
if (message.kind === 'refetch') {
|
|
80
80
|
ctx.documentStore.send({
|
|
81
81
|
policy: CachePolicy.NetworkOnly,
|
|
82
|
-
session: lastSession,
|
|
82
|
+
session: 'session' in message ? message.session : lastSession,
|
|
83
83
|
metadata: ctx.metadata,
|
|
84
84
|
})
|
|
85
85
|
return
|
package/runtime/public/types.ts
CHANGED
|
@@ -28,8 +28,11 @@ export type CacheTypeDef = {
|
|
|
28
28
|
// entries in the tuple are graphql tag, query shape, query input
|
|
29
29
|
queries: [any, any, any][]
|
|
30
30
|
|
|
31
|
-
// a union of valid runtime types (default scalars | config types)
|
|
32
|
-
|
|
31
|
+
// a union of valid runtime types (default scalars | config types).
|
|
32
|
+
// optional so the placeholder generated.ts (which re-exports the published
|
|
33
|
+
// CacheTypeDef, whose scalars only exist via augmentation) satisfies the
|
|
34
|
+
// constraint before codegen overwrites it
|
|
35
|
+
scalars?: any
|
|
33
36
|
}
|
|
34
37
|
|
|
35
38
|
export type ValidTypes<Def extends CacheTypeDef> = keyof Def['types']
|
|
@@ -107,60 +110,58 @@ export type ListType<Def extends CacheTypeDef, Name extends ValidLists<Def>> = P
|
|
|
107
110
|
// it very responsive.
|
|
108
111
|
|
|
109
112
|
/**
|
|
110
|
-
*
|
|
111
|
-
*
|
|
112
|
-
*
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
* name | name
|
|
117
|
-
* } | birthDate
|
|
118
|
-
* } | }
|
|
119
|
-
* | }
|
|
120
|
-
*
|
|
121
|
-
* To TypeScript, it would look like Query2's result would extend Query1's result.
|
|
122
|
-
* But if Query2 was listed in front of Query1 in the queries array above, `_Key extends _Target` will evaluate to true,
|
|
123
|
-
* causing it to return Query2's input/result types, while you were looking for Query1's input/result types.
|
|
124
|
-
* The additional `_Target extends _Key` ensures that the two objects have exactly the same shape, at least prompting the
|
|
125
|
-
* user for the correct fields.
|
|
113
|
+
* Each entry in the queries/fragments lists is keyed by the document's artifact type
|
|
114
|
+
* (`X$artifact`, the type of the generated artifact const). Every artifact carries
|
|
115
|
+
* unique literal values (name, hash) so the mutual-extends check below identifies
|
|
116
|
+
* exactly one document — even two documents with identical selections have distinct
|
|
117
|
+
* hashes. The target can be anything that exposes the artifact (a `graphql()` handle
|
|
118
|
+
* or a framework store), so matching goes through its `artifact` member.
|
|
126
119
|
*/
|
|
127
120
|
|
|
128
121
|
export type FragmentVariables<_List, _Target> = _List extends [infer Head, ...infer Rest]
|
|
129
122
|
? Head extends [infer _Key, infer _Value, infer _Input]
|
|
130
|
-
?
|
|
131
|
-
?
|
|
132
|
-
?
|
|
133
|
-
|
|
134
|
-
|
|
123
|
+
? _Target extends { artifact: infer _Artifact }
|
|
124
|
+
? _Artifact extends _Key
|
|
125
|
+
? _Key extends _Artifact
|
|
126
|
+
? _Input
|
|
127
|
+
: FragmentVariables<Rest, _Target>
|
|
128
|
+
: FragmentVariables<Rest, _Target>
|
|
129
|
+
: 'Encountered unknown fragment. Please make sure your runtime is up to date (ie, `vite dev` or `vite build`).'
|
|
135
130
|
: 'Encountered unknown fragment. Please make sure your runtime is up to date (ie, `vite dev` or `vite build`).'
|
|
136
131
|
: 'Encountered unknown fragment. Please make sure your runtime is up to date (ie, `vite dev` or `vite build`).'
|
|
137
132
|
|
|
138
133
|
export type FragmentValue<List, _Target> = List extends [infer Head, ...infer Rest]
|
|
139
134
|
? Head extends [infer _Key, infer _Value, infer _Input]
|
|
140
|
-
?
|
|
141
|
-
?
|
|
142
|
-
?
|
|
135
|
+
? _Target extends { artifact: infer _Artifact }
|
|
136
|
+
? _Artifact extends _Key
|
|
137
|
+
? _Key extends _Artifact
|
|
138
|
+
? _Value
|
|
139
|
+
: FragmentValue<Rest, _Target>
|
|
143
140
|
: FragmentValue<Rest, _Target>
|
|
144
|
-
:
|
|
141
|
+
: 'Encountered unknown fragment. Please make sure your runtime is up to date (ie, `vite dev` or `vite build`).'
|
|
145
142
|
: 'Encountered unknown fragment. Please make sure your runtime is up to date (ie, `vite dev` or `vite build`).'
|
|
146
143
|
: 'Encountered unknown fragment. Please make sure your runtime is up to date (ie, `vite dev` or `vite build`).'
|
|
147
144
|
|
|
148
145
|
export type QueryValue<List, _Target> = List extends [infer Head, ...infer Rest]
|
|
149
146
|
? Head extends [infer _Key, infer _Value, infer _Input]
|
|
150
|
-
?
|
|
151
|
-
?
|
|
152
|
-
?
|
|
147
|
+
? _Target extends { artifact: infer _Artifact }
|
|
148
|
+
? _Artifact extends _Key
|
|
149
|
+
? _Key extends _Artifact
|
|
150
|
+
? _Value
|
|
151
|
+
: QueryValue<Rest, _Target>
|
|
153
152
|
: QueryValue<Rest, _Target>
|
|
154
|
-
:
|
|
153
|
+
: 'Encountered unknown query.Please make sure your runtime is up to date (ie, `vite dev` or `vite build`).'
|
|
155
154
|
: 'Encountered unknown query.Please make sure your runtime is up to date (ie, `vite dev` or `vite build`).'
|
|
156
155
|
: 'Encountered unknown query.Please make sure your runtime is up to date (ie, `vite dev` or `vite build`).'
|
|
157
156
|
|
|
158
157
|
export type QueryInput<List, _Target> = List extends [infer Head, ...infer Rest]
|
|
159
158
|
? Head extends [infer _Key, infer _Value, infer _Input]
|
|
160
|
-
?
|
|
161
|
-
?
|
|
162
|
-
?
|
|
159
|
+
? _Target extends { artifact: infer _Artifact }
|
|
160
|
+
? _Artifact extends _Key
|
|
161
|
+
? _Key extends _Artifact
|
|
162
|
+
? _Input
|
|
163
|
+
: QueryInput<Rest, _Target>
|
|
163
164
|
: QueryInput<Rest, _Target>
|
|
164
|
-
:
|
|
165
|
+
: 'Encountered unknown query.Please make sure your runtime is up to date (ie, `vite dev` or `vite build`).'
|
|
165
166
|
: 'Encountered unknown query.Please make sure your runtime is up to date (ie, `vite dev` or `vite build`).'
|
|
166
167
|
: 'Encountered unknown query.Please make sure your runtime is up to date (ie, `vite dev` or `vite build`).'
|