@webqit/observer 3.8.4 → 3.8.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -11
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
# The Observer API
|
|
2
4
|
|
|
3
5
|
[![npm version][npm-version-src]][npm-version-href]
|
|
4
6
|
[![npm downloads][npm-downloads-src]][npm-downloads-href]
|
|
5
7
|
[![bundle][bundle-src]][bundle-href]
|
|
6
8
|
[![License][license-src]][license-href]
|
|
7
9
|
|
|
10
|
+
</div>
|
|
11
|
+
|
|
8
12
|
Observe and intercept operations on arbitrary JavaScript objects and arrays using a utility-first, general-purpose reactivity API! This API re-explores the unique design of the [Object.observe()](https://web.dev/es7-observe/) API and unifies that with related APIs like Reflect and Proxy "traps"!
|
|
9
13
|
|
|
10
14
|
The Observer API comes as one little API for all things _object observability_. (Only `~5.8KiB min|zip`)
|
|
@@ -172,16 +176,16 @@ Observer.set(user, 'email', 'JOHN@EXAMPLE.COM'); // Becomes 'john@example.com'
|
|
|
172
176
|
## Key Features
|
|
173
177
|
|
|
174
178
|
### **Core Reactivity**
|
|
175
|
-
- **🔄 Real-time
|
|
176
|
-
- **⚡ Synchronous Updates**: Changes are delivered
|
|
177
|
-
- **🎯 Granular Control**: Watch specific properties, paths
|
|
178
|
-
- **🌳 Deep Path Watching**: Observe nested properties
|
|
179
|
+
- **🔄 Real-time Observability**: Watch object and array changes as they happen
|
|
180
|
+
- **⚡ Synchronous Updates**: Changes are delivered synchronously, not batched
|
|
181
|
+
- **🎯 Granular Control**: Watch specific properties, paths; even wildcards
|
|
182
|
+
- **🌳 Deep Path Watching**: Observe nested properties or entire object tree
|
|
179
183
|
|
|
180
184
|
### **Advanced Capabilities**
|
|
181
185
|
- **🛡️ Operation Interception**: Transform, validate, or block operations before execution
|
|
182
|
-
- **📦 Atomic Batching**: Group multiple changes into single events
|
|
183
|
-
- **🔄 Object Mirroring**: Create reactive synchronization between objects
|
|
184
186
|
- **🔗 Traps Pipeline**: Compose multiple interceptors for complex behavior
|
|
187
|
+
- **📦 Atomic Batching**: Batch multiple changes into single atomic operation
|
|
188
|
+
- **🔄 Object Mirroring**: Create reactive synchronization between objects
|
|
185
189
|
|
|
186
190
|
### **Developer Experience**
|
|
187
191
|
- **🔧 Utility-First API**: Clean, functional design with consistent patterns
|
|
@@ -191,19 +195,19 @@ Observer.set(user, 'email', 'JOHN@EXAMPLE.COM'); // Becomes 'john@example.com'
|
|
|
191
195
|
|
|
192
196
|
## Ecosystem Integrations
|
|
193
197
|
|
|
194
|
-
The Observer API is enabling a shared protocol
|
|
198
|
+
The Observer API is enabling a shared protocol for *mutation-based* reactivity across the ecosystem:
|
|
195
199
|
|
|
196
200
|
### **🚀 [Quantum Runtime](https://github.com/webqit/quantum-js)**
|
|
197
201
|
Uses Observer API under the hood to operate as a **full-fledged reactive runtime**. Quantum enables Imperative Reactive Programming by leveraging Observer's reactivity foundation to make ordinary JavaScript code reactive.
|
|
198
202
|
|
|
199
203
|
### **🌐 [OOHTML](https://github.com/webqit/oohtml)**
|
|
200
|
-
Uses Observer API to underpin **reactive
|
|
204
|
+
Uses Observer API to underpin **dynamic, reactive UIs**. OOHTML enables live data binding between UI and app state, automatically updating the DOM when your data changes.
|
|
201
205
|
|
|
202
206
|
### **⚡ [Webflo](https://github.com/webqit/webflo)**
|
|
203
|
-
Uses Observer API to underpin **Live Objects** as a first-class concept. Webflo
|
|
207
|
+
Uses Observer API to underpin **Live Objects** as a first-class concept. Live Objects in Webflo lets you send dynamic state from your server to the UI with reactivity over the wire.
|
|
204
208
|
|
|
205
209
|
### **🔗 [LinkedQL](https://github.com/linked-db/linked-ql)**
|
|
206
|
-
Uses Observer API to underpin **Live Objects** as a first-class concept.
|
|
210
|
+
Uses Observer API to underpin **Live Objects** as a first-class concept. Live Objects in LinkedQL lets you have query results as self-updating result sets.
|
|
207
211
|
|
|
208
212
|
## API Reference
|
|
209
213
|
|