@bimeister/pupakit.forms
Version:
PupaKit Forms
34 lines • 5.75 kB
JavaScript
import { Inject, Injectable, Optional } from '@angular/core';
import { isNil } from '@bimeister/utilities';
import { BehaviorSubject } from 'rxjs';
import { map } from 'rxjs/operators';
import { DEFAULT_LOCALE } from '@bimeister/pupakit.common';
import '../../../declarations/interfaces/day-selector-config.interface';
import '../../../declarations/enums/day-of-week.enum';
import { DEFAULT_DAY_SELECTOR_CONFIG } from '../../../declarations/constants/default-day-selector-config.const';
import { DAY_SELECTOR_CONFIG_TOKEN } from '../../../declarations/tokens/day-selector-config.token';
import * as i0 from "@angular/core";
export class LocaleDayFormatterService {
constructor(daySelectorConfig) {
this.currentLocale$ = new BehaviorSubject(DEFAULT_LOCALE);
this.localeNames$ = this.currentLocale$.pipe(map((locale) => this.translates[locale]));
const config = !isNil(daySelectorConfig) ? daySelectorConfig : DEFAULT_DAY_SELECTOR_CONFIG;
this.translates = config.translates;
}
set locale(value) {
if (isNil(this.translates[value]))
throw new Error('No translates for current locale');
this.currentLocale$.next(value);
}
}
LocaleDayFormatterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LocaleDayFormatterService, deps: [{ token: DAY_SELECTOR_CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
LocaleDayFormatterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LocaleDayFormatterService });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LocaleDayFormatterService, decorators: [{
type: Injectable
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
type: Optional
}, {
type: Inject,
args: [DAY_SELECTOR_CONFIG_TOKEN]
}] }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLWRheS1mb3JtYXR0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2RheS1zZWxlY3Rvci9zZXJ2aWNlcy9sb2NhbGUtZGF5LWZvcm1hdHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQWtDLGdFQUFnRSxDQUFDO0FBQ25HLE9BQTBCLDhDQUE4QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1FQUFtRSxDQUFDO0FBQ2hILE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDOztBQUduRyxNQUFNLE9BQU8seUJBQXlCO0lBU3BDLFlBQTJELGlCQUFxQztRQU4vRSxtQkFBYyxHQUE0QixJQUFJLGVBQWUsQ0FBUyxjQUFjLENBQUMsQ0FBQztRQUV2RixpQkFBWSxHQUEwQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDNUYsR0FBRyxDQUFDLENBQUMsTUFBYyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQ2pELENBQUM7UUFHQSxNQUFNLE1BQU0sR0FBc0IsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLDJCQUEyQixDQUFDO1FBQzlHLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBVyxNQUFNLENBQUMsS0FBYTtRQUM3QixJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBRXZGLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7O3VIQWxCVSx5QkFBeUIsa0JBU0oseUJBQXlCOzJIQVQ5Qyx5QkFBeUI7NEZBQXpCLHlCQUF5QjtrQkFEckMsVUFBVTs7MEJBVUksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc05pbCB9IGZyb20gJ0BiaW1laXN0ZXIvdXRpbGl0aWVzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgREVGQVVMVF9MT0NBTEUgfSBmcm9tICdAYmltZWlzdGVyL3B1cGFraXQuY29tbW9uJztcbmltcG9ydCB7IERheVNlbGVjdG9yQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vZGVjbGFyYXRpb25zL2ludGVyZmFjZXMvZGF5LXNlbGVjdG9yLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRGF5T2ZXZWVrIH0gZnJvbSAnLi4vLi4vLi4vZGVjbGFyYXRpb25zL2VudW1zL2RheS1vZi13ZWVrLmVudW0nO1xuaW1wb3J0IHsgREVGQVVMVF9EQVlfU0VMRUNUT1JfQ09ORklHIH0gZnJvbSAnLi4vLi4vLi4vZGVjbGFyYXRpb25zL2NvbnN0YW50cy9kZWZhdWx0LWRheS1zZWxlY3Rvci1jb25maWcuY29uc3QnO1xuaW1wb3J0IHsgREFZX1NFTEVDVE9SX0NPTkZJR19UT0tFTiB9IGZyb20gJy4uLy4uLy4uL2RlY2xhcmF0aW9ucy90b2tlbnMvZGF5LXNlbGVjdG9yLWNvbmZpZy50b2tlbic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBMb2NhbGVEYXlGb3JtYXR0ZXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVzOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8RGF5T2ZXZWVrLCBzdHJpbmc+PjtcblxuICBwcml2YXRlIHJlYWRvbmx5IGN1cnJlbnRMb2NhbGUkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPihERUZBVUxUX0xPQ0FMRSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGxvY2FsZU5hbWVzJDogT2JzZXJ2YWJsZTxSZWNvcmQ8RGF5T2ZXZWVrLCBzdHJpbmc+PiA9IHRoaXMuY3VycmVudExvY2FsZSQucGlwZShcbiAgICBtYXAoKGxvY2FsZTogc3RyaW5nKSA9PiB0aGlzLnRyYW5zbGF0ZXNbbG9jYWxlXSlcbiAgKTtcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KERBWV9TRUxFQ1RPUl9DT05GSUdfVE9LRU4pIGRheVNlbGVjdG9yQ29uZmlnPzogRGF5U2VsZWN0b3JDb25maWcpIHtcbiAgICBjb25zdCBjb25maWc6IERheVNlbGVjdG9yQ29uZmlnID0gIWlzTmlsKGRheVNlbGVjdG9yQ29uZmlnKSA/IGRheVNlbGVjdG9yQ29uZmlnIDogREVGQVVMVF9EQVlfU0VMRUNUT1JfQ09ORklHO1xuICAgIHRoaXMudHJhbnNsYXRlcyA9IGNvbmZpZy50cmFuc2xhdGVzO1xuICB9XG5cbiAgcHVibGljIHNldCBsb2NhbGUodmFsdWU6IHN0cmluZykge1xuICAgIGlmIChpc05pbCh0aGlzLnRyYW5zbGF0ZXNbdmFsdWVdKSkgdGhyb3cgbmV3IEVycm9yKCdObyB0cmFuc2xhdGVzIGZvciBjdXJyZW50IGxvY2FsZScpO1xuXG4gICAgdGhpcy5jdXJyZW50TG9jYWxlJC5uZXh0KHZhbHVlKTtcbiAgfVxufVxuIl19