si-funciona 1.0.0 → 1.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.
package/README.md CHANGED
@@ -234,18 +234,18 @@ Uses mergeObjectsBase deep merge objects and arrays, merge by reference.
234
234
  <a name="module_objectHelpers.mergeObjectsBase"></a>
235
235
 
236
236
  ### objectHelpers.mergeObjectsBase([options]) ⇒ [<code>mergeObjectsCallback</code>](#module_objectHelpers..mergeObjectsCallback)
237
- Perform a deep merge of objects. This will return a function that will combine all objects and sub-objects.
237
+ Perform a deep merge of objects. This will return a function that will combine all objects and sub-objects.
238
238
 
239
239
  **Kind**: static method of [<code>objectHelpers</code>](#module_objectHelpers)
240
240
 
241
- | Param | Type | Default |
242
- | --- | --- | --- |
243
- | [options] | <code>Object</code> | <code>{}</code> |
244
- | [options.mapLimit] | <code>number</code> | <code>1000</code> |
245
- | [options.depthLimit] | <code>number</code> | <code>-1</code> |
246
- | [options.relevancyRange] | <code>number</code> | <code>100</code> |
247
- | [options.map] | <code>Iterable</code> \| <code>array</code> | <code>[]</code> |
248
- | [options.useClone] | <code>boolean</code> | <code>false</code> |
241
+ | Param | Type | Default | Description |
242
+ | --- | --- | --- | --- |
243
+ | [options] | <code>Object</code> | <code>{}</code> | |
244
+ | [options.mapLimit] | <code>number</code> | <code>100</code> | Size of temporary reference array used in memory before assessing relevancy. |
245
+ | [options.depthLimit] | <code>number</code> | <code>-1</code> | Control how many nested levels deep will be used, -1 = no limit, >-1 = nth level limited. |
246
+ | [options.relevancyRange] | <code>number</code> | <code>1000</code> | Total reference map length subtract this range, any relevancy less than that amount at time of evaluation will be removed. |
247
+ | [options.map] | <code>Iterable</code> \| <code>array</code> | <code>[]</code> | A predetermined list of references gathered (to be passed to itself during recursion). |
248
+ | [options.useClone] | <code>boolean</code> | <code>false</code> | |
249
249
 
250
250
  <a name="module_objectHelpers.mergeObjects"></a>
251
251
 
@@ -386,7 +386,7 @@ Get a nested property value from an object.
386
386
  <a name="module_objectHelpers.cloneObject"></a>
387
387
 
388
388
  ### objectHelpers.cloneObject(object, [options]) ⇒ <code>Object</code>
389
- Clone objects for manipulation without data corruption, returns a copy of the provided object.
389
+ Clone objects for manipulation without data corruption, returns a copy of the provided object.
390
390
 
391
391
  **Kind**: static method of [<code>objectHelpers</code>](#module_objectHelpers)
392
392
 
@@ -394,10 +394,9 @@ Clone objects for manipulation without data corruption, returns a copy of the pr
394
394
  | --- | --- | --- | --- |
395
395
  | object | <code>Object</code> | | The original object that is being cloned |
396
396
  | [options] | <code>Object</code> | <code>{}</code> | |
397
- | [options.mapLimit] | <code>number</code> | <code>1000</code> | |
398
- | [options.depthLimit] | <code>number</code> | <code>-1</code> | |
399
- | [options.relevancyRange] | <code>number</code> | <code>100</code> | |
400
- | [options.map] | <code>Iterable</code> | <code>[]</code> | |
397
+ | [options.mapLimit] | <code>number</code> | <code>100</code> | Size of temporary reference array used in memory before assessing relevancy. |
398
+ | [options.depthLimit] | <code>number</code> | <code>-1</code> | Control how many nested levels deep will be used, -1 = no limit, >-1 = nth level limited. |
399
+ | [options.relevancyRange] | <code>number</code> | <code>1000</code> | Total reference map length subtract this range, any relevancy less than that amount at time of evaluation will be removed. |
401
400
 
402
401
  <a name="module_objectHelpers.DotNotationString"></a>
403
402
 
@@ -1890,22 +1890,20 @@
1890
1890
  value: true
1891
1891
  })
1892
1892
  exports.default = void 0
1893
- require('core-js/modules/es.array.map.js')
1894
- require('core-js/modules/esnext.async-iterator.map.js')
1895
- require('core-js/modules/esnext.iterator.map.js')
1896
1893
  require('core-js/stable')
1897
1894
  var _mergeObjectsBase = _interopRequireDefault(require('./mergeObjectsBase'))
1898
1895
  function _interopRequireDefault (obj) { return obj && obj.__esModule ? obj : { default: obj } }
