si-funciona 1.2.0 → 2.0.1

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 (168) hide show
  1. package/README.md +234 -327
  2. package/browser/siFunciona.js +735 -747
  3. package/browser/siFunciona.min.js +1 -1
  4. package/dist/helpers/arrays/addUniqueToArray.d.ts +11 -0
  5. package/dist/helpers/arrays/addUniqueToArray.js +7 -7
  6. package/dist/helpers/arrays/buildArray.d.ts +12 -0
  7. package/dist/helpers/arrays/buildArray.js +8 -8
  8. package/dist/helpers/arrays/buildArrayOfReferences.d.ts +12 -0
  9. package/dist/helpers/arrays/buildArrayOfReferences.js +8 -8
  10. package/dist/helpers/arrays/compareArrays.d.ts +98 -0
  11. package/dist/helpers/arrays/compareArrays.js +57 -88
  12. package/dist/helpers/arrays/mergeArrays.d.ts +10 -0
  13. package/dist/helpers/arrays/mergeArrays.js +6 -6
  14. package/dist/helpers/arrays/uniqueArray.d.ts +10 -0
  15. package/dist/helpers/arrays/uniqueArray.js +6 -6
  16. package/dist/helpers/arrays.d.ts +18 -0
  17. package/dist/helpers/arrays.js +13 -13
  18. package/dist/helpers/arrays.min.js +1 -1
  19. package/dist/helpers/descriptors/assignDescriptor.d.ts +12 -0
  20. package/dist/helpers/descriptors/assignDescriptor.js +9 -9
  21. package/dist/helpers/descriptors/assignDescriptor.min.js +1 -1
  22. package/dist/helpers/descriptors/assignDescriptorDetail.d.ts +12 -0
  23. package/dist/helpers/descriptors/assignDescriptorDetail.js +7 -7
  24. package/dist/helpers/descriptors/checkClearValues.d.ts +12 -0
  25. package/dist/helpers/descriptors/checkClearValues.js +7 -7
  26. package/dist/helpers/descriptors/checkDescriptorComplete.d.ts +11 -0
  27. package/dist/helpers/descriptors/checkDescriptorComplete.js +6 -6
  28. package/dist/helpers/descriptors/cloneDescriptor.d.ts +11 -0
  29. package/dist/helpers/descriptors/cloneDescriptor.js +13 -6
  30. package/dist/helpers/descriptors/cloneDescriptorDetail.d.ts +11 -0
  31. package/dist/helpers/descriptors/cloneDescriptorDetail.js +7 -6
  32. package/dist/helpers/descriptors/compareDescriptor.d.ts +12 -0
  33. package/dist/helpers/descriptors/compareDescriptor.js +7 -7
  34. package/dist/helpers/descriptors/describeObject.d.ts +14 -0
  35. package/dist/helpers/descriptors/describeObject.js +7 -6
  36. package/dist/helpers/descriptors/describeObjectDetail.d.ts +13 -0
  37. package/dist/helpers/descriptors/describeObjectDetail.js +8 -8
  38. package/dist/helpers/descriptors/describeObjectMap.d.ts +21 -0
  39. package/dist/helpers/descriptors/describeObjectMap.js +13 -14
  40. package/dist/helpers/descriptors/describeObjectMap.min.js +1 -1
  41. package/dist/helpers/descriptors/nextReference.d.ts +12 -0
  42. package/dist/helpers/descriptors/nextReference.js +7 -7
  43. package/dist/helpers/descriptors/sameDescriptor.d.ts +12 -0
  44. package/dist/helpers/descriptors/sameDescriptor.js +7 -7
  45. package/dist/helpers/descriptors/samples/descriptor.d.ts +27 -0
  46. package/dist/helpers/descriptors/samples/descriptor.js +3 -14
  47. package/dist/helpers/descriptors/samples/descriptorDetail.d.ts +34 -0
  48. package/dist/helpers/descriptors/samples/descriptorDetail.js +3 -19
  49. package/dist/helpers/descriptors/samples/descriptorMap.d.ts +12 -0
  50. package/dist/helpers/descriptors/samples/descriptorMap.js +3 -7
  51. package/dist/helpers/descriptors/samples/mappedDescriptorMap.d.ts +7 -0
  52. package/dist/helpers/descriptors/samples/mappedDescriptorMap.js +3 -3
  53. package/dist/helpers/descriptors.d.ts +28 -0
  54. package/dist/helpers/descriptors.js +19 -19
  55. package/dist/helpers/descriptors.min.js +1 -1
  56. package/dist/helpers/functions/callWithParams.d.ts +12 -0
  57. package/dist/helpers/functions/callWithParams.js +8 -8
  58. package/dist/helpers/functions/curry.d.ts +12 -0
  59. package/dist/helpers/functions/curry.js +8 -8
  60. package/dist/helpers/functions/delay.d.ts +22 -0
  61. package/dist/helpers/functions/delay.js +6 -13
  62. package/dist/helpers/functions/onBodyLoad.d.ts +11 -0
  63. package/dist/helpers/functions/onBodyLoad.js +36 -10
  64. package/dist/helpers/functions/onBodyLoad.min.js +1 -1
  65. package/dist/helpers/functions/pipe.d.ts +11 -0
  66. package/dist/helpers/functions/pipe.js +7 -7
  67. package/dist/helpers/functions/preloadParams.d.ts +21 -0
  68. package/dist/helpers/functions/preloadParams.js +9 -16
  69. package/dist/helpers/functions/queueManager.d.ts +28 -0
  70. package/dist/helpers/functions/queueManager.js +6 -14
  71. package/dist/helpers/functions/queueTimeout.d.ts +22 -0
  72. package/dist/helpers/functions/queueTimeout.js +6 -15
  73. package/dist/helpers/functions/relevancyFilter.d.ts +36 -0
  74. package/dist/helpers/functions/relevancyFilter.js +0 -12
  75. package/dist/helpers/functions/trace.d.ts +13 -0
  76. package/dist/helpers/functions/trace.js +7 -7
  77. package/dist/helpers/functions.d.ts +28 -0
  78. package/dist/helpers/functions.js +17 -17
  79. package/dist/helpers/functions.min.js +1 -1
  80. package/dist/helpers/numbers/absoluteMax.d.ts +11 -0
  81. package/dist/helpers/numbers/absoluteMax.js +7 -7
  82. package/dist/helpers/numbers/absoluteMin.d.ts +11 -0
  83. package/dist/helpers/numbers/absoluteMin.js +7 -7
  84. package/dist/helpers/numbers/compare.d.ts +14 -0
  85. package/dist/helpers/numbers/compare.js +10 -10
  86. package/dist/helpers/numbers/randomInteger.d.ts +14 -0
  87. package/dist/helpers/numbers/randomInteger.js +10 -10
  88. package/dist/helpers/numbers/randomNumber.d.ts +14 -0
  89. package/dist/helpers/numbers/randomNumber.js +10 -10
  90. package/dist/helpers/numbers.d.ts +17 -0
  91. package/dist/helpers/numbers.js +12 -12
  92. package/dist/helpers/numbers.min.js +1 -1
  93. package/dist/helpers/objects/cloneObject.d.ts +21 -0
  94. package/dist/helpers/objects/cloneObject.js +12 -12
  95. package/dist/helpers/objects/dotGet.d.ts +13 -0
  96. package/dist/helpers/objects/dotGet.js +8 -2
  97. package/dist/helpers/objects/dotGet.min.js +1 -1
  98. package/dist/helpers/objects/dotNotate.d.ts +29 -0
  99. package/dist/helpers/objects/dotNotate.js +6 -16
  100. package/dist/helpers/objects/dotNotate.min.js +1 -1
  101. package/dist/helpers/objects/dotSet.d.ts +13 -0
  102. package/dist/helpers/objects/dotSet.js +8 -2
  103. package/dist/helpers/objects/dotSet.min.js +1 -1
  104. package/dist/helpers/objects/dotUnset.d.ts +12 -0
  105. package/dist/helpers/objects/dotUnset.js +8 -2
  106. package/dist/helpers/objects/emptyObject.d.ts +10 -0
  107. package/dist/helpers/objects/emptyObject.js +6 -6
  108. package/dist/helpers/objects/filterObject.d.ts +28 -0
  109. package/dist/helpers/objects/filterObject.js +10 -20
  110. package/dist/helpers/objects/isCloneable.d.ts +10 -0
  111. package/dist/helpers/objects/isCloneable.js +6 -6
  112. package/dist/helpers/objects/isInstanceObject.d.ts +10 -0
  113. package/dist/helpers/objects/isInstanceObject.js +6 -6
  114. package/dist/helpers/objects/isObject.d.ts +10 -0
  115. package/dist/helpers/objects/isObject.js +6 -6
  116. package/dist/helpers/objects/mapObject.d.ts +27 -0
  117. package/dist/helpers/objects/mapObject.js +10 -19
  118. package/dist/helpers/objects/mergeObjects.d.ts +14 -0
  119. package/dist/helpers/objects/mergeObjects.js +7 -7
  120. package/dist/helpers/objects/mergeObjectsBase.d.ts +37 -0
  121. package/dist/helpers/objects/mergeObjectsBase.js +18 -25
  122. package/dist/helpers/objects/mergeObjectsBase.min.js +1 -1
  123. package/dist/helpers/objects/mergeObjectsMutable.d.ts +14 -0
  124. package/dist/helpers/objects/mergeObjectsMutable.js +7 -7
  125. package/dist/helpers/objects/objectKeys.d.ts +15 -0
  126. package/dist/helpers/objects/objectKeys.js +8 -8
  127. package/dist/helpers/objects/objectValues.d.ts +15 -0
  128. package/dist/helpers/objects/objectValues.js +8 -8
  129. package/dist/helpers/objects/reduceObject.d.ts +32 -0
  130. package/dist/helpers/objects/reduceObject.js +12 -24
  131. package/dist/helpers/objects/setAndReturnValue.d.ts +15 -0
  132. package/dist/helpers/objects/setAndReturnValue.js +8 -8
  133. package/dist/helpers/objects/setValue.d.ts +16 -0
  134. package/dist/helpers/objects/setValue.js +10 -9
  135. package/dist/helpers/objects.d.ts +100 -0
  136. package/dist/helpers/objects.js +26 -26
  137. package/dist/helpers/objects.min.js +1 -1
  138. package/dist/helpers/strings/camelCase.d.ts +10 -0
  139. package/dist/helpers/strings/camelCase.js +8 -8
  140. package/dist/helpers/strings/camelCase.min.js +1 -1
  141. package/dist/helpers/strings/kabobCase.d.ts +10 -0
  142. package/dist/helpers/strings/kabobCase.js +7 -7
  143. package/dist/helpers/strings/kabobCase.min.js +1 -1
  144. package/dist/helpers/strings/snakeCase.d.ts +10 -0
  145. package/dist/helpers/strings/snakeCase.js +7 -7
  146. package/dist/helpers/strings/snakeCase.min.js +1 -1
  147. package/dist/helpers/strings/strAfter.d.ts +11 -0
  148. package/dist/helpers/strings/strAfter.js +8 -0
  149. package/dist/helpers/strings/strAfterLast.d.ts +11 -0
  150. package/dist/helpers/strings/strAfterLast.js +8 -0
  151. package/dist/helpers/strings/strBefore.d.ts +11 -0
  152. package/dist/helpers/strings/strBefore.js +8 -0
  153. package/dist/helpers/strings/strBeforeLast.d.ts +11 -0
  154. package/dist/helpers/strings/strBeforeLast.js +8 -0
  155. package/dist/helpers/strings/titleCase.d.ts +10 -0
  156. package/dist/helpers/strings/titleCase.js +8 -8
  157. package/dist/helpers/strings/titleCase.min.js +1 -1
  158. package/dist/helpers/strings/ucFirst.d.ts +10 -0
  159. package/dist/helpers/strings/ucFirst.js +6 -6
  160. package/dist/helpers/strings/words.d.ts +10 -0
  161. package/dist/helpers/strings/words.js +6 -6
  162. package/dist/helpers/strings.d.ts +22 -0
  163. package/dist/helpers/strings.js +17 -17
  164. package/dist/helpers/strings.min.js +1 -1
  165. package/dist/main.d.ts +9 -0
  166. package/dist/main.js +19 -14
  167. package/dist/main.min.js +1 -1
  168. package/package.json +5 -3
