summaryrefslogtreecommitdiff
path: root/js/libdeno.ts
diff options
context:
space:
mode:
authorKevin (Kun) "Kassimo" Qian <kevinkassimo@gmail.com>2018-10-12 11:22:52 -0700
committerRyan Dahl <ry@tinyclouds.org>2018-10-12 14:22:52 -0400
commit45d3b8955de628db0ef051eeb8e351837b4a3b3e (patch)
tree252bab755760d86cab48502abdabe6ff0c2b9af2 /js/libdeno.ts
parentc9f95d51da9f6075b1f28a842dc830ec5fe7a30e (diff)
Fix promise reject issue (#936)
Diffstat (limited to 'js/libdeno.ts')
-rw-r--r--js/libdeno.ts17
1 files changed, 17 insertions, 0 deletions
diff --git a/js/libdeno.ts b/js/libdeno.ts
index 97269c36c..842b0c8ad 100644
--- a/js/libdeno.ts
+++ b/js/libdeno.ts
@@ -3,6 +3,12 @@ import { globalEval } from "./global_eval";
// The libdeno functions are moved so that users can't access them.
type MessageCallback = (msg: Uint8Array) => void;
+export type PromiseRejectEvent =
+ | "RejectWithNoHandler"
+ | "HandlerAddedAfterReject"
+ | "ResolveAfterResolved"
+ | "RejectAfterResolved";
+
interface Libdeno {
recv(cb: MessageCallback): void;
@@ -20,6 +26,17 @@ interface Libdeno {
) => void
) => void;
+ setPromiseRejectHandler: (
+ handler: (
+ error: Error | string,
+ event: PromiseRejectEvent,
+ /* tslint:disable-next-line:no-any */
+ promise: Promise<any>
+ ) => void
+ ) => void;
+
+ setPromiseErrorExaminer: (handler: () => boolean) => void;
+
mainSource: string;
mainSourceMap: RawSourceMap;
}