From 5b7ccf0b671e2999b62befc729a3e517a0433728 Mon Sep 17 00:00:00 2001 From: Bertrand Yuan Date: Mon, 15 Dec 2025 23:48:10 +0800 Subject: initial commit -- the front-end prototype The initial code is base on Anirudh's work. More to see at: https://github.com/techwithanirudh/shadcn-blog Therefore, the code in this commit is under MIT license. --- src/lib/safe-action.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 src/lib/safe-action.ts (limited to 'src/lib/safe-action.ts') diff --git a/src/lib/safe-action.ts b/src/lib/safe-action.ts new file mode 100644 index 0000000..846f2ef --- /dev/null +++ b/src/lib/safe-action.ts @@ -0,0 +1,18 @@ +import { + DEFAULT_SERVER_ERROR_MESSAGE, + createSafeActionClient, +} from 'next-safe-action'; + +export class ActionError extends Error {} + +export const actionClient = createSafeActionClient({ + handleServerError(e) { + console.error('Failed to execute action:', e.message); + + if (e instanceof ActionError) { + return e.message; + } + + return DEFAULT_SERVER_ERROR_MESSAGE; + }, +}); -- cgit v1.2.3