si-funciona 2.6.0 → 2.6.2

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 (245) hide show
  1. package/README.md +40 -10
  2. package/browser/siFunciona.js +3959 -20603
  3. package/browser/siFunciona.min.js +1 -1
  4. package/dist/helpers/arrays/BasicQueue.d.ts +64 -65
  5. package/dist/helpers/arrays/BasicQueue.js +61 -62
  6. package/dist/helpers/arrays/BasicQueue.min.js +1 -1
  7. package/dist/helpers/arrays/addUniqueToArray.d.ts +9 -10
  8. package/dist/helpers/arrays/addUniqueToArray.js +16 -17
  9. package/dist/helpers/arrays/addUniqueToArray.min.js +1 -1
  10. package/dist/helpers/arrays/buildArray.d.ts +10 -11
  11. package/dist/helpers/arrays/buildArray.js +25 -26
  12. package/dist/helpers/arrays/buildArray.min.js +1 -1
  13. package/dist/helpers/arrays/buildArrayOfReferences.d.ts +10 -11
  14. package/dist/helpers/arrays/buildArrayOfReferences.js +22 -23
  15. package/dist/helpers/arrays/buildArrayOfReferences.min.js +1 -1
  16. package/dist/helpers/arrays/compareArrays.d.ts +96 -97
  17. package/dist/helpers/arrays/compareArrays.js +96 -97
  18. package/dist/helpers/arrays/compareArrays.min.js +1 -1
  19. package/dist/helpers/arrays/mergeArrays.d.ts +8 -9
  20. package/dist/helpers/arrays/mergeArrays.js +21 -22
  21. package/dist/helpers/arrays/mergeArrays.min.js +1 -1
  22. package/dist/helpers/arrays/uniqueArray.d.ts +8 -9
  23. package/dist/helpers/arrays/uniqueArray.js +16 -17
  24. package/dist/helpers/arrays/uniqueArray.min.js +1 -1
  25. package/dist/helpers/arrays.d.ts +27 -28
  26. package/dist/helpers/arrays.js +74 -75
  27. package/dist/helpers/arrays.min.js +1 -1
  28. package/dist/helpers/descriptors/assignDescriptor.d.ts +13 -14
  29. package/dist/helpers/descriptors/assignDescriptor.js +57 -58
  30. package/dist/helpers/descriptors/assignDescriptor.min.js +1 -1
  31. package/dist/helpers/descriptors/assignDescriptorDetail.d.ts +13 -14
  32. package/dist/helpers/descriptors/assignDescriptorDetail.js +36 -37
  33. package/dist/helpers/descriptors/assignDescriptorDetail.min.js +1 -1
  34. package/dist/helpers/descriptors/checkClearValues.d.ts +11 -12
  35. package/dist/helpers/descriptors/checkClearValues.js +20 -21
  36. package/dist/helpers/descriptors/checkClearValues.min.js +1 -1
  37. package/dist/helpers/descriptors/checkDescriptorComplete.d.ts +10 -11
  38. package/dist/helpers/descriptors/checkDescriptorComplete.js +19 -20
  39. package/dist/helpers/descriptors/checkDescriptorComplete.min.js +1 -1
  40. package/dist/helpers/descriptors/cloneDescriptor.d.ts +9 -10
  41. package/dist/helpers/descriptors/cloneDescriptor.js +35 -36
  42. package/dist/helpers/descriptors/cloneDescriptor.min.js +1 -1
  43. package/dist/helpers/descriptors/cloneDescriptorDetail.d.ts +9 -10
  44. package/dist/helpers/descriptors/cloneDescriptorDetail.js +26 -27
  45. package/dist/helpers/descriptors/cloneDescriptorDetail.min.js +1 -1
  46. package/dist/helpers/descriptors/compareDescriptor.d.ts +12 -13
  47. package/dist/helpers/descriptors/compareDescriptor.js +32 -33
  48. package/dist/helpers/descriptors/compareDescriptor.min.js +1 -1
  49. package/dist/helpers/descriptors/describeObject.d.ts +14 -15
  50. package/dist/helpers/descriptors/describeObject.js +52 -53
  51. package/dist/helpers/descriptors/describeObject.min.js +1 -1
  52. package/dist/helpers/descriptors/describeObjectDetail.d.ts +13 -14
  53. package/dist/helpers/descriptors/describeObjectDetail.js +37 -38
  54. package/dist/helpers/descriptors/describeObjectDetail.min.js +1 -1
  55. package/dist/helpers/descriptors/describeObjectMap.d.ts +35 -36
  56. package/dist/helpers/descriptors/describeObjectMap.js +107 -108
  57. package/dist/helpers/descriptors/describeObjectMap.min.js +1 -1
  58. package/dist/helpers/descriptors/nextReference.d.ts +12 -13
  59. package/dist/helpers/descriptors/nextReference.js +30 -31
  60. package/dist/helpers/descriptors/nextReference.min.js +1 -1
  61. package/dist/helpers/descriptors/sameDescriptor.d.ts +12 -13
  62. package/dist/helpers/descriptors/sameDescriptor.js +21 -22
  63. package/dist/helpers/descriptors/sameDescriptor.min.js +1 -1
  64. package/dist/helpers/descriptors/samples/descriptor.d.ts +34 -34
  65. package/dist/helpers/descriptors/samples/descriptor.js +22 -22
  66. package/dist/helpers/descriptors/samples/descriptorDetail.d.ts +42 -42
  67. package/dist/helpers/descriptors/samples/descriptorDetail.js +24 -24
  68. package/dist/helpers/descriptors/samples/descriptorMap.d.ts +16 -16
  69. package/dist/helpers/descriptors/samples/descriptorMap.js +14 -14
  70. package/dist/helpers/descriptors/samples/mappedDescriptorMap.d.ts +10 -10
  71. package/dist/helpers/descriptors/samples/mappedDescriptorMap.js +287 -287
  72. package/dist/helpers/descriptors.d.ts +56 -57
  73. package/dist/helpers/descriptors.js +129 -130
  74. package/dist/helpers/descriptors.min.js +1 -1
  75. package/dist/helpers/functions/callWithParams.d.ts +10 -11
  76. package/dist/helpers/functions/callWithParams.js +16 -17
  77. package/dist/helpers/functions/callWithParams.min.js +1 -1
  78. package/dist/helpers/functions/curry.d.ts +10 -11
  79. package/dist/helpers/functions/curry.js +16 -17
  80. package/dist/helpers/functions/curry.min.js +1 -1
  81. package/dist/helpers/functions/delay.d.ts +20 -21
  82. package/dist/helpers/functions/delay.js +31 -32
  83. package/dist/helpers/functions/delay.min.js +1 -1
  84. package/dist/helpers/functions/makeBasicQueue.d.ts +9 -10
  85. package/dist/helpers/functions/makeBasicQueue.js +18 -19
  86. package/dist/helpers/functions/makeBasicQueue.min.js +1 -1
  87. package/dist/helpers/functions/onBodyLoad.d.ts +9 -10
  88. package/dist/helpers/functions/onBodyLoad.js +75 -74
  89. package/dist/helpers/functions/onBodyLoad.min.js +1 -1
  90. package/dist/helpers/functions/pipe.d.ts +9 -10
  91. package/dist/helpers/functions/pipe.js +17 -18
  92. package/dist/helpers/functions/pipe.min.js +1 -1
  93. package/dist/helpers/functions/preloadParams.d.ts +19 -20
  94. package/dist/helpers/functions/preloadParams.js +20 -21
  95. package/dist/helpers/functions/preloadParams.min.js +1 -1
  96. package/dist/helpers/functions/queueManager.d.ts +48 -49
  97. package/dist/helpers/functions/queueManager.js +123 -124
  98. package/dist/helpers/functions/queueManager.min.js +1 -1
  99. package/dist/helpers/functions/queueTimeout.d.ts +20 -21
  100. package/dist/helpers/functions/queueTimeout.js +22 -23
  101. package/dist/helpers/functions/queueTimeout.min.js +1 -1
  102. package/dist/helpers/functions/relevancyFilter.d.ts +34 -35
  103. package/dist/helpers/functions/relevancyFilter.js +33 -34
  104. package/dist/helpers/functions/relevancyFilter.min.js +1 -1
  105. package/dist/helpers/functions/trace.d.ts +13 -14
  106. package/dist/helpers/functions/trace.js +24 -25
  107. package/dist/helpers/functions/trace.min.js +1 -1
  108. package/dist/helpers/functions.d.ts +40 -41
  109. package/dist/helpers/functions.js +105 -106
  110. package/dist/helpers/functions.min.js +1 -1
  111. package/dist/helpers/numbers/absoluteMax.d.ts +9 -10
  112. package/dist/helpers/numbers/absoluteMax.js +15 -16
  113. package/dist/helpers/numbers/absoluteMax.min.js +1 -1
  114. package/dist/helpers/numbers/absoluteMin.d.ts +9 -10
  115. package/dist/helpers/numbers/absoluteMin.js +15 -16
  116. package/dist/helpers/numbers/absoluteMin.min.js +1 -1
  117. package/dist/helpers/numbers/compare.d.ts +12 -13
  118. package/dist/helpers/numbers/compare.js +18 -19
  119. package/dist/helpers/numbers/compare.min.js +1 -1
  120. package/dist/helpers/numbers/greatestCommonDivisor.d.ts +9 -10
  121. package/dist/helpers/numbers/greatestCommonDivisor.js +15 -16
  122. package/dist/helpers/numbers/greatestCommonDivisor.min.js +1 -1
  123. package/dist/helpers/numbers/leastCommonMultiple.d.ts +9 -10
  124. package/dist/helpers/numbers/leastCommonMultiple.js +17 -18
  125. package/dist/helpers/numbers/leastCommonMultiple.min.js +1 -1
  126. package/dist/helpers/numbers/lowestCommonDenominator.d.ts +9 -10
  127. package/dist/helpers/numbers/lowestCommonDenominator.js +19 -20
  128. package/dist/helpers/numbers/lowestCommonDenominator.min.js +1 -1
  129. package/dist/helpers/numbers/randomInteger.d.ts +11 -6
  130. package/dist/helpers/numbers/randomInteger.js +12 -7
  131. package/dist/helpers/numbers/randomInteger.min.js +1 -1
  132. package/dist/helpers/numbers/randomNumber.d.ts +7 -7
  133. package/dist/helpers/numbers/randomNumber.js +8 -8
  134. package/dist/helpers/numbers/randomNumber.min.js +1 -1
  135. package/dist/helpers/numbers/simplestRatio.d.ts +8 -9
  136. package/dist/helpers/numbers/simplestRatio.js +28 -29
  137. package/dist/helpers/numbers/simplestRatio.min.js +1 -1
  138. package/dist/helpers/numbers.d.ts +30 -31
  139. package/dist/helpers/numbers.js +89 -90
  140. package/dist/helpers/numbers.min.js +1 -1
  141. package/dist/helpers/objects/cloneObject.d.ts +19 -20
  142. package/dist/helpers/objects/cloneObject.js +31 -32
  143. package/dist/helpers/objects/cloneObject.min.js +1 -1
  144. package/dist/helpers/objects/dotGet.d.ts +11 -12
  145. package/dist/helpers/objects/dotGet.js +59 -60
  146. package/dist/helpers/objects/dotGet.min.js +1 -1
  147. package/dist/helpers/objects/dotNotate.d.ts +27 -28
  148. package/dist/helpers/objects/dotNotate.js +79 -80
  149. package/dist/helpers/objects/dotNotate.min.js +1 -1
  150. package/dist/helpers/objects/dotSet.d.ts +11 -12
  151. package/dist/helpers/objects/dotSet.js +53 -54
  152. package/dist/helpers/objects/dotSet.min.js +1 -1
  153. package/dist/helpers/objects/dotUnset.d.ts +10 -11
  154. package/dist/helpers/objects/dotUnset.js +52 -53
  155. package/dist/helpers/objects/dotUnset.min.js +1 -1
  156. package/dist/helpers/objects/emptyObject.d.ts +8 -9
  157. package/dist/helpers/objects/emptyObject.js +17 -18
  158. package/dist/helpers/objects/emptyObject.min.js +1 -1
  159. package/dist/helpers/objects/filterObject.d.ts +26 -27
  160. package/dist/helpers/objects/filterObject.js +33 -32
  161. package/dist/helpers/objects/filterObject.min.js +1 -1
  162. package/dist/helpers/objects/isCloneable.d.ts +8 -9
  163. package/dist/helpers/objects/isCloneable.js +16 -17
  164. package/dist/helpers/objects/isCloneable.min.js +1 -1
  165. package/dist/helpers/objects/isEqual.d.ts +16 -17
  166. package/dist/helpers/objects/isEqual.js +100 -101
  167. package/dist/helpers/objects/isEqual.min.js +1 -1
  168. package/dist/helpers/objects/isInstanceObject.d.ts +8 -9
  169. package/dist/helpers/objects/isInstanceObject.js +26 -27
  170. package/dist/helpers/objects/isInstanceObject.min.js +1 -1
  171. package/dist/helpers/objects/isObject.d.ts +8 -9
  172. package/dist/helpers/objects/isObject.js +14 -15
  173. package/dist/helpers/objects/isObject.min.js +1 -1
  174. package/dist/helpers/objects/mapObject.d.ts +25 -26
  175. package/dist/helpers/objects/mapObject.js +25 -26
  176. package/dist/helpers/objects/mapObject.min.js +1 -1
  177. package/dist/helpers/objects/mergeObjects.d.ts +12 -13
  178. package/dist/helpers/objects/mergeObjects.js +19 -20
  179. package/dist/helpers/objects/mergeObjects.min.js +1 -1
  180. package/dist/helpers/objects/mergeObjectsBase.d.ts +35 -36
  181. package/dist/helpers/objects/mergeObjectsBase.js +91 -92
  182. package/dist/helpers/objects/mergeObjectsBase.min.js +1 -1
  183. package/dist/helpers/objects/mergeObjectsMutable.d.ts +12 -13
  184. package/dist/helpers/objects/mergeObjectsMutable.js +17 -18
  185. package/dist/helpers/objects/mergeObjectsMutable.min.js +1 -1
  186. package/dist/helpers/objects/objectKeys.d.ts +13 -14
  187. package/dist/helpers/objects/objectKeys.js +39 -40
  188. package/dist/helpers/objects/objectKeys.min.js +1 -1
  189. package/dist/helpers/objects/objectValues.d.ts +13 -14
  190. package/dist/helpers/objects/objectValues.js +20 -21
  191. package/dist/helpers/objects/objectValues.min.js +1 -1
  192. package/dist/helpers/objects/reduceObject.d.ts +30 -31
  193. package/dist/helpers/objects/reduceObject.js +25 -26
  194. package/dist/helpers/objects/reduceObject.min.js +1 -1
  195. package/dist/helpers/objects/setAndReturnValue.d.ts +13 -14
  196. package/dist/helpers/objects/setAndReturnValue.js +19 -20
  197. package/dist/helpers/objects/setAndReturnValue.min.js +1 -1
  198. package/dist/helpers/objects/setValue.d.ts +14 -15
  199. package/dist/helpers/objects/setValue.js +21 -22
  200. package/dist/helpers/objects/setValue.min.js +1 -1
  201. package/dist/helpers/objects.d.ts +121 -122
  202. package/dist/helpers/objects.js +177 -178
  203. package/dist/helpers/objects.min.js +1 -1
  204. package/dist/helpers/strings/camelCase.d.ts +8 -9
  205. package/dist/helpers/strings/camelCase.js +19 -20
  206. package/dist/helpers/strings/camelCase.min.js +1 -1
  207. package/dist/helpers/strings/kabobCase.d.ts +8 -9
  208. package/dist/helpers/strings/kabobCase.js +18 -19
  209. package/dist/helpers/strings/kabobCase.min.js +1 -1
  210. package/dist/helpers/strings/makeFilepath.d.ts +9 -9
  211. package/dist/helpers/strings/makeFilepath.js +49 -49
  212. package/dist/helpers/strings/makeRelativePath.d.ts +9 -9
  213. package/dist/helpers/strings/makeRelativePath.js +43 -43
  214. package/dist/helpers/strings/regexEscape.d.ts +8 -8
  215. package/dist/helpers/strings/regexEscape.js +15 -15
  216. package/dist/helpers/strings/snakeCase.d.ts +8 -9
  217. package/dist/helpers/strings/snakeCase.js +18 -19
  218. package/dist/helpers/strings/snakeCase.min.js +1 -1
  219. package/dist/helpers/strings/strAfter.d.ts +9 -10
  220. package/dist/helpers/strings/strAfter.js +18 -19
  221. package/dist/helpers/strings/strAfter.min.js +1 -1
  222. package/dist/helpers/strings/strAfterLast.d.ts +9 -10
  223. package/dist/helpers/strings/strAfterLast.js +18 -19
  224. package/dist/helpers/strings/strAfterLast.min.js +1 -1
  225. package/dist/helpers/strings/strBefore.d.ts +9 -10
  226. package/dist/helpers/strings/strBefore.js +18 -19
  227. package/dist/helpers/strings/strBefore.min.js +1 -1
  228. package/dist/helpers/strings/strBeforeLast.d.ts +9 -10
  229. package/dist/helpers/strings/strBeforeLast.js +18 -19
  230. package/dist/helpers/strings/strBeforeLast.min.js +1 -1
  231. package/dist/helpers/strings/titleCase.d.ts +8 -9
  232. package/dist/helpers/strings/titleCase.js +19 -20
  233. package/dist/helpers/strings/titleCase.min.js +1 -1
  234. package/dist/helpers/strings/ucFirst.d.ts +8 -9
  235. package/dist/helpers/strings/ucFirst.js +14 -15
  236. package/dist/helpers/strings/ucFirst.min.js +1 -1
  237. package/dist/helpers/strings/words.d.ts +9 -10
  238. package/dist/helpers/strings/words.js +15 -16
  239. package/dist/helpers/strings/words.min.js +1 -1
  240. package/dist/helpers/strings.d.ts +38 -39
  241. package/dist/helpers/strings.js +121 -122
  242. package/dist/helpers/strings.min.js +1 -1
  243. package/dist/main.d.ts +15 -15
  244. package/dist/main.js +103 -103
  245. package/package.json +4 -4
