function _mergeSources(...sources): (listener) => _Unsubscribe;Merges multiple event sources into a single source that emits when any source emits.
This is useful for tracking properties that depend on multiple independent events.
Parameters#
| Parameter | Type | Description |
|---|---|---|
…sources | (listener) => _Unsubscribe[] | Event source functions to merge |
Returns#
A merged source that emits when any source emits
(listener): _Unsubscribe;Parameters#
| Parameter | Type |
|---|---|
listener | _Listener<void> |
Returns#
_Unsubscribe
Example#
const zoomChanged = engine.scene.onZoomLevelChanged;const dpiChanged = engine.scene.onDpiChanged;
const zoomOrDpiChanged = mergeSources(zoomChanged, dpiChanged);
// Now use with createTrackedPropertyconst normalizedZoom = createTrackedProperty( () => engine.scene.getZoomLevel() / getDpi(), (value) => engine.scene.setZoomLevel(value * getDpi()), zoomOrDpiChanged);