Introduction
Global State and Logic Library
❓ core
As the name suggests, the core
is the main package of AgileTs.
It contains the core API for State Management with AgileTs,
which includes, for example, handy classes like:
⚡️ State
A
State
represents a piece of Information that we need to remember globally at a later point in time. While offering a toolkit to use and mutate this piece of Information.const MY_STATE = createState("Hello there");
// Update current State value
MY_STATE.set("hi");
// Undo latest State value change
MY_STATE.undo();👨👧👦 Collection
A
Collection
represents a reactive set of Information that we need to remember globally at a later point in time. While offering a toolkit to use and mutate this set of Information.const MY_COLLECTION = createCollection();
// Add Data to Collection
MY_COLLECTION.collect({id: 1, name: "frank"});
// Remove Data at primary Key '1' from Collection
MY_COLLECTION.remove(1).everywhere();🤖 Computed
A
Computed
is an extension of theState Class
that computes its value from a specified function.const MY_COMPUTED = createComputed(() => {
return MY_STATE_1.value + MY_STATE_2.value;
});
However, to make the whole State Management API work well,
the core
does a lot under the hood.
- queue
Agile Sub Instance
changes in theruntime
to prevent race conditions - update/rerender subscribed UI-Components through the provided Integrations such as the React Integration
- integrate with the persistent Storage
These internal tasks are centrally managed by a so called Agile Instance.