@@ -1,53 +1,52 @@
1
- 'use strict'
2
-
3
- Object.defineProperty(exports, '__esModule', {
4
- value: true
5
- })
6
- exports.default = void 0
7
- require('core-js/stable')
8
- var _isObject = _interopRequireDefault(require('./isObject'))
9
- var _strAfter = _interopRequireDefault(require('../strings/strAfter'))
10
- var _strBefore = _interopRequireDefault(require('../strings/strBefore'))
11
- function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
12
- /**
13
- * Unset a nested property value an object.
14
- * @memberOf module:objectHelpers
15
- * @param {Object} arrayObject - The array or object to set the property on
16
- * @param {string} dotNotation - The path for the property
17
- * @returns {Object} The modified object
18
- */
19
- const dotUnset = (arrayObject, dotNotation) => {
20
- var _a
21
- let key = (0, _strBefore.default)(dotNotation, '.')
22
- const lastKey = !key
23
- if (lastKey) {
24
- key = dotNotation
25
- }
26
- if (key === '*') {
27
- for (const wildKey in arrayObject) {
28
- if (lastKey) {
29
- // @ts-ignore
30
- delete arrayObject[wildKey]
31
- continue
32
- }
33
- // @ts-ignore
34
- if (!(0, _isObject.default)(arrayObject[wildKey])) {
35
- continue
36
- }
37
- // @ts-ignore
38
- dotUnset(arrayObject[wildKey], (0, _strAfter.default)(dotNotation, '.'))
39
- }
40
- return arrayObject
41
- }
42
- if (lastKey) {
43
- // @ts-ignore
44
- delete arrayObject[dotNotation]
45
- return arrayObject
46
- }
47
- // @ts-ignore
48
- const next = (_a = arrayObject[key]) !== null && _a !== void 0 ? _a : []
49
- // @ts-ignore
50
- arrayObject[key] = dotUnset(next, (0, _strAfter.default)(dotNotation, '.'))
51
- return arrayObject
52
- }
53
- var _default = exports.default = dotUnset
1
+ 'use strict'
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true
5
+ })
6
+ exports.default = void 0
7
+ const _isObject = _interopRequireDefault(require('./isObject'))
8
+ const _strAfter = _interopRequireDefault(require('../strings/strAfter'))
9
+ const _strBefore = _interopRequireDefault(require('../strings/strBefore'))
10
+ function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
11
+ /**
12
+ * Unset a nested property value an object.
13
+ * @memberOf module:objectHelpers
14
+ * @param {Object} arrayObject - The array or object to set the property on
15
+ * @param {string} dotNotation - The path for the property
16
+ * @returns {Object} The modified object
17
+ */
18
+ const dotUnset = (arrayObject, dotNotation) => {
19
+ let _a
20
+ let key = (0, _strBefore.default)(dotNotation, '.')
21
+ const lastKey = !key
22
+ if (lastKey) {
23
+ key = dotNotation
24
+ }
25
+ if (key === '*') {
26
+ for (const wildKey in arrayObject) {
27
+ if (lastKey) {
28
+ // @ts-ignore
29
+ delete arrayObject[wildKey]
30
+ continue
31
+ }
32
+ // @ts-ignore
33
+ if (!(0, _isObject.default)(arrayObject[wildKey])) {
34
+ continue
35
+ }
36
+ // @ts-ignore
37
+ dotUnset(arrayObject[wildKey], (0, _strAfter.default)(dotNotation, '.'))
38
+ }
39
+ return arrayObject
40
+ }
41
+ if (lastKey) {
42
+ // @ts-ignore
43
+ delete arrayObject[dotNotation]
44
+ return arrayObject
45
+ }
46
+ // @ts-ignore
47
+ const next = (_a = arrayObject[key]) !== null && _a !== void 0 ? _a : []
48
+ // @ts-ignore
49
+ arrayObject[key] = dotUnset(next, (0, _strAfter.default)(dotNotation, '.'))
50
+ return arrayObject
51
+ }
52
+ const _default = exports.default = dotUnset
@@ -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 dotUnset=(e,t)=>{var r;let s=(0,_strBefore.default)(t,".");const u=!s;if(u&&(s=t),"*"===s){for(let r in e)u?delete e[r]:(0,_isObject.default)(e[r])&&dotUnset(e[r],(0,_strAfter.default)(t,"."));return e}if(u)return delete e[t],e;const i=null!==(r=e[s])&&void 0!==r?r:[];return e[s]=dotUnset(i,(0,_strAfter.default)(t,".")),e};var _default=exports.default=dotUnset;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;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 dotUnset=(e,t)=>{var r;let u=(0,_strBefore.default)(t,".");const s=!u;if(s&&(u=t),"*"===u){for(let r in e)s?delete e[r]:(0,_isObject.default)(e[r])&&dotUnset(e[r],(0,_strAfter.default)(t,"."));return e}if(s)return delete e[t],e;const f=null!==(r=e[u])&&void 0!==r?r:[];return e[u]=dotUnset(f,(0,_strAfter.default)(t,".")),e};var _default=exports.default=dotUnset;
@@ -1,10 +1,9 @@
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
- * @memberOf module:objectHelpers
5
- * @param {Object|Array} item - Object or Array to test
6
- * @returns {boolean}
7
- */
8
- declare const emptyObject: (item: Array<any> | Object) => boolean;
9
- export default emptyObject;
1
+ /**
2
+ * Helper function for testing if the item is an Object or Array that does not have any properties
3
+ * @memberOf module:objectHelpers
4
+ * @param {Object|Array} item - Object or Array to test
5
+ * @returns {boolean}
6
+ */
7
+ declare const emptyObject: (item: Array<any> | Object) => boolean;
8
+ export default emptyObject;
10
9
  //# sourceMappingURL=emptyObject.d.ts.map
