Bootstrap stores + event bridge, add island hydration to boot.sx
- signals.sx: fix has? → has-key?, add def-store/use-store/clear-stores (L3 named stores), emit-event/on-event/bridge-event (event bridge) - boot.sx: add sx-hydrate-islands, hydrate-island, dispose-island for client-side island hydration from SSR output - bootstrap_js.py: add RENAMES, platform fns (domListen, eventDetail, domGetData, jsonParse), public API exports for all new functions - bootstrap_py.py: add RENAMES, server-side no-op stubs for DOM events - Regenerate sx-ref.js (with boot adapter) and sx_ref.py - Update reactive-islands status: hydration, stores, bridge all spec'd Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -174,6 +174,16 @@ class PyEmitter:
|
||||
"*batch-depth*": "_batch_depth",
|
||||
"*batch-queue*": "_batch_queue",
|
||||
"*island-scope*": "_island_scope",
|
||||
"*store-registry*": "_store_registry",
|
||||
"def-store": "def_store",
|
||||
"use-store": "use_store",
|
||||
"clear-stores": "clear_stores",
|
||||
"emit-event": "emit_event",
|
||||
"on-event": "on_event",
|
||||
"bridge-event": "bridge_event",
|
||||
"dom-listen": "dom_listen",
|
||||
"dom-dispatch": "dom_dispatch",
|
||||
"event-detail": "event_detail",
|
||||
"macro?": "is_macro",
|
||||
"primitive?": "is_primitive",
|
||||
"get-primitive": "get_primitive",
|
||||
@@ -1544,6 +1554,17 @@ def is_empty_dict(d):
|
||||
return len(d) == 0
|
||||
|
||||
|
||||
# DOM event primitives — no-ops on server (browser-only).
|
||||
def dom_listen(el, name, handler):
|
||||
return lambda: None
|
||||
|
||||
def dom_dispatch(el, name, detail=None):
|
||||
return False
|
||||
|
||||
def event_detail(e):
|
||||
return None
|
||||
|
||||
|
||||
def env_has(env, name):
|
||||
return name in env
|
||||
|
||||
|
||||
Reference in New Issue
Block a user