si-funciona 2.3.3 → 2.4.0

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 (167) hide show
  1. package/README.md +1337 -1244
  2. package/browser/siFunciona.js +24205 -24146
  3. package/dist/helpers/arrays/BasicQueue.d.ts +65 -61
  4. package/dist/helpers/arrays/BasicQueue.js +62 -59
  5. package/dist/helpers/arrays/addUniqueToArray.d.ts +10 -10
  6. package/dist/helpers/arrays/addUniqueToArray.js +17 -17
  7. package/dist/helpers/arrays/buildArray.d.ts +11 -11
  8. package/dist/helpers/arrays/buildArray.js +26 -26
  9. package/dist/helpers/arrays/buildArrayOfReferences.d.ts +11 -11
  10. package/dist/helpers/arrays/buildArrayOfReferences.js +23 -23
  11. package/dist/helpers/arrays/compareArrays.d.ts +97 -97
  12. package/dist/helpers/arrays/compareArrays.js +97 -97
  13. package/dist/helpers/arrays/mergeArrays.d.ts +9 -9
  14. package/dist/helpers/arrays/mergeArrays.js +22 -22
  15. package/dist/helpers/arrays/uniqueArray.d.ts +9 -9
  16. package/dist/helpers/arrays/uniqueArray.js +17 -17
  17. package/dist/helpers/arrays.d.ts +21 -20
  18. package/dist/helpers/arrays.js +33 -32
  19. package/dist/helpers/descriptors/assignDescriptor.d.ts +14 -11
  20. package/dist/helpers/descriptors/assignDescriptor.js +58 -55
  21. package/dist/helpers/descriptors/assignDescriptorDetail.d.ts +14 -11
  22. package/dist/helpers/descriptors/assignDescriptorDetail.js +37 -34
  23. package/dist/helpers/descriptors/checkClearValues.d.ts +12 -11
  24. package/dist/helpers/descriptors/checkClearValues.js +21 -20
  25. package/dist/helpers/descriptors/checkDescriptorComplete.d.ts +11 -10
  26. package/dist/helpers/descriptors/checkDescriptorComplete.js +20 -19
  27. package/dist/helpers/descriptors/cloneDescriptor.d.ts +10 -10
  28. package/dist/helpers/descriptors/cloneDescriptor.js +36 -36
  29. package/dist/helpers/descriptors/cloneDescriptorDetail.d.ts +10 -10
  30. package/dist/helpers/descriptors/cloneDescriptorDetail.js +27 -27
  31. package/dist/helpers/descriptors/compareDescriptor.d.ts +13 -11
  32. package/dist/helpers/descriptors/compareDescriptor.js +33 -31
  33. package/dist/helpers/descriptors/describeObject.d.ts +15 -13
  34. package/dist/helpers/descriptors/describeObject.js +53 -51
  35. package/dist/helpers/descriptors/describeObjectDetail.d.ts +14 -12
  36. package/dist/helpers/descriptors/describeObjectDetail.js +38 -36
  37. package/dist/helpers/descriptors/describeObjectMap.d.ts +36 -20
  38. package/dist/helpers/descriptors/describeObjectMap.js +108 -92
  39. package/dist/helpers/descriptors/nextReference.d.ts +13 -11
  40. package/dist/helpers/descriptors/nextReference.js +31 -29
  41. package/dist/helpers/descriptors/sameDescriptor.d.ts +13 -11
  42. package/dist/helpers/descriptors/sameDescriptor.js +22 -20
  43. package/dist/helpers/descriptors/samples/descriptor.d.ts +34 -27
  44. package/dist/helpers/descriptors/samples/descriptor.js +22 -22
  45. package/dist/helpers/descriptors/samples/descriptorDetail.d.ts +42 -34
  46. package/dist/helpers/descriptors/samples/descriptorDetail.js +24 -24
  47. package/dist/helpers/descriptors/samples/descriptorMap.d.ts +16 -12
  48. package/dist/helpers/descriptors/samples/descriptorMap.js +14 -14
  49. package/dist/helpers/descriptors/samples/mappedDescriptorMap.d.ts +10 -7
  50. package/dist/helpers/descriptors/samples/mappedDescriptorMap.js +287 -284
  51. package/dist/helpers/descriptors.d.ts +44 -28
  52. package/dist/helpers/descriptors.js +58 -42
  53. package/dist/helpers/functions/callWithParams.d.ts +11 -11
  54. package/dist/helpers/functions/callWithParams.js +17 -17
  55. package/dist/helpers/functions/curry.d.ts +11 -11
  56. package/dist/helpers/functions/curry.js +17 -17
  57. package/dist/helpers/functions/delay.d.ts +21 -21
  58. package/dist/helpers/functions/delay.js +32 -32
  59. package/dist/helpers/functions/makeBasicQueue.d.ts +10 -10
  60. package/dist/helpers/functions/makeBasicQueue.js +19 -19
  61. package/dist/helpers/functions/onBodyLoad.d.ts +10 -10
  62. package/dist/helpers/functions/onBodyLoad.js +74 -74
  63. package/dist/helpers/functions/pipe.d.ts +10 -10
  64. package/dist/helpers/functions/pipe.js +18 -18
  65. package/dist/helpers/functions/preloadParams.d.ts +20 -20
  66. package/dist/helpers/functions/preloadParams.js +21 -21
  67. package/dist/helpers/functions/queueManager.d.ts +49 -47
  68. package/dist/helpers/functions/queueManager.js +124 -122
  69. package/dist/helpers/functions/queueTimeout.d.ts +21 -21
  70. package/dist/helpers/functions/queueTimeout.js +23 -23
  71. package/dist/helpers/functions/relevancyFilter.d.ts +35 -35
  72. package/dist/helpers/functions/relevancyFilter.js +34 -34
  73. package/dist/helpers/functions/trace.d.ts +14 -12
  74. package/dist/helpers/functions/trace.js +25 -23
  75. package/dist/helpers/functions.d.ts +29 -29
  76. package/dist/helpers/functions.js +40 -40
  77. package/dist/helpers/numbers/absoluteMax.d.ts +10 -10
  78. package/dist/helpers/numbers/absoluteMax.js +16 -16
  79. package/dist/helpers/numbers/absoluteMin.d.ts +10 -10
  80. package/dist/helpers/numbers/absoluteMin.js +16 -16
  81. package/dist/helpers/numbers/compare.d.ts +13 -13
  82. package/dist/helpers/numbers/compare.js +19 -19
  83. package/dist/helpers/numbers/greatestCommonDivisor.d.ts +10 -10
  84. package/dist/helpers/numbers/greatestCommonDivisor.js +16 -16
  85. package/dist/helpers/numbers/leastCommonMultiple.d.ts +10 -10
  86. package/dist/helpers/numbers/leastCommonMultiple.js +18 -18
  87. package/dist/helpers/numbers/lowestCommonDenominator.d.ts +10 -10
  88. package/dist/helpers/numbers/lowestCommonDenominator.js +20 -20
  89. package/dist/helpers/numbers/randomInteger.d.ts +13 -13
  90. package/dist/helpers/numbers/randomInteger.js +19 -19
  91. package/dist/helpers/numbers/randomNumber.d.ts +13 -13
  92. package/dist/helpers/numbers/randomNumber.js +19 -19
  93. package/dist/helpers/numbers/simplestRatio.d.ts +9 -9
  94. package/dist/helpers/numbers/simplestRatio.js +29 -29
  95. package/dist/helpers/numbers.d.ts +21 -21
  96. package/dist/helpers/numbers.js +36 -36
  97. package/dist/helpers/objects/cloneObject.d.ts +20 -20
  98. package/dist/helpers/objects/cloneObject.js +32 -32
  99. package/dist/helpers/objects/dotGet.d.ts +12 -12
  100. package/dist/helpers/objects/dotGet.js +60 -60
  101. package/dist/helpers/objects/dotNotate.d.ts +28 -28
  102. package/dist/helpers/objects/dotNotate.js +80 -80
  103. package/dist/helpers/objects/dotSet.d.ts +12 -12
  104. package/dist/helpers/objects/dotSet.js +54 -54
  105. package/dist/helpers/objects/dotUnset.d.ts +11 -11
  106. package/dist/helpers/objects/dotUnset.js +53 -53
  107. package/dist/helpers/objects/emptyObject.d.ts +9 -9
  108. package/dist/helpers/objects/emptyObject.js +18 -18
  109. package/dist/helpers/objects/filterObject.d.ts +27 -27
  110. package/dist/helpers/objects/filterObject.js +32 -32
  111. package/dist/helpers/objects/isCloneable.d.ts +9 -9
  112. package/dist/helpers/objects/isCloneable.js +17 -17
  113. package/dist/helpers/objects/isInstanceObject.d.ts +9 -9
  114. package/dist/helpers/objects/isInstanceObject.js +27 -27
  115. package/dist/helpers/objects/isObject.d.ts +9 -9
  116. package/dist/helpers/objects/isObject.js +15 -15
  117. package/dist/helpers/objects/mapObject.d.ts +26 -26
  118. package/dist/helpers/objects/mapObject.js +26 -26
  119. package/dist/helpers/objects/mergeObjects.d.ts +13 -13
  120. package/dist/helpers/objects/mergeObjects.js +20 -20
  121. package/dist/helpers/objects/mergeObjectsBase.d.ts +36 -36
  122. package/dist/helpers/objects/mergeObjectsBase.js +92 -92
  123. package/dist/helpers/objects/mergeObjectsMutable.d.ts +13 -13
  124. package/dist/helpers/objects/mergeObjectsMutable.js +18 -18
  125. package/dist/helpers/objects/objectKeys.d.ts +14 -14
  126. package/dist/helpers/objects/objectKeys.js +40 -40
  127. package/dist/helpers/objects/objectValues.d.ts +14 -14
  128. package/dist/helpers/objects/objectValues.js +21 -21
  129. package/dist/helpers/objects/reduceObject.d.ts +31 -31
  130. package/dist/helpers/objects/reduceObject.js +26 -26
  131. package/dist/helpers/objects/setAndReturnValue.d.ts +14 -14
  132. package/dist/helpers/objects/setAndReturnValue.js +20 -20
  133. package/dist/helpers/objects/setValue.d.ts +15 -15
  134. package/dist/helpers/objects/setValue.js +22 -22
  135. package/dist/helpers/objects.d.ts +100 -100
  136. package/dist/helpers/objects.js +56 -56
  137. package/dist/helpers/strings/camelCase.d.ts +9 -9
  138. package/dist/helpers/strings/camelCase.js +20 -20
  139. package/dist/helpers/strings/kabobCase.d.ts +9 -9
  140. package/dist/helpers/strings/kabobCase.js +19 -19
  141. package/dist/helpers/strings/makeFilepath.d.ts +9 -9
  142. package/dist/helpers/strings/makeFilepath.js +49 -49
  143. package/dist/helpers/strings/makeRelativePath.d.ts +9 -9
  144. package/dist/helpers/strings/makeRelativePath.js +43 -43
  145. package/dist/helpers/strings/regexEscape.d.ts +8 -8
  146. package/dist/helpers/strings/regexEscape.js +15 -15
  147. package/dist/helpers/strings/snakeCase.d.ts +9 -9
  148. package/dist/helpers/strings/snakeCase.js +19 -19
  149. package/dist/helpers/strings/strAfter.d.ts +10 -10
  150. package/dist/helpers/strings/strAfter.js +19 -19
  151. package/dist/helpers/strings/strAfterLast.d.ts +10 -10
  152. package/dist/helpers/strings/strAfterLast.js +19 -19
  153. package/dist/helpers/strings/strBefore.d.ts +10 -10
  154. package/dist/helpers/strings/strBefore.js +19 -19
  155. package/dist/helpers/strings/strBeforeLast.d.ts +10 -10
  156. package/dist/helpers/strings/strBeforeLast.js +19 -19
  157. package/dist/helpers/strings/titleCase.d.ts +9 -9
  158. package/dist/helpers/strings/titleCase.js +20 -20
  159. package/dist/helpers/strings/ucFirst.d.ts +9 -9
  160. package/dist/helpers/strings/ucFirst.js +15 -15
  161. package/dist/helpers/strings/words.d.ts +10 -9
  162. package/dist/helpers/strings/words.js +16 -15
  163. package/dist/helpers/strings.d.ts +25 -25
  164. package/dist/helpers/strings.js +44 -44
  165. package/dist/main.d.ts +9 -9
  166. package/dist/main.js +30 -30
  167. package/package.json +2 -5
