UNPKG

simple-object-translation

Version:

Generate (to and from) translator functions from an object map of string paths

2 lines (1 loc) 1.01 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self)["object-translation"]={})}(this,function(e){"use strict";const t=(e,t)=>(n,r)=>((e,t,n)=>{const r=e.slice(0,-1),o=e[e.length-1],s={...n};let i=s;for(;r.length;){const e=r.shift(),t=i[e],n=Array.isArray(t)?[...t]:{...t};i[e]=n,i=n}return i[o]=t,s})(t,((e,t)=>{const n=e.slice();let r=t[n.shift()];for(;n.length;)if(void 0===(r=r[n.shift()]))return;return r})(e,n),r),n=e=>(t,n)=>e.reduce((e,n)=>n(t,e),{...n});e.buildArrow=t,e.bundleArrows=n,e.parseTranslationMap=(e=>{const[r,o]=((e,t,n)=>{let r=Array.isArray(n)?[...n]:{...n};const o=(t,n=[])=>{if((e=>"object"!=typeof e||null===e)(t))r=e(r,n,t);else for(const e in t)o(t[e],n.concat(e))};return o(t),r})(([e,n],r,o)=>{if((e=>"string"==typeof e)(o)){const s=(e=>e.split("."))(o),i=r;e.push(t(s,i)),n.push(t(i,s))}return[e,n]},e,[[],[]]);return[n(r),n(o)]}),Object.defineProperty(e,"__esModule",{value:!0})});