1899
1896
  /**
1900
1897
  * Clone objects for manipulation without data corruption, returns a copy of the provided object.
1898
+ * NOTE: Use the mapLimit and relevancyRange to resolve "too much recursion" when the object is large and is known to
1899
+ * have circular references. A high mapLimit may lead to heavy memory usage and slow performance.
1901
1900
  * @function
1902
1901
  * @memberOf module:objectHelpers
1903
1902
  * @param {Object} object - The original object that is being cloned
1904
1903
  * @param {Object} [options={}]
1905
- * @param {number} [options.mapLimit=1000]
1906
- * @param {number} [options.depthLimit=-1]
1907
- * @param {number} [options.relevancyRange=100]
1908
- * @param {Iterable} [options.map=[]]
1904
+ * @param {number} [options.mapLimit=100] - Size of temporary reference array used in memory before assessing relevancy.
1905
+ * @param {number} [options.depthLimit=-1] - Control how many nested levels deep will be used, -1 = no limit, >-1 = nth level limited.
1906
+ * @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.
1909
1907
  * @returns {Object}
1910
1908
  */
1911
1909
  var cloneObject = function cloneObject (object) {
@@ -1915,20 +1913,17 @@
1915
1913
  var _ref$depthLimit = _ref.depthLimit
1916
1914
  var depthLimit = _ref$depthLimit === void 0 ? -1 : _ref$depthLimit
1917
1915
  var _ref$relevancyRange = _ref.relevancyRange
1918
- var relevancyRange = _ref$relevancyRange === void 0 ? 100 : _ref$relevancyRange
1919
- var _ref$map = _ref.map
1920
- var map = _ref$map === void 0 ? [] : _ref$map
1916
+ var relevancyRange = _ref$relevancyRange === void 0 ? 1000 : _ref$relevancyRange
1921
1917
  return (0, _mergeObjectsBase.default)({
1922
1918
  mapLimit: mapLimit,
1923
1919
  depthLimit: depthLimit,
1924
1920
  relevancyRange: relevancyRange,
1925
- map: map,
1926
1921
  useClone: true
1927
1922
  })(object)
1928
1923
  }
1929
1924
  var _default = cloneObject
1930
1925
  exports.default = _default
1931
- }, { './mergeObjectsBase': 51, 'core-js/modules/es.array.map.js': 343, 'core-js/modules/es.object.define-property.js': 417, 'core-js/modules/esnext.async-iterator.map.js': 579, 'core-js/modules/esnext.iterator.map.js': 587, 'core-js/stable': 612 }],
1926
+ }, { './mergeObjectsBase': 51, 'core-js/modules/es.object.define-property.js': 417, 'core-js/stable': 612 }],
1932
1927
  40: [function (require, module, exports) {
1933
1928
  'use strict'
1934
1929
 
@@ -2496,24 +2491,26 @@
2496
2491
  /**
2497
2492
  * Perform a deep merge of objects. This will return a function that will combine all objects and sub-objects.
2498
2493
  * Objects having the same attributes will overwrite from last object to first.
2494
+ * NOTE: Use the mapLimit and relevancyRange to resolve "too much recursion" when the object is large and is known to
2495
+ * have circular references. A high mapLimit may lead to heavy memory usage and slow performance.
2499
2496
  * @function
2500
2497
  * @memberOf module:objectHelpers
2501
2498
  * @param {Object} [options={}]
2502
- * @param {number} [options.mapLimit=1000]
2503
- * @param {number} [options.depthLimit=-1]
2504
- * @param {number} [options.relevancyRange=100]
2505
- * @param {Iterable|array} [options.map=[]]
2499
+ * @param {number} [options.mapLimit=100] - Size of temporary reference array used in memory before assessing relevancy.
2500
+ * @param {number} [options.depthLimit=-1] - Control how many nested levels deep will be used, -1 = no limit, >-1 = nth level limited.
2501
+ * @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.
2502
+ * @param {Iterable|array} [options.map=[]] - A predetermined list of references gathered (to be passed to itself during recursion).
2506
2503
  * @param {boolean} [options.useClone=false]
2507
2504
  * @returns {module:objectHelpers~mergeObjectsCallback}
2508
2505
  */
2509
2506
  var mergeObjectsBase = function mergeObjectsBase () {
2510
2507
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}
2511
2508
  var _ref$mapLimit = _ref.mapLimit
2512
- var mapLimit = _ref$mapLimit === void 0 ? 1000 : _ref$mapLimit
2509
+ var mapLimit = _ref$mapLimit === void 0 ? 100 : _ref$mapLimit
2513
2510
  var _ref$depthLimit = _ref.depthLimit
2514
2511
  var depthLimit = _ref$depthLimit === void 0 ? -1 : _ref$depthLimit
2515
2512
  var _ref$relevancyRange = _ref.relevancyRange
2516
- var relevancyRange = _ref$relevancyRange === void 0 ? 100 : _ref$relevancyRange
2513
+ var relevancyRange = _ref$relevancyRange === void 0 ? 1000 : _ref$relevancyRange
2517
2514
  var _ref$map = _ref.map
2518
2515
  var map = _ref$map === void 0 ? [] : _ref$map
2519
2516
  var _ref$useClone = _ref.useClone