UNPKG

3.3 kBJavaScriptView Raw
1"use strict";
2var __importDefault = (this && this.__importDefault) || function (mod) {
3 return (mod && mod.__esModule) ? mod : { "default": mod };
4};
5Object.defineProperty(exports, "__esModule", { value: true });
6const path_1 = __importDefault(require("path"));
7const sanitize_filename_1 = __importDefault(require("sanitize-filename"));
8const lodash_1 = require("lodash");
9function default_1(filePath, expectedExtention) {
10 filePath = filePath.replace(new RegExp(lodash_1.escapeRegExp(path_1.default.win32.sep), 'g'), path_1.default.posix.sep);
11 const correctedPath = filePath
12 .split(path_1.default.posix.sep)
13 .filter((fragment, index) => index === 0 || !!fragment)
14 .map(str => sanitize_filename_1.default(str))
15 .join(path_1.default.sep);
16 if (!expectedExtention)
17 return correctedPath;
18 const extentionRe = new RegExp(lodash_1.escapeRegExp(expectedExtention));
19 return extentionRe.test(correctedPath) ? correctedPath : `${correctedPath}.${expectedExtention}`;
20}
21exports.default = default_1;
22module.exports = exports.default;
23//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ycmVjdC1maWxlLXBhdGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvY29ycmVjdC1maWxlLXBhdGguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnREFBd0I7QUFDeEIsMEVBQWlEO0FBQ2pELG1DQUFrRDtBQUVsRCxtQkFBeUIsUUFBUSxFQUFFLGlCQUFpQjtJQUNoRCxRQUFRLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxxQkFBUSxDQUFDLGNBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsY0FBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUV2RixNQUFNLGFBQWEsR0FBRyxRQUFRO1NBQ3pCLEtBQUssQ0FBQyxjQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztTQUNyQixNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUM7U0FDdEQsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsMkJBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDakMsSUFBSSxDQUFDLGNBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUVwQixJQUFJLENBQUMsaUJBQWlCO1FBQ2xCLE9BQU8sYUFBYSxDQUFDO0lBRXpCLE1BQU0sV0FBVyxHQUFHLElBQUksTUFBTSxDQUFDLHFCQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO0lBRTVELE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxHQUFHLGFBQWEsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO0FBQ3JHLENBQUM7QUFmRCw0QkFlQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHNhbml0aXplRmlsZW5hbWUgZnJvbSAnc2FuaXRpemUtZmlsZW5hbWUnO1xuaW1wb3J0IHsgZXNjYXBlUmVnRXhwIGFzIGVzY2FwZVJlIH0gZnJvbSAnbG9kYXNoJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKGZpbGVQYXRoLCBleHBlY3RlZEV4dGVudGlvbikge1xuICAgIGZpbGVQYXRoID0gZmlsZVBhdGgucmVwbGFjZShuZXcgUmVnRXhwKGVzY2FwZVJlKHBhdGgud2luMzIuc2VwKSwgJ2cnKSwgcGF0aC5wb3NpeC5zZXApO1xuXG4gICAgY29uc3QgY29ycmVjdGVkUGF0aCA9IGZpbGVQYXRoXG4gICAgICAgIC5zcGxpdChwYXRoLnBvc2l4LnNlcClcbiAgICAgICAgLmZpbHRlcigoZnJhZ21lbnQsIGluZGV4KSA9PiBpbmRleCA9PT0gMCB8fCAhIWZyYWdtZW50KVxuICAgICAgICAubWFwKHN0ciA9PiBzYW5pdGl6ZUZpbGVuYW1lKHN0cikpXG4gICAgICAgIC5qb2luKHBhdGguc2VwKTtcblxuICAgIGlmICghZXhwZWN0ZWRFeHRlbnRpb24pXG4gICAgICAgIHJldHVybiBjb3JyZWN0ZWRQYXRoO1xuXG4gICAgY29uc3QgZXh0ZW50aW9uUmUgPSBuZXcgUmVnRXhwKGVzY2FwZVJlKGV4cGVjdGVkRXh0ZW50aW9uKSk7XG5cbiAgICByZXR1cm4gZXh0ZW50aW9uUmUudGVzdChjb3JyZWN0ZWRQYXRoKSA/IGNvcnJlY3RlZFBhdGggOiBgJHtjb3JyZWN0ZWRQYXRofS4ke2V4cGVjdGVkRXh0ZW50aW9ufWA7XG59XG4iXX0=
\No newline at end of file