{"version":3,"file":"ngxtension-if-validator.mjs","sources":["../../../../libs/ngxtension/if-validator/src/if-validator.ts","../../../../libs/ngxtension/if-validator/src/ngxtension-if-validator.ts"],"sourcesContent":["import {\n\tAbstractControl,\n\tFormControl,\n\tValidators,\n\ttype AsyncValidatorFn,\n\ttype ValidatorFn,\n} from '@angular/forms';\nimport { of } from 'rxjs';\n\n/**\n * Simple Validation with If condition\n */\nexport function ifValidator(\n\tcondition: (control: FormControl) => boolean,\n\tvalidatorFn: ValidatorFn | ValidatorFn[],\n): ValidatorFn {\n\treturn (control: AbstractControl) => {\n\t\tif (!condition(<FormControl>control)) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (!Array.isArray(validatorFn)) {\n\t\t\treturn validatorFn(control);\n\t\t}\n\n\t\tif (validatorFn.length === 0) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (validatorFn.length === 1) {\n\t\t\treturn validatorFn[0](control);\n\t\t}\n\n\t\tconst composed = Validators.compose(validatorFn);\n\t\treturn composed ? composed(control) : null;\n\t};\n}\n\n/**\n * With Async Validation\n */\nexport function ifAsyncValidator(\n\tcondition: (control: FormControl) => boolean,\n\tvalidatorFn: AsyncValidatorFn,\n): AsyncValidatorFn {\n\treturn (control: AbstractControl) => {\n\t\tif (!condition(<FormControl>control)) {\n\t\t\treturn of(null);\n\t\t}\n\n\t\treturn validatorFn(control);\n\t};\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AASA;;AAEG;AACa,SAAA,WAAW,CAC1B,SAA4C,EAC5C,WAAwC,EAAA;IAExC,OAAO,CAAC,OAAwB,KAAI;AACnC,QAAA,IAAI,CAAC,SAAS,CAAc,OAAO,CAAC,EAAE;AACrC,YAAA,OAAO,IAAI,CAAC;SACZ;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;AAChC,YAAA,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;SAC5B;AAED,QAAA,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;AAC7B,YAAA,OAAO,IAAI,CAAC;SACZ;AAED,QAAA,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;AAC7B,YAAA,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;SAC/B;QAED,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AACjD,QAAA,OAAO,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;AAC5C,KAAC,CAAC;AACH,CAAC;AAED;;AAEG;AACa,SAAA,gBAAgB,CAC/B,SAA4C,EAC5C,WAA6B,EAAA;IAE7B,OAAO,CAAC,OAAwB,KAAI;AACnC,QAAA,IAAI,CAAC,SAAS,CAAc,OAAO,CAAC,EAAE;AACrC,YAAA,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;SAChB;AAED,QAAA,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;AAC7B,KAAC,CAAC;AACH;;ACpDA;;AAEG;;;;"}