gql.tada 0.0.0
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/LICENSE.md +21 -0
- package/README.md +21 -0
- package/dist/gql-tada.d.ts +238 -0
- package/dist/gql-tada.js +2 -0
- package/dist/gql-tada.js.map +1 -0
- package/dist/gql-tada.mjs +2 -0
- package/dist/gql-tada.mjs.map +1 -0
- package/package.json +95 -0
package/LICENSE.md
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 0no.co
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<h2>gql.tada 🎉</h2>
|
|
3
|
+
<strong>The spec-compliant & magical GraphQL query language engine in the TypeScript type system</strong>
|
|
4
|
+
<br />
|
|
5
|
+
<br />
|
|
6
|
+
<a href="https://github.com/0no-co/gql.tada/actions/workflows/release.yml">
|
|
7
|
+
<img alt="CI Status" src="https://github.com/0no-co/gql.tada/actions/workflows/release.yml/badge.svg?branch=main" />
|
|
8
|
+
</a>
|
|
9
|
+
<a href="https://urql.dev/discord">
|
|
10
|
+
<img alt="Discord" src="https://img.shields.io/discord/1082378892523864074?color=7389D8&label&logo=discord&logoColor=ffffff" />
|
|
11
|
+
</a>
|
|
12
|
+
<br />
|
|
13
|
+
<br />
|
|
14
|
+
</div>
|
|
15
|
+
|
|
16
|
+
**Work in Progress**
|
|
17
|
+
|
|
18
|
+
## Shortcomings
|
|
19
|
+
|
|
20
|
+
- [ ] support having parsed parts in a document, like a fragment reference
|
|
21
|
+
- [ ] support defining custom scalars
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
import { Kind, OperationTypeNode } from '@0no-co/graphql.web';
|
|
2
|
+
|
|
3
|
+
type digit = '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9';
|
|
4
|
+
type letter = 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'I' | 'J' | 'K' | 'L' | 'M' | 'N' | 'O' | 'P' | 'Q' | 'R' | 'S' | 'T' | 'U' | 'V' | 'W' | 'X' | 'Y' | 'Z' | 'a' | 'b' | 'c' | 'd' | 'e' | 'f' | 'g' | 'h' | 'i' | 'j' | 'k' | 'l' | 'm' | 'n' | 'o' | 'p' | 'q' | 'r' | 's' | 't' | 'u' | 'v' | 'w' | 'x' | 'y' | 'z';
|
|
5
|
+
type skipIgnored<In> = In extends `#${infer _}\n${infer In}` ? skipIgnored<In> : In extends `${' ' | '\n' | '\t' | '\r' | ',' | '\ufeff'}${infer In}` ? skipIgnored<In> : In extends string ? In : never;
|
|
6
|
+
type skipDigits<In extends string> = In extends `${digit}${infer In}` ? skipDigits<In> : In;
|
|
7
|
+
type skipInt<In extends string> = In extends `${'-'}${digit}${infer In}` ? skipDigits<In> : In extends `${digit}${infer In}` ? skipDigits<In> : void;
|
|
8
|
+
type skipExponent<In extends string> = In extends `${'e' | 'E'}${'+' | '-'}${infer In}` ? skipDigits<In> : In extends `${'e' | 'E'}${infer In}` ? skipDigits<In> : In;
|
|
9
|
+
type skipFloat<In extends string> = In extends `${'.'}${infer In}` ? In extends `${digit}${infer In}` ? skipExponent<skipDigits<In>> : void : In extends `${'e' | 'E'}${infer _}` ? skipExponent<In> : void;
|
|
10
|
+
type skipBlockString<In extends string> = In extends `${infer Hd}${'"""'}${infer In}` ? Hd extends `${infer _}${'\\'}` ? skipBlockString<skipIgnored<In>> : In : void;
|
|
11
|
+
type skipString<In extends string> = In extends `${infer Hd}${'"'}${infer In}` ? Hd extends `${infer _}${'\\'}` ? skipString<In> : In : void;
|
|
12
|
+
type _TakeNameContinue<PrevMatch extends string, In extends string> = In extends `${infer Match}${infer Out}` ? Match extends letter | digit | '_' ? _TakeNameContinue<`${PrevMatch}${Match}`, Out> : [PrevMatch, In] : [PrevMatch, In];
|
|
13
|
+
type _TakeName<In extends string> = In extends `${infer Match}${infer In}` ? Match extends letter | '_' ? _TakeNameContinue<Match, In> : void : void;
|
|
14
|
+
type TakeName<In extends string> = _TakeName<In> extends [infer Out, infer In] ? [{
|
|
15
|
+
kind: Kind.NAME;
|
|
16
|
+
value: Out;
|
|
17
|
+
}, In] : void;
|
|
18
|
+
type TakeOptionalName<In extends string> = _TakeName<In> extends [infer Out, infer In] ? [{
|
|
19
|
+
kind: Kind.NAME;
|
|
20
|
+
value: Out;
|
|
21
|
+
}, In] : [undefined, In];
|
|
22
|
+
type TakeEnum<In extends string> = _TakeName<In> extends [infer Out, infer In] ? [{
|
|
23
|
+
kind: Kind.ENUM;
|
|
24
|
+
value: Out;
|
|
25
|
+
}, In] : void;
|
|
26
|
+
type TakeVariable<In extends string, Const extends boolean> = Const extends false ? In extends `${'$'}${infer In}` ? _TakeName<In> extends [infer Out, infer In] ? [{
|
|
27
|
+
kind: Kind.VARIABLE;
|
|
28
|
+
name: {
|
|
29
|
+
kind: Kind.NAME;
|
|
30
|
+
value: Out;
|
|
31
|
+
};
|
|
32
|
+
}, In] : void : void : void;
|
|
33
|
+
type TakeNumber<In extends string> = skipInt<In> extends `${infer In}` ? skipFloat<In> extends `${infer In}` ? [{
|
|
34
|
+
kind: Kind.FLOAT;
|
|
35
|
+
value: string;
|
|
36
|
+
}, In] : [{
|
|
37
|
+
kind: Kind.INT;
|
|
38
|
+
value: string;
|
|
39
|
+
}, In] : void;
|
|
40
|
+
type TakeString<In extends string> = In extends `${'"""'}${infer In}` ? skipBlockString<In> extends `${infer In}` ? [{
|
|
41
|
+
kind: Kind.STRING;
|
|
42
|
+
value: string;
|
|
43
|
+
block: true;
|
|
44
|
+
}, In] : void : In extends `${'"'}${infer In}` ? skipString<In> extends `${infer In}` ? [{
|
|
45
|
+
kind: Kind.STRING;
|
|
46
|
+
value: string;
|
|
47
|
+
block: false;
|
|
48
|
+
}, In] : void : void;
|
|
49
|
+
type TakeLiteral<In extends string> = In extends `${'null'}${infer In}` ? [{
|
|
50
|
+
kind: Kind.NULL;
|
|
51
|
+
}, In] : In extends `${'true' | 'false'}${infer In}` ? [{
|
|
52
|
+
kind: Kind.BOOLEAN;
|
|
53
|
+
value: boolean;
|
|
54
|
+
}, In] : void;
|
|
55
|
+
type TakeValue<In extends string, Const extends boolean> = TakeLiteral<In> extends [
|
|
56
|
+
infer Node,
|
|
57
|
+
infer Rest
|
|
58
|
+
] ? [Node, Rest] : TakeVariable<In, Const> extends [infer Node, infer Rest] ? [Node, Rest] : TakeNumber<In> extends [infer Node, infer Rest] ? [Node, Rest] : TakeEnum<In> extends [infer Node, infer Rest] ? [Node, Rest] : TakeString<In> extends [infer Node, infer Rest] ? [Node, Rest] : TakeList<In, Const> extends [infer Node, infer Rest] ? [Node, Rest] : TakeObject<In, Const> extends [infer Node, infer Rest] ? [Node, Rest] : void;
|
|
59
|
+
type _TakeListContinue<Nodes extends unknown[], In extends string, Const extends boolean> = In extends `${']'}${infer In}` ? [{
|
|
60
|
+
kind: Kind.LIST;
|
|
61
|
+
values: Nodes;
|
|
62
|
+
}, In] : TakeValue<skipIgnored<In>, Const> extends [infer Node, infer In] ? _TakeListContinue<[...Nodes, Node], skipIgnored<In>, Const> : void;
|
|
63
|
+
type TakeList<In extends string, Const extends boolean> = In extends `${'['}${infer In}` ? _TakeListContinue<[], skipIgnored<In>, Const> : void;
|
|
64
|
+
type TakeObjectField<In extends string, Const extends boolean> = TakeName<In> extends [
|
|
65
|
+
infer Name,
|
|
66
|
+
infer In
|
|
67
|
+
] ? skipIgnored<In> extends `${':'}${infer In}` ? TakeValue<skipIgnored<In>, Const> extends [infer Value, infer In] ? [{
|
|
68
|
+
kind: Kind.OBJECT_FIELD;
|
|
69
|
+
name: Name;
|
|
70
|
+
value: Value;
|
|
71
|
+
}, In] : void : void : void;
|
|
72
|
+
type _TakeObjectContinue<Fields extends unknown[], In extends string, Const extends boolean> = In extends `${'}'}${infer In}` ? [{
|
|
73
|
+
kind: Kind.OBJECT;
|
|
74
|
+
fields: Fields;
|
|
75
|
+
}, In] : TakeObjectField<skipIgnored<In>, Const> extends [infer Field, infer In] ? _TakeObjectContinue<[...Fields, Field], skipIgnored<In>, Const> : void;
|
|
76
|
+
type TakeObject<In extends string, Const extends boolean> = In extends `${'{'}${infer In}` ? _TakeObjectContinue<[], skipIgnored<In>, Const> : void;
|
|
77
|
+
type TakeArgument<In extends string, Const extends boolean> = TakeName<In> extends [
|
|
78
|
+
infer Name,
|
|
79
|
+
infer In
|
|
80
|
+
] ? skipIgnored<In> extends `${':'}${infer In}` ? TakeValue<skipIgnored<In>, Const> extends [infer Value, infer In] ? [{
|
|
81
|
+
kind: Kind.ARGUMENT;
|
|
82
|
+
name: Name;
|
|
83
|
+
value: Value;
|
|
84
|
+
}, In] : void : void : void;
|
|
85
|
+
type _TakeArgumentsContinue<Arguments extends unknown[], In extends string, Const extends boolean> = In extends `${')'}${infer In}` ? Arguments extends [] ? void : [Arguments, In] : TakeArgument<In, Const> extends [infer Argument, infer In] ? _TakeArgumentsContinue<[...Arguments, Argument], skipIgnored<In>, Const> : void;
|
|
86
|
+
type TakeArguments<In extends string, Const extends boolean> = In extends `${'('}${infer In}` ? _TakeArgumentsContinue<[], skipIgnored<In>, Const> : [[], In];
|
|
87
|
+
type TakeDirective<In extends string, Const extends boolean> = In extends `${'@'}${infer In}` ? TakeName<In> extends [infer Name, infer In] ? TakeArguments<skipIgnored<In>, Const> extends [infer Arguments, infer In] ? [{
|
|
88
|
+
kind: Kind.DIRECTIVE;
|
|
89
|
+
name: Name;
|
|
90
|
+
arguments: Arguments;
|
|
91
|
+
}, In] : void : void : void;
|
|
92
|
+
type TakeDirectives<In extends string, Const extends boolean> = TakeDirective<In, Const> extends [infer Directive, infer In] ? TakeDirectives<skipIgnored<In>, Const> extends [[...infer Directives], infer In] ? [[Directive, ...Directives], In] : [[], In] : [[], In];
|
|
93
|
+
type _TakeFieldName<In extends string> = TakeName<In> extends [infer MaybeAlias, infer In] ? skipIgnored<In> extends `${':'}${infer In}` ? TakeName<skipIgnored<In>> extends [infer Name, infer In] ? [MaybeAlias, Name, In] : void : [undefined, MaybeAlias, In] : void;
|
|
94
|
+
type TakeField<In extends string> = _TakeFieldName<In> extends [
|
|
95
|
+
infer Alias,
|
|
96
|
+
infer Name,
|
|
97
|
+
infer In
|
|
98
|
+
] ? TakeArguments<skipIgnored<In>, false> extends [infer Arguments, infer In] ? TakeDirectives<skipIgnored<In>, false> extends [infer Directives, infer In] ? TakeSelectionSet<skipIgnored<In>> extends [infer SelectionSet, infer In] ? [
|
|
99
|
+
{
|
|
100
|
+
kind: Kind.FIELD;
|
|
101
|
+
alias: Alias;
|
|
102
|
+
name: Name;
|
|
103
|
+
arguments: Arguments;
|
|
104
|
+
directives: Directives;
|
|
105
|
+
selectionSet: SelectionSet;
|
|
106
|
+
},
|
|
107
|
+
In
|
|
108
|
+
] : void : void : void : void;
|
|
109
|
+
type TakeType<In extends string> = In extends `${'['}${infer In}` ? TakeType<skipIgnored<In>> extends [infer Subtype, infer In] ? In extends `${']'}${infer In}` ? skipIgnored<In> extends `${'!'}${infer In}` ? [{
|
|
110
|
+
kind: Kind.NON_NULL_TYPE;
|
|
111
|
+
type: {
|
|
112
|
+
kind: 'ListType';
|
|
113
|
+
type: Subtype;
|
|
114
|
+
};
|
|
115
|
+
}, In] : [{
|
|
116
|
+
kind: Kind.LIST_TYPE;
|
|
117
|
+
type: Subtype;
|
|
118
|
+
}, In] : void : void : TakeName<skipIgnored<In>> extends [infer Name, infer In] ? skipIgnored<In> extends `${'!'}${infer In}` ? [{
|
|
119
|
+
kind: Kind.NON_NULL_TYPE;
|
|
120
|
+
type: {
|
|
121
|
+
kind: 'NamedType';
|
|
122
|
+
name: Name;
|
|
123
|
+
};
|
|
124
|
+
}, In] : [{
|
|
125
|
+
kind: Kind.NAMED_TYPE;
|
|
126
|
+
name: Name;
|
|
127
|
+
}, In] : void;
|
|
128
|
+
type TakeTypeCondition<In extends string> = In extends `${'on'}${infer In}` ? TakeName<skipIgnored<In>> extends [infer Name, infer In] ? [{
|
|
129
|
+
kind: Kind.NAMED_TYPE;
|
|
130
|
+
name: Name;
|
|
131
|
+
}, In] : void : void;
|
|
132
|
+
type TakeFragmentSpread<In extends string> = In extends `${'...'}${infer In}` ? skipIgnored<In> extends `${'on'}${infer In}` ? TakeName<skipIgnored<In>> extends [infer Name, infer In] ? TakeDirectives<skipIgnored<In>, false> extends [infer Directives, infer In] ? TakeSelectionSetContinue<skipIgnored<In>> extends [infer SelectionSet, infer In] ? [
|
|
133
|
+
{
|
|
134
|
+
kind: Kind.INLINE_FRAGMENT;
|
|
135
|
+
typeCondition: {
|
|
136
|
+
kind: Kind.NAMED_TYPE;
|
|
137
|
+
name: Name;
|
|
138
|
+
};
|
|
139
|
+
directives: Directives;
|
|
140
|
+
selectionSet: SelectionSet;
|
|
141
|
+
},
|
|
142
|
+
In
|
|
143
|
+
] : void : void : void : TakeName<skipIgnored<In>> extends [infer Name, infer In] ? TakeDirectives<skipIgnored<In>, false> extends [infer Directives, infer In] ? [{
|
|
144
|
+
kind: Kind.FRAGMENT_SPREAD;
|
|
145
|
+
name: Name;
|
|
146
|
+
directives: Directives;
|
|
147
|
+
}, In] : void : TakeDirectives<skipIgnored<In>, false> extends [infer Directives, infer In] ? TakeSelectionSetContinue<skipIgnored<In>> extends [infer SelectionSet, infer In] ? [
|
|
148
|
+
{
|
|
149
|
+
kind: Kind.INLINE_FRAGMENT;
|
|
150
|
+
typeCondition: undefined;
|
|
151
|
+
directives: Directives;
|
|
152
|
+
selectionSet: SelectionSet;
|
|
153
|
+
},
|
|
154
|
+
In
|
|
155
|
+
] : void : void : void;
|
|
156
|
+
type _TakeSelection<Selections extends unknown[], In extends string> = In extends `${'}'}${infer In}` ? [{
|
|
157
|
+
kind: Kind.SELECTION_SET;
|
|
158
|
+
selections: Selections;
|
|
159
|
+
}, In] : TakeFragmentSpread<skipIgnored<In>> extends [infer Selection, infer In] ? _TakeSelection<[...Selections, Selection], skipIgnored<In>> : TakeField<skipIgnored<In>> extends [infer Selection, infer In] ? _TakeSelection<[...Selections, Selection], skipIgnored<In>> : void;
|
|
160
|
+
type TakeSelectionSetContinue<In extends string> = In extends `${'{'}${infer In}` ? _TakeSelection<[], skipIgnored<In>> : void;
|
|
161
|
+
type TakeSelectionSet<In extends string> = TakeSelectionSetContinue<In> extends [
|
|
162
|
+
infer SelectionSet,
|
|
163
|
+
infer In
|
|
164
|
+
] ? [SelectionSet, In] : [undefined, In];
|
|
165
|
+
type TakeVarDefinition<In extends string> = TakeVariable<In, false> extends [
|
|
166
|
+
infer Variable,
|
|
167
|
+
infer In
|
|
168
|
+
] ? skipIgnored<In> extends `${':'}${infer In}` ? TakeType<skipIgnored<In>> extends [infer Type, infer In] ? skipIgnored<In> extends `${'='}${infer In}` ? TakeValue<skipIgnored<In>, true> extends [infer DefaultValue, infer In] ? TakeDirectives<skipIgnored<In>, true> extends [infer Directives, infer In] ? [
|
|
169
|
+
{
|
|
170
|
+
kind: Kind.VARIABLE_DEFINITION;
|
|
171
|
+
variable: Variable;
|
|
172
|
+
type: Type;
|
|
173
|
+
defaultValue: DefaultValue;
|
|
174
|
+
directives: Directives;
|
|
175
|
+
},
|
|
176
|
+
In
|
|
177
|
+
] : void : void : TakeDirectives<skipIgnored<In>, true> extends [infer Directives, infer In] ? [
|
|
178
|
+
{
|
|
179
|
+
kind: Kind.VARIABLE_DEFINITION;
|
|
180
|
+
variable: Variable;
|
|
181
|
+
type: Type;
|
|
182
|
+
defaultValue: undefined;
|
|
183
|
+
directives: Directives;
|
|
184
|
+
},
|
|
185
|
+
In
|
|
186
|
+
] : void : void : void : void;
|
|
187
|
+
type _TakeVarDefinitionContinue<Definitions extends unknown[], In extends string> = In extends `${')'}${infer In}` ? [Definitions, In] : TakeVarDefinition<In> extends [infer Definition, infer In] ? _TakeVarDefinitionContinue<[...Definitions, Definition], skipIgnored<In>> : void;
|
|
188
|
+
type TakeVarDefinitions<In extends string> = skipIgnored<In> extends `${'('}${infer In}` ? _TakeVarDefinitionContinue<[], skipIgnored<In>> : [[], In];
|
|
189
|
+
type TakeFragmentDefinition<In extends string> = In extends `${'fragment'}${infer In}` ? TakeName<skipIgnored<In>> extends [infer Name, infer In] ? TakeTypeCondition<skipIgnored<In>> extends [infer TypeCondition, infer In] ? TakeDirectives<skipIgnored<In>, true> extends [infer Directives, infer In] ? TakeSelectionSetContinue<skipIgnored<In>> extends [infer SelectionSet, infer In] ? [
|
|
190
|
+
{
|
|
191
|
+
kind: Kind.FRAGMENT_DEFINITION;
|
|
192
|
+
name: Name;
|
|
193
|
+
typeCondition: TypeCondition;
|
|
194
|
+
directives: Directives;
|
|
195
|
+
selectionSet: SelectionSet;
|
|
196
|
+
},
|
|
197
|
+
In
|
|
198
|
+
] : void : void : void : void : void;
|
|
199
|
+
type TakeOperation<In extends string> = In extends `${'query'}${infer In}` ? [OperationTypeNode.QUERY, In] : In extends `${'mutation'}${infer In}` ? [OperationTypeNode.MUTATION, In] : In extends `${'subscription'}${infer In}` ? [OperationTypeNode.SUBSCRIPTION, In] : void;
|
|
200
|
+
type TakeOperationDefinition<In extends string> = TakeOperation<In> extends [
|
|
201
|
+
infer Operation,
|
|
202
|
+
infer In
|
|
203
|
+
] ? TakeOptionalName<skipIgnored<In>> extends [infer Name, infer In] ? TakeVarDefinitions<skipIgnored<In>> extends [infer VarDefinitions, infer In] ? TakeDirectives<skipIgnored<In>, false> extends [infer Directives, infer In] ? TakeSelectionSetContinue<skipIgnored<In>> extends [infer SelectionSet, infer In] ? [
|
|
204
|
+
{
|
|
205
|
+
kind: Kind.OPERATION_DEFINITION;
|
|
206
|
+
operation: Operation;
|
|
207
|
+
name: Name;
|
|
208
|
+
variableDefinitions: VarDefinitions;
|
|
209
|
+
directives: Directives;
|
|
210
|
+
selectionSet: SelectionSet;
|
|
211
|
+
},
|
|
212
|
+
In
|
|
213
|
+
] : void : void : void : void : TakeSelectionSetContinue<skipIgnored<In>> extends [infer SelectionSet, infer In] ? [
|
|
214
|
+
{
|
|
215
|
+
kind: Kind.OPERATION_DEFINITION;
|
|
216
|
+
operation: OperationTypeNode.QUERY;
|
|
217
|
+
name: undefined;
|
|
218
|
+
variableDefinitions: [];
|
|
219
|
+
directives: [];
|
|
220
|
+
selectionSet: SelectionSet;
|
|
221
|
+
},
|
|
222
|
+
In
|
|
223
|
+
] : void;
|
|
224
|
+
type _TakeDocumentContinue<Definitions extends unknown[], In extends string> = TakeFragmentDefinition<In> extends [infer Definition, infer In] ? _TakeDocumentContinue<[...Definitions, Definition], skipIgnored<In>> : TakeOperationDefinition<In> extends [infer Definition, infer In] ? _TakeDocumentContinue<[...Definitions, Definition], skipIgnored<In>> : [Definitions, In];
|
|
225
|
+
type ParseDocument<In extends string> = _TakeDocumentContinue<[], skipIgnored<In>> extends [
|
|
226
|
+
[
|
|
227
|
+
...infer Definitions
|
|
228
|
+
],
|
|
229
|
+
infer _
|
|
230
|
+
] ? {
|
|
231
|
+
kind: Kind.DOCUMENT;
|
|
232
|
+
definitions: Definitions;
|
|
233
|
+
} : void;
|
|
234
|
+
type ParseValue<In> = TakeValue<skipIgnored<In>, false> extends [infer Node, string] ? Node : void;
|
|
235
|
+
type ParseType<In> = TakeType<skipIgnored<In>> extends [infer Node, string] ? Node : void;
|
|
236
|
+
type ParseOperation<In> = TakeOperation<skipIgnored<In>> extends [infer Node, string] ? Node : void;
|
|
237
|
+
|
|
238
|
+
export { ParseDocument as Document, ParseOperation as Operation, ParseType as Type, ParseValue as Value };
|
package/dist/gql-tada.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gql-tada.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gql-tada.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "gql.tada",
|
|
3
|
+
"description": "The spec-compliant & magical GraphQL query language engine in the TypeScript type system",
|
|
4
|
+
"version": "0.0.0",
|
|
5
|
+
"author": "0no.co <hi@0no.co>",
|
|
6
|
+
"source": "./src/index.ts",
|
|
7
|
+
"main": "./dist/gql-tada",
|
|
8
|
+
"module": "./dist/gql-tada.mjs",
|
|
9
|
+
"types": "./dist/gql-tada.d.ts",
|
|
10
|
+
"sideEffects": false,
|
|
11
|
+
"files": [
|
|
12
|
+
"LICENSE.md",
|
|
13
|
+
"README.md",
|
|
14
|
+
"dist/"
|
|
15
|
+
],
|
|
16
|
+
"exports": {
|
|
17
|
+
".": {
|
|
18
|
+
"types": "./dist/gql-tada.d.ts",
|
|
19
|
+
"import": "./dist/gql-tada.mjs",
|
|
20
|
+
"require": "./dist/gql-tada.js",
|
|
21
|
+
"source": "./src/index.ts"
|
|
22
|
+
},
|
|
23
|
+
"./package.json": "./package.json"
|
|
24
|
+
},
|
|
25
|
+
"dependencies": {
|
|
26
|
+
"@0no-co/graphql.web": "^1.0.4"
|
|
27
|
+
},
|
|
28
|
+
"public": true,
|
|
29
|
+
"keywords": [
|
|
30
|
+
"graphql",
|
|
31
|
+
"graphql-js",
|
|
32
|
+
"client-side graphql"
|
|
33
|
+
],
|
|
34
|
+
"repository": "https://github.com/0no-co/gql.tada",
|
|
35
|
+
"bugs": {
|
|
36
|
+
"url": "https://github.com/0no-co/gql.tada/issues"
|
|
37
|
+
},
|
|
38
|
+
"license": "MIT",
|
|
39
|
+
"prettier": {
|
|
40
|
+
"singleQuote": true,
|
|
41
|
+
"tabWidth": 2,
|
|
42
|
+
"printWidth": 100
|
|
43
|
+
},
|
|
44
|
+
"lint-staged": {
|
|
45
|
+
"*.{ts,js}": "eslint -c scripts/eslint-preset.js --fix",
|
|
46
|
+
"*.json": "prettier --write",
|
|
47
|
+
"*.md": "prettier --write"
|
|
48
|
+
},
|
|
49
|
+
"eslintConfig": {
|
|
50
|
+
"root": true,
|
|
51
|
+
"extends": [
|
|
52
|
+
"./scripts/eslint-preset.js"
|
|
53
|
+
]
|
|
54
|
+
},
|
|
55
|
+
"devDependencies": {
|
|
56
|
+
"@changesets/cli": "^2.26.2",
|
|
57
|
+
"@changesets/get-github-info": "^0.5.2",
|
|
58
|
+
"@rollup/plugin-buble": "^1.0.2",
|
|
59
|
+
"@rollup/plugin-commonjs": "^24.0.1",
|
|
60
|
+
"@rollup/plugin-node-resolve": "^15.0.1",
|
|
61
|
+
"@rollup/plugin-sucrase": "^5.0.1",
|
|
62
|
+
"@rollup/plugin-terser": "^0.4.0",
|
|
63
|
+
"@typescript-eslint/eslint-plugin": "^5.55.0",
|
|
64
|
+
"@typescript-eslint/parser": "^5.55.0",
|
|
65
|
+
"@vitest/coverage-c8": "^0.29.7",
|
|
66
|
+
"dotenv": "^16.0.3",
|
|
67
|
+
"eslint": "^8.36.0",
|
|
68
|
+
"eslint-config-prettier": "^8.7.0",
|
|
69
|
+
"eslint-plugin-prettier": "^4.2.1",
|
|
70
|
+
"eslint-plugin-tsdoc": "^0.2.17",
|
|
71
|
+
"graphql": "^16.6.0",
|
|
72
|
+
"lint-staged": "^13.2.0",
|
|
73
|
+
"npm-run-all": "^4.1.5",
|
|
74
|
+
"prettier": "^2.8.4",
|
|
75
|
+
"rimraf": "^4.4.0",
|
|
76
|
+
"rollup": "^3.19.1",
|
|
77
|
+
"rollup-plugin-cjs-check": "^1.0.2",
|
|
78
|
+
"rollup-plugin-dts": "^5.3.0",
|
|
79
|
+
"terser": "^5.16.6",
|
|
80
|
+
"typescript": "^5.0.2",
|
|
81
|
+
"vitest": "^0.29.7"
|
|
82
|
+
},
|
|
83
|
+
"publishConfig": {
|
|
84
|
+
"access": "public"
|
|
85
|
+
},
|
|
86
|
+
"scripts": {
|
|
87
|
+
"test": "vitest typecheck",
|
|
88
|
+
"check": "tsc",
|
|
89
|
+
"lint": "eslint --ext=js,ts .",
|
|
90
|
+
"build": "rollup -c scripts/rollup.config.mjs",
|
|
91
|
+
"clean": "rimraf dist node_modules/.cache",
|
|
92
|
+
"changeset:version": "changeset version && pnpm install --lockfile-only",
|
|
93
|
+
"changeset:publish": "changeset publish"
|
|
94
|
+
}
|
|
95
|
+
}
|