UNPKG

ngrx-forms

Version:

Proper integration of forms in Angular 4 applications using ngrx

40 lines 3.27 kB
import { unbox } from 'ngrx-forms'; /** * A validation function that requires the value to be strictly equal (i.e. `===`) * to another value. * * The validation error returned by this validation function has the following shape: * ```typescript { equalTo: { comparand: T; actual: T; }; } ``` * * Usually you would use this validation function in conjunction with the `validate` * update function to perform synchronous validation in your reducer: * ```typescript updateGroup<MyFormValue>({ name: validate(equalTo('John Doe')), }) ``` */ export function equalTo(comparand) { return (value) => { value = unbox(value); if (value === comparand) { return {}; } return { equalTo: { comparand, actual: value, }, }; }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXF1YWwtdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi92YWxpZGF0aW9uL3NyYy9lcXVhbC10by50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVMsS0FBSyxFQUFvQixNQUFNLFlBQVksQ0FBQztBQWM1RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Qkc7QUFDSCxNQUFNLFVBQVUsT0FBTyxDQUFJLFNBQVk7SUFDckMsT0FBTyxDQUE4QixLQUFTLEVBQW9CLEVBQUU7UUFDbEUsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQVksQ0FBQztRQUVoQyxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUU7WUFDdkIsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUVELE9BQU87WUFDTCxPQUFPLEVBQUU7Z0JBQ1AsU0FBUztnQkFDVCxNQUFNLEVBQUUsS0FBSzthQUNkO1NBQ0YsQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb3hlZCwgdW5ib3gsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICduZ3J4LWZvcm1zJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXF1YWxUb1ZhbGlkYXRpb25FcnJvcjxUPiB7XHJcbiAgY29tcGFyYW5kOiBUO1xyXG4gIGFjdHVhbDogVDtcclxufVxyXG5cclxuLy8gQHRzLWlnbm9yZVxyXG5kZWNsYXJlIG1vZHVsZSAnbmdyeC1mb3Jtcycge1xyXG4gIGV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdGlvbkVycm9ycyB7XHJcbiAgICBlcXVhbFRvPzogRXF1YWxUb1ZhbGlkYXRpb25FcnJvcjxhbnk+O1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEEgdmFsaWRhdGlvbiBmdW5jdGlvbiB0aGF0IHJlcXVpcmVzIHRoZSB2YWx1ZSB0byBiZSBzdHJpY3RseSBlcXVhbCAoaS5lLiBgPT09YClcclxuICogdG8gYW5vdGhlciB2YWx1ZS5cclxuICpcclxuICogVGhlIHZhbGlkYXRpb24gZXJyb3IgcmV0dXJuZWQgYnkgdGhpcyB2YWxpZGF0aW9uIGZ1bmN0aW9uIGhhcyB0aGUgZm9sbG93aW5nIHNoYXBlOlxyXG4gKlxyXG5gYGB0eXBlc2NyaXB0XHJcbntcclxuICBlcXVhbFRvOiB7XHJcbiAgICBjb21wYXJhbmQ6IFQ7XHJcbiAgICBhY3R1YWw6IFQ7XHJcbiAgfTtcclxufVxyXG5gYGBcclxuICpcclxuICogVXN1YWxseSB5b3Ugd291bGQgdXNlIHRoaXMgdmFsaWRhdGlvbiBmdW5jdGlvbiBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBgdmFsaWRhdGVgXHJcbiAqIHVwZGF0ZSBmdW5jdGlvbiB0byBwZXJmb3JtIHN5bmNocm9ub3VzIHZhbGlkYXRpb24gaW4geW91ciByZWR1Y2VyOlxyXG4gKlxyXG5gYGB0eXBlc2NyaXB0XHJcbnVwZGF0ZUdyb3VwPE15Rm9ybVZhbHVlPih7XHJcbiAgbmFtZTogdmFsaWRhdGUoZXF1YWxUbygnSm9obiBEb2UnKSksXHJcbn0pXHJcbmBgYFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGVxdWFsVG88VD4oY29tcGFyYW5kOiBUKSB7XHJcbiAgcmV0dXJuIDxUViBleHRlbmRzIFQgfCBCb3hlZDxUPiA9IFQ+KHZhbHVlOiBUVik6IFZhbGlkYXRpb25FcnJvcnMgPT4ge1xyXG4gICAgdmFsdWUgPSB1bmJveCh2YWx1ZSkgYXMgVCBhcyBUVjtcclxuXHJcbiAgICBpZiAodmFsdWUgPT09IGNvbXBhcmFuZCkge1xyXG4gICAgICByZXR1cm4ge307XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZXF1YWxUbzoge1xyXG4gICAgICAgIGNvbXBhcmFuZCxcclxuICAgICAgICBhY3R1YWw6IHZhbHVlLFxyXG4gICAgICB9LFxyXG4gICAgfTtcclxuICB9O1xyXG59XHJcbiJdfQ==