UNPKG

page-loader-ivan

Version:
65 lines (51 loc) 6.42 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.exchangeToNativLinks = exports.fullLink = exports.basicNames = undefined; var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _url = require('url'); var _url2 = _interopRequireDefault(_url); var _path = require('path'); var _path2 = _interopRequireDefault(_path); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var toKebabCase = function toKebabCase(str) { return str.replace(/\W*(.*)/g, '$1').replace(/\W/g, '-'); }; var linkToNativelName = function linkToNativelName(urlPage) { var _url$parse = _url2.default.parse(urlPage), hostname = _url$parse.hostname, pathname = _url$parse.pathname; var parse = _path2.default.parse(pathname); var pathWithoutExt = _path2.default.format(_extends({}, parse, { ext: '', base: '' })); var str = toKebabCase(_url2.default.format({ hostname: hostname, pathname: pathWithoutExt })); return '' + str + parse.ext; }; var nativeLink = function nativeLink(link, local) { return _path2.default.join(local, linkToNativelName(link)); }; var basicNames = exports.basicNames = function basicNames(page, dir) { var pageName = linkToNativelName(page); var filename = pageName + '.html'; var filepath = _path2.default.join(dir, filename); var simpleDirFiles = pageName + '_files'; var dirFiles = _path2.default.join(dir, simpleDirFiles); return { filepath: filepath, simpleDirFiles: simpleDirFiles, dirFiles: dirFiles }; }; var fullLink = exports.fullLink = function fullLink(link, urlData) { if (_url2.default.parse(link).hostname) { return link; } return _url2.default.format(_extends({}, urlData, { pathname: link })); }; var exchangeToNativLinks = exports.exchangeToNativLinks = function exchangeToNativLinks(links, local) { return links.map(function (link) { var exch = { link: link, nativeLink: nativeLink(link, local) }; return exch; }); }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9uYW1lcy5qcyJdLCJuYW1lcyI6WyJ0b0tlYmFiQ2FzZSIsInN0ciIsInJlcGxhY2UiLCJsaW5rVG9OYXRpdmVsTmFtZSIsInVybFBhZ2UiLCJ1cmwiLCJwYXJzZSIsImhvc3RuYW1lIiwicGF0aG5hbWUiLCJwYXRoIiwicGF0aFdpdGhvdXRFeHQiLCJmb3JtYXQiLCJleHQiLCJiYXNlIiwibmF0aXZlTGluayIsImxpbmsiLCJsb2NhbCIsImpvaW4iLCJiYXNpY05hbWVzIiwicGFnZSIsImRpciIsInBhZ2VOYW1lIiwiZmlsZW5hbWUiLCJmaWxlcGF0aCIsInNpbXBsZURpckZpbGVzIiwiZGlyRmlsZXMiLCJmdWxsTGluayIsInVybERhdGEiLCJleGNoYW5nZVRvTmF0aXZMaW5rcyIsImxpbmtzIiwibWFwIiwiZXhjaCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7Ozs7QUFDQTs7Ozs7O0FBRUEsSUFBTUEsY0FBYyxTQUFkQSxXQUFjO0FBQUEsU0FDbEJDLElBQ0dDLE9BREgsQ0FDVyxVQURYLEVBQ3VCLElBRHZCLEVBRUdBLE9BRkgsQ0FFVyxLQUZYLEVBRWtCLEdBRmxCLENBRGtCO0FBQUEsQ0FBcEI7O0FBS0EsSUFBTUMsb0JBQW9CLFNBQXBCQSxpQkFBb0IsQ0FBQ0MsT0FBRCxFQUFhO0FBQUEsbUJBQ05DLGNBQUlDLEtBQUosQ0FBVUYsT0FBVixDQURNO0FBQUEsTUFDN0JHLFFBRDZCLGNBQzdCQSxRQUQ2QjtBQUFBLE1BQ25CQyxRQURtQixjQUNuQkEsUUFEbUI7O0FBRXJDLE1BQU1GLFFBQVFHLGVBQUtILEtBQUwsQ0FBV0UsUUFBWCxDQUFkO0FBQ0EsTUFBTUUsaUJBQWlCRCxlQUFLRSxNQUFMLGNBQWlCTCxLQUFqQixJQUF3Qk0sS0FBSyxFQUE3QixFQUFpQ0MsTUFBTSxFQUF2QyxJQUF2QjtBQUNBLE1BQU1aLE1BQU1ELFlBQVlLLGNBQUlNLE1BQUosQ0FBVyxFQUFFSixrQkFBRixFQUFZQyxVQUFVRSxjQUF0QixFQUFYLENBQVosQ0FBWjtBQUNBLGNBQVVULEdBQVYsR0FBZ0JLLE1BQU1NLEdBQXRCO0FBQ0QsQ0FORDs7QUFRQSxJQUFNRSxhQUFhLFNBQWJBLFVBQWEsQ0FBQ0MsSUFBRCxFQUFPQyxLQUFQO0FBQUEsU0FDakJQLGVBQUtRLElBQUwsQ0FBVUQsS0FBVixFQUFpQmIsa0JBQWtCWSxJQUFsQixDQUFqQixDQURpQjtBQUFBLENBQW5COztBQUdPLElBQU1HLGtDQUFhLFNBQWJBLFVBQWEsQ0FBQ0MsSUFBRCxFQUFPQyxHQUFQLEVBQWU7QUFDdkMsTUFBTUMsV0FBV2xCLGtCQUFrQmdCLElBQWxCLENBQWpCO0FBQ0EsTUFBTUcsV0FBY0QsUUFBZCxVQUFOO0FBQ0EsTUFBTUUsV0FBV2QsZUFBS1EsSUFBTCxDQUFVRyxHQUFWLEVBQWVFLFFBQWYsQ0FBakI7QUFDQSxNQUFNRSxpQkFBb0JILFFBQXBCLFdBQU47QUFDQSxNQUFNSSxXQUFXaEIsZUFBS1EsSUFBTCxDQUFVRyxHQUFWLEVBQWVJLGNBQWYsQ0FBakI7QUFDQSxTQUFPO0FBQ0xELHNCQURLO0FBRUxDLGtDQUZLO0FBR0xDO0FBSEssR0FBUDtBQUtELENBWE07O0FBYUEsSUFBTUMsOEJBQVcsU0FBWEEsUUFBVyxDQUFDWCxJQUFELEVBQU9ZLE9BQVAsRUFBbUI7QUFDekMsTUFBSXRCLGNBQUlDLEtBQUosQ0FBVVMsSUFBVixFQUFnQlIsUUFBcEIsRUFBOEI7QUFDNUIsV0FBT1EsSUFBUDtBQUNEO0FBQ0QsU0FBT1YsY0FBSU0sTUFBSixjQUFnQmdCLE9BQWhCLElBQXlCbkIsVUFBVU8sSUFBbkMsSUFBUDtBQUNELENBTE07O0FBT0EsSUFBTWEsc0RBQXVCLFNBQXZCQSxvQkFBdUIsQ0FBQ0MsS0FBRCxFQUFRYixLQUFSO0FBQUEsU0FDbENhLE1BQU1DLEdBQU4sQ0FBVSxVQUFDZixJQUFELEVBQVU7QUFDbEIsUUFBTWdCLE9BQU8sRUFBRWhCLFVBQUYsRUFBUUQsWUFBWUEsV0FBV0MsSUFBWCxFQUFpQkMsS0FBakIsQ0FBcEIsRUFBYjtBQUNBLFdBQU9lLElBQVA7QUFDRCxHQUhELENBRGtDO0FBQUEsQ0FBN0IiLCJmaWxlIjoibmFtZXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdXJsIGZyb20gJ3VybCc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcblxuY29uc3QgdG9LZWJhYkNhc2UgPSBzdHIgPT5cbiAgc3RyXG4gICAgLnJlcGxhY2UoL1xcVyooLiopL2csICckMScpXG4gICAgLnJlcGxhY2UoL1xcVy9nLCAnLScpO1xuXG5jb25zdCBsaW5rVG9OYXRpdmVsTmFtZSA9ICh1cmxQYWdlKSA9PiB7XG4gIGNvbnN0IHsgaG9zdG5hbWUsIHBhdGhuYW1lIH0gPSB1cmwucGFyc2UodXJsUGFnZSk7XG4gIGNvbnN0IHBhcnNlID0gcGF0aC5wYXJzZShwYXRobmFtZSk7XG4gIGNvbnN0IHBhdGhXaXRob3V0RXh0ID0gcGF0aC5mb3JtYXQoeyAuLi5wYXJzZSwgZXh0OiAnJywgYmFzZTogJycgfSk7XG4gIGNvbnN0IHN0ciA9IHRvS2ViYWJDYXNlKHVybC5mb3JtYXQoeyBob3N0bmFtZSwgcGF0aG5hbWU6IHBhdGhXaXRob3V0RXh0IH0pKTtcbiAgcmV0dXJuIGAke3N0cn0ke3BhcnNlLmV4dH1gO1xufTtcblxuY29uc3QgbmF0aXZlTGluayA9IChsaW5rLCBsb2NhbCkgPT5cbiAgcGF0aC5qb2luKGxvY2FsLCBsaW5rVG9OYXRpdmVsTmFtZShsaW5rKSk7XG5cbmV4cG9ydCBjb25zdCBiYXNpY05hbWVzID0gKHBhZ2UsIGRpcikgPT4ge1xuICBjb25zdCBwYWdlTmFtZSA9IGxpbmtUb05hdGl2ZWxOYW1lKHBhZ2UpO1xuICBjb25zdCBmaWxlbmFtZSA9IGAke3BhZ2VOYW1lfS5odG1sYDtcbiAgY29uc3QgZmlsZXBhdGggPSBwYXRoLmpvaW4oZGlyLCBmaWxlbmFtZSk7XG4gIGNvbnN0IHNpbXBsZURpckZpbGVzID0gYCR7cGFnZU5hbWV9X2ZpbGVzYDtcbiAgY29uc3QgZGlyRmlsZXMgPSBwYXRoLmpvaW4oZGlyLCBzaW1wbGVEaXJGaWxlcyk7XG4gIHJldHVybiB7XG4gICAgZmlsZXBhdGgsXG4gICAgc2ltcGxlRGlyRmlsZXMsXG4gICAgZGlyRmlsZXMsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZnVsbExpbmsgPSAobGluaywgdXJsRGF0YSkgPT4ge1xuICBpZiAodXJsLnBhcnNlKGxpbmspLmhvc3RuYW1lKSB7XG4gICAgcmV0dXJuIGxpbms7XG4gIH1cbiAgcmV0dXJuIHVybC5mb3JtYXQoeyAuLi51cmxEYXRhLCBwYXRobmFtZTogbGluayB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBleGNoYW5nZVRvTmF0aXZMaW5rcyA9IChsaW5rcywgbG9jYWwpID0+XG4gIGxpbmtzLm1hcCgobGluaykgPT4ge1xuICAgIGNvbnN0IGV4Y2ggPSB7IGxpbmssIG5hdGl2ZUxpbms6IG5hdGl2ZUxpbmsobGluaywgbG9jYWwpIH07XG4gICAgcmV0dXJuIGV4Y2g7XG4gIH0pO1xuIl19