2018-08-07 16:27:31 -04:00
|
|
|
// Copyright 2018 the Deno authors. All rights reserved. MIT license.
|
|
|
|
export type TypedArray = Uint8Array | Float32Array | Int32Array;
|
|
|
|
|
|
|
|
export interface ModuleInfo {
|
2018-08-15 12:40:30 -04:00
|
|
|
moduleName: string | null;
|
|
|
|
filename: string | null;
|
|
|
|
sourceCode: string | null;
|
|
|
|
outputCode: string | null;
|
2018-08-07 16:27:31 -04:00
|
|
|
}
|
|
|
|
|
2018-09-01 10:45:26 -04:00
|
|
|
// tslint:disable:max-line-length
|
2018-08-07 16:27:31 -04:00
|
|
|
// Following definitions adapted from:
|
|
|
|
// https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/node/index.d.ts
|
|
|
|
// Type definitions for Node.js 10.3.x
|
|
|
|
// Definitions by: Microsoft TypeScript <http://typescriptlang.org>
|
|
|
|
// DefinitelyTyped <https://github.com/DefinitelyTyped/DefinitelyTyped>
|
|
|
|
// Parambir Singh <https://github.com/parambirs>
|
|
|
|
// Christian Vaagland Tellnes <https://github.com/tellnes>
|
|
|
|
// Wilco Bakker <https://github.com/WilcoBakker>
|
|
|
|
// Nicolas Voigt <https://github.com/octo-sniffle>
|
|
|
|
// Chigozirim C. <https://github.com/smac89>
|
|
|
|
// Flarna <https://github.com/Flarna>
|
|
|
|
// Mariusz Wiktorczyk <https://github.com/mwiktorczyk>
|
|
|
|
// wwwy3y3 <https://github.com/wwwy3y3>
|
|
|
|
// Deividas Bakanas <https://github.com/DeividasBakanas>
|
|
|
|
// Kelvin Jin <https://github.com/kjin>
|
|
|
|
// Alvis HT Tang <https://github.com/alvis>
|
|
|
|
// Sebastian Silbermann <https://github.com/eps1lon>
|
|
|
|
// Hannes Magnusson <https://github.com/Hannes-Magnusson-CK>
|
|
|
|
// Alberto Schiabel <https://github.com/jkomyno>
|
|
|
|
// Klaus Meinhardt <https://github.com/ajafff>
|
|
|
|
// Huw <https://github.com/hoo29>
|
|
|
|
// Nicolas Even <https://github.com/n-e>
|
|
|
|
// Bruno Scheufler <https://github.com/brunoscheufler>
|
|
|
|
// Mohsen Azimi <https://github.com/mohsen1>
|
|
|
|
// Hoàng Văn Khải <https://github.com/KSXGitHub>
|
|
|
|
// Alexander T. <https://github.com/a-tarasyuk>
|
|
|
|
// Lishude <https://github.com/islishude>
|
|
|
|
// Andrew Makarov <https://github.com/r3nya>
|
2018-09-01 10:45:26 -04:00
|
|
|
// tslint:enable:max-line-length
|
2018-08-07 16:27:31 -04:00
|
|
|
|
|
|
|
export interface CallSite {
|
|
|
|
/**
|
|
|
|
* Value of "this"
|
|
|
|
*/
|
2018-09-01 10:45:26 -04:00
|
|
|
// tslint:disable-next-line:no-any
|
2018-08-07 16:27:31 -04:00
|
|
|
getThis(): any;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Type of "this" as a string.
|
|
|
|
* This is the name of the function stored in the constructor field of
|
|
|
|
* "this", if available. Otherwise the object's [[Class]] internal
|
|
|
|
* property.
|
|
|
|
*/
|
|
|
|
getTypeName(): string | null;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Current function
|
|
|
|
*/
|
|
|
|
getFunction(): Function | undefined;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Name of the current function, typically its name property.
|
|
|
|
* If a name property is not available an attempt will be made to try
|
|
|
|
* to infer a name from the function's context.
|
|
|
|
*/
|
|
|
|
getFunctionName(): string | null;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Name of the property [of "this" or one of its prototypes] that holds
|
|
|
|
* the current function
|
|
|
|
*/
|
|
|
|
getMethodName(): string | null;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Name of the script [if this function was defined in a script]
|
|
|
|
*/
|
|
|
|
getFileName(): string | null;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Get the script name or source URL for the source map
|
|
|
|
*/
|
|
|
|
getScriptNameOrSourceURL(): string;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Current line number [if this function was defined in a script]
|
|
|
|
*/
|
|
|
|
getLineNumber(): number | null;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Current column number [if this function was defined in a script]
|
|
|
|
*/
|
|
|
|
getColumnNumber(): number | null;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* A call site object representing the location where eval was called
|
|
|
|
* [if this function was created using a call to eval]
|
|
|
|
*/
|
|
|
|
getEvalOrigin(): string | undefined;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Is this a toplevel invocation, that is, is "this" the global object?
|
|
|
|
*/
|
|
|
|
isToplevel(): boolean;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Does this call take place in code defined by a call to eval?
|
|
|
|
*/
|
|
|
|
isEval(): boolean;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Is this call in native V8 code?
|
|
|
|
*/
|
|
|
|
isNative(): boolean;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Is this a constructor call?
|
|
|
|
*/
|
|
|
|
isConstructor(): boolean;
|
|
|
|
}
|
|
|
|
|
2018-08-06 18:37:32 -04:00
|
|
|
export interface StartOfSourceMap {
|
|
|
|
file?: string;
|
|
|
|
sourceRoot?: string;
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface RawSourceMap extends StartOfSourceMap {
|
|
|
|
version: string;
|
|
|
|
sources: string[];
|
|
|
|
names: string[];
|
|
|
|
sourcesContent?: string[];
|
|
|
|
mappings: string;
|
|
|
|
}
|
|
|
|
|
2018-08-07 16:27:31 -04:00
|
|
|
declare global {
|
|
|
|
// Declare "static" methods in Error
|
|
|
|
interface ErrorConstructor {
|
|
|
|
/** Create .stack property on a target object */
|
2018-09-01 10:45:26 -04:00
|
|
|
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
|
2018-08-07 16:27:31 -04:00
|
|
|
|
2018-09-01 10:45:26 -04:00
|
|
|
// tslint:disable:max-line-length
|
2018-08-07 16:27:31 -04:00
|
|
|
/**
|
|
|
|
* Optional override for formatting stack traces
|
|
|
|
*
|
|
|
|
* @see https://github.com/v8/v8/wiki/Stack%20Trace%20API#customizing-stack-traces
|
|
|
|
*/
|
2018-09-01 10:45:26 -04:00
|
|
|
// tslint:enable:max-line-length
|
|
|
|
// tslint:disable-next-line:no-any
|
2018-08-07 16:27:31 -04:00
|
|
|
prepareStackTrace?: (err: Error, stackTraces: CallSite[]) => any;
|
|
|
|
|
|
|
|
stackTraceLimit: number;
|
|
|
|
}
|
|
|
|
}
|
2018-09-20 02:13:59 -04:00
|
|
|
|
|
|
|
// Based on Node's arch
|
|
|
|
export type DenoArch =
|
|
|
|
| "arm"
|
|
|
|
| "arm64"
|
|
|
|
| "ia32"
|
|
|
|
| "mips"
|
|
|
|
| "mipsel"
|
|
|
|
| "ppc"
|
|
|
|
| "ppc64"
|
|
|
|
| "s390"
|
|
|
|
| "s390x"
|
|
|
|
| "x32"
|
|
|
|
| "x64"
|
|
|
|
| "unknown";
|
|
|
|
|
|
|
|
export type DenoPlatform =
|
|
|
|
| "aix"
|
|
|
|
| "darwin"
|
|
|
|
| "freebsd"
|
|
|
|
| "linux"
|
|
|
|
| "openbsd"
|
|
|
|
| "sunos"
|
|
|
|
| "win32"
|
|
|
|
| "android"
|
|
|
|
| "unknown";
|