pseudo-dom 0.4.0 → 0.5.1

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.
@@ -151,10 +151,13 @@
151
151
  }
152
152
  }
153
153
  exports.default = PseudoEventListener
154
- }, { '../services/EventService': 17 }],
154
+ }, { '../services/EventService': 18 }],
155
155
  2: [function (require, module, exports) {
156
156
  'use strict'
157
157
 
158
+ require('core-js/modules/esnext.iterator.constructor.js')
159
+ require('core-js/modules/esnext.iterator.find.js')
160
+ require('core-js/modules/esnext.iterator.for-each.js')
158
161
  Object.defineProperty(exports, '__esModule', {
159
162
  value: true
160
163
  })
@@ -168,6 +171,8 @@
168
171
  * @type {PseudoHTMLElement}
169
172
  */
170
173
  const HTMLElementService_1 = require('../services/HTMLElementService')
174
+ const NodeService_1 = require('../services/NodeService')
175
+ const DocumentFragmentService_1 = require('../services/DocumentFragmentService')
171
176
  /**
172
177
  * Simulate the behaviour of the HTMLDocument Class when there is no DOM available.
173
178
  * @author Joshua Heagle <joshuaheagle@gmail.com>
@@ -206,20 +211,93 @@
206
211
  html.appendChild(this.body)
207
212
  }
208
213
 
214
+ get nodeName () {
215
+ return '#document'
216
+ }
217
+
218
+ get nodeType () {
219
+ return NodeService_1.NodeService.DOCUMENT_NODE
220
+ }
221
+
222
+ // A document has no text of its own, and setting it does nothing
223
+ get textContent () {
224
+ return null
225
+ }
226
+
227
+ set textContent (text) {}
209
228
  /**
210
- * Create and return a PseudoHTMLElement, which is not added to the document until it is appended somewhere
229
+ * Make an element of the given type which belongs to this document but is not added anywhere until it is appended.
211
230
  * @param {string} tagName - Tag Name is a string representing the type of Dom element this represents
212
231
  * @returns {PseudoHTMLElement}
213
232
  */
214
233
  createElement (tagName = 'div') {
215
234
  // Like the DOM, the new element is not added anywhere: it has no parent until it is appended
216
- return new HTMLElementService_1.HTMLElementService({
235
+ const element = new HTMLElementService_1.HTMLElementService({
217
236
  tagName
218
237
  })
238
+ element.ownerDocumentStore = this
239
+ return element
240
+ }
241
+
242
+ /**
243
+ * Make a text node which belongs to this document.
244
+ * @param {string} [data=''] The text
245
+ * @returns {TextService}
246
+ */
247
+ createTextNode (data = '') {
248
+ const text = new NodeService_1.TextService(data)
249
+ text.ownerDocumentStore = this
250
+ return text
251
+ }
252
+
253
+ /**
254
+ * Make a comment which belongs to this document.
255
+ * @param {string} [data=''] The comment
256
+ * @returns {CommentService}
257
+ */
258
+ createComment (data = '') {
259
+ const comment = new NodeService_1.CommentService(data)
260
+ comment.ownerDocumentStore = this
261
+ return comment
262
+ }
263
+
264
+ /**
265
+ * Make an empty document fragment which belongs to this document, a container for nodes which can be built up and
266
+ * then inserted in one go.
267
+ * @returns {DocumentFragmentService}
268
+ */
269
+ createDocumentFragment () {
270
+ const fragment = new DocumentFragmentService_1.DocumentFragmentService()
271
+ fragment.ownerDocumentStore = this
272
+ return fragment
273
+ }
274
+
275
+ /**
276
+ * Make a copy of this document. The copy has no parent or listeners, and a deep copy has copies of everything in the
277
+ * document (a shallow one is an empty document).
278
+ * @param {boolean} [deep=false] Copy everything in the document as well
279
+ * @returns {PseudoNode}
280
+ */
281
+ cloneNode (deep = false) {
282
+ const copy = new PseudoHTMLDocument()
283
+ // The new document starts out with its own html, head and body, a copy has only what was copied from this one
284
+ while (copy.firstChild) {
285
+ copy.removeChild(copy.firstChild)
286
+ }
287
+ copy.head = null
288
+ copy.body = null
289
+ if (deep) {
290
+ Array.from(this.childNodes).forEach(child => copy.appendChild(child.cloneNode(true)))
291
+ const html = Array.from(copy.childNodes).find(child => child.tagName === 'html')
292
+ const inHtml = tagName => html ? Array.from(html.childNodes).find(child => child.tagName === tagName) || null : null
293
+ copy.head = inHtml('head')
294
+ copy.body = inHtml('body')
295
+ }
296
+ return copy
219
297
  }
220
298
  }
221
299
  exports.default = PseudoHTMLDocument
222
- }, { '../services/HTMLElementService': 20 }],
300
+ }, { '../services/DocumentFragmentService': 16, '../services/HTMLElementService': 21, '../services/NodeService': 26, 'core-js/modules/esnext.iterator.constructor.js': 177, 'core-js/modules/esnext.iterator.find.js': 180, 'core-js/modules/esnext.iterator.for-each.js': 181 }],
223
301
  3: [function (require, module, exports) {
224
302
  'use strict'
225
303
 
@@ -292,7 +370,7 @@
292
370
  }
293
371
  }
294
372
  exports.PseudoNodeList = PseudoNodeList
295
- }, { 'collect-your-stuff/dist/collections/linked-tree-list/LinkedTreeList': 35, 'core-js/modules/esnext.iterator.constructor.js': 144, 'core-js/modules/esnext.iterator.map.js': 148 }],
373
+ }, { 'collect-your-stuff/dist/collections/linked-tree-list/LinkedTreeList': 36, 'core-js/modules/esnext.iterator.constructor.js': 177, 'core-js/modules/esnext.iterator.map.js': 182 }],
296
374
  4: [function (require, module, exports) {
297
375
  'use strict'
298
376
 
@@ -350,7 +428,7 @@
350
428
  }
351
429
  exports.createEvent = createEvent
352
430
  exports.default = exports.createEvent
353
- }, { '../services/CustomEventService': 14, '../services/EventService': 17, '../services/FocusEventService': 19, '../services/InputEventService': 21, '../services/KeyboardEventService': 22, '../services/MouseEventService': 23, '../services/PointerEventService': 26, '../services/UIEventService': 27, './eventDefaults': 5 }],
431
+ }, { '../services/CustomEventService': 14, '../services/EventService': 18, '../services/FocusEventService': 20, '../services/InputEventService': 22, '../services/KeyboardEventService': 23, '../services/MouseEventService': 24, '../services/PointerEventService': 27, '../services/UIEventService': 28, './eventDefaults': 5 }],
354
432
  5: [function (require, module, exports) {
355
433
  'use strict'
356
434
 
@@ -524,7 +602,7 @@
524
602
  return context ? Object.assign(context, newWindow) : Object.assign(root, newWindow)
525
603
  }
526
604
  exports.default = generateDocument
527
- }, { '../classes/PseudoHTMLDocument': 2, '../services/ElementService': 16, '../services/EventTargetService': 18, '../services/HTMLElementService': 20, '../services/NodeService': 25 }],
605
+ }, { '../classes/PseudoHTMLDocument': 2, '../services/ElementService': 17, '../services/EventTargetService': 19, '../services/HTMLElementService': 21, '../services/NodeService': 26 }],
528
606
  7: [function (require, module, exports) {
529
607
  'use strict'
530
608
 
@@ -574,7 +652,7 @@
574
652
  }
575
653
  }
576
654
  exports.setActiveElement = setActiveElement
