si-funciona 1.1.1 → 2.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 (95) hide show
  1. package/README.md +234 -327
  2. package/browser/siFunciona.js +2343 -1835
  3. package/browser/siFunciona.min.js +1 -1
  4. package/dist/helpers/arrays/addUniqueToArray.js +7 -7
  5. package/dist/helpers/arrays/buildArray.js +8 -8
  6. package/dist/helpers/arrays/buildArrayOfReferences.js +8 -8
  7. package/dist/helpers/arrays/compareArrays.js +57 -88
  8. package/dist/helpers/arrays/mergeArrays.js +6 -6
  9. package/dist/helpers/arrays/uniqueArray.js +6 -6
  10. package/dist/helpers/arrays.js +13 -13
  11. package/dist/helpers/arrays.min.js +1 -1
  12. package/dist/helpers/descriptors/assignDescriptor.js +9 -9
  13. package/dist/helpers/descriptors/assignDescriptor.min.js +1 -1
  14. package/dist/helpers/descriptors/assignDescriptorDetail.js +7 -7
  15. package/dist/helpers/descriptors/checkClearValues.js +7 -7
  16. package/dist/helpers/descriptors/checkDescriptorComplete.js +6 -6
  17. package/dist/helpers/descriptors/cloneDescriptor.js +13 -6
  18. package/dist/helpers/descriptors/cloneDescriptorDetail.js +7 -6
  19. package/dist/helpers/descriptors/compareDescriptor.js +7 -7
  20. package/dist/helpers/descriptors/describeObject.js +7 -6
  21. package/dist/helpers/descriptors/describeObjectDetail.js +8 -8
  22. package/dist/helpers/descriptors/describeObjectMap.js +13 -14
  23. package/dist/helpers/descriptors/describeObjectMap.min.js +1 -1
  24. package/dist/helpers/descriptors/nextReference.js +7 -7
  25. package/dist/helpers/descriptors/sameDescriptor.js +7 -7
  26. package/dist/helpers/descriptors/samples/descriptor.js +3 -14
  27. package/dist/helpers/descriptors/samples/descriptorDetail.js +3 -19
  28. package/dist/helpers/descriptors/samples/descriptorMap.js +3 -7
  29. package/dist/helpers/descriptors/samples/mappedDescriptorMap.js +3 -3
  30. package/dist/helpers/descriptors.js +19 -19
  31. package/dist/helpers/descriptors.min.js +1 -1
  32. package/dist/helpers/functions/callWithParams.js +8 -8
  33. package/dist/helpers/functions/curry.js +8 -8
  34. package/dist/helpers/functions/delay.js +6 -13
  35. package/dist/helpers/functions/onBodyLoad.js +36 -10
  36. package/dist/helpers/functions/onBodyLoad.min.js +1 -1
  37. package/dist/helpers/functions/pipe.js +7 -7
  38. package/dist/helpers/functions/preloadParams.js +9 -16
  39. package/dist/helpers/functions/queueManager.js +6 -14
  40. package/dist/helpers/functions/queueTimeout.js +6 -15
  41. package/dist/helpers/functions/relevancyFilter.js +0 -12
  42. package/dist/helpers/functions/trace.js +7 -7
  43. package/dist/helpers/functions.js +17 -17
  44. package/dist/helpers/functions.min.js +1 -1
  45. package/dist/helpers/numbers/absoluteMax.js +7 -7
  46. package/dist/helpers/numbers/absoluteMin.js +7 -7
  47. package/dist/helpers/numbers/compare.js +10 -10
  48. package/dist/helpers/numbers/randomInteger.js +10 -10
  49. package/dist/helpers/numbers/randomNumber.js +10 -10
  50. package/dist/helpers/numbers.js +12 -12
  51. package/dist/helpers/numbers.min.js +1 -1
  52. package/dist/helpers/objects/cloneObject.js +12 -12
  53. package/dist/helpers/objects/dotGet.js +8 -2
  54. package/dist/helpers/objects/dotGet.min.js +1 -1
  55. package/dist/helpers/objects/dotNotate.js +6 -16
  56. package/dist/helpers/objects/dotNotate.min.js +1 -1
  57. package/dist/helpers/objects/dotSet.js +8 -2
  58. package/dist/helpers/objects/dotSet.min.js +1 -1
  59. package/dist/helpers/objects/dotUnset.js +8 -2
  60. package/dist/helpers/objects/emptyObject.js +6 -6
  61. package/dist/helpers/objects/filterObject.js +10 -20
  62. package/dist/helpers/objects/isCloneable.js +6 -6
  63. package/dist/helpers/objects/isInstanceObject.js +6 -6
  64. package/dist/helpers/objects/isObject.js +6 -6
  65. package/dist/helpers/objects/mapObject.js +10 -19
  66. package/dist/helpers/objects/mergeObjects.js +7 -7
  67. package/dist/helpers/objects/mergeObjectsBase.js +18 -25
  68. package/dist/helpers/objects/mergeObjectsBase.min.js +1 -1
  69. package/dist/helpers/objects/mergeObjectsMutable.js +7 -7
  70. package/dist/helpers/objects/objectKeys.js +8 -8
  71. package/dist/helpers/objects/objectValues.js +8 -8
  72. package/dist/helpers/objects/reduceObject.js +12 -24
  73. package/dist/helpers/objects/setAndReturnValue.js +8 -8
  74. package/dist/helpers/objects/setValue.js +10 -9
  75. package/dist/helpers/objects.js +26 -26
  76. package/dist/helpers/objects.min.js +1 -1
  77. package/dist/helpers/strings/camelCase.js +8 -8
  78. package/dist/helpers/strings/camelCase.min.js +1 -1
  79. package/dist/helpers/strings/kabobCase.js +7 -7
  80. package/dist/helpers/strings/kabobCase.min.js +1 -1
  81. package/dist/helpers/strings/snakeCase.js +7 -7
  82. package/dist/helpers/strings/snakeCase.min.js +1 -1
  83. package/dist/helpers/strings/strAfter.js +8 -0
  84. package/dist/helpers/strings/strAfterLast.js +8 -0
  85. package/dist/helpers/strings/strBefore.js +8 -0
  86. package/dist/helpers/strings/strBeforeLast.js +8 -0
  87. package/dist/helpers/strings/titleCase.js +8 -8
  88. package/dist/helpers/strings/titleCase.min.js +1 -1
  89. package/dist/helpers/strings/ucFirst.js +6 -6
  90. package/dist/helpers/strings/words.js +6 -6
  91. package/dist/helpers/strings.js +17 -17
  92. package/dist/helpers/strings.min.js +1 -1
  93. package/dist/main.js +19 -14
  94. package/dist/main.min.js +1 -1
  95. package/package.json +4 -3
