@nodescript/core
Version:
Visual programming language for Browser and Node
35 lines • 938 B
JavaScript
import { ResponseSpecSchema } from '../schema/ResponseSpec.js';
export function errorToResponse(error) {
return {
status: Number(error?.status) || 500,
headers: {
'content-type': ['application/json'],
},
body: {
name: error?.name ?? 'Error',
message: error?.message ?? 'Unknown error',
details: error?.details ?? undefined,
},
};
}
export function resultToResponse(value) {
// Empty body
if (value == null) {
return {
status: 204,
headers: {},
body: '',
};
}
// Explicit response
if (value && value.$response) {
return ResponseSpecSchema.decode(value.$response);
}
// Default response (content-type should be inferred by the sender)
return {
status: 200,
headers: {},
body: value,
};
}
//# sourceMappingURL=response.js.map