577
- }, { 'core-js/modules/esnext.weak-map.delete-all.js': 151 }],
655
+ }, { 'core-js/modules/esnext.weak-map.delete-all.js': 214 }],
578
656
  9: [function (require, module, exports) {
579
657
  'use strict'
580
658
 
@@ -629,7 +707,7 @@
629
707
  return (0, getParentNodes_1.default)(node).filter(parent => (parent[attr] || false) === value)
630
708
  }
631
709
  exports.default = getParentNodesFromAttribute
632
- }, { './getParentNodes': 9, 'core-js/modules/esnext.iterator.constructor.js': 144, 'core-js/modules/esnext.iterator.filter.js': 145 }],
710
+ }, { './getParentNodes': 9, 'core-js/modules/esnext.iterator.constructor.js': 177, 'core-js/modules/esnext.iterator.filter.js': 179 }],
633
711
  11: [function (require, module, exports) {
634
712
  'use strict'
635
713
 
@@ -691,7 +769,7 @@
691
769
  Object.defineProperty(exports, '__esModule', {
692
770
  value: true
693
771
  })
694
- exports.PseudoHTMLDocument = exports.PseudoHTMLElement = exports.PseudoElement = exports.PseudoNode = exports.PseudoEventTarget = exports.PseudoCustomEvent = exports.PseudoInputEvent = exports.PseudoFocusEvent = exports.PseudoKeyboardEvent = exports.PseudoPointerEvent = exports.PseudoMouseEvent = exports.PseudoUIEvent = exports.PseudoEvent = exports.simulate = exports.eventDefaults = exports.createEvent = exports.generateDocument = void 0
772
+ exports.PseudoHTMLDocument = exports.PseudoHTMLElement = exports.PseudoElement = exports.PseudoComment = exports.PseudoText = exports.PseudoNode = exports.PseudoEventTarget = exports.PseudoCustomEvent = exports.PseudoInputEvent = exports.PseudoFocusEvent = exports.PseudoKeyboardEvent = exports.PseudoPointerEvent = exports.PseudoMouseEvent = exports.PseudoUIEvent = exports.PseudoEvent = exports.simulate = exports.eventDefaults = exports.createEvent = exports.generateDocument = void 0
695
773
  const EventService_1 = require('./services/EventService')
696
774
  Object.defineProperty(exports, 'PseudoEvent', {
697
775
  enumerable: true,
@@ -781,6 +859,19 @@
781
859
  })
782
860
  const simulate_1 = __importDefault(require('./simulate'))
783
861
  exports.simulate = simulate_1.default
862
+ const NodeService_2 = require('./services/NodeService')
863
+ Object.defineProperty(exports, 'PseudoText', {
864
+ enumerable: true,
865
+ get: function () {
866
+ return NodeService_2.TextService
867
+ }
868
+ })
869
+ Object.defineProperty(exports, 'PseudoComment', {
870
+ enumerable: true,
871
+ get: function () {
872
+ return NodeService_2.CommentService
873
+ }
874
+ })
784
875
  /**
785
876
  * All methods exported from this module are encapsulated within pseudoDom.
786
877
  * @author Joshua Heagle <joshuaheagle@gmail.com>
@@ -802,6 +893,8 @@
802
893
  PseudoCustomEvent: CustomEventService_1.CustomEventService,
803
894
  PseudoEventTarget: EventTargetService_1.default,
804
895
  PseudoNode: NodeService_1.NodeService,
896
+ PseudoText: NodeService_2.TextService,
897
+ PseudoComment: NodeService_2.CommentService,
805
898
  PseudoElement: ElementService_1.ElementService,
806
899
  PseudoHTMLElement: HTMLElementService_1.HTMLElementService,
807
900
  PseudoHTMLDocument: PseudoHTMLDocument_1.default
@@ -814,7 +907,7 @@
814
907
  // @ts-ignore
815
908
  window.pseudoDom = pseudoDom
816
909
  }
817
- }, { './classes/PseudoHTMLDocument': 2, './factories/createEvent': 4, './factories/eventDefaults': 5, './factories/generateDocument': 6, './services/CustomEventService': 14, './services/ElementService': 16, './services/EventService': 17, './services/EventTargetService': 18, './services/FocusEventService': 19, './services/HTMLElementService': 20, './services/InputEventService': 21, './services/KeyboardEventService': 22, './services/MouseEventService': 23, './services/NodeService': 25, './services/PointerEventService': 26, './services/UIEventService': 27, './simulate': 28 }],
910
+ }, { './classes/PseudoHTMLDocument': 2, './factories/createEvent': 4, './factories/eventDefaults': 5, './factories/generateDocument': 6, './services/CustomEventService': 14, './services/ElementService': 17, './services/EventService': 18, './services/EventTargetService': 19, './services/FocusEventService': 20, './services/HTMLElementService': 21, './services/InputEventService': 22, './services/KeyboardEventService': 23, './services/MouseEventService': 24, './services/NodeService': 26, './services/PointerEventService': 27, './services/UIEventService': 28, './simulate': 29 }],
818
911
  13: [function (require, module, exports) {
819
912
  'use strict'
820
913
 
@@ -848,6 +941,30 @@
848
941
  this.nodeNameValue = name
849
942
  }
850
943
 
944
+ get acceptsChildren () {
945
+ return false
946
+ }
947
+
948
+ get nodeValue () {
949
+ return this.value
950
+ }
951
+
952
+ set nodeValue (value) {
953
+ this.value = value === null ? '' : String(value)
954
+ }
955
+
956
+ get textContent () {
957
+ return this.value
958
+ }
959
+
960
+ set textContent (text) {
961
+ this.value = text === null ? '' : String(text)
962
+ }
963
+
964
+ cloneShallow () {
965
+ return new AttrService(this.localName, this.value, null, this.namespaceURI, this.prefix)
966
+ }
967
+
851
968
  get nodeType () {
852
969
  return NodeService_1.NodeService.ATTRIBUTE_NODE
853
970
  }
@@ -873,7 +990,7 @@
873
990
  }
874
991
  }
875
992
  exports.AttrService = AttrService
876
- }, { './NodeService': 25 }],
993
+ }, { './NodeService': 26 }],
877
994
  14: [function (require, module, exports) {
878
995
  'use strict'
879
996
 
@@ -910,7 +1027,7 @@
910
1027
  }
911
1028
  }
912
1029
  exports.CustomEventService = CustomEventService
913
- }, { './EventService': 17 }],
1030
+ }, { './EventService': 18 }],
914
1031
  15: [function (require, module, exports) {
915
1032
  'use strict'
916
1033
 
@@ -1029,11 +1146,38 @@
1029
1146
  }
1030
1147
  }
1031
1148
  exports.DOMTokenListService = DOMTokenListService
1032
- }, { 'core-js/modules/esnext.iterator.constructor.js': 144, 'core-js/modules/esnext.iterator.filter.js': 145, 'core-js/modules/esnext.iterator.for-each.js': 147, 'core-js/modules/esnext.iterator.map.js': 148 }],
1149
+ }, { 'core-js/modules/esnext.iterator.constructor.js': 177, 'core-js/modules/esnext.iterator.filter.js': 179, 'core-js/modules/esnext.iterator.for-each.js': 181, 'core-js/modules/esnext.iterator.map.js': 182 }],
1033
1150
  16: [function (require, module, exports) {
1034
1151
  'use strict'
1035
1152
 
1153
+ Object.defineProperty(exports, '__esModule', {
1154
+ value: true
1155
+ })
1156
+ exports.DocumentFragmentService = void 0
1157
+ const NodeService_1 = require('./NodeService')
1158
+ /**
1159
+ * Simulate the behaviour of the DocumentFragment Class when there is no DOM available: a container for nodes which is
1160
+ * not part of a tree, when it is inserted its children are moved into the tree instead.
1161
+ * @author Joshua Heagle <joshuaheagle@gmail.com>
1162
+ * @class
1163
+ * @augments NodeService
1164
+ */
1165
+ class DocumentFragmentService extends NodeService_1.NodeService {
1166
+ get nodeName () {
1167
+ return '#document-fragment'
1168
+ }
1169
+
1170
+ get nodeType () {
1171
+ return NodeService_1.NodeService.DOCUMENT_FRAGMENT_NODE
1172
+ }
1173
+ }
1174
+ exports.DocumentFragmentService = DocumentFragmentService
1175
+ }, { './NodeService': 26 }],
1176
+ 17: [function (require, module, exports) {
1177
+ 'use strict'
1178
+
1036
1179
  require('core-js/modules/esnext.iterator.constructor.js')
1180
+ require('core-js/modules/esnext.iterator.every.js')
1037
1181
  require('core-js/modules/esnext.iterator.find.js')
1038
1182
  require('core-js/modules/esnext.iterator.for-each.js')
1039
1183
  require('core-js/modules/esnext.iterator.map.js')
@@ -1055,6 +1199,8 @@
1055
1199
  const DOMTokenListService_1 = require('./DOMTokenListService')
1056
1200
  const NamedNodeMapService_1 = require('./NamedNodeMapService')
1057
1201
  const getParentNodesFromAttribute_1 = __importDefault(require('../functions/getParentNodesFromAttribute'))
1202
+ const cloneObject_1 = __importDefault(require('si-funciona/dist/helpers/objects/cloneObject'))
1203
+ const isEqual_1 = __importDefault(require('si-funciona/dist/helpers/objects/isEqual'))
1058
1204
  /**
1059
1205
  * Simulate the behaviour of the Element Class when there is no DOM available.
1060
1206
  * @author Joshua Heagle <joshuaheagle@gmail.com>
@@ -1119,6 +1265,70 @@
1119
1265
  }
1120
1266
  }
1121
1267
 
1268
+ /**
1269
+ * The attributes with the values they have now: the ones which are also properties (className, id, style, ...) can
1270
+ * have been changed through the property, which does not change the stored list.
1271
+ * @returns {Array<{name: string, value: *}>}
1272
+ */
1273
+ currentAttributes () {
1274
+ return this.attributeList.map(({
1275
+ name,
1276
+ value
1277
+ }) => ({
1278
+ name,
1279
+ value: this.propertyAttributes.indexOf(name) >= 0 ? this[name] : value
1280
+ }))
1281
+ }
1282
+
1283
+ get nodeName () {
1284
+ return this.tag
1285
+ }
1286
+
1287
+ /**
1288
+ * A copy of this element without its children: the same tag and attributes (the values which are objects, such as
1289
+ * style, are copied too rather than shared), but not its parent or listeners.
1290
+ * @returns {ElementService}
1291
+ */
1292
+ cloneShallow () {
1293
+ const copy = new this.constructor({
1294
+ tagName: this.tag
1295
+ })
1296
+ copy.attributeList.length = 0
1297
+ this.currentAttributes().forEach(({
1298
+ name,
1299
+ value
1300
+ }) => {
1301
+ const copied = typeof value === 'object' && value !== null ? (0, cloneObject_1.default)(value) : value
1302
+ copy.attributeList.push({
1303
+ name,
1304
+ value: copied
1305
+ })
1306
+ if (copy.propertyAttributes.indexOf(name) >= 0) {
1307
+ copy[name] = copied
1308
+ }
1309
+ })
1310
+ copy.ownerDocumentStore = this.ownerDocumentStore
1311
+ return copy
1312
+ }
1313
+
1314
+ /**
1315
+ * Elements are equal when they have the same tag and the same attributes (in any order), which is what isEqualNode
1316
+ * checks before it compares the children.
1317
+ * @param {NodeService} other The element to compare with
1318
+ * @returns {boolean}
1319
+ */
1320
+ equalsShallow (other) {
1321
+ const mine = this.currentAttributes()
1322
+ const theirs = other.currentAttributes()
1323
+ return this.nodeName === other.nodeName && mine.length === theirs.length && mine.every(({
1324
+ name,
1325
+ value
1326
+ }) => {
1327
+ const match = theirs.find(attributeOfOther => attributeOfOther.name === name)
1328
+ return typeof match !== 'undefined' && (0, isEqual_1.default)(value, match.value)
1329
+ })
1330
+ }
1331
+
1122
1332
  get tagName () {
1123
1333
  return this.tag
1124
1334
  }
@@ -1128,7 +1338,7 @@
1128
1338
  }
1129
1339
 
1130
1340
  get attributes () {
1131
- return new NamedNodeMapService_1.NamedNodeMapService(this.attributeList.map(({
1341
+ return new NamedNodeMapService_1.NamedNodeMapService(this.currentAttributes().map(({
1132
1342
  name,
1133
1343
  value
1134
1344
  }) => new AttrService_1.AttrService(name, String(value), this)))
@@ -1226,7 +1436,7 @@
1226
1436
  * @returns {string|null} The value, or null when there is no such attribute
1227
1437
  */
1228
1438
  getAttribute (attributeName) {
1229
- const found = this.attributeList.find(({
1439
+ const found = this.currentAttributes().find(({
1230
1440
  name
1231
1441
  }) => name === attributeName)
1232
1442
  return found ? found.value : null
@@ -1247,8 +1457,8 @@
1247
1457
  }
1248
1458
  }
1249
1459
  exports.ElementService = ElementService
1250
- }, { '../factories/createEvent': 4, '../functions/getParentNodesFromAttribute': 10, './AttrService': 13, './DOMTokenListService': 15, './NamedNodeMapService': 24, './NodeService': 25, 'core-js/modules/esnext.iterator.constructor.js': 144, 'core-js/modules/esnext.iterator.find.js': 146, 'core-js/modules/esnext.iterator.for-each.js': 147, 'core-js/modules/esnext.iterator.map.js': 148, 'core-js/modules/esnext.iterator.some.js': 150 }],
1251
- 17: [function (require, module, exports) {
1460
+ }, { '../factories/createEvent': 4, '../functions/getParentNodesFromAttribute': 10, './AttrService': 13, './DOMTokenListService': 15, './NamedNodeMapService': 25, './NodeService': 26, 'core-js/modules/esnext.iterator.constructor.js': 177, 'core-js/modules/esnext.iterator.every.js': 178, 'core-js/modules/esnext.iterator.find.js': 180, 'core-js/modules/esnext.iterator.for-each.js': 181, 'core-js/modules/esnext.iterator.map.js': 182, 'core-js/modules/esnext.iterator.some.js': 184, 'si-funciona/dist/helpers/objects/cloneObject': 219, 'si-funciona/dist/helpers/objects/isEqual': 221 }],
1461
+ 18: [function (require, module, exports) {
1252
1462
  'use strict'
1253
1463
 
1254
1464
  /**
@@ -1500,7 +1710,7 @@
1500
1710
  EventService.AT_TARGET = 2
1501
1711
  EventService.BUBBLING_PHASE = 3
1502
1712
  }, {}],
1503
- 18: [function (require, module, exports) {
1713
+ 19: [function (require, module, exports) {
1504
1714
  'use strict'
1505
1715
 
1506
1716
  require('core-js/modules/esnext.iterator.constructor.js')
@@ -1733,8 +1943,8 @@
1733
1943
  }
1734
1944
  }
1735
1945
  exports.default = EventTargetService
1736
- }, { '../classes/PseudoEventListener': 1, '../functions/getParentNodes': 9, './EventService': 17, 'collect-your-stuff/dist/collections/linked-list/LinkedList': 33, 'core-js/modules/esnext.iterator.constructor.js': 144, 'core-js/modules/esnext.iterator.filter.js': 145, 'core-js/modules/esnext.iterator.find.js': 146, 'core-js/modules/esnext.iterator.for-each.js': 147, 'core-js/modules/esnext.iterator.map.js': 148, 'core-js/modules/esnext.iterator.some.js': 150 }],
1737
- 19: [function (require, module, exports) {
1946
+ }, { '../classes/PseudoEventListener': 1, '../functions/getParentNodes': 9, './EventService': 18, 'collect-your-stuff/dist/collections/linked-list/LinkedList': 34, 'core-js/modules/esnext.iterator.constructor.js': 177, 'core-js/modules/esnext.iterator.filter.js': 179, 'core-js/modules/esnext.iterator.find.js': 180, 'core-js/modules/esnext.iterator.for-each.js': 181, 'core-js/modules/esnext.iterator.map.js': 182, 'core-js/modules/esnext.iterator.some.js': 184 }],
1947
+ 20: [function (require, module, exports) {
1738
1948
  'use strict'
1739
1949
 
1740
1950
  Object.defineProperty(exports, '__esModule', {
@@ -1770,8 +1980,8 @@
1770
1980
  }
1771
1981
  }
1772
1982
  exports.FocusEventService = FocusEventService
1773
- }, { './UIEventService': 27 }],
1774
- 20: [function (require, module, exports) {
1983
+ }, { './UIEventService': 28 }],
1984
+ 21: [function (require, module, exports) {
1775
1985
  'use strict'
1776
1986
 
1777
1987
  const __importDefault = void 0 && (void 0).__importDefault || function (mod) {
@@ -1935,8 +2145,8 @@
1935
2145
  }
1936
2146
  }
1937
2147
  exports.HTMLElementService = HTMLElementService
1938
- }, { '../factories/createEvent': 4, '../functions/activeElement': 8, './ElementService': 16 }],
1939
- 21: [function (require, module, exports) {
2148
+ }, { '../factories/createEvent': 4, '../functions/activeElement': 8, './ElementService': 17 }],
2149
+ 22: [function (require, module, exports) {
1940
2150
  'use strict'
1941
2151
 
1942
2152
  Object.defineProperty(exports, '__esModule', {
@@ -1984,8 +2194,8 @@
1984
2194
  }
1985
2195
  }
1986
2196
  exports.InputEventService = InputEventService
1987
- }, { './UIEventService': 27 }],
1988
- 22: [function (require, module, exports) {
2197
+ }, { './UIEventService': 28 }],
2198
+ 23: [function (require, module, exports) {
1989
2199
  'use strict'
1990
2200
 
1991
2201
  Object.defineProperty(exports, '__esModule', {
@@ -2072,8 +2282,8 @@
2072
2282
  }
2073
2283
  }
2074
2284
  exports.KeyboardEventService = KeyboardEventService
2075
- }, { '../functions/modifierState': 11, './UIEventService': 27 }],
2076
- 23: [function (require, module, exports) {
2285
+ }, { '../functions/modifierState': 11, './UIEventService': 28 }],
2286
+ 24: [function (require, module, exports) {
2077
2287
  'use strict'
2078
2288
 
2079
2289
  Object.defineProperty(exports, '__esModule', {
@@ -2182,8 +2392,8 @@
2182
2392
  }
2183
2393
  }
2184
2394
  exports.MouseEventService = MouseEventService
2185
- }, { '../functions/modifierState': 11, './UIEventService': 27 }],
2186
- 24: [function (require, module, exports) {
2395
+ }, { '../functions/modifierState': 11, './UIEventService': 28 }],
2396
+ 25: [function (require, module, exports) {
2187
2397
  'use strict'
2188
2398
 
2189
2399
  require('core-js/modules/esnext.iterator.constructor.js')
@@ -2261,10 +2471,13 @@
2261
2471
  }
2262
2472
  }
2263
2473
  exports.NamedNodeMapService = NamedNodeMapService
2264
- }, { 'core-js/modules/esnext.iterator.constructor.js': 144, 'core-js/modules/esnext.iterator.find.js': 146 }],
2265
- 25: [function (require, module, exports) {
2474
+ }, { 'core-js/modules/esnext.iterator.constructor.js': 177, 'core-js/modules/esnext.iterator.find.js': 180 }],
2475
+ 26: [function (require, module, exports) {
2266
2476
  'use strict'
2267
2477
 
2478
+ require('core-js/modules/esnext.iterator.constructor.js')
2479
+ require('core-js/modules/esnext.iterator.every.js')
2480
+ require('core-js/modules/esnext.iterator.for-each.js')
2268
2481
  const __importDefault = void 0 && (void 0).__importDefault || function (mod) {
2269
2482
  return mod && mod.__esModule
2270
2483
  ? mod
@@ -2275,7 +2488,7 @@
2275
2488
  Object.defineProperty(exports, '__esModule', {
2276
2489
  value: true
2277
2490
  })
2278
- exports.NodeService = void 0
2491
+ exports.CommentService = exports.TextService = exports.NodeService = void 0
2279
2492
  /**
2280
2493
  * @file Substitute for the DOM Node Class.
2281
2494
  * @author Joshua Heagle <joshuaheagle@gmail.com>
@@ -2300,8 +2513,9 @@
2300
2513
  */
2301
2514
  constructor () {
2302
2515
  super()
2303
- this.nodeValueStore = ''
2304
- this.textContentStore = ''
2516
+ this.nodeValueStore = null
2517
+ this.ownerDocumentStore = null
2518
+ this.nodeId = NodeService.nextNodeId++
2305
2519
  this.nodeNameValue = ''
2306
2520
  this.children = (0, generateNodeList_1.default)()
2307
2521
  this.parent = null
@@ -2321,7 +2535,8 @@
2321
2535
  }
2322
2536
 
2323
2537
  get isConnected () {
2324
- return !!this.parent
2538
+ // Connected means the tree the node is in has a document at the top
2539
+ return this.getRootNode().nodeType === NodeService.DOCUMENT_NODE
2325
2540
  }
2326
2541
 
2327
2542
  get lastChild () {
@@ -2349,7 +2564,11 @@
2349
2564
  }
2350
2565
 
2351
2566
  get ownerDocument () {
2352
- return null
2567
+ if (this.nodeType === NodeService.DOCUMENT_NODE) {
2568
+ return null
2569
+ }
2570
+ const root = this.getRootNode()
2571
+ return root.nodeType === NodeService.DOCUMENT_NODE ? root : this.ownerDocumentStore
2353
2572
  }
2354
2573
 
2355
2574
  get parentNode () {
@@ -2365,11 +2584,34 @@
2365
2584
  }
2366
2585
 
2367
2586
  get textContent () {
2368
- return this.textContentStore
2587
+ if (this.nodeType === NodeService.DOCUMENT_NODE || this.nodeType === NodeService.DOCUMENT_TYPE_NODE) {
2588
+ return null
2589
+ }
2590
+ // The text of everything below, in order (comments and the like do not count)
2591
+ let text = ''
2592
+ Array.from(this.childNodes).forEach(child => {
2593
+ if (child.nodeType === NodeService.TEXT_NODE) {
2594
+ text += child.nodeValue
2595
+ } else if (child.nodeType !== NodeService.COMMENT_NODE) {
2596
+ text += child.textContent
2597
+ }
2598
+ })
2599
+ return text
2369
2600
  }
2370
2601
 
2371
2602
  set textContent (text) {
2372
- this.textContentStore = text
2603
+ if (this.nodeType === NodeService.DOCUMENT_NODE || this.nodeType === NodeService.DOCUMENT_TYPE_NODE) {
2604
+ return
2605
+ }
2606
+ // All the children are replaced by a single text node (or none for an empty text)
2607
+ while (this.firstChild) {
2608
+ this.removeChild(this.firstChild)
2609
+ }
2610
+ if (text !== null && typeof text !== 'undefined' && String(text) !== '') {
2611
+ const textNode = new TextService(String(text))
2612
+ textNode.ownerDocumentStore = this.ownerDocument
2613
+ this.appendChild(textNode)
2614
+ }
2373
2615
  }
2374
2616
 
2375
2617
  /**
@@ -2381,6 +2623,36 @@
2381
2623
  return this.insertBefore(childNode, null)
2382
2624
  }
2383
2625
 
2626
+ /**
2627
+ * Whether this kind of node can have children (text, comments and attributes cannot).
2628
+ * @returns {boolean}
2629
+ */
2630
+ get acceptsChildren () {
2631
+ return true
2632
+ }
2633
+
2634
+ /**
2635
+ * Make a copy of this node without its children, its parent or its listeners, which is what cloneNode starts from.
2636
+ * Kinds of node which are made with arguments override this to give them.
2637
+ * @returns {NodeService}
2638
+ */
2639
+ cloneShallow () {
2640
+ const copy = new this.constructor()
2641
+ copy.nodeValue = this.nodeValue
2642
+ copy.ownerDocumentStore = this.ownerDocumentStore
2643
+ return copy
2644
+ }
2645
+
2646
+ /**
2647
+ * Whether another node of the same type is equal to this one apart from its children, which isEqualNode compares
2648
+ * afterwards. Kinds of node with more to compare (an element has attributes) override this.
2649
+ * @param {NodeService} other The node to compare with
2650
+ * @returns {boolean}
2651
+ */
2652
+ equalsShallow (other) {
2653
+ return this.nodeName === other.nodeName && this.nodeValue === other.nodeValue
2654
+ }
2655
+
2384
2656
  /**
2385
2657
  * Called each time a node has been inserted as a child of this node, so that nodes which need to react to children
2386
2658
  * (for example elements applying default events) can do so.
@@ -2388,19 +2660,62 @@
2388
2660
  */
2389
2661
  childInserted (child) {}
2390
2662
  /**
2391
- * Not implemented yet.
2392
- * @throws {Error}
2663
+ * Make a copy of this node (without its parent, and without its event listeners). With deep the children are copied
2664
+ * too, all the way down.
2665
+ * @param {boolean} [deep=false] Copy the children as well
2666
+ * @returns {PseudoNode}
2393
2667
  */
2394
2668
  cloneNode (deep = false) {
2395
- throw new Error(`NodeService.cloneNode(${deep}) is not implemented yet.`)
2669
+ const copy = this.cloneShallow()
2670
+ if (deep) {
2671
+ Array.from(this.childNodes).forEach(child => copy.appendChild(child.cloneNode(true)))
2672
+ }
2673
+ return copy
2396
2674
  }
2397
2675
 
2398
2676
  /**
2399
- * Not implemented yet.
2400
- * @throws {Error}
2677
+ * Say where another node is in relation to this one, as the bits of NodeService.DOCUMENT_POSITION_*: 0 for this node
2678
+ * itself, DISCONNECTED (with IMPLEMENTATION_SPECIFIC and a consistent PRECEDING or FOLLOWING) for a node in another tree,
2679
+ * CONTAINS + PRECEDING when the other node is an ancestor, CONTAINED_BY + FOLLOWING when it is a descendant,
2680
+ * otherwise PRECEDING or FOLLOWING by their order in the tree.
2681
+ * @param {PseudoNode} otherNode The node to locate
2682
+ * @returns {number}
2401
2683
  */
2402
2684
  compareDocumentPosition (otherNode) {
2403
- throw new Error('NodeService.compareDocumentPosition() is not implemented yet.')
2685
+ if (otherNode === this) {
2686
+ return 0
2687
+ }
2688
+ const pathFromRoot = node => {
2689
+ const path = []
2690
+ for (let current = node; current; current = current.parentNode) {
2691
+ path.unshift(current)
2692
+ }
2693
+ return path
2694
+ }
2695
+ const mine = pathFromRoot(this)
2696
+ const theirs = pathFromRoot(otherNode)
2697
+ if (mine[0] !== theirs[0]) {
2698
+ // Not in the same tree, so there is no real order: use a consistent one (the order the nodes were made in)
2699
+ const before = otherNode.nodeId < this.nodeId ? NodeService.DOCUMENT_POSITION_PRECEDING : NodeService.DOCUMENT_POSITION_FOLLOWING
2700
+ return NodeService.DOCUMENT_POSITION_DISCONNECTED | NodeService.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC | before
2701
+ }
2702
+ if (theirs.length < mine.length && theirs.every((node, index) => mine[index] === node)) {
2703
+ return NodeService.DOCUMENT_POSITION_CONTAINS | NodeService.DOCUMENT_POSITION_PRECEDING
2704
+ }
2705
+ if (mine.length < theirs.length && mine.every((node, index) => theirs[index] === node)) {
2706
+ return NodeService.DOCUMENT_POSITION_CONTAINED_BY | NodeService.DOCUMENT_POSITION_FOLLOWING
2707
+ }
2708
+ // The paths part ways at siblings: whichever comes first among them is first in the tree
2709
+ let depth = 0
2710
+ while (mine[depth] === theirs[depth]) {
2711
+ ++depth
2712
+ }
2713
+ for (let sibling = mine[depth].nextSibling; sibling; sibling = sibling.nextSibling) {
2714
+ if (sibling === theirs[depth]) {
2715
+ return NodeService.DOCUMENT_POSITION_FOLLOWING
2716
+ }
2717
+ }
2718
+ return NodeService.DOCUMENT_POSITION_PRECEDING
2404
2719
  }
2405
2720
 
2406
2721
  /**
@@ -2438,6 +2753,9 @@
2438
2753
  * @throws {Error} When the reference node is not a child of this node, or the new node is this node or contains it
2439
2754
  */
2440
2755
  insertBefore (newNode, referenceNode = null) {
2756
+ if (!this.acceptsChildren) {
2757
+ throw new Error('This kind of node cannot have children.')
2758
+ }
2441
2759
  if (referenceNode !== null && referenceNode.parentNode !== this) {
2442
2760
  throw new Error('The node before which the new node is to be inserted is not a child of this node.')
2443
2761
  }
@@ -2475,11 +2793,18 @@
2475
2793
  }
2476
2794
 
2477
2795
  /**
2478
- * Not implemented yet.
2479
- * @throws {Error}
2796
+ * Whether another node is the same as this one, by what they hold: the same type, name and value (an element also
2797
+ * needs the same attributes), and children which are equal in the same order.
2798
+ * @param {PseudoNode|null} otherNode The node to compare with
2799
+ * @returns {boolean}
2480
2800
  */
2481
2801
  isEqualNode (otherNode) {
2482
- throw new Error('NodeService.isEqualNode() is not implemented yet.')
2802
+ if (!otherNode || otherNode.nodeType !== this.nodeType || !this.equalsShallow(otherNode)) {
2803
+ return false
2804
+ }
2805
+ const mine = Array.from(this.childNodes)
2806
+ const theirs = Array.from(otherNode.childNodes)
2807
+ return mine.length === theirs.length && mine.every((child, index) => child.isEqualNode(theirs[index]))
2483
2808
  }
2484
2809
 
2485
2810
  isSameNode (otherNode) {
@@ -2494,7 +2819,34 @@
2494
2819
  return null
2495
2820
  }
2496
2821
 
2497
- normalize () {}
2822
+ /**
2823
+ * Tidy the text below this node: neighbouring text nodes are joined into one and empty text nodes are removed.
2824
+ */
2825
+ normalize () {
2826
+ let child = this.firstChild
2827
+ while (child) {
2828
+ if (child.nodeType === NodeService.TEXT_NODE) {
2829
+ // Join the text nodes which follow into this one, and drop it when it is empty
2830
+ let text = child.nodeValue
2831
+ let following = child.nextSibling
2832
+ while (following && following.nodeType === NodeService.TEXT_NODE) {
2833
+ text += following.nodeValue
2834
+ const after = following.nextSibling
2835
+ this.removeChild(following)
2836
+ following = after
2837
+ }
2838
+ child.nodeValue = text
2839
+ if (text === '') {
2840
+ this.removeChild(child)
2841
+ }
2842
+ child = following
2843
+ } else {
2844
+ child.normalize()
2845
+ child = child.nextSibling
2846
+ }
2847
+ }
2848
+ }
2849
+
2498
2850
  /**
2499
2851
  * Remove a child from this node, it no longer has a parent or siblings afterwards.
2500
2852
  * @param {PseudoNode} childElement The child node to remove
@@ -2550,98 +2902,252 @@
2550
2902
  NodeService.DOCUMENT_TYPE_NODE = 10
2551
2903
  NodeService.DOCUMENT_FRAGMENT_NODE = 11
2552
2904
  NodeService.NOTATION_NODE = 12
2553
- }, { '../factories/generateNodeList': 7, './EventTargetService': 18, 'collect-your-stuff/dist/collections/linked-tree-list/TreeLinker': 36 }],
2554
- 26: [function (require, module, exports) {
2555
- 'use strict'
2556
-
2557
- Object.defineProperty(exports, '__esModule', {
2558
- value: true
2559
- })
2560
- exports.PointerEventService = void 0
2561
- /**
2562
- * @file Substitute for the DOM PointerEvent Class.
2563
- * @author Joshua Heagle <joshuaheagle@gmail.com>
2564
- * @version 1.0.0
2565
- */
2566
- const MouseEventService_1 = require('./MouseEventService')
2905
+ NodeService.DOCUMENT_POSITION_DISCONNECTED = 1
2906
+ NodeService.DOCUMENT_POSITION_PRECEDING = 2
2907
+ NodeService.DOCUMENT_POSITION_FOLLOWING = 4
2908
+ NodeService.DOCUMENT_POSITION_CONTAINS = 8
2909
+ NodeService.DOCUMENT_POSITION_CONTAINED_BY = 16
2910
+ NodeService.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 32
2911
+ NodeService.nextNodeId = 1
2567
2912
  /**
2568
- * Simulate the behaviour of the PointerEvent Class when there is no DOM available.
2913
+ * Simulate the behaviour of the Text Class when there is no DOM available: the text in an element.
2569
2914
  * @author Joshua Heagle <joshuaheagle@gmail.com>
2570
2915
  * @class
2571
- * @augments MouseEventService
2572
- * @property {number} pointerId
2573
- * @property {number} width
2574
- * @property {number} height
2575
- * @property {number} pressure
2576
- * @property {string} pointerType
2577
- * @property {boolean} isPrimary
2916
+ * @augments NodeService
2917
+ * @property {string} data - The text
2918
+ * @property {number} length - How many characters there are
2919
+ * @property {string} wholeText - The text of this node and of the text nodes next to it
2578
2920
  */
2579
- class PointerEventService extends MouseEventService_1.MouseEventService {
2921
+ class TextService extends NodeService {
2580
2922
  /**
2581
- * @param {string} [typeArg=''] The type of the event
2582
- * @param {PointerEventInit} [init={}] The options for the event
2923
+ * @param {string} [data=''] The text
2583
2924
  * @constructor
2584
2925
  */
2585
- constructor (typeArg = '', init = {}) {
2586
- super(typeArg, init)
2587
- this.pointer = {
2588
- pointerId: init.pointerId || 0,
2589
- width: typeof init.width === 'number' ? init.width : 1,
2590
- height: typeof init.height === 'number' ? init.height : 1,
2591
- pressure: init.pressure || 0,
2592
- pointerType: init.pointerType || '',
2593
- isPrimary: !!init.isPrimary
2594
- }
2926
+ constructor (data = '') {
2927
+ super()
2928
+ this.nodeValue = String(data)
2595
2929
  }
2596
2930
 
2597
- get pointerId () {
2598
- return this.pointer.pointerId
2931
+ get acceptsChildren () {
2932
+ return false
2599
2933
  }
2600
2934
 
2601
- get width () {
2602
- return this.pointer.width
2935
+ get nodeName () {
2936
+ return '#text'
2603
2937
  }
2604
2938
 
2605
- get height () {
2606
- return this.pointer.height
2939
+ get nodeType () {
2940
+ return NodeService.TEXT_NODE
2607
2941
  }
2608
2942
 
2609
- get pressure () {
2610
- return this.pointer.pressure
2943
+ get data () {
2944
+ return this.nodeValue
2611
2945
  }
2612
2946
 
2613
- get pointerType () {
2614
- return this.pointer.pointerType
2947
+ set data (data) {
2948
+ this.nodeValue = String(data)
2615
2949
  }
2616
2950
 
2617
- get isPrimary () {
2618
- return this.pointer.isPrimary
2951
+ get length () {
2952
+ return this.data.length
2619
2953
  }
2620
- }
2621
- exports.PointerEventService = PointerEventService
2622
- }, { './MouseEventService': 23 }],
2623
- 27: [function (require, module, exports) {
2624
- 'use strict'
2625
2954
 
2626
- Object.defineProperty(exports, '__esModule', {
2627
- value: true
2628
- })
2629
- exports.UIEventService = void 0
2630
- /**
2631
- * @file Substitute for the DOM UIEvent Class.
2632
- * @author Joshua Heagle <joshuaheagle@gmail.com>
2633
- * @version 1.0.0
2634
- */
2635
- const EventService_1 = require('./EventService')
2636
- /**
2637
- * Simulate the behaviour of the UIEvent Class when there is no DOM available: the events which come from a user
2638
- * interface (the mouse, the keyboard, focus and input).
2639
- * @author Joshua Heagle <joshuaheagle@gmail.com>
2640
- * @class
2641
- * @augments EventService
2642
- * @property {number} detail
2643
- * @property {*} view
2644
- */
2955
+ get textContent () {
2956
+ return this.data
2957
+ }
2958
+
2959
+ set textContent (text) {
2960
+ this.data = text === null ? '' : String(text)
2961
+ }
2962
+
2963
+ get wholeText () {
2964
+ let first = this
2965
+ while (first.previousSibling && first.previousSibling.nodeType === NodeService.TEXT_NODE) {
2966
+ first = first.previousSibling
2967
+ }
2968
+ let text = ''
2969
+ for (let current = first; current && current.nodeType === NodeService.TEXT_NODE; current = current.nextSibling) {
2970
+ text += current.nodeValue
2971
+ }
2972
+ return text
2973
+ }
2974
+
2975
+ /**
2976
+ * Break this text node in two at a position: this node keeps the text before it and a new node with the rest is put
2977
+ * after this one.
2978
+ * @param {number} offset How many characters stay in this node
2979
+ * @returns {TextService} The new node
2980
+ * @throws {Error} When the offset is beyond the end of the text
2981
+ */
2982
+ splitText (offset) {
2983
+ if (offset < 0 || offset > this.length) {
2984
+ throw new Error('The offset is beyond the end of the text.')
2985
+ }
2986
+ const rest = new TextService(this.data.slice(offset))
2987
+ rest.ownerDocumentStore = this.ownerDocumentStore
2988
+ this.data = this.data.slice(0, offset)
2989
+ if (this.parentNode) {
2990
+ this.parentNode.insertBefore(rest, this.nextSibling)
2991
+ }
2992
+ return rest
2993
+ }
2994
+
2995
+ cloneShallow () {
2996
+ const copy = new TextService(this.data)
2997
+ copy.ownerDocumentStore = this.ownerDocumentStore
2998
+ return copy
2999
+ }
3000
+ }
3001
+ exports.TextService = TextService
3002
+ /**
3003
+ * Simulate the behaviour of the Comment Class when there is no DOM available: a note in the markup which is not shown.
3004
+ * @author Joshua Heagle <joshuaheagle@gmail.com>
3005
+ * @class
3006
+ * @augments NodeService
3007
+ * @property {string} data - The comment
3008
+ * @property {number} length - How many characters there are
3009
+ */
3010
+ class CommentService extends NodeService {
3011
+ /**
3012
+ * @param {string} [data=''] The comment
3013
+ * @constructor
3014
+ */
3015
+ constructor (data = '') {
3016
+ super()
3017
+ this.nodeValue = String(data)
3018
+ }
3019
+
3020
+ get acceptsChildren () {
3021
+ return false
3022
+ }
3023
+
3024
+ get nodeName () {
3025
+ return '#comment'
3026
+ }
3027
+
3028
+ get nodeType () {
3029
+ return NodeService.COMMENT_NODE
3030
+ }
3031
+
3032
+ get data () {
3033
+ return this.nodeValue
3034
+ }
3035
+
3036
+ set data (data) {
3037
+ this.nodeValue = String(data)
3038
+ }
3039
+
3040
+ get length () {
3041
+ return this.data.length
3042
+ }
3043
+
3044
+ get textContent () {
3045
+ return this.data
3046
+ }
3047
+
3048
+ set textContent (text) {
3049
+ this.data = text === null ? '' : String(text)
3050
+ }
3051
+
3052
+ cloneShallow () {
3053
+ const copy = new CommentService(this.data)
3054
+ copy.ownerDocumentStore = this.ownerDocumentStore
3055
+ return copy
3056
+ }
3057
+ }
3058
+ exports.CommentService = CommentService
3059
+ }, { '../factories/generateNodeList': 7, './EventTargetService': 19, 'collect-your-stuff/dist/collections/linked-tree-list/TreeLinker': 37, 'core-js/modules/esnext.iterator.constructor.js': 177, 'core-js/modules/esnext.iterator.every.js': 178, 'core-js/modules/esnext.iterator.for-each.js': 181 }],
3060
+ 27: [function (require, module, exports) {
3061
+ 'use strict'
3062
+
3063
+ Object.defineProperty(exports, '__esModule', {
3064
+ value: true
3065
+ })
3066
+ exports.PointerEventService = void 0
3067
+ /**
3068
+ * @file Substitute for the DOM PointerEvent Class.
3069
+ * @author Joshua Heagle <joshuaheagle@gmail.com>
3070
+ * @version 1.0.0
3071
+ */
3072
+ const MouseEventService_1 = require('./MouseEventService')
3073
+ /**
3074
+ * Simulate the behaviour of the PointerEvent Class when there is no DOM available.
3075
+ * @author Joshua Heagle <joshuaheagle@gmail.com>
3076
+ * @class
3077
+ * @augments MouseEventService
3078
+ * @property {number} pointerId
3079
+ * @property {number} width
3080
+ * @property {number} height
3081
+ * @property {number} pressure
3082
+ * @property {string} pointerType
3083
+ * @property {boolean} isPrimary
3084
+ */
3085
+ class PointerEventService extends MouseEventService_1.MouseEventService {
3086
+ /**
3087
+ * @param {string} [typeArg=''] The type of the event
3088
+ * @param {PointerEventInit} [init={}] The options for the event
3089
+ * @constructor
3090
+ */
3091
+ constructor (typeArg = '', init = {}) {
3092
+ super(typeArg, init)
3093
+ this.pointer = {
3094
+ pointerId: init.pointerId || 0,
3095
+ width: typeof init.width === 'number' ? init.width : 1,
3096
+ height: typeof init.height === 'number' ? init.height : 1,
3097
+ pressure: init.pressure || 0,
3098
+ pointerType: init.pointerType || '',
3099
+ isPrimary: !!init.isPrimary
3100
+ }
3101
+ }
3102
+
3103
+ get pointerId () {
3104
+ return this.pointer.pointerId
3105
+ }
3106
+
3107
+ get width () {
3108
+ return this.pointer.width
3109
+ }
3110
+
3111
+ get height () {
3112
+ return this.pointer.height
3113
+ }
3114
+
3115
+ get pressure () {
3116
+ return this.pointer.pressure
3117
+ }
3118
+
3119
+ get pointerType () {
3120
+ return this.pointer.pointerType
3121
+ }
3122
+
3123
+ get isPrimary () {
3124
+ return this.pointer.isPrimary
3125
+ }
3126
+ }
3127
+ exports.PointerEventService = PointerEventService
3128
+ }, { './MouseEventService': 24 }],
3129
+ 28: [function (require, module, exports) {
3130
+ 'use strict'
3131
+
3132
+ Object.defineProperty(exports, '__esModule', {
3133
+ value: true
3134
+ })
3135
+ exports.UIEventService = void 0
3136
+ /**
3137
+ * @file Substitute for the DOM UIEvent Class.
3138
+ * @author Joshua Heagle <joshuaheagle@gmail.com>
3139
+ * @version 1.0.0
3140
+ */
3141
+ const EventService_1 = require('./EventService')
3142
+ /**
3143
+ * Simulate the behaviour of the UIEvent Class when there is no DOM available: the events which come from a user
3144
+ * interface (the mouse, the keyboard, focus and input).
3145
+ * @author Joshua Heagle <joshuaheagle@gmail.com>
3146
+ * @class
3147
+ * @augments EventService
3148
+ * @property {number} detail
3149
+ * @property {*} view
3150
+ */
2645
3151
  class UIEventService extends EventService_1.EventService {
2646
3152
  /**
2647
3153
  * @param {string} [typeArg=''] The type of the event
@@ -2663,8 +3169,8 @@
2663
3169
  }
2664
3170
  }
2665
3171
  exports.UIEventService = UIEventService
2666
- }, { './EventService': 17 }],
2667
- 28: [function (require, module, exports) {
3172
+ }, { './EventService': 18 }],
3173
+ 29: [function (require, module, exports) {
2668
3174
  'use strict'
2669
3175
 
2670
3176
  const __importDefault = void 0 && (void 0).__importDefault || function (mod) {
@@ -2781,7 +3287,7 @@
2781
3287
  keyPress: exports.keyPress
2782
3288
  }
2783
3289
  }, { './factories/createEvent': 4, './functions/activeElement': 8 }],
2784
- 29: [function (require, module, exports) {
3290
+ 30: [function (require, module, exports) {
2785
3291
  'use strict'
2786
3292
 
2787
3293
  Object.defineProperty(exports, '__esModule', {
@@ -2848,8 +3354,8 @@
2848
3354
  head: [],
2849
3355
  tail: null
2850
3356
  })
2851
- }, { 'core-js/modules/esnext.iterator.constructor.js': 144, 'core-js/modules/esnext.iterator.reduce.js': 149 }],
2852
- 30: [function (require, module, exports) {
3357
+ }, { 'core-js/modules/esnext.iterator.constructor.js': 177, 'core-js/modules/esnext.iterator.reduce.js': 183 }],
3358
+ 31: [function (require, module, exports) {
2853
3359
  'use strict'
2854
3360
 
2855
3361
  Object.defineProperty(exports, '__esModule', {
@@ -3073,8 +3579,8 @@
3073
3579
  const list = new classType(elementClass)
3074
3580
  return list.initialize(elementClass.fromArray(values).head)
3075
3581
  }
3076
- }, { '../../recipes/ArrayIterator': 37, './ArrayElement': 29 }],
3077
- 31: [function (require, module, exports) {
3582
+ }, { '../../recipes/ArrayIterator': 38, './ArrayElement': 30 }],
3583
+ 32: [function (require, module, exports) {
3078
3584
  'use strict'
3079
3585
 
3080
3586
  Object.defineProperty(exports, '__esModule', {
@@ -3148,8 +3654,8 @@
3148
3654
  head: null,
3149
3655
  tail: null
3150
3656
  })
3151
- }, { '../linked-list/Linker': 34, 'core-js/modules/esnext.iterator.constructor.js': 144, 'core-js/modules/esnext.iterator.reduce.js': 149 }],
3152
- 32: [function (require, module, exports) {
3657
+ }, { '../linked-list/Linker': 35, 'core-js/modules/esnext.iterator.constructor.js': 177, 'core-js/modules/esnext.iterator.reduce.js': 183 }],
3658
+ 33: [function (require, module, exports) {
3153
3659
  'use strict'
3154
3660
 
3155
3661
  Object.defineProperty(exports, '__esModule', {
@@ -3477,8 +3983,8 @@
3477
3983
  DoublyLinkedList.fromArray = (values = [], linkerClass = _DoubleLinker.DoubleLinker, classType = DoublyLinkedList) => {
3478
3984
  return _LinkedList.LinkedList.fromArray(values, linkerClass, classType)
3479
3985
  }
3480
- }, { '../../recipes/DoubleLinkerIterator': 38, '../linked-list/LinkedList': 33, './DoubleLinker': 31, 'core-js/modules/esnext.iterator.constructor.js': 144, 'core-js/modules/esnext.iterator.for-each.js': 147 }],
3481
- 33: [function (require, module, exports) {
3986
+ }, { '../../recipes/DoubleLinkerIterator': 39, '../linked-list/LinkedList': 34, './DoubleLinker': 32, 'core-js/modules/esnext.iterator.constructor.js': 177, 'core-js/modules/esnext.iterator.for-each.js': 181 }],
3987
+ 34: [function (require, module, exports) {
3482
3988
  'use strict'
3483
3989
 
3484
3990
  Object.defineProperty(exports, '__esModule', {
@@ -3775,8 +4281,8 @@
3775
4281
  const list = new classType(linkerClass)
3776
4282
  return list.initialize(linkerClass.fromArray(values).head)
3777
4283
  }
3778
- }, { '../../recipes/LinkerIterator': 39, '../arrayable/Arrayable': 30, './Linker': 34 }],
3779
- 34: [function (require, module, exports) {
4284
+ }, { '../../recipes/LinkerIterator': 40, '../arrayable/Arrayable': 31, './Linker': 35 }],
4285
+ 35: [function (require, module, exports) {
3780
4286
  'use strict'
3781
4287
 
3782
4288
  Object.defineProperty(exports, '__esModule', {
@@ -3861,8 +4367,8 @@
3861
4367
  head: null,
3862
4368
  tail: null
3863
4369
  })
3864
- }, { '../arrayable/ArrayElement': 29, 'core-js/modules/esnext.iterator.constructor.js': 144, 'core-js/modules/esnext.iterator.reduce.js': 149 }],
3865
- 35: [function (require, module, exports) {
4370
+ }, { '../arrayable/ArrayElement': 30, 'core-js/modules/esnext.iterator.constructor.js': 177, 'core-js/modules/esnext.iterator.reduce.js': 183 }],
4371
+ 36: [function (require, module, exports) {
3866
4372
  'use strict'
3867
4373
 
3868
4374
  Object.defineProperty(exports, '__esModule', {
@@ -4157,8 +4663,8 @@
4157
4663
  const list = new classType(linkerClass)
4158
4664
  return list.initialize(linkerClass.fromArray(values).head)
4159
4665
  }
4160
- }, { '../../recipes/TreeLinkerIterator': 40, '../doubly-linked-list/DoublyLinkedList': 32, './TreeLinker': 36, 'core-js/modules/esnext.iterator.constructor.js': 144, 'core-js/modules/esnext.iterator.for-each.js': 147 }],
4161
- 36: [function (require, module, exports) {
4666
+ }, { '../../recipes/TreeLinkerIterator': 41, '../doubly-linked-list/DoublyLinkedList': 33, './TreeLinker': 37, 'core-js/modules/esnext.iterator.constructor.js': 177, 'core-js/modules/esnext.iterator.for-each.js': 181 }],
4667
+ 37: [function (require, module, exports) {
4162
4668
  'use strict'
4163
4669
 
4164
4670
  Object.defineProperty(exports, '__esModule', {
@@ -4253,8 +4759,8 @@
4253
4759
  * @returns {{head: TreeLinker, tail: TreeLinker}}
4254
4760
  */
4255
4761
  TreeLinker.fromArray = (values = [], classType = TreeLinker) => _DoubleLinker.DoubleLinker.fromArray(values, classType)
4256
- }, { '../doubly-linked-list/DoubleLinker': 31, './LinkedTreeList': 35, 'core-js/modules/esnext.iterator.constructor.js': 144, 'core-js/modules/esnext.iterator.map.js': 148 }],
4257
- 37: [function (require, module, exports) {
4762
+ }, { '../doubly-linked-list/DoubleLinker': 32, './LinkedTreeList': 36, 'core-js/modules/esnext.iterator.constructor.js': 177, 'core-js/modules/esnext.iterator.map.js': 182 }],
4763
+ 38: [function (require, module, exports) {
4258
4764
  'use strict'
4259
4765
 
4260
4766
  Object.defineProperty(exports, '__esModule', {
@@ -4295,7 +4801,7 @@
4295
4801
  }
4296
4802
  exports.ArrayIterator = ArrayIterator
4297
4803
  }, {}],
4298
- 38: [function (require, module, exports) {
4804
+ 39: [function (require, module, exports) {
4299
4805
  'use strict'
4300
4806
 
4301
4807
  Object.defineProperty(exports, '__esModule', {
@@ -4330,7 +4836,7 @@
4330
4836
  }
4331
4837
  exports.DoubleLinkerIterator = DoubleLinkerIterator
4332
4838
  }, {}],
4333
- 39: [function (require, module, exports) {
4839
+ 40: [function (require, module, exports) {
4334
4840
  'use strict'
4335
4841
 
4336
4842
  Object.defineProperty(exports, '__esModule', {
@@ -4365,7 +4871,7 @@
4365
4871
  }
4366
4872
  exports.LinkerIterator = LinkerIterator
4367
4873
  }, {}],
4368
- 40: [function (require, module, exports) {
4874
+ 41: [function (require, module, exports) {
4369
4875
  'use strict'
4370
4876
 
4371
4877
  Object.defineProperty(exports, '__esModule', {
@@ -4402,8 +4908,8 @@
4402
4908
  }
4403
4909
  }
4404
4910
  exports.TreeLinkerIterator = TreeLinkerIterator
4405
- }, { '../services/parseTreeNext': 41 }],
4406
- 41: [function (require, module, exports) {
4911
+ }, { '../services/parseTreeNext': 42 }],
4912
+ 42: [function (require, module, exports) {
4407
4913
  'use strict'
4408
4914
 
4409
4915
  Object.defineProperty(exports, '__esModule', {
@@ -4447,7 +4953,7 @@
4447
4953
  }
4448
4954
  exports.parseTreeNext = parseTreeNext
4449
4955
  }, {}],
4450
- 42: [function (require, module, exports) {
4956
+ 43: [function (require, module, exports) {
4451
4957
  'use strict'
4452
4958
  const isCallable = require('../internals/is-callable')
4453
4959
  const tryToString = require('../internals/try-to-string')
@@ -4459,8 +4965,28 @@
4459
4965
  if (isCallable(argument)) return argument
4460
4966
  throw new $TypeError(tryToString(argument) + ' is not a function')
4461
4967
  }
4462
- }, { '../internals/is-callable': 87, '../internals/try-to-string': 130 }],
4463
- 43: [function (require, module, exports) {
4968
+ }, { '../internals/is-callable': 95, '../internals/try-to-string': 159 }],
4969
+ 44: [function (require, module, exports) {
4970
+ 'use strict'
4971
+ const has = require('../internals/map-helpers').has
4972
+
4973
+ // Perform ? RequireInternalSlot(M, [[MapData]])
4974
+ module.exports = function (it) {
4975
+ has(it)
4976
+ return it
4977
+ }
4978
+ }, { '../internals/map-helpers': 114 }],
4979
+ 45: [function (require, module, exports) {
4980
+ 'use strict'
4981
+ const has = require('../internals/set-helpers').has
4982
+
4983
+ // Perform ? RequireInternalSlot(M, [[SetData]])
4984
+ module.exports = function (it) {
4985
+ has(it)
4986
+ return it
4987
+ }
4988
+ }, { '../internals/set-helpers': 136 }],
4989
+ 46: [function (require, module, exports) {
4464
4990
  'use strict'
4465
4991
  const has = require('../internals/weak-map-helpers').has
4466
4992
 
@@ -4469,8 +4995,41 @@
4469
4995
  has(it)
4470
4996
  return it
4471
4997
  }
4472
- }, { '../internals/weak-map-helpers': 135 }],
4473
- 44: [function (require, module, exports) {
4998
+ }, { '../internals/weak-map-helpers': 164 }],
4999
+ 47: [function (require, module, exports) {
5000
+ 'use strict'
5001
+ const has = require('../internals/weak-set-helpers').has
5002
+
5003
+ // Perform ? RequireInternalSlot(M, [[WeakSetData]])
5004
+ module.exports = function (it) {
5005
+ has(it)
5006
+ return it
5007
+ }
5008
+ }, { '../internals/weak-set-helpers': 165 }],
5009
+ 48: [function (require, module, exports) {
5010
+ 'use strict'
5011
+ const wellKnownSymbol = require('../internals/well-known-symbol')
5012
+ const create = require('../internals/object-create')
5013
+ const defineProperty = require('../internals/object-define-property').f
5014
+
5015
+ const UNSCOPABLES = wellKnownSymbol('unscopables')
5016
+ const ArrayPrototype = Array.prototype
5017
+
5018
+ // Array.prototype[@@unscopables]
5019
+ // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
5020
+ if (ArrayPrototype[UNSCOPABLES] === undefined) {
5021
+ defineProperty(ArrayPrototype, UNSCOPABLES, {
5022
+ configurable: true,
5023
+ value: create(null)
5024
+ })
5025
+ }
5026
+
5027
+ // add a key to Array.prototype[@@unscopables]
5028
+ module.exports = function (key) {
5029
+ ArrayPrototype[UNSCOPABLES][key] = true
5030
+ }
5031
+ }, { '../internals/object-create': 117, '../internals/object-define-property': 119, '../internals/well-known-symbol': 166 }],
5032
+ 49: [function (require, module, exports) {
4474
5033
  'use strict'
4475
5034
  const isPrototypeOf = require('../internals/object-is-prototype-of')
4476
5035
 
@@ -4480,8 +5039,8 @@
4480
5039
  if (isPrototypeOf(Prototype, it)) return it
4481
5040
  throw new $TypeError('Incorrect invocation')
4482
5041
  }
4483
- }, { '../internals/object-is-prototype-of': 112 }],
4484
- 45: [function (require, module, exports) {
5042
+ }, { '../internals/object-is-prototype-of': 124 }],
5043
+ 50: [function (require, module, exports) {
4485
5044
  'use strict'
4486
5045
  const isObject = require('../internals/is-object')
4487
5046
 
@@ -4493,8 +5052,8 @@
4493
5052
  if (isObject(argument)) return argument
4494
5053
  throw new $TypeError($String(argument) + ' is not an object')
4495
5054
  }
4496
- }, { '../internals/is-object': 90 }],
4497
- 46: [function (require, module, exports) {
5055
+ }, { '../internals/is-object': 99 }],
5056
+ 51: [function (require, module, exports) {
4498
5057
  'use strict'
4499
5058
  const toIndexedObject = require('../internals/to-indexed-object')
4500
5059
  const toAbsoluteIndex = require('../internals/to-absolute-index')
@@ -4533,8 +5092,8 @@
4533
5092
  // https://tc39.es/ecma262/#sec-array.prototype.indexof
4534
5093
  indexOf: createMethod(false)
4535
5094
  }
4536
- }, { '../internals/length-of-array-like': 102, '../internals/to-absolute-index': 123, '../internals/to-indexed-object': 124 }],
4537
- 47: [function (require, module, exports) {
5095
+ }, { '../internals/length-of-array-like': 112, '../internals/to-absolute-index': 149, '../internals/to-indexed-object': 150 }],
5096
+ 52: [function (require, module, exports) {
4538
5097
  'use strict'
4539
5098
  const anObject = require('../internals/an-object')
4540
5099
  const iteratorClose = require('../internals/iterator-close')
@@ -4547,8 +5106,8 @@
4547
5106
  iteratorClose(iterator, 'throw', error)
4548
5107
  }
4549
5108
  }
4550
- }, { '../internals/an-object': 45, '../internals/iterator-close': 96 }],
4551
- 48: [function (require, module, exports) {
5109
+ }, { '../internals/an-object': 50, '../internals/iterator-close': 106 }],
5110
+ 53: [function (require, module, exports) {
4552
5111
  'use strict'
4553
5112
  const uncurryThis = require('../internals/function-uncurry-this')
4554
5113
 
@@ -4558,8 +5117,40 @@
4558
5117
  module.exports = function (it) {
4559
5118
  return stringSlice(toString(it), 8, -1)
4560
5119
  }
4561
- }, { '../internals/function-uncurry-this': 72 }],
4562
- 49: [function (require, module, exports) {
5120
+ }, { '../internals/function-uncurry-this': 79 }],
5121
+ 54: [function (require, module, exports) {
5122
+ 'use strict'
5123
+ const TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support')
5124
+ const isCallable = require('../internals/is-callable')
5125
+ const classofRaw = require('../internals/classof-raw')
5126
+ const wellKnownSymbol = require('../internals/well-known-symbol')
5127
+
5128
+ const TO_STRING_TAG = wellKnownSymbol('toStringTag')
5129
+ const $Object = Object
5130
+
5131
+ // ES3 wrong here
5132
+ const CORRECT_ARGUMENTS = classofRaw(function () { return arguments }()) === 'Arguments'
5133
+
5134
+ // fallback for IE11 Script Access Denied error
5135
+ const tryGet = function (it, key) {
5136
+ try {
5137
+ return it[key]
5138
+ } catch (error) { /* empty */ }
5139
+ }
5140
+
5141
+ // getting tag from ES6+ `Object.prototype.toString`
5142
+ module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
5143
+ let O, tag, result
5144
+ return it === undefined ? 'Undefined' : it === null ? 'Null'
5145
+ // @@toStringTag case
5146
+ : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) === 'string' ? tag
5147
+ // builtinTag case
5148
+ : CORRECT_ARGUMENTS ? classofRaw(O)
5149
+ // ES3 arguments fallback
5150
+ : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result
5151
+ }
5152
+ }, { '../internals/classof-raw': 53, '../internals/is-callable': 95, '../internals/to-string-tag-support': 157, '../internals/well-known-symbol': 166 }],
5153
+ 55: [function (require, module, exports) {
4563
5154
  'use strict'
4564
5155
  const hasOwn = require('../internals/has-own-property')
4565
5156
  const ownKeys = require('../internals/own-keys')
@@ -4577,8 +5168,8 @@
4577
5168
  }
4578
5169
  }
4579
5170
  }
4580
- }, { '../internals/has-own-property': 79, '../internals/object-define-property': 107, '../internals/object-get-own-property-descriptor': 108, '../internals/own-keys': 117 }],
4581
- 50: [function (require, module, exports) {
5171
+ }, { '../internals/has-own-property': 87, '../internals/object-define-property': 119, '../internals/object-get-own-property-descriptor': 120, '../internals/own-keys': 129 }],
5172
+ 56: [function (require, module, exports) {
4582
5173
  'use strict'
4583
5174
  const fails = require('../internals/fails')
4584
5175
 
@@ -4588,8 +5179,8 @@
4588
5179
  // eslint-disable-next-line es/no-object-getprototypeof -- required for testing
4589
5180
  return Object.getPrototypeOf(new F()) !== F.prototype
4590
5181
  })
4591
- }, { '../internals/fails': 65 }],
4592
- 51: [function (require, module, exports) {
5182
+ }, { '../internals/fails': 71 }],
5183
+ 57: [function (require, module, exports) {
4593
5184
  'use strict'
4594
5185
  // `CreateIterResultObject` abstract operation
4595
5186
  // https://tc39.es/ecma262/#sec-createiterresultobject
@@ -4597,7 +5188,7 @@
4597
5188
  return { value, done }
4598
5189
  }
4599
5190
  }, {}],
4600
- 52: [function (require, module, exports) {
5191
+ 58: [function (require, module, exports) {
4601
5192
  'use strict'
4602
5193
  const DESCRIPTORS = require('../internals/descriptors')
4603
5194
  const definePropertyModule = require('../internals/object-define-property')
@@ -4611,8 +5202,8 @@
4611
5202
  object[key] = value
4612
5203
  return object
4613
5204
  }
4614
- }, { '../internals/create-property-descriptor': 53, '../internals/descriptors': 59, '../internals/object-define-property': 107 }],
4615
- 53: [function (require, module, exports) {
5205
+ }, { '../internals/create-property-descriptor': 59, '../internals/descriptors': 65, '../internals/object-define-property': 119 }],
5206
+ 59: [function (require, module, exports) {
4616
5207
  'use strict'
4617
5208
  module.exports = function (bitmap, value) {
4618
5209
  return {
@@ -4623,7 +5214,7 @@
4623
5214
  }
4624
5215
  }
4625
5216
  }, {}],
4626
- 54: [function (require, module, exports) {
5217
+ 60: [function (require, module, exports) {
4627
5218
  'use strict'
4628
5219
  const DESCRIPTORS = require('../internals/descriptors')
4629
5220
  const definePropertyModule = require('../internals/object-define-property')
@@ -4633,8 +5224,8 @@
4633
5224
  if (DESCRIPTORS) definePropertyModule.f(object, key, createPropertyDescriptor(0, value))
4634
5225
  else object[key] = value
4635
5226
  }
4636
- }, { '../internals/create-property-descriptor': 53, '../internals/descriptors': 59, '../internals/object-define-property': 107 }],
4637
- 55: [function (require, module, exports) {
5227
+ }, { '../internals/create-property-descriptor': 59, '../internals/descriptors': 65, '../internals/object-define-property': 119 }],
5228
+ 61: [function (require, module, exports) {
4638
5229
  'use strict'
4639
5230
  const makeBuiltIn = require('../internals/make-built-in')
4640
5231
  const defineProperty = require('../internals/object-define-property')
@@ -4644,8 +5235,8 @@
4644
5235
  if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true })
4645
5236
  return defineProperty.f(target, name, descriptor)
4646
5237
  }
4647
- }, { '../internals/make-built-in': 103, '../internals/object-define-property': 107 }],
4648
- 56: [function (require, module, exports) {
5238
+ }, { '../internals/make-built-in': 113, '../internals/object-define-property': 119 }],
5239
+ 62: [function (require, module, exports) {
4649
5240
  'use strict'
4650
5241
  const isCallable = require('../internals/is-callable')
4651
5242
  const definePropertyModule = require('../internals/object-define-property')
@@ -4676,8 +5267,8 @@
4676
5267
  }
4677
5268
  } return O
4678
5269
  }
4679
- }, { '../internals/define-global-property': 58, '../internals/is-callable': 87, '../internals/make-built-in': 103, '../internals/object-define-property': 107 }],
4680
- 57: [function (require, module, exports) {
5270
+ }, { '../internals/define-global-property': 64, '../internals/is-callable': 95, '../internals/make-built-in': 113, '../internals/object-define-property': 119 }],
5271
+ 63: [function (require, module, exports) {
4681
5272
  'use strict'
4682
5273
  const defineBuiltIn = require('../internals/define-built-in')
4683
5274
 
@@ -4685,8 +5276,8 @@
4685
5276
  for (const key in src) defineBuiltIn(target, key, src[key], options)
4686
5277
  return target
4687
5278
  }
4688
- }, { '../internals/define-built-in': 56 }],
4689
- 58: [function (require, module, exports) {
5279
+ }, { '../internals/define-built-in': 62 }],
5280
+ 64: [function (require, module, exports) {
4690
5281
  'use strict'
4691
5282
  const globalThis = require('../internals/global-this')
4692
5283
 
@@ -4700,8 +5291,8 @@
4700
5291
  globalThis[key] = value
4701
5292
  } return value
4702
5293
  }
4703
- }, { '../internals/global-this': 78 }],
4704
- 59: [function (require, module, exports) {
5294
+ }, { '../internals/global-this': 86 }],
5295
+ 65: [function (require, module, exports) {
4705
5296
  'use strict'
4706
5297
  const fails = require('../internals/fails')
4707
5298
 
@@ -4710,8 +5301,8 @@
4710
5301
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
4711
5302
  return Object.defineProperty({}, 1, { get: function () { return 7 } })[1] !== 7
4712
5303
  })
4713
- }, { '../internals/fails': 65 }],
4714
- 60: [function (require, module, exports) {
5304
+ }, { '../internals/fails': 71 }],
5305
+ 66: [function (require, module, exports) {
4715
5306
  'use strict'
4716
5307
  const globalThis = require('../internals/global-this')
4717
5308
  const isObject = require('../internals/is-object')
@@ -4723,8 +5314,8 @@
4723
5314
  module.exports = function (it) {
4724
5315
  return EXISTS ? document.createElement(it) : {}
4725
5316
  }
4726
- }, { '../internals/global-this': 78, '../internals/is-object': 90 }],
4727
- 61: [function (require, module, exports) {
5317
+ }, { '../internals/global-this': 86, '../internals/is-object': 99 }],
5318
+ 67: [function (require, module, exports) {
4728
5319
  'use strict'
4729
5320
  // IE8- don't enum bug keys
4730
5321
  module.exports = [
@@ -4737,7 +5328,7 @@
4737
5328
  'valueOf'
4738
5329
  ]
4739
5330
  }, {}],
4740
- 62: [function (require, module, exports) {
5331
+ 68: [function (require, module, exports) {
4741
5332
  'use strict'
4742
5333
  const globalThis = require('../internals/global-this')
4743
5334
 
@@ -4745,8 +5336,8 @@
4745
5336
  const userAgent = navigator && navigator.userAgent
4746
5337
 
4747
5338
  module.exports = userAgent ? String(userAgent) : ''
4748
- }, { '../internals/global-this': 78 }],
4749
- 63: [function (require, module, exports) {
5339
+ }, { '../internals/global-this': 86 }],
5340
+ 69: [function (require, module, exports) {
4750
5341
  'use strict'
4751
5342
  const globalThis = require('../internals/global-this')
4752
5343
  const userAgent = require('../internals/environment-user-agent')
@@ -4775,8 +5366,8 @@
4775
5366
  }
4776
5367
 
4777
5368
  module.exports = version
4778
- }, { '../internals/environment-user-agent': 62, '../internals/global-this': 78 }],
4779
- 64: [function (require, module, exports) {
5369
+ }, { '../internals/environment-user-agent': 68, '../internals/global-this': 86 }],
5370
+ 70: [function (require, module, exports) {
4780
5371
  'use strict'
4781
5372
  const globalThis = require('../internals/global-this')
4782
5373
  const getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f
@@ -4834,8 +5425,8 @@
4834
5425
  }
4835
5426
  }
4836
5427
  }
4837
- }, { '../internals/copy-constructor-properties': 49, '../internals/create-non-enumerable-property': 52, '../internals/define-built-in': 56, '../internals/define-global-property': 58, '../internals/global-this': 78, '../internals/is-forced': 88, '../internals/object-get-own-property-descriptor': 108 }],
4838
- 65: [function (require, module, exports) {
5428
+ }, { '../internals/copy-constructor-properties': 55, '../internals/create-non-enumerable-property': 58, '../internals/define-built-in': 62, '../internals/define-global-property': 64, '../internals/global-this': 86, '../internals/is-forced': 96, '../internals/object-get-own-property-descriptor': 120 }],
5429
+ 71: [function (require, module, exports) {
4839
5430
  'use strict'
4840
5431
  module.exports = function (exec) {
4841
5432
  try {
@@ -4845,7 +5436,7 @@
4845
5436
  }
4846
5437
  }
4847
5438
  }, {}],
