diff --git a/lib/server.js b/lib/server.js index a9bb5a5..a0d139d 100644 --- a/lib/server.js +++ b/lib/server.js @@ -55,7 +55,7 @@ export default function (fastify, { filepath }, done) { const baseUrl = new URL(fastify.prefix, fastify.listeningOrigin) return reader.getStyle(baseUrl.href) } catch (error) { - if (isENOENT(error)) { + if (isFileNotThereError(error)) { throw createError(404, error.message) } console.error(error) @@ -72,7 +72,7 @@ export default function (fastify, { filepath }, done) { const resource = await reader.getResource(path) return sendResource(reply, resource) } catch (error) { - if (isENOENT(error)) { + if (isFileNotThereError(error)) { throw createError(404, error.message) } console.error(error) @@ -82,14 +82,6 @@ export default function (fastify, { filepath }, done) { done() } -/** - * @param {unknown} error - * @returns {error is Error & { code: 'ENOENT' }} - */ -function isENOENT(error) { - return error instanceof Error && 'code' in error && error.code === 'ENOENT' -} - class DeferredReader { /** @type {Reader | undefined} */ #reader @@ -132,11 +124,7 @@ class DeferredReader { console.log('Error event watching file:', error) }) } catch (error) { - if ( - error instanceof Error && - 'code' in error && - (error.code === 'ENOENT' || error.code === 'EPERM') - ) { + if (isFileNotThereError(error)) { // Ignore: File does not exist yet, but we'll try to open it later } else { throw error @@ -202,3 +190,15 @@ class DeferredReader { function isWin() { return process.platform === 'win32' } + +/** + * @param {unknown} error + * @returns {error is Error & { code: 'ENOENT' | 'EPERM' }} + */ +function isFileNotThereError(error) { + return ( + error instanceof Error && + 'code' in error && + (error.code === 'ENOENT' || error.code === 'EPERM') + ) +}