safe-action-advanced
Use when working with bind arguments, metadata schemas, framework errors (redirect/notFound/forbidden/unauthorized), type inference utilities (InferSafeActionFnInput/Result), or server-level action callbacks
By next-safe-action · 1,133 installs
npx skills add next-safe-action/skills --skill safe-action-advanced
Source repository · Upstream listing
next safe action Advanced Features
Overview
Feature Use Case
[Bind arguments](./bind arguments.md) Pass extra args to actions via .bind() (e.g., resource IDs)
[Metadata](./metadata.md) Attach typed metadata to actions for use in middleware
[Framework errors](./framework errors.md) Handle redirect, notFound, forbidden, unauthorized in actions
[Type utilities](./type utilities.md) Infer types from action functions and middleware
Server Level Action Callbacks
The second argument to .action() accepts callbacks that run on the server (not client side hooks):
These are distinct from hook callbacks ( useAction({ onSuccess }) ) — server callbacks run in the Node.js runtime, hook callbacks run in the browser.
throwServerError
Re throw server errors instead of returning them as result.serverError :
Don't confuse this with returnServerError() : throwServerError throws the handled error (post handleServerError ) instead of returning it, while returnServerError(payload) returns a typed expected error in result.serverError , bypassing handleServerError entirely (see the safe action client skill's error handling doc).