@@ -1,97 +1,97 @@
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
- require('core-js/stable')
12
- var _isObject = _interopRequireDefault(require('../objects/isObject'))
13
- var _mergeArrays = _interopRequireDefault(require('./mergeArrays'))
14
- var _objectKeys = _interopRequireDefault(require('../objects/objectKeys'))
15
- function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
16
- /**
17
- * Compare two Arrays and return the Object where the value for each property is as follows:
18
- * -1 to indicate val1 is less than val2
19
- * 0 to indicate both values are the equal
20
- * 1 to indicate val1 is greater than val2
21
- * The returned Object uses the element values as the property names
22
- * This functions works by first creating a concatenated array of all unique values. Then for each unique values,
23
- * convert to a string and use it as a new property name. Array filter each array checking if it has the unique value.
24
- * Use the lengths of these filtered arrays to compare. So if the first array has the value and the second one doesn't
25
- * 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
26
- * or more.
27
- * @example
28
- * // example of input and resulting output
29
- * compareArrays(
30
- * ['match1', 'firstMismatch1', 'match2', 'firstMismatch2', 'badMatch1'],
31
- * ['match1', 'match2', 'secondMismatch1', 'badMatch1', 'badMatch1']
32
- * )
33
- * // unique array
34
- * ['match1', 'firstMismatch1', 'match2', 'firstMismatch2', 'badMatch1', 'secondMismatch1']
35
- * // result object
36
- * [
37
- * {
38
- * value: 'match1',
39
- * keys: [[0], [0]],
40
- * result: [0, 0]
41
- * },
42
- * {
43
- * value: 'firstMismatch1',
44
- * keys: [[1], []],
45
- * result: [1, -1]
46
- * },
47
- * {
48
- * value: 'match2',
49
- * keys: [[2], [1]],
50
- * result: [0, 0]
51
- * },
52
- * {
53
- * value: 'firstMismatch2',
54
- * keys: [[3], []],
55
- * result: [1, -1]
56
- * },
57
- * {
58
- * value: 'badMatch1',
59
- * keys: [[4], [3, 4]],
60
- * result: [0, 0]
61
- * },
62
- * {
63
- * value: 'secondMismatch1',
64
- * keys: [[], [2]],
65
- * result: [-1, 1]
66
- * }
67
- * ]
68
- *
69
- * @memberOf module:arrayHelpers
70
- * @param {...Array} arrays - The arrays to compare
71
- * @returns {Array.<module:arrayHelpers~compareArrayResult>}
72
- */
73
- const compareArrays = (...arrays) => (0, _mergeArrays.default)(...arrays).reduce((results, attr) => {
74
- const attrType = typeof attr
75
- const useArray = Array.isArray(attr)
76
- const keys = arrays.map(array => array.reduce((results, current, key) => {
77
- const currentType = typeof current
78
- if (attrType !== currentType) {
79
- return results
80
- }
81
- if (!(0, _isObject.default)(attr)) {
82
- return current === attr ? [...results, key] : results
83
- }
84
- if (useArray !== Array.isArray(current)) {
85
- return results
86
- }
87
- const compareKeys = useArray ? compareArrays(attr, current) : compareArrays((0, _objectKeys.default)(attr), (0, _objectKeys.default)(current))
88
- return compareKeys.every(compare => compare.result.every(result => result === 0)) ? [...results, key] : results
89
- }, []))
90
- const arrayResults = keys.map(array => array.length ? 1 : -1)
91
- return [...results, {
92
- value: attr,
93
- keys: keys,
94
- result: arrayResults.every(result => result === 1) ? arrayResults.map(result => 0) : arrayResults
95
- }]
96
- }, [])
97
- var _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
+ require('core-js/stable')
12
+ var _isObject = _interopRequireDefault(require('../objects/isObject'))
13
+ var _mergeArrays = _interopRequireDefault(require('./mergeArrays'))
14
+ var _objectKeys = _interopRequireDefault(require('../objects/objectKeys'))
15
+ function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
16
+ /**
17
+ * Compare two Arrays and return the Object where the value for each property is as follows:
18
+ * -1 to indicate val1 is less than val2
19
+ * 0 to indicate both values are the equal
20
+ * 1 to indicate val1 is greater than val2
21
+ * The returned Object uses the element values as the property names
22
+ * This functions works by first creating a concatenated array of all unique values. Then for each unique values,
23
+ * convert to a string and use it as a new property name. Array filter each array checking if it has the unique value.
24
+ * Use the lengths of these filtered arrays to compare. So if the first array has the value and the second one doesn't
25
+ * 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
26
+ * or more.
27
+ * @example
28
+ * // example of input and resulting output
29
+ * compareArrays(
30
+ * ['match1', 'firstMismatch1', 'match2', 'firstMismatch2', 'badMatch1'],
31
+ * ['match1', 'match2', 'secondMismatch1', 'badMatch1', 'badMatch1']
32
+ * )
33
+ * // unique array
34
+ * ['match1', 'firstMismatch1', 'match2', 'firstMismatch2', 'badMatch1', 'secondMismatch1']
35
+ * // result object
36
+ * [
37
+ * {
38
+ * value: 'match1',
39
+ * keys: [[0], [0]],
40
+ * result: [0, 0]
41
+ * },
42
+ * {
43
+ * value: 'firstMismatch1',
44
+ * keys: [[1], []],
45
+ * result: [1, -1]
46
+ * },
47
+ * {
48
+ * value: 'match2',
49
+ * keys: [[2], [1]],
50
+ * result: [0, 0]
51
+ * },
52
+ * {
53
+ * value: 'firstMismatch2',
54
+ * keys: [[3], []],
55
+ * result: [1, -1]
56
+ * },
57
+ * {
58
+ * value: 'badMatch1',
59
+ * keys: [[4], [3, 4]],
60
+ * result: [0, 0]
61
+ * },
62
+ * {
63
+ * value: 'secondMismatch1',
64
+ * keys: [[], [2]],
65
+ * result: [-1, 1]
66
+ * }
67
+ * ]
68
+ *
69
+ * @memberOf module:arrayHelpers
70
+ * @param {...Array} arrays - The arrays to compare
71
+ * @returns {Array.<module:arrayHelpers~compareArrayResult>}
72
+ */
73
+ const compareArrays = (...arrays) => (0, _mergeArrays.default)(...arrays).reduce((results, attr) => {
74
+ const attrType = typeof attr
75
+ const useArray = Array.isArray(attr)
76
+ const keys = arrays.map(array => array.reduce((results, current, key) => {
77
+ const currentType = typeof current
78
+ if (attrType !== currentType) {
79
+ return results
80
+ }
81
+ if (!(0, _isObject.default)(attr)) {
82
+ return current === attr ? [...results, key] : results
83
+ }
84
+ if (useArray !== Array.isArray(current)) {
85
+ return results
86
+ }
87
+ const compareKeys = useArray ? compareArrays(attr, current) : compareArrays((0, _objectKeys.default)(attr), (0, _objectKeys.default)(current))
88
+ return compareKeys.every(compare => compare.result.every(result => result === 0)) ? [...results, key] : results
89
+ }, []))
90
+ const arrayResults = keys.map(array => array.length ? 1 : -1)
91
+ return [...results, {
92
+ value: attr,
93
+ keys: keys,
94
+ result: arrayResults.every(result => result === 1) ? arrayResults.map(result => 0) : arrayResults
95
+ }]
96
+ }, [])
97
+ var _default = exports.default = compareArrays
@@ -1,10 +1,10 @@
1
- import 'core-js/stable';
2
- /**
3
- * Take multiple arrays and then filter all these into one unique array.
4
- * @memberOf module:arrayHelpers
5
- * @param {...Array} arrays - Provide multiple arrays to create one unique array
6
- * @returns {Array}
7
- */
8
- declare const mergeArrays: (...arrays: Array<Array<any>>) => Array<any>;
9
- export default mergeArrays;
1
+ import 'core-js/stable';
2
+ /**
3
+ * Take multiple arrays and then filter all these into one unique array.
4
+ * @memberOf module:arrayHelpers
5
+ * @param {...Array} arrays - Provide multiple arrays to create one unique array
6
+ * @returns {Array}
7
+ */
8
+ declare const mergeArrays: (...arrays: Array<Array<any>>) => Array<any>;
9
+ export default mergeArrays;
10
10
  //# sourceMappingURL=mergeArrays.d.ts.map
