si-funciona 2.3.2 → 2.3.4

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 (181) hide show
  1. package/README.md +1337 -1244
  2. package/browser/siFunciona.js +24205 -24282
  3. package/browser/siFunciona.min.js +1 -1
  4. package/dist/helpers/arrays/BasicQueue.d.ts +66 -61
  5. package/dist/helpers/arrays/BasicQueue.js +62 -60
  6. package/dist/helpers/arrays/BasicQueue.min.js +1 -1
  7. package/dist/helpers/arrays/addUniqueToArray.d.ts +1 -0
  8. package/dist/helpers/arrays/buildArray.d.ts +1 -0
  9. package/dist/helpers/arrays/buildArrayOfReferences.d.ts +1 -0
  10. package/dist/helpers/arrays/compareArrays.d.ts +1 -0
  11. package/dist/helpers/arrays/compareArrays.js +24 -30
  12. package/dist/helpers/arrays/compareArrays.min.js +1 -1
  13. package/dist/helpers/arrays/mergeArrays.d.ts +1 -0
  14. package/dist/helpers/arrays/mergeArrays.js +2 -7
  15. package/dist/helpers/arrays/mergeArrays.min.js +1 -1
  16. package/dist/helpers/arrays/uniqueArray.d.ts +1 -0
  17. package/dist/helpers/arrays.d.ts +22 -20
  18. package/dist/helpers/arrays.js +33 -32
  19. package/dist/helpers/descriptors/assignDescriptor.d.ts +15 -11
  20. package/dist/helpers/descriptors/assignDescriptor.js +58 -60
  21. package/dist/helpers/descriptors/assignDescriptor.min.js +1 -1
  22. package/dist/helpers/descriptors/assignDescriptorDetail.d.ts +15 -11
  23. package/dist/helpers/descriptors/assignDescriptorDetail.js +37 -38
  24. package/dist/helpers/descriptors/assignDescriptorDetail.min.js +1 -1
  25. package/dist/helpers/descriptors/checkClearValues.d.ts +13 -11
  26. package/dist/helpers/descriptors/checkClearValues.js +21 -23
  27. package/dist/helpers/descriptors/checkClearValues.min.js +1 -1
  28. package/dist/helpers/descriptors/checkDescriptorComplete.d.ts +12 -10
  29. package/dist/helpers/descriptors/checkDescriptorComplete.js +20 -19
  30. package/dist/helpers/descriptors/cloneDescriptor.d.ts +11 -10
  31. package/dist/helpers/descriptors/cloneDescriptor.js +36 -37
  32. package/dist/helpers/descriptors/cloneDescriptor.min.js +1 -1
  33. package/dist/helpers/descriptors/cloneDescriptorDetail.d.ts +11 -10
  34. package/dist/helpers/descriptors/cloneDescriptorDetail.js +27 -27
  35. package/dist/helpers/descriptors/compareDescriptor.d.ts +14 -11
  36. package/dist/helpers/descriptors/compareDescriptor.js +33 -32
  37. package/dist/helpers/descriptors/compareDescriptor.min.js +1 -1
  38. package/dist/helpers/descriptors/describeObject.d.ts +16 -13
  39. package/dist/helpers/descriptors/describeObject.js +53 -51
  40. package/dist/helpers/descriptors/describeObjectDetail.d.ts +15 -12
  41. package/dist/helpers/descriptors/describeObjectDetail.js +38 -38
  42. package/dist/helpers/descriptors/describeObjectDetail.min.js +1 -1
  43. package/dist/helpers/descriptors/describeObjectMap.d.ts +37 -20
  44. package/dist/helpers/descriptors/describeObjectMap.js +108 -97
  45. package/dist/helpers/descriptors/describeObjectMap.min.js +1 -1
  46. package/dist/helpers/descriptors/nextReference.d.ts +14 -11
  47. package/dist/helpers/descriptors/nextReference.js +31 -29
  48. package/dist/helpers/descriptors/sameDescriptor.d.ts +14 -11
  49. package/dist/helpers/descriptors/sameDescriptor.js +22 -20
  50. package/dist/helpers/descriptors/samples/descriptor.d.ts +35 -27
  51. package/dist/helpers/descriptors/samples/descriptorDetail.d.ts +43 -34
  52. package/dist/helpers/descriptors/samples/descriptorMap.d.ts +17 -12
  53. package/dist/helpers/descriptors/samples/mappedDescriptorMap.d.ts +11 -7
  54. package/dist/helpers/descriptors/samples/mappedDescriptorMap.js +287 -284
  55. package/dist/helpers/descriptors.d.ts +45 -28
  56. package/dist/helpers/descriptors.js +58 -42
  57. package/dist/helpers/functions/callWithParams.d.ts +1 -0
  58. package/dist/helpers/functions/callWithParams.js +1 -6
  59. package/dist/helpers/functions/callWithParams.min.js +1 -1
  60. package/dist/helpers/functions/curry.d.ts +1 -0
  61. package/dist/helpers/functions/curry.js +1 -12
  62. package/dist/helpers/functions/curry.min.js +1 -1
  63. package/dist/helpers/functions/delay.d.ts +1 -0
  64. package/dist/helpers/functions/delay.js +4 -5
  65. package/dist/helpers/functions/delay.min.js +1 -1
  66. package/dist/helpers/functions/makeBasicQueue.d.ts +11 -10
  67. package/dist/helpers/functions/makeBasicQueue.js +19 -20
  68. package/dist/helpers/functions/makeBasicQueue.min.js +1 -1
  69. package/dist/helpers/functions/onBodyLoad.d.ts +1 -0
  70. package/dist/helpers/functions/onBodyLoad.js +1 -2
  71. package/dist/helpers/functions/onBodyLoad.min.js +1 -1
  72. package/dist/helpers/functions/pipe.d.ts +1 -0
  73. package/dist/helpers/functions/pipe.js +3 -6
  74. package/dist/helpers/functions/pipe.min.js +1 -1
  75. package/dist/helpers/functions/preloadParams.d.ts +1 -0
  76. package/dist/helpers/functions/preloadParams.js +3 -8
  77. package/dist/helpers/functions/preloadParams.min.js +1 -1
  78. package/dist/helpers/functions/queueManager.d.ts +50 -47
  79. package/dist/helpers/functions/queueManager.js +124 -132
  80. package/dist/helpers/functions/queueManager.min.js +1 -1
  81. package/dist/helpers/functions/queueTimeout.d.ts +1 -0
  82. package/dist/helpers/functions/queueTimeout.js +2 -10
  83. package/dist/helpers/functions/queueTimeout.min.js +1 -1
  84. package/dist/helpers/functions/relevancyFilter.d.ts +36 -35
  85. package/dist/helpers/functions/relevancyFilter.js +34 -36
  86. package/dist/helpers/functions/relevancyFilter.min.js +1 -1
  87. package/dist/helpers/functions/trace.d.ts +15 -12
  88. package/dist/helpers/functions/trace.js +25 -26
  89. package/dist/helpers/functions/trace.min.js +1 -1
  90. package/dist/helpers/functions.d.ts +1 -0
  91. package/dist/helpers/numbers/absoluteMax.d.ts +1 -0
  92. package/dist/helpers/numbers/absoluteMin.d.ts +1 -0
  93. package/dist/helpers/numbers/compare.d.ts +1 -0
  94. package/dist/helpers/numbers/greatestCommonDivisor.d.ts +1 -0
  95. package/dist/helpers/numbers/leastCommonMultiple.d.ts +1 -0
  96. package/dist/helpers/numbers/lowestCommonDenominator.d.ts +11 -10
  97. package/dist/helpers/numbers/lowestCommonDenominator.js +20 -23
  98. package/dist/helpers/numbers/lowestCommonDenominator.min.js +1 -1
  99. package/dist/helpers/numbers/randomInteger.d.ts +1 -0
  100. package/dist/helpers/numbers/randomInteger.js +1 -5
  101. package/dist/helpers/numbers/randomInteger.min.js +1 -1
  102. package/dist/helpers/numbers/randomNumber.d.ts +1 -0
  103. package/dist/helpers/numbers/randomNumber.js +1 -5
  104. package/dist/helpers/numbers/randomNumber.min.js +1 -1
  105. package/dist/helpers/numbers/simplestRatio.d.ts +1 -0
  106. package/dist/helpers/numbers/simplestRatio.js +4 -4
  107. package/dist/helpers/numbers/simplestRatio.min.js +1 -1
  108. package/dist/helpers/numbers.d.ts +1 -0
  109. package/dist/helpers/objects/cloneObject.d.ts +1 -0
  110. package/dist/helpers/objects/cloneObject.js +10 -15
  111. package/dist/helpers/objects/cloneObject.min.js +1 -1
  112. package/dist/helpers/objects/dotGet.d.ts +1 -0
  113. package/dist/helpers/objects/dotGet.js +1 -2
  114. package/dist/helpers/objects/dotGet.min.js +1 -1
  115. package/dist/helpers/objects/dotNotate.d.ts +1 -0
  116. package/dist/helpers/objects/dotNotate.js +6 -15
  117. package/dist/helpers/objects/dotNotate.min.js +1 -1
  118. package/dist/helpers/objects/dotSet.d.ts +1 -0
  119. package/dist/helpers/objects/dotSet.js +1 -2
  120. package/dist/helpers/objects/dotSet.min.js +1 -1
  121. package/dist/helpers/objects/dotUnset.d.ts +1 -0
  122. package/dist/helpers/objects/emptyObject.d.ts +1 -0
  123. package/dist/helpers/objects/filterObject.d.ts +1 -0
  124. package/dist/helpers/objects/filterObject.js +8 -11
  125. package/dist/helpers/objects/filterObject.min.js +1 -1
  126. package/dist/helpers/objects/isCloneable.d.ts +1 -0
  127. package/dist/helpers/objects/isInstanceObject.d.ts +1 -0
  128. package/dist/helpers/objects/isObject.d.ts +1 -0
  129. package/dist/helpers/objects/mapObject.d.ts +1 -0
  130. package/dist/helpers/objects/mapObject.js +1 -4
  131. package/dist/helpers/objects/mapObject.min.js +1 -1
  132. package/dist/helpers/objects/mergeObjects.d.ts +1 -0
  133. package/dist/helpers/objects/mergeObjectsBase.d.ts +1 -0
  134. package/dist/helpers/objects/mergeObjectsBase.js +58 -67
  135. package/dist/helpers/objects/mergeObjectsBase.min.js +1 -1
  136. package/dist/helpers/objects/mergeObjectsMutable.d.ts +1 -0
  137. package/dist/helpers/objects/objectKeys.d.ts +1 -0
  138. package/dist/helpers/objects/objectKeys.js +1 -2
  139. package/dist/helpers/objects/objectKeys.min.js +1 -1
  140. package/dist/helpers/objects/objectValues.d.ts +1 -0
  141. package/dist/helpers/objects/objectValues.js +1 -4
  142. package/dist/helpers/objects/objectValues.min.js +1 -1
  143. package/dist/helpers/objects/reduceObject.d.ts +1 -0
  144. package/dist/helpers/objects/reduceObject.js +1 -4
  145. package/dist/helpers/objects/reduceObject.min.js +1 -1
  146. package/dist/helpers/objects/setAndReturnValue.d.ts +1 -0
  147. package/dist/helpers/objects/setValue.d.ts +1 -0
  148. package/dist/helpers/objects.d.ts +5 -4
  149. package/dist/helpers/strings/camelCase.d.ts +10 -9
  150. package/dist/helpers/strings/camelCase.js +20 -20
  151. package/dist/helpers/strings/kabobCase.d.ts +10 -9
  152. package/dist/helpers/strings/kabobCase.js +19 -19
  153. package/dist/helpers/strings/makeFilepath.d.ts +10 -9
  154. package/dist/helpers/strings/makeFilepath.js +49 -50
  155. package/dist/helpers/strings/makeFilepath.min.js +1 -1
  156. package/dist/helpers/strings/makeRelativePath.d.ts +10 -9
  157. package/dist/helpers/strings/makeRelativePath.js +43 -43
  158. package/dist/helpers/strings/makeRelativePath.min.js +1 -1
  159. package/dist/helpers/strings/regexEscape.d.ts +9 -8
  160. package/dist/helpers/strings/regexEscape.js +15 -17
  161. package/dist/helpers/strings/regexEscape.min.js +1 -1
  162. package/dist/helpers/strings/snakeCase.d.ts +10 -9
  163. package/dist/helpers/strings/snakeCase.js +19 -19
  164. package/dist/helpers/strings/strAfter.d.ts +11 -10
  165. package/dist/helpers/strings/strAfter.js +19 -19
  166. package/dist/helpers/strings/strAfterLast.d.ts +11 -10
  167. package/dist/helpers/strings/strAfterLast.js +19 -19
  168. package/dist/helpers/strings/strBefore.d.ts +11 -10
  169. package/dist/helpers/strings/strBefore.js +19 -19
  170. package/dist/helpers/strings/strBeforeLast.d.ts +11 -10
  171. package/dist/helpers/strings/strBeforeLast.js +19 -19
  172. package/dist/helpers/strings/titleCase.d.ts +10 -9
  173. package/dist/helpers/strings/titleCase.js +20 -20
  174. package/dist/helpers/strings/ucFirst.d.ts +10 -9
  175. package/dist/helpers/strings/ucFirst.js +15 -15
  176. package/dist/helpers/strings/words.d.ts +11 -9
  177. package/dist/helpers/strings/words.js +16 -16
  178. package/dist/helpers/strings/words.min.js +1 -1
  179. package/dist/helpers/strings.d.ts +1 -0
  180. package/dist/main.d.ts +1 -0
  181. package/package.json +4 -4
