UNPKG

@alauda-fe/common

Version:

Alauda frontend team common codes.

57 lines 6.31 kB
import { __decorate, __metadata } from "tslib"; import { Directive, Input, forwardRef } from '@angular/core'; import { NG_VALIDATORS, } from '@angular/forms'; import { ValueHook } from '../../core/public-api'; import * as i0 from "@angular/core"; export class OneOfValidatorDirective { validate(control) { const value = control.value; if (this.oneOfValues && !this.oneOfValues?.some(oneOfValue => typeof oneOfValue === 'string' ? oneOfValue === value : oneOfValue?.test(value))) { return { oneOf: control.value, }; } } registerOnValidatorChange(fn) { this.onValidatorChange = fn; } static { this.ɵfac = function OneOfValidatorDirective_Factory(t) { return new (t || OneOfValidatorDirective)(); }; } static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: OneOfValidatorDirective, selectors: [["", "aclOneOf", "", "ngModel", ""], ["", "aclOneOf", "", "formControl", ""], ["", "aclOneOf", "", "formControlName", ""]], inputs: { aclOneOf: "aclOneOf" }, standalone: true, features: [i0.ɵɵProvidersFeature([ { provide: NG_VALIDATORS, useExisting: forwardRef(() => OneOfValidatorDirective), multi: true, }, ])] }); } } __decorate([ ValueHook(null, null, function (oneOf) { this.oneOfValues = oneOf ? Array.isArray(oneOf) ? oneOf : [oneOf] : null; this.onValidatorChange?.(); }), __metadata("design:type", Object) ], OneOfValidatorDirective.prototype, "aclOneOf", void 0); (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OneOfValidatorDirective, [{ type: Directive, args: [{ standalone: true, selector: '[aclOneOf][ngModel],[aclOneOf][formControl],[aclOneOf][formControlName]', providers: [ { provide: NG_VALIDATORS, useExisting: forwardRef(() => OneOfValidatorDirective), multi: true, }, ], }] }], null, { aclOneOf: [{ type: Input }] }); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lLW9mLXZhbGlkYXRvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvZm9ybS92YWxpZGF0b3JzL29uZS1vZi12YWxpZGF0b3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUVMLGFBQWEsR0FHZCxNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFnQmxELE1BQU0sT0FBTyx1QkFBdUI7SUFvQmxDLFFBQVEsQ0FBQyxPQUF3QjtRQUMvQixNQUFNLEtBQUssR0FBVyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ3BDLElBQ0UsSUFBSSxDQUFDLFdBQVc7WUFDaEIsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUNuQyxPQUFPLFVBQVUsS0FBSyxRQUFRO2dCQUM1QixDQUFDLENBQUMsVUFBVSxLQUFLLEtBQUs7Z0JBQ3RCLENBQUMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUM1QixFQUNELENBQUM7WUFDRCxPQUFPO2dCQUNMLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSzthQUNyQixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxFQUFjO1FBQ3RDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7SUFDOUIsQ0FBQzt3RkF0Q1UsdUJBQXVCO29FQUF2Qix1QkFBdUIsK05BUnZCO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxhQUFhO29CQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDO29CQUN0RCxLQUFLLEVBQUUsSUFBSTtpQkFDWjthQUNGOztBQWdCRDtJQWJDLFNBQVMsQ0FDUixJQUFJLEVBQ0osSUFBSSxFQUNKLFVBQXlDLEtBQWdDO1FBQ3ZFLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSztZQUN0QixDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7Z0JBQ3BCLENBQUMsQ0FBQyxLQUFLO2dCQUNQLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUNYLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDVCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxDQUFDO0lBQzdCLENBQUMsQ0FDRjs7eURBRW1DO2lGQWR6Qix1QkFBdUI7Y0FabkMsU0FBUztlQUFDO2dCQUNULFVBQVUsRUFBRSxJQUFJO2dCQUNoQixRQUFRLEVBQ04seUVBQXlFO2dCQUMzRSxTQUFTLEVBQUU7b0JBQ1Q7d0JBQ0UsT0FBTyxFQUFFLGFBQWE7d0JBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHdCQUF3QixDQUFDO3dCQUN0RCxLQUFLLEVBQUUsSUFBSTtxQkFDWjtpQkFDRjthQUNGO2dCQWVDLFFBQVE7a0JBRFAsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgTkdfVkFMSURBVE9SUyxcbiAgVmFsaWRhdGlvbkVycm9ycyxcbiAgVmFsaWRhdG9yLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFZhbHVlSG9vayB9IGZyb20gJy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5cbmV4cG9ydCB0eXBlIE9uZU9mVmFsdWUgPSBzdHJpbmcgfCBSZWdFeHA7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjpcbiAgICAnW2FjbE9uZU9mXVtuZ01vZGVsXSxbYWNsT25lT2ZdW2Zvcm1Db250cm9sXSxbYWNsT25lT2ZdW2Zvcm1Db250cm9sTmFtZV0nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gT25lT2ZWYWxpZGF0b3JEaXJlY3RpdmUpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgT25lT2ZWYWxpZGF0b3JEaXJlY3RpdmUgaW1wbGVtZW50cyBWYWxpZGF0b3Ige1xuICBAVmFsdWVIb29rKFxuICAgIG51bGwsXG4gICAgbnVsbCxcbiAgICBmdW5jdGlvbiAodGhpczogT25lT2ZWYWxpZGF0b3JEaXJlY3RpdmUsIG9uZU9mOiBPbmVPZlZhbHVlIHwgT25lT2ZWYWx1ZVtdKSB7XG4gICAgICB0aGlzLm9uZU9mVmFsdWVzID0gb25lT2ZcbiAgICAgICAgPyBBcnJheS5pc0FycmF5KG9uZU9mKVxuICAgICAgICAgID8gb25lT2ZcbiAgICAgICAgICA6IFtvbmVPZl1cbiAgICAgICAgOiBudWxsO1xuICAgICAgdGhpcy5vblZhbGlkYXRvckNoYW5nZT8uKCk7XG4gICAgfSxcbiAgKVxuICBASW5wdXQoKVxuICBhY2xPbmVPZjogT25lT2ZWYWx1ZSB8IE9uZU9mVmFsdWVbXTtcblxuICBvbmVPZlZhbHVlczogT25lT2ZWYWx1ZVtdO1xuXG4gIG9uVmFsaWRhdG9yQ2hhbmdlOiAoKSA9PiB2b2lkO1xuXG4gIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMge1xuICAgIGNvbnN0IHZhbHVlOiBzdHJpbmcgPSBjb250cm9sLnZhbHVlO1xuICAgIGlmIChcbiAgICAgIHRoaXMub25lT2ZWYWx1ZXMgJiZcbiAgICAgICF0aGlzLm9uZU9mVmFsdWVzPy5zb21lKG9uZU9mVmFsdWUgPT5cbiAgICAgICAgdHlwZW9mIG9uZU9mVmFsdWUgPT09ICdzdHJpbmcnXG4gICAgICAgICAgPyBvbmVPZlZhbHVlID09PSB2YWx1ZVxuICAgICAgICAgIDogb25lT2ZWYWx1ZT8udGVzdCh2YWx1ZSksXG4gICAgICApXG4gICAgKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBvbmVPZjogY29udHJvbC52YWx1ZSxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZShmbjogKCkgPT4gdm9pZCkge1xuICAgIHRoaXMub25WYWxpZGF0b3JDaGFuZ2UgPSBmbjtcbiAgfVxufVxuIl19