UNPKG

nepenthe-js-tools

Version:
55 lines (39 loc) 1.19 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isInvalidPath = isInvalidPath; exports.isValidPath = isValidPath; exports["default"] = void 0; var _path = _interopRequireDefault(require("path")); var _utils = require("../utils"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function isInvalidPath(fp) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; /* istanbul ignore else */ if (fp === '' || typeof fp !== 'string') { return true; } /* istanbul ignore if */ if (!(0, _utils.isWindows)(options)) { return true; } var MAX_PATH = options.extended ? 32767 : 260; if (typeof fp !== 'string' || fp.length > MAX_PATH - 12) { return true; } var _path$parse = _path["default"].parse(fp), rootPath = _path$parse.root; if (rootPath) { fp = fp.slice(rootPath.length); } if (options.file) { return /[<>:"/\\|?*]/.test(fp); } return /[<>:"|?*]/.test(fp); } function isValidPath(fp, options) { return !isInvalidPath(fp, options); } var _default = isValidPath; exports["default"] = _default;