You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					228 lines
				
				6.6 KiB
			
		
		
			
		
	
	
					228 lines
				
				6.6 KiB
			| 
											3 years ago
										 | // This file is auto-generated! Do not modify it directly.
 | ||
|  | /* eslint-disable import/no-extraneous-dependencies, @typescript-eslint/consistent-type-imports, prettier/prettier */ | ||
|  | import * as _babel_types from '@babel/types'; | ||
|  | 
 | ||
|  | type Plugin = | ||
|  |   | "asyncDoExpressions" | ||
|  |   | "asyncGenerators" | ||
|  |   | "bigInt" | ||
|  |   | "classPrivateMethods" | ||
|  |   | "classPrivateProperties" | ||
|  |   | "classProperties" | ||
|  |   | "classStaticBlock" // Enabled by default
 | ||
|  |   | "decimal" | ||
|  |   | "decorators-legacy" | ||
|  |   | "decoratorAutoAccessors" | ||
|  |   | "destructuringPrivate" | ||
|  |   | "doExpressions" | ||
|  |   | "dynamicImport" | ||
|  |   | "explicitResourceManagement" | ||
|  |   | "exportDefaultFrom" | ||
|  |   | "exportNamespaceFrom" // deprecated
 | ||
|  |   | "flow" | ||
|  |   | "flowComments" | ||
|  |   | "functionBind" | ||
|  |   | "functionSent" | ||
|  |   | "importMeta" | ||
|  |   | "jsx" | ||
|  |   | "logicalAssignment" | ||
|  |   | "importAssertions" | ||
|  |   | "importReflection" | ||
|  |   | "moduleBlocks" | ||
|  |   | "moduleStringNames" | ||
|  |   | "nullishCoalescingOperator" | ||
|  |   | "numericSeparator" | ||
|  |   | "objectRestSpread" | ||
|  |   | "optionalCatchBinding" | ||
|  |   | "optionalChaining" | ||
|  |   | "partialApplication" | ||
|  |   | "placeholders" | ||
|  |   | "privateIn" // Enabled by default
 | ||
|  |   | "regexpUnicodeSets" | ||
|  |   | "throwExpressions" | ||
|  |   | "topLevelAwait" | ||
|  |   | "v8intrinsic" | ||
|  |   | ParserPluginWithOptions[0]; | ||
|  | 
 | ||
|  | type ParserPluginWithOptions = | ||
|  |   | ["decorators", DecoratorsPluginOptions] | ||
|  |   | ["estree", { classFeatures?: boolean }] | ||
|  |   // @deprecated
 | ||
|  |   | ["moduleAttributes", { version: "may-2020" }] | ||
|  |   | ["pipelineOperator", PipelineOperatorPluginOptions] | ||
|  |   | ["recordAndTuple", RecordAndTuplePluginOptions] | ||
|  |   | ["flow", FlowPluginOptions] | ||
|  |   | ["typescript", TypeScriptPluginOptions]; | ||
|  | 
 | ||
|  | type PluginConfig = Plugin | ParserPluginWithOptions; | ||
|  | 
 | ||
|  | interface DecoratorsPluginOptions { | ||
|  |   decoratorsBeforeExport?: boolean; | ||
|  |   allowCallParenthesized?: boolean; | ||
|  | } | ||
|  | 
 | ||
|  | interface PipelineOperatorPluginOptions { | ||
|  |   proposal: "minimal" | "fsharp" | "hack" | "smart"; | ||
|  |   topicToken?: "%" | "#" | "@@" | "^^" | "^"; | ||
|  | } | ||
|  | 
 | ||
|  | interface RecordAndTuplePluginOptions { | ||
|  |   syntaxType: "bar" | "hash"; | ||
|  | } | ||
|  | 
 | ||
|  | interface FlowPluginOptions { | ||
|  |   all?: boolean; | ||
|  |   enums?: boolean; | ||
|  | } | ||
|  | 
 | ||
|  | interface TypeScriptPluginOptions { | ||
|  |   dts?: boolean; | ||
|  |   disallowAmbiguousJSXLike?: boolean; | ||
|  | } | ||
|  | 
 | ||
|  | // Type definitions for @babel/parser
 | ||
|  | // Project: https://github.com/babel/babel/tree/main/packages/babel-parser
 | ||
|  | // Definitions by: Troy Gerwien <https://github.com/yortus>
 | ||
|  | //                 Marvin Hagemeister <https://github.com/marvinhagemeister>
 | ||
|  | //                 Avi Vahl <https://github.com/AviVahl>
 | ||
|  | // TypeScript Version: 2.9
 | ||
|  | 
 | ||
|  | /** | ||
|  |  * Parse the provided code as an entire ECMAScript program. | ||
|  |  */ | ||
|  | declare function parse( | ||
|  |   input: string, | ||
|  |   options?: ParserOptions | ||
|  | ): ParseResult<_babel_types.File>; | ||
|  | 
 | ||
|  | /** | ||
|  |  * Parse the provided code as a single expression. | ||
|  |  */ | ||
|  | declare function parseExpression( | ||
|  |   input: string, | ||
|  |   options?: ParserOptions | ||
|  | ): ParseResult<_babel_types.Expression>; | ||
|  | 
 | ||
