diff options
Diffstat (limited to 'node_modules/terser/tools/terser.d.ts')
-rw-r--r-- | node_modules/terser/tools/terser.d.ts | 794 |
1 files changed, 794 insertions, 0 deletions
diff --git a/node_modules/terser/tools/terser.d.ts b/node_modules/terser/tools/terser.d.ts new file mode 100644 index 0000000..ca9bd07 --- /dev/null +++ b/node_modules/terser/tools/terser.d.ts @@ -0,0 +1,794 @@ +/// <reference lib="es2015" /> + +import { RawSourceMap } from 'source-map'; + +/** @deprecated since this versions basically do not exist */ +type ECMA_UNOFFICIAL = 6 | 7 | 8 | 9 | 10 | 11; + +export type ECMA = 5 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | ECMA_UNOFFICIAL; + +export interface ParseOptions { + bare_returns?: boolean; + ecma?: ECMA; + html5_comments?: boolean; + shebang?: boolean; +} + +export interface CompressOptions { + arguments?: boolean; + arrows?: boolean; + booleans_as_integers?: boolean; + booleans?: boolean; + collapse_vars?: boolean; + comparisons?: boolean; + computed_props?: boolean; + conditionals?: boolean; + dead_code?: boolean; + defaults?: boolean; + directives?: boolean; + drop_console?: boolean; + drop_debugger?: boolean; + ecma?: ECMA; + evaluate?: boolean; + expression?: boolean; + global_defs?: object; + hoist_funs?: boolean; + hoist_props?: boolean; + hoist_vars?: boolean; + ie8?: boolean; + if_return?: boolean; + inline?: boolean | InlineFunctions; + join_vars?: boolean; + keep_classnames?: boolean | RegExp; + keep_fargs?: boolean; + keep_fnames?: boolean | RegExp; + keep_infinity?: boolean; + loops?: boolean; + module?: boolean; + negate_iife?: boolean; + passes?: number; + properties?: boolean; + pure_funcs?: string[]; + pure_getters?: boolean | 'strict'; + reduce_funcs?: boolean; + reduce_vars?: boolean; + sequences?: boolean | number; + side_effects?: boolean; + switches?: boolean; + toplevel?: boolean; + top_retain?: null | string | string[] | RegExp; + typeofs?: boolean; + unsafe_arrows?: boolean; + unsafe?: boolean; + unsafe_comps?: boolean; + unsafe_Function?: boolean; + unsafe_math?: boolean; + unsafe_symbols?: boolean; + unsafe_methods?: boolean; + unsafe_proto?: boolean; + unsafe_regexp?: boolean; + unsafe_undefined?: boolean; + unused?: boolean; + warnings?: boolean; +} + +export enum InlineFunctions { + Disabled = 0, + SimpleFunctions = 1, + WithArguments = 2, + WithArgumentsAndVariables = 3 +} + +export interface MangleOptions { + eval?: boolean; + keep_classnames?: boolean | RegExp; + keep_fnames?: boolean | RegExp; + module?: boolean; + properties?: boolean | ManglePropertiesOptions; + reserved?: string[]; + safari10?: boolean; + toplevel?: boolean; +} + +export interface ManglePropertiesOptions { + builtins?: boolean; + debug?: boolean; + keep_quoted?: boolean | 'strict'; + regex?: RegExp | string; + reserved?: string[]; +} + +export interface OutputOptions { + ascii_only?: boolean; + beautify?: boolean; + braces?: boolean; + comments?: boolean | 'all' | 'some' | RegExp | ( (node: AST_Node, comment: { + value: string, + type: 'comment1' | 'comment2' | 'comment3' | 'comment4', + pos: number, + line: number, + col: number, + }) => boolean ); + ecma?: ECMA; + ie8?: boolean; + indent_level?: number; + indent_start?: number; + inline_script?: boolean; + keep_quoted_props?: boolean; + max_line_len?: number | false; + preamble?: string; + preserve_annotations?: boolean; + quote_keys?: boolean; + quote_style?: OutputQuoteStyle; + safari10?: boolean; + semicolons?: boolean; + shebang?: boolean; + shorthand?: boolean; + source_map?: SourceMapOptions; + webkit?: boolean; + width?: number; + wrap_iife?: boolean; + wrap_func_args?: boolean; +} + +export enum OutputQuoteStyle { + PreferDouble = 0, + AlwaysSingle = 1, + AlwaysDouble = 2, + AlwaysOriginal = 3 +} + +export interface MinifyOptions { + compress?: boolean | CompressOptions; + ecma?: ECMA; + ie8?: boolean; + keep_classnames?: boolean | RegExp; + keep_fnames?: boolean | RegExp; + mangle?: boolean | MangleOptions; + module?: boolean; + nameCache?: object; + output?: OutputOptions; + parse?: ParseOptions; + safari10?: boolean; + sourceMap?: boolean | SourceMapOptions; + toplevel?: boolean; + warnings?: boolean | 'verbose'; +} + +export interface MinifyOutput { + ast?: AST_Node; + code?: string; + error?: Error; + map?: RawSourceMap | string; + warnings?: string[]; +} + +export interface SourceMapOptions { + /** Source map object, 'inline' or source map file content */ + content?: RawSourceMap | string; + includeSources?: boolean; + filename?: string; + root?: string; + url?: string | 'inline'; +} + +declare function parse(text: string, options?: ParseOptions): AST_Node; + +export class TreeWalker { + constructor(callback: (node: AST_Node, descend?: (node: AST_Node) => void) => boolean | undefined); + directives: object; + find_parent(type: AST_Node): AST_Node | undefined; + has_directive(type: string): boolean; + loopcontrol_target(node: AST_Node): AST_Node | undefined; + parent(n: number): AST_Node | undefined; + pop(): void; + push(node: AST_Node): void; + self(): AST_Node | undefined; + stack: AST_Node[]; + visit: (node: AST_Node, descend: boolean) => any; +} + +export class TreeTransformer extends TreeWalker { + constructor( + before: (node: AST_Node, descend?: (node: AST_Node, tw: TreeWalker) => void, in_list?: boolean) => AST_Node | undefined, + after?: (node: AST_Node, in_list?: boolean) => AST_Node | undefined + ); + before: (node: AST_Node) => AST_Node; + after?: (node: AST_Node) => AST_Node; +} + +export function push_uniq<T>(array: T[], el: T): void; + +export function minify(files: string | string[] | { [file: string]: string } | AST_Node, options?: MinifyOptions): MinifyOutput; + +export class AST_Node { + constructor(props?: object); + static BASE?: AST_Node; + static PROPS: string[]; + static SELF_PROPS: string[]; + static SUBCLASSES: AST_Node[]; + static documentation: string; + static propdoc?: Record<string, string>; + static expressions?: AST_Node[]; + static warn?: (text: string, props: any) => void; + static from_mozilla_ast?: (node: AST_Node) => any; + walk: (visitor: TreeWalker) => void; + print_to_string: (options?: OutputOptions) => string; + transform: (tt: TreeTransformer, in_list?: boolean) => AST_Node; + TYPE: string; + CTOR: typeof AST_Node; +} + +declare class SymbolDef { + constructor(scope?: AST_Scope, orig?: object, init?: object); + name: string; + orig: AST_SymbolRef[]; + init: AST_SymbolRef; + eliminated: number; + scope: AST_Scope; + references: AST_SymbolRef[]; + replaced: number; + global: boolean; + export: boolean; + mangled_name: null | string; + undeclared: boolean; + id: number; +} + +type ArgType = AST_SymbolFunarg | AST_DefaultAssign | AST_Destructuring | AST_Expansion; + +declare class AST_Statement extends AST_Node { + constructor(props?: object); +} + +declare class AST_Debugger extends AST_Statement { + constructor(props?: object); +} + +declare class AST_Directive extends AST_Statement { + constructor(props?: object); + value: string; + quote: string; +} + +declare class AST_SimpleStatement extends AST_Statement { + constructor(props?: object); + body: AST_Node[]; +} + +declare class AST_Block extends AST_Statement { + constructor(props?: object); + body: AST_Node[]; + block_scope: AST_Scope | null; +} + +declare class AST_BlockStatement extends AST_Block { + constructor(props?: object); +} + +declare class AST_Scope extends AST_Block { + constructor(props?: object); + variables: any; + functions: any; + uses_with: boolean; + uses_eval: boolean; + parent_scope: AST_Scope | null; + enclosed: any; + cname: any; +} + +declare class AST_Toplevel extends AST_Scope { + constructor(props?: object); + globals: any; +} + +declare class AST_Lambda extends AST_Scope { + constructor(props?: object); + name: AST_SymbolDeclaration | null; + argnames: ArgType[]; + uses_arguments: boolean; + is_generator: boolean; + async: boolean; +} + +declare class AST_Accessor extends AST_Lambda { + constructor(props?: object); +} + +declare class AST_Function extends AST_Lambda { + constructor(props?: object); +} + +declare class AST_Arrow extends AST_Lambda { + constructor(props?: object); +} + +declare class AST_Defun extends AST_Lambda { + constructor(props?: object); +} + +declare class AST_Class extends AST_Scope { + constructor(props?: object); + name: AST_SymbolClass | AST_SymbolDefClass | null; + extends: AST_Node | null; + properties: AST_ObjectProperty[]; +} + +declare class AST_DefClass extends AST_Class { + constructor(props?: object); +} + +declare class AST_ClassExpression extends AST_Class { + constructor(props?: object); +} + +declare class AST_Switch extends AST_Block { + constructor(props?: object); + expression: AST_Node; +} + +declare class AST_SwitchBranch extends AST_Block { + constructor(props?: object); +} + +declare class AST_Default extends AST_SwitchBranch { + constructor(props?: object); +} + +declare class AST_Case extends AST_SwitchBranch { + constructor(props?: object); + expression: AST_Node; +} + +declare class AST_Try extends AST_Block { + constructor(props?: object); + bcatch: AST_Catch; + bfinally: null | AST_Finally; +} + +declare class AST_Catch extends AST_Block { + constructor(props?: object); + argname: ArgType; +} + +declare class AST_Finally extends AST_Block { + constructor(props?: object); +} + +declare class AST_EmptyStatement extends AST_Statement { + constructor(props?: object); +} + +declare class AST_StatementWithBody extends AST_Statement { + constructor(props?: object); + body: AST_Node[]; +} + +declare class AST_LabeledStatement extends AST_StatementWithBody { + constructor(props?: object); + label: AST_Label; +} + +declare class AST_IterationStatement extends AST_StatementWithBody { + constructor(props?: object); + block_scope: AST_Scope | null; +} + +declare class AST_DWLoop extends AST_IterationStatement { + constructor(props?: object); + condition: AST_Node; +} + +declare class AST_Do extends AST_DWLoop { + constructor(props?: object); +} + +declare class AST_While extends AST_DWLoop { + constructor(props?: object); +} + +declare class AST_For extends AST_IterationStatement { + constructor(props?: object); + init: AST_Node | null; + condition: AST_Node | null; + step: AST_Node | null; +} + +declare class AST_ForIn extends AST_IterationStatement { + constructor(props?: object); + init: AST_Node | null; + object: AST_Node; +} + +declare class AST_ForOf extends AST_ForIn { + constructor(props?: object); + await: boolean; +} + +declare class AST_With extends AST_StatementWithBody { + constructor(props?: object); + expression: AST_Node; +} + +declare class AST_If extends AST_StatementWithBody { + constructor(props?: object); + condition: AST_Node; + alternative: AST_Node | null; +} + +declare class AST_Jump extends AST_Statement { + constructor(props?: object); +} + +declare class AST_Exit extends AST_Jump { + constructor(props?: object); + value: AST_Node | null; +} + +declare class AST_Return extends AST_Exit { + constructor(props?: object); +} + +declare class AST_Throw extends AST_Exit { + constructor(props?: object); +} + +declare class AST_LoopControl extends AST_Jump { + constructor(props?: object); + label: null | AST_LabelRef; +} + +declare class AST_Break extends AST_LoopControl { + constructor(props?: object); +} + +declare class AST_Continue extends AST_LoopControl { + constructor(props?: object); +} + +declare class AST_Definitions extends AST_Statement { + constructor(props?: object); + definitions: AST_VarDef[]; +} + +declare class AST_Var extends AST_Definitions { + constructor(props?: object); +} + +declare class AST_Let extends AST_Definitions { + constructor(props?: object); +} + +declare class AST_Const extends AST_Definitions { + constructor(props?: object); +} + +declare class AST_Export extends AST_Statement { + constructor(props?: object); + exported_definition: AST_Definitions | AST_Lambda | AST_DefClass | null; + exported_value: AST_Node | null; + is_default: boolean; + exported_names: AST_NameMapping[]; + module_name: AST_String; +} + +declare class AST_Expansion extends AST_Node { + constructor(props?: object); + expression: AST_Node; +} + +declare class AST_Destructuring extends AST_Node { + constructor(props?: object); + names: AST_Node[]; + is_array: boolean; +} + +declare class AST_PrefixedTemplateString extends AST_Node { + constructor(props?: object); + template_string: AST_TemplateString; + prefix: AST_Node; +} + +declare class AST_TemplateString extends AST_Node { + constructor(props?: object); + segments: AST_Node[]; +} + +declare class AST_TemplateSegment extends AST_Node { + constructor(props?: object); + value: string; + raw: string; +} + +declare class AST_NameMapping extends AST_Node { + constructor(props?: object); + foreign_name: AST_Symbol; + name: AST_SymbolExport | AST_SymbolImport; +} + +declare class AST_Import extends AST_Node { + constructor(props?: object); + imported_name: null | AST_SymbolImport; + imported_names: AST_NameMapping[]; + module_name: AST_String; +} + +declare class AST_VarDef extends AST_Node { + constructor(props?: object); + name: AST_Destructuring | AST_SymbolConst | AST_SymbolLet | AST_SymbolVar; + value: AST_Node | null; +} + +declare class AST_Call extends AST_Node { + constructor(props?: object); + expression: AST_Node; + args: AST_Node[]; +} + +declare class AST_New extends AST_Call { + constructor(props?: object); +} + +declare class AST_Sequence extends AST_Node { + constructor(props?: object); + expressions: AST_Node[]; +} + +declare class AST_PropAccess extends AST_Node { + constructor(props?: object); + expression: AST_Node; + property: AST_Node | string; +} + +declare class AST_Dot extends AST_PropAccess { + constructor(props?: object); +} + +declare class AST_Sub extends AST_PropAccess { + constructor(props?: object); +} + +declare class AST_Unary extends AST_Node { + constructor(props?: object); + operator: string; + expression: AST_Node; +} + +declare class AST_UnaryPrefix extends AST_Unary { + constructor(props?: object); +} + +declare class AST_UnaryPostfix extends AST_Unary { + constructor(props?: object); +} + +declare class AST_Binary extends AST_Node { + constructor(props?: object); + operator: string; + left: AST_Node; + right: AST_Node; +} + +declare class AST_Assign extends AST_Binary { + constructor(props?: object); +} + +declare class AST_DefaultAssign extends AST_Binary { + constructor(props?: object); +} + +declare class AST_Conditional extends AST_Node { + constructor(props?: object); + condition: AST_Node; + consequent: AST_Node; + alternative: AST_Node; +} + +declare class AST_Array extends AST_Node { + constructor(props?: object); + elements: AST_Node[]; +} + +declare class AST_Object extends AST_Node { + constructor(props?: object); + properties: AST_ObjectProperty[]; +} + +declare class AST_ObjectProperty extends AST_Node { + constructor(props?: object); + key: string | number | AST_Node; + value: AST_Node; +} + +declare class AST_ObjectKeyVal extends AST_ObjectProperty { + constructor(props?: object); + quote: string; +} + +declare class AST_ObjectSetter extends AST_ObjectProperty { + constructor(props?: object); + quote: string; + static: boolean; +} + +declare class AST_ObjectGetter extends AST_ObjectProperty { + constructor(props?: object); + quote: string; + static: boolean; +} + +declare class AST_ConciseMethod extends AST_ObjectProperty { + constructor(props?: object); + quote: string; + static: boolean; + is_generator: boolean; + async: boolean; +} + +declare class AST_Symbol extends AST_Node { + constructor(props?: object); + scope: AST_Scope; + name: string; + thedef: SymbolDef; +} + +declare class AST_SymbolDeclaration extends AST_Symbol { + constructor(props?: object); + init: AST_Node | null; +} + +declare class AST_SymbolVar extends AST_SymbolDeclaration { + constructor(props?: object); +} + +declare class AST_SymbolFunarg extends AST_SymbolVar { + constructor(props?: object); +} + +declare class AST_SymbolBlockDeclaration extends AST_SymbolDeclaration { + constructor(props?: object); +} + +declare class AST_SymbolConst extends AST_SymbolBlockDeclaration { + constructor(props?: object); +} + +declare class AST_SymbolLet extends AST_SymbolBlockDeclaration { + constructor(props?: object); +} + +declare class AST_SymbolDefClass extends AST_SymbolBlockDeclaration { + constructor(props?: object); +} + +declare class AST_SymbolCatch extends AST_SymbolBlockDeclaration { + constructor(props?: object); +} + +declare class AST_SymbolImport extends AST_SymbolBlockDeclaration { + constructor(props?: object); +} + +declare class AST_SymbolDefun extends AST_SymbolDeclaration { + constructor(props?: object); +} + +declare class AST_SymbolLambda extends AST_SymbolDeclaration { + constructor(props?: object); +} + +declare class AST_SymbolClass extends AST_SymbolDeclaration { + constructor(props?: object); +} + +declare class AST_SymbolMethod extends AST_Symbol { + constructor(props?: object); +} + +declare class AST_SymbolImportForeign extends AST_Symbol { + constructor(props?: object); +} + +declare class AST_Label extends AST_Symbol { + constructor(props?: object); + references: AST_LoopControl | null; +} + +declare class AST_SymbolRef extends AST_Symbol { + constructor(props?: object); +} + +declare class AST_SymbolExport extends AST_SymbolRef { + constructor(props?: object); +} + +declare class AST_SymbolExportForeign extends AST_Symbol { + constructor(props?: object); +} + +declare class AST_LabelRef extends AST_Symbol { + constructor(props?: object); +} + +declare class AST_This extends AST_Symbol { + constructor(props?: object); +} + +declare class AST_Super extends AST_This { + constructor(props?: object); +} + +declare class AST_NewTarget extends AST_Node { + constructor(props?: object); +} + +declare class AST_Constant extends AST_Node { + constructor(props?: object); +} + +declare class AST_String extends AST_Constant { + constructor(props?: object); + value: string; + quote: string; +} + +declare class AST_Number extends AST_Constant { + constructor(props?: object); + value: number; + literal: string; +} + +declare class AST_RegExp extends AST_Constant { + constructor(props?: object); + value: { + source: string, + flags: string + }; +} + +declare class AST_Atom extends AST_Constant { + constructor(props?: object); +} + +declare class AST_Null extends AST_Atom { + constructor(props?: object); +} + +declare class AST_NaN extends AST_Atom { + constructor(props?: object); +} + +declare class AST_Undefined extends AST_Atom { + constructor(props?: object); +} + +declare class AST_Hole extends AST_Atom { + constructor(props?: object); +} + +declare class AST_Infinity extends AST_Atom { + constructor(props?: object); +} + +declare class AST_Boolean extends AST_Atom { + constructor(props?: object); +} + +declare class AST_False extends AST_Boolean { + constructor(props?: object); +} + +declare class AST_True extends AST_Boolean { + constructor(props?: object); +} + +declare class AST_Await extends AST_Node { + constructor(props?: object); + expression: AST_Node; +} + +declare class AST_Yield extends AST_Node { + constructor(props?: object); + expression: AST_Node; + is_star: boolean; +} |