@@ -0,0 +1,11 @@
1
+ import 'core-js/stable';
2
+ /**
3
+ * Helper for returning the absolute min value
4
+ * @function
5
+ * @memberOf module:numberHelpers
6
+ * @param {number} num1 - A number to compare
7
+ * @param {number} num2 - Another number to be compared against
8
+ * @returns {number}
9
+ */
10
+ declare const absoluteMin: (num1: number, num2: number) => number;
11
+ export default absoluteMin;
@@ -5,13 +5,13 @@ Object.defineProperty(exports, '__esModule', {
5
5
  })
6
6
  exports.default = void 0
7
7
  require('core-js/stable')
8
- /**
9
- * Helper for returning the absolute min value
10
- * @function
11
- * @memberOf module:numberHelpers
12
- * @param {number} num1 - A number to compare
13
- * @param {number} num2 - Another number to be compared against
14
- * @returns {number}
8
+ /**
9
+ * Helper for returning the absolute min value
10
+ * @function
11
+ * @memberOf module:numberHelpers
12
+ * @param {number} num1 - A number to compare
13
+ * @param {number} num2 - Another number to be compared against
14
+ * @returns {number}
15
15
  */
16
16
  const absoluteMin = (num1, num2) => Math.abs(num1) < Math.abs(num2) ? num1 : num2
