UNPKG

file-routing-expressjs

Version:

A dependency-free, flexible, system-based file routing for Express.

1 lines 1.75 kB
{"version":3,"sources":["../../src/helpers/validators.ts"],"sourcesContent":["import fs from \"fs\";\nimport { RequestHandler } from \"express\";\nimport { ErrorHandler, ExpressMethod } from \"../types\";\nimport { JAVASCRIPT_FILES_EXTENSION_REGEX } from \"../constants/regex\";\nimport { EXPRESS_METHODS_ARRAY } from \"../constants\";\n\nexport function functionIsRequestHandler(handler: any): handler is RequestHandler {\n return typeof handler === 'function' && [2, 3].includes(handler.length);\n}\n\nexport function functionIsExceptionHandler(handler: any): handler is ErrorHandler {\n return typeof handler === 'function' && handler.length === 4;\n}\n\nexport function filenameIsJSorTS(filename: string) {\n return !!filename.match(JAVASCRIPT_FILES_EXTENSION_REGEX);\n}\n\nexport function pathExistsAndIsFile(path: string) {\n return fs.existsSync(path) && fs.statSync(path).isFile();\n}\n\nexport function fileExistsAndIsJSorTS(filePath: string) {\n return !!filePath.match(JAVASCRIPT_FILES_EXTENSION_REGEX) && pathExistsAndIsFile(filePath);\n}\n\nexport function methodIsExpressMethod(method: string): method is ExpressMethod {\n return EXPRESS_METHODS_ARRAY.includes(method as ExpressMethod);\n}"],"mappings":"AAAA,OAAO,QAAQ;AAGf,SAAS,wCAAwC;AACjD,SAAS,6BAA6B;AAE/B,SAAS,yBAAyB,SAAyC;AAC9E,SAAO,OAAO,YAAY,cAAc,CAAC,GAAG,CAAC,EAAE,SAAS,QAAQ,MAAM;AAC1E;AAEO,SAAS,2BAA2B,SAAuC;AAC9E,SAAO,OAAO,YAAY,cAAc,QAAQ,WAAW;AAC/D;AAEO,SAAS,iBAAiB,UAAkB;AAC/C,SAAO,CAAC,CAAC,SAAS,MAAM,gCAAgC;AAC5D;AAEO,SAAS,oBAAoB,MAAc;AAC9C,SAAO,GAAG,WAAW,IAAI,KAAK,GAAG,SAAS,IAAI,EAAE,OAAO;AAC3D;AAEO,SAAS,sBAAsB,UAAkB;AACpD,SAAO,CAAC,CAAC,SAAS,MAAM,gCAAgC,KAAK,oBAAoB,QAAQ;AAC7F;AAEO,SAAS,sBAAsB,QAAyC;AAC3E,SAAO,sBAAsB,SAAS,MAAuB;AACjE;","names":[]}