4848
- 66: [function (require, module, exports) {
5439
+ 72: [function (require, module, exports) {
4849
5440
  'use strict'
4850
5441
  const NATIVE_BIND = require('../internals/function-bind-native')
4851
5442
 
@@ -4859,8 +5450,8 @@
4859
5450
  : function () {
4860
5451
  return call.apply(apply, arguments)
4861
5452
  })
4862
- }, { '../internals/function-bind-native': 68 }],
4863
- 67: [function (require, module, exports) {
5453
+ }, { '../internals/function-bind-native': 74 }],
5454
+ 73: [function (require, module, exports) {
4864
5455
  'use strict'
4865
5456
  const uncurryThis = require('../internals/function-uncurry-this-clause')
4866
5457
  const aCallable = require('../internals/a-callable')
@@ -4875,8 +5466,8 @@
4875
5466
  return fn.apply(that, arguments)
4876
5467
  }
4877
5468
  }
4878
- }, { '../internals/a-callable': 42, '../internals/function-bind-native': 68, '../internals/function-uncurry-this-clause': 71 }],
4879
- 68: [function (require, module, exports) {
5469
+ }, { '../internals/a-callable': 43, '../internals/function-bind-native': 74, '../internals/function-uncurry-this-clause': 78 }],
5470
+ 74: [function (require, module, exports) {
4880
5471
  'use strict'
4881
5472
  const fails = require('../internals/fails')
4882
5473
 
@@ -4886,8 +5477,8 @@
4886
5477
  // eslint-disable-next-line no-prototype-builtins -- safe
4887
5478
  return typeof test !== 'function' || test.hasOwnProperty('prototype')
4888
5479
  })
4889
- }, { '../internals/fails': 65 }],
4890
- 69: [function (require, module, exports) {
5480
+ }, { '../internals/fails': 71 }],
5481
+ 75: [function (require, module, exports) {
4891
5482
  'use strict'
4892
5483
  const NATIVE_BIND = require('../internals/function-bind-native')
4893
5484
 
@@ -4898,8 +5489,8 @@
4898
5489
  : function () {
4899
5490
  return call.apply(call, arguments)
4900
5491
  }
4901
- }, { '../internals/function-bind-native': 68 }],
4902
- 70: [function (require, module, exports) {
5492
+ }, { '../internals/function-bind-native': 74 }],
5493
+ 76: [function (require, module, exports) {
4903
5494
  'use strict'
4904
5495
  const DESCRIPTORS = require('../internals/descriptors')
4905
5496
  const hasOwn = require('../internals/has-own-property')
@@ -4918,8 +5509,20 @@
4918
5509
  PROPER,
4919
5510
  CONFIGURABLE
4920
5511
  }
4921
- }, { '../internals/descriptors': 59, '../internals/has-own-property': 79 }],
4922
- 71: [function (require, module, exports) {
5512
+ }, { '../internals/descriptors': 65, '../internals/has-own-property': 87 }],
5513
+ 77: [function (require, module, exports) {
5514
+ 'use strict'
5515
+ const uncurryThis = require('../internals/function-uncurry-this')
5516
+ const aCallable = require('../internals/a-callable')
5517
+
5518
+ module.exports = function (object, key, method) {
5519
+ try {
5520
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
5521
+ return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]))
5522
+ } catch (error) { /* empty */ }
5523
+ }
5524
+ }, { '../internals/a-callable': 43, '../internals/function-uncurry-this': 79 }],
5525
+ 78: [function (require, module, exports) {
4923
5526
  'use strict'
4924
5527
  const classofRaw = require('../internals/classof-raw')
4925
5528
  const uncurryThis = require('../internals/function-uncurry-this')
@@ -4930,8 +5533,8 @@
4930
5533
  // https://github.com/zloirock/core-js/issues/1130
4931
5534
  if (classofRaw(fn) === 'Function') return uncurryThis(fn)
4932
5535
  }
4933
- }, { '../internals/classof-raw': 48, '../internals/function-uncurry-this': 72 }],
4934
- 72: [function (require, module, exports) {
5536
+ }, { '../internals/classof-raw': 53, '../internals/function-uncurry-this': 79 }],
5537
+ 79: [function (require, module, exports) {
4935
5538
  'use strict'
4936
5539
  const NATIVE_BIND = require('../internals/function-bind-native')
4937
5540
 
@@ -4947,8 +5550,8 @@
4947
5550
  return call.apply(fn, arguments)
4948
5551
  }
4949
5552
  }
