collect-your-stuff 2.1.2 → 2.2.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.
- package/README.md +32 -3926
- package/browser/collect-your-stuff.js +912 -549
- package/browser/collect-your-stuff.min.js +1 -1
- package/dist/collections/arrayable/ArrayElement.d.ts +6 -11
- package/dist/collections/arrayable/ArrayElement.js +5 -7
- package/dist/collections/arrayable/Arrayable.d.ts +22 -37
- package/dist/collections/arrayable/Arrayable.js +208 -223
- package/dist/collections/doubly-linked-list/DoubleLinker.d.ts +9 -14
- package/dist/collections/doubly-linked-list/DoubleLinker.js +71 -73
- package/dist/collections/doubly-linked-list/DoublyLinkedList.d.ts +19 -36
- package/dist/collections/doubly-linked-list/DoublyLinkedList.js +310 -327
- package/dist/collections/linked-list/LinkedList.d.ts +20 -36
- package/dist/collections/linked-list/LinkedList.js +283 -296
- package/dist/collections/linked-list/Linker.d.ts +8 -13
- package/dist/collections/linked-list/Linker.js +82 -84
- package/dist/collections/linked-tree-list/LinkedTreeList.d.ts +24 -43
- package/dist/collections/linked-tree-list/LinkedTreeList.js +274 -294
- package/dist/collections/linked-tree-list/TreeLinker.d.ts +14 -20
- package/dist/collections/linked-tree-list/TreeLinker.js +91 -94
- package/dist/collections/queue/Queue.d.ts +10 -14
- package/dist/collections/queue/Queue.js +114 -121
- package/dist/collections/queue/Queueable.d.ts +13 -22
- package/dist/collections/queue/Queueable.js +142 -148
- package/dist/collections/queue/TaskQueue.d.ts +8 -17
- package/dist/collections/queue/TaskQueue.js +128 -137
- package/dist/collections/scoped-collection/ScopedCollection.d.ts +42 -0
- package/dist/collections/scoped-collection/ScopedCollection.js +81 -0
- package/dist/collections/scoped-collection/ScopedCollection.min.js +1 -0
- package/dist/collections/stack/Stack.d.ts +11 -15
- package/dist/collections/stack/Stack.js +122 -129
- package/dist/collections/stack/Stackable.d.ts +9 -16
- package/dist/collections/stack/Stackable.js +81 -85
- package/dist/collections/stack/TaskStack.d.ts +8 -17
- package/dist/collections/stack/TaskStack.js +98 -107
- package/dist/main.d.ts +67 -68
- package/dist/main.js +8 -4
- package/dist/main.min.js +1 -1
- package/dist/recipes/ArrayIterator.d.ts +4 -4
- package/dist/recipes/ArrayIterator.js +4 -4
- package/dist/recipes/DoubleLinkerIterator.d.ts +3 -3
- package/dist/recipes/DoubleLinkerIterator.js +3 -3
- package/dist/recipes/IsArrayable.d.ts +13 -33
- package/dist/recipes/IsQueue.d.ts +4 -9
- package/dist/recipes/IsScopedCollection.d.ts +27 -0
- package/dist/recipes/IsScopedCollection.js +5 -0
- package/dist/recipes/IsScopedCollection.min.js +1 -0
- package/dist/recipes/IsStack.d.ts +4 -9
- package/dist/recipes/IsTreeNode.d.ts +1 -1
- package/dist/recipes/LinkerIterator.d.ts +3 -3
- package/dist/recipes/LinkerIterator.js +3 -3
- package/dist/recipes/Runnable.d.ts +3 -16
- package/dist/recipes/Runnable.js +3 -9
- package/dist/recipes/TreeLinkerIterator.d.ts +4 -4
- package/dist/recipes/TreeLinkerIterator.js +36 -36
- package/dist/recipes/recipes.d.ts +1 -4
- package/dist/recipes/recipes.js +19 -22
- package/dist/services/parseTree.d.ts +2 -3
- package/dist/services/parseTree.js +23 -24
- package/dist/services/parseTreeNext.d.ts +2 -3
- package/dist/services/parseTreeNext.js +2 -3
- package/dist/services/services.d.ts +1 -4
- package/dist/services/services.js +19 -22
- package/package.json +4 -4
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
class ArrayElement {
|
|
15
15
|
/**
|
|
16
16
|
* Create the new Element instance, provide the data and optionally configure the type of Element.
|
|
17
|
-
* @param
|
|
17
|
+
* @param data The data to be stored in this element.
|
|
18
18
|
*/
|
|
19
19
|
constructor (data = null) {
|
|
20
20
|
/** The class used to create this instance, so that it can be recognized as valid without an instanceof check. */
|
|
@@ -26,9 +26,8 @@
|
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
28
28
|
* Make a new Element from the data given if it is not already a valid Element.
|
|
29
|
-
* @param
|
|
30
|
-
* @param
|
|
31
|
-
* @return {ArrayElement}
|
|
29
|
+
* @param element Return a valid ArrayElement instance from given data, or even an already valid one.
|
|
30
|
+
* @param classType Provide the type of IsElement to use.
|
|
32
31
|
*/
|
|
33
32
|
exports.ArrayElement = ArrayElement
|
|
34
33
|
ArrayElement.make = (element, classType = ArrayElement) => {
|
|
@@ -45,9 +44,8 @@
|
|
|
45
44
|
}
|
|
46
45
|
/**
|
|
47
46
|
* Convert an array into Element instances, return the head and tail Elements.
|
|
48
|
-
* @param
|
|
49
|
-
* @param
|
|
50
|
-
* @returns {{head: ArrayElement[], tail: ArrayElement}}
|
|
47
|
+
* @param values Provide an array of data that will be converted to array of elements.
|
|
48
|
+
* @param classType Provide the type of IsElement to use.
|
|
51
49
|
*/
|
|
52
50
|
ArrayElement.fromArray = (values = [], classType = ArrayElement) => values.reduce((references, element) => {
|
|
53
51
|
const newElement = classType.make(element, classType)
|
|
@@ -66,7 +64,7 @@
|
|
|
66
64
|
head: [],
|
|
67
65
|
tail: null
|
|
68
66
|
})
|
|
69
|
-
}, { 'core-js/modules/esnext.iterator.constructor.js':
|
|
67
|
+
}, { 'core-js/modules/esnext.iterator.constructor.js': 130, 'core-js/modules/esnext.iterator.reduce.js': 133 }],
|
|
70
68
|
2: [function (require, module, exports) {
|
|
71
69
|
'use strict'
|
|
72
70
|
|
|
@@ -77,10 +75,7 @@
|
|
|
77
75
|
const _ArrayElement = require('./ArrayElement')
|
|
78
76
|
const _ArrayIterator = require('../../recipes/ArrayIterator')
|
|
79
77
|
/**
|
|
80
|
-
*
|
|
81
|
-
* @author Joshua Heagle <joshuaheagle@gmail.com>
|
|
82
|
-
* @version 1.1.0
|
|
83
|
-
* @memberOf module:collect-your-stuff
|
|
78
|
+
* arrayable list.
|
|
84
79
|
*/
|
|
85
80
|
|
|
86
81
|
/**
|
|
@@ -89,7 +84,7 @@
|
|
|
89
84
|
class Arrayable {
|
|
90
85
|
/**
|
|
91
86
|
* Create the new Arrayable instance, configure the Arrayable class.
|
|
92
|
-
* @param
|
|
87
|
+
* @param elementClass The class used to wrap given data as elements.
|
|
93
88
|
*/
|
|
94
89
|
constructor (elementClass = _ArrayElement.ArrayElement) {
|
|
95
90
|
/** The class used to create this instance, so that it can be recognized as valid without an instanceof check. */
|
|
@@ -103,8 +98,7 @@
|
|
|
103
98
|
|
|
104
99
|
/**
|
|
105
100
|
* Find the position of an element which must be in this list.
|
|
106
|
-
* @param
|
|
107
|
-
* @returns {number}
|
|
101
|
+
* @param node The element to find
|
|
108
102
|
* @throws {Error} When the element is not in this list
|
|
109
103
|
*/
|
|
110
104
|
indexOfElement (node) {
|
|
@@ -117,8 +111,7 @@
|
|
|
117
111
|
|
|
118
112
|
/**
|
|
119
113
|
* Initialize the inner list, should only run once.
|
|
120
|
-
* @param
|
|
121
|
-
* @return {Arrayable}
|
|
114
|
+
* @param initialList Give the array of elements to start in this Arrayable.
|
|
122
115
|
*/
|
|
123
116
|
initialize (initialList) {
|
|
124
117
|
if (this.initialized) {
|
|
@@ -132,7 +125,6 @@
|
|
|
132
125
|
|
|
133
126
|
/**
|
|
134
127
|
* Retrieve the innerList used (the list itself, not a copy).
|
|
135
|
-
* @returns {Array<ArrayElement>}
|
|
136
128
|
*/
|
|
137
129
|
get list () {
|
|
138
130
|
return this.innerList
|
|
@@ -140,7 +132,7 @@
|
|
|
140
132
|
|
|
141
133
|
/**
|
|
142
134
|
* Retrieve the first Element from the Arrayable
|
|
143
|
-
* @returns
|
|
135
|
+
* @returns The first element, or null when the Arrayable is empty
|
|
144
136
|
*/
|
|
145
137
|
get first () {
|
|
146
138
|
return this.length ? this.innerList[0] : null
|
|
@@ -148,7 +140,7 @@
|
|
|
148
140
|
|
|
149
141
|
/**
|
|
150
142
|
* Retrieve the last Element from the Arrayable
|
|
151
|
-
* @returns
|
|
143
|
+
* @returns The last element, or null when the Arrayable is empty
|
|
152
144
|
*/
|
|
153
145
|
get last () {
|
|
154
146
|
return this.length ? this.innerList[this.length - 1] : null
|
|
@@ -156,7 +148,6 @@
|
|
|
156
148
|
|
|
157
149
|
/**
|
|
158
150
|
* Return the length of the list.
|
|
159
|
-
* @returns {number}
|
|
160
151
|
*/
|
|
161
152
|
get length () {
|
|
162
153
|
return this.innerList.length
|
|
@@ -164,9 +155,8 @@
|
|
|
164
155
|
|
|
165
156
|
/**
|
|
166
157
|
* Insert a new node (or data) after a node.
|
|
167
|
-
* @param
|
|
168
|
-
* @param
|
|
169
|
-
* @returns {Arrayable}
|
|
158
|
+
* @param node The existing node as reference, or null to insert at the start of the list
|
|
159
|
+
* @param newNode The new node to go after the existing node
|
|
170
160
|
* @throws {Error} When the reference node is not in this list
|
|
171
161
|
*/
|
|
172
162
|
insertAfter (node, newNode) {
|
|
@@ -178,9 +168,8 @@
|
|
|
178
168
|
|
|
179
169
|
/**
|
|
180
170
|
* Insert a new node (or data) before a node.
|
|
181
|
-
* @param
|
|
182
|
-
* @param
|
|
183
|
-
* @returns {Arrayable}
|
|
171
|
+
* @param node The existing node as reference, or null to insert at the end of the list
|
|
172
|
+
* @param newNode The new node to go before the existing node
|
|
184
173
|
* @throws {Error} When the reference node is not in this list
|
|
185
174
|
*/
|
|
186
175
|
insertBefore (node, newNode) {
|
|
@@ -192,9 +181,8 @@
|
|
|
192
181
|
|
|
193
182
|
/**
|
|
194
183
|
* Add a node (or data) after the given (or last) node in the list.
|
|
195
|
-
* @param
|
|
196
|
-
* @param
|
|
197
|
-
* @returns {Arrayable}
|
|
184
|
+
* @param node The new node to add to the end of the list
|
|
185
|
+
* @param after The existing last node
|
|
198
186
|
*/
|
|
199
187
|
append (node, after = this.last) {
|
|
200
188
|
if (after === this.last) {
|
|
@@ -207,9 +195,8 @@
|
|
|
207
195
|
|
|
208
196
|
/**
|
|
209
197
|
* Add a node (or data) before the given (or first) node in the list.
|
|
210
|
-
* @param
|
|
211
|
-
* @param
|
|
212
|
-
* @returns {Arrayable}
|
|
198
|
+
* @param node The new node to add to the start of the list
|
|
199
|
+
* @param before The existing first node
|
|
213
200
|
*/
|
|
214
201
|
prepend (node, before = this.first) {
|
|
215
202
|
if (before === this.first) {
|
|
@@ -222,8 +209,8 @@
|
|
|
222
209
|
|
|
223
210
|
/**
|
|
224
211
|
* Remove an element from this arrayable.
|
|
225
|
-
* @param
|
|
226
|
-
* @
|
|
212
|
+
* @param node The node we wish to remove (and it will be returned after removal)
|
|
213
|
+
* @returns The removed node, or null when it was not in this list (nothing is removed)
|
|
227
214
|
*/
|
|
228
215
|
remove (node) {
|
|
229
216
|
const deleteAt = this.innerList.indexOf(node)
|
|
@@ -236,8 +223,7 @@
|
|
|
236
223
|
|
|
237
224
|
/**
|
|
238
225
|
* Retrieve an ArrayElement item from this list by numeric index, otherwise return null.
|
|
239
|
-
* @param
|
|
240
|
-
* @return {ArrayElement|null}
|
|
226
|
+
* @param index The integer number for retrieving a node by position.
|
|
241
227
|
*/
|
|
242
228
|
item (index) {
|
|
243
229
|
if (index >= this.length) {
|
|
@@ -259,9 +245,8 @@
|
|
|
259
245
|
|
|
260
246
|
/**
|
|
261
247
|
* Be able to run forEach on this Arrayable to iterate over the elements.
|
|
262
|
-
* @param
|
|
263
|
-
* @param
|
|
264
|
-
* @returns {Arrayable}
|
|
248
|
+
* @param callback The function to call for-each element
|
|
249
|
+
* @param thisArg Optional, 'this' reference
|
|
265
250
|
*/
|
|
266
251
|
forEach (callback, thisArg = this) {
|
|
267
252
|
for (let i = 0; i < thisArg.length; ++i) {
|
|
@@ -272,7 +257,6 @@
|
|
|
272
257
|
|
|
273
258
|
/**
|
|
274
259
|
* Be able to iterate over this class.
|
|
275
|
-
* @returns {Iterator}
|
|
276
260
|
*/
|
|
277
261
|
[Symbol.iterator] () {
|
|
278
262
|
const index = 0
|
|
@@ -281,17 +265,16 @@
|
|
|
281
265
|
}
|
|
282
266
|
/**
|
|
283
267
|
* Convert an array to an Arrayable.
|
|
284
|
-
* @param
|
|
285
|
-
* @param
|
|
286
|
-
* @param
|
|
287
|
-
* @returns {Arrayable}
|
|
268
|
+
* @param values An array of values which will be converted to elements in this arrayable
|
|
269
|
+
* @param elementClass The class to use for each element
|
|
270
|
+
* @param classType Provide the type of IsArrayable to use.
|
|
288
271
|
*/
|
|
289
272
|
exports.Arrayable = Arrayable
|
|
290
273
|
Arrayable.fromArray = (values = [], elementClass = _ArrayElement.ArrayElement, classType = Arrayable) => {
|
|
291
274
|
const list = new classType(elementClass)
|
|
292
275
|
return list.initialize(elementClass.fromArray(values).head)
|
|
293
276
|
}
|
|
294
|
-
}, { '../../recipes/ArrayIterator':
|
|
277
|
+
}, { '../../recipes/ArrayIterator': 17, './ArrayElement': 1 }],
|
|
295
278
|
3: [function (require, module, exports) {
|
|
296
279
|
'use strict'
|
|
297
280
|
|
|
@@ -309,10 +292,10 @@
|
|
|
309
292
|
class DoubleLinker {
|
|
310
293
|
/**
|
|
311
294
|
* Create the new DoubleLinker instance, provide the data and optionally the next and prev references.
|
|
312
|
-
* @param
|
|
313
|
-
* @param
|
|
314
|
-
* @param
|
|
315
|
-
* @param
|
|
295
|
+
* @param nodeData The settings for the new linker.
|
|
296
|
+
* @param nodeData.data The data to be stored in this linker
|
|
297
|
+
* @param nodeData.next The reference to the next linker if any
|
|
298
|
+
* @param nodeData.prev The reference to the previous linker if any
|
|
316
299
|
*/
|
|
317
300
|
constructor ({
|
|
318
301
|
data = null,
|
|
@@ -334,9 +317,8 @@
|
|
|
334
317
|
}
|
|
335
318
|
/**
|
|
336
319
|
* Make a new DoubleLinker from the data given if it is not already a valid Linker.
|
|
337
|
-
* @param
|
|
338
|
-
* @param
|
|
339
|
-
* @return {DoubleLinker}
|
|
320
|
+
* @param linker Return a valid Linker instance from given data, or even an already valid one.
|
|
321
|
+
* @param classType Provide the type of IsDoubleLinker to use.
|
|
340
322
|
*/
|
|
341
323
|
exports.DoubleLinker = DoubleLinker
|
|
342
324
|
DoubleLinker.make = (linker, classType = DoubleLinker) => {
|
|
@@ -344,9 +326,8 @@
|
|
|
344
326
|
}
|
|
345
327
|
/**
|
|
346
328
|
* Convert an array into DoubleLinker instances, return the head and tail DoubleLinkers.
|
|
347
|
-
* @param
|
|
348
|
-
* @param
|
|
349
|
-
* @returns {{head: DoubleLinker, tail: DoubleLinker}}
|
|
329
|
+
* @param values Provide an array of data that will be converted to a chain of linkers.
|
|
330
|
+
* @param classType Provide the type of IsDoubleLinker to use.
|
|
350
331
|
*/
|
|
351
332
|
DoubleLinker.fromArray = (values = [], classType = DoubleLinker) => values.reduce((references, linker) => {
|
|
352
333
|
const newLinker = classType.make(linker, classType)
|
|
@@ -366,7 +347,7 @@
|
|
|
366
347
|
head: null,
|
|
367
348
|
tail: null
|
|
368
349
|
})
|
|
369
|
-
}, { '../linked-list/Linker': 6, 'core-js/modules/esnext.iterator.constructor.js':
|
|
350
|
+
}, { '../linked-list/Linker': 6, 'core-js/modules/esnext.iterator.constructor.js': 130, 'core-js/modules/esnext.iterator.reduce.js': 133 }],
|
|
370
351
|
4: [function (require, module, exports) {
|
|
371
352
|
'use strict'
|
|
372
353
|
|
|
@@ -380,10 +361,7 @@
|
|
|
380
361
|
const _DoubleLinkerIterator = require('../../recipes/DoubleLinkerIterator')
|
|
381
362
|
const _LinkedList = require('../linked-list/LinkedList')
|
|
382
363
|
/**
|
|
383
|
-
*
|
|
384
|
-
* @author Joshua Heagle <joshuaheagle@gmail.com>
|
|
385
|
-
* @version 1.1.0
|
|
386
|
-
* @memberOf module:collect-your-stuff
|
|
364
|
+
* doubly linked list.
|
|
387
365
|
*/
|
|
388
366
|
|
|
389
367
|
/**
|
|
@@ -393,7 +371,7 @@
|
|
|
393
371
|
class DoublyLinkedList {
|
|
394
372
|
/**
|
|
395
373
|
* Create the new DoublyLinkedList instance.
|
|
396
|
-
* @param
|
|
374
|
+
* @param linkerClass The class used to wrap given data as linkers.
|
|
397
375
|
*/
|
|
398
376
|
constructor (linkerClass = _DoubleLinker.DoubleLinker) {
|
|
399
377
|
/** The class used to create this instance, so that it can be recognized as valid without an instanceof check. */
|
|
@@ -411,8 +389,7 @@
|
|
|
411
389
|
|
|
412
390
|
/**
|
|
413
391
|
* Initialize the inner list, should only run once.
|
|
414
|
-
* @param
|
|
415
|
-
* @return {DoublyLinkedList}
|
|
392
|
+
* @param initialList Give the list of double-linkers to start in this doubly linked-list.
|
|
416
393
|
*/
|
|
417
394
|
initialize (initialList) {
|
|
418
395
|
// Borrowed from LinkedList, which types its return as a LinkedList although it returns whatever list called it
|
|
@@ -421,7 +398,6 @@
|
|
|
421
398
|
|
|
422
399
|
/**
|
|
423
400
|
* Retrieve the innerList used (the list itself, not a copy).
|
|
424
|
-
* @returns {DoubleLinker}
|
|
425
401
|
*/
|
|
426
402
|
get list () {
|
|
427
403
|
return this.innerList
|
|
@@ -429,7 +405,6 @@
|
|
|
429
405
|
|
|
430
406
|
/**
|
|
431
407
|
* Retrieve the first DoubleLinker in the list.
|
|
432
|
-
* @returns {DoubleLinker}
|
|
433
408
|
*/
|
|
434
409
|
get first () {
|
|
435
410
|
let head = this.innerList
|
|
@@ -446,7 +421,6 @@
|
|
|
446
421
|
|
|
447
422
|
/**
|
|
448
423
|
* Retrieve the last DoubleLinker in the list. The end is remembered, so this does not walk the list.
|
|
449
|
-
* @returns {DoubleLinker}
|
|
450
424
|
*/
|
|
451
425
|
get last () {
|
|
452
426
|
if (this.innerList === null) {
|
|
@@ -464,7 +438,6 @@
|
|
|
464
438
|
/**
|
|
465
439
|
* Return the length of the list. It is kept up to date by the list's own methods, so this does not walk the list
|
|
466
440
|
* (call reset() after linkers were changed directly).
|
|
467
|
-
* @returns {number}
|
|
468
441
|
*/
|
|
469
442
|
get length () {
|
|
470
443
|
if (this.countCache === null) {
|
|
@@ -475,9 +448,8 @@
|
|
|
475
448
|
|
|
476
449
|
/**
|
|
477
450
|
* Insert a new node (or data) after a node.
|
|
478
|
-
* @param
|
|
479
|
-
* @param
|
|
480
|
-
* @returns {DoublyLinkedList}
|
|
451
|
+
* @param node The existing node as reference (which must be in this list, this is not checked), or null to insert at the start of the list
|
|
452
|
+
* @param newNode The new node to go after the existing node
|
|
481
453
|
*/
|
|
482
454
|
insertAfter (node, newNode) {
|
|
483
455
|
newNode = this.linkerClass.make(newNode, this.linkerClass)
|
|
@@ -514,9 +486,8 @@
|
|
|
514
486
|
|
|
515
487
|
/**
|
|
516
488
|
* Insert a new node (or data) before a node.
|
|
517
|
-
* @param
|
|
518
|
-
* @param
|
|
519
|
-
* @returns {DoublyLinkedList}
|
|
489
|
+
* @param node The existing node as reference (which must be in this list, this is not checked), or null to insert at the end of the list
|
|
490
|
+
* @param newNode The new node to go before the existing node
|
|
520
491
|
*/
|
|
521
492
|
insertBefore (node, newNode) {
|
|
522
493
|
newNode = this.linkerClass.make(newNode, this.linkerClass)
|
|
@@ -553,9 +524,8 @@
|
|
|
553
524
|
|
|
554
525
|
/**
|
|
555
526
|
* Add a node (or data) after the given (or last) node in the list.
|
|
556
|
-
* @param
|
|
557
|
-
* @param
|
|
558
|
-
* @returns {DoubleLinker}
|
|
527
|
+
* @param node The new node to add to the end of the list
|
|
528
|
+
* @param after The existing last node
|
|
559
529
|
*/
|
|
560
530
|
append (node, after = this.last) {
|
|
561
531
|
return this.insertAfter(after, node)
|
|
@@ -563,9 +533,8 @@
|
|
|
563
533
|
|
|
564
534
|
/**
|
|
565
535
|
* Add a node (or data) before the given (or first) node in the list.
|
|
566
|
-
* @param
|
|
567
|
-
* @param
|
|
568
|
-
* @returns {DoubleLinker}
|
|
536
|
+
* @param node The new node to add to the start of the list
|
|
537
|
+
* @param before The existing first node
|
|
569
538
|
*/
|
|
570
539
|
prepend (node, before = this.first) {
|
|
571
540
|
return this.insertBefore(before, node)
|
|
@@ -573,8 +542,7 @@
|
|
|
573
542
|
|
|
574
543
|
/**
|
|
575
544
|
* Remove a linker from this linked list.
|
|
576
|
-
* @param
|
|
577
|
-
* @return {DoubleLinker}
|
|
545
|
+
* @param node The node we wish to remove (and it will be returned after removal)
|
|
578
546
|
*/
|
|
579
547
|
remove (node) {
|
|
580
548
|
if (node === null || typeof node === 'undefined') {
|
|
@@ -608,7 +576,6 @@
|
|
|
608
576
|
/**
|
|
609
577
|
* Refresh all references (the head, the end and the length) by walking the list once, and return the head. The list's
|
|
610
578
|
* own methods keep these up to date, so this is only needed after linkers were changed directly.
|
|
611
|
-
* @return {DoubleLinker|null}
|
|
612
579
|
*/
|
|
613
580
|
reset () {
|
|
614
581
|
// Start at the pointer for the list
|
|
@@ -639,8 +606,7 @@
|
|
|
639
606
|
|
|
640
607
|
/**
|
|
641
608
|
* Retrieve a DoubleLinker item from this list by numeric index, otherwise return null.
|
|
642
|
-
* @param
|
|
643
|
-
* @returns {DoubleLinker|null}
|
|
609
|
+
* @param index The integer number for retrieving a node by position.
|
|
644
610
|
*/
|
|
645
611
|
item (index) {
|
|
646
612
|
if (index >= 0) {
|
|
@@ -667,9 +633,9 @@
|
|
|
667
633
|
|
|
668
634
|
/**
|
|
669
635
|
* Be able to run forEach on this DoublyLinkedList to iterate over the DoubleLinker Items.
|
|
670
|
-
* @param
|
|
671
|
-
* @param
|
|
672
|
-
* @
|
|
636
|
+
* @param callback The function to call for-each double linker
|
|
637
|
+
* @param thisArg Optional, 'this' reference
|
|
638
|
+
* @returns The list which was iterated.
|
|
673
639
|
*/
|
|
674
640
|
forEach (callback, thisArg = this) {
|
|
675
641
|
return _LinkedList.LinkedList.prototype.forEach.call(this, callback, thisArg)
|
|
@@ -677,7 +643,6 @@
|
|
|
677
643
|
|
|
678
644
|
/**
|
|
679
645
|
* Be able to iterate over this class.
|
|
680
|
-
* @returns {Iterator}
|
|
681
646
|
*/
|
|
682
647
|
[Symbol.iterator] () {
|
|
683
648
|
const current = this.first
|
|
@@ -686,16 +651,15 @@
|
|
|
686
651
|
}
|
|
687
652
|
/**
|
|
688
653
|
* Convert an array into a DoublyLinkedList instance, return the new instance.
|
|
689
|
-
* @param
|
|
690
|
-
* @param
|
|
691
|
-
* @param
|
|
692
|
-
* @returns {DoublyLinkedList}
|
|
654
|
+
* @param values An array of values which will be converted to linkers in this doubly-linked-list
|
|
655
|
+
* @param linkerClass The class to use for each linker
|
|
656
|
+
* @param classType Provide the type of IsArrayable to use.
|
|
693
657
|
*/
|
|
694
658
|
exports.DoublyLinkedList = DoublyLinkedList
|
|
695
659
|
DoublyLinkedList.fromArray = (values = [], linkerClass = _DoubleLinker.DoubleLinker, classType = DoublyLinkedList) => {
|
|
696
660
|
return _LinkedList.LinkedList.fromArray(values, linkerClass, classType)
|
|
697
661
|
}
|
|
698
|
-
}, { '../../recipes/DoubleLinkerIterator':
|
|
662
|
+
}, { '../../recipes/DoubleLinkerIterator': 18, '../linked-list/LinkedList': 5, './DoubleLinker': 3, 'core-js/modules/esnext.iterator.constructor.js': 130, 'core-js/modules/esnext.iterator.for-each.js': 131 }],
|
|
699
663
|
5: [function (require, module, exports) {
|
|
700
664
|
'use strict'
|
|
701
665
|
|
|
@@ -713,7 +677,7 @@
|
|
|
713
677
|
class LinkedList {
|
|
714
678
|
/**
|
|
715
679
|
* Create the new LinkedList instance.
|
|
716
|
-
* @param
|
|
680
|
+
* @param linkerClass The class used to wrap given data as linkers.
|
|
717
681
|
*/
|
|
718
682
|
constructor (linkerClass = _Linker.Linker) {
|
|
719
683
|
/** The class used to create this instance, so that it can be recognized as valid without an instanceof check. */
|
|
@@ -731,8 +695,7 @@
|
|
|
731
695
|
|
|
732
696
|
/**
|
|
733
697
|
* Initialize the inner list, should only run once.
|
|
734
|
-
* @param
|
|
735
|
-
* @return {LinkedList}
|
|
698
|
+
* @param initialList Give the list of linkers to start in this linked-list.
|
|
736
699
|
*/
|
|
737
700
|
initialize (initialList) {
|
|
738
701
|
// Borrowed from Arrayable, which types its return as an Arrayable although it returns whatever list called it
|
|
@@ -741,7 +704,6 @@
|
|
|
741
704
|
|
|
742
705
|
/**
|
|
743
706
|
* Retrieve the innerList used (the list itself, not a copy).
|
|
744
|
-
* @returns {Linker}
|
|
745
707
|
*/
|
|
746
708
|
get list () {
|
|
747
709
|
return this.innerList
|
|
@@ -749,7 +711,6 @@
|
|
|
749
711
|
|
|
750
712
|
/**
|
|
751
713
|
* Retrieve the first Linker in the list.
|
|
752
|
-
* @returns {Linker}
|
|
753
714
|
*/
|
|
754
715
|
get first () {
|
|
755
716
|
return this.innerList
|
|
@@ -757,7 +718,6 @@
|
|
|
757
718
|
|
|
758
719
|
/**
|
|
759
720
|
* Retrieve the last Linker in the list. The end is remembered, so this does not walk the list.
|
|
760
|
-
* @returns {Linker}
|
|
761
721
|
*/
|
|
762
722
|
get last () {
|
|
763
723
|
if (this.innerList === null) {
|
|
@@ -775,7 +735,6 @@
|
|
|
775
735
|
/**
|
|
776
736
|
* Return the length of the list. It is kept up to date by the list's own methods, so this does not walk the list
|
|
777
737
|
* (call reset() after linkers were changed directly).
|
|
778
|
-
* @returns {number}
|
|
779
738
|
*/
|
|
780
739
|
get length () {
|
|
781
740
|
if (this.countCache === null) {
|
|
@@ -786,9 +745,8 @@
|
|
|
786
745
|
|
|
787
746
|
/**
|
|
788
747
|
* Insert a new node (or data) after a node.
|
|
789
|
-
* @param
|
|
790
|
-
* @param
|
|
791
|
-
* @returns {LinkedList}
|
|
748
|
+
* @param node The existing node as reference, or null to insert at the start of the list
|
|
749
|
+
* @param newNode The new node to go after the existing node
|
|
792
750
|
*/
|
|
793
751
|
insertAfter (node, newNode) {
|
|
794
752
|
newNode = this.linkerClass.make(newNode, this.linkerClass)
|
|
@@ -814,9 +772,8 @@
|
|
|
814
772
|
|
|
815
773
|
/**
|
|
816
774
|
* Insert a new node (or data) before a node.
|
|
817
|
-
* @param
|
|
818
|
-
* @param
|
|
819
|
-
* @returns {LinkedList}
|
|
775
|
+
* @param node The existing node as reference, or null to insert at the end of the list
|
|
776
|
+
* @param newNode The new node to go before the existing node
|
|
820
777
|
* @throws {Error} When the reference node is not in this list
|
|
821
778
|
*/
|
|
822
779
|
insertBefore (node, newNode) {
|
|
@@ -856,9 +813,8 @@
|
|
|
856
813
|
|
|
857
814
|
/**
|
|
858
815
|
* Add a node (or data) after the given (or last) node in the list.
|
|
859
|
-
* @param
|
|
860
|
-
* @param
|
|
861
|
-
* @returns {Linker}
|
|
816
|
+
* @param node The new node to add to the end of the list
|
|
817
|
+
* @param after The existing last node
|
|
862
818
|
*/
|
|
863
819
|
append (node, after = this.last) {
|
|
864
820
|
return this.insertAfter(after, node)
|
|
@@ -866,9 +822,8 @@
|
|
|
866
822
|
|
|
867
823
|
/**
|
|
868
824
|
* Add a node (or data) before the given (or first) node in the list.
|
|
869
|
-
* @param
|
|
870
|
-
* @param
|
|
871
|
-
* @returns {Linker}
|
|
825
|
+
* @param node The new node to add to the start of the list
|
|
826
|
+
* @param before The existing first node
|
|
872
827
|
*/
|
|
873
828
|
prepend (node, before = this.first) {
|
|
874
829
|
return this.insertBefore(before, node)
|
|
@@ -876,8 +831,8 @@
|
|
|
876
831
|
|
|
877
832
|
/**
|
|
878
833
|
* Remove a linker from this linked list.
|
|
879
|
-
* @param
|
|
880
|
-
* @
|
|
834
|
+
* @param node The node we wish to remove (and it will be returned after removal)
|
|
835
|
+
* @returns The removed node, or null when it was not in this list (nothing is removed)
|
|
881
836
|
*/
|
|
882
837
|
remove (node) {
|
|
883
838
|
if (node === null || typeof node === 'undefined') {
|
|
@@ -913,7 +868,7 @@
|
|
|
913
868
|
/**
|
|
914
869
|
* Refresh the remembered end and length of the list by walking it once. The list's own methods keep these up to date,
|
|
915
870
|
* so this is only needed after linkers were changed directly (for example by setting next on a linker).
|
|
916
|
-
* @
|
|
871
|
+
* @returns The first linker of the list
|
|
917
872
|
*/
|
|
918
873
|
reset () {
|
|
919
874
|
let count = 0
|
|
@@ -931,8 +886,7 @@
|
|
|
931
886
|
|
|
932
887
|
/**
|
|
933
888
|
* Retrieve a Linker item from this list by numeric index, otherwise return null.
|
|
934
|
-
* @param
|
|
935
|
-
* @returns {Linker|null}
|
|
889
|
+
* @param index The integer number for retrieving a node by position.
|
|
936
890
|
*/
|
|
937
891
|
item (index) {
|
|
938
892
|
if (index >= 0) {
|
|
@@ -958,9 +912,8 @@
|
|
|
958
912
|
|
|
959
913
|
/**
|
|
960
914
|
* Be able to run forEach on this LinkedList to iterate over the linkers.
|
|
961
|
-
* @param
|
|
962
|
-
* @param
|
|
963
|
-
* @returns {LinkedList}
|
|
915
|
+
* @param callback The function to call for-each linker
|
|
916
|
+
* @param thisArg Optional, 'this' reference
|
|
964
917
|
*/
|
|
965
918
|
forEach (callback, thisArg = this) {
|
|
966
919
|
let index = 0
|
|
@@ -975,7 +928,6 @@
|
|
|
975
928
|
|
|
976
929
|
/**
|
|
977
930
|
* Be able to iterate over this class.
|
|
978
|
-
* @returns {Iterator}
|
|
979
931
|
*/
|
|
980
932
|
[Symbol.iterator] () {
|
|
981
933
|
return new _LinkerIterator.LinkerIterator(this.first)
|
|
@@ -983,17 +935,16 @@
|
|
|
983
935
|
}
|
|
984
936
|
/**
|
|
985
937
|
* Convert an array to a LinkedList.
|
|
986
|
-
* @param
|
|
987
|
-
* @param
|
|
988
|
-
* @param
|
|
989
|
-
* @returns {LinkedList}
|
|
938
|
+
* @param values An array of values which will be converted to linkers in this linked-list
|
|
939
|
+
* @param linkerClass The class to use for each linker
|
|
940
|
+
* @param classType Provide the type of IsArrayable to use.
|
|
990
941
|
*/
|
|
991
942
|
exports.LinkedList = LinkedList
|
|
992
943
|
LinkedList.fromArray = (values = [], linkerClass = _Linker.Linker, classType = LinkedList) => {
|
|
993
944
|
const list = new classType(linkerClass)
|
|
994
945
|
return list.initialize(linkerClass.fromArray(values).head)
|
|
995
946
|
}
|
|
996
|
-
}, { '../../recipes/LinkerIterator':
|
|
947
|
+
}, { '../../recipes/LinkerIterator': 19, '../arrayable/Arrayable': 2, './Linker': 6 }],
|
|
997
948
|
6: [function (require, module, exports) {
|
|
998
949
|
'use strict'
|
|
999
950
|
|
|
@@ -1011,9 +962,9 @@
|
|
|
1011
962
|
class Linker {
|
|
1012
963
|
/**
|
|
1013
964
|
* Create the new Linker instance, provide the data and optionally give the next Linker.
|
|
1014
|
-
* @param
|
|
1015
|
-
* @param
|
|
1016
|
-
* @param
|
|
965
|
+
* @param nodeData The settings for the new linker.
|
|
966
|
+
* @param nodeData.data The data to be stored in this linker
|
|
967
|
+
* @param nodeData.next The reference to the next linker if any
|
|
1017
968
|
*/
|
|
1018
969
|
constructor ({
|
|
1019
970
|
data = null,
|
|
@@ -1031,9 +982,8 @@
|
|
|
1031
982
|
}
|
|
1032
983
|
/**
|
|
1033
984
|
* Make a new Linker from the data given if it is not already a valid Linker.
|
|
1034
|
-
* @param
|
|
1035
|
-
* @param
|
|
1036
|
-
* @return {Linker}
|
|
985
|
+
* @param linker Return a valid Linker instance from given data, or even an already valid one.
|
|
986
|
+
* @param classType Provide the type of IsLinker to use.
|
|
1037
987
|
*/
|
|
1038
988
|
exports.Linker = Linker
|
|
1039
989
|
Linker.make = (linker, classType = Linker) => {
|
|
@@ -1058,9 +1008,8 @@
|
|
|
1058
1008
|
}
|
|
1059
1009
|
/**
|
|
1060
1010
|
* Convert an array into Linker instances, return the head and tail Linkers.
|
|
1061
|
-
* @param
|
|
1062
|
-
* @param
|
|
1063
|
-
* @returns {{head: Linker, tail: Linker}}
|
|
1011
|
+
* @param values Provide an array of data that will be converted to a chain of linkers.
|
|
1012
|
+
* @param classType Provide the type of IsLinker to use.
|
|
1064
1013
|
*/
|
|
1065
1014
|
Linker.fromArray = (values = [], classType = Linker) => values.reduce((references, linker) => {
|
|
1066
1015
|
const newLinker = classType.make(linker, classType)
|
|
@@ -1079,7 +1028,7 @@
|
|
|
1079
1028
|
head: null,
|
|
1080
1029
|
tail: null
|
|
1081
1030
|
})
|
|
1082
|
-
}, { '../arrayable/ArrayElement': 1, 'core-js/modules/esnext.iterator.constructor.js':
|
|
1031
|
+
}, { '../arrayable/ArrayElement': 1, 'core-js/modules/esnext.iterator.constructor.js': 130, 'core-js/modules/esnext.iterator.reduce.js': 133 }],
|
|
1083
1032
|
7: [function (require, module, exports) {
|
|
1084
1033
|
'use strict'
|
|
1085
1034
|
|
|
@@ -1093,17 +1042,13 @@
|
|
|
1093
1042
|
const _TreeLinkerIterator = require('../../recipes/TreeLinkerIterator')
|
|
1094
1043
|
const _DoublyLinkedList = require('../doubly-linked-list/DoublyLinkedList')
|
|
1095
1044
|
/**
|
|
1096
|
-
*
|
|
1097
|
-
* @author Joshua Heagle <joshuaheagle@gmail.com>
|
|
1098
|
-
* @version 1.1.0
|
|
1099
|
-
* @memberOf module:collect-your-stuff
|
|
1045
|
+
* doubly linked tree list.
|
|
1100
1046
|
*/
|
|
1101
1047
|
|
|
1102
1048
|
/**
|
|
1103
1049
|
* Use one of the accessors of DoublyLinkedList (which keeps track of the head, tail and length) for a LinkedTreeList.
|
|
1104
|
-
* @param
|
|
1105
|
-
* @param
|
|
1106
|
-
* @returns {*}
|
|
1050
|
+
* @param name The accessor to use
|
|
1051
|
+
* @param list The list to use it on
|
|
1107
1052
|
*/
|
|
1108
1053
|
const borrowedGetter = (name, list) => Object.getOwnPropertyDescriptor(_DoublyLinkedList.DoublyLinkedList.prototype, name).get.call(list)
|
|
1109
1054
|
/**
|
|
@@ -1113,7 +1058,7 @@
|
|
|
1113
1058
|
class LinkedTreeList {
|
|
1114
1059
|
/**
|
|
1115
1060
|
* Create the new LinkedTreeList instance, configure the list class.
|
|
1116
|
-
* @param
|
|
1061
|
+
* @param linkerClass The class used to wrap given data as tree linkers.
|
|
1117
1062
|
*/
|
|
1118
1063
|
constructor (linkerClass = _TreeLinker.TreeLinker) {
|
|
1119
1064
|
/** The class used to create this instance, so that it can be recognized as valid without an instanceof check. */
|
|
@@ -1133,8 +1078,7 @@
|
|
|
1133
1078
|
|
|
1134
1079
|
/**
|
|
1135
1080
|
* Initialize the inner list, should only run once.
|
|
1136
|
-
* @param
|
|
1137
|
-
* @return {LinkedTreeList}
|
|
1081
|
+
* @param initialList Give the list of tree-linkers to start in this linked-tree-list.
|
|
1138
1082
|
*/
|
|
1139
1083
|
initialize (initialList) {
|
|
1140
1084
|
if (this.initialized) {
|
|
@@ -1148,7 +1092,6 @@
|
|
|
1148
1092
|
|
|
1149
1093
|
/**
|
|
1150
1094
|
* Retrieve the innerList used (the list itself, not a copy).
|
|
1151
|
-
* @returns {TreeLinker}
|
|
1152
1095
|
*/
|
|
1153
1096
|
get list () {
|
|
1154
1097
|
return this.innerList
|
|
@@ -1156,7 +1099,6 @@
|
|
|
1156
1099
|
|
|
1157
1100
|
/**
|
|
1158
1101
|
* Retrieve the first TreeLinker in the list.
|
|
1159
|
-
* @returns {TreeLinker}
|
|
1160
1102
|
*/
|
|
1161
1103
|
get first () {
|
|
1162
1104
|
return borrowedGetter('first', this)
|
|
@@ -1164,7 +1106,6 @@
|
|
|
1164
1106
|
|
|
1165
1107
|
/**
|
|
1166
1108
|
* Retrieve the last TreeLinker in the list. The end is remembered, so this does not walk the list.
|
|
1167
|
-
* @returns {TreeLinker}
|
|
1168
1109
|
*/
|
|
1169
1110
|
get last () {
|
|
1170
1111
|
return borrowedGetter('last', this)
|
|
@@ -1173,7 +1114,6 @@
|
|
|
1173
1114
|
/**
|
|
1174
1115
|
* Return the length of the list. It is kept up to date by the list's own methods, so this does not walk the list
|
|
1175
1116
|
* (call reset() after linkers were changed directly).
|
|
1176
|
-
* @returns {number}
|
|
1177
1117
|
*/
|
|
1178
1118
|
get length () {
|
|
1179
1119
|
return borrowedGetter('length', this)
|
|
@@ -1182,7 +1122,6 @@
|
|
|
1182
1122
|
/**
|
|
1183
1123
|
* Get the parent of this tree list: the node these linkers are the children of (remembered even while the list is
|
|
1184
1124
|
* empty), or null for the linkers at the top of a tree.
|
|
1185
|
-
* @return {TreeLinker|null}
|
|
1186
1125
|
*/
|
|
1187
1126
|
get parent () {
|
|
1188
1127
|
if (this.ownerNode !== undefined) {
|
|
@@ -1195,7 +1134,7 @@
|
|
|
1195
1134
|
/**
|
|
1196
1135
|
* Set the parent of this tree list: every linker in it gets the node as its parent, and the node gets this list as its
|
|
1197
1136
|
* children. Linkers added to the list later get this parent too.
|
|
1198
|
-
* @param
|
|
1137
|
+
* @param parent The new node to use as the parent for this group of children
|
|
1199
1138
|
*/
|
|
1200
1139
|
set parent (parent) {
|
|
1201
1140
|
this.ownerNode = parent
|
|
@@ -1211,7 +1150,6 @@
|
|
|
1211
1150
|
|
|
1212
1151
|
/**
|
|
1213
1152
|
* Return the root parent of the entire tree.
|
|
1214
|
-
* @return {TreeLinker}
|
|
1215
1153
|
*/
|
|
1216
1154
|
get rootParent () {
|
|
1217
1155
|
let current = this.first
|
|
@@ -1228,8 +1166,8 @@
|
|
|
1228
1166
|
|
|
1229
1167
|
/**
|
|
1230
1168
|
* Set the children on a parent item.
|
|
1231
|
-
* @param
|
|
1232
|
-
* @param
|
|
1169
|
+
* @param item The TreeLinker node (one of the linkers of this list) that will be the parent of the children
|
|
1170
|
+
* @param children The LinkedTreeList which has the child nodes to use, or null to remove the children of the item
|
|
1233
1171
|
* @throws {Error} When the item is not one of the linkers of this list
|
|
1234
1172
|
*/
|
|
1235
1173
|
setChildren (item, children = null) {
|
|
@@ -1252,8 +1190,7 @@
|
|
|
1252
1190
|
|
|
1253
1191
|
/**
|
|
1254
1192
|
* Make a linker of the given node (or data) and make this list's parent its parent.
|
|
1255
|
-
* @param
|
|
1256
|
-
* @returns {TreeLinker}
|
|
1193
|
+
* @param newNode The node (or data) which is being added to this list
|
|
1257
1194
|
*/
|
|
1258
1195
|
adopt (newNode) {
|
|
1259
1196
|
const linker = this.linkerClass.make(newNode, this.linkerClass)
|
|
@@ -1263,9 +1200,8 @@
|
|
|
1263
1200
|
|
|
1264
1201
|
/**
|
|
1265
1202
|
* Insert a new node (or data) after a node. The new node gets the parent of this list.
|
|
1266
|
-
* @param
|
|
1267
|
-
* @param
|
|
1268
|
-
* @returns {LinkedTreeList}
|
|
1203
|
+
* @param node The existing node as reference, or null to insert at the start of the list
|
|
1204
|
+
* @param newNode The new node to go after the existing node
|
|
1269
1205
|
*/
|
|
1270
1206
|
insertAfter (node, newNode) {
|
|
1271
1207
|
return _DoublyLinkedList.DoublyLinkedList.prototype.insertAfter.call(this, node, this.adopt(newNode))
|
|
@@ -1273,9 +1209,8 @@
|
|
|
1273
1209
|
|
|
1274
1210
|
/**
|
|
1275
1211
|
* Insert a new node (or data) before a node. The new node gets the parent of this list.
|
|
1276
|
-
* @param
|
|
1277
|
-
* @param
|
|
1278
|
-
* @returns {LinkedTreeList}
|
|
1212
|
+
* @param node The existing node as reference, or null to insert at the end of the list
|
|
1213
|
+
* @param newNode The new node to go before the existing node
|
|
1279
1214
|
*/
|
|
1280
1215
|
insertBefore (node, newNode) {
|
|
1281
1216
|
return _DoublyLinkedList.DoublyLinkedList.prototype.insertBefore.call(this, node, this.adopt(newNode))
|
|
@@ -1283,9 +1218,8 @@
|
|
|
1283
1218
|
|
|
1284
1219
|
/**
|
|
1285
1220
|
* Add a node (or data) after the given (or last) node in the list.
|
|
1286
|
-
* @param
|
|
1287
|
-
* @param
|
|
1288
|
-
* @returns {TreeLinker}
|
|
1221
|
+
* @param node The new node to add to the end of the list
|
|
1222
|
+
* @param after The existing last node
|
|
1289
1223
|
*/
|
|
1290
1224
|
append (node, after = this.last) {
|
|
1291
1225
|
return _DoublyLinkedList.DoublyLinkedList.prototype.append.call(this, node, after)
|
|
@@ -1293,9 +1227,8 @@
|
|
|
1293
1227
|
|
|
1294
1228
|
/**
|
|
1295
1229
|
* Add a node (or data) before the given (or first) node in the list.
|
|
1296
|
-
* @param
|
|
1297
|
-
* @param
|
|
1298
|
-
* @returns {TreeLinker}
|
|
1230
|
+
* @param node The new node to add to the start of the list
|
|
1231
|
+
* @param before The existing first node
|
|
1299
1232
|
*/
|
|
1300
1233
|
prepend (node, before = this.first) {
|
|
1301
1234
|
return _DoublyLinkedList.DoublyLinkedList.prototype.prepend.call(this, node, before)
|
|
@@ -1303,8 +1236,8 @@
|
|
|
1303
1236
|
|
|
1304
1237
|
/**
|
|
1305
1238
|
* Remove a linker from this linked list. The removed node no longer has a parent.
|
|
1306
|
-
* @param
|
|
1307
|
-
* @
|
|
1239
|
+
* @param node The node we wish to remove (and it will be returned after removal)
|
|
1240
|
+
* @returns The removed node, or null when there was nothing to remove
|
|
1308
1241
|
*/
|
|
1309
1242
|
remove (node) {
|
|
1310
1243
|
const owner = this.parent
|
|
@@ -1320,7 +1253,6 @@
|
|
|
1320
1253
|
/**
|
|
1321
1254
|
* Refresh all references (the head, the end and the length) by walking the list once, and return the head. The
|
|
1322
1255
|
* list's own methods keep these up to date, so this is only needed after linkers were changed directly.
|
|
1323
|
-
* @return {TreeLinker}
|
|
1324
1256
|
*/
|
|
1325
1257
|
reset () {
|
|
1326
1258
|
return _DoublyLinkedList.DoublyLinkedList.prototype.reset.call(this)
|
|
@@ -1328,8 +1260,7 @@
|
|
|
1328
1260
|
|
|
1329
1261
|
/**
|
|
1330
1262
|
* Retrieve a TreeLinker item from this list by numeric index, otherwise return null.
|
|
1331
|
-
* @param
|
|
1332
|
-
* @returns {TreeLinker|null}
|
|
1263
|
+
* @param index The integer number for retrieving a node by position.
|
|
1333
1264
|
*/
|
|
1334
1265
|
item (index) {
|
|
1335
1266
|
return _DoublyLinkedList.DoublyLinkedList.prototype.item.call(this, index)
|
|
@@ -1337,9 +1268,9 @@
|
|
|
1337
1268
|
|
|
1338
1269
|
/**
|
|
1339
1270
|
* Be able to run forEach on this LinkedTreeList to iterate over the TreeLinker Items.
|
|
1340
|
-
* @param
|
|
1341
|
-
* @param
|
|
1342
|
-
* @
|
|
1271
|
+
* @param callback The function to call for-each tree node
|
|
1272
|
+
* @param thisArg Optional, 'this' reference
|
|
1273
|
+
* @returns The list which was iterated.
|
|
1343
1274
|
*/
|
|
1344
1275
|
forEach (callback, thisArg = this) {
|
|
1345
1276
|
let index = 0
|
|
@@ -1355,7 +1286,6 @@
|
|
|
1355
1286
|
/**
|
|
1356
1287
|
* Be able to iterate over this class: the linkers of this list and everything below them (left-first). It stays within
|
|
1357
1288
|
* this list (it does not start at, or climb up to, the parents), use the parseTree service to parse a whole tree.
|
|
1358
|
-
* @returns {Iterator}
|
|
1359
1289
|
*/
|
|
1360
1290
|
[Symbol.iterator] () {
|
|
1361
1291
|
// The linkers of this list and everything below them, left-first. It stays within this list: it does not start at,
|
|
@@ -1365,17 +1295,16 @@
|
|
|
1365
1295
|
}
|
|
1366
1296
|
/**
|
|
1367
1297
|
* Convert an array into a LinkedTreeList instance, return the new instance.
|
|
1368
|
-
* @param
|
|
1369
|
-
* @param
|
|
1370
|
-
* @param
|
|
1371
|
-
* @returns {LinkedTreeList}
|
|
1298
|
+
* @param values An array of values which will be converted to nodes in this tree-list
|
|
1299
|
+
* @param linkerClass The class to use for each node
|
|
1300
|
+
* @param classType Provide the type of IsArrayable to use.
|
|
1372
1301
|
*/
|
|
1373
1302
|
exports.LinkedTreeList = LinkedTreeList
|
|
1374
1303
|
LinkedTreeList.fromArray = (values = [], linkerClass = _TreeLinker.TreeLinker, classType = LinkedTreeList) => {
|
|
1375
1304
|
const list = new classType(linkerClass)
|
|
1376
1305
|
return list.initialize(linkerClass.fromArray(values).head)
|
|
1377
1306
|
}
|
|
1378
|
-
}, { '../../recipes/TreeLinkerIterator':
|
|
1307
|
+
}, { '../../recipes/TreeLinkerIterator': 21, '../doubly-linked-list/DoublyLinkedList': 4, './TreeLinker': 8, 'core-js/modules/esnext.iterator.constructor.js': 130, 'core-js/modules/esnext.iterator.for-each.js': 131 }],
|
|
1379
1308
|
8: [function (require, module, exports) {
|
|
1380
1309
|
'use strict'
|
|
1381
1310
|
|
|
@@ -1394,13 +1323,13 @@
|
|
|
1394
1323
|
class TreeLinker {
|
|
1395
1324
|
/**
|
|
1396
1325
|
* Create the new TreeLinker instance, provide the data and optionally set references for next, prev, parent, or children.
|
|
1397
|
-
* @param
|
|
1398
|
-
* @param
|
|
1399
|
-
* @param
|
|
1400
|
-
* @param
|
|
1401
|
-
* @param
|
|
1402
|
-
* @param
|
|
1403
|
-
* @param
|
|
1326
|
+
* @param settings The settings for the new tree node.
|
|
1327
|
+
* @param settings.data The data to be stored in this tree node
|
|
1328
|
+
* @param settings.next The reference to the next linker if any
|
|
1329
|
+
* @param settings.prev The reference to the previous linker if any
|
|
1330
|
+
* @param settings.children The references to child linkers if any
|
|
1331
|
+
* @param settings.parent The reference to a parent linker if any
|
|
1332
|
+
* @param listClass Give the type of list to use for storing the children
|
|
1404
1333
|
*/
|
|
1405
1334
|
constructor ({
|
|
1406
1335
|
data = null,
|
|
@@ -1433,9 +1362,8 @@
|
|
|
1433
1362
|
* Create the children for this tree from an array. Each child becomes a tree linker with this node as its parent: an
|
|
1434
1363
|
* existing linker is kept as it is, an object with a data property gives the settings of the linker, and anything
|
|
1435
1364
|
* else is the data of the linker.
|
|
1436
|
-
* @param
|
|
1437
|
-
* @param
|
|
1438
|
-
* @return {LinkedTreeList|null}
|
|
1365
|
+
* @param children Provide an array of data / linker references to be children of this tree node.
|
|
1366
|
+
* @param listClass Give the type of list to use for storing the children
|
|
1439
1367
|
*/
|
|
1440
1368
|
childrenFromArray (children = null, listClass = _LinkedTreeList.LinkedTreeList) {
|
|
1441
1369
|
if (children === null) {
|
|
@@ -1456,9 +1384,8 @@
|
|
|
1456
1384
|
}
|
|
1457
1385
|
/**
|
|
1458
1386
|
* Make a new DoubleLinker from the data given if it is not already a valid Linker.
|
|
1459
|
-
* @param
|
|
1460
|
-
* @param
|
|
1461
|
-
* @return {TreeLinker}
|
|
1387
|
+
* @param linker Return a valid TreeLinker instance from given data, or even an already valid one.
|
|
1388
|
+
* @param classType Provide the type of IsTreeNode to use.
|
|
1462
1389
|
*/
|
|
1463
1390
|
exports.TreeLinker = TreeLinker
|
|
1464
1391
|
TreeLinker.make = (linker, classType = TreeLinker) => {
|
|
@@ -1466,12 +1393,11 @@
|
|
|
1466
1393
|
}
|
|
1467
1394
|
/**
|
|
1468
1395
|
* Convert an array into DoubleLinker instances, return the head and tail DoubleLinkers.
|
|
1469
|
-
* @param
|
|
1470
|
-
* @param
|
|
1471
|
-
* @returns {{head: TreeLinker, tail: TreeLinker}}
|
|
1396
|
+
* @param values Provide an array of data that will be converted to a chain of tree-linkers.
|
|
1397
|
+
* @param classType Provide the type of IsTreeNode to use.
|
|
1472
1398
|
*/
|
|
1473
1399
|
TreeLinker.fromArray = (values = [], classType = TreeLinker) => _DoubleLinker.DoubleLinker.fromArray(values, classType)
|
|
1474
|
-
}, { '../doubly-linked-list/DoubleLinker': 3, './LinkedTreeList': 7, 'core-js/modules/esnext.iterator.constructor.js':
|
|
1400
|
+
}, { '../doubly-linked-list/DoubleLinker': 3, './LinkedTreeList': 7, 'core-js/modules/esnext.iterator.constructor.js': 130, 'core-js/modules/esnext.iterator.map.js': 132 }],
|
|
1475
1401
|
9: [function (require, module, exports) {
|
|
1476
1402
|
'use strict'
|
|
1477
1403
|
|
|
@@ -1484,10 +1410,7 @@
|
|
|
1484
1410
|
const _LinkedList = require('../linked-list/LinkedList')
|
|
1485
1411
|
const _Linker = require('../linked-list/Linker')
|
|
1486
1412
|
/**
|
|
1487
|
-
*
|
|
1488
|
-
* @author Joshua Heagle <joshuaheagle@gmail.com>
|
|
1489
|
-
* @version 2.0.0
|
|
1490
|
-
* @memberOf module:collect-your-stuff
|
|
1413
|
+
* queue
|
|
1491
1414
|
*/
|
|
1492
1415
|
|
|
1493
1416
|
/**
|
|
@@ -1498,9 +1421,9 @@
|
|
|
1498
1421
|
class Queue {
|
|
1499
1422
|
/**
|
|
1500
1423
|
* Instantiate the queue, optionally with a list of items to start from.
|
|
1501
|
-
* @param
|
|
1502
|
-
* @param
|
|
1503
|
-
* @param
|
|
1424
|
+
* @param queuedList The list of linkers to start in this queue (the first is the front)
|
|
1425
|
+
* @param listClass The type of list to create when no queued list is given
|
|
1426
|
+
* @param linkerClass The class used to hold each queued item
|
|
1504
1427
|
*/
|
|
1505
1428
|
constructor (queuedList = null, listClass = _LinkedList.LinkedList, linkerClass = _Linker.Linker) {
|
|
1506
1429
|
this.linkerClass = linkerClass
|
|
@@ -1509,7 +1432,7 @@
|
|
|
1509
1432
|
|
|
1510
1433
|
/**
|
|
1511
1434
|
* Take the item from the front of the queue.
|
|
1512
|
-
* @
|
|
1435
|
+
* @returns The item, or null when the queue is empty
|
|
1513
1436
|
*/
|
|
1514
1437
|
dequeue () {
|
|
1515
1438
|
const front = this.queuedList.first
|
|
@@ -1522,7 +1445,6 @@
|
|
|
1522
1445
|
|
|
1523
1446
|
/**
|
|
1524
1447
|
* Check whether the queue has no items.
|
|
1525
|
-
* @return {boolean}
|
|
1526
1448
|
*/
|
|
1527
1449
|
empty () {
|
|
1528
1450
|
return this.size() <= 0
|
|
@@ -1530,8 +1452,8 @@
|
|
|
1530
1452
|
|
|
1531
1453
|
/**
|
|
1532
1454
|
* Add an item to the back of the queue.
|
|
1533
|
-
* @param
|
|
1534
|
-
* @
|
|
1455
|
+
* @param data The item to add
|
|
1456
|
+
* @returns This queue, so that adding can be chained
|
|
1535
1457
|
*/
|
|
1536
1458
|
enqueue (data) {
|
|
1537
1459
|
// The item is wrapped here rather than left to the list, since the list treats objects that look like a linker's
|
|
@@ -1544,7 +1466,7 @@
|
|
|
1544
1466
|
|
|
1545
1467
|
/**
|
|
1546
1468
|
* Look at the item at the front of the queue, without removing it.
|
|
1547
|
-
* @
|
|
1469
|
+
* @returns The item, or null when the queue is empty
|
|
1548
1470
|
*/
|
|
1549
1471
|
peek () {
|
|
1550
1472
|
const front = this.queuedList.first
|
|
@@ -1553,7 +1475,6 @@
|
|
|
1553
1475
|
|
|
1554
1476
|
/**
|
|
1555
1477
|
* Count the items in the queue.
|
|
1556
|
-
* @return {number}
|
|
1557
1478
|
*/
|
|
1558
1479
|
size () {
|
|
1559
1480
|
return this.queuedList.length
|
|
@@ -1561,7 +1482,6 @@
|
|
|
1561
1482
|
|
|
1562
1483
|
/**
|
|
1563
1484
|
* Iterate over the items from the front of the queue to the back, without removing them.
|
|
1564
|
-
* @return {Iterator}
|
|
1565
1485
|
*/
|
|
1566
1486
|
[Symbol.iterator] () {
|
|
1567
1487
|
const linkers = this.queuedList[Symbol.iterator]()
|
|
@@ -1583,10 +1503,9 @@
|
|
|
1583
1503
|
}
|
|
1584
1504
|
/**
|
|
1585
1505
|
* Convert an array to a Queue, the first value is at the front.
|
|
1586
|
-
* @param
|
|
1587
|
-
* @param
|
|
1588
|
-
* @param
|
|
1589
|
-
* @returns {Queue}
|
|
1506
|
+
* @param values The items to queue
|
|
1507
|
+
* @param listClass The type of list used to store the items
|
|
1508
|
+
* @param linkerClass The class used to hold each queued item
|
|
1590
1509
|
*/
|
|
1591
1510
|
exports.Queue = Queue
|
|
1592
1511
|
Queue.fromArray = (values = [], listClass = _LinkedList.LinkedList, linkerClass = _Linker.Linker) => {
|
|
@@ -1594,7 +1513,7 @@
|
|
|
1594
1513
|
values.forEach(value => queue.enqueue(value))
|
|
1595
1514
|
return queue
|
|
1596
1515
|
}
|
|
1597
|
-
}, { '../linked-list/LinkedList': 5, '../linked-list/Linker': 6, 'core-js/modules/esnext.iterator.constructor.js':
|
|
1516
|
+
}, { '../linked-list/LinkedList': 5, '../linked-list/Linker': 6, 'core-js/modules/esnext.iterator.constructor.js': 130, 'core-js/modules/esnext.iterator.for-each.js': 131 }],
|
|
1598
1517
|
10: [function (require, module, exports) {
|
|
1599
1518
|
'use strict'
|
|
1600
1519
|
|
|
@@ -1610,10 +1529,10 @@
|
|
|
1610
1529
|
class Queueable {
|
|
1611
1530
|
/**
|
|
1612
1531
|
* Create a queueable item that can be used in a queue.
|
|
1613
|
-
* @param
|
|
1614
|
-
* @param
|
|
1615
|
-
* @param
|
|
1616
|
-
* @param
|
|
1532
|
+
* @param queueableData The settings for the new queueable.
|
|
1533
|
+
* @param queueableData.task The data to be stored in this queueable
|
|
1534
|
+
* @param queueableData.next The reference to the next queueable if any
|
|
1535
|
+
* @param queueableData.ready Indicate if the queueable is ready to run
|
|
1617
1536
|
*/
|
|
1618
1537
|
constructor ({
|
|
1619
1538
|
task = null,
|
|
@@ -1640,7 +1559,6 @@
|
|
|
1640
1559
|
|
|
1641
1560
|
/**
|
|
1642
1561
|
* Check ready state.
|
|
1643
|
-
* @return {boolean}
|
|
1644
1562
|
*/
|
|
1645
1563
|
get isReady () {
|
|
1646
1564
|
return typeof this.ready === 'function' ? this.ready() : this.ready
|
|
@@ -1648,7 +1566,6 @@
|
|
|
1648
1566
|
|
|
1649
1567
|
/**
|
|
1650
1568
|
* Retrieve the data which should be formed as a task.
|
|
1651
|
-
* @return {*}
|
|
1652
1569
|
*/
|
|
1653
1570
|
get task () {
|
|
1654
1571
|
if (typeof this.data === 'function') {
|
|
@@ -1663,11 +1580,10 @@
|
|
|
1663
1580
|
|
|
1664
1581
|
/**
|
|
1665
1582
|
* Set this queueable as completed.
|
|
1666
|
-
* @param
|
|
1667
|
-
* @param
|
|
1668
|
-
* @param
|
|
1669
|
-
* @param
|
|
1670
|
-
* @return {completeResponse}
|
|
1583
|
+
* @param completeResponse The result to report for the task.
|
|
1584
|
+
* @param completeResponse.success Indicate when the task failed (use false) or give a success message
|
|
1585
|
+
* @param completeResponse.error Indicate a task was error-free (use false) or give an error message
|
|
1586
|
+
* @param completeResponse.context Provide additional data in the response
|
|
1671
1587
|
*/
|
|
1672
1588
|
markCompleted ({
|
|
1673
1589
|
success = true,
|
|
@@ -1685,7 +1601,6 @@
|
|
|
1685
1601
|
|
|
1686
1602
|
/**
|
|
1687
1603
|
* Intend to run the queued task when it is ready. If ready, mark this task as running and run the task.
|
|
1688
|
-
* @return {completeResponse}
|
|
1689
1604
|
*/
|
|
1690
1605
|
run () {
|
|
1691
1606
|
if (!this.isReady) {
|
|
@@ -1711,9 +1626,8 @@
|
|
|
1711
1626
|
}
|
|
1712
1627
|
/**
|
|
1713
1628
|
* Make a new Queueable from the data given if it is not already a valid Queueable.
|
|
1714
|
-
* @param
|
|
1715
|
-
* @param
|
|
1716
|
-
* @return {Queueable}
|
|
1629
|
+
* @param queueable Return a valid Queueable instance from given data, or even an already valid one.
|
|
1630
|
+
* @param classType Provide the type of IsLinker to use.
|
|
1717
1631
|
*/
|
|
1718
1632
|
exports.Queueable = Queueable
|
|
1719
1633
|
Queueable.make = (queueable, classType = Queueable) => {
|
|
@@ -1739,9 +1653,8 @@
|
|
|
1739
1653
|
}
|
|
1740
1654
|
/**
|
|
1741
1655
|
* Convert an array into Queueable instances, return the head and tail Queueables.
|
|
1742
|
-
* @param
|
|
1743
|
-
* @param
|
|
1744
|
-
* @returns {{head: Queueable, tail: Queueable}}
|
|
1656
|
+
* @param values Provide an array of data that will be converted to a chain of queueable linkers.
|
|
1657
|
+
* @param classType Provide the type of IsLinker to use.
|
|
1745
1658
|
*/
|
|
1746
1659
|
Queueable.fromArray = (values = [], classType = Queueable) => _Linker.Linker.fromArray(values, classType)
|
|
1747
1660
|
}, { '../linked-list/Linker': 6 }],
|
|
@@ -1755,10 +1668,7 @@
|
|
|
1755
1668
|
const _Queueable = require('./Queueable')
|
|
1756
1669
|
const _LinkedList = require('../linked-list/LinkedList')
|
|
1757
1670
|
/**
|
|
1758
|
-
*
|
|
1759
|
-
* @author Joshua Heagle <joshuaheagle@gmail.com>
|
|
1760
|
-
* @version 1.1.0
|
|
1761
|
-
* @memberOf module:collect-your-stuff
|
|
1671
|
+
* task queue
|
|
1762
1672
|
*/
|
|
1763
1673
|
|
|
1764
1674
|
/**
|
|
@@ -1769,9 +1679,9 @@
|
|
|
1769
1679
|
class TaskQueue {
|
|
1770
1680
|
/**
|
|
1771
1681
|
* Instantiate the queue with the given queue list.
|
|
1772
|
-
* @param
|
|
1773
|
-
* @param
|
|
1774
|
-
* @param
|
|
1682
|
+
* @param queuedList Give the list of queueables to start in this queue.
|
|
1683
|
+
* @param listClass The type of list to create when no queued list is given.
|
|
1684
|
+
* @param queueableClass The class used to wrap queued items.
|
|
1775
1685
|
*/
|
|
1776
1686
|
constructor (queuedList = null, listClass = _LinkedList.LinkedList, queueableClass = _Queueable.Queueable) {
|
|
1777
1687
|
this.listClass = listClass
|
|
@@ -1786,7 +1696,6 @@
|
|
|
1786
1696
|
* Take a queued task from the front of the queue and run it if ready. A task which is not ready yet is kept in the
|
|
1787
1697
|
* queue (never dropped), a task which is still running is reported as blocking and left to finish on its own, and
|
|
1788
1698
|
* completed tasks are discarded.
|
|
1789
|
-
* @return {completeResponse|*}
|
|
1790
1699
|
*/
|
|
1791
1700
|
dequeue () {
|
|
1792
1701
|
let next = this.remove()
|
|
@@ -1829,7 +1738,6 @@
|
|
|
1829
1738
|
|
|
1830
1739
|
/**
|
|
1831
1740
|
* Return true if the queue is empty (there are no tasks in the queue list)
|
|
1832
|
-
* @return {boolean}
|
|
1833
1741
|
*/
|
|
1834
1742
|
empty () {
|
|
1835
1743
|
return this.size() <= 0
|
|
@@ -1837,7 +1745,7 @@
|
|
|
1837
1745
|
|
|
1838
1746
|
/**
|
|
1839
1747
|
* Add a queued task to the end of the queue
|
|
1840
|
-
* @param
|
|
1748
|
+
* @param queueable Add a new queueable to the end of the queue
|
|
1841
1749
|
*/
|
|
1842
1750
|
enqueue (queueable) {
|
|
1843
1751
|
this.queuedList.append(queueable)
|
|
@@ -1845,7 +1753,6 @@
|
|
|
1845
1753
|
|
|
1846
1754
|
/**
|
|
1847
1755
|
* Take a look at the next queued task
|
|
1848
|
-
* @return {Queueable}
|
|
1849
1756
|
*/
|
|
1850
1757
|
peek () {
|
|
1851
1758
|
return this.queuedList.first
|
|
@@ -1853,7 +1760,6 @@
|
|
|
1853
1760
|
|
|
1854
1761
|
/**
|
|
1855
1762
|
* Remove the next queued item and return it.
|
|
1856
|
-
* @return {Queueable|null}
|
|
1857
1763
|
*/
|
|
1858
1764
|
remove () {
|
|
1859
1765
|
if (this.empty()) {
|
|
@@ -1864,7 +1770,6 @@
|
|
|
1864
1770
|
|
|
1865
1771
|
/**
|
|
1866
1772
|
* Get the length of the current queue.
|
|
1867
|
-
* @return {number}
|
|
1868
1773
|
*/
|
|
1869
1774
|
size () {
|
|
1870
1775
|
return this.queuedList.length
|
|
@@ -1872,10 +1777,9 @@
|
|
|
1872
1777
|
}
|
|
1873
1778
|
/**
|
|
1874
1779
|
* Convert an array to a TaskQueue.
|
|
1875
|
-
* @param
|
|
1876
|
-
* @param
|
|
1877
|
-
* @param
|
|
1878
|
-
* @returns {TaskQueue}
|
|
1780
|
+
* @param values An array of values which will be converted to queueables in this queue
|
|
1781
|
+
* @param queueableClass The class to use for each queueable
|
|
1782
|
+
* @param listClass The class to use to manage the queueables
|
|
1879
1783
|
*/
|
|
1880
1784
|
exports.TaskQueue = TaskQueue
|
|
1881
1785
|
TaskQueue.fromArray = (values = [], queueableClass = _Queueable.Queueable, listClass = _LinkedList.LinkedList) => {
|
|
@@ -1887,6 +1791,89 @@
|
|
|
1887
1791
|
12: [function (require, module, exports) {
|
|
1888
1792
|
'use strict'
|
|
1889
1793
|
|
|
1794
|
+
Object.defineProperty(exports, '__esModule', {
|
|
1795
|
+
value: true
|
|
1796
|
+
})
|
|
1797
|
+
exports.ScopedCollection = void 0
|
|
1798
|
+
require('core-js/modules/esnext.map.delete-all.js')
|
|
1799
|
+
require('core-js/modules/esnext.map.every.js')
|
|
1800
|
+
require('core-js/modules/esnext.map.filter.js')
|
|
1801
|
+
require('core-js/modules/esnext.map.find.js')
|
|
1802
|
+
require('core-js/modules/esnext.map.find-key.js')
|
|
1803
|
+
require('core-js/modules/esnext.map.includes.js')
|
|
1804
|
+
require('core-js/modules/esnext.map.key-of.js')
|
|
1805
|
+
require('core-js/modules/esnext.map.map-keys.js')
|
|
1806
|
+
require('core-js/modules/esnext.map.map-values.js')
|
|
1807
|
+
require('core-js/modules/esnext.map.merge.js')
|
|
1808
|
+
require('core-js/modules/esnext.map.reduce.js')
|
|
1809
|
+
require('core-js/modules/esnext.map.some.js')
|
|
1810
|
+
require('core-js/modules/esnext.map.update.js')
|
|
1811
|
+
require('core-js/modules/esnext.weak-map.delete-all.js')
|
|
1812
|
+
/**
|
|
1813
|
+
* A keyed collection, partitioned by an arbitrary scope object: values are stored and looked up by key, with a
|
|
1814
|
+
* separate key space per scope. Scopes are held by a WeakMap, so a scope that nothing else references any more
|
|
1815
|
+
* takes its whole key space with it - useful anywhere state needs to be tracked per instance of something (a
|
|
1816
|
+
* tree's root, a session) without that something needing to hold the state itself.
|
|
1817
|
+
*/
|
|
1818
|
+
class ScopedCollection {
|
|
1819
|
+
constructor () {
|
|
1820
|
+
this.scopes = new WeakMap()
|
|
1821
|
+
}
|
|
1822
|
+
|
|
1823
|
+
/**
|
|
1824
|
+
* Remove a key from a scope's key space.
|
|
1825
|
+
* @param scope The scope to remove the key from
|
|
1826
|
+
* @param key The key to remove
|
|
1827
|
+
* @returns Whether a value was actually removed
|
|
1828
|
+
*/
|
|
1829
|
+
delete (scope, key) {
|
|
1830
|
+
const keyedValues = this.scopes.get(scope)
|
|
1831
|
+
return typeof keyedValues === 'undefined' ? false : keyedValues.delete(key)
|
|
1832
|
+
}
|
|
1833
|
+
|
|
1834
|
+
/**
|
|
1835
|
+
* Look up a value by key within a scope.
|
|
1836
|
+
* @param scope The scope to look within
|
|
1837
|
+
* @param key The key to look up
|
|
1838
|
+
* @returns The value, or undefined when the scope or key is not present
|
|
1839
|
+
*/
|
|
1840
|
+
get (scope, key) {
|
|
1841
|
+
let _a
|
|
1842
|
+
return (_a = this.scopes.get(scope)) === null || _a === void 0 ? void 0 : _a.get(key)
|
|
1843
|
+
}
|
|
1844
|
+
|
|
1845
|
+
/**
|
|
1846
|
+
* Check whether a key exists within a scope.
|
|
1847
|
+
* @param scope The scope to look within
|
|
1848
|
+
* @param key The key to check
|
|
1849
|
+
*/
|
|
1850
|
+
has (scope, key) {
|
|
1851
|
+
let _a, _b
|
|
1852
|
+
return (_b = (_a = this.scopes.get(scope)) === null || _a === void 0 ? void 0 : _a.has(key)) !== null && _b !== void 0 ? _b : false
|
|
1853
|
+
}
|
|
1854
|
+
|
|
1855
|
+
/**
|
|
1856
|
+
* Store a value under a key within a scope.
|
|
1857
|
+
* @param scope The scope to store the key within
|
|
1858
|
+
* @param key The key to store the value under
|
|
1859
|
+
* @param value The value to store
|
|
1860
|
+
* @returns This collection, so that setting can be chained
|
|
1861
|
+
*/
|
|
1862
|
+
set (scope, key, value) {
|
|
1863
|
+
let keyedValues = this.scopes.get(scope)
|
|
1864
|
+
if (typeof keyedValues === 'undefined') {
|
|
1865
|
+
keyedValues = new Map()
|
|
1866
|
+
this.scopes.set(scope, keyedValues)
|
|
1867
|
+
}
|
|
1868
|
+
keyedValues.set(key, value)
|
|
1869
|
+
return this
|
|
1870
|
+
}
|
|
1871
|
+
}
|
|
1872
|
+
exports.ScopedCollection = ScopedCollection
|
|
1873
|
+
}, { 'core-js/modules/esnext.map.delete-all.js': 134, 'core-js/modules/esnext.map.every.js': 135, 'core-js/modules/esnext.map.filter.js': 136, 'core-js/modules/esnext.map.find-key.js': 137, 'core-js/modules/esnext.map.find.js': 138, 'core-js/modules/esnext.map.includes.js': 139, 'core-js/modules/esnext.map.key-of.js': 140, 'core-js/modules/esnext.map.map-keys.js': 141, 'core-js/modules/esnext.map.map-values.js': 142, 'core-js/modules/esnext.map.merge.js': 143, 'core-js/modules/esnext.map.reduce.js': 144, 'core-js/modules/esnext.map.some.js': 145, 'core-js/modules/esnext.map.update.js': 146, 'core-js/modules/esnext.weak-map.delete-all.js': 147 }],
|
|
1874
|
+
13: [function (require, module, exports) {
|
|
1875
|
+
'use strict'
|
|
1876
|
+
|
|
1890
1877
|
Object.defineProperty(exports, '__esModule', {
|
|
1891
1878
|
value: true
|
|
1892
1879
|
})
|
|
@@ -1896,10 +1883,7 @@
|
|
|
1896
1883
|
const _LinkedList = require('../linked-list/LinkedList')
|
|
1897
1884
|
const _Linker = require('../linked-list/Linker')
|
|
1898
1885
|
/**
|
|
1899
|
-
*
|
|
1900
|
-
* @author Joshua Heagle <joshuaheagle@gmail.com>
|
|
1901
|
-
* @version 2.0.0
|
|
1902
|
-
* @memberOf module:collect-your-stuff
|
|
1886
|
+
* stack.
|
|
1903
1887
|
*/
|
|
1904
1888
|
|
|
1905
1889
|
/**
|
|
@@ -1910,9 +1894,9 @@
|
|
|
1910
1894
|
class Stack {
|
|
1911
1895
|
/**
|
|
1912
1896
|
* Instantiate the stack, optionally with a list of items to start from.
|
|
1913
|
-
* @param
|
|
1914
|
-
* @param
|
|
1915
|
-
* @param
|
|
1897
|
+
* @param stackedList The list of linkers to start in this stack (the first is the top)
|
|
1898
|
+
* @param listClass The type of list to create when no stacked list is given
|
|
1899
|
+
* @param linkerClass The class used to hold each stacked item
|
|
1916
1900
|
*/
|
|
1917
1901
|
constructor (stackedList = null, listClass = _LinkedList.LinkedList, linkerClass = _Linker.Linker) {
|
|
1918
1902
|
this.linkerClass = linkerClass
|
|
@@ -1921,7 +1905,6 @@
|
|
|
1921
1905
|
|
|
1922
1906
|
/**
|
|
1923
1907
|
* Check whether the stack has no items.
|
|
1924
|
-
* @return {boolean}
|
|
1925
1908
|
*/
|
|
1926
1909
|
empty () {
|
|
1927
1910
|
return this.size() <= 0
|
|
@@ -1929,7 +1912,7 @@
|
|
|
1929
1912
|
|
|
1930
1913
|
/**
|
|
1931
1914
|
* Look at the item on the top of the stack, without removing it.
|
|
1932
|
-
* @
|
|
1915
|
+
* @returns The item, or null when the stack is empty
|
|
1933
1916
|
*/
|
|
1934
1917
|
peek () {
|
|
1935
1918
|
const top = this.stackedList.first
|
|
@@ -1938,7 +1921,7 @@
|
|
|
1938
1921
|
|
|
1939
1922
|
/**
|
|
1940
1923
|
* Take the item from the top of the stack.
|
|
1941
|
-
* @
|
|
1924
|
+
* @returns The item, or null when the stack is empty
|
|
1942
1925
|
*/
|
|
1943
1926
|
pop () {
|
|
1944
1927
|
const top = this.stackedList.first
|
|
@@ -1951,8 +1934,8 @@
|
|
|
1951
1934
|
|
|
1952
1935
|
/**
|
|
1953
1936
|
* Add an item to the top of the stack.
|
|
1954
|
-
* @param
|
|
1955
|
-
* @
|
|
1937
|
+
* @param data The item to add
|
|
1938
|
+
* @returns This stack, so that adding can be chained
|
|
1956
1939
|
*/
|
|
1957
1940
|
push (data) {
|
|
1958
1941
|
// The item is wrapped here rather than left to the list, since the list treats objects that look like a linker's
|
|
@@ -1965,7 +1948,6 @@
|
|
|
1965
1948
|
|
|
1966
1949
|
/**
|
|
1967
1950
|
* Count the items in the stack.
|
|
1968
|
-
* @return {number}
|
|
1969
1951
|
*/
|
|
1970
1952
|
size () {
|
|
1971
1953
|
return this.stackedList.length
|
|
@@ -1973,7 +1955,7 @@
|
|
|
1973
1955
|
|
|
1974
1956
|
/**
|
|
1975
1957
|
* The item on the top of the stack (the same as peek).
|
|
1976
|
-
* @
|
|
1958
|
+
* @returns The item, or null when the stack is empty
|
|
1977
1959
|
*/
|
|
1978
1960
|
top () {
|
|
1979
1961
|
return this.peek()
|
|
@@ -1981,7 +1963,6 @@
|
|
|
1981
1963
|
|
|
1982
1964
|
/**
|
|
1983
1965
|
* Iterate over the items from the top of the stack to the bottom, without removing them.
|
|
1984
|
-
* @return {Iterator}
|
|
1985
1966
|
*/
|
|
1986
1967
|
[Symbol.iterator] () {
|
|
1987
1968
|
const linkers = this.stackedList[Symbol.iterator]()
|
|
@@ -2003,10 +1984,9 @@
|
|
|
2003
1984
|
}
|
|
2004
1985
|
/**
|
|
2005
1986
|
* Convert an array to a Stack by pushing each value in turn, so the last value is on the top.
|
|
2006
|
-
* @param
|
|
2007
|
-
* @param
|
|
2008
|
-
* @param
|
|
2009
|
-
* @returns {Stack}
|
|
1987
|
+
* @param values The items to stack
|
|
1988
|
+
* @param listClass The type of list used to store the items
|
|
1989
|
+
* @param linkerClass The class used to hold each stacked item
|
|
2010
1990
|
*/
|
|
2011
1991
|
exports.Stack = Stack
|
|
2012
1992
|
Stack.fromArray = (values = [], listClass = _LinkedList.LinkedList, linkerClass = _Linker.Linker) => {
|
|
@@ -2014,8 +1994,8 @@
|
|
|
2014
1994
|
values.forEach(value => stack.push(value))
|
|
2015
1995
|
return stack
|
|
2016
1996
|
}
|
|
2017
|
-
}, { '../linked-list/LinkedList': 5, '../linked-list/Linker': 6, 'core-js/modules/esnext.iterator.constructor.js':
|
|
2018
|
-
|
|
1997
|
+
}, { '../linked-list/LinkedList': 5, '../linked-list/Linker': 6, 'core-js/modules/esnext.iterator.constructor.js': 130, 'core-js/modules/esnext.iterator.for-each.js': 131 }],
|
|
1998
|
+
14: [function (require, module, exports) {
|
|
2019
1999
|
'use strict'
|
|
2020
2000
|
|
|
2021
2001
|
Object.defineProperty(exports, '__esModule', {
|
|
@@ -2030,10 +2010,10 @@
|
|
|
2030
2010
|
class Stackable {
|
|
2031
2011
|
/**
|
|
2032
2012
|
* Create a stackable item that can be used in a stack.
|
|
2033
|
-
* @param
|
|
2034
|
-
* @param
|
|
2035
|
-
* @param
|
|
2036
|
-
* @param
|
|
2013
|
+
* @param stackData The settings for the new stackable.
|
|
2014
|
+
* @param stackData.task The data to be stored in this stackable
|
|
2015
|
+
* @param stackData.next The reference to the next stackable if any
|
|
2016
|
+
* @param stackData.ready Indicate if the stackable is ready to run
|
|
2037
2017
|
*/
|
|
2038
2018
|
constructor ({
|
|
2039
2019
|
task = null,
|
|
@@ -2051,7 +2031,6 @@
|
|
|
2051
2031
|
|
|
2052
2032
|
/**
|
|
2053
2033
|
* Retrieve the data which should be formed as a task.
|
|
2054
|
-
* @return {*}
|
|
2055
2034
|
*/
|
|
2056
2035
|
get task () {
|
|
2057
2036
|
if (typeof this.data === 'function') {
|
|
@@ -2062,7 +2041,6 @@
|
|
|
2062
2041
|
|
|
2063
2042
|
/**
|
|
2064
2043
|
* Run the stacked task.
|
|
2065
|
-
* @return {*}
|
|
2066
2044
|
*/
|
|
2067
2045
|
run () {
|
|
2068
2046
|
return this.task()
|
|
@@ -2070,9 +2048,8 @@
|
|
|
2070
2048
|
}
|
|
2071
2049
|
/**
|
|
2072
2050
|
* Make a new Stackable from the data given if it is not already a valid Stackable.
|
|
2073
|
-
* @param
|
|
2074
|
-
* @param
|
|
2075
|
-
* @return {Stackable}
|
|
2051
|
+
* @param stackable Return a valid Stackable instance from given data, or even an already valid one.
|
|
2052
|
+
* @param classType Provide the type of IsLinker to use.
|
|
2076
2053
|
*/
|
|
2077
2054
|
exports.Stackable = Stackable
|
|
2078
2055
|
Stackable.make = (stackable, classType = Stackable) => {
|
|
@@ -2096,13 +2073,12 @@
|
|
|
2096
2073
|
}
|
|
2097
2074
|
/**
|
|
2098
2075
|
* Convert an array into Stackable instances, return the head and tail Stackables.
|
|
2099
|
-
* @param
|
|
2100
|
-
* @param
|
|
2101
|
-
* @returns {{head: Stackable, tail: Stackable}}
|
|
2076
|
+
* @param values Provide an array of data that will be converted to a chain of stackable linkers.
|
|
2077
|
+
* @param classType Provide the type of IsLinker to use.
|
|
2102
2078
|
*/
|
|
2103
2079
|
Stackable.fromArray = (values = [], classType = Stackable) => _Linker.Linker.fromArray(values, classType)
|
|
2104
2080
|
}, { '../linked-list/Linker': 6 }],
|
|
2105
|
-
|
|
2081
|
+
15: [function (require, module, exports) {
|
|
2106
2082
|
'use strict'
|
|
2107
2083
|
|
|
2108
2084
|
Object.defineProperty(exports, '__esModule', {
|
|
@@ -2112,10 +2088,7 @@
|
|
|
2112
2088
|
const _Stackable = require('./Stackable')
|
|
2113
2089
|
const _LinkedList = require('../linked-list/LinkedList')
|
|
2114
2090
|
/**
|
|
2115
|
-
*
|
|
2116
|
-
* @author Joshua Heagle <joshuaheagle@gmail.com>
|
|
2117
|
-
* @version 1.0.0
|
|
2118
|
-
* @memberOf module:collect-your-stuff
|
|
2091
|
+
* task stack.
|
|
2119
2092
|
*/
|
|
2120
2093
|
|
|
2121
2094
|
/**
|
|
@@ -2125,9 +2098,9 @@
|
|
|
2125
2098
|
class TaskStack {
|
|
2126
2099
|
/**
|
|
2127
2100
|
* Instantiate the state with the starter stacked list.
|
|
2128
|
-
* @param
|
|
2129
|
-
* @param
|
|
2130
|
-
* @param
|
|
2101
|
+
* @param stackedList The list of stackables to start in this stack.
|
|
2102
|
+
* @param listClass The type of list to create when no stacked list is given.
|
|
2103
|
+
* @param stackableClass The class used to wrap stacked items.
|
|
2131
2104
|
*/
|
|
2132
2105
|
constructor (stackedList = null, listClass = _LinkedList.LinkedList, stackableClass = _Stackable.Stackable) {
|
|
2133
2106
|
this.listClass = listClass
|
|
@@ -2140,7 +2113,6 @@
|
|
|
2140
2113
|
|
|
2141
2114
|
/**
|
|
2142
2115
|
* Return true if the stack is empty (there are no tasks in the stacked list)
|
|
2143
|
-
* @return {boolean}
|
|
2144
2116
|
*/
|
|
2145
2117
|
empty () {
|
|
2146
2118
|
return this.size() <= 0
|
|
@@ -2148,7 +2120,6 @@
|
|
|
2148
2120
|
|
|
2149
2121
|
/**
|
|
2150
2122
|
* Take a look at the next stacked task
|
|
2151
|
-
* @return {Stackable}
|
|
2152
2123
|
*/
|
|
2153
2124
|
top () {
|
|
2154
2125
|
return this.stackedList.first
|
|
@@ -2156,7 +2127,6 @@
|
|
|
2156
2127
|
|
|
2157
2128
|
/**
|
|
2158
2129
|
* Remove the next stacked task and return it.
|
|
2159
|
-
* @return {Stackable|null}
|
|
2160
2130
|
*/
|
|
2161
2131
|
pop () {
|
|
2162
2132
|
const next = this.remove()
|
|
@@ -2172,7 +2142,7 @@
|
|
|
2172
2142
|
|
|
2173
2143
|
/**
|
|
2174
2144
|
* Push a stackable task to the top of the stack.
|
|
2175
|
-
* @param
|
|
2145
|
+
* @param stackable Add a new stackable to the top of the stack
|
|
2176
2146
|
*/
|
|
2177
2147
|
push (stackable) {
|
|
2178
2148
|
this.stackedList.prepend(stackable)
|
|
@@ -2180,7 +2150,6 @@
|
|
|
2180
2150
|
|
|
2181
2151
|
/**
|
|
2182
2152
|
* Remove the next stacked task and return it.
|
|
2183
|
-
* @return {Stackable|null}
|
|
2184
2153
|
*/
|
|
2185
2154
|
remove () {
|
|
2186
2155
|
if (this.empty()) {
|
|
@@ -2191,7 +2160,6 @@
|
|
|
2191
2160
|
|
|
2192
2161
|
/**
|
|
2193
2162
|
* Get the size of the current stack.
|
|
2194
|
-
* @return {number}
|
|
2195
2163
|
*/
|
|
2196
2164
|
size () {
|
|
2197
2165
|
return this.stackedList.length
|
|
@@ -2199,10 +2167,9 @@
|
|
|
2199
2167
|
}
|
|
2200
2168
|
/**
|
|
2201
2169
|
* Convert an array to a TaskStack.
|
|
2202
|
-
* @param
|
|
2203
|
-
* @param
|
|
2204
|
-
* @param
|
|
2205
|
-
* @returns {TaskStack}
|
|
2170
|
+
* @param values An array of values which will be converted to stackables in this queue
|
|
2171
|
+
* @param stackableClass The class to use for each stackable
|
|
2172
|
+
* @param listClass The class to use to manage the stackables
|
|
2206
2173
|
*/
|
|
2207
2174
|
exports.TaskStack = TaskStack
|
|
2208
2175
|
TaskStack.fromArray = (values = [], stackableClass = _Stackable.Stackable, listClass = _LinkedList.LinkedList) => {
|
|
@@ -2210,8 +2177,8 @@
|
|
|
2210
2177
|
list.initialize(stackableClass.fromArray(values, stackableClass).head)
|
|
2211
2178
|
return new TaskStack(list, listClass, stackableClass)
|
|
2212
2179
|
}
|
|
2213
|
-
}, { '../linked-list/LinkedList': 5, './Stackable':
|
|
2214
|
-
|
|
2180
|
+
}, { '../linked-list/LinkedList': 5, './Stackable': 14 }],
|
|
2181
|
+
16: [function (require, module, exports) {
|
|
2215
2182
|
'use strict'
|
|
2216
2183
|
|
|
2217
2184
|
Object.defineProperty(exports, '__esModule', {
|
|
@@ -2271,6 +2238,12 @@
|
|
|
2271
2238
|
return _Queueable.Queueable
|
|
2272
2239
|
}
|
|
2273
2240
|
})
|
|
2241
|
+
Object.defineProperty(exports, 'ScopedCollection', {
|
|
2242
|
+
enumerable: true,
|
|
2243
|
+
get: function () {
|
|
2244
|
+
return _ScopedCollection.ScopedCollection
|
|
2245
|
+
}
|
|
2246
|
+
})
|
|
2274
2247
|
Object.defineProperty(exports, 'Stack', {
|
|
2275
2248
|
enumerable: true,
|
|
2276
2249
|
get: function () {
|
|
@@ -2325,6 +2298,7 @@
|
|
|
2325
2298
|
var _Queueable = require('./collections/queue/Queueable')
|
|
2326
2299
|
var _Queue = require('./collections/queue/Queue')
|
|
2327
2300
|
var _TaskQueue = require('./collections/queue/TaskQueue')
|
|
2301
|
+
var _ScopedCollection = require('./collections/scoped-collection/ScopedCollection')
|
|
2328
2302
|
var _Stackable = require('./collections/stack/Stackable')
|
|
2329
2303
|
var _Stack = require('./collections/stack/Stack')
|
|
2330
2304
|
var _TaskStack = require('./collections/stack/TaskStack')
|
|
@@ -2332,10 +2306,6 @@
|
|
|
2332
2306
|
var _services = require('./services/services')
|
|
2333
2307
|
/**
|
|
2334
2308
|
* All of the collections available.
|
|
2335
|
-
* @file
|
|
2336
|
-
* @author Joshua Heagle <joshuaheagle@gmail.com>
|
|
2337
|
-
* @version 1.0.0
|
|
2338
|
-
* @module collect-your-stuff
|
|
2339
2309
|
*/
|
|
2340
2310
|
|
|
2341
2311
|
/**
|
|
@@ -2363,6 +2333,7 @@
|
|
|
2363
2333
|
Queueable: _Queueable.Queueable,
|
|
2364
2334
|
Queue: _Queue.Queue,
|
|
2365
2335
|
TaskQueue: _TaskQueue.TaskQueue,
|
|
2336
|
+
ScopedCollection: _ScopedCollection.ScopedCollection,
|
|
2366
2337
|
Stackable: _Stackable.Stackable,
|
|
2367
2338
|
Stack: _Stack.Stack,
|
|
2368
2339
|
TaskStack: _TaskStack.TaskStack,
|
|
@@ -2377,8 +2348,8 @@
|
|
|
2377
2348
|
// @ts-ignore
|
|
2378
2349
|
window.collectYourStuff = collectYourStuff
|
|
2379
2350
|
}
|
|
2380
|
-
}, { './collections/arrayable/ArrayElement': 1, './collections/arrayable/Arrayable': 2, './collections/doubly-linked-list/DoubleLinker': 3, './collections/doubly-linked-list/DoublyLinkedList': 4, './collections/linked-list/LinkedList': 5, './collections/linked-list/Linker': 6, './collections/linked-tree-list/LinkedTreeList': 7, './collections/linked-tree-list/TreeLinker': 8, './collections/queue/Queue': 9, './collections/queue/Queueable': 10, './collections/queue/TaskQueue': 11, './collections/stack/Stack':
|
|
2381
|
-
|
|
2351
|
+
}, { './collections/arrayable/ArrayElement': 1, './collections/arrayable/Arrayable': 2, './collections/doubly-linked-list/DoubleLinker': 3, './collections/doubly-linked-list/DoublyLinkedList': 4, './collections/linked-list/LinkedList': 5, './collections/linked-list/Linker': 6, './collections/linked-tree-list/LinkedTreeList': 7, './collections/linked-tree-list/TreeLinker': 8, './collections/queue/Queue': 9, './collections/queue/Queueable': 10, './collections/queue/TaskQueue': 11, './collections/scoped-collection/ScopedCollection': 12, './collections/stack/Stack': 13, './collections/stack/Stackable': 14, './collections/stack/TaskStack': 15, './recipes/recipes': 22, './services/services': 25 }],
|
|
2352
|
+
17: [function (require, module, exports) {
|
|
2382
2353
|
'use strict'
|
|
2383
2354
|
|
|
2384
2355
|
Object.defineProperty(exports, '__esModule', {
|
|
@@ -2391,8 +2362,8 @@
|
|
|
2391
2362
|
class ArrayIterator {
|
|
2392
2363
|
/**
|
|
2393
2364
|
* Create an iterator over the given array.
|
|
2394
|
-
* @param
|
|
2395
|
-
* @param
|
|
2365
|
+
* @param innerList The elements to iterate over.
|
|
2366
|
+
* @param index The position to start from.
|
|
2396
2367
|
*/
|
|
2397
2368
|
constructor (innerList, index = 0) {
|
|
2398
2369
|
this.innerList = innerList
|
|
@@ -2401,8 +2372,8 @@
|
|
|
2401
2372
|
|
|
2402
2373
|
/**
|
|
2403
2374
|
* Get the next element, moving the iterator forward.
|
|
2404
|
-
* @param
|
|
2405
|
-
* @
|
|
2375
|
+
* @param value Not used, present to match the Iterator interface.
|
|
2376
|
+
* @returns The next element, or done when there are no more.
|
|
2406
2377
|
*/
|
|
2407
2378
|
next (value) {
|
|
2408
2379
|
if (this.index < this.innerList.length) {
|
|
@@ -2419,7 +2390,7 @@
|
|
|
2419
2390
|
}
|
|
2420
2391
|
exports.ArrayIterator = ArrayIterator
|
|
2421
2392
|
}, {}],
|
|
2422
|
-
|
|
2393
|
+
18: [function (require, module, exports) {
|
|
2423
2394
|
'use strict'
|
|
2424
2395
|
|
|
2425
2396
|
Object.defineProperty(exports, '__esModule', {
|
|
@@ -2432,7 +2403,7 @@
|
|
|
2432
2403
|
class DoubleLinkerIterator {
|
|
2433
2404
|
/**
|
|
2434
2405
|
* Create an iterator starting at the given item.
|
|
2435
|
-
* @param
|
|
2406
|
+
* @param current The item to start from.
|
|
2436
2407
|
*/
|
|
2437
2408
|
constructor (current) {
|
|
2438
2409
|
this.current = current
|
|
@@ -2440,8 +2411,8 @@
|
|
|
2440
2411
|
|
|
2441
2412
|
/**
|
|
2442
2413
|
* Get the current item and move on to the following one.
|
|
2443
|
-
* @param
|
|
2444
|
-
* @
|
|
2414
|
+
* @param value Not used, present to match the Iterator interface.
|
|
2415
|
+
* @returns The current item, or done when there are no more.
|
|
2445
2416
|
*/
|
|
2446
2417
|
next (value) {
|
|
2447
2418
|
const result = {
|
|
@@ -2454,7 +2425,7 @@
|
|
|
2454
2425
|
}
|
|
2455
2426
|
exports.DoubleLinkerIterator = DoubleLinkerIterator
|
|
2456
2427
|
}, {}],
|
|
2457
|
-
|
|
2428
|
+
19: [function (require, module, exports) {
|
|
2458
2429
|
'use strict'
|
|
2459
2430
|
|
|
2460
2431
|
Object.defineProperty(exports, '__esModule', {
|
|
@@ -2467,7 +2438,7 @@
|
|
|
2467
2438
|
class LinkerIterator {
|
|
2468
2439
|
/**
|
|
2469
2440
|
* Create an iterator starting at the given item.
|
|
2470
|
-
* @param
|
|
2441
|
+
* @param current The item to start from.
|
|
2471
2442
|
*/
|
|
2472
2443
|
constructor (current) {
|
|
2473
2444
|
this.current = current
|
|
@@ -2475,8 +2446,8 @@
|
|
|
2475
2446
|
|
|
2476
2447
|
/**
|
|
2477
2448
|
* Get the current item and move on to the following one.
|
|
2478
|
-
* @param
|
|
2479
|
-
* @
|
|
2449
|
+
* @param value Not used, present to match the Iterator interface.
|
|
2450
|
+
* @returns The current item, or done when there are no more.
|
|
2480
2451
|
*/
|
|
2481
2452
|
next (value) {
|
|
2482
2453
|
const result = {
|
|
@@ -2489,7 +2460,7 @@
|
|
|
2489
2460
|
}
|
|
2490
2461
|
exports.LinkerIterator = LinkerIterator
|
|
2491
2462
|
}, {}],
|
|
2492
|
-
|
|
2463
|
+
20: [function (require, module, exports) {
|
|
2493
2464
|
'use strict'
|
|
2494
2465
|
|
|
2495
2466
|
Object.defineProperty(exports, '__esModule', {
|
|
@@ -2497,10 +2468,7 @@
|
|
|
2497
2468
|
})
|
|
2498
2469
|
exports.Runnable = void 0
|
|
2499
2470
|
/**
|
|
2500
|
-
*
|
|
2501
|
-
* @author Joshua Heagle <joshuaheagle@gmail.com>
|
|
2502
|
-
* @version 1.0.0
|
|
2503
|
-
* @memberOf module:collect-your-stuff
|
|
2471
|
+
* Runnable class recipe.
|
|
2504
2472
|
*/
|
|
2505
2473
|
/**
|
|
2506
2474
|
* Identify a class that can be run.
|
|
@@ -2508,7 +2476,7 @@
|
|
|
2508
2476
|
class Runnable {
|
|
2509
2477
|
/**
|
|
2510
2478
|
* Instantiate a Runnable class.
|
|
2511
|
-
* @param
|
|
2479
|
+
* @param data The task (a function) or the data which the task returns.
|
|
2512
2480
|
*/
|
|
2513
2481
|
constructor (data = null) {
|
|
2514
2482
|
/** The task (or data) this runnable holds. */
|
|
@@ -2518,7 +2486,6 @@
|
|
|
2518
2486
|
|
|
2519
2487
|
/**
|
|
2520
2488
|
* Retrieve the data which should be formed as a task.
|
|
2521
|
-
* @return {Function}
|
|
2522
2489
|
*/
|
|
2523
2490
|
get task () {
|
|
2524
2491
|
if (typeof this.data === 'function') {
|
|
@@ -2529,7 +2496,6 @@
|
|
|
2529
2496
|
|
|
2530
2497
|
/**
|
|
2531
2498
|
* Run the runnable task.
|
|
2532
|
-
* @return {*}
|
|
2533
2499
|
*/
|
|
2534
2500
|
run () {
|
|
2535
2501
|
return this.task()
|
|
@@ -2538,8 +2504,7 @@
|
|
|
2538
2504
|
/**
|
|
2539
2505
|
* Check if a given thing is Runnable
|
|
2540
2506
|
* @memberof Runnable
|
|
2541
|
-
* @param
|
|
2542
|
-
* @return {boolean}
|
|
2507
|
+
* @param thing The value to check, or nothing to check whether this class is Runnable.
|
|
2543
2508
|
*/
|
|
2544
2509
|
static isRunnable (thing) {
|
|
2545
2510
|
if (typeof thing === 'undefined') {
|
|
@@ -2560,7 +2525,7 @@
|
|
|
2560
2525
|
}
|
|
2561
2526
|
exports.Runnable = Runnable
|
|
2562
2527
|
}, {}],
|
|
2563
|
-
|
|
2528
|
+
21: [function (require, module, exports) {
|
|
2564
2529
|
'use strict'
|
|
2565
2530
|
|
|
2566
2531
|
Object.defineProperty(exports, '__esModule', {
|
|
@@ -2574,8 +2539,8 @@
|
|
|
2574
2539
|
class TreeLinkerIterator {
|
|
2575
2540
|
/**
|
|
2576
2541
|
* Create an iterator starting at the given item.
|
|
2577
|
-
* @param
|
|
2578
|
-
* @param
|
|
2542
|
+
* @param current The item to start from.
|
|
2543
|
+
* @param boundaryParent The parent of the nodes to stay within (null for the top of a tree), the whole tree when not given.
|
|
2579
2544
|
*/
|
|
2580
2545
|
constructor (current, boundaryParent) {
|
|
2581
2546
|
this.current = current
|
|
@@ -2584,8 +2549,8 @@
|
|
|
2584
2549
|
|
|
2585
2550
|
/**
|
|
2586
2551
|
* Get the current item and move on to the following one (left-first, down each branch).
|
|
2587
|
-
* @param
|
|
2588
|
-
* @
|
|
2552
|
+
* @param value Not used, present to match the Iterator interface.
|
|
2553
|
+
* @returns The current item, or done when there are no more.
|
|
2589
2554
|
*/
|
|
2590
2555
|
next (value) {
|
|
2591
2556
|
const result = {
|
|
@@ -2597,8 +2562,8 @@
|
|
|
2597
2562
|
}
|
|
2598
2563
|
}
|
|
2599
2564
|
exports.TreeLinkerIterator = TreeLinkerIterator
|
|
2600
|
-
}, { '../services/parseTreeNext':
|
|
2601
|
-
|
|
2565
|
+
}, { '../services/parseTreeNext': 24 }],
|
|
2566
|
+
22: [function (require, module, exports) {
|
|
2602
2567
|
'use strict'
|
|
2603
2568
|
|
|
2604
2569
|
Object.defineProperty(exports, '__esModule', {
|
|
@@ -2608,10 +2573,7 @@
|
|
|
2608
2573
|
const _ArrayIterator = require('./ArrayIterator')
|
|
2609
2574
|
const _Runnable = require('./Runnable')
|
|
2610
2575
|
/**
|
|
2611
|
-
*
|
|
2612
|
-
* @author Joshua Heagle <joshuaheagle@gmail.com>
|
|
2613
|
-
* @version 1.0.0
|
|
2614
|
-
* @memberOf module:collect-your-stuff
|
|
2576
|
+
* sample classes which follow a pattern (have certain members or methods).
|
|
2615
2577
|
*/
|
|
2616
2578
|
|
|
2617
2579
|
/**
|
|
@@ -2621,8 +2583,8 @@
|
|
|
2621
2583
|
ArrayIterator: _ArrayIterator.ArrayIterator,
|
|
2622
2584
|
Runnable: _Runnable.Runnable
|
|
2623
2585
|
}
|
|
2624
|
-
}, { './ArrayIterator':
|
|
2625
|
-
|
|
2586
|
+
}, { './ArrayIterator': 17, './Runnable': 20 }],
|
|
2587
|
+
23: [function (require, module, exports) {
|
|
2626
2588
|
'use strict'
|
|
2627
2589
|
|
|
2628
2590
|
Object.defineProperty(exports, '__esModule', {
|
|
@@ -2632,9 +2594,8 @@
|
|
|
2632
2594
|
const _parseTreeNext = require('./parseTreeNext')
|
|
2633
2595
|
/**
|
|
2634
2596
|
* Loop over all the nodes in a tree starting from left and apply a callback for each
|
|
2635
|
-
* @param
|
|
2636
|
-
* @param
|
|
2637
|
-
* @returns {IsArrayable<IsTreeNode>}
|
|
2597
|
+
* @param tree
|
|
2598
|
+
* @param callback
|
|
2638
2599
|
*/
|
|
2639
2600
|
const parseTree = (tree, callback) => {
|
|
2640
2601
|
let index = 0
|
|
@@ -2647,8 +2608,8 @@
|
|
|
2647
2608
|
return tree
|
|
2648
2609
|
}
|
|
2649
2610
|
exports.parseTree = parseTree
|
|
2650
|
-
}, { './parseTreeNext':
|
|
2651
|
-
|
|
2611
|
+
}, { './parseTreeNext': 24 }],
|
|
2612
|
+
24: [function (require, module, exports) {
|
|
2652
2613
|
'use strict'
|
|
2653
2614
|
|
|
2654
2615
|
Object.defineProperty(exports, '__esModule', {
|
|
@@ -2666,9 +2627,8 @@
|
|
|
2666
2627
|
* 7. Stop at root (next is null and parent is null
|
|
2667
2628
|
* A boundary can be given to parse only part of a tree: going back up to the parents stops at the boundary, so the
|
|
2668
2629
|
* parsing stays within the nodes whose parent is the boundary (and everything below them).
|
|
2669
|
-
* @param
|
|
2670
|
-
* @param
|
|
2671
|
-
* @returns {IsTreeNode|null}
|
|
2630
|
+
* @param treeNode Provide a node in a tree and get the next node (left-first approach)
|
|
2631
|
+
* @param boundaryParent The parent of the nodes to stay within, null for the nodes at the top of a tree. When it is not given the whole tree is parsed.
|
|
2672
2632
|
*/
|
|
2673
2633
|
const parseTreeNext = (treeNode, boundaryParent) => {
|
|
2674
2634
|
if (!treeNode) {
|
|
@@ -2692,7 +2652,7 @@
|
|
|
2692
2652
|
}
|
|
2693
2653
|
exports.parseTreeNext = parseTreeNext
|
|
2694
2654
|
}, {}],
|
|
2695
|
-
|
|
2655
|
+
25: [function (require, module, exports) {
|
|
2696
2656
|
'use strict'
|
|
2697
2657
|
|
|
2698
2658
|
Object.defineProperty(exports, '__esModule', {
|
|
@@ -2702,10 +2662,7 @@
|
|
|
2702
2662
|
const _parseTree = require('./parseTree')
|
|
2703
2663
|
const _parseTreeNext = require('./parseTreeNext')
|
|
2704
2664
|
/**
|
|
2705
|
-
*
|
|
2706
|
-
* @author Joshua Heagle <joshuaheagle@gmail.com>
|
|
2707
|
-
* @version 1.1.0
|
|
2708
|
-
* @memberOf module:collect-your-stuff
|
|
2665
|
+
* some useful resources when working with collections.
|
|
2709
2666
|
*/
|
|
2710
2667
|
|
|
2711
2668
|
/**
|
|
@@ -2715,8 +2672,8 @@
|
|
|
2715
2672
|
parseTree: _parseTree.parseTree,
|
|
2716
2673
|
parseTreeNext: _parseTreeNext.parseTreeNext
|
|
2717
2674
|
}
|
|
2718
|
-
}, { './parseTree':
|
|
2719
|
-
|
|
2675
|
+
}, { './parseTree': 23, './parseTreeNext': 24 }],
|
|
2676
|
+
26: [function (require, module, exports) {
|
|
2720
2677
|
'use strict'
|
|
2721
2678
|
const isCallable = require('../internals/is-callable')
|
|
2722
2679
|
const tryToString = require('../internals/try-to-string')
|
|
@@ -2728,8 +2685,28 @@
|
|
|
2728
2685
|
if (isCallable(argument)) return argument
|
|
2729
2686
|
throw new $TypeError(tryToString(argument) + ' is not a function')
|
|
2730
2687
|
}
|
|
2731
|
-
}, { '../internals/is-callable':
|
|
2732
|
-
|
|
2688
|
+
}, { '../internals/is-callable': 72, '../internals/try-to-string': 119 }],
|
|
2689
|
+
27: [function (require, module, exports) {
|
|
2690
|
+
'use strict'
|
|
2691
|
+
const has = require('../internals/map-helpers').has
|
|
2692
|
+
|
|
2693
|
+
// Perform ? RequireInternalSlot(M, [[MapData]])
|
|
2694
|
+
module.exports = function (it) {
|
|
2695
|
+
has(it)
|
|
2696
|
+
return it
|
|
2697
|
+
}
|
|
2698
|
+
}, { '../internals/map-helpers': 90 }],
|
|
2699
|
+
28: [function (require, module, exports) {
|
|
2700
|
+
'use strict'
|
|
2701
|
+
const has = require('../internals/weak-map-helpers').has
|
|
2702
|
+
|
|
2703
|
+
// Perform ? RequireInternalSlot(M, [[WeakMapData]])
|
|
2704
|
+
module.exports = function (it) {
|
|
2705
|
+
has(it)
|
|
2706
|
+
return it
|
|
2707
|
+
}
|
|
2708
|
+
}, { '../internals/weak-map-helpers': 124 }],
|
|
2709
|
+
29: [function (require, module, exports) {
|
|
2733
2710
|
'use strict'
|
|
2734
2711
|
const isPrototypeOf = require('../internals/object-is-prototype-of')
|
|
2735
2712
|
|
|
@@ -2739,8 +2716,8 @@
|
|
|
2739
2716
|
if (isPrototypeOf(Prototype, it)) return it
|
|
2740
2717
|
throw new $TypeError('Incorrect invocation')
|
|
2741
2718
|
}
|
|
2742
|
-
}, { '../internals/object-is-prototype-of':
|
|
2743
|
-
|
|
2719
|
+
}, { '../internals/object-is-prototype-of': 100 }],
|
|
2720
|
+
30: [function (require, module, exports) {
|
|
2744
2721
|
'use strict'
|
|
2745
2722
|
const isObject = require('../internals/is-object')
|
|
2746
2723
|
|
|
@@ -2752,8 +2729,8 @@
|
|
|
2752
2729
|
if (isObject(argument)) return argument
|
|
2753
2730
|
throw new $TypeError($String(argument) + ' is not an object')
|
|
2754
2731
|
}
|
|
2755
|
-
}, { '../internals/is-object':
|
|
2756
|
-
|
|
2732
|
+
}, { '../internals/is-object': 75 }],
|
|
2733
|
+
31: [function (require, module, exports) {
|
|
2757
2734
|
'use strict'
|
|
2758
2735
|
const toIndexedObject = require('../internals/to-indexed-object')
|
|
2759
2736
|
const toAbsoluteIndex = require('../internals/to-absolute-index')
|
|
@@ -2792,8 +2769,8 @@
|
|
|
2792
2769
|
// https://tc39.es/ecma262/#sec-array.prototype.indexof
|
|
2793
2770
|
indexOf: createMethod(false)
|
|
2794
2771
|
}
|
|
2795
|
-
}, { '../internals/length-of-array-like':
|
|
2796
|
-
|
|
2772
|
+
}, { '../internals/length-of-array-like': 88, '../internals/to-absolute-index': 112, '../internals/to-indexed-object': 113 }],
|
|
2773
|
+
32: [function (require, module, exports) {
|
|
2797
2774
|
'use strict'
|
|
2798
2775
|
const anObject = require('../internals/an-object')
|
|
2799
2776
|
const iteratorClose = require('../internals/iterator-close')
|
|
@@ -2806,8 +2783,8 @@
|
|
|
2806
2783
|
iteratorClose(iterator, 'throw', error)
|
|
2807
2784
|
}
|
|
2808
2785
|
}
|
|
2809
|
-
}, { '../internals/an-object':
|
|
2810
|
-
|
|
2786
|
+
}, { '../internals/an-object': 30, '../internals/iterator-close': 82 }],
|
|
2787
|
+
33: [function (require, module, exports) {
|
|
2811
2788
|
'use strict'
|
|
2812
2789
|
const uncurryThis = require('../internals/function-uncurry-this')
|
|
2813
2790
|
|
|
@@ -2817,8 +2794,8 @@
|
|
|
2817
2794
|
module.exports = function (it) {
|
|
2818
2795
|
return stringSlice(toString(it), 8, -1)
|
|
2819
2796
|
}
|
|
2820
|
-
}, { '../internals/function-uncurry-this':
|
|
2821
|
-
|
|
2797
|
+
}, { '../internals/function-uncurry-this': 57 }],
|
|
2798
|
+
34: [function (require, module, exports) {
|
|
2822
2799
|
'use strict'
|
|
2823
2800
|
const hasOwn = require('../internals/has-own-property')
|
|
2824
2801
|
const ownKeys = require('../internals/own-keys')
|
|
@@ -2836,8 +2813,8 @@
|
|
|
2836
2813
|
}
|
|
2837
2814
|
}
|
|
2838
2815
|
}
|
|
2839
|
-
}, { '../internals/has-own-property':
|
|
2840
|
-
|
|
2816
|
+
}, { '../internals/has-own-property': 64, '../internals/object-define-property': 95, '../internals/object-get-own-property-descriptor': 96, '../internals/own-keys': 105 }],
|
|
2817
|
+
35: [function (require, module, exports) {
|
|
2841
2818
|
'use strict'
|
|
2842
2819
|
const fails = require('../internals/fails')
|
|
2843
2820
|
|
|
@@ -2847,8 +2824,8 @@
|
|
|
2847
2824
|
// eslint-disable-next-line es/no-object-getprototypeof -- required for testing
|
|
2848
2825
|
return Object.getPrototypeOf(new F()) !== F.prototype
|
|
2849
2826
|
})
|
|
2850
|
-
}, { '../internals/fails':
|
|
2851
|
-
|
|
2827
|
+
}, { '../internals/fails': 50 }],
|
|
2828
|
+
36: [function (require, module, exports) {
|
|
2852
2829
|
'use strict'
|
|
2853
2830
|
// `CreateIterResultObject` abstract operation
|
|
2854
2831
|
// https://tc39.es/ecma262/#sec-createiterresultobject
|
|
@@ -2856,7 +2833,7 @@
|
|
|
2856
2833
|
return { value, done }
|
|
2857
2834
|
}
|
|
2858
2835
|
}, {}],
|
|
2859
|
-
|
|
2836
|
+
37: [function (require, module, exports) {
|
|
2860
2837
|
'use strict'
|
|
2861
2838
|
const DESCRIPTORS = require('../internals/descriptors')
|
|
2862
2839
|
const definePropertyModule = require('../internals/object-define-property')
|
|
@@ -2870,8 +2847,8 @@
|
|
|
2870
2847
|
object[key] = value
|
|
2871
2848
|
return object
|
|
2872
2849
|
}
|
|
2873
|
-
}, { '../internals/create-property-descriptor':
|
|
2874
|
-
|
|
2850
|
+
}, { '../internals/create-property-descriptor': 38, '../internals/descriptors': 44, '../internals/object-define-property': 95 }],
|
|
2851
|
+
38: [function (require, module, exports) {
|
|
2875
2852
|
'use strict'
|
|
2876
2853
|
module.exports = function (bitmap, value) {
|
|
2877
2854
|
return {
|
|
@@ -2882,7 +2859,7 @@
|
|
|
2882
2859
|
}
|
|
2883
2860
|
}
|
|
2884
2861
|
}, {}],
|
|
2885
|
-
|
|
2862
|
+
39: [function (require, module, exports) {
|
|
2886
2863
|
'use strict'
|
|
2887
2864
|
const DESCRIPTORS = require('../internals/descriptors')
|
|
2888
2865
|
const definePropertyModule = require('../internals/object-define-property')
|
|
@@ -2892,8 +2869,8 @@
|
|
|
2892
2869
|
if (DESCRIPTORS) definePropertyModule.f(object, key, createPropertyDescriptor(0, value))
|
|
2893
2870
|
else object[key] = value
|
|
2894
2871
|
}
|
|
2895
|
-
}, { '../internals/create-property-descriptor':
|
|
2896
|
-
|
|
2872
|
+
}, { '../internals/create-property-descriptor': 38, '../internals/descriptors': 44, '../internals/object-define-property': 95 }],
|
|
2873
|
+
40: [function (require, module, exports) {
|
|
2897
2874
|
'use strict'
|
|
2898
2875
|
const makeBuiltIn = require('../internals/make-built-in')
|
|
2899
2876
|
const defineProperty = require('../internals/object-define-property')
|
|
@@ -2903,8 +2880,8 @@
|
|
|
2903
2880
|
if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true })
|
|
2904
2881
|
return defineProperty.f(target, name, descriptor)
|
|
2905
2882
|
}
|
|
2906
|
-
}, { '../internals/make-built-in':
|
|
2907
|
-
|
|
2883
|
+
}, { '../internals/make-built-in': 89, '../internals/object-define-property': 95 }],
|
|
2884
|
+
41: [function (require, module, exports) {
|
|
2908
2885
|
'use strict'
|
|
2909
2886
|
const isCallable = require('../internals/is-callable')
|
|
2910
2887
|
const definePropertyModule = require('../internals/object-define-property')
|
|
@@ -2935,8 +2912,8 @@
|
|
|
2935
2912
|
}
|
|
2936
2913
|
} return O
|
|
2937
2914
|
}
|
|
2938
|
-
}, { '../internals/define-global-property':
|
|
2939
|
-
|
|
2915
|
+
}, { '../internals/define-global-property': 43, '../internals/is-callable': 72, '../internals/make-built-in': 89, '../internals/object-define-property': 95 }],
|
|
2916
|
+
42: [function (require, module, exports) {
|
|
2940
2917
|
'use strict'
|
|
2941
2918
|
const defineBuiltIn = require('../internals/define-built-in')
|
|
2942
2919
|
|
|
@@ -2944,8 +2921,8 @@
|
|
|
2944
2921
|
for (const key in src) defineBuiltIn(target, key, src[key], options)
|
|
2945
2922
|
return target
|
|
2946
2923
|
}
|
|
2947
|
-
}, { '../internals/define-built-in':
|
|
2948
|
-
|
|
2924
|
+
}, { '../internals/define-built-in': 41 }],
|
|
2925
|
+
43: [function (require, module, exports) {
|
|
2949
2926
|
'use strict'
|
|
2950
2927
|
const globalThis = require('../internals/global-this')
|
|
2951
2928
|
|
|
@@ -2959,8 +2936,8 @@
|
|
|
2959
2936
|
globalThis[key] = value
|
|
2960
2937
|
} return value
|
|
2961
2938
|
}
|
|
2962
|
-
}, { '../internals/global-this':
|
|
2963
|
-
|
|
2939
|
+
}, { '../internals/global-this': 63 }],
|
|
2940
|
+
44: [function (require, module, exports) {
|
|
2964
2941
|
'use strict'
|
|
2965
2942
|
const fails = require('../internals/fails')
|
|
2966
2943
|
|
|
@@ -2969,8 +2946,8 @@
|
|
|
2969
2946
|
// eslint-disable-next-line es/no-object-defineproperty -- required for testing
|
|
2970
2947
|
return Object.defineProperty({}, 1, { get: function () { return 7 } })[1] !== 7
|
|
2971
2948
|
})
|
|
2972
|
-
}, { '../internals/fails':
|
|
2973
|
-
|
|
2949
|
+
}, { '../internals/fails': 50 }],
|
|
2950
|
+
45: [function (require, module, exports) {
|
|
2974
2951
|
'use strict'
|
|
2975
2952
|
const globalThis = require('../internals/global-this')
|
|
2976
2953
|
const isObject = require('../internals/is-object')
|
|
@@ -2982,8 +2959,8 @@
|
|
|
2982
2959
|
module.exports = function (it) {
|
|
2983
2960
|
return EXISTS ? document.createElement(it) : {}
|
|
2984
2961
|
}
|
|
2985
|
-
}, { '../internals/global-this':
|
|
2986
|
-
|
|
2962
|
+
}, { '../internals/global-this': 63, '../internals/is-object': 75 }],
|
|
2963
|
+
46: [function (require, module, exports) {
|
|
2987
2964
|
'use strict'
|
|
2988
2965
|
// IE8- don't enum bug keys
|
|
2989
2966
|
module.exports = [
|
|
@@ -2996,7 +2973,7 @@
|
|
|
2996
2973
|
'valueOf'
|
|
2997
2974
|
]
|
|
2998
2975
|
}, {}],
|
|
2999
|
-
|
|
2976
|
+
47: [function (require, module, exports) {
|
|
3000
2977
|
'use strict'
|
|
3001
2978
|
const globalThis = require('../internals/global-this')
|
|
3002
2979
|
|
|
@@ -3004,8 +2981,8 @@
|
|
|
3004
2981
|
const userAgent = navigator && navigator.userAgent
|
|
3005
2982
|
|
|
3006
2983
|
module.exports = userAgent ? String(userAgent) : ''
|
|
3007
|
-
}, { '../internals/global-this':
|
|
3008
|
-
|
|
2984
|
+
}, { '../internals/global-this': 63 }],
|
|
2985
|
+
48: [function (require, module, exports) {
|
|
3009
2986
|
'use strict'
|
|
3010
2987
|
const globalThis = require('../internals/global-this')
|
|
3011
2988
|
const userAgent = require('../internals/environment-user-agent')
|
|
@@ -3034,8 +3011,8 @@
|
|
|
3034
3011
|
}
|
|
3035
3012
|
|
|
3036
3013
|
module.exports = version
|
|
3037
|
-
}, { '../internals/environment-user-agent':
|
|
3038
|
-
|
|
3014
|
+
}, { '../internals/environment-user-agent': 47, '../internals/global-this': 63 }],
|
|
3015
|
+
49: [function (require, module, exports) {
|
|
3039
3016
|
'use strict'
|
|
3040
3017
|
const globalThis = require('../internals/global-this')
|
|
3041
3018
|
const getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f
|
|
@@ -3093,8 +3070,8 @@
|
|
|
3093
3070
|
}
|
|
3094
3071
|
}
|
|
3095
3072
|
}
|
|
3096
|
-
}, { '../internals/copy-constructor-properties':
|
|
3097
|
-
|
|
3073
|
+
}, { '../internals/copy-constructor-properties': 34, '../internals/create-non-enumerable-property': 37, '../internals/define-built-in': 41, '../internals/define-global-property': 43, '../internals/global-this': 63, '../internals/is-forced': 73, '../internals/object-get-own-property-descriptor': 96 }],
|
|
3074
|
+
50: [function (require, module, exports) {
|
|
3098
3075
|
'use strict'
|
|
3099
3076
|
module.exports = function (exec) {
|
|
3100
3077
|
try {
|
|
@@ -3104,7 +3081,7 @@
|
|
|
3104
3081
|
}
|
|
3105
3082
|
}
|
|
3106
3083
|
}, {}],
|
|
3107
|
-
|
|
3084
|
+
51: [function (require, module, exports) {
|
|
3108
3085
|
'use strict'
|
|
3109
3086
|
const NATIVE_BIND = require('../internals/function-bind-native')
|
|
3110
3087
|
|
|
@@ -3118,8 +3095,8 @@
|
|
|
3118
3095
|
: function () {
|
|
3119
3096
|
return call.apply(apply, arguments)
|
|
3120
3097
|
})
|
|
3121
|
-
}, { '../internals/function-bind-native':
|
|
3122
|
-
|
|
3098
|
+
}, { '../internals/function-bind-native': 53 }],
|
|
3099
|
+
52: [function (require, module, exports) {
|
|
3123
3100
|
'use strict'
|
|
3124
3101
|
const uncurryThis = require('../internals/function-uncurry-this-clause')
|
|
3125
3102
|
const aCallable = require('../internals/a-callable')
|
|
@@ -3134,8 +3111,8 @@
|
|
|
3134
3111
|
return fn.apply(that, arguments)
|
|
3135
3112
|
}
|
|
3136
3113
|
}
|
|
3137
|
-
}, { '../internals/a-callable':
|
|
3138
|
-
|
|
3114
|
+
}, { '../internals/a-callable': 26, '../internals/function-bind-native': 53, '../internals/function-uncurry-this-clause': 56 }],
|
|
3115
|
+
53: [function (require, module, exports) {
|
|
3139
3116
|
'use strict'
|
|
3140
3117
|
const fails = require('../internals/fails')
|
|
3141
3118
|
|
|
@@ -3145,8 +3122,8 @@
|
|
|
3145
3122
|
// eslint-disable-next-line no-prototype-builtins -- safe
|
|
3146
3123
|
return typeof test !== 'function' || test.hasOwnProperty('prototype')
|
|
3147
3124
|
})
|
|
3148
|
-
}, { '../internals/fails':
|
|
3149
|
-
|
|
3125
|
+
}, { '../internals/fails': 50 }],
|
|
3126
|
+
54: [function (require, module, exports) {
|
|
3150
3127
|
'use strict'
|
|
3151
3128
|
const NATIVE_BIND = require('../internals/function-bind-native')
|
|
3152
3129
|
|
|
@@ -3157,8 +3134,8 @@
|
|
|
3157
3134
|
: function () {
|
|
3158
3135
|
return call.apply(call, arguments)
|
|
3159
3136
|
}
|
|
3160
|
-
}, { '../internals/function-bind-native':
|
|
3161
|
-
|
|
3137
|
+
}, { '../internals/function-bind-native': 53 }],
|
|
3138
|
+
55: [function (require, module, exports) {
|
|
3162
3139
|
'use strict'
|
|
3163
3140
|
const DESCRIPTORS = require('../internals/descriptors')
|
|
3164
3141
|
const hasOwn = require('../internals/has-own-property')
|
|
@@ -3177,8 +3154,8 @@
|
|
|
3177
3154
|
PROPER,
|
|
3178
3155
|
CONFIGURABLE
|
|
3179
3156
|
}
|
|
3180
|
-
}, { '../internals/descriptors':
|
|
3181
|
-
|
|
3157
|
+
}, { '../internals/descriptors': 44, '../internals/has-own-property': 64 }],
|
|
3158
|
+
56: [function (require, module, exports) {
|
|
3182
3159
|
'use strict'
|
|
3183
3160
|
const classofRaw = require('../internals/classof-raw')
|
|
3184
3161
|
const uncurryThis = require('../internals/function-uncurry-this')
|
|
@@ -3189,8 +3166,8 @@
|
|
|
3189
3166
|
// https://github.com/zloirock/core-js/issues/1130
|
|
3190
3167
|
if (classofRaw(fn) === 'Function') return uncurryThis(fn)
|
|
3191
3168
|
}
|
|
3192
|
-
}, { '../internals/classof-raw':
|
|
3193
|
-
|
|
3169
|
+
}, { '../internals/classof-raw': 33, '../internals/function-uncurry-this': 57 }],
|
|
3170
|
+
57: [function (require, module, exports) {
|
|
3194
3171
|
'use strict'
|
|
3195
3172
|
const NATIVE_BIND = require('../internals/function-bind-native')
|
|
3196
3173
|
|
|
@@ -3206,8 +3183,8 @@
|
|
|
3206
3183
|
return call.apply(fn, arguments)
|
|
3207
3184
|
}
|
|
3208
3185
|
}
|
|
3209
|
-
}, { '../internals/function-bind-native':
|
|
3210
|
-
|
|
3186
|
+
}, { '../internals/function-bind-native': 53 }],
|
|
3187
|
+
58: [function (require, module, exports) {
|
|
3211
3188
|
'use strict'
|
|
3212
3189
|
const globalThis = require('../internals/global-this')
|
|
3213
3190
|
const isCallable = require('../internals/is-callable')
|
|
@@ -3219,8 +3196,8 @@
|
|
|
3219
3196
|
module.exports = function (namespace, method) {
|
|
3220
3197
|
return arguments.length < 2 ? aFunction(globalThis[namespace]) : globalThis[namespace] && globalThis[namespace][method]
|
|
3221
3198
|
}
|
|
3222
|
-
}, { '../internals/global-this':
|
|
3223
|
-
|
|
3199
|
+
}, { '../internals/global-this': 63, '../internals/is-callable': 72 }],
|
|
3200
|
+
59: [function (require, module, exports) {
|
|
3224
3201
|
'use strict'
|
|
3225
3202
|
// `GetIteratorDirect(obj)` abstract operation
|
|
3226
3203
|
// https://tc39.es/ecma262/#sec-getiteratordirect
|
|
@@ -3232,7 +3209,7 @@
|
|
|
3232
3209
|
}
|
|
3233
3210
|
}
|
|
3234
3211
|
}, {}],
|
|
3235
|
-
|
|
3212
|
+
60: [function (require, module, exports) {
|
|
3236
3213
|
'use strict'
|
|
3237
3214
|
const call = require('../internals/function-call')
|
|
3238
3215
|
const isCallable = require('../internals/is-callable')
|
|
@@ -3247,8 +3224,8 @@
|
|
|
3247
3224
|
if (isCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument))
|
|
3248
3225
|
throw new $TypeError(tryToString(argument) + ' is not iterable')
|
|
3249
3226
|
}
|
|
3250
|
-
}, { '../internals/an-object':
|
|
3251
|
-
|
|
3227
|
+
}, { '../internals/an-object': 30, '../internals/function-call': 54, '../internals/get-iterator-method-internal': 61, '../internals/is-callable': 72, '../internals/try-to-string': 119 }],
|
|
3228
|
+
61: [function (require, module, exports) {
|
|
3252
3229
|
'use strict'
|
|
3253
3230
|
const classof = require('../internals/classof-raw')
|
|
3254
3231
|
const isNullOrUndefined = require('../internals/is-null-or-undefined')
|
|
@@ -3265,8 +3242,8 @@
|
|
|
3265
3242
|
(classof(it) === 'Arguments' ? ArrayPrototype[ITERATOR] : undefined)
|
|
3266
3243
|
}
|
|
3267
3244
|
}
|
|
3268
|
-
}, { '../internals/classof-raw':
|
|
3269
|
-
|
|
3245
|
+
}, { '../internals/classof-raw': 33, '../internals/get-method': 62, '../internals/is-null-or-undefined': 74, '../internals/well-known-symbol': 125 }],
|
|
3246
|
+
62: [function (require, module, exports) {
|
|
3270
3247
|
'use strict'
|
|
3271
3248
|
const aCallable = require('../internals/a-callable')
|
|
3272
3249
|
const isNullOrUndefined = require('../internals/is-null-or-undefined')
|
|
@@ -3277,8 +3254,8 @@
|
|
|
3277
3254
|
const func = V[P]
|
|
3278
3255
|
return isNullOrUndefined(func) ? undefined : aCallable(func)
|
|
3279
3256
|
}
|
|
3280
|
-
}, { '../internals/a-callable':
|
|
3281
|
-
|
|
3257
|
+
}, { '../internals/a-callable': 26, '../internals/is-null-or-undefined': 74 }],
|
|
3258
|
+
63: [function (require, module, exports) {
|
|
3282
3259
|
(function (global) {
|
|
3283
3260
|
(function () {
|
|
3284
3261
|
'use strict'
|
|
@@ -3300,7 +3277,7 @@
|
|
|
3300
3277
|
}).call(this)
|
|
3301
3278
|
}).call(this, typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : {})
|
|
3302
3279
|
}, {}],
|
|
3303
|
-
|
|
3280
|
+
64: [function (require, module, exports) {
|
|
3304
3281
|
'use strict'
|
|
3305
3282
|
const uncurryThis = require('../internals/function-uncurry-this')
|
|
3306
3283
|
const toObject = require('../internals/to-object')
|
|
@@ -3313,18 +3290,18 @@
|
|
|
3313
3290
|
module.exports = Object.hasOwn || function hasOwn (it, key) {
|
|
3314
3291
|
return hasOwnProperty(toObject(it), key)
|
|
3315
3292
|
}
|
|
3316
|
-
}, { '../internals/function-uncurry-this':
|
|
3317
|
-
|
|
3293
|
+
}, { '../internals/function-uncurry-this': 57, '../internals/to-object': 116 }],
|
|
3294
|
+
65: [function (require, module, exports) {
|
|
3318
3295
|
'use strict'
|
|
3319
3296
|
module.exports = {}
|
|
3320
3297
|
}, {}],
|
|
3321
|
-
|
|
3298
|
+
66: [function (require, module, exports) {
|
|
3322
3299
|
'use strict'
|
|
3323
3300
|
const getBuiltIn = require('../internals/get-built-in')
|
|
3324
3301
|
|
|
3325
3302
|
module.exports = getBuiltIn('document', 'documentElement')
|
|
3326
|
-
}, { '../internals/get-built-in':
|
|
3327
|
-
|
|
3303
|
+
}, { '../internals/get-built-in': 58 }],
|
|
3304
|
+
67: [function (require, module, exports) {
|
|
3328
3305
|
'use strict'
|
|
3329
3306
|
const DESCRIPTORS = require('../internals/descriptors')
|
|
3330
3307
|
const fails = require('../internals/fails')
|
|
@@ -3337,8 +3314,8 @@
|
|
|
3337
3314
|
get: function () { return 7 }
|
|
3338
3315
|
}).a !== 7
|
|
3339
3316
|
})
|
|
3340
|
-
}, { '../internals/descriptors':
|
|
3341
|
-
|
|
3317
|
+
}, { '../internals/descriptors': 44, '../internals/document-create-element': 45, '../internals/fails': 50 }],
|
|
3318
|
+
68: [function (require, module, exports) {
|
|
3342
3319
|
'use strict'
|
|
3343
3320
|
const uncurryThis = require('../internals/function-uncurry-this')
|
|
3344
3321
|
const fails = require('../internals/fails')
|
|
@@ -3355,8 +3332,8 @@
|
|
|
3355
3332
|
}) ? function (it) {
|
|
3356
3333
|
return classof(it) === 'String' ? split(it, '') : $Object(it)
|
|
3357
3334
|
} : $Object
|
|
3358
|
-
}, { '../internals/classof-raw':
|
|
3359
|
-
|
|
3335
|
+
}, { '../internals/classof-raw': 33, '../internals/fails': 50, '../internals/function-uncurry-this': 57 }],
|
|
3336
|
+
69: [function (require, module, exports) {
|
|
3360
3337
|
'use strict'
|
|
3361
3338
|
const uncurryThis = require('../internals/function-uncurry-this')
|
|
3362
3339
|
const isCallable = require('../internals/is-callable')
|
|
@@ -3372,8 +3349,8 @@
|
|
|
3372
3349
|
}
|
|
3373
3350
|
|
|
3374
3351
|
module.exports = store.inspectSource
|
|
3375
|
-
}, { '../internals/function-uncurry-this':
|
|
3376
|
-
|
|
3352
|
+
}, { '../internals/function-uncurry-this': 57, '../internals/is-callable': 72, '../internals/shared-store': 109 }],
|
|
3353
|
+
70: [function (require, module, exports) {
|
|
3377
3354
|
'use strict'
|
|
3378
3355
|
const NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection')
|
|
3379
3356
|
const globalThis = require('../internals/global-this')
|
|
@@ -3445,8 +3422,8 @@
|
|
|
3445
3422
|
enforce,
|
|
3446
3423
|
getterFor
|
|
3447
3424
|
}
|
|
3448
|
-
}, { '../internals/create-non-enumerable-property':
|
|
3449
|
-
|
|
3425
|
+
}, { '../internals/create-non-enumerable-property': 37, '../internals/global-this': 63, '../internals/has-own-property': 64, '../internals/hidden-keys': 65, '../internals/is-object': 75, '../internals/shared-key': 108, '../internals/shared-store': 109, '../internals/weak-map-basic-detection': 123 }],
|
|
3426
|
+
71: [function (require, module, exports) {
|
|
3450
3427
|
'use strict'
|
|
3451
3428
|
const wellKnownSymbol = require('../internals/well-known-symbol')
|
|
3452
3429
|
const Iterators = require('../internals/iterators')
|
|
@@ -3458,8 +3435,8 @@
|
|
|
3458
3435
|
module.exports = function (it) {
|
|
3459
3436
|
return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it)
|
|
3460
3437
|
}
|
|
3461
|
-
}, { '../internals/iterators':
|
|
3462
|
-
|
|
3438
|
+
}, { '../internals/iterators': 87, '../internals/well-known-symbol': 125 }],
|
|
3439
|
+
72: [function (require, module, exports) {
|
|
3463
3440
|
'use strict'
|
|
3464
3441
|
// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot
|
|
3465
3442
|
const documentAll = typeof document === 'object' && document.all
|
|
@@ -3475,7 +3452,7 @@
|
|
|
3475
3452
|
return typeof argument === 'function'
|
|
3476
3453
|
}
|
|
3477
3454
|
}, {}],
|
|
3478
|
-
|
|
3455
|
+
73: [function (require, module, exports) {
|
|
3479
3456
|
'use strict'
|
|
3480
3457
|
const fails = require('../internals/fails')
|
|
3481
3458
|
const isCallable = require('../internals/is-callable')
|
|
@@ -3502,8 +3479,8 @@
|
|
|
3502
3479
|
var POLYFILL = isForced.POLYFILL = 'P'
|
|
3503
3480
|
|
|
3504
3481
|
module.exports = isForced
|
|
3505
|
-
}, { '../internals/fails':
|
|
3506
|
-
|
|
3482
|
+
}, { '../internals/fails': 50, '../internals/is-callable': 72 }],
|
|
3483
|
+
74: [function (require, module, exports) {
|
|
3507
3484
|
'use strict'
|
|
3508
3485
|
// we can't use just `it == null` since of `document.all` special case
|
|
3509
3486
|
// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec
|
|
@@ -3511,19 +3488,19 @@
|
|
|
3511
3488
|
return it === null || it === undefined
|
|
3512
3489
|
}
|
|
3513
3490
|
}, {}],
|
|
3514
|
-
|
|
3491
|
+
75: [function (require, module, exports) {
|
|
3515
3492
|
'use strict'
|
|
3516
3493
|
const isCallable = require('../internals/is-callable')
|
|
3517
3494
|
|
|
3518
3495
|
module.exports = function (it) {
|
|
3519
3496
|
return typeof it === 'object' ? it !== null : isCallable(it)
|
|
3520
3497
|
}
|
|
3521
|
-
}, { '../internals/is-callable':
|
|
3522
|
-
|
|
3498
|
+
}, { '../internals/is-callable': 72 }],
|
|
3499
|
+
76: [function (require, module, exports) {
|
|
3523
3500
|
'use strict'
|
|
3524
3501
|
module.exports = false
|
|
3525
3502
|
}, {}],
|
|
3526
|
-
|
|
3503
|
+
77: [function (require, module, exports) {
|
|
3527
3504
|
'use strict'
|
|
3528
3505
|
const getBuiltIn = require('../internals/get-built-in')
|
|
3529
3506
|
const isCallable = require('../internals/is-callable')
|
|
@@ -3540,8 +3517,22 @@
|
|
|
3540
3517
|
const $Symbol = getBuiltIn('Symbol')
|
|
3541
3518
|
return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it))
|
|
3542
3519
|
}
|
|
3543
|
-
}, { '../internals/get-built-in':
|
|
3544
|
-
|
|
3520
|
+
}, { '../internals/get-built-in': 58, '../internals/is-callable': 72, '../internals/object-is-prototype-of': 100, '../internals/use-symbol-as-uid': 121 }],
|
|
3521
|
+
78: [function (require, module, exports) {
|
|
3522
|
+
'use strict'
|
|
3523
|
+
const call = require('../internals/function-call')
|
|
3524
|
+
|
|
3525
|
+
module.exports = function (record, fn, ITERATOR_INSTEAD_OF_RECORD) {
|
|
3526
|
+
const iterator = ITERATOR_INSTEAD_OF_RECORD ? record : record.iterator
|
|
3527
|
+
const next = record.next
|
|
3528
|
+
let step, result
|
|
3529
|
+
while (!(step = call(next, iterator)).done) {
|
|
3530
|
+
result = fn(step.value)
|
|
3531
|
+
if (result !== undefined) return result
|
|
3532
|
+
}
|
|
3533
|
+
}
|
|
3534
|
+
}, { '../internals/function-call': 54 }],
|
|
3535
|
+
79: [function (require, module, exports) {
|
|
3545
3536
|
'use strict'
|
|
3546
3537
|
const bind = require('../internals/function-bind-context')
|
|
3547
3538
|
const call = require('../internals/function-call')
|
|
@@ -3616,8 +3607,8 @@
|
|
|
3616
3607
|
if (typeof result === 'object' && result && isPrototypeOf(ResultPrototype, result)) return result
|
|
3617
3608
|
} return new Result(false)
|
|
3618
3609
|
}
|
|
3619
|
-
}, { '../internals/an-object':
|
|
3620
|
-
|
|
3610
|
+
}, { '../internals/an-object': 30, '../internals/function-bind-context': 52, '../internals/function-call': 54, '../internals/get-iterator-internal': 60, '../internals/get-iterator-method-internal': 61, '../internals/is-array-iterator-method': 71, '../internals/iterator-close': 82, '../internals/length-of-array-like': 88, '../internals/object-is-prototype-of': 100, '../internals/try-to-string': 119 }],
|
|
3611
|
+
80: [function (require, module, exports) {
|
|
3621
3612
|
'use strict'
|
|
3622
3613
|
// release references held by exhausted / closed iterator helpers to allow GC of the source chain
|
|
3623
3614
|
module.exports = function (state) {
|
|
@@ -3625,7 +3616,7 @@
|
|
|
3625
3616
|
state.iterables = state.iters = state.openIters = state.padding = state.finishResults = state.buffer = null
|
|
3626
3617
|
}
|
|
3627
3618
|
}, {}],
|
|
3628
|
-
|
|
3619
|
+
81: [function (require, module, exports) {
|
|
3629
3620
|
'use strict'
|
|
3630
3621
|
const iteratorClose = require('../internals/iterator-close')
|
|
3631
3622
|
|
|
@@ -3642,8 +3633,8 @@
|
|
|
3642
3633
|
if (kind === 'throw') throw value
|
|
3643
3634
|
return value
|
|
3644
3635
|
}
|
|
3645
|
-
}, { '../internals/iterator-close':
|
|
3646
|
-
|
|
3636
|
+
}, { '../internals/iterator-close': 82 }],
|
|
3637
|
+
82: [function (require, module, exports) {
|
|
3647
3638
|
'use strict'
|
|
3648
3639
|
const call = require('../internals/function-call')
|
|
3649
3640
|
const anObject = require('../internals/an-object')
|
|
@@ -3668,8 +3659,8 @@
|
|
|
3668
3659
|
anObject(innerResult)
|
|
3669
3660
|
return value
|
|
3670
3661
|
}
|
|
3671
|
-
}, { '../internals/an-object':
|
|
3672
|
-
|
|
3662
|
+
}, { '../internals/an-object': 30, '../internals/function-call': 54, '../internals/get-method': 62 }],
|
|
3663
|
+
83: [function (require, module, exports) {
|
|
3673
3664
|
'use strict'
|
|
3674
3665
|
const call = require('../internals/function-call')
|
|
3675
3666
|
const create = require('../internals/object-create')
|
|
@@ -3769,8 +3760,8 @@
|
|
|
3769
3760
|
|
|
3770
3761
|
return IteratorProxy
|
|
3771
3762
|
}
|
|
3772
|
-
}, { '../internals/create-iter-result-object':
|
|
3773
|
-
|
|
3763
|
+
}, { '../internals/create-iter-result-object': 36, '../internals/create-non-enumerable-property': 37, '../internals/define-built-ins': 42, '../internals/function-call': 54, '../internals/get-method': 62, '../internals/internal-state': 70, '../internals/iterator-cleanup-state': 80, '../internals/iterator-close': 82, '../internals/iterator-close-all': 81, '../internals/iterators-core': 86, '../internals/object-create': 93, '../internals/well-known-symbol': 125 }],
|
|
3764
|
+
84: [function (require, module, exports) {
|
|
3774
3765
|
'use strict'
|
|
3775
3766
|
// Should throw an error on invalid iterator
|
|
3776
3767
|
// https://issues.chromium.org/issues/336839115
|
|
@@ -3786,7 +3777,7 @@
|
|
|
3786
3777
|
}
|
|
3787
3778
|
}
|
|
3788
3779
|
}, {}],
|
|
3789
|
-
|
|
3780
|
+
85: [function (require, module, exports) {
|
|
3790
3781
|
'use strict'
|
|
3791
3782
|
const globalThis = require('../internals/global-this')
|
|
3792
3783
|
|
|
@@ -3812,8 +3803,8 @@
|
|
|
3812
3803
|
|
|
3813
3804
|
if (!CLOSED) return method
|
|
3814
3805
|
}
|
|
3815
|
-
}, { '../internals/global-this':
|
|
3816
|
-
|
|
3806
|
+
}, { '../internals/global-this': 63 }],
|
|
3807
|
+
86: [function (require, module, exports) {
|
|
3817
3808
|
'use strict'
|
|
3818
3809
|
const fails = require('../internals/fails')
|
|
3819
3810
|
const isCallable = require('../internals/is-callable')
|
|
@@ -3863,12 +3854,12 @@
|
|
|
3863
3854
|
IteratorPrototype,
|
|
3864
3855
|
BUGGY_SAFARI_ITERATORS
|
|
3865
3856
|
}
|
|
3866
|
-
}, { '../internals/define-built-in':
|
|
3867
|
-
|
|
3857
|
+
}, { '../internals/define-built-in': 41, '../internals/fails': 50, '../internals/is-callable': 72, '../internals/is-object': 75, '../internals/is-pure': 76, '../internals/object-create': 93, '../internals/object-get-prototype-of': 99, '../internals/well-known-symbol': 125 }],
|
|
3858
|
+
87: [function (require, module, exports) {
|
|
3868
3859
|
'use strict'
|
|
3869
3860
|
module.exports = Object.create ? Object.create(null) : {}
|
|
3870
3861
|
}, {}],
|
|
3871
|
-
|
|
3862
|
+
88: [function (require, module, exports) {
|
|
3872
3863
|
'use strict'
|
|
3873
3864
|
const toLength = require('../internals/to-length')
|
|
3874
3865
|
|
|
@@ -3877,8 +3868,8 @@
|
|
|
3877
3868
|
module.exports = function (obj) {
|
|
3878
3869
|
return toLength(obj.length)
|
|
3879
3870
|
}
|
|
3880
|
-
}, { '../internals/to-length':
|
|
3881
|
-
|
|
3871
|
+
}, { '../internals/to-length': 115 }],
|
|
3872
|
+
89: [function (require, module, exports) {
|
|
3882
3873
|
'use strict'
|
|
3883
3874
|
const uncurryThis = require('../internals/function-uncurry-this')
|
|
3884
3875
|
const fails = require('../internals/fails')
|
|
@@ -3934,8 +3925,45 @@
|
|
|
3934
3925
|
Function.prototype.toString = makeBuiltIn(function toString () {
|
|
3935
3926
|
return isCallable(this) && getInternalState(this).source || inspectSource(this)
|
|
3936
3927
|
}, 'toString')
|
|
3937
|
-
}, { '../internals/descriptors':
|
|
3938
|
-
|
|
3928
|
+
}, { '../internals/descriptors': 44, '../internals/fails': 50, '../internals/function-name': 55, '../internals/function-uncurry-this': 57, '../internals/has-own-property': 64, '../internals/inspect-source': 69, '../internals/internal-state': 70, '../internals/is-callable': 72 }],
|
|
3929
|
+
90: [function (require, module, exports) {
|
|
3930
|
+
'use strict'
|
|
3931
|
+
const uncurryThis = require('../internals/function-uncurry-this')
|
|
3932
|
+
|
|
3933
|
+
// eslint-disable-next-line es/no-map -- safe
|
|
3934
|
+
const MapPrototype = Map.prototype
|
|
3935
|
+
|
|
3936
|
+
module.exports = {
|
|
3937
|
+
// eslint-disable-next-line es/no-map -- safe
|
|
3938
|
+
Map,
|
|
3939
|
+
set: uncurryThis(MapPrototype.set),
|
|
3940
|
+
get: uncurryThis(MapPrototype.get),
|
|
3941
|
+
has: uncurryThis(MapPrototype.has),
|
|
3942
|
+
remove: uncurryThis(MapPrototype.delete),
|
|
3943
|
+
proto: MapPrototype
|
|
3944
|
+
}
|
|
3945
|
+
}, { '../internals/function-uncurry-this': 57 }],
|
|
3946
|
+
91: [function (require, module, exports) {
|
|
3947
|
+
'use strict'
|
|
3948
|
+
const uncurryThis = require('../internals/function-uncurry-this')
|
|
3949
|
+
const iterateSimple = require('../internals/iterate-simple')
|
|
3950
|
+
const MapHelpers = require('../internals/map-helpers')
|
|
3951
|
+
|
|
3952
|
+
const Map = MapHelpers.Map
|
|
3953
|
+
const MapPrototype = MapHelpers.proto
|
|
3954
|
+
const forEach = uncurryThis(MapPrototype.forEach)
|
|
3955
|
+
const entries = uncurryThis(MapPrototype.entries)
|
|
3956
|
+
const next = entries(new Map()).next
|
|
3957
|
+
|
|
3958
|
+
module.exports = function (map, fn, interruptible) {
|
|
3959
|
+
return interruptible
|
|
3960
|
+
? iterateSimple({ iterator: entries(map), next }, function (entry) {
|
|
3961
|
+
return fn(entry[1], entry[0])
|
|
3962
|
+
})
|
|
3963
|
+
: forEach(map, fn)
|
|
3964
|
+
}
|
|
3965
|
+
}, { '../internals/function-uncurry-this': 57, '../internals/iterate-simple': 78, '../internals/map-helpers': 90 }],
|
|
3966
|
+
92: [function (require, module, exports) {
|
|
3939
3967
|
'use strict'
|
|
3940
3968
|
const ceil = Math.ceil
|
|
3941
3969
|
const floor = Math.floor
|
|
@@ -3948,7 +3976,7 @@
|
|
|
3948
3976
|
return (n > 0 ? floor : ceil)(n)
|
|
3949
3977
|
}
|
|
3950
3978
|
}, {}],
|
|
3951
|
-
|
|
3979
|
+
93: [function (require, module, exports) {
|
|
3952
3980
|
'use strict'
|
|
3953
3981
|
/* global ActiveXObject -- old IE, WSH */
|
|
3954
3982
|
const anObject = require('../internals/an-object')
|
|
@@ -4034,8 +4062,8 @@
|
|
|
4034
4062
|
} else result = NullProtoObject()
|
|
4035
4063
|
return Properties === undefined ? result : definePropertiesModule.f(result, Properties)
|
|
4036
4064
|
}
|
|
4037
|
-
}, { '../internals/an-object':
|
|
4038
|
-
|
|
4065
|
+
}, { '../internals/an-object': 30, '../internals/document-create-element': 45, '../internals/enum-bug-keys': 46, '../internals/hidden-keys': 65, '../internals/html': 66, '../internals/object-define-properties': 94, '../internals/shared-key': 108 }],
|
|
4066
|
+
94: [function (require, module, exports) {
|
|
4039
4067
|
'use strict'
|
|
4040
4068
|
const DESCRIPTORS = require('../internals/descriptors')
|
|
4041
4069
|
const V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug')
|
|
@@ -4059,8 +4087,8 @@
|
|
|
4059
4087
|
while (length > index) definePropertyModule.f(O, key = keys[index++], props[key])
|
|
4060
4088
|
return O
|
|
4061
4089
|
}
|
|
4062
|
-
}, { '../internals/an-object':
|
|
4063
|
-
|
|
4090
|
+
}, { '../internals/an-object': 30, '../internals/descriptors': 44, '../internals/object-define-property': 95, '../internals/object-keys': 102, '../internals/to-indexed-object': 113, '../internals/v8-prototype-define-bug': 122 }],
|
|
4091
|
+
95: [function (require, module, exports) {
|
|
4064
4092
|
'use strict'
|
|
4065
4093
|
const DESCRIPTORS = require('../internals/descriptors')
|
|
4066
4094
|
const IE8_DOM_DEFINE = require('../internals/ie8-dom-define')
|
|
@@ -4109,8 +4137,8 @@
|
|
|
4109
4137
|
if ('value' in Attributes) O[P] = Attributes.value
|
|
4110
4138
|
return O
|
|
4111
4139
|
}
|
|
4112
|
-
}, { '../internals/an-object':
|
|
4113
|
-
|
|
4140
|
+
}, { '../internals/an-object': 30, '../internals/descriptors': 44, '../internals/ie8-dom-define': 67, '../internals/to-property-key': 118, '../internals/v8-prototype-define-bug': 122 }],
|
|
4141
|
+
96: [function (require, module, exports) {
|
|
4114
4142
|
'use strict'
|
|
4115
4143
|
const DESCRIPTORS = require('../internals/descriptors')
|
|
4116
4144
|
const call = require('../internals/function-call')
|
|
@@ -4136,8 +4164,8 @@
|
|
|
4136
4164
|
}
|
|
4137
4165
|
if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P])
|
|
4138
4166
|
}
|
|
4139
|
-
}, { '../internals/create-property-descriptor':
|
|
4140
|
-
|
|
4167
|
+
}, { '../internals/create-property-descriptor': 38, '../internals/descriptors': 44, '../internals/function-call': 54, '../internals/has-own-property': 64, '../internals/ie8-dom-define': 67, '../internals/object-property-is-enumerable': 103, '../internals/to-indexed-object': 113, '../internals/to-property-key': 118 }],
|
|
4168
|
+
97: [function (require, module, exports) {
|
|
4141
4169
|
'use strict'
|
|
4142
4170
|
const internalObjectKeys = require('../internals/object-keys-internal')
|
|
4143
4171
|
const enumBugKeys = require('../internals/enum-bug-keys')
|
|
@@ -4150,13 +4178,13 @@
|
|
|
4150
4178
|
exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames (O) {
|
|
4151
4179
|
return internalObjectKeys(O, hiddenKeys)
|
|
4152
4180
|
}
|
|
4153
|
-
}, { '../internals/enum-bug-keys':
|
|
4154
|
-
|
|
4181
|
+
}, { '../internals/enum-bug-keys': 46, '../internals/object-keys-internal': 101 }],
|
|
4182
|
+
98: [function (require, module, exports) {
|
|
4155
4183
|
'use strict'
|
|
4156
4184
|
// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe
|
|
4157
4185
|
exports.f = Object.getOwnPropertySymbols
|
|
4158
4186
|
}, {}],
|
|
4159
|
-
|
|
4187
|
+
99: [function (require, module, exports) {
|
|
4160
4188
|
'use strict'
|
|
4161
4189
|
const hasOwn = require('../internals/has-own-property')
|
|
4162
4190
|
const isCallable = require('../internals/is-callable')
|
|
@@ -4181,14 +4209,14 @@
|
|
|
4181
4209
|
return constructor.prototype
|
|
4182
4210
|
} return object instanceof $Object ? ObjectPrototype : null
|
|
4183
4211
|
}
|
|
4184
|
-
}, { '../internals/correct-prototype-getter':
|
|
4185
|
-
|
|
4212
|
+
}, { '../internals/correct-prototype-getter': 35, '../internals/has-own-property': 64, '../internals/is-callable': 72, '../internals/shared-key': 108, '../internals/to-object': 116 }],
|
|
4213
|
+
100: [function (require, module, exports) {
|
|
4186
4214
|
'use strict'
|
|
4187
4215
|
const uncurryThis = require('../internals/function-uncurry-this')
|
|
4188
4216
|
|
|
4189
4217
|
module.exports = uncurryThis({}.isPrototypeOf)
|
|
4190
|
-
}, { '../internals/function-uncurry-this':
|
|
4191
|
-
|
|
4218
|
+
}, { '../internals/function-uncurry-this': 57 }],
|
|
4219
|
+
101: [function (require, module, exports) {
|
|
4192
4220
|
'use strict'
|
|
4193
4221
|
const uncurryThis = require('../internals/function-uncurry-this')
|
|
4194
4222
|
const hasOwn = require('../internals/has-own-property')
|
|
@@ -4212,8 +4240,8 @@
|
|
|
4212
4240
|
}
|
|
4213
4241
|
return result
|
|
4214
4242
|
}
|
|
4215
|
-
}, { '../internals/array-includes':
|
|
4216
|
-
|
|
4243
|
+
}, { '../internals/array-includes': 31, '../internals/function-uncurry-this': 57, '../internals/has-own-property': 64, '../internals/hidden-keys': 65, '../internals/to-indexed-object': 113 }],
|
|
4244
|
+
102: [function (require, module, exports) {
|
|
4217
4245
|
'use strict'
|
|
4218
4246
|
const internalObjectKeys = require('../internals/object-keys-internal')
|
|
4219
4247
|
const enumBugKeys = require('../internals/enum-bug-keys')
|
|
@@ -4224,8 +4252,8 @@
|
|
|
4224
4252
|
module.exports = Object.keys || function keys (O) {
|
|
4225
4253
|
return internalObjectKeys(O, enumBugKeys)
|
|
4226
4254
|
}
|
|
4227
|
-
}, { '../internals/enum-bug-keys':
|
|
4228
|
-
|
|
4255
|
+
}, { '../internals/enum-bug-keys': 46, '../internals/object-keys-internal': 101 }],
|
|
4256
|
+
103: [function (require, module, exports) {
|
|
4229
4257
|
'use strict'
|
|
4230
4258
|
const $propertyIsEnumerable = {}.propertyIsEnumerable
|
|
4231
4259
|
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
|
|
@@ -4243,7 +4271,7 @@
|
|
|
4243
4271
|
}
|
|
4244
4272
|
: $propertyIsEnumerable
|
|
4245
4273
|
}, {}],
|
|
4246
|
-
|
|
4274
|
+
104: [function (require, module, exports) {
|
|
4247
4275
|
'use strict'
|
|
4248
4276
|
const call = require('../internals/function-call')
|
|
4249
4277
|
const isCallable = require('../internals/is-callable')
|
|
@@ -4260,8 +4288,8 @@
|
|
|
4260
4288
|
if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val
|
|
4261
4289
|
throw new $TypeError("Can't convert object to primitive value")
|
|
4262
4290
|
}
|
|
4263
|
-
}, { '../internals/function-call':
|
|
4264
|
-
|
|
4291
|
+
}, { '../internals/function-call': 54, '../internals/is-callable': 72, '../internals/is-object': 75 }],
|
|
4292
|
+
105: [function (require, module, exports) {
|
|
4265
4293
|
'use strict'
|
|
4266
4294
|
const getBuiltIn = require('../internals/get-built-in')
|
|
4267
4295
|
const uncurryThis = require('../internals/function-uncurry-this')
|
|
@@ -4277,8 +4305,8 @@
|
|
|
4277
4305
|
const getOwnPropertySymbols = getOwnPropertySymbolsModule.f
|
|
4278
4306
|
return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys
|
|
4279
4307
|
}
|
|
4280
|
-
}, { '../internals/an-object':
|
|
4281
|
-
|
|
4308
|
+
}, { '../internals/an-object': 30, '../internals/function-uncurry-this': 57, '../internals/get-built-in': 58, '../internals/object-get-own-property-names': 97, '../internals/object-get-own-property-symbols': 98 }],
|
|
4309
|
+
106: [function (require, module, exports) {
|
|
4282
4310
|
'use strict'
|
|
4283
4311
|
const isNullOrUndefined = require('../internals/is-null-or-undefined')
|
|
4284
4312
|
|
|
@@ -4290,8 +4318,17 @@
|
|
|
4290
4318
|
if (isNullOrUndefined(it)) throw new $TypeError("Can't call method on " + it)
|
|
4291
4319
|
return it
|
|
4292
4320
|
}
|
|
4293
|
-
}, { '../internals/is-null-or-undefined':
|
|
4294
|
-
|
|
4321
|
+
}, { '../internals/is-null-or-undefined': 74 }],
|
|
4322
|
+
107: [function (require, module, exports) {
|
|
4323
|
+
'use strict'
|
|
4324
|
+
// `SameValueZero` abstract operation
|
|
4325
|
+
// https://tc39.es/ecma262/#sec-samevaluezero
|
|
4326
|
+
module.exports = function (x, y) {
|
|
4327
|
+
// eslint-disable-next-line no-self-compare -- NaN check
|
|
4328
|
+
return x === y || x !== x && y !== y
|
|
4329
|
+
}
|
|
4330
|
+
}, {}],
|
|
4331
|
+
108: [function (require, module, exports) {
|
|
4295
4332
|
'use strict'
|
|
4296
4333
|
const shared = require('../internals/shared')
|
|
4297
4334
|
const uid = require('../internals/uid')
|
|
@@ -4301,8 +4338,8 @@
|
|
|
4301
4338
|
module.exports = function (key) {
|
|
4302
4339
|
return keys[key] || (keys[key] = uid(key))
|
|
4303
4340
|
}
|
|
4304
|
-
}, { '../internals/shared':
|
|
4305
|
-
|
|
4341
|
+
}, { '../internals/shared': 110, '../internals/uid': 120 }],
|
|
4342
|
+
109: [function (require, module, exports) {
|
|
4306
4343
|
'use strict'
|
|
4307
4344
|
const IS_PURE = require('../internals/is-pure')
|
|
4308
4345
|
const globalThis = require('../internals/global-this')
|
|
@@ -4318,8 +4355,8 @@
|
|
|
4318
4355
|
license: 'https://github.com/zloirock/core-js/blob/v3.50.0/LICENSE',
|
|
4319
4356
|
source: 'https://github.com/zloirock/core-js'
|
|
4320
4357
|
})
|
|
4321
|
-
}, { '../internals/define-global-property':
|
|
4322
|
-
|
|
4358
|
+
}, { '../internals/define-global-property': 43, '../internals/global-this': 63, '../internals/is-pure': 76 }],
|
|
4359
|
+
110: [function (require, module, exports) {
|
|
4323
4360
|
'use strict'
|
|
4324
4361
|
const store = require('../internals/shared-store')
|
|
4325
4362
|
// eslint-disable-next-line es/no-object-create -- safe
|
|
@@ -4328,8 +4365,8 @@
|
|
|
4328
4365
|
module.exports = function (key, value) {
|
|
4329
4366
|
return store[key] || (store[key] = value || create(null))
|
|
4330
4367
|
}
|
|
4331
|
-
}, { '../internals/shared-store':
|
|
4332
|
-
|
|
4368
|
+
}, { '../internals/shared-store': 109 }],
|
|
4369
|
+
111: [function (require, module, exports) {
|
|
4333
4370
|
'use strict'
|
|
4334
4371
|
/* eslint-disable es/no-symbol -- required for testing */
|
|
4335
4372
|
const V8_VERSION = require('../internals/environment-v8-version')
|
|
@@ -4349,8 +4386,8 @@
|
|
|
4349
4386
|
// Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
|
|
4350
4387
|
!Symbol.sham && V8_VERSION && V8_VERSION < 41
|
|
4351
4388
|
})
|
|
4352
|
-
}, { '../internals/environment-v8-version':
|
|
4353
|
-
|
|
4389
|
+
}, { '../internals/environment-v8-version': 48, '../internals/fails': 50, '../internals/global-this': 63 }],
|
|
4390
|
+
112: [function (require, module, exports) {
|
|
4354
4391
|
'use strict'
|
|
4355
4392
|
const toIntegerOrInfinity = require('../internals/to-integer-or-infinity')
|
|
4356
4393
|
|
|
@@ -4364,8 +4401,8 @@
|
|
|
4364
4401
|
const integer = toIntegerOrInfinity(index)
|
|
4365
4402
|
return integer < 0 ? max(integer + length, 0) : min(integer, length)
|
|
4366
4403
|
}
|
|
4367
|
-
}, { '../internals/to-integer-or-infinity':
|
|
4368
|
-
|
|
4404
|
+
}, { '../internals/to-integer-or-infinity': 114 }],
|
|
4405
|
+
113: [function (require, module, exports) {
|
|
4369
4406
|
'use strict'
|
|
4370
4407
|
// toObject with fallback for non-array-like ES3 strings
|
|
4371
4408
|
const IndexedObject = require('../internals/indexed-object')
|
|
@@ -4374,8 +4411,8 @@
|
|
|
4374
4411
|
module.exports = function (it) {
|
|
4375
4412
|
return IndexedObject(requireObjectCoercible(it))
|
|
4376
4413
|
}
|
|
4377
|
-
}, { '../internals/indexed-object':
|
|
4378
|
-
|
|
4414
|
+
}, { '../internals/indexed-object': 68, '../internals/require-object-coercible': 106 }],
|
|
4415
|
+
114: [function (require, module, exports) {
|
|
4379
4416
|
'use strict'
|
|
4380
4417
|
const trunc = require('../internals/math-trunc')
|
|
4381
4418
|
|
|
@@ -4386,8 +4423,8 @@
|
|
|
4386
4423
|
// eslint-disable-next-line no-self-compare -- NaN check
|
|
4387
4424
|
return number !== number || number === 0 ? 0 : trunc(number)
|
|
4388
4425
|
}
|
|
4389
|
-
}, { '../internals/math-trunc':
|
|
4390
|
-
|
|
4426
|
+
}, { '../internals/math-trunc': 92 }],
|
|
4427
|
+
115: [function (require, module, exports) {
|
|
4391
4428
|
'use strict'
|
|
4392
4429
|
const toIntegerOrInfinity = require('../internals/to-integer-or-infinity')
|
|
4393
4430
|
|
|
@@ -4399,8 +4436,8 @@
|
|
|
4399
4436
|
const len = toIntegerOrInfinity(argument)
|
|
4400
4437
|
return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0 // 2 ** 53 - 1 == 9007199254740991
|
|
4401
4438
|
}
|
|
4402
|
-
}, { '../internals/to-integer-or-infinity':
|
|
4403
|
-
|
|
4439
|
+
}, { '../internals/to-integer-or-infinity': 114 }],
|
|
4440
|
+
116: [function (require, module, exports) {
|
|
4404
4441
|
'use strict'
|
|
4405
4442
|
const requireObjectCoercible = require('../internals/require-object-coercible')
|
|
4406
4443
|
|
|
@@ -4411,8 +4448,8 @@
|
|
|
4411
4448
|
module.exports = function (argument) {
|
|
4412
4449
|
return $Object(requireObjectCoercible(argument))
|
|
4413
4450
|
}
|
|
4414
|
-
}, { '../internals/require-object-coercible':
|
|
4415
|
-
|
|
4451
|
+
}, { '../internals/require-object-coercible': 106 }],
|
|
4452
|
+
117: [function (require, module, exports) {
|
|
4416
4453
|
'use strict'
|
|
4417
4454
|
const call = require('../internals/function-call')
|
|
4418
4455
|
const isObject = require('../internals/is-object')
|
|
@@ -4439,8 +4476,8 @@
|
|
|
4439
4476
|
if (pref === undefined) pref = 'number'
|
|
4440
4477
|
return ordinaryToPrimitive(input, pref)
|
|
4441
4478
|
}
|
|
4442
|
-
}, { '../internals/function-call':
|
|
4443
|
-
|
|
4479
|
+
}, { '../internals/function-call': 54, '../internals/get-method': 62, '../internals/is-object': 75, '../internals/is-symbol': 77, '../internals/ordinary-to-primitive': 104, '../internals/well-known-symbol': 125 }],
|
|
4480
|
+
118: [function (require, module, exports) {
|
|
4444
4481
|
'use strict'
|
|
4445
4482
|
const toPrimitive = require('../internals/to-primitive')
|
|
4446
4483
|
const isSymbol = require('../internals/is-symbol')
|
|
@@ -4451,8 +4488,8 @@
|
|
|
4451
4488
|
const key = toPrimitive(argument, 'string')
|
|
4452
4489
|
return isSymbol(key) ? key : key + ''
|
|
4453
4490
|
}
|
|
4454
|
-
}, { '../internals/is-symbol':
|
|
4455
|
-
|
|
4491
|
+
}, { '../internals/is-symbol': 77, '../internals/to-primitive': 117 }],
|
|
4492
|
+
119: [function (require, module, exports) {
|
|
4456
4493
|
'use strict'
|
|
4457
4494
|
const $String = String
|
|
4458
4495
|
|
|
@@ -4464,7 +4501,7 @@
|
|
|
4464
4501
|
}
|
|
4465
4502
|
}
|
|
4466
4503
|
}, {}],
|
|
4467
|
-
|
|
4504
|
+
120: [function (require, module, exports) {
|
|
4468
4505
|
'use strict'
|
|
4469
4506
|
const uncurryThis = require('../internals/function-uncurry-this')
|
|
4470
4507
|
|
|
@@ -4475,8 +4512,8 @@
|
|
|
4475
4512
|
module.exports = function (key) {
|
|
4476
4513
|
return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36)
|
|
4477
4514
|
}
|
|
4478
|
-
}, { '../internals/function-uncurry-this':
|
|
4479
|
-
|
|
4515
|
+
}, { '../internals/function-uncurry-this': 57 }],
|
|
4516
|
+
121: [function (require, module, exports) {
|
|
4480
4517
|
'use strict'
|
|
4481
4518
|
/* eslint-disable es/no-symbol -- required for testing */
|
|
4482
4519
|
const NATIVE_SYMBOL = require('../internals/symbol-constructor-detection')
|
|
@@ -4484,8 +4521,8 @@
|
|
|
4484
4521
|
module.exports = NATIVE_SYMBOL &&
|
|
4485
4522
|
!Symbol.sham &&
|
|
4486
4523
|
typeof Symbol.iterator === 'symbol'
|
|
4487
|
-
}, { '../internals/symbol-constructor-detection':
|
|
4488
|
-
|
|
4524
|
+
}, { '../internals/symbol-constructor-detection': 111 }],
|
|
4525
|
+
122: [function (require, module, exports) {
|
|
4489
4526
|
'use strict'
|
|
4490
4527
|
const DESCRIPTORS = require('../internals/descriptors')
|
|
4491
4528
|
const fails = require('../internals/fails')
|
|
@@ -4499,8 +4536,8 @@
|
|
|
4499
4536
|
writable: false
|
|
4500
4537
|
}).prototype !== 42
|
|
4501
4538
|
})
|
|
4502
|
-
}, { '../internals/descriptors':
|
|
4503
|
-
|
|
4539
|
+
}, { '../internals/descriptors': 44, '../internals/fails': 50 }],
|
|
4540
|
+
123: [function (require, module, exports) {
|
|
4504
4541
|
'use strict'
|
|
4505
4542
|
const globalThis = require('../internals/global-this')
|
|
4506
4543
|
const isCallable = require('../internals/is-callable')
|
|
@@ -4508,8 +4545,24 @@
|
|
|
4508
4545
|
const WeakMap = globalThis.WeakMap
|
|
4509
4546
|
|
|
4510
4547
|
module.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap))
|
|
4511
|
-
}, { '../internals/global-this':
|
|
4512
|
-
|
|
4548
|
+
}, { '../internals/global-this': 63, '../internals/is-callable': 72 }],
|
|
4549
|
+
124: [function (require, module, exports) {
|
|
4550
|
+
'use strict'
|
|
4551
|
+
const uncurryThis = require('../internals/function-uncurry-this')
|
|
4552
|
+
|
|
4553
|
+
// eslint-disable-next-line es/no-weak-map -- safe
|
|
4554
|
+
const WeakMapPrototype = WeakMap.prototype
|
|
4555
|
+
|
|
4556
|
+
module.exports = {
|
|
4557
|
+
// eslint-disable-next-line es/no-weak-map -- safe
|
|
4558
|
+
WeakMap,
|
|
4559
|
+
set: uncurryThis(WeakMapPrototype.set),
|
|
4560
|
+
get: uncurryThis(WeakMapPrototype.get),
|
|
4561
|
+
has: uncurryThis(WeakMapPrototype.has),
|
|
4562
|
+
remove: uncurryThis(WeakMapPrototype.delete)
|
|
4563
|
+
}
|
|
4564
|
+
}, { '../internals/function-uncurry-this': 57 }],
|
|
4565
|
+
125: [function (require, module, exports) {
|
|
4513
4566
|
'use strict'
|
|
4514
4567
|
const globalThis = require('../internals/global-this')
|
|
4515
4568
|
const shared = require('../internals/shared')
|
|
@@ -4529,8 +4582,8 @@
|
|
|
4529
4582
|
: createWellKnownSymbol('Symbol.' + name)
|
|
4530
4583
|
} return WellKnownSymbolsStore[name]
|
|
4531
4584
|
}
|
|
4532
|
-
}, { '../internals/global-this':
|
|
4533
|
-
|
|
4585
|
+
}, { '../internals/global-this': 63, '../internals/has-own-property': 64, '../internals/shared': 110, '../internals/symbol-constructor-detection': 111, '../internals/uid': 120, '../internals/use-symbol-as-uid': 121 }],
|
|
4586
|
+
126: [function (require, module, exports) {
|
|
4534
4587
|
'use strict'
|
|
4535
4588
|
const $ = require('../internals/export')
|
|
4536
4589
|
const globalThis = require('../internals/global-this')
|
|
@@ -4596,8 +4649,8 @@
|
|
|
4596
4649
|
$({ global: true, constructor: true, forced: FORCED }, {
|
|
4597
4650
|
Iterator: IteratorConstructor
|
|
4598
4651
|
})
|
|
4599
|
-
}, { '../internals/an-instance':
|
|
4600
|
-
|
|
4652
|
+
}, { '../internals/an-instance': 29, '../internals/an-object': 30, '../internals/create-property': 39, '../internals/define-built-in-accessor': 40, '../internals/descriptors': 44, '../internals/export': 49, '../internals/fails': 50, '../internals/global-this': 63, '../internals/has-own-property': 64, '../internals/is-callable': 72, '../internals/is-pure': 76, '../internals/iterators-core': 86, '../internals/object-get-prototype-of': 99, '../internals/well-known-symbol': 125 }],
|
|
4653
|
+
127: [function (require, module, exports) {
|
|
4601
4654
|
'use strict'
|
|
4602
4655
|
const $ = require('../internals/export')
|
|
4603
4656
|
const call = require('../internals/function-call')
|
|
@@ -4630,8 +4683,8 @@
|
|
|
4630
4683
|
}, { IS_RECORD: true })
|
|
4631
4684
|
}
|
|
4632
4685
|
})
|
|
4633
|
-
}, { '../internals/a-callable':
|
|
4634
|
-
|
|
4686
|
+
}, { '../internals/a-callable': 26, '../internals/an-object': 30, '../internals/export': 49, '../internals/function-call': 54, '../internals/get-iterator-direct': 59, '../internals/iterate': 79, '../internals/iterator-close': 82, '../internals/iterator-helper-without-closing-on-early-error': 85 }],
|
|
4687
|
+
128: [function (require, module, exports) {
|
|
4635
4688
|
'use strict'
|
|
4636
4689
|
const $ = require('../internals/export')
|
|
4637
4690
|
const call = require('../internals/function-call')
|
|
@@ -4676,8 +4729,8 @@
|
|
|
4676
4729
|
})
|
|
4677
4730
|
}
|
|
4678
4731
|
})
|
|
4679
|
-
}, { '../internals/a-callable':
|
|
4680
|
-
|
|
4732
|
+
}, { '../internals/a-callable': 26, '../internals/an-object': 30, '../internals/call-with-safe-iteration-closing': 32, '../internals/export': 49, '../internals/function-call': 54, '../internals/get-iterator-direct': 59, '../internals/is-pure': 76, '../internals/iterator-close': 82, '../internals/iterator-create-proxy': 83, '../internals/iterator-helper-throws-on-invalid-iterator': 84, '../internals/iterator-helper-without-closing-on-early-error': 85 }],
|
|
4733
|
+
129: [function (require, module, exports) {
|
|
4681
4734
|
'use strict'
|
|
4682
4735
|
const $ = require('../internals/export')
|
|
4683
4736
|
const iterate = require('../internals/iterate')
|
|
@@ -4730,25 +4783,335 @@
|
|
|
4730
4783
|
return accumulator
|
|
4731
4784
|
}
|
|
4732
4785
|
})
|
|
4733
|
-
}, { '../internals/a-callable':
|
|
4734
|
-
|
|
4786
|
+
}, { '../internals/a-callable': 26, '../internals/an-object': 30, '../internals/export': 49, '../internals/fails': 50, '../internals/function-apply': 51, '../internals/get-iterator-direct': 59, '../internals/iterate': 79, '../internals/iterator-close': 82, '../internals/iterator-helper-without-closing-on-early-error': 85 }],
|
|
4787
|
+
130: [function (require, module, exports) {
|
|
4735
4788
|
'use strict'
|
|
4736
4789
|
// TODO: Remove from `core-js@4`
|
|
4737
4790
|
require('../modules/es.iterator.constructor')
|
|
4738
|
-
}, { '../modules/es.iterator.constructor':
|
|
4739
|
-
|
|
4791
|
+
}, { '../modules/es.iterator.constructor': 126 }],
|
|
4792
|
+
131: [function (require, module, exports) {
|
|
4740
4793
|
'use strict'
|
|
4741
4794
|
// TODO: Remove from `core-js@4`
|
|
4742
4795
|
require('../modules/es.iterator.for-each')
|
|
4743
|
-
}, { '../modules/es.iterator.for-each':
|
|
4744
|
-
|
|
4796
|
+
}, { '../modules/es.iterator.for-each': 127 }],
|
|
4797
|
+
132: [function (require, module, exports) {
|
|
4745
4798
|
'use strict'
|
|
4746
4799
|
// TODO: Remove from `core-js@4`
|
|
4747
4800
|
require('../modules/es.iterator.map')
|
|
4748
|
-
}, { '../modules/es.iterator.map':
|
|
4749
|
-
|
|
4801
|
+
}, { '../modules/es.iterator.map': 128 }],
|
|
4802
|
+
133: [function (require, module, exports) {
|
|
4750
4803
|
'use strict'
|
|
4751
4804
|
// TODO: Remove from `core-js@4`
|
|
4752
4805
|
require('../modules/es.iterator.reduce')
|
|
4753
|
-
}, { '../modules/es.iterator.reduce':
|
|
4754
|
-
|
|
4806
|
+
}, { '../modules/es.iterator.reduce': 129 }],
|
|
4807
|
+
134: [function (require, module, exports) {
|
|
4808
|
+
'use strict'
|
|
4809
|
+
const $ = require('../internals/export')
|
|
4810
|
+
const aMap = require('../internals/a-map')
|
|
4811
|
+
const remove = require('../internals/map-helpers').remove
|
|
4812
|
+
|
|
4813
|
+
// `Map.prototype.deleteAll` method
|
|
4814
|
+
// https://github.com/tc39/proposal-collection-methods
|
|
4815
|
+
$({ target: 'Map', proto: true, real: true, forced: true }, {
|
|
4816
|
+
deleteAll: function deleteAll (/* ...elements */) {
|
|
4817
|
+
const collection = aMap(this)
|
|
4818
|
+
let allDeleted = true
|
|
4819
|
+
let wasDeleted
|
|
4820
|
+
for (let k = 0, len = arguments.length; k < len; k++) {
|
|
4821
|
+
wasDeleted = remove(collection, arguments[k])
|
|
4822
|
+
allDeleted = allDeleted && wasDeleted
|
|
4823
|
+
} return !!allDeleted
|
|
4824
|
+
}
|
|
4825
|
+
})
|
|
4826
|
+
}, { '../internals/a-map': 27, '../internals/export': 49, '../internals/map-helpers': 90 }],
|
|
4827
|
+
135: [function (require, module, exports) {
|
|
4828
|
+
'use strict'
|
|
4829
|
+
const $ = require('../internals/export')
|
|
4830
|
+
const bind = require('../internals/function-bind-context')
|
|
4831
|
+
const aMap = require('../internals/a-map')
|
|
4832
|
+
const iterate = require('../internals/map-iterate')
|
|
4833
|
+
|
|
4834
|
+
// `Map.prototype.every` method
|
|
4835
|
+
// https://github.com/tc39/proposal-collection-methods
|
|
4836
|
+
$({ target: 'Map', proto: true, real: true, forced: true }, {
|
|
4837
|
+
every: function every (callbackfn /* , thisArg */) {
|
|
4838
|
+
const map = aMap(this)
|
|
4839
|
+
const boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined)
|
|
4840
|
+
return iterate(map, function (value, key) {
|
|
4841
|
+
if (!boundFunction(value, key, map)) return false
|
|
4842
|
+
}, true) !== false
|
|
4843
|
+
}
|
|
4844
|
+
})
|
|
4845
|
+
}, { '../internals/a-map': 27, '../internals/export': 49, '../internals/function-bind-context': 52, '../internals/map-iterate': 91 }],
|
|
4846
|
+
136: [function (require, module, exports) {
|
|
4847
|
+
'use strict'
|
|
4848
|
+
const $ = require('../internals/export')
|
|
4849
|
+
const bind = require('../internals/function-bind-context')
|
|
4850
|
+
const aMap = require('../internals/a-map')
|
|
4851
|
+
const MapHelpers = require('../internals/map-helpers')
|
|
4852
|
+
const iterate = require('../internals/map-iterate')
|
|
4853
|
+
|
|
4854
|
+
const Map = MapHelpers.Map
|
|
4855
|
+
const set = MapHelpers.set
|
|
4856
|
+
|
|
4857
|
+
// `Map.prototype.filter` method
|
|
4858
|
+
// https://github.com/tc39/proposal-collection-methods
|
|
4859
|
+
$({ target: 'Map', proto: true, real: true, forced: true }, {
|
|
4860
|
+
filter: function filter (callbackfn /* , thisArg */) {
|
|
4861
|
+
const map = aMap(this)
|
|
4862
|
+
const boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined)
|
|
4863
|
+
const newMap = new Map()
|
|
4864
|
+
iterate(map, function (value, key) {
|
|
4865
|
+
if (boundFunction(value, key, map)) set(newMap, key, value)
|
|
4866
|
+
})
|
|
4867
|
+
return newMap
|
|
4868
|
+
}
|
|
4869
|
+
})
|
|
4870
|
+
}, { '../internals/a-map': 27, '../internals/export': 49, '../internals/function-bind-context': 52, '../internals/map-helpers': 90, '../internals/map-iterate': 91 }],
|
|
4871
|
+
137: [function (require, module, exports) {
|
|
4872
|
+
'use strict'
|
|
4873
|
+
const $ = require('../internals/export')
|
|
4874
|
+
const bind = require('../internals/function-bind-context')
|
|
4875
|
+
const aMap = require('../internals/a-map')
|
|
4876
|
+
const iterate = require('../internals/map-iterate')
|
|
4877
|
+
|
|
4878
|
+
// `Map.prototype.findKey` method
|
|
4879
|
+
// https://github.com/tc39/proposal-collection-methods
|
|
4880
|
+
$({ target: 'Map', proto: true, real: true, forced: true }, {
|
|
4881
|
+
findKey: function findKey (callbackfn /* , thisArg */) {
|
|
4882
|
+
const map = aMap(this)
|
|
4883
|
+
const boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined)
|
|
4884
|
+
const result = iterate(map, function (value, key) {
|
|
4885
|
+
if (boundFunction(value, key, map)) return { key }
|
|
4886
|
+
}, true)
|
|
4887
|
+
return result && result.key
|
|
4888
|
+
}
|
|
4889
|
+
})
|
|
4890
|
+
}, { '../internals/a-map': 27, '../internals/export': 49, '../internals/function-bind-context': 52, '../internals/map-iterate': 91 }],
|
|
4891
|
+
138: [function (require, module, exports) {
|
|
4892
|
+
'use strict'
|
|
4893
|
+
const $ = require('../internals/export')
|
|
4894
|
+
const bind = require('../internals/function-bind-context')
|
|
4895
|
+
const aMap = require('../internals/a-map')
|
|
4896
|
+
const iterate = require('../internals/map-iterate')
|
|
4897
|
+
|
|
4898
|
+
// `Map.prototype.find` method
|
|
4899
|
+
// https://github.com/tc39/proposal-collection-methods
|
|
4900
|
+
$({ target: 'Map', proto: true, real: true, forced: true }, {
|
|
4901
|
+
find: function find (callbackfn /* , thisArg */) {
|
|
4902
|
+
const map = aMap(this)
|
|
4903
|
+
const boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined)
|
|
4904
|
+
const result = iterate(map, function (value, key) {
|
|
4905
|
+
if (boundFunction(value, key, map)) return { value }
|
|
4906
|
+
}, true)
|
|
4907
|
+
return result && result.value
|
|
4908
|
+
}
|
|
4909
|
+
})
|
|
4910
|
+
}, { '../internals/a-map': 27, '../internals/export': 49, '../internals/function-bind-context': 52, '../internals/map-iterate': 91 }],
|
|
4911
|
+
139: [function (require, module, exports) {
|
|
4912
|
+
'use strict'
|
|
4913
|
+
const $ = require('../internals/export')
|
|
4914
|
+
const sameValueZero = require('../internals/same-value-zero')
|
|
4915
|
+
const aMap = require('../internals/a-map')
|
|
4916
|
+
const iterate = require('../internals/map-iterate')
|
|
4917
|
+
|
|
4918
|
+
// `Map.prototype.includes` method
|
|
4919
|
+
// https://github.com/tc39/proposal-collection-methods
|
|
4920
|
+
$({ target: 'Map', proto: true, real: true, forced: true }, {
|
|
4921
|
+
includes: function includes (searchElement) {
|
|
4922
|
+
return iterate(aMap(this), function (value) {
|
|
4923
|
+
if (sameValueZero(value, searchElement)) return true
|
|
4924
|
+
}, true) === true
|
|
4925
|
+
}
|
|
4926
|
+
})
|
|
4927
|
+
}, { '../internals/a-map': 27, '../internals/export': 49, '../internals/map-iterate': 91, '../internals/same-value-zero': 107 }],
|
|
4928
|
+
140: [function (require, module, exports) {
|
|
4929
|
+
'use strict'
|
|
4930
|
+
const $ = require('../internals/export')
|
|
4931
|
+
const aMap = require('../internals/a-map')
|
|
4932
|
+
const iterate = require('../internals/map-iterate')
|
|
4933
|
+
|
|
4934
|
+
// `Map.prototype.keyOf` method
|
|
4935
|
+
// https://github.com/tc39/proposal-collection-methods
|
|
4936
|
+
$({ target: 'Map', proto: true, real: true, forced: true }, {
|
|
4937
|
+
keyOf: function keyOf (searchElement) {
|
|
4938
|
+
const result = iterate(aMap(this), function (value, key) {
|
|
4939
|
+
if (value === searchElement) return { key }
|
|
4940
|
+
}, true)
|
|
4941
|
+
return result && result.key
|
|
4942
|
+
}
|
|
4943
|
+
})
|
|
4944
|
+
}, { '../internals/a-map': 27, '../internals/export': 49, '../internals/map-iterate': 91 }],
|
|
4945
|
+
141: [function (require, module, exports) {
|
|
4946
|
+
'use strict'
|
|
4947
|
+
const $ = require('../internals/export')
|
|
4948
|
+
const bind = require('../internals/function-bind-context')
|
|
4949
|
+
const aMap = require('../internals/a-map')
|
|
4950
|
+
const MapHelpers = require('../internals/map-helpers')
|
|
4951
|
+
const iterate = require('../internals/map-iterate')
|
|
4952
|
+
|
|
4953
|
+
const Map = MapHelpers.Map
|
|
4954
|
+
const set = MapHelpers.set
|
|
4955
|
+
|
|
4956
|
+
// `Map.prototype.mapKeys` method
|
|
4957
|
+
// https://github.com/tc39/proposal-collection-methods
|
|
4958
|
+
$({ target: 'Map', proto: true, real: true, forced: true }, {
|
|
4959
|
+
mapKeys: function mapKeys (callbackfn /* , thisArg */) {
|
|
4960
|
+
const map = aMap(this)
|
|
4961
|
+
const boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined)
|
|
4962
|
+
const newMap = new Map()
|
|
4963
|
+
iterate(map, function (value, key) {
|
|
4964
|
+
set(newMap, boundFunction(value, key, map), value)
|
|
4965
|
+
})
|
|
4966
|
+
return newMap
|
|
4967
|
+
}
|
|
4968
|
+
})
|
|
4969
|
+
}, { '../internals/a-map': 27, '../internals/export': 49, '../internals/function-bind-context': 52, '../internals/map-helpers': 90, '../internals/map-iterate': 91 }],
|
|
4970
|
+
142: [function (require, module, exports) {
|
|
4971
|
+
'use strict'
|
|
4972
|
+
const $ = require('../internals/export')
|
|
4973
|
+
const bind = require('../internals/function-bind-context')
|
|
4974
|
+
const aMap = require('../internals/a-map')
|
|
4975
|
+
const MapHelpers = require('../internals/map-helpers')
|
|
4976
|
+
const iterate = require('../internals/map-iterate')
|
|
4977
|
+
|
|
4978
|
+
const Map = MapHelpers.Map
|
|
4979
|
+
const set = MapHelpers.set
|
|
4980
|
+
|
|
4981
|
+
// `Map.prototype.mapValues` method
|
|
4982
|
+
// https://github.com/tc39/proposal-collection-methods
|
|
4983
|
+
$({ target: 'Map', proto: true, real: true, forced: true }, {
|
|
4984
|
+
mapValues: function mapValues (callbackfn /* , thisArg */) {
|
|
4985
|
+
const map = aMap(this)
|
|
4986
|
+
const boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined)
|
|
4987
|
+
const newMap = new Map()
|
|
4988
|
+
iterate(map, function (value, key) {
|
|
4989
|
+
set(newMap, key, boundFunction(value, key, map))
|
|
4990
|
+
})
|
|
4991
|
+
return newMap
|
|
4992
|
+
}
|
|
4993
|
+
})
|
|
4994
|
+
}, { '../internals/a-map': 27, '../internals/export': 49, '../internals/function-bind-context': 52, '../internals/map-helpers': 90, '../internals/map-iterate': 91 }],
|
|
4995
|
+
143: [function (require, module, exports) {
|
|
4996
|
+
'use strict'
|
|
4997
|
+
const $ = require('../internals/export')
|
|
4998
|
+
const aMap = require('../internals/a-map')
|
|
4999
|
+
const iterate = require('../internals/iterate')
|
|
5000
|
+
const set = require('../internals/map-helpers').set
|
|
5001
|
+
|
|
5002
|
+
// `Map.prototype.merge` method
|
|
5003
|
+
// https://github.com/tc39/proposal-collection-methods
|
|
5004
|
+
$({ target: 'Map', proto: true, real: true, arity: 1, forced: true }, {
|
|
5005
|
+
// eslint-disable-next-line no-unused-vars -- required for `.length`
|
|
5006
|
+
merge: function merge (iterable /* ...iterables */) {
|
|
5007
|
+
const map = aMap(this)
|
|
5008
|
+
const argumentsLength = arguments.length
|
|
5009
|
+
let i = 0
|
|
5010
|
+
while (i < argumentsLength) {
|
|
5011
|
+
iterate(arguments[i++], function (key, value) {
|
|
5012
|
+
set(map, key, value)
|
|
5013
|
+
}, { AS_ENTRIES: true })
|
|
5014
|
+
}
|
|
5015
|
+
return map
|
|
5016
|
+
}
|
|
5017
|
+
})
|
|
5018
|
+
}, { '../internals/a-map': 27, '../internals/export': 49, '../internals/iterate': 79, '../internals/map-helpers': 90 }],
|
|
5019
|
+
144: [function (require, module, exports) {
|
|
5020
|
+
'use strict'
|
|
5021
|
+
const $ = require('../internals/export')
|
|
5022
|
+
const aCallable = require('../internals/a-callable')
|
|
5023
|
+
const aMap = require('../internals/a-map')
|
|
5024
|
+
const iterate = require('../internals/map-iterate')
|
|
5025
|
+
|
|
5026
|
+
const $TypeError = TypeError
|
|
5027
|
+
|
|
5028
|
+
// `Map.prototype.reduce` method
|
|
5029
|
+
// https://github.com/tc39/proposal-collection-methods
|
|
5030
|
+
$({ target: 'Map', proto: true, real: true, forced: true }, {
|
|
5031
|
+
reduce: function reduce (callbackfn /* , initialValue */) {
|
|
5032
|
+
const map = aMap(this)
|
|
5033
|
+
let noInitial = arguments.length < 2
|
|
5034
|
+
let accumulator = noInitial ? undefined : arguments[1]
|
|
5035
|
+
aCallable(callbackfn)
|
|
5036
|
+
iterate(map, function (value, key) {
|
|
5037
|
+
if (noInitial) {
|
|
5038
|
+
noInitial = false
|
|
5039
|
+
accumulator = value
|
|
5040
|
+
} else {
|
|
5041
|
+
accumulator = callbackfn(accumulator, value, key, map)
|
|
5042
|
+
}
|
|
5043
|
+
})
|
|
5044
|
+
if (noInitial) throw new $TypeError('Reduce of empty map with no initial value')
|
|
5045
|
+
return accumulator
|
|
5046
|
+
}
|
|
5047
|
+
})
|
|
5048
|
+
}, { '../internals/a-callable': 26, '../internals/a-map': 27, '../internals/export': 49, '../internals/map-iterate': 91 }],
|
|
5049
|
+
145: [function (require, module, exports) {
|
|
5050
|
+
'use strict'
|
|
5051
|
+
const $ = require('../internals/export')
|
|
5052
|
+
const bind = require('../internals/function-bind-context')
|
|
5053
|
+
const aMap = require('../internals/a-map')
|
|
5054
|
+
const iterate = require('../internals/map-iterate')
|
|
5055
|
+
|
|
5056
|
+
// `Map.prototype.some` method
|
|
5057
|
+
// https://github.com/tc39/proposal-collection-methods
|
|
5058
|
+
$({ target: 'Map', proto: true, real: true, forced: true }, {
|
|
5059
|
+
some: function some (callbackfn /* , thisArg */) {
|
|
5060
|
+
const map = aMap(this)
|
|
5061
|
+
const boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined)
|
|
5062
|
+
return iterate(map, function (value, key) {
|
|
5063
|
+
if (boundFunction(value, key, map)) return true
|
|
5064
|
+
}, true) === true
|
|
5065
|
+
}
|
|
5066
|
+
})
|
|
5067
|
+
}, { '../internals/a-map': 27, '../internals/export': 49, '../internals/function-bind-context': 52, '../internals/map-iterate': 91 }],
|
|
5068
|
+
146: [function (require, module, exports) {
|
|
5069
|
+
'use strict'
|
|
5070
|
+
const $ = require('../internals/export')
|
|
5071
|
+
const aCallable = require('../internals/a-callable')
|
|
5072
|
+
const aMap = require('../internals/a-map')
|
|
5073
|
+
const MapHelpers = require('../internals/map-helpers')
|
|
5074
|
+
|
|
5075
|
+
const $TypeError = TypeError
|
|
5076
|
+
const get = MapHelpers.get
|
|
5077
|
+
const has = MapHelpers.has
|
|
5078
|
+
const set = MapHelpers.set
|
|
5079
|
+
|
|
5080
|
+
// `Map.prototype.update` method
|
|
5081
|
+
// https://github.com/tc39/proposal-collection-methods
|
|
5082
|
+
$({ target: 'Map', proto: true, real: true, forced: true }, {
|
|
5083
|
+
update: function update (key, callback /* , thunk */) {
|
|
5084
|
+
const map = aMap(this)
|
|
5085
|
+
const length = arguments.length
|
|
5086
|
+
aCallable(callback)
|
|
5087
|
+
const isPresentInMap = has(map, key)
|
|
5088
|
+
if (!isPresentInMap && length < 3) {
|
|
5089
|
+
throw new $TypeError('Updating absent value')
|
|
5090
|
+
}
|
|
5091
|
+
const value = isPresentInMap ? get(map, key) : aCallable(length > 2 ? arguments[2] : undefined)(key, map)
|
|
5092
|
+
set(map, key, callback(value, key, map))
|
|
5093
|
+
return map
|
|
5094
|
+
}
|
|
5095
|
+
})
|
|
5096
|
+
}, { '../internals/a-callable': 26, '../internals/a-map': 27, '../internals/export': 49, '../internals/map-helpers': 90 }],
|
|
5097
|
+
147: [function (require, module, exports) {
|
|
5098
|
+
'use strict'
|
|
5099
|
+
const $ = require('../internals/export')
|
|
5100
|
+
const aWeakMap = require('../internals/a-weak-map')
|
|
5101
|
+
const remove = require('../internals/weak-map-helpers').remove
|
|
5102
|
+
|
|
5103
|
+
// `WeakMap.prototype.deleteAll` method
|
|
5104
|
+
// https://github.com/tc39/proposal-collection-methods
|
|
5105
|
+
$({ target: 'WeakMap', proto: true, real: true, forced: true }, {
|
|
5106
|
+
deleteAll: function deleteAll (/* ...elements */) {
|
|
5107
|
+
const collection = aWeakMap(this)
|
|
5108
|
+
let allDeleted = true
|
|
5109
|
+
let wasDeleted
|
|
5110
|
+
for (let k = 0, len = arguments.length; k < len; k++) {
|
|
5111
|
+
wasDeleted = remove(collection, arguments[k])
|
|
5112
|
+
allDeleted = allDeleted && wasDeleted
|
|
5113
|
+
} return !!allDeleted
|
|
5114
|
+
}
|
|
5115
|
+
})
|
|
5116
|
+
}, { '../internals/a-weak-map': 28, '../internals/export': 49, '../internals/weak-map-helpers': 124 }]
|
|
5117
|
+
}, {}, [16])
|