@worker-tools/deno-kv-storage
Version:
An implementation of the StorageArea (1,2,3) interface for Deno with an extensible system for supporting various database backends.
21 lines • 721 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.deadline = exports.DeadlineError = void 0;
const deferred_js_1 = require("./deferred.js");
class DeadlineError extends Error {
constructor() {
super("Deadline");
this.name = "DeadlineError";
}
}
exports.DeadlineError = DeadlineError;
/**
* Create a promise which will be rejected with DeadlineError when a given delay is exceeded.
*/
function deadline(p, delay) {
const d = (0, deferred_js_1.deferred)();
const t = setTimeout(() => d.reject(new DeadlineError()), delay);
return Promise.race([p, d]).finally(() => clearTimeout(t));
}
exports.deadline = deadline;
//# sourceMappingURL=deadline.js.map
;