4950
- }, { '../internals/function-bind-native': 68 }],
4951
- 73: [function (require, module, exports) {
5553
+ }, { '../internals/function-bind-native': 74 }],
5554
+ 80: [function (require, module, exports) {
4952
5555
  'use strict'
4953
5556
  const globalThis = require('../internals/global-this')
4954
5557
  const isCallable = require('../internals/is-callable')
@@ -4960,8 +5563,8 @@
4960
5563
  module.exports = function (namespace, method) {
4961
5564
  return arguments.length < 2 ? aFunction(globalThis[namespace]) : globalThis[namespace] && globalThis[namespace][method]
4962
5565
  }
4963
- }, { '../internals/global-this': 78, '../internals/is-callable': 87 }],
4964
- 74: [function (require, module, exports) {
5566
+ }, { '../internals/global-this': 86, '../internals/is-callable': 95 }],
5567
+ 81: [function (require, module, exports) {
4965
5568
  'use strict'
4966
5569
  // `GetIteratorDirect(obj)` abstract operation
4967
5570
  // https://tc39.es/ecma262/#sec-getiteratordirect
@@ -4973,7 +5576,7 @@
4973
5576
  }
4974
5577
  }
4975
5578
  }, {}],
4976
- 75: [function (require, module, exports) {
5579
+ 82: [function (require, module, exports) {
4977
5580
  'use strict'
4978
5581
  const call = require('../internals/function-call')
4979
5582
  const isCallable = require('../internals/is-callable')
@@ -4988,8 +5591,8 @@
4988
5591
  if (isCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument))
4989
5592
  throw new $TypeError(tryToString(argument) + ' is not iterable')
4990
5593
  }
4991
- }, { '../internals/an-object': 45, '../internals/function-call': 69, '../internals/get-iterator-method-internal': 76, '../internals/is-callable': 87, '../internals/try-to-string': 130 }],
4992
- 76: [function (require, module, exports) {
5594
+ }, { '../internals/an-object': 50, '../internals/function-call': 75, '../internals/get-iterator-method-internal': 83, '../internals/is-callable': 95, '../internals/try-to-string': 159 }],
5595
+ 83: [function (require, module, exports) {
4993
5596
  'use strict'
4994
5597
  const classof = require('../internals/classof-raw')
4995
5598
  const isNullOrUndefined = require('../internals/is-null-or-undefined')
@@ -5006,8 +5609,8 @@
5006
5609
  (classof(it) === 'Arguments' ? ArrayPrototype[ITERATOR] : undefined)
5007
5610
  }
5008
5611
  }
5009
- }, { '../internals/classof-raw': 48, '../internals/get-method': 77, '../internals/is-null-or-undefined': 89, '../internals/well-known-symbol': 136 }],
5010
- 77: [function (require, module, exports) {
5612
+ }, { '../internals/classof-raw': 53, '../internals/get-method': 84, '../internals/is-null-or-undefined': 98, '../internals/well-known-symbol': 166 }],
5613
+ 84: [function (require, module, exports) {
5011
5614
  'use strict'
5012
5615
  const aCallable = require('../internals/a-callable')
5013
5616
  const isNullOrUndefined = require('../internals/is-null-or-undefined')
@@ -5018,8 +5621,50 @@
5018
5621
  const func = V[P]
5019
5622
  return isNullOrUndefined(func) ? undefined : aCallable(func)
5020
5623
  }
5021
- }, { '../internals/a-callable': 42, '../internals/is-null-or-undefined': 89 }],
5022
- 78: [function (require, module, exports) {
5624
+ }, { '../internals/a-callable': 43, '../internals/is-null-or-undefined': 98 }],
5625
+ 85: [function (require, module, exports) {
5626
+ 'use strict'
5627
+ const aCallable = require('../internals/a-callable')
5628
+ const anObject = require('../internals/an-object')
5629
+ const call = require('../internals/function-call')
5630
+ const toIntegerOrInfinity = require('../internals/to-integer-or-infinity')
5631
+ const getIteratorDirect = require('../internals/get-iterator-direct')
5632
+
5633
+ const INVALID_SIZE = 'Invalid size'
5634
+ const $RangeError = RangeError
5635
+ const $TypeError = TypeError
5636
+ const max = Math.max
5637
+
5638
+ const SetRecord = function (set, intSize) {
5639
+ this.set = set
5640
+ this.size = max(intSize, 0)
5641
+ this.has = aCallable(set.has)
5642
+ this.keys = aCallable(set.keys)
5643
+ }
5644
+
5645
+ SetRecord.prototype = {
5646
+ getIterator: function () {
5647
+ return getIteratorDirect(anObject(call(this.keys, this.set)))
5648
+ },
5649
+ includes: function (it) {
5650
+ return call(this.has, this.set, it)
5651
+ }
5652
+ }
5653
+
5654
+ // `GetSetRecord` abstract operation
5655
+ // https://tc39.es/proposal-set-methods/#sec-getsetrecord
5656
+ module.exports = function (obj) {
5657
+ anObject(obj)
5658
+ const numSize = +obj.size
5659
+ // NOTE: If size is undefined, then numSize will be NaN
5660
+ // eslint-disable-next-line no-self-compare -- NaN check
5661
+ if (numSize !== numSize) throw new $TypeError(INVALID_SIZE)
5662
+ const intSize = toIntegerOrInfinity(numSize)
5663
+ if (intSize < 0) throw new $RangeError(INVALID_SIZE)
5664
+ return new SetRecord(obj, intSize)
5665
+ }
5666
+ }, { '../internals/a-callable': 43, '../internals/an-object': 50, '../internals/function-call': 75, '../internals/get-iterator-direct': 81, '../internals/to-integer-or-infinity': 151 }],
5667
+ 86: [function (require, module, exports) {
5023
5668
  (function (global) {
5024
5669
  (function () {
5025
5670
  'use strict'
@@ -5041,7 +5686,7 @@
5041
5686
  }).call(this)
5042
5687
  }).call(this, typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : {})
5043
5688
  }, {}],
5044
- 79: [function (require, module, exports) {
5689
+ 87: [function (require, module, exports) {
5045
5690
  'use strict'
5046
5691
  const uncurryThis = require('../internals/function-uncurry-this')
5047
5692
  const toObject = require('../internals/to-object')
@@ -5054,18 +5699,18 @@
5054
5699
  module.exports = Object.hasOwn || function hasOwn (it, key) {
5055
5700
  return hasOwnProperty(toObject(it), key)
5056
5701
  }
5057
- }, { '../internals/function-uncurry-this': 72, '../internals/to-object': 127 }],
5058
- 80: [function (require, module, exports) {
5702
+ }, { '../internals/function-uncurry-this': 79, '../internals/to-object': 153 }],
5703
+ 88: [function (require, module, exports) {
5059
5704
  'use strict'
5060
5705
  module.exports = {}
5061
5706
  }, {}],
5062
- 81: [function (require, module, exports) {
5707
+ 89: [function (require, module, exports) {
5063
5708
  'use strict'
5064
5709
  const getBuiltIn = require('../internals/get-built-in')
5065
5710
 
5066
5711
  module.exports = getBuiltIn('document', 'documentElement')
5067
- }, { '../internals/get-built-in': 73 }],
5068
- 82: [function (require, module, exports) {
5712
+ }, { '../internals/get-built-in': 80 }],
5713
+ 90: [function (require, module, exports) {
5069
5714
  'use strict'
5070
5715
  const DESCRIPTORS = require('../internals/descriptors')
5071
5716
  const fails = require('../internals/fails')
@@ -5078,8 +5723,8 @@
5078
5723
  get: function () { return 7 }
5079
5724
  }).a !== 7
5080
5725
  })
5081
- }, { '../internals/descriptors': 59, '../internals/document-create-element': 60, '../internals/fails': 65 }],
5082
- 83: [function (require, module, exports) {
5726
+ }, { '../internals/descriptors': 65, '../internals/document-create-element': 66, '../internals/fails': 71 }],
5727
+ 91: [function (require, module, exports) {
5083
5728
  'use strict'
5084
5729
  const uncurryThis = require('../internals/function-uncurry-this')
5085
5730
  const fails = require('../internals/fails')
@@ -5096,8 +5741,8 @@
5096
5741
  }) ? function (it) {
5097
5742
  return classof(it) === 'String' ? split(it, '') : $Object(it)
5098
5743
  } : $Object
5099
- }, { '../internals/classof-raw': 48, '../internals/fails': 65, '../internals/function-uncurry-this': 72 }],
5100
- 84: [function (require, module, exports) {
5744
+ }, { '../internals/classof-raw': 53, '../internals/fails': 71, '../internals/function-uncurry-this': 79 }],
5745
+ 92: [function (require, module, exports) {
5101
5746
  'use strict'
5102
5747
  const uncurryThis = require('../internals/function-uncurry-this')
5103
5748
  const isCallable = require('../internals/is-callable')
@@ -5113,8 +5758,8 @@
5113
5758
  }
5114
5759
 
5115
5760
  module.exports = store.inspectSource
5116
- }, { '../internals/function-uncurry-this': 72, '../internals/is-callable': 87, '../internals/shared-store': 120 }],
5117
- 85: [function (require, module, exports) {
5761
+ }, { '../internals/function-uncurry-this': 79, '../internals/is-callable': 95, '../internals/shared-store': 146 }],
5762
+ 93: [function (require, module, exports) {
5118
5763
  'use strict'
5119
5764
  const NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection')
5120
5765
  const globalThis = require('../internals/global-this')
@@ -5186,8 +5831,8 @@
5186
5831
  enforce,
5187
5832
  getterFor
5188
5833
  }
5189
- }, { '../internals/create-non-enumerable-property': 52, '../internals/global-this': 78, '../internals/has-own-property': 79, '../internals/hidden-keys': 80, '../internals/is-object': 90, '../internals/shared-key': 119, '../internals/shared-store': 120, '../internals/weak-map-basic-detection': 134 }],
5190
- 86: [function (require, module, exports) {
5834
+ }, { '../internals/create-non-enumerable-property': 58, '../internals/global-this': 86, '../internals/has-own-property': 87, '../internals/hidden-keys': 88, '../internals/is-object': 99, '../internals/shared-key': 145, '../internals/shared-store': 146, '../internals/weak-map-basic-detection': 163 }],
5835
+ 94: [function (require, module, exports) {
5191
5836
  'use strict'
5192
5837
  const wellKnownSymbol = require('../internals/well-known-symbol')
5193
5838
  const Iterators = require('../internals/iterators')
@@ -5199,8 +5844,8 @@
5199
5844
  module.exports = function (it) {
5200
5845
  return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it)
5201
5846
  }
5202
- }, { '../internals/iterators': 101, '../internals/well-known-symbol': 136 }],
5203
- 87: [function (require, module, exports) {
5847
+ }, { '../internals/iterators': 111, '../internals/well-known-symbol': 166 }],
5848
+ 95: [function (require, module, exports) {
5204
5849
  'use strict'
5205
5850
  // https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot
5206
5851
  const documentAll = typeof document === 'object' && document.all
@@ -5216,7 +5861,7 @@
5216
5861
  return typeof argument === 'function'
5217
5862
  }
5218
5863
  }, {}],
5219
- 88: [function (require, module, exports) {
5864
+ 96: [function (require, module, exports) {
5220
5865
  'use strict'
5221
5866
  const fails = require('../internals/fails')
5222
5867
  const isCallable = require('../internals/is-callable')
@@ -5243,8 +5888,21 @@
5243
5888
  var POLYFILL = isForced.POLYFILL = 'P'
5244
5889
 
5245
5890
  module.exports = isForced
5246
- }, { '../internals/fails': 65, '../internals/is-callable': 87 }],
5247
- 89: [function (require, module, exports) {
5891
+ }, { '../internals/fails': 71, '../internals/is-callable': 95 }],
5892
+ 97: [function (require, module, exports) {
5893
+ 'use strict'
5894
+ const classof = require('../internals/classof-raw')
5895
+ const wellKnownSymbol = require('../internals/well-known-symbol')
5896
+
5897
+ const ITERATOR = wellKnownSymbol('iterator')
5898
+
5899
+ module.exports = function (it) {
5900
+ return it[ITERATOR] !== undefined ||
5901
+ it['@@iterator'] !== undefined ||
5902
+ classof(it) === 'Arguments'
5903
+ }
5904
+ }, { '../internals/classof-raw': 53, '../internals/well-known-symbol': 166 }],
5905
+ 98: [function (require, module, exports) {
5248
5906
  'use strict'
5249
5907
  // we can't use just `it == null` since of `document.all` special case
5250
5908
  // https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec
@@ -5252,19 +5910,19 @@
5252
5910
  return it === null || it === undefined
5253
5911
  }
5254
5912
  }, {}],
5255
- 90: [function (require, module, exports) {
5913
+ 99: [function (require, module, exports) {
5256
5914
  'use strict'
5257
5915
  const isCallable = require('../internals/is-callable')
5258
5916
 
5259
5917
  module.exports = function (it) {
5260
5918
  return typeof it === 'object' ? it !== null : isCallable(it)
5261
5919
  }
5262
- }, { '../internals/is-callable': 87 }],
5263
- 91: [function (require, module, exports) {
5920
+ }, { '../internals/is-callable': 95 }],
5921
+ 100: [function (require, module, exports) {
5264
5922
  'use strict'
5265
5923
  module.exports = false
5266
5924
  }, {}],
5267
- 92: [function (require, module, exports) {
5925
+ 101: [function (require, module, exports) {
5268
5926
  'use strict'
5269
5927
  const getBuiltIn = require('../internals/get-built-in')
5270
5928
  const isCallable = require('../internals/is-callable')
@@ -5281,8 +5939,22 @@
5281
5939
  const $Symbol = getBuiltIn('Symbol')
5282
5940
  return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it))
5283
5941
  }
5284
- }, { '../internals/get-built-in': 73, '../internals/is-callable': 87, '../internals/object-is-prototype-of': 112, '../internals/use-symbol-as-uid': 132 }],
5285
- 93: [function (require, module, exports) {
5942
+ }, { '../internals/get-built-in': 80, '../internals/is-callable': 95, '../internals/object-is-prototype-of': 124, '../internals/use-symbol-as-uid': 161 }],
5943
+ 102: [function (require, module, exports) {
5944
+ 'use strict'
5945
+ const call = require('../internals/function-call')
5946
+
5947
+ module.exports = function (record, fn, ITERATOR_INSTEAD_OF_RECORD) {
5948
+ const iterator = ITERATOR_INSTEAD_OF_RECORD ? record : record.iterator
5949
+ const next = record.next
5950
+ let step, result
5951
+ while (!(step = call(next, iterator)).done) {
5952
+ result = fn(step.value)
5953
+ if (result !== undefined) return result
5954
+ }
5955
+ }
5956
+ }, { '../internals/function-call': 75 }],
5957
+ 103: [function (require, module, exports) {
5286
5958
  'use strict'
5287
5959
  const bind = require('../internals/function-bind-context')
5288
5960
  const call = require('../internals/function-call')
@@ -5357,8 +6029,8 @@
5357
6029
  if (typeof result === 'object' && result && isPrototypeOf(ResultPrototype, result)) return result
5358
6030
  } return new Result(false)
5359
6031
  }
5360
- }, { '../internals/an-object': 45, '../internals/function-bind-context': 67, '../internals/function-call': 69, '../internals/get-iterator-internal': 75, '../internals/get-iterator-method-internal': 76, '../internals/is-array-iterator-method': 86, '../internals/iterator-close': 96, '../internals/length-of-array-like': 102, '../internals/object-is-prototype-of': 112, '../internals/try-to-string': 130 }],
5361
- 94: [function (require, module, exports) {
6032
+ }, { '../internals/an-object': 50, '../internals/function-bind-context': 73, '../internals/function-call': 75, '../internals/get-iterator-internal': 82, '../internals/get-iterator-method-internal': 83, '../internals/is-array-iterator-method': 94, '../internals/iterator-close': 106, '../internals/length-of-array-like': 112, '../internals/object-is-prototype-of': 124, '../internals/try-to-string': 159 }],
6033
+ 104: [function (require, module, exports) {
5362
6034
  'use strict'
5363
6035
  // release references held by exhausted / closed iterator helpers to allow GC of the source chain
5364
6036
  module.exports = function (state) {
@@ -5366,7 +6038,7 @@
5366
6038
  state.iterables = state.iters = state.openIters = state.padding = state.finishResults = state.buffer = null
5367
6039
  }
5368
6040
  }, {}],
5369
- 95: [function (require, module, exports) {
6041
+ 105: [function (require, module, exports) {
5370
6042
  'use strict'
5371
6043
  const iteratorClose = require('../internals/iterator-close')
5372
6044
 
@@ -5383,8 +6055,8 @@
5383
6055
  if (kind === 'throw') throw value
5384
6056
  return value
5385
6057
  }
5386
- }, { '../internals/iterator-close': 96 }],
5387
- 96: [function (require, module, exports) {
6058
+ }, { '../internals/iterator-close': 106 }],
6059
+ 106: [function (require, module, exports) {
5388
6060
  'use strict'
5389
6061
  const call = require('../internals/function-call')
5390
6062
  const anObject = require('../internals/an-object')
@@ -5409,8 +6081,8 @@
5409
6081
  anObject(innerResult)
5410
6082
  return value
5411
6083
  }
5412
- }, { '../internals/an-object': 45, '../internals/function-call': 69, '../internals/get-method': 77 }],
5413
- 97: [function (require, module, exports) {
6084
+ }, { '../internals/an-object': 50, '../internals/function-call': 75, '../internals/get-method': 84 }],
6085
+ 107: [function (require, module, exports) {
5414
6086
  'use strict'
5415
6087
  const call = require('../internals/function-call')
5416
6088
  const create = require('../internals/object-create')
@@ -5510,8 +6182,8 @@
5510
6182
 
5511
6183
  return IteratorProxy
5512
6184
  }
5513
- }, { '../internals/create-iter-result-object': 51, '../internals/create-non-enumerable-property': 52, '../internals/define-built-ins': 57, '../internals/function-call': 69, '../internals/get-method': 77, '../internals/internal-state': 85, '../internals/iterator-cleanup-state': 94, '../internals/iterator-close': 96, '../internals/iterator-close-all': 95, '../internals/iterators-core': 100, '../internals/object-create': 105, '../internals/well-known-symbol': 136 }],
5514
- 98: [function (require, module, exports) {
6185
+ }, { '../internals/create-iter-result-object': 57, '../internals/create-non-enumerable-property': 58, '../internals/define-built-ins': 63, '../internals/function-call': 75, '../internals/get-method': 84, '../internals/internal-state': 93, '../internals/iterator-cleanup-state': 104, '../internals/iterator-close': 106, '../internals/iterator-close-all': 105, '../internals/iterators-core': 110, '../internals/object-create': 117, '../internals/well-known-symbol': 166 }],
6186
+ 108: [function (require, module, exports) {
5515
6187
  'use strict'
5516
6188
  // Should throw an error on invalid iterator
5517
6189
  // https://issues.chromium.org/issues/336839115
@@ -5527,7 +6199,7 @@
5527
6199
  }
5528
6200
  }
5529
6201
  }, {}],
5530
- 99: [function (require, module, exports) {
6202
+ 109: [function (require, module, exports) {
5531
6203
  'use strict'
5532
6204
  const globalThis = require('../internals/global-this')
5533
6205
 
@@ -5553,8 +6225,8 @@
5553
6225
 
5554
6226
  if (!CLOSED) return method
5555
6227
  }
5556
- }, { '../internals/global-this': 78 }],
5557
- 100: [function (require, module, exports) {
6228
+ }, { '../internals/global-this': 86 }],
6229
+ 110: [function (require, module, exports) {
5558
6230
  'use strict'
5559
6231
  const fails = require('../internals/fails')
5560
6232
  const isCallable = require('../internals/is-callable')
@@ -5604,12 +6276,12 @@
5604
6276
  IteratorPrototype,
5605
6277
  BUGGY_SAFARI_ITERATORS
5606
6278
  }
5607
- }, { '../internals/define-built-in': 56, '../internals/fails': 65, '../internals/is-callable': 87, '../internals/is-object': 90, '../internals/is-pure': 91, '../internals/object-create': 105, '../internals/object-get-prototype-of': 111, '../internals/well-known-symbol': 136 }],
5608
- 101: [function (require, module, exports) {
6279
+ }, { '../internals/define-built-in': 62, '../internals/fails': 71, '../internals/is-callable': 95, '../internals/is-object': 99, '../internals/is-pure': 100, '../internals/object-create': 117, '../internals/object-get-prototype-of': 123, '../internals/well-known-symbol': 166 }],
6280
+ 111: [function (require, module, exports) {
5609
6281
  'use strict'
5610
6282
  module.exports = Object.create ? Object.create(null) : {}
5611
6283
  }, {}],
5612
- 102: [function (require, module, exports) {
6284
+ 112: [function (require, module, exports) {
5613
6285
  'use strict'
5614
6286
  const toLength = require('../internals/to-length')
5615
6287
 
@@ -5618,8 +6290,8 @@
5618
6290
  module.exports = function (obj) {
5619
6291
  return toLength(obj.length)
5620
6292
  }
5621
- }, { '../internals/to-length': 126 }],
5622
- 103: [function (require, module, exports) {
6293
+ }, { '../internals/to-length': 152 }],
6294
+ 113: [function (require, module, exports) {
5623
6295
  'use strict'
5624
6296
  const uncurryThis = require('../internals/function-uncurry-this')
5625
6297
  const fails = require('../internals/fails')
@@ -5675,8 +6347,45 @@
5675
6347
  Function.prototype.toString = makeBuiltIn(function toString () {
5676
6348
  return isCallable(this) && getInternalState(this).source || inspectSource(this)
5677
6349
  }, 'toString')
5678
- }, { '../internals/descriptors': 59, '../internals/fails': 65, '../internals/function-name': 70, '../internals/function-uncurry-this': 72, '../internals/has-own-property': 79, '../internals/inspect-source': 84, '../internals/internal-state': 85, '../internals/is-callable': 87 }],
5679
- 104: [function (require, module, exports) {
6350
+ }, { '../internals/descriptors': 65, '../internals/fails': 71, '../internals/function-name': 76, '../internals/function-uncurry-this': 79, '../internals/has-own-property': 87, '../internals/inspect-source': 92, '../internals/internal-state': 93, '../internals/is-callable': 95 }],
6351
+ 114: [function (require, module, exports) {
6352
+ 'use strict'
6353
+ const uncurryThis = require('../internals/function-uncurry-this')
6354
+
6355
+ // eslint-disable-next-line es/no-map -- safe
6356
+ const MapPrototype = Map.prototype
6357
+
6358
+ module.exports = {
6359
+ // eslint-disable-next-line es/no-map -- safe
6360
+ Map,
6361
+ set: uncurryThis(MapPrototype.set),
6362
+ get: uncurryThis(MapPrototype.get),
6363
+ has: uncurryThis(MapPrototype.has),
6364
+ remove: uncurryThis(MapPrototype.delete),
6365
+ proto: MapPrototype
6366
+ }
6367
+ }, { '../internals/function-uncurry-this': 79 }],
6368
+ 115: [function (require, module, exports) {
6369
+ 'use strict'
6370
+ const uncurryThis = require('../internals/function-uncurry-this')
6371
+ const iterateSimple = require('../internals/iterate-simple')
6372
+ const MapHelpers = require('../internals/map-helpers')
6373
+
6374
+ const Map = MapHelpers.Map
6375
+ const MapPrototype = MapHelpers.proto
6376
+ const forEach = uncurryThis(MapPrototype.forEach)
6377
+ const entries = uncurryThis(MapPrototype.entries)
6378
+ const next = entries(new Map()).next
6379
+
6380
+ module.exports = function (map, fn, interruptible) {
6381
+ return interruptible
6382
+ ? iterateSimple({ iterator: entries(map), next }, function (entry) {
6383
+ return fn(entry[1], entry[0])
6384
+ })
6385
+ : forEach(map, fn)
6386
+ }
6387
+ }, { '../internals/function-uncurry-this': 79, '../internals/iterate-simple': 102, '../internals/map-helpers': 114 }],
6388
+ 116: [function (require, module, exports) {
5680
6389
  'use strict'
5681
6390
  const ceil = Math.ceil
5682
6391
  const floor = Math.floor
@@ -5689,7 +6398,7 @@
5689
6398
  return (n > 0 ? floor : ceil)(n)
5690
6399
  }
5691
6400
  }, {}],
5692
- 105: [function (require, module, exports) {
6401
+ 117: [function (require, module, exports) {
5693
6402
  'use strict'
5694
6403
  /* global ActiveXObject -- old IE, WSH */
5695
6404
  const anObject = require('../internals/an-object')
@@ -5775,8 +6484,8 @@
5775
6484
  } else result = NullProtoObject()
5776
6485
  return Properties === undefined ? result : definePropertiesModule.f(result, Properties)
5777
6486
  }
5778
- }, { '../internals/an-object': 45, '../internals/document-create-element': 60, '../internals/enum-bug-keys': 61, '../internals/hidden-keys': 80, '../internals/html': 81, '../internals/object-define-properties': 106, '../internals/shared-key': 119 }],
5779
- 106: [function (require, module, exports) {
6487
+ }, { '../internals/an-object': 50, '../internals/document-create-element': 66, '../internals/enum-bug-keys': 67, '../internals/hidden-keys': 88, '../internals/html': 89, '../internals/object-define-properties': 118, '../internals/shared-key': 145 }],
6488
+ 118: [function (require, module, exports) {
5780
6489
  'use strict'
5781
6490
  const DESCRIPTORS = require('../internals/descriptors')
5782
6491
  const V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug')
@@ -5800,8 +6509,8 @@
5800
6509
  while (length > index) definePropertyModule.f(O, key = keys[index++], props[key])
5801
6510
  return O
5802
6511
  }
5803
- }, { '../internals/an-object': 45, '../internals/descriptors': 59, '../internals/object-define-property': 107, '../internals/object-keys': 114, '../internals/to-indexed-object': 124, '../internals/v8-prototype-define-bug': 133 }],
5804
- 107: [function (require, module, exports) {
6512
+ }, { '../internals/an-object': 50, '../internals/descriptors': 65, '../internals/object-define-property': 119, '../internals/object-keys': 126, '../internals/to-indexed-object': 150, '../internals/v8-prototype-define-bug': 162 }],
6513
+ 119: [function (require, module, exports) {
5805
6514
  'use strict'
5806
6515
  const DESCRIPTORS = require('../internals/descriptors')
5807
6516
  const IE8_DOM_DEFINE = require('../internals/ie8-dom-define')
@@ -5850,8 +6559,8 @@
5850
6559
  if ('value' in Attributes) O[P] = Attributes.value
5851
6560
  return O
5852
6561
  }
5853
- }, { '../internals/an-object': 45, '../internals/descriptors': 59, '../internals/ie8-dom-define': 82, '../internals/to-property-key': 129, '../internals/v8-prototype-define-bug': 133 }],
5854
- 108: [function (require, module, exports) {
6562
+ }, { '../internals/an-object': 50, '../internals/descriptors': 65, '../internals/ie8-dom-define': 90, '../internals/to-property-key': 155, '../internals/v8-prototype-define-bug': 162 }],
6563
+ 120: [function (require, module, exports) {
5855
6564
  'use strict'
5856
6565
  const DESCRIPTORS = require('../internals/descriptors')
5857
6566
  const call = require('../internals/function-call')
@@ -5877,8 +6586,8 @@
5877
6586
  }
5878
6587
  if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P])
5879
6588
  }
