inital upload
This commit is contained in:
565
node_modules/graphql/language/parser.d.ts
generated
vendored
Normal file
565
node_modules/graphql/language/parser.d.ts
generated
vendored
Normal file
@@ -0,0 +1,565 @@
|
||||
import type { Maybe } from '../jsutils/Maybe';
|
||||
import type { GraphQLError } from '../error/GraphQLError';
|
||||
import type {
|
||||
ArgumentNode,
|
||||
ConstArgumentNode,
|
||||
ConstDirectiveNode,
|
||||
ConstListValueNode,
|
||||
ConstObjectFieldNode,
|
||||
ConstObjectValueNode,
|
||||
ConstValueNode,
|
||||
DefinitionNode,
|
||||
DirectiveDefinitionNode,
|
||||
DirectiveNode,
|
||||
DocumentNode,
|
||||
EnumTypeDefinitionNode,
|
||||
EnumTypeExtensionNode,
|
||||
EnumValueDefinitionNode,
|
||||
FieldDefinitionNode,
|
||||
FieldNode,
|
||||
FragmentDefinitionNode,
|
||||
FragmentSpreadNode,
|
||||
InlineFragmentNode,
|
||||
InputObjectTypeDefinitionNode,
|
||||
InputObjectTypeExtensionNode,
|
||||
InputValueDefinitionNode,
|
||||
InterfaceTypeDefinitionNode,
|
||||
InterfaceTypeExtensionNode,
|
||||
ListValueNode,
|
||||
NamedTypeNode,
|
||||
NameNode,
|
||||
ObjectFieldNode,
|
||||
ObjectTypeDefinitionNode,
|
||||
ObjectTypeExtensionNode,
|
||||
ObjectValueNode,
|
||||
OperationDefinitionNode,
|
||||
OperationTypeDefinitionNode,
|
||||
ScalarTypeDefinitionNode,
|
||||
ScalarTypeExtensionNode,
|
||||
SchemaDefinitionNode,
|
||||
SchemaExtensionNode,
|
||||
SelectionNode,
|
||||
SelectionSetNode,
|
||||
StringValueNode,
|
||||
Token,
|
||||
TypeNode,
|
||||
TypeSystemExtensionNode,
|
||||
UnionTypeDefinitionNode,
|
||||
UnionTypeExtensionNode,
|
||||
ValueNode,
|
||||
VariableDefinitionNode,
|
||||
VariableNode,
|
||||
} from './ast';
|
||||
import { Location, OperationTypeNode } from './ast';
|
||||
import { Lexer } from './lexer';
|
||||
import { Source } from './source';
|
||||
import { TokenKind } from './tokenKind';
|
||||
/**
|
||||
* Configuration options to control parser behavior
|
||||
*/
|
||||
export interface ParseOptions {
|
||||
/**
|
||||
* By default, the parser creates AST nodes that know the location
|
||||
* in the source that they correspond to. This configuration flag
|
||||
* disables that behavior for performance or testing.
|
||||
*/
|
||||
noLocation?: boolean;
|
||||
/**
|
||||
* Parser CPU and memory usage is linear to the number of tokens in a document
|
||||
* however in extreme cases it becomes quadratic due to memory exhaustion.
|
||||
* Parsing happens before validation so even invalid queries can burn lots of
|
||||
* CPU time and memory.
|
||||
* To prevent this you can set a maximum number of tokens allowed within a document.
|
||||
*/
|
||||
maxTokens?: number | undefined;
|
||||
/**
|
||||
* @deprecated will be removed in the v17.0.0
|
||||
*
|
||||
* If enabled, the parser will understand and parse variable definitions
|
||||
* contained in a fragment definition. They'll be represented in the
|
||||
* `variableDefinitions` field of the FragmentDefinitionNode.
|
||||
*
|
||||
* The syntax is identical to normal, query-defined variables. For example:
|
||||
*
|
||||
* ```graphql
|
||||
* fragment A($var: Boolean = false) on T {
|
||||
* ...
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
allowLegacyFragmentVariables?: boolean;
|
||||
}
|
||||
/**
|
||||
* Given a GraphQL source, parses it into a Document.
|
||||
* Throws GraphQLError if a syntax error is encountered.
|
||||
*/
|
||||
export declare function parse(
|
||||
source: string | Source,
|
||||
options?: ParseOptions | undefined,
|
||||
): DocumentNode;
|
||||
/**
|
||||
* Given a string containing a GraphQL value (ex. `[42]`), parse the AST for
|
||||
* that value.
|
||||
* Throws GraphQLError if a syntax error is encountered.
|
||||
*
|
||||
* This is useful within tools that operate upon GraphQL Values directly and
|
||||
* in isolation of complete GraphQL documents.
|
||||
*
|
||||
* Consider providing the results to the utility function: valueFromAST().
|
||||
*/
|
||||
export declare function parseValue(
|
||||
source: string | Source,
|
||||
options?: ParseOptions | undefined,
|
||||
): ValueNode;
|
||||
/**
|
||||
* Similar to parseValue(), but raises a parse error if it encounters a
|
||||
* variable. The return type will be a constant value.
|
||||
*/
|
||||
export declare function parseConstValue(
|
||||
source: string | Source,
|
||||
options?: ParseOptions | undefined,
|
||||
): ConstValueNode;
|
||||
/**
|
||||
* Given a string containing a GraphQL Type (ex. `[Int!]`), parse the AST for
|
||||
* that type.
|
||||
* Throws GraphQLError if a syntax error is encountered.
|
||||
*
|
||||
* This is useful within tools that operate upon GraphQL Types directly and
|
||||
* in isolation of complete GraphQL documents.
|
||||
*
|
||||
* Consider providing the results to the utility function: typeFromAST().
|
||||
*/
|
||||
export declare function parseType(
|
||||
source: string | Source,
|
||||
options?: ParseOptions | undefined,
|
||||
): TypeNode;
|
||||
/**
|
||||
* This class is exported only to assist people in implementing their own parsers
|
||||
* without duplicating too much code and should be used only as last resort for cases
|
||||
* such as experimental syntax or if certain features could not be contributed upstream.
|
||||
*
|
||||
* It is still part of the internal API and is versioned, so any changes to it are never
|
||||
* considered breaking changes. If you still need to support multiple versions of the
|
||||
* library, please use the `versionInfo` variable for version detection.
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
export declare class Parser {
|
||||
protected _options: ParseOptions;
|
||||
protected _lexer: Lexer;
|
||||
protected _tokenCounter: number;
|
||||
constructor(source: string | Source, options?: ParseOptions);
|
||||
get tokenCount(): number;
|
||||
/**
|
||||
* Converts a name lex token into a name parse node.
|
||||
*/
|
||||
parseName(): NameNode;
|
||||
/**
|
||||
* Document : Definition+
|
||||
*/
|
||||
parseDocument(): DocumentNode;
|
||||
/**
|
||||
* Definition :
|
||||
* - ExecutableDefinition
|
||||
* - TypeSystemDefinition
|
||||
* - TypeSystemExtension
|
||||
*
|
||||
* ExecutableDefinition :
|
||||
* - OperationDefinition
|
||||
* - FragmentDefinition
|
||||
*
|
||||
* TypeSystemDefinition :
|
||||
* - SchemaDefinition
|
||||
* - TypeDefinition
|
||||
* - DirectiveDefinition
|
||||
*
|
||||
* TypeDefinition :
|
||||
* - ScalarTypeDefinition
|
||||
* - ObjectTypeDefinition
|
||||
* - InterfaceTypeDefinition
|
||||
* - UnionTypeDefinition
|
||||
* - EnumTypeDefinition
|
||||
* - InputObjectTypeDefinition
|
||||
*/
|
||||
parseDefinition(): DefinitionNode;
|
||||
/**
|
||||
* OperationDefinition :
|
||||
* - SelectionSet
|
||||
* - OperationType Name? VariableDefinitions? Directives? SelectionSet
|
||||
*/
|
||||
parseOperationDefinition(): OperationDefinitionNode;
|
||||
/**
|
||||
* OperationType : one of query mutation subscription
|
||||
*/
|
||||
parseOperationType(): OperationTypeNode;
|
||||
/**
|
||||
* VariableDefinitions : ( VariableDefinition+ )
|
||||
*/
|
||||
parseVariableDefinitions(): Array<VariableDefinitionNode>;
|
||||
/**
|
||||
* VariableDefinition : Variable : Type DefaultValue? Directives[Const]?
|
||||
*/
|
||||
parseVariableDefinition(): VariableDefinitionNode;
|
||||
/**
|
||||
* Variable : $ Name
|
||||
*/
|
||||
parseVariable(): VariableNode;
|
||||
/**
|
||||
* ```
|
||||
* SelectionSet : { Selection+ }
|
||||
* ```
|
||||
*/
|
||||
parseSelectionSet(): SelectionSetNode;
|
||||
/**
|
||||
* Selection :
|
||||
* - Field
|
||||
* - FragmentSpread
|
||||
* - InlineFragment
|
||||
*/
|
||||
parseSelection(): SelectionNode;
|
||||
/**
|
||||
* Field : Alias? Name Arguments? Directives? SelectionSet?
|
||||
*
|
||||
* Alias : Name :
|
||||
*/
|
||||
parseField(): FieldNode;
|
||||
/**
|
||||
* Arguments[Const] : ( Argument[?Const]+ )
|
||||
*/
|
||||
parseArguments(isConst: true): Array<ConstArgumentNode>;
|
||||
parseArguments(isConst: boolean): Array<ArgumentNode>;
|
||||
/**
|
||||
* Argument[Const] : Name : Value[?Const]
|
||||
*/
|
||||
parseArgument(isConst: true): ConstArgumentNode;
|
||||
parseArgument(isConst?: boolean): ArgumentNode;
|
||||
parseConstArgument(): ConstArgumentNode;
|
||||
/**
|
||||
* Corresponds to both FragmentSpread and InlineFragment in the spec.
|
||||
*
|
||||
* FragmentSpread : ... FragmentName Directives?
|
||||
*
|
||||
* InlineFragment : ... TypeCondition? Directives? SelectionSet
|
||||
*/
|
||||
parseFragment(): FragmentSpreadNode | InlineFragmentNode;
|
||||
/**
|
||||
* FragmentDefinition :
|
||||
* - fragment FragmentName on TypeCondition Directives? SelectionSet
|
||||
*
|
||||
* TypeCondition : NamedType
|
||||
*/
|
||||
parseFragmentDefinition(): FragmentDefinitionNode;
|
||||
/**
|
||||
* FragmentName : Name but not `on`
|
||||
*/
|
||||
parseFragmentName(): NameNode;
|
||||
/**
|
||||
* Value[Const] :
|
||||
* - [~Const] Variable
|
||||
* - IntValue
|
||||
* - FloatValue
|
||||
* - StringValue
|
||||
* - BooleanValue
|
||||
* - NullValue
|
||||
* - EnumValue
|
||||
* - ListValue[?Const]
|
||||
* - ObjectValue[?Const]
|
||||
*
|
||||
* BooleanValue : one of `true` `false`
|
||||
*
|
||||
* NullValue : `null`
|
||||
*
|
||||
* EnumValue : Name but not `true`, `false` or `null`
|
||||
*/
|
||||
parseValueLiteral(isConst: true): ConstValueNode;
|
||||
parseValueLiteral(isConst: boolean): ValueNode;
|
||||
parseConstValueLiteral(): ConstValueNode;
|
||||
parseStringLiteral(): StringValueNode;
|
||||
/**
|
||||
* ListValue[Const] :
|
||||
* - [ ]
|
||||
* - [ Value[?Const]+ ]
|
||||
*/
|
||||
parseList(isConst: true): ConstListValueNode;
|
||||
parseList(isConst: boolean): ListValueNode;
|
||||
/**
|
||||
* ```
|
||||
* ObjectValue[Const] :
|
||||
* - { }
|
||||
* - { ObjectField[?Const]+ }
|
||||
* ```
|
||||
*/
|
||||
parseObject(isConst: true): ConstObjectValueNode;
|
||||
parseObject(isConst: boolean): ObjectValueNode;
|
||||
/**
|
||||
* ObjectField[Const] : Name : Value[?Const]
|
||||
*/
|
||||
parseObjectField(isConst: true): ConstObjectFieldNode;
|
||||
parseObjectField(isConst: boolean): ObjectFieldNode;
|
||||
/**
|
||||
* Directives[Const] : Directive[?Const]+
|
||||
*/
|
||||
parseDirectives(isConst: true): Array<ConstDirectiveNode>;
|
||||
parseDirectives(isConst: boolean): Array<DirectiveNode>;
|
||||
parseConstDirectives(): Array<ConstDirectiveNode>;
|
||||
/**
|
||||
* ```
|
||||
* Directive[Const] : @ Name Arguments[?Const]?
|
||||
* ```
|
||||
*/
|
||||
parseDirective(isConst: true): ConstDirectiveNode;
|
||||
parseDirective(isConst: boolean): DirectiveNode;
|
||||
/**
|
||||
* Type :
|
||||
* - NamedType
|
||||
* - ListType
|
||||
* - NonNullType
|
||||
*/
|
||||
parseTypeReference(): TypeNode;
|
||||
/**
|
||||
* NamedType : Name
|
||||
*/
|
||||
parseNamedType(): NamedTypeNode;
|
||||
peekDescription(): boolean;
|
||||
/**
|
||||
* Description : StringValue
|
||||
*/
|
||||
parseDescription(): undefined | StringValueNode;
|
||||
/**
|
||||
* ```
|
||||
* SchemaDefinition : Description? schema Directives[Const]? { OperationTypeDefinition+ }
|
||||
* ```
|
||||
*/
|
||||
parseSchemaDefinition(): SchemaDefinitionNode;
|
||||
/**
|
||||
* OperationTypeDefinition : OperationType : NamedType
|
||||
*/
|
||||
parseOperationTypeDefinition(): OperationTypeDefinitionNode;
|
||||
/**
|
||||
* ScalarTypeDefinition : Description? scalar Name Directives[Const]?
|
||||
*/
|
||||
parseScalarTypeDefinition(): ScalarTypeDefinitionNode;
|
||||
/**
|
||||
* ObjectTypeDefinition :
|
||||
* Description?
|
||||
* type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition?
|
||||
*/
|
||||
parseObjectTypeDefinition(): ObjectTypeDefinitionNode;
|
||||
/**
|
||||
* ImplementsInterfaces :
|
||||
* - implements `&`? NamedType
|
||||
* - ImplementsInterfaces & NamedType
|
||||
*/
|
||||
parseImplementsInterfaces(): Array<NamedTypeNode>;
|
||||
/**
|
||||
* ```
|
||||
* FieldsDefinition : { FieldDefinition+ }
|
||||
* ```
|
||||
*/
|
||||
parseFieldsDefinition(): Array<FieldDefinitionNode>;
|
||||
/**
|
||||
* FieldDefinition :
|
||||
* - Description? Name ArgumentsDefinition? : Type Directives[Const]?
|
||||
*/
|
||||
parseFieldDefinition(): FieldDefinitionNode;
|
||||
/**
|
||||
* ArgumentsDefinition : ( InputValueDefinition+ )
|
||||
*/
|
||||
parseArgumentDefs(): Array<InputValueDefinitionNode>;
|
||||
/**
|
||||
* InputValueDefinition :
|
||||
* - Description? Name : Type DefaultValue? Directives[Const]?
|
||||
*/
|
||||
parseInputValueDef(): InputValueDefinitionNode;
|
||||
/**
|
||||
* InterfaceTypeDefinition :
|
||||
* - Description? interface Name Directives[Const]? FieldsDefinition?
|
||||
*/
|
||||
parseInterfaceTypeDefinition(): InterfaceTypeDefinitionNode;
|
||||
/**
|
||||
* UnionTypeDefinition :
|
||||
* - Description? union Name Directives[Const]? UnionMemberTypes?
|
||||
*/
|
||||
parseUnionTypeDefinition(): UnionTypeDefinitionNode;
|
||||
/**
|
||||
* UnionMemberTypes :
|
||||
* - = `|`? NamedType
|
||||
* - UnionMemberTypes | NamedType
|
||||
*/
|
||||
parseUnionMemberTypes(): Array<NamedTypeNode>;
|
||||
/**
|
||||
* EnumTypeDefinition :
|
||||
* - Description? enum Name Directives[Const]? EnumValuesDefinition?
|
||||
*/
|
||||
parseEnumTypeDefinition(): EnumTypeDefinitionNode;
|
||||
/**
|
||||
* ```
|
||||
* EnumValuesDefinition : { EnumValueDefinition+ }
|
||||
* ```
|
||||
*/
|
||||
parseEnumValuesDefinition(): Array<EnumValueDefinitionNode>;
|
||||
/**
|
||||
* EnumValueDefinition : Description? EnumValue Directives[Const]?
|
||||
*/
|
||||
parseEnumValueDefinition(): EnumValueDefinitionNode;
|
||||
/**
|
||||
* EnumValue : Name but not `true`, `false` or `null`
|
||||
*/
|
||||
parseEnumValueName(): NameNode;
|
||||
/**
|
||||
* InputObjectTypeDefinition :
|
||||
* - Description? input Name Directives[Const]? InputFieldsDefinition?
|
||||
*/
|
||||
parseInputObjectTypeDefinition(): InputObjectTypeDefinitionNode;
|
||||
/**
|
||||
* ```
|
||||
* InputFieldsDefinition : { InputValueDefinition+ }
|
||||
* ```
|
||||
*/
|
||||
parseInputFieldsDefinition(): Array<InputValueDefinitionNode>;
|
||||
/**
|
||||
* TypeSystemExtension :
|
||||
* - SchemaExtension
|
||||
* - TypeExtension
|
||||
*
|
||||
* TypeExtension :
|
||||
* - ScalarTypeExtension
|
||||
* - ObjectTypeExtension
|
||||
* - InterfaceTypeExtension
|
||||
* - UnionTypeExtension
|
||||
* - EnumTypeExtension
|
||||
* - InputObjectTypeDefinition
|
||||
*/
|
||||
parseTypeSystemExtension(): TypeSystemExtensionNode;
|
||||
/**
|
||||
* ```
|
||||
* SchemaExtension :
|
||||
* - extend schema Directives[Const]? { OperationTypeDefinition+ }
|
||||
* - extend schema Directives[Const]
|
||||
* ```
|
||||
*/
|
||||
parseSchemaExtension(): SchemaExtensionNode;
|
||||
/**
|
||||
* ScalarTypeExtension :
|
||||
* - extend scalar Name Directives[Const]
|
||||
*/
|
||||
parseScalarTypeExtension(): ScalarTypeExtensionNode;
|
||||
/**
|
||||
* ObjectTypeExtension :
|
||||
* - extend type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition
|
||||
* - extend type Name ImplementsInterfaces? Directives[Const]
|
||||
* - extend type Name ImplementsInterfaces
|
||||
*/
|
||||
parseObjectTypeExtension(): ObjectTypeExtensionNode;
|
||||
/**
|
||||
* InterfaceTypeExtension :
|
||||
* - extend interface Name ImplementsInterfaces? Directives[Const]? FieldsDefinition
|
||||
* - extend interface Name ImplementsInterfaces? Directives[Const]
|
||||
* - extend interface Name ImplementsInterfaces
|
||||
*/
|
||||
parseInterfaceTypeExtension(): InterfaceTypeExtensionNode;
|
||||
/**
|
||||
* UnionTypeExtension :
|
||||
* - extend union Name Directives[Const]? UnionMemberTypes
|
||||
* - extend union Name Directives[Const]
|
||||
*/
|
||||
parseUnionTypeExtension(): UnionTypeExtensionNode;
|
||||
/**
|
||||
* EnumTypeExtension :
|
||||
* - extend enum Name Directives[Const]? EnumValuesDefinition
|
||||
* - extend enum Name Directives[Const]
|
||||
*/
|
||||
parseEnumTypeExtension(): EnumTypeExtensionNode;
|
||||
/**
|
||||
* InputObjectTypeExtension :
|
||||
* - extend input Name Directives[Const]? InputFieldsDefinition
|
||||
* - extend input Name Directives[Const]
|
||||
*/
|
||||
parseInputObjectTypeExtension(): InputObjectTypeExtensionNode;
|
||||
/**
|
||||
* ```
|
||||
* DirectiveDefinition :
|
||||
* - Description? directive @ Name ArgumentsDefinition? `repeatable`? on DirectiveLocations
|
||||
* ```
|
||||
*/
|
||||
parseDirectiveDefinition(): DirectiveDefinitionNode;
|
||||
/**
|
||||
* DirectiveLocations :
|
||||
* - `|`? DirectiveLocation
|
||||
* - DirectiveLocations | DirectiveLocation
|
||||
*/
|
||||
parseDirectiveLocations(): Array<NameNode>;
|
||||
parseDirectiveLocation(): NameNode;
|
||||
/**
|
||||
* Returns a node that, if configured to do so, sets a "loc" field as a
|
||||
* location object, used to identify the place in the source that created a
|
||||
* given parsed object.
|
||||
*/
|
||||
node<
|
||||
T extends {
|
||||
loc?: Location;
|
||||
},
|
||||
>(startToken: Token, node: T): T;
|
||||
/**
|
||||
* Determines if the next token is of a given kind
|
||||
*/
|
||||
peek(kind: TokenKind): boolean;
|
||||
/**
|
||||
* If the next token is of the given kind, return that token after advancing the lexer.
|
||||
* Otherwise, do not change the parser state and throw an error.
|
||||
*/
|
||||
expectToken(kind: TokenKind): Token;
|
||||
/**
|
||||
* If the next token is of the given kind, return "true" after advancing the lexer.
|
||||
* Otherwise, do not change the parser state and return "false".
|
||||
*/
|
||||
expectOptionalToken(kind: TokenKind): boolean;
|
||||
/**
|
||||
* If the next token is a given keyword, advance the lexer.
|
||||
* Otherwise, do not change the parser state and throw an error.
|
||||
*/
|
||||
expectKeyword(value: string): void;
|
||||
/**
|
||||
* If the next token is a given keyword, return "true" after advancing the lexer.
|
||||
* Otherwise, do not change the parser state and return "false".
|
||||
*/
|
||||
expectOptionalKeyword(value: string): boolean;
|
||||
/**
|
||||
* Helper function for creating an error when an unexpected lexed token is encountered.
|
||||
*/
|
||||
unexpected(atToken?: Maybe<Token>): GraphQLError;
|
||||
/**
|
||||
* Returns a possibly empty list of parse nodes, determined by the parseFn.
|
||||
* This list begins with a lex token of openKind and ends with a lex token of closeKind.
|
||||
* Advances the parser to the next lex token after the closing token.
|
||||
*/
|
||||
any<T>(openKind: TokenKind, parseFn: () => T, closeKind: TokenKind): Array<T>;
|
||||
/**
|
||||
* Returns a list of parse nodes, determined by the parseFn.
|
||||
* It can be empty only if open token is missing otherwise it will always return non-empty list
|
||||
* that begins with a lex token of openKind and ends with a lex token of closeKind.
|
||||
* Advances the parser to the next lex token after the closing token.
|
||||
*/
|
||||
optionalMany<T>(
|
||||
openKind: TokenKind,
|
||||
parseFn: () => T,
|
||||
closeKind: TokenKind,
|
||||
): Array<T>;
|
||||
/**
|
||||
* Returns a non-empty list of parse nodes, determined by the parseFn.
|
||||
* This list begins with a lex token of openKind and ends with a lex token of closeKind.
|
||||
* Advances the parser to the next lex token after the closing token.
|
||||
*/
|
||||
many<T>(
|
||||
openKind: TokenKind,
|
||||
parseFn: () => T,
|
||||
closeKind: TokenKind,
|
||||
): Array<T>;
|
||||
/**
|
||||
* Returns a non-empty list of parse nodes, determined by the parseFn.
|
||||
* This list may begin with a lex token of delimiterKind followed by items separated by lex tokens of tokenKind.
|
||||
* Advances the parser to the next lex token after last item in the list.
|
||||
*/
|
||||
delimitedMany<T>(delimiterKind: TokenKind, parseFn: () => T): Array<T>;
|
||||
advanceLexer(): void;
|
||||
}
|
||||
Reference in New Issue
Block a user