@@ -5,16 +5,16 @@ Object.defineProperty(exports, '__esModule', {
5
5
  })
6
6
  exports.default = void 0
7
7
  require('core-js/stable')
8
- /**
9
- * Create a single random integer within provide range. And with optional offset,
10
- * The distance between the result numbers can be adjusted with interval.
11
- * @function
12
- * @memberOf module:numberHelpers
13
- * @param {number} range - Choose the breadth of the random number (0-100 would be 100 for range)
14
- * @param {number} [offset=0] - Choose the starting number (1-10 would be 1 for offset, 9 for range)
15
- * @param {number} [interval=1] - Choose the distance between numbers (5, 10, 15 would be 5 for interval, 1 for
16
- * offset, 2 for range)
17
- * @returns {number}
8
+ /**
9
+ * Create a single random integer within provide range. And with optional offset,
10
+ * The distance between the result numbers can be adjusted with interval.
11
+ * @function
12
+ * @memberOf module:numberHelpers
13
+ * @param {number} range - Choose the breadth of the random number (0-100 would be 100 for range)
14
+ * @param {number} [offset=0] - Choose the starting number (1-10 would be 1 for offset, 9 for range)
15
+ * @param {number} [interval=1] - Choose the distance between numbers (5, 10, 15 would be 5 for interval, 1 for
16
+ * offset, 2 for range)
17
+ * @returns {number}
18
18
  */