5880
- }, { '../internals/create-property-descriptor': 53, '../internals/descriptors': 59, '../internals/function-call': 69, '../internals/has-own-property': 79, '../internals/ie8-dom-define': 82, '../internals/object-property-is-enumerable': 115, '../internals/to-indexed-object': 124, '../internals/to-property-key': 129 }],
5881
- 109: [function (require, module, exports) {
6589
+ }, { '../internals/create-property-descriptor': 59, '../internals/descriptors': 65, '../internals/function-call': 75, '../internals/has-own-property': 87, '../internals/ie8-dom-define': 90, '../internals/object-property-is-enumerable': 127, '../internals/to-indexed-object': 150, '../internals/to-property-key': 155 }],
6590
+ 121: [function (require, module, exports) {
5882
6591
  'use strict'
5883
6592
  const internalObjectKeys = require('../internals/object-keys-internal')
5884
6593
  const enumBugKeys = require('../internals/enum-bug-keys')
@@ -5891,13 +6600,13 @@
5891
6600
  exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames (O) {
5892
6601
  return internalObjectKeys(O, hiddenKeys)
5893
6602
  }
5894
- }, { '../internals/enum-bug-keys': 61, '../internals/object-keys-internal': 113 }],
5895
- 110: [function (require, module, exports) {
6603
+ }, { '../internals/enum-bug-keys': 67, '../internals/object-keys-internal': 125 }],
6604
+ 122: [function (require, module, exports) {
5896
6605
  'use strict'
5897
6606
  // eslint-disable-next-line es/no-object-getownpropertysymbols -- safe
5898
6607
  exports.f = Object.getOwnPropertySymbols
5899
6608
  }, {}],
5900
- 111: [function (require, module, exports) {
6609
+ 123: [function (require, module, exports) {
5901
6610
  'use strict'
5902
6611
  const hasOwn = require('../internals/has-own-property')
5903
6612
  const isCallable = require('../internals/is-callable')
@@ -5922,14 +6631,14 @@
5922
6631
  return constructor.prototype
5923
6632
  } return object instanceof $Object ? ObjectPrototype : null
5924
6633
  }
5925
- }, { '../internals/correct-prototype-getter': 50, '../internals/has-own-property': 79, '../internals/is-callable': 87, '../internals/shared-key': 119, '../internals/to-object': 127 }],
5926
- 112: [function (require, module, exports) {
6634
+ }, { '../internals/correct-prototype-getter': 56, '../internals/has-own-property': 87, '../internals/is-callable': 95, '../internals/shared-key': 145, '../internals/to-object': 153 }],
6635
+ 124: [function (require, module, exports) {
5927
6636
  'use strict'
5928
6637
  const uncurryThis = require('../internals/function-uncurry-this')
5929
6638
 
5930
6639
  module.exports = uncurryThis({}.isPrototypeOf)
5931
- }, { '../internals/function-uncurry-this': 72 }],
5932
- 113: [function (require, module, exports) {
6640
+ }, { '../internals/function-uncurry-this': 79 }],
6641
+ 125: [function (require, module, exports) {
5933
6642
  'use strict'
5934
6643
  const uncurryThis = require('../internals/function-uncurry-this')
5935
6644
  const hasOwn = require('../internals/has-own-property')
@@ -5953,8 +6662,8 @@
5953
6662
  }
5954
6663
  return result
5955
6664
  }
5956
- }, { '../internals/array-includes': 46, '../internals/function-uncurry-this': 72, '../internals/has-own-property': 79, '../internals/hidden-keys': 80, '../internals/to-indexed-object': 124 }],
5957
- 114: [function (require, module, exports) {
6665
+ }, { '../internals/array-includes': 51, '../internals/function-uncurry-this': 79, '../internals/has-own-property': 87, '../internals/hidden-keys': 88, '../internals/to-indexed-object': 150 }],
6666
+ 126: [function (require, module, exports) {
5958
6667
  'use strict'
5959
6668
  const internalObjectKeys = require('../internals/object-keys-internal')
5960
6669
  const enumBugKeys = require('../internals/enum-bug-keys')
@@ -5965,8 +6674,8 @@
5965
6674
  module.exports = Object.keys || function keys (O) {
5966
6675
  return internalObjectKeys(O, enumBugKeys)
5967
6676
  }
5968
- }, { '../internals/enum-bug-keys': 61, '../internals/object-keys-internal': 113 }],
5969
- 115: [function (require, module, exports) {
6677
+ }, { '../internals/enum-bug-keys': 67, '../internals/object-keys-internal': 125 }],
6678
+ 127: [function (require, module, exports) {
5970
6679
  'use strict'
5971
6680
  const $propertyIsEnumerable = {}.propertyIsEnumerable
5972
6681
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
@@ -5984,7 +6693,7 @@
5984
6693
  }
5985
6694
  : $propertyIsEnumerable
5986
6695
  }, {}],
5987
- 116: [function (require, module, exports) {
6696
+ 128: [function (require, module, exports) {
5988
6697
  'use strict'
5989
6698
  const call = require('../internals/function-call')
5990
6699
  const isCallable = require('../internals/is-callable')
@@ -6001,8 +6710,8 @@
6001
6710
  if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val
6002
6711
  throw new $TypeError("Can't convert object to primitive value")
6003
6712
  }
6004
- }, { '../internals/function-call': 69, '../internals/is-callable': 87, '../internals/is-object': 90 }],
6005
- 117: [function (require, module, exports) {
6713
+ }, { '../internals/function-call': 75, '../internals/is-callable': 95, '../internals/is-object': 99 }],
6714
+ 129: [function (require, module, exports) {
6006
6715
  'use strict'
6007
6716
  const getBuiltIn = require('../internals/get-built-in')
6008
6717
  const uncurryThis = require('../internals/function-uncurry-this')
@@ -6018,8 +6727,79 @@
6018
6727
  const getOwnPropertySymbols = getOwnPropertySymbolsModule.f
6019
6728
  return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys
6020
6729
  }
6021
- }, { '../internals/an-object': 45, '../internals/function-uncurry-this': 72, '../internals/get-built-in': 73, '../internals/object-get-own-property-names': 109, '../internals/object-get-own-property-symbols': 110 }],
6022
- 118: [function (require, module, exports) {
6730
+ }, { '../internals/an-object': 50, '../internals/function-uncurry-this': 79, '../internals/get-built-in': 80, '../internals/object-get-own-property-names': 121, '../internals/object-get-own-property-symbols': 122 }],
6731
+ 130: [function (require, module, exports) {
6732
+ 'use strict'
6733
+ const globalThis = require('../internals/global-this')
6734
+ const fails = require('../internals/fails')
6735
+
6736
+ // babel-minify and Closure Compiler transpiles RegExp('.', 'd') -> /./d and it causes SyntaxError
6737
+ const RegExp = globalThis.RegExp
6738
+
6739
+ const FLAGS_GETTER_IS_CORRECT = !fails(function () {
6740
+ let INDICES_SUPPORT = true
6741
+ try {
6742
+ RegExp('.', 'd')
6743
+ } catch (error) {
6744
+ INDICES_SUPPORT = false
6745
+ }
6746
+
6747
+ const O = {}
6748
+ // modern V8 bug
6749
+ let calls = ''
6750
+ const expected = INDICES_SUPPORT ? 'dgimsy' : 'gimsy'
6751
+
6752
+ const addGetter = function (key, chr) {
6753
+ // eslint-disable-next-line es/no-object-defineproperty -- safe
6754
+ Object.defineProperty(O, key, {
6755
+ get: function () {
6756
+ calls += chr
6757
+ return true
6758
+ }
6759
+ })
6760
+ }
6761
+
6762
+ const pairs = {
6763
+ dotAll: 's',
6764
+ global: 'g',
6765
+ ignoreCase: 'i',
6766
+ multiline: 'm',
6767
+ sticky: 'y'
6768
+ }
6769
+
6770
+ if (INDICES_SUPPORT) pairs.hasIndices = 'd'
6771
+
6772
+ for (const key in pairs) addGetter(key, pairs[key])
6773
+
6774
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
6775
+ const result = Object.getOwnPropertyDescriptor(RegExp.prototype, 'flags').get.call(O)
6776
+
6777
+ return result !== expected || calls !== expected
6778
+ })
6779
+
6780
+ module.exports = { correct: FLAGS_GETTER_IS_CORRECT }
6781
+ }, { '../internals/fails': 71, '../internals/global-this': 86 }],
6782
+ 131: [function (require, module, exports) {
6783
+ 'use strict'
6784
+ const anObject = require('../internals/an-object')
6785
+
6786
+ // `RegExp.prototype.flags` getter implementation
6787
+ // https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
6788
+ module.exports = function () {
6789
+ const that = anObject(this)
6790
+ let result = ''
6791
+ if (that.hasIndices) result += 'd'
6792
+ if (that.global) result += 'g'
6793
+ if (that.ignoreCase) result += 'i'
6794
+ if (that.multiline) result += 'm'
6795
+ if (that.dotAll) result += 's'
6796
+ if (that.unicode) result += 'u'
6797
+ if (that.unicodeSets) result += 'v'
6798
+ if (that.sticky) result += 'y'
6799
+ return result
6800
+ }
6801
+ }, { '../internals/an-object': 50 }],
6802
+ 132: [function (require, module, exports) {
6023
6803
  'use strict'
6024
6804
  const isNullOrUndefined = require('../internals/is-null-or-undefined')
6025
6805
 
@@ -6031,49 +6811,289 @@
6031
6811
  if (isNullOrUndefined(it)) throw new $TypeError("Can't call method on " + it)
6032
6812
  return it
6033
6813
  }
6034
- }, { '../internals/is-null-or-undefined': 89 }],
6035
- 119: [function (require, module, exports) {
6814
+ }, { '../internals/is-null-or-undefined': 98 }],
6815
+ 133: [function (require, module, exports) {
6036
6816
  'use strict'
6037
- const shared = require('../internals/shared')
6038
- const uid = require('../internals/uid')
6817
+ // `SameValueZero` abstract operation
6818
+ // https://tc39.es/ecma262/#sec-samevaluezero
6819
+ module.exports = function (x, y) {
6820
+ // eslint-disable-next-line no-self-compare -- NaN check
6821
+ return x === y || x !== x && y !== y
6822
+ }
6823
+ }, {}],
6824
+ 134: [function (require, module, exports) {
6825
+ 'use strict'
6826
+ const SetHelpers = require('../internals/set-helpers')
6827
+ const iterate = require('../internals/set-iterate')
6039
6828
 
6040
- const keys = shared('keys')
6829
+ const Set = SetHelpers.Set
6830
+ const add = SetHelpers.add
6041
6831
 
6042
- module.exports = function (key) {
6043
- return keys[key] || (keys[key] = uid(key))
6832
+ module.exports = function (set) {
6833
+ const result = new Set()
6834
+ iterate(set, function (it) {
6835
+ add(result, it)
6836
+ })
6837
+ return result
6044
6838
  }
6045
- }, { '../internals/shared': 121, '../internals/uid': 131 }],
6046
- 120: [function (require, module, exports) {
6839
+ }, { '../internals/set-helpers': 136, '../internals/set-iterate': 141 }],
6840
+ 135: [function (require, module, exports) {
6047
6841
  'use strict'
6048
- const IS_PURE = require('../internals/is-pure')
6049
- const globalThis = require('../internals/global-this')
6050
- const defineGlobalProperty = require('../internals/define-global-property')
6842
+ const aSet = require('../internals/a-set')
6843
+ const SetHelpers = require('../internals/set-helpers')
6844
+ const clone = require('../internals/set-clone')
6845
+ const size = require('../internals/set-size')
6846
+ const getSetRecord = require('../internals/get-set-record')
6847
+ const iterateSet = require('../internals/set-iterate')
6848
+ const iterateSimple = require('../internals/iterate-simple')
6849
+
6850
+ const has = SetHelpers.has
6851
+ const remove = SetHelpers.remove
6852
+
6853
+ // `Set.prototype.difference` method
6854
+ // https://tc39.es/ecma262/#sec-set.prototype.difference
6855
+ module.exports = function difference (other) {
6856
+ const O = aSet(this)
6857
+ const otherRec = getSetRecord(other)
6858
+ const result = clone(O)
6859
+ if (size(result) <= otherRec.size) {
6860
+ iterateSet(result, function (e) {
6861
+ if (otherRec.includes(e)) remove(result, e)
6862
+ })
6863
+ } else {
6864
+ iterateSimple(otherRec.getIterator(), function (e) {
6865
+ if (has(result, e)) remove(result, e)
6866
+ })
6867
+ }
6868
+ return result
6869
+ }
6870
+ }, { '../internals/a-set': 45, '../internals/get-set-record': 85, '../internals/iterate-simple': 102, '../internals/set-clone': 134, '../internals/set-helpers': 136, '../internals/set-iterate': 141, '../internals/set-size': 142 }],
6871
+ 136: [function (require, module, exports) {
6872
+ 'use strict'
6873
+ const uncurryThis = require('../internals/function-uncurry-this')
6051
6874
 
6052
- const SHARED = '__core-js_shared__'
6053
- const store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});
6875
+ // eslint-disable-next-line es/no-set -- safe
6876
+ const SetPrototype = Set.prototype
6054
6877
 
6055
- (store.versions || (store.versions = [])).push({
6056
- version: '3.50.0',
6057
- mode: IS_PURE ? 'pure' : 'global',
6058
- copyright: '© 2013–2025 Denis Pushkarev (zloirock.ru), 2025–2026 CoreJS Company (core-js.io). All rights reserved.',
6059
- license: 'https://github.com/zloirock/core-js/blob/v3.50.0/LICENSE',
6060
- source: 'https://github.com/zloirock/core-js'
6061
- })
6062
- }, { '../internals/define-global-property': 58, '../internals/global-this': 78, '../internals/is-pure': 91 }],
6063
- 121: [function (require, module, exports) {
6878
+ module.exports = {
6879
+ // eslint-disable-next-line es/no-set -- safe
6880
+ Set,
6881
+ add: uncurryThis(SetPrototype.add),
6882
+ has: uncurryThis(SetPrototype.has),
6883
+ remove: uncurryThis(SetPrototype.delete),
6884
+ proto: SetPrototype
6885
+ }
6886
+ }, { '../internals/function-uncurry-this': 79 }],
6887
+ 137: [function (require, module, exports) {
6064
6888
  'use strict'
6065
- const store = require('../internals/shared-store')
6066
- // eslint-disable-next-line es/no-object-create -- safe
6067
- const create = Object.create || Object
6889
+ const aSet = require('../internals/a-set')
6890
+ const SetHelpers = require('../internals/set-helpers')
6891
+ const size = require('../internals/set-size')
6892
+ const getSetRecord = require('../internals/get-set-record')
6893
+ const iterateSet = require('../internals/set-iterate')
6894
+ const iterateSimple = require('../internals/iterate-simple')
6895
+
6896
+ const Set = SetHelpers.Set
6897
+ const add = SetHelpers.add
6898
+ const has = SetHelpers.has
6899
+
6900
+ // `Set.prototype.intersection` method
6901
+ // https://tc39.es/ecma262/#sec-set.prototype.intersection
6902
+ module.exports = function intersection (other) {
6903
+ const O = aSet(this)
6904
+ const otherRec = getSetRecord(other)
6905
+ const result = new Set()
6906
+
6907
+ if (size(O) > otherRec.size) {
6908
+ iterateSimple(otherRec.getIterator(), function (e) {
6909
+ if (has(O, e)) add(result, e)
6910
+ })
6911
+ } else {
6912
+ iterateSet(O, function (e) {
6913
+ if (otherRec.includes(e)) add(result, e)
6914
+ })
6915
+ }
6068
6916
 
6069
- module.exports = function (key, value) {
6070
- return store[key] || (store[key] = value || create(null))
6917
+ return result
6071
6918
  }
6072
- }, { '../internals/shared-store': 120 }],
6073
- 122: [function (require, module, exports) {
6919
+ }, { '../internals/a-set': 45, '../internals/get-set-record': 85, '../internals/iterate-simple': 102, '../internals/set-helpers': 136, '../internals/set-iterate': 141, '../internals/set-size': 142 }],
6920
+ 138: [function (require, module, exports) {
6074
6921
  'use strict'
6075
- /* eslint-disable es/no-symbol -- required for testing */
6076
- const V8_VERSION = require('../internals/environment-v8-version')
6922
+ const aSet = require('../internals/a-set')
6923
+ const has = require('../internals/set-helpers').has
6924
+ const size = require('../internals/set-size')
6925
+ const getSetRecord = require('../internals/get-set-record')
6926
+ const iterateSet = require('../internals/set-iterate')
6927
+ const iterateSimple = require('../internals/iterate-simple')
6928
+ const iteratorClose = require('../internals/iterator-close')
6929
+
6930
+ // `Set.prototype.isDisjointFrom` method
6931
+ // https://tc39.es/ecma262/#sec-set.prototype.isdisjointfrom
6932
+ module.exports = function isDisjointFrom (other) {
6933
+ const O = aSet(this)
6934
+ const otherRec = getSetRecord(other)
6935
+ if (size(O) <= otherRec.size) {
6936
+ return iterateSet(O, function (e) {
6937
+ if (otherRec.includes(e)) return false
6938
+ }, true) !== false
6939
+ }
6940
+ const iterator = otherRec.getIterator()
6941
+ return iterateSimple(iterator, function (e) {
6942
+ if (has(O, e)) return iteratorClose(iterator.iterator, 'normal', false)
6943
+ }) !== false
6944
+ }
6945
+ }, { '../internals/a-set': 45, '../internals/get-set-record': 85, '../internals/iterate-simple': 102, '../internals/iterator-close': 106, '../internals/set-helpers': 136, '../internals/set-iterate': 141, '../internals/set-size': 142 }],
6946
+ 139: [function (require, module, exports) {
6947
+ 'use strict'
6948
+ const aSet = require('../internals/a-set')
6949
+ const size = require('../internals/set-size')
6950
+ const iterate = require('../internals/set-iterate')
6951
+ const getSetRecord = require('../internals/get-set-record')
6952
+
6953
+ // `Set.prototype.isSubsetOf` method
6954
+ // https://tc39.es/ecma262/#sec-set.prototype.issubsetof
6955
+ module.exports = function isSubsetOf (other) {
6956
+ const O = aSet(this)
6957
+ const otherRec = getSetRecord(other)
6958
+ if (size(O) > otherRec.size) return false
6959
+ return iterate(O, function (e) {
6960
+ if (!otherRec.includes(e)) return false
6961
+ }, true) !== false
6962
+ }
6963
+ }, { '../internals/a-set': 45, '../internals/get-set-record': 85, '../internals/set-iterate': 141, '../internals/set-size': 142 }],
6964
+ 140: [function (require, module, exports) {
6965
+ 'use strict'
6966
+ const aSet = require('../internals/a-set')
6967
+ const has = require('../internals/set-helpers').has
6968
+ const size = require('../internals/set-size')
6969
+ const getSetRecord = require('../internals/get-set-record')
6970
+ const iterateSimple = require('../internals/iterate-simple')
6971
+ const iteratorClose = require('../internals/iterator-close')
6972
+
6973
+ // `Set.prototype.isSupersetOf` method
6974
+ // https://tc39.es/ecma262/#sec-set.prototype.issupersetof
6975
+ module.exports = function isSupersetOf (other) {
6976
+ const O = aSet(this)
6977
+ const otherRec = getSetRecord(other)
6978
+ if (size(O) < otherRec.size) return false
6979
+ const iterator = otherRec.getIterator()
6980
+ return iterateSimple(iterator, function (e) {
6981
+ if (!has(O, e)) return iteratorClose(iterator.iterator, 'normal', false)
6982
+ }) !== false
6983
+ }
6984
+ }, { '../internals/a-set': 45, '../internals/get-set-record': 85, '../internals/iterate-simple': 102, '../internals/iterator-close': 106, '../internals/set-helpers': 136, '../internals/set-size': 142 }],
6985
+ 141: [function (require, module, exports) {
6986
+ 'use strict'
6987
+ const uncurryThis = require('../internals/function-uncurry-this')
6988
+ const iterateSimple = require('../internals/iterate-simple')
6989
+ const SetHelpers = require('../internals/set-helpers')
6990
+
6991
+ const Set = SetHelpers.Set
6992
+ const SetPrototype = SetHelpers.proto
6993
+ const forEach = uncurryThis(SetPrototype.forEach)
6994
+ const keys = uncurryThis(SetPrototype.keys)
6995
+ const next = keys(new Set()).next
6996
+
6997
+ module.exports = function (set, fn, interruptible) {
6998
+ return interruptible ? iterateSimple({ iterator: keys(set), next }, fn) : forEach(set, fn)
6999
+ }
7000
+ }, { '../internals/function-uncurry-this': 79, '../internals/iterate-simple': 102, '../internals/set-helpers': 136 }],
7001
+ 142: [function (require, module, exports) {
7002
+ 'use strict'
7003
+ const uncurryThisAccessor = require('../internals/function-uncurry-this-accessor')
7004
+ const SetHelpers = require('../internals/set-helpers')
7005
+
7006
+ module.exports = uncurryThisAccessor(SetHelpers.proto, 'size', 'get') || function (set) {
7007
+ return set.size
7008
+ }
7009
+ }, { '../internals/function-uncurry-this-accessor': 77, '../internals/set-helpers': 136 }],
7010
+ 143: [function (require, module, exports) {
7011
+ 'use strict'
7012
+ const aSet = require('../internals/a-set')
7013
+ const SetHelpers = require('../internals/set-helpers')
7014
+ const clone = require('../internals/set-clone')
7015
+ const getSetRecord = require('../internals/get-set-record')
7016
+ const iterateSimple = require('../internals/iterate-simple')
7017
+
7018
+ const add = SetHelpers.add
7019
+ const has = SetHelpers.has
7020
+ const remove = SetHelpers.remove
7021
+
7022
+ // `Set.prototype.symmetricDifference` method
7023
+ // https://tc39.es/ecma262/#sec-set.prototype.symmetricdifference
7024
+ module.exports = function symmetricDifference (other) {
7025
+ const O = aSet(this)
7026
+ const keysIter = getSetRecord(other).getIterator()
7027
+ const result = clone(O)
7028
+ iterateSimple(keysIter, function (e) {
7029
+ if (has(O, e)) remove(result, e)
7030
+ else add(result, e)
7031
+ })
7032
+ return result
7033
+ }
7034
+ }, { '../internals/a-set': 45, '../internals/get-set-record': 85, '../internals/iterate-simple': 102, '../internals/set-clone': 134, '../internals/set-helpers': 136 }],
7035
+ 144: [function (require, module, exports) {
7036
+ 'use strict'
7037
+ const aSet = require('../internals/a-set')
7038
+ const add = require('../internals/set-helpers').add
7039
+ const clone = require('../internals/set-clone')
7040
+ const getSetRecord = require('../internals/get-set-record')
7041
+ const iterateSimple = require('../internals/iterate-simple')
7042
+
7043
+ // `Set.prototype.union` method
7044
+ // https://tc39.es/ecma262/#sec-set.prototype.union
7045
+ module.exports = function union (other) {
7046
+ const O = aSet(this)
7047
+ const keysIter = getSetRecord(other).getIterator()
7048
+ const result = clone(O)
7049
+ iterateSimple(keysIter, function (it) {
7050
+ add(result, it)
7051
+ })
7052
+ return result
7053
+ }
7054
+ }, { '../internals/a-set': 45, '../internals/get-set-record': 85, '../internals/iterate-simple': 102, '../internals/set-clone': 134, '../internals/set-helpers': 136 }],
7055
+ 145: [function (require, module, exports) {
7056
+ 'use strict'
7057
+ const shared = require('../internals/shared')
7058
+ const uid = require('../internals/uid')
7059
+
7060
+ const keys = shared('keys')
7061
+
7062
+ module.exports = function (key) {
7063
+ return keys[key] || (keys[key] = uid(key))
7064
+ }
7065
+ }, { '../internals/shared': 147, '../internals/uid': 160 }],
7066
+ 146: [function (require, module, exports) {
7067
+ 'use strict'
7068
+ const IS_PURE = require('../internals/is-pure')
7069
+ const globalThis = require('../internals/global-this')
7070
+ const defineGlobalProperty = require('../internals/define-global-property')
7071
+
7072
+ const SHARED = '__core-js_shared__'
7073
+ const store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});
7074
+
7075
+ (store.versions || (store.versions = [])).push({
7076
+ version: '3.50.0',
7077
+ mode: IS_PURE ? 'pure' : 'global',
7078
+ copyright: '© 2013–2025 Denis Pushkarev (zloirock.ru), 2025–2026 CoreJS Company (core-js.io). All rights reserved.',
7079
+ license: 'https://github.com/zloirock/core-js/blob/v3.50.0/LICENSE',
7080
+ source: 'https://github.com/zloirock/core-js'
7081
+ })
7082
+ }, { '../internals/define-global-property': 64, '../internals/global-this': 86, '../internals/is-pure': 100 }],
7083
+ 147: [function (require, module, exports) {
7084
+ 'use strict'
7085
+ const store = require('../internals/shared-store')
7086
+ // eslint-disable-next-line es/no-object-create -- safe
7087
+ const create = Object.create || Object
7088
+
7089
+ module.exports = function (key, value) {
7090
+ return store[key] || (store[key] = value || create(null))
7091
+ }
7092
+ }, { '../internals/shared-store': 146 }],
7093
+ 148: [function (require, module, exports) {
7094
+ 'use strict'
7095
+ /* eslint-disable es/no-symbol -- required for testing */
7096
+ const V8_VERSION = require('../internals/environment-v8-version')
6077
7097
  const fails = require('../internals/fails')
6078
7098
  const globalThis = require('../internals/global-this')
6079
7099
 
@@ -6090,8 +7110,8 @@
6090
7110
  // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
6091
7111
  !Symbol.sham && V8_VERSION && V8_VERSION < 41
6092
7112
  })