@@ -1,22 +1,22 @@
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
- require('core-js/stable')
13
- var _uniqueArray = _interopRequireDefault(require('./uniqueArray'))
14
- function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
15
- /**
16
- * Take multiple arrays and then filter all these into one unique array.
17
- * @memberOf module:arrayHelpers
18
- * @param {...Array} arrays - Provide multiple arrays to create one unique array
19
- * @returns {Array}
20
- */
21
- const mergeArrays = (...arrays) => arrays.map(_uniqueArray.default).reduce((merged, arr) => [...merged, ...arr.filter(attr => !merged.includes(attr))], [])
22
- var _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
+ require('core-js/stable')
13
+ var _uniqueArray = _interopRequireDefault(require('./uniqueArray'))
14
+ function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
15
+ /**
16
+ * Take multiple arrays and then filter all these into one unique array.
17
+ * @memberOf module:arrayHelpers
18
+ * @param {...Array} arrays - Provide multiple arrays to create one unique array
19
+ * @returns {Array}
20
+ */
21
+ const mergeArrays = (...arrays) => arrays.map(_uniqueArray.default).reduce((merged, arr) => [...merged, ...arr.filter(attr => !merged.includes(attr))], [])
22
+ var _default = exports.default = mergeArrays
@@ -1,10 +1,10 @@
1
- import 'core-js/stable';
2
- /**
3
- * Remove duplicate values from an array. uniqueArray
4
- * @memberOf module:arrayHelpers
5
- * @param {Array} array - The array to make unique
6
- * @returns {Array}
7
- */
8
- declare const uniqueArray: (array: Array<any>) => Array<any>;
9
- export default uniqueArray;
1
+ import 'core-js/stable';
2
+ /**
3
+ * Remove duplicate values from an array. uniqueArray
4
+ * @memberOf module:arrayHelpers
5
+ * @param {Array} array - The array to make unique
6
+ * @returns {Array}
7
+ */
8
+ declare const uniqueArray: (array: Array<any>) => Array<any>;
9
+ export default uniqueArray;
10
10
  //# sourceMappingURL=uniqueArray.d.ts.map
