com.phloxui
Version:
PhloxUI Ng2+ Framework
246 lines (245 loc) • 17.9 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Component, Input } from '@angular/core';
import { LoaderStatus } from '../../../component/LoaderStatus';
import { Option } from '../../../decorator/decorators';
import { AbstractHasOptions } from '../../../share/AbstractHasOptions';
const /** @type {?} */ TYPE_NAME = "material-icon-loader";
const /** @type {?} */ BALL_PULSE = "ball-pulse";
const /** @type {?} */ BALL_GRID_PULSE = "ball-grid-pulse";
const /** @type {?} */ BALL_PULSE_SYNC = "ball-pulse-sync";
const /** @type {?} */ BALL_CLIP_ROTATE_MULTIPLE = "ball-clip-rotate-multiple";
const /** @type {?} */ BALL_PULSE_RISE = "ball-pulse-rise";
const /** @type {?} */ BALL_CLIP_ROTATE_PULSE = "ball-clip-rotate-pulse";
const /** @type {?} */ BALL_CLIP_ROTATE = "ball-clip-rotate";
const /** @type {?} */ BALL_SCALE_RIPPLE_MULTIPLE = "ball-scale-ripple-multiple";
const /** @type {?} */ BALL_SCALE_MULTIPLE = "ball-scale-multiple";
const /** @type {?} */ LINE_SPIN_FADE_LOADER = "line-spin-fade-loader";
const /** @type {?} */ LINE_SCALE = "line-scale";
const /** @type {?} */ LINE_SCALE_PARTY = "line-scale-party";
const /** @type {?} */ LINE_SCALE_PULSE_OUT = "line-scale-pulse-out";
const /** @type {?} */ LINE_SCALE_PULSE_OUT_RAPID = "line-scale-pulse-out-rapid";
const /** @type {?} */ SQUARE_SPIN = "square-spin";
export class MaterialIconLoader extends AbstractHasOptions {
constructor() {
super();
this.status = LoaderStatus.STOPPED;
}
/**
* @return {?}
*/
ngOnInit() {
}
/**
* @return {?}
*/
_getIconName() {
if (this.iconName !== null && typeof this.iconName !== 'undefined') {
return this.iconName;
}
return MaterialIconLoader.BALL_CLIP_ROTATE_PULSE;
}
/**
* @return {?}
*/
start() {
if (this.isStopped()) {
this.status = LoaderStatus.RUNNING;
}
return Promise.resolve();
}
/**
* @return {?}
*/
pause() {
if (this.isRunning()) {
this.status = LoaderStatus.PAUSED;
}
}
/**
* @return {?}
*/
resume() {
if (this.isPaused()) {
this.status = LoaderStatus.RUNNING;
}
}
/**
* @return {?}
*/
stop() {
if (this.isRunning() || this.isPaused()) {
this.status = LoaderStatus.STOPPED;
}
}
/**
* @return {?}
*/
getState() {
return this.status;
}
/**
* @return {?}
*/
isRunning() {
return this.status === LoaderStatus.RUNNING;
}
/**
* @return {?}
*/
isPaused() {
return this.status === LoaderStatus.PAUSED;
}
/**
* @return {?}
*/
isStopped() {
return this.status === LoaderStatus.STOPPED;
}
/**
* @return {?}
*/
getSize() {
return this.size;
}
/**
* @param {?} size
* @return {?}
*/
setSize(size) {
this.size = size;
}
/**
* @return {?}
*/
getLoaderClass() {
return this.loaderClass;
}
/**
* @param {?} loaderClass
* @return {?}
*/
setLoaderClass(loaderClass) {
this.loaderClass = loaderClass;
}
/**
* @return {?}
*/
isDisabled() {
return this.disabled;
}
/**
* @param {?} disabled
* @return {?}
*/
setDisabled(disabled) {
this.disabled = disabled;
}
}
MaterialIconLoader.TYPE_NAME = TYPE_NAME;
MaterialIconLoader.BALL_PULSE = BALL_PULSE;
MaterialIconLoader.BALL_GRID_PULSE = BALL_GRID_PULSE;
MaterialIconLoader.BALL_CLIP_ROTATE_MULTIPLE = BALL_CLIP_ROTATE_MULTIPLE;
MaterialIconLoader.BALL_PULSE_RISE = BALL_PULSE_RISE;
MaterialIconLoader.BALL_CLIP_ROTATE_PULSE = BALL_CLIP_ROTATE_PULSE;
MaterialIconLoader.BALL_CLIP_ROTATE = BALL_CLIP_ROTATE;
MaterialIconLoader.BALL_SCALE_RIPPLE_MULTIPLE = BALL_SCALE_RIPPLE_MULTIPLE;
MaterialIconLoader.BALL_SCALE_MULTIPLE = BALL_SCALE_MULTIPLE;
MaterialIconLoader.BALL_PULSE_SYNC = BALL_PULSE_SYNC;
MaterialIconLoader.LINE_SPIN_FADE_LOADER = LINE_SPIN_FADE_LOADER;
MaterialIconLoader.LINE_SCALE = LINE_SCALE;
MaterialIconLoader.LINE_SCALE_PARTY = LINE_SCALE_PARTY;
MaterialIconLoader.LINE_SCALE_PULSE_OUT = LINE_SCALE_PULSE_OUT;
MaterialIconLoader.LINE_SCALE_PULSE_OUT_RAPID = LINE_SCALE_PULSE_OUT_RAPID;
MaterialIconLoader.SQUARE_SPIN = SQUARE_SPIN;
MaterialIconLoader.decorators = [
{ type: Component, args: [{
moduleId: module.id,
selector: TYPE_NAME,
template: `<div class="material-icon-loader" [style.width]="getSize()" [style.height]="getSize()" [class.disable]="isDisabled()" [class.running]="isRunning()" [class.pause]="isPaused()" [class.stop]="isStopped()">
<loaders-css [loader]="_getIconName()" [loaderClass]="getLoaderClass()"></loaders-css>
</div>
`
},] },
];
/** @nocollapse */
MaterialIconLoader.ctorParameters = () => [];
MaterialIconLoader.propDecorators = {
"iconName": [{ type: Input },],
"size": [{ type: Input },],
"loaderClass": [{ type: Input },],
"disabled": [{ type: Input },],
};
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], MaterialIconLoader.prototype, "iconName", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], MaterialIconLoader.prototype, "size", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], MaterialIconLoader.prototype, "loaderClass", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], MaterialIconLoader.prototype, "disabled", void 0);
function MaterialIconLoader_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
MaterialIconLoader.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
MaterialIconLoader.ctorParameters;
/** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
MaterialIconLoader.propDecorators;
/** @type {?} */
MaterialIconLoader.TYPE_NAME;
/** @type {?} */
MaterialIconLoader.BALL_PULSE;
/** @type {?} */
MaterialIconLoader.BALL_GRID_PULSE;
/** @type {?} */
MaterialIconLoader.BALL_CLIP_ROTATE_MULTIPLE;
/** @type {?} */
MaterialIconLoader.BALL_PULSE_RISE;
/** @type {?} */
MaterialIconLoader.BALL_CLIP_ROTATE_PULSE;
/** @type {?} */
MaterialIconLoader.BALL_CLIP_ROTATE;
/** @type {?} */
MaterialIconLoader.BALL_SCALE_RIPPLE_MULTIPLE;
/** @type {?} */
MaterialIconLoader.BALL_SCALE_MULTIPLE;
/** @type {?} */
MaterialIconLoader.BALL_PULSE_SYNC;
/** @type {?} */
MaterialIconLoader.LINE_SPIN_FADE_LOADER;
/** @type {?} */
MaterialIconLoader.LINE_SCALE;
/** @type {?} */
MaterialIconLoader.LINE_SCALE_PARTY;
/** @type {?} */
MaterialIconLoader.LINE_SCALE_PULSE_OUT;
/** @type {?} */
MaterialIconLoader.LINE_SCALE_PULSE_OUT_RAPID;
/** @type {?} */
MaterialIconLoader.SQUARE_SPIN;
/** @type {?} */
MaterialIconLoader.prototype.iconName;
/** @type {?} */
MaterialIconLoader.prototype.size;
/** @type {?} */
MaterialIconLoader.prototype.loaderClass;
/** @type {?} */
MaterialIconLoader.prototype.disabled;
/** @type {?} */
MaterialIconLoader.prototype.status;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWF0ZXJpYWxJY29uTG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2NvbS5waGxveHVpLyIsInNvdXJjZXMiOlsibGliL3RoZW1lL21hdGVyaWFsL2NvbXBvbmVudC9NYXRlcmlhbEljb25Mb2FkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUl2RSx1QkFBTSxTQUFTLEdBQVcsc0JBQXNCLENBQUM7QUFFakQsdUJBQU0sVUFBVSxHQUFXLFlBQVksQ0FBQztBQUN4Qyx1QkFBTSxlQUFlLEdBQVcsaUJBQWlCLENBQUM7QUFDbEQsdUJBQU0sZUFBZSxHQUFXLGlCQUFpQixDQUFDO0FBQ2xELHVCQUFNLHlCQUF5QixHQUFXLDJCQUEyQixDQUFDO0FBQ3RFLHVCQUFNLGVBQWUsR0FBVyxpQkFBaUIsQ0FBQztBQUNsRCx1QkFBTSxzQkFBc0IsR0FBVyx3QkFBd0IsQ0FBQztBQUNoRSx1QkFBTSxnQkFBZ0IsR0FBVyxrQkFBa0IsQ0FBQztBQUNwRCx1QkFBTSwwQkFBMEIsR0FBVyw0QkFBNEIsQ0FBQztBQUN4RSx1QkFBTSxtQkFBbUIsR0FBVyxxQkFBcUIsQ0FBQztBQUMxRCx1QkFBTSxxQkFBcUIsR0FBVyx1QkFBdUIsQ0FBQztBQUM5RCx1QkFBTSxVQUFVLEdBQVcsWUFBWSxDQUFDO0FBQ3hDLHVCQUFNLGdCQUFnQixHQUFXLGtCQUFrQixDQUFDO0FBQ3BELHVCQUFNLG9CQUFvQixHQUFXLHNCQUFzQixDQUFDO0FBQzVELHVCQUFNLDBCQUEwQixHQUFXLDRCQUE0QixDQUFDO0FBQ3hF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S0FBSztxQkFHTCxLQUFLOzRCQUdMLEtBQUs7eUJBR0wsS0FBSzs7O0lBUkwsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJTG9hZGVyIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50L0lMb2FkZXInO1xuaW1wb3J0IHsgTG9hZGVyU3RhdHVzIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50L0xvYWRlclN0YXR1cyc7XG5pbXBvcnQgeyBPcHRpb24gfSBmcm9tICcuLi8uLi8uLi9kZWNvcmF0b3IvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBYnN0cmFjdEhhc09wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9zaGFyZS9BYnN0cmFjdEhhc09wdGlvbnMnO1xuXG5kZWNsYXJlIHZhciAkOiBhbnk7XG5cbmNvbnN0IFRZUEVfTkFNRTogc3RyaW5nID0gXCJtYXRlcmlhbC1pY29uLWxvYWRlclwiO1xuXG5jb25zdCBCQUxMX1BVTFNFOiBzdHJpbmcgPSBcImJhbGwtcHVsc2VcIjtcbmNvbnN0IEJBTExfR1JJRF9QVUxTRTogc3RyaW5nID0gXCJiYWxsLWdyaWQtcHVsc2VcIjtcbmNvbnN0IEJBTExfUFVMU0VfU1lOQzogc3RyaW5nID0gXCJiYWxsLXB1bHNlLXN5bmNcIjtcbmNvbnN0IEJBTExfQ0xJUF9ST1RBVEVfTVVMVElQTEU6IHN0cmluZyA9IFwiYmFsbC1jbGlwLXJvdGF0ZS1tdWx0aXBsZVwiO1xuY29uc3QgQkFMTF9QVUxTRV9SSVNFOiBzdHJpbmcgPSBcImJhbGwtcHVsc2UtcmlzZVwiO1xuY29uc3QgQkFMTF9DTElQX1JPVEFURV9QVUxTRTogc3RyaW5nID0gXCJiYWxsLWNsaXAtcm90YXRlLXB1bHNlXCI7XG5jb25zdCBCQUxMX0NMSVBfUk9UQVRFOiBzdHJpbmcgPSBcImJhbGwtY2xpcC1yb3RhdGVcIjtcbmNvbnN0IEJBTExfU0NBTEVfUklQUExFX01VTFRJUExFOiBzdHJpbmcgPSBcImJhbGwtc2NhbGUtcmlwcGxlLW11bHRpcGxlXCI7XG5jb25zdCBCQUxMX1NDQUxFX01VTFRJUExFOiBzdHJpbmcgPSBcImJhbGwtc2NhbGUtbXVsdGlwbGVcIjtcbmNvbnN0IExJTkVfU1BJTl9GQURFX0xPQURFUjogc3RyaW5nID0gXCJsaW5lLXNwaW4tZmFkZS1sb2FkZXJcIjtcbmNvbnN0IExJTkVfU0NBTEU6IHN0cmluZyA9IFwibGluZS1zY2FsZVwiO1xuY29uc3QgTElORV9TQ0FMRV9QQVJUWTogc3RyaW5nID0gXCJsaW5lLXNjYWxlLXBhcnR5XCI7XG5jb25zdCBMSU5FX1NDQUxFX1BVTFNFX09VVDogc3RyaW5nID0gXCJsaW5lLXNjYWxlLXB1bHNlLW91dFwiO1xuY29uc3QgTElORV9TQ0FMRV9QVUxTRV9PVVRfUkFQSUQ6IHN0cmluZyA9IFwibGluZS1zY2FsZS1wdWxzZS1vdXQtcmFwaWRcIjtcbmNvbnN0IFNRVUFSRV9TUElOOiBzdHJpbmcgPSBcInNxdWFyZS1zcGluXCI7XG4gXG5AQ29tcG9uZW50KHtcbiAgbW9kdWxlSWQ6IG1vZHVsZS5pZCxcbiAgc2VsZWN0b3I6IFRZUEVfTkFNRSxcbiAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwibWF0ZXJpYWwtaWNvbi1sb2FkZXJcIiBbc3R5bGUud2lkdGhdPVwiZ2V0U2l6ZSgpXCIgW3N0eWxlLmhlaWdodF09XCJnZXRTaXplKClcIiBbY2xhc3MuZGlzYWJsZV09XCJpc0Rpc2FibGVkKClcIiBbY2xhc3MucnVubmluZ109XCJpc1J1bm5pbmcoKVwiIFtjbGFzcy5wYXVzZV09XCJpc1BhdXNlZCgpXCIgW2NsYXNzLnN0b3BdPVwiaXNTdG9wcGVkKClcIj5cbiAgPGxvYWRlcnMtY3NzIFtsb2FkZXJdPVwiX2dldEljb25OYW1lKClcIiBbbG9hZGVyQ2xhc3NdPVwiZ2V0TG9hZGVyQ2xhc3MoKVwiPjwvbG9hZGVycy1jc3M+XG48L2Rpdj5cbmBcbn0pXG5leHBvcnQgY2xhc3MgTWF0ZXJpYWxJY29uTG9hZGVyIGV4dGVuZHMgQWJzdHJhY3RIYXNPcHRpb25zIGltcGxlbWVudHMgT25Jbml0LCBJTG9hZGVyIHtcblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFRZUEVfTkFNRTogc3RyaW5nID0gVFlQRV9OQU1FO1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQkFMTF9QVUxTRTogc3RyaW5nID0gQkFMTF9QVUxTRTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBCQUxMX0dSSURfUFVMU0U6IHN0cmluZyA9IEJBTExfR1JJRF9QVUxTRTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBCQUxMX0NMSVBfUk9UQVRFX01VTFRJUExFOiBzdHJpbmcgPSBCQUxMX0NMSVBfUk9UQVRFX01VTFRJUExFO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEJBTExfUFVMU0VfUklTRTogc3RyaW5nID0gQkFMTF9QVUxTRV9SSVNFO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEJBTExfQ0xJUF9ST1RBVEVfUFVMU0U6IHN0cmluZyA9IEJBTExfQ0xJUF9ST1RBVEVfUFVMU0U7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQkFMTF9DTElQX1JPVEFURTogc3RyaW5nID0gQkFMTF9DTElQX1JPVEFURTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBCQUxMX1NDQUxFX1JJUFBMRV9NVUxUSVBMRTogc3RyaW5nID0gQkFMTF9TQ0FMRV9SSVBQTEVfTVVMVElQTEU7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQkFMTF9TQ0FMRV9NVUxUSVBMRTogc3RyaW5nID0gQkFMTF9TQ0FMRV9NVUxUSVBMRTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBCQUxMX1BVTFNFX1NZTkM6IHN0cmluZyA9IEJBTExfUFVMU0VfU1lOQztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBMSU5FX1NQSU5fRkFERV9MT0FERVI6IHN0cmluZyA9IExJTkVfU1BJTl9GQURFX0xPQURFUjtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBMSU5FX1NDQUxFOiBzdHJpbmcgPSBMSU5FX1NDQUxFO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IExJTkVfU0NBTEVfUEFSVFk6IHN0cmluZyA9IExJTkVfU0NBTEVfUEFSVFk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTElORV9TQ0FMRV9QVUxTRV9PVVQ6IHN0cmluZyA9IExJTkVfU0NBTEVfUFVMU0VfT1VUO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IExJTkVfU0NBTEVfUFVMU0VfT1VUX1JBUElEOiBzdHJpbmcgPSBMSU5FX1NDQUxFX1BVTFNFX09VVF9SQVBJRDtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTUVVBUkVfU1BJTjogc3RyaW5nID0gU1FVQVJFX1NQSU47XG5cbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByaXZhdGUgaWNvbk5hbWU6IHN0cmluZztcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByaXZhdGUgc2l6ZTogc3RyaW5nO1xuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJpdmF0ZSBsb2FkZXJDbGFzczogc3RyaW5nO1xuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJpdmF0ZSBkaXNhYmxlZDogYm9vbGVhbjtcblxuICBwcml2YXRlIHN0YXR1czogTG9hZGVyU3RhdHVzO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLnN0YXR1cyA9IExvYWRlclN0YXR1cy5TVE9QUEVEO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbiAgcHVibGljIF9nZXRJY29uTmFtZSgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmljb25OYW1lICE9PSBudWxsICYmIHR5cGVvZiB0aGlzLmljb25OYW1lICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuIHRoaXMuaWNvbk5hbWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIE1hdGVyaWFsSWNvbkxvYWRlci5CQUxMX0NMSVBfUk9UQVRFX1BVTFNFO1xuICB9XG5cbiAgcHVibGljIHN0YXJ0KCk6IFByb21pc2U8YW55PiB7XG4gICAgaWYgKHRoaXMuaXNTdG9wcGVkKCkpIHtcbiAgICAgIHRoaXMuc3RhdHVzID0gTG9hZGVyU3RhdHVzLlJVTk5JTkc7XG4gICAgfVxuXG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICB9XG5cbiAgcHVibGljIHBhdXNlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzUnVubmluZygpKSB7XG4gICAgICB0aGlzLnN0YXR1cyA9IExvYWRlclN0YXR1cy5QQVVTRUQ7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlc3VtZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc1BhdXNlZCgpKSB7XG4gICAgICB0aGlzLnN0YXR1cyA9IExvYWRlclN0YXR1cy5SVU5OSU5HO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzdG9wKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzUnVubmluZygpIHx8IHRoaXMuaXNQYXVzZWQoKSkge1xuICAgICAgdGhpcy5zdGF0dXMgPSBMb2FkZXJTdGF0dXMuU1RPUFBFRDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0U3RhdGUoKTogTG9hZGVyU3RhdHVzIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXM7XG4gIH1cblxuICBwdWJsaWMgaXNSdW5uaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXR1cyA9PT0gTG9hZGVyU3RhdHVzLlJVTk5JTkc7XG4gIH1cblxuICBwdWJsaWMgaXNQYXVzZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzID09PSBMb2FkZXJTdGF0dXMuUEFVU0VEO1xuICB9XG5cbiAgcHVibGljIGlzU3RvcHBlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXMgPT09IExvYWRlclN0YXR1cy5TVE9QUEVEO1xuICB9XG5cbiAgcHVibGljIGdldFNpemUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zaXplO1xuICB9XG5cbiAgcHVibGljIHNldFNpemUoc2l6ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zaXplID0gc2l6ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMb2FkZXJDbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmxvYWRlckNsYXNzO1xuICB9XG5cbiAgcHVibGljIHNldExvYWRlckNsYXNzKGxvYWRlckNsYXNzOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmxvYWRlckNsYXNzID0gbG9hZGVyQ2xhc3M7XG4gIH1cblxuICBwdWJsaWMgaXNEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXREaXNhYmxlZChkaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgfVxufVxuIl19