UNPKG

@reactant/context

Version:
165 lines (112 loc) 12.9 kB
"use strict"; 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=