MCPcopy
hub / github.com/imcuttle/mometa / createFsHandler

Function createFsHandler

packages/fs-handler/src/index.ts:149–169  ·  view source on GitHub ↗
({ fs, middlewares = [] }: { fs: Fs; middlewares?: Middleware[] })

Source from the content-addressed store, hash-verified

147}
148
149export function createFsHandler({ fs, middlewares = [] }: { fs: Fs; middlewares?: Middleware[] }) {
150 return async (request: RequestData) => {
151 // @ts-ignore
152 const ctx: MiddlewareContext = {
153 fs,
154 filename: request.preload.filename,
155 getContent: robust(async () => await pify(fs.readFile)(request.preload.filename, 'utf8'), {
156 once: true
157 })
158 }
159
160 return await waterFall(
161 [apiMiddle(middlewares)].concat(middlewares).concat((data, ctx) => {
162 if (ctx.lineContents.isDirty) {
163 return ctx.writeFile(ctx.lineContents.toString())
164 }
165 }),
166 [request, ctx]
167 )
168 }
169}
170
171export * from './utils/line-contents'

Callers 2

main.test.tsFile · 0.90
create-server.jsFile · 0.85

Calls 2

apiMiddleFunction · 0.85
toStringMethod · 0.45

Tested by

no test coverage detected