UNPKG

final-form-calculate

Version:

Decorator for calculating field values based on other field values in 🏁 Final Form

3 lines (2 loc) 1.64 kB
!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((n=n||self)["final-form-calculate"]={})}(this,function(n){"use strict";var s=function(n,e){for(var t=function(n){if(null==n||!n.length)return[];if("string"!=typeof n)throw new Error("toPath() expects a string");return n.split(/[.[\]]+/).filter(Boolean)}(e),r=n,f=0;f<t.length;f++){var o=t[f];if(null==r||"object"!=typeof r||Array.isArray(r)&&isNaN(o))return;r=r[o]}return r},l=function(n){return!!n&&("object"==typeof n||"function"==typeof n)&&"function"==typeof n.then},h=function(n,e){return n===e};n.default=function(){for(var n=arguments.length,e=new Array(n),t=0;t<n;t++)e[t]=arguments[t];return function(c){var a={};return c.subscribe(function(n){var u=n.values;c.batch(function(){var o=function(n,e,t){var r=u&&s(u,n),f=a&&s(a,n);if(!e(r,f))if("function"==typeof t){var o=t(r,n,u,a);l(o)?o.then(function(e){Object.keys(e).forEach(function(n){c.change(n,e[n])})}):Object.keys(o).forEach(function(n){c.change(n,o[n])})}else Object.keys(t).forEach(function(e){var n=(0,t[e])(r,u,a);l(n)?n.then(function(n){c.change(e,n)}):c.change(e,n)})},i=c.getRegisteredFields();e.forEach(function(n){var t=n.field,e=n.isEqual,r=n.updates;if("string"==typeof t)o(t,e||h,r);else{var f=Array.isArray(t)?function(e){return~t.indexOf(e)||-1!==t.findIndex(function(n){return n instanceof RegExp&&n.test(e)})}:function(n){return t.test(n)};i.forEach(function(n){f(n)&&o(n,e||h,r)})}}),a=u})},{values:!0})}},Object.defineProperty(n,"__esModule",{value:!0})}); //# sourceMappingURL=final-form-calculate.umd.min.js.map