summaryrefslogtreecommitdiff
path: root/js/types.ts
diff options
context:
space:
mode:
Diffstat (limited to 'js/types.ts')
-rw-r--r--js/types.ts153
1 files changed, 153 insertions, 0 deletions
diff --git a/js/types.ts b/js/types.ts
new file mode 100644
index 000000000..7af0a5201
--- /dev/null
+++ b/js/types.ts
@@ -0,0 +1,153 @@
+// Copyright 2018 the Deno authors. All rights reserved. MIT license.
+export type TypedArray = Uint8Array | Float32Array | Int32Array;
+
+export interface ModuleInfo {
+ moduleName: string | null;
+ filename: string | null;
+ sourceCode: string | null;
+ outputCode: string | null;
+}
+
+// tslint:disable:max-line-length
+// 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>
+// tslint:enable:max-line-length
+
+export interface CallSite {
+ /**
+ * Value of "this"
+ */
+ // tslint:disable-next-line:no-any
+ 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;
+}
+
+export interface StartOfSourceMap {
+ file?: string;
+ sourceRoot?: string;
+}
+
+export interface RawSourceMap extends StartOfSourceMap {
+ version: string;
+ sources: string[];
+ names: string[];
+ sourcesContent?: string[];
+ mappings: string;
+}
+
+declare global {
+ // Declare "static" methods in Error
+ interface ErrorConstructor {
+ /** Create .stack property on a target object */
+ captureStackTrace(targetObject: object, constructorOpt?: Function): void;
+
+ // tslint:disable:max-line-length
+ /**
+ * Optional override for formatting stack traces
+ *
+ * @see https://github.com/v8/v8/wiki/Stack%20Trace%20API#customizing-stack-traces
+ */
+ // tslint:enable:max-line-length
+ // tslint:disable-next-line:no-any
+ prepareStackTrace?: (err: Error, stackTraces: CallSite[]) => any;
+
+ stackTraceLimit: number;
+ }
+}