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.
Files changed (83) hide show
  1. package/Changelog.md +15 -10
  2. package/LICENSE +1 -1
  3. package/Migration.guide.md +63 -1
  4. package/README.md +996 -346
  5. package/README_v.2.x.x.md +0 -1
  6. package/README_v.4.x.x.md +532 -0
  7. package/README_v.6.x.x.md +1158 -0
  8. package/package.json +21 -24
  9. package/src/convertors/index.js +43 -34
  10. package/src/convertors/midflat.js +76 -132
  11. package/src/convertors/standard.js +61 -86
  12. package/src/convertors/tuples.js +171 -0
  13. package/src/flatData/connect.js +50 -0
  14. package/src/flatData/export.js +46 -0
  15. package/src/flatData/filters/list.js +11 -0
  16. package/src/flatData/filters/listObject.js +13 -0
  17. package/src/flatData/filters/object.js +12 -0
  18. package/src/flatData/filters/root.js +12 -0
  19. package/src/flatData/find.js +20 -0
  20. package/src/flatData/from.js +33 -0
  21. package/src/flatData/get.js +29 -0
  22. package/src/flatData/index.js +101 -0
  23. package/src/flatData/insert.js +24 -0
  24. package/src/flatData/like.js +24 -0
  25. package/src/flatData/look.js +56 -0
  26. package/src/flatData/push.js +19 -0
  27. package/src/flatData/save.js +17 -0
  28. package/src/flatData/set.js +26 -0
  29. package/src/flatData/setupFilter.js +21 -0
  30. package/src/flatData/use.js +16 -0
  31. package/src/flatObject/copy.js +19 -0
  32. package/src/flatObject/export.js +13 -0
  33. package/src/flatObject/index.js +55 -0
  34. package/src/flatObject/insert.js +38 -0
  35. package/src/flatObject/model.js +32 -0
  36. package/src/flatObject/query.js +24 -0
  37. package/src/flatObject/setupFilter.js +12 -0
  38. package/src/main.js +21 -689
  39. package/src/mainLib.js +114 -0
  40. package/src/compareMethod/change.js +0 -21
  41. package/src/compareMethod/different.js +0 -18
  42. package/src/compareMethod/identical.js +0 -21
  43. package/src/compareMethod/index.js +0 -13
  44. package/src/compareMethod/missing.js +0 -18
  45. package/src/compareMethod/same.js +0 -18
  46. package/src/convertors/breadcrumbs.js +0 -148
  47. package/src/help/extractSelection.js +0 -12
  48. package/src/help/filterObject.js +0 -25
  49. package/src/help/hasNumbers.js +0 -14
  50. package/src/help/index.js +0 -35
  51. package/src/help/isItPrimitive.js +0 -10
  52. package/src/help/objectsByLevel.js +0 -16
  53. package/src/help/reduceTuples.js +0 -29
  54. package/src/help/sanitizeFlatKeys.js +0 -30
  55. package/src/help/toBreadcrumbsKeys.js +0 -28
  56. package/src/help/tuplesToBreadcrumbs.js +0 -25
  57. package/src/help/updateSelection.js +0 -12
  58. package/src/help/zipObject.js +0 -24
  59. package/src/lib/assemble.js +0 -45
  60. package/src/lib/attach.js +0 -20
  61. package/src/lib/block.js +0 -33
  62. package/src/lib/combine.js +0 -38
  63. package/src/lib/deep.js +0 -23
  64. package/src/lib/find.js +0 -36
  65. package/src/lib/folder.js +0 -42
  66. package/src/lib/index.js +0 -56
  67. package/src/lib/modify.js +0 -22
  68. package/src/lib/parent.js +0 -51
  69. package/src/lib/purify.js +0 -37
  70. package/src/lib/transform.js +0 -55
  71. package/src/modifiers/add.js +0 -18
  72. package/src/modifiers/append.js +0 -18
  73. package/src/modifiers/combineShallow.js +0 -119
  74. package/src/modifiers/flatten.js +0 -38
  75. package/src/modifiers/index.js +0 -34
  76. package/src/modifiers/insert.js +0 -21
  77. package/src/modifiers/keyPrefix.js +0 -27
  78. package/src/modifiers/mix.js +0 -25
  79. package/src/modifiers/overwrite.js +0 -18
  80. package/src/modifiers/prepend.js +0 -19
  81. package/src/modifiers/reverse.js +0 -23
  82. package/src/modifiers/update.js +0 -18
  83. package/src/simple.js +0 -49
@@ -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
-
@@ -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
-
@@ -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
-
@@ -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
-
@@ -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
-
@@ -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