Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

angular2-promise-buttons

Package Overview
Dependencies
Maintainers
1
Versions
37
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

angular2-promise-buttons - npm Package Compare versions

Comparing version 4.0.9 to 4.0.10

268

bundles/angular2-promise-buttons.umd.js
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs')) :
typeof define === 'function' && define.amd ? define('angular2-promise-buttons', ['exports', '@angular/core', 'rxjs'], factory) :
(global = global || self, factory(global['angular2-promise-buttons'] = {}, global.ng.core, global.rxjs));
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global['angular2-promise-buttons'] = {}, global.ng.core, global.rxjs));
}(this, (function (exports, core, rxjs) { 'use strict';
/*! *****************************************************************************
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABLITY OR NON-INFRINGEMENT.
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */
/* global Reflect, Promise */
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);
};
function __extends(d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
}
var __assign = function() {
__assign = Object.assign || function __assign(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
function __rest(s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
t[p[i]] = s[p[i]];
}
return t;
}
function __decorate(decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
}
function __param(paramIndex, decorator) {
return function (target, key) { decorator(target, key, paramIndex); }
}
function __metadata(metadataKey, metadataValue) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
}
function __awaiter(thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
}
function __generator(thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (_) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
}
function __exportStar(m, exports) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
function __values(o) {
var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
if (m) return m.call(o);
return {
next: function () {
if (o && i >= o.length) o = void 0;
return { value: o && o[i++], done: !o };
}
};
}
function __read(o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
}
function __spread() {
for (var ar = [], i = 0; i < arguments.length; i++)
ar = ar.concat(__read(arguments[i]));
return ar;
}
function __spreadArrays() {
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
for (var r = Array(s), k = 0, i = 0; i < il; i++)
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
r[k] = a[j];
return r;
};
function __await(v) {
return this instanceof __await ? (this.v = v, this) : new __await(v);
}
function __asyncGenerator(thisArg, _arguments, generator) {
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
var g = generator.apply(thisArg, _arguments || []), i, q = [];
return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
function fulfill(value) { resume("next", value); }
function reject(value) { resume("throw", value); }
function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
}
function __asyncDelegator(o) {
var i, p;
return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
}
function __asyncValues(o) {
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
var m = o[Symbol.asyncIterator], i;
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
}
function __makeTemplateObject(cooked, raw) {
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
return cooked;
};
function __importStar(mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result.default = mod;
return result;
}
function __importDefault(mod) {
return (mod && mod.__esModule) ? mod : { default: mod };
}
var DEFAULT_CFG = {

@@ -235,3 +38,3 @@ spinnerTpl: '<span class="btn-spinner"></span>',

},
enumerable: true,
enumerable: false,
configurable: true

@@ -267,3 +70,3 @@ });

},
enumerable: true,
enumerable: false,
configurable: true

@@ -420,23 +223,18 @@ });

};
PromiseBtnDirective.ctorParameters = function () { return [
{ type: core.ElementRef },
{ type: undefined, decorators: [{ type: core.Inject, args: [userCfg,] }] }
]; };
__decorate([
core.Input('disabled')
], PromiseBtnDirective.prototype, "isDisabledFromTheOutsideSetter", null);
__decorate([
core.Input()
], PromiseBtnDirective.prototype, "promiseBtn", null);
__decorate([
core.HostListener('click')
], PromiseBtnDirective.prototype, "handleCurrentBtnOnly", null);
PromiseBtnDirective = __decorate([
core.Directive({
selector: '[promiseBtn]'
}),
__param(1, core.Inject(userCfg))
], PromiseBtnDirective);
return PromiseBtnDirective;
}());
PromiseBtnDirective.decorators = [
{ type: core.Directive, args: [{
selector: '[promiseBtn]'
},] }
];
PromiseBtnDirective.ctorParameters = function () { return [
{ type: core.ElementRef },
{ type: undefined, decorators: [{ type: core.Inject, args: [userCfg,] }] }
]; };
PromiseBtnDirective.propDecorators = {
isDisabledFromTheOutsideSetter: [{ type: core.Input, args: ['disabled',] }],
promiseBtn: [{ type: core.Input }],
handleCurrentBtnOnly: [{ type: core.HostListener, args: ['click',] }]
};

@@ -446,3 +244,2 @@ var Angular2PromiseButtonModule = /** @class */ (function () {

}
Angular2PromiseButtonModule_1 = Angular2PromiseButtonModule;
// add forRoot to make it configurable

@@ -452,22 +249,25 @@ Angular2PromiseButtonModule.forRoot = function (config) {

return {
ngModule: Angular2PromiseButtonModule_1,
ngModule: Angular2PromiseButtonModule,
providers: [{ provide: userCfg, useValue: config }]
};
};
var Angular2PromiseButtonModule_1;
Angular2PromiseButtonModule = Angular2PromiseButtonModule_1 = __decorate([
core.NgModule({
declarations: [
PromiseBtnDirective,
],
imports: [],
exports: [
PromiseBtnDirective,
],
providers: []
})
], Angular2PromiseButtonModule);
return Angular2PromiseButtonModule;
}());
Angular2PromiseButtonModule.decorators = [
{ type: core.NgModule, args: [{
declarations: [
PromiseBtnDirective,
],
imports: [],
exports: [
PromiseBtnDirective,
],
providers: []
},] }
];
/**
* Generated bundle index. Do not edit.
*/
exports.Angular2PromiseButtonModule = Angular2PromiseButtonModule;

@@ -474,0 +274,0 @@ exports.PromiseBtnDirective = PromiseBtnDirective;

