File tree Expand file tree Collapse file tree 1 file changed +13
-0
lines changed Expand file tree Collapse file tree 1 file changed +13
-0
lines changed Original file line number Diff line number Diff line change @@ -117,6 +117,7 @@ type ParseIdentifier<Input extends string> = ReadLetters<Input>
117
117
* - `*`
118
118
* - `field`
119
119
* - `field(nodes)`
120
+ * - `field!hint(nodes)`
120
121
* - `renamed_field:field`
121
122
* - `renamed_field:field(nodes)`
122
123
* - `renamed_field:field!hint(nodes)`
@@ -160,6 +161,18 @@ type ParseNode<Input extends string> = Input extends ''
160
161
: // `renamed_field:field`
161
162
[ { name : Name ; original : OriginalName } , EatWhitespace < Remainder > ]
162
163
: ParseIdentifier < EatWhitespace < Remainder > >
164
+ : EatWhitespace < Remainder > extends `!${infer Remainder } `
165
+ ? ParseIdentifier < EatWhitespace < Remainder > > extends [ infer _Hint , `${infer Remainder } `]
166
+ ? ParseEmbeddedResource < EatWhitespace < Remainder > > extends [
167
+ infer _Fields ,
168
+ `${infer Remainder } `
169
+ ]
170
+ ? // `field!hint(nodes)`
171
+ [ { name : Name ; foreignTable : true } , EatWhitespace < Remainder > ]
172
+ : ParseEmbeddedResource < EatWhitespace < Remainder > > extends ParserError < string >
173
+ ? ParseEmbeddedResource < EatWhitespace < Remainder > >
174
+ : ParserError < 'Expected embedded resource after `!hint`' >
175
+ : ParserError < 'Expected identifier after `!`' >
163
176
: ParseEmbeddedResource < EatWhitespace < Remainder > > extends [ infer _Fields , `${infer Remainder } `]
164
177
? // `field(nodes)`
165
178
[ { name : Name ; foreignTable : true } , EatWhitespace < Remainder > ]
You can’t perform that action at this time.
0 commit comments