@ngspot/ngx-errors
Version:
<p align="center"> <img width="20%" height="20%" src="https://github.com/DmitryEfimenko/ngspot/blob/main/packages/ngx-errors/package/assets/logo.png?raw=true"> </p>
37 lines • 6.07 kB
JavaScript
import { Injectable, inject } from '@angular/core';
import { CUSTOM_ERROR_STATE_MATCHERS, } from './custom-error-state-matchers';
import { ShowOnDirtyErrorStateMatcher, ShowOnSubmittedErrorStateMatcher, ShowOnTouchedAndDirtyErrorStateMatcher, ShowOnTouchedErrorStateMatcher, } from './error-state-matchers';
import * as i0 from "@angular/core";
export class ErrorStateMatchers {
constructor() {
this.showOnTouchedErrorStateMatcher = inject(ShowOnTouchedErrorStateMatcher);
this.showOnDirtyErrorStateMatcher = inject(ShowOnDirtyErrorStateMatcher);
this.showOnTouchedAndDirtyErrorStateMatcher = inject(ShowOnTouchedAndDirtyErrorStateMatcher);
this.showOnSubmittedErrorStateMatcher = inject(ShowOnSubmittedErrorStateMatcher);
this.customErrorStateMatchers = inject(CUSTOM_ERROR_STATE_MATCHERS, {
optional: true,
});
this.matchers = {
touched: this.showOnTouchedErrorStateMatcher,
dirty: this.showOnDirtyErrorStateMatcher,
touchedAndDirty: this.showOnTouchedAndDirtyErrorStateMatcher,
formIsSubmitted: this.showOnSubmittedErrorStateMatcher,
};
if (this.customErrorStateMatchers) {
this.matchers = { ...this.matchers, ...this.customErrorStateMatchers };
}
}
get(showWhen) {
return this.matchers[showWhen];
}
validKeys() {
return Object.keys(this.matchers);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ErrorStateMatchers, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ErrorStateMatchers, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ErrorStateMatchers, decorators: [{
type: Injectable,
args: [{ providedIn: 'root' }]
}], ctorParameters: () => [] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3Itc3RhdGUtbWF0Y2hlcnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25neC1lcnJvcnMvcGFja2FnZS9zcmMvbGliL2Vycm9yLXN0YXRlLW1hdGNoZXJzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUNMLDJCQUEyQixHQUU1QixNQUFNLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sRUFDTCw0QkFBNEIsRUFDNUIsZ0NBQWdDLEVBQ2hDLHNDQUFzQyxFQUN0Qyw4QkFBOEIsR0FDL0IsTUFBTSx3QkFBd0IsQ0FBQzs7QUFXaEMsTUFBTSxPQUFPLGtCQUFrQjtJQXNCN0I7UUFyQlEsbUNBQThCLEdBQUcsTUFBTSxDQUM3Qyw4QkFBOEIsQ0FDL0IsQ0FBQztRQUNNLGlDQUE0QixHQUFHLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQ3BFLDJDQUFzQyxHQUFHLE1BQU0sQ0FDckQsc0NBQXNDLENBQ3ZDLENBQUM7UUFDTSxxQ0FBZ0MsR0FBRyxNQUFNLENBQy9DLGdDQUFnQyxDQUNqQyxDQUFDO1FBQ00sNkJBQXdCLEdBQUcsTUFBTSxDQUFDLDJCQUEyQixFQUFFO1lBQ3JFLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQyxDQUFDO1FBRUssYUFBUSxHQUEwQztZQUN4RCxPQUFPLEVBQUUsSUFBSSxDQUFDLDhCQUE4QjtZQUM1QyxLQUFLLEVBQUUsSUFBSSxDQUFDLDRCQUE0QjtZQUN4QyxlQUFlLEVBQUUsSUFBSSxDQUFDLHNDQUFzQztZQUM1RCxlQUFlLEVBQUUsSUFBSSxDQUFDLGdDQUFnQztTQUN2RCxDQUFDO1FBR0EsSUFBSSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFDekUsQ0FBQztJQUNILENBQUM7SUFFRCxHQUFHLENBQUMsUUFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwQyxDQUFDOzhHQWxDVSxrQkFBa0I7a0hBQWxCLGtCQUFrQixjQURMLE1BQU07OzJGQUNuQixrQkFBa0I7a0JBRDlCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIENVU1RPTV9FUlJPUl9TVEFURV9NQVRDSEVSUyxcbiAgSUVycm9yU3RhdGVNYXRjaGVyLFxufSBmcm9tICcuL2N1c3RvbS1lcnJvci1zdGF0ZS1tYXRjaGVycyc7XG5pbXBvcnQge1xuICBTaG93T25EaXJ0eUVycm9yU3RhdGVNYXRjaGVyLFxuICBTaG93T25TdWJtaXR0ZWRFcnJvclN0YXRlTWF0Y2hlcixcbiAgU2hvd09uVG91Y2hlZEFuZERpcnR5RXJyb3JTdGF0ZU1hdGNoZXIsXG4gIFNob3dPblRvdWNoZWRFcnJvclN0YXRlTWF0Y2hlcixcbn0gZnJvbSAnLi9lcnJvci1zdGF0ZS1tYXRjaGVycyc7XG5cbmV4cG9ydCB0eXBlIFByb3ZpZGVkRXJyb3JTdGF0ZU1hdGNoZXJLZXlzID1cbiAgfCAndG91Y2hlZCdcbiAgfCAnZGlydHknXG4gIHwgJ3RvdWNoZWRBbmREaXJ0eSdcbiAgfCAnZm9ybUlzU3VibWl0dGVkJztcblxuZXhwb3J0IHR5cGUgTWF0Y2hlcnNLZXlzID0gUHJvdmlkZWRFcnJvclN0YXRlTWF0Y2hlcktleXMgfCBzdHJpbmc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgRXJyb3JTdGF0ZU1hdGNoZXJzIHtcbiAgcHJpdmF0ZSBzaG93T25Ub3VjaGVkRXJyb3JTdGF0ZU1hdGNoZXIgPSBpbmplY3QoXG4gICAgU2hvd09uVG91Y2hlZEVycm9yU3RhdGVNYXRjaGVyLFxuICApO1xuICBwcml2YXRlIHNob3dPbkRpcnR5RXJyb3JTdGF0ZU1hdGNoZXIgPSBpbmplY3QoU2hvd09uRGlydHlFcnJvclN0YXRlTWF0Y2hlcik7XG4gIHByaXZhdGUgc2hvd09uVG91Y2hlZEFuZERpcnR5RXJyb3JTdGF0ZU1hdGNoZXIgPSBpbmplY3QoXG4gICAgU2hvd09uVG91Y2hlZEFuZERpcnR5RXJyb3JTdGF0ZU1hdGNoZXIsXG4gICk7XG4gIHByaXZhdGUgc2hvd09uU3VibWl0dGVkRXJyb3JTdGF0ZU1hdGNoZXIgPSBpbmplY3QoXG4gICAgU2hvd09uU3VibWl0dGVkRXJyb3JTdGF0ZU1hdGNoZXIsXG4gICk7XG4gIHByaXZhdGUgY3VzdG9tRXJyb3JTdGF0ZU1hdGNoZXJzID0gaW5qZWN0KENVU1RPTV9FUlJPUl9TVEFURV9NQVRDSEVSUywge1xuICAgIG9wdGlvbmFsOiB0cnVlLFxuICB9KTtcblxuICBwcml2YXRlIG1hdGNoZXJzOiB7IFtrZXk6IHN0cmluZ106IElFcnJvclN0YXRlTWF0Y2hlciB9ID0ge1xuICAgIHRvdWNoZWQ6IHRoaXMuc2hvd09uVG91Y2hlZEVycm9yU3RhdGVNYXRjaGVyLFxuICAgIGRpcnR5OiB0aGlzLnNob3dPbkRpcnR5RXJyb3JTdGF0ZU1hdGNoZXIsXG4gICAgdG91Y2hlZEFuZERpcnR5OiB0aGlzLnNob3dPblRvdWNoZWRBbmREaXJ0eUVycm9yU3RhdGVNYXRjaGVyLFxuICAgIGZvcm1Jc1N1Ym1pdHRlZDogdGhpcy5zaG93T25TdWJtaXR0ZWRFcnJvclN0YXRlTWF0Y2hlcixcbiAgfTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAodGhpcy5jdXN0b21FcnJvclN0YXRlTWF0Y2hlcnMpIHtcbiAgICAgIHRoaXMubWF0Y2hlcnMgPSB7IC4uLnRoaXMubWF0Y2hlcnMsIC4uLnRoaXMuY3VzdG9tRXJyb3JTdGF0ZU1hdGNoZXJzIH07XG4gICAgfVxuICB9XG5cbiAgZ2V0KHNob3dXaGVuOiBzdHJpbmcpOiBJRXJyb3JTdGF0ZU1hdGNoZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLm1hdGNoZXJzW3Nob3dXaGVuXTtcbiAgfVxuXG4gIHZhbGlkS2V5cygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMubWF0Y2hlcnMpO1xuICB9XG59XG4iXX0=