vis-data 7.1.8 → 7.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/esm.js CHANGED
@@ -4,8 +4,8 @@
4
4
  *
5
5
  * Manage unstructured data using DataSet. Add, update, and remove data, and listen for changes in the data.
6
6
  *
7
- * @version 7.1.8
8
- * @date 2023-11-08T02:10:33.510Z
7
+ * @version 7.1.9
8
+ * @date 2023-11-24T17:54:21.708Z
9
9
  *
10
10
  * @copyright (c) 2011-2017 Almende B.V, http://almende.com
11
11
  * @copyright (c) 2017-2019 visjs contributors, https://github.com/visjs
@@ -3415,179 +3415,112 @@ var DataPipeUnderConstruction = /*#__PURE__*/function () {
3415
3415
  var componentEmitter = {exports: {}};
3416
3416
 
3417
3417
  (function (module) {
3418
- /**
3419
- * Expose `Emitter`.
3420
- */
3421
-
3422
- {
3423
- module.exports = Emitter;
3424
- }
3425
-
3426
- /**
3427
- * Initialize a new `Emitter`.
3428
- *
3429
- * @api public
3430
- */
3431
-
3432
- function Emitter(obj) {
3433
- if (obj) return mixin(obj);
3434
- }
3435
- /**
3436
- * Mixin the emitter properties.
3437
- *
3438
- * @param {Object} obj
3439
- * @return {Object}
3440
- * @api private
3441
- */
3442
-
3443
- function mixin(obj) {
3444
- for (var key in Emitter.prototype) {
3445
- obj[key] = Emitter.prototype[key];
3446
- }
3447
- return obj;
3448
- }
3449
-
3450
- /**
3451
- * Listen on the given `event` with `fn`.
3452
- *
3453
- * @param {String} event
3454
- * @param {Function} fn
3455
- * @return {Emitter}
3456
- * @api public
3457
- */
3458
-
3459
- Emitter.prototype.on =
3460
- Emitter.prototype.addEventListener = function(event, fn){
3461
- this._callbacks = this._callbacks || {};
3462
- (this._callbacks['$' + event] = this._callbacks['$' + event] || [])
3463
- .push(fn);
3464
- return this;
3465
- };
3466
-
3467
- /**
3468
- * Adds an `event` listener that will be invoked a single
3469
- * time then automatically removed.
3470
- *
3471
- * @param {String} event
3472
- * @param {Function} fn
3473
- * @return {Emitter}
3474
- * @api public
3475
- */
3476
-
3477
- Emitter.prototype.once = function(event, fn){
3478
- function on() {
3479
- this.off(event, on);
3480
- fn.apply(this, arguments);
3481
- }
3482
-
3483
- on.fn = fn;
3484
- this.on(event, on);
3485
- return this;
3486
- };
3487
-
3488
- /**
3489
- * Remove the given callback for `event` or all
3490
- * registered callbacks.
3491
- *
3492
- * @param {String} event
3493
- * @param {Function} fn
3494
- * @return {Emitter}
3495
- * @api public
3496
- */
3497
-
3498
- Emitter.prototype.off =
3499
- Emitter.prototype.removeListener =
3500
- Emitter.prototype.removeAllListeners =
3501
- Emitter.prototype.removeEventListener = function(event, fn){
3502
- this._callbacks = this._callbacks || {};
3503
-
3504
- // all
3505
- if (0 == arguments.length) {
3506
- this._callbacks = {};
3507
- return this;
3508
- }
3509
-
3510
- // specific event
3511
- var callbacks = this._callbacks['$' + event];
3512
- if (!callbacks) return this;
3513
-
3514
- // remove all handlers
3515
- if (1 == arguments.length) {
3516
- delete this._callbacks['$' + event];
3517
- return this;
3518
- }
3519
-
3520
- // remove specific handler
3521
- var cb;
3522
- for (var i = 0; i < callbacks.length; i++) {
3523
- cb = callbacks[i];
3524
- if (cb === fn || cb.fn === fn) {
3525
- callbacks.splice(i, 1);
3526
- break;
3527
- }
3528
- }
3529
-
3530
- // Remove event specific arrays for event types that no
3531
- // one is subscribed for to avoid memory leak.
3532
- if (callbacks.length === 0) {
3533
- delete this._callbacks['$' + event];
3534
- }
3535
-
3536
- return this;
3537
- };
3538
-
3539
- /**
3540
- * Emit `event` with the given args.
3541
- *
3542
- * @param {String} event
3543
- * @param {Mixed} ...
3544
- * @return {Emitter}
3545
- */
3546
-
3547
- Emitter.prototype.emit = function(event){
3548
- this._callbacks = this._callbacks || {};
3549
-
3550
- var args = new Array(arguments.length - 1)
3551
- , callbacks = this._callbacks['$' + event];
3552
-
3553
- for (var i = 1; i < arguments.length; i++) {
3554
- args[i - 1] = arguments[i];
3555
- }
3556
-
3557
- if (callbacks) {
3558
- callbacks = callbacks.slice(0);
3559
- for (var i = 0, len = callbacks.length; i < len; ++i) {
3560
- callbacks[i].apply(this, args);
3561
- }
3562
- }
3563
-
3564
- return this;
3565
- };
3566
-
3567
- /**
3568
- * Return array of callbacks for `event`.
3569
- *
3570
- * @param {String} event
3571
- * @return {Array}
3572
- * @api public
3573
- */
3574
-
3575
- Emitter.prototype.listeners = function(event){
3576
- this._callbacks = this._callbacks || {};
3577
- return this._callbacks['$' + event] || [];
3578
- };
3579
-
3580
- /**
3581
- * Check if this emitter has `event` handlers.
3582
- *
3583
- * @param {String} event
3584
- * @return {Boolean}
3585
- * @api public
3586
- */
3587
-
3588
- Emitter.prototype.hasListeners = function(event){
3589
- return !! this.listeners(event).length;
3590
- };
3418
+ function Emitter(object) {
3419
+ if (object) {
3420
+ return mixin(object);
3421
+ }
3422
+
3423
+ this._callbacks = new Map();
3424
+ }
3425
+
3426
+ function mixin(object) {
3427
+ Object.assign(object, Emitter.prototype);
3428
+ object._callbacks = new Map();
3429
+ return object;
3430
+ }
3431
+
3432
+ Emitter.prototype.on = function (event, listener) {
3433
+ const callbacks = this._callbacks.get(event) ?? [];
3434
+ callbacks.push(listener);
3435
+ this._callbacks.set(event, callbacks);
3436
+ return this;
3437
+ };
3438
+
3439
+ Emitter.prototype.once = function (event, listener) {
3440
+ const on = (...arguments_) => {
3441
+ this.off(event, on);
3442
+ listener.apply(this, arguments_);
3443
+ };
3444
+
3445
+ on.fn = listener;
3446
+ this.on(event, on);
3447
+ return this;
3448
+ };
3449
+
3450
+ Emitter.prototype.off = function (event, listener) {
3451
+ if (event === undefined && listener === undefined) {
3452
+ this._callbacks.clear();
3453
+ return this;
3454
+ }
3455
+
3456
+ if (listener === undefined) {
3457
+ this._callbacks.delete(event);
3458
+ return this;
3459
+ }
3460
+
3461
+ const callbacks = this._callbacks.get(event);
3462
+ if (callbacks) {
3463
+ for (const [index, callback] of callbacks.entries()) {
3464
+ if (callback === listener || callback.fn === listener) {
3465
+ callbacks.splice(index, 1);
3466
+ break;
3467
+ }
3468
+ }
3469
+
3470
+ if (callbacks.length === 0) {
3471
+ this._callbacks.delete(event);
3472
+ } else {
3473
+ this._callbacks.set(event, callbacks);
3474
+ }
3475
+ }
3476
+
3477
+ return this;
3478
+ };
3479
+
3480
+ Emitter.prototype.emit = function (event, ...arguments_) {
3481
+ const callbacks = this._callbacks.get(event);
3482
+ if (callbacks) {
3483
+ // Create a copy of the callbacks array to avoid issues if it's modified during iteration
3484
+ const callbacksCopy = [...callbacks];
3485
+
3486
+ for (const callback of callbacksCopy) {
3487
+ callback.apply(this, arguments_);
3488
+ }
3489
+ }
3490
+
3491
+ return this;
3492
+ };
3493
+
3494
+ Emitter.prototype.listeners = function (event) {
3495
+ return this._callbacks.get(event) ?? [];
3496
+ };
3497
+
3498
+ Emitter.prototype.listenerCount = function (event) {
3499
+ if (event) {
3500
+ return this.listeners(event).length;
3501
+ }
3502
+
3503
+ let totalCount = 0;
3504
+ for (const callbacks of this._callbacks.values()) {
3505
+ totalCount += callbacks.length;
3506
+ }
3507
+
3508
+ return totalCount;
3509
+ };
3510
+
3511
+ Emitter.prototype.hasListeners = function (event) {
3512
+ return this.listenerCount(event) > 0;
3513
+ };
3514
+
3515
+ // Aliases
3516
+ Emitter.prototype.addEventListener = Emitter.prototype.on;
3517
+ Emitter.prototype.removeListener = Emitter.prototype.off;
3518
+ Emitter.prototype.removeEventListener = Emitter.prototype.off;
3519
+ Emitter.prototype.removeAllListeners = Emitter.prototype.off;
3520
+
3521
+ {
3522
+ module.exports = Emitter;
3523
+ }
3591
3524
  } (componentEmitter));
3592
3525
 
3593
3526
  var componentEmitterExports = componentEmitter.exports;
@@ -6586,8 +6519,8 @@ var RealHammer = Hammer;
6586
6519
  *
6587
6520
  * utilitie collection for visjs
6588
6521
  *
6589
- * @version 5.0.6
6590
- * @date 2023-11-04T04:55:09.542Z
6522
+ * @version 5.0.7
6523
+ * @date 2023-11-20T09:06:51.067Z
6591
6524
  *
6592
6525
  * @copyright (c) 2011-2017 Almende B.V, http://almende.com
6593
6526
  * @copyright (c) 2017-2019 visjs contributors, https://github.com/visjs