⚙️ Server Functions

TanStack Start の createServerFn 相当。クライアントからは JSON RPC、サーバーでは通常の Nim 関数。

serverFn マクロは、サーバービルド時に実体の proc と JSON インボーカを生成し、POST /__crown/fn/<name> として公開します。ブラウザからは window.crownServerFn(name, payload) で呼べます。

serverFn: proc updateUser*(id: string, name: string): User = db.users.update(id, name) # Client # window.crownServerFn("updateUser", {id: "1", name: "Ada"})

引数と戻り値は std/jsonutils で JSON 化されます。ファイルシステムルーティングはそのままなので、src/app/ 配下のどのモジュールにも置けます。