@patternplate/client
Version:
Universal javascript client application for patternplate
55 lines (40 loc) • 1.68 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.type = exports.default = void 0;
var _path = _interopRequireDefault(require("path"));
var _urlQuery = _interopRequireDefault(require("../utils/url-query"));
var _ = require("./");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _extends() { _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; }; return _extends.apply(this, arguments); }
var _default = changeConcern;
exports.default = _default;
const type = "CHANGE_CONCERN";
exports.type = type;
function changeConcern(concern) {
return (dispatch, getState) => {
const state = getState();
const location = state.routing.locationBeforeTransitions;
const parsed = _urlQuery.default.parse(location.query.source);
const previous = parsed.pathname;
const ext = _path.default.extname(previous);
const hasDemo = state.pattern.files.some(file => {
return file.concern === "demo" && file.type === ext.slice(1);
});
const type = concern === "index" && hasDemo ? "source" : parsed.query.type;
const source = _urlQuery.default.format({
pathname: `${_path.default.dirname(previous)}/${concern}${ext}`,
query: _extends({}, parsed.query, {
type
})
});
dispatch((0, _.patchLocation)({
query: {
source
}
}));
};
}
changeConcern.type = type;
//# sourceMappingURL=change-concern.js.map