patternplate-client
Version:
Universal javascript client application for patternplate
57 lines (41 loc) • 4.49 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.type = undefined;
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
var _urlQuery = require('../utils/url-query');
var _urlQuery2 = _interopRequireDefault(_urlQuery);
var _ = require('./');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = changeConcern;
var type = exports.type = 'CHANGE_CONCERN';
function changeConcern(concern) {
return function (dispatch, getState) {
var state = getState();
var location = state.routing.locationBeforeTransitions;
var parsed = _urlQuery2.default.parse(location.query.source);
var previous = parsed.pathname;
var ext = _path2.default.extname(previous);
var hasDemo = state.pattern.files.some(function (file) {
return file.concern === 'demo' && file.type === ext.slice(1);
});
var type = concern === 'index' && hasDemo ? 'source' : parsed.query.type;
var source = _urlQuery2.default.format({
pathname: _path2.default.dirname(previous) + '/' + concern + ext,
query: (0, _extends3.default)({}, parsed.query, {
type: type
})
});
dispatch((0, _.patchLocation)({
query: {
source: source
}
}));
};
}
changeConcern.type = type;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS9hcHBsaWNhdGlvbi9hY3Rpb25zL2NoYW5nZS1jb25jZXJuLmpzIl0sIm5hbWVzIjpbImNoYW5nZUNvbmNlcm4iLCJ0eXBlIiwiY29uY2VybiIsImRpc3BhdGNoIiwiZ2V0U3RhdGUiLCJzdGF0ZSIsImxvY2F0aW9uIiwicm91dGluZyIsImxvY2F0aW9uQmVmb3JlVHJhbnNpdGlvbnMiLCJwYXJzZWQiLCJwYXJzZSIsInF1ZXJ5Iiwic291cmNlIiwicHJldmlvdXMiLCJwYXRobmFtZSIsImV4dCIsImV4dG5hbWUiLCJoYXNEZW1vIiwicGF0dGVybiIsImZpbGVzIiwic29tZSIsImZpbGUiLCJzbGljZSIsImZvcm1hdCIsImRpcm5hbWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7Ozs7QUFDQTs7OztBQUNBOzs7O2tCQUVlQSxhO0FBQ1IsSUFBTUMsc0JBQU8sZ0JBQWI7O0FBRVAsU0FBU0QsYUFBVCxDQUF1QkUsT0FBdkIsRUFBZ0M7QUFDL0IsUUFBTyxVQUFDQyxRQUFELEVBQVdDLFFBQVgsRUFBd0I7QUFDOUIsTUFBTUMsUUFBUUQsVUFBZDtBQUNBLE1BQU1FLFdBQVdELE1BQU1FLE9BQU4sQ0FBY0MseUJBQS9CO0FBQ0EsTUFBTUMsU0FBUyxtQkFBU0MsS0FBVCxDQUFlSixTQUFTSyxLQUFULENBQWVDLE1BQTlCLENBQWY7QUFDQSxNQUFNQyxXQUFXSixPQUFPSyxRQUF4QjtBQUNBLE1BQU1DLE1BQU0sZUFBS0MsT0FBTCxDQUFhSCxRQUFiLENBQVo7O0FBRUEsTUFBTUksVUFBVVosTUFBTWEsT0FBTixDQUFjQyxLQUFkLENBQW9CQyxJQUFwQixDQUF5QixnQkFBUTtBQUNoRCxVQUFPQyxLQUFLbkIsT0FBTCxLQUFpQixNQUFqQixJQUEyQm1CLEtBQUtwQixJQUFMLEtBQWNjLElBQUlPLEtBQUosQ0FBVSxDQUFWLENBQWhEO0FBQ0EsR0FGZSxDQUFoQjs7QUFJQSxNQUFNckIsT0FBT0MsWUFBWSxPQUFaLElBQXVCZSxPQUF2QixHQUNaLFFBRFksR0FFWlIsT0FBT0UsS0FBUCxDQUFhVixJQUZkOztBQUlBLE1BQU1XLFNBQVMsbUJBQVNXLE1BQVQsQ0FBZ0I7QUFDOUJULGFBQWEsZUFBS1UsT0FBTCxDQUFhWCxRQUFiLENBQWIsU0FBdUNYLE9BQXZDLEdBQWlEYSxHQURuQjtBQUU5QkoscUNBQ0lGLE9BQU9FLEtBRFg7QUFFQ1Y7QUFGRDtBQUY4QixHQUFoQixDQUFmOztBQVFBRSxXQUFTLHFCQUFjO0FBQ3RCUSxVQUFPO0FBQ05DO0FBRE07QUFEZSxHQUFkLENBQVQ7QUFLQSxFQTVCRDtBQTZCQTs7QUFFRFosY0FBY0MsSUFBZCxHQUFxQkEsSUFBckIiLCJmaWxlIjoiY2hhbmdlLWNvbmNlcm4uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB1cmxRdWVyeSBmcm9tICcuLi91dGlscy91cmwtcXVlcnknO1xuaW1wb3J0IHtwYXRjaExvY2F0aW9ufSBmcm9tICcuLyc7XG5cbmV4cG9ydCBkZWZhdWx0IGNoYW5nZUNvbmNlcm47XG5leHBvcnQgY29uc3QgdHlwZSA9ICdDSEFOR0VfQ09OQ0VSTic7XG5cbmZ1bmN0aW9uIGNoYW5nZUNvbmNlcm4oY29uY2Vybikge1xuXHRyZXR1cm4gKGRpc3BhdGNoLCBnZXRTdGF0ZSkgPT4ge1xuXHRcdGNvbnN0IHN0YXRlID0gZ2V0U3RhdGUoKTtcblx0XHRjb25zdCBsb2NhdGlvbiA9IHN0YXRlLnJvdXRpbmcubG9jYXRpb25CZWZvcmVUcmFuc2l0aW9ucztcblx0XHRjb25zdCBwYXJzZWQgPSB1cmxRdWVyeS5wYXJzZShsb2NhdGlvbi5xdWVyeS5zb3VyY2UpO1xuXHRcdGNvbnN0IHByZXZpb3VzID0gcGFyc2VkLnBhdGhuYW1lO1xuXHRcdGNvbnN0IGV4dCA9IHBhdGguZXh0bmFtZShwcmV2aW91cyk7XG5cblx0XHRjb25zdCBoYXNEZW1vID0gc3RhdGUucGF0dGVybi5maWxlcy5zb21lKGZpbGUgPT4ge1xuXHRcdFx0cmV0dXJuIGZpbGUuY29uY2VybiA9PT0gJ2RlbW8nICYmIGZpbGUudHlwZSA9PT0gZXh0LnNsaWNlKDEpO1xuXHRcdH0pO1xuXG5cdFx0Y29uc3QgdHlwZSA9IGNvbmNlcm4gPT09ICdpbmRleCcgJiYgaGFzRGVtbyA/XG5cdFx0XHQnc291cmNlJyA6XG5cdFx0XHRwYXJzZWQucXVlcnkudHlwZTtcblxuXHRcdGNvbnN0IHNvdXJjZSA9IHVybFF1ZXJ5LmZvcm1hdCh7XG5cdFx0XHRwYXRobmFtZTogYCR7cGF0aC5kaXJuYW1lKHByZXZpb3VzKX0vJHtjb25jZXJufSR7ZXh0fWAsXG5cdFx0XHRxdWVyeToge1xuXHRcdFx0XHQuLi5wYXJzZWQucXVlcnksXG5cdFx0XHRcdHR5cGVcblx0XHRcdH1cblx0XHR9KTtcblxuXHRcdGRpc3BhdGNoKHBhdGNoTG9jYXRpb24oe1xuXHRcdFx0cXVlcnk6IHtcblx0XHRcdFx0c291cmNlXG5cdFx0XHR9XG5cdFx0fSkpO1xuXHR9O1xufVxuXG5jaGFuZ2VDb25jZXJuLnR5cGUgPSB0eXBlO1xuIl19