si-funciona 2.6.1 → 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 (169) hide show
  1. package/README.md +40 -10
  2. package/browser/siFunciona.js +18 -11
  3. package/dist/helpers/arrays/BasicQueue.d.ts +64 -64
  4. package/dist/helpers/arrays/BasicQueue.js +61 -61
  5. package/dist/helpers/arrays/addUniqueToArray.d.ts +9 -9
  6. package/dist/helpers/arrays/addUniqueToArray.js +16 -16
  7. package/dist/helpers/arrays/buildArray.d.ts +10 -10
  8. package/dist/helpers/arrays/buildArray.js +25 -25
  9. package/dist/helpers/arrays/buildArrayOfReferences.d.ts +10 -10
  10. package/dist/helpers/arrays/buildArrayOfReferences.js +22 -22
  11. package/dist/helpers/arrays/compareArrays.d.ts +96 -96
  12. package/dist/helpers/arrays/compareArrays.js +96 -96
  13. package/dist/helpers/arrays/mergeArrays.d.ts +8 -8
  14. package/dist/helpers/arrays/mergeArrays.js +21 -21
  15. package/dist/helpers/arrays/uniqueArray.d.ts +8 -8
  16. package/dist/helpers/arrays/uniqueArray.js +16 -16
  17. package/dist/helpers/arrays.d.ts +27 -27
  18. package/dist/helpers/arrays.js +74 -74
  19. package/dist/helpers/descriptors/assignDescriptor.d.ts +13 -13
  20. package/dist/helpers/descriptors/assignDescriptor.js +57 -57
  21. package/dist/helpers/descriptors/assignDescriptorDetail.d.ts +13 -13
  22. package/dist/helpers/descriptors/assignDescriptorDetail.js +36 -36
  23. package/dist/helpers/descriptors/checkClearValues.d.ts +11 -11
  24. package/dist/helpers/descriptors/checkClearValues.js +20 -20
  25. package/dist/helpers/descriptors/checkDescriptorComplete.d.ts +10 -10
  26. package/dist/helpers/descriptors/checkDescriptorComplete.js +19 -19
  27. package/dist/helpers/descriptors/cloneDescriptor.d.ts +9 -9
  28. package/dist/helpers/descriptors/cloneDescriptor.js +35 -35
  29. package/dist/helpers/descriptors/cloneDescriptorDetail.d.ts +9 -9
  30. package/dist/helpers/descriptors/cloneDescriptorDetail.js +26 -26
  31. package/dist/helpers/descriptors/compareDescriptor.d.ts +12 -12
  32. package/dist/helpers/descriptors/compareDescriptor.js +32 -32
  33. package/dist/helpers/descriptors/describeObject.d.ts +14 -14
  34. package/dist/helpers/descriptors/describeObject.js +52 -52
  35. package/dist/helpers/descriptors/describeObjectDetail.d.ts +13 -13
  36. package/dist/helpers/descriptors/describeObjectDetail.js +37 -37
  37. package/dist/helpers/descriptors/describeObjectMap.d.ts +35 -35
  38. package/dist/helpers/descriptors/describeObjectMap.js +107 -107
  39. package/dist/helpers/descriptors/nextReference.d.ts +12 -12
  40. package/dist/helpers/descriptors/nextReference.js +30 -30
  41. package/dist/helpers/descriptors/sameDescriptor.d.ts +12 -12
  42. package/dist/helpers/descriptors/sameDescriptor.js +21 -21
  43. package/dist/helpers/descriptors/samples/descriptor.d.ts +34 -34
  44. package/dist/helpers/descriptors/samples/descriptor.js +22 -22
  45. package/dist/helpers/descriptors/samples/descriptorDetail.d.ts +42 -42
  46. package/dist/helpers/descriptors/samples/descriptorDetail.js +24 -24
  47. package/dist/helpers/descriptors/samples/descriptorMap.d.ts +16 -16
  48. package/dist/helpers/descriptors/samples/descriptorMap.js +14 -14
  49. package/dist/helpers/descriptors/samples/mappedDescriptorMap.d.ts +10 -10
  50. package/dist/helpers/descriptors/samples/mappedDescriptorMap.js +287 -287
  51. package/dist/helpers/descriptors.d.ts +56 -56
  52. package/dist/helpers/descriptors.js +129 -129
  53. package/dist/helpers/functions/callWithParams.d.ts +10 -10
  54. package/dist/helpers/functions/callWithParams.js +16 -16
  55. package/dist/helpers/functions/curry.d.ts +10 -10
  56. package/dist/helpers/functions/curry.js +16 -16
  57. package/dist/helpers/functions/delay.d.ts +20 -20
  58. package/dist/helpers/functions/delay.js +31 -31
  59. package/dist/helpers/functions/makeBasicQueue.d.ts +9 -9
  60. package/dist/helpers/functions/makeBasicQueue.js +18 -18
  61. package/dist/helpers/functions/onBodyLoad.d.ts +9 -9
  62. package/dist/helpers/functions/onBodyLoad.js +75 -75
  63. package/dist/helpers/functions/pipe.d.ts +9 -9
  64. package/dist/helpers/functions/pipe.js +17 -17
  65. package/dist/helpers/functions/preloadParams.d.ts +19 -19
  66. package/dist/helpers/functions/preloadParams.js +20 -20
  67. package/dist/helpers/functions/queueManager.d.ts +48 -48
  68. package/dist/helpers/functions/queueManager.js +123 -123
  69. package/dist/helpers/functions/queueTimeout.d.ts +20 -20
  70. package/dist/helpers/functions/queueTimeout.js +22 -22
  71. package/dist/helpers/functions/relevancyFilter.d.ts +34 -34
  72. package/dist/helpers/functions/relevancyFilter.js +33 -33
  73. package/dist/helpers/functions/trace.d.ts +13 -13
  74. package/dist/helpers/functions/trace.js +24 -24
  75. package/dist/helpers/functions.d.ts +40 -40
  76. package/dist/helpers/functions.js +105 -105
  77. package/dist/helpers/numbers/absoluteMax.d.ts +9 -9
  78. package/dist/helpers/numbers/absoluteMax.js +15 -15
  79. package/dist/helpers/numbers/absoluteMin.d.ts +9 -9
  80. package/dist/helpers/numbers/absoluteMin.js +15 -15
  81. package/dist/helpers/numbers/compare.d.ts +12 -12
  82. package/dist/helpers/numbers/compare.js +18 -18
  83. package/dist/helpers/numbers/greatestCommonDivisor.d.ts +9 -9
  84. package/dist/helpers/numbers/greatestCommonDivisor.js +15 -15
  85. package/dist/helpers/numbers/leastCommonMultiple.d.ts +9 -9
  86. package/dist/helpers/numbers/leastCommonMultiple.js +17 -17
  87. package/dist/helpers/numbers/lowestCommonDenominator.d.ts +9 -9
  88. package/dist/helpers/numbers/lowestCommonDenominator.js +19 -19
  89. package/dist/helpers/numbers/randomInteger.d.ts +11 -5
  90. package/dist/helpers/numbers/randomInteger.js +11 -5
  91. package/dist/helpers/numbers/randomNumber.d.ts +7 -6
  92. package/dist/helpers/numbers/randomNumber.js +7 -6
  93. package/dist/helpers/numbers/simplestRatio.d.ts +8 -8
  94. package/dist/helpers/numbers/simplestRatio.js +28 -28
  95. package/dist/helpers/numbers.d.ts +30 -30
  96. package/dist/helpers/numbers.js +89 -89
  97. package/dist/helpers/objects/cloneObject.d.ts +19 -19
  98. package/dist/helpers/objects/cloneObject.js +31 -31
  99. package/dist/helpers/objects/dotGet.d.ts +11 -11
  100. package/dist/helpers/objects/dotGet.js +59 -59
  101. package/dist/helpers/objects/dotNotate.d.ts +27 -27
  102. package/dist/helpers/objects/dotNotate.js +79 -79
  103. package/dist/helpers/objects/dotSet.d.ts +11 -11
  104. package/dist/helpers/objects/dotSet.js +53 -53
  105. package/dist/helpers/objects/dotUnset.d.ts +10 -10
  106. package/dist/helpers/objects/dotUnset.js +52 -52
  107. package/dist/helpers/objects/emptyObject.d.ts +8 -8
  108. package/dist/helpers/objects/emptyObject.js +17 -17
  109. package/dist/helpers/objects/filterObject.d.ts +26 -26
  110. package/dist/helpers/objects/filterObject.js +33 -33
  111. package/dist/helpers/objects/isCloneable.d.ts +8 -8
  112. package/dist/helpers/objects/isCloneable.js +16 -16
  113. package/dist/helpers/objects/isEqual.d.ts +16 -16
  114. package/dist/helpers/objects/isEqual.js +100 -100
  115. package/dist/helpers/objects/isInstanceObject.d.ts +8 -8
  116. package/dist/helpers/objects/isInstanceObject.js +26 -26
  117. package/dist/helpers/objects/isObject.d.ts +8 -8
  118. package/dist/helpers/objects/isObject.js +14 -14
  119. package/dist/helpers/objects/mapObject.d.ts +25 -25
  120. package/dist/helpers/objects/mapObject.js +25 -25
  121. package/dist/helpers/objects/mergeObjects.d.ts +12 -12
  122. package/dist/helpers/objects/mergeObjects.js +19 -19
  123. package/dist/helpers/objects/mergeObjectsBase.d.ts +35 -35
  124. package/dist/helpers/objects/mergeObjectsBase.js +91 -91
  125. package/dist/helpers/objects/mergeObjectsMutable.d.ts +12 -12
  126. package/dist/helpers/objects/mergeObjectsMutable.js +17 -17
  127. package/dist/helpers/objects/objectKeys.d.ts +13 -13
  128. package/dist/helpers/objects/objectKeys.js +39 -39
  129. package/dist/helpers/objects/objectValues.d.ts +13 -13
  130. package/dist/helpers/objects/objectValues.js +20 -20
  131. package/dist/helpers/objects/reduceObject.d.ts +30 -30
  132. package/dist/helpers/objects/reduceObject.js +25 -25
  133. package/dist/helpers/objects/setAndReturnValue.d.ts +13 -13
  134. package/dist/helpers/objects/setAndReturnValue.js +19 -19
  135. package/dist/helpers/objects/setValue.d.ts +14 -14
  136. package/dist/helpers/objects/setValue.js +21 -21
  137. package/dist/helpers/objects.d.ts +121 -121
  138. package/dist/helpers/objects.js +177 -177
  139. package/dist/helpers/strings/camelCase.d.ts +8 -8
  140. package/dist/helpers/strings/camelCase.js +19 -19
  141. package/dist/helpers/strings/kabobCase.d.ts +8 -8
  142. package/dist/helpers/strings/kabobCase.js +18 -18
  143. package/dist/helpers/strings/makeFilepath.d.ts +9 -9
  144. package/dist/helpers/strings/makeFilepath.js +49 -49
  145. package/dist/helpers/strings/makeRelativePath.d.ts +9 -9
  146. package/dist/helpers/strings/makeRelativePath.js +43 -43
  147. package/dist/helpers/strings/regexEscape.d.ts +8 -8
  148. package/dist/helpers/strings/regexEscape.js +15 -15
  149. package/dist/helpers/strings/snakeCase.d.ts +8 -8
  150. package/dist/helpers/strings/snakeCase.js +18 -18
  151. package/dist/helpers/strings/strAfter.d.ts +9 -9
  152. package/dist/helpers/strings/strAfter.js +18 -18
  153. package/dist/helpers/strings/strAfterLast.d.ts +9 -9
  154. package/dist/helpers/strings/strAfterLast.js +18 -18
  155. package/dist/helpers/strings/strBefore.d.ts +9 -9
  156. package/dist/helpers/strings/strBefore.js +18 -18
  157. package/dist/helpers/strings/strBeforeLast.d.ts +9 -9
  158. package/dist/helpers/strings/strBeforeLast.js +18 -18
  159. package/dist/helpers/strings/titleCase.d.ts +8 -8
  160. package/dist/helpers/strings/titleCase.js +19 -19
  161. package/dist/helpers/strings/ucFirst.d.ts +8 -8
  162. package/dist/helpers/strings/ucFirst.js +14 -14
  163. package/dist/helpers/strings/words.d.ts +9 -9
  164. package/dist/helpers/strings/words.js +15 -15
  165. package/dist/helpers/strings.d.ts +38 -38
  166. package/dist/helpers/strings.js +121 -121
  167. package/dist/main.d.ts +15 -15
  168. package/dist/main.js +103 -103
  169. package/package.json +4 -4
