@gecut/signal
TypeScript icon, indicating that this package has built-in type declarations

2.0.1-alpha.0 • Public • Published

@gecut/signal

npm install @gecut/signal
# or
yarn add @gecut/signal

ContextSignal

The ContextSignal class is a subclass of the Signal class. It provides a way to manage a value that is shared across multiple components. The value can be set and retrieved, and any changes to the value will be notified to subscribers.

Usage

To use the ContextSignal class, first create an instance of the class:

const signal = new ContextSignal<string>('mySignal');

Then, you can set the value of the signal:

signal.setValue('Hello world');

You can also retrieve the value of the signal:

const value = signal.getValue();

Any changes to the value of the signal will be notified to subscribers. To subscribe to changes, use the subscribe method:

signal.subscribe((value) => {
  console.log(value);
});

Methods

The ContextSignal class provides the following methods:

  • getValue(): Returns the current value of the signal.
  • setValue(value): Sets the value of the signal.
  • expire(): Clears the value of the signal.
  • untilChange(): Returns a promise that resolves when the value of the signal changes.
  • renotify(): Renotifies the subscribers with the current value.

SimpleSignal

The SimpleSignal class is a subclass of the Signal class. It provides a way to notify subscribers of a new value. Unlike the ContextSignal class, the SimpleSignal class does not store the value.

Usage

To use the SimpleSignal class, first create an instance of the class:

const signal = new SimpleSignal<string>('mySignal');

Then, you can notify subscribers of a new value:

signal.notify('Hello world');

Any subscribers will be notified of the new value. To subscribe to changes, use the subscribe method:

signal.subscribe((value) => {
  console.log(value);
});

Methods

The SimpleSignal class provides the following methods:

  • notify(value): Notifies subscribers of a new value.
  • nextValue: Returns a promise that resolves to the next value notified to subscribers.

Package Sidebar

Install

npm i @gecut/signal

Weekly Downloads

12

Version

2.0.1-alpha.0

License

MIT

Unpacked Size

47.5 kB

Total Files

31

Last publish

Collaborators

  • mm25zamanian