A Great Class to Extend! It has built in support to make reactive any/all class properties and their nested leaves.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
Kebler Network System Administrator ce0e77399a support for name spacing of reactive methods and objects/fields 2 years ago
examples support for name spacing of reactive methods and objects/fields 2 years ago
src support for name spacing of reactive methods and objects/fields 2 years ago
test support for name spacing of reactive methods and objects/fields 2 years ago
.babelrc using new private methods and fields 2 years ago
.eslintrc.yml using new private methods and fields 2 years ago
.gitignore A working class, only missing the tested hook and operator support 3 years ago
.npmignore A working class, only missing the tested hook and operator support 3 years ago
.npmrc using new private methods and fields 2 years ago
nodemon.json A working class, only missing the tested hook and operator support 3 years ago
package.json support for name spacing of reactive methods and objects/fields 2 years ago
readme.md using new private methods and fields 2 years ago

readme.md

uCOMmandIt Reactive Class

A Great Class to Extend! It has built in support to make reactive any/all class properties and their nested leaves.

ES2021 Dependency

Not running nodejs 16+ which supports much of ES2021+? then STOP you can't use this class! It contains both private fields and methods and is written with esm modules. You might be able to transpile it but that is not supported nor encouraged.

Why?

To allow and object to have reactivity similar to vue and react without those packages and thus with any nodejs code. This a "backend" app could maintain app settings and allow non vue/react "clients" to get updated values when the app changes state. Essentially this class will create instances of 'mini' state event bus.

Features

Will both emit and allow subscriptions to any property (i.e. object path) that has been made reactive.

Allows custom registration of an unlimited number of state change event hooks.

Allows additional rxjs operators for the pipe of the observer for each property.

See Examples folder

How

The class maintain a private rx field. When an object (i.e. property) of the class is made reactive it is converted into a getter/setter (much like vue) and it's actual value is stored within the private rx field. One can access the value of that propery like before but