@@ -1,18 +1,17 @@
1
- 'use strict'
2
-
3
- Object.defineProperty(exports, '__esModule', {
4
- value: true
5
- })
6
- exports.default = void 0
7
- require('core-js/stable')
8
- var _isObject = _interopRequireDefault(require('./isObject'))
9
- var _objectKeys = _interopRequireDefault(require('./objectKeys'))
10
- function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
11
- /**
12
- * Helper function for testing if the item is an Object or Array that does not have any properties
13
- * @memberOf module:objectHelpers
14
- * @param {Object|Array} item - Object or Array to test
15
- * @returns {boolean}
16
- */
17
- const emptyObject = item => (typeof item === 'function' || (0, _isObject.default)(item)) && !(0, _objectKeys.default)(item).length
18
- var _default = exports.default = emptyObject
1
+ 'use strict'
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true
5
+ })
6
+ exports.default = void 0
7
+ const _isObject = _interopRequireDefault(require('./isObject'))
8
+ const _objectKeys = _interopRequireDefault(require('./objectKeys'))
9
+ function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
10
+ /**
11
+ * Helper function for testing if the item is an Object or Array that does not have any properties
12
+ * @memberOf module:objectHelpers
13
+ * @param {Object|Array} item - Object or Array to test
14
+ * @returns {boolean}
15
+ */
16
+ const emptyObject = item => (typeof item === 'function' || (0, _isObject.default)(item)) && !(0, _objectKeys.default)(item).length
17
+ const _default = exports.default = emptyObject
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,require("core-js/stable");var _isObject=_interopRequireDefault(require("./isObject")),_objectKeys=_interopRequireDefault(require("./objectKeys"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const emptyObject=e=>("function"==typeof e||(0,_isObject.default)(e))&&!(0,_objectKeys.default)(e).length;var _default=exports.default=emptyObject;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _isObject=_interopRequireDefault(require("./isObject")),_objectKeys=_interopRequireDefault(require("./objectKeys"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const emptyObject=e=>("function"==typeof e||(0,_isObject.default)(e))&&!(0,_objectKeys.default)(e).length;var _default=exports.default=emptyObject;
@@ -1,28 +1,27 @@
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
- * @memberOf module:objectHelpers
21
- * @param {Object|Array} obj - The Object (or Array) to be filtered
22
- * @param {module:objectHelpers~filterCallback|Function} fn - The function to be processed for each filtered property
23
- * @param {Object|Array} [thisArg] - Optional. Value to use as this when executing callback.
24
- * @returns {Object|Array}
25
- */
26
- declare const filterObject: (obj: filterableItem, fn: filterCallback, thisArg?: filterableItem) => filterableItem;
27
- export default filterObject;
1
+ type filterableItem = Array<any> | {
2
+ [k: number | string]: any;
3
+ };
4
+ /**
5
+ * Function is a predicate, to test each property value of the object. Return true to keep the element, false
6
+ * otherwise, taking three arguments
7
+ * @callback module:objectHelpers~filterCallback
8
+ * @memberOf module:objectHelpers
9
+ * @param {*} currentProperty - The current property being processed in the object.
10
+ * @param {string} [currentIndex] - The property name of the current property being processed in the object.
11
+ * @param {Object|Array} [object] - The object filter was called upon.
12
+ * @returns {boolean}
13
+ */
14
+ type filterCallback = (currentProperty: any, currentIndex: keyof filterableItem, object: filterableItem) => boolean;
15
+ /**
16
+ * This function is intended to replicate behaviour of the Array.filter() function but for Objects.
17
+ * If an array is passed in instead then it will perform standard filter(). It is recommended to
18
+ * always use the standard filter() function when it is known that the object is actually an array.
19
+ * @memberOf module:objectHelpers
20
+ * @param {Object|Array} obj - The Object (or Array) to be filtered
21
+ * @param {module:objectHelpers~filterCallback|Function} fn - The function to be processed for each filtered property
22
+ * @param {Object|Array} [thisArg] - Optional. Value to use as this when executing callback.
23
+ * @returns {Object|Array}
24
+ */
25
+ declare const filterObject: (obj: filterableItem, fn: filterCallback, thisArg?: filterableItem) => filterableItem;
26
+ export default filterObject;
28
27
  //# sourceMappingURL=filterObject.d.ts.map
@@ -1,32 +1,33 @@
1
- 'use strict'
2
-
3
- Object.defineProperty(exports, '__esModule', {
4
- value: true
5
- })
6
- exports.default = void 0
7
- require('core-js/modules/esnext.iterator.constructor.js')
8
- require('core-js/modules/esnext.iterator.filter.js')
9
- require('core-js/modules/esnext.iterator.reduce.js')
10
- require('core-js/stable')
11
- var _callWithParams = _interopRequireDefault(require('../functions/callWithParams'))
12
- var _objectKeys = _interopRequireDefault(require('./objectKeys'))
13
- function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
14
- /**
15
- * This function is intended to replicate behaviour of the Array.filter() function but for Objects.
16
- * If an array is passed in instead then it will perform standard filter(). It is recommended to
17
- * always use the standard filter() function when it is known that the object is actually an array.
18
- * @memberOf module:objectHelpers
19
- * @param {Object|Array} obj - The Object (or Array) to be filtered
20
- * @param {module:objectHelpers~filterCallback|Function} fn - The function to be processed for each filtered property
21
- * @param {Object|Array} [thisArg] - Optional. Value to use as this when executing callback.
22
- * @returns {Object|Array}
23
- */
24
- const filterObject = (obj, fn, thisArg = undefined) => Array.isArray(obj) ? obj.filter(fn, thisArg) : (0, _objectKeys.default)(obj, true).reduce((newObj, curr) => {
25
- if ((0, _callWithParams.default)(fn.bind(thisArg), [obj[curr], curr, obj], 2)) {
26
- newObj[curr] = obj[curr]
27
- } else {
28
- delete newObj[curr]
29
- }
30
- return newObj
31
- }, {})
32
- var _default = exports.default = filterObject
1
+ 'use strict'
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true
5
+ })
6
+ exports.default = void 0
7
+ require('core-js/modules/esnext.iterator.constructor.js')
8
+ require('core-js/modules/esnext.iterator.filter.js')
9
+ require('core-js/modules/esnext.iterator.reduce.js')
10
+ const _callWithParams = _interopRequireDefault(require('../functions/callWithParams'))
11
+ const _objectKeys = _interopRequireDefault(require('./objectKeys'))
12
+ function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
13
+ /**
14
+ * This function is intended to replicate behaviour of the Array.filter() function but for Objects.
15
+ * If an array is passed in instead then it will perform standard filter(). It is recommended to
16
+ * always use the standard filter() function when it is known that the object is actually an array.
17
+ * @memberOf module:objectHelpers
18
+ * @param {Object|Array} obj - The Object (or Array) to be filtered
19
+ * @param {module:objectHelpers~filterCallback|Function} fn - The function to be processed for each filtered property
20
+ * @param {Object|Array} [thisArg] - Optional. Value to use as this when executing callback.
21
+ * @returns {Object|Array}
22
+ */
23
+ const filterObject = (obj, fn, thisArg = undefined) => Array.isArray(obj)
24
+ ? obj.filter(fn, thisArg)
25
+ : (0, _objectKeys.default)(obj, true).reduce((newObj, curr) => {
26
+ if ((0, _callWithParams.default)(fn.bind(thisArg), [obj[curr], curr, obj], 2)) {
27
+ newObj[curr] = obj[curr]
28
+ } else {
29
+ delete newObj[curr]
30
+ }
31
+ return newObj
32
+ }, {})
33
+ const _default = exports.default = filterObject
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,require("core-js/modules/esnext.iterator.constructor.js"),require("core-js/modules/esnext.iterator.filter.js"),require("core-js/modules/esnext.iterator.reduce.js"),require("core-js/stable");var _callWithParams=_interopRequireDefault(require("../functions/callWithParams")),_objectKeys=_interopRequireDefault(require("./objectKeys"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const filterObject=(e,r,t=void 0)=>Array.isArray(e)?e.filter(r,t):(0,_objectKeys.default)(e,!0).reduce(((s,u)=>((0,_callWithParams.default)(r.bind(t),[e[u],u,e],2)?s[u]=e[u]:delete s[u],s)),{});var _default=exports.default=filterObject;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,require("core-js/modules/esnext.iterator.constructor.js"),require("core-js/modules/esnext.iterator.filter.js"),require("core-js/modules/esnext.iterator.reduce.js");var _callWithParams=_interopRequireDefault(require("../functions/callWithParams")),_objectKeys=_interopRequireDefault(require("./objectKeys"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const filterObject=(e,r,t=void 0)=>Array.isArray(e)?e.filter(r,t):(0,_objectKeys.default)(e,!0).reduce(((u,i)=>((0,_callWithParams.default)(r.bind(t),[e[i],i,e],2)?u[i]=e[i]:delete u[i],u)),{});var _default=exports.default=filterObject;
@@ -1,10 +1,9 @@
1
- import 'core-js/stable';
2
- /**
3
- * Determine if the value is a reference instance
4
- * @memberOf module:objectHelpers
5
- * @param {Array|Object|*} value
6
- * @returns {boolean}
7
- */
8
- declare const isCloneable: (value: Array<any> | Object | any) => boolean;
9
- export default isCloneable;
1
+ /**
2
+ * Determine if the value is a reference instance
3
+ * @memberOf module:objectHelpers
4
+ * @param {Array|Object|*} value
5
+ * @returns {boolean}
6
+ */
7
+ declare const isCloneable: (value: Array<any> | Object | any) => boolean;
8
+ export default isCloneable;
10
9
  //# sourceMappingURL=isCloneable.d.ts.map
@@ -1,17 +1,16 @@
1
- 'use strict'
2
-
3
- Object.defineProperty(exports, '__esModule', {
4
- value: true
5
- })
6
- exports.default = void 0
7
- require('core-js/stable')
8
- var _isInstanceObject = _interopRequireDefault(require('./isInstanceObject'))
9
- function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
10
- /**
11
- * Determine if the value is a reference instance
12
- * @memberOf module:objectHelpers
13
- * @param {Array|Object|*} value
14
- * @returns {boolean}
15
- */
16
- const isCloneable = value => typeof value === 'object' && value !== null && !(0, _isInstanceObject.default)(value)
17
- var _default = exports.default = isCloneable
1
+ 'use strict'
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true
5
+ })
6
+ exports.default = void 0
7
+ const _isInstanceObject = _interopRequireDefault(require('./isInstanceObject'))
8
+ function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
9
+ /**
10
+ * Determine if the value is a reference instance
11
+ * @memberOf module:objectHelpers
12
+ * @param {Array|Object|*} value
13
+ * @returns {boolean}
14
+ */
15
+ const isCloneable = value => typeof value === 'object' && value !== null && !(0, _isInstanceObject.default)(value)
16
+ const _default = exports.default = isCloneable
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,require("core-js/stable");var _isInstanceObject=_interopRequireDefault(require("./isInstanceObject"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const isCloneable=e=>"object"==typeof e&&null!==e&&!(0,_isInstanceObject.default)(e);var _default=exports.default=isCloneable;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _isInstanceObject=_interopRequireDefault(require("./isInstanceObject"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const isCloneable=e=>"object"==typeof e&&null!==e&&!(0,_isInstanceObject.default)(e);var _default=exports.default=isCloneable;
@@ -1,18 +1,17 @@
1
- import 'core-js/stable';
2
- /**
3
- * Check whether two values are equal by value, however they are stored: two separately made arrays or objects with the
4
- * same contents are equal, while two references only need to be the same when the value is a function.
5
- * - Primitives are equal when they are the same value (and NaN equals NaN)
6
- * - Arrays are equal when they have the same elements in the same order
7
- * - Objects are equal when they have the same prototype (the same kind of object) and the same own properties with
8
- * equal values, the order of the properties does not matter
9
- * - Dates, regular expressions, Maps and Sets are compared by what they hold
10
- * - Circular references are handled: a pair of objects which is already being compared is taken to be equal
11
- * @memberOf module:objectHelpers
12
- * @param {*} first - The first value.
13
- * @param {*} second - The second value.
14
- * @returns {boolean} True when the values are equal.
15
- */
16
- declare const isEqual: (first: any, second: any) => boolean;
17
- export default isEqual;
1
+ /**
2
+ * Check whether two values are equal by value, however they are stored: two separately made arrays or objects with the
3
+ * same contents are equal, while two references only need to be the same when the value is a function.
4
+ * - Primitives are equal when they are the same value (and NaN equals NaN)
5
+ * - Arrays are equal when they have the same elements in the same order
6
+ * - Objects are equal when they have the same prototype (the same kind of object) and the same own properties with
7
+ * equal values, the order of the properties does not matter
8
+ * - Dates, regular expressions, Maps and Sets are compared by what they hold
9
+ * - Circular references are handled: a pair of objects which is already being compared is taken to be equal
10
+ * @memberOf module:objectHelpers
11
+ * @param {*} first - The first value.
12
+ * @param {*} second - The second value.
13
+ * @returns {boolean} True when the values are equal.
14
+ */
15
+ declare const isEqual: (first: any, second: any) => boolean;
16
+ export default isEqual;
18
17
  //# sourceMappingURL=isEqual.d.ts.map
@@ -1,101 +1,100 @@
1
- 'use strict'
2
-
3
- Object.defineProperty(exports, '__esModule', {
4
- value: true
5
- })
6
- exports.default = void 0
7
- require('core-js/modules/es.regexp.flags.js')
8
- require('core-js/modules/esnext.iterator.constructor.js')
9
- require('core-js/modules/esnext.iterator.every.js')
10
- require('core-js/modules/esnext.iterator.some.js')
11
- require('core-js/modules/esnext.map.delete-all.js')
12
- require('core-js/modules/esnext.map.every.js')
13
- require('core-js/modules/esnext.map.filter.js')
14
- require('core-js/modules/esnext.map.find.js')
15
- require('core-js/modules/esnext.map.find-key.js')
16
- require('core-js/modules/esnext.map.includes.js')
17
- require('core-js/modules/esnext.map.key-of.js')
18
- require('core-js/modules/esnext.map.map-keys.js')
19
- require('core-js/modules/esnext.map.map-values.js')
20
- require('core-js/modules/esnext.map.merge.js')
21
- require('core-js/modules/esnext.map.reduce.js')
22
- require('core-js/modules/esnext.map.some.js')
23
- require('core-js/modules/esnext.map.update.js')
24
- require('core-js/modules/esnext.set.add-all.js')
25
- require('core-js/modules/esnext.set.delete-all.js')
26
- require('core-js/modules/esnext.set.difference.js')
27
- require('core-js/modules/esnext.set.every.js')
28
- require('core-js/modules/esnext.set.filter.js')
29
- require('core-js/modules/esnext.set.find.js')
30
- require('core-js/modules/esnext.set.intersection.js')
31
- require('core-js/modules/esnext.set.is-disjoint-from.js')
32
- require('core-js/modules/esnext.set.is-subset-of.js')
33
- require('core-js/modules/esnext.set.is-superset-of.js')
34
- require('core-js/modules/esnext.set.join.js')
35
- require('core-js/modules/esnext.set.map.js')
36
- require('core-js/modules/esnext.set.reduce.js')
37
- require('core-js/modules/esnext.set.some.js')
38
- require('core-js/modules/esnext.set.symmetric-difference.js')
39
- require('core-js/modules/esnext.set.union.js')
40
- require('core-js/modules/esnext.weak-map.delete-all.js')
41
- require('core-js/modules/esnext.weak-set.add-all.js')
42
- require('core-js/modules/esnext.weak-set.delete-all.js')
43
- require('core-js/stable')
44
- const sameValueZero = (first, second) => first === second || first !== first && second !== second
45
- const compare = (first, second, seen) => {
46
- if (sameValueZero(first, second)) {
47
- return true
48
- }
49
- if (typeof first !== 'object' || typeof second !== 'object' || first === null || second === null) {
50
- // Different primitives, or a function (which is only equal to itself), or an object against a primitive
51
- return false
52
- }
53
- if (Object.getPrototypeOf(first) !== Object.getPrototypeOf(second)) {
54
- return false
55
- }
56
- // A pair which is already being compared further up is not a difference (this is what makes circular references work)
57
- const comparing = seen.get(first)
58
- if (comparing && comparing.has(second)) {
59
- return true
60
- }
61
- if (comparing) {
62
- comparing.add(second)
63
- } else {
64
- seen.set(first, new WeakSet([second]))
65
- }
66
- if (first instanceof Date) {
67
- return first.getTime() === second.getTime()
68
- }
69
- if (first instanceof RegExp) {
70
- return first.source === second.source && first.flags === second.flags
71
- }
72
- if (first instanceof Map) {
73
- return first.size === second.size && Array.from(first.entries()).every(([key, value]) => second.has(key) && compare(value, second.get(key), seen))
74
- }
75
- if (first instanceof Set) {
76
- const others = Array.from(second.values())
77
- return first.size === second.size && Array.from(first.values()).every(value => others.some(other => compare(value, other, seen)))
78
- }
79
- if (Array.isArray(first) && first.length !== second.length) {
80
- return false
81
- }
82
- const firstKeys = Object.keys(first)
83
- const secondKeys = Object.keys(second)
84
- return firstKeys.length === secondKeys.length && firstKeys.every(key => Object.prototype.hasOwnProperty.call(second, key) && compare(first[key], second[key], seen))
85
- }
86
- /**
87
- * Check whether two values are equal by value, however they are stored: two separately made arrays or objects with the
88
- * same contents are equal, while two references only need to be the same when the value is a function.
89
- * - Primitives are equal when they are the same value (and NaN equals NaN)
90
- * - Arrays are equal when they have the same elements in the same order
91
- * - Objects are equal when they have the same prototype (the same kind of object) and the same own properties with
92
- * equal values, the order of the properties does not matter
93
- * - Dates, regular expressions, Maps and Sets are compared by what they hold
94
- * - Circular references are handled: a pair of objects which is already being compared is taken to be equal
95
- * @memberOf module:objectHelpers
96
- * @param {*} first - The first value.
97
- * @param {*} second - The second value.
98
- * @returns {boolean} True when the values are equal.
99
- */
100
- const isEqual = (first, second) => compare(first, second, new WeakMap())
101
- const _default = exports.default = isEqual
1
+ 'use strict'
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true
5
+ })
6
+ exports.default = void 0
7
+ require('core-js/modules/es.regexp.flags.js')
8
+ require('core-js/modules/esnext.iterator.constructor.js')
9
+ require('core-js/modules/esnext.iterator.every.js')
10
+ require('core-js/modules/esnext.iterator.some.js')
11
+ require('core-js/modules/esnext.map.delete-all.js')
12
+ require('core-js/modules/esnext.map.every.js')
13
+ require('core-js/modules/esnext.map.filter.js')
14
+ require('core-js/modules/esnext.map.find.js')
15
+ require('core-js/modules/esnext.map.find-key.js')
16
+ require('core-js/modules/esnext.map.includes.js')
17
+ require('core-js/modules/esnext.map.key-of.js')
18
+ require('core-js/modules/esnext.map.map-keys.js')
19
+ require('core-js/modules/esnext.map.map-values.js')
20
+ require('core-js/modules/esnext.map.merge.js')
21
+ require('core-js/modules/esnext.map.reduce.js')
22
+ require('core-js/modules/esnext.map.some.js')
23
+ require('core-js/modules/esnext.map.update.js')
24
+ require('core-js/modules/esnext.set.add-all.js')
25
+ require('core-js/modules/esnext.set.delete-all.js')
26
+ require('core-js/modules/esnext.set.difference.js')
27
+ require('core-js/modules/esnext.set.every.js')
28
+ require('core-js/modules/esnext.set.filter.js')
29
+ require('core-js/modules/esnext.set.find.js')
30
+ require('core-js/modules/esnext.set.intersection.js')
31
+ require('core-js/modules/esnext.set.is-disjoint-from.js')
32
+ require('core-js/modules/esnext.set.is-subset-of.js')
33
+ require('core-js/modules/esnext.set.is-superset-of.js')
34
+ require('core-js/modules/esnext.set.join.js')
35
+ require('core-js/modules/esnext.set.map.js')
36
+ require('core-js/modules/esnext.set.reduce.js')
37
+ require('core-js/modules/esnext.set.some.js')
38
+ require('core-js/modules/esnext.set.symmetric-difference.js')
39
+ require('core-js/modules/esnext.set.union.js')
40
+ require('core-js/modules/esnext.weak-map.delete-all.js')
41
+ require('core-js/modules/esnext.weak-set.add-all.js')
42
+ require('core-js/modules/esnext.weak-set.delete-all.js')
43
+ const sameValueZero = (first, second) => first === second || first !== first && second !== second
44
+ const compare = (first, second, seen) => {
45
+ if (sameValueZero(first, second)) {
46
+ return true
47
+ }
48
+ if (typeof first !== 'object' || typeof second !== 'object' || first === null || second === null) {
49
+ // Different primitives, or a function (which is only equal to itself), or an object against a primitive
50
+ return false
51
+ }
52
+ if (Object.getPrototypeOf(first) !== Object.getPrototypeOf(second)) {
53
+ return false
54
+ }
55
+ // A pair which is already being compared further up is not a difference (this is what makes circular references work)
56
+ const comparing = seen.get(first)
57
+ if (comparing && comparing.has(second)) {
58
+ return true
59
+ }
60
+ if (comparing) {
61
+ comparing.add(second)
62
+ } else {
63
+ seen.set(first, new WeakSet([second]))
64
+ }
65
+ if (first instanceof Date) {
66
+ return first.getTime() === second.getTime()
67
+ }
68
+ if (first instanceof RegExp) {
69
+ return first.source === second.source && first.flags === second.flags
70
+ }
71
+ if (first instanceof Map) {
72
+ return first.size === second.size && Array.from(first.entries()).every(([key, value]) => second.has(key) && compare(value, second.get(key), seen))
73
+ }
74
+ if (first instanceof Set) {
75
+ const others = Array.from(second.values())
76
+ return first.size === second.size && Array.from(first.values()).every(value => others.some(other => compare(value, other, seen)))
77
+ }
78
+ if (Array.isArray(first) && first.length !== second.length) {
79
+ return false
80
+ }
81
+ const firstKeys = Object.keys(first)
82
+ const secondKeys = Object.keys(second)
83
+ return firstKeys.length === secondKeys.length && firstKeys.every(key => Object.prototype.hasOwnProperty.call(second, key) && compare(first[key], second[key], seen))
84
+ }
85
+ /**
86
+ * Check whether two values are equal by value, however they are stored: two separately made arrays or objects with the
87
+ * same contents are equal, while two references only need to be the same when the value is a function.
88
+ * - Primitives are equal when they are the same value (and NaN equals NaN)
89
+ * - Arrays are equal when they have the same elements in the same order
90
+ * - Objects are equal when they have the same prototype (the same kind of object) and the same own properties with
91
+ * equal values, the order of the properties does not matter
92
+ * - Dates, regular expressions, Maps and Sets are compared by what they hold
93
+ * - Circular references are handled: a pair of objects which is already being compared is taken to be equal
94
+ * @memberOf module:objectHelpers
95
+ * @param {*} first - The first value.
96
+ * @param {*} second - The second value.
97
+ * @returns {boolean} True when the values are equal.
98
+ */
99
+ const isEqual = (first, second) => compare(first, second, new WeakMap())
100
+ const _default = exports.default = isEqual