| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216 | 
							- /// <reference lib="es2015" />
 
- import { SectionedSourceMapInput, EncodedSourceMap, DecodedSourceMap } from '@jridgewell/source-map';
 
- export type ECMA = 5 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020;
 
- export type ConsoleProperty = keyof typeof console;
 
- type DropConsoleOption = boolean | ConsoleProperty[];
 
- export interface ParseOptions {
 
-     bare_returns?: boolean;
 
-     /** @deprecated legacy option. Currently, all supported EcmaScript is valid to parse. */
 
-     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?: DropConsoleOption;
 
-     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_new?: boolean;
 
-     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;
 
- }
 
- 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;
 
-     nth_identifier?: SimpleIdentifierMangler | WeightedIdentifierMangler;
 
-     properties?: boolean | ManglePropertiesOptions;
 
-     reserved?: string[];
 
-     safari10?: boolean;
 
-     toplevel?: boolean;
 
- }
 
- /**
 
-  * An identifier mangler for which the output is invariant with respect to the source code.
 
-  */
 
- export interface SimpleIdentifierMangler {
 
-     /**
 
-      * Obtains the nth most favored (usually shortest) identifier to rename a variable to.
 
-      * The mangler will increment n and retry until the return value is not in use in scope, and is not a reserved word.
 
-      * This function is expected to be stable; Evaluating get(n) === get(n) should always return true.
 
-      * @param n The ordinal of the identifier.
 
-      */
 
-     get(n: number): string;
 
- }
 
- /**
 
-  * An identifier mangler that leverages character frequency analysis to determine identifier precedence.
 
-  */
 
- export interface WeightedIdentifierMangler extends SimpleIdentifierMangler {
 
-     /**
 
-      * Modifies the internal weighting of the input characters by the specified delta.
 
-      * Will be invoked on the entire printed AST, and then deduct mangleable identifiers.
 
-      * @param chars The characters to modify the weighting of.
 
-      * @param delta The numeric weight to add to the characters.
 
-      */
 
-     consider(chars: string, delta: number): number;
 
-     /**
 
-      * Resets character weights.
 
-      */
 
-     reset(): void;
 
-     /**
 
-      * Sorts identifiers by character frequency, in preparation for calls to get(n).
 
-      */
 
-     sort(): void;
 
- }
 
- export interface ManglePropertiesOptions {
 
-     builtins?: boolean;
 
-     debug?: boolean;
 
-     keep_quoted?: boolean | 'strict';
 
-     nth_identifier?: SimpleIdentifierMangler | WeightedIdentifierMangler;
 
-     regex?: RegExp | string;
 
-     reserved?: string[];
 
- }
 
- export interface FormatOptions {
 
-     ascii_only?: boolean;
 
-     /** @deprecated Not implemented anymore */
 
-     beautify?: boolean;
 
-     braces?: boolean;
 
-     comments?: boolean | 'all' | 'some' | RegExp | ( (node: any, comment: {
 
-         value: string,
 
-         type: 'comment1' | 'comment2' | 'comment3' | 'comment4',
 
-         pos: number,
 
-         line: number,
 
-         col: number,
 
-     }) => boolean );
 
-     ecma?: ECMA;
 
-     ie8?: boolean;
 
-     keep_numbers?: 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;
 
-     enclose?: boolean | string;
 
-     ie8?: boolean;
 
-     keep_classnames?: boolean | RegExp;
 
-     keep_fnames?: boolean | RegExp;
 
-     mangle?: boolean | MangleOptions;
 
-     module?: boolean;
 
-     nameCache?: object;
 
-     format?: FormatOptions;
 
-     /** @deprecated */
 
-     output?: FormatOptions;
 
-     parse?: ParseOptions;
 
-     safari10?: boolean;
 
-     sourceMap?: boolean | SourceMapOptions;
 
-     toplevel?: boolean;
 
- }
 
- export interface MinifyOutput {
 
-     code?: string;
 
-     map?: EncodedSourceMap | string;
 
-     decoded_map?: DecodedSourceMap | null;
 
- }
 
- export interface SourceMapOptions {
 
-     /** Source map object, 'inline' or source map file content */
 
-     content?: SectionedSourceMapInput | string;
 
-     includeSources?: boolean;
 
-     filename?: string;
 
-     root?: string;
 
-     asObject?: boolean;
 
-     url?: string | 'inline';
 
- }
 
- export function minify(files: string | string[] | { [file: string]: string }, options?: MinifyOptions): Promise<MinifyOutput>;
 
- export function minify_sync(files: string | string[] | { [file: string]: string }, options?: MinifyOptions): MinifyOutput;
 
 
  |