UNPKG

ngrx-forms

Version:

Proper integration of forms in Angular 4 applications using ngrx

40 lines 3.33 kB
import { unbox } from 'ngrx-forms'; /** * A validation function that requires the value to be strictly not equal (i.e. `!==`) * to another value. * * The validation error returned by this validation function has the following shape: * ```typescript { notEqualTo: { 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(notEqualTo('John Doe')), }) ``` */ export function notEqualTo(comparand) { return (value) => { value = unbox(value); if (value !== comparand) { return {}; } return { notEqualTo: { comparand, actual: value, }, }; }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90LWVxdWFsLXRvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdmFsaWRhdGlvbi9zcmMvbm90LWVxdWFsLXRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBUyxLQUFLLEVBQW9CLE1BQU0sWUFBWSxDQUFDO0FBYzVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQUksU0FBWTtJQUN4QyxPQUFPLENBQThCLEtBQVMsRUFBb0IsRUFBRTtRQUNsRSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBWSxDQUFDO1FBRWhDLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUN2QixPQUFPLEVBQUUsQ0FBQztTQUNYO1FBRUQsT0FBTztZQUNMLFVBQVUsRUFBRTtnQkFDVixTQUFTO2dCQUNULE1BQU0sRUFBRSxLQUFLO2FBQ2Q7U0FDRixDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJveGVkLCB1bmJveCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ25ncngtZm9ybXMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBOb3RFcXVhbFRvVmFsaWRhdGlvbkVycm9yPFQ+IHtcclxuICBjb21wYXJhbmQ6IFQ7XHJcbiAgYWN0dWFsOiBUO1xyXG59XHJcblxyXG4vLyBAdHMtaWdub3JlXHJcbmRlY2xhcmUgbW9kdWxlICduZ3J4LWZvcm1zJyB7XHJcbiAgZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0aW9uRXJyb3JzIHtcclxuICAgIG5vdEVxdWFsVG8/OiBOb3RFcXVhbFRvVmFsaWRhdGlvbkVycm9yPGFueT47XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogQSB2YWxpZGF0aW9uIGZ1bmN0aW9uIHRoYXQgcmVxdWlyZXMgdGhlIHZhbHVlIHRvIGJlIHN0cmljdGx5IG5vdCBlcXVhbCAoaS5lLiBgIT09YClcclxuICogdG8gYW5vdGhlciB2YWx1ZS5cclxuICpcclxuICogVGhlIHZhbGlkYXRpb24gZXJyb3IgcmV0dXJuZWQgYnkgdGhpcyB2YWxpZGF0aW9uIGZ1bmN0aW9uIGhhcyB0aGUgZm9sbG93aW5nIHNoYXBlOlxyXG4gKlxyXG5gYGB0eXBlc2NyaXB0XHJcbntcclxuICBub3RFcXVhbFRvOiB7XHJcbiAgICBjb21wYXJhbmQ6IFQ7XHJcbiAgICBhY3R1YWw6IFQ7XHJcbiAgfTtcclxufVxyXG5gYGBcclxuICpcclxuICogVXN1YWxseSB5b3Ugd291bGQgdXNlIHRoaXMgdmFsaWRhdGlvbiBmdW5jdGlvbiBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBgdmFsaWRhdGVgXHJcbiAqIHVwZGF0ZSBmdW5jdGlvbiB0byBwZXJmb3JtIHN5bmNocm9ub3VzIHZhbGlkYXRpb24gaW4geW91ciByZWR1Y2VyOlxyXG4gKlxyXG5gYGB0eXBlc2NyaXB0XHJcbnVwZGF0ZUdyb3VwPE15Rm9ybVZhbHVlPih7XHJcbiAgbmFtZTogdmFsaWRhdGUobm90RXF1YWxUbygnSm9obiBEb2UnKSksXHJcbn0pXHJcbmBgYFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIG5vdEVxdWFsVG88VD4oY29tcGFyYW5kOiBUKSB7XHJcbiAgcmV0dXJuIDxUViBleHRlbmRzIFQgfCBCb3hlZDxUPiA9IFQ+KHZhbHVlOiBUVik6IFZhbGlkYXRpb25FcnJvcnMgPT4ge1xyXG4gICAgdmFsdWUgPSB1bmJveCh2YWx1ZSkgYXMgVCBhcyBUVjtcclxuXHJcbiAgICBpZiAodmFsdWUgIT09IGNvbXBhcmFuZCkge1xyXG4gICAgICByZXR1cm4ge307XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbm90RXF1YWxUbzoge1xyXG4gICAgICAgIGNvbXBhcmFuZCxcclxuICAgICAgICBhY3R1YWw6IHZhbHVlLFxyXG4gICAgICB9LFxyXG4gICAgfTtcclxuICB9O1xyXG59XHJcbiJdfQ==