19
19
  const randomInteger = function (range) {
20
20
  const offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0
@@ -5,16 +5,16 @@ Object.defineProperty(exports, '__esModule', {
5
5
  })
6
6
  exports.default = void 0
7
7
  require('core-js/stable')
8
- /**
9
- * Create a single random number within provided range. And with optional offset,
10
- * The distance between the result numbers can be adjusted with interval.
11
- * @function
12
- * @memberOf module:numberHelpers
13
- * @param {number} range - Choose the breadth of the random number (0-100 would be 100 for range)
14
- * @param {number} [offset=0] - Choose the starting number (1-10 would be 1 for offset, 9 for range)
15
- * @param {number} [interval=1] - Choose the distance between numbers (~5, ~10, ~15 would be 5 for interval, 1 for
16
- * offset, 2 for range)
17
- * @returns {number}
8
+ /**
9
+ * Create a single random number within provided range. And with optional offset,
10
+ * The distance between the result numbers can be adjusted with interval.
11
+ * @function
12
+ * @memberOf module:numberHelpers
13
+ * @param {number} range - Choose the breadth of the random number (0-100 would be 100 for range)
14
+ * @param {number} [offset=0] - Choose the starting number (1-10 would be 1 for offset, 9 for range)
15
+ * @param {number} [interval=1] - Choose the distance between numbers (~5, ~10, ~15 would be 5 for interval, 1 for
16
+ * offset, 2 for range)
17
+ * @returns {number}
18
18
  */
19
19
  const randomNumber = function (range) {
20
20
  const offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0
@@ -5,19 +5,19 @@ Object.defineProperty(exports, '__esModule', {
5
5
  })
6
6
  exports.default = void 0
7
7
  require('core-js/stable')
8
- var _absoluteMax = _interopRequireDefault(require('./numbers/absoluteMax.js'))
9
- var _absoluteMin = _interopRequireDefault(require('./numbers/absoluteMin.js'))
10
- var _compare = _interopRequireDefault(require('./numbers/compare.js'))
11
- var _randomInteger = _interopRequireDefault(require('./numbers/randomInteger.js'))
12
- var _randomNumber = _interopRequireDefault(require('./numbers/randomNumber.js'))
8
+ var _absoluteMax = _interopRequireDefault(require('./numbers/absoluteMax'))
9
+ var _absoluteMin = _interopRequireDefault(require('./numbers/absoluteMin'))
10
+ var _compare = _interopRequireDefault(require('./numbers/compare'))
11
+ var _randomInteger = _interopRequireDefault(require('./numbers/randomInteger'))
12
+ var _randomNumber = _interopRequireDefault(require('./numbers/randomNumber'))
13
13
  function _interopRequireDefault (obj) { return obj && obj.__esModule ? obj : { default: obj } }
14
- /**
15
- * Some number comparators and random number generators.
16
- * @file
17
- * @author Joshua Heagle <joshuaheagle@gmail.com>
18
- * @version 1.0.0
19
- * @module numberHelpers
20
- * @memberOf module:siFunciona
14
+ /**
15
+ * Some number comparators and random number generators.
16
+ * @file
17
+ * @author Joshua Heagle <joshuaheagle@gmail.com>
18
+ * @version 1.0.0
19
+ * @module numberHelpers
20
+ * @memberOf module:siFunciona
21
21
  */
22
22
  var _default = {
23
23
  absoluteMax: _absoluteMax.default,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,require("core-js/stable");var _absoluteMax=_interopRequireDefault(require("./numbers/absoluteMax.js")),_absoluteMin=_interopRequireDefault(require("./numbers/absoluteMin.js")),_compare=_interopRequireDefault(require("./numbers/compare.js")),_randomInteger=_interopRequireDefault(require("./numbers/randomInteger.js")),_randomNumber=_interopRequireDefault(require("./numbers/randomNumber.js"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default={absoluteMax:_absoluteMax.default,absoluteMin:_absoluteMin.default,compare:_compare.default,randomInteger:_randomInteger.default,randomNumber:_randomNumber.default};exports.default=_default;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,require("core-js/stable");var _absoluteMax=_interopRequireDefault(require("./numbers/absoluteMax")),_absoluteMin=_interopRequireDefault(require("./numbers/absoluteMin")),_compare=_interopRequireDefault(require("./numbers/compare")),_randomInteger=_interopRequireDefault(require("./numbers/randomInteger")),_randomNumber=_interopRequireDefault(require("./numbers/randomNumber"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default={absoluteMax:_absoluteMax.default,absoluteMin:_absoluteMin.default,compare:_compare.default,randomInteger:_randomInteger.default,randomNumber:_randomNumber.default};exports.default=_default;
@@ -7,18 +7,18 @@ exports.default = void 0
7
7
  require('core-js/stable')
8
8
  var _mergeObjectsBase = _interopRequireDefault(require('./mergeObjectsBase'))
9
9
  function _interopRequireDefault (obj) { return obj && obj.__esModule ? obj : { default: obj } }
10
- /**
11
- * Clone objects for manipulation without data corruption, returns a copy of the provided object.
12
- * NOTE: Use the mapLimit and relevancyRange to resolve "too much recursion" when the object is large and is known to
13
- * have circular references. A high mapLimit may lead to heavy memory usage and slow performance.
14
- * @function
15
- * @memberOf module:objectHelpers
16
- * @param {Object} object - The original object that is being cloned
17
- * @param {Object} [options={}]
18
- * @param {number} [options.mapLimit=100] - Size of temporary reference array used in memory before assessing relevancy.
19
- * @param {number} [options.depthLimit=-1] - Control how many nested levels deep will be used, -1 = no limit, >-1 = nth level limited.
20
- * @param {number} [options.relevancyRange=1000] - Total reference map length subtract this range, any relevancy less than that amount at time of evaluation will be removed.
21
- * @returns {Object}
10
+ /**
11
+ * Clone objects for manipulation without data corruption, returns a copy of the provided object.
12
+ * NOTE: Use the mapLimit and relevancyRange to resolve "too much recursion" when the object is large and is known to
13
+ * have circular references. A high mapLimit may lead to heavy memory usage and slow performance.
14
+ * @function
15
+ * @memberOf module:objectHelpers
16
+ * @param {Object} object - The original object that is being cloned
17
+ * @param {Object} [options={}]
18
+ * @param {number} [options.mapLimit=100] - Size of temporary reference array used in memory before assessing relevancy.
19
+ * @param {number} [options.depthLimit=-1] - Control how many nested levels deep will be used, -1 = no limit, >-1 = nth level limited.
20
+ * @param {number} [options.relevancyRange=1000] - Total reference map length subtract this range, any relevancy less than that amount at time of evaluation will be removed.
21
+ * @returns {Object}
22
22
  */
23
23
  const cloneObject = function (object) {
24
24
  const {
@@ -20,6 +20,7 @@ function _interopRequireDefault (obj) { return obj && obj.__esModule ? obj : { d
20
20
  */
21
21
  const dotGet = function (arrayObject, dotNotation) {
22
22
  const defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null
23
+ var _a
23
24
  let key = (0, _strBefore.default)(dotNotation, '.')
24
25
  const lastKey = !key
25
26
  if (lastKey) {
@@ -28,25 +29,30 @@ const dotGet = function (arrayObject, dotNotation) {
28
29
  if (key === '*') {
29
30
  const result = []
30
31
  for (const wildKey in arrayObject) {
32
+ // @ts-ignore
31
33
  const wildValue = arrayObject[wildKey]
32
34
  if (lastKey) {
35
+ // @ts-ignore
33
36
  result[wildKey] = wildValue
34
37
  continue
35
38
  }
36
39
  if (!(0, _isObject.default)(wildValue)) {
37
40
  continue
38
41
  }
42
+ // @ts-ignore
39
43
  result[wildKey] = dotGet(wildValue, (0, _strAfter.default)(dotNotation, '.'), defaultValue)
40
44
  }
41
45
  return result
42
46
  }
43
47
  if (lastKey) {
44
- var _arrayObject$dotNotat
45
- return (_arrayObject$dotNotat = arrayObject[dotNotation]) !== null && _arrayObject$dotNotat !== void 0 ? _arrayObject$dotNotat : defaultValue
48
+ // @ts-ignore
49
+ return (_a = arrayObject[dotNotation]) !== null && _a !== void 0 ? _a : defaultValue
46
50
  }
51
+ // @ts-ignore
47
52
  if (typeof arrayObject[key] === 'undefined') {
48
53
  return defaultValue
49
54
  }
55
+ // @ts-ignore
50
56
  const next = arrayObject[key]
51
57
  if (!(0, _isObject.default)(next)) {
52
58
  return defaultValue
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,require("core-js/stable");var _isObject=_interopRequireDefault(require("./isObject")),_strAfter=_interopRequireDefault(require("../strings/strAfter")),_strBefore=_interopRequireDefault(require("../strings/strBefore"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const dotGet=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,u=(0,_strBefore.default)(t,".");const i=!u;if(i&&(u=t),"*"===u){const u=[];for(let o in e){const s=e[o];i?u[o]=s:(0,_isObject.default)(s)&&(u[o]=dotGet(s,(0,_strAfter.default)(t,"."),r))}return u}var o;if(i)return null!==(o=e[t])&&void 0!==o?o:r;if(void 0===e[u])return r;const s=e[u];return(0,_isObject.default)(s)?dotGet(s,(0,_strAfter.default)(t,"."),r):r};var _default=dotGet;exports.default=_default;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,require("core-js/stable");var _isObject=_interopRequireDefault(require("./isObject")),_strAfter=_interopRequireDefault(require("../strings/strAfter")),_strBefore=_interopRequireDefault(require("../strings/strBefore"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const dotGet=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;var u;let i=(0,_strBefore.default)(t,".");const o=!i;if(o&&(i=t),"*"===i){const u=[];for(let i in e){const s=e[i];o?u[i]=s:(0,_isObject.default)(s)&&(u[i]=dotGet(s,(0,_strAfter.default)(t,"."),r))}return u}if(o)return null!==(u=e[t])&&void 0!==u?u:r;if(void 0===e[i])return r;const s=e[i];return(0,_isObject.default)(s)?dotGet(s,(0,_strAfter.default)(t,"."),r):r};var _default=dotGet;exports.default=_default;
@@ -10,18 +10,6 @@ require('core-js/modules/es.string.replace.js')
10
10
  require('core-js/stable')
11
11
  var _isObject = _interopRequireDefault(require('./isObject'))
12
12
  function _interopRequireDefault (obj) { return obj && obj.__esModule ? obj : { default: obj } }
13
- /**
14
- * A string representing the full-path to a property in an object. Each depth of the path is separated by a period.
15
- * @example 'a.b.c'
16
- * @typedef {string} DotNotationString
17
- * @memberOf module:objectHelpers
18
- */
19
-
20
- /**
21
- * An array or object where all properties have been flatted and keyed by a dot-notated string.
22
- * @typedef {Object.<DotNotationString, *>} DotNotatedObject
23
- * @memberOf module:objectHelpers
24
- */
25
13
  /**
26
14
  * Convert an array of keys into a regex, return a function to test if incoming keys match.
27
15
  * @inner
@@ -29,13 +17,14 @@ function _interopRequireDefault (obj) { return obj && obj.__esModule ? obj : { d
29
17
  * @param {Array.<DotNotationString>} [retainObjects=[]] - An array of keys to retain as objects
30
18
  * @returns {Function} The dot-notated array
31
19
  */
32
- const handleRetainObjects = retainObjects => {
20
+ const handleRetainObjects = function () {
21
+ let retainObjects = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []
33
22
  if (!retainObjects.length) {
34
23
  /**
35
24
  * Bypass the test function if there are no retainObjects.
36
25
  * @returns {false}
37
26
  */
38
- return () => false
27
+ return (currentKey, value, results) => false
39
28
  }
40
29
  retainObjects = retainObjects.map(key => key.replace('\.', '\\.'))
41
30
  const retainRegex = new RegExp('('.concat(retainObjects.join('|'), ')$'))
@@ -50,11 +39,11 @@ const handleRetainObjects = retainObjects => {
50
39
  if (!currentKey.match(retainRegex)) {
51
40
  return false
52
41
  }
42
+ // @ts-ignore
53
43
  results[currentKey] = value
54
44
  return true
55
45
  }
56
46
  }
57
-
58
47
  /**
59
48
  * The underlying logic function for converting arrays to dot-notation.
60
49
  * @inner
@@ -68,7 +57,9 @@ const handleRetainObjects = retainObjects => {
68
57
  const performDotNotate = function (arrayObject, didRetain) {
69
58
  const prepend = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ''
70
59
  const results = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}
60
+ // @ts-ignore
71
61
  for (const key in arrayObject) {
62
+ // @ts-ignore
72
63
  const value = arrayObject[key]
73
64
  const currentKey = ''.concat(prepend).concat(key)
74
65
  if (didRetain(currentKey, value, results)) {
@@ -82,7 +73,6 @@ const performDotNotate = function (arrayObject, didRetain) {
82
73
  }
83
74
  return results
84
75
  }
85
-
86
76
  /**
87
77
  * Convert an array or object to a single dimensional associative array with dot notation.
88
78
  * @function
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,require("core-js/modules/esnext.async-iterator.map.js"),require("core-js/modules/esnext.iterator.map.js"),require("core-js/modules/es.string.replace.js"),require("core-js/stable");var _isObject=_interopRequireDefault(require("./isObject"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const handleRetainObjects=e=>{if(!e.length)return()=>!1;e=e.map((e=>e.replace(".","\\.")));const t=new RegExp("(".concat(e.join("|"),")$"));return(e,r,o)=>!!e.match(t)&&(o[e]=r,!0)},performDotNotate=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};for(let n in e){const a=e[n],s="".concat(r).concat(n);t(s,a,o)||((0,_isObject.default)(a)?performDotNotate(a,t,"".concat(s,"."),o):o[s]=a)}return o},dotNotate=function(e){return performDotNotate(e,handleRetainObjects(arguments.length>1&&void 0!==arguments[1]?arguments[1]:[]))};var _default=dotNotate;exports.default=_default;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,require("core-js/modules/esnext.async-iterator.map.js"),require("core-js/modules/esnext.iterator.map.js"),require("core-js/modules/es.string.replace.js"),require("core-js/stable");var _isObject=_interopRequireDefault(require("./isObject"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const handleRetainObjects=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(!e.length)return(e,t,r)=>!1;e=e.map((e=>e.replace(".","\\.")));const t=new RegExp("(".concat(e.join("|"),")$"));return(e,r,o)=>!!e.match(t)&&(o[e]=r,!0)},performDotNotate=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};for(let n in e){const a=e[n],i="".concat(r).concat(n);t(i,a,o)||((0,_isObject.default)(a)?performDotNotate(a,t,"".concat(i,"."),o):o[i]=a)}return o},dotNotate=function(e){return performDotNotate(e,handleRetainObjects(arguments.length>1&&void 0!==arguments[1]?arguments[1]:[]))};var _default=dotNotate;exports.default=_default;
@@ -19,8 +19,8 @@ function _interopRequireDefault (obj) { return obj && obj.__esModule ? obj : { d
19
19
  * @returns {Object} The modified object
20
20
  */
21
21
  const dotSet = function (arrayObject, dotNotation) {
22
- var _arrayObject$key
23
22
  const value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null
23
+ var _a
24
24
  let key = (0, _strBefore.default)(dotNotation, '.')
25
25
  const lastKey = !key
26
26
  if (lastKey) {
@@ -29,21 +29,27 @@ const dotSet = function (arrayObject, dotNotation) {
29
29
  if (key === '*') {
30
30
  for (const wildKey in arrayObject) {
31
31
  if (lastKey) {
32
+ // @ts-ignore
32
33
  arrayObject[wildKey] = value
33
34
  continue
34
35
  }
36
+ // @ts-ignore
35
37
  if (!(0, _isObject.default)(arrayObject[wildKey])) {
36
38
  continue
37
39
  }
40
+ // @ts-ignore
38
41
  dotSet(arrayObject[wildKey], (0, _strAfter.default)(dotNotation, '.'), value)
39
42
  }
40
43
  return arrayObject
41
44
  }
42
45
  if (lastKey) {
46
+ // @ts-ignore
43
47
  arrayObject[dotNotation] = value
44
48
  return arrayObject
45
49
  }
46
- const next = (_arrayObject$key = arrayObject[key]) !== null && _arrayObject$key !== void 0 ? _arrayObject$key : []
50
+ // @ts-ignore
51
+ const next = (_a = arrayObject[key]) !== null && _a !== void 0 ? _a : []
52
+ // @ts-ignore
47
53
  arrayObject[key] = dotSet(next, (0, _strAfter.default)(dotNotation, '.'), value)
48
54
  return arrayObject
49
55
  }
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,require("core-js/stable");var _isObject=_interopRequireDefault(require("./isObject")),_strAfter=_interopRequireDefault(require("../strings/strAfter")),_strBefore=_interopRequireDefault(require("../strings/strBefore"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const dotSet=function(e,t){var r;let u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=(0,_strBefore.default)(t,".");const o=!i;if(o&&(i=t),"*"===i){for(let r in e)o?e[r]=u:(0,_isObject.default)(e[r])&&dotSet(e[r],(0,_strAfter.default)(t,"."),u);return e}if(o)return e[t]=u,e;const f=null!==(r=e[i])&&void 0!==r?r:[];return e[i]=dotSet(f,(0,_strAfter.default)(t,"."),u),e};var _default=dotSet;exports.default=_default;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,require("core-js/stable");var _isObject=_interopRequireDefault(require("./isObject")),_strAfter=_interopRequireDefault(require("../strings/strAfter")),_strBefore=_interopRequireDefault(require("../strings/strBefore"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const dotSet=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;var u;let i=(0,_strBefore.default)(t,".");const o=!i;if(o&&(i=t),"*"===i){for(let u in e)o?e[u]=r:(0,_isObject.default)(e[u])&&dotSet(e[u],(0,_strAfter.default)(t,"."),r);return e}if(o)return e[t]=r,e;const f=null!==(u=e[i])&&void 0!==u?u:[];return e[i]=dotSet(f,(0,_strAfter.default)(t,"."),r),e};var _default=dotSet;exports.default=_default;
@@ -18,7 +18,7 @@ function _interopRequireDefault (obj) { return obj && obj.__esModule ? obj : { d
18
18
  * @returns {Object} The modified object
19
19
  */
20
20
  const dotUnset = (arrayObject, dotNotation) => {
21
- var _arrayObject$key
21
+ var _a
22
22
  let key = (0, _strBefore.default)(dotNotation, '.')
23
23
  const lastKey = !key
24
24
  if (lastKey) {
@@ -27,21 +27,27 @@ const dotUnset = (arrayObject, dotNotation) => {
27
27
  if (key === '*') {
28
28
  for (const wildKey in arrayObject) {
29
29
  if (lastKey) {
30
+ // @ts-ignore
30
31
  delete arrayObject[wildKey]
31
32
  continue
32
33
  }
34
+ // @ts-ignore
33
35
  if (!(0, _isObject.default)(arrayObject[wildKey])) {
34
36
  continue
35
37
  }
38
+ // @ts-ignore
36
39
  dotUnset(arrayObject[wildKey], (0, _strAfter.default)(dotNotation, '.'))
37
40
  }
38
41
  return arrayObject
39
42
  }
40
43
  if (lastKey) {
44
+ // @ts-ignore
41
45
  delete arrayObject[dotNotation]
42
46
  return arrayObject
43
47
  }
44
- const next = (_arrayObject$key = arrayObject[key]) !== null && _arrayObject$key !== void 0 ? _arrayObject$key : []
48
+ // @ts-ignore
49
+ const next = (_a = arrayObject[key]) !== null && _a !== void 0 ? _a : []
50
+ // @ts-ignore
45
51
  arrayObject[key] = dotUnset(next, (0, _strAfter.default)(dotNotation, '.'))
46
52
  return arrayObject
47
53
  }
@@ -8,12 +8,12 @@ require('core-js/stable')
8
8
  var _isObject = _interopRequireDefault(require('./isObject'))
9
9
  var _objectKeys = _interopRequireDefault(require('./objectKeys'))
10
10
  function _interopRequireDefault (obj) { return obj && obj.__esModule ? obj : { default: obj } }
11
- /**
12
- * Helper function for testing if the item is an Object or Array that does not have any properties
13
- * @function
14
- * @memberOf module:objectHelpers
15
- * @param {Object|Array} item - Object or Array to test
16
- * @returns {boolean}
11
+ /**
12
+ * Helper function for testing if the item is an Object or Array that does not have any properties
13
+ * @function
14
+ * @memberOf module:objectHelpers
15
+ * @param {Object|Array} item - Object or Array to test
16
+ * @returns {boolean}
17
17
  */
18
18
  const emptyObject = item => (typeof item === 'function' || (0, _isObject.default)(item)) && !(0, _objectKeys.default)(item).length
19
19
  var _default = emptyObject
@@ -13,26 +13,16 @@ require('core-js/stable')
13
13
  var _callWithParams = _interopRequireDefault(require('../functions/callWithParams'))
14
14
  var _objectKeys = _interopRequireDefault(require('./objectKeys'))
15
15
  function _interopRequireDefault (obj) { return obj && obj.__esModule ? obj : { default: obj } }
16
- /**
17
- * Function is a predicate, to test each property value of the object. Return true to keep the element, false
18
- * otherwise, taking three arguments
19
- * @callback module:objectHelpers~filterCallback
20
- * @memberOf module:objectHelpers
21
- * @param {*} currentProperty - The current property being processed in the object.
22
- * @param {string} [currentIndex] - The property name of the current property being processed in the object.
23
- * @param {Object|Array} [object] - The object filter was called upon.
24
- * @returns {boolean}
25
- */
26
- /**
27
- * This function is intended to replicate behaviour of the Array.filter() function but for Objects.
28
- * If an array is passed in instead then it will perform standard filter(). It is recommended to
29
- * always use the standard filter() function when it is known that the object is actually an array.
30
- * @function
31
- * @memberOf module:objectHelpers
32
- * @param {Object|Array} obj - The Object (or Array) to be filtered
33
- * @param {module:objectHelpers~filterCallback|Function} fn - The function to be processed for each filtered property
34
- * @param {Object|Array} [thisArg] - Optional. Value to use as this when executing callback.
35
- * @returns {Object|Array}
16
+ /**
17
+ * This function is intended to replicate behaviour of the Array.filter() function but for Objects.
18
+ * If an array is passed in instead then it will perform standard filter(). It is recommended to
19
+ * always use the standard filter() function when it is known that the object is actually an array.
20
+ * @function
21
+ * @memberOf module:objectHelpers
22
+ * @param {Object|Array} obj - The Object (or Array) to be filtered
23
+ * @param {module:objectHelpers~filterCallback|Function} fn - The function to be processed for each filtered property
24
+ * @param {Object|Array} [thisArg] - Optional. Value to use as this when executing callback.
25
+ * @returns {Object|Array}
36
26
  */
37
27
  const filterObject = function (obj, fn) {
38
28
  const thisArg = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined
@@ -7,12 +7,12 @@ exports.default = void 0
7
7
  require('core-js/stable')
8
8
  var _isInstanceObject = _interopRequireDefault(require('./isInstanceObject'))
9
9
  function _interopRequireDefault (obj) { return obj && obj.__esModule ? obj : { default: obj } }
10
- /**
11
- * Determine if the value is a reference instance
12
- * @function
13
- * @memberOf module:objectHelpers
14
- * @param {Array|Object|*} value
15
- * @returns {boolean}
10
+ /**
11
+ * Determine if the value is a reference instance
12
+ * @function
13
+ * @memberOf module:objectHelpers
14
+ * @param {Array|Object|*} value
15
+ * @returns {boolean}
16
16
  */
17
17
  const isCloneable = value => typeof value === 'object' && value !== null && !(0, _isInstanceObject.default)(value)
18
18
  var _default = isCloneable
@@ -8,12 +8,12 @@ require('core-js/stable')
8
8
  var _isObject = _interopRequireDefault(require('./isObject'))
9
9
  var _objectKeys = _interopRequireDefault(require('./objectKeys'))
10
10
  function _interopRequireDefault (obj) { return obj && obj.__esModule ? obj : { default: obj } }
11
- /**
12
- * Check if the current object has inherited properties.
13
- * @function
14
- * @memberOf module:objectHelpers
15
- * @param {Object|Array} object
16
- * @returns {boolean}
11
+ /**
12
+ * Check if the current object has inherited properties.
13
+ * @function
14
+ * @memberOf module:objectHelpers
15
+ * @param {Object|Array} object
16
+ * @returns {boolean}
17
17
  */
18
18
  const isInstanceObject = object => {
19
19
  if (typeof object !== 'function' && !(0, _isObject.default)(object)) {
@@ -5,12 +5,12 @@ Object.defineProperty(exports, '__esModule', {
5
5
  })
6
6
  exports.default = void 0
7
7
  require('core-js/stable')
8
- /**
9
- * Check if the provided thing is an object / array.
10
- * @function
11
- * @memberOf module:objectHelpers
12
- * @param {*} object
13
- * @returns {boolean}
8
+ /**
9
+ * Check if the provided thing is an object / array.
10
+ * @function
11
+ * @memberOf module:objectHelpers
12
+ * @param {*} object
13
+ * @returns {boolean}
14
14
  */
15
15
  const isObject = object => typeof object === 'object' && object !== null
16
16
  var _default = isObject
@@ -14,25 +14,16 @@ var _callWithParams = _interopRequireDefault(require('../functions/callWithParam
14
14
  var _objectKeys = _interopRequireDefault(require('./objectKeys'))
15
15
  var _setValue = _interopRequireDefault(require('./setValue'))
16
16
  function _interopRequireDefault (obj) { return obj && obj.__esModule ? obj : { default: obj } }
17
- /**
18
- * Function that produces a property of the new Object, taking three arguments
19
- * @callback module:objectHelpers~mapCallback
20
- * @memberOf module:objectHelpers
21
- * @param {*} currentProperty - The current property being processed in the object.
22
- * @param {string} [currentIndex] - The property name of the current property being processed in the object.
23
- * @param {Object|Array} [object] - The object map was called upon.
24
- * @returns {*}
25
- */
26
- /**
27
- * This function is intended to replicate behaviour of the Array.map() function but for Objects.
28
- * If an array is passed in instead then it will perform standard map(). It is recommended to
29
- * always use the standard map() function when it is known that the object is actually an array.
30
- * @function
31
- * @memberOf module:objectHelpers
32
- * @param {Object|Array} obj - The Object (or Array) to be mapped
33
- * @param {module:objectHelpers~mapCallback|Function} fn - The function to be processed for each mapped property
34
- * @param {Object|Array} [thisArg] - Optional. Value to use as this when executing callback.
35
- * @returns {Object|Array}
17
+ /**
18
+ * This function is intended to replicate behaviour of the Array.map() function but for Objects.
19
+ * If an array is passed in instead then it will perform standard map(). It is recommended to
20
+ * always use the standard map() function when it is known that the object is actually an array.
21
+ * @function
22
+ * @memberOf module:objectHelpers
23
+ * @param {Object|Array} obj - The Object (or Array) to be mapped
24
+ * @param {module:objectHelpers~mapCallback|Function} fn - The function to be processed for each mapped property
25
+ * @param {Object|Array} [thisArg] - Optional. Value to use as this when executing callback.
26
+ * @returns {Object|Array}
36
27
  */
37
28
  const mapObject = function (obj, fn) {
38
29
  const thisArg = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined
@@ -7,13 +7,13 @@ exports.default = void 0
7
7
  require('core-js/stable')
8
8
  var _mergeObjectsBase = _interopRequireDefault(require('./mergeObjectsBase'))
9
9
  function _interopRequireDefault (obj) { return obj && obj.__esModule ? obj : { default: obj } }
10
- /**
11
- * Uses mergeObjectsBase deep merge objects and arrays, merge by value.
12
- * @function
13
- * @memberOf module:objectHelpers
14
- * @see {@link module:objectHelpers~mergeObjectsCallback}
15
- * @param {...Object} objects - Provide a list of objects which will be merged starting from the end up into the first
16
- * @returns {*}
10
+ /**
11
+ * Uses mergeObjectsBase deep merge objects and arrays, merge by value.
12
+ * @function
13
+ * @memberOf module:objectHelpers
14
+ * @see {@link module:objectHelpers~mergeObjectsCallback}
15
+ * @param {...Object} objects - Provide a list of objects which will be merged starting from the end up into the first
16
+ * @returns {*}
17
17
  */
18
18
  const mergeObjects = (0, _mergeObjectsBase.default)({
19
19
  useClone: true
@@ -12,32 +12,25 @@ require('core-js/modules/esnext.iterator.reduce.js')
12
12
  require('core-js/modules/esnext.async-iterator.find.js')
13
13
  require('core-js/modules/esnext.iterator.find.js')
14
14
  require('core-js/stable')
15
- var _isCloneable = _interopRequireDefault(require('./isCloneable.js'))
16
- var _reduceObject = _interopRequireDefault(require('./reduceObject.js'))
17
- var _relevancyFilter = _interopRequireDefault(require('../functions/relevancyFilter.js'))
18
- var _setValue = _interopRequireDefault(require('./setValue.js'))
15
+ var _isCloneable = _interopRequireDefault(require('./isCloneable'))
16
+ var _reduceObject = _interopRequireDefault(require('./reduceObject'))
17
+ var _relevancyFilter = _interopRequireDefault(require('../functions/relevancyFilter'))
18
+ var _setValue = _interopRequireDefault(require('./setValue'))
19
19
  function _interopRequireDefault (obj) { return obj && obj.__esModule ? obj : { default: obj } }
20
- /**
21
- * Function that takes one or more objects and combines them into one.
22
- * @typedef {Function} module:objectHelpers~mergeObjectsCallback
23
- * @memberOf module:objectHelpers
24
- * @param {...Object} objects - Provide a list of objects which will be merged starting from the end up into the first
25
- * @returns {*}
26
- */
27
- /**
28
- * Perform a deep merge of objects. This will return a function that will combine all objects and sub-objects.
29
- * Objects having the same attributes will overwrite from last object to first.
30
- * NOTE: Use the mapLimit and relevancyRange to resolve "too much recursion" when the object is large and is known to
31
- * have circular references. A high mapLimit may lead to heavy memory usage and slow performance.
32
- * @function
33
- * @memberOf module:objectHelpers
34
- * @param {Object} [options={}]
35
- * @param {number} [options.mapLimit=100] - Size of temporary reference array used in memory before assessing relevancy.
36
- * @param {number} [options.depthLimit=-1] - Control how many nested levels deep will be used, -1 = no limit, >-1 = nth level limited.
37
- * @param {number} [options.relevancyRange=1000] - Total reference map length subtract this range, any relevancy less than that amount at time of evaluation will be removed.
38
- * @param {Iterable|array} [options.map=[]] - A predetermined list of references gathered (to be passed to itself during recursion).
39
- * @param {boolean} [options.useClone=false]
40
- * @returns {module:objectHelpers~mergeObjectsCallback}
20
+ /**
21
+ * Perform a deep merge of objects. This will return a function that will combine all objects and sub-objects.
22
+ * Objects having the same attributes will overwrite from last object to first.
23
+ * NOTE: Use the mapLimit and relevancyRange to resolve "too much recursion" when the object is large and is known to
24
+ * have circular references. A high mapLimit may lead to heavy memory usage and slow performance.
25
+ * @function
26
+ * @memberOf module:objectHelpers
27
+ * @param {Object} [options={}]
28
+ * @param {number} [options.mapLimit=100] - Size of temporary reference array used in memory before assessing relevancy.
29
+ * @param {number} [options.depthLimit=-1] - Control how many nested levels deep will be used, -1 = no limit, >-1 = nth level limited.
30
+ * @param {number} [options.relevancyRange=1000] - Total reference map length subtract this range, any relevancy less than that amount at time of evaluation will be removed.
31
+ * @param {Iterable|array} [options.map=[]] - A predetermined list of references gathered (to be passed to itself during recursion).
32
+ * @param {boolean} [options.useClone=false]
33
+ * @returns {module:objectHelpers~mergeObjectsCallback|mergeObjectsCallback}
41
34
  */
42
35
  const mergeObjectsBase = function () {
43
36
  let {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,require("core-js/modules/esnext.async-iterator.map.js"),require("core-js/modules/esnext.iterator.map.js"),require("core-js/modules/esnext.async-iterator.reduce.js"),require("core-js/modules/esnext.iterator.constructor.js"),require("core-js/modules/esnext.iterator.reduce.js"),require("core-js/modules/esnext.async-iterator.find.js"),require("core-js/modules/esnext.iterator.find.js"),require("core-js/stable");var _isCloneable=_interopRequireDefault(require("./isCloneable.js")),_reduceObject=_interopRequireDefault(require("./reduceObject.js")),_relevancyFilter=_interopRequireDefault(require("../functions/relevancyFilter.js")),_setValue=_interopRequireDefault(require("./setValue.js"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const mergeObjectsBase=function(){let{mapLimit:e=100,depthLimit:r=-1,relevancyRange:t=1e3,map:u=[],useClone:a=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(){for(var s=arguments.length,l=new Array(s),i=0;i<s;i++)l[i]=arguments[i];const n=a?Array.isArray(l[0])?[]:{}:l.shift();return l.length<1||0===r?n:l.reduce(((s,l)=>l?(u.push({source:l,object:s,relevance:u.length}),u=(0,_relevancyFilter.default)(u,{mapLimit:e,relevancyRange:t}),(0,_reduceObject.default)(l,((l,i,n)=>{if((0,_isCloneable.default)(i)){let o=s[n];const c=u.find((e=>e.source===i));if(c)return c.relevance=u.length+1,(0,_setValue.default)(n,c.object,l);if((0,_isCloneable.default)(o)&&o||(o=a?Array.isArray(i)?[]:{}:i),(0,_isCloneable.default)(o))return(0,_setValue.default)(n,mergeObjectsBase({mapLimit:e,depthLimit:r-1,relevancyRange:t,map:u,useClone:a})(o,i),l);u.push({source:i,object:o,relevance:u.length}),u=(0,_relevancyFilter.default)(u,{mapLimit:e,relevancyRange:t})}return(0,_setValue.default)(n,i,l)}),s)):s),n||{})}};var _default=mergeObjectsBase;exports.default=_default;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,require("core-js/modules/esnext.async-iterator.map.js"),require("core-js/modules/esnext.iterator.map.js"),require("core-js/modules/esnext.async-iterator.reduce.js"),require("core-js/modules/esnext.iterator.constructor.js"),require("core-js/modules/esnext.iterator.reduce.js"),require("core-js/modules/esnext.async-iterator.find.js"),require("core-js/modules/esnext.iterator.find.js"),require("core-js/stable");var _isCloneable=_interopRequireDefault(require("./isCloneable")),_reduceObject=_interopRequireDefault(require("./reduceObject")),_relevancyFilter=_interopRequireDefault(require("../functions/relevancyFilter")),_setValue=_interopRequireDefault(require("./setValue"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const mergeObjectsBase=function(){let{mapLimit:e=100,depthLimit:r=-1,relevancyRange:t=1e3,map:u=[],useClone:a=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(){for(var s=arguments.length,l=new Array(s),i=0;i<s;i++)l[i]=arguments[i];const n=a?Array.isArray(l[0])?[]:{}:l.shift();return l.length<1||0===r?n:l.reduce(((s,l)=>l?(u.push({source:l,object:s,relevance:u.length}),u=(0,_relevancyFilter.default)(u,{mapLimit:e,relevancyRange:t}),(0,_reduceObject.default)(l,((l,i,n)=>{if((0,_isCloneable.default)(i)){let o=s[n];const c=u.find((e=>e.source===i));if(c)return c.relevance=u.length+1,(0,_setValue.default)(n,c.object,l);if((0,_isCloneable.default)(o)&&o||(o=a?Array.isArray(i)?[]:{}:i),(0,_isCloneable.default)(o))return(0,_setValue.default)(n,mergeObjectsBase({mapLimit:e,depthLimit:r-1,relevancyRange:t,map:u,useClone:a})(o,i),l);u.push({source:i,object:o,relevance:u.length}),u=(0,_relevancyFilter.default)(u,{mapLimit:e,relevancyRange:t})}return(0,_setValue.default)(n,i,l)}),s)):s),n||{})}};var _default=mergeObjectsBase;exports.default=_default;
@@ -7,13 +7,13 @@ exports.default = void 0
7
7
  require('core-js/stable')
8
8
  var _mergeObjectsBase = _interopRequireDefault(require('./mergeObjectsBase'))
9
9
  function _interopRequireDefault (obj) { return obj && obj.__esModule ? obj : { default: obj } }
10
- /**
11
- * Uses mergeObjectsBase deep merge objects and arrays, merge by reference.
12
- * @function
13
- * @memberOf module:objectHelpers
14
- * @see {@link module:objectHelpers~mergeObjectsCallback}
15
- * @param {...Object} objects - Provide a list of objects which will be merged starting from the end up into the first
16
- * @returns {*}
10
+ /**
11
+ * Uses mergeObjectsBase deep merge objects and arrays, merge by reference.
12
+ * @function
13
+ * @memberOf module:objectHelpers
14
+ * @see {@link module:objectHelpers~mergeObjectsCallback}
15
+ * @param {...Object} objects - Provide a list of objects which will be merged starting from the end up into the first
16
+ * @returns {*}
17
17
  */
18
18
  const mergeObjectsMutable = (0, _mergeObjectsBase.default)()
19
19
  var _default = mergeObjectsMutable