@alauda-fe/common
Version:
Alauda frontend team common codes.
42 lines • 6.02 kB
JavaScript
import { Directive, Injector } from '@angular/core';
import { TranslateService } from '../../translate/public-api';
import { DefaultErrorsMapperService } from './default-errors-mapper.service';
import * as i0 from "@angular/core";
export class BaseErrorsMapper {
getErrorMessage(errors, errorsMapper, errorsMapperFn, namePrefix, ignoreUnknownError = false) {
const firstError = Object.keys(errors || {})[0];
if (!firstError) {
return;
}
if (errorsMapper?.[firstError]) {
return errorsMapper[firstError];
}
if (errorsMapperFn) {
const res = errorsMapperFn(errors);
if (res) {
return res;
}
}
// only required error should be modified
if (namePrefix && firstError === 'required') {
return this.translate.get('required_item', { name: namePrefix });
}
// eslint-disable-next-line unicorn/no-array-method-this-argument
const definedError = this.mapperService.map(firstError, errors[firstError]);
return definedError
? (namePrefix || '') + definedError
: ignoreUnknownError
? ''
: this.translate.get('the_value_is_invalid');
}
constructor(injector) {
this.translate = injector.get(TranslateService);
this.mapperService = injector.get(DefaultErrorsMapperService);
}
static { this.ɵfac = function BaseErrorsMapper_Factory(t) { return new (t || BaseErrorsMapper)(i0.ɵɵdirectiveInject(i0.Injector)); }; }
static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: BaseErrorsMapper }); }
}
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BaseErrorsMapper, [{
type: Directive
}], () => [{ type: i0.Injector }], null); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1lcnJvcnMtbWFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2Zvcm0vZXJyb3JzLW1hcHBlci9iYXNlLWVycm9ycy1tYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHcEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFOUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBSTdFLE1BQU0sT0FBZ0IsZ0JBQWdCO0lBSTFCLGVBQWUsQ0FDdkIsTUFBMkIsRUFDM0IsWUFBd0IsRUFDeEIsY0FBK0IsRUFDL0IsVUFBbUIsRUFDbkIsa0JBQWtCLEdBQUcsS0FBSztRQUUxQixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEIsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLFlBQVksRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDL0IsT0FBTyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEMsQ0FBQztRQUNELElBQUksY0FBYyxFQUFFLENBQUM7WUFDbkIsTUFBTSxHQUFHLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25DLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQ1IsT0FBTyxHQUFHLENBQUM7WUFDYixDQUFDO1FBQ0gsQ0FBQztRQUNELHlDQUF5QztRQUN6QyxJQUFJLFVBQVUsSUFBSSxVQUFVLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDNUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNuRSxDQUFDO1FBQ0QsaUVBQWlFO1FBQ2pFLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUU1RSxPQUFPLFlBQVk7WUFDakIsQ0FBQyxDQUFDLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxHQUFHLFlBQVk7WUFDbkMsQ0FBQyxDQUFDLGtCQUFrQjtnQkFDcEIsQ0FBQyxDQUFDLEVBQUU7Z0JBQ0osQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELFlBQVksUUFBa0I7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFDaEUsQ0FBQztpRkF6Q21CLGdCQUFnQjtvRUFBaEIsZ0JBQWdCOztpRkFBaEIsZ0JBQWdCO2NBRHJDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN0cmluZ01hcCB9IGZyb20gJy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdHJhbnNsYXRlL3B1YmxpYy1hcGknO1xuXG5pbXBvcnQgeyBEZWZhdWx0RXJyb3JzTWFwcGVyU2VydmljZSB9IGZyb20gJy4vZGVmYXVsdC1lcnJvcnMtbWFwcGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRXJyb3JNYXBwZXJJbnRlcmZhY2UsIEVycm9yc01hcHBlckZuIH0gZnJvbSAnLi90eXBlcyc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VFcnJvcnNNYXBwZXIge1xuICB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2U7XG4gIG1hcHBlclNlcnZpY2U6IEVycm9yTWFwcGVySW50ZXJmYWNlO1xuXG4gIHByb3RlY3RlZCBnZXRFcnJvck1lc3NhZ2UoXG4gICAgZXJyb3JzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIGVycm9yc01hcHBlcj86IFN0cmluZ01hcCxcbiAgICBlcnJvcnNNYXBwZXJGbj86IEVycm9yc01hcHBlckZuLFxuICAgIG5hbWVQcmVmaXg/OiBzdHJpbmcsXG4gICAgaWdub3JlVW5rbm93bkVycm9yID0gZmFsc2UsXG4gICkge1xuICAgIGNvbnN0IGZpcnN0RXJyb3IgPSBPYmplY3Qua2V5cyhlcnJvcnMgfHwge30pWzBdO1xuICAgIGlmICghZmlyc3RFcnJvcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoZXJyb3JzTWFwcGVyPy5bZmlyc3RFcnJvcl0pIHtcbiAgICAgIHJldHVybiBlcnJvcnNNYXBwZXJbZmlyc3RFcnJvcl07XG4gICAgfVxuICAgIGlmIChlcnJvcnNNYXBwZXJGbikge1xuICAgICAgY29uc3QgcmVzID0gZXJyb3JzTWFwcGVyRm4oZXJyb3JzKTtcbiAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gb25seSByZXF1aXJlZCBlcnJvciBzaG91bGQgYmUgbW9kaWZpZWRcbiAgICBpZiAobmFtZVByZWZpeCAmJiBmaXJzdEVycm9yID09PSAncmVxdWlyZWQnKSB7XG4gICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuZ2V0KCdyZXF1aXJlZF9pdGVtJywgeyBuYW1lOiBuYW1lUHJlZml4IH0pO1xuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9uby1hcnJheS1tZXRob2QtdGhpcy1hcmd1bWVudFxuICAgIGNvbnN0IGRlZmluZWRFcnJvciA9IHRoaXMubWFwcGVyU2VydmljZS5tYXAoZmlyc3RFcnJvciwgZXJyb3JzW2ZpcnN0RXJyb3JdKTtcblxuICAgIHJldHVybiBkZWZpbmVkRXJyb3JcbiAgICAgID8gKG5hbWVQcmVmaXggfHwgJycpICsgZGVmaW5lZEVycm9yXG4gICAgICA6IGlnbm9yZVVua25vd25FcnJvclxuICAgICAgPyAnJ1xuICAgICAgOiB0aGlzLnRyYW5zbGF0ZS5nZXQoJ3RoZV92YWx1ZV9pc19pbnZhbGlkJyk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB0aGlzLnRyYW5zbGF0ZSA9IGluamVjdG9yLmdldChUcmFuc2xhdGVTZXJ2aWNlKTtcbiAgICB0aGlzLm1hcHBlclNlcnZpY2UgPSBpbmplY3Rvci5nZXQoRGVmYXVsdEVycm9yc01hcHBlclNlcnZpY2UpO1xuICB9XG59XG4iXX0=