242 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			242 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| 
								 | 
							
								// 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" // deprecated
							 | 
						||
| 
								 | 
							
								  | "importAttributes"
							 | 
						||
| 
								 | 
							
								  | "importReflection"
							 | 
						||
| 
								 | 
							
								  | "moduleBlocks"
							 | 
						||
| 
								 | 
							
								  | "moduleStringNames"
							 | 
						||
| 
								 | 
							
								  | "nullishCoalescingOperator"
							 | 
						||
| 
								 | 
							
								  | "numericSeparator"
							 | 
						||
| 
								 | 
							
								  | "objectRestSpread"
							 | 
						||
| 
								 | 
							
								  | "optionalCatchBinding"
							 | 
						||
| 
								 | 
							
								  | "optionalChaining"
							 | 
						||
| 
								 | 
							
								  | "partialApplication"
							 | 
						||
| 
								 | 
							
								  | "placeholders"
							 | 
						||
| 
								 | 
							
								  | "privateIn" // Enabled by default
							 | 
						||
| 
								 | 
							
								  | "regexpUnicodeSets" // Enabled by default
							 | 
						||
| 
								 | 
							
								  | "throwExpressions"
							 | 
						||
| 
								 | 
							
								  | "topLevelAwait"
							 | 
						||
| 
								 | 
							
								  | "v8intrinsic"
							 | 
						||
| 
								 | 
							
								  | ParserPluginWithOptions[0];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								type ParserPluginWithOptions =
							 | 
						||
| 
								 | 
							
								  | ["decorators", DecoratorsPluginOptions]
							 | 
						||
| 
								 | 
							
								  | ["estree", { classFeatures?: boolean }]
							 | 
						||
| 
								 | 
							
								  | ["importAttributes", { deprecatedAssertSyntax: 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;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * By default, new.target use is not allowed outside of a function or class.
							 | 
						||
| 
								 | 
							
								   * Set this to true to accept such code.
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  allowNewTargetOutsideFunction?: 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 parser JavaScript code according to Annex B syntax.
							 | 
						||
| 
								 | 
							
								   * Set this to `false` to disable such behavior.
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  annexB?: 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 };
							 |