|  | interface ParserOptions { | ||
|  |   /** | ||
|  |    * By default, import and export declarations can only appear at a program's top level. | ||
|  |    * Setting this option to true allows them anywhere where a statement is allowed. | ||
|  |    */ | ||
|  |   allowImportExportEverywhere?: boolean; | ||
|  | 
 | ||
|  |   /** | ||
|  |    * By default, await use is not allowed outside of an async function. | ||
|  |    * Set this to true to accept such code. | ||
|  |    */ | ||
|  |   allowAwaitOutsideFunction?: boolean; | ||
|  | 
 | ||
|  |   /** | ||
|  |    * By default, a return statement at the top level raises an error. | ||
|  |    * Set this to true to accept such code. | ||
|  |    */ | ||
|  |   allowReturnOutsideFunction?: boolean; | ||
|  | 
 | ||
|  |   allowSuperOutsideMethod?: boolean; | ||
|  | 
 | ||
|  |   /** | ||
|  |    * By default, exported identifiers must refer to a declared variable. | ||
|  |    * Set this to true to allow export statements to reference undeclared variables. | ||
|  |    */ | ||
|  |   allowUndeclaredExports?: boolean; | ||
|  | 
 | ||
|  |   /** | ||
|  |    * By default, Babel attaches comments to adjacent AST nodes. | ||
|  |    * When this option is set to false, comments are not attached. | ||
|  |    * It can provide up to 30% performance improvement when the input code has many comments. | ||
|  |    * @babel/eslint-parser will set it for you. | ||
|  |    * It is not recommended to use attachComment: false with Babel transform, | ||
|  |    * as doing so removes all the comments in output code, and renders annotations such as | ||
|  |    * /* istanbul ignore next *\/ nonfunctional. | ||
|  |    */ | ||
|  |   attachComment?: boolean; | ||
|  | 
 | ||
|  |   /** | ||
|  |    * By default, Babel always throws an error when it finds some invalid code. | ||
|  |    * When this option is set to true, it will store the parsing error and | ||
|  |    * try to continue parsing the invalid input file. | ||
|  |    */ | ||
|  |   errorRecovery?: boolean; | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Indicate the mode the code should be parsed in. | ||
|  |    * Can be one of "script", "module", or "unambiguous". Defaults to "script". | ||
|  |    * "unambiguous" will make @babel/parser attempt to guess, based on the presence | ||
|  |    * of ES6 import or export statements. | ||
|  |    * Files with ES6 imports and exports are considered "module" and are otherwise "script". | ||
|  |    */ | ||
|  |   sourceType?: "script" | "module" | "unambiguous"; | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Correlate output AST nodes with their source filename. | ||
|  |    * Useful when generating code and source maps from the ASTs of multiple input files. | ||
|  |    */ | ||
|  |   sourceFilename?: string; | ||
|  | 
 | ||
|  |   /** | ||
|  |    * By default, the first line of code parsed is treated as line 1. | ||
|  |    * You can provide a line number to alternatively start with. | ||
|  |    * Useful for integration with other source tools. | ||
|  |    */ | ||
|  |   startLine?: number; | ||
|  | 
 | ||
|  |   /** | ||
|  |    * By default, the parsed code is treated as if it starts from line 1, column 0. | ||
|  |    * You can provide a column number to alternatively start with. | ||
|  |    * Useful for integration with other source tools. | ||
|  |    */ | ||
|  |   startColumn?: number; | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Array containing the plugins that you want to enable. | ||
|  |    */ | ||
|  |   plugins?: ParserPlugin[]; | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Should the parser work in strict mode. | ||
|  |    * Defaults to true if sourceType === 'module'. Otherwise, false. | ||
|  |    */ | ||
|  |   strictMode?: boolean; | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Adds a ranges property to each node: [node.start, node.end] | ||
|  |    */ | ||
|  |   ranges?: boolean; | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Adds all parsed tokens to a tokens property on the File node. | ||
|  |    */ | ||
|  |   tokens?: boolean; | ||
|  | 
 | ||
|  |   /** | ||
|  |    * By default, the parser adds information about parentheses by setting | ||
|  |    * `extra.parenthesized` to `true` as needed. | ||
|  |    * When this option is `true` the parser creates `ParenthesizedExpression` | ||
|  |    * AST nodes instead of using the `extra` property. | ||
|  |    */ | ||
|  |   createParenthesizedExpressions?: boolean; | ||
|  | } | ||
|  | 
 | ||
|  | type ParserPlugin = PluginConfig; | ||
|  | 
 | ||
|  | 
 | ||
|  | declare const tokTypes: { | ||
|  |   // todo(flow->ts) real token type
 | ||
|  |   [name: string]: any; | ||
|  | }; | ||
|  | 
 | ||
|  | interface ParseError { | ||
|  |   code: string; | ||
|  |   reasonCode: string; | ||
|  | } | ||
|  | 
 | ||
|  | type ParseResult<Result> = Result & { | ||
|  |   errors: ParseError[]; | ||
|  | }; | ||
|  | 
 | ||
|  | export { DecoratorsPluginOptions, FlowPluginOptions, ParseError, ParseResult, ParserOptions, ParserPlugin, ParserPluginWithOptions, PipelineOperatorPluginOptions, RecordAndTuplePluginOptions, TypeScriptPluginOptions, parse, parseExpression, tokTypes }; |