@reactant/context
Version:
165 lines (112 loc) • 12.9 kB
JavaScript
;
require("core-js/modules/es.symbol");
require("core-js/modules/es.symbol.description");
require("core-js/modules/es.symbol.iterator");
require("core-js/modules/es.array.filter");
require("core-js/modules/es.array.for-each");
require("core-js/modules/es.array.from");
require("core-js/modules/es.array.includes");
require("core-js/modules/es.array.iterator");
require("core-js/modules/es.array.reduce");
require("core-js/modules/es.array.slice");
require("core-js/modules/es.function.name");
require("core-js/modules/es.object.entries");
require("core-js/modules/es.object.get-own-property-descriptor");
require("core-js/modules/es.object.get-own-property-descriptors");
require("core-js/modules/es.object.keys");
require("core-js/modules/es.object.to-string");
require("core-js/modules/es.regexp.constructor");
require("core-js/modules/es.regexp.exec");
require("core-js/modules/es.regexp.to-string");
require("core-js/modules/es.string.includes");
require("core-js/modules/es.string.iterator");
require("core-js/modules/es.string.match");
require("core-js/modules/es.string.replace");
require("core-js/modules/web.dom-collections.for-each");
require("core-js/modules/web.dom-collections.iterator");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.CalculatePaths = void 0;
var _path = _interopRequireDefault(require("path"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
var CalculatePaths = /*#__PURE__*/function () {
function CalculatePaths(paths, rootPath, platformName, actionName, masterPid) {
_classCallCheck(this, CalculatePaths);
this.rootPath = rootPath;
this.vars = void 0;
this.unparsedPaths = void 0;
this.unparsedPaths = paths;
this.vars = _objectSpread(_objectSpread({}, paths), {}, {
_action: actionName,
_masterPid: masterPid.toString(),
_platform: platformName
});
}
_createClass(CalculatePaths, [{
key: "getVarMap",
value: function getVarMap(path) {
var regex = /{(([^{/])|(\\\/)|(\\{))+}/g;
var matches = path.match(regex);
if (!matches || !matches.length) return {};
return matches.reduce(function (varMap, match) {
var key = match.substr(1, match.length - 2);
varMap[key] = match;
return varMap;
}, {});
}
}, {
key: "preResolve",
value: function preResolve(path) {
var _this = this;
var varMap = this.getVarMap(path);
return Object.entries(varMap).reduce(function (path, _ref) {
var _ref2 = _slicedToArray(_ref, 2),
key = _ref2[0],
match = _ref2[1];
var MATCH = new RegExp(match, 'g');
path = path.replace(MATCH, _this.vars[key]);
if (Object.keys(_this.getVarMap(path)).length) {
return _this.preResolve(path);
}
return path;
}, path);
}
}, {
key: "resolve",
value: function resolve(configPath) {
var resolvedPath = _path.default.resolve(this.rootPath, this.preResolve(configPath));
if (this.rootPath === resolvedPath) return this.rootPath;
return resolvedPath.substr(this.rootPath.length + 1);
}
}, {
key: "paths",
get: function get() {
var _this2 = this;
return Object.entries(this.unparsedPaths).reduce(function (paths, _ref3) {
var _ref4 = _slicedToArray(_ref3, 2),
key = _ref4[0],
path = _ref4[1];
if (!Object.keys(paths).includes(key)) {
paths[key] = _this2.resolve(path);
}
return paths;
}, {});
}
}]);
return CalculatePaths;
}();
exports.CalculatePaths = CalculatePaths;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wYXRocy50cyJdLCJuYW1lcyI6WyJDYWxjdWxhdGVQYXRocyIsInBhdGhzIiwicm9vdFBhdGgiLCJwbGF0Zm9ybU5hbWUiLCJhY3Rpb25OYW1lIiwibWFzdGVyUGlkIiwidmFycyIsInVucGFyc2VkUGF0aHMiLCJfYWN0aW9uIiwiX21hc3RlclBpZCIsInRvU3RyaW5nIiwiX3BsYXRmb3JtIiwicGF0aCIsInJlZ2V4IiwibWF0Y2hlcyIsIm1hdGNoIiwibGVuZ3RoIiwicmVkdWNlIiwidmFyTWFwIiwia2V5Iiwic3Vic3RyIiwiZ2V0VmFyTWFwIiwiT2JqZWN0IiwiZW50cmllcyIsIk1BVENIIiwiUmVnRXhwIiwicmVwbGFjZSIsImtleXMiLCJwcmVSZXNvbHZlIiwiY29uZmlnUGF0aCIsInJlc29sdmVkUGF0aCIsInJlc29sdmUiLCJpbmNsdWRlcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFXYUEsYztBQUtYLDBCQUNFQyxLQURGLEVBRVVDLFFBRlYsRUFHRUMsWUFIRixFQUlFQyxVQUpGLEVBS0VDLFNBTEYsRUFNRTtBQUFBOztBQUFBLFNBSlFILFFBSVIsR0FKUUEsUUFJUjtBQUFBLFNBVk1JLElBVU47QUFBQSxTQVJNQyxhQVFOO0FBQ0EsU0FBS0EsYUFBTCxHQUFxQk4sS0FBckI7QUFDQSxTQUFLSyxJQUFMLG1DQUNLTCxLQURMO0FBRUVPLE1BQUFBLE9BQU8sRUFBRUosVUFGWDtBQUdFSyxNQUFBQSxVQUFVLEVBQUVKLFNBQVMsQ0FBQ0ssUUFBVixFQUhkO0FBSUVDLE1BQUFBLFNBQVMsRUFBRVI7QUFKYjtBQU1EOzs7OzhCQWNTUyxJLEVBQXNCO0FBQzlCLFVBQU1DLEtBQUssR0FBRyw0QkFBZDtBQUNBLFVBQU1DLE9BQU8sR0FBR0YsSUFBSSxDQUFDRyxLQUFMLENBQVdGLEtBQVgsQ0FBaEI7QUFDQSxVQUFJLENBQUNDLE9BQUQsSUFBWSxDQUFDQSxPQUFPLENBQUNFLE1BQXpCLEVBQWlDLE9BQU8sRUFBUDtBQUNqQyxhQUFPRixPQUFPLENBQUNHLE1BQVIsQ0FBZSxVQUFDQyxNQUFELEVBQWlCSCxLQUFqQixFQUFtQztBQUN2RCxZQUFNSSxHQUFHLEdBQUdKLEtBQUssQ0FBQ0ssTUFBTixDQUFhLENBQWIsRUFBZ0JMLEtBQUssQ0FBQ0MsTUFBTixHQUFlLENBQS9CLENBQVo7QUFDQUUsUUFBQUEsTUFBTSxDQUFDQyxHQUFELENBQU4sR0FBY0osS0FBZDtBQUNBLGVBQU9HLE1BQVA7QUFDRCxPQUpNLEVBSUosRUFKSSxDQUFQO0FBS0Q7OzsrQkFFVU4sSSxFQUFzQjtBQUFBOztBQUMvQixVQUFNTSxNQUFNLEdBQUcsS0FBS0csU0FBTCxDQUFlVCxJQUFmLENBQWY7QUFDQSxhQUFPVSxNQUFNLENBQUNDLE9BQVAsQ0FBZUwsTUFBZixFQUF1QkQsTUFBdkIsQ0FDTCxVQUFDTCxJQUFELFFBQWtEO0FBQUE7QUFBQSxZQUFsQ08sR0FBa0M7QUFBQSxZQUE3QkosS0FBNkI7O0FBQ2hELFlBQU1TLEtBQUssR0FBRyxJQUFJQyxNQUFKLENBQVdWLEtBQVgsRUFBa0IsR0FBbEIsQ0FBZDtBQUNBSCxRQUFBQSxJQUFJLEdBQUdBLElBQUksQ0FBQ2MsT0FBTCxDQUFhRixLQUFiLEVBQW9CLEtBQUksQ0FBQ2xCLElBQUwsQ0FBVWEsR0FBVixDQUFwQixDQUFQOztBQUNBLFlBQUlHLE1BQU0sQ0FBQ0ssSUFBUCxDQUFZLEtBQUksQ0FBQ04sU0FBTCxDQUFlVCxJQUFmLENBQVosRUFBa0NJLE1BQXRDLEVBQThDO0FBQzVDLGlCQUFPLEtBQUksQ0FBQ1ksVUFBTCxDQUFnQmhCLElBQWhCLENBQVA7QUFDRDs7QUFDRCxlQUFPQSxJQUFQO0FBQ0QsT0FSSSxFQVNMQSxJQVRLLENBQVA7QUFXRDs7OzRCQUVPaUIsVSxFQUE0QjtBQUNsQyxVQUFNQyxZQUFZLEdBQUdsQixjQUFLbUIsT0FBTCxDQUNuQixLQUFLN0IsUUFEYyxFQUVuQixLQUFLMEIsVUFBTCxDQUFnQkMsVUFBaEIsQ0FGbUIsQ0FBckI7O0FBSUEsVUFBSSxLQUFLM0IsUUFBTCxLQUFrQjRCLFlBQXRCLEVBQW9DLE9BQU8sS0FBSzVCLFFBQVo7QUFDcEMsYUFBTzRCLFlBQVksQ0FBQ1YsTUFBYixDQUFvQixLQUFLbEIsUUFBTCxDQUFjYyxNQUFkLEdBQXVCLENBQTNDLENBQVA7QUFDRDs7O3dCQTdDa0I7QUFBQTs7QUFDakIsYUFBT00sTUFBTSxDQUFDQyxPQUFQLENBQWUsS0FBS2hCLGFBQXBCLEVBQW1DVSxNQUFuQyxDQUNMLFVBQUNoQixLQUFELFNBQWlEO0FBQUE7QUFBQSxZQUFqQ2tCLEdBQWlDO0FBQUEsWUFBNUJQLElBQTRCOztBQUMvQyxZQUFJLENBQUNVLE1BQU0sQ0FBQ0ssSUFBUCxDQUFZMUIsS0FBWixFQUFtQitCLFFBQW5CLENBQTRCYixHQUE1QixDQUFMLEVBQXVDO0FBQ3JDbEIsVUFBQUEsS0FBSyxDQUFDa0IsR0FBRCxDQUFMLEdBQWEsTUFBSSxDQUFDWSxPQUFMLENBQWFuQixJQUFiLENBQWI7QUFDRDs7QUFDRCxlQUFPWCxLQUFQO0FBQ0QsT0FOSSxFQU9MLEVBUEssQ0FBUDtBQVNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBQYXRocyB9IGZyb20gJ0ByZWFjdGFudC90eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmFycyB7XG4gIFtrZXk6IHN0cmluZ106IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWYXJNYXAge1xuICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBDYWxjdWxhdGVQYXRocyB7XG4gIHByaXZhdGUgdmFyczogVmFycztcblxuICBwcml2YXRlIHVucGFyc2VkUGF0aHM6IFBhdGhzO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHBhdGhzOiBQYXRocyxcbiAgICBwcml2YXRlIHJvb3RQYXRoOiBzdHJpbmcsXG4gICAgcGxhdGZvcm1OYW1lOiBzdHJpbmcsXG4gICAgYWN0aW9uTmFtZTogc3RyaW5nLFxuICAgIG1hc3RlclBpZDogbnVtYmVyXG4gICkge1xuICAgIHRoaXMudW5wYXJzZWRQYXRocyA9IHBhdGhzO1xuICAgIHRoaXMudmFycyA9IHtcbiAgICAgIC4uLnBhdGhzLFxuICAgICAgX2FjdGlvbjogYWN0aW9uTmFtZSxcbiAgICAgIF9tYXN0ZXJQaWQ6IG1hc3RlclBpZC50b1N0cmluZygpLFxuICAgICAgX3BsYXRmb3JtOiBwbGF0Zm9ybU5hbWVcbiAgICB9O1xuICB9XG5cbiAgZ2V0IHBhdGhzKCk6IFBhdGhzIHtcbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXModGhpcy51bnBhcnNlZFBhdGhzKS5yZWR1Y2UoXG4gICAgICAocGF0aHM6IFBhdGhzLCBba2V5LCBwYXRoXTogW3N0cmluZywgc3RyaW5nXSkgPT4ge1xuICAgICAgICBpZiAoIU9iamVjdC5rZXlzKHBhdGhzKS5pbmNsdWRlcyhrZXkpKSB7XG4gICAgICAgICAgcGF0aHNba2V5XSA9IHRoaXMucmVzb2x2ZShwYXRoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcGF0aHM7XG4gICAgICB9LFxuICAgICAge30gYXMgUGF0aHNcbiAgICApO1xuICB9XG5cbiAgZ2V0VmFyTWFwKHBhdGg6IHN0cmluZyk6IFZhck1hcCB7XG4gICAgY29uc3QgcmVnZXggPSAveygoW157L10pfChcXFxcXFwvKXwoXFxcXHspKSt9L2c7XG4gICAgY29uc3QgbWF0Y2hlcyA9IHBhdGgubWF0Y2gocmVnZXgpO1xuICAgIGlmICghbWF0Y2hlcyB8fCAhbWF0Y2hlcy5sZW5ndGgpIHJldHVybiB7fSBhcyBWYXJNYXA7XG4gICAgcmV0dXJuIG1hdGNoZXMucmVkdWNlKCh2YXJNYXA6IFZhck1hcCwgbWF0Y2g6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3Qga2V5ID0gbWF0Y2guc3Vic3RyKDEsIG1hdGNoLmxlbmd0aCAtIDIpO1xuICAgICAgdmFyTWFwW2tleV0gPSBtYXRjaDtcbiAgICAgIHJldHVybiB2YXJNYXA7XG4gICAgfSwge30gYXMgVmFyTWFwKTtcbiAgfVxuXG4gIHByZVJlc29sdmUocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCB2YXJNYXAgPSB0aGlzLmdldFZhck1hcChwYXRoKTtcbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXModmFyTWFwKS5yZWR1Y2UoXG4gICAgICAocGF0aDogc3RyaW5nLCBba2V5LCBtYXRjaF06IFtzdHJpbmcsIHN0cmluZ10pID0+IHtcbiAgICAgICAgY29uc3QgTUFUQ0ggPSBuZXcgUmVnRXhwKG1hdGNoLCAnZycpO1xuICAgICAgICBwYXRoID0gcGF0aC5yZXBsYWNlKE1BVENILCB0aGlzLnZhcnNba2V5XSk7XG4gICAgICAgIGlmIChPYmplY3Qua2V5cyh0aGlzLmdldFZhck1hcChwYXRoKSkubGVuZ3RoKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMucHJlUmVzb2x2ZShwYXRoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcGF0aDtcbiAgICAgIH0sXG4gICAgICBwYXRoXG4gICAgKTtcbiAgfVxuXG4gIHJlc29sdmUoY29uZmlnUGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCByZXNvbHZlZFBhdGggPSBwYXRoLnJlc29sdmUoXG4gICAgICB0aGlzLnJvb3RQYXRoLFxuICAgICAgdGhpcy5wcmVSZXNvbHZlKGNvbmZpZ1BhdGgpXG4gICAgKTtcbiAgICBpZiAodGhpcy5yb290UGF0aCA9PT0gcmVzb2x2ZWRQYXRoKSByZXR1cm4gdGhpcy5yb290UGF0aDtcbiAgICByZXR1cm4gcmVzb2x2ZWRQYXRoLnN1YnN0cih0aGlzLnJvb3RQYXRoLmxlbmd0aCArIDEpO1xuICB9XG59XG4iXX0=