UNPKG

exhibit-plugin-serve

Version:

No-op transform that serves your filemap over HTTP as a side-effect.

33 lines (22 loc) 2.53 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _pathToRegexp = require('path-to-regexp'); var _pathToRegexp2 = _interopRequireDefault(_pathToRegexp); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = (from, to) => { const re = (0, _pathToRegexp2.default)(from); const numKeys = re.keys.length; const toPath = _pathToRegexp2.default.compile(to); return requestedPath => { const result = re.exec(requestedPath); if (!result) return false; const params = {}; for (let i = 0; i < numKeys; i += 1) { params[re.keys[i].name] = result[i + 1]; } return toPath(params); }; }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImV4aGliaXQtcGx1Z2luLXNlcnZlL2NvbXBpbGVSZWRpcmVjdC5qcyJdLCJuYW1lcyI6WyJmcm9tIiwidG8iLCJyZSIsIm51bUtleXMiLCJrZXlzIiwibGVuZ3RoIiwidG9QYXRoIiwiY29tcGlsZSIsInJlcXVlc3RlZFBhdGgiLCJyZXN1bHQiLCJleGVjIiwicGFyYW1zIiwiaSIsIm5hbWUiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVBOzs7Ozs7a0JBRWUsQ0FBQ0EsSUFBRCxFQUFlQyxFQUFmLEtBQThCO0FBQzNDLFFBQU1DLEtBQUssNEJBQWFGLElBQWIsQ0FBWDtBQUNBLFFBQU1HLFVBQVVELEdBQUdFLElBQUgsQ0FBUUMsTUFBeEI7O0FBRUEsUUFBTUMsU0FBMkMsdUJBQWFDLE9BQWIsQ0FBcUJOLEVBQXJCLENBQWpEOztBQUVBLFNBQVFPLGFBQUQsSUFBMkM7QUFDaEQsVUFBTUMsU0FBU1AsR0FBR1EsSUFBSCxDQUFRRixhQUFSLENBQWY7O0FBRUEsUUFBSSxDQUFDQyxNQUFMLEVBQWEsT0FBTyxLQUFQOztBQUViLFVBQU1FLFNBQVMsRUFBZjs7QUFFQSxTQUFLLElBQUlDLElBQUksQ0FBYixFQUFnQkEsSUFBSVQsT0FBcEIsRUFBNkJTLEtBQUssQ0FBbEMsRUFBcUM7QUFDbkNELGFBQU9ULEdBQUdFLElBQUgsQ0FBUVEsQ0FBUixFQUFXQyxJQUFsQixJQUEwQkosT0FBT0csSUFBSSxDQUFYLENBQTFCO0FBQ0Q7O0FBRUQsV0FBT04sT0FBT0ssTUFBUCxDQUFQO0FBQ0QsR0FaRDtBQWFELEMiLCJmaWxlIjoiY29tcGlsZVJlZGlyZWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQGZsb3dcblxuaW1wb3J0IHBhdGhUb1JlZ2V4cCBmcm9tICdwYXRoLXRvLXJlZ2V4cCc7XG5cbmV4cG9ydCBkZWZhdWx0IChmcm9tOiBzdHJpbmcsIHRvOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgcmUgPSBwYXRoVG9SZWdleHAoZnJvbSk7XG4gIGNvbnN0IG51bUtleXMgPSByZS5rZXlzLmxlbmd0aDtcblxuICBjb25zdCB0b1BhdGg6ICh7IFtzdHJpbmddOiBzdHJpbmcgfSkgPT4gc3RyaW5nID0gcGF0aFRvUmVnZXhwLmNvbXBpbGUodG8pO1xuXG4gIHJldHVybiAocmVxdWVzdGVkUGF0aDogc3RyaW5nKTogc3RyaW5nIHwgZmFsc2UgPT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IHJlLmV4ZWMocmVxdWVzdGVkUGF0aCk7XG5cbiAgICBpZiAoIXJlc3VsdCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgY29uc3QgcGFyYW1zID0ge307XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG51bUtleXM7IGkgKz0gMSkge1xuICAgICAgcGFyYW1zW3JlLmtleXNbaV0ubmFtZV0gPSByZXN1bHRbaSArIDFdO1xuICAgIH1cblxuICAgIHJldHVybiB0b1BhdGgocGFyYW1zKTtcbiAgfTtcbn07XG4iXX0=