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.
- package/README.md +40 -10
- package/browser/siFunciona.js +18 -11
- package/dist/helpers/arrays/BasicQueue.d.ts +64 -64
- package/dist/helpers/arrays/BasicQueue.js +61 -61
- package/dist/helpers/arrays/addUniqueToArray.d.ts +9 -9
- package/dist/helpers/arrays/addUniqueToArray.js +16 -16
- package/dist/helpers/arrays/buildArray.d.ts +10 -10
- package/dist/helpers/arrays/buildArray.js +25 -25
- package/dist/helpers/arrays/buildArrayOfReferences.d.ts +10 -10
- package/dist/helpers/arrays/buildArrayOfReferences.js +22 -22
- package/dist/helpers/arrays/compareArrays.d.ts +96 -96
- package/dist/helpers/arrays/compareArrays.js +96 -96
- package/dist/helpers/arrays/mergeArrays.d.ts +8 -8
- package/dist/helpers/arrays/mergeArrays.js +21 -21
- package/dist/helpers/arrays/uniqueArray.d.ts +8 -8
- package/dist/helpers/arrays/uniqueArray.js +16 -16
- package/dist/helpers/arrays.d.ts +27 -27
- package/dist/helpers/arrays.js +74 -74
- package/dist/helpers/descriptors/assignDescriptor.d.ts +13 -13
- package/dist/helpers/descriptors/assignDescriptor.js +57 -57
- package/dist/helpers/descriptors/assignDescriptorDetail.d.ts +13 -13
- package/dist/helpers/descriptors/assignDescriptorDetail.js +36 -36
- package/dist/helpers/descriptors/checkClearValues.d.ts +11 -11
- package/dist/helpers/descriptors/checkClearValues.js +20 -20
- package/dist/helpers/descriptors/checkDescriptorComplete.d.ts +10 -10
- package/dist/helpers/descriptors/checkDescriptorComplete.js +19 -19
- package/dist/helpers/descriptors/cloneDescriptor.d.ts +9 -9
- package/dist/helpers/descriptors/cloneDescriptor.js +35 -35
- package/dist/helpers/descriptors/cloneDescriptorDetail.d.ts +9 -9
- package/dist/helpers/descriptors/cloneDescriptorDetail.js +26 -26
- package/dist/helpers/descriptors/compareDescriptor.d.ts +12 -12
- package/dist/helpers/descriptors/compareDescriptor.js +32 -32
- package/dist/helpers/descriptors/describeObject.d.ts +14 -14
- package/dist/helpers/descriptors/describeObject.js +52 -52
- package/dist/helpers/descriptors/describeObjectDetail.d.ts +13 -13
- package/dist/helpers/descriptors/describeObjectDetail.js +37 -37
- package/dist/helpers/descriptors/describeObjectMap.d.ts +35 -35
- package/dist/helpers/descriptors/describeObjectMap.js +107 -107
- package/dist/helpers/descriptors/nextReference.d.ts +12 -12
- package/dist/helpers/descriptors/nextReference.js +30 -30
- package/dist/helpers/descriptors/sameDescriptor.d.ts +12 -12
- package/dist/helpers/descriptors/sameDescriptor.js +21 -21
- package/dist/helpers/descriptors/samples/descriptor.d.ts +34 -34
- package/dist/helpers/descriptors/samples/descriptor.js +22 -22
- package/dist/helpers/descriptors/samples/descriptorDetail.d.ts +42 -42
- package/dist/helpers/descriptors/samples/descriptorDetail.js +24 -24
- package/dist/helpers/descriptors/samples/descriptorMap.d.ts +16 -16
- package/dist/helpers/descriptors/samples/descriptorMap.js +14 -14
- package/dist/helpers/descriptors/samples/mappedDescriptorMap.d.ts +10 -10
- package/dist/helpers/descriptors/samples/mappedDescriptorMap.js +287 -287
- package/dist/helpers/descriptors.d.ts +56 -56
- package/dist/helpers/descriptors.js +129 -129
- package/dist/helpers/functions/callWithParams.d.ts +10 -10
- package/dist/helpers/functions/callWithParams.js +16 -16
- package/dist/helpers/functions/curry.d.ts +10 -10
- package/dist/helpers/functions/curry.js +16 -16
- package/dist/helpers/functions/delay.d.ts +20 -20
- package/dist/helpers/functions/delay.js +31 -31
- package/dist/helpers/functions/makeBasicQueue.d.ts +9 -9
- package/dist/helpers/functions/makeBasicQueue.js +18 -18
- package/dist/helpers/functions/onBodyLoad.d.ts +9 -9
- package/dist/helpers/functions/onBodyLoad.js +75 -75
- package/dist/helpers/functions/pipe.d.ts +9 -9
- package/dist/helpers/functions/pipe.js +17 -17
- package/dist/helpers/functions/preloadParams.d.ts +19 -19
- package/dist/helpers/functions/preloadParams.js +20 -20
- package/dist/helpers/functions/queueManager.d.ts +48 -48
- package/dist/helpers/functions/queueManager.js +123 -123
- package/dist/helpers/functions/queueTimeout.d.ts +20 -20
- package/dist/helpers/functions/queueTimeout.js +22 -22
- package/dist/helpers/functions/relevancyFilter.d.ts +34 -34
- package/dist/helpers/functions/relevancyFilter.js +33 -33
- package/dist/helpers/functions/trace.d.ts +13 -13
- package/dist/helpers/functions/trace.js +24 -24
- package/dist/helpers/functions.d.ts +40 -40
- package/dist/helpers/functions.js +105 -105
- package/dist/helpers/numbers/absoluteMax.d.ts +9 -9
- package/dist/helpers/numbers/absoluteMax.js +15 -15
- package/dist/helpers/numbers/absoluteMin.d.ts +9 -9
- package/dist/helpers/numbers/absoluteMin.js +15 -15
- package/dist/helpers/numbers/compare.d.ts +12 -12
- package/dist/helpers/numbers/compare.js +18 -18
- package/dist/helpers/numbers/greatestCommonDivisor.d.ts +9 -9
- package/dist/helpers/numbers/greatestCommonDivisor.js +15 -15
- package/dist/helpers/numbers/leastCommonMultiple.d.ts +9 -9
- package/dist/helpers/numbers/leastCommonMultiple.js +17 -17
- package/dist/helpers/numbers/lowestCommonDenominator.d.ts +9 -9
- package/dist/helpers/numbers/lowestCommonDenominator.js +19 -19
- package/dist/helpers/numbers/randomInteger.d.ts +11 -5
- package/dist/helpers/numbers/randomInteger.js +11 -5
- package/dist/helpers/numbers/randomNumber.d.ts +7 -6
- package/dist/helpers/numbers/randomNumber.js +7 -6
- package/dist/helpers/numbers/simplestRatio.d.ts +8 -8
- package/dist/helpers/numbers/simplestRatio.js +28 -28
- package/dist/helpers/numbers.d.ts +30 -30
- package/dist/helpers/numbers.js +89 -89
- package/dist/helpers/objects/cloneObject.d.ts +19 -19
- package/dist/helpers/objects/cloneObject.js +31 -31
- package/dist/helpers/objects/dotGet.d.ts +11 -11
- package/dist/helpers/objects/dotGet.js +59 -59
- package/dist/helpers/objects/dotNotate.d.ts +27 -27
- package/dist/helpers/objects/dotNotate.js +79 -79
- package/dist/helpers/objects/dotSet.d.ts +11 -11
- package/dist/helpers/objects/dotSet.js +53 -53
- package/dist/helpers/objects/dotUnset.d.ts +10 -10
- package/dist/helpers/objects/dotUnset.js +52 -52
- package/dist/helpers/objects/emptyObject.d.ts +8 -8
- package/dist/helpers/objects/emptyObject.js +17 -17
- package/dist/helpers/objects/filterObject.d.ts +26 -26
- package/dist/helpers/objects/filterObject.js +33 -33
- package/dist/helpers/objects/isCloneable.d.ts +8 -8
- package/dist/helpers/objects/isCloneable.js +16 -16
- package/dist/helpers/objects/isEqual.d.ts +16 -16
- package/dist/helpers/objects/isEqual.js +100 -100
- package/dist/helpers/objects/isInstanceObject.d.ts +8 -8
- package/dist/helpers/objects/isInstanceObject.js +26 -26
- package/dist/helpers/objects/isObject.d.ts +8 -8
- package/dist/helpers/objects/isObject.js +14 -14
- package/dist/helpers/objects/mapObject.d.ts +25 -25
- package/dist/helpers/objects/mapObject.js +25 -25
- package/dist/helpers/objects/mergeObjects.d.ts +12 -12
- package/dist/helpers/objects/mergeObjects.js +19 -19
- package/dist/helpers/objects/mergeObjectsBase.d.ts +35 -35
- package/dist/helpers/objects/mergeObjectsBase.js +91 -91
- package/dist/helpers/objects/mergeObjectsMutable.d.ts +12 -12
- package/dist/helpers/objects/mergeObjectsMutable.js +17 -17
- package/dist/helpers/objects/objectKeys.d.ts +13 -13
- package/dist/helpers/objects/objectKeys.js +39 -39
- package/dist/helpers/objects/objectValues.d.ts +13 -13
- package/dist/helpers/objects/objectValues.js +20 -20
- package/dist/helpers/objects/reduceObject.d.ts +30 -30
- package/dist/helpers/objects/reduceObject.js +25 -25
- package/dist/helpers/objects/setAndReturnValue.d.ts +13 -13
- package/dist/helpers/objects/setAndReturnValue.js +19 -19
- package/dist/helpers/objects/setValue.d.ts +14 -14
- package/dist/helpers/objects/setValue.js +21 -21
- package/dist/helpers/objects.d.ts +121 -121
- package/dist/helpers/objects.js +177 -177
- package/dist/helpers/strings/camelCase.d.ts +8 -8
- package/dist/helpers/strings/camelCase.js +19 -19
- package/dist/helpers/strings/kabobCase.d.ts +8 -8
- package/dist/helpers/strings/kabobCase.js +18 -18
- package/dist/helpers/strings/makeFilepath.d.ts +9 -9
- package/dist/helpers/strings/makeFilepath.js +49 -49
- package/dist/helpers/strings/makeRelativePath.d.ts +9 -9
- package/dist/helpers/strings/makeRelativePath.js +43 -43
- package/dist/helpers/strings/regexEscape.d.ts +8 -8
- package/dist/helpers/strings/regexEscape.js +15 -15
- package/dist/helpers/strings/snakeCase.d.ts +8 -8
- package/dist/helpers/strings/snakeCase.js +18 -18
- package/dist/helpers/strings/strAfter.d.ts +9 -9
- package/dist/helpers/strings/strAfter.js +18 -18
- package/dist/helpers/strings/strAfterLast.d.ts +9 -9
- package/dist/helpers/strings/strAfterLast.js +18 -18
- package/dist/helpers/strings/strBefore.d.ts +9 -9
- package/dist/helpers/strings/strBefore.js +18 -18
- package/dist/helpers/strings/strBeforeLast.d.ts +9 -9
- package/dist/helpers/strings/strBeforeLast.js +18 -18
- package/dist/helpers/strings/titleCase.d.ts +8 -8
- package/dist/helpers/strings/titleCase.js +19 -19
- package/dist/helpers/strings/ucFirst.d.ts +8 -8
- package/dist/helpers/strings/ucFirst.js +14 -14
- package/dist/helpers/strings/words.d.ts +9 -9
- package/dist/helpers/strings/words.js +15 -15
- package/dist/helpers/strings.d.ts +38 -38
- package/dist/helpers/strings.js +121 -121
- package/dist/main.d.ts +15 -15
- package/dist/main.js +103 -103
- 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
|
package/dist/helpers/arrays.d.ts
CHANGED
|
@@ -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
|