17
17
  var _default = absoluteMin
@@ -0,0 +1,14 @@
1
+ import 'core-js/stable';
2
+ /**
3
+ * Compare two numbers and return:
4
+ * -1 to indicate val1 is less than val2
5
+ * 0 to indicate both values are the equal
6
+ * 1 to indicate val1 is greater than val2
7
+ * @function
8
+ * @memberOf module:numberHelpers
9
+ * @param {number} val1 - The first number to compare
10
+ * @param {number} val2 - The second number to compare
11
+ * @returns {number}
12
+ */
13
+ declare const compare: (val1: number, val2: number) => number;
14
+ export default compare;
@@ -5,16 +5,16 @@ Object.defineProperty(exports, '__esModule', {
5
5
  })
6
6
  exports.default = void 0
7
7
  require('core-js/stable')
8
- /**
9
- * Compare two numbers and return:
10
- * -1 to indicate val1 is less than val2
11
- * 0 to indicate both values are the equal
12
- * 1 to indicate val1 is greater than val2
13
- * @function
14
- * @memberOf module:numberHelpers
15
- * @param {number} val1 - The first number to compare
16
- * @param {number} val2 - The second number to compare
17
- * @returns {number}
8
+ /**
9
+ * Compare two numbers and return:
10
+ * -1 to indicate val1 is less than val2
11
+ * 0 to indicate both values are the equal
12
+ * 1 to indicate val1 is greater than val2
13
+ * @function
14
+ * @memberOf module:numberHelpers
15
+ * @param {number} val1 - The first number to compare
16
+ * @param {number} val2 - The second number to compare
17
+ * @returns {number}
18
18
  */
