Socket
Socket
Sign inDemoInstall

@pagedip/lib-observer

Package Overview
Dependencies
Maintainers
1
Versions
28
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@pagedip/lib-observer - npm Package Compare versions

Comparing version 2.0.3 to 2.1.0

2

lib/event.js

@@ -44,2 +44,2 @@ "use strict";

exports.createEvent = createEvent;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFjQTtJQWlCRSxlQUFZLE1BQWdCLEVBQUUsSUFBWSxFQUFFLElBQWdCO1FBTHJELFlBQU8sR0FBWSxJQUFJLENBQUM7UUFDeEIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUN6QixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsb0JBQWUsR0FBaUMsSUFBSSxDQUFDO1FBRzFELElBQUksSUFBSTtZQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFwQmEsYUFBTyxHQUFyQixVQUFzQixDQUFNO1FBQzFCLElBQU0sQ0FBQyxHQUFHLENBQVUsQ0FBQztRQUNyQixPQUFPLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDLDBCQUEwQixLQUFLLElBQUksQ0FBQztJQUM1RCxDQUFDO0lBRUQsc0JBQVcsNkNBQTBCO2FBQXJDO1lBQ0UsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDOzs7T0FBQTtJQWVNLCtCQUFlLEdBQXRCO1FBQ0UsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sd0NBQXdCLEdBQS9CO1FBQ0UsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sOEJBQWMsR0FBckI7UUFDRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNILFlBQUM7QUFBRCxDQUFDLEFBckNELElBcUNDO0FBckNZLHNCQUFLO0FBdUNsQixxQkFBK0IsTUFBZ0IsRUFBRSxJQUFZLEVBQUUsSUFBMEI7SUFDdkYsT0FBTyxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBbUIsQ0FBQztBQUN6RCxDQUFDO0FBRkQsa0NBRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZlciwgT2JzZXJ2ZXJMaXN0ZW5lciB9IGZyb20gXCIuL29ic2VydmVyXCI7XG5cbmV4cG9ydCB0eXBlIEV2ZW50UHJvcGVydGllczxUPiA9IHtcbiAgW1AgaW4ga2V5b2YgVF06IFRbUF1cbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVmYXVsdExpc3RlbmVyPFQ+IHtcbiAgZGVmYXVsdExpc3RlbmVyPzogT2JzZXJ2ZXJMaXN0ZW5lcjxUPiB8IG51bGw7XG59XG5cbmV4cG9ydCB0eXBlIEV2ZW50RGF0YTxUPiA9IEV2ZW50UHJvcGVydGllczxUPiAmIERlZmF1bHRMaXN0ZW5lcjxUPjtcblxuZXhwb3J0IHR5cGUgQ3VzdG9tRXZlbnQ8VD4gPSBFdmVudCAmIEV2ZW50UHJvcGVydGllczxUPjtcblxuZXhwb3J0IGNsYXNzIEV2ZW50IHtcbiAgcHVibGljIHN0YXRpYyBpc0V2ZW50KG86IGFueSk6IG8gaXMgRXZlbnQge1xuICAgIGNvbnN0IGUgPSBvIGFzIEV2ZW50O1xuICAgIHJldHVybiBlICE9IG51bGwgJiYgZS5fX3BhZ2VkaXBfb2JzZXJ2ZXJfZXZlbnRfXyA9PT0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgX19wYWdlZGlwX29ic2VydmVyX2V2ZW50X18oKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwdWJsaWMgdGFyZ2V0OiBPYnNlcnZlcjtcbiAgcHVibGljIHR5cGU6IHN0cmluZztcbiAgcHVibGljIGJ1YmJsZXM6IGJvb2xlYW4gPSB0cnVlO1xuICBwdWJsaWMgc3RvcHBlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgZGVmYXVsdFByZXZlbnRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgZGVmYXVsdExpc3RlbmVyOiBPYnNlcnZlckxpc3RlbmVyPGFueT4gfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcih0YXJnZXQ6IE9ic2VydmVyLCB0eXBlOiBzdHJpbmcsIGRhdGE/OiB7fSB8IG51bGwpIHtcbiAgICBpZiAoZGF0YSkgT2JqZWN0LmFzc2lnbih0aGlzLCBkYXRhKTtcbiAgICB0aGlzLnRhcmdldCA9IHRhcmdldDtcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICB9XG5cbiAgcHVibGljIHN0b3BQcm9wYWdhdGlvbigpIHtcbiAgICB0aGlzLmJ1YmJsZXMgPSBmYWxzZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBzdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSB7XG4gICAgdGhpcy5zdG9wcGVkID0gdHJ1ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBwcmV2ZW50RGVmYXVsdCgpIHtcbiAgICB0aGlzLmRlZmF1bHRQcmV2ZW50ZWQgPSB0cnVlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVFdmVudDxUPih0YXJnZXQ6IE9ic2VydmVyLCB0eXBlOiBzdHJpbmcsIGRhdGE/OiBFdmVudERhdGE8VD4gfCBudWxsKSB7XG4gIHJldHVybiBuZXcgRXZlbnQodGFyZ2V0LCB0eXBlLCBkYXRhKSBhcyBDdXN0b21FdmVudDxUPjtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFjQTtJQWlCRSxlQUFZLE1BQWdCLEVBQUUsSUFBWSxFQUFFLElBQWdCO1FBTHJELFlBQU8sR0FBWSxJQUFJLENBQUM7UUFDeEIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUN6QixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsb0JBQWUsR0FBaUMsSUFBSSxDQUFDO1FBRzFELElBQUksSUFBSTtZQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFwQmEsYUFBTyxHQUFyQixVQUFzQixDQUFNO1FBQzFCLElBQU0sQ0FBQyxHQUFHLENBQVUsQ0FBQztRQUNyQixPQUFPLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDLDBCQUEwQixLQUFLLElBQUksQ0FBQztJQUM1RCxDQUFDO0lBRUQsc0JBQVcsNkNBQTBCO2FBQXJDO1lBQ0UsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDOzs7T0FBQTtJQWVNLCtCQUFlLEdBQXRCO1FBQ0UsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sd0NBQXdCLEdBQS9CO1FBQ0UsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sOEJBQWMsR0FBckI7UUFDRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNILFlBQUM7QUFBRCxDQUFDLEFBckNELElBcUNDO0FBckNZLHNCQUFLO0FBdUNsQixTQUFnQixXQUFXLENBQUksTUFBZ0IsRUFBRSxJQUFZLEVBQUUsSUFBMEI7SUFDdkYsT0FBTyxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBbUIsQ0FBQztBQUN6RCxDQUFDO0FBRkQsa0NBRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZlciwgT2JzZXJ2ZXJMaXN0ZW5lciB9IGZyb20gXCIuL29ic2VydmVyXCI7XG5cbmV4cG9ydCB0eXBlIEV2ZW50UHJvcGVydGllczxUPiA9IHtcbiAgW1AgaW4ga2V5b2YgVF06IFRbUF1cbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVmYXVsdExpc3RlbmVyPFQ+IHtcbiAgZGVmYXVsdExpc3RlbmVyPzogT2JzZXJ2ZXJMaXN0ZW5lcjxUPiB8IG51bGw7XG59XG5cbmV4cG9ydCB0eXBlIEV2ZW50RGF0YTxUPiA9IEV2ZW50UHJvcGVydGllczxUPiAmIERlZmF1bHRMaXN0ZW5lcjxUPjtcblxuZXhwb3J0IHR5cGUgQ3VzdG9tRXZlbnQ8VD4gPSBFdmVudCAmIEV2ZW50UHJvcGVydGllczxUPjtcblxuZXhwb3J0IGNsYXNzIEV2ZW50IHtcbiAgcHVibGljIHN0YXRpYyBpc0V2ZW50KG86IGFueSk6IG8gaXMgRXZlbnQge1xuICAgIGNvbnN0IGUgPSBvIGFzIEV2ZW50O1xuICAgIHJldHVybiBlICE9IG51bGwgJiYgZS5fX3BhZ2VkaXBfb2JzZXJ2ZXJfZXZlbnRfXyA9PT0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgX19wYWdlZGlwX29ic2VydmVyX2V2ZW50X18oKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwdWJsaWMgdGFyZ2V0OiBPYnNlcnZlcjtcbiAgcHVibGljIHR5cGU6IHN0cmluZztcbiAgcHVibGljIGJ1YmJsZXM6IGJvb2xlYW4gPSB0cnVlO1xuICBwdWJsaWMgc3RvcHBlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgZGVmYXVsdFByZXZlbnRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgZGVmYXVsdExpc3RlbmVyOiBPYnNlcnZlckxpc3RlbmVyPGFueT4gfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcih0YXJnZXQ6IE9ic2VydmVyLCB0eXBlOiBzdHJpbmcsIGRhdGE/OiB7fSB8IG51bGwpIHtcbiAgICBpZiAoZGF0YSkgT2JqZWN0LmFzc2lnbih0aGlzLCBkYXRhKTtcbiAgICB0aGlzLnRhcmdldCA9IHRhcmdldDtcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICB9XG5cbiAgcHVibGljIHN0b3BQcm9wYWdhdGlvbigpIHtcbiAgICB0aGlzLmJ1YmJsZXMgPSBmYWxzZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBzdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSB7XG4gICAgdGhpcy5zdG9wcGVkID0gdHJ1ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBwcmV2ZW50RGVmYXVsdCgpIHtcbiAgICB0aGlzLmRlZmF1bHRQcmV2ZW50ZWQgPSB0cnVlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVFdmVudDxUPih0YXJnZXQ6IE9ic2VydmVyLCB0eXBlOiBzdHJpbmcsIGRhdGE/OiBFdmVudERhdGE8VD4gfCBudWxsKSB7XG4gIHJldHVybiBuZXcgRXZlbnQodGFyZ2V0LCB0eXBlLCBkYXRhKSBhcyBDdXN0b21FdmVudDxUPjtcbn1cbiJdfQ==

