UNPKG

1.3 kBJavaScriptView Raw
1"use strict";var n=require("lodash/fp"),e=/^\{(?:\$(\d+?))?(?:#(.+?))?\}$/,t=function(t){return n.isPlainObject(t)?function(t){return Object.entries(t).map((function(t){var i=t[0],r=t[1],u=e.exec(r)||[],c={when:i,ref:u[1],use:u[2],then:r};return n.pickBy(n.negate(n.isUndefined),c)}),[])}(t):t},i=function(e){var i=e.input,r=e.choices,u=e.equalityFn;return n.flow((function(e){return n.set("choices",function(e){return n.isFunction(e)?e():e}(e.choices),e)}),(function(e){return n.set("input",function(e,t,i){return n.isPlainObject(e)&&n.isUndefined(i)?n.toString(t):t}(e.choices,e.input,u),e)}),(function(e){return n.set("choices",t(e.choices),e)}),(function(e){return n.set("equalityFn",function(e){return e&&n.curryN(2,e)}(u),e)}),n.values)({input:i,choices:r,equalityFn:u})},r=function(e,t,i,u){return void 0===i&&(i=n.eq),n.flow(n.isUndefined(u)?n.find((function(t){var r=t.when;return n.isArray(r)?r.some(i(e)):i(e)(r)})):n.constant(t[u]),n.defaultTo({}),(function(u){return n.isUndefined(u.ref)?n.isUndefined(u.use)?u:r(u.use,t,i):r(e,t,i,u.ref)}))(t)};module.exports=function(e,t,u){return function(c,o){return n.flow(n.spread(r),(function(e){return n.isUndefined(e.eager)?n.result("then",e):e.eager}),n.defaultTo(t))(i({input:c,choices:e,equalityFn:o||u}))}};
2//# sourceMappingURL=index.js.map