UNPKG

@lunaeme/circe-core

Version:
79 lines 10.5 kB
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==