graphql 16.11.0 → 16.13.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/README.md +49 -6
- package/execution/execute.d.ts +14 -1
- package/execution/execute.js +72 -13
- package/execution/execute.mjs +72 -13
- package/execution/subscribe.js +1 -0
- package/execution/subscribe.mjs +2 -0
- package/index.d.ts +11 -0
- package/index.js +24 -0
- package/index.mjs +6 -2
- package/language/ast.d.ts +45 -1
- package/language/ast.js +14 -1
- package/language/ast.mjs +14 -1
- package/language/index.d.ts +14 -1
- package/language/index.js +12 -0
- package/language/index.mjs +8 -1
- package/language/kinds.d.ts +6 -0
- package/language/kinds.js +5 -0
- package/language/kinds.mjs +5 -0
- package/language/lexer.d.ts +52 -1
- package/language/lexer.js +10 -0
- package/language/lexer.mjs +17 -4
- package/language/parser.d.ts +30 -3
- package/language/parser.js +129 -13
- package/language/parser.mjs +123 -11
- package/language/predicates.d.ts +4 -0
- package/language/predicates.js +11 -0
- package/language/predicates.mjs +9 -0
- package/language/printer.js +42 -13
- package/language/printer.mjs +42 -13
- package/language/schemaCoordinateLexer.d.ts +43 -0
- package/language/schemaCoordinateLexer.js +171 -0
- package/language/schemaCoordinateLexer.mjs +122 -0
- package/language/tokenKind.d.ts +1 -0
- package/language/tokenKind.js +1 -0
- package/language/tokenKind.mjs +1 -0
- package/package.json +1 -1
- package/utilities/index.d.ts +5 -0
- package/utilities/index.js +14 -0
- package/utilities/index.mjs +5 -0
- package/utilities/resolveSchemaCoordinate.d.ts +80 -0
- package/utilities/resolveSchemaCoordinate.js +260 -0
- package/utilities/resolveSchemaCoordinate.mjs +243 -0
- package/validation/rules/ValuesOfCorrectTypeRule.js +7 -36
- package/validation/rules/ValuesOfCorrectTypeRule.mjs +7 -35
- package/validation/validate.js +12 -0
- package/validation/validate.mjs +13 -2
- package/version.js +2 -2
- package/version.mjs +2 -2
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Token } from './ast';
|
|
2
|
+
import type { LexerInterface } from './lexer';
|
|
3
|
+
import type { Source } from './source';
|
|
4
|
+
/**
|
|
5
|
+
* Given a Source schema coordinate, creates a Lexer for that source.
|
|
6
|
+
* A SchemaCoordinateLexer is a stateful stream generator in that every time
|
|
7
|
+
* it is advanced, it returns the next token in the Source. Assuming the
|
|
8
|
+
* source lexes, the final Token emitted by the lexer will be of kind
|
|
9
|
+
* EOF, after which the lexer will repeatedly return the same EOF token
|
|
10
|
+
* whenever called.
|
|
11
|
+
*/
|
|
12
|
+
export declare class SchemaCoordinateLexer implements LexerInterface {
|
|
13
|
+
source: Source;
|
|
14
|
+
/**
|
|
15
|
+
* The previously focused non-ignored token.
|
|
16
|
+
*/
|
|
17
|
+
lastToken: Token;
|
|
18
|
+
/**
|
|
19
|
+
* The currently focused non-ignored token.
|
|
20
|
+
*/
|
|
21
|
+
token: Token;
|
|
22
|
+
/**
|
|
23
|
+
* The (1-indexed) line containing the current token.
|
|
24
|
+
* Since a schema coordinate may not contain newline, this value is always 1.
|
|
25
|
+
*/
|
|
26
|
+
line: 1;
|
|
27
|
+
/**
|
|
28
|
+
* The character offset at which the current line begins.
|
|
29
|
+
* Since a schema coordinate may not contain newline, this value is always 0.
|
|
30
|
+
*/
|
|
31
|
+
lineStart: 0;
|
|
32
|
+
constructor(source: Source);
|
|
33
|
+
get [Symbol.toStringTag](): string;
|
|
34
|
+
/**
|
|
35
|
+
* Advances the token stream to the next non-ignored token.
|
|
36
|
+
*/
|
|
37
|
+
advance(): Token;
|
|
38
|
+
/**
|
|
39
|
+
* Looks ahead and returns the next non-ignored token, but does not change
|
|
40
|
+
* the current Lexer token.
|
|
41
|
+
*/
|
|
42
|
+
lookahead(): Token;
|
|
43
|
+
}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', {
|
|
4
|
+
value: true,
|
|
5
|
+
});
|
|
6
|
+
exports.SchemaCoordinateLexer = void 0;
|
|
7
|
+
|
|
8
|
+
var _syntaxError = require('../error/syntaxError.js');
|
|
9
|
+
|
|
10
|
+
var _ast = require('./ast.js');
|
|
11
|
+
|
|
12
|
+
var _characterClasses = require('./characterClasses.js');
|
|
13
|
+
|
|
14
|
+
var _lexer = require('./lexer.js');
|
|
15
|
+
|
|
16
|
+
var _tokenKind = require('./tokenKind.js');
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Given a Source schema coordinate, creates a Lexer for that source.
|
|
20
|
+
* A SchemaCoordinateLexer is a stateful stream generator in that every time
|
|
21
|
+
* it is advanced, it returns the next token in the Source. Assuming the
|
|
22
|
+
* source lexes, the final Token emitted by the lexer will be of kind
|
|
23
|
+
* EOF, after which the lexer will repeatedly return the same EOF token
|
|
24
|
+
* whenever called.
|
|
25
|
+
*/
|
|
26
|
+
class SchemaCoordinateLexer {
|
|
27
|
+
/**
|
|
28
|
+
* The previously focused non-ignored token.
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* The currently focused non-ignored token.
|
|
33
|
+
*/
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* The (1-indexed) line containing the current token.
|
|
37
|
+
* Since a schema coordinate may not contain newline, this value is always 1.
|
|
38
|
+
*/
|
|
39
|
+
line = 1;
|
|
40
|
+
/**
|
|
41
|
+
* The character offset at which the current line begins.
|
|
42
|
+
* Since a schema coordinate may not contain newline, this value is always 0.
|
|
43
|
+
*/
|
|
44
|
+
|
|
45
|
+
lineStart = 0;
|
|
46
|
+
|
|
47
|
+
constructor(source) {
|
|
48
|
+
const startOfFileToken = new _ast.Token(
|
|
49
|
+
_tokenKind.TokenKind.SOF,
|
|
50
|
+
0,
|
|
51
|
+
0,
|
|
52
|
+
0,
|
|
53
|
+
0,
|
|
54
|
+
);
|
|
55
|
+
this.source = source;
|
|
56
|
+
this.lastToken = startOfFileToken;
|
|
57
|
+
this.token = startOfFileToken;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
get [Symbol.toStringTag]() {
|
|
61
|
+
return 'SchemaCoordinateLexer';
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Advances the token stream to the next non-ignored token.
|
|
65
|
+
*/
|
|
66
|
+
|
|
67
|
+
advance() {
|
|
68
|
+
this.lastToken = this.token;
|
|
69
|
+
const token = (this.token = this.lookahead());
|
|
70
|
+
return token;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Looks ahead and returns the next non-ignored token, but does not change
|
|
74
|
+
* the current Lexer token.
|
|
75
|
+
*/
|
|
76
|
+
|
|
77
|
+
lookahead() {
|
|
78
|
+
let token = this.token;
|
|
79
|
+
|
|
80
|
+
if (token.kind !== _tokenKind.TokenKind.EOF) {
|
|
81
|
+
// Read the next token and form a link in the token linked-list.
|
|
82
|
+
const nextToken = readNextToken(this, token.end); // @ts-expect-error next is only mutable during parsing.
|
|
83
|
+
|
|
84
|
+
token.next = nextToken; // @ts-expect-error prev is only mutable during parsing.
|
|
85
|
+
|
|
86
|
+
nextToken.prev = token;
|
|
87
|
+
token = nextToken;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
return token;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Gets the next token from the source starting at the given position.
|
|
95
|
+
*/
|
|
96
|
+
|
|
97
|
+
exports.SchemaCoordinateLexer = SchemaCoordinateLexer;
|
|
98
|
+
|
|
99
|
+
function readNextToken(lexer, start) {
|
|
100
|
+
const body = lexer.source.body;
|
|
101
|
+
const bodyLength = body.length;
|
|
102
|
+
const position = start;
|
|
103
|
+
|
|
104
|
+
if (position < bodyLength) {
|
|
105
|
+
const code = body.charCodeAt(position);
|
|
106
|
+
|
|
107
|
+
switch (code) {
|
|
108
|
+
case 0x002e:
|
|
109
|
+
// .
|
|
110
|
+
return (0, _lexer.createToken)(
|
|
111
|
+
lexer,
|
|
112
|
+
_tokenKind.TokenKind.DOT,
|
|
113
|
+
position,
|
|
114
|
+
position + 1,
|
|
115
|
+
);
|
|
116
|
+
|
|
117
|
+
case 0x0028:
|
|
118
|
+
// (
|
|
119
|
+
return (0, _lexer.createToken)(
|
|
120
|
+
lexer,
|
|
121
|
+
_tokenKind.TokenKind.PAREN_L,
|
|
122
|
+
position,
|
|
123
|
+
position + 1,
|
|
124
|
+
);
|
|
125
|
+
|
|
126
|
+
case 0x0029:
|
|
127
|
+
// )
|
|
128
|
+
return (0, _lexer.createToken)(
|
|
129
|
+
lexer,
|
|
130
|
+
_tokenKind.TokenKind.PAREN_R,
|
|
131
|
+
position,
|
|
132
|
+
position + 1,
|
|
133
|
+
);
|
|
134
|
+
|
|
135
|
+
case 0x003a:
|
|
136
|
+
// :
|
|
137
|
+
return (0, _lexer.createToken)(
|
|
138
|
+
lexer,
|
|
139
|
+
_tokenKind.TokenKind.COLON,
|
|
140
|
+
position,
|
|
141
|
+
position + 1,
|
|
142
|
+
);
|
|
143
|
+
|
|
144
|
+
case 0x0040:
|
|
145
|
+
// @
|
|
146
|
+
return (0, _lexer.createToken)(
|
|
147
|
+
lexer,
|
|
148
|
+
_tokenKind.TokenKind.AT,
|
|
149
|
+
position,
|
|
150
|
+
position + 1,
|
|
151
|
+
);
|
|
152
|
+
} // Name
|
|
153
|
+
|
|
154
|
+
if ((0, _characterClasses.isNameStart)(code)) {
|
|
155
|
+
return (0, _lexer.readName)(lexer, position);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
throw (0, _syntaxError.syntaxError)(
|
|
159
|
+
lexer.source,
|
|
160
|
+
position,
|
|
161
|
+
`Invalid character: ${(0, _lexer.printCodePointAt)(lexer, position)}.`,
|
|
162
|
+
);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
return (0, _lexer.createToken)(
|
|
166
|
+
lexer,
|
|
167
|
+
_tokenKind.TokenKind.EOF,
|
|
168
|
+
bodyLength,
|
|
169
|
+
bodyLength,
|
|
170
|
+
);
|
|
171
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { syntaxError } from '../error/syntaxError.mjs';
|
|
2
|
+
import { Token } from './ast.mjs';
|
|
3
|
+
import { isNameStart } from './characterClasses.mjs';
|
|
4
|
+
import { createToken, printCodePointAt, readName } from './lexer.mjs';
|
|
5
|
+
import { TokenKind } from './tokenKind.mjs';
|
|
6
|
+
/**
|
|
7
|
+
* Given a Source schema coordinate, creates a Lexer for that source.
|
|
8
|
+
* A SchemaCoordinateLexer is a stateful stream generator in that every time
|
|
9
|
+
* it is advanced, it returns the next token in the Source. Assuming the
|
|
10
|
+
* source lexes, the final Token emitted by the lexer will be of kind
|
|
11
|
+
* EOF, after which the lexer will repeatedly return the same EOF token
|
|
12
|
+
* whenever called.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
export class SchemaCoordinateLexer {
|
|
16
|
+
/**
|
|
17
|
+
* The previously focused non-ignored token.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* The currently focused non-ignored token.
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* The (1-indexed) line containing the current token.
|
|
26
|
+
* Since a schema coordinate may not contain newline, this value is always 1.
|
|
27
|
+
*/
|
|
28
|
+
line = 1;
|
|
29
|
+
/**
|
|
30
|
+
* The character offset at which the current line begins.
|
|
31
|
+
* Since a schema coordinate may not contain newline, this value is always 0.
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
lineStart = 0;
|
|
35
|
+
|
|
36
|
+
constructor(source) {
|
|
37
|
+
const startOfFileToken = new Token(TokenKind.SOF, 0, 0, 0, 0);
|
|
38
|
+
this.source = source;
|
|
39
|
+
this.lastToken = startOfFileToken;
|
|
40
|
+
this.token = startOfFileToken;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
get [Symbol.toStringTag]() {
|
|
44
|
+
return 'SchemaCoordinateLexer';
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Advances the token stream to the next non-ignored token.
|
|
48
|
+
*/
|
|
49
|
+
|
|
50
|
+
advance() {
|
|
51
|
+
this.lastToken = this.token;
|
|
52
|
+
const token = (this.token = this.lookahead());
|
|
53
|
+
return token;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Looks ahead and returns the next non-ignored token, but does not change
|
|
57
|
+
* the current Lexer token.
|
|
58
|
+
*/
|
|
59
|
+
|
|
60
|
+
lookahead() {
|
|
61
|
+
let token = this.token;
|
|
62
|
+
|
|
63
|
+
if (token.kind !== TokenKind.EOF) {
|
|
64
|
+
// Read the next token and form a link in the token linked-list.
|
|
65
|
+
const nextToken = readNextToken(this, token.end); // @ts-expect-error next is only mutable during parsing.
|
|
66
|
+
|
|
67
|
+
token.next = nextToken; // @ts-expect-error prev is only mutable during parsing.
|
|
68
|
+
|
|
69
|
+
nextToken.prev = token;
|
|
70
|
+
token = nextToken;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
return token;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Gets the next token from the source starting at the given position.
|
|
78
|
+
*/
|
|
79
|
+
|
|
80
|
+
function readNextToken(lexer, start) {
|
|
81
|
+
const body = lexer.source.body;
|
|
82
|
+
const bodyLength = body.length;
|
|
83
|
+
const position = start;
|
|
84
|
+
|
|
85
|
+
if (position < bodyLength) {
|
|
86
|
+
const code = body.charCodeAt(position);
|
|
87
|
+
|
|
88
|
+
switch (code) {
|
|
89
|
+
case 0x002e:
|
|
90
|
+
// .
|
|
91
|
+
return createToken(lexer, TokenKind.DOT, position, position + 1);
|
|
92
|
+
|
|
93
|
+
case 0x0028:
|
|
94
|
+
// (
|
|
95
|
+
return createToken(lexer, TokenKind.PAREN_L, position, position + 1);
|
|
96
|
+
|
|
97
|
+
case 0x0029:
|
|
98
|
+
// )
|
|
99
|
+
return createToken(lexer, TokenKind.PAREN_R, position, position + 1);
|
|
100
|
+
|
|
101
|
+
case 0x003a:
|
|
102
|
+
// :
|
|
103
|
+
return createToken(lexer, TokenKind.COLON, position, position + 1);
|
|
104
|
+
|
|
105
|
+
case 0x0040:
|
|
106
|
+
// @
|
|
107
|
+
return createToken(lexer, TokenKind.AT, position, position + 1);
|
|
108
|
+
} // Name
|
|
109
|
+
|
|
110
|
+
if (isNameStart(code)) {
|
|
111
|
+
return readName(lexer, position);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
throw syntaxError(
|
|
115
|
+
lexer.source,
|
|
116
|
+
position,
|
|
117
|
+
`Invalid character: ${printCodePointAt(lexer, position)}.`,
|
|
118
|
+
);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
return createToken(lexer, TokenKind.EOF, bodyLength, bodyLength);
|
|
122
|
+
}
|
package/language/tokenKind.d.ts
CHANGED
package/language/tokenKind.js
CHANGED
package/language/tokenKind.mjs
CHANGED
package/package.json
CHANGED
package/utilities/index.d.ts
CHANGED
|
@@ -59,3 +59,8 @@ export {
|
|
|
59
59
|
} from './findBreakingChanges';
|
|
60
60
|
export type { BreakingChange, DangerousChange } from './findBreakingChanges';
|
|
61
61
|
export type { TypedQueryDocumentNode } from './typedQueryDocumentNode';
|
|
62
|
+
export {
|
|
63
|
+
resolveSchemaCoordinate,
|
|
64
|
+
resolveASTSchemaCoordinate,
|
|
65
|
+
} from './resolveSchemaCoordinate';
|
|
66
|
+
export type { ResolvedSchemaElement } from './resolveSchemaCoordinate';
|
package/utilities/index.js
CHANGED
|
@@ -153,6 +153,18 @@ Object.defineProperty(exports, 'printType', {
|
|
|
153
153
|
return _printSchema.printType;
|
|
154
154
|
},
|
|
155
155
|
});
|
|
156
|
+
Object.defineProperty(exports, 'resolveASTSchemaCoordinate', {
|
|
157
|
+
enumerable: true,
|
|
158
|
+
get: function () {
|
|
159
|
+
return _resolveSchemaCoordinate.resolveASTSchemaCoordinate;
|
|
160
|
+
},
|
|
161
|
+
});
|
|
162
|
+
Object.defineProperty(exports, 'resolveSchemaCoordinate', {
|
|
163
|
+
enumerable: true,
|
|
164
|
+
get: function () {
|
|
165
|
+
return _resolveSchemaCoordinate.resolveSchemaCoordinate;
|
|
166
|
+
},
|
|
167
|
+
});
|
|
156
168
|
Object.defineProperty(exports, 'separateOperations', {
|
|
157
169
|
enumerable: true,
|
|
158
170
|
get: function () {
|
|
@@ -231,3 +243,5 @@ var _typeComparators = require('./typeComparators.js');
|
|
|
231
243
|
var _assertValidName = require('./assertValidName.js');
|
|
232
244
|
|
|
233
245
|
var _findBreakingChanges = require('./findBreakingChanges.js');
|
|
246
|
+
|
|
247
|
+
var _resolveSchemaCoordinate = require('./resolveSchemaCoordinate.js');
|
package/utilities/index.mjs
CHANGED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import type { SchemaCoordinateNode } from '../language/ast';
|
|
2
|
+
import type { Source } from '../language/source';
|
|
3
|
+
import type {
|
|
4
|
+
GraphQLArgument,
|
|
5
|
+
GraphQLEnumType,
|
|
6
|
+
GraphQLEnumValue,
|
|
7
|
+
GraphQLField,
|
|
8
|
+
GraphQLInputField,
|
|
9
|
+
GraphQLInputObjectType,
|
|
10
|
+
GraphQLInterfaceType,
|
|
11
|
+
GraphQLNamedType,
|
|
12
|
+
GraphQLObjectType,
|
|
13
|
+
} from '../type/definition';
|
|
14
|
+
import type { GraphQLDirective } from '../type/directives';
|
|
15
|
+
import type { GraphQLSchema } from '../type/schema';
|
|
16
|
+
/**
|
|
17
|
+
* A resolved schema element may be one of the following kinds:
|
|
18
|
+
*/
|
|
19
|
+
export interface ResolvedNamedType {
|
|
20
|
+
readonly kind: 'NamedType';
|
|
21
|
+
readonly type: GraphQLNamedType;
|
|
22
|
+
}
|
|
23
|
+
export interface ResolvedField {
|
|
24
|
+
readonly kind: 'Field';
|
|
25
|
+
readonly type: GraphQLObjectType | GraphQLInterfaceType;
|
|
26
|
+
readonly field: GraphQLField<unknown, unknown>;
|
|
27
|
+
}
|
|
28
|
+
export interface ResolvedInputField {
|
|
29
|
+
readonly kind: 'InputField';
|
|
30
|
+
readonly type: GraphQLInputObjectType;
|
|
31
|
+
readonly inputField: GraphQLInputField;
|
|
32
|
+
}
|
|
33
|
+
export interface ResolvedEnumValue {
|
|
34
|
+
readonly kind: 'EnumValue';
|
|
35
|
+
readonly type: GraphQLEnumType;
|
|
36
|
+
readonly enumValue: GraphQLEnumValue;
|
|
37
|
+
}
|
|
38
|
+
export interface ResolvedFieldArgument {
|
|
39
|
+
readonly kind: 'FieldArgument';
|
|
40
|
+
readonly type: GraphQLObjectType | GraphQLInterfaceType;
|
|
41
|
+
readonly field: GraphQLField<unknown, unknown>;
|
|
42
|
+
readonly fieldArgument: GraphQLArgument;
|
|
43
|
+
}
|
|
44
|
+
export interface ResolvedDirective {
|
|
45
|
+
readonly kind: 'Directive';
|
|
46
|
+
readonly directive: GraphQLDirective;
|
|
47
|
+
}
|
|
48
|
+
export interface ResolvedDirectiveArgument {
|
|
49
|
+
readonly kind: 'DirectiveArgument';
|
|
50
|
+
readonly directive: GraphQLDirective;
|
|
51
|
+
readonly directiveArgument: GraphQLArgument;
|
|
52
|
+
}
|
|
53
|
+
export declare type ResolvedSchemaElement =
|
|
54
|
+
| ResolvedNamedType
|
|
55
|
+
| ResolvedField
|
|
56
|
+
| ResolvedInputField
|
|
57
|
+
| ResolvedEnumValue
|
|
58
|
+
| ResolvedFieldArgument
|
|
59
|
+
| ResolvedDirective
|
|
60
|
+
| ResolvedDirectiveArgument;
|
|
61
|
+
/**
|
|
62
|
+
* A schema coordinate is resolved in the context of a GraphQL schema to
|
|
63
|
+
* uniquely identify a schema element. It returns undefined if the schema
|
|
64
|
+
* coordinate does not resolve to a schema element, meta-field, or introspection
|
|
65
|
+
* schema element. It will throw if the containing schema element (if
|
|
66
|
+
* applicable) does not exist.
|
|
67
|
+
*
|
|
68
|
+
* https://spec.graphql.org/draft/#sec-Schema-Coordinates.Semantics
|
|
69
|
+
*/
|
|
70
|
+
export declare function resolveSchemaCoordinate(
|
|
71
|
+
schema: GraphQLSchema,
|
|
72
|
+
schemaCoordinate: string | Source,
|
|
73
|
+
): ResolvedSchemaElement | undefined;
|
|
74
|
+
/**
|
|
75
|
+
* Resolves schema coordinate from a parsed SchemaCoordinate node.
|
|
76
|
+
*/
|
|
77
|
+
export declare function resolveASTSchemaCoordinate(
|
|
78
|
+
schema: GraphQLSchema,
|
|
79
|
+
schemaCoordinate: SchemaCoordinateNode,
|
|
80
|
+
): ResolvedSchemaElement | undefined;
|