atma-utils
Advanced tools
Comparing version 0.2.56 to 0.2.57
@@ -171,3 +171,5 @@ // Generated by dts-bundle v0.7.3 | ||
export namespace promisify { | ||
function fromEvent<TEvents extends Record<keyof TEvents, (...args: any) => any> = any>(ctx: class_EventEmitter<TEvents>, event: keyof TEvents, handlerFn?: () => any | Promise<any>): Promise<unknown>; | ||
function fromEvent<TEvents extends Record<keyof TEvents, (...args: any) => any> = any, TKey extends keyof TEvents = any>(ctx: class_EventEmitter<TEvents>, event: TKey, handlerFn?: (...args: Parameters<TEvents[TKey]>) => any | Promise<any>, options?: { | ||
timeout?: number; | ||
}): Promise<unknown>; | ||
} | ||
@@ -174,0 +176,0 @@ } |
@@ -828,26 +828,58 @@ var _Array_slice, | ||
(function (promisify) { | ||
function fromEvent(ctx, event, handlerFn) { | ||
function fromEvent(ctx, event, handlerFn, options) { | ||
return new Promise(function (resolve, reject) { | ||
var _this = this; | ||
var cb = handlerFn == null | ||
? resolve | ||
: function () { return __awaiter(_this, void 0, void 0, function () { | ||
var r, error_1; | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
var cb = function () { | ||
var args = []; | ||
for (var _i = 0; _i < arguments.length; _i++) { | ||
args[_i] = arguments[_i]; | ||
} | ||
return __awaiter(_this, void 0, void 0, function () { | ||
var timeout, completed, ms, r, _a, error_1; | ||
return __generator(this, function (_b) { | ||
switch (_b.label) { | ||
case 0: | ||
_a.trys.push([0, 2, , 3]); | ||
return [4 /*yield*/, handlerFn()]; | ||
completed = false; | ||
ms = options === null || options === void 0 ? void 0 : options.timeout; | ||
if (ms) { | ||
timeout = setTimeout(function () { | ||
if (completed) { | ||
return; | ||
} | ||
completed = true; | ||
reject(new Error("Timeouted, event was not called within ".concat(ms, "ms"))); | ||
}, ms); | ||
} | ||
_b.label = 1; | ||
case 1: | ||
r = _a.sent(); | ||
resolve(r); | ||
return [3 /*break*/, 3]; | ||
case 2: | ||
error_1 = _a.sent(); | ||
reject(error_1); | ||
return [3 /*break*/, 3]; | ||
case 3: return [2 /*return*/]; | ||
_b.trys.push([1, 5, 6, 7]); | ||
if (!(handlerFn == null)) return [3 /*break*/, 2]; | ||
_a = args[0]; | ||
return [3 /*break*/, 4]; | ||
case 2: return [4 /*yield*/, handlerFn.apply(void 0, args)]; | ||
case 3: | ||
_a = _b.sent(); | ||
_b.label = 4; | ||
case 4: | ||
r = _a; | ||
if (completed === false) { | ||
completed = true; | ||
resolve(r); | ||
} | ||
return [3 /*break*/, 7]; | ||
case 5: | ||
error_1 = _b.sent(); | ||
if (completed === false) { | ||
completed = true; | ||
reject(error_1); | ||
} | ||
return [3 /*break*/, 7]; | ||
case 6: | ||
clearTimeout(timeout); | ||
return [7 /*endfinally*/]; | ||
case 7: return [2 /*return*/]; | ||
} | ||
}); | ||
}); }; | ||
}); | ||
}; | ||
ctx.once(event, cb); | ||
@@ -854,0 +886,0 @@ }); |
@@ -1618,26 +1618,58 @@ (function(factory){ | ||
(function (promisify) { | ||
function fromEvent(ctx, event, handlerFn) { | ||
function fromEvent(ctx, event, handlerFn, options) { | ||
return new Promise(function (resolve, reject) { | ||
var _this = this; | ||
var cb = handlerFn == null | ||
? resolve | ||
: function () { return __awaiter(_this, void 0, void 0, function () { | ||
var r, error_1; | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
var cb = function () { | ||
var args = []; | ||
for (var _i = 0; _i < arguments.length; _i++) { | ||
args[_i] = arguments[_i]; | ||
} | ||
return __awaiter(_this, void 0, void 0, function () { | ||
var timeout, completed, ms, r, _a, error_1; | ||
return __generator(this, function (_b) { | ||
switch (_b.label) { | ||
case 0: | ||
_a.trys.push([0, 2, , 3]); | ||
return [4 /*yield*/, handlerFn()]; | ||
completed = false; | ||
ms = options === null || options === void 0 ? void 0 : options.timeout; | ||
if (ms) { | ||
timeout = setTimeout(function () { | ||
if (completed) { | ||
return; | ||
} | ||
completed = true; | ||
reject(new Error("Timeouted, event was not called within ".concat(ms, "ms"))); | ||
}, ms); | ||
} | ||
_b.label = 1; | ||
case 1: | ||
r = _a.sent(); | ||
resolve(r); | ||
return [3 /*break*/, 3]; | ||
case 2: | ||
error_1 = _a.sent(); | ||
reject(error_1); | ||
return [3 /*break*/, 3]; | ||
case 3: return [2 /*return*/]; | ||
_b.trys.push([1, 5, 6, 7]); | ||
if (!(handlerFn == null)) return [3 /*break*/, 2]; | ||
_a = args[0]; | ||
return [3 /*break*/, 4]; | ||
case 2: return [4 /*yield*/, handlerFn.apply(void 0, args)]; | ||
case 3: | ||
_a = _b.sent(); | ||
_b.label = 4; | ||
case 4: | ||
r = _a; | ||
if (completed === false) { | ||
completed = true; | ||
resolve(r); | ||
} | ||
return [3 /*break*/, 7]; | ||
case 5: | ||
error_1 = _b.sent(); | ||
if (completed === false) { | ||
completed = true; | ||
reject(error_1); | ||
} | ||
return [3 /*break*/, 7]; | ||
case 6: | ||
clearTimeout(timeout); | ||
return [7 /*endfinally*/]; | ||
case 7: return [2 /*return*/]; | ||
} | ||
}); | ||
}); }; | ||
}); | ||
}; | ||
ctx.once(event, cb); | ||
@@ -1644,0 +1676,0 @@ }); |
{ | ||
"name": "atma-utils", | ||
"description": "Helpers", | ||
"version": "0.2.56", | ||
"version": "0.2.57", | ||
"author": "Alex Kit <alex.kit@atmajs.com>", | ||
@@ -21,3 +21,3 @@ "repository": { | ||
"app-bundler": "^0.0.94", | ||
"atma": "^0.12.28", | ||
"atma": "^0.12.33", | ||
"atma-io": "^1.2.37", | ||
@@ -24,0 +24,0 @@ "atma-loader-babel": ">0.0.0", |
217338
6566