Skip to content

Documentation / base / castObservable

Function: castObservable()

castObservable<C>(cls): <X>() => C & (...args) => IEventTarget<I>

Defined in: libs/base/src/event.ts:436

Cast augments a class with IEventTarget capabilities.

It returns a higher-order factory that, when instantiated with an event map X, produces a subclass adding on/once/off/dispatchEvent and the internal listener management.

Usage:

ts
class Base {}
const Eventful = makeObservable(Base)<{ 'ready': []; 'data': [number] }>();
const obj = new Eventful();
obj.on('data', (n) => console.log(n));
obj.dispatchEvent('data', 42);

Type Parameters

C

C extends ObjectConstructor | GenericConstructor

A constructor type to be extended (plain ObjectConstructor or a generic class)

Parameters

cls

C

The base class to extend

Returns

A generic factory that accepts an event map and returns an extended class

<X>() => C & (...args) => IEventTarget<I>

Released under the MIT License.