UNPKG

@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
"use strict"; 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