@@ -1,97 +1,97 @@
1
- /**
2
- * Store the comparison result for an element that may exist in either of compared arrays.
3
- * - value stores the element value from the arrays being compared
4
- * - results has the comparison results where first index (0) is result for first compared array
5
- * and the second index (1) will be the result for the second compared array
6
- * @example
7
- * // example of input and resulting output
8
- *
9
- * const arr1 = ['match1', 'firstMismatch1', 'match2', 'firstMismatch2', 'badMatch1']
10
- * const arr2 = ['match1', 'match2', 'secondMismatch1', 'badMatch1', 'badMatch1']
11
- *
12
- * // Taking the first element in both, then the value: 'match1' exists in both arrays
13
- * // compareArrayResult will be { value: 'match1', result: [0, 0] }
14
- * // First index of 0 indicates this value in the first array exists in the second array
15
- * // Second index of 0 indicates this value in the second array exists in the first array
16
- *
17
- * // Taking the second element in the first array, then the value: 'firstMismatch1' exists in only the first array
18
- * // compareArrayResult will be { value: 'firstMismatch1', result: [1, -1] }
19
- * // First index of 1 indicates this value in the first array might need to be added to the second array
20
- * // Second index of -1 indicates this value only exists in the first array
21
- *
22
- * // Taking the third element in the second array, then the value: 'secondMismatch1' exists in only the second array
23
- * // compareArrayResult will be { value: 'secondMismatch1', result: [-1, 1] }
24
- * // First index of -1 indicates this value only exists in the second array
25
- * // Second index of 1 indicates this value in the second array might need to be added to the first array
26
- * @typedef {Object.<string, string|Array.<number>>} module:arrayHelpers~compareArrayResult
27
- * @memberOf module:arrayHelpers
28
- * @property {string} value - The element value being compared
29
- * @property {Array.<Array.<string|number>>} keys - Keys in arrays associated with this value
30
- * @property {Array.<number>} result - The results in the order of the compared arrays
31
- */
32
- export type compareArrayResult = {
33
- value: string;
34
- keys: Array<Array<number | string>>;
35
- result: Array<number>;
36
- };
37
- export type compareArrayResultMap = Array<compareArrayResult>;
38
- /**
39
- * Compare two Arrays and return the Object where the value for each property is as follows:
40
- * -1 to indicate val1 is less than val2
41
- * 0 to indicate both values are the equal
42
- * 1 to indicate val1 is greater than val2
43
- * The returned Object uses the element values as the property names
44
- * This functions works by first creating a concatenated array of all unique values. Then for each unique values,
45
- * convert to a string and use it as a new property name. Array filter each array checking if it has the unique value.
46
- * Use the lengths of these filtered arrays to compare. So if the first array has the value and the second one doesn't
47
- * the first length will be one or more and the second will be zero, if the both have the value then both will be one
48
- * or more.
49
- * @example
50
- * // example of input and resulting output
51
- * compareArrays(
52
- * ['match1', 'firstMismatch1', 'match2', 'firstMismatch2', 'badMatch1'],
53
- * ['match1', 'match2', 'secondMismatch1', 'badMatch1', 'badMatch1']
54
- * )
55
- * // unique array
56
- * ['match1', 'firstMismatch1', 'match2', 'firstMismatch2', 'badMatch1', 'secondMismatch1']
57
- * // result object
58
- * [
59
- * {
60
- * value: 'match1',
61
- * keys: [[0], [0]],
62
- * result: [0, 0]
63
- * },
64
- * {
65
- * value: 'firstMismatch1',
66
- * keys: [[1], []],
67
- * result: [1, -1]
68
- * },
69
- * {
70
- * value: 'match2',
71
- * keys: [[2], [1]],
72
- * result: [0, 0]
73
- * },
74
- * {
75
- * value: 'firstMismatch2',
76
- * keys: [[3], []],
77
- * result: [1, -1]
78
- * },
79
- * {
80
- * value: 'badMatch1',
81
- * keys: [[4], [3, 4]],
82
- * result: [0, 0]
83
- * },
84
- * {
85
- * value: 'secondMismatch1',
86
- * keys: [[], [2]],
87
- * result: [-1, 1]
88
- * }
89
- * ]
90
- *
91
- * @memberOf module:arrayHelpers
92
- * @param {...Array} arrays - The arrays to compare
93
- * @returns {Array.<module:arrayHelpers~compareArrayResult>}
94
- */
95
- declare const compareArrays: (...arrays: Array<Array<any>>) => compareArrayResultMap;
96
- export default compareArrays;
1
+ /**
2
+ * Store the comparison result for an element that may exist in either of compared arrays.
3
+ * - value stores the element value from the arrays being compared
4
+ * - results has the comparison results where first index (0) is result for first compared array
5
+ * and the second index (1) will be the result for the second compared array
6
+ * @example
7
+ * // example of input and resulting output
8
+ *
9
+ * const arr1 = ['match1', 'firstMismatch1', 'match2', 'firstMismatch2', 'badMatch1']
10
+ * const arr2 = ['match1', 'match2', 'secondMismatch1', 'badMatch1', 'badMatch1']
11
+ *
12
+ * // Taking the first element in both, then the value: 'match1' exists in both arrays
13
+ * // compareArrayResult will be { value: 'match1', result: [0, 0] }
14
+ * // First index of 0 indicates this value in the first array exists in the second array
15
+ * // Second index of 0 indicates this value in the second array exists in the first array
16
+ *
17
+ * // Taking the second element in the first array, then the value: 'firstMismatch1' exists in only the first array
18
+ * // compareArrayResult will be { value: 'firstMismatch1', result: [1, -1] }
19
+ * // First index of 1 indicates this value in the first array might need to be added to the second array
20
+ * // Second index of -1 indicates this value only exists in the first array
21
+ *
22
+ * // Taking the third element in the second array, then the value: 'secondMismatch1' exists in only the second array
23
+ * // compareArrayResult will be { value: 'secondMismatch1', result: [-1, 1] }
24
+ * // First index of -1 indicates this value only exists in the second array
25
+ * // Second index of 1 indicates this value in the second array might need to be added to the first array
26
+ * @typedef {Object.<string, string|Array.<number>>} module:arrayHelpers~compareArrayResult
27
+ * @memberOf module:arrayHelpers
28
+ * @property {string} value - The element value being compared
29
+ * @property {Array.<Array.<string|number>>} keys - Keys in arrays associated with this value
30
+ * @property {Array.<number>} result - The results in the order of the compared arrays
31
+ */
32
+ export type compareArrayResult = {
33
+ value: string;
34
+ keys: Array<Array<number | string>>;
35
+ result: Array<number>;
36
+ };
37
+ export type compareArrayResultMap = Array<compareArrayResult>;
38
+ /**
39
+ * Compare two Arrays and return the Object where the value for each property is as follows:
40
+ * -1 to indicate val1 is less than val2
41
+ * 0 to indicate both values are the equal
42
+ * 1 to indicate val1 is greater than val2
43
+ * The returned Object uses the element values as the property names
44
+ * This functions works by first creating a concatenated array of all unique values. Then for each unique values,
45
+ * convert to a string and use it as a new property name. Array filter each array checking if it has the unique value.
46
+ * Use the lengths of these filtered arrays to compare. So if the first array has the value and the second one doesn't
47
+ * the first length will be one or more and the second will be zero, if the both have the value then both will be one
48
+ * or more.
49
+ * @example
50
+ * // example of input and resulting output
51
+ * compareArrays(
52
+ * ['match1', 'firstMismatch1', 'match2', 'firstMismatch2', 'badMatch1'],
53
+ * ['match1', 'match2', 'secondMismatch1', 'badMatch1', 'badMatch1']
54
+ * )
55
+ * // unique array
56
+ * ['match1', 'firstMismatch1', 'match2', 'firstMismatch2', 'badMatch1', 'secondMismatch1']
57
+ * // result object
58
+ * [
59
+ * {
60
+ * value: 'match1',
61
+ * keys: [[0], [0]],
62
+ * result: [0, 0]
63
+ * },
64
+ * {
65
+ * value: 'firstMismatch1',
66
+ * keys: [[1], []],
67
+ * result: [1, -1]
68
+ * },
69
+ * {
70
+ * value: 'match2',
71
+ * keys: [[2], [1]],
72
+ * result: [0, 0]
73
+ * },
74
+ * {
75
+ * value: 'firstMismatch2',
76
+ * keys: [[3], []],
77
+ * result: [1, -1]
78
+ * },
79
+ * {
80
+ * value: 'badMatch1',
81
+ * keys: [[4], [3, 4]],
82
+ * result: [0, 0]
83
+ * },
84
+ * {
85
+ * value: 'secondMismatch1',
86
+ * keys: [[], [2]],
87
+ * result: [-1, 1]
88
+ * }
89
+ * ]
90
+ *
91
+ * @memberOf module:arrayHelpers
92
+ * @param {...Array} arrays - The arrays to compare
93
+ * @returns {Array.<module:arrayHelpers~compareArrayResult>}
94
+ */
95
+ declare const compareArrays: (...arrays: Array<Array<any>>) => compareArrayResultMap;
96
+ export default compareArrays;
97
97
  //# sourceMappingURL=compareArrays.d.ts.map
