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.
@@ -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:09:51.691Z
7
+ * @version 7.1.9
8
+ * @date 2023-11-24T17:53:34.179Z
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
@@ -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:09:51.691Z
7
+ * @version 7.1.9
8
+ * @date 2023-11-24T17:53:34.179Z
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
@@ -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:09:51.691Z
7
+ * @version 7.1.9
8
+ * @date 2023-11-24T17:53:34.179Z
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
@@ -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:09:51.691Z
7
+ * @version 7.1.9
8
+ * @date 2023-11-24T17:53:34.179Z
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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vis-data",
3
- "version": "7.1.8",
3
+ "version": "7.1.9",
4
4
  "description": "Manage unstructured data using DataSet. Add, update, and remove data, and listen for changes in the data.",
5
5
  "homepage": "http://visjs.org/",
6
6
  "license": "(Apache-2.0 OR MIT)",
@@ -77,15 +77,16 @@
77
77
  "devDependencies": {
78
78
  "@babel/plugin-proposal-object-rest-spread": "7.20.7",
79
79
  "@egjs/hammerjs": "2.0.17",
80
- "@types/chai": "4.3.10",
81
- "@types/mocha": "10.0.4",
82
- "@types/sinon": "17.0.1",
83
- "@types/uuid": "9.0.6",
84
- "component-emitter": "1.3.0",
85
- "eslint": "8.53.0",
80
+ "@types/chai": "4.3.11",
81
+ "@types/mocha": "10.0.6",
82
+ "@types/node": "^20.9.0",
83
+ "@types/sinon": "17.0.2",
84
+ "@types/uuid": "9.0.7",
85
+ "component-emitter": "2.0.0",
86
+ "eslint": "8.54.0",
86
87
  "git-authors-cli": "1.0.47",
87
88
  "husky": "8.0.3",
88
- "lint-staged": "15.0.2",
89
+ "lint-staged": "15.1.0",
89
90
  "mocha": "10.2.0",
90
91
  "nyc": "15.1.0",
91
92
  "rimraf": "5.0.5",
@@ -95,7 +96,7 @@
95
96
  "typedoc": "0.25.3",
96
97
  "uuid": "9.0.1",
97
98
  "vis-dev-utils": "4.0.41",
98
- "vis-util": "5.0.6"
99
+ "vis-util": "5.0.7"
99
100
  },
