summaryrefslogtreecommitdiff
path: root/util/deferred.ts
diff options
context:
space:
mode:
Diffstat (limited to 'util/deferred.ts')
-rw-r--r--util/deferred.ts42
1 files changed, 0 insertions, 42 deletions
diff --git a/util/deferred.ts b/util/deferred.ts
deleted file mode 100644
index f52087547..000000000
--- a/util/deferred.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
-
-export type Deferred<T = any, R = Error> = {
- promise: Promise<T>;
- resolve: (t?: T) => void;
- reject: (r?: R) => void;
- readonly handled: boolean;
-};
-
-/** Create deferred promise that can be resolved and rejected by outside */
-export function defer<T>(): Deferred<T> {
- let handled = false;
- let resolve;
- let reject;
- const promise = new Promise<T>((res, rej) => {
- resolve = r => {
- handled = true;
- res(r);
- };
- reject = r => {
- handled = true;
- rej(r);
- };
- });
- return {
- promise,
- resolve,
- reject,
- get handled() {
- return handled;
- }
- };
-}
-
-export function isDeferred(x): x is Deferred {
- return (
- typeof x === "object" &&
- x.promise instanceof Promise &&
- typeof x["resolve"] === "function" &&
- typeof x["reject"] === "function"
- );
-}