@@ -1,96 +1,96 @@
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.every.js')
9
- require('core-js/modules/esnext.iterator.map.js')
10
- require('core-js/modules/esnext.iterator.reduce.js')
11
- const _isObject = _interopRequireDefault(require('../objects/isObject'))
12
- const _mergeArrays = _interopRequireDefault(require('./mergeArrays'))
13
- const _objectKeys = _interopRequireDefault(require('../objects/objectKeys'))
14
- function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
15
- /**
16
- * Compare two Arrays and return the Object where the value for each property is as follows:
17
- * -1 to indicate val1 is less than val2
18
- * 0 to indicate both values are the equal
19
- * 1 to indicate val1 is greater than val2
20
- * The returned Object uses the element values as the property names
21
- * This functions works by first creating a concatenated array of all unique values. Then for each unique values,
22
- * convert to a string and use it as a new property name. Array filter each array checking if it has the unique value.
23
- * Use the lengths of these filtered arrays to compare. So if the first array has the value and the second one doesn't
24
- * the first length will be one or more and the second will be zero, if the both have the value then both will be one
25
- * or more.
26
- * @example
27
- * // example of input and resulting output
28
- * compareArrays(
29
- * ['match1', 'firstMismatch1', 'match2', 'firstMismatch2', 'badMatch1'],
30
- * ['match1', 'match2', 'secondMismatch1', 'badMatch1', 'badMatch1']
31
- * )
32
- * // unique array
33
- * ['match1', 'firstMismatch1', 'match2', 'firstMismatch2', 'badMatch1', 'secondMismatch1']
34
- * // result object
35
- * [
36
- * {
37
- * value: 'match1',
38
- * keys: [[0], [0]],
39
- * result: [0, 0]
40
- * },
41
- * {
42
- * value: 'firstMismatch1',
43
- * keys: [[1], []],
44
- * result: [1, -1]
45
- * },
46
- * {
47
- * value: 'match2',
48
- * keys: [[2], [1]],
49
- * result: [0, 0]
50
- * },
51
- * {
52
- * value: 'firstMismatch2',
53
- * keys: [[3], []],
54
- * result: [1, -1]
55
- * },
56
- * {
57
- * value: 'badMatch1',
58
- * keys: [[4], [3, 4]],
59
- * result: [0, 0]
60
- * },
61
- * {
62
- * value: 'secondMismatch1',
63
- * keys: [[], [2]],
64
- * result: [-1, 1]
65
- * }
66
- * ]
67
- *
68
- * @memberOf module:arrayHelpers
69
- * @param {...Array} arrays - The arrays to compare
70
- * @returns {Array.<module:arrayHelpers~compareArrayResult>}
71
- */
72
- const compareArrays = (...arrays) => (0, _mergeArrays.default)(...arrays).reduce((results, attr) => {
73
- const attrType = typeof attr
74
- const useArray = Array.isArray(attr)
75
- const keys = arrays.map(array => array.reduce((results, current, key) => {
76
- const currentType = typeof current
77
- if (attrType !== currentType) {
78
- return results
79
- }
80
- if (!(0, _isObject.default)(attr)) {
81
- return current === attr ? [...results, key] : results
82
- }
83
- if (useArray !== Array.isArray(current)) {
84
- return results
85
- }
86
- const compareKeys = useArray ? compareArrays(attr, current) : compareArrays((0, _objectKeys.default)(attr), (0, _objectKeys.default)(current))
87
- return compareKeys.every(compare => compare.result.every(result => result === 0)) ? [...results, key] : results
88
- }, []))
89
- const arrayResults = keys.map(array => array.length ? 1 : -1)
90
- return [...results, {
91
- value: attr,
92
- keys,
93
- result: arrayResults.every(result => result === 1) ? arrayResults.map(result => 0) : arrayResults
94
- }]
95
- }, [])
96
- const _default = exports.default = compareArrays
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.every.js')
9
+ require('core-js/modules/esnext.iterator.map.js')
10
+ require('core-js/modules/esnext.iterator.reduce.js')
11
+ const _isObject = _interopRequireDefault(require('../objects/isObject'))
12
+ const _mergeArrays = _interopRequireDefault(require('./mergeArrays'))
13
+ const _objectKeys = _interopRequireDefault(require('../objects/objectKeys'))
14
+ function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
15
+ /**
16
+ * Compare two Arrays and return the Object where the value for each property is as follows:
17
+ * -1 to indicate val1 is less than val2
18
+ * 0 to indicate both values are the equal
19
+ * 1 to indicate val1 is greater than val2
20
+ * The returned Object uses the element values as the property names
21
+ * This functions works by first creating a concatenated array of all unique values. Then for each unique values,
22
+ * convert to a string and use it as a new property name. Array filter each array checking if it has the unique value.
23
+ * Use the lengths of these filtered arrays to compare. So if the first array has the value and the second one doesn't
24
+ * the first length will be one or more and the second will be zero, if the both have the value then both will be one
25
+ * or more.
26
+ * @example
27
+ * // example of input and resulting output
28
+ * compareArrays(
29
+ * ['match1', 'firstMismatch1', 'match2', 'firstMismatch2', 'badMatch1'],
30
+ * ['match1', 'match2', 'secondMismatch1', 'badMatch1', 'badMatch1']
31
+ * )
32
+ * // unique array
33
+ * ['match1', 'firstMismatch1', 'match2', 'firstMismatch2', 'badMatch1', 'secondMismatch1']
34
+ * // result object
35
+ * [
36
+ * {
37
+ * value: 'match1',
38
+ * keys: [[0], [0]],
39
+ * result: [0, 0]
40
+ * },
41
+ * {
42
+ * value: 'firstMismatch1',
43
+ * keys: [[1], []],
44
+ * result: [1, -1]
45
+ * },
46
+ * {
47
+ * value: 'match2',
48
+ * keys: [[2], [1]],
49
+ * result: [0, 0]
50
+ * },
51
+ * {
52
+ * value: 'firstMismatch2',
53
+ * keys: [[3], []],
54
+ * result: [1, -1]
55
+ * },
56
+ * {
57
+ * value: 'badMatch1',
58
+ * keys: [[4], [3, 4]],
59
+ * result: [0, 0]
60
+ * },
61
+ * {
62
+ * value: 'secondMismatch1',
63
+ * keys: [[], [2]],
64
+ * result: [-1, 1]
65
+ * }
66
+ * ]
67
+ *
68
+ * @memberOf module:arrayHelpers
69
+ * @param {...Array} arrays - The arrays to compare
70
+ * @returns {Array.<module:arrayHelpers~compareArrayResult>}
71
+ */
72
+ const compareArrays = (...arrays) => (0, _mergeArrays.default)(...arrays).reduce((results, attr) => {
73
+ const attrType = typeof attr
74
+ const useArray = Array.isArray(attr)
75
+ const keys = arrays.map(array => array.reduce((results, current, key) => {
76
+ const currentType = typeof current
77
+ if (attrType !== currentType) {
78
+ return results
79
+ }
80
+ if (!(0, _isObject.default)(attr)) {
81
+ return current === attr ? [...results, key] : results
82
+ }
83
+ if (useArray !== Array.isArray(current)) {
84
+ return results
85
+ }
86
+ const compareKeys = useArray ? compareArrays(attr, current) : compareArrays((0, _objectKeys.default)(attr), (0, _objectKeys.default)(current))
87
+ return compareKeys.every(compare => compare.result.every(result => result === 0)) ? [...results, key] : results
88
+ }, []))
89
+ const arrayResults = keys.map(array => array.length ? 1 : -1)
90
+ return [...results, {
91
+ value: attr,
92
+ keys,
93
+ result: arrayResults.every(result => result === 1) ? arrayResults.map(result => 0) : arrayResults
94
+ }]
95
+ }, [])
96
+ const _default = exports.default = compareArrays
@@ -1,9 +1,9 @@
1
- /**
2
- * Take multiple arrays and then filter all these into one unique array.
3
- * @memberOf module:arrayHelpers
4
- * @param {...Array} arrays - Provide multiple arrays to create one unique array
5
- * @returns {Array}
6
- */
7
- declare const mergeArrays: (...arrays: Array<Array<any>>) => Array<any>;
8
- export default mergeArrays;
1
+ /**
2
+ * Take multiple arrays and then filter all these into one unique array.
3
+ * @memberOf module:arrayHelpers
4
+ * @param {...Array} arrays - Provide multiple arrays to create one unique array
5
+ * @returns {Array}
6
+ */
7
+ declare const mergeArrays: (...arrays: Array<Array<any>>) => Array<any>;
8
+ export default mergeArrays;
9
9
  //# sourceMappingURL=mergeArrays.d.ts.map