19
19
  const compare = (val1, val2) => val1 === val2 ? 0 : val1 > val2 ? 1 : -1
20
20
  var _default = compare
@@ -0,0 +1,14 @@
1
+ import 'core-js/stable';
2
+ /**
3
+ * Create a single random integer within provide range. And with optional offset,
4
+ * The distance between the result numbers can be adjusted with interval.
5
+ * @function
6
+ * @memberOf module:numberHelpers
7
+ * @param {number} range - Choose the breadth of the random number (0-100 would be 100 for range)
8
+ * @param {number} [offset=0] - Choose the starting number (1-10 would be 1 for offset, 9 for range)
9
+ * @param {number} [interval=1] - Choose the distance between numbers (5, 10, 15 would be 5 for interval, 1 for
10
+ * offset, 2 for range)
11
+ * @returns {number}
12
+ */
13
+ declare const randomInteger: (range: number, offset?: number, interval?: number) => number;
14
+ export default randomInteger;
@@ -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
@@ -0,0 +1,14 @@
1
+ import 'core-js/stable';
2
+ /**
3
+ * Create a single random number within provided range. And with optional offset,
4
+ * The distance between the result numbers can be adjusted with interval.
5
+ * @function
6
+ * @memberOf module:numberHelpers
7
+ * @param {number} range - Choose the breadth of the random number (0-100 would be 100 for range)
8
+ * @param {number} [offset=0] - Choose the starting number (1-10 would be 1 for offset, 9 for range)
9
+ * @param {number} [interval=1] - Choose the distance between numbers (~5, ~10, ~15 would be 5 for interval, 1 for
10
+ * offset, 2 for range)
11
+ * @returns {number}
12
+ */
13
+ declare const randomNumber: (range: number, offset?: number, interval?: number) => number;
14
+ export default randomNumber;
@@ -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
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Some number comparators and random number generators.
3
+ * @file
4
+ * @author Joshua Heagle <joshuaheagle@gmail.com>
5
+ * @version 1.0.0
6
+ * @module numberHelpers
7
+ * @memberOf module:siFunciona
8
+ */
9
+ import 'core-js/stable';
10
+ declare const _default: {
11
+ absoluteMax: (num1: number, num2: number) => number;
12
+ absoluteMin: (num1: number, num2: number) => number;
13
+ compare: (val1: number, val2: number) => number;
14
+ randomInteger: (range: number, offset?: number, interval?: number) => number;
15
+ randomNumber: (range: number, offset?: number, interval?: number) => number;
16
+ };
17
+ export default _default;
@@ -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;
@@ -0,0 +1,21 @@
1
+ import 'core-js/stable';
2
+ type cloneObjectOptions = {
3
+ mapLimit?: number;
4
+ depthLimit?: number;
5
+ relevancyRange?: number;
6
+ };
7
+ /**
8
+ * Clone objects for manipulation without data corruption, returns a copy of the provided object.
9
+ * NOTE: Use the mapLimit and relevancyRange to resolve "too much recursion" when the object is large and is known to
10
+ * have circular references. A high mapLimit may lead to heavy memory usage and slow performance.
11
+ * @function
12
+ * @memberOf module:objectHelpers
13
+ * @param {Object} object - The original object that is being cloned
14
+ * @param {Object} [options={}]
15
+ * @param {number} [options.mapLimit=100] - Size of temporary reference array used in memory before assessing relevancy.
16
+ * @param {number} [options.depthLimit=-1] - Control how many nested levels deep will be used, -1 = no limit, >-1 = nth level limited.
17
+ * @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.
18
+ * @returns {Object}
19
+ */
20
+ declare const cloneObject: (object: object, { mapLimit, depthLimit, relevancyRange }?: cloneObjectOptions) => object;
21
+ export default cloneObject;
@@ -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 {
@@ -0,0 +1,13 @@
1
+ import 'core-js/stable';
2
+ import { dotNotateableItem, dotNotationString } from './dotNotate';
3
+ /**
4
+ * Get a nested property value from an object.
5
+ * @function
6
+ * @memberOf module:objectHelpers
7
+ * @param {Object} arrayObject - The array or object to get the property from
8
+ * @param {string} dotNotation - The path to the property
9
+ * @param {string|null} [defaultValue=null] - The default value to return if the property is not found
10
+ * @returns {*} The value of the property
11
+ */
12
+ declare const dotGet: (arrayObject: dotNotateableItem, dotNotation: dotNotationString, defaultValue?: string | null) => any;
13
+ export default dotGet;
@@ -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;
@@ -0,0 +1,29 @@
1
+ import 'core-js/stable';
2
+ export type dotNotateableItem = Array<any> | {
3
+ [k: string]: any;
4
+ };
5
+ /**
6
+ * A string representing the full-path to a property in an object. Each depth of the path is separated by a period.
7
+ * @example 'a.b.c'
8
+ * @typedef {string} DotNotationString
9
+ * @memberOf module:objectHelpers
10
+ */
11
+ export type dotNotationString = string;
12
+ /**
13
+ * An array or object where all properties have been flatted and keyed by a dot-notated string.
14
+ * @typedef {Object.<DotNotationString, *>} DotNotatedObject
15
+ * @memberOf module:objectHelpers
16
+ */
17
+ type dotNotatedObject = {
18
+ [k: dotNotationString]: any;
19
+ };
20
+ /**
21
+ * Convert an array or object to a single dimensional associative array with dot notation.
22
+ * @function
23
+ * @memberOf module:objectHelpers
24
+ * @param {Object} arrayObject - The array or object to dot-notate
25
+ * @param {Array.<DotNotationString>} [retainObjects=[]] - An array of keys to retain as objects
26
+ * @returns {DotNotatedObject} The dot-notated object
27
+ */
28
+ declare const dotNotate: (arrayObject: object, retainObjects?: Array<dotNotationString>) => dotNotatedObject;
29
+ export default dotNotate;
@@ -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;
@@ -0,0 +1,13 @@
1
+ import 'core-js/stable';
2
+ import { dotNotateableItem, dotNotationString } from './dotNotate';
3
+ /**
4
+ * Set a nested property value an object.
5
+ * @function
6
+ * @memberOf module:objectHelpers
7
+ * @param {Object} arrayObject - The array or object to set the property on
8
+ * @param {string} dotNotation - The path for the property
9
+ * @param {*} value - The default value to return if the property is not found
10
+ * @returns {Object} The modified object
11
+ */
12
+ declare const dotSet: (arrayObject: dotNotateableItem, dotNotation: dotNotationString, value?: any) => dotNotateableItem;
13
+ export default dotSet;
@@ -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;
@@ -0,0 +1,12 @@
1
+ import 'core-js/stable';
2
+ import { dotNotateableItem, dotNotationString } from './dotNotate';
3
+ /**
4
+ * Unset a nested property value an object.
5
+ * @function
6
+ * @memberOf module:objectHelpers
7
+ * @param {Object} arrayObject - The array or object to set the property on
8
+ * @param {string} dotNotation - The path for the property
9
+ * @returns {Object} The modified object
10
+ */
11
+ declare const dotUnset: (arrayObject: dotNotateableItem, dotNotation: dotNotationString) => dotNotateableItem;
12
+ export default dotUnset;
@@ -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
  }
