dt-toolbox 5.0.0 → 7.0.0
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 +15 -10
- package/LICENSE +1 -1
- package/Migration.guide.md +63 -1
- package/README.md +996 -346
- package/README_v.2.x.x.md +0 -1
- package/README_v.4.x.x.md +532 -0
- package/README_v.6.x.x.md +1158 -0
- package/package.json +21 -24
- package/src/convertors/index.js +43 -34
- package/src/convertors/midflat.js +76 -132
- package/src/convertors/standard.js +61 -86
- package/src/convertors/tuples.js +171 -0
- package/src/flatData/connect.js +50 -0
- package/src/flatData/export.js +46 -0
- package/src/flatData/filters/list.js +11 -0
- package/src/flatData/filters/listObject.js +13 -0
- package/src/flatData/filters/object.js +12 -0
- package/src/flatData/filters/root.js +12 -0
- package/src/flatData/find.js +20 -0
- package/src/flatData/from.js +33 -0
- package/src/flatData/get.js +29 -0
- package/src/flatData/index.js +101 -0
- package/src/flatData/insert.js +24 -0
- package/src/flatData/like.js +24 -0
- package/src/flatData/look.js +56 -0
- package/src/flatData/push.js +19 -0
- package/src/flatData/save.js +17 -0
- package/src/flatData/set.js +26 -0
- package/src/flatData/setupFilter.js +21 -0
- package/src/flatData/use.js +16 -0
- package/src/flatObject/copy.js +19 -0
- package/src/flatObject/export.js +13 -0
- package/src/flatObject/index.js +55 -0
- package/src/flatObject/insert.js +38 -0
- package/src/flatObject/model.js +32 -0
- package/src/flatObject/query.js +24 -0
- package/src/flatObject/setupFilter.js +12 -0
- package/src/main.js +21 -689
- package/src/mainLib.js +114 -0
- package/src/compareMethod/change.js +0 -21
- package/src/compareMethod/different.js +0 -18
- package/src/compareMethod/identical.js +0 -21
- package/src/compareMethod/index.js +0 -13
- package/src/compareMethod/missing.js +0 -18
- package/src/compareMethod/same.js +0 -18
- package/src/convertors/breadcrumbs.js +0 -148
- package/src/help/extractSelection.js +0 -12
- package/src/help/filterObject.js +0 -25
- package/src/help/hasNumbers.js +0 -14
- package/src/help/index.js +0 -35
- package/src/help/isItPrimitive.js +0 -10
- package/src/help/objectsByLevel.js +0 -16
- package/src/help/reduceTuples.js +0 -29
- package/src/help/sanitizeFlatKeys.js +0 -30
- package/src/help/toBreadcrumbsKeys.js +0 -28
- package/src/help/tuplesToBreadcrumbs.js +0 -25
- package/src/help/updateSelection.js +0 -12
- package/src/help/zipObject.js +0 -24
- package/src/lib/assemble.js +0 -45
- package/src/lib/attach.js +0 -20
- package/src/lib/block.js +0 -33
- package/src/lib/combine.js +0 -38
- package/src/lib/deep.js +0 -23
- package/src/lib/find.js +0 -36
- package/src/lib/folder.js +0 -42
- package/src/lib/index.js +0 -56
- package/src/lib/modify.js +0 -22
- package/src/lib/parent.js +0 -51
- package/src/lib/purify.js +0 -37
- package/src/lib/transform.js +0 -55
- package/src/modifiers/add.js +0 -18
- package/src/modifiers/append.js +0 -18
- package/src/modifiers/combineShallow.js +0 -119
- package/src/modifiers/flatten.js +0 -38
- package/src/modifiers/index.js +0 -34
- package/src/modifiers/insert.js +0 -21
- package/src/modifiers/keyPrefix.js +0 -27
- package/src/modifiers/mix.js +0 -25
- package/src/modifiers/overwrite.js +0 -18
- package/src/modifiers/prepend.js +0 -19
- package/src/modifiers/reverse.js +0 -23
- package/src/modifiers/update.js +0 -18
- package/src/simple.js +0 -49
package/src/modifiers/index.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
// NOTE: modifiers require a midFlat data-type for mainData and update
|
|
2
|
-
import overwrite from './overwrite.js'
|
|
3
|
-
import update from './update.js'
|
|
4
|
-
import add from './add.js'
|
|
5
|
-
import insert from './insert.js'
|
|
6
|
-
import append from './append.js'
|
|
7
|
-
import prepend from './prepend.js'
|
|
8
|
-
import keyPrefix from './keyPrefix.js'
|
|
9
|
-
import flatten from './flatten.js'
|
|
10
|
-
import combineShallow from './combineShallow.js'
|
|
11
|
-
import mix from './mix.js'
|
|
12
|
-
import reverse from './reverse.js'
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const modifier = {
|
|
17
|
-
add
|
|
18
|
-
, update
|
|
19
|
-
, overwrite
|
|
20
|
-
, insert
|
|
21
|
-
, append
|
|
22
|
-
, prepend
|
|
23
|
-
, keyPrefix
|
|
24
|
-
, flatten
|
|
25
|
-
, combineShallow
|
|
26
|
-
, mix
|
|
27
|
-
, reverse
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
export default modifier
|
|
33
|
-
|
|
34
|
-
|
package/src/modifiers/insert.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
function insert ( mainData, update ) {
|
|
2
|
-
// *** Objects(midFlat) will be converted to arrays of values. Value will contain the collection of all values ( mainData and update)
|
|
3
|
-
for (const updateKey in update ) {
|
|
4
|
-
let
|
|
5
|
-
mainVals = Object.values ( mainData[updateKey])
|
|
6
|
-
, updateVals = Object.values ( update[updateKey] )
|
|
7
|
-
, mixed = mainVals.concat ( updateVals )
|
|
8
|
-
;
|
|
9
|
-
mainData[updateKey] = mixed.reduce ( (r,item,i) => {
|
|
10
|
-
r[i] = item
|
|
11
|
-
return r
|
|
12
|
-
}, {} )
|
|
13
|
-
}
|
|
14
|
-
return mainData
|
|
15
|
-
} // insert func.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
export default insert
|
|
20
|
-
|
|
21
|
-
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
function keyPrefix ( mainData, update ) {
|
|
2
|
-
let
|
|
3
|
-
keyList = Object.keys ( mainData )
|
|
4
|
-
, { separationSymbol } = update
|
|
5
|
-
;
|
|
6
|
-
return keyList.reduce ( (res,k) => {
|
|
7
|
-
let
|
|
8
|
-
name = k
|
|
9
|
-
.substr ( 5 )
|
|
10
|
-
.split ( '/' )
|
|
11
|
-
.join ( separationSymbol )
|
|
12
|
-
;
|
|
13
|
-
res[k] = {}
|
|
14
|
-
let localList = Object.keys ( mainData[k]);
|
|
15
|
-
localList.forEach ( kk => {
|
|
16
|
-
if ( k == 'root' ) res[k][kk] = mainData['root'][kk]
|
|
17
|
-
else res[k][`${name}${separationSymbol}${kk}`] = mainData[k][kk]
|
|
18
|
-
})
|
|
19
|
-
return res
|
|
20
|
-
}, {})
|
|
21
|
-
} // keyPrefix func.
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
export default keyPrefix
|
|
26
|
-
|
|
27
|
-
|
package/src/modifiers/mix.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import combineShallow from './combineShallow.js'
|
|
2
|
-
import combine from '../lib/combine.js'
|
|
3
|
-
|
|
4
|
-
function mix ( mainData, update ) {
|
|
5
|
-
const host = update.pop ();
|
|
6
|
-
let master = {};
|
|
7
|
-
|
|
8
|
-
master[host] = {...mainData[host]}
|
|
9
|
-
if ( !master['root'] ) master['root'] = {...mainData['root']}
|
|
10
|
-
|
|
11
|
-
return update.reduce ( (res,k) => {
|
|
12
|
-
let
|
|
13
|
-
mainObj = {root:{...res[host]}}
|
|
14
|
-
, upObj = {root: {...mainData[k]}}
|
|
15
|
-
;
|
|
16
|
-
res[host] = combineShallow ( mainObj, upObj ).root
|
|
17
|
-
return res
|
|
18
|
-
}, master )
|
|
19
|
-
} // mix func.
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
export default mix
|
|
24
|
-
|
|
25
|
-
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
function overwrite ( mainData, update ) {
|
|
2
|
-
for (const updateKey in update ) {
|
|
3
|
-
let selectObject = mainData[updateKey]
|
|
4
|
-
if ( !selectObject ) mainData[updateKey] = {...update[updateKey]}
|
|
5
|
-
else {
|
|
6
|
-
for (let prop in update[updateKey]) {
|
|
7
|
-
mainData[updateKey][prop] = update[updateKey][prop]
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
return mainData
|
|
12
|
-
} // overwrite func.
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
export default overwrite
|
|
17
|
-
|
|
18
|
-
|
package/src/modifiers/prepend.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
function prepend ( mainData, update ) {
|
|
2
|
-
// *** Concatinate values for duplicated props.
|
|
3
|
-
for (const updateKey in update ) {
|
|
4
|
-
if ( mainData[updateKey] ) {
|
|
5
|
-
for (let prop in update[updateKey]) {
|
|
6
|
-
const val = mainData[updateKey][prop];
|
|
7
|
-
if ( val ) mainData[updateKey][prop] = update[updateKey][prop] + val
|
|
8
|
-
else mainData[updateKey][prop] = update[updateKey][prop]
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
return mainData
|
|
13
|
-
} // prepend func.
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
export default prepend
|
|
18
|
-
|
|
19
|
-
|
package/src/modifiers/reverse.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
function reverse ( mainData, list ) {
|
|
2
|
-
let main = {...mainData };
|
|
3
|
-
for ( const name of list ) {
|
|
4
|
-
if ( main[name] ) {
|
|
5
|
-
let
|
|
6
|
-
source = {...main[name]}
|
|
7
|
-
, keys = Object.keys(source)
|
|
8
|
-
;
|
|
9
|
-
main[name] = {}
|
|
10
|
-
keys.forEach ( k => {
|
|
11
|
-
let v = source[k];
|
|
12
|
-
main[name][v] = k
|
|
13
|
-
})
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
return main
|
|
17
|
-
} // reverse func.
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
export default reverse
|
|
22
|
-
|
|
23
|
-
|
package/src/modifiers/update.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
function update ( mainData, update ) {
|
|
2
|
-
for (const updateKey in update ) {
|
|
3
|
-
if ( mainData.hasOwnProperty(updateKey) ) {
|
|
4
|
-
for (let prop in update[updateKey]) {
|
|
5
|
-
if ( mainData[updateKey].hasOwnProperty(prop) ) {
|
|
6
|
-
mainData[updateKey][prop] = update[updateKey][prop]
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
return mainData
|
|
12
|
-
} // update func.
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
export default update
|
|
17
|
-
|
|
18
|
-
|
package/src/simple.js
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const simple = { // * Simple instruments
|
|
6
|
-
|
|
7
|
-
notObject : function notObject ( str ) {
|
|
8
|
-
let result = false
|
|
9
|
-
if ( str == null ) { result = true }
|
|
10
|
-
if ( typeof str == 'string' ) { result = true }
|
|
11
|
-
if ( typeof str == 'number' ) { result = true }
|
|
12
|
-
if ( typeof str == 'boolean' ) { result = true }
|
|
13
|
-
if ( typeof str == 'function' ) { result = true }
|
|
14
|
-
return result
|
|
15
|
-
} // notObject func.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
, isObject : str => !simple.notObject(str)
|
|
20
|
-
, folderKind : test => test instanceof Array ? 'array' : 'object'
|
|
21
|
-
, getIterator : list => Object.keys ( list )
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
, removeLast ( path ) {
|
|
26
|
-
let list = path.split('/')
|
|
27
|
-
list.pop()
|
|
28
|
-
return list.join('/')
|
|
29
|
-
} // removeLast func.
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
, getPenult ( path ) {
|
|
34
|
-
let list = path.split ( '/' )
|
|
35
|
-
list.pop()
|
|
36
|
-
return list.pop()
|
|
37
|
-
} // getPenult func.
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
, getUlt ( path ) {
|
|
42
|
-
let list = path.split ( '/' )
|
|
43
|
-
return list.pop()
|
|
44
|
-
} // getUlt func.
|
|
45
|
-
|
|
46
|
-
} // simple
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
module.exports = simple
|