@@ -1,16 +0,2 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("rxjs")):"function"==typeof define&&define.amd?define("angular2-promise-buttons",["exports","@angular/core","rxjs"],t):t((e=e||self)["angular2-promise-buttons"]={},e.ng.core,e.rxjs)}(this,(function(e,t,n){"use strict";
/*! *****************************************************************************
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABLITY OR NON-INFRINGEMENT.
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */function i(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s}var o={spinnerTpl:'<span class="btn-spinner"></span>',disableBtn:!0,btnLoadingClass:"is-loading",handleCurrentBtnOnly:!1,minDuration:null},r=new t.InjectionToken("cfg"),s=function(){function e(e,t){this.cfg=Object.assign({},o,t),this.btnEl=e.nativeElement}var s,a;return Object.defineProperty(e.prototype,"isDisabledFromTheOutsideSetter",{set:function(e){this.isDisabledFromTheOutside=e,e?this.btnEl.setAttribute("disabled","disabled"):(this.isPromiseDone||void 0===this.isPromiseDone)&&this.btnEl.removeAttribute("disabled")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"promiseBtn",{set:function(e){var t=e instanceof n.Observable,i=e instanceof n.Subscription,o="boolean"==typeof e,r=e instanceof Promise||null!==e&&"object"==typeof e&&"function"==typeof e.then&&"function"==typeof e.catch;if(t)throw new TypeError("promiseBtn must be an instance of Subscription, instance of Observable given");if(i){var s=e;s.closed||(this.promise=new Promise((function(e){s.add(e)})))}else r?this.promise=e:o&&(this.promise=this.createPromiseFromBoolean(e));this.checkAndInitPromiseHandler(this.btnEl)},enumerable:!0,configurable:!0}),e.prototype.ngAfterContentInit=function(){this.prepareBtnEl(this.btnEl),this.checkAndInitPromiseHandler(this.btnEl)},e.prototype.ngOnDestroy=function(){this.minDurationTimeout&&clearTimeout(this.minDurationTimeout)},e.prototype.createPromiseFromBoolean=function(e){var t=this;return e?new Promise((function(e){t._fakePromiseResolve=e})):(this._fakePromiseResolve&&this._fakePromiseResolve(),this.promise)},e.prototype.prepareBtnEl=function(e){this.appendSpinnerTpl(e)},e.prototype.checkAndInitPromiseHandler=function(e){e&&this.promise&&this.initPromiseHandler(e)},e.prototype.addLoadingClass=function(e){"string"==typeof this.cfg.btnLoadingClass&&e.classList.add(this.cfg.btnLoadingClass)},e.prototype.removeLoadingClass=function(e){"string"==typeof this.cfg.btnLoadingClass&&e.classList.remove(this.cfg.btnLoadingClass)},e.prototype.initLoadingState=function(e){this.addLoadingClass(e),this.disableBtn(e)},e.prototype.cancelLoadingStateIfPromiseAndMinDurationDone=function(e){this.cfg.minDuration&&!this.isMinDurationTimeoutDone||!this.isPromiseDone||(this.removeLoadingClass(e),this.enableBtn(e))},e.prototype.disableBtn=function(e){this.cfg.disableBtn&&e.setAttribute("disabled","disabled")},e.prototype.enableBtn=function(e){this.cfg.disableBtn&&(this.isDisabledFromTheOutside?e.setAttribute("disabled","disabled"):e.removeAttribute("disabled"))},e.prototype.initPromiseHandler=function(e){var t=this,n=this.promise;this.isMinDurationTimeoutDone=!1,this.isPromiseDone=!1,this.cfg.minDuration&&(this.minDurationTimeout=window.setTimeout((function(){t.isMinDurationTimeoutDone=!0,t.cancelLoadingStateIfPromiseAndMinDurationDone(e)}),this.cfg.minDuration));var i=function(){t.isPromiseDone=!0,t.cancelLoadingStateIfPromiseAndMinDurationDone(e)};this.cfg.handleCurrentBtnOnly||this.initLoadingState(e),n.finally?n.finally(i):n.then(i).catch(i)},e.prototype.appendSpinnerTpl=function(e){e.insertAdjacentHTML("beforeend",this.cfg.spinnerTpl)},e.prototype.handleCurrentBtnOnly=function(){var e=this;if(!this.cfg.handleCurrentBtnOnly)return!0;window.setTimeout((function(){e.promise&&e.initLoadingState(e.btnEl)}),0)},e.ctorParameters=function(){return[{type:t.ElementRef},{type:void 0,decorators:[{type:t.Inject,args:[r]}]}]},i([t.Input("disabled")],e.prototype,"isDisabledFromTheOutsideSetter",null),i([t.Input()],e.prototype,"promiseBtn",null),i([t.HostListener("click")],e.prototype,"handleCurrentBtnOnly",null),e=i([t.Directive({selector:"[promiseBtn]"}),(s=1,a=t.Inject(r),function(e,t){a(e,t,s)})],e)}(),a=function(){function e(){}var n;return n=e,e.forRoot=function(e){return{ngModule:n,providers:[{provide:r,useValue:e}]}},e=n=i([t.NgModule({declarations:[s],imports:[],exports:[s],providers:[]})],e)}();e.Angular2PromiseButtonModule=a,e.PromiseBtnDirective=s,e.ɵa=r,Object.defineProperty(e,"__esModule",{value:!0})}));
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("rxjs")):"function"==typeof define&&define.amd?define("angular2-promise-buttons",["exports","@angular/core","rxjs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["angular2-promise-buttons"]={},e.ng.core,e.rxjs)}(this,(function(e,t,i){"use strict";var n={spinnerTpl:'<span class="btn-spinner"></span>',disableBtn:!0,btnLoadingClass:"is-loading",handleCurrentBtnOnly:!1,minDuration:null},o=new t.InjectionToken("cfg"),s=function(){function e(e,t){this.cfg=Object.assign({},n,t),this.btnEl=e.nativeElement}return Object.defineProperty(e.prototype,"isDisabledFromTheOutsideSetter",{set:function(e){this.isDisabledFromTheOutside=e,e?this.btnEl.setAttribute("disabled","disabled"):(this.isPromiseDone||void 0===this.isPromiseDone)&&this.btnEl.removeAttribute("disabled")},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"promiseBtn",{set:function(e){var t=e instanceof i.Observable,n=e instanceof i.Subscription,o="boolean"==typeof e,s=e instanceof Promise||null!==e&&"object"==typeof e&&"function"==typeof e.then&&"function"==typeof e.catch;if(t)throw new TypeError("promiseBtn must be an instance of Subscription, instance of Observable given");if(n){var r=e;r.closed||(this.promise=new Promise((function(e){r.add(e)})))}else s?this.promise=e:o&&(this.promise=this.createPromiseFromBoolean(e));this.checkAndInitPromiseHandler(this.btnEl)},enumerable:!1,configurable:!0}),e.prototype.ngAfterContentInit=function(){this.prepareBtnEl(this.btnEl),this.checkAndInitPromiseHandler(this.btnEl)},e.prototype.ngOnDestroy=function(){this.minDurationTimeout&&clearTimeout(this.minDurationTimeout)},e.prototype.createPromiseFromBoolean=function(e){var t=this;return e?new Promise((function(e){t._fakePromiseResolve=e})):(this._fakePromiseResolve&&this._fakePromiseResolve(),this.promise)},e.prototype.prepareBtnEl=function(e){this.appendSpinnerTpl(e)},e.prototype.checkAndInitPromiseHandler=function(e){e&&this.promise&&this.initPromiseHandler(e)},e.prototype.addLoadingClass=function(e){"string"==typeof this.cfg.btnLoadingClass&&e.classList.add(this.cfg.btnLoadingClass)},e.prototype.removeLoadingClass=function(e){"string"==typeof this.cfg.btnLoadingClass&&e.classList.remove(this.cfg.btnLoadingClass)},e.prototype.initLoadingState=function(e){this.addLoadingClass(e),this.disableBtn(e)},e.prototype.cancelLoadingStateIfPromiseAndMinDurationDone=function(e){this.cfg.minDuration&&!this.isMinDurationTimeoutDone||!this.isPromiseDone||(this.removeLoadingClass(e),this.enableBtn(e))},e.prototype.disableBtn=function(e){this.cfg.disableBtn&&e.setAttribute("disabled","disabled")},e.prototype.enableBtn=function(e){this.cfg.disableBtn&&(this.isDisabledFromTheOutside?e.setAttribute("disabled","disabled"):e.removeAttribute("disabled"))},e.prototype.initPromiseHandler=function(e){var t=this,i=this.promise;this.isMinDurationTimeoutDone=!1,this.isPromiseDone=!1,this.cfg.minDuration&&(this.minDurationTimeout=window.setTimeout((function(){t.isMinDurationTimeoutDone=!0,t.cancelLoadingStateIfPromiseAndMinDurationDone(e)}),this.cfg.minDuration));var n=function(){t.isPromiseDone=!0,t.cancelLoadingStateIfPromiseAndMinDurationDone(e)};this.cfg.handleCurrentBtnOnly||this.initLoadingState(e),i.finally?i.finally(n):i.then(n).catch(n)},e.prototype.appendSpinnerTpl=function(e){e.insertAdjacentHTML("beforeend",this.cfg.spinnerTpl)},e.prototype.handleCurrentBtnOnly=function(){var e=this;if(!this.cfg.handleCurrentBtnOnly)return!0;window.setTimeout((function(){e.promise&&e.initLoadingState(e.btnEl)}),0)},e}();s.decorators=[{type:t.Directive,args:[{selector:"[promiseBtn]"}]}],s.ctorParameters=function(){return[{type:t.ElementRef},{type:void 0,decorators:[{type:t.Inject,args:[o]}]}]},s.propDecorators={isDisabledFromTheOutsideSetter:[{type:t.Input,args:["disabled"]}],promiseBtn:[{type:t.Input}],handleCurrentBtnOnly:[{type:t.HostListener,args:["click"]}]};var r=function(){function e(){}return e.forRoot=function(t){return{ngModule:e,providers:[{provide:o,useValue:t}]}},e}();r.decorators=[{type:t.NgModule,args:[{declarations:[s],imports:[],exports:[s],providers:[]}]}],e.Angular2PromiseButtonModule=r,e.PromiseBtnDirective=s,e.ɵa=o,Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=angular2-promise-buttons.umd.min.js.map

2

esm2015/angular2-promise-buttons.js

@@ -6,2 +6,2 @@ /**

export { userCfg as ɵa } from './user-cfg';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcjItcHJvbWlzZS1idXR0b25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhcjItcHJvbWlzZS1idXR0b25zLyIsInNvdXJjZXMiOlsiYW5ndWxhcjItcHJvbWlzZS1idXR0b25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUM7QUFHeEIsT0FBTyxFQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUMsTUFBTSxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuXG5leHBvcnQge1Byb21pc2VCdG5Db25maWcgYXMgybVifSBmcm9tICcuL3Byb21pc2UtYnRuLWNvbmZpZyc7XG5leHBvcnQge3VzZXJDZmcgYXMgybVhfSBmcm9tICcuL3VzZXItY2ZnJzsiXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcjItcHJvbWlzZS1idXR0b25zLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIyLXByb21pc2UtYnV0dG9ucy9zcmMvIiwic291cmNlcyI6WyJhbmd1bGFyMi1wcm9taXNlLWJ1dHRvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQztBQUd4QixPQUFPLEVBQUMsT0FBTyxJQUFJLEVBQUUsRUFBQyxNQUFNLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG5cbmV4cG9ydCB7UHJvbWlzZUJ0bkNvbmZpZyBhcyDJtWJ9IGZyb20gJy4vcHJvbWlzZS1idG4tY29uZmlnJztcbmV4cG9ydCB7dXNlckNmZyBhcyDJtWF9IGZyb20gJy4vdXNlci1jZmcnOyJdfQ==

@@ -1,7 +0,5 @@

var Angular2PromiseButtonModule_1;
import { __decorate } from "tslib";
import { NgModule } from '@angular/core';
import { PromiseBtnDirective } from './promise-btn.directive';
import { userCfg } from './user-cfg';
let Angular2PromiseButtonModule = Angular2PromiseButtonModule_1 = class Angular2PromiseButtonModule {
export class Angular2PromiseButtonModule {
// add forRoot to make it configurable

@@ -11,20 +9,19 @@ static forRoot(config) {

return {
ngModule: Angular2PromiseButtonModule_1,
ngModule: Angular2PromiseButtonModule,
providers: [{ provide: userCfg, useValue: config }]
};
}
};
Angular2PromiseButtonModule = Angular2PromiseButtonModule_1 = __decorate([
NgModule({
declarations: [
PromiseBtnDirective,
],
imports: [],
exports: [
PromiseBtnDirective,
],
providers: []
})
], Angular2PromiseButtonModule);
export { Angular2PromiseButtonModule };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcjItcHJvbWlzZS1idXR0b25zLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXIyLXByb21pc2UtYnV0dG9ucy8iLCJzb3VyY2VzIjpbImFuZ3VsYXIyLXByb21pc2UtYnV0dG9ucy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQXNCLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUU1RCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sWUFBWSxDQUFDO0FBWW5DLElBQWEsMkJBQTJCLG1DQUF4QyxNQUFhLDJCQUEyQjtJQUN0QyxzQ0FBc0M7SUFDdEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUF5QjtRQUN0QywrREFBK0Q7UUFDL0QsT0FBTztZQUNMLFFBQVEsRUFBRSw2QkFBMkI7WUFDckMsU0FBUyxFQUFFLENBQUMsRUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUMsQ0FBQztTQUNsRCxDQUFDO0lBQ0osQ0FBQztDQUNGLENBQUE7QUFUWSwyQkFBMkI7SUFWdkMsUUFBUSxDQUFDO1FBQ1IsWUFBWSxFQUFFO1lBQ1osbUJBQW1CO1NBQ3BCO1FBQ0QsT0FBTyxFQUFFLEVBQUU7UUFDWCxPQUFPLEVBQUU7WUFDUCxtQkFBbUI7U0FDcEI7UUFDRCxTQUFTLEVBQUUsRUFBRTtLQUNkLENBQUM7R0FDVywyQkFBMkIsQ0FTdkM7U0FUWSwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UHJvbWlzZUJ0bkRpcmVjdGl2ZX0gZnJvbSAnLi9wcm9taXNlLWJ0bi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtQcm9taXNlQnRuQ29uZmlnfSBmcm9tICcuL3Byb21pc2UtYnRuLWNvbmZpZyc7XG5pbXBvcnQge3VzZXJDZmd9IGZyb20gJy4vdXNlci1jZmcnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBQcm9taXNlQnRuRGlyZWN0aXZlLFxuICBdLFxuICBpbXBvcnRzOiBbXSxcbiAgZXhwb3J0czogW1xuICAgIFByb21pc2VCdG5EaXJlY3RpdmUsXG4gIF0sXG4gIHByb3ZpZGVyczogW11cbn0pXG5leHBvcnQgY2xhc3MgQW5ndWxhcjJQcm9taXNlQnV0dG9uTW9kdWxlIHtcbiAgLy8gYWRkIGZvclJvb3QgdG8gbWFrZSBpdCBjb25maWd1cmFibGVcbiAgc3RhdGljIGZvclJvb3QoY29uZmlnPzogUHJvbWlzZUJ0bkNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QW5ndWxhcjJQcm9taXNlQnV0dG9uTW9kdWxlPiB7XG4gICAgLy8gTk9URTogdGhpcyBpcyBuZXZlciBhbGxvd2VkIHRvIGNvbnRhaW4gYW55IGNvbmRpdGlvbmFsIGxvZ2ljXG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBBbmd1bGFyMlByb21pc2VCdXR0b25Nb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFt7cHJvdmlkZTogdXNlckNmZywgdXNlVmFsdWU6IGNvbmZpZ31dXG4gICAgfTtcbiAgfVxufVxuIl19
}
Angular2PromiseButtonModule.decorators = [
{ type: NgModule, args: [{
declarations: [
PromiseBtnDirective,
],
imports: [],
exports: [
PromiseBtnDirective,
],
providers: []
},] }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcjItcHJvbWlzZS1idXR0b25zLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyMi1wcm9taXNlLWJ1dHRvbnMvc3JjLyIsInNvdXJjZXMiOlsiYW5ndWxhcjItcHJvbWlzZS1idXR0b25zLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNCLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUU1RCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sWUFBWSxDQUFDO0FBWW5DLE1BQU0sT0FBTywyQkFBMkI7SUFDdEMsc0NBQXNDO0lBQ3RDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBeUI7UUFDdEMsK0RBQStEO1FBQy9ELE9BQU87WUFDTCxRQUFRLEVBQUUsMkJBQTJCO1lBQ3JDLFNBQVMsRUFBRSxDQUFDLEVBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFDLENBQUM7U0FDbEQsQ0FBQztJQUNKLENBQUM7OztZQWxCRixRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFO29CQUNaLG1CQUFtQjtpQkFDcEI7Z0JBQ0QsT0FBTyxFQUFFLEVBQUU7Z0JBQ1gsT0FBTyxFQUFFO29CQUNQLG1CQUFtQjtpQkFDcEI7Z0JBQ0QsU0FBUyxFQUFFLEVBQUU7YUFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtQcm9taXNlQnRuRGlyZWN0aXZlfSBmcm9tICcuL3Byb21pc2UtYnRuLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1Byb21pc2VCdG5Db25maWd9IGZyb20gJy4vcHJvbWlzZS1idG4tY29uZmlnJztcbmltcG9ydCB7dXNlckNmZ30gZnJvbSAnLi91c2VyLWNmZyc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFByb21pc2VCdG5EaXJlY3RpdmUsXG4gIF0sXG4gIGltcG9ydHM6IFtdLFxuICBleHBvcnRzOiBbXG4gICAgUHJvbWlzZUJ0bkRpcmVjdGl2ZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFyMlByb21pc2VCdXR0b25Nb2R1bGUge1xuICAvLyBhZGQgZm9yUm9vdCB0byBtYWtlIGl0IGNvbmZpZ3VyYWJsZVxuICBzdGF0aWMgZm9yUm9vdChjb25maWc/OiBQcm9taXNlQnRuQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBbmd1bGFyMlByb21pc2VCdXR0b25Nb2R1bGU+IHtcbiAgICAvLyBOT1RFOiB0aGlzIGlzIG5ldmVyIGFsbG93ZWQgdG8gY29udGFpbiBhbnkgY29uZGl0aW9uYWwgbG9naWNcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEFuZ3VsYXIyUHJvbWlzZUJ1dHRvbk1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW3twcm92aWRlOiB1c2VyQ2ZnLCB1c2VWYWx1ZTogY29uZmlnfV1cbiAgICB9O1xuICB9XG59XG4iXX0=

@@ -8,2 +8,2 @@ export const DEFAULT_CFG = {

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1wcm9taXNlLWJ0bi1jb25maWcuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyMi1wcm9taXNlLWJ1dHRvbnMvIiwic291cmNlcyI6WyJkZWZhdWx0LXByb21pc2UtYnRuLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQXFCO0lBQzNDLFVBQVUsRUFBRSxtQ0FBbUM7SUFDL0MsVUFBVSxFQUFFLElBQUk7SUFDaEIsZUFBZSxFQUFFLFlBQVk7SUFDN0Isb0JBQW9CLEVBQUUsS0FBSztJQUMzQixXQUFXLEVBQUUsSUFBSTtDQUNsQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQcm9taXNlQnRuQ29uZmlnfSBmcm9tICcuL3Byb21pc2UtYnRuLWNvbmZpZyc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0NGRzogUHJvbWlzZUJ0bkNvbmZpZyA9IHtcbiAgc3Bpbm5lclRwbDogJzxzcGFuIGNsYXNzPVwiYnRuLXNwaW5uZXJcIj48L3NwYW4+JyxcbiAgZGlzYWJsZUJ0bjogdHJ1ZSxcbiAgYnRuTG9hZGluZ0NsYXNzOiAnaXMtbG9hZGluZycsXG4gIGhhbmRsZUN1cnJlbnRCdG5Pbmx5OiBmYWxzZSxcbiAgbWluRHVyYXRpb246IG51bGwsXG59O1xuXG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1wcm9taXNlLWJ0bi1jb25maWcuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhcjItcHJvbWlzZS1idXR0b25zL3NyYy8iLCJzb3VyY2VzIjpbImRlZmF1bHQtcHJvbWlzZS1idG4tY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBcUI7SUFDM0MsVUFBVSxFQUFFLG1DQUFtQztJQUMvQyxVQUFVLEVBQUUsSUFBSTtJQUNoQixlQUFlLEVBQUUsWUFBWTtJQUM3QixvQkFBb0IsRUFBRSxLQUFLO0lBQzNCLFdBQVcsRUFBRSxJQUFJO0NBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1Byb21pc2VCdG5Db25maWd9IGZyb20gJy4vcHJvbWlzZS1idG4tY29uZmlnJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfQ0ZHOiBQcm9taXNlQnRuQ29uZmlnID0ge1xuICBzcGlubmVyVHBsOiAnPHNwYW4gY2xhc3M9XCJidG4tc3Bpbm5lclwiPjwvc3Bhbj4nLFxuICBkaXNhYmxlQnRuOiB0cnVlLFxuICBidG5Mb2FkaW5nQ2xhc3M6ICdpcy1sb2FkaW5nJyxcbiAgaGFuZGxlQ3VycmVudEJ0bk9ubHk6IGZhbHNlLFxuICBtaW5EdXJhdGlvbjogbnVsbCxcbn07XG5cbiJdfQ==
export { PromiseBtnDirective } from './promise-btn.directive';
export { Angular2PromiseButtonModule } from './angular2-promise-buttons.module';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyMi1wcm9taXNlLWJ1dHRvbnMvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7UHJvbWlzZUJ0bkRpcmVjdGl2ZX0gZnJvbSAnLi9wcm9taXNlLWJ0bi5kaXJlY3RpdmUnO1xuZXhwb3J0IHtBbmd1bGFyMlByb21pc2VCdXR0b25Nb2R1bGV9IGZyb20gJy4vYW5ndWxhcjItcHJvbWlzZS1idXR0b25zLm1vZHVsZSc7XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhcjItcHJvbWlzZS1idXR0b25zL3NyYy8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtQcm9taXNlQnRuRGlyZWN0aXZlfSBmcm9tICcuL3Byb21pc2UtYnRuLmRpcmVjdGl2ZSc7XG5leHBvcnQge0FuZ3VsYXIyUHJvbWlzZUJ1dHRvbk1vZHVsZX0gZnJvbSAnLi9hbmd1bGFyMi1wcm9taXNlLWJ1dHRvbnMubW9kdWxlJztcbiJdfQ==

@@ -1,1 +0,2 @@

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbWlzZS1idG4tY29uZmlnLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhcjItcHJvbWlzZS1idXR0b25zLyIsInNvdXJjZXMiOlsicHJvbWlzZS1idG4tY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFByb21pc2VCdG5Db25maWcge1xuICBzcGlubmVyVHBsPzogc3RyaW5nO1xuICBkaXNhYmxlQnRuPzogYm9vbGVhbjtcbiAgYnRuTG9hZGluZ0NsYXNzPzogYm9vbGVhbiB8IHN0cmluZztcbiAgaGFuZGxlQ3VycmVudEJ0bk9ubHk/OiBib29sZWFuO1xuICBtaW5EdXJhdGlvbj86IG51bWJlciB8IG51bGw7XG59XG4iXX0=
export {};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbWlzZS1idG4tY29uZmlnLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIyLXByb21pc2UtYnV0dG9ucy9zcmMvIiwic291cmNlcyI6WyJwcm9taXNlLWJ0bi1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUHJvbWlzZUJ0bkNvbmZpZyB7XG4gIHNwaW5uZXJUcGw/OiBzdHJpbmc7XG4gIGRpc2FibGVCdG4/OiBib29sZWFuO1xuICBidG5Mb2FkaW5nQ2xhc3M/OiBib29sZWFuIHwgc3RyaW5nO1xuICBoYW5kbGVDdXJyZW50QnRuT25seT86IGJvb2xlYW47XG4gIG1pbkR1cmF0aW9uPzogbnVtYmVyIHwgbnVsbDtcbn1cbiJdfQ==

@@ -1,7 +0,6 @@

import { __decorate, __param } from "tslib";
import { AfterContentInit, Directive, ElementRef, HostListener, Inject, Input, OnDestroy } from '@angular/core';
import { Directive, ElementRef, HostListener, Inject, Input } from '@angular/core';
import { Observable, Subscription } from 'rxjs';
import { DEFAULT_CFG } from './default-promise-btn-config';
import { userCfg } from './user-cfg';
let PromiseBtnDirective = class PromiseBtnDirective {
export class PromiseBtnDirective {
constructor(el, cfg) {

@@ -199,3 +198,8 @@ // provide configuration

}
};
}
PromiseBtnDirective.decorators = [
{ type: Directive, args: [{
selector: '[promiseBtn]'
},] }
];
PromiseBtnDirective.ctorParameters = () => [

@@ -205,18 +209,7 @@ { type: ElementRef },

];
__decorate([
Input('disabled')
], PromiseBtnDirective.prototype, "isDisabledFromTheOutsideSetter", null);
__decorate([
Input()
], PromiseBtnDirective.prototype, "promiseBtn", null);
__decorate([
HostListener('click')
], PromiseBtnDirective.prototype, "handleCurrentBtnOnly", null);
PromiseBtnDirective = __decorate([
Directive({
selector: '[promiseBtn]'
}),
__param(1, Inject(userCfg))
], PromiseBtnDirective);
export { PromiseBtnDirective };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbWlzZS1idG4uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhcjItcHJvbWlzZS1idXR0b25zLyIsInNvdXJjZXMiOlsicHJvbWlzZS1idG4uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDOUcsT0FBTyxFQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRXpELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxZQUFZLENBQUM7QUFNbkMsSUFBYSxtQkFBbUIsR0FBaEMsTUFBYSxtQkFBbUI7SUFnQzlCLFlBQVksRUFBYyxFQUNHLEdBQXFCO1FBQ2hELHdCQUF3QjtRQUN4QixJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUUvQyxlQUFlO1FBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDO0lBQ2hDLENBQUM7SUF6QkQsNkZBQTZGO0lBQzdGLG1FQUFtRTtJQUVuRSxJQUFJLDhCQUE4QixDQUFDLENBQVU7UUFDM0MsSUFBSSxDQUFDLHdCQUF3QixHQUFHLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsRUFBRTtZQUNMLGlDQUFpQztZQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7U0FDakQ7YUFBTSxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxTQUFTLEVBQUU7WUFDakUsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFl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LGtCQUFrQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQW9CLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7OztPQUdHO0lBRUgsb0JBQW9CO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLG9CQUFvQixFQUFFO1lBQ2xDLE9BQU8sSUFBSSxDQUFDLENBQUMsMEJBQTBCO1NBQ3hDO1FBRUQsK0JBQStCO1FBQy9CLHNEQUFzRDtRQUN0RCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNyQixvREFBb0Q7WUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2pCLE9BQU87YUFDUjtZQUVELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztDQUNGLENBQUE7O1lBN01pQixVQUFVOzRDQUNiLE1BQU0sU0FBQyxPQUFPOztBQWhCM0I7SUFEQyxLQUFLLENBQUMsVUFBVSxDQUFDO3lFQVVqQjtBQWdCRDtJQURDLEtBQUssRUFBRTtxREE0QlA7QUF3SkQ7SUFEQyxZQUFZLENBQUMsT0FBTyxDQUFDOytEQWdCckI7QUE1T1UsbUJBQW1CO0lBSi9CLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxjQUFjO0tBQ3pCLENBQUM7SUFtQ2EsV0FBQSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUE7R0FqQ2pCLG1CQUFtQixDQTZPL0I7U0E3T1ksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlckNvbnRlbnRJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7REVGQVVMVF9DRkd9IGZyb20gJy4vZGVmYXVsdC1wcm9taXNlLWJ0bi1jb25maWcnO1xuaW1wb3J0IHtQcm9taXNlQnRuQ29uZmlnfSBmcm9tICcuL3Byb21pc2UtYnRuLWNvbmZpZyc7XG5pbXBvcnQge3VzZXJDZmd9IGZyb20gJy4vdXNlci1jZmcnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbcHJvbWlzZUJ0bl0nXG59KVxuXG5leHBvcnQgY2xhc3MgUHJvbWlzZUJ0bkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIGNmZzogUHJvbWlzZUJ0bkNvbmZpZztcbiAgLy8gdGhlIHRpbWVvdXQgdXNlZCBmb3IgbWluIGR1cmF0aW9uIGRpc3BsYXlcbiAgbWluRHVyYXRpb25UaW1lb3V0OiBudW1iZXI7XG4gIC8vIGJvb2xlYW4gdG8gZGV0ZXJtaW5lIG1pbkR1cmF0aW9uVGltZW91dCBzdGF0ZVxuICBpc01pbkR1cmF0aW9uVGltZW91dERvbmU6IGJvb2xlYW47XG4gIC8vIGJvb2xlYW4gdG8gZGV0ZXJtaW5lIGlmIHByb21pc2Ugd2FzIHJlc29sdmVkXG4gIGlzUHJvbWlzZURvbmU6IGJvb2xlYW47XG4gIC8vIHRoZSBwcm9taXNlIGJ1dHRvbiBidXR0b24gZWxlbWVudFxuICBidG5FbDogSFRNTEVsZW1lbnQ7XG4gIC8vIHRoZSBwcm9taXNlIGl0c2VsZiBvciBhIGZ1bmN0aW9uIGV4cHJlc3Npb25cbiAgLy8gTk9URTogd2UgbmVlZCB0aGUgdHlwZSBhbnkgaGVyZSBhcyB3ZSBtaWdodCBkZWFsIHdpdGggY3VzdG9tIHByb21pc2VzIGxpa2UgYmx1ZWJpcmRcbiAgcHJvbWlzZTogYW55O1xuXG4gIC8vIHRoaXMgaXMgYWRkZWQgdG8gZml4IHRoZSBvdmVycmlkaW5nIG9mIHRoZSBkaXNhYmxlZCBzdGF0ZSBieSB0aGUgbG9hZGluZyBpbmRpY2F0b3IgYnV0dG9uLlxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vam9oYW5uZXNqby9hbmd1bGFyMi1wcm9taXNlLWJ1dHRvbnMvaXNzdWVzLzM0XG4gIEBJbnB1dCgnZGlzYWJsZWQnKVxuICBzZXQgaXNEaXNhYmxlZEZyb21UaGVPdXRzaWRlU2V0dGVyKHY6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmlzRGlzYWJsZWRGcm9tVGhlT3V0c2lkZSA9IHY7XG4gICAgaWYgKHYpIHtcbiAgICAgIC8vIGRpc2FibGVkIG1lYW5zIGFsd2F5cyBkaXNhYmxlZFxuICAgICAgdGhpcy5idG5FbC5zZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgJ2Rpc2FibGVkJyk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmlzUHJvbWlzZURvbmUgfHwgdGhpcy5pc1Byb21pc2VEb25lID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuYnRuRWwucmVtb3ZlQXR0cmlidXRlKCdkaXNhYmxlZCcpO1xuICAgIH1cbiAgICAvLyBlbHNlIHRoZSBidXR0b24gaXMgbG9hZGluZywgc28gZG8gbm90IGNoYW5nZSB0aGUgZGlzYWJsZWQgbG9hZGluZyBzdGF0ZS5cbiAgfVxuXG4gIGlzRGlzYWJsZWRGcm9tVGhlT3V0c2lkZTogYm9vbGVhbjtcblxuICBwcml2YXRlIF9mYWtlUHJvbWlzZVJlc29sdmU6ICgpID0+IHZvaWQ7XG5cbiAgY29uc3RydWN0b3IoZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgICAgICAgIEBJbmplY3QodXNlckNmZykgY2ZnOiBQcm9taXNlQnRuQ29uZmlnKSB7XG4gICAgLy8gcHJvdmlkZSBjb25maWd1cmF0aW9uXG4gICAgdGhpcy5jZmcgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NGRywgY2ZnKTtcblxuICAgIC8vIHNhdmUgZWxlbWVudFxuICAgIHRoaXMuYnRuRWwgPSBlbC5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IHByb21pc2VCdG4ocGFzc2VkVmFsdWU6IGFueSkge1xuICAgIGNvbnN0IGlzT2JzZXJ2YWJsZTogYm9vbGVhbiA9IHBhc3NlZFZhbHVlIGluc3RhbmNlb2YgT2JzZXJ2YWJsZTtcbiAgICBjb25zdCBpc1N1YnNjcmlwdGlvbjogYm9vbGVhbiA9IHBhc3NlZFZhbHVlIGluc3RhbmNlb2YgU3Vic2NyaXB0aW9uO1xuICAgIGNvbnN0IGlzQm9vbGVhbjogYm9vbGVhbiA9IHR5cGVvZiBwYXNzZWRWYWx1ZSA9PT0gJ2Jvb2xlYW4nO1xuICAgIGNvbnN0IGlzUHJvbWlzZTogYm9vbGVhbiA9IHBhc3NlZFZhbHVlIGluc3RhbmNlb2YgUHJvbWlzZSB8fCAoXG4gICAgICBwYXNzZWRWYWx1ZSAhPT0gbnVsbCAmJlxuICAgICAgdHlwZW9mIHBhc3NlZFZhbHVlID09PSAnb2JqZWN0JyAmJlxuICAgICAgdHlwZW9mIHBhc3NlZFZhbHVlLnRoZW4gPT09ICdmdW5jdGlvbicgJiZcbiAgICAgIHR5cGVvZiBwYXNzZWRWYWx1ZS5jYXRjaCA9PT0gJ2Z1bmN0aW9uJ1xuICAgICk7XG5cbiAgICBpZiAoaXNPYnNlcnZhYmxlKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdwcm9taXNlQnRuIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgU3Vic2NyaXB0aW9uLCBpbnN0YW5jZSBvZiBPYnNlcnZhYmxlIGdpdmVuJyk7XG4gICAgfSBlbHNlIGlmIChpc1N1YnNjcmlwdGlvbikge1xuICAgICAgY29uc3Qgc3ViOiBTdWJzY3JpcHRpb24gPSBwYXNzZWRWYWx1ZTtcbiAgICAgIGlmICghc3ViLmNsb3NlZCkge1xuICAgICAgICB0aGlzLnByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgIHN1Yi5hZGQocmVzb2x2ZSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoaXNQcm9taXNlKSB7XG4gICAgICB0aGlzLnByb21pc2UgPSBwYXNzZWRWYWx1ZTtcbiAgICB9IGVsc2UgaWYgKGlzQm9vbGVhbikge1xuICAgICAgdGhpcy5wcm9taXNlID0gdGhpcy5jcmVhdGVQcm9taXNlRnJvbUJvb2xlYW4ocGFzc2VkVmFsdWUpO1xuICAgIH1cblxuICAgIHRoaXMuY2hlY2tBbmRJbml0UHJvbWlzZUhhbmRsZXIodGhpcy5idG5FbCk7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5wcmVwYXJlQnRuRWwodGhpcy5idG5FbCk7XG4gICAgLy8gdHJpZ2dlciBjaGFuZ2VzIG9uY2UgdG8gaGFuZGxlIGluaXRpYWwgcHJvbWlzZXNcbiAgICB0aGlzLmNoZWNrQW5kSW5pdFByb21pc2VIYW5kbGVyKHRoaXMuYnRuRWwpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgLy8gY2xlYW51cFxuICAgIGlmICh0aGlzLm1pbkR1cmF0aW9uVGltZW91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMubWluRHVyYXRpb25UaW1lb3V0KTtcbiAgICB9XG4gIH1cblxuICBjcmVhdGVQcm9taXNlRnJvbUJvb2xlYW4odmFsOiBib29sZWFuKTogUHJvbWlzZTxhbnk+IHtcbiAgICBpZiAodmFsKSB7XG4gICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgdGhpcy5fZmFrZVByb21pc2VSZXNvbHZlID0gcmVzb2x2ZTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5fZmFrZVByb21pc2VSZXNvbHZlKSB7XG4gICAgICAgIHRoaXMuX2Zha2VQcm9taXNlUmVzb2x2ZSgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMucHJvbWlzZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgYWxsIGh0bWwgYW5kIGV2ZW50IGhhbmRsZXJzXG4gICAqL1xuICBwcmVwYXJlQnRuRWwoYnRuRWw6IEhUTUxFbGVtZW50KSB7XG4gICAgLy8gaGFuZGxlIHByb21pc2VzIHBhc3NlZCB2aWEgcHJvbWlzZUJ0biBhdHRyaWJ1dGVcbiAgICB0aGlzLmFwcGVuZFNwaW5uZXJUcGwoYnRuRWwpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiBhbGwgcmVxdWlyZWQgcGFyYW1ldGVycyBhcmUgdGhlcmUgYW5kIGluaXRzIHRoZSBwcm9taXNlIGhhbmRsZXJcbiAgICovXG4gIGNoZWNrQW5kSW5pdFByb21pc2VIYW5kbGVyKGJ0bkVsOiBIVE1MRWxlbWVudCkge1xuICAgIC8vIGNoZWNrIGlmIGVsZW1lbnQgYW5kIHByb21pc2UgaXMgc2V0XG4gICAgaWYgKGJ0bkVsICYmIHRoaXMucHJvbWlzZSkge1xuICAgICAgdGhpcy5pbml0UHJvbWlzZUhhbmRsZXIoYnRuRWwpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBIZWxwZXIgRk4gdG8gYWRkIGNsYXNzXG4gICAqL1xuICBhZGRMb2FkaW5nQ2xhc3MoZWw6IGFueSkge1xuICAgIGlmICh0eXBlb2YgdGhpcy5jZmcuYnRuTG9hZGluZ0NsYXNzID09PSAnc3RyaW5nJykge1xuICAgICAgZWwuY2xhc3NMaXN0LmFkZCh0aGlzLmNmZy5idG5Mb2FkaW5nQ2xhc3MpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBIZWxwZXIgRk4gdG8gcmVtb3ZlIGNsYXNzZXNcbiAgICovXG4gIHJlbW92ZUxvYWRpbmdDbGFzcyhlbDogYW55KSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLmNmZy5idG5Mb2FkaW5nQ2xhc3MgPT09ICdzdHJpbmcnKSB7XG4gICAgICBlbC5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuY2ZnLmJ0bkxvYWRpbmdDbGFzcyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgZXZlcnl0aGluZyB0byBiZSB0cmlnZ2VyZWQgd2hlbiB0aGUgYnV0dG9uIGlzIHNldFxuICAgKiB0byBsb2FkaW5nIHN0YXRlLlxuICAgKi9cbiAgaW5pdExvYWRpbmdTdGF0ZShidG5FbDogSFRNTEVsZW1lbnQpIHtcbiAgICB0aGlzLmFkZExvYWRpbmdDbGFzcyhidG5FbCk7XG4gICAgdGhpcy5kaXNhYmxlQnRuKGJ0bkVsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGVzIGV2ZXJ5dGhpbmcgdG8gYmUgdHJpZ2dlcmVkIHdoZW4gbG9hZGluZyBpcyBmaW5pc2hlZFxuICAgKi9cbiAgY2FuY2VsTG9hZGluZ1N0YXRlSWZQcm9taXNlQW5kTWluRHVyYXRpb25Eb25lKGJ0bkVsOiBIVE1MRWxlbWVudCkge1xuICAgIGlmICgoIXRoaXMuY2ZnLm1pbkR1cmF0aW9uIHx8IHRoaXMuaXNNaW5EdXJhdGlvblRpbWVvdXREb25lKSAmJiB0aGlzLmlzUHJvbWlzZURvbmUpIHtcbiAgICAgIHRoaXMucmVtb3ZlTG9hZGluZ0NsYXNzKGJ0bkVsKTtcbiAgICAgIHRoaXMuZW5hYmxlQnRuKGJ0bkVsKTtcbiAgICB9XG4gIH1cblxuICBkaXNhYmxlQnRuKGJ0bkVsOiBIVE1MRWxlbWVudCkge1xuICAgIGlmICh0aGlzLmNmZy5kaXNhYmxlQnRuKSB7XG4gICAgICBidG5FbC5zZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgJ2Rpc2FibGVkJyk7XG4gICAgfVxuICB9XG5cbiAgZW5hYmxlQnRuKGJ0bkVsOiBIVE1MRWxlbWVudCkge1xuICAgIGlmICh0aGlzLmNmZy5kaXNhYmxlQnRuKSB7XG4gICAgICBpZiAodGhpcy5pc0Rpc2FibGVkRnJvbVRoZU91dHNpZGUpIHtcbiAgICAgICAgYnRuRWwuc2V0QXR0cmlidXRlKCdkaXNhYmxlZCcsICdkaXNhYmxlZCcpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYnRuRWwucmVtb3ZlQXR0cmlidXRlKCdkaXNhYmxlZCcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplcyBhIHdhdGNoZXIgZm9yIHRoZSBwcm9taXNlLiBBbHNvIHRha2VzXG4gICAqIHRoaXMuY2ZnLm1pbkR1cmF0aW9uIGludG8gYWNjb3VudCBpZiBnaXZlbi5cbiAgICovXG5cbiAgaW5pdFByb21pc2VIYW5kbGVyKGJ0bkVsOiBIVE1MRWxlbWVudCkge1xuICAgIGNvbnN0IHByb21pc2UgPSB0aGlzLnByb21pc2U7XG5cbiAgICAvLyB3YXRjaCBwcm9taXNlIHRvIHJlc29sdmUgb3IgZmFpbFxuICAgIHRoaXMuaXNNaW5EdXJhdGlvblRpbWVvdXREb25lID0gZmFsc2U7XG4gICAgdGhpcy5pc1Byb21pc2VEb25lID0gZmFsc2U7XG5cbiAgICAvLyBjcmVhdGUgdGltZW91dCBpZiBvcHRpb24gaXMgc2V0XG4gICAgaWYgKHRoaXMuY2ZnLm1pbkR1cmF0aW9uKSB7XG4gICAgICB0aGlzLm1pbkR1cmF0aW9uVGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5pc01pbkR1cmF0aW9uVGltZW91dERvbmUgPSB0cnVlO1xuICAgICAgICB0aGlzLmNhbmNlbExvYWRpbmdTdGF0ZUlmUHJvbWlzZUFuZE1pbkR1cmF0aW9uRG9uZShidG5FbCk7XG4gICAgICB9LCB0aGlzLmNmZy5taW5EdXJhdGlvbik7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzb2x2ZUxvYWRpbmdTdGF0ZSA9ICgpID0+IHtcbiAgICAgIHRoaXMuaXNQcm9taXNlRG9uZSA9IHRydWU7XG4gICAgICB0aGlzLmNhbmNlbExvYWRpbmdTdGF0ZUlmUHJvbWlzZUFuZE1pbkR1cmF0aW9uRG9uZShidG5FbCk7XG4gICAgfTtcblxuICAgIGlmICghdGhpcy5jZmcuaGFuZGxlQ3VycmVudEJ0bk9ubHkpIHtcbiAgICAgIHRoaXMuaW5pdExvYWRpbmdTdGF0ZShidG5FbCk7XG4gICAgfVxuICAgIC8vIG5hdGl2ZSBQcm9taXNlIGRvZXNuJ3QgaGF2ZSBmaW5hbGx5XG4gICAgaWYgKHByb21pc2UuZmluYWxseSkge1xuICAgICAgcHJvbWlzZS5maW5hbGx5KHJlc29sdmVMb2FkaW5nU3RhdGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwcm9taXNlXG4gICAgICAgIC50aGVuKHJlc29sdmVMb2FkaW5nU3RhdGUpXG4gICAgICAgIC5jYXRjaChyZXNvbHZlTG9hZGluZ1N0YXRlKTtcbiAgICB9XG5cbiAgfVxuXG5cbiAgLyoqXG4gICAqICRjb21waWxlIGFuZCBhcHBlbmQgdGhlIHNwaW5uZXIgdGVtcGxhdGUgdG8gdGhlIGJ1dHRvbi5cbiAgICovXG4gIGFwcGVuZFNwaW5uZXJUcGwoYnRuRWw6IEhUTUxFbGVtZW50KSB7XG4gICAgLy8gVE9ETyBhZGQgc29tZSBraW5kIG9mIGNvbXBpbGF0aW9uIGxhdGVyIG9uXG4gICAgYnRuRWwuaW5zZXJ0QWRqYWNlbnRIVE1MKCdiZWZvcmVlbmQnLCB0aGlzLmNmZy5zcGlubmVyVHBsIGFzIHN0cmluZyk7XG4gIH1cblxuICAvKipcbiAgICogTGltaXQgbG9hZGluZyBzdGF0ZSB0byBzaG93IG9ubHkgZm9yIHRoZSBjdXJyZW50bHkgY2xpY2tlZCBidXR0b24uXG4gICAqIEV4ZWN1dGVkIG9ubHkgaWYgdGhpcy5jZmcuaGFuZGxlQ3VycmVudEJ0bk9ubHkgaXMgc2V0XG4gICAqL1xuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIGhhbmRsZUN1cnJlbnRCdG5Pbmx5KCkge1xuICAgIGlmICghdGhpcy5jZmcuaGFuZGxlQ3VycmVudEJ0bk9ubHkpIHtcbiAgICAgIHJldHVybiB0cnVlOyAvLyByZXR1cm4gdHJ1ZSBmb3IgdGVzdGluZ1xuICAgIH1cblxuICAgIC8vIENsaWNrIHRyaWdnZXJzIEBJbnB1dCB1cGRhdGVcbiAgICAvLyBXZSBuZWVkIHRvIHVzZSB0aW1lb3V0IHRvIHdhaXQgZm9yIEBJbnB1dCB0byB1cGRhdGVcbiAgICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAvLyByZXR1cm4gaWYgc29tZXRoaW5nIGVsc2UgdGhhbiBhIHByb21pc2UgaXMgcGFzc2VkXG4gICAgICBpZiAoIXRoaXMucHJvbWlzZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuaW5pdExvYWRpbmdTdGF0ZSh0aGlzLmJ0bkVsKTtcbiAgICB9LCAwKTtcbiAgfVxufVxuIl19
PromiseBtnDirective.propDecorators = {
isDisabledFromTheOutsideSetter: [{ type: Input, args: ['disabled',] }],
promiseBtn: [{ type: Input }],
handleCurrentBtnOnly: [{ type: HostListener, args: ['click',] }]
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbWlzZS1idG4uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIyLXByb21pc2UtYnV0dG9ucy9zcmMvIiwic291cmNlcyI6WyJwcm9taXNlLWJ0bi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQzlHLE9BQU8sRUFBQyxVQUFVLEVBQUUsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUV6RCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sWUFBWSxDQUFDO0FBTW5DLE1BQU0sT0FBTyxtQkFBbUI7SUFnQzlCLFlBQVksRUFBYyxFQUNHLEdBQXFCO1FBQ2hELHdCQUF3QjtRQUN4QixJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUUvQyxlQUFlO1FBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDO0lBQ2hDLENBQUM7SUF6QkQsNkZBQTZGO0lBQzdGLG1FQUFtRTtJQUNuRSxJQUNJLDhCQUE4QixDQUFDLENBQVU7UUFDM0MsSUFBSSxDQUFDLHdCQUF3QixHQUFHLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsRUFBRTtZQUNMLGlDQUFpQztZQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7U0FDakQ7YUFBTSxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxTQUFTLEVBQUU7WUFDakUsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENB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QUFFLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBb0IsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRDs7O09BR0c7SUFFSCxvQkFBb0I7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsb0JBQW9CLEVBQUU7WUFDbEMsT0FBTyxJQUFJLENBQUMsQ0FBQywwQkFBMEI7U0FDeEM7UUFFRCwrQkFBK0I7UUFDL0Isc0RBQXNEO1FBQ3RELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ3JCLG9EQUFvRDtZQUNwRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDakIsT0FBTzthQUNSO1lBRUQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDOzs7WUFoUEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxjQUFjO2FBQ3pCOzs7WUFSb0MsVUFBVTs0Q0EyQ2hDLE1BQU0sU0FBQyxPQUFPOzs7NkNBakIxQixLQUFLLFNBQUMsVUFBVTt5QkF5QmhCLEtBQUs7bUNBbUxMLFlBQVksU0FBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlckNvbnRlbnRJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7REVGQVVMVF9DRkd9IGZyb20gJy4vZGVmYXVsdC1wcm9taXNlLWJ0bi1jb25maWcnO1xuaW1wb3J0IHtQcm9taXNlQnRuQ29uZmlnfSBmcm9tICcuL3Byb21pc2UtYnRuLWNvbmZpZyc7XG5pbXBvcnQge3VzZXJDZmd9IGZyb20gJy4vdXNlci1jZmcnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbcHJvbWlzZUJ0bl0nXG59KVxuXG5leHBvcnQgY2xhc3MgUHJvbWlzZUJ0bkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIGNmZzogUHJvbWlzZUJ0bkNvbmZpZztcbiAgLy8gdGhlIHRpbWVvdXQgdXNlZCBmb3IgbWluIGR1cmF0aW9uIGRpc3BsYXlcbiAgbWluRHVyYXRpb25UaW1lb3V0OiBudW1iZXI7XG4gIC8vIGJvb2xlYW4gdG8gZGV0ZXJtaW5lIG1pbkR1cmF0aW9uVGltZW91dCBzdGF0ZVxuICBpc01pbkR1cmF0aW9uVGltZW91dERvbmU6IGJvb2xlYW47XG4gIC8vIGJvb2xlYW4gdG8gZGV0ZXJtaW5lIGlmIHByb21pc2Ugd2FzIHJlc29sdmVkXG4gIGlzUHJvbWlzZURvbmU6IGJvb2xlYW47XG4gIC8vIHRoZSBwcm9taXNlIGJ1dHRvbiBidXR0b24gZWxlbWVudFxuICBidG5FbDogSFRNTEVsZW1lbnQ7XG4gIC8vIHRoZSBwcm9taXNlIGl0c2VsZiBvciBhIGZ1bmN0aW9uIGV4cHJlc3Npb25cbiAgLy8gTk9URTogd2UgbmVlZCB0aGUgdHlwZSBhbnkgaGVyZSBhcyB3ZSBtaWdodCBkZWFsIHdpdGggY3VzdG9tIHByb21pc2VzIGxpa2UgYmx1ZWJpcmRcbiAgcHJvbWlzZTogYW55O1xuXG4gIC8vIHRoaXMgaXMgYWRkZWQgdG8gZml4IHRoZSBvdmVycmlkaW5nIG9mIHRoZSBkaXNhYmxlZCBzdGF0ZSBieSB0aGUgbG9hZGluZyBpbmRpY2F0b3IgYnV0dG9uLlxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vam9oYW5uZXNqby9hbmd1bGFyMi1wcm9taXNlLWJ1dHRvbnMvaXNzdWVzLzM0XG4gIEBJbnB1dCgnZGlzYWJsZWQnKVxuICBzZXQgaXNEaXNhYmxlZEZyb21UaGVPdXRzaWRlU2V0dGVyKHY6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmlzRGlzYWJsZWRGcm9tVGhlT3V0c2lkZSA9IHY7XG4gICAgaWYgKHYpIHtcbiAgICAgIC8vIGRpc2FibGVkIG1lYW5zIGFsd2F5cyBkaXNhYmxlZFxuICAgICAgdGhpcy5idG5FbC5zZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgJ2Rpc2FibGVkJyk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmlzUHJvbWlzZURvbmUgfHwgdGhpcy5pc1Byb21pc2VEb25lID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuYnRuRWwucmVtb3ZlQXR0cmlidXRlKCdkaXNhYmxlZCcpO1xuICAgIH1cbiAgICAvLyBlbHNlIHRoZSBidXR0b24gaXMgbG9hZGluZywgc28gZG8gbm90IGNoYW5nZSB0aGUgZGlzYWJsZWQgbG9hZGluZyBzdGF0ZS5cbiAgfVxuXG4gIGlzRGlzYWJsZWRGcm9tVGhlT3V0c2lkZTogYm9vbGVhbjtcblxuICBwcml2YXRlIF9mYWtlUHJvbWlzZVJlc29sdmU6ICgpID0+IHZvaWQ7XG5cbiAgY29uc3RydWN0b3IoZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgICAgICAgIEBJbmplY3QodXNlckNmZykgY2ZnOiBQcm9taXNlQnRuQ29uZmlnKSB7XG4gICAgLy8gcHJvdmlkZSBjb25maWd1cmF0aW9uXG4gICAgdGhpcy5jZmcgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NGRywgY2ZnKTtcblxuICAgIC8vIHNhdmUgZWxlbWVudFxuICAgIHRoaXMuYnRuRWwgPSBlbC5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IHByb21pc2VCdG4ocGFzc2VkVmFsdWU6IGFueSkge1xuICAgIGNvbnN0IGlzT2JzZXJ2YWJsZTogYm9vbGVhbiA9IHBhc3NlZFZhbHVlIGluc3RhbmNlb2YgT2JzZXJ2YWJsZTtcbiAgICBjb25zdCBpc1N1YnNjcmlwdGlvbjogYm9vbGVhbiA9IHBhc3NlZFZhbHVlIGluc3RhbmNlb2YgU3Vic2NyaXB0aW9uO1xuICAgIGNvbnN0IGlzQm9vbGVhbjogYm9vbGVhbiA9IHR5cGVvZiBwYXNzZWRWYWx1ZSA9PT0gJ2Jvb2xlYW4nO1xuICAgIGNvbnN0IGlzUHJvbWlzZTogYm9vbGVhbiA9IHBhc3NlZFZhbHVlIGluc3RhbmNlb2YgUHJvbWlzZSB8fCAoXG4gICAgICBwYXNzZWRWYWx1ZSAhPT0gbnVsbCAmJlxuICAgICAgdHlwZW9mIHBhc3NlZFZhbHVlID09PSAnb2JqZWN0JyAmJlxuICAgICAgdHlwZW9mIHBhc3NlZFZhbHVlLnRoZW4gPT09ICdmdW5jdGlvbicgJiZcbiAgICAgIHR5cGVvZiBwYXNzZWRWYWx1ZS5jYXRjaCA9PT0gJ2Z1bmN0aW9uJ1xuICAgICk7XG5cbiAgICBpZiAoaXNPYnNlcnZhYmxlKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdwcm9taXNlQnRuIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgU3Vic2NyaXB0aW9uLCBpbnN0YW5jZSBvZiBPYnNlcnZhYmxlIGdpdmVuJyk7XG4gICAgfSBlbHNlIGlmIChpc1N1YnNjcmlwdGlvbikge1xuICAgICAgY29uc3Qgc3ViOiBTdWJzY3JpcHRpb24gPSBwYXNzZWRWYWx1ZTtcbiAgICAgIGlmICghc3ViLmNsb3NlZCkge1xuICAgICAgICB0aGlzLnByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgIHN1Yi5hZGQocmVzb2x2ZSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoaXNQcm9taXNlKSB7XG4gICAgICB0aGlzLnByb21pc2UgPSBwYXNzZWRWYWx1ZTtcbiAgICB9IGVsc2UgaWYgKGlzQm9vbGVhbikge1xuICAgICAgdGhpcy5wcm9taXNlID0gdGhpcy5jcmVhdGVQcm9taXNlRnJvbUJvb2xlYW4ocGFzc2VkVmFsdWUpO1xuICAgIH1cblxuICAgIHRoaXMuY2hlY2tBbmRJbml0UHJvbWlzZUhhbmRsZXIodGhpcy5idG5FbCk7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5wcmVwYXJlQnRuRWwodGhpcy5idG5FbCk7XG4gICAgLy8gdHJpZ2dlciBjaGFuZ2VzIG9uY2UgdG8gaGFuZGxlIGluaXRpYWwgcHJvbWlzZXNcbiAgICB0aGlzLmNoZWNrQW5kSW5pdFByb21pc2VIYW5kbGVyKHRoaXMuYnRuRWwpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgLy8gY2xlYW51cFxuICAgIGlmICh0aGlzLm1pbkR1cmF0aW9uVGltZW91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMubWluRHVyYXRpb25UaW1lb3V0KTtcbiAgICB9XG4gIH1cblxuICBjcmVhdGVQcm9taXNlRnJvbUJvb2xlYW4odmFsOiBib29sZWFuKTogUHJvbWlzZTxhbnk+IHtcbiAgICBpZiAodmFsKSB7XG4gICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgdGhpcy5fZmFrZVByb21pc2VSZXNvbHZlID0gcmVzb2x2ZTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5fZmFrZVByb21pc2VSZXNvbHZlKSB7XG4gICAgICAgIHRoaXMuX2Zha2VQcm9taXNlUmVzb2x2ZSgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMucHJvbWlzZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgYWxsIGh0bWwgYW5kIGV2ZW50IGhhbmRsZXJzXG4gICAqL1xuICBwcmVwYXJlQnRuRWwoYnRuRWw6IEhUTUxFbGVtZW50KSB7XG4gICAgLy8gaGFuZGxlIHByb21pc2VzIHBhc3NlZCB2aWEgcHJvbWlzZUJ0biBhdHRyaWJ1dGVcbiAgICB0aGlzLmFwcGVuZFNwaW5uZXJUcGwoYnRuRWwpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiBhbGwgcmVxdWlyZWQgcGFyYW1ldGVycyBhcmUgdGhlcmUgYW5kIGluaXRzIHRoZSBwcm9taXNlIGhhbmRsZXJcbiAgICovXG4gIGNoZWNrQW5kSW5pdFByb21pc2VIYW5kbGVyKGJ0bkVsOiBIVE1MRWxlbWVudCkge1xuICAgIC8vIGNoZWNrIGlmIGVsZW1lbnQgYW5kIHByb21pc2UgaXMgc2V0XG4gICAgaWYgKGJ0bkVsICYmIHRoaXMucHJvbWlzZSkge1xuICAgICAgdGhpcy5pbml0UHJvbWlzZUhhbmRsZXIoYnRuRWwpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBIZWxwZXIgRk4gdG8gYWRkIGNsYXNzXG4gICAqL1xuICBhZGRMb2FkaW5nQ2xhc3MoZWw6IGFueSkge1xuICAgIGlmICh0eXBlb2YgdGhpcy5jZmcuYnRuTG9hZGluZ0NsYXNzID09PSAnc3RyaW5nJykge1xuICAgICAgZWwuY2xhc3NMaXN0LmFkZCh0aGlzLmNmZy5idG5Mb2FkaW5nQ2xhc3MpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBIZWxwZXIgRk4gdG8gcmVtb3ZlIGNsYXNzZXNcbiAgICovXG4gIHJlbW92ZUxvYWRpbmdDbGFzcyhlbDogYW55KSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLmNmZy5idG5Mb2FkaW5nQ2xhc3MgPT09ICdzdHJpbmcnKSB7XG4gICAgICBlbC5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuY2ZnLmJ0bkxvYWRpbmdDbGFzcyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgZXZlcnl0aGluZyB0byBiZSB0cmlnZ2VyZWQgd2hlbiB0aGUgYnV0dG9uIGlzIHNldFxuICAgKiB0byBsb2FkaW5nIHN0YXRlLlxuICAgKi9cbiAgaW5pdExvYWRpbmdTdGF0ZShidG5FbDogSFRNTEVsZW1lbnQpIHtcbiAgICB0aGlzLmFkZExvYWRpbmdDbGFzcyhidG5FbCk7XG4gICAgdGhpcy5kaXNhYmxlQnRuKGJ0bkVsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGVzIGV2ZXJ5dGhpbmcgdG8gYmUgdHJpZ2dlcmVkIHdoZW4gbG9hZGluZyBpcyBmaW5pc2hlZFxuICAgKi9cbiAgY2FuY2VsTG9hZGluZ1N0YXRlSWZQcm9taXNlQW5kTWluRHVyYXRpb25Eb25lKGJ0bkVsOiBIVE1MRWxlbWVudCkge1xuICAgIGlmICgoIXRoaXMuY2ZnLm1pbkR1cmF0aW9uIHx8IHRoaXMuaXNNaW5EdXJhdGlvblRpbWVvdXREb25lKSAmJiB0aGlzLmlzUHJvbWlzZURvbmUpIHtcbiAgICAgIHRoaXMucmVtb3ZlTG9hZGluZ0NsYXNzKGJ0bkVsKTtcbiAgICAgIHRoaXMuZW5hYmxlQnRuKGJ0bkVsKTtcbiAgICB9XG4gIH1cblxuICBkaXNhYmxlQnRuKGJ0bkVsOiBIVE1MRWxlbWVudCkge1xuICAgIGlmICh0aGlzLmNmZy5kaXNhYmxlQnRuKSB7XG4gICAgICBidG5FbC5zZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgJ2Rpc2FibGVkJyk7XG4gICAgfVxuICB9XG5cbiAgZW5hYmxlQnRuKGJ0bkVsOiBIVE1MRWxlbWVudCkge1xuICAgIGlmICh0aGlzLmNmZy5kaXNhYmxlQnRuKSB7XG4gICAgICBpZiAodGhpcy5pc0Rpc2FibGVkRnJvbVRoZU91dHNpZGUpIHtcbiAgICAgICAgYnRuRWwuc2V0QXR0cmlidXRlKCdkaXNhYmxlZCcsICdkaXNhYmxlZCcpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYnRuRWwucmVtb3ZlQXR0cmlidXRlKCdkaXNhYmxlZCcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplcyBhIHdhdGNoZXIgZm9yIHRoZSBwcm9taXNlLiBBbHNvIHRha2VzXG4gICAqIHRoaXMuY2ZnLm1pbkR1cmF0aW9uIGludG8gYWNjb3VudCBpZiBnaXZlbi5cbiAgICovXG5cbiAgaW5pdFByb21pc2VIYW5kbGVyKGJ0bkVsOiBIVE1MRWxlbWVudCkge1xuICAgIGNvbnN0IHByb21pc2UgPSB0aGlzLnByb21pc2U7XG5cbiAgICAvLyB3YXRjaCBwcm9taXNlIHRvIHJlc29sdmUgb3IgZmFpbFxuICAgIHRoaXMuaXNNaW5EdXJhdGlvblRpbWVvdXREb25lID0gZmFsc2U7XG4gICAgdGhpcy5pc1Byb21pc2VEb25lID0gZmFsc2U7XG5cbiAgICAvLyBjcmVhdGUgdGltZW91dCBpZiBvcHRpb24gaXMgc2V0XG4gICAgaWYgKHRoaXMuY2ZnLm1pbkR1cmF0aW9uKSB7XG4gICAgICB0aGlzLm1pbkR1cmF0aW9uVGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5pc01pbkR1cmF0aW9uVGltZW91dERvbmUgPSB0cnVlO1xuICAgICAgICB0aGlzLmNhbmNlbExvYWRpbmdTdGF0ZUlmUHJvbWlzZUFuZE1pbkR1cmF0aW9uRG9uZShidG5FbCk7XG4gICAgICB9LCB0aGlzLmNmZy5taW5EdXJhdGlvbik7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzb2x2ZUxvYWRpbmdTdGF0ZSA9ICgpID0+IHtcbiAgICAgIHRoaXMuaXNQcm9taXNlRG9uZSA9IHRydWU7XG4gICAgICB0aGlzLmNhbmNlbExvYWRpbmdTdGF0ZUlmUHJvbWlzZUFuZE1pbkR1cmF0aW9uRG9uZShidG5FbCk7XG4gICAgfTtcblxuICAgIGlmICghdGhpcy5jZmcuaGFuZGxlQ3VycmVudEJ0bk9ubHkpIHtcbiAgICAgIHRoaXMuaW5pdExvYWRpbmdTdGF0ZShidG5FbCk7XG4gICAgfVxuICAgIC8vIG5hdGl2ZSBQcm9taXNlIGRvZXNuJ3QgaGF2ZSBmaW5hbGx5XG4gICAgaWYgKHByb21pc2UuZmluYWxseSkge1xuICAgICAgcHJvbWlzZS5maW5hbGx5KHJlc29sdmVMb2FkaW5nU3RhdGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwcm9taXNlXG4gICAgICAgIC50aGVuKHJlc29sdmVMb2FkaW5nU3RhdGUpXG4gICAgICAgIC5jYXRjaChyZXNvbHZlTG9hZGluZ1N0YXRlKTtcbiAgICB9XG5cbiAgfVxuXG5cbiAgLyoqXG4gICAqICRjb21waWxlIGFuZCBhcHBlbmQgdGhlIHNwaW5uZXIgdGVtcGxhdGUgdG8gdGhlIGJ1dHRvbi5cbiAgICovXG4gIGFwcGVuZFNwaW5uZXJUcGwoYnRuRWw6IEhUTUxFbGVtZW50KSB7XG4gICAgLy8gVE9ETyBhZGQgc29tZSBraW5kIG9mIGNvbXBpbGF0aW9uIGxhdGVyIG9uXG4gICAgYnRuRWwuaW5zZXJ0QWRqYWNlbnRIVE1MKCdiZWZvcmVlbmQnLCB0aGlzLmNmZy5zcGlubmVyVHBsIGFzIHN0cmluZyk7XG4gIH1cblxuICAvKipcbiAgICogTGltaXQgbG9hZGluZyBzdGF0ZSB0byBzaG93IG9ubHkgZm9yIHRoZSBjdXJyZW50bHkgY2xpY2tlZCBidXR0b24uXG4gICAqIEV4ZWN1dGVkIG9ubHkgaWYgdGhpcy5jZmcuaGFuZGxlQ3VycmVudEJ0bk9ubHkgaXMgc2V0XG4gICAqL1xuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIGhhbmRsZUN1cnJlbnRCdG5Pbmx5KCkge1xuICAgIGlmICghdGhpcy5jZmcuaGFuZGxlQ3VycmVudEJ0bk9ubHkpIHtcbiAgICAgIHJldHVybiB0cnVlOyAvLyByZXR1cm4gdHJ1ZSBmb3IgdGVzdGluZ1xuICAgIH1cblxuICAgIC8vIENsaWNrIHRyaWdnZXJzIEBJbnB1dCB1cGRhdGVcbiAgICAvLyBXZSBuZWVkIHRvIHVzZSB0aW1lb3V0IHRvIHdhaXQgZm9yIEBJbnB1dCB0byB1cGRhdGVcbiAgICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAvLyByZXR1cm4gaWYgc29tZXRoaW5nIGVsc2UgdGhhbiBhIHByb21pc2UgaXMgcGFzc2VkXG4gICAgICBpZiAoIXRoaXMucHJvbWlzZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuaW5pdExvYWRpbmdTdGF0ZSh0aGlzLmJ0bkVsKTtcbiAgICB9LCAwKTtcbiAgfVxufVxuIl19
import { InjectionToken } from '@angular/core';
export const userCfg = new InjectionToken('cfg');
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1jZmcuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyMi1wcm9taXNlLWJ1dHRvbnMvIiwic291cmNlcyI6WyJ1c2VyLWNmZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTdDLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxJQUFJLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgdXNlckNmZyA9IG5ldyBJbmplY3Rpb25Ub2tlbignY2ZnJyk7XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1jZmcuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhcjItcHJvbWlzZS1idXR0b25zL3NyYy8iLCJzb3VyY2VzIjpbInVzZXItY2ZnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFN0MsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLElBQUksY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCB1c2VyQ2ZnID0gbmV3IEluamVjdGlvblRva2VuKCdjZmcnKTtcbiJdfQ==

@@ -1,3 +0,2 @@

import { __decorate, __param } from 'tslib';
import { InjectionToken, ElementRef, Inject, Input, HostListener, Directive, NgModule } from '@angular/core';
import { InjectionToken, Directive, ElementRef, Inject, Input, HostListener, NgModule } from '@angular/core';
import { Observable, Subscription } from 'rxjs';

@@ -15,3 +14,3 @@

let PromiseBtnDirective = class PromiseBtnDirective {
class PromiseBtnDirective {
constructor(el, cfg) {

@@ -209,3 +208,8 @@ // provide configuration

}
};
}
PromiseBtnDirective.decorators = [
{ type: Directive, args: [{
selector: '[promiseBtn]'
},] }
];
PromiseBtnDirective.ctorParameters = () => [

@@ -215,20 +219,9 @@ { type: ElementRef },

];
__decorate([
Input('disabled')
], PromiseBtnDirective.prototype, "isDisabledFromTheOutsideSetter", null);
__decorate([
Input()
], PromiseBtnDirective.prototype, "promiseBtn", null);
__decorate([
HostListener('click')
], PromiseBtnDirective.prototype, "handleCurrentBtnOnly", null);
PromiseBtnDirective = __decorate([
Directive({
selector: '[promiseBtn]'
}),
__param(1, Inject(userCfg))
], PromiseBtnDirective);
PromiseBtnDirective.propDecorators = {
isDisabledFromTheOutsideSetter: [{ type: Input, args: ['disabled',] }],
promiseBtn: [{ type: Input }],
handleCurrentBtnOnly: [{ type: HostListener, args: ['click',] }]
};
var Angular2PromiseButtonModule_1;
let Angular2PromiseButtonModule = Angular2PromiseButtonModule_1 = class Angular2PromiseButtonModule {
class Angular2PromiseButtonModule {
// add forRoot to make it configurable

@@ -238,19 +231,19 @@ static forRoot(config) {

return {
ngModule: Angular2PromiseButtonModule_1,
ngModule: Angular2PromiseButtonModule,
providers: [{ provide: userCfg, useValue: config }]
};
}
};
Angular2PromiseButtonModule = Angular2PromiseButtonModule_1 = __decorate([
NgModule({
declarations: [
PromiseBtnDirective,
],
imports: [],
exports: [
PromiseBtnDirective,
],
providers: []
})
], Angular2PromiseButtonModule);
}
Angular2PromiseButtonModule.decorators = [
{ type: NgModule, args: [{
declarations: [
PromiseBtnDirective,
],
imports: [],
exports: [
PromiseBtnDirective,
],
providers: []
},] }
];

@@ -257,0 +250,0 @@ /**

{
"name": "angular2-promise-buttons",
"version": "4.0.9",
"version": "4.0.10",
"description": "Chilled loading buttons for angular",

@@ -19,13 +19,13 @@ "author": "johannesjo <contact@super-productivity.com> (http://super-productivity.com)",

],
"dependencies": {
"tslib": "^2.0.0"
},
"peerDependencies": {
"@angular/common": "^9.0.4",
"@angular/core": "^9.0.4",
"tslib": "^1.10.0"
"@angular/core": "^9.0.4"
},
"main": "bundles/angular2-promise-buttons.umd.js",
"module": "fesm5/angular2-promise-buttons.js",
"module": "fesm2015/angular2-promise-buttons.js",
"es2015": "fesm2015/angular2-promise-buttons.js",
"esm5": "esm5/angular2-promise-buttons.js",
"esm2015": "esm2015/angular2-promise-buttons.js",
"fesm5": "fesm5/angular2-promise-buttons.js",
"fesm2015": "fesm2015/angular2-promise-buttons.js",

@@ -32,0 +32,0 @@ "typings": "angular2-promise-buttons.d.ts",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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