@@ -0,0 +1,10 @@
1
+ import 'core-js/stable';
2
+ /**
3
+ * Helper function for testing if the item is an Object or Array that does not have any properties
4
+ * @function
5
+ * @memberOf module:objectHelpers
6
+ * @param {Object|Array} item - Object or Array to test
7
+ * @returns {boolean}
8
+ */
9
+ declare const emptyObject: (item: Array<any> | Object) => boolean;
10
+ export default emptyObject;
@@ -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
@@ -0,0 +1,28 @@
1
+ import 'core-js/stable';
2
+ type filterableItem = Array<any> | {
3
+ [k: number | string]: any;
4
+ };
5
+ /**
6
+ * Function is a predicate, to test each property value of the object. Return true to keep the element, false
7
+ * otherwise, taking three arguments
8
+ * @callback module:objectHelpers~filterCallback
9
+ * @memberOf module:objectHelpers
10
+ * @param {*} currentProperty - The current property being processed in the object.
11
+ * @param {string} [currentIndex] - The property name of the current property being processed in the object.
12
+ * @param {Object|Array} [object] - The object filter was called upon.
13
+ * @returns {boolean}
14
+ */
15
+ type filterCallback = (currentProperty: any, currentIndex: keyof filterableItem, object: filterableItem) => boolean;
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}
26
+ */
27
+ declare const filterObject: (obj: filterableItem, fn: filterCallback, thisArg?: filterableItem) => filterableItem;
28
+ export default filterObject;