- Add debounced state updates for title and content (500ms delay) - Immediate UI updates with delayed history saving - Prevent one-letter-per-undo issue - Add cleanup for debounce timers on unmount
36 lines
957 B
JavaScript
36 lines
957 B
JavaScript
// src/http-exception.ts
|
|
var HTTPException = class extends Error {
|
|
res;
|
|
status;
|
|
/**
|
|
* Creates an instance of `HTTPException`.
|
|
* @param status - HTTP status code for the exception. Defaults to 500.
|
|
* @param options - Additional options for the exception.
|
|
*/
|
|
constructor(status = 500, options) {
|
|
super(options?.message, { cause: options?.cause });
|
|
this.res = options?.res;
|
|
this.status = status;
|
|
}
|
|
/**
|
|
* Returns the response object associated with the exception.
|
|
* If a response object is not provided, a new response is created with the error message and status code.
|
|
* @returns The response object.
|
|
*/
|
|
getResponse() {
|
|
if (this.res) {
|
|
const newResponse = new Response(this.res.body, {
|
|
status: this.status,
|
|
headers: this.res.headers
|
|
});
|
|
return newResponse;
|
|
}
|
|
return new Response(this.message, {
|
|
status: this.status
|
|
});
|
|
}
|
|
};
|
|
export {
|
|
HTTPException
|
|
};
|