UNPKG

carbon-components-angular

Version:
92 lines (87 loc) 3.54 kB
import * as i0 from '@angular/core'; import { Injectable, Optional, SkipSelf, NgModule } from '@angular/core'; class ExperimentalService { constructor() { /** * Map to hold all our experiments */ this.experiments = new Map(); } /** * Adds an experiment if it doesn't exist. */ addExperiment(name, options = { enabled: false }) { if (!this.experiments.has(name)) { this.experiments.set(name, options); } } /** * Enables an experiment by name * @param name name of the experiment to enable */ enableExperiment(name) { const experiment = this.getExperiment(name); experiment.enabled = true; } /** * Disables an experiment by name * @param name name of the experiment to disable */ disableExperiment(name) { const experiment = this.getExperiment(name); experiment.enabled = false; } /** * Get the options for an experiment by name * @param name name of experiment to get */ getExperiment(name) { if (!this.experiments.has(name)) { this.addExperiment(name); return this.getExperiment(name); } return this.experiments.get(name); } /** * Get an array of tuples representing an experiment and it's options */ getExperiments() { return Array.from(this.experiments.entries()); } } ExperimentalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ExperimentalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); ExperimentalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ExperimentalService }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ExperimentalService, decorators: [{ type: Injectable }] }); // either provides a new instance of ExperimentalService, or returns the parent function EXPERIMENTAL_SERVICE_PROVIDER_FACTORY(parentService) { return parentService || new ExperimentalService(); } const EXPERIMENTAL_SERVICE_PROVIDER = { provide: ExperimentalService, deps: [[new Optional(), new SkipSelf(), ExperimentalService]], useFactory: EXPERIMENTAL_SERVICE_PROVIDER_FACTORY }; class ExperimentalModule { } ExperimentalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ExperimentalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); ExperimentalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: ExperimentalModule }); ExperimentalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ExperimentalModule, providers: [ ExperimentalService, EXPERIMENTAL_SERVICE_PROVIDER ] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ExperimentalModule, decorators: [{ type: NgModule, args: [{ providers: [ ExperimentalService, EXPERIMENTAL_SERVICE_PROVIDER ] }] }] }); /** * Generated bundle index. Do not edit. */ export { EXPERIMENTAL_SERVICE_PROVIDER, EXPERIMENTAL_SERVICE_PROVIDER_FACTORY, ExperimentalModule, ExperimentalService }; //# sourceMappingURL=carbon-components-angular-experimental.mjs.map