webpack/declarations.d.ts

137 lines
3.8 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;
}
2018-05-16 19:22:46 +08:00
export class ModuleExportDescr extends Node {}
2018-04-28 00:53:07 +08:00
export class IndexLiteral extends Node {}
export class NumberLiteral extends Node {}
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): IndexLiteral;
2018-05-14 19:00:19 +08:00
export function numberLiteralFromRaw(num: number): NumberLiteral;
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: IndexLiteral): CallInstruction;
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;
export function typeInstruction(id: Identifier, functype: Signature): TypeInstruction;
2018-04-28 00:53:07 +08:00
export function indexInFuncSection(index: IndexLiteral): IndexInFuncSection;
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,
2018-05-16 19:22:46 +08:00
index: ModuleExportDescr
2018-04-28 00:53:07 +08:00
): ModuleExport;
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;