- 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
41 lines
932 B
JavaScript
41 lines
932 B
JavaScript
// src/adapter/deno/serve-static.ts
|
|
import { join } from "node:path";
|
|
import { serveStatic as baseServeStatic } from "../../middleware/serve-static/index.js";
|
|
var { open, lstatSync, errors } = Deno;
|
|
var serveStatic = (options) => {
|
|
return async function serveStatic2(c, next) {
|
|
const getContent = async (path) => {
|
|
try {
|
|
if (isDir(path)) {
|
|
return null;
|
|
}
|
|
const file = await open(path);
|
|
return file.readable;
|
|
} catch (e) {
|
|
if (!(e instanceof errors.NotFound)) {
|
|
console.warn(`${e}`);
|
|
}
|
|
return null;
|
|
}
|
|
};
|
|
const isDir = (path) => {
|
|
let isDir2;
|
|
try {
|
|
const stat = lstatSync(path);
|
|
isDir2 = stat.isDirectory;
|
|
} catch {
|
|
}
|
|
return isDir2;
|
|
};
|
|
return baseServeStatic({
|
|
...options,
|
|
getContent,
|
|
join,
|
|
isDir
|
|
})(c, next);
|
|
};
|
|
};
|
|
export {
|
|
serveStatic
|
|
};
|