ngx-slice-kit
Version:
[](https://badge.fury.io/js/ngx-slice-kit)
36 lines • 4.03 kB
JavaScript
import { Injectable } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
import * as i0 from "@angular/core";
export class OptionsService {
constructor() {
this.$options = new BehaviorSubject(null);
this.$loading = new BehaviorSubject(null);
}
get options() {
return this.$options.getValue();
}
set options(options) {
this.$options.next(options);
}
get optionsObservable() {
return this.$options.asObservable();
}
get hasOptions() {
return this.options?.length > 0;
}
set loading(state) {
this.$loading.next(state);
}
get loading() {
return this.$loading.getValue();
}
}
OptionsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: OptionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
OptionsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: OptionsService, providedIn: 'root' });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: OptionsService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root'
}]
}], ctorParameters: function () { return []; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3gtc2xpY2Uta2l0L3NyYy9saWIvZHJvcGRvd25zL29wdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7O0FBTW5ELE1BQU0sT0FBTyxjQUFjO0lBNkJ2QjtRQTNCUSxhQUFRLEdBQW1DLElBQUksZUFBZSxDQUFnQixJQUFJLENBQUMsQ0FBQztRQUNwRixhQUFRLEdBQTZCLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFDO0lBMkJoRixDQUFDO0lBekJELElBQVcsT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBVyxPQUFPLENBQUMsT0FBc0I7UUFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQVcsaUJBQWlCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFXLE9BQU8sQ0FBQyxLQUFjO1FBQzdCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEMsQ0FBQzs7MkdBM0JRLGNBQWM7K0dBQWQsY0FBYyxjQUZYLE1BQU07MkZBRVQsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9wdGlvbk1vZGVsIH0gZnJvbSAnLi9kcm9wZG93bi1vcHRpb24ubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE9wdGlvbnNTZXJ2aWNlIHtcblxuICAgIHByaXZhdGUgJG9wdGlvbnM6IEJlaGF2aW9yU3ViamVjdDxPcHRpb25Nb2RlbFtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8T3B0aW9uTW9kZWxbXT4obnVsbCk7XG4gICAgcHJpdmF0ZSAkbG9hZGluZzogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihudWxsKTtcblxuICAgIHB1YmxpYyBnZXQgb3B0aW9ucygpOiBPcHRpb25Nb2RlbFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuJG9wdGlvbnMuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IG9wdGlvbnMob3B0aW9uczogT3B0aW9uTW9kZWxbXSkge1xuICAgICAgICB0aGlzLiRvcHRpb25zLm5leHQob3B0aW9ucyk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBvcHRpb25zT2JzZXJ2YWJsZSgpOiBPYnNlcnZhYmxlPE9wdGlvbk1vZGVsW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuJG9wdGlvbnMuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBoYXNPcHRpb25zKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zPy5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgbG9hZGluZyhzdGF0ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLiRsb2FkaW5nLm5leHQoc3RhdGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbG9hZGluZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuJGxvYWRpbmcuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICB9XG59XG4iXX0=