summaryrefslogtreecommitdiff
path: root/core/libdeno/libdeno.d.ts
diff options
context:
space:
mode:
Diffstat (limited to 'core/libdeno/libdeno.d.ts')
-rw-r--r--core/libdeno/libdeno.d.ts40
1 files changed, 40 insertions, 0 deletions
diff --git a/core/libdeno/libdeno.d.ts b/core/libdeno/libdeno.d.ts
new file mode 100644
index 000000000..1bc7367d9
--- /dev/null
+++ b/core/libdeno/libdeno.d.ts
@@ -0,0 +1,40 @@
+// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
+
+interface EvalErrorInfo {
+ // Is the object thrown a native Error?
+ isNativeError: boolean;
+ // Was the error happened during compilation?
+ isCompileError: boolean;
+ // The actual thrown entity
+ // (might be an Error or anything else thrown by the user)
+ // If isNativeError is true, this is an Error
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ thrown: any;
+}
+
+declare interface MessageCallback {
+ (msg: Uint8Array): void;
+}
+
+declare interface DenoCore {
+ recv(cb: MessageCallback): void;
+
+ send(
+ control: null | ArrayBufferView,
+ data?: ArrayBufferView
+ ): null | Uint8Array;
+
+ print(x: string, isErr?: boolean): void;
+
+ shared: SharedArrayBuffer;
+
+ /** Evaluate provided code in the current context.
+ * It differs from eval(...) in that it does not create a new context.
+ * Returns an array: [output, errInfo].
+ * If an error occurs, `output` becomes null and `errInfo` is non-null.
+ */
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ evalContext(code: string): [any, EvalErrorInfo | null];
+
+ errorToJSON: (e: Error) => string;
+}