@@ -1,17 +1,17 @@
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/stable')
10
- /**
11
- * Remove duplicate values from an array. uniqueArray
12
- * @memberOf module:arrayHelpers
13
- * @param {Array} array - The array to make unique
14
- * @returns {Array}
15
- */
16
- const uniqueArray = array => array.filter((item, index) => array.indexOf(item) === index)
17
- var _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
+ require('core-js/stable')
10
+ /**
11
+ * Remove duplicate values from an array. uniqueArray
12
+ * @memberOf module:arrayHelpers
13
+ * @param {Array} array - The array to make unique
14
+ * @returns {Array}
15
+ */
16
+ const uniqueArray = array => array.filter((item, index) => array.indexOf(item) === index)
17
+ var _default = exports.default = uniqueArray
@@ -1,21 +1,22 @@
1
- /**
2
- * Some simple utility functions for generating arrays or performing work on arrays.
3
- * @file
4
- * @author Joshua Heagle <joshuaheagle@gmail.com>
5
- * @version 1.0.0
6
- * @module arrayHelpers
7
- * @memberOf module:siFunciona
8
- */
9
- import 'core-js/stable';
10
- import BasicQueue from './arrays/BasicQueue';
11
- declare const _default: {
12
- addUniqueToArray: (item: any, array: Array<any>) => Array<any>;
13
- BasicQueue: typeof BasicQueue;
14
- buildArray: (item: any, length: number) => Array<any>;
15
- buildArrayOfReferences: (item: any, length: number) => Array<any>;
16
- compareArrays: (...arrays: Array<Array<any>>) => import("./arrays/compareArrays").compareArrayResultMap;
17
- mergeArrays: (...arrays: Array<Array<any>>) => Array<any>;
18
- uniqueArray: (array: Array<any>) => Array<any>;
19
- };
20
- 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 'core-js/stable';
11
+ import BasicQueue from './arrays/BasicQueue';
12
+ declare const _default: {
13
+ addUniqueToArray: (item: any, array: Array<any>) => Array<any>;
14
+ BasicQueue: typeof BasicQueue;
15
+ buildArray: (item: any, length: number) => Array<any>;
16
+ buildArrayOfReferences: (item: any, length: number) => Array<any>;
17
+ compareArrays: (...arrays: Array<Array<any>>) => import("./arrays/compareArrays").compareArrayResultMap;
18
+ mergeArrays: (...arrays: Array<Array<any>>) => Array<any>;
19
+ uniqueArray: (array: Array<any>) => Array<any>;
20
+ };
21
+ export default _default;
21
22
  //# sourceMappingURL=arrays.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/stable')
