UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

34 lines 4.76 kB
import { Directive, Input } from '@angular/core'; import { NG_VALIDATORS } from '@angular/forms'; import { StrengthValidatorService } from './strength-validator-service'; import * as i0 from "@angular/core"; import * as i1 from "./strength-validator-service"; export class PasswordStrengthValidatorDirective { set passwordStrengthEnforced(value) { this.forced = value; } constructor(passwordService) { this.passwordService = passwordService; } validate(control) { const strengthFulfilled = this.passwordService.isStrong(control.value || ''); const enforcementForcedAndNotFulfilled = this.forced && !strengthFulfilled; return enforcementForcedAndNotFulfilled ? { passwordStrength: true } : null; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PasswordStrengthValidatorDirective, deps: [{ token: i1.StrengthValidatorService }], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: PasswordStrengthValidatorDirective, selector: "[passwordStrengthEnforced]", inputs: { passwordStrengthEnforced: "passwordStrengthEnforced" }, providers: [ { provide: NG_VALIDATORS, useExisting: PasswordStrengthValidatorDirective, multi: true } ], ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PasswordStrengthValidatorDirective, decorators: [{ type: Directive, args: [{ selector: '[passwordStrengthEnforced]', providers: [ { provide: NG_VALIDATORS, useExisting: PasswordStrengthValidatorDirective, multi: true } ] }] }], ctorParameters: () => [{ type: i1.StrengthValidatorService }], propDecorators: { passwordStrengthEnforced: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtc3RyZW5ndGgtdmFsaWRhdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvbG9naW4vcGFzc3dvcmQtc3RyZW5ndGgtdmFsaWRhdG9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQW1CLGFBQWEsRUFBK0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBUXhFLE1BQU0sT0FBTyxrQ0FBa0M7SUFHN0MsSUFBYSx3QkFBd0IsQ0FBQyxLQUFLO1FBQ3pDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxZQUFtQixlQUF5QztRQUF6QyxvQkFBZSxHQUFmLGVBQWUsQ0FBMEI7SUFBRyxDQUFDO0lBRWhFLFFBQVEsQ0FBQyxPQUF3QjtRQUMvQixNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7UUFDN0UsTUFBTSxnQ0FBZ0MsR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFDM0UsT0FBTyxnQ0FBZ0MsQ0FBQyxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzlFLENBQUM7K0dBYlUsa0NBQWtDO21HQUFsQyxrQ0FBa0MsdUhBSmxDO1lBQ1QsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxrQ0FBa0MsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO1NBQ3pGOzs0RkFFVSxrQ0FBa0M7a0JBTjlDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDRCQUE0QjtvQkFDdEMsU0FBUyxFQUFFO3dCQUNULEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLG9DQUFvQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7cUJBQ3pGO2lCQUNGOzZGQUljLHdCQUF3QjtzQkFBcEMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgTkdfVkFMSURBVE9SUywgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3RyZW5ndGhWYWxpZGF0b3JTZXJ2aWNlIH0gZnJvbSAnLi9zdHJlbmd0aC12YWxpZGF0b3Itc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1twYXNzd29yZFN0cmVuZ3RoRW5mb3JjZWRdJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBOR19WQUxJREFUT1JTLCB1c2VFeGlzdGluZzogUGFzc3dvcmRTdHJlbmd0aFZhbGlkYXRvckRpcmVjdGl2ZSwgbXVsdGk6IHRydWUgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFBhc3N3b3JkU3RyZW5ndGhWYWxpZGF0b3JEaXJlY3RpdmUgaW1wbGVtZW50cyBWYWxpZGF0b3Ige1xuICBwcml2YXRlIGZvcmNlZDogYm9vbGVhbjtcblxuICBASW5wdXQoKSBzZXQgcGFzc3dvcmRTdHJlbmd0aEVuZm9yY2VkKHZhbHVlKSB7XG4gICAgdGhpcy5mb3JjZWQgPSB2YWx1ZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXNzd29yZFNlcnZpY2U6IFN0cmVuZ3RoVmFsaWRhdG9yU2VydmljZSkge31cblxuICB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgY29uc3Qgc3RyZW5ndGhGdWxmaWxsZWQgPSB0aGlzLnBhc3N3b3JkU2VydmljZS5pc1N0cm9uZyhjb250cm9sLnZhbHVlIHx8ICcnKTtcbiAgICBjb25zdCBlbmZvcmNlbWVudEZvcmNlZEFuZE5vdEZ1bGZpbGxlZCA9IHRoaXMuZm9yY2VkICYmICFzdHJlbmd0aEZ1bGZpbGxlZDtcbiAgICByZXR1cm4gZW5mb3JjZW1lbnRGb3JjZWRBbmROb3RGdWxmaWxsZWQgPyB7IHBhc3N3b3JkU3RyZW5ndGg6IHRydWUgfSA6IG51bGw7XG4gIH1cbn1cbiJdfQ==