@@ -1,21 +1,21 @@
1
- 'use strict'
2
-
3
- Object.defineProperty(exports, '__esModule', {
4
- value: true
5
- })
6
- exports.default = void 0
7
- require('core-js/modules/es.array.includes.js')
8
- require('core-js/modules/esnext.iterator.constructor.js')
9
- require('core-js/modules/esnext.iterator.filter.js')
10
- require('core-js/modules/esnext.iterator.map.js')
11
- require('core-js/modules/esnext.iterator.reduce.js')
12
- const _uniqueArray = _interopRequireDefault(require('./uniqueArray'))
13
- function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
14
- /**
15
- * Take multiple arrays and then filter all these into one unique array.
16
- * @memberOf module:arrayHelpers
17
- * @param {...Array} arrays - Provide multiple arrays to create one unique array
18
- * @returns {Array}
19
- */
20
- const mergeArrays = (...arrays) => arrays.map(_uniqueArray.default).reduce((merged, arr) => [...merged, ...arr.filter(attr => !merged.includes(attr))], [])
21
- const _default = exports.default = mergeArrays
1
+ 'use strict'
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true
5
+ })
6
+ exports.default = void 0
7
+ require('core-js/modules/es.array.includes.js')
8
+ require('core-js/modules/esnext.iterator.constructor.js')
9
+ require('core-js/modules/esnext.iterator.filter.js')
10
+ require('core-js/modules/esnext.iterator.map.js')
11
+ require('core-js/modules/esnext.iterator.reduce.js')
12
+ const _uniqueArray = _interopRequireDefault(require('./uniqueArray'))
13
+ function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
14
+ /**
15
+ * Take multiple arrays and then filter all these into one unique array.
16
+ * @memberOf module:arrayHelpers
17
+ * @param {...Array} arrays - Provide multiple arrays to create one unique array
18
+ * @returns {Array}
19
+ */
20
+ const mergeArrays = (...arrays) => arrays.map(_uniqueArray.default).reduce((merged, arr) => [...merged, ...arr.filter(attr => !merged.includes(attr))], [])
21
+ const _default = exports.default = mergeArrays
@@ -1,9 +1,9 @@
1
- /**
2
- * Remove duplicate values from an array. uniqueArray
3
- * @memberOf module:arrayHelpers
4
- * @param {Array} array - The array to make unique
5
- * @returns {Array}
6
- */
7
- declare const uniqueArray: (array: Array<any>) => Array<any>;
8
- export default uniqueArray;
1
+ /**
2
+ * Remove duplicate values from an array. uniqueArray
3
+ * @memberOf module:arrayHelpers
4
+ * @param {Array} array - The array to make unique
5
+ * @returns {Array}
6
+ */
7
+ declare const uniqueArray: (array: Array<any>) => Array<any>;
8
+ export default uniqueArray;
9
9
  //# sourceMappingURL=uniqueArray.d.ts.map
