@vcmap/core 5.1.0 → 5.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/src/layer/featureVisibility.d.ts +3 -2
  2. package/dist/src/layer/featureVisibility.js +5 -0
  3. package/dist/src/layer/featureVisibility.js.map +1 -1
  4. package/dist/src/ol/feature.js +6 -3
  5. package/dist/src/ol/feature.js.map +1 -1
  6. package/dist/src/util/clipping/clippingObject.d.ts +1 -1
  7. package/dist/src/util/clipping/clippingObject.js +11 -8
  8. package/dist/src/util/clipping/clippingObject.js.map +1 -1
  9. package/dist/src/util/clipping/clippingObjectManager.js +3 -3
  10. package/dist/src/util/clipping/clippingObjectManager.js.map +1 -1
  11. package/dist/src/util/editor/editGeometrySession.js +5 -7
  12. package/dist/src/util/editor/editGeometrySession.js.map +1 -1
  13. package/dist/src/util/editor/interactions/translateVertexInteraction.d.ts +3 -1
  14. package/dist/src/util/editor/interactions/translateVertexInteraction.js +5 -1
  15. package/dist/src/util/editor/interactions/translateVertexInteraction.js.map +1 -1
  16. package/dist/src/util/editor/selectFeaturesSession.d.ts +2 -1
  17. package/dist/src/util/editor/selectFeaturesSession.js +3 -3
  18. package/dist/src/util/editor/selectFeaturesSession.js.map +1 -1
  19. package/dist/src/util/flight/flightAnchor.js +1 -1
  20. package/dist/src/util/flight/flightAnchor.js.map +1 -1
  21. package/dist/src/util/flight/flightPlayer.js +28 -10
  22. package/dist/src/util/flight/flightPlayer.js.map +1 -1
  23. package/dist/src/vcsApp.js +1 -1
  24. package/dist/src/vcsApp.js.map +1 -1
  25. package/dist/src/vcsEvent.d.ts +3 -2
  26. package/dist/src/vcsEvent.js +11 -8
  27. package/dist/src/vcsEvent.js.map +1 -1
  28. package/package.json +1 -1
  29. package/src/layer/featureVisibility.ts +12 -4
  30. package/src/ol/feature.ts +6 -3
  31. package/src/util/clipping/clippingObject.ts +12 -11
  32. package/src/util/clipping/clippingObjectManager.ts +7 -5
  33. package/src/util/editor/editGeometrySession.ts +5 -7
  34. package/src/util/editor/interactions/translateVertexInteraction.ts +7 -1
  35. package/src/util/editor/selectFeaturesSession.ts +6 -5
  36. package/src/util/flight/flightAnchor.ts +1 -1
  37. package/src/util/flight/flightPlayer.ts +42 -16
  38. package/src/vcsApp.ts +1 -1
  39. package/src/vcsEvent.ts +11 -8
package/src/vcsEvent.ts CHANGED
@@ -38,22 +38,25 @@ class VcsEvent<T> {
38
38
  }
39
39
 
40
40
  /**
41
- * Raise the event, calling all listeners
42
- * @param event
41
+ * Raise the event, calling all listeners, if a listener is removed in between calling listeners, the listener is not
42
+ * called.
43
+ * @param event
43
44
  */
44
45
  raiseEvent(event: T): void {
45
46
  [...this._listeners].forEach((cb) => {
46
- // eslint-disable-next-line no-void
47
- void cb(event);
47
+ if (this._listeners.has(cb)) {
48
+ // eslint-disable-next-line no-void
49
+ void cb(event);
50
+ }
48
51
  });
49
52
  }
50
53
 
51
54
  async awaitRaisedEvent(event: T): Promise<void> {
52
- const promises = new Array(this._listeners.size);
53
- let i = 0;
55
+ const promises: (void | Promise<void>)[] = [];
54
56
  [...this._listeners].forEach((cb) => {
55
- promises[i] = cb(event);
56
- i += 1;
57
+ if (this._listeners.has(cb)) {
58
+ promises.push(cb(event));
59
+ }
57
60
  });
58
61
  await Promise.all(promises);
59
62
  }