100
101
  "contributors": [
101
102
  "jos <wjosdejong@gmail.com>",
@@ -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:09:51.691Z
7
+ * @version 7.1.9
8
+ * @date 2023-11-24T17:53:34.179Z
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
@@ -4430,179 +4430,112 @@ var _setTimeout = /*@__PURE__*/getDefaultExportFromCjs(setTimeout$1);
4430
4430
  var componentEmitter = {exports: {}};
4431
4431
 
4432
4432
  (function (module) {
4433
- /**
4434
- * Expose `Emitter`.
4435
- */
4436
-
4437
- {
4438
- module.exports = Emitter;
4439
- }
4440
-
4441
- /**
4442
- * Initialize a new `Emitter`.
4443
- *
4444
- * @api public
4445
- */
4446
-
4447
- function Emitter(obj) {
4448
- if (obj) return mixin(obj);
4449
- }
4450
- /**
4451
- * Mixin the emitter properties.
4452
- *
4453
- * @param {Object} obj
4454
- * @return {Object}
4455
- * @api private
4456
- */
4457
-
4458
- function mixin(obj) {
4459
- for (var key in Emitter.prototype) {
4460
- obj[key] = Emitter.prototype[key];
4461
- }
4462
- return obj;
4463
- }
4464
-
4465
- /**
4466
- * Listen on the given `event` with `fn`.
4467
- *
4468
- * @param {String} event
4469
- * @param {Function} fn
4470
- * @return {Emitter}
4471
- * @api public
4472
- */
4473
-
4474
- Emitter.prototype.on =
4475
- Emitter.prototype.addEventListener = function(event, fn){
4476
- this._callbacks = this._callbacks || {};
4477
- (this._callbacks['$' + event] = this._callbacks['$' + event] || [])
4478
- .push(fn);
4479
- return this;
4480
- };
4481
-
4482
- /**
4483
- * Adds an `event` listener that will be invoked a single
4484
- * time then automatically removed.
4485
- *
4486
- * @param {String} event
4487
- * @param {Function} fn
4488
- * @return {Emitter}
4489
- * @api public
4490
- */
4491
-
4492
- Emitter.prototype.once = function(event, fn){
4493
- function on() {
4494
- this.off(event, on);
4495
- fn.apply(this, arguments);
4496
- }
4497
-
4498
- on.fn = fn;
4499
- this.on(event, on);
4500
- return this;
4501
- };
4502
-
4503
- /**
4504
- * Remove the given callback for `event` or all
4505
- * registered callbacks.
4506
- *
4507
- * @param {String} event
4508
- * @param {Function} fn
4509
- * @return {Emitter}
4510
- * @api public
4511
- */
4512
-
4513
- Emitter.prototype.off =
4514
- Emitter.prototype.removeListener =
4515
- Emitter.prototype.removeAllListeners =
4516
- Emitter.prototype.removeEventListener = function(event, fn){
4517
- this._callbacks = this._callbacks || {};
4518
-
4519
- // all
4520
- if (0 == arguments.length) {
4521
- this._callbacks = {};
4522
- return this;
4523
- }
4524
-
4525
- // specific event
4526
- var callbacks = this._callbacks['$' + event];
4527
- if (!callbacks) return this;
4528
-
4529
- // remove all handlers
4530
- if (1 == arguments.length) {
4531
- delete this._callbacks['$' + event];
4532
- return this;
4533
- }
4534
-
4535
- // remove specific handler
4536
- var cb;
4537
- for (var i = 0; i < callbacks.length; i++) {
4538
- cb = callbacks[i];
4539
- if (cb === fn || cb.fn === fn) {
4540
- callbacks.splice(i, 1);
4541
- break;
4542
- }
4543
- }
4544
-
4545
- // Remove event specific arrays for event types that no
4546
- // one is subscribed for to avoid memory leak.
4547
- if (callbacks.length === 0) {
4548
- delete this._callbacks['$' + event];
4549
- }
4550
-
4551
- return this;
4552
- };
4553
-
4554
- /**
4555
- * Emit `event` with the given args.
4556
- *
4557
- * @param {String} event
4558
- * @param {Mixed} ...
4559
- * @return {Emitter}
4560
- */
4561
-
4562
- Emitter.prototype.emit = function(event){
4563
- this._callbacks = this._callbacks || {};
4564
-
4565
- var args = new Array(arguments.length - 1)
4566
- , callbacks = this._callbacks['$' + event];
4567
-
4568
- for (var i = 1; i < arguments.length; i++) {
4569
- args[i - 1] = arguments[i];
4570
- }
4571
-
4572
- if (callbacks) {
4573
- callbacks = callbacks.slice(0);
4574
- for (var i = 0, len = callbacks.length; i < len; ++i) {
4575
- callbacks[i].apply(this, args);
4576
- }
4577
- }
4578
-
4579
- return this;
4580
- };
4581
-
4582
- /**
4583
- * Return array of callbacks for `event`.
4584
- *
4585
- * @param {String} event
4586
- * @return {Array}
4587
- * @api public
4588
- */
4589
-
4590
- Emitter.prototype.listeners = function(event){
4591
- this._callbacks = this._callbacks || {};
4592
- return this._callbacks['$' + event] || [];
4593
- };
4594
-
4595
- /**
4596
- * Check if this emitter has `event` handlers.
4597
- *
4598
- * @param {String} event
4599
- * @return {Boolean}
4600
- * @api public
4601
- */
4602
-
4603
- Emitter.prototype.hasListeners = function(event){
4604
- return !! this.listeners(event).length;
4605
- };
4433
+ function Emitter(object) {
4434
+ if (object) {
4435
+ return mixin(object);
4436
+ }
4437
+
4438
+ this._callbacks = new Map();
4439
+ }
4440
+
4441
+ function mixin(object) {
4442
+ Object.assign(object, Emitter.prototype);
4443
+ object._callbacks = new Map();
4444
+ return object;
4445
+ }
4446
+
4447
+ Emitter.prototype.on = function (event, listener) {
4448
+ const callbacks = this._callbacks.get(event) ?? [];
4449
+ callbacks.push(listener);
4450
+ this._callbacks.set(event, callbacks);
4451
+ return this;
4452
+ };
4453
+
4454
+ Emitter.prototype.once = function (event, listener) {
4455
+ const on = (...arguments_) => {
4456
+ this.off(event, on);
4457
+ listener.apply(this, arguments_);
4458
+ };
4459
+
4460
+ on.fn = listener;
4461
+ this.on(event, on);
4462
+ return this;
4463
+ };
4464
+
4465
+ Emitter.prototype.off = function (event, listener) {
4466
+ if (event === undefined && listener === undefined) {
4467
+ this._callbacks.clear();
4468
+ return this;
4469
+ }
4470
+
4471
+ if (listener === undefined) {
4472
+ this._callbacks.delete(event);
4473
+ return this;
4474
+ }
4475
+
4476
+ const callbacks = this._callbacks.get(event);
4477
+ if (callbacks) {
4478
+ for (const [index, callback] of callbacks.entries()) {
4479
+ if (callback === listener || callback.fn === listener) {
4480
+ callbacks.splice(index, 1);
4481
+ break;
4482
+ }
4483
+ }
4484
+
4485
+ if (callbacks.length === 0) {
4486
+ this._callbacks.delete(event);
4487
+ } else {
4488
+ this._callbacks.set(event, callbacks);
4489
+ }
4490
+ }
4491
+
4492
+ return this;
4493
+ };
4494
+
4495
+ Emitter.prototype.emit = function (event, ...arguments_) {
4496
+ const callbacks = this._callbacks.get(event);
4497
+ if (callbacks) {
4498
+ // Create a copy of the callbacks array to avoid issues if it's modified during iteration
4499
+ const callbacksCopy = [...callbacks];
4500
+
4501
+ for (const callback of callbacksCopy) {
4502
+ callback.apply(this, arguments_);
4503
+ }
4504
+ }
4505
+
4506
+ return this;
4507
+ };
4508
+
4509
+ Emitter.prototype.listeners = function (event) {
4510
+ return this._callbacks.get(event) ?? [];
4511
+ };
4512
+
4513
+ Emitter.prototype.listenerCount = function (event) {
4514
+ if (event) {
4515
+ return this.listeners(event).length;
4516
+ }
4517
+
4518
+ let totalCount = 0;
4519
+ for (const callbacks of this._callbacks.values()) {
4520
+ totalCount += callbacks.length;
4521
+ }
4522
+
4523
+ return totalCount;
4524
+ };
4525
+
4526
+ Emitter.prototype.hasListeners = function (event) {
4527
+ return this.listenerCount(event) > 0;
4528
+ };
4529
+
4530
+ // Aliases
4531
+ Emitter.prototype.addEventListener = Emitter.prototype.on;
4532
+ Emitter.prototype.removeListener = Emitter.prototype.off;
4533
+ Emitter.prototype.removeEventListener = Emitter.prototype.off;
4534
+ Emitter.prototype.removeAllListeners = Emitter.prototype.off;
4535
+
4536
+ {
4537
+ module.exports = Emitter;
4538
+ }
4606
4539
  } (componentEmitter));
4607
4540
 
4608
4541
  var componentEmitterExports = componentEmitter.exports;