@@ -1,16 +1,16 @@
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
- /**
10
- * Remove duplicate values from an array. uniqueArray
11
- * @memberOf module:arrayHelpers
12
- * @param {Array} array - The array to make unique
13
- * @returns {Array}
14
- */
15
- const uniqueArray = array => array.filter((item, index) => array.indexOf(item) === index)
16
- const _default = exports.default = uniqueArray
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
+ /**
10
+ * Remove duplicate values from an array. uniqueArray
11
+ * @memberOf module:arrayHelpers
12
+ * @param {Array} array - The array to make unique
13
+ * @returns {Array}
14
+ */
15
+ const uniqueArray = array => array.filter((item, index) => array.indexOf(item) === index)
16
+ const _default = exports.default = uniqueArray
@@ -1,28 +1,28 @@
1
- /**
2
- * Utilities for building, merging, deduplicating and comparing arrays, plus a basic FIFO queue (BasicQueue) for
3
- * use with functionHelpers' queueManager/queueTimeout.
4
- * @file
5
- * @author Joshua Heagle <joshuaheagle@gmail.com>
6
- * @version 1.0.0
7
- * @module arrayHelpers
8
- * @memberOf module:siFunciona
9
- */
10
- import addUniqueToArray from './arrays/addUniqueToArray';
11
- import BasicQueue from './arrays/BasicQueue';
12
- import buildArray from './arrays/buildArray';
13
- import buildArrayOfReferences from './arrays/buildArrayOfReferences';
14
- import compareArrays from './arrays/compareArrays';
15
- import mergeArrays from './arrays/mergeArrays';
16
- import uniqueArray from './arrays/uniqueArray';
17
- export { addUniqueToArray, BasicQueue, buildArray, buildArrayOfReferences, compareArrays, mergeArrays, uniqueArray };
18
- declare const _default: {
19
- addUniqueToArray: (item: any, array: Array<any>) => Array<any>;
20
- BasicQueue: typeof BasicQueue;
21
- buildArray: (item: any, length: number) => Array<any>;
22
- buildArrayOfReferences: (item: any, length: number) => Array<any>;
23
- compareArrays: (...arrays: Array<Array<any>>) => import("./arrays/compareArrays").compareArrayResultMap;
24
- mergeArrays: (...arrays: Array<Array<any>>) => Array<any>;
25
- uniqueArray: (array: Array<any>) => Array<any>;
26
- };
27
- export default _default;
1
+ /**
2
+ * Utilities for building, merging, deduplicating and comparing arrays, plus a basic FIFO queue (BasicQueue) for
3
+ * use with functionHelpers' queueManager/queueTimeout.
4
+ * @file
5
+ * @author Joshua Heagle <joshuaheagle@gmail.com>
6
+ * @version 1.0.0
7
+ * @module arrayHelpers
8
+ * @memberOf module:siFunciona
9
+ */
10
+ import addUniqueToArray from './arrays/addUniqueToArray';
11
+ import BasicQueue from './arrays/BasicQueue';
12
+ import buildArray from './arrays/buildArray';
13
+ import buildArrayOfReferences from './arrays/buildArrayOfReferences';
14
+ import compareArrays from './arrays/compareArrays';
15
+ import mergeArrays from './arrays/mergeArrays';
16
+ import uniqueArray from './arrays/uniqueArray';
17
+ export { addUniqueToArray, BasicQueue, buildArray, buildArrayOfReferences, compareArrays, mergeArrays, uniqueArray };
18
+ declare const _default: {
19
+ addUniqueToArray: (item: any, array: Array<any>) => Array<any>;
20
+ BasicQueue: typeof BasicQueue;
21
+ buildArray: (item: any, length: number) => Array<any>;
22
+ buildArrayOfReferences: (item: any, length: number) => Array<any>;
23
+ compareArrays: (...arrays: Array<Array<any>>) => import("./arrays/compareArrays").compareArrayResultMap;
24
+ mergeArrays: (...arrays: Array<Array<any>>) => Array<any>;
25
+ uniqueArray: (array: Array<any>) => Array<any>;
26
+ };
27
+ export default _default;
28
28
  //# sourceMappingURL=arrays.d.ts.map