⚙️ 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/ 配下のどのモジュールにも置けます。