8
- var _addUniqueToArray = _interopRequireDefault(require('./arrays/addUniqueToArray'))
9
- var _BasicQueue = _interopRequireDefault(require('./arrays/BasicQueue'))
10
- var _buildArray = _interopRequireDefault(require('./arrays/buildArray'))
11
- var _buildArrayOfReferences = _interopRequireDefault(require('./arrays/buildArrayOfReferences'))
12
- var _compareArrays = _interopRequireDefault(require('./arrays/compareArrays'))
13
- var _mergeArrays = _interopRequireDefault(require('./arrays/mergeArrays'))
14
- var _uniqueArray = _interopRequireDefault(require('./arrays/uniqueArray'))
15
- function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
16
- /**
17
- * Some simple utility functions for generating arrays or performing work on arrays.
18
- * @file
19
- * @author Joshua Heagle <joshuaheagle@gmail.com>
20
- * @version 1.0.0
21
- * @module arrayHelpers
22
- * @memberOf module:siFunciona
23
- */
24
- var _default = exports.default = {
25
- addUniqueToArray: _addUniqueToArray.default,
26
- BasicQueue: _BasicQueue.default,
27
- buildArray: _buildArray.default,
28
- buildArrayOfReferences: _buildArrayOfReferences.default,
29
- compareArrays: _compareArrays.default,
30
- mergeArrays: _mergeArrays.default,
31
- uniqueArray: _uniqueArray.default
32
- }
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 _addUniqueToArray = _interopRequireDefault(require('./arrays/addUniqueToArray'))
9
+ var _BasicQueue = _interopRequireDefault(require('./arrays/BasicQueue'))
10
+ var _buildArray = _interopRequireDefault(require('./arrays/buildArray'))
11
+ var _buildArrayOfReferences = _interopRequireDefault(require('./arrays/buildArrayOfReferences'))
12
+ var _compareArrays = _interopRequireDefault(require('./arrays/compareArrays'))
13
+ var _mergeArrays = _interopRequireDefault(require('./arrays/mergeArrays'))
14
+ var _uniqueArray = _interopRequireDefault(require('./arrays/uniqueArray'))
15
+ function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
16
+ /**
17
+ * Utilities for building, merging, deduplicating and comparing arrays, plus a basic FIFO queue (BasicQueue) for
18
+ * use with functionHelpers' queueManager/queueTimeout.
19
+ * @file
20
+ * @author Joshua Heagle <joshuaheagle@gmail.com>
21
+ * @version 1.0.0
22
+ * @module arrayHelpers
23
+ * @memberOf module:siFunciona
24
+ */
25
+ var _default = exports.default = {
26
+ addUniqueToArray: _addUniqueToArray.default,
27
+ BasicQueue: _BasicQueue.default,
28
+ buildArray: _buildArray.default,
29
+ buildArrayOfReferences: _buildArrayOfReferences.default,
30
+ compareArrays: _compareArrays.default,
31
+ mergeArrays: _mergeArrays.default,
32
+ uniqueArray: _uniqueArray.default
33
+ }
@@ -1,12 +1,15 @@
1
- import 'core-js/stable';
2
- import { descriptor } from './samples/descriptor';
3
- /**
4
- * Apply one or more descriptors to an existing descriptor so that they represent a merged version of the descriptors.
5
- * @memberOf module:objectDescriptors
6
- * @param {module:objectDescriptors~descriptor} originalMap
7
- * @param {...module:objectDescriptors~descriptor} descriptors
8
- * @returns {module:objectDescriptors~descriptor}
9
- */
10
- declare const assignDescriptor: (originalMap: descriptor, ...descriptors: Array<descriptor>) => descriptor;
11
- export default assignDescriptor;
1
+ import 'core-js/stable';
2
+ import { descriptor } from './samples/descriptor';
3
+ /**
4
+ * Apply one or more descriptors to an existing descriptor so that they represent a merged version of the descriptors.
5
+ * Used to widen a descriptor as more differently-shaped objects are described into it (e.g. array elements of
6
+ * different types), rather than replacing it outright.
7
+ * @memberOf module:objectDescriptors
8
+ * @param {module:objectDescriptors~descriptor} originalMap - The base descriptor to merge onto (not mutated - a
9
+ * clone is merged and returned).
10
+ * @param {...module:objectDescriptors~descriptor} descriptors - One or more further descriptors to merge in.
11
+ * @returns {module:objectDescriptors~descriptor} A new descriptor representing the merge of all of the above.
12
+ */
13
+ declare const assignDescriptor: (originalMap: descriptor, ...descriptors: Array<descriptor>) => descriptor;
14
+ export default assignDescriptor;
12
15
  //# sourceMappingURL=assignDescriptor.d.ts.map
