diff options
Diffstat (limited to 'node_modules/@babel/parser/typings')
| -rw-r--r-- | node_modules/@babel/parser/typings/babel-parser.d.ts | 206 | 
1 files changed, 206 insertions, 0 deletions
diff --git a/node_modules/@babel/parser/typings/babel-parser.d.ts b/node_modules/@babel/parser/typings/babel-parser.d.ts new file mode 100644 index 0000000..5ba49fd --- /dev/null +++ b/node_modules/@babel/parser/typings/babel-parser.d.ts @@ -0,0 +1,206 @@ +// 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. + */ +export function parse( +  input: string, +  options?: ParserOptions +): ParseResult<import("@babel/types").File>; + +/** + * Parse the provided code as a single expression. + */ +export function parseExpression( +  input: string, +  options?: ParserOptions +): ParseResult<import("@babel/types").Expression>; + +export 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; + +  /** +   * 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; +} + +export type ParserPlugin = +  | "asyncDoExpressions" +  | "asyncGenerators" +  | "bigInt" +  | "classPrivateMethods" +  | "classPrivateProperties" +  | "classProperties" +  | "classStaticBlock" // Enabled by default +  | "decimal" +  | "decorators" +  | "decorators-legacy" +  | "decoratorAutoAccessors" +  | "destructuringPrivate" +  | "doExpressions" +  | "dynamicImport" +  | "estree" +  | "exportDefaultFrom" +  | "exportNamespaceFrom" // deprecated +  | "flow" +  | "flowComments" +  | "functionBind" +  | "functionSent" +  | "importMeta" +  | "jsx" +  | "logicalAssignment" +  | "importAssertions" +  | "moduleBlocks" +  | "moduleStringNames" +  | "nullishCoalescingOperator" +  | "numericSeparator" +  | "objectRestSpread" +  | "optionalCatchBinding" +  | "optionalChaining" +  | "partialApplication" +  | "pipelineOperator" +  | "placeholders" +  | "privateIn" // Enabled by default +  | "regexpUnicodeSets" +  | "throwExpressions" +  | "topLevelAwait" +  | "typescript" +  | "v8intrinsic" +  | ParserPluginWithOptions; + +export type ParserPluginWithOptions = +  | ["decorators", DecoratorsPluginOptions] +  | ["pipelineOperator", PipelineOperatorPluginOptions] +  | ["recordAndTuple", RecordAndTuplePluginOptions] +  | ["flow", FlowPluginOptions] +  | ["typescript", TypeScriptPluginOptions]; + +export interface DecoratorsPluginOptions { +  decoratorsBeforeExport?: boolean; +} + +export interface PipelineOperatorPluginOptions { +  proposal: "minimal" | "fsharp" | "hack" | "smart"; +  topicToken?: "%" | "#" | "@@" | "^^"; +} + +export interface RecordAndTuplePluginOptions { +  syntaxType: "bar" | "hash"; +} + +export interface FlowPluginOptions { +  all?: boolean; +} + +export interface TypeScriptPluginOptions { +  dts?: boolean; +  disallowAmbiguousJSXLike?: boolean; +} + +export const tokTypes: { +  // todo(flow->ts) real token type +  [name: string]: any; +}; + +export interface ParseError { +  code: string; +  reasonCode: string; +} + +type ParseResult<Result> = Result & { +  errors: ParseError[]; +};  | 
