## Demo: entity-props ### EntityDemo.svelte ```svelte

The parent (server-only) passes literal HTML entities in string="…" attributes on a mochi:hydrate island. Svelte decodes them for the SSR render, and Mochi's preprocessor decodes the same value into the serialized props the client hydrates with — so the two never disagree. Watch the Rendered on line flip from server to client after hydration while every value stays the same.

{``}
``` ### EntityIsland.svelte ```svelte

Rendered on: {isBrowser ? 'client (hydrated)' : 'server (SSR)'}

{#each rows as row (row.name)} {/each}
Prop Authored attribute Value received
{row.name} {row.authored} {row.value}
``` ### routes.ts ```ts import { Mochi } from 'mochi-framework'; import type { MochiRouteValue } from 'mochi-framework'; export const routes: Record = { '/demos/entity-props': Mochi.page('./src/demos/entity-props/EntityDemo.svelte'), }; ``` ### index.ts ```ts import { Mochi, logger } from 'mochi-framework'; import { routes } from './routes'; await Mochi.serve({ port: 3333, development: process.env.MODE === 'development', routes, }); logger.info('Server running at http://localhost:3333'); ```