UNPKG

ngx-forms-builder

Version:

A small library that adds validation with decorators and build angular forms.

62 lines 5.18 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Validations } from './validations.enum'; /** @type {?} */ export const createValidationDecorator = (/** * @param {?} validation * @return {?} */ (validation) => { return (/** * @return {?} */ () => { return (/** * @param {?} target * @param {?} propertyKey * @return {?} */ (target, propertyKey) => { Reflect.defineMetadata(String(validation), true, target, propertyKey); }); }); }); /** @type {?} */ export const createValidationDecoratorWithValue = (/** * @template T * @param {?} validation * @return {?} */ (validation) => { return (/** * @param {?=} value * @return {?} */ (value) => { return (/** * @param {?} target * @param {?} propertyKey * @return {?} */ (target, propertyKey) => { Reflect.defineMetadata(String(validation), value, target, propertyKey); }); }); }); /** @type {?} */ export const Required = createValidationDecorator(Validations.REQUIRED); /** @type {?} */ export const Email = createValidationDecorator(Validations.EMAIL); /** @type {?} */ export const Exclude = createValidationDecorator(Validations.EXCLUDE); /** @type {?} */ export const Min = createValidationDecoratorWithValue(Validations.MIN); /** @type {?} */ export const Max = createValidationDecoratorWithValue(Validations.MAX); /** @type {?} */ export const Pattern = createValidationDecoratorWithValue(Validations.PATTERN); /** @type {?} */ export const CustomValidator = createValidationDecoratorWithValue(Validations.CUSTOMVALIDATOR); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtZm9ybXMtYnVpbGRlci8iLCJzb3VyY2VzIjpbImxpYi92YWxpZGF0aW9ucy92YWxpZGF0aW9uLmRlY29yYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUtqRCxNQUFNLE9BQU8seUJBQXlCOzs7O0FBQUcsQ0FBQyxVQUF1QixFQUFFLEVBQUU7SUFDbkU7OztJQUFPLEdBQXNCLEVBQUU7UUFDN0I7Ozs7O1FBQU8sQ0FBQyxNQUFjLEVBQUUsV0FBbUIsRUFBRSxFQUFFO1lBQzdDLE9BQU8sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDeEUsQ0FBQyxFQUFDO0lBQ0osQ0FBQyxFQUFDO0FBQ0osQ0FBQyxDQUFBOztBQUVELE1BQU0sT0FBTyxrQ0FBa0M7Ozs7O0FBQUcsQ0FBSSxVQUF1QixFQUFFLEVBQUU7SUFDL0U7Ozs7SUFBTyxDQUFDLEtBQVMsRUFBcUIsRUFBRTtRQUN0Qzs7Ozs7UUFBTyxDQUFDLE1BQWMsRUFBRSxXQUFtQixFQUFFLEVBQUU7WUFDN0MsT0FBTyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztRQUN6RSxDQUFDLEVBQUM7SUFDSixDQUFDLEVBQUM7QUFDSixDQUFDLENBQUE7O0FBRUQsTUFBTSxPQUFPLFFBQVEsR0FBRyx5QkFBeUIsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDOztBQUN2RSxNQUFNLE9BQU8sS0FBSyxHQUFHLHlCQUF5QixDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7O0FBQ2pFLE1BQU0sT0FBTyxPQUFPLEdBQUcseUJBQXlCLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQzs7QUFDckUsTUFBTSxPQUFPLEdBQUcsR0FBRyxrQ0FBa0MsQ0FBUyxXQUFXLENBQUMsR0FBRyxDQUFDOztBQUM5RSxNQUFNLE9BQU8sR0FBRyxHQUFHLGtDQUFrQyxDQUFTLFdBQVcsQ0FBQyxHQUFHLENBQUM7O0FBQzlFLE1BQU0sT0FBTyxPQUFPLEdBQUcsa0NBQWtDLENBQWtCLFdBQVcsQ0FBQyxPQUFPLENBQUM7O0FBQy9GLE1BQU0sT0FBTyxlQUFlLEdBQUcsa0NBQWtDLENBQWMsV0FBVyxDQUFDLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkYXRpb25zIH0gZnJvbSAnLi92YWxpZGF0aW9ucy5lbnVtJztcbmltcG9ydCB7IFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5kZWNsYXJlIHR5cGUgUHJvcGVydHlEZWNvcmF0b3IgPSAodGFyZ2V0OiBvYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcgfCBzeW1ib2wpID0+IHZvaWQ7XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVWYWxpZGF0aW9uRGVjb3JhdG9yID0gKHZhbGlkYXRpb246IFZhbGlkYXRpb25zKSA9PiB7XG4gIHJldHVybiAoKTogUHJvcGVydHlEZWNvcmF0b3IgPT4ge1xuICAgIHJldHVybiAodGFyZ2V0OiBvYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcpID0+IHtcbiAgICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoU3RyaW5nKHZhbGlkYXRpb24pLCB0cnVlLCB0YXJnZXQsIHByb3BlcnR5S2V5KTtcbiAgICB9O1xuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVZhbGlkYXRpb25EZWNvcmF0b3JXaXRoVmFsdWUgPSA8VD4odmFsaWRhdGlvbjogVmFsaWRhdGlvbnMpID0+IHtcbiAgcmV0dXJuICh2YWx1ZT86IFQpOiBQcm9wZXJ0eURlY29yYXRvciA9PiB7XG4gICAgcmV0dXJuICh0YXJnZXQ6IG9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZykgPT4ge1xuICAgICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShTdHJpbmcodmFsaWRhdGlvbiksIHZhbHVlLCB0YXJnZXQsIHByb3BlcnR5S2V5KTtcbiAgICB9O1xuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFJlcXVpcmVkID0gY3JlYXRlVmFsaWRhdGlvbkRlY29yYXRvcihWYWxpZGF0aW9ucy5SRVFVSVJFRCk7XG5leHBvcnQgY29uc3QgRW1haWwgPSBjcmVhdGVWYWxpZGF0aW9uRGVjb3JhdG9yKFZhbGlkYXRpb25zLkVNQUlMKTtcbmV4cG9ydCBjb25zdCBFeGNsdWRlID0gY3JlYXRlVmFsaWRhdGlvbkRlY29yYXRvcihWYWxpZGF0aW9ucy5FWENMVURFKTtcbmV4cG9ydCBjb25zdCBNaW4gPSBjcmVhdGVWYWxpZGF0aW9uRGVjb3JhdG9yV2l0aFZhbHVlPG51bWJlcj4oVmFsaWRhdGlvbnMuTUlOKTtcbmV4cG9ydCBjb25zdCBNYXggPSBjcmVhdGVWYWxpZGF0aW9uRGVjb3JhdG9yV2l0aFZhbHVlPG51bWJlcj4oVmFsaWRhdGlvbnMuTUFYKTtcbmV4cG9ydCBjb25zdCBQYXR0ZXJuID0gY3JlYXRlVmFsaWRhdGlvbkRlY29yYXRvcldpdGhWYWx1ZTxSZWdFeHAgfCBzdHJpbmc+KFZhbGlkYXRpb25zLlBBVFRFUk4pO1xuZXhwb3J0IGNvbnN0IEN1c3RvbVZhbGlkYXRvciA9IGNyZWF0ZVZhbGlkYXRpb25EZWNvcmF0b3JXaXRoVmFsdWU8VmFsaWRhdG9yRm4+KFZhbGlkYXRpb25zLkNVU1RPTVZBTElEQVRPUik7XG4iXX0=