@lunora/do 1.0.0-alpha.149 → 1.0.0-alpha.150
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 +9 -0
- package/dist/index.d.mts +8 -0
- package/dist/index.d.ts +8 -0
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -78,6 +78,15 @@ export class MyShard extends ShardDO {
|
|
|
78
78
|
}
|
|
79
79
|
```
|
|
80
80
|
|
|
81
|
+
`broadcastDelta` is the raw-delta fan-out for a shard like this one, which has
|
|
82
|
+
no `executeSubscription` override and so cannot re-run a subscriber's query. It
|
|
83
|
+
delivers to sockets whose registered subscription carries a `table` string equal
|
|
84
|
+
to `delta.table` — an exact match, with no table-dependency analysis behind it.
|
|
85
|
+
`@lunora/client` has no table name to register there and sends the function path
|
|
86
|
+
instead, so pair it with a client that names the table explicitly. Projects
|
|
87
|
+
generated by `lunora codegen` route this hook to `recordChangedTable` and get
|
|
88
|
+
server-side re-execution instead.
|
|
89
|
+
|
|
81
90
|
> This README covers the basics. For the full API, options, and guides, see the **[documentation](https://lunora.sh/docs/api/do)**.
|
|
82
91
|
|
|
83
92
|
## Related
|
package/dist/index.d.mts
CHANGED
|
@@ -2810,6 +2810,14 @@ declare abstract class ShardDO {
|
|
|
2810
2810
|
* shallow-equality predicate over `query.args` against `delta.row`. A
|
|
2811
2811
|
* subscription with no `args` matches every row in the table.
|
|
2812
2812
|
*
|
|
2813
|
+
* `query.table` is whatever the CLIENT registered, compared verbatim — no
|
|
2814
|
+
* table-dependency analysis stands behind it. `@lunora/client` has no table
|
|
2815
|
+
* name to give (a function reference carries only its `namespace:fn` id) and
|
|
2816
|
+
* registers the function path there, so a shard that broadcasts real table
|
|
2817
|
+
* names reaches none of its subscriptions. That is not a gap to close here:
|
|
2818
|
+
* re-execution (`recordChangedTable` → `refreshSubscriptions`) is the routing
|
|
2819
|
+
* every generated app uses, and it keys off read tables properly.
|
|
2820
|
+
*
|
|
2813
2821
|
* Subclasses can override this to implement range queries, joins, or
|
|
2814
2822
|
* full-text matching — anything more elaborate than equality. When
|
|
2815
2823
|
* `delta.row` is undefined (delete events without row data) we fall back
|
package/dist/index.d.ts
CHANGED
|
@@ -2810,6 +2810,14 @@ declare abstract class ShardDO {
|
|
|
2810
2810
|
* shallow-equality predicate over `query.args` against `delta.row`. A
|
|
2811
2811
|
* subscription with no `args` matches every row in the table.
|
|
2812
2812
|
*
|
|
2813
|
+
* `query.table` is whatever the CLIENT registered, compared verbatim — no
|
|
2814
|
+
* table-dependency analysis stands behind it. `@lunora/client` has no table
|
|
2815
|
+
* name to give (a function reference carries only its `namespace:fn` id) and
|
|
2816
|
+
* registers the function path there, so a shard that broadcasts real table
|
|
2817
|
+
* names reaches none of its subscriptions. That is not a gap to close here:
|
|
2818
|
+
* re-execution (`recordChangedTable` → `refreshSubscriptions`) is the routing
|
|
2819
|
+
* every generated app uses, and it keys off read tables properly.
|
|
2820
|
+
*
|
|
2813
2821
|
* Subclasses can override this to implement range queries, joins, or
|
|
2814
2822
|
* full-text matching — anything more elaborate than equality. When
|
|
2815
2823
|
* `delta.row` is undefined (delete events without row data) we fall back
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lunora/do",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.150",
|
|
4
4
|
"description": "Lunora Durable Objects: ShardDO (SQLite, OCC, hibernated WebSocket subscriptions) and SessionDO",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cloudflare",
|
|
@@ -47,9 +47,9 @@
|
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
49
|
"@lunora/errors": "1.0.0-alpha.39",
|
|
50
|
-
"@lunora/observability": "1.0.0-alpha.
|
|
50
|
+
"@lunora/observability": "1.0.0-alpha.84",
|
|
51
51
|
"@lunora/platform-cloudflare": "1.0.0-alpha.45",
|
|
52
|
-
"@lunora/shard-engine": "1.0.0-alpha.
|
|
52
|
+
"@lunora/shard-engine": "1.0.0-alpha.75",
|
|
53
53
|
"drizzle-orm": "^0.45.2"
|
|
54
54
|
},
|
|
55
55
|
"engines": {
|