#[repr(u8)]pub enum PropsMode {
Inline = 1,
ScriptTag = 2,
Deferred = 3,
}Expand description
How island props are delivered.
Variants§
Inline = 1
Props serialized into a data-forma-props attribute on the island root.
ScriptTag = 2
Props accumulated into a shared <script id="__forma_islands"> JSON
block at the end of the page.
NOT YET EMITTED BY THE COMPILER — @getforma/compiler hardcodes
Inline at every addIsland call site, so nothing in the toolchain
produces this value today. The walker supports it because forma-ir
accepts FMIR from any producer, but treat it as a dormant branch rather
than a shipping feature until the compiler opts into it (the intended
trigger being props too large for an attribute).
Deferred = 3
Reserved. NOT IMPLEMENTED on either side of the stack.
The name promises props fetched by the client after hydration, but
there is no mechanism behind it: the walker emits no props and no fetch
hint (no data-forma-props-src, nothing), and @getforma/core’s
loadIslandProps knows only the inline attribute and the shared block.
An island declared Deferred is therefore indistinguishable from an
island with no props at all. Treat it as reserved wire space, not as a
feature — the compiler never emits it.