123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780 |
- /// <reference lib="es2015" />
-
- import { RawSourceMap } from 'source-map';
-
- export type ECMA = 5 | 6 | 7 | 8 | 9;
-
- export interface ParseOptions {
- bare_returns?: boolean;
- ecma?: ECMA;
- html5_comments?: boolean;
- shebang?: boolean;
- }
-
- export interface CompressOptions {
- arguments?: boolean;
- arrows?: 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;
- 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?: boolean;
- unsafe_arrows?: boolean;
- unsafe_comps?: boolean;
- unsafe_Function?: boolean;
- unsafe_math?: 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;
- regex?: RegExp | string;
- reserved?: string[];
- }
-
- export interface OutputOptions {
- ascii_only?: boolean;
- beautify?: boolean;
- braces?: boolean;
- comments?: boolean | 'all' | 'some' | RegExp | Function;
- ecma?: ECMA;
- indent_level?: number;
- indent_start?: boolean;
- inline_script?: boolean;
- ie8?: boolean;
- keep_quoted_props?: boolean;
- max_line_len?: boolean;
- preamble?: string;
- quote_keys?: boolean;
- quote_style?: OutputQuoteStyle;
- safari10?: boolean;
- semicolons?: boolean;
- shebang?: boolean;
- shorthand?: boolean;
- source_map?: SourceMapOptions;
- webkit?: boolean;
- width?: number;
- wrap_iife?: 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 {
- content?: RawSourceMap;
- 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);
- inlined: boolean;
- }
-
- declare class AST_Arrow extends AST_Lambda {
- constructor(props?: object);
- inlined: boolean;
- }
-
- declare class AST_Defun extends AST_Lambda {
- constructor(props?: object);
- inlined: boolean;
- }
-
- declare class AST_Class extends AST_Scope {
- constructor(props?: object);
- name: AST_SymbolClass | AST_SymbolDefClass | null;
- extends: AST_Node | null;
- properties: AST_ObjectProperty[];
- inlined: boolean;
- }
-
- 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: RegExp;
- }
-
- 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;
- }
|