express-superjson
Version:
Express middleware for Superjson integration, providing enhanced JSON serialization in HTTP responses.
42 lines (39 loc) • 1.09 kB
TypeScript
import { RequestHandler } from 'express';
/**
* Express middleware that automatically serializes response data using `superjson`.
* This enables proper handling of JavaScript built-in types that are not supported by standard JSON:
* - Date
* - Map
* - Set
* - URL
* - BigInt
* - Regular Expressions
* - Error objects
* - Circular references
*
* Important: This middleware must be registered after `express.json()` middleware.
*
* @example
* ```typescript
* import express from 'express';
* import superjsonMiddleware from 'express-superjson';
*
* const app = express();
*
* app.use(express.json());
* app.use(superjsonMiddleware());
*
* app.get('/example', (req, res) => {
* res.json({
* date: new Date(),
* map: new Map([['key', 'value']]),
* set: new Set(['value']),
* url: new URL('https://example.com')
* });
* });
* ```
*
* @returns {RequestHandler} Express middleware that enhances `res.json()` with `superjson` serialization
*/
declare function superjsonMiddleware(): RequestHandler;
export { superjsonMiddleware as default };