.
This commit is contained in:
+29
@@ -0,0 +1,29 @@
|
||||
import { configure } from 'next/dist/compiled/safe-stable-stringify';
|
||||
// Configure stringify with reasonable limits for action logging
|
||||
const stringify = configure({
|
||||
maximumDepth: 2,
|
||||
maximumBreadth: 3
|
||||
});
|
||||
/**
|
||||
* Format a single argument for display in server action logs.
|
||||
*/ function formatArg(arg) {
|
||||
try {
|
||||
return stringify(arg) ?? String(arg);
|
||||
} catch {
|
||||
// String(arg) can throw for temporary client references (e.g., class instances
|
||||
// passed from client to server) because accessing .toString() on them throws
|
||||
// "Cannot access toString on the server"
|
||||
try {
|
||||
return String(arg);
|
||||
} catch {
|
||||
return '[unserializable]';
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Format arguments array to a string for display
|
||||
*/ export function formatArgs(args) {
|
||||
return args.map((a)=>formatArg(a)).join(', ');
|
||||
}
|
||||
|
||||
//# sourceMappingURL=server-action-logger.js.map
|
||||
Reference in New Issue
Block a user