webpack/declarations.d.ts

151 lines
3.9 KiB
TypeScript
Raw Normal View History

2018-03-29 12:24:34 +08:00
declare module "*.json";
2018-03-26 00:07:41 +08:00
2018-03-30 08:15:49 +08:00
// Deprecated NodeJS API usages in Webpack
declare namespace NodeJS {
interface Process {
2018-04-06 01:44:15 +08:00
binding(internalModule: string): any;
2018-03-30 08:15:49 +08:00
}
2018-04-06 01:44:15 +08:00
}
2018-03-30 08:15:49 +08:00
2018-04-12 17:05:34 +08:00
// There are no typings for chrome-trace-event
declare module "chrome-trace-event" {
2018-04-12 17:05:34 +08:00
interface Event {
name: string;
id?: number;
cat: string[];
args?: Object;
2018-04-12 17:05:34 +08:00
}
export class Tracer {
constructor(options: { noStream: boolean });
pipe(stream: NodeJS.WritableStream): void;
instantEvent(event: Event): void;
counter: number;
2018-04-12 17:05:34 +08:00
trace: {
begin(event: Event): void;
end(event: Event): void;
};
2018-04-12 17:05:34 +08:00
}
}
2018-04-28 00:53:07 +08:00
// There are no typings for @webassemblyjs/ast
declare module "@webassemblyjs/ast" {
export function traverse(
ast: any,
2018-05-09 23:40:38 +08:00
visitor: {
ModuleImport?: (p: NodePath<ModuleImport>) => void;
ModuleExport?: (p: NodePath<ModuleExport>) => void;
Start?: (p: NodePath<Start>) => void;
}
2018-04-28 00:53:07 +08:00
);
2018-05-09 23:40:38 +08:00
export class NodePath<T> {
node: T;
2018-04-28 00:53:07 +08:00
}
2018-05-09 23:40:38 +08:00
export class Node {}
2018-04-28 00:53:07 +08:00
export class Identifier extends Node {
value: string;
}
2018-05-09 23:40:38 +08:00
export class Start extends Node {
index: Identifier;
}
2018-04-28 00:53:07 +08:00
export class ModuleImport extends Node {
module: string;
descr: {
type: string;
valtype?: string;
id?: Identifier;
signature?: Signature;
2018-04-28 00:53:07 +08:00
};
name: string;
}
export class ModuleExport extends Node {
name: string;
descr: ModuleExportDescr;
}
2018-05-30 20:20:35 +08:00
type Index = Identifier | NumberLiteral;
export class ModuleExportDescr extends Node {
exportType: string;
id: Index;
}
export class NumberLiteral extends Node {
value: number;
2018-04-28 00:53:07 +08:00
}
export class FloatLiteral extends Node {}
2018-04-28 00:53:07 +08:00
export class Global extends Node {}
export class FuncParam extends Node {
valtype: string;
}
2018-04-28 00:53:07 +08:00
export class Instruction extends Node {}
export class CallInstruction extends Instruction {}
export class ObjectInstruction extends Instruction {}
export class Func extends Node {
signature: Signature;
}
export class Signature {
params: FuncParam[];
results: string[];
2018-04-28 00:53:07 +08:00
}
2018-05-16 19:22:46 +08:00
export class TypeInstruction extends Node {}
2018-04-28 00:53:07 +08:00
export class IndexInFuncSection extends Node {}
export function indexLiteral(index: number): Index;
2018-05-14 19:00:19 +08:00
export function numberLiteralFromRaw(num: number): NumberLiteral;
2018-05-30 20:20:35 +08:00
export function floatLiteral(
value: number,
nan?: boolean,
inf?: boolean,
raw?: string
): FloatLiteral;
2018-04-28 00:53:07 +08:00
export function global(globalType: string, nodes: Node[]): Global;
export function identifier(indentifier: string): Identifier;
export function funcParam(valType: string, id: Identifier): FuncParam;
export function instruction(inst: string, args: Node[]): Instruction;
export function callInstruction(funcIndex: Index): CallInstruction;
2018-04-28 00:53:07 +08:00
export function objectInstruction(
kind: string,
type: string,
init: Node[]
): ObjectInstruction;
2018-05-16 19:22:46 +08:00
export function signature(params: FuncParam[], results: string[]): Signature;
export function func(initFuncId, Signature, funcBody): Func;
2018-05-30 20:20:35 +08:00
export function typeInstruction(
id: Identifier,
functype: Signature
): TypeInstruction;
export function indexInFuncSection(index: Index): IndexInFuncSection;
2018-04-28 00:53:07 +08:00
export function moduleExport(
identifier: string,
2018-05-16 19:22:46 +08:00
descr: ModuleExportDescr
): ModuleExport;
export function moduleExportDescr(
2018-04-28 00:53:07 +08:00
type: string,
index: Index
): ModuleExportDescr;
2018-04-28 00:53:07 +08:00
export function getSectionMetadata(ast: any, section: string);
}
2018-04-01 10:36:26 +08:00
/**
* Global variable declarations
* @todo Once this issue is resolved, remove these globals and add JSDoc onsite instead
* https://github.com/Microsoft/TypeScript/issues/15626
*/
2018-03-26 00:07:41 +08:00
declare const $hash$;
declare const $requestTimeout$;
declare const installedModules;
declare const $require$;
declare const hotDownloadManifest;
declare const hotDownloadUpdateChunk;
declare const hotDisposeChunk;
declare const modules;
2018-03-29 12:24:34 +08:00
declare const installedChunks;
declare const hotAddUpdateChunk;
declare const parentHotUpdateCallback;
declare const $hotChunkFilename$;
declare const $hotMainFilename$;
declare const WebAssembly;
declare const importScripts;
declare const $crossOriginLoading$;
2018-04-01 10:36:26 +08:00
declare const chunkId;
type TODO = any;