dt-toolbox 4.0.7 → 4.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/Changelog.md CHANGED
@@ -2,6 +2,16 @@
2
2
 
3
3
 
4
4
 
5
+ ### 4.0.9 ( 2022-11-14)
6
+ - [x] Fix: Corner case with structure building;
7
+
8
+
9
+ ### 4.0.8 (2022-11-13)
10
+ - [x] Upgrade to version v.3.0.0 of '@peter.naydenov/walk';
11
+ - [ ] Bug: Corner case with structure building;
12
+
13
+
14
+
5
15
  ### 4.0.7 (2022-03-03)
6
16
  - [x] Library '@peter.naydenov/walk' was included as a dependency;
7
17
  - [x] Cleaning: Method 'help.generateObject' was removed. Not in use anymore;
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2022 Peter Naydenov
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -1 +1 @@
1
- var dtbox;(()=>{var e={60:e=>{function t(e){return e instanceof Array?"array":"object"==typeof e?"object":"simple"}function*r(e,t,r,l,n){yield s(t,e,r,l,n)}function s(e,s,l,n,o){let c,[u,i]=n;c=i?i(e,o):e,null!=c&&("simple"!=t(c)?Object.keys(c).forEach((e=>{const i=t(c[e]);if("simple"===i){if(!u)return void(s[e]=c[e]);let t=u(c[e],e,`${o}/${e}`);if(null==t)return;s[e]=t}"object"===i&&(s[e]={},l.push(r(s[e],c[e],l,n,`${o}/${e}`))),"array"===i&&(s[e]=[],l.push(r(s[e],c[e],l,n,`${o}/${e}`)))})):"array"==t(s)?s.push(c):s[c]=c)}e.exports=function(e,r){let l,n=t(e),o=[],c="root",u=function(e){let t=null,r=null;return"function"==typeof e?t=e:e instanceof Array&&(t=e[0],r=e[1]),[t,r]}(r);switch(n){case"array":l=[],s(e,l,o,u,c);break;case"object":l={},s(e,l,o,u,c);break;case"simple":return e}for(const e of o)e.next();return l}},702:e=>{e.exports=function(e,t){let r={};return Object.keys(e).forEach((s=>{t.hasOwnProperty(s)&&e[s]===t[s]||(r[s]=t[s])})),r}},86:e=>{e.exports=function(e,t){let r={};return Object.keys(t).forEach((s=>{e.hasOwnProperty(s)||(r[s]=t[s])})),r}},216:e=>{e.exports=function(e,t){let r={};return Object.keys(e).forEach((s=>{t.hasOwnProperty(s)&&e[s]===t[s]&&(r[s]=e[s])})),r}},218:(e,t,r)=>{const s=r(216),l=r(702),n=r(337),o=r(86),c=r(814);e.exports={identical:s,change:l,same:n,different:o,missing:c}},814:e=>{e.exports=function(e,t){let r={};return Object.keys(e).forEach((s=>{t.hasOwnProperty(s)||(r[s]=e[s])})),r}},337:e=>{e.exports=function(e,t){let r={};return Object.keys(e).forEach((e=>{t.hasOwnProperty(e)&&(r[e]=t[e])})),r}},270:e=>{"use strict";e.exports={toFlat:function(e,t){if(0===Object.keys(t).length)return[[["object",0]],{}];let{help:r}=e,s=[],l={},n=Object.keys(t).map((e=>e.split("/"))).sort(((e,t)=>t.length-e.length)),o={},c=[],u=[];return n.forEach((e=>{e.forEach(((t,r)=>{let s=e.slice(0,r).join("/");s&&(o[s]||(o[s]=new Set,c.push(s)),o[s].add(t))}))})),c.forEach(((e,t)=>{let l=!1;if(s[t]||(s[t]=["object",t]),u[t]&&(e=u[t]),l=Array.from(o[e]),"root"===e){const e=r.hasNumbers(l)?"array":"object";s[t][0]=e}l.forEach((l=>{let n=o[`${e}/${l}`];if(!n)return;let c=Array.from(n),i=r.hasNumbers(c)?"array":"object",a=s.length;u[a]=`${e}/${l}`,s.push([i,a]),s[t].push([a,l])}))})),n.forEach((e=>{let r=e.pop(),s=e.join("/"),n=null,o="";n=u.indexOf(s),n<0&&(n=c.indexOf(s)),o=`root/${n}/${r}`,l[o]=t[`${s}/${r}`]})),[s,l]},toType:function(e,t){let[r,s]=t,l=Object.keys(s),n={},o={};return r.forEach((e=>{let[t,s,...l]=e;l.forEach((e=>{let[t,l]=e,n=l,c=s;for(let e=s;e>=0;e--){let[t,s,...l]=r[e];l.forEach((e=>{let[t,r]=e;t===c&&(n=`${r}/${n}`,c=s)}))}o[t]=n}))})),l.forEach((e=>{let t=e.split("/"),r=t[1],l=o[r];"0"==r?t=t.filter(((e,t)=>1!=t)):t[1]=l,n[t.join("/")]=s[e]})),n}}},890:(e,t,r)=>{"use strict";const s=r(270),l=r(500),n=r(184),o=e=>(t,r)=>{let o,c,u,{help:i}=t,a=[];switch(e){case"std":case"standard":return l.toFlat(t,r);case"tuple":case"tuples":r=i.tuplesToBradcrumbs(t,r);case"breadcrumb":case"breadcrumbs":return o=Object.keys(r),a=o.map((e=>r[e])),c=i.sanitizeFlatKeys(o),u=i.zipObject(c,a),s.toFlat(t,u);case"file":case"files":return o=r.map((e=>{let t=e.split("/");return a.push(t.pop()),t.join("/")})),c=i.sanitizeFlatKeys(o),u=i.zipObject(c,a),s.toFlat(t,u);case"midFlat":return n.toFlat(t,r)}return[["object",0],{}]};e.exports={from:function(e){return{toFlat:o(e)}},to:function(e,t,r){const{help:o}=t;switch(e){case"std":case"standard":return l.toType(t,r);case"midFlat":return n.toType(t,r);case"tuple":case"tuples":let e=s.toType(t,r);return o.reduceTuples(t,e);case"breadcrumb":case"breadcrumbs":return s.toType(t,r)}}}},184:e=>{"use strict";e.exports={toFlat:function(e,t){if(0===Object.keys(t).length)return[[["object",0]],{}];let r=[],s={},{help:l}=e,n=Object.keys(t).map((e=>e.trim().replace(/\/$/,"").split("/"))).sort(((e,t)=>t.length-e.length)),o={},c=["root"],u=[];return n.forEach((e=>{e.forEach(((t,r)=>{let s=e.slice(0,r).join("/");s&&(o[s]||(o[s]=new Set,c.push(s)),o[s].add(t))}))})),Array.from(c.reduce(((e,t)=>{let r;e.add(t);const s=o[t];return null==s||(r=Array.from(s),r.forEach((r=>e.add(`${t}/${r}`)))),e}),new Set)).sort().forEach(((e,t)=>{let s;if(r[t]||(r[t]=["object",t],u[t]=e),u[t]&&(e=u[t]),null==e)return;const n=o[e];if(!n)return;let c=Array.from(n);l.hasNumbers(c)&&(r[t][0]="array"),n.forEach((t=>{s=r.length,u[s]=`${e}/${t}`,r.push(["object",s])}))})),u.forEach(((e,n)=>{let o,c,i=Object.keys(t[e]).map((e=>e.trim().replace(/\/$/,""))),a=l.hasNumbers(i),p=e.split("/");o=p.pop(),c=p.join("/");let d=u.indexOf(c);d>=0&&r[d].push([n,o]),a&&(r[n][0]="array"),u[n]=e;for(let r in t[e]){let l=t[e][r];if("_fake$$$"===l)return;s[`root/${n}/${r}`]=l}})),[r,s]},toType:function(e,t){let r,[s,l]=t,n={root:{}},o={0:"root"};s.forEach(((e,t)=>{r=null!=o[t]?o[t]:"root",e.forEach(((e,t)=>{if(t<2)return;let[s,l]=e,c=`${r}/${l}`;n[c]={},o[s]=c}))}));let c=Object.keys(l),u=new Set;for(let e of c){let[,t,r]=e.split("/"),s=o[t];u.add(t),n[s][r]=l[e]}return s.forEach((e=>{let[t,r,...s]=e,l=o[r],c=!u.has(r.toString()),i=!(s.length>0);"array"===t&&c&&i&&(n[l][-1]="_fake$$$")})),n}}},500:e=>{"use strict";e.exports={toFlat:function(e,t){let r=e.empty(),{help:s,walk:l}=e,{findType:n}=s,o=[],c=0,u=0,i={};return l(t,[function(e,t,s){return r[`root/${u}/${t}`]=e,e},function(e,t){let r=t.split("/"),s=r.pop();if(o.push([n(e),c]),i[t]=c,u=c,r.length>0){let e=r.join("/"),t=i[e];o[t].push([c,s])}return c++,e}]),[o,r]},toType:function(e,t){let[r,s]=t,l=Object.keys(s),n=[],o={};return r.forEach((e=>{let t,[r,c,...u]=e;t="array"==r?[]:{},l.filter((e=>e.includes(`root/${c}/`))).forEach((e=>{let r=e.split("/"),l=r[r.length-1];t[l]=s[e]})),o[c]=n.length,n.push(t)})),r.forEach((e=>{let[,t,...r]=e;r.forEach((e=>{let[r,s]=e;r=Number(r)||r;let l=o[r];n[t][s]=n[l]}))})),n[0]}}},634:e=>{e.exports=function(e){return e._select.value.reduce(((t,r)=>(t[r]=e.value[r],t)),{})}},906:e=>{e.exports=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s={},l=[];return t.forEach((t=>{let n=t.split("/"),o=n[1],c=n.pop();o==e&&(s[c]=r[t],l.push(t))})),[s,l]}},35:e=>{e.exports=function(e){return!e.every((e=>{const t=Number(e);return 0!==t&&!t}))}},935:(e,t,r)=>{"use strict";const s=r(92),l=r(35),n=r(257),o=r(501),c=r(906),u=r(486),i=r(504),a=r(438),p=r(634),d=r(773),f=r(943);e.exports={findType:e=>e instanceof Array?"array":"object",hasNumbers:l,isItPrimitive:s,sanitizeFlatKeys:n,objectsByLevel:o,filterObject:c,toBreadcrumbKeys:u,updateSelection:i,zipObject:a,extractSelection:p,reduceTuples:d,tuplesToBradcrumbs:f}},92:e=>{e.exports=function(e){return"function"==typeof e||"object"!=typeof e}},501:e=>{e.exports=function(e){return e.reduce(((e,t)=>{let r=[];return t.forEach(((e,t)=>{t>1&&r.push(e[0])})),r.length>0&&e.push(r),e}),[[0]])}},773:e=>{"use strict";e.exports=function(e,t){const{help:r,walk:s}=e,l=[];return s(t,((e,t)=>{let s=t.substr(5).split("/"),n=s[s.length-1];r.hasNumbers([n])&&s.pop(),l.push([s.join("/"),e])})),l}},257:e=>{e.exports=function(e){let t=e.map((e=>{let t=e.split("/");return"root"!=t[0]?["root",...t].join("/"):t.join("/")})),r=[],s=new Set;t.forEach((e=>{r.includes(e)?s.add(e):r.push(e)}));for(const e of s){let r=0;t=t.map((t=>t==e?`${t}/${r++}`:t))}return t}},486:e=>{e.exports=function(e,t){let r=["root"];return t.forEach((e=>{e.forEach(((t,s)=>{let l=e[1],n=r[l];s>1&&r.push(`${n}/${t[1]}`)}))})),e.map((e=>{let t=e.split("/"),s=t[1],l=t[2];return`${r[s]}/${l}`}))}},943:e=>{"use strict";e.exports=function(e,t){const{walk:r}=e;let s={};return r(t,[null,function(e,t){if("root"===t)return e;let[r,l]=e;return s[r]=l,e}]),s}},504:(e,t,r)=>{r(733),e.exports=function(e,t){let[...r]=e;return t.forEach((e=>{r.includes(e)||r.push(e)})),r}},438:e=>{e.exports=function(e,t){return e.reduce(((e,r,s)=>{let l,n=t[s];return l="string"==typeof n&&Number(n)||n,e[r]=l,e}),{})}},564:e=>{e.exports=function(e,t){const{structure:r,value:s}=t._select,l=new Set,n=new Set;let o=s.reduce(((e,t)=>{let r=parseInt(t.split("/")[1]);return l.add(r),r<e&&(e=r),e}),1e5);if(t._select.structure=r.reduce(((e,t)=>{let r=t[1];return r>=o&&l.has(r)&&(e.push([...t]),n.add(r)),e}),[["array",0]]),l.has(0)&&t._select.structure.splice(1,1),n.size>1){let e=0;n.forEach((r=>{let s=t._select.structure[0];0!=r&&s.push([r,e++])}))}else t._select.structure.splice(0,1);return t}},425:e=>{e.exports=function(e,t){const{convert:r,location:s}=e,l=r.to("midFlat",e,[t.structure,t.value]),{result:n}=t._select;if(!n)return t;for(k in n)newKey=k.replace("root",s),l[newKey]?l[newKey]={...l[newKey],...n[k]}:l[newKey]={...n[k]};return r.from("midFlat").toFlat(e,l)}},32:e=>{e.exports=function(e,t){const{type:r}=e,s=Object.keys(t.value);let l=t.structure.reduce(((e,t)=>(t[0]!=r||2==t.length&&e.push(t[1]),e)),[]);return t._select.value=s.filter((e=>{let t=parseInt(e.split("/")[1]);return l.includes(t)})),t._select.structure=[["array",0]],l.forEach(((e,r)=>{let s=t.structure[e][0];t._select.structure[0].push([e,r]),t._select.structure.push([s,e])})),t}},326:e=>{e.exports=function(e,t,r){const{convert:s,modifier:l,walk:n}=e,o=s.to("midFlat",e,[t.structure,t.value]),c=s.to("midFlat",e,[r.structure,r.value]),u=Object.keys(c);let i;t._error=t._error.concat(r._error),i=u.reduce(((e,t)=>{let r=t.split("/").pop(),s=Object.keys(e.root);if("root"!=r&&e[t]){let r={};return r[t]={...c[t]},l.combineShallow(e,r)}if("root"!=r&&s.includes(r)){let r={};return r[t]={...c[t]},l.combineShallow(e,r)}return l.combineShallow(e,{root:{...c[t]}})}),o);let[a,p]=s.from("midFlat").toFlat(e,i);return t.structure=n(a),t.value=p,t}},911:e=>{e.exports=function(e,t){const{help:r,num:s,direction:l}=e;let n=[],o=[...t._select.value];return r.objectsByLevel(t.structure).forEach(((e,t)=>{("more"==l?t>=s:t<=s)&&(n=n.concat(e))})),t._select.value=o.filter((e=>{let t=parseInt(e.split("/")[1]);return n.includes(t)})),t}},699:e=>{e.exports=function(e,t){let r,s=Object.keys(t.value),{help:l,deep:n,search:o,walk:c}=e,u=l.toBreadcrumbKeys(s,t.structure);o=o||"root",n=null==n?9999:n,n+=1,r=o.split("/").length+n;let i=u.filter((e=>e.match(o))).reduce(((e,t)=>{let l=u.indexOf(t);return t.split("/").length<=r&&e.push(s[l]),e}),[]);return t._select.value=l.updateSelection(t._select.value,i),t._select.structure=c(t.structure),t}},641:e=>{e.exports=function(e,t){const{help:r,prop:s,walk:l,where:n}=e;let o=[],c=[],u=[];return"root"==s&&o.push(0),t.structure.forEach((e=>{e.forEach(((e,t)=>{if(t>1){let[t,r]=e;r==s&&o.push(t)}}))})),c=o.reduce(((e,r)=>{for(let s in t.value)s.split("/")[1]==r&&e.push(s);return e}),[]),u=n?o.reduce(((e,s)=>{let[l,o]=r.filterObject(s,c,t.value);return n(l)&&e.push(...o),e}),[]):c,t._select.value=r.updateSelection(t._select.value,u),t._select.structure=l(t.structure),t}},635:(e,t,r)=>{"use strict";const s=r(699),l=r(261),n=r(32),o=r(911),c=r(641),u={loadLong(e,t){let{structure:r,value:s}=t;return u._loadData(e,r,s)},loadShort(e,t){let[r,s]=t;return u._loadData(e,r,s)},_loadData(e,t,r){const{simpleDT:s,walk:l}=e;let n=s();n.structure=l(t);for(const e in r)n.value[e]=r[e];return n},modify:r(483),find:s,parent:l,folder:c,deep:o,block:n,transform:r(348),attach:r(425),combine:r(326),assemble:r(564),purify:r(341)};e.exports=u},483:e=>{e.exports=function(e,t,r){const{action:s,convert:l,modifier:n,walk:o}=e,c=l.to("midFlat",e,[t.structure,t.value]),u=l.to("midFlat",e,[r.structure,r.value]);let i;t._error=t._error.concat(r._error),i=n[s](c,u);let[a,p]=l.from("midFlat").toFlat(e,i);return t.structure=o(a),t.value=p,t}},261:e=>{e.exports=function(e,t){const{help:r,prop:s,walk:l,where:n}=e;let o,c=[],u=[];for(let e in t.value){let t=e.split("/");t[2]==s&&c.push(t[1])}return l(t.structure,[null,function(e,t){if("root"===t)return e;if("string"==typeof e[0])return e;let[r,l]=e;return l===s&&c.push(r),null}]),u=c.reduce(((e,r)=>{for(let s in t.value)s.split("/")[1]==r&&e.push(s);return e}),[]),o=n?c.reduce(((e,s)=>{let[l,o]=r.filterObject(s,u,t.value);return n(l)&&e.push(...o),e}),[]):u,t._select.value=r.updateSelection(t._select.value,o),t._select.structure=l(t.structure),t}},341:(e,t,r)=>{r(733),e.exports=function(e,t){const{structure:r,value:s}=t._select,l=r.reverse();let n=s.reduce(((e,t)=>{let r=parseInt(t.split("/")[1]);return e.includes(r)||e.push(r),e}),[]);return t._select.structure=l.reduce(((e,t)=>{let[r,s,...l]=t,o=t.length,c=[r,s];return 2!=o||n.includes(s)?(l.forEach((e=>{let t=e[0];n.includes(t)&&(c.push([...e]),n.includes(s)||n.push(s))})),n.includes(s)?(e.push([...c]),e):e):e}),[]).reverse(),t}},348:e=>{e.exports=function(e,t){let r,[s,l]=t,{modify:n,empty:o}=e,c=Object.keys(l);switch(n){case"reverse":r=c.reduce(((e,t)=>{let r=t.split("/"),s=r[2].match(/^[0-9]+$/)?parseInt(r[2]):r[2],n=l[t];return e[`root/${r[1]}/${n}`]=s,e}),{});break;case"key":case"keys":r=c.reduce(((e,t,r)=>{let s=t.split("/");return e[`root/0/${r}`]=s[2],e}),{}),s=[["array",0]];break;case"value":case"values":r=c.reduce(((e,t,r)=>{let s=l[t];return e[`root/0/${r}`]=s,e}),o()),s=[["array",0]];break;default:r=o()}return[s,r]}},880:(e,t,r)=>{"use strict";const s=r(635),l=r(935),n=r(631),o=r(890),c=r(218),u=r(60),i=["std","standard","tuple","tuples","breadcrumb","breadcrumbs","file","files","midFlat","shortFlat"],a={dependencies:()=>({simpleDT:function(){const e=Object.create(d);return e.value=e.empty(),e.structure=[],e._select={structure:[],value:[],result:null},e._error=[],e},empty:Object.create(d).empty,convert:o,help:l,modifier:n,walk:u}),init(e,t){let r=a.dependencies(),l=r.simpleDT(),{type:n,modify:c}=(r.help,{type:"std",modify:!1,...t});if(i.includes(n)){if(null!=e){const[t,s]="flat"==n||"shortFlat"==n?e:o.from(n).toFlat(r,e);l.structure=u(t),l.value=s}if(c){let[t,n]=s.transform({...r,modify:c},[l.structure,l.value]);return Object.keys(n).length<=0&&l._error.push(`Modifier "${c}" is not a valid modifier and was ignored. Data: ${JSON.stringify(e)}`),l.structure=t,l.value=n,l}return l}this._error.push(`Can't understand your data-type: ${n}. Please, find what is possible on https://github.com/PeterNaydenov/dt-toolbox`)},load:e=>e._select?s.loadLong(a.dependencies(),e):s.loadShort(a.dependencies(),e),preprocess(e,t,r){let{type:l="std"}={type:"std",modify:!1,...r},n=t(o.from(l).toFlat(a.dependencies(),e));return n?s.loadShort(a.dependencies(),n):(this._error.push('Method "preprocess" should always return a shortFlat data-type: [structure, value]'),a.init())},combine(e,t){const r=a.init(e,t);return s.combine({...a.dependencies()},this,r)},modify:e=>function(t,r){let l;return l=r?a.init(t,r):{structure:u(t.structure),value:{...t.value}},s.modify({...a.dependencies(),action:e},this,l)},errorLog(e){return e(this._error),this},replace(){const e=this,{result:t}=e._select;if(!t)return e;let[r,s]=o.from("midFlat").toFlat(a.dependencies(),t);return e.structure=u(r),e.value={...s},e._select.result=null,e},attach(e){const t=this,r={...a.dependencies(),location:e};let[l,n]=s.attach(r,t);return t.structure=u(l),t.value={...n},t._select.result=null,t},select(){return this._select={structure:[],value:[],result:null},this},find(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"root",t=arguments.length>1?arguments[1]:void 0;const r={...a.dependencies(),search:e,deep:t};return this._select.result=null,s.find(r,this)},parent(e,t){const r={...a.dependencies(),prop:e,where:t};return this._select.result=null,s.parent(r,this)},folder(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"root",t=arguments.length>1?arguments[1]:void 0;const r={...a.dependencies(),prop:e,where:t};return this._select.result=null,s.folder(r,this)},limit(e){return this._select.value=this._select.value.slice(0,e),this._select.result=null,this},keep(e){const t=this,r=l.toBreadcrumbKeys(t._select.value,t.structure);return void 0===e||(t._select.result=null,t._select.value=t._select.value.reduce(((s,l,n)=>{let o=r[n];return e(t.value[l],o,l)&&s.push(l),s}),[])),t},remove(e){const t=this,r=l.toBreadcrumbKeys(t._select.value,t.structure);return void 0===e||(t._select.result=null,t._select.value=t._select.value.reduce(((s,l,n)=>{let o=r[n];return e(t.value[l],o,l)||s.push(l),s}),[])),t},deep(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"less",r={...a.dependencies(),num:e,direction:t};return this._select.result=null,s.deep(r,this)},withData(){let e=this;return e._select.result=o.to("midFlat",a.dependencies(),[e.structure,e.value]),e},withSelection(){let e=this,{structure:t}=e._select;return e._select.result=o.to("midFlat",a.dependencies(),[t,l.extractSelection(e)]),e},flatten(){const e=this,{result:t}=e._select;return t?(e._select.result=n.flatten(t,{}),e):e},mix(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"root",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];const r=this,{result:s}=r._select;return s?(r._select.result=n.mix(s,[...t,e]),r):r},reverse(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["root"];const t=this,{result:r}=t._select;return r?(t._select.result=n.reverse(r,e),t):t},keyPrefix(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";const t=this,{result:r}=t._select;return r?(t._select.result=n.keyPrefix(r,{separationSymbol:e}),t):t},block:e=>function(){const t={...a.dependencies(),type:e};return this._select.result=null,s.block(t,this)},invert(){const e=this,t=e._select.value,r=Object.keys(e.value);return e._select.result=null,e._select.value=r.reduce(((e,r)=>(t.includes(r)||e.push(r),e)),[]),e},assemble(){const e={...a.dependencies()};return s.assemble(e,this)},purify(){const e={...a.dependencies()};return s.purify(e,this)},compare:e=>function(t,r){if(!t.hasOwnProperty("value")||!t.hasOwnProperty("structure"))return r(null),this;let s=this,l=o.to("breadcrumb",a.dependencies(),[s.structure,s.value]),n=o.to("breadcrumb",a.dependencies(),[t.structure,t.value]),u=c[e](l,n),[i,p]=o.from("breadcrumb").toFlat(a.dependencies(),u),d=a.dependencies().simpleDT();return d.structure=i,d.value=p,r(d),s},spread(e,t){const r=this,l=!!r._select.result,{help:n}=a.dependencies();let c,i,p;switch(e){case"value":case"values":if(i="values",l){let e=o.from("midFlat").toFlat(a.dependencies(),r._select.result);p=s.transform({...a.dependencies(),modify:i},e)}else p=s.transform({...a.dependencies(),modify:i},[r.structure,r.value]);c=o.to("std",a.dependencies(),p).map((e=>"string"==typeof e&&Number(e)||e));break;case"key":case"keys":if(i="keys",l){let e=o.from("midFlat").toFlat(a.dependencies(),r._select.result);p=s.transform({...a.dependencies(),modify:i},e),i="values",p=s.transform({...a.dependencies(),modify:i},p)}else p=s.transform({...a.dependencies(),modify:i},[r.structure,r.value]);c=o.to("std",a.dependencies(),p);break;case"standard":case"std":if(l){let e=o.from("midFlat").toFlat(a.dependencies(),r._select.result);c=o.to("std",a.dependencies(),e)}else c=o.to("std",a.dependencies(),[r._select.structure,n.extractSelection(r)]);break;case"breadcrumb":case"breadcrumbs":if(l){let e=o.from("midFlat").toFlat(a.dependencies(),r._select.result);c=o.to("breadcrumbs",a.dependencies(),e)}else c=o.to("breadcrumbs",a.dependencies(),[r._select.structure,n.extractSelection(r)]);break;case"tuple":case"tuples":if(l){let e=o.from("midFlat").toFlat(a.dependencies(),r._select.result);c=o.to("tuples",a.dependencies(),e)}else c=o.to("tuples",a.dependencies(),[r._select.structure,n.extractSelection(r)]);break;case"file":case"files":let e,t;if(l){let t=o.from("midFlat").toFlat(a.dependencies(),r._select.result);e=o.to("breadcrumbs",a.dependencies(),t)}else e=o.to("breadcrumbs",a.dependencies,[r._select.structure,n.extractSelection(r)]);t=n.reduceTuples(a.dependencies(),e),c=t.map((e=>{let[t,r]=e;return t?`${t}/${r}`:r}));break;case"midFlat":c=l?{...r._select.result}:o.to("midFlat",a.dependencies(),[r._select.structure,n.extractSelection(r)]);break;default:if(l)c=o.from("midFlat").toFlat(a.dependencies(),r._select.result);else{let e=n.extractSelection(r);c=[u(r._select.structure),e]}}return t?(t(c),r):c},spreadAll(e,t){return this.all(),this.spread(e,t)}},p={hi:()=>"hi"},d={init:a.init,load:a.load,loadFast:a.load,preprocess:a.preprocess,add:a.modify("add"),update:a.modify("update"),overwrite:a.modify("overwrite"),insert:a.modify("insert"),combine:a.combine,append:a.modify("append"),prepend:a.modify("prepend"),log:a.errorLog,empty:()=>Object.create(p),replace:a.replace,attach:a.attach,spread:a.spread,spreadAll:a.spreadAll,export:a.spread,exportAll:a.spreadAll,identical:a.compare("identical"),change:a.compare("change"),same:a.compare("same"),different:a.compare("different"),missing:a.compare("missing"),select:a.select,parent:a.parent,find:a.find,all:a.find,folder:a.folder,space:a.folder,deepObject:a.block("object"),deepArray:a.block("array"),invert:a.invert,assemble:a.assemble,purify:a.purify,limit:a.limit,keep:a.keep,remove:a.remove,deep:a.deep,withData:a.withData,withSelection:a.withSelection,flatten:a.flatten,mix:a.mix,keyPrefix:a.keyPrefix,reverse:a.reverse};e.exports=d},429:e=>{e.exports=function(e,t){for(const r in t)if(e[r])for(let s in t[r])e[r][s]||(e[r][s]=t[r][s]);else e[r]={...t[r]};return e}},57:e=>{e.exports=function(e,t){for(const r in t)if(e[r])for(let s in t[r])e[r][s]?e[r][s]+=t[r][s]:e[r][s]=t[r][s];return e}},785:e=>{function t(e){let t=0;for(k in e)!isNaN(parseInt(k))&&t++;return t}e.exports=function(e,r){let s=Object.keys(e),l=Object.keys(r),n=[...s],o={root:{}},c={};for(key of l)n.includes(key)||n.push(key);let u=n.sort(((e,t)=>t.split("/").length-e.split("/").length)).reduce(((t,s)=>{let l=e.root,n=r[s],o=s.split("/").pop();for(k in Object.keys(l),"root"!=s&&e[s]&&(t.add(o),c[o]||(c[o]=[]),c[o]=Object.keys(e[s]).reduce(((t,r)=>(t.push(e[s][r]),t)),c[o])),"root"!=o&&n&&(t.add(o),c[o]||(c[o]=[]),c[o]=Object.keys(n).reduce(((e,t)=>(e.push(n[t]),e)),c[o])),n)e[`root/${k}`]&&n[k]&&(t.add(k),c[k]||(c[k]=[]),c[k].push(n[k])),l[k]&&n[k]&&(t.add(k),c[k]?c[k].push(n[k]):c[k]=[l[k],n[k]]);return t}),new Set);for(k in s.forEach((t=>{let r=e[t];for(k in o[t]={},r)u.has(k)||(o[t][k]=r[k])})),l.forEach((e=>{let s=r[e],l=Object.keys(s),n=e.split("/").pop();u.has(n)||l.forEach((r=>{let l=`root/${r}`;if(o[l]){let e=t(o[l]);if("_fake$$$"===s[r])return;o[l][e]=s[r]}else if(!u.has(r)){if("_fake$$$"===s[r])return;o[e][r]=s[r]}}))})),c){const e=`root/${k}`;o[e]=c[k].reduce(((e,t,r)=>(e[r]=t,e)),{})}return o}},875:(e,t,r)=>{const s=r(785);e.exports=function(e){let t=Object.keys(e).filter((e=>"root"!=e)).reduce(((t,r)=>{let l={root:{...e[r]}};return s(t,l)}),{root:{...e.root}});return Object.keys(t).filter((e=>"root"!=e)).reduce(((e,r)=>{let s=r.split("/")[1],l="";for(prop in t[r])l&&(l+=";"),l+=t[r][prop];return e.root[s]=l,e}),{root:{...t.root}})}},631:(e,t,r)=>{const s=r(366),l=r(733),n={add:r(429),update:l,overwrite:s,insert:r(655),append:r(57),prepend:r(869),keyPrefix:r(432),flatten:r(875),combineShallow:r(785),mix:r(558),reverse:r(248)};e.exports=n},655:e=>{e.exports=function(e,t){for(const r in t){let s=Object.values(e[r]),l=Object.values(t[r]),n=s.concat(l);e[r]=n.reduce(((e,t,r)=>(e[r]=t,e)),{})}return e}},432:e=>{e.exports=function(e,t){let r=Object.keys(e),{separationSymbol:s}=t;return r.reduce(((t,r)=>{let l=r.substr(5).split("/").join(s);return t[r]={},Object.keys(e[r]).forEach((n=>{"root"==r?t[r][n]=e.root[n]:t[r][`${l}${s}${n}`]=e[r][n]})),t}),{})}},558:(e,t,r)=>{r(326);const s=r(785);e.exports=function(e,t){const r=t.pop();let l={};return l[r]={...e[r]},l.root||(l.root={...e.root}),t.reduce(((t,l)=>{let n={root:{...t[r]}},o={root:{...e[l]}};return t[r]=s(n,o).root,t}),l)}},366:e=>{e.exports=function(e,t){for(const r in t)if(e[r])for(let s in t[r])e[r][s]=t[r][s];else e[r]={...t[r]};return e}},869:e=>{e.exports=function(e,t){for(const r in t)if(e[r])for(let s in t[r]){const l=e[r][s];e[r][s]=l?t[r][s]+l:t[r][s]}return e}},248:e=>{e.exports=function(e,t){let r={...e};for(const e of t)if(r[e]){let t={...r[e]},s=Object.keys(t);r[e]={},s.forEach((s=>{let l=t[s];r[e][l]=s}))}return r}},733:e=>{e.exports=function(e,t){for(const r in t)if(e.hasOwnProperty(r))for(let s in t[r])e[r].hasOwnProperty(s)&&(e[r][s]=t[r][s]);return e}}},t={},r=function r(s){var l=t[s];if(void 0!==l)return l.exports;var n=t[s]={exports:{}};return e[s](n,n.exports,r),n.exports}(880);dtbox=r})();
1
+ var dtbox;(()=>{var e={60:e=>{function t(e){return e instanceof Array?"array":"object"==typeof e?"object":"simple"}function*r(e,t,r,l,n){yield s(e,t,r,l,n)}function s(e,s,l,n,o){let[c,u]=n;Object.keys(e).forEach((a=>{let i=t(e[a]),p=e[a],d="array"===t(s),f=!isNaN(a);if("simple"!==i&&u){if(p=u({value:p,key:a,breadcrumbs:`${o}/${a}`}),null==p)return;i=t(p)}if("simple"===i){if(!c)return void(s[a]=p);let e=c({value:p,key:a,breadcrumbs:`${o}/${a}`});if(null==e)return;const t=function(e,t){return t instanceof Array&&!isNaN(e)}(a,s);t?s.push(e):s[a]=e}if("object"===i){const e={};d&&f?s.push(e):s[a]=e,l.push(r(p,e,l,n,`${o}/${a}`))}if("array"===i){const e=[];d&&f?s.push(e):s[a]=e,l.push(r(p,e,l,n,`${o}/${a}`))}}))}e.exports=function({data:e,keyCallback:r,objectCallback:l}){let n,o=[],c="root",u=[r,l];switch(t(e)){case"array":n=[],s(e,n,o,u,c);break;case"object":n={},s(e,n,o,u,c);break;case"simple":return e}for(const e of o)e.next();return n}},702:e=>{e.exports=function(e,t){let r={};return Object.keys(e).forEach((s=>{t.hasOwnProperty(s)&&e[s]===t[s]||(r[s]=t[s])})),r}},86:e=>{e.exports=function(e,t){let r={};return Object.keys(t).forEach((s=>{e.hasOwnProperty(s)||(r[s]=t[s])})),r}},216:e=>{e.exports=function(e,t){let r={};return Object.keys(e).forEach((s=>{t.hasOwnProperty(s)&&e[s]===t[s]&&(r[s]=e[s])})),r}},218:(e,t,r)=>{const s=r(216),l=r(702),n=r(337),o=r(86),c=r(814);e.exports={identical:s,change:l,same:n,different:o,missing:c}},814:e=>{e.exports=function(e,t){let r={};return Object.keys(e).forEach((s=>{t.hasOwnProperty(s)||(r[s]=e[s])})),r}},337:e=>{e.exports=function(e,t){let r={};return Object.keys(e).forEach((e=>{t.hasOwnProperty(e)&&(r[e]=t[e])})),r}},270:e=>{"use strict";e.exports={toFlat:function(e,t){if(0===Object.keys(t).length)return[[["object",0]],{}];let{help:r}=e,s=[],l={},n=Object.keys(t).map((e=>e.split("/"))).sort(((e,t)=>t.length-e.length)),o={},c=[],u=[];return n.forEach((e=>{e.forEach(((t,r)=>{let s=e.slice(0,r).join("/");s&&(o[s]||(o[s]=new Set,c.push(s)),o[s].add(t))}))})),c.forEach(((e,t)=>{let l=!1;if(s[t]||(s[t]=["object",t]),u[t]&&(e=u[t]),l=Array.from(o[e]),"root"===e){const e=r.hasNumbers(l)?"array":"object";s[t][0]=e}l.forEach((l=>{let n=o[`${e}/${l}`];if(!n)return;let c=Array.from(n),a=r.hasNumbers(c)?"array":"object",i=s.length;u[i]=`${e}/${l}`,s.push([a,i]),s[t].push([i,l])}))})),n.forEach((e=>{let r=e.pop(),s=e.join("/"),n=null,o="";n=u.indexOf(s),n<0&&(n=c.indexOf(s)),o=`root/${n}/${r}`,l[o]=t[`${s}/${r}`]})),[s,l]},toType:function(e,t){let[r,s]=t,l=Object.keys(s),n={},o={};return r.forEach((e=>{let[t,s,...l]=e;l.forEach((e=>{let[t,l]=e,n=l,c=s;for(let e=s;e>=0;e--){let[t,s,...l]=r[e];l.forEach((e=>{let[t,r]=e;t===c&&(n=`${r}/${n}`,c=s)}))}o[t]=n}))})),l.forEach((e=>{let t=e.split("/"),r=t[1],l=o[r];"0"==r?t=t.filter(((e,t)=>1!=t)):t[1]=l,n[t.join("/")]=s[e]})),n}}},890:(e,t,r)=>{"use strict";const s=r(270),l=r(500),n=r(184),o=e=>(t,r)=>{let o,c,u,{help:a}=t,i=[];switch(e){case"std":case"standard":return l.toFlat(t,r);case"tuple":case"tuples":r=a.tuplesToBradcrumbs(t,r);case"breadcrumb":case"breadcrumbs":return o=Object.keys(r),i=o.map((e=>r[e])),c=a.sanitizeFlatKeys(o),u=a.zipObject(c,i),s.toFlat(t,u);case"file":case"files":return o=r.map((e=>{let t=e.split("/");return i.push(t.pop()),t.join("/")})),c=a.sanitizeFlatKeys(o),u=a.zipObject(c,i),s.toFlat(t,u);case"midFlat":return n.toFlat(t,r)}return[["object",0],{}]};e.exports={from:function(e){return{toFlat:o(e)}},to:function(e,t,r){const{help:o}=t;switch(e){case"std":case"standard":return l.toType(t,r);case"midFlat":return n.toType(t,r);case"tuple":case"tuples":let e=s.toType(t,r);return o.reduceTuples(t,e);case"breadcrumb":case"breadcrumbs":return s.toType(t,r)}}}},184:e=>{"use strict";e.exports={toFlat:function(e,t){if(0===Object.keys(t).length)return[[["object",0]],{}];let r=[],s={},{help:l}=e,n=Object.keys(t).map((e=>e.trim().replace(/\/$/,"").split("/"))).sort(((e,t)=>t.length-e.length)),o={},c=["root"],u=[];return n.forEach((e=>{e.forEach(((t,r)=>{let s=e.slice(0,r).join("/");s&&(o[s]||(o[s]=new Set,c.push(s)),o[s].add(t))}))})),Array.from(c.reduce(((e,t)=>{let r;e.add(t);const s=o[t];return null==s||(r=Array.from(s),r.forEach((r=>e.add(`${t}/${r}`)))),e}),new Set)).sort().forEach(((e,t)=>{let s;if(r[t]||(r[t]=["object",t],u[t]=e),u[t]&&(e=u[t]),null==e)return;const n=o[e];if(!n)return;let c=Array.from(n);l.hasNumbers(c)&&(r[t][0]="array"),n.forEach((t=>{s=r.length,u[s]=`${e}/${t}`,r.push(["object",s])}))})),u.forEach(((e,n)=>{let o,c,a=Object.keys(t[e]).map((e=>e.trim().replace(/\/$/,""))),i=l.hasNumbers(a),p=e.split("/");o=p.pop(),c=p.join("/");let d=u.indexOf(c);d>=0&&r[d].push([n,o]),i&&(r[n][0]="array"),u[n]=e;for(let r in t[e]){let l=t[e][r];if("_fake$$$"===l)return;s[`root/${n}/${r}`]=l}})),[r,s]},toType:function(e,t){let r,[s,l]=t,n={root:{}},o={0:"root"};s.forEach(((e,t)=>{r=null!=o[t]?o[t]:"root",e.forEach(((e,t)=>{if(t<2)return;let[s,l]=e,c=`${r}/${l}`;n[c]={},o[s]=c}))}));let c=Object.keys(l),u=new Set;for(let e of c){let[,t,r]=e.split("/"),s=o[t];u.add(t),n[s][r]=l[e]}return s.forEach((e=>{let[t,r,...s]=e,l=o[r],c=!u.has(r.toString()),a=!(s.length>0);"array"===t&&c&&a&&(n[l][-1]="_fake$$$")})),n}}},500:e=>{"use strict";e.exports={toFlat:function(e,t){let r=e.empty(),{help:s,walk:l}=e,{findType:n}=s,o=[],c=0,u=0,a={};return o.push([n(t),c++]),a.root=0,l({data:t,keyCallback:function(e){let{value:t,key:s,breadcrumbs:l}=e;const n=l.split("/");n.pop();const o=n.join("/"),c=a[o];return r[`root/${c}/${s}`]=t,t},objectCallback:function(e){let{value:t,breadcrumbs:r}=e,s=r.split("/"),l=s.pop();o.push([n(t),c]),a[r]=c,u=c;let i=s.join("/"),p=a[i];return o[p].push([c,l]),c++,t}}),[o,r]},toType:function(e,t){let[r,s]=t,l=Object.keys(s),n=[],o={};return r.forEach((e=>{let t,[r,c,...u]=e;t="array"==r?[]:{},l.filter((e=>e.includes(`root/${c}/`))).forEach((e=>{let r=e.split("/"),l=r[r.length-1];t[l]=s[e]})),o[c]=n.length,n.push(t)})),r.forEach((e=>{let[,t,...r]=e;r.forEach((e=>{let[r,s]=e;r=Number(r)||r;let l=o[r];n[t][s]=n[l]}))})),n[0]}}},634:e=>{e.exports=function(e){return e._select.value.reduce(((t,r)=>(t[r]=e.value[r],t)),{})}},906:e=>{e.exports=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s={},l=[];return t.forEach((t=>{let n=t.split("/"),o=n[1],c=n.pop();o==e&&(s[c]=r[t],l.push(t))})),[s,l]}},35:e=>{e.exports=function(e){return!e.every((e=>{const t=Number(e);return 0!==t&&!t}))}},935:(e,t,r)=>{"use strict";const s=r(92),l=r(35),n=r(257),o=r(501),c=r(906),u=r(486),a=r(504),i=r(438),p=r(634),d=r(773),f=r(943);e.exports={findType:e=>e instanceof Array?"array":"object",hasNumbers:l,isItPrimitive:s,sanitizeFlatKeys:n,objectsByLevel:o,filterObject:c,toBreadcrumbKeys:u,updateSelection:a,zipObject:i,extractSelection:p,reduceTuples:d,tuplesToBradcrumbs:f}},92:e=>{e.exports=function(e){return"function"==typeof e||"object"!=typeof e}},501:e=>{e.exports=function(e){return e.reduce(((e,t)=>{let r=[];return t.forEach(((e,t)=>{t>1&&r.push(e[0])})),r.length>0&&e.push(r),e}),[[0]])}},773:e=>{"use strict";e.exports=function(e,t){const{help:r,walk:s}=e,l=[];return s({data:t,keyCallback:e=>{let{value:t,key:s}=e,n=s.substr(5).split("/"),o=n[n.length-1];return r.hasNumbers([o])&&n.pop(),l.push([n.join("/"),t]),t}}),l}},257:e=>{e.exports=function(e){let t=e.map((e=>{let t=e.split("/");return"root"!=t[0]?["root",...t].join("/"):t.join("/")})),r=[],s=new Set;t.forEach((e=>{r.includes(e)?s.add(e):r.push(e)}));for(const e of s){let r=0;t=t.map((t=>t==e?`${t}/${r++}`:t))}return t}},486:e=>{e.exports=function(e,t){let r=["root"];return t.forEach((e=>{e.forEach(((t,s)=>{let l=e[1],n=r[l];s>1&&r.push(`${n}/${t[1]}`)}))})),e.map((e=>{let t=e.split("/"),s=t[1],l=t[2];return`${r[s]}/${l}`}))}},943:e=>{"use strict";e.exports=function(e,t){const{walk:r}=e;let s={};return r({data:t,objectCallback:function(e){let{value:t,breadcrumbs:r}=e;if("root"===r)return t;let[l,n]=t;return s[l]=n,t}}),s}},504:(e,t,r)=>{r(733),e.exports=function(e,t){let[...r]=e;return t.forEach((e=>{r.includes(e)||r.push(e)})),r}},438:e=>{e.exports=function(e,t){return e.reduce(((e,r,s)=>{let l,n=t[s];return l="string"==typeof n&&Number(n)||n,e[r]=l,e}),{})}},564:e=>{e.exports=function(e,t){const{structure:r,value:s}=t._select,l=new Set,n=new Set;let o=s.reduce(((e,t)=>{let r=parseInt(t.split("/")[1]);return l.add(r),r<e&&(e=r),e}),1e5);if(t._select.structure=r.reduce(((e,t)=>{let r=t[1];return r>=o&&l.has(r)&&(e.push([...t]),n.add(r)),e}),[["array",0]]),l.has(0)&&t._select.structure.splice(1,1),n.size>1){let e=0;n.forEach((r=>{let s=t._select.structure[0];0!=r&&s.push([r,e++])}))}else t._select.structure.splice(0,1);return t}},425:e=>{e.exports=function(e,t){const{convert:r,location:s}=e,l=r.to("midFlat",e,[t.structure,t.value]),{result:n}=t._select;if(!n)return t;for(k in n)newKey=k.replace("root",s),l[newKey]?l[newKey]={...l[newKey],...n[k]}:l[newKey]={...n[k]};return r.from("midFlat").toFlat(e,l)}},32:e=>{e.exports=function(e,t){const{type:r}=e,s=Object.keys(t.value);let l=t.structure.reduce(((e,t)=>(t[0]!=r||2==t.length&&e.push(t[1]),e)),[]);return t._select.value=s.filter((e=>{let t=parseInt(e.split("/")[1]);return l.includes(t)})),t._select.structure=[["array",0]],l.forEach(((e,r)=>{let s=t.structure[e][0];t._select.structure[0].push([e,r]),t._select.structure.push([s,e])})),t}},326:e=>{e.exports=function(e,t,r){const{convert:s,modifier:l,walk:n}=e,o=s.to("midFlat",e,[t.structure,t.value]),c=s.to("midFlat",e,[r.structure,r.value]),u=Object.keys(c);let a;t._error=t._error.concat(r._error),a=u.reduce(((e,t)=>{let r=t.split("/").pop(),s=Object.keys(e.root);if("root"!=r&&e[t]){let r={};return r[t]={...c[t]},l.combineShallow(e,r)}if("root"!=r&&s.includes(r)){let r={};return r[t]={...c[t]},l.combineShallow(e,r)}return l.combineShallow(e,{root:{...c[t]}})}),o);let[i,p]=s.from("midFlat").toFlat(e,a);return t.structure=n({data:i}),t.value=p,t}},911:e=>{e.exports=function(e,t){const{help:r,num:s,direction:l}=e;let n=[],o=[...t._select.value];return r.objectsByLevel(t.structure).forEach(((e,t)=>{("more"==l?t>=s:t<=s)&&(n=n.concat(e))})),t._select.value=o.filter((e=>{let t=parseInt(e.split("/")[1]);return n.includes(t)})),t}},699:e=>{e.exports=function(e,t){let r,s=Object.keys(t.value),{help:l,deep:n,search:o,walk:c}=e,u=l.toBreadcrumbKeys(s,t.structure);o=o||"root",n=null==n?9999:n,n+=1,r=o.split("/").length+n;let a=u.filter((e=>e.match(o))).reduce(((e,t)=>{let l=u.indexOf(t);return t.split("/").length<=r&&e.push(s[l]),e}),[]);return t._select.value=l.updateSelection(t._select.value,a),t._select.structure=c({data:t.structure}),t}},641:e=>{e.exports=function(e,t){const{help:r,prop:s,walk:l,where:n}=e;let o=[],c=[],u=[];return"root"==s&&o.push(0),t.structure.forEach((e=>{e.forEach(((e,t)=>{if(t>1){let[t,r]=e;r==s&&o.push(t)}}))})),c=o.reduce(((e,r)=>{for(let s in t.value)s.split("/")[1]==r&&e.push(s);return e}),[]),u=n?o.reduce(((e,s)=>{let[l,o]=r.filterObject(s,c,t.value);return n(l)&&e.push(...o),e}),[]):c,t._select.value=r.updateSelection(t._select.value,u),t._select.structure=l({data:t.structure}),t}},635:(e,t,r)=>{"use strict";const s=r(699),l=r(261),n=r(32),o=r(911),c=r(641),u={loadLong(e,t){let{structure:r,value:s}=t;return u._loadData(e,r,s)},loadShort(e,t){let[r,s]=t;return u._loadData(e,r,s)},_loadData(e,t,r){const{simpleDT:s,walk:l}=e;let n=s();n.structure=l({data:t});for(const e in r)n.value[e]=r[e];return n},modify:r(483),find:s,parent:l,folder:c,deep:o,block:n,transform:r(348),attach:r(425),combine:r(326),assemble:r(564),purify:r(341)};e.exports=u},483:e=>{e.exports=function(e,t,r){const{action:s,convert:l,modifier:n,walk:o}=e,c=l.to("midFlat",e,[t.structure,t.value]),u=l.to("midFlat",e,[r.structure,r.value]);let a;t._error=t._error.concat(r._error),a=n[s](c,u);let[i,p]=l.from("midFlat").toFlat(e,a);return t.structure=o({data:i}),t.value=p,t}},261:e=>{e.exports=function(e,t){const{help:r,prop:s,walk:l,where:n}=e;let o,c=[],u=[];for(let e in t.value){let t=e.split("/");t[2]==s&&c.push(t[1])}return l({data:t.structure,objectCallback:function(e){let{value:t,breadcrumbs:r}=e;if("root"===r)return t;if("string"==typeof t[0])return t;let[l,n]=t;return n===s&&c.push(l),null}}),u=c.reduce(((e,r)=>{for(let s in t.value)s.split("/")[1]==r&&e.push(s);return e}),[]),o=n?c.reduce(((e,s)=>{let[l,o]=r.filterObject(s,u,t.value);return n(l)&&e.push(...o),e}),[]):u,t._select.value=r.updateSelection(t._select.value,o),t._select.structure=l({data:t.structure}),t}},341:(e,t,r)=>{r(733),e.exports=function(e,t){const{structure:r,value:s}=t._select,l=r.reverse();let n=s.reduce(((e,t)=>{let r=parseInt(t.split("/")[1]);return e.includes(r)||e.push(r),e}),[]);return t._select.structure=l.reduce(((e,t)=>{let[r,s,...l]=t,o=t.length,c=[r,s];return 2!=o||n.includes(s)?(l.forEach((e=>{let t=e[0];n.includes(t)&&(c.push([...e]),n.includes(s)||n.push(s))})),n.includes(s)?(e.push([...c]),e):e):e}),[]).reverse(),t}},348:e=>{e.exports=function(e,t){let r,[s,l]=t,{modify:n,empty:o}=e,c=Object.keys(l);switch(n){case"reverse":r=c.reduce(((e,t)=>{let r=t.split("/"),s=r[2].match(/^[0-9]+$/)?parseInt(r[2]):r[2],n=l[t];return e[`root/${r[1]}/${n}`]=s,e}),{});break;case"key":case"keys":r=c.reduce(((e,t,r)=>{let s=t.split("/");return e[`root/0/${r}`]=s[2],e}),{}),s=[["array",0]];break;case"value":case"values":r=c.reduce(((e,t,r)=>{let s=l[t];return e[`root/0/${r}`]=s,e}),o()),s=[["array",0]];break;default:r=o()}return[s,r]}},880:(e,t,r)=>{"use strict";const s=r(635),l=r(935),n=r(631),o=r(890),c=r(218),u=r(60),a=["std","standard","tuple","tuples","breadcrumb","breadcrumbs","file","files","midFlat","shortFlat"],i={dependencies:()=>({simpleDT:function(){const e=Object.create(d);return e.value=e.empty(),e.structure=[],e._select={structure:[],value:[],result:null},e._error=[],e},empty:Object.create(d).empty,convert:o,help:l,modifier:n,walk:u}),init(e,t){let r=i.dependencies(),l=r.simpleDT(),{type:n,modify:c}=(r.help,{type:"std",modify:!1,...t});if(a.includes(n)){if(null!=e){const[t,s]="flat"==n||"shortFlat"==n?e:o.from(n).toFlat(r,e);l.structure=u({data:t}),l.value=s}if(c){let[t,n]=s.transform({...r,modify:c},[l.structure,l.value]);return Object.keys(n).length<=0&&l._error.push(`Modifier "${c}" is not a valid modifier and was ignored. Data: ${JSON.stringify(e)}`),l.structure=t,l.value=n,l}return l}this._error.push(`Can't understand your data-type: ${n}. Please, find what is possible on https://github.com/PeterNaydenov/dt-toolbox`)},load:e=>e._select?s.loadLong(i.dependencies(),e):s.loadShort(i.dependencies(),e),preprocess(e,t,r){let{type:l="std"}={type:"std",modify:!1,...r},n=t(o.from(l).toFlat(i.dependencies(),e));return n?s.loadShort(i.dependencies(),n):(this._error.push('Method "preprocess" should always return a shortFlat data-type: [structure, value]'),i.init())},combine(e,t){const r=i.init(e,t);return s.combine({...i.dependencies()},this,r)},modify:e=>function(t,r){let l;return l=r?i.init(t,r):{structure:u({data:t.structure}),value:{...t.value}},s.modify({...i.dependencies(),action:e},this,l)},errorLog(e){return e(this._error),this},replace(){const e=this,{result:t}=e._select;if(!t)return e;let[r,s]=o.from("midFlat").toFlat(i.dependencies(),t);return e.structure=u({data:r}),e.value={...s},e._select.result=null,e},attach(e){const t=this,r={...i.dependencies(),location:e};let[l,n]=s.attach(r,t);return t.structure=u({data:l}),t.value={...n},t._select.result=null,t},select(){return this._select={structure:[],value:[],result:null},this},find(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"root",t=arguments.length>1?arguments[1]:void 0;const r={...i.dependencies(),search:e,deep:t};return this._select.result=null,s.find(r,this)},parent(e,t){const r={...i.dependencies(),prop:e,where:t};return this._select.result=null,s.parent(r,this)},folder(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"root",t=arguments.length>1?arguments[1]:void 0;const r={...i.dependencies(),prop:e,where:t};return this._select.result=null,s.folder(r,this)},limit(e){return this._select.value=this._select.value.slice(0,e),this._select.result=null,this},keep(e){const t=this,r=l.toBreadcrumbKeys(t._select.value,t.structure);return void 0===e||(t._select.result=null,t._select.value=t._select.value.reduce(((s,l,n)=>{let o=r[n];return e(t.value[l],o,l)&&s.push(l),s}),[])),t},remove(e){const t=this,r=l.toBreadcrumbKeys(t._select.value,t.structure);return void 0===e||(t._select.result=null,t._select.value=t._select.value.reduce(((s,l,n)=>{let o=r[n];return e(t.value[l],o,l)||s.push(l),s}),[])),t},deep(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"less",r={...i.dependencies(),num:e,direction:t};return this._select.result=null,s.deep(r,this)},withData(){let e=this;return e._select.result=o.to("midFlat",i.dependencies(),[e.structure,e.value]),e},withSelection(){let e=this,{structure:t}=e._select;return e._select.result=o.to("midFlat",i.dependencies(),[t,l.extractSelection(e)]),e},flatten(){const e=this,{result:t}=e._select;return t?(e._select.result=n.flatten(t,{}),e):e},mix(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"root",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];const r=this,{result:s}=r._select;return s?(r._select.result=n.mix(s,[...t,e]),r):r},reverse(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["root"];const t=this,{result:r}=t._select;return r?(t._select.result=n.reverse(r,e),t):t},keyPrefix(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";const t=this,{result:r}=t._select;return r?(t._select.result=n.keyPrefix(r,{separationSymbol:e}),t):t},block:e=>function(){const t={...i.dependencies(),type:e};return this._select.result=null,s.block(t,this)},invert(){const e=this,t=e._select.value,r=Object.keys(e.value);return e._select.result=null,e._select.value=r.reduce(((e,r)=>(t.includes(r)||e.push(r),e)),[]),e},assemble(){const e={...i.dependencies()};return s.assemble(e,this)},purify(){const e={...i.dependencies()};return s.purify(e,this)},compare:e=>function(t,r){if(!t.hasOwnProperty("value")||!t.hasOwnProperty("structure"))return r(null),this;let s=this,l=o.to("breadcrumb",i.dependencies(),[s.structure,s.value]),n=o.to("breadcrumb",i.dependencies(),[t.structure,t.value]),u=c[e](l,n),[a,p]=o.from("breadcrumb").toFlat(i.dependencies(),u),d=i.dependencies().simpleDT();return d.structure=a,d.value=p,r(d),s},spread(e,t){const r=this,l=!!r._select.result,{help:n}=i.dependencies();let c,a,p;switch(e){case"value":case"values":if(a="values",l){let e=o.from("midFlat").toFlat(i.dependencies(),r._select.result);p=s.transform({...i.dependencies(),modify:a},e)}else p=s.transform({...i.dependencies(),modify:a},[r.structure,r.value]);c=o.to("std",i.dependencies(),p).map((e=>"string"==typeof e&&Number(e)||e));break;case"key":case"keys":if(a="keys",l){let e=o.from("midFlat").toFlat(i.dependencies(),r._select.result);p=s.transform({...i.dependencies(),modify:a},e),a="values",p=s.transform({...i.dependencies(),modify:a},p)}else p=s.transform({...i.dependencies(),modify:a},[r.structure,r.value]);c=o.to("std",i.dependencies(),p);break;case"standard":case"std":if(l){let e=o.from("midFlat").toFlat(i.dependencies(),r._select.result);c=o.to("std",i.dependencies(),e)}else c=o.to("std",i.dependencies(),[r._select.structure,n.extractSelection(r)]);break;case"breadcrumb":case"breadcrumbs":if(l){let e=o.from("midFlat").toFlat(i.dependencies(),r._select.result);c=o.to("breadcrumbs",i.dependencies(),e)}else c=o.to("breadcrumbs",i.dependencies(),[r._select.structure,n.extractSelection(r)]);break;case"tuple":case"tuples":if(l){let e=o.from("midFlat").toFlat(i.dependencies(),r._select.result);c=o.to("tuples",i.dependencies(),e)}else c=o.to("tuples",i.dependencies(),[r._select.structure,n.extractSelection(r)]);break;case"file":case"files":let e,t;if(l){let t=o.from("midFlat").toFlat(i.dependencies(),r._select.result);e=o.to("breadcrumbs",i.dependencies(),t)}else e=o.to("breadcrumbs",i.dependencies,[r._select.structure,n.extractSelection(r)]);t=n.reduceTuples(i.dependencies(),e),c=t.map((e=>{let[t,r]=e;return t?`${t}/${r}`:r}));break;case"midFlat":c=l?{...r._select.result}:o.to("midFlat",i.dependencies(),[r._select.structure,n.extractSelection(r)]);break;default:if(l)c=o.from("midFlat").toFlat(i.dependencies(),r._select.result);else{let e=n.extractSelection(r);c=[u({data:r._select.structure}),e]}}return t?(t(c),r):c},spreadAll(e,t){return this.all(),this.spread(e,t)}},p={hi:()=>"hi"},d={init:i.init,load:i.load,loadFast:i.load,preprocess:i.preprocess,add:i.modify("add"),update:i.modify("update"),overwrite:i.modify("overwrite"),insert:i.modify("insert"),combine:i.combine,append:i.modify("append"),prepend:i.modify("prepend"),log:i.errorLog,empty:()=>Object.create(p),replace:i.replace,attach:i.attach,spread:i.spread,spreadAll:i.spreadAll,export:i.spread,exportAll:i.spreadAll,identical:i.compare("identical"),change:i.compare("change"),same:i.compare("same"),different:i.compare("different"),missing:i.compare("missing"),select:i.select,parent:i.parent,find:i.find,all:i.find,folder:i.folder,space:i.folder,deepObject:i.block("object"),deepArray:i.block("array"),invert:i.invert,assemble:i.assemble,purify:i.purify,limit:i.limit,keep:i.keep,remove:i.remove,deep:i.deep,withData:i.withData,withSelection:i.withSelection,flatten:i.flatten,mix:i.mix,keyPrefix:i.keyPrefix,reverse:i.reverse};e.exports=d},429:e=>{e.exports=function(e,t){for(const r in t)if(e[r])for(let s in t[r])e[r][s]||(e[r][s]=t[r][s]);else e[r]={...t[r]};return e}},57:e=>{e.exports=function(e,t){for(const r in t)if(e[r])for(let s in t[r])e[r][s]?e[r][s]+=t[r][s]:e[r][s]=t[r][s];return e}},785:e=>{function t(e){let t=0;for(k in e)!isNaN(parseInt(k))&&t++;return t}e.exports=function(e,r){let s=Object.keys(e),l=Object.keys(r),n=[...s],o={root:{}},c={};for(key of l)n.includes(key)||n.push(key);let u=n.sort(((e,t)=>t.split("/").length-e.split("/").length)).reduce(((t,s)=>{let l=e.root,n=r[s],o=s.split("/").pop();for(k in Object.keys(l),"root"!=s&&e[s]&&(t.add(o),c[o]||(c[o]=[]),c[o]=Object.keys(e[s]).reduce(((t,r)=>(t.push(e[s][r]),t)),c[o])),"root"!=o&&n&&(t.add(o),c[o]||(c[o]=[]),c[o]=Object.keys(n).reduce(((e,t)=>(e.push(n[t]),e)),c[o])),n)e[`root/${k}`]&&n[k]&&(t.add(k),c[k]||(c[k]=[]),c[k].push(n[k])),l[k]&&n[k]&&(t.add(k),c[k]?c[k].push(n[k]):c[k]=[l[k],n[k]]);return t}),new Set);for(k in s.forEach((t=>{let r=e[t];for(k in o[t]={},r)u.has(k)||(o[t][k]=r[k])})),l.forEach((e=>{let s=r[e],l=Object.keys(s),n=e.split("/").pop();u.has(n)||l.forEach((r=>{let l=`root/${r}`;if(o[l]){let e=t(o[l]);if("_fake$$$"===s[r])return;o[l][e]=s[r]}else if(!u.has(r)){if("_fake$$$"===s[r])return;o[e][r]=s[r]}}))})),c){const e=`root/${k}`;o[e]=c[k].reduce(((e,t,r)=>(e[r]=t,e)),{})}return o}},875:(e,t,r)=>{const s=r(785);e.exports=function(e){let t=Object.keys(e).filter((e=>"root"!=e)).reduce(((t,r)=>{let l={root:{...e[r]}};return s(t,l)}),{root:{...e.root}});return Object.keys(t).filter((e=>"root"!=e)).reduce(((e,r)=>{let s=r.split("/")[1],l="";for(prop in t[r])l&&(l+=";"),l+=t[r][prop];return e.root[s]=l,e}),{root:{...t.root}})}},631:(e,t,r)=>{const s=r(366),l=r(733),n={add:r(429),update:l,overwrite:s,insert:r(655),append:r(57),prepend:r(869),keyPrefix:r(432),flatten:r(875),combineShallow:r(785),mix:r(558),reverse:r(248)};e.exports=n},655:e=>{e.exports=function(e,t){for(const r in t){let s=Object.values(e[r]),l=Object.values(t[r]),n=s.concat(l);e[r]=n.reduce(((e,t,r)=>(e[r]=t,e)),{})}return e}},432:e=>{e.exports=function(e,t){let r=Object.keys(e),{separationSymbol:s}=t;return r.reduce(((t,r)=>{let l=r.substr(5).split("/").join(s);return t[r]={},Object.keys(e[r]).forEach((n=>{"root"==r?t[r][n]=e.root[n]:t[r][`${l}${s}${n}`]=e[r][n]})),t}),{})}},558:(e,t,r)=>{r(326);const s=r(785);e.exports=function(e,t){const r=t.pop();let l={};return l[r]={...e[r]},l.root||(l.root={...e.root}),t.reduce(((t,l)=>{let n={root:{...t[r]}},o={root:{...e[l]}};return t[r]=s(n,o).root,t}),l)}},366:e=>{e.exports=function(e,t){for(const r in t)if(e[r])for(let s in t[r])e[r][s]=t[r][s];else e[r]={...t[r]};return e}},869:e=>{e.exports=function(e,t){for(const r in t)if(e[r])for(let s in t[r]){const l=e[r][s];e[r][s]=l?t[r][s]+l:t[r][s]}return e}},248:e=>{e.exports=function(e,t){let r={...e};for(const e of t)if(r[e]){let t={...r[e]},s=Object.keys(t);r[e]={},s.forEach((s=>{let l=t[s];r[e][l]=s}))}return r}},733:e=>{e.exports=function(e,t){for(const r in t)if(e.hasOwnProperty(r))for(let s in t[r])e[r].hasOwnProperty(s)&&(e[r][s]=t[r][s]);return e}}},t={},r=function r(s){var l=t[s];if(void 0!==l)return l.exports;var n=t[s]={exports:{}};return e[s](n,n.exports,r),n.exports}(880);dtbox=r})();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dt-toolbox",
3
- "version": "4.0.7",
3
+ "version": "4.0.9",
4
4
  "description": "Data manipulation tool",
5
5
  "main": "src/main.js",
6
6
  "scripts": {
@@ -12,18 +12,17 @@
12
12
  "test": "test"
13
13
  },
14
14
  "dependencies": {
15
- "@peter.naydenov/walk": "1.1.0"
15
+ "@peter.naydenov/walk": "3.0.0"
16
16
  },
17
17
  "devDependencies": {
18
- "@babel/core": "7.18.2",
19
- "@babel/preset-env": "7.18.2",
20
- "babel-loader": "8.2.5",
21
- "chai": "4.3.6",
22
- "mocha": "10.0.0",
18
+ "@babel/core": "7.20.2",
19
+ "@babel/preset-env": "7.20.2",
20
+ "babel-loader": "9.1.0",
21
+ "chai": "4.3.7",
22
+ "mocha": "10.1.0",
23
23
  "nyc": "15.1.0",
24
- "uglifyjs-webpack-plugin": "2.2.0",
25
- "webpack": "5.72.1",
26
- "webpack-cli": "4.9.2"
24
+ "webpack": "^5.75.0",
25
+ "webpack-cli": "4.10.0"
27
26
  },
28
27
  "repository": {
29
28
  "type": "git",
@@ -13,7 +13,7 @@ function toFlat ( dependencies, d ) {
13
13
  , objectIndex = {} // Map breadcrumb -> structure row number
14
14
  ;
15
15
 
16
- function objectCalls (obj, breadcrumbs ) {
16
+ function objectCalls ({value:obj, breadcrumbs }) {
17
17
  let
18
18
  location = breadcrumbs.split ( '/' )
19
19
  , objectName = location.pop()
@@ -22,24 +22,38 @@ function toFlat ( dependencies, d ) {
22
22
  structure.push ( [findType(obj), objectCounter])
23
23
  objectIndex[breadcrumbs] = objectCounter
24
24
  currentObjectID = objectCounter
25
-
26
- if ( location.length > 0 ) {
27
- let
28
- hostName = location.join ( '/' )
29
- , hostID = objectIndex[hostName]
30
- ;
31
- structure[hostID].push ([objectCounter, objectName])
32
- }
25
+
26
+ let
27
+ hostName = location.join ( '/' )
28
+ , hostID = objectIndex[hostName]
29
+ ;
30
+
31
+ if ( hostID >= 0 ) structure[hostID].push ([objectCounter, objectName])
32
+
33
33
  objectCounter++
34
34
  return obj
35
35
  } // objectCalls func.
36
36
 
37
- function keyCalls ( v,k,breadcrumbs ) {
38
- value[`root/${currentObjectID}/${k}`] = v
37
+ function keyCalls ({ value:v, key:k, breadcrumbs }) {
38
+ const location = breadcrumbs.split('/');
39
+ location.pop ()
40
+ const
41
+ hostName = location.join ( '/' )
42
+ , hostID = objectIndex [ hostName ]
43
+ ;
44
+ value[`root/${hostID}/${k}`] = v
39
45
  return v
40
46
  } // keyCalls func.
41
47
 
42
- walk ( d, [keyCalls, objectCalls])
48
+ structure.push ([ findType(d), objectCounter++ ])
49
+ objectIndex["root"] = 0
50
+
51
+ walk ({
52
+ data : d,
53
+ keyCallback : keyCalls,
54
+ objectCallback : objectCalls
55
+ })
56
+
43
57
  return [ structure, value ]
44
58
  } // getFlat func.
45
59
 
@@ -6,15 +6,19 @@ function reduceTuples ( dependencies, breadcrumbData ) {
6
6
  { help, walk } = dependencies
7
7
  , result = []
8
8
  ;
9
- walk ( breadcrumbData, ( v, k ) => {
10
- let
11
- arr = k.substr(5).split('/')
12
- , ln = arr.length
13
- , lastEl = arr[ln-1]
14
- ;
15
- if ( help.hasNumbers([lastEl]) ) arr.pop ()
16
- result.push ( [ arr.join('/'), v])
17
- })
9
+ walk ({
10
+ data : breadcrumbData,
11
+ keyCallback : ({ value:v, key:k }) => {
12
+ let
13
+ arr = k.substr(5).split('/')
14
+ , ln = arr.length
15
+ , lastEl = arr[ln-1]
16
+ ;
17
+ if ( help.hasNumbers([lastEl]) ) arr.pop ()
18
+ result.push ( [ arr.join('/'), v])
19
+ return v
20
+ }
21
+ })
18
22
  return result
19
23
  } // reduceTuples func.
20
24
 
@@ -4,14 +4,17 @@ function tuplesToBreadcrumbs ( dependencies, data ) {
4
4
  const { walk } = dependencies;
5
5
  let result = {};
6
6
 
7
- function objectCalls (obj, breadcrumbs ) {
7
+ function objectCalls ({ value:obj, breadcrumbs }) {
8
8
  if ( breadcrumbs === 'root' ) return obj; // ignore root object
9
9
  let [ key, val ] = obj;
10
10
  result[key] = val
11
11
  return obj
12
12
  } // objectCalls func.
13
13
 
14
- walk ( data, [null,objectCalls])
14
+ walk ({
15
+ data,
16
+ objectCallback : objectCalls
17
+ })
15
18
  return result
16
19
  } // tuplesToBradcrumbs func.
17
20
 
@@ -26,7 +26,7 @@ function combine ( dependencies, main, addData ) {
26
26
  else return modifier['combineShallow'] ( res, { root: {...update[k]}} )
27
27
  }, mainData )
28
28
  let [structure, value ] = convert.from ( 'midFlat').toFlat ( dependencies, result )
29
- main.structure = walk ( structure )
29
+ main.structure = walk ({ data:structure })
30
30
  main.value = value
31
31
  return main
32
32
  } // combine func.
package/src/lib/find.js CHANGED
@@ -25,7 +25,7 @@ function find ( dependencies, me ) {
25
25
  return res
26
26
  },[] )
27
27
  me._select.value = help.updateSelection ( me._select.value, collection )
28
- me._select.structure = walk ( me.structure )
28
+ me._select.structure = walk ({ data : me.structure })
29
29
  return me
30
30
  } // find func.
31
31
 
package/src/lib/folder.js CHANGED
@@ -31,7 +31,7 @@ function folder ( dependencies, me ) {
31
31
  } // if where
32
32
  else result = selectedKeys
33
33
  me._select.value = help.updateSelection ( me._select.value, result )
34
- me._select.structure = walk ( me.structure )
34
+ me._select.structure = walk ({ data:me.structure })
35
35
  return me
36
36
  } // folder func.
37
37
 
package/src/lib/index.js CHANGED
@@ -31,7 +31,7 @@ const dtlib = {
31
31
  , _loadData ( dependencies, structure, value ) {
32
32
  const { simpleDT, walk } = dependencies;
33
33
  let res = simpleDT ();
34
- res.structure = walk ( structure )
34
+ res.structure = walk ({ data : structure })
35
35
  for ( const k in value ) {
36
36
  res.value[k] = value[k]
37
37
  }
package/src/lib/modify.js CHANGED
@@ -10,7 +10,7 @@ function modify ( dependencies, main, addData ) {
10
10
  result = modifier[action] ( mainData, update )
11
11
 
12
12
  let [structure, value ] = convert.from ( 'midFlat').toFlat ( dependencies, result )
13
- main.structure = walk ( structure )
13
+ main.structure = walk ({ data : structure })
14
14
  main.value = value
15
15
  return main
16
16
  } // modify func.
package/src/lib/parent.js CHANGED
@@ -9,7 +9,7 @@ function parent ( dependencies, me ) {
9
9
  let splited = key.split('/');
10
10
  if ( splited[2] == prop ) usedNumbers.push ( splited[1] )
11
11
  }
12
- function findUsedNumbers (obj, breadcrumbs ) {
12
+ function findUsedNumbers ({ value:obj, breadcrumbs }) {
13
13
  if ( breadcrumbs === 'root' ) return obj // Ignore top object
14
14
  let isRow = typeof obj[0] == 'string'; // Ignore row objects
15
15
  if ( isRow ) return obj
@@ -17,7 +17,10 @@ function parent ( dependencies, me ) {
17
17
  if ( name === prop ) usedNumbers.push ( location )
18
18
  return null
19
19
  }
20
- walk ( me.structure,[null, findUsedNumbers])
20
+ walk ({
21
+ data : me.structure,
22
+ objectCallback : findUsedNumbers
23
+ })
21
24
 
22
25
  selectedKeys = usedNumbers.reduce ( (res,location) => { // Collect props of used parent objects
23
26
  for (let key in me.value ) {
@@ -37,7 +40,7 @@ function parent ( dependencies, me ) {
37
40
  } // if where
38
41
  else result = selectedKeys
39
42
  me._select.value = help.updateSelection ( me._select.value, result )
40
- me._select.structure = walk ( me.structure )
43
+ me._select.structure = walk ({ data : me.structure })
41
44
  return me
42
45
  } // parent func.
43
46
 
package/src/main.js CHANGED
@@ -103,7 +103,7 @@ const mainlib = {
103
103
  if ( inData != null ) {
104
104
  // Note: Use method 'load' instead of 'init' if your data is 'flat'
105
105
  const [structure, value] = ( type == 'flat' || type == 'shortFlat' ) ? inData : convert.from(type).toFlat ( dependencies, inData )
106
- dt.structure = walk ( structure )
106
+ dt.structure = walk ({ data:structure })
107
107
  dt.value = value
108
108
  }
109
109
  if ( !modify ) return dt
@@ -165,7 +165,7 @@ const mainlib = {
165
165
 
166
166
  if ( options ) updateData = mainlib.init ( inData, options )
167
167
  else updateData = {
168
- structure : walk ( inData.structure )
168
+ structure : walk ({ data:inData.structure })
169
169
  , value : {...inData.value }
170
170
  }
171
171
  return dtlib.modify ( { ...mainlib.dependencies(), action:method}, me, updateData )
@@ -188,7 +188,7 @@ const mainlib = {
188
188
  ;
189
189
  if ( !result ) return me
190
190
  let [struct, val] = convert.from ( 'midFlat').toFlat ( mainlib.dependencies(), result )
191
- me.structure = walk ( struct )
191
+ me.structure = walk ({ data:struct })
192
192
  me.value = {...val}
193
193
  me._select.result = null
194
194
  return me
@@ -204,7 +204,7 @@ const mainlib = {
204
204
  , dependencies = { ...mainlib.dependencies(), location }
205
205
  ;
206
206
  let [structure, value ] = dtlib.attach ( dependencies, me )
207
- me.structure = walk ( structure )
207
+ me.structure = walk ({ data:structure })
208
208
  me.value = {...value}
209
209
  me._select.result = null
210
210
  return me
@@ -607,7 +607,7 @@ const mainlib = {
607
607
  else {
608
608
  let
609
609
  set = help.extractSelection ( me )
610
- , struct = walk ( me._select.structure )
610
+ , struct = walk ({ data:me._select.structure })
611
611
  ;
612
612
  selection = [ struct, set ]
613
613
  }