6093
- }, { '../internals/environment-v8-version': 63, '../internals/fails': 65, '../internals/global-this': 78 }],
6094
- 123: [function (require, module, exports) {
7113
+ }, { '../internals/environment-v8-version': 69, '../internals/fails': 71, '../internals/global-this': 86 }],
7114
+ 149: [function (require, module, exports) {
6095
7115
  'use strict'
6096
7116
  const toIntegerOrInfinity = require('../internals/to-integer-or-infinity')
6097
7117
 
@@ -6105,8 +7125,8 @@
6105
7125
  const integer = toIntegerOrInfinity(index)
6106
7126
  return integer < 0 ? max(integer + length, 0) : min(integer, length)
6107
7127
  }
6108
- }, { '../internals/to-integer-or-infinity': 125 }],
6109
- 124: [function (require, module, exports) {
7128
+ }, { '../internals/to-integer-or-infinity': 151 }],
7129
+ 150: [function (require, module, exports) {
6110
7130
  'use strict'
6111
7131
  // toObject with fallback for non-array-like ES3 strings
6112
7132
  const IndexedObject = require('../internals/indexed-object')
@@ -6115,8 +7135,8 @@
6115
7135
  module.exports = function (it) {
6116
7136
  return IndexedObject(requireObjectCoercible(it))
6117
7137
  }
6118
- }, { '../internals/indexed-object': 83, '../internals/require-object-coercible': 118 }],
6119
- 125: [function (require, module, exports) {
7138
+ }, { '../internals/indexed-object': 91, '../internals/require-object-coercible': 132 }],
7139
+ 151: [function (require, module, exports) {
6120
7140
  'use strict'
6121
7141
  const trunc = require('../internals/math-trunc')
6122
7142
 
@@ -6127,8 +7147,8 @@
6127
7147
  // eslint-disable-next-line no-self-compare -- NaN check
6128
7148
  return number !== number || number === 0 ? 0 : trunc(number)
6129
7149
  }
6130
- }, { '../internals/math-trunc': 104 }],
6131
- 126: [function (require, module, exports) {
7150
+ }, { '../internals/math-trunc': 116 }],
7151
+ 152: [function (require, module, exports) {
6132
7152
  'use strict'
6133
7153
  const toIntegerOrInfinity = require('../internals/to-integer-or-infinity')
6134
7154
 
@@ -6140,8 +7160,8 @@
6140
7160
  const len = toIntegerOrInfinity(argument)
6141
7161
  return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0 // 2 ** 53 - 1 == 9007199254740991
6142
7162
  }
6143
- }, { '../internals/to-integer-or-infinity': 125 }],
6144
- 127: [function (require, module, exports) {
7163
+ }, { '../internals/to-integer-or-infinity': 151 }],
7164
+ 153: [function (require, module, exports) {
6145
7165
  'use strict'
6146
7166
  const requireObjectCoercible = require('../internals/require-object-coercible')
6147
7167
 
@@ -6152,8 +7172,8 @@
6152
7172
  module.exports = function (argument) {
6153
7173
  return $Object(requireObjectCoercible(argument))
6154
7174
  }
6155
- }, { '../internals/require-object-coercible': 118 }],
6156
- 128: [function (require, module, exports) {
7175
+ }, { '../internals/require-object-coercible': 132 }],
7176
+ 154: [function (require, module, exports) {
6157
7177
  'use strict'
6158
7178
  const call = require('../internals/function-call')
6159
7179
  const isObject = require('../internals/is-object')
@@ -6180,8 +7200,8 @@
6180
7200
  if (pref === undefined) pref = 'number'
6181
7201
  return ordinaryToPrimitive(input, pref)
6182
7202
  }
6183
- }, { '../internals/function-call': 69, '../internals/get-method': 77, '../internals/is-object': 90, '../internals/is-symbol': 92, '../internals/ordinary-to-primitive': 116, '../internals/well-known-symbol': 136 }],
6184
- 129: [function (require, module, exports) {
7203
+ }, { '../internals/function-call': 75, '../internals/get-method': 84, '../internals/is-object': 99, '../internals/is-symbol': 101, '../internals/ordinary-to-primitive': 128, '../internals/well-known-symbol': 166 }],
7204
+ 155: [function (require, module, exports) {
6185
7205
  'use strict'
6186
7206
  const toPrimitive = require('../internals/to-primitive')
6187
7207
  const isSymbol = require('../internals/is-symbol')
@@ -6192,8 +7212,52 @@
6192
7212
  const key = toPrimitive(argument, 'string')
6193
7213
  return isSymbol(key) ? key : key + ''
6194
7214
  }
6195
- }, { '../internals/is-symbol': 92, '../internals/to-primitive': 128 }],
6196
- 130: [function (require, module, exports) {
7215
+ }, { '../internals/is-symbol': 101, '../internals/to-primitive': 154 }],
7216
+ 156: [function (require, module, exports) {
7217
+ 'use strict'
7218
+ const getBuiltIn = require('../internals/get-built-in')
7219
+ const isCallable = require('../internals/is-callable')
7220
+ const isIterable = require('../internals/is-iterable')
7221
+ const isObject = require('../internals/is-object')
7222
+
7223
+ const Set = getBuiltIn('Set')
7224
+
7225
+ const isSetLike = function (it) {
7226
+ return isObject(it) &&
7227
+ typeof it.size === 'number' &&
7228
+ isCallable(it.has) &&
7229
+ isCallable(it.keys)
7230
+ }
7231
+
7232
+ // fallback old -> new set methods proposal arguments
7233
+ module.exports = function (it) {
7234
+ if (isSetLike(it)) return it
7235
+ return isIterable(it) ? new Set(it) : it
7236
+ }
7237
+ }, { '../internals/get-built-in': 80, '../internals/is-callable': 95, '../internals/is-iterable': 97, '../internals/is-object': 99 }],
7238
+ 157: [function (require, module, exports) {
7239
+ 'use strict'
7240
+ const wellKnownSymbol = require('../internals/well-known-symbol')
7241
+
7242
+ const TO_STRING_TAG = wellKnownSymbol('toStringTag')
7243
+ const test = {}
7244
+ // eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation
7245
+ test[TO_STRING_TAG] = 'z'
7246
+
7247
+ module.exports = String(test) === '[object z]'
7248
+ }, { '../internals/well-known-symbol': 166 }],
7249
+ 158: [function (require, module, exports) {
7250
+ 'use strict'
7251
+ const classof = require('../internals/classof')
7252
+
7253
+ const $String = String
7254
+
7255
+ module.exports = function (argument) {
7256
+ if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string')
7257
+ return $String(argument)
7258
+ }
7259
+ }, { '../internals/classof': 54 }],
7260
+ 159: [function (require, module, exports) {
6197
7261
  'use strict'
6198
7262
  const $String = String
6199
7263
 
@@ -6205,7 +7269,7 @@
6205
7269
  }
6206
7270
  }
6207
7271
  }, {}],
6208
- 131: [function (require, module, exports) {
7272
+ 160: [function (require, module, exports) {
6209
7273
  'use strict'
6210
7274
  const uncurryThis = require('../internals/function-uncurry-this')
6211
7275
 
@@ -6216,8 +7280,8 @@
6216
7280
  module.exports = function (key) {
6217
7281
  return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36)
6218
7282
  }
6219
- }, { '../internals/function-uncurry-this': 72 }],
6220
- 132: [function (require, module, exports) {
7283
+ }, { '../internals/function-uncurry-this': 79 }],
7284
+ 161: [function (require, module, exports) {
6221
7285
  'use strict'
6222
7286
  /* eslint-disable es/no-symbol -- required for testing */
6223
7287
  const NATIVE_SYMBOL = require('../internals/symbol-constructor-detection')
@@ -6225,8 +7289,8 @@
6225
7289
  module.exports = NATIVE_SYMBOL &&
6226
7290
  !Symbol.sham &&
6227
7291
  typeof Symbol.iterator === 'symbol'
6228
- }, { '../internals/symbol-constructor-detection': 122 }],
6229
- 133: [function (require, module, exports) {
7292
+ }, { '../internals/symbol-constructor-detection': 148 }],
7293
+ 162: [function (require, module, exports) {
6230
7294
  'use strict'
6231
7295
  const DESCRIPTORS = require('../internals/descriptors')
6232
7296
  const fails = require('../internals/fails')
@@ -6240,8 +7304,8 @@
6240
7304
  writable: false
6241
7305
  }).prototype !== 42
6242
7306
  })
6243
- }, { '../internals/descriptors': 59, '../internals/fails': 65 }],
6244
- 134: [function (require, module, exports) {
7307
+ }, { '../internals/descriptors': 65, '../internals/fails': 71 }],
7308
+ 163: [function (require, module, exports) {
6245
7309
  'use strict'
6246
7310
  const globalThis = require('../internals/global-this')
6247
7311
  const isCallable = require('../internals/is-callable')
@@ -6249,8 +7313,8 @@
6249
7313
  const WeakMap = globalThis.WeakMap
6250
7314
 
6251
7315
  module.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap))
6252
- }, { '../internals/global-this': 78, '../internals/is-callable': 87 }],
6253
- 135: [function (require, module, exports) {
7316
+ }, { '../internals/global-this': 86, '../internals/is-callable': 95 }],
7317
+ 164: [function (require, module, exports) {
6254
7318
  'use strict'
6255
7319
  const uncurryThis = require('../internals/function-uncurry-this')
6256
7320
 
@@ -6265,8 +7329,23 @@
6265
7329
  has: uncurryThis(WeakMapPrototype.has),
6266
7330
  remove: uncurryThis(WeakMapPrototype.delete)
6267
7331
  }
6268
- }, { '../internals/function-uncurry-this': 72 }],
6269
- 136: [function (require, module, exports) {
7332
+ }, { '../internals/function-uncurry-this': 79 }],
7333
+ 165: [function (require, module, exports) {
7334
+ 'use strict'
7335
+ const uncurryThis = require('../internals/function-uncurry-this')
7336
+
7337
+ // eslint-disable-next-line es/no-weak-set -- safe
7338
+ const WeakSetPrototype = WeakSet.prototype
7339
+
7340
+ module.exports = {
7341
+ // eslint-disable-next-line es/no-weak-set -- safe
7342
+ WeakSet,
7343
+ add: uncurryThis(WeakSetPrototype.add),
7344
+ has: uncurryThis(WeakSetPrototype.has),
7345
+ remove: uncurryThis(WeakSetPrototype.delete)
7346
+ }
7347
+ }, { '../internals/function-uncurry-this': 79 }],
7348
+ 166: [function (require, module, exports) {
6270
7349
  'use strict'
6271
7350
  const globalThis = require('../internals/global-this')
6272
7351
  const shared = require('../internals/shared')
@@ -6286,8 +7365,38 @@
6286
7365
  : createWellKnownSymbol('Symbol.' + name)
6287
7366
  } return WellKnownSymbolsStore[name]
6288
7367
  }
6289
- }, { '../internals/global-this': 78, '../internals/has-own-property': 79, '../internals/shared': 121, '../internals/symbol-constructor-detection': 122, '../internals/uid': 131, '../internals/use-symbol-as-uid': 132 }],
6290
- 137: [function (require, module, exports) {
7368
+ }, { '../internals/global-this': 86, '../internals/has-own-property': 87, '../internals/shared': 147, '../internals/symbol-constructor-detection': 148, '../internals/uid': 160, '../internals/use-symbol-as-uid': 161 }],
7369
+ 167: [function (require, module, exports) {
7370
+ 'use strict'
7371
+ const $ = require('../internals/export')
7372
+ const $includes = require('../internals/array-includes').includes
7373
+ const fails = require('../internals/fails')
7374
+ const addToUnscopables = require('../internals/add-to-unscopables')
7375
+
7376
+ // FF99+ bug
7377
+ const BROKEN_ON_SPARSE = fails(function () {
7378
+ // eslint-disable-next-line es/no-array-prototype-includes -- detection
7379
+ return !Array(1).includes()
7380
+ })
7381
+
7382
+ // Safari 26.4- bug
7383
+ const BROKEN_ON_SPARSE_WITH_FROM_INDEX = fails(function () {
7384
+ // eslint-disable-next-line no-sparse-arrays, es/no-array-prototype-includes -- detection
7385
+ return [, 1].includes(undefined, 1)
7386
+ })
7387
+
7388
+ // `Array.prototype.includes` method
7389
+ // https://tc39.es/ecma262/#sec-array.prototype.includes
7390
+ $({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE || BROKEN_ON_SPARSE_WITH_FROM_INDEX }, {
7391
+ includes: function includes (el /* , fromIndex = 0 */) {
7392
+ return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined)
7393
+ }
7394
+ })
7395
+
7396
+ // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
7397
+ addToUnscopables('includes')
7398
+ }, { '../internals/add-to-unscopables': 48, '../internals/array-includes': 51, '../internals/export': 70, '../internals/fails': 71 }],
7399
+ 168: [function (require, module, exports) {
6291
7400
  'use strict'
6292
7401
  const $ = require('../internals/export')
6293
7402
  const globalThis = require('../internals/global-this')
@@ -6353,8 +7462,42 @@
6353
7462
  $({ global: true, constructor: true, forced: FORCED }, {
6354
7463
  Iterator: IteratorConstructor
6355
7464
  })
6356
- }, { '../internals/an-instance': 44, '../internals/an-object': 45, '../internals/create-property': 54, '../internals/define-built-in-accessor': 55, '../internals/descriptors': 59, '../internals/export': 64, '../internals/fails': 65, '../internals/global-this': 78, '../internals/has-own-property': 79, '../internals/is-callable': 87, '../internals/is-pure': 91, '../internals/iterators-core': 100, '../internals/object-get-prototype-of': 111, '../internals/well-known-symbol': 136 }],
6357
- 138: [function (require, module, exports) {
7465
+ }, { '../internals/an-instance': 49, '../internals/an-object': 50, '../internals/create-property': 60, '../internals/define-built-in-accessor': 61, '../internals/descriptors': 65, '../internals/export': 70, '../internals/fails': 71, '../internals/global-this': 86, '../internals/has-own-property': 87, '../internals/is-callable': 95, '../internals/is-pure': 100, '../internals/iterators-core': 110, '../internals/object-get-prototype-of': 123, '../internals/well-known-symbol': 166 }],
7466
+ 169: [function (require, module, exports) {
7467
+ 'use strict'
7468
+ const $ = require('../internals/export')
7469
+ const call = require('../internals/function-call')
7470
+ const iterate = require('../internals/iterate')
7471
+ const aCallable = require('../internals/a-callable')
7472
+ const anObject = require('../internals/an-object')
7473
+ const getIteratorDirect = require('../internals/get-iterator-direct')
7474
+ const iteratorClose = require('../internals/iterator-close')
7475
+ const iteratorHelperWithoutClosingOnEarlyError = require('../internals/iterator-helper-without-closing-on-early-error')
7476
+
7477
+ const everyWithoutClosingOnEarlyError = iteratorHelperWithoutClosingOnEarlyError('every', TypeError)
7478
+
7479
+ // `Iterator.prototype.every` method
7480
+ // https://tc39.es/ecma262/#sec-iterator.prototype.every
7481
+ $({ target: 'Iterator', proto: true, real: true, forced: everyWithoutClosingOnEarlyError }, {
7482
+ every: function every (predicate) {
7483
+ anObject(this)
7484
+ try {
7485
+ aCallable(predicate)
7486
+ } catch (error) {
7487
+ iteratorClose(this, 'throw', error)
7488
+ }
7489
+
7490
+ if (everyWithoutClosingOnEarlyError) return call(everyWithoutClosingOnEarlyError, this, predicate)
7491
+
7492
+ const record = getIteratorDirect(this)
7493
+ let counter = 0
7494
+ return !iterate(record, function (value, stop) {
7495
+ if (!predicate(value, counter++)) return stop()
7496
+ }, { IS_RECORD: true, INTERRUPTED: true }).stopped
7497
+ }
7498
+ })
7499
+ }, { '../internals/a-callable': 43, '../internals/an-object': 50, '../internals/export': 70, '../internals/function-call': 75, '../internals/get-iterator-direct': 81, '../internals/iterate': 103, '../internals/iterator-close': 106, '../internals/iterator-helper-without-closing-on-early-error': 109 }],
7500
+ 170: [function (require, module, exports) {
6358
7501
  'use strict'
6359
7502
  const $ = require('../internals/export')
6360
7503
  const call = require('../internals/function-call')
@@ -6406,8 +7549,8 @@
6406
7549
  })
6407
7550
  }
6408
7551
  })
6409
- }, { '../internals/a-callable': 42, '../internals/an-object': 45, '../internals/call-with-safe-iteration-closing': 47, '../internals/export': 64, '../internals/function-call': 69, '../internals/get-iterator-direct': 74, '../internals/is-pure': 91, '../internals/iterator-close': 96, '../internals/iterator-create-proxy': 97, '../internals/iterator-helper-throws-on-invalid-iterator': 98, '../internals/iterator-helper-without-closing-on-early-error': 99 }],
6410
- 139: [function (require, module, exports) {
7552
+ }, { '../internals/a-callable': 43, '../internals/an-object': 50, '../internals/call-with-safe-iteration-closing': 52, '../internals/export': 70, '../internals/function-call': 75, '../internals/get-iterator-direct': 81, '../internals/is-pure': 100, '../internals/iterator-close': 106, '../internals/iterator-create-proxy': 107, '../internals/iterator-helper-throws-on-invalid-iterator': 108, '../internals/iterator-helper-without-closing-on-early-error': 109 }],
7553
+ 171: [function (require, module, exports) {
6411
7554
  'use strict'
6412
7555
  const $ = require('../internals/export')
6413
7556
  const call = require('../internals/function-call')
@@ -6440,8 +7583,8 @@
6440
7583
  }, { IS_RECORD: true, INTERRUPTED: true }).result
6441
7584
  }
6442
7585
  })
6443
- }, { '../internals/a-callable': 42, '../internals/an-object': 45, '../internals/export': 64, '../internals/function-call': 69, '../internals/get-iterator-direct': 74, '../internals/iterate': 93, '../internals/iterator-close': 96, '../internals/iterator-helper-without-closing-on-early-error': 99 }],
6444
- 140: [function (require, module, exports) {
7586
+ }, { '../internals/a-callable': 43, '../internals/an-object': 50, '../internals/export': 70, '../internals/function-call': 75, '../internals/get-iterator-direct': 81, '../internals/iterate': 103, '../internals/iterator-close': 106, '../internals/iterator-helper-without-closing-on-early-error': 109 }],
7587
+ 172: [function (require, module, exports) {
6445
7588
  'use strict'
6446
7589
  const $ = require('../internals/export')
6447
7590
  const call = require('../internals/function-call')
@@ -6474,8 +7617,8 @@
6474
7617
  }, { IS_RECORD: true })
6475
7618
  }
6476
7619
  })
6477
- }, { '../internals/a-callable': 42, '../internals/an-object': 45, '../internals/export': 64, '../internals/function-call': 69, '../internals/get-iterator-direct': 74, '../internals/iterate': 93, '../internals/iterator-close': 96, '../internals/iterator-helper-without-closing-on-early-error': 99 }],
6478
- 141: [function (require, module, exports) {
7620
+ }, { '../internals/a-callable': 43, '../internals/an-object': 50, '../internals/export': 70, '../internals/function-call': 75, '../internals/get-iterator-direct': 81, '../internals/iterate': 103, '../internals/iterator-close': 106, '../internals/iterator-helper-without-closing-on-early-error': 109 }],
7621
+ 173: [function (require, module, exports) {
6479
7622
  'use strict'
6480
7623
  const $ = require('../internals/export')
6481
7624
  const call = require('../internals/function-call')
@@ -6520,8 +7663,8 @@
6520
7663
  })
6521
7664
  }
6522
7665
  })
6523
- }, { '../internals/a-callable': 42, '../internals/an-object': 45, '../internals/call-with-safe-iteration-closing': 47, '../internals/export': 64, '../internals/function-call': 69, '../internals/get-iterator-direct': 74, '../internals/is-pure': 91, '../internals/iterator-close': 96, '../internals/iterator-create-proxy': 97, '../internals/iterator-helper-throws-on-invalid-iterator': 98, '../internals/iterator-helper-without-closing-on-early-error': 99 }],
6524
- 142: [function (require, module, exports) {
7666
+ }, { '../internals/a-callable': 43, '../internals/an-object': 50, '../internals/call-with-safe-iteration-closing': 52, '../internals/export': 70, '../internals/function-call': 75, '../internals/get-iterator-direct': 81, '../internals/is-pure': 100, '../internals/iterator-close': 106, '../internals/iterator-create-proxy': 107, '../internals/iterator-helper-throws-on-invalid-iterator': 108, '../internals/iterator-helper-without-closing-on-early-error': 109 }],
7667
+ 174: [function (require, module, exports) {
6525
7668
  'use strict'
6526
7669
  const $ = require('../internals/export')
6527
7670
  const iterate = require('../internals/iterate')
@@ -6574,8 +7717,8 @@
6574
7717
  return accumulator
6575
7718
  }
6576
7719
  })
6577
- }, { '../internals/a-callable': 42, '../internals/an-object': 45, '../internals/export': 64, '../internals/fails': 65, '../internals/function-apply': 66, '../internals/get-iterator-direct': 74, '../internals/iterate': 93, '../internals/iterator-close': 96, '../internals/iterator-helper-without-closing-on-early-error': 99 }],
6578
- 143: [function (require, module, exports) {
7720
+ }, { '../internals/a-callable': 43, '../internals/an-object': 50, '../internals/export': 70, '../internals/fails': 71, '../internals/function-apply': 72, '../internals/get-iterator-direct': 81, '../internals/iterate': 103, '../internals/iterator-close': 106, '../internals/iterator-helper-without-closing-on-early-error': 109 }],
7721
+ 175: [function (require, module, exports) {
6579
7722
  'use strict'
6580
7723
  const $ = require('../internals/export')
6581
7724
  const call = require('../internals/function-call')
@@ -6608,53 +7751,76 @@
6608
7751
  }, { IS_RECORD: true, INTERRUPTED: true }).stopped
6609
7752
  }
6610
7753
  })
