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,284 +1,287 @@
1
- 'use strict'
2
-
3
- Object.defineProperty(exports, '__esModule', {
4
- value: true
5
- })
6
- exports.default = void 0
7
- /**
8
- * @type {module:objectDescriptors~descriptorMap}
9
- * @memberOf module:objectDescriptors
10
- */
11
- const mappedDescriptorMap = [{
12
- index: 0,
13
- details: [{
14
- index: 0,
15
- key: 'index',
16
- type: ['number'],
17
- value: [],
18
- nullable: false,
19
- optional: false,
20
- circular: false,
21
- isReference: false,
22
- isInstance: false,
23
- arrayReference: null,
24
- objectReference: null
25
- }, {
26
- index: 1,
27
- key: 'details',
28
- type: ['object'],
29
- value: [],
30
- nullable: false,
31
- optional: false,
32
- circular: false,
33
- isReference: true,
34
- isInstance: false,
35
- arrayReference: 1,
36
- objectReference: null
37
- }, {
38
- index: 2,
39
- key: 'length',
40
- type: ['number'],
41
- value: [],
42
- nullable: false,
43
- optional: false,
44
- circular: false,
45
- isReference: false,
46
- isInstance: false,
47
- arrayReference: null,
48
- objectReference: null
49
- }, {
50
- index: 3,
51
- key: 'keys',
52
- type: ['object'],
53
- value: [],
54
- nullable: false,
55
- optional: false,
56
- circular: false,
57
- isReference: true,
58
- isInstance: false,
59
- arrayReference: 3,
60
- objectReference: null
61
- }, {
62
- index: 4,
63
- key: 'references',
64
- type: ['object'],
65
- value: [],
66
- nullable: false,
67
- optional: false,
68
- circular: false,
69
- isReference: false,
70
- isInstance: false,
71
- arrayReference: null,
72
- objectReference: null
73
- }, {
74
- index: 5,
75
- key: 'isArray',
76
- type: ['boolean'],
77
- value: [],
78
- nullable: false,
79
- optional: false,
80
- circular: false,
81
- isReference: false,
82
- isInstance: false,
83
- arrayReference: null,
84
- objectReference: null
85
- }, {
86
- index: 6,
87
- key: 'complete',
88
- type: ['boolean'],
89
- value: [],
90
- nullable: false,
91
- optional: false,
92
- circular: false,
93
- isReference: false,
94
- isInstance: false,
95
- arrayReference: null,
96
- objectReference: null
97
- }],
98
- length: 7,
99
- keys: ['index', 'details', 'length', 'keys', 'references', 'isArray', 'complete'],
100
- references: [1, 3],
101
- isArray: false,
102
- complete: true
103
- }, {
104
- index: 1,
105
- details: [{
106
- index: 0,
107
- key: 0,
108
- type: ['object'],
109
- value: [],
110
- nullable: false,
111
- optional: false,
112
- circular: false,
113
- isReference: true,
114
- isInstance: false,
115
- arrayReference: null,
116
- objectReference: 2
117
- }],
118
- length: 1,
119
- keys: [0],
120
- references: [0],
121
- isArray: true,
122
- complete: true
123
- }, {
124
- index: 2,
125
- details: [{
126
- index: 0,
127
- key: 'index',
128
- type: ['number'],
129
- value: [],
130
- nullable: false,
131
- optional: false,
132
- circular: false,
133
- isReference: false,
134
- isInstance: false,
135
- arrayReference: null,
136
- objectReference: null
137
- }, {
138
- index: 1,
139
- key: 'key',
140
- type: ['string'],
141
- value: [],
142
- nullable: false,
143
- optional: false,
144
- circular: false,
145
- isReference: false,
146
- isInstance: false,
147
- arrayReference: null,
148
- objectReference: null
149
- }, {
150
- index: 2,
151
- key: 'type',
152
- type: ['object'],
153
- value: [],
154
- nullable: false,
155
- optional: false,
156
- circular: false,
157
- isReference: true,
158
- isInstance: false,
159
- arrayReference: 3,
160
- objectReference: null
161
- }, {
162
- index: 3,
163
- key: 'value',
164
- type: ['object'],
165
- value: [],
166
- nullable: false,
167
- optional: false,
168
- circular: false,
169
- isReference: true,
170
- isInstance: false,
171
- arrayReference: 3,
172
- objectReference: null
173
- }, {
174
- index: 4,
175
- key: 'nullable',
176
- type: ['boolean'],
177
- value: [],
178
- nullable: false,
179
- optional: false,
180
- circular: false,
181
- isReference: false,
182
- isInstance: false,
183
- arrayReference: null,
184
- objectReference: null
185
- }, {
186
- index: 5,
187
- key: 'optional',
188
- type: ['boolean'],
189
- value: [],
190
- nullable: false,
191
- optional: false,
192
- circular: false,
193
- isReference: false,
194
- isInstance: false,
195
- arrayReference: null,
196
- objectReference: null
197
- }, {
198
- index: 6,
199
- key: 'circular',
200
- type: ['boolean'],
201
- value: [],
202
- nullable: false,
203
- optional: false,
204
- circular: false,
205
- isReference: false,
206
- isInstance: false,
207
- arrayReference: null,
208
- objectReference: null
209
- }, {
210
- index: 7,
211
- key: 'isReference',
212
- type: ['boolean'],
213
- value: [],
214
- nullable: false,
215
- optional: false,
216
- circular: false,
217
- isReference: false,
218
- isInstance: false,
219
- arrayReference: null,
220
- objectReference: null
221
- }, {
222
- index: 8,
223
- key: 'isInstance',
224
- type: ['boolean'],
225
- value: [],
226
- nullable: false,
227
- optional: false,
228
- circular: false,
229
- isReference: false,
230
- isInstance: false,
231
- arrayReference: null,
232
- objectReference: null
233
- }, {
234
- index: 9,
235
- key: 'arrayReference',
236
- type: ['object'],
237
- value: [],
238
- nullable: true,
239
- optional: false,
240
- circular: false,
241
- isReference: false,
242
- isInstance: false,
243
- arrayReference: null,
244
- objectReference: null
245
- }, {
246
- index: 10,
247
- key: 'objectReference',
248
- type: ['object'],
249
- value: [],
250
- nullable: true,
251
- optional: false,
252
- circular: false,
253
- isReference: false,
254
- isInstance: false,
255
- arrayReference: null,
256
- objectReference: null
257
- }],
258
- length: 11,
259
- keys: ['index', 'key', 'type', 'value', 'nullable', 'optional', 'circular', 'isReference', 'isInstance', 'arrayReference', 'objectReference'],
260
- references: [2, 3],
261
- isArray: false,
262
- complete: true
263
- }, {
264
- index: 3,
265
- details: [{
266
- index: 0,
267
- key: 0,
268
- type: ['string'],
269
- value: [],
270
- nullable: false,
271
- optional: false,
272
- circular: false,
273
- isReference: false,
274
- isInstance: false,
275
- arrayReference: null,
276
- objectReference: null
277
- }],
278
- length: 1,
279
- keys: [0],
280
- references: [],
281
- isArray: true,
282
- complete: true
283
- }]
284
- var _default = exports.default = mappedDescriptorMap
1
+ 'use strict'
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true
5
+ })
6
+ exports.default = void 0
7
+ /**
8
+ * A worked example descriptorMap, produced by describing a `descriptor` value itself (i.e. describing the shape of
9
+ * a descriptor) - useful as a realistic fixture showing what a multi-entry descriptorMap with actual references
10
+ * looks like, since `descriptorSample`/`descriptorMapSample` alone only demonstrate a trivial single-entry case.
11
+ * @type {module:objectDescriptors~descriptorMap}
12
+ * @memberOf module:objectDescriptors
13
+ */
14
+ const mappedDescriptorMap = [{
15
+ index: 0,
16
+ details: [{
17
+ index: 0,
18
+ key: 'index',
19
+ type: ['number'],
20
+ value: [],
21
+ nullable: false,
22
+ optional: false,
23
+ circular: false,
24
+ isReference: false,
25
+ isInstance: false,
26
+ arrayReference: null,
27
+ objectReference: null
28
+ }, {
29
+ index: 1,
30
+ key: 'details',
31
+ type: ['object'],
32
+ value: [],
33
+ nullable: false,
34
+ optional: false,
35
+ circular: false,
36
+ isReference: true,
37
+ isInstance: false,
38
+ arrayReference: 1,
39
+ objectReference: null
40
+ }, {
41
+ index: 2,
42
+ key: 'length',
43
+ type: ['number'],
44
+ value: [],
45
+ nullable: false,
46
+ optional: false,
47
+ circular: false,
48
+ isReference: false,
49
+ isInstance: false,
50
+ arrayReference: null,
51
+ objectReference: null
52
+ }, {
53
+ index: 3,
54
+ key: 'keys',
55
+ type: ['object'],
56
+ value: [],
57
+ nullable: false,
58
+ optional: false,
59
+ circular: false,
60
+ isReference: true,
61
+ isInstance: false,
62
+ arrayReference: 3,
63
+ objectReference: null
64
+ }, {
65
+ index: 4,
66
+ key: 'references',
67
+ type: ['object'],
68
+ value: [],
69
+ nullable: false,
70
+ optional: false,
71
+ circular: false,
72
+ isReference: false,
73
+ isInstance: false,
74
+ arrayReference: null,
75
+ objectReference: null
76
+ }, {
77
+ index: 5,
78
+ key: 'isArray',
79
+ type: ['boolean'],
80
+ value: [],
81
+ nullable: false,
82
+ optional: false,
83
+ circular: false,
84
+ isReference: false,
85
+ isInstance: false,
86
+ arrayReference: null,
87
+ objectReference: null
88
+ }, {
89
+ index: 6,
90
+ key: 'complete',
91
+ type: ['boolean'],
92
+ value: [],
93
+ nullable: false,
94
+ optional: false,
95
+ circular: false,
96
+ isReference: false,
97
+ isInstance: false,
98
+ arrayReference: null,
99
+ objectReference: null
100
+ }],
101
+ length: 7,
102
+ keys: ['index', 'details', 'length', 'keys', 'references', 'isArray', 'complete'],
103
+ references: [1, 3],
104
+ isArray: false,
105
+ complete: true
106
+ }, {
107
+ index: 1,
108
+ details: [{
109
+ index: 0,
110
+ key: 0,
111
+ type: ['object'],
112
+ value: [],
113
+ nullable: false,
114
+ optional: false,
115
+ circular: false,
116
+ isReference: true,
117
+ isInstance: false,
118
+ arrayReference: null,
119
+ objectReference: 2
120
+ }],
121
+ length: 1,
122
+ keys: [0],
123
+ references: [0],
124
+ isArray: true,
125
+ complete: true
126
+ }, {
127
+ index: 2,
128
+ details: [{
129
+ index: 0,
130
+ key: 'index',
131
+ type: ['number'],
132
+ value: [],
133
+ nullable: false,
134
+ optional: false,
135
+ circular: false,
136
+ isReference: false,
137
+ isInstance: false,
138
+ arrayReference: null,
139
+ objectReference: null
140
+ }, {
141
+ index: 1,
142
+ key: 'key',
143
+ type: ['string'],
144
+ value: [],
145
+ nullable: false,
146
+ optional: false,
147
+ circular: false,
148
+ isReference: false,
149
+ isInstance: false,
150
+ arrayReference: null,
151
+ objectReference: null
152
+ }, {
153
+ index: 2,
154
+ key: 'type',
155
+ type: ['object'],
156
+ value: [],
157
+ nullable: false,
158
+ optional: false,
159
+ circular: false,
160
+ isReference: true,
161
+ isInstance: false,
162
+ arrayReference: 3,
163
+ objectReference: null
164
+ }, {
165
+ index: 3,
166
+ key: 'value',
167
+ type: ['object'],
168
+ value: [],
169
+ nullable: false,
170
+ optional: false,
171
+ circular: false,
172
+ isReference: true,
173
+ isInstance: false,
174
+ arrayReference: 3,
175
+ objectReference: null
176
+ }, {
177
+ index: 4,
178
+ key: 'nullable',
179
+ type: ['boolean'],
180
+ value: [],
181
+ nullable: false,
182
+ optional: false,
183
+ circular: false,
184
+ isReference: false,
185
+ isInstance: false,
186
+ arrayReference: null,
187
+ objectReference: null
188
+ }, {
189
+ index: 5,
190
+ key: 'optional',
191
+ type: ['boolean'],
192
+ value: [],
193
+ nullable: false,
194
+ optional: false,
195
+ circular: false,
196
+ isReference: false,
197
+ isInstance: false,
198
+ arrayReference: null,
199
+ objectReference: null
200
+ }, {
201
+ index: 6,
202
+ key: 'circular',
203
+ type: ['boolean'],
204
+ value: [],
205
+ nullable: false,
206
+ optional: false,
207
+ circular: false,
208
+ isReference: false,
209
+ isInstance: false,
210
+ arrayReference: null,
211
+ objectReference: null
212
+ }, {
213
+ index: 7,
214
+ key: 'isReference',
215
+ type: ['boolean'],
216
+ value: [],
217
+ nullable: false,
218
+ optional: false,
219
+ circular: false,
220
+ isReference: false,
221
+ isInstance: false,
222
+ arrayReference: null,
223
+ objectReference: null
224
+ }, {
225
+ index: 8,
226
+ key: 'isInstance',
227
+ type: ['boolean'],
228
+ value: [],
229
+ nullable: false,
230
+ optional: false,
231
+ circular: false,
232
+ isReference: false,
233
+ isInstance: false,
234
+ arrayReference: null,
235
+ objectReference: null
236
+ }, {
237
+ index: 9,
238
+ key: 'arrayReference',
239
+ type: ['object'],
240
+ value: [],
241
+ nullable: true,
242
+ optional: false,
243
+ circular: false,
244
+ isReference: false,
245
+ isInstance: false,
246
+ arrayReference: null,
247
+ objectReference: null
248
+ }, {
249
+ index: 10,
250
+ key: 'objectReference',
251
+ type: ['object'],
252
+ value: [],
253
+ nullable: true,
254
+ optional: false,
255
+ circular: false,
256
+ isReference: false,
257
+ isInstance: false,
258
+ arrayReference: null,
259
+ objectReference: null
260
+ }],
261
+ length: 11,
262
+ keys: ['index', 'key', 'type', 'value', 'nullable', 'optional', 'circular', 'isReference', 'isInstance', 'arrayReference', 'objectReference'],
263
+ references: [2, 3],
264
+ isArray: false,
265
+ complete: true
266
+ }, {
267
+ index: 3,
268
+ details: [{
269
+ index: 0,
270
+ key: 0,
271
+ type: ['string'],
272
+ value: [],
273
+ nullable: false,
274
+ optional: false,
275
+ circular: false,
276
+ isReference: false,
277
+ isInstance: false,
278
+ arrayReference: null,
279
+ objectReference: null
280
+ }],
281
+ length: 1,
282
+ keys: [0],
283
+ references: [],
284
+ isArray: true,
285
+ complete: true
286
+ }]
287
+ var _default = exports.default = mappedDescriptorMap
@@ -1,28 +1,45 @@
1
- /**
2
- * Create a format to standardize every object into a specific template.
3
- * @file
4
- * @author Joshua Heagle <joshuaheagle@gmail.com>
5
- * @version 1.0.0
6
- * @module objectDescriptors
7
- * @memberOf module:siFunciona
8
- */
9
- import 'core-js/stable';
10
- declare const _default: {
11
- assignDescriptor: (originalMap: import("./descriptors/samples/descriptor").descriptor, ...descriptors: Array<import("./descriptors/samples/descriptor").descriptor>) => import("./descriptors/samples/descriptor").descriptor;
12
- assignDescriptorDetail: (originalDetail: import("./descriptors/samples/descriptorDetail").descriptorDetail, ...details: Array<import("./descriptors/samples/descriptorDetail").descriptorDetail>) => import("./descriptors/samples/descriptorDetail").descriptorDetail;
13
- checkClearValues: (descriptor: import("./descriptors/samples/descriptor").descriptor, keepValues?: boolean) => import("./descriptors/samples/descriptor").descriptor;
14
- checkDescriptorComplete: (descriptor: import("./descriptors/samples/descriptor").descriptor) => import("./descriptors/samples/descriptor").descriptor;
15
- cloneDescriptor: (originalMap: import("./descriptors/samples/descriptor").descriptor) => import("./descriptors/samples/descriptor").descriptor;
16
- cloneDescriptorDetail: (originalDetail: import("./descriptors/samples/descriptorDetail").descriptorDetail) => import("./descriptors/samples/descriptorDetail").descriptorDetail;
17
- compareDescriptor: (descriptor1: import("./descriptors/samples/descriptor").descriptor, descriptor2: import("./descriptors/samples/descriptor").descriptor) => boolean;
18
- describeObject: (object: import("./descriptors/describeObject").describeableObject) => import("./descriptors/samples/descriptor").descriptor;
19
- describeObjectMap: (object: import("./descriptors/describeObject").describeableObject, { mapLimit, depthLimit, keepValues }?: {
20
- mapLimit?: number;
21
- depthLimit?: number;
22
- keepValues?: boolean;
23
- }) => import("./descriptors/samples/descriptorMap").descriptorMap;
24
- describeObjectDetail: (value: any, key?: number | string, index?: number) => import("./descriptors/samples/descriptorDetail").descriptorDetail;
25
- nextReference: (descriptor: import("./descriptors/samples/descriptor").descriptor, currentReference: number) => number | undefined;
26
- sameDescriptor: (descriptor1: import("./descriptors/samples/descriptor").descriptor, descriptor2: import("./descriptors/samples/descriptor").descriptor) => boolean;
27
- };
28
- export default _default;
1
+ /**
2
+ * A "descriptor" is a flat, serializable snapshot of an object or array's shape: for each property, its type(s),
3
+ * whether it's nullable, and - if the property's own value is itself an object/array - a reference to that nested
4
+ * value's own descriptor elsewhere in the same list, rather than nesting descriptors inside descriptors. This flat,
5
+ * reference-based structure is what lets these utilities walk deeply nested and even circular object graphs (an
6
+ * object that contains itself, directly or indirectly) without infinite recursion, since a value that's already
7
+ * been described is simply pointed to again instead of re-described.
8
+ *
9
+ * Start with {@link module:objectDescriptors.describeObjectMap}, which takes any real object or array and produces
10
+ * this flat list of descriptors for you - the other functions here (comparing, merging, cloning descriptors) are
11
+ * building blocks used internally, or useful once you already have descriptors to work with directly.
12
+ *
13
+ * The concrete use this module has earned its keep on: describing two objects and comparing the results tells
14
+ * you whether they're the same shape and values even when they're different references entirely (see
15
+ * {@link module:objectDescriptors.sameDescriptor}/{@link module:objectDescriptors.compareDescriptor}) - useful
16
+ * anywhere you need to check that two objects genuinely match without caring whether they're literally the same
17
+ * instance. A descriptor also doubles as a flat, structured summary of an object's shape, which can be handy for
18
+ * discussion or assessment purposes (e.g. describing what an object looks like without dumping the whole thing).
19
+ * @file
20
+ * @author Joshua Heagle <joshuaheagle@gmail.com>
21
+ * @version 1.0.0
22
+ * @module objectDescriptors
23
+ * @memberOf module:siFunciona
24
+ */
25
+ import 'core-js/stable';
26
+ declare const _default: {
27
+ assignDescriptor: (originalMap: import("./descriptors/samples/descriptor").descriptor, ...descriptors: Array<import("./descriptors/samples/descriptor").descriptor>) => import("./descriptors/samples/descriptor").descriptor;
28
+ assignDescriptorDetail: (originalDetail: import("./descriptors/samples/descriptorDetail").descriptorDetail, ...details: Array<import("./descriptors/samples/descriptorDetail").descriptorDetail>) => import("./descriptors/samples/descriptorDetail").descriptorDetail;
29
+ checkClearValues: (descriptor: import("./descriptors/samples/descriptor").descriptor, keepValues?: boolean) => import("./descriptors/samples/descriptor").descriptor;
30
+ checkDescriptorComplete: (descriptor: import("./descriptors/samples/descriptor").descriptor) => import("./descriptors/samples/descriptor").descriptor;
31
+ cloneDescriptor: (originalMap: import("./descriptors/samples/descriptor").descriptor) => import("./descriptors/samples/descriptor").descriptor;
32
+ cloneDescriptorDetail: (originalDetail: import("./descriptors/samples/descriptorDetail").descriptorDetail) => import("./descriptors/samples/descriptorDetail").descriptorDetail;
33
+ compareDescriptor: (descriptor1: import("./descriptors/samples/descriptor").descriptor, descriptor2: import("./descriptors/samples/descriptor").descriptor) => boolean;
34
+ describeObject: (object: import("./descriptors/describeObject").describeableObject) => import("./descriptors/samples/descriptor").descriptor;
35
+ describeObjectMap: (object: import("./descriptors/describeObject").describeableObject, { mapLimit, depthLimit, keepValues }?: {
36
+ mapLimit?: number;
37
+ depthLimit?: number;
38
+ keepValues?: boolean;
39
+ }) => import("./descriptors/samples/descriptorMap").descriptorMap;
40
+ describeObjectDetail: (value: any, key?: number | string, index?: number) => import("./descriptors/samples/descriptorDetail").descriptorDetail;
41
+ nextReference: (descriptor: import("./descriptors/samples/descriptor").descriptor, currentReference: number) => number | undefined;
42
+ sameDescriptor: (descriptor1: import("./descriptors/samples/descriptor").descriptor, descriptor2: import("./descriptors/samples/descriptor").descriptor) => boolean;
43
+ };
44
+ export default _default;
45
+ //# sourceMappingURL=descriptors.d.ts.map