@@ -1,11 +1,14 @@
1
- import 'core-js/stable';
2
- import { descriptor } from './samples/descriptor';
3
- /**
4
- * Find the index of the next module:objectDescriptors.descriptorDetail to build a resource for.
5
- * @memberOf module:objectDescriptors
6
- * @param {module:objectDescriptors~descriptor} descriptor
7
- * @param {number} currentReference
8
- * @returns {number|undefined}
9
- */
10
- declare const nextReference: (descriptor: descriptor, currentReference: number) => number | undefined;
11
- export default nextReference;
1
+ import 'core-js/stable';
2
+ import { descriptor } from './samples/descriptor';
3
+ /**
4
+ * Find the index (within `descriptor.details`) of the next referenced property - after `currentReference` - whose
5
+ * own nested object/array still needs its descriptor built. Used to walk through a descriptor's references one at
6
+ * a time while building out a descriptorMap.
7
+ * @memberOf module:objectDescriptors
8
+ * @param {module:objectDescriptors~descriptor} descriptor - The descriptor whose references to search.
9
+ * @param {number} currentReference - The `details` index already processed - search continues after this one.
10
+ * @returns {number|undefined} The next detail index to process, or `undefined` if none remain.
11
+ */
12
+ declare const nextReference: (descriptor: descriptor, currentReference: number) => number | undefined;
13
+ export default nextReference;
14
+ //# sourceMappingURL=nextReference.d.ts.map
@@ -1,29 +1,31 @@
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.find.js')
9
- require('core-js/stable')
10
- var _objectKeys = _interopRequireDefault(require('../objects/objectKeys'))
11
- function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
12
- /**
13
- * Find the index of the next module:objectDescriptors.descriptorDetail to build a resource for.
14
- * @memberOf module:objectDescriptors
15
- * @param {module:objectDescriptors~descriptor} descriptor
16
- * @param {number} currentReference
17
- * @returns {number|undefined}
18
- */
19
- const nextReference = (descriptor, currentReference) => descriptor.references.find(nextRef => {
20
- if (nextRef <= currentReference) {
21
- return false
22
- }
23
- const val = descriptor.details[nextRef].value[descriptor.details[nextRef].value.length - 1]
24
- if (typeof val !== 'object' || val === null || typeof val === 'undefined' || descriptor.details[nextRef].circular || descriptor.details[nextRef].isInstance) {
25
- return false
26
- }
27
- return !!(0, _objectKeys.default)(val).length
28
- })
29
- var _default = exports.default = nextReference
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.find.js')
9
+ require('core-js/stable')
10
+ var _objectKeys = _interopRequireDefault(require('../objects/objectKeys'))
11
+ function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
12
+ /**
13
+ * Find the index (within `descriptor.details`) of the next referenced property - after `currentReference` - whose
14
+ * own nested object/array still needs its descriptor built. Used to walk through a descriptor's references one at
15
+ * a time while building out a descriptorMap.
16
+ * @memberOf module:objectDescriptors
17
+ * @param {module:objectDescriptors~descriptor} descriptor - The descriptor whose references to search.
18
+ * @param {number} currentReference - The `details` index already processed - search continues after this one.
19
+ * @returns {number|undefined} The next detail index to process, or `undefined` if none remain.
20
+ */
21
+ const nextReference = (descriptor, currentReference) => descriptor.references.find(nextRef => {
22
+ if (nextRef <= currentReference) {
23
+ return false
24
+ }
25
+ const val = descriptor.details[nextRef].value[descriptor.details[nextRef].value.length - 1]
26
+ if (typeof val !== 'object' || val === null || typeof val === 'undefined' || descriptor.details[nextRef].circular || descriptor.details[nextRef].isInstance) {
27
+ return false
28
+ }
29
+ return !!(0, _objectKeys.default)(val).length
30
+ })
31
+ var _default = exports.default = nextReference
@@ -1,11 +1,14 @@
1
- import 'core-js/stable';
2
- import { descriptor } from './samples/descriptor';
3
- /**
4
- * Check if the two descriptors are the same.
5
- * @memberOf module:objectDescriptors
6
- * @param {module:objectDescriptors~descriptor} descriptor1
7
- * @param {module:objectDescriptors~descriptor} descriptor2
8
- * @returns {boolean}
9
- */
10
- declare const sameDescriptor: (descriptor1: descriptor, descriptor2: descriptor) => boolean;
11
- export default sameDescriptor;
1
+ import 'core-js/stable';
2
+ import { descriptor } from './samples/descriptor';
3
+ /**
4
+ * Check if two descriptors describe the exact same underlying values (not just compatible types, like
5
+ * {@link module:objectDescriptors.compareDescriptor} does) - used to detect genuine circular references, where a
6
+ * nested value's descriptor turns out to be identical to one of its own ancestors.
7
+ * @memberOf module:objectDescriptors
8
+ * @param {module:objectDescriptors~descriptor} descriptor1 - The first descriptor to compare.
9
+ * @param {module:objectDescriptors~descriptor} descriptor2 - The second descriptor to compare.
10
+ * @returns {boolean} True if every detail's values match at the same position.
11
+ */
12
+ declare const sameDescriptor: (descriptor1: descriptor, descriptor2: descriptor) => boolean;
13
+ export default sameDescriptor;
14
+ //# sourceMappingURL=sameDescriptor.d.ts.map
@@ -1,20 +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.every.js')
10
- require('core-js/modules/esnext.iterator.some.js')
11
- require('core-js/stable')
12
- /**
13
- * Check if the two descriptors are the same.
14
- * @memberOf module:objectDescriptors
15
- * @param {module:objectDescriptors~descriptor} descriptor1
16
- * @param {module:objectDescriptors~descriptor} descriptor2
17
- * @returns {boolean}
18
- */
19
- const sameDescriptor = (descriptor1, descriptor2) => descriptor1.details.every((detail, index) => detail.value.some(dVal => descriptor2.details[index].value.includes(dVal)))
20
- var _default = exports.default = sameDescriptor
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.every.js')
10
+ require('core-js/modules/esnext.iterator.some.js')
11
+ require('core-js/stable')
12
+ /**
13
+ * Check if two descriptors describe the exact same underlying values (not just compatible types, like
14
+ * {@link module:objectDescriptors.compareDescriptor} does) - used to detect genuine circular references, where a
15
+ * nested value's descriptor turns out to be identical to one of its own ancestors.
16
+ * @memberOf module:objectDescriptors
17
+ * @param {module:objectDescriptors~descriptor} descriptor1 - The first descriptor to compare.
18
+ * @param {module:objectDescriptors~descriptor} descriptor2 - The second descriptor to compare.
19
+ * @returns {boolean} True if every detail's values match at the same position.
20
+ */
21
+ const sameDescriptor = (descriptor1, descriptor2) => descriptor1.details.every((detail, index) => detail.value.some(dVal => descriptor2.details[index].value.includes(dVal)))
22
+ var _default = exports.default = sameDescriptor
@@ -1,27 +1,35 @@
1
- import { descriptorDetail } from './descriptorDetail';
2
- /**
3
- * @typedef {Object} module:objectDescriptors~descriptor
4
- * @memberOf module:objectDescriptors
5
- * @property {number} index
6
- * @property {Array.<module:objectDescriptors~descriptorDetail>} details
7
- * @property {number} length
8
- * @property {Array.<string|number>} keys
9
- * @property {Array.<number>} references
10
- * @property {boolean} isArray
11
- * @property {boolean} complete
12
- */
13
- export type descriptor = {
14
- index: number;
15
- details: Array<descriptorDetail>;
16
- length: number;
17
- keys: Array<number | string>;
18
- references: Array<number>;
19
- isArray: boolean;
20
- complete: boolean;
21
- };
22
- /**
23
- * @type {module:objectDescriptors~descriptor}
24
- * @memberOf module:objectDescriptors
25
- */
26
- declare const descriptorSample: descriptor;
27
- export default descriptorSample;
1
+ import { descriptorDetail } from './descriptorDetail';
2
+ /**
3
+ * A flat, serializable description of one object or array's shape - see the {@link module:objectDescriptors} module
4
+ * description for the concept this represents. One `descriptor` covers a single level of nesting; a nested
5
+ * object/array's own shape is a separate `descriptor` elsewhere in the same {@link module:objectDescriptors~descriptorMap},
6
+ * pointed to via the relevant `descriptorDetail`'s `arrayReference`/`objectReference`.
7
+ * @typedef {Object} module:objectDescriptors~descriptor
8
+ * @memberOf module:objectDescriptors
9
+ * @property {number} index - This descriptor's own position in the descriptorMap it belongs to.
10
+ * @property {Array.<module:objectDescriptors~descriptorDetail>} details - One entry per property/element of the
11
+ * described object or array.
12
+ * @property {number} length - The number of properties/elements described (i.e. `details.length`).
13
+ * @property {Array.<string|number>} keys - The property names (or array indexes) described, in the same order as `details`.
14
+ * @property {Array.<number>} references - The `index` values (from `details`) of properties whose own value is
15
+ * itself an object/array, and so has a separate descriptor elsewhere in the map.
16
+ * @property {boolean} isArray - Whether the described value was an array (true) or a plain object (false).
17
+ * @property {boolean} complete - Whether every referenced nested descriptor has actually been resolved yet - false
18
+ * while still being built, true once nothing referenced is left pending.
19
+ */
20
+ export type descriptor = {
21
+ index: number;
22
+ details: Array<descriptorDetail>;
23
+ length: number;
24
+ keys: Array<number | string>;
25
+ references: Array<number>;
26
+ isArray: boolean;
27
+ complete: boolean;
28
+ };
29
+ /**
30
+ * @type {module:objectDescriptors~descriptor}
31
+ * @memberOf module:objectDescriptors
32
+ */
33
+ declare const descriptorSample: descriptor;
34
+ export default descriptorSample;
35
+ //# sourceMappingURL=descriptor.d.ts.map
@@ -1,34 +1,43 @@
1
- /**
2
- * @typedef {Object} module:objectDescriptors~descriptorDetail
3
- * @memberOf module:objectDescriptors
4
- * @property {number} index
5
- * @property {string|number} key
6
- * @property {Array.<string>} type
7
- * @property {Array} value
8
- * @property {boolean} nullable
9
- * @property {boolean} optional
10
- * @property {boolean} circular
11
- * @property {boolean} isReference
12
- * @property {boolean} isInstance
13
- * @property {null|number} arrayReference
14
- * @property {null|number} objectReference
15
- */
16
- export type descriptorDetail = {
17
- index: number;
18
- key: number | string;
19
- type: Array<string>;
20
- value: Array<any>;
21
- nullable: boolean;
22
- optional: boolean;
23
- circular: boolean;
24
- isReference: boolean;
25
- isInstance: boolean;
26
- arrayReference: number | null;
27
- objectReference: number | null;
28
- };
29
- /**
30
- * @type {module:objectDescriptors~descriptorDetail}
31
- * @memberOf module:objectDescriptors
32
- */
33
- declare const descriptorDetailSample: descriptorDetail;
34
- export default descriptorDetailSample;
1
+ /**
2
+ * A description of one single property/element within a {@link module:objectDescriptors~descriptor}.
3
+ * @typedef {Object} module:objectDescriptors~descriptorDetail
4
+ * @memberOf module:objectDescriptors
5
+ * @property {number} index - This detail's own position within its parent descriptor's `details` array.
6
+ * @property {string|number} key - The property name (or array index) this detail describes.
7
+ * @property {Array.<string>} type - The `typeof` result(s) seen for this property's value - more than one entry
8
+ * means the same key held different types across multiple objects that were merged/compared into this descriptor.
9
+ * @property {Array} value - The actual value(s) seen for this property, kept only until the descriptor is marked
10
+ * `complete` (see {@link module:objectDescriptors.checkClearValues}), then cleared to save memory.
11
+ * @property {boolean} nullable - Whether this property's value has been seen as `null`.
12
+ * @property {boolean} optional - Whether this property is missing on some, but not all, of the compared objects.
13
+ * @property {boolean} circular - Whether following this property's own nested value would lead back to an ancestor
14
+ * already being described (a genuine circular reference), rather than a normal, resolvable nested object/array.
15
+ * @property {boolean} isReference - Whether this property's value is itself an object/array, and so has its own
16
+ * separate descriptor elsewhere in the descriptorMap (pointed to by `arrayReference`/`objectReference` below).
17
+ * @property {boolean} isInstance - Whether this property's value is an instance of a custom class (as opposed to a
18
+ * plain Object or Array literal) - such values are treated as opaque and not traced further.
19
+ * @property {null|number} arrayReference - If this property's value is an array, the index (within the
20
+ * descriptorMap) of that array's own descriptor; `null` otherwise.
21
+ * @property {null|number} objectReference - If this property's value is a plain object, the index (within the
22
+ * descriptorMap) of that object's own descriptor; `null` otherwise.
23
+ */
24
+ export type descriptorDetail = {
25
+ index: number;
26
+ key: number | string;
27
+ type: Array<string>;
28
+ value: Array<any>;
29
+ nullable: boolean;
30
+ optional: boolean;
31
+ circular: boolean;
32
+ isReference: boolean;
33
+ isInstance: boolean;
34
+ arrayReference: number | null;
35
+ objectReference: number | null;
36
+ };
37
+ /**
38
+ * @type {module:objectDescriptors~descriptorDetail}
39
+ * @memberOf module:objectDescriptors
40
+ */
41
+ declare const descriptorDetailSample: descriptorDetail;
42
+ export default descriptorDetailSample;
43
+ //# sourceMappingURL=descriptorDetail.d.ts.map
@@ -1,12 +1,17 @@
1
- import { descriptor } from './descriptor';
2
- /**
3
- * @typedef {Array.<module:objectDescriptors~descriptor>} module:objectDescriptors~descriptorMap
4
- * @memberOf module:objectDescriptors
5
- */
6
- export type descriptorMap = Array<descriptor>;
7
- /**
8
- * @type {module:objectDescriptors~descriptorMap}
9
- * @memberOf module:objectDescriptors
10
- */
11
- declare const descriptorMapSample: descriptorMap;
12
- export default descriptorMapSample;
1
+ import { descriptor } from './descriptor';
2
+ /**
3
+ * The full, flat result of describing an object graph: a list of every descriptor discovered, including nested
4
+ * ones - the return type of {@link module:objectDescriptors.describeObjectMap}. Each descriptor's own `index`
5
+ * matches its position in this array, which is how `arrayReference`/`objectReference` on a descriptorDetail point
6
+ * back into it.
7
+ * @typedef {Array.<module:objectDescriptors~descriptor>} module:objectDescriptors~descriptorMap
8
+ * @memberOf module:objectDescriptors
9
+ */
10
+ export type descriptorMap = Array<descriptor>;
11
+ /**
12
+ * @type {module:objectDescriptors~descriptorMap}
13
+ * @memberOf module:objectDescriptors
14
+ */
15
+ declare const descriptorMapSample: descriptorMap;
16
+ export default descriptorMapSample;
17
+ //# sourceMappingURL=descriptorMap.d.ts.map
@@ -1,7 +1,11 @@
1
- import { descriptorMap } from './descriptorMap';
2
- /**
3
- * @type {module:objectDescriptors~descriptorMap}
4
- * @memberOf module:objectDescriptors
5
- */
6
- declare const mappedDescriptorMap: descriptorMap;
7
- export default mappedDescriptorMap;
1
+ import { descriptorMap } from './descriptorMap';
2
+ /**
3
+ * A worked example descriptorMap, produced by describing a `descriptor` value itself (i.e. describing the shape of
4
+ * a descriptor) - useful as a realistic fixture showing what a multi-entry descriptorMap with actual references
5
+ * looks like, since `descriptorSample`/`descriptorMapSample` alone only demonstrate a trivial single-entry case.
6
+ * @type {module:objectDescriptors~descriptorMap}
7
+ * @memberOf module:objectDescriptors
8
+ */
9
+ declare const mappedDescriptorMap: descriptorMap;
10
+ export default mappedDescriptorMap;
11
+ //# sourceMappingURL=mappedDescriptorMap.d.ts.map