UNPKG

1.68 kBTypeScriptView Raw
1export declare abstract class _CodeOrName {
2 abstract readonly str: string;
3 abstract readonly names: UsedNames;
4 abstract toString(): string;
5 abstract emptyStr(): boolean;
6}
7export declare const IDENTIFIER: RegExp;
8export declare class Name extends _CodeOrName {
9 readonly str: string;
10 constructor(s: string);
11 toString(): string;
12 emptyStr(): boolean;
13 get names(): UsedNames;
14}
15export declare class _Code extends _CodeOrName {
16 readonly _items: readonly CodeItem[];
17 private _str?;
18 private _names?;
19 constructor(code: string | readonly CodeItem[]);
20 toString(): string;
21 emptyStr(): boolean;
22 get str(): string;
23 get names(): UsedNames;
24}
25export declare type CodeItem = Name | string | number | boolean | null;
26export declare type UsedNames = Record<string, number | undefined>;
27export declare type Code = _Code | Name;
28export declare type SafeExpr = Code | number | boolean | null;
29export declare const nil: _Code;
30declare type CodeArg = SafeExpr | string | undefined;
31export declare function _(strs: TemplateStringsArray, ...args: CodeArg[]): _Code;
32export declare function str(strs: TemplateStringsArray, ...args: (CodeArg | string[])[]): _Code;
33export declare function addCodeArg(code: CodeItem[], arg: CodeArg | string[]): void;
34export declare function strConcat(c1: Code, c2: Code): Code;
35export declare function stringify(x: unknown): Code;
36export declare function safeStringify(x: unknown): string;
37export declare function getProperty(key: Code | string | number): Code;
38export declare function getEsmExportName(key: Code | string | number): Code;
39export declare function regexpCode(rx: RegExp): Code;
40export {};