@@ -24,3 +24,3 @@ /// <reference types="node" />

fire<T>(event: string | CustomEvent<T>, ...args: any[]): Promise<void>;
private _fire<T>(event, ...args);
private _fire;
}
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
}
return function (d, b) {

@@ -183,6 +186,6 @@ extendStatics(d, b);

return fireObserver(this).then(function () {
var _a;
if (!event.defaultPrevented && event.defaultListener) {
return (_a = event.defaultListener).call.apply(_a, __spread([null, event], args));
}
var _a;
}).then(function () { });

@@ -199,2 +202,2 @@ };

exports.Observer = Observer;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvb2JzZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnRUFBeUQ7QUFDekQsaUNBQWdGO0FBQ2hGLGlDQUFvQztBQVlwQztJQUE4Qiw0QkFBWTtJQWdCeEMsa0JBQVksTUFBd0I7UUFBcEMsWUFDRSxpQkFBTyxTQUVSO1FBUk8scUJBQWUsR0FBb0IsSUFBSSxDQUFDO1FBR3hDLHdCQUFrQixHQUE2QixFQUFFLENBQUM7UUFJeEQsSUFBSSxNQUFNO1lBQUUsS0FBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQzs7SUFDakMsQ0FBQztJQWxCYSxtQkFBVSxHQUF4QixVQUF5QixDQUFNO1FBQzdCLElBQU0sQ0FBQyxHQUFHLENBQWEsQ0FBQztRQUN4QixPQUFPLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDLG9CQUFvQixLQUFLLElBQUksQ0FBQztJQUN0RCxDQUFDO0lBRUQsc0JBQVcsMENBQW9CO2FBQS9CO1lBQ0UsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDOzs7T0FBQTtJQWFELHNCQUFXLG9DQUFjO2FBQXpCO1lBQ0UsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQzlCLENBQUM7OztPQUFBO0lBRU0sdUNBQW9CLEdBQTNCLFVBQTRCLFNBQWlCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRU0sd0JBQUssR0FBWixVQUFhLE1BQWdCO1FBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztTQUNuRDtRQUVELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNmLElBQUksQ0FB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QWdCLElBQUksS0FBSyxDQUFDLGVBQWUsRUFBRTtnQkFDcEQsT0FBTyxDQUFBLEtBQUEsS0FBSyxDQUFDLGVBQWUsQ0FBQSxDQUFDLElBQUkscUJBQUMsSUFBSSxFQUFFLEtBQUssR0FBSyxJQUFJLEdBQUU7YUFDekQ7O1FBQ0gsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQU8sQ0FBQyxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQTFKRDtRQURDLGlDQUFhO3FEQUNrQztJQUdoRDtRQURDLGlDQUFhO3dEQUM0QztJQXdKNUQsZUFBQztDQUFBLEFBdEtELENBQThCLHFCQUFZLEdBc0t6QztBQXRLWSw0QkFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7bm9uZW51bWVyYWJsZX0gZnJvbSBcIkBwYWdlZGlwL3V0aWwtcHJvcC1oZWxwZXJzXCI7XG5pbXBvcnQge0V2ZW50LGNyZWF0ZUV2ZW50LEV2ZW50UHJvcGVydGllcyxFdmVudERhdGEsQ3VzdG9tRXZlbnR9IGZyb20gXCIuL2V2ZW50XCI7XG5pbXBvcnQge0V2ZW50RW1pdHRlcn0gZnJvbSBcImV2ZW50c1wiO1xuXG5leHBvcnQgdHlwZSBPYnNlcnZlckxpc3RlbmVyPFQ+ID0gKGV2ZW50OiBFdmVudCAmIEV2ZW50UHJvcGVydGllczxUPiwgLi4uYXJnczogYW55W10pID0+IGFueTtcblxuZXhwb3J0IGludGVyZmFjZSBPYnNlcnZlckxpc3RlbmVyTWFwPFQ+IHtcbiAgW2tleTogc3RyaW5nXTogT2JzZXJ2ZXJMaXN0ZW5lcjxUPiB8IEFycmF5PE9ic2VydmVyTGlzdGVuZXI8VD4+O1xufVxuXG5pbnRlcmZhY2UgT2JzZXJ2ZXJMaXN0ZW5lckFycmF5TWFwIHtcbiAgW2tleTogc3RyaW5nXTogQXJyYXk8T2JzZXJ2ZXJMaXN0ZW5lcjxhbnk+PiB8IG51bGw7XG59XG5cbmV4cG9ydCBjbGFzcyBPYnNlcnZlciBleHRlbmRzIEV2ZW50RW1pdHRlciB7XG4gIHB1YmxpYyBzdGF0aWMgaXNPYnNlcnZlcihvOiBhbnkpOiBvIGlzIE9ic2VydmVyIHtcbiAgICBjb25zdCBlID0gbyBhcyBPYnNlcnZlcjtcbiAgICByZXR1cm4gZSAhPSBudWxsICYmIGUuX19wYWdlZGlwX29ic2VydmVyX18gPT09IHRydWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IF9fcGFnZWRpcF9vYnNlcnZlcl9fKCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgQG5vbmVudW1lcmFibGVcbiAgcHJpdmF0ZSBfb2JzZXJ2ZXJQYXJlbnQ6IE9ic2VydmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgQG5vbmVudW1lcmFibGVcbiAgcHJpdmF0ZSBfb2JzZXJ2ZXJMaXN0ZW5lcnM6IE9ic2VydmVyTGlzdGVuZXJBcnJheU1hcCA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKHBhcmVudD86IE9ic2VydmVyIHwgbnVsbCkge1xuICAgIHN1cGVyKCk7XG4gICAgaWYgKHBhcmVudCkgdGhpcy5tb3VudChwYXJlbnQpO1xuICB9XG5cbiAgcHVibGljIGdldCBvYnNlcnZlclBhcmVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5fb2JzZXJ2ZXJQYXJlbnQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0T2JzZXJ2ZXJMaXN0ZW5lcnMoZXZlbnRUeXBlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5fb2JzZXJ2ZXJMaXN0ZW5lcnNbZXZlbnRUeXBlXSB8fCBbXTtcbiAgfVxuXG4gIHB1YmxpYyBtb3VudChwYXJlbnQ6IE9ic2VydmVyKSB7XG4gICAgaWYgKCFPYnNlcnZlci5pc09ic2VydmVyKHBhcmVudCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGluZyBvYnNlcnZlciBmb3IgcGFyZW50LlwiKTtcbiAgICB9XG5cbiAgICB0aGlzLnVubW91bnQoKTtcbiAgICB0aGlzLl9vYnNlcnZlclBhcmVudCA9IHBhcmVudDtcbiAgICB0aGlzLmVtaXQoXCJtb3VudFwiLCBwYXJlbnQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHVubW91bnQoKSB7XG4gICAgaWYgKHRoaXMuX29ic2VydmVyUGFyZW50ICE9IG51bGwpIHtcbiAgICAgIHRoaXMuZW1pdChcInVubW91bnRcIiwgdGhpcy5fb2JzZXJ2ZXJQYXJlbnQpO1xuICAgICAgdGhpcy5fb2JzZXJ2ZXJQYXJlbnQgPSBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIG9ic2VydmU8VD4odHlwZTogc3RyaW5nLCBmbjogT2JzZXJ2ZXJMaXN0ZW5lcjxUPiB8IEFycmF5PE9ic2VydmVyTGlzdGVuZXI8VD4+KTogdGhpcztcbiAgcHVibGljIG9ic2VydmU8VD4obGlzdGVuZXJNYXA6IE9ic2VydmVyTGlzdGVuZXJNYXA8VD4pOiB0aGlzO1xuICBwdWJsaWMgb2JzZXJ2ZTxUPih0eXBlOiBzdHJpbmcgfCBPYnNlcnZlckxpc3RlbmVyTWFwPFQ+LCBmbj86IE9ic2VydmVyTGlzdGVuZXI8VD4gfCBBcnJheTxPYnNlcnZlckxpc3RlbmVyPFQ+Pikge1xuICAgIGlmICh0eXBlb2YgdHlwZSA9PT0gXCJvYmplY3RcIiAmJiB0eXBlICE9IG51bGwpIHtcbiAgICAgIE9iamVjdC5rZXlzKHR5cGUpLmZvckVhY2goKGspID0+IHRoaXMub2JzZXJ2ZShrLCB0eXBlW2tdKSk7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHR5cGUgIT09IFwic3RyaW5nXCIgfHwgIXR5cGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGluZyBub24tZW1wdHkgc3RyaW5nIGZvciBldmVudCB0eXBlLlwiKTtcbiAgICB9XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShmbikpIHtcbiAgICAgIGZuLmZvckVhY2goKGYpID0+IHRoaXMub2JzZXJ2ZSh0eXBlLCBmKSk7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGZuICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGluZyBmdW5jdGlvbiBmb3IgZXZlbnQgbGlzdGVuZXIuXCIpO1xuICAgIH1cblxuICAgIGNvbnN0IGxpc3RlbmVycyA9IHRoaXMuX29ic2VydmVyTGlzdGVuZXJzW3R5cGVdIHx8IFtdO1xuICAgIGxpc3RlbmVycy5wdXNoKGZuIGFzIE9ic2VydmVyTGlzdGVuZXI8YW55Pik7XG4gICAgdGhpcy5fb2JzZXJ2ZXJMaXN0ZW5lcnNbdHlwZV0gPSBsaXN0ZW5lcnM7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB1bm9ic2VydmU8VD4odHlwZTogc3RyaW5nLCBmbjogT2JzZXJ2ZXJMaXN0ZW5lcjxUPiB8IEFycmF5PE9ic2VydmVyTGlzdGVuZXI8VD4+KTogdGhpcztcbiAgcHVibGljIHVub2JzZXJ2ZTxUPihsaXN0ZW5lck1hcDogT2JzZXJ2ZXJMaXN0ZW5lck1hcDxUPik6IHRoaXM7XG4gIHB1YmxpYyB1bm9ic2VydmU8VD4odHlwZTogc3RyaW5nIHwgT2JzZXJ2ZXJMaXN0ZW5lck1hcDxUPiwgZm4/OiBPYnNlcnZlckxpc3RlbmVyPFQ+IHwgQXJyYXk8T2JzZXJ2ZXJMaXN0ZW5lcjxUPj4pIHtcbiAgICBpZiAodHlwZW9mIHR5cGUgPT09IFwib2JqZWN0XCIgJiYgdHlwZSAhPSBudWxsKSB7XG4gICAgICBPYmplY3Qua2V5cyh0eXBlKS5mb3JFYWNoKChrKSA9PiB0aGlzLnVub2JzZXJ2ZShrLCB0eXBlW2tdKSk7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHR5cGUgIT09IFwic3RyaW5nXCIgfHwgIXR5cGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGluZyBub24tZW1wdHkgc3RyaW5nIGZvciBldmVudCB0eXBlLlwiKTtcbiAgICB9XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShmbikpIHtcbiAgICAgIGZuLmZvckVhY2goKGYpID0+IHRoaXMudW5vYnNlcnZlKHR5cGUsIGYpKTtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgZm4gIT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0aW5nIGZ1bmN0aW9uIGZvciBldmVudCBsaXN0ZW5lci5cIik7XG4gICAgfVxuXG4gICAgY29uc3QgbGlzdGVuZXJzID0gdGhpcy5fb2JzZXJ2ZXJMaXN0ZW5lcnNbdHlwZV07XG5cbiAgICBpZiAobGlzdGVuZXJzKSB7XG4gICAgICBjb25zdCBpbmRleCA9IGxpc3RlbmVycy5pbmRleE9mKGZuIGFzIE9ic2VydmVyTGlzdGVuZXI8YW55Pik7XG4gICAgICBpZiAoaW5kZXggPj0gMCkgbGlzdGVuZXJzLnNwbGljZShpbmRleCwgMSk7XG5cbiAgICAgIGlmICghbGlzdGVuZXJzLmxlbmd0aCkge1xuICAgICAgICBkZWxldGUgdGhpcy5fb2JzZXJ2ZXJMaXN0ZW5lcnNbdHlwZV07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlRXZlbnQ8VD4odHlwZTogc3RyaW5nLCBkYXRhPzogRXZlbnREYXRhPFQ+IHwgbnVsbCkge1xuICAgIHJldHVybiBjcmVhdGVFdmVudDxUPih0aGlzLCB0eXBlLCBkYXRhKTtcbiAgfVxuXG4gIHB1YmxpYyBmaXJlPFQ+KGV2ZW50OiBzdHJpbmcgfCBDdXN0b21FdmVudDxUPiwgLi4uYXJnczogYW55W10pIHtcbiAgICBpZiAodHlwZW9mIGV2ZW50ID09PSBcInN0cmluZ1wiKSB7XG4gICAgICBldmVudCA9IHRoaXMuY3JlYXRlRXZlbnQ8VD4oZXZlbnQpO1xuICAgIH1cblxuICAgIGlmICghRXZlbnQuaXNFdmVudChldmVudCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGluZyBFdmVudCB0byBlbWl0LlwiKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fZmlyZShldmVudCwgLi4uYXJncyk7XG4gIH1cblxuICBwcml2YXRlIF9maXJlPFQ+KGV2ZW50OiBDdXN0b21FdmVudDxUPiwgLi4uYXJnczogYW55W10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBmaXJlT2JzZXJ2ZXIgPSAob2JzZXJ2ZXI6IE9ic2VydmVyIHwgbnVsbCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgICAgaWYgKCFvYnNlcnZlciB8fCBldmVudC5zdG9wcGVkIHx8ICFldmVudC5idWJibGVzKSB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbGlzdGVuZXJzID0gb2JzZXJ2ZXIuZ2V0T2JzZXJ2ZXJMaXN0ZW5lcnMoZXZlbnQudHlwZSkgYXMgQXJyYXk8T2JzZXJ2ZXJMaXN0ZW5lcjxUPj47XG4gICAgICBsZXQgbGlzdGVuZXI6IE9ic2VydmVyTGlzdGVuZXI8VD47XG4gICAgICBsZXQgaSA9IDA7XG5cbiAgICAgIGNvbnN0IG5leHRMaXN0ZW5lciA9ICgpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgICAgLy8gY2FsY3VsYXRlIG5ldyBpbmRleCBkeW5hbWljYWxseVxuICAgICAgICBpZiAobGlzdGVuZXIpIHtcbiAgICAgICAgICAvLyBkZXRlY3QgaWYgdGhlIGxpc3RlbmVyIHdhcyByZW1vdmVkIHNpbmNlIHJ1bm5pbmdcbiAgICAgICAgICBjb25zdCBpZHggPSBsaXN0ZW5lcnMuaW5kZXhPZihsaXN0ZW5lcik7XG4gICAgICAgICAgaSA9IGlkeCA+PSAwID8gaWR4ICsgMSA6IGk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobGlzdGVuZXJzID09IG51bGwgfHwgaSA+PSBsaXN0ZW5lcnMubGVuZ3RoIHx8IGV2ZW50LnN0b3BwZWQpIHtcbiAgICAgICAgICByZXR1cm4gZmlyZU9ic2VydmVyKG9ic2VydmVyLm9ic2VydmVyUGFyZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpc3RlbmVyID0gbGlzdGVuZXJzW2ldO1xuXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKVxuICAgICAgICAgIC50aGVuKCgpID0+IGxpc3RlbmVyLmNhbGwob2JzZXJ2ZXIsIGV2ZW50LCAuLi5hcmdzKSlcbiAgICAgICAgICAudGhlbihuZXh0TGlzdGVuZXIpO1xuICAgICAgfTtcblxuICAgICAgcmV0dXJuIG5leHRMaXN0ZW5lcigpO1xuICAgIH07XG5cbiAgICByZXR1cm4gZmlyZU9ic2VydmVyKHRoaXMpLnRoZW4oKCkgPT4ge1xuICAgICAgaWYgKCFldmVudC5kZWZhdWx0UHJldmVudGVkICYmIGV2ZW50LmRlZmF1bHRMaXN0ZW5lcikge1xuICAgICAgICByZXR1cm4gZXZlbnQuZGVmYXVsdExpc3RlbmVyLmNhbGwobnVsbCwgZXZlbnQsIC4uLmFyZ3MpO1xuICAgICAgfVxuICAgIH0pLnRoZW4oKCkgPT4ge30pO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvb2JzZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnRUFBeUQ7QUFDekQsaUNBQWdGO0FBQ2hGLGlDQUFvQztBQVlwQztJQUE4Qiw0QkFBWTtJQWdCeEMsa0JBQVksTUFBd0I7UUFBcEMsWUFDRSxpQkFBTyxTQUVSO1FBUk8scUJBQWUsR0FBb0IsSUFBSSxDQUFDO1FBR3hDLHdCQUFrQixHQUE2QixFQUFFLENBQUM7UUFJeEQsSUFBSSxNQUFNO1lBQUUsS0FBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQzs7SUFDakMsQ0FBQztJQWxCYSxtQkFBVSxHQUF4QixVQUF5QixDQUFNO1FBQzdCLElBQU0sQ0FBQyxHQUFHLENBQWEsQ0FBQztRQUN4QixPQUFPLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDLG9CQUFvQixLQUFLLElBQUksQ0FBQztJQUN0RCxDQUFDO0lBRUQsc0JBQVcsMENBQW9CO2FBQS9CO1lBQ0UsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDOzs7T0FBQTtJQWFELHNCQUFXLG9DQUFjO2FBQXpCO1lBQ0UsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQzlCLENBQUM7OztPQUFBO0lBRU0sdUNBQW9CLEdBQTNCLFVBQTRCLFNBQWlCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRU0sd0JBQUssR0FBWixVQUFhLE1BQWdCO1FBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztTQUNuRDtRQUVELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNmLElBQUks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LGdCQUFnQixJQUFJLEtBQUssQ0FBQyxlQUFlLEVBQUU7Z0JBQ3BELE9BQU8sQ0FBQSxLQUFBLEtBQUssQ0FBQyxlQUFlLENBQUEsQ0FBQyxJQUFJLHFCQUFDLElBQUksRUFBRSxLQUFLLEdBQUssSUFBSSxHQUFFO2FBQ3pEO1FBQ0gsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQU8sQ0FBQyxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQTFKRDtRQURDLGlDQUFhO3FEQUNrQztJQUdoRDtRQURDLGlDQUFhO3dEQUM0QztJQXdKNUQsZUFBQztDQUFBLEFBdEtELENBQThCLHFCQUFZLEdBc0t6QztBQXRLWSw0QkFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7bm9uZW51bWVyYWJsZX0gZnJvbSBcIkBwYWdlZGlwL3V0aWwtcHJvcC1oZWxwZXJzXCI7XG5pbXBvcnQge0V2ZW50LGNyZWF0ZUV2ZW50LEV2ZW50UHJvcGVydGllcyxFdmVudERhdGEsQ3VzdG9tRXZlbnR9IGZyb20gXCIuL2V2ZW50XCI7XG5pbXBvcnQge0V2ZW50RW1pdHRlcn0gZnJvbSBcImV2ZW50c1wiO1xuXG5leHBvcnQgdHlwZSBPYnNlcnZlckxpc3RlbmVyPFQ+ID0gKGV2ZW50OiBFdmVudCAmIEV2ZW50UHJvcGVydGllczxUPiwgLi4uYXJnczogYW55W10pID0+IGFueTtcblxuZXhwb3J0IGludGVyZmFjZSBPYnNlcnZlckxpc3RlbmVyTWFwPFQ+IHtcbiAgW2tleTogc3RyaW5nXTogT2JzZXJ2ZXJMaXN0ZW5lcjxUPiB8IEFycmF5PE9ic2VydmVyTGlzdGVuZXI8VD4+O1xufVxuXG5pbnRlcmZhY2UgT2JzZXJ2ZXJMaXN0ZW5lckFycmF5TWFwIHtcbiAgW2tleTogc3RyaW5nXTogQXJyYXk8T2JzZXJ2ZXJMaXN0ZW5lcjxhbnk+PiB8IG51bGw7XG59XG5cbmV4cG9ydCBjbGFzcyBPYnNlcnZlciBleHRlbmRzIEV2ZW50RW1pdHRlciB7XG4gIHB1YmxpYyBzdGF0aWMgaXNPYnNlcnZlcihvOiBhbnkpOiBvIGlzIE9ic2VydmVyIHtcbiAgICBjb25zdCBlID0gbyBhcyBPYnNlcnZlcjtcbiAgICByZXR1cm4gZSAhPSBudWxsICYmIGUuX19wYWdlZGlwX29ic2VydmVyX18gPT09IHRydWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IF9fcGFnZWRpcF9vYnNlcnZlcl9fKCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgQG5vbmVudW1lcmFibGVcbiAgcHJpdmF0ZSBfb2JzZXJ2ZXJQYXJlbnQ6IE9ic2VydmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgQG5vbmVudW1lcmFibGVcbiAgcHJpdmF0ZSBfb2JzZXJ2ZXJMaXN0ZW5lcnM6IE9ic2VydmVyTGlzdGVuZXJBcnJheU1hcCA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKHBhcmVudD86IE9ic2VydmVyIHwgbnVsbCkge1xuICAgIHN1cGVyKCk7XG4gICAgaWYgKHBhcmVudCkgdGhpcy5tb3VudChwYXJlbnQpO1xuICB9XG5cbiAgcHVibGljIGdldCBvYnNlcnZlclBhcmVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5fb2JzZXJ2ZXJQYXJlbnQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0T2JzZXJ2ZXJMaXN0ZW5lcnMoZXZlbnRUeXBlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5fb2JzZXJ2ZXJMaXN0ZW5lcnNbZXZlbnRUeXBlXSB8fCBbXTtcbiAgfVxuXG4gIHB1YmxpYyBtb3VudChwYXJlbnQ6IE9ic2VydmVyKSB7XG4gICAgaWYgKCFPYnNlcnZlci5pc09ic2VydmVyKHBhcmVudCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGluZyBvYnNlcnZlciBmb3IgcGFyZW50LlwiKTtcbiAgICB9XG5cbiAgICB0aGlzLnVubW91bnQoKTtcbiAgICB0aGlzLl9vYnNlcnZlclBhcmVudCA9IHBhcmVudDtcbiAgICB0aGlzLmVtaXQoXCJtb3VudFwiLCBwYXJlbnQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHVubW91bnQoKSB7XG4gICAgaWYgKHRoaXMuX29ic2VydmVyUGFyZW50ICE9IG51bGwpIHtcbiAgICAgIHRoaXMuZW1pdChcInVubW91bnRcIiwgdGhpcy5fb2JzZXJ2ZXJQYXJlbnQpO1xuICAgICAgdGhpcy5fb2JzZXJ2ZXJQYXJlbnQgPSBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIG9ic2VydmU8VD4odHlwZTogc3RyaW5nLCBmbjogT2JzZXJ2ZXJMaXN0ZW5lcjxUPiB8IEFycmF5PE9ic2VydmVyTGlzdGVuZXI8VD4+KTogdGhpcztcbiAgcHVibGljIG9ic2VydmU8VD4obGlzdGVuZXJNYXA6IE9ic2VydmVyTGlzdGVuZXJNYXA8VD4pOiB0aGlzO1xuICBwdWJsaWMgb2JzZXJ2ZTxUPih0eXBlOiBzdHJpbmcgfCBPYnNlcnZlckxpc3RlbmVyTWFwPFQ+LCBmbj86IE9ic2VydmVyTGlzdGVuZXI8VD4gfCBBcnJheTxPYnNlcnZlckxpc3RlbmVyPFQ+Pikge1xuICAgIGlmICh0eXBlb2YgdHlwZSA9PT0gXCJvYmplY3RcIiAmJiB0eXBlICE9IG51bGwpIHtcbiAgICAgIE9iamVjdC5rZXlzKHR5cGUpLmZvckVhY2goKGspID0+IHRoaXMub2JzZXJ2ZShrLCB0eXBlW2tdKSk7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHR5cGUgIT09IFwic3RyaW5nXCIgfHwgIXR5cGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGluZyBub24tZW1wdHkgc3RyaW5nIGZvciBldmVudCB0eXBlLlwiKTtcbiAgICB9XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShmbikpIHtcbiAgICAgIGZuLmZvckVhY2goKGYpID0+IHRoaXMub2JzZXJ2ZSh0eXBlLCBmKSk7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGZuICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGluZyBmdW5jdGlvbiBmb3IgZXZlbnQgbGlzdGVuZXIuXCIpO1xuICAgIH1cblxuICAgIGNvbnN0IGxpc3RlbmVycyA9IHRoaXMuX29ic2VydmVyTGlzdGVuZXJzW3R5cGVdIHx8IFtdO1xuICAgIGxpc3RlbmVycy5wdXNoKGZuIGFzIE9ic2VydmVyTGlzdGVuZXI8YW55Pik7XG4gICAgdGhpcy5fb2JzZXJ2ZXJMaXN0ZW5lcnNbdHlwZV0gPSBsaXN0ZW5lcnM7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB1bm9ic2VydmU8VD4odHlwZTogc3RyaW5nLCBmbjogT2JzZXJ2ZXJMaXN0ZW5lcjxUPiB8IEFycmF5PE9ic2VydmVyTGlzdGVuZXI8VD4+KTogdGhpcztcbiAgcHVibGljIHVub2JzZXJ2ZTxUPihsaXN0ZW5lck1hcDogT2JzZXJ2ZXJMaXN0ZW5lck1hcDxUPik6IHRoaXM7XG4gIHB1YmxpYyB1bm9ic2VydmU8VD4odHlwZTogc3RyaW5nIHwgT2JzZXJ2ZXJMaXN0ZW5lck1hcDxUPiwgZm4/OiBPYnNlcnZlckxpc3RlbmVyPFQ+IHwgQXJyYXk8T2JzZXJ2ZXJMaXN0ZW5lcjxUPj4pIHtcbiAgICBpZiAodHlwZW9mIHR5cGUgPT09IFwib2JqZWN0XCIgJiYgdHlwZSAhPSBudWxsKSB7XG4gICAgICBPYmplY3Qua2V5cyh0eXBlKS5mb3JFYWNoKChrKSA9PiB0aGlzLnVub2JzZXJ2ZShrLCB0eXBlW2tdKSk7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHR5cGUgIT09IFwic3RyaW5nXCIgfHwgIXR5cGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGluZyBub24tZW1wdHkgc3RyaW5nIGZvciBldmVudCB0eXBlLlwiKTtcbiAgICB9XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShmbikpIHtcbiAgICAgIGZuLmZvckVhY2goKGYpID0+IHRoaXMudW5vYnNlcnZlKHR5cGUsIGYpKTtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgZm4gIT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0aW5nIGZ1bmN0aW9uIGZvciBldmVudCBsaXN0ZW5lci5cIik7XG4gICAgfVxuXG4gICAgY29uc3QgbGlzdGVuZXJzID0gdGhpcy5fb2JzZXJ2ZXJMaXN0ZW5lcnNbdHlwZV07XG5cbiAgICBpZiAobGlzdGVuZXJzKSB7XG4gICAgICBjb25zdCBpbmRleCA9IGxpc3RlbmVycy5pbmRleE9mKGZuIGFzIE9ic2VydmVyTGlzdGVuZXI8YW55Pik7XG4gICAgICBpZiAoaW5kZXggPj0gMCkgbGlzdGVuZXJzLnNwbGljZShpbmRleCwgMSk7XG5cbiAgICAgIGlmICghbGlzdGVuZXJzLmxlbmd0aCkge1xuICAgICAgICBkZWxldGUgdGhpcy5fb2JzZXJ2ZXJMaXN0ZW5lcnNbdHlwZV07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlRXZlbnQ8VD4odHlwZTogc3RyaW5nLCBkYXRhPzogRXZlbnREYXRhPFQ+IHwgbnVsbCkge1xuICAgIHJldHVybiBjcmVhdGVFdmVudDxUPih0aGlzLCB0eXBlLCBkYXRhKTtcbiAgfVxuXG4gIHB1YmxpYyBmaXJlPFQ+KGV2ZW50OiBzdHJpbmcgfCBDdXN0b21FdmVudDxUPiwgLi4uYXJnczogYW55W10pIHtcbiAgICBpZiAodHlwZW9mIGV2ZW50ID09PSBcInN0cmluZ1wiKSB7XG4gICAgICBldmVudCA9IHRoaXMuY3JlYXRlRXZlbnQ8VD4oZXZlbnQpO1xuICAgIH1cblxuICAgIGlmICghRXZlbnQuaXNFdmVudChldmVudCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGluZyBFdmVudCB0byBlbWl0LlwiKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fZmlyZShldmVudCwgLi4uYXJncyk7XG4gIH1cblxuICBwcml2YXRlIF9maXJlPFQ+KGV2ZW50OiBDdXN0b21FdmVudDxUPiwgLi4uYXJnczogYW55W10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBmaXJlT2JzZXJ2ZXIgPSAob2JzZXJ2ZXI6IE9ic2VydmVyIHwgbnVsbCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgICAgaWYgKCFvYnNlcnZlciB8fCBldmVudC5zdG9wcGVkIHx8ICFldmVudC5idWJibGVzKSB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbGlzdGVuZXJzID0gb2JzZXJ2ZXIuZ2V0T2JzZXJ2ZXJMaXN0ZW5lcnMoZXZlbnQudHlwZSkgYXMgQXJyYXk8T2JzZXJ2ZXJMaXN0ZW5lcjxUPj47XG4gICAgICBsZXQgbGlzdGVuZXI6IE9ic2VydmVyTGlzdGVuZXI8VD47XG4gICAgICBsZXQgaSA9IDA7XG5cbiAgICAgIGNvbnN0IG5leHRMaXN0ZW5lciA9ICgpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgICAgLy8gY2FsY3VsYXRlIG5ldyBpbmRleCBkeW5hbWljYWxseVxuICAgICAgICBpZiAobGlzdGVuZXIpIHtcbiAgICAgICAgICAvLyBkZXRlY3QgaWYgdGhlIGxpc3RlbmVyIHdhcyByZW1vdmVkIHNpbmNlIHJ1bm5pbmdcbiAgICAgICAgICBjb25zdCBpZHggPSBsaXN0ZW5lcnMuaW5kZXhPZihsaXN0ZW5lcik7XG4gICAgICAgICAgaSA9IGlkeCA+PSAwID8gaWR4ICsgMSA6IGk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobGlzdGVuZXJzID09IG51bGwgfHwgaSA+PSBsaXN0ZW5lcnMubGVuZ3RoIHx8IGV2ZW50LnN0b3BwZWQpIHtcbiAgICAgICAgICByZXR1cm4gZmlyZU9ic2VydmVyKG9ic2VydmVyLm9ic2VydmVyUGFyZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpc3RlbmVyID0gbGlzdGVuZXJzW2ldO1xuXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKVxuICAgICAgICAgIC50aGVuKCgpID0+IGxpc3RlbmVyLmNhbGwob2JzZXJ2ZXIsIGV2ZW50LCAuLi5hcmdzKSlcbiAgICAgICAgICAudGhlbihuZXh0TGlzdGVuZXIpO1xuICAgICAgfTtcblxuICAgICAgcmV0dXJuIG5leHRMaXN0ZW5lcigpO1xuICAgIH07XG5cbiAgICByZXR1cm4gZmlyZU9ic2VydmVyKHRoaXMpLnRoZW4oKCkgPT4ge1xuICAgICAgaWYgKCFldmVudC5kZWZhdWx0UHJldmVudGVkICYmIGV2ZW50LmRlZmF1bHRMaXN0ZW5lcikge1xuICAgICAgICByZXR1cm4gZXZlbnQuZGVmYXVsdExpc3RlbmVyLmNhbGwobnVsbCwgZXZlbnQsIC4uLmFyZ3MpO1xuICAgICAgfVxuICAgIH0pLnRoZW4oKCkgPT4ge30pO1xuICB9XG59XG4iXX0=
{
"name": "@pagedip/lib-observer",
"version": "2.0.3",
"version": "2.1.0",
"author": "Tyler Johnson <tyler@beneaththeink.com>",

@@ -14,7 +14,7 @@ "repository": {

"build:full": "npm-run-all clean build",
"build": "tsc -p tsconfig.build.json",
"prepare": "npm run build"
"build": "tsc",
"prepack": "npm run build"
},
"dependencies": {
"@pagedip/util-prop-helpers": "^1.1.2"
"@pagedip/util-prop-helpers": "^1.2.0"
},

@@ -24,3 +24,3 @@ "devDependencies": {

"shx": "^0.3.2",
"typescript": "~2.8.4"
"typescript": "^3.0.1"
},

@@ -30,3 +30,3 @@ "files": [

],
"gitHead": "19ffe3a5cf92f20852ff7763dc12ed126c9c5ebe"
"gitHead": "1e9b4a816a6455730bc1a3a1ab90ff2eb2a33895"
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc