ngx-forms-builder
Version:
A small library that adds validation with decorators and build angular forms.
62 lines • 5.12 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Validations } from './validations.enum';
/** @type {?} */
export var createValidationDecorator = (/**
* @param {?} validation
* @return {?}
*/
function (validation) {
return (/**
* @return {?}
*/
function () {
return (/**
* @param {?} target
* @param {?} propertyKey
* @return {?}
*/
function (target, propertyKey) {
Reflect.defineMetadata(String(validation), true, target, propertyKey);
});
});
});
/** @type {?} */
export var createValidationDecoratorWithValue = (/**
* @template T
* @param {?} validation
* @return {?}
*/
function (validation) {
return (/**
* @param {?=} value
* @return {?}
*/
function (value) {
return (/**
* @param {?} target
* @param {?} propertyKey
* @return {?}
*/
function (target, propertyKey) {
Reflect.defineMetadata(String(validation), value, target, propertyKey);
});
});
});
/** @type {?} */
export var Required = createValidationDecorator(Validations.REQUIRED);
/** @type {?} */
export var Email = createValidationDecorator(Validations.EMAIL);
/** @type {?} */
export var Exclude = createValidationDecorator(Validations.EXCLUDE);
/** @type {?} */
export var Min = createValidationDecoratorWithValue(Validations.MIN);
/** @type {?} */
export var Max = createValidationDecoratorWithValue(Validations.MAX);
/** @type {?} */
export var Pattern = createValidationDecoratorWithValue(Validations.PATTERN);
/** @type {?} */
export var CustomValidator = createValidationDecoratorWithValue(Validations.CUSTOMVALIDATOR);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtZm9ybXMtYnVpbGRlci8iLCJzb3VyY2VzIjpbImxpYi92YWxpZGF0aW9ucy92YWxpZGF0aW9uLmRlY29yYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUtqRCxNQUFNLEtBQU8seUJBQXlCOzs7O0FBQUcsVUFBQyxVQUF1QjtJQUMvRDs7O0lBQU87UUFDTDs7Ozs7UUFBTyxVQUFDLE1BQWMsRUFBRSxXQUFtQjtZQUN6QyxPQUFPLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3hFLENBQUMsRUFBQztJQUNKLENBQUMsRUFBQztBQUNKLENBQUMsQ0FBQTs7QUFFRCxNQUFNLEtBQU8sa0NBQWtDOzs7OztBQUFHLFVBQUksVUFBdUI7SUFDM0U7Ozs7SUFBTyxVQUFDLEtBQVM7UUFDZjs7Ozs7UUFBTyxVQUFDLE1BQWMsRUFBRSxXQUFtQjtZQUN6QyxPQUFPLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3pFLENBQUMsRUFBQztJQUNKLENBQUMsRUFBQztBQUNKLENBQUMsQ0FBQTs7QUFFRCxNQUFNLEtBQU8sUUFBUSxHQUFHLHlCQUF5QixDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUM7O0FBQ3ZFLE1BQU0sS0FBTyxLQUFLLEdBQUcseUJBQXlCLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQzs7QUFDakUsTUFBTSxLQUFPLE9BQU8sR0FBRyx5QkFBeUIsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDOztBQUNyRSxNQUFNLEtBQU8sR0FBRyxHQUFHLGtDQUFrQyxDQUFTLFdBQVcsQ0FBQyxHQUFHLENBQUM7O0FBQzlFLE1BQU0sS0FBTyxHQUFHLEdBQUcsa0NBQWtDLENBQVMsV0FBVyxDQUFDLEdBQUcsQ0FBQzs7QUFDOUUsTUFBTSxLQUFPLE9BQU8sR0FBRyxrQ0FBa0MsQ0FBa0IsV0FBVyxDQUFDLE9BQU8sQ0FBQzs7QUFDL0YsTUFBTSxLQUFPLGVBQWUsR0FBRyxrQ0FBa0MsQ0FBYyxXQUFXLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdGlvbnMgfSBmcm9tICcuL3ZhbGlkYXRpb25zLmVudW0nO1xuaW1wb3J0IHsgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmRlY2xhcmUgdHlwZSBQcm9wZXJ0eURlY29yYXRvciA9ICh0YXJnZXQ6IG9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZyB8IHN5bWJvbCkgPT4gdm9pZDtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVZhbGlkYXRpb25EZWNvcmF0b3IgPSAodmFsaWRhdGlvbjogVmFsaWRhdGlvbnMpID0+IHtcbiAgcmV0dXJuICgpOiBQcm9wZXJ0eURlY29yYXRvciA9PiB7XG4gICAgcmV0dXJuICh0YXJnZXQ6IG9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZykgPT4ge1xuICAgICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShTdHJpbmcodmFsaWRhdGlvbiksIHRydWUsIHRhcmdldCwgcHJvcGVydHlLZXkpO1xuICAgIH07XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlVmFsaWRhdGlvbkRlY29yYXRvcldpdGhWYWx1ZSA9IDxUPih2YWxpZGF0aW9uOiBWYWxpZGF0aW9ucykgPT4ge1xuICByZXR1cm4gKHZhbHVlPzogVCk6IFByb3BlcnR5RGVjb3JhdG9yID0+IHtcbiAgICByZXR1cm4gKHRhcmdldDogb2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nKSA9PiB7XG4gICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKFN0cmluZyh2YWxpZGF0aW9uKSwgdmFsdWUsIHRhcmdldCwgcHJvcGVydHlLZXkpO1xuICAgIH07XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgUmVxdWlyZWQgPSBjcmVhdGVWYWxpZGF0aW9uRGVjb3JhdG9yKFZhbGlkYXRpb25zLlJFUVVJUkVEKTtcbmV4cG9ydCBjb25zdCBFbWFpbCA9IGNyZWF0ZVZhbGlkYXRpb25EZWNvcmF0b3IoVmFsaWRhdGlvbnMuRU1BSUwpO1xuZXhwb3J0IGNvbnN0IEV4Y2x1ZGUgPSBjcmVhdGVWYWxpZGF0aW9uRGVjb3JhdG9yKFZhbGlkYXRpb25zLkVYQ0xVREUpO1xuZXhwb3J0IGNvbnN0IE1pbiA9IGNyZWF0ZVZhbGlkYXRpb25EZWNvcmF0b3JXaXRoVmFsdWU8bnVtYmVyPihWYWxpZGF0aW9ucy5NSU4pO1xuZXhwb3J0IGNvbnN0IE1heCA9IGNyZWF0ZVZhbGlkYXRpb25EZWNvcmF0b3JXaXRoVmFsdWU8bnVtYmVyPihWYWxpZGF0aW9ucy5NQVgpO1xuZXhwb3J0IGNvbnN0IFBhdHRlcm4gPSBjcmVhdGVWYWxpZGF0aW9uRGVjb3JhdG9yV2l0aFZhbHVlPFJlZ0V4cCB8IHN0cmluZz4oVmFsaWRhdGlvbnMuUEFUVEVSTik7XG5leHBvcnQgY29uc3QgQ3VzdG9tVmFsaWRhdG9yID0gY3JlYXRlVmFsaWRhdGlvbkRlY29yYXRvcldpdGhWYWx1ZTxWYWxpZGF0b3JGbj4oVmFsaWRhdGlvbnMuQ1VTVE9NVkFMSURBVE9SKTtcbiJdfQ==