6611
- }, { '../internals/a-callable': 42, '../internals/an-object': 45, '../internals/export': 64, '../internals/function-call': 69, '../internals/get-iterator-direct': 74, '../internals/iterate': 93, '../internals/iterator-close': 96, '../internals/iterator-helper-without-closing-on-early-error': 99 }],
6612
- 144: [function (require, module, exports) {
7754
+ }, { '../internals/a-callable': 43, '../internals/an-object': 50, '../internals/export': 70, '../internals/function-call': 75, '../internals/get-iterator-direct': 81, '../internals/iterate': 103, '../internals/iterator-close': 106, '../internals/iterator-helper-without-closing-on-early-error': 109 }],
7755
+ 176: [function (require, module, exports) {
7756
+ 'use strict'
7757
+ const DESCRIPTORS = require('../internals/descriptors')
7758
+ const defineBuiltInAccessor = require('../internals/define-built-in-accessor')
7759
+ const regExpFlagsDetection = require('../internals/regexp-flags-detection')
7760
+ const regExpFlagsGetterImplementation = require('../internals/regexp-flags')
7761
+
7762
+ // `RegExp.prototype.flags` getter
7763
+ // https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
7764
+ if (DESCRIPTORS && !regExpFlagsDetection.correct) {
7765
+ defineBuiltInAccessor(RegExp.prototype, 'flags', {
7766
+ configurable: true,
7767
+ get: regExpFlagsGetterImplementation
7768
+ })
7769
+
7770
+ regExpFlagsDetection.correct = true
7771
+ }
7772
+ }, { '../internals/define-built-in-accessor': 61, '../internals/descriptors': 65, '../internals/regexp-flags': 131, '../internals/regexp-flags-detection': 130 }],
7773
+ 177: [function (require, module, exports) {
6613
7774
  'use strict'
6614
7775
  // TODO: Remove from `core-js@4`
6615
7776
  require('../modules/es.iterator.constructor')
6616
- }, { '../modules/es.iterator.constructor': 137 }],
6617
- 145: [function (require, module, exports) {
7777
+ }, { '../modules/es.iterator.constructor': 168 }],
7778
+ 178: [function (require, module, exports) {
7779
+ 'use strict'
7780
+ // TODO: Remove from `core-js@4`
7781
+ require('../modules/es.iterator.every')
7782
+ }, { '../modules/es.iterator.every': 169 }],
7783
+ 179: [function (require, module, exports) {
6618
7784
  'use strict'
6619
7785
  // TODO: Remove from `core-js@4`
6620
7786
  require('../modules/es.iterator.filter')
6621
- }, { '../modules/es.iterator.filter': 138 }],
6622
- 146: [function (require, module, exports) {
7787
+ }, { '../modules/es.iterator.filter': 170 }],
7788
+ 180: [function (require, module, exports) {
6623
7789
  'use strict'
6624
7790
  // TODO: Remove from `core-js@4`
6625
7791
  require('../modules/es.iterator.find')
6626
- }, { '../modules/es.iterator.find': 139 }],
6627
- 147: [function (require, module, exports) {
7792
+ }, { '../modules/es.iterator.find': 171 }],
7793
+ 181: [function (require, module, exports) {
6628
7794
  'use strict'
6629
7795
  // TODO: Remove from `core-js@4`
6630
7796
  require('../modules/es.iterator.for-each')
6631
- }, { '../modules/es.iterator.for-each': 140 }],
6632
- 148: [function (require, module, exports) {
7797
+ }, { '../modules/es.iterator.for-each': 172 }],
7798
+ 182: [function (require, module, exports) {
6633
7799
  'use strict'
6634
7800
  // TODO: Remove from `core-js@4`
6635
7801
  require('../modules/es.iterator.map')
6636
- }, { '../modules/es.iterator.map': 141 }],
6637
- 149: [function (require, module, exports) {
7802
+ }, { '../modules/es.iterator.map': 173 }],
7803
+ 183: [function (require, module, exports) {
6638
7804
  'use strict'
6639
7805
  // TODO: Remove from `core-js@4`
6640
7806
  require('../modules/es.iterator.reduce')
6641
- }, { '../modules/es.iterator.reduce': 142 }],
6642
- 150: [function (require, module, exports) {
7807
+ }, { '../modules/es.iterator.reduce': 174 }],
7808
+ 184: [function (require, module, exports) {
6643
7809
  'use strict'
6644
7810
  // TODO: Remove from `core-js@4`
6645
7811
  require('../modules/es.iterator.some')
6646
- }, { '../modules/es.iterator.some': 143 }],
6647
- 151: [function (require, module, exports) {
7812
+ }, { '../modules/es.iterator.some': 175 }],
7813
+ 185: [function (require, module, exports) {
6648
7814
  'use strict'
6649
7815
  const $ = require('../internals/export')
6650
- const aWeakMap = require('../internals/a-weak-map')
6651
- const remove = require('../internals/weak-map-helpers').remove
7816
+ const aMap = require('../internals/a-map')
7817
+ const remove = require('../internals/map-helpers').remove
6652
7818
 
6653
- // `WeakMap.prototype.deleteAll` method
7819
+ // `Map.prototype.deleteAll` method
6654
7820
  // https://github.com/tc39/proposal-collection-methods
6655
- $({ target: 'WeakMap', proto: true, real: true, forced: true }, {
7821
+ $({ target: 'Map', proto: true, real: true, forced: true }, {
6656
7822
  deleteAll: function deleteAll (/* ...elements */) {
6657
- const collection = aWeakMap(this)
7823
+ const collection = aMap(this)
6658
7824
  let allDeleted = true
6659
7825
  let wasDeleted
6660
7826
  for (let k = 0, len = arguments.length; k < len; k++) {
@@ -6663,5 +7829,1078 @@
6663
7829
  } return !!allDeleted
6664
7830
  }
6665
7831
  })
6666
- }, { '../internals/a-weak-map': 43, '../internals/export': 64, '../internals/weak-map-helpers': 135 }]
7832
+ }, { '../internals/a-map': 44, '../internals/export': 70, '../internals/map-helpers': 114 }],
7833
+ 186: [function (require, module, exports) {
7834
+ 'use strict'
7835
+ const $ = require('../internals/export')
7836
+ const bind = require('../internals/function-bind-context')
7837
+ const aMap = require('../internals/a-map')
7838
+ const iterate = require('../internals/map-iterate')
7839
+
7840
+ // `Map.prototype.every` method
7841
+ // https://github.com/tc39/proposal-collection-methods
7842
+ $({ target: 'Map', proto: true, real: true, forced: true }, {
7843
+ every: function every (callbackfn /* , thisArg */) {
7844
+ const map = aMap(this)
7845
+ const boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined)
7846
+ return iterate(map, function (value, key) {
7847
+ if (!boundFunction(value, key, map)) return false
7848
+ }, true) !== false
7849
+ }
7850
+ })
7851
+ }, { '../internals/a-map': 44, '../internals/export': 70, '../internals/function-bind-context': 73, '../internals/map-iterate': 115 }],
7852
+ 187: [function (require, module, exports) {
7853
+ 'use strict'
7854
+ const $ = require('../internals/export')
7855
+ const bind = require('../internals/function-bind-context')
7856
+ const aMap = require('../internals/a-map')
7857
+ const MapHelpers = require('../internals/map-helpers')
7858
+ const iterate = require('../internals/map-iterate')
7859
+
7860
+ const Map = MapHelpers.Map
7861
+ const set = MapHelpers.set
7862
+
7863
+ // `Map.prototype.filter` method
7864
+ // https://github.com/tc39/proposal-collection-methods
7865
+ $({ target: 'Map', proto: true, real: true, forced: true }, {
7866
+ filter: function filter (callbackfn /* , thisArg */) {
7867
+ const map = aMap(this)
7868
+ const boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined)
7869
+ const newMap = new Map()
7870
+ iterate(map, function (value, key) {
7871
+ if (boundFunction(value, key, map)) set(newMap, key, value)
7872
+ })
7873
+ return newMap
7874
+ }
7875
+ })
7876
+ }, { '../internals/a-map': 44, '../internals/export': 70, '../internals/function-bind-context': 73, '../internals/map-helpers': 114, '../internals/map-iterate': 115 }],
7877
+ 188: [function (require, module, exports) {
7878
+ 'use strict'
7879
+ const $ = require('../internals/export')
7880
+ const bind = require('../internals/function-bind-context')
7881
+ const aMap = require('../internals/a-map')
7882
+ const iterate = require('../internals/map-iterate')
7883
+
7884
+ // `Map.prototype.findKey` method
7885
+ // https://github.com/tc39/proposal-collection-methods
7886
+ $({ target: 'Map', proto: true, real: true, forced: true }, {
7887
+ findKey: function findKey (callbackfn /* , thisArg */) {
7888
+ const map = aMap(this)
7889
+ const boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined)
7890
+ const result = iterate(map, function (value, key) {
7891
+ if (boundFunction(value, key, map)) return { key }
7892
+ }, true)
7893
+ return result && result.key
7894
+ }
7895
+ })
7896
+ }, { '../internals/a-map': 44, '../internals/export': 70, '../internals/function-bind-context': 73, '../internals/map-iterate': 115 }],
7897
+ 189: [function (require, module, exports) {
7898
+ 'use strict'
7899
+ const $ = require('../internals/export')
7900
+ const bind = require('../internals/function-bind-context')
7901
+ const aMap = require('../internals/a-map')
7902
+ const iterate = require('../internals/map-iterate')
7903
+
7904
+ // `Map.prototype.find` method
7905
+ // https://github.com/tc39/proposal-collection-methods
7906
+ $({ target: 'Map', proto: true, real: true, forced: true }, {
7907
+ find: function find (callbackfn /* , thisArg */) {
7908
+ const map = aMap(this)
7909
+ const boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined)
7910
+ const result = iterate(map, function (value, key) {
7911
+ if (boundFunction(value, key, map)) return { value }
7912
+ }, true)
7913
+ return result && result.value
7914
+ }
7915
+ })
7916
+ }, { '../internals/a-map': 44, '../internals/export': 70, '../internals/function-bind-context': 73, '../internals/map-iterate': 115 }],
7917
+ 190: [function (require, module, exports) {
7918
+ 'use strict'
7919
+ const $ = require('../internals/export')
7920
+ const sameValueZero = require('../internals/same-value-zero')
7921
+ const aMap = require('../internals/a-map')
7922
+ const iterate = require('../internals/map-iterate')
7923
+
7924
+ // `Map.prototype.includes` method
7925
+ // https://github.com/tc39/proposal-collection-methods
7926
+ $({ target: 'Map', proto: true, real: true, forced: true }, {
7927
+ includes: function includes (searchElement) {
7928
+ return iterate(aMap(this), function (value) {
7929
+ if (sameValueZero(value, searchElement)) return true
7930
+ }, true) === true
7931
+ }
7932
+ })
7933
+ }, { '../internals/a-map': 44, '../internals/export': 70, '../internals/map-iterate': 115, '../internals/same-value-zero': 133 }],
7934
+ 191: [function (require, module, exports) {
7935
+ 'use strict'
7936
+ const $ = require('../internals/export')
7937
+ const aMap = require('../internals/a-map')
7938
+ const iterate = require('../internals/map-iterate')
7939
+
7940
+ // `Map.prototype.keyOf` method
7941
+ // https://github.com/tc39/proposal-collection-methods
7942
+ $({ target: 'Map', proto: true, real: true, forced: true }, {
7943
+ keyOf: function keyOf (searchElement) {
7944
+ const result = iterate(aMap(this), function (value, key) {
7945
+ if (value === searchElement) return { key }
7946
+ }, true)
7947
+ return result && result.key
7948
+ }
7949
+ })
7950
+ }, { '../internals/a-map': 44, '../internals/export': 70, '../internals/map-iterate': 115 }],
7951
+ 192: [function (require, module, exports) {
7952
+ 'use strict'
7953
+ const $ = require('../internals/export')
7954
+ const bind = require('../internals/function-bind-context')
7955
+ const aMap = require('../internals/a-map')
7956
+ const MapHelpers = require('../internals/map-helpers')
7957
+ const iterate = require('../internals/map-iterate')
7958
+
7959
+ const Map = MapHelpers.Map
7960
+ const set = MapHelpers.set
7961
+
7962
+ // `Map.prototype.mapKeys` method
7963
+ // https://github.com/tc39/proposal-collection-methods
7964
+ $({ target: 'Map', proto: true, real: true, forced: true }, {
7965
+ mapKeys: function mapKeys (callbackfn /* , thisArg */) {
7966
+ const map = aMap(this)
7967
+ const boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined)
7968
+ const newMap = new Map()
7969
+ iterate(map, function (value, key) {
7970
+ set(newMap, boundFunction(value, key, map), value)
7971
+ })
7972
+ return newMap
7973
+ }
7974
+ })
7975
+ }, { '../internals/a-map': 44, '../internals/export': 70, '../internals/function-bind-context': 73, '../internals/map-helpers': 114, '../internals/map-iterate': 115 }],
7976
+ 193: [function (require, module, exports) {
7977
+ 'use strict'
7978
+ const $ = require('../internals/export')
7979
+ const bind = require('../internals/function-bind-context')
7980
+ const aMap = require('../internals/a-map')
7981
+ const MapHelpers = require('../internals/map-helpers')
7982
+ const iterate = require('../internals/map-iterate')
7983
+
7984
+ const Map = MapHelpers.Map
7985
+ const set = MapHelpers.set
7986
+
7987
+ // `Map.prototype.mapValues` method
7988
+ // https://github.com/tc39/proposal-collection-methods
7989
+ $({ target: 'Map', proto: true, real: true, forced: true }, {
7990
+ mapValues: function mapValues (callbackfn /* , thisArg */) {
7991
+ const map = aMap(this)
7992
+ const boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined)
7993
+ const newMap = new Map()
7994
+ iterate(map, function (value, key) {
7995
+ set(newMap, key, boundFunction(value, key, map))
7996
+ })
7997
+ return newMap
7998
+ }
7999
+ })
8000
+ }, { '../internals/a-map': 44, '../internals/export': 70, '../internals/function-bind-context': 73, '../internals/map-helpers': 114, '../internals/map-iterate': 115 }],
8001
+ 194: [function (require, module, exports) {
8002
+ 'use strict'
8003
+ const $ = require('../internals/export')
8004
+ const aMap = require('../internals/a-map')
8005
+ const iterate = require('../internals/iterate')
8006
+ const set = require('../internals/map-helpers').set
8007
+
8008
+ // `Map.prototype.merge` method
8009
+ // https://github.com/tc39/proposal-collection-methods
8010
+ $({ target: 'Map', proto: true, real: true, arity: 1, forced: true }, {
8011
+ // eslint-disable-next-line no-unused-vars -- required for `.length`
8012
+ merge: function merge (iterable /* ...iterables */) {
8013
+ const map = aMap(this)
8014
+ const argumentsLength = arguments.length
8015
+ let i = 0
8016
+ while (i < argumentsLength) {
8017
+ iterate(arguments[i++], function (key, value) {
8018
+ set(map, key, value)
8019
+ }, { AS_ENTRIES: true })
8020
+ }
8021
+ return map
8022
+ }
8023
+ })
8024
+ }, { '../internals/a-map': 44, '../internals/export': 70, '../internals/iterate': 103, '../internals/map-helpers': 114 }],
8025
+ 195: [function (require, module, exports) {
8026
+ 'use strict'
8027
+ const $ = require('../internals/export')
8028
+ const aCallable = require('../internals/a-callable')
8029
+ const aMap = require('../internals/a-map')
8030
+ const iterate = require('../internals/map-iterate')
8031
+
8032
+ const $TypeError = TypeError
8033
+
8034
+ // `Map.prototype.reduce` method
8035
+ // https://github.com/tc39/proposal-collection-methods
8036
+ $({ target: 'Map', proto: true, real: true, forced: true }, {
8037
+ reduce: function reduce (callbackfn /* , initialValue */) {
8038
+ const map = aMap(this)
8039
+ let noInitial = arguments.length < 2
8040
+ let accumulator = noInitial ? undefined : arguments[1]
8041
+ aCallable(callbackfn)
8042
+ iterate(map, function (value, key) {
8043
+ if (noInitial) {
8044
+ noInitial = false
8045
+ accumulator = value
8046
+ } else {
8047
+ accumulator = callbackfn(accumulator, value, key, map)
8048
+ }
8049
+ })
8050
+ if (noInitial) throw new $TypeError('Reduce of empty map with no initial value')
8051
+ return accumulator
8052
+ }
8053
+ })
8054
+ }, { '../internals/a-callable': 43, '../internals/a-map': 44, '../internals/export': 70, '../internals/map-iterate': 115 }],
8055
+ 196: [function (require, module, exports) {
8056
+ 'use strict'
8057
+ const $ = require('../internals/export')
8058
+ const bind = require('../internals/function-bind-context')
8059
+ const aMap = require('../internals/a-map')
8060
+ const iterate = require('../internals/map-iterate')
8061
+
8062
+ // `Map.prototype.some` method
8063
+ // https://github.com/tc39/proposal-collection-methods
8064
+ $({ target: 'Map', proto: true, real: true, forced: true }, {
8065
+ some: function some (callbackfn /* , thisArg */) {
8066
+ const map = aMap(this)
8067
+ const boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined)
8068
+ return iterate(map, function (value, key) {
8069
+ if (boundFunction(value, key, map)) return true
8070
+ }, true) === true
8071
+ }
8072
+ })
8073
+ }, { '../internals/a-map': 44, '../internals/export': 70, '../internals/function-bind-context': 73, '../internals/map-iterate': 115 }],
8074
+ 197: [function (require, module, exports) {
8075
+ 'use strict'
8076
+ const $ = require('../internals/export')
8077
+ const aCallable = require('../internals/a-callable')
8078
+ const aMap = require('../internals/a-map')
8079
+ const MapHelpers = require('../internals/map-helpers')
8080
+
8081
+ const $TypeError = TypeError
8082
+ const get = MapHelpers.get
8083
+ const has = MapHelpers.has
8084
+ const set = MapHelpers.set
8085
+
8086
+ // `Map.prototype.update` method
8087
+ // https://github.com/tc39/proposal-collection-methods
8088
+ $({ target: 'Map', proto: true, real: true, forced: true }, {
8089
+ update: function update (key, callback /* , thunk */) {
8090
+ const map = aMap(this)
8091
+ const length = arguments.length
8092
+ aCallable(callback)
8093
+ const isPresentInMap = has(map, key)
8094
+ if (!isPresentInMap && length < 3) {
8095
+ throw new $TypeError('Updating absent value')
8096
+ }
8097
+ const value = isPresentInMap ? get(map, key) : aCallable(length > 2 ? arguments[2] : undefined)(key, map)
8098
+ set(map, key, callback(value, key, map))
8099
+ return map
8100
+ }
8101
+ })
8102
+ }, { '../internals/a-callable': 43, '../internals/a-map': 44, '../internals/export': 70, '../internals/map-helpers': 114 }],
8103
+ 198: [function (require, module, exports) {
8104
+ 'use strict'
8105
+ const $ = require('../internals/export')
8106
+ const aSet = require('../internals/a-set')
8107
+ const add = require('../internals/set-helpers').add
8108
+
8109
+ // `Set.prototype.addAll` method
8110
+ // https://github.com/tc39/proposal-collection-methods
8111
+ $({ target: 'Set', proto: true, real: true, forced: true }, {
8112
+ addAll: function addAll (/* ...elements */) {
8113
+ const set = aSet(this)
8114
+ for (let k = 0, len = arguments.length; k < len; k++) {
8115
+ add(set, arguments[k])
8116
+ } return set
8117
+ }
8118
+ })
8119
+ }, { '../internals/a-set': 45, '../internals/export': 70, '../internals/set-helpers': 136 }],
8120
+ 199: [function (require, module, exports) {
8121
+ 'use strict'
8122
+ const $ = require('../internals/export')
8123
+ const aSet = require('../internals/a-set')
8124
+ const remove = require('../internals/set-helpers').remove
8125
+
8126
+ // `Set.prototype.deleteAll` method
8127
+ // https://github.com/tc39/proposal-collection-methods
8128
+ $({ target: 'Set', proto: true, real: true, forced: true }, {
8129
+ deleteAll: function deleteAll (/* ...elements */) {
8130
+ const collection = aSet(this)
8131
+ let allDeleted = true
8132
+ let wasDeleted
8133
+ for (let k = 0, len = arguments.length; k < len; k++) {
8134
+ wasDeleted = remove(collection, arguments[k])
8135
+ allDeleted = allDeleted && wasDeleted
8136
+ } return !!allDeleted
8137
+ }
8138
+ })
8139
+ }, { '../internals/a-set': 45, '../internals/export': 70, '../internals/set-helpers': 136 }],
8140
+ 200: [function (require, module, exports) {
8141
+ 'use strict'
8142
+ const $ = require('../internals/export')
8143
+ const call = require('../internals/function-call')
8144
+ const toSetLike = require('../internals/to-set-like')
8145
+ const $difference = require('../internals/set-difference')
8146
+
8147
+ // `Set.prototype.difference` method
8148
+ // https://github.com/tc39/proposal-set-methods
8149
+ // TODO: Obsolete version, remove from `core-js@4`
8150
+ $({ target: 'Set', proto: true, real: true, forced: true }, {
8151
+ difference: function difference (other) {
8152
+ return call($difference, this, toSetLike(other))
8153
+ }
8154
+ })
8155
+ }, { '../internals/export': 70, '../internals/function-call': 75, '../internals/set-difference': 135, '../internals/to-set-like': 156 }],
8156
+ 201: [function (require, module, exports) {
8157
+ 'use strict'
8158
+ const $ = require('../internals/export')
8159
+ const bind = require('../internals/function-bind-context')
8160
+ const aSet = require('../internals/a-set')
8161
+ const iterate = require('../internals/set-iterate')
8162
+
8163
+ // `Set.prototype.every` method
8164
+ // https://github.com/tc39/proposal-collection-methods
8165
+ $({ target: 'Set', proto: true, real: true, forced: true }, {
8166
+ every: function every (callbackfn /* , thisArg */) {
8167
+ const set = aSet(this)
8168
+ const boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined)
8169
+ return iterate(set, function (value) {
8170
+ if (!boundFunction(value, value, set)) return false
8171
+ }, true) !== false
8172
+ }
8173
+ })
8174
+ }, { '../internals/a-set': 45, '../internals/export': 70, '../internals/function-bind-context': 73, '../internals/set-iterate': 141 }],
8175
+ 202: [function (require, module, exports) {
8176
+ 'use strict'
8177
+ const $ = require('../internals/export')
8178
+ const bind = require('../internals/function-bind-context')
8179
+ const aSet = require('../internals/a-set')
8180
+ const SetHelpers = require('../internals/set-helpers')
8181
+ const iterate = require('../internals/set-iterate')
8182
+
8183
+ const Set = SetHelpers.Set
8184
+ const add = SetHelpers.add
8185
+
8186
+ // `Set.prototype.filter` method
8187
+ // https://github.com/tc39/proposal-collection-methods
8188
+ $({ target: 'Set', proto: true, real: true, forced: true }, {
8189
+ filter: function filter (callbackfn /* , thisArg */) {
8190
+ const set = aSet(this)
8191
+ const boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined)
8192
+ const newSet = new Set()
8193
+ iterate(set, function (value) {
8194
+ if (boundFunction(value, value, set)) add(newSet, value)
8195
+ })
8196
+ return newSet
8197
+ }
8198
+ })
8199
+ }, { '../internals/a-set': 45, '../internals/export': 70, '../internals/function-bind-context': 73, '../internals/set-helpers': 136, '../internals/set-iterate': 141 }],
8200
+ 203: [function (require, module, exports) {
8201
+ 'use strict'
8202
+ const $ = require('../internals/export')
8203
+ const bind = require('../internals/function-bind-context')
8204
+ const aSet = require('../internals/a-set')
8205
+ const iterate = require('../internals/set-iterate')
8206
+
8207
+ // `Set.prototype.find` method
8208
+ // https://github.com/tc39/proposal-collection-methods
8209
+ $({ target: 'Set', proto: true, real: true, forced: true }, {
8210
+ find: function find (callbackfn /* , thisArg */) {
8211
+ const set = aSet(this)
8212
+ const boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined)
8213
+ const result = iterate(set, function (value) {
8214
+ if (boundFunction(value, value, set)) return { value }
8215
+ }, true)
8216
+ return result && result.value
8217
+ }
8218
+ })
8219
+ }, { '../internals/a-set': 45, '../internals/export': 70, '../internals/function-bind-context': 73, '../internals/set-iterate': 141 }],
8220
+ 204: [function (require, module, exports) {
8221
+ 'use strict'
8222
+ const $ = require('../internals/export')
8223
+ const call = require('../internals/function-call')
8224
+ const toSetLike = require('../internals/to-set-like')
8225
+ const $intersection = require('../internals/set-intersection')
8226
+
8227
+ // `Set.prototype.intersection` method
8228
+ // https://github.com/tc39/proposal-set-methods
8229
+ // TODO: Obsolete version, remove from `core-js@4`
8230
+ $({ target: 'Set', proto: true, real: true, forced: true }, {
8231
+ intersection: function intersection (other) {
8232
+ return call($intersection, this, toSetLike(other))
8233
+ }
8234
+ })
8235
+ }, { '../internals/export': 70, '../internals/function-call': 75, '../internals/set-intersection': 137, '../internals/to-set-like': 156 }],
8236
+ 205: [function (require, module, exports) {
8237
+ 'use strict'
8238
+ const $ = require('../internals/export')
8239
+ const call = require('../internals/function-call')
8240
+ const toSetLike = require('../internals/to-set-like')
8241
+ const $isDisjointFrom = require('../internals/set-is-disjoint-from')
8242
+
8243
+ // `Set.prototype.isDisjointFrom` method
8244
+ // https://github.com/tc39/proposal-set-methods
8245
+ // TODO: Obsolete version, remove from `core-js@4`
8246
+ $({ target: 'Set', proto: true, real: true, forced: true }, {
8247
+ isDisjointFrom: function isDisjointFrom (other) {
8248
+ return call($isDisjointFrom, this, toSetLike(other))
8249
+ }
8250
+ })
8251
+ }, { '../internals/export': 70, '../internals/function-call': 75, '../internals/set-is-disjoint-from': 138, '../internals/to-set-like': 156 }],
8252
+ 206: [function (require, module, exports) {
8253
+ 'use strict'
8254
+ const $ = require('../internals/export')
8255
+ const call = require('../internals/function-call')
8256
+ const toSetLike = require('../internals/to-set-like')
8257
+ const $isSubsetOf = require('../internals/set-is-subset-of')
8258
+
8259
+ // `Set.prototype.isSubsetOf` method
8260
+ // https://github.com/tc39/proposal-set-methods
8261
+ // TODO: Obsolete version, remove from `core-js@4`
8262
+ $({ target: 'Set', proto: true, real: true, forced: true }, {
8263
+ isSubsetOf: function isSubsetOf (other) {
8264
+ return call($isSubsetOf, this, toSetLike(other))
8265
+ }
8266
+ })
8267
+ }, { '../internals/export': 70, '../internals/function-call': 75, '../internals/set-is-subset-of': 139, '../internals/to-set-like': 156 }],
8268
+ 207: [function (require, module, exports) {
8269
+ 'use strict'
8270
+ const $ = require('../internals/export')
8271
+ const call = require('../internals/function-call')
8272
+ const toSetLike = require('../internals/to-set-like')
8273
+ const $isSupersetOf = require('../internals/set-is-superset-of')
8274
+
8275
+ // `Set.prototype.isSupersetOf` method
8276
+ // https://github.com/tc39/proposal-set-methods
8277
+ // TODO: Obsolete version, remove from `core-js@4`
8278
+ $({ target: 'Set', proto: true, real: true, forced: true }, {
8279
+ isSupersetOf: function isSupersetOf (other) {
8280
+ return call($isSupersetOf, this, toSetLike(other))
8281
+ }
8282
+ })
8283
+ }, { '../internals/export': 70, '../internals/function-call': 75, '../internals/set-is-superset-of': 140, '../internals/to-set-like': 156 }],
8284
+ 208: [function (require, module, exports) {
8285
+ 'use strict'
8286
+ const $ = require('../internals/export')
8287
+ const uncurryThis = require('../internals/function-uncurry-this')
8288
+ const aSet = require('../internals/a-set')
8289
+ const iterate = require('../internals/set-iterate')
8290
+ const toString = require('../internals/to-string')
8291
+
8292
+ const arrayJoin = uncurryThis([].join)
8293
+ const push = uncurryThis([].push)
8294
+
8295
+ // `Set.prototype.join` method
8296
+ // https://github.com/tc39/proposal-collection-methods
8297
+ $({ target: 'Set', proto: true, real: true, forced: true }, {
8298
+ join: function join (separator) {
8299
+ const set = aSet(this)
8300
+ const sep = separator === undefined ? ',' : toString(separator)
8301
+ const array = []
8302
+ iterate(set, function (value) {
8303
+ push(array, value)
8304
+ })
8305
+ return arrayJoin(array, sep)
8306
+ }
8307
+ })
8308
+ }, { '../internals/a-set': 45, '../internals/export': 70, '../internals/function-uncurry-this': 79, '../internals/set-iterate': 141, '../internals/to-string': 158 }],
8309
+ 209: [function (require, module, exports) {
8310
+ 'use strict'
8311
+ const $ = require('../internals/export')
8312
+ const bind = require('../internals/function-bind-context')
8313
+ const aSet = require('../internals/a-set')
8314
+ const SetHelpers = require('../internals/set-helpers')
8315
+ const iterate = require('../internals/set-iterate')
8316
+
8317
+ const Set = SetHelpers.Set
8318
+ const add = SetHelpers.add
8319
+
8320
+ // `Set.prototype.map` method
8321
+ // https://github.com/tc39/proposal-collection-methods
8322
+ $({ target: 'Set', proto: true, real: true, forced: true }, {
8323
+ map: function map (callbackfn /* , thisArg */) {
8324
+ const set = aSet(this)
8325
+ const boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined)
8326
+ const newSet = new Set()
8327
+ iterate(set, function (value) {
8328
+ add(newSet, boundFunction(value, value, set))
8329
+ })
8330
+ return newSet
8331
+ }
8332
+ })
8333
+ }, { '../internals/a-set': 45, '../internals/export': 70, '../internals/function-bind-context': 73, '../internals/set-helpers': 136, '../internals/set-iterate': 141 }],
8334
+ 210: [function (require, module, exports) {
8335
+ 'use strict'
8336
+ const $ = require('../internals/export')
8337
+ const aCallable = require('../internals/a-callable')
8338
+ const aSet = require('../internals/a-set')
8339
+ const iterate = require('../internals/set-iterate')
8340
+
8341
+ const $TypeError = TypeError
8342
+
8343
+ // `Set.prototype.reduce` method
8344
+ // https://github.com/tc39/proposal-collection-methods
8345
+ $({ target: 'Set', proto: true, real: true, forced: true }, {
8346
+ reduce: function reduce (callbackfn /* , initialValue */) {
8347
+ const set = aSet(this)
8348
+ let noInitial = arguments.length < 2
8349
+ let accumulator = noInitial ? undefined : arguments[1]
8350
+ aCallable(callbackfn)
8351
+ iterate(set, function (value) {
8352
+ if (noInitial) {
8353
+ noInitial = false
8354
+ accumulator = value
8355
+ } else {
8356
+ accumulator = callbackfn(accumulator, value, value, set)
8357
+ }
8358
+ })
8359
+ if (noInitial) throw new $TypeError('Reduce of empty set with no initial value')
8360
+ return accumulator
8361
+ }
8362
+ })
8363
+ }, { '../internals/a-callable': 43, '../internals/a-set': 45, '../internals/export': 70, '../internals/set-iterate': 141 }],
8364
+ 211: [function (require, module, exports) {
8365
+ 'use strict'
8366
+ const $ = require('../internals/export')
8367
+ const bind = require('../internals/function-bind-context')
8368
+ const aSet = require('../internals/a-set')
8369
+ const iterate = require('../internals/set-iterate')
8370
+
8371
+ // `Set.prototype.some` method
8372
+ // https://github.com/tc39/proposal-collection-methods
8373
+ $({ target: 'Set', proto: true, real: true, forced: true }, {
8374
+ some: function some (callbackfn /* , thisArg */) {
8375
+ const set = aSet(this)
8376
+ const boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined)
8377
+ return iterate(set, function (value) {
8378
+ if (boundFunction(value, value, set)) return true
8379
+ }, true) === true
8380
+ }
8381
+ })
8382
+ }, { '../internals/a-set': 45, '../internals/export': 70, '../internals/function-bind-context': 73, '../internals/set-iterate': 141 }],
8383
+ 212: [function (require, module, exports) {
8384
+ 'use strict'
8385
+ const $ = require('../internals/export')
8386
+ const call = require('../internals/function-call')
8387
+ const toSetLike = require('../internals/to-set-like')
8388
+ const $symmetricDifference = require('../internals/set-symmetric-difference')
8389
+
8390
+ // `Set.prototype.symmetricDifference` method
8391
+ // https://github.com/tc39/proposal-set-methods
8392
+ // TODO: Obsolete version, remove from `core-js@4`
8393
+ $({ target: 'Set', proto: true, real: true, forced: true }, {
8394
+ symmetricDifference: function symmetricDifference (other) {
8395
+ return call($symmetricDifference, this, toSetLike(other))
8396
+ }
8397
+ })
8398
+ }, { '../internals/export': 70, '../internals/function-call': 75, '../internals/set-symmetric-difference': 143, '../internals/to-set-like': 156 }],
8399
+ 213: [function (require, module, exports) {
8400
+ 'use strict'
8401
+ const $ = require('../internals/export')
8402
+ const call = require('../internals/function-call')
8403
+ const toSetLike = require('../internals/to-set-like')
8404
+ const $union = require('../internals/set-union')
8405
+
8406
+ // `Set.prototype.union` method
8407
+ // https://github.com/tc39/proposal-set-methods
8408
+ // TODO: Obsolete version, remove from `core-js@4`
8409
+ $({ target: 'Set', proto: true, real: true, forced: true }, {
8410
+ union: function union (other) {
8411
+ return call($union, this, toSetLike(other))
8412
+ }
8413
+ })
8414
+ }, { '../internals/export': 70, '../internals/function-call': 75, '../internals/set-union': 144, '../internals/to-set-like': 156 }],
8415
+ 214: [function (require, module, exports) {
8416
+ 'use strict'
8417
+ const $ = require('../internals/export')
8418
+ const aWeakMap = require('../internals/a-weak-map')
8419
+ const remove = require('../internals/weak-map-helpers').remove
8420
+
8421
+ // `WeakMap.prototype.deleteAll` method
8422
+ // https://github.com/tc39/proposal-collection-methods
8423
+ $({ target: 'WeakMap', proto: true, real: true, forced: true }, {
8424
+ deleteAll: function deleteAll (/* ...elements */) {
8425
+ const collection = aWeakMap(this)
8426
+ let allDeleted = true
8427
+ let wasDeleted
8428
+ for (let k = 0, len = arguments.length; k < len; k++) {
8429
+ wasDeleted = remove(collection, arguments[k])
8430
+ allDeleted = allDeleted && wasDeleted
8431
+ } return !!allDeleted
8432
+ }
8433
+ })
8434
+ }, { '../internals/a-weak-map': 46, '../internals/export': 70, '../internals/weak-map-helpers': 164 }],
8435
+ 215: [function (require, module, exports) {
8436
+ 'use strict'
8437
+ const $ = require('../internals/export')
8438
+ const aWeakSet = require('../internals/a-weak-set')
8439
+ const add = require('../internals/weak-set-helpers').add
8440
+
8441
+ // `WeakSet.prototype.addAll` method
8442
+ // https://github.com/tc39/proposal-collection-methods
8443
+ $({ target: 'WeakSet', proto: true, real: true, forced: true }, {
8444
+ addAll: function addAll (/* ...elements */) {
8445
+ const set = aWeakSet(this)
8446
+ for (let k = 0, len = arguments.length; k < len; k++) {
8447
+ add(set, arguments[k])
8448
+ } return set
8449
+ }
8450
+ })
8451
+ }, { '../internals/a-weak-set': 47, '../internals/export': 70, '../internals/weak-set-helpers': 165 }],
8452
+ 216: [function (require, module, exports) {
8453
+ 'use strict'
8454
+ const $ = require('../internals/export')
8455
+ const aWeakSet = require('../internals/a-weak-set')
8456
+ const remove = require('../internals/weak-set-helpers').remove
8457
+
8458
+ // `WeakSet.prototype.deleteAll` method
8459
+ // https://github.com/tc39/proposal-collection-methods
8460
+ $({ target: 'WeakSet', proto: true, real: true, forced: true }, {
8461
+ deleteAll: function deleteAll (/* ...elements */) {
8462
+ const collection = aWeakSet(this)
8463
+ let allDeleted = true
8464
+ let wasDeleted
8465
+ for (let k = 0, len = arguments.length; k < len; k++) {
8466
+ wasDeleted = remove(collection, arguments[k])
8467
+ allDeleted = allDeleted && wasDeleted
8468
+ } return !!allDeleted
8469
+ }
8470
+ })
8471
+ }, { '../internals/a-weak-set': 47, '../internals/export': 70, '../internals/weak-set-helpers': 165 }],
8472
+ 217: [function (require, module, exports) {
8473
+ 'use strict'
8474
+
8475
+ Object.defineProperty(exports, '__esModule', {
8476
+ value: true
8477
+ })
8478
+ exports.default = void 0
8479
+ /**
8480
+ * Given a function, call with the correct number of parameters from an array of possible parameters.
8481
+ * @memberOf module:functionHelpers
8482
+ * @param {Function} fn - The function to be called
8483
+ * @param {Array} params - Array of possible function parameters
8484
+ * @param {number} [minimum=2] - Minimum number of parameters to use in the function
8485
+ * @returns {*}
8486
+ */
8487
+ const callWithParams = (fn, params = [], minimum = 2) => fn(...params.slice(0, fn.length || minimum))
8488
+ const _default = exports.default = callWithParams
8489
+ }, {}],
8490
+ 218: [function (require, module, exports) {
8491
+ 'use strict'
8492
+
8493
+ Object.defineProperty(exports, '__esModule', {
8494
+ value: true
8495
+ })
8496
+ exports.default = void 0
8497
+ require('core-js/modules/esnext.iterator.constructor.js')
8498
+ require('core-js/modules/esnext.iterator.filter.js')
8499
+ require('core-js/modules/esnext.iterator.map.js')
8500
+ /**
8501
+ * Remove elements out of relevance range and update the max relevance.
8502
+ * @memberOf module:functionHelpers
8503
+ * @param {relevanceMap} map
8504
+ * @param {Object} [options={}]
8505
+ * @param {number} [options.mapLimit=1000] - Only filter once the map exceeds this many entries.
8506
+ * @param {number} [options.relevancyRange=100] - How many of the most-recent relevance values to keep.
8507
+ * @returns {relevanceMap}
8508
+ */
8509
+ const relevancyFilter = (map, {
8510
+ mapLimit = 1000,
8511
+ relevancyRange = 100
8512
+ } = {}) => {
8513
+ if (map.length <= mapLimit) {
8514
+ return map
8515
+ }
8516
+ const minRelevance = map.length - relevancyRange
8517
+ const filtered = map.filter(reference => reference.relevance >= minRelevance)
8518
+ return filtered.map(reference => {
8519
+ reference.relevance = reference.relevance > filtered.length ? filtered.length : reference.relevance
8520
+ return reference
8521
+ })
8522
+ }
8523
+ const _default = exports.default = relevancyFilter
8524
+ }, { 'core-js/modules/esnext.iterator.constructor.js': 177, 'core-js/modules/esnext.iterator.filter.js': 179, 'core-js/modules/esnext.iterator.map.js': 182 }],
8525
+ 219: [function (require, module, exports) {
8526
+ 'use strict'
8527
+
8528
+ Object.defineProperty(exports, '__esModule', {
8529
+ value: true
8530
+ })
8531
+ exports.default = void 0
8532
+ const _mergeObjectsBase = _interopRequireDefault(require('./mergeObjectsBase'))
8533
+ function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
8534
+ /**
8535
+ * Clone objects for manipulation without data corruption, returns a copy of the provided object.
8536
+ * NOTE: Use the mapLimit and relevancyRange to resolve "too much recursion" when the object is large and is known to
8537
+ * have circular references. A high mapLimit may lead to heavy memory usage and slow performance.
8538
+ * @memberOf module:objectHelpers
8539
+ * @param {Object} object - The original object that is being cloned
8540
+ * @param {Object} [options={}]
8541
+ * @param {number} [options.mapLimit=100] - Size of temporary reference array used in memory before assessing relevancy.
8542
+ * @param {number} [options.depthLimit=-1] - Control how many nested levels deep will be used, -1 = no limit, >-1 = nth level limited.
8543
+ * @param {number} [options.relevancyRange=1000] - Total reference map length subtract this range, any relevancy less than that amount at time of evaluation will be removed.
8544
+ * @returns {Object}
8545
+ */
8546
+ const cloneObject = (object, {
8547
+ mapLimit = 100,
8548
+ depthLimit = -1,
8549
+ relevancyRange = 1000
8550
+ } = {}) => (0, _mergeObjectsBase.default)({
8551
+ mapLimit,
8552
+ depthLimit,
8553
+ relevancyRange,
8554
+ useClone: true
8555
+ })(object)
8556
+ const _default = exports.default = cloneObject
8557
+ }, { './mergeObjectsBase': 224 }],
8558
+ 220: [function (require, module, exports) {
8559
+ 'use strict'
8560
+
8561
+ Object.defineProperty(exports, '__esModule', {
8562
+ value: true
8563
+ })
8564
+ exports.default = void 0
8565
+ const _isInstanceObject = _interopRequireDefault(require('./isInstanceObject'))
8566
+ function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
8567
+ /**
8568
+ * Determine if the value is a reference instance
8569
+ * @memberOf module:objectHelpers
8570
+ * @param {Array|Object|*} value
8571
+ * @returns {boolean}
8572
+ */
8573
+ const isCloneable = value => typeof value === 'object' && value !== null && !(0, _isInstanceObject.default)(value)
8574
+ const _default = exports.default = isCloneable
8575
+ }, { './isInstanceObject': 222 }],
8576
+ 221: [function (require, module, exports) {
8577
+ 'use strict'
8578
+
8579
+ Object.defineProperty(exports, '__esModule', {
8580
+ value: true
8581
+ })
8582
+ exports.default = void 0
8583
+ require('core-js/modules/es.regexp.flags.js')
8584
+ require('core-js/modules/esnext.iterator.constructor.js')
8585
+ require('core-js/modules/esnext.iterator.every.js')
8586
+ require('core-js/modules/esnext.iterator.some.js')
8587
+ require('core-js/modules/esnext.map.delete-all.js')
8588
+ require('core-js/modules/esnext.map.every.js')
8589
+ require('core-js/modules/esnext.map.filter.js')
8590
+ require('core-js/modules/esnext.map.find.js')
8591
+ require('core-js/modules/esnext.map.find-key.js')
8592
+ require('core-js/modules/esnext.map.includes.js')
8593
+ require('core-js/modules/esnext.map.key-of.js')
8594
+ require('core-js/modules/esnext.map.map-keys.js')
8595
+ require('core-js/modules/esnext.map.map-values.js')
8596
+ require('core-js/modules/esnext.map.merge.js')
8597
+ require('core-js/modules/esnext.map.reduce.js')
8598
+ require('core-js/modules/esnext.map.some.js')
8599
+ require('core-js/modules/esnext.map.update.js')
8600
+ require('core-js/modules/esnext.set.add-all.js')
8601
+ require('core-js/modules/esnext.set.delete-all.js')
8602
+ require('core-js/modules/esnext.set.difference.js')
8603
+ require('core-js/modules/esnext.set.every.js')
8604
+ require('core-js/modules/esnext.set.filter.js')
8605
+ require('core-js/modules/esnext.set.find.js')
8606
+ require('core-js/modules/esnext.set.intersection.js')
8607
+ require('core-js/modules/esnext.set.is-disjoint-from.js')
8608
+ require('core-js/modules/esnext.set.is-subset-of.js')
8609
+ require('core-js/modules/esnext.set.is-superset-of.js')
8610
+ require('core-js/modules/esnext.set.join.js')
8611
+ require('core-js/modules/esnext.set.map.js')
8612
+ require('core-js/modules/esnext.set.reduce.js')
8613
+ require('core-js/modules/esnext.set.some.js')
8614
+ require('core-js/modules/esnext.set.symmetric-difference.js')
8615
+ require('core-js/modules/esnext.set.union.js')
8616
+ require('core-js/modules/esnext.weak-map.delete-all.js')
8617
+ require('core-js/modules/esnext.weak-set.add-all.js')
8618
+ require('core-js/modules/esnext.weak-set.delete-all.js')
8619
+ const sameValueZero = (first, second) => first === second || first !== first && second !== second
8620
+ const compare = (first, second, seen) => {
8621
+ if (sameValueZero(first, second)) {
8622
+ return true
8623
+ }
8624
+ if (typeof first !== 'object' || typeof second !== 'object' || first === null || second === null) {
8625
+ // Different primitives, or a function (which is only equal to itself), or an object against a primitive
8626
+ return false
8627
+ }
8628
+ if (Object.getPrototypeOf(first) !== Object.getPrototypeOf(second)) {
8629
+ return false
8630
+ }
8631
+ // A pair which is already being compared further up is not a difference (this is what makes circular references work)
8632
+ const comparing = seen.get(first)
8633
+ if (comparing && comparing.has(second)) {
8634
+ return true
8635
+ }
8636
+ if (comparing) {
8637
+ comparing.add(second)
8638
+ } else {
8639
+ seen.set(first, new WeakSet([second]))
8640
+ }
8641
+ if (first instanceof Date) {
8642
+ return first.getTime() === second.getTime()
8643
+ }
8644
+ if (first instanceof RegExp) {
8645
+ return first.source === second.source && first.flags === second.flags
8646
+ }
8647
+ if (first instanceof Map) {
8648
+ return first.size === second.size && Array.from(first.entries()).every(([key, value]) => second.has(key) && compare(value, second.get(key), seen))
8649
+ }
8650
+ if (first instanceof Set) {
8651
+ const others = Array.from(second.values())
8652
+ return first.size === second.size && Array.from(first.values()).every(value => others.some(other => compare(value, other, seen)))
8653
+ }
8654
+ if (Array.isArray(first) && first.length !== second.length) {
8655
+ return false
8656
+ }
8657
+ const firstKeys = Object.keys(first)
8658
+ const secondKeys = Object.keys(second)
8659
+ return firstKeys.length === secondKeys.length && firstKeys.every(key => Object.prototype.hasOwnProperty.call(second, key) && compare(first[key], second[key], seen))
8660
+ }
8661
+ /**
8662
+ * Check whether two values are equal by value, however they are stored: two separately made arrays or objects with the
8663
+ * same contents are equal, while two references only need to be the same when the value is a function.
8664
+ * - Primitives are equal when they are the same value (and NaN equals NaN)
8665
+ * - Arrays are equal when they have the same elements in the same order
8666
+ * - Objects are equal when they have the same prototype (the same kind of object) and the same own properties with
8667
+ * equal values, the order of the properties does not matter
8668
+ * - Dates, regular expressions, Maps and Sets are compared by what they hold
8669
+ * - Circular references are handled: a pair of objects which is already being compared is taken to be equal
8670
+ * @memberOf module:objectHelpers
8671
+ * @param {*} first - The first value.
8672
+ * @param {*} second - The second value.
8673
+ * @returns {boolean} True when the values are equal.
8674
+ */
8675
+ const isEqual = (first, second) => compare(first, second, new WeakMap())
8676
+ const _default = exports.default = isEqual
8677
+ }, { 'core-js/modules/es.regexp.flags.js': 176, 'core-js/modules/esnext.iterator.constructor.js': 177, 'core-js/modules/esnext.iterator.every.js': 178, 'core-js/modules/esnext.iterator.some.js': 184, 'core-js/modules/esnext.map.delete-all.js': 185, 'core-js/modules/esnext.map.every.js': 186, 'core-js/modules/esnext.map.filter.js': 187, 'core-js/modules/esnext.map.find-key.js': 188, 'core-js/modules/esnext.map.find.js': 189, 'core-js/modules/esnext.map.includes.js': 190, 'core-js/modules/esnext.map.key-of.js': 191, 'core-js/modules/esnext.map.map-keys.js': 192, 'core-js/modules/esnext.map.map-values.js': 193, 'core-js/modules/esnext.map.merge.js': 194, 'core-js/modules/esnext.map.reduce.js': 195, 'core-js/modules/esnext.map.some.js': 196, 'core-js/modules/esnext.map.update.js': 197, 'core-js/modules/esnext.set.add-all.js': 198, 'core-js/modules/esnext.set.delete-all.js': 199, 'core-js/modules/esnext.set.difference.js': 200, 'core-js/modules/esnext.set.every.js': 201, 'core-js/modules/esnext.set.filter.js': 202, 'core-js/modules/esnext.set.find.js': 203, 'core-js/modules/esnext.set.intersection.js': 204, 'core-js/modules/esnext.set.is-disjoint-from.js': 205, 'core-js/modules/esnext.set.is-subset-of.js': 206, 'core-js/modules/esnext.set.is-superset-of.js': 207, 'core-js/modules/esnext.set.join.js': 208, 'core-js/modules/esnext.set.map.js': 209, 'core-js/modules/esnext.set.reduce.js': 210, 'core-js/modules/esnext.set.some.js': 211, 'core-js/modules/esnext.set.symmetric-difference.js': 212, 'core-js/modules/esnext.set.union.js': 213, 'core-js/modules/esnext.weak-map.delete-all.js': 214, 'core-js/modules/esnext.weak-set.add-all.js': 215, 'core-js/modules/esnext.weak-set.delete-all.js': 216 }],
8678
+ 222: [function (require, module, exports) {
8679
+ 'use strict'
8680
+
8681
+ Object.defineProperty(exports, '__esModule', {
8682
+ value: true
8683
+ })
8684
+ exports.default = void 0
8685
+ require('core-js/modules/es.array.includes.js')
8686
+ const _isObject = _interopRequireDefault(require('./isObject'))
8687
+ const _objectKeys = _interopRequireDefault(require('./objectKeys'))
8688
+ function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
8689
+ /**
8690
+ * Check if the current object has inherited properties.
8691
+ * @memberOf module:objectHelpers
8692
+ * @param {Object|Array} object
8693
+ * @returns {boolean}
8694
+ */
8695
+ const isInstanceObject = object => {
8696
+ if (typeof object !== 'function' && !(0, _isObject.default)(object)) {
8697
+ return false
8698
+ }
8699
+ if (!['Array', 'Function', 'Object'].includes(object.constructor.name)) {
8700
+ return true
8701
+ }
8702
+ return object.constructor.name !== 'Array' && (0, _objectKeys.default)(object, true).length > (0, _objectKeys.default)(object).length
8703
+ }
8704
+ const _default = exports.default = isInstanceObject
8705
+ }, { './isObject': 223, './objectKeys': 225, 'core-js/modules/es.array.includes.js': 167 }],
8706
+ 223: [function (require, module, exports) {
8707
+ 'use strict'
8708
+
8709
+ Object.defineProperty(exports, '__esModule', {
8710
+ value: true
8711
+ })
8712
+ exports.default = void 0
8713
+ /**
8714
+ * Check if the provided thing is an object / array.
8715
+ * @memberOf module:objectHelpers
8716
+ * @param {*} object
8717
+ * @returns {boolean}
8718
+ */
8719
+ const isObject = object => typeof object === 'object' && object !== null
8720
+ const _default = exports.default = isObject
8721
+ }, {}],
8722
+ 224: [function (require, module, exports) {
8723
+ 'use strict'
8724
+
8725
+ Object.defineProperty(exports, '__esModule', {
8726
+ value: true
8727
+ })
8728
+ exports.default = void 0
8729
+ require('core-js/modules/esnext.iterator.constructor.js')
8730
+ require('core-js/modules/esnext.iterator.find.js')
8731
+ require('core-js/modules/esnext.iterator.map.js')
8732
+ require('core-js/modules/esnext.iterator.reduce.js')
8733
+ const _isCloneable = _interopRequireDefault(require('./isCloneable'))
8734
+ const _reduceObject = _interopRequireDefault(require('./reduceObject'))
8735
+ const _relevancyFilter = _interopRequireDefault(require('../functions/relevancyFilter'))
8736
+ const _setValue = _interopRequireDefault(require('./setValue'))
8737
+ function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
8738
+ /**
8739
+ * Perform a deep merge of objects. This will return a function that will combine all objects and sub-objects.
8740
+ * Objects having the same attributes will overwrite from last object to first.
8741
+ * NOTE: Use the mapLimit and relevancyRange to resolve "too much recursion" when the object is large and is known to
8742
+ * have circular references. A high mapLimit may lead to heavy memory usage and slow performance.
8743
+ * @memberOf module:objectHelpers
8744
+ * @param {Object} [options={}]
8745
+ * @param {number} [options.mapLimit=100] - Size of temporary reference array used in memory before assessing relevancy.
8746
+ * @param {number} [options.depthLimit=-1] - Control how many nested levels deep will be used, -1 = no limit, >-1 = nth level limited.
8747
+ * @param {number} [options.relevancyRange=1000] - Total reference map length subtract this range, any relevancy less than that amount at time of evaluation will be removed.
8748
+ * @param {Iterable|array} [options.map=[]] - A predetermined list of references gathered (to be passed to itself during recursion).
8749
+ * @param {boolean} [options.useClone=false]
8750
+ * @returns {module:objectHelpers~mergeObjectsCallback|mergeObjectsCallback}
8751
+ */
8752
+ const mergeObjectsBase = ({
8753
+ mapLimit = 100,
8754
+ depthLimit = -1,
8755
+ relevancyRange = 1000,
8756
+ map = [],
8757
+ useClone = false
8758
+ } = {}) => (...objects) => {
8759
+ const firstObject = useClone ? Array.isArray(objects[0]) ? [] : {} : objects.shift()
8760
+ if (objects.length < 1) {
8761
+ return firstObject
8762
+ }
8763
+ if (depthLimit === 0) {
8764
+ return firstObject
8765
+ }
8766
+ return objects.reduce((newObj, arg) => {
8767
+ if (!arg) {
8768
+ return newObj
8769
+ }
8770
+ map.push({
8771
+ source: arg,
8772
+ object: newObj,
8773
+ relevance: map.length
8774
+ })
8775
+ map = (0, _relevancyFilter.default)(map, {
8776
+ mapLimit,
8777
+ relevancyRange
8778
+ })
8779
+ return (0, _reduceObject.default)(arg, (returnObj, value, key) => {
8780
+ if ((0, _isCloneable.default)(value)) {
8781
+ let objectValue = newObj[key]
8782
+ const exists = map.find(existing => existing.source === value)
8783
+ if (exists) {
8784
+ exists.relevance = map.length + 1
8785
+ return (0, _setValue.default)(key, exists.object, returnObj)
8786
+ }
8787
+ if (!(0, _isCloneable.default)(objectValue) || !objectValue) {
8788
+ objectValue = useClone ? Array.isArray(value) ? [] : {} : value
8789
+ }
8790
+ if ((0, _isCloneable.default)(objectValue)) {
8791
+ return (0, _setValue.default)(key, mergeObjectsBase({
8792
+ mapLimit,
8793
+ depthLimit: depthLimit - 1,
8794
+ relevancyRange,
8795
+ map,
8796
+ useClone
8797
+ })(objectValue, value), returnObj)
8798
+ }
8799
+ map.push({
8800
+ source: value,
8801
+ object: objectValue,
8802
+ relevance: map.length
8803
+ })
8804
+ map = (0, _relevancyFilter.default)(map, {
8805
+ mapLimit,
8806
+ relevancyRange
8807
+ })
8808
+ }
8809
+ return (0, _setValue.default)(key, value, returnObj)
8810
+ }, newObj)
8811
+ }, firstObject || {})
8812
+ }
8813
+ const _default = exports.default = mergeObjectsBase
8814
+ }, { '../functions/relevancyFilter': 218, './isCloneable': 220, './reduceObject': 226, './setValue': 227, 'core-js/modules/esnext.iterator.constructor.js': 177, 'core-js/modules/esnext.iterator.find.js': 180, 'core-js/modules/esnext.iterator.map.js': 182, 'core-js/modules/esnext.iterator.reduce.js': 183 }],
8815
+ 225: [function (require, module, exports) {
8816
+ 'use strict'
8817
+
8818
+ Object.defineProperty(exports, '__esModule', {
8819
+ value: true
8820
+ })
8821
+ exports.default = void 0
8822
+ const _isObject = _interopRequireDefault(require('./isObject'))
8823
+ function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
8824
+ /**
8825
+ * Get an array of keys from any object or array. Will return empty array when invalid or there are no keys.
8826
+ * Optional flag will include the inherited keys from prototype chain when set.
8827
+ * @memberOf module:objectHelpers
8828
+ * @param {Object|Array} object
8829
+ * @param {boolean} [includeInherited=false]
8830
+ * @returns {Array.<string|number>}
8831
+ */
8832
+ const objectKeys = (object, includeInherited = false) => {
8833
+ if (typeof object !== 'function' && !(0, _isObject.default)(object)) {
8834
+ return []
8835
+ }
8836
+ if (includeInherited) {
8837
+ const propNames = Object.getOwnPropertyNames(object)
8838
+ if (propNames.length) {
8839
+ return propNames
8840
+ }
8841
+ }
8842
+ const keys = []
8843
+ for (const key in object) {
8844
+ if (includeInherited || Object.prototype.hasOwnProperty.call(object, key)) {
8845
+ if (Array.isArray(object)) {
8846
+ keys.push(parseInt(key))
8847
+ continue
8848
+ }
8849
+ keys.push(key)
8850
+ }
8851
+ }
8852
+ return keys
8853
+ }
8854
+ const _default = exports.default = objectKeys
8855
+ }, { './isObject': 223 }],
8856
+ 226: [function (require, module, exports) {
8857
+ 'use strict'
8858
+
8859
+ Object.defineProperty(exports, '__esModule', {
8860
+ value: true
8861
+ })
8862
+ exports.default = void 0
8863
+ require('core-js/modules/esnext.iterator.constructor.js')
8864
+ require('core-js/modules/esnext.iterator.reduce.js')
8865
+ const _callWithParams = _interopRequireDefault(require('../functions/callWithParams'))
8866
+ const _objectKeys = _interopRequireDefault(require('./objectKeys'))
8867
+ function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
8868
+ /**
8869
+ * This function is intended to replicate behaviour of the Array.reduce() function but for Objects.
8870
+ * If an array is passed in instead then it will perform standard reduce(). It is recommended to
8871
+ * always use the standard reduce() function when it is known that the object is actually an array.
8872
+ * @memberOf module:objectHelpers
8873
+ * @param {Object|Array} obj - The Object (or Array) to be filtered
8874
+ * @param {module:objectHelpers~reduceCallback|Function|reduceCallback} fn - The function to be processed for each filtered property
8875
+ * @param {Object|Array} [initialValue] - Optional. Value to use as the first argument to the first call of the
8876
+ * callback. If no initial value is supplied, the first element in the array will be used. Calling reduce on an empty
8877
+ * array without an initial value is an error.
8878
+ * @returns {*}
8879
+ */
8880
+ const reduceObject = (obj, fn, initialValue = obj[(0, _objectKeys.default)(obj)[0]] || obj[0]) => Array.isArray(obj) ? obj.reduce(fn, initialValue) : (0, _objectKeys.default)(obj, true).reduce((newObj, curr) => (0, _callWithParams.default)(fn, [newObj, obj[curr], curr, obj], 2), initialValue)
8881
+ const _default = exports.default = reduceObject
8882
+ }, { '../functions/callWithParams': 217, './objectKeys': 225, 'core-js/modules/esnext.iterator.constructor.js': 177, 'core-js/modules/esnext.iterator.reduce.js': 183 }],
8883
+ 227: [function (require, module, exports) {
8884
+ 'use strict'
8885
+
8886
+ Object.defineProperty(exports, '__esModule', {
8887
+ value: true
8888
+ })
8889
+ exports.default = void 0
8890
+ /**
8891
+ * Set a value on an item, then return the item.
8892
+ * NOTE: Argument order designed for usage with pipe
8893
+ * @memberOf module:objectHelpers
8894
+ * @param {string|number} key - The key on the item which will have its value set
8895
+ * @param {*} value - Any value to be applied to the key
8896
+ * @param {Object|Array} item - An object or array to be updated
8897
+ * @returns {Object|Array}
8898
+ */
8899
+ const setValue = (key, value, item) => {
8900
+ // @ts-ignore
8901
+ item[key] = value
8902
+ return item
8903
+ }
8904
+ const _default = exports.default = setValue
8905
+ }, {}]
6667
8906
  }, {}, [12])