UNPKG

@platformos/pos-cli

Version:

Manage your platformOS application

89 lines 3.02 kB
"use strict"; var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; result["default"] = mod; return result; }; Object.defineProperty(exports, "__esModule", { value: true }); function getFileExtension(filePath) { const pathParts = /^.+\.([^.]+)$/.exec(filePath); if (pathParts && pathParts.length > 1) { return pathParts[1]; } return null; } exports.getFileExtension = getFileExtension; function getPathWithoutExtension(filePath, extension) { let pathWithoutExtension = filePath; if (extension) { pathWithoutExtension = filePath.substr(0, filePath.length - (extension.length + 1)); } return pathWithoutExtension; } exports.getPathWithoutExtension = getPathWithoutExtension; function handleExtensionErr(extension) { if (extension) { throw Error(`cannot import() module with extension '${extension}'`); } } const resolveJs = (path) => require.resolve(path + '.js'); const resolveJSON = (path) => require.resolve(path + '.json'); const importJs = (path) => Promise.resolve().then(() => __importStar(require(path + '.js'))); const importJSON = (path) => Promise.resolve().then(() => __importStar(require(path + '.json'))); function resolveFile(filePath) { const extension = getFileExtension(filePath); const pathWithoutExtension = getPathWithoutExtension(filePath, extension); switch (extension) { case 'js': { return resolveJs(pathWithoutExtension); } case 'json': { return resolveJSON(pathWithoutExtension); } default: { try { return resolveJs(filePath); } catch (_error) { return resolveJSON(filePath); } } } } exports.resolveFile = resolveFile; function requireFile(filePath) { const extension = getFileExtension(filePath); const pathWithoutExtension = getPathWithoutExtension(filePath, extension); switch (extension) { case 'js': { if (resolveFile(pathWithoutExtension + `.js`)) { return importJs(pathWithoutExtension); } return null; } case 'json': { if (resolveFile(pathWithoutExtension + `.json`)) { return importJSON(pathWithoutExtension); } return null; } default: { try { if (resolveFile(filePath + `.js`)) { return importJs(filePath); } } catch (err) { handleExtensionErr(extension); } if (resolveFile(filePath + `.json`)) { return importJSON(filePath); } handleExtensionErr(extension); } } } exports.requireFile = requireFile; //# sourceMappingURL=file.js.map