@lunaeme/circe-core
Version:
Circe :: Angular Core Services and Tools
79 lines • 10.5 kB
JavaScript
import { Subject } from 'rxjs';
const ɵ0 = () => { }, ɵ1 = () => { };
const defaultConfig = {
timeShowing: 400,
timeToStop: 400,
callbackShow: ɵ0,
callbackStop: ɵ1
};
export class AsynchronousPairVariables {
constructor(config = defaultConfig) {
this.trigger$ = new Subject();
this.show$ = new Subject();
this._startArguments = [];
this._stopArguments = [];
this._config = {};
if (!!config) {
this._config.timeShowing = (!!config.timeShowing) ? config.timeShowing : defaultConfig.timeShowing;
this._config.timeToStop = (!!config.timeToStop) ? config.timeToStop : defaultConfig.timeToStop;
this._config.callbackShow = (!!config.callbackShow) ? config.callbackShow : defaultConfig.callbackShow;
this._config.callbackStop = config.callbackStop;
if (!!!this._config.callbackStop) {
this._config.callbackStop = (!!config.callbackShow) ? config.callbackShow : defaultConfig.callbackStop;
}
}
}
set _trigger(state) {
this.trigger$.next(state);
if (state) {
setTimeout(() => {
this._config.callbackShow(...this._startArguments);
this._show = true;
this._timeoutShow = setTimeout(() => {
this._show = false;
}, this._config.timeShowing);
});
}
}
set _show(state) {
this.show$.next(state);
if (!state) {
setTimeout(() => {
this._config.callbackStop(...this._stopArguments);
this._trigger = false;
}, this._config.timeToStop);
}
}
_setStopArguments(...arg) {
this._stopArguments = arg;
}
setConfig(config) {
if (!!config.timeShowing) {
this._config.timeShowing = config.timeShowing;
}
if (!!config.timeToStop) {
this._config.timeToStop = config.timeToStop;
}
if (!!config.callbackShow) {
this._config.callbackShow = config.callbackShow;
}
if (!!config.callbackStop) {
this._config.callbackStop = config.callbackStop;
}
}
start(...arg) {
clearTimeout(this._timeoutShow);
this._startArguments = arg;
this._trigger = true;
return this._setStopArguments.bind(this);
}
stop() {
clearTimeout(this._timeoutShow);
}
remove() {
this.stop();
this._show = false;
}
}
export { ɵ0, ɵ1 };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmNocm9ub3VzLXBhaXItdmFyaWFibGVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGx1bmFlbWUvY2lyY2UtY29yZS8iLCJzb3VyY2VzIjpbImxpYi9hc3luY2hyb25vdXMtcGFpci12YXJpYWJsZXMvYXN5bmNocm9ub3VzLXBhaXItdmFyaWFibGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7V0FhZixHQUFHLEVBQUUsR0FBRSxDQUFDLE9BQ1IsR0FBRyxFQUFFLEdBQUUsQ0FBQztBQUp4QixNQUFNLGFBQWEsR0FBb0M7SUFDckQsV0FBVyxFQUFFLEdBQUc7SUFDaEIsVUFBVSxFQUFFLEdBQUc7SUFDZixZQUFZLElBQVU7SUFDdEIsWUFBWSxJQUFVO0NBQ3ZCLENBQUM7QUFFRixNQUFNLE9BQU8seUJBQXlCO0lBK0JwQyxZQUFZLFNBQTBDLGFBQWE7UUE5QjVELGFBQVEsR0FBcUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUMzQyxVQUFLLEdBQXFCLElBQUksT0FBTyxFQUFFLENBQUM7UUE4QjdDLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBRXpCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBRWxCLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRTtZQUNaLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztZQUNuRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFD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aUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVNLElBQUk7UUFDVCxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1osSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2NXaWxkY2FyZENhbGxiYWNrIH0gZnJvbSAnLi4vX3R5cGVzL2RhdGEudHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFzeW5jaHJvbm91c1BhaXJWYXJpYWJsZXNDb25maWcge1xuICB0aW1lU2hvd2luZz86IG51bWJlcjtcbiAgdGltZVRvU3RvcD86IG51bWJlcjtcbiAgY2FsbGJhY2tTaG93PzogQ2NXaWxkY2FyZENhbGxiYWNrO1xuICBjYWxsYmFja1N0b3A/OiBDY1dpbGRjYXJkQ2FsbGJhY2s7XG59XG5cbmNvbnN0IGRlZmF1bHRDb25maWc6IEFzeW5jaHJvbm91c1BhaXJWYXJpYWJsZXNDb25maWcgPSB7XG4gIHRpbWVTaG93aW5nOiA0MDAsXG4gIHRpbWVUb1N0b3A6IDQwMCxcbiAgY2FsbGJhY2tTaG93OiAoKSA9PiB7fSxcbiAgY2FsbGJhY2tTdG9wOiAoKSA9PiB7fVxufTtcblxuZXhwb3J0IGNsYXNzIEFzeW5jaHJvbm91c1BhaXJWYXJpYWJsZXMge1xuICBwdWJsaWMgdHJpZ2dlciQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdCgpO1xuICBwdWJsaWMgc2hvdyQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIHByaXZhdGUgc2V0IF90cmlnZ2VyKHN0YXRlOiBib29sZWFuKSB7XG4gICAgdGhpcy50cmlnZ2VyJC5uZXh0KHN0YXRlKTtcbiAgICBpZiAoc3RhdGUpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLl9jb25maWcuY2FsbGJhY2tTaG93KC4uLnRoaXMuX3N0YXJ0QXJndW1lbnRzKTtcbiAgICAgICAgdGhpcy5fc2hvdyA9IHRydWU7XG4gICAgICAgIHRoaXMuX3RpbWVvdXRTaG93ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5fc2hvdyA9IGZhbHNlO1xuICAgICAgICB9LCB0aGlzLl9jb25maWcudGltZVNob3dpbmcpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgc2V0IF9zaG93KHN0YXRlOiBib29sZWFuKSB7XG4gICAgdGhpcy5zaG93JC5uZXh0KHN0YXRlKTtcbiAgICBpZiAoIXN0YXRlKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5fY29uZmlnLmNhbGxiYWNrU3RvcCguLi50aGlzLl9zdG9wQXJndW1lbnRzKTtcbiAgICAgICAgdGhpcy5fdHJpZ2dlciA9IGZhbHNlO1xuICAgICAgfSwgdGhpcy5fY29uZmlnLnRpbWVUb1N0b3ApO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIF90aW1lb3V0U2hvdzogTm9kZUpTLlRpbWVvdXQ7XG5cbiAgcHJpdmF0ZSBfc3RhcnRBcmd1bWVudHM6IEFycmF5PGFueT47XG4gIHByaXZhdGUgX3N0b3BBcmd1bWVudHM6IEFycmF5PGFueT47XG4gIHByaXZhdGUgX2NvbmZpZzogQXN5bmNocm9ub3VzUGFpclZhcmlhYmxlc0NvbmZpZztcblxuICBjb25zdHJ1Y3Rvcihjb25maWc6IEFzeW5jaHJvbm91c1BhaXJWYXJpYWJsZXNDb25maWcgPSBkZWZhdWx0Q29uZmlnKSB7XG4gICAgdGhpcy5fc3RhcnRBcmd1bWVudHMgPSBbXTtcbiAgICB0aGlzLl9zdG9wQXJndW1lbnRzID0gW107XG5cbiAgICB0aGlzLl9jb25maWcgPSB7fTtcblxuICAgIGlmICghIWNvbmZpZykge1xuICAgICAgdGhpcy5fY29uZmlnLnRpbWVTaG93aW5nID0gKCEhY29uZmlnLnRpbWVTaG93aW5nKSA/IGNvbmZpZy50aW1lU2hvd2luZyA6IGRlZmF1bHRDb25maWcudGltZVNob3dpbmc7XG4gICAgICB0aGlzLl9jb25maWcudGltZVRvU3RvcCA9ICghIWNvbmZpZy50aW1lVG9TdG9wKSA/IGNvbmZpZy50aW1lVG9TdG9wIDogZGVmYXVsdENvbmZpZy50aW1lVG9TdG9wO1xuICAgICAgdGhpcy5fY29uZmlnLmNhbGxiYWNrU2hvdyA9ICghIWNvbmZpZy5jYWxsYmFja1Nob3cpID8gY29uZmlnLmNhbGxiYWNrU2hvdyA6IGRlZmF1bHRDb25maWcuY2FsbGJhY2tTaG93O1xuICAgICAgdGhpcy5fY29uZmlnLmNhbGxiYWNrU3RvcCA9IGNvbmZpZy5jYWxsYmFja1N0b3A7XG4gICAgICBpZiAoISEhdGhpcy5fY29uZmlnLmNhbGxiYWNrU3RvcCkge1xuICAgICAgICB0aGlzLl9jb25maWcuY2FsbGJhY2tTdG9wID0gKCEhY29uZmlnLmNhbGxiYWNrU2hvdykgPyBjb25maWcuY2FsbGJhY2tTaG93IDogZGVmYXVsdENvbmZpZy5jYWxsYmFja1N0b3A7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0U3RvcEFyZ3VtZW50cyguLi5hcmc6IEFycmF5PGFueT4pOiB2b2lkIHtcbiAgICB0aGlzLl9zdG9wQXJndW1lbnRzID0gYXJnO1xuICB9XG5cbiAgcHVibGljIHNldENvbmZpZyhjb25maWc6IEFzeW5jaHJvbm91c1BhaXJWYXJpYWJsZXNDb25maWcpOiB2b2lkIHtcbiAgICBpZiAoISFjb25maWcudGltZVNob3dpbmcpIHtcbiAgICAgIHRoaXMuX2NvbmZpZy50aW1lU2hvd2luZyA9IGNvbmZpZy50aW1lU2hvd2luZztcbiAgICB9XG4gICAgaWYgKCEhY29uZmlnLnRpbWVUb1N0b3ApIHtcbiAgICAgIHRoaXMuX2NvbmZpZy50aW1lVG9TdG9wID0gY29uZmlnLnRpbWVUb1N0b3A7XG4gICAgfVxuICAgIGlmICghIWNvbmZpZy5jYWxsYmFja1Nob3cpIHtcbiAgICAgIHRoaXMuX2NvbmZpZy5jYWxsYmFja1Nob3cgPSBjb25maWcuY2FsbGJhY2tTaG93O1xuICAgIH1cbiAgICBpZiAoISFjb25maWcuY2FsbGJhY2tTdG9wKSB7XG4gICAgICB0aGlzLl9jb25maWcuY2FsbGJhY2tTdG9wID0gY29uZmlnLmNhbGxiYWNrU3RvcDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3RhcnQoLi4uYXJnOiBBcnJheTxhbnk+KTogQ2NXaWxkY2FyZENhbGxiYWNrIHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fdGltZW91dFNob3cpO1xuICAgIHRoaXMuX3N0YXJ0QXJndW1lbnRzID0gYXJnO1xuICAgIHRoaXMuX3RyaWdnZXIgPSB0cnVlO1xuICAgIHJldHVybiB0aGlzLl9zZXRTdG9wQXJndW1lbnRzLmJpbmQodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgc3RvcCgpOiB2b2lkIHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fdGltZW91dFNob3cpO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3AoKTtcbiAgICB0aGlzLl9zaG93ID0gZmFsc2U7XG4gIH1cbn1cbiJdfQ==