@@ -1,55 +1,58 @@
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.filter.js')
10
- require('core-js/modules/esnext.iterator.find.js')
11
- require('core-js/modules/esnext.iterator.for-each.js')
12
- require('core-js/modules/esnext.iterator.map.js')
13
- require('core-js/modules/esnext.iterator.reduce.js')
14
- require('core-js/stable')
15
- var _assignDescriptorDetail = _interopRequireDefault(require('./assignDescriptorDetail'))
16
- var _cloneDescriptor = _interopRequireDefault(require('./cloneDescriptor'))
17
- var _compareArrays = _interopRequireDefault(require('../arrays/compareArrays'))
18
- var _uniqueArray = _interopRequireDefault(require('../arrays/uniqueArray'))
19
- function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
20
- /**
21
- * Apply one or more descriptors to an existing descriptor so that they represent a merged version of the descriptors.
22
- * @memberOf module:objectDescriptors
23
- * @param {module:objectDescriptors~descriptor} originalMap
24
- * @param {...module:objectDescriptors~descriptor} descriptors
25
- * @returns {module:objectDescriptors~descriptor}
26
- */
27
- const assignDescriptor = (originalMap, ...descriptors) => descriptors.reduce((assignedDescriptor, descriptor) => {
28
- const detailsDiff = (0, _compareArrays.default)(assignedDescriptor.keys, descriptor.keys)
29
- detailsDiff.forEach(diff => {
30
- const existingDetail = assignedDescriptor.details.find(detail => detail.key === diff.value)
31
- const newDetail = descriptor.details.find(detail => detail.key === diff.value)
32
- if (diff.result.every(result => result === 0)) {
33
- assignedDescriptor.details[existingDetail.index] = (0, _assignDescriptorDetail.default)(existingDetail, newDetail)
34
- return assignedDescriptor
35
- }
36
- const useDetail = diff.result[0] > 0 ? existingDetail : newDetail
37
- if (!useDetail) {
38
- assignedDescriptor.details[existingDetail.index].optional = true
39
- return assignedDescriptor
40
- }
41
- const useIndex = diff.result[0] > 0 ? useDetail.index : assignedDescriptor.length
42
- assignedDescriptor.details[useIndex] = Object.assign({}, useDetail, {
43
- index: useIndex,
44
- optional: true
45
- })
46
- assignedDescriptor.length = assignedDescriptor.length < assignedDescriptor.details.length ? assignedDescriptor.details.length : assignedDescriptor.length
47
- return assignedDescriptor
48
- })
49
- assignedDescriptor.keys = (0, _uniqueArray.default)(assignedDescriptor.details.map(detail => detail.key))
50
- assignedDescriptor.references = (0, _uniqueArray.default)(assignedDescriptor.details.filter(detail => detail.isReference).map(detail => detail.index))
51
- assignedDescriptor.isArray = assignedDescriptor.length ? assignedDescriptor.details.every(detail => typeof detail.key === 'number') : assignedDescriptor.isArray
52
- assignedDescriptor.complete = !assignedDescriptor.references.length || assignedDescriptor.complete || descriptor.complete
53
- return assignedDescriptor
54
- }, (0, _cloneDescriptor.default)(originalMap))
55
- var _default = exports.default = assignDescriptor
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.filter.js')
10
+ require('core-js/modules/esnext.iterator.find.js')
11
+ require('core-js/modules/esnext.iterator.for-each.js')
12
+ require('core-js/modules/esnext.iterator.map.js')
13
+ require('core-js/modules/esnext.iterator.reduce.js')
14
+ require('core-js/stable')
15
+ var _assignDescriptorDetail = _interopRequireDefault(require('./assignDescriptorDetail'))
16
+ var _cloneDescriptor = _interopRequireDefault(require('./cloneDescriptor'))
17
+ var _compareArrays = _interopRequireDefault(require('../arrays/compareArrays'))
18
+ var _uniqueArray = _interopRequireDefault(require('../arrays/uniqueArray'))
19
+ function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
20
+ /**
21
+ * Apply one or more descriptors to an existing descriptor so that they represent a merged version of the descriptors.
22
+ * Used to widen a descriptor as more differently-shaped objects are described into it (e.g. array elements of
23
+ * different types), rather than replacing it outright.
24
+ * @memberOf module:objectDescriptors
25
+ * @param {module:objectDescriptors~descriptor} originalMap - The base descriptor to merge onto (not mutated - a
26
+ * clone is merged and returned).
27
+ * @param {...module:objectDescriptors~descriptor} descriptors - One or more further descriptors to merge in.
28
+ * @returns {module:objectDescriptors~descriptor} A new descriptor representing the merge of all of the above.
29
+ */
30
+ const assignDescriptor = (originalMap, ...descriptors) => descriptors.reduce((assignedDescriptor, descriptor) => {
31
+ const detailsDiff = (0, _compareArrays.default)(assignedDescriptor.keys, descriptor.keys)
32
+ detailsDiff.forEach(diff => {
33
+ const existingDetail = assignedDescriptor.details.find(detail => detail.key === diff.value)
34
+ const newDetail = descriptor.details.find(detail => detail.key === diff.value)
35
+ if (diff.result.every(result => result === 0)) {
36
+ assignedDescriptor.details[existingDetail.index] = (0, _assignDescriptorDetail.default)(existingDetail, newDetail)
37
+ return assignedDescriptor
38
+ }
39
+ const useDetail = diff.result[0] > 0 ? existingDetail : newDetail
40
+ if (!useDetail) {
41
+ assignedDescriptor.details[existingDetail.index].optional = true
42
+ return assignedDescriptor
43
+ }
44
+ const useIndex = diff.result[0] > 0 ? useDetail.index : assignedDescriptor.length
45
+ assignedDescriptor.details[useIndex] = Object.assign({}, useDetail, {
46
+ index: useIndex,
47
+ optional: true
48
+ })
49
+ assignedDescriptor.length = assignedDescriptor.length < assignedDescriptor.details.length ? assignedDescriptor.details.length : assignedDescriptor.length
50
+ return assignedDescriptor
51
+ })
52
+ assignedDescriptor.keys = (0, _uniqueArray.default)(assignedDescriptor.details.map(detail => detail.key))
53
+ assignedDescriptor.references = (0, _uniqueArray.default)(assignedDescriptor.details.filter(detail => detail.isReference).map(detail => detail.index))
54
+ assignedDescriptor.isArray = assignedDescriptor.length ? assignedDescriptor.details.every(detail => typeof detail.key === 'number') : assignedDescriptor.isArray
55
+ assignedDescriptor.complete = !assignedDescriptor.references.length || assignedDescriptor.complete || descriptor.complete
56
+ return assignedDescriptor
57
+ }, (0, _cloneDescriptor.default)(originalMap))
58
+ var _default = exports.default = assignDescriptor
@@ -1,12 +1,15 @@
1
- import 'core-js/stable';
2
- import { descriptorDetail } from './samples/descriptorDetail';
3
- /**
4
- * Assign properties from other details onto an existing detail.
5
- * @memberOf module:objectDescriptors
6
- * @param {module:objectDescriptors~descriptorDetail} originalDetail
7
- * @param {...module:objectDescriptors~descriptorDetail} details
8
- * @returns {module:objectDescriptors~descriptorDetail}
9
- */
10
- declare const assignDescriptorDetail: (originalDetail: descriptorDetail, ...details: Array<descriptorDetail>) => descriptorDetail;
11
- export default assignDescriptorDetail;
1
+ import 'core-js/stable';
2
+ import { descriptorDetail } from './samples/descriptorDetail';
3
+ /**
4
+ * Assign properties from other details onto an existing detail, widening it (e.g. combining `type`/`value` arrays,
5
+ * OR-ing boolean flags like `nullable`/`optional`) rather than overwriting it - the per-property counterpart to
6
+ * {@link module:objectDescriptors.assignDescriptor}.
7
+ * @memberOf module:objectDescriptors
8
+ * @param {module:objectDescriptors~descriptorDetail} originalDetail - The base detail to merge onto (not mutated -
9
+ * a clone is merged and returned).
10
+ * @param {...module:objectDescriptors~descriptorDetail} details - One or more further details to merge in.
11
+ * @returns {module:objectDescriptors~descriptorDetail} A new detail representing the merge of all of the above.
12
+ */
13
+ declare const assignDescriptorDetail: (originalDetail: descriptorDetail, ...details: Array<descriptorDetail>) => descriptorDetail;
14
+ export default assignDescriptorDetail;
12
15
  //# sourceMappingURL=assignDescriptorDetail.d.ts.map