![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
marcs-observable
Advanced tools
a typed version of marc grabanski's observablish-values supporting frontend masters website realtime operations
marcs-observable is a TypeScript library that provides a simple and efficient way to create and manage observables. An observable is a stream of values or events that other values can react to. This library allows you to create observables, subscribe to them, and publish changes to them. It also supports computed observables, which are observables that depend on other observables.
npm install marcs-observable
import { ObservableFactory } from "marcs-observable";
const observable = ObservableFactory.create(42);
let trackedVal: number | null = null;
observable.subscribe((current: number) => {
trackedVal = current;
});
observable.value = 43;
const childObservable = ObservableFactory.create(5);
const func = () => childObservable.value * 2;
const parentObservable = ObservableFactory.create(func);
const func = async () => {
await Observable.delay(100);
return 42;
};
const observable = ObservableFactory.create(func);
ObservableFactory.create(initialValue: any, ...args: any[]): IObservable
Creates a new observable. If the initial value is a function, the observable becomes a computed observable. Any extra arguments will be passed to the function.
observable.subscribe(handler: (current: any, previous: any) => void): () => void
Subscribes to the observable. The handler function is called whenever the observable's value changes. The function returns an unsubscribe function.
observable.value: any
Gets or sets the value of the observable. If the observable is a computed observable, setting the value will not affect the computed function.
observable.publish(): void
Publishes changes to the observable. This is usually not called directly, but is used internally when the observable's value changes.
observable.compute(): void
Recomputes the value of a computed observable. This is usually not called directly, but is used internally when a dependency of the computed observable changes.
Observable.delay(ms: number)
Returns a promise that resolves after a delay of ms milliseconds. This is used for handling asynchronous computations in computed observables.
The library includes a comprehensive set of tests to ensure its functionality. You can run these tests using Deno:
deno test
marcs-observable is licensed under the MIT License.
FAQs
bronifty@gmail.com
The npm package marcs-observable receives a total of 3 weekly downloads. As such, marcs-observable popularity was classified as not popular.
We found that marcs-observable demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.