UNPKG

patternplate-client

Version:

Universal javascript client application for patternplate

69 lines (52 loc) 6.67 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _toConsumableArray2 = require('babel-runtime/helpers/toConsumableArray'); var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2); var _path = require('path'); var _path2 = _interopRequireDefault(_path); var _lodash = require('lodash'); var _actions = require('../actions'); var _promiseThunkAction = require('../actions/promise-thunk-action'); var _navigate = require('../utils/navigate'); var _navigate2 = _interopRequireDefault(_navigate); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var handlePatternLoad = (0, _promiseThunkAction.handlePromiseThunkAction)(_actions.loadPatternData, { success: function success(state, _ref) { var payload = _ref.payload; var match = (0, _navigate2.default)(payload.id, state); if (match) { var fragments = payload.id.split('/'); var entities = fragments.map(function (fragment, index) { return (0, _navigate2.default)(fragments.slice(0, index + 1).join('/'), state); }); var entityPath = entities.reduce(function (registry, entity) { var id = _path2.default.basename(entity.id); var amend = entity.type === 'folder' ? [id, 'children'] : [id]; return [].concat((0, _toConsumableArray3.default)(registry), amend); }, []).join('.'); var data = (0, _lodash.merge)({}, match, { dependencies: payload.dependencies, dependents: payload.dependents, display: payload.display, environments: payload.environments, files: payload.files, id: payload.id, manifest: { displayName: payload.manifest.displayName, flag: payload.manifest.flag, tags: payload.manifest.tags, name: payload.manifest.name, version: payload.manifest.version } }); var envelope = (0, _lodash.zipObjectDeep)([entityPath], [data]); return (0, _lodash.merge)({}, state, envelope); } return state; } }, {}); exports.default = handlePatternLoad; module.exports = exports['default']; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS9hcHBsaWNhdGlvbi9yZWR1Y2Vycy9uYXZpZ2F0aW9uLmpzIl0sIm5hbWVzIjpbImhhbmRsZVBhdHRlcm5Mb2FkIiwic3VjY2VzcyIsInN0YXRlIiwicGF5bG9hZCIsIm1hdGNoIiwiaWQiLCJmcmFnbWVudHMiLCJzcGxpdCIsImVudGl0aWVzIiwibWFwIiwiZnJhZ21lbnQiLCJpbmRleCIsInNsaWNlIiwiam9pbiIsImVudGl0eVBhdGgiLCJyZWR1Y2UiLCJyZWdpc3RyeSIsImVudGl0eSIsImJhc2VuYW1lIiwiYW1lbmQiLCJ0eXBlIiwiZGF0YSIsImRlcGVuZGVuY2llcyIsImRlcGVuZGVudHMiLCJkaXNwbGF5IiwiZW52aXJvbm1lbnRzIiwiZmlsZXMiLCJtYW5pZmVzdCIsImRpc3BsYXlOYW1lIiwiZmxhZyIsInRhZ3MiLCJuYW1lIiwidmVyc2lvbiIsImVudmVsb3BlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUE7Ozs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRUEsSUFBTUEsb0JBQW9CLDRFQUEwQztBQUNuRUMsUUFEbUUsbUJBQzNEQyxLQUQyRCxRQUN6QztBQUFBLE1BQVZDLE9BQVUsUUFBVkEsT0FBVTs7QUFDekIsTUFBTUMsUUFBUSx3QkFBU0QsUUFBUUUsRUFBakIsRUFBcUJILEtBQXJCLENBQWQ7QUFDQSxNQUFJRSxLQUFKLEVBQVc7QUFDVixPQUFNRSxZQUFZSCxRQUFRRSxFQUFSLENBQVdFLEtBQVgsQ0FBaUIsR0FBakIsQ0FBbEI7O0FBRUEsT0FBTUMsV0FBV0YsVUFBVUcsR0FBVixDQUFjLFVBQUNDLFFBQUQsRUFBV0MsS0FBWCxFQUFxQjtBQUNuRCxXQUFPLHdCQUFTTCxVQUFVTSxLQUFWLENBQWdCLENBQWhCLEVBQW1CRCxRQUFRLENBQTNCLEVBQThCRSxJQUE5QixDQUFtQyxHQUFuQyxDQUFULEVBQWtEWCxLQUFsRCxDQUFQO0FBQ0EsSUFGZ0IsQ0FBakI7O0FBSUEsT0FBTVksYUFBYU4sU0FBU08sTUFBVCxDQUFnQixVQUFDQyxRQUFELEVBQVdDLE1BQVgsRUFBc0I7QUFDeEQsUUFBTVosS0FBSyxlQUFLYSxRQUFMLENBQWNELE9BQU9aLEVBQXJCLENBQVg7QUFDQSxRQUFNYyxRQUFRRixPQUFPRyxJQUFQLEtBQWdCLFFBQWhCLEdBQ2IsQ0FBQ2YsRUFBRCxFQUFLLFVBQUwsQ0FEYSxHQUViLENBQUNBLEVBQUQsQ0FGRDtBQUdBLHNEQUFXVyxRQUFYLEdBQXdCRyxLQUF4QjtBQUNBLElBTmtCLEVBTWhCLEVBTmdCLEVBTVpOLElBTlksQ0FNUCxHQU5PLENBQW5COztBQVFBLE9BQU1RLE9BQU8sbUJBQU0sRUFBTixFQUFVakIsS0FBVixFQUFpQjtBQUM3QmtCLGtCQUFjbkIsUUFBUW1CLFlBRE87QUFFN0JDLGdCQUFZcEIsUUFBUW9CLFVBRlM7QUFHN0JDLGFBQVNyQixRQUFRcUIsT0FIWTtBQUk3QkMsa0JBQWN0QixRQUFRc0IsWUFKTztBQUs3QkMsV0FBT3ZCLFFBQVF1QixLQUxjO0FBTTdCckIsUUFBSUYsUUFBUUUsRUFOaUI7QUFPN0JzQixjQUFVO0FBQ1RDLGtCQUFhekIsUUFBUXdCLFFBQVIsQ0FBaUJDLFdBRHJCO0FBRVRDLFdBQU0xQixRQUFRd0IsUUFBUixDQUFpQkUsSUFGZDtBQUdUQyxXQUFNM0IsUUFBUXdCLFFBQVIsQ0FBaUJHLElBSGQ7QUFJVEMsV0FBTTVCLFFBQVF3QixRQUFSLENBQWlCSSxJQUpkO0FBS1RDLGNBQVM3QixRQUFRd0IsUUFBUixDQUFpQks7QUFMakI7QUFQbUIsSUFBakIsQ0FBYjtBQWVBLE9BQU1DLFdBQVcsMkJBQWMsQ0FBQ25CLFVBQUQsQ0FBZCxFQUE0QixDQUFDTyxJQUFELENBQTVCLENBQWpCO0FBQ0EsVUFBTyxtQkFBTSxFQUFOLEVBQVVuQixLQUFWLEVBQWlCK0IsUUFBakIsQ0FBUDtBQUNBO0FBQ0QsU0FBTy9CLEtBQVA7QUFDQTtBQXJDa0UsQ0FBMUMsRUFzQ3ZCLEVBdEN1QixDQUExQjs7a0JBd0NlRixpQiIsImZpbGUiOiJuYXZpZ2F0aW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQge21lcmdlLCB6aXBPYmplY3REZWVwfSBmcm9tICdsb2Rhc2gnO1xuXG5pbXBvcnQge2xvYWRQYXR0ZXJuRGF0YX0gZnJvbSAnLi4vYWN0aW9ucyc7XG5pbXBvcnQge2hhbmRsZVByb21pc2VUaHVua0FjdGlvbn0gZnJvbSAnLi4vYWN0aW9ucy9wcm9taXNlLXRodW5rLWFjdGlvbic7XG5pbXBvcnQgbmF2aWdhdGUgZnJvbSAnLi4vdXRpbHMvbmF2aWdhdGUnO1xuXG5jb25zdCBoYW5kbGVQYXR0ZXJuTG9hZCA9IGhhbmRsZVByb21pc2VUaHVua0FjdGlvbihsb2FkUGF0dGVybkRhdGEsIHtcblx0c3VjY2VzcyhzdGF0ZSwge3BheWxvYWR9KSB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBuYXZpZ2F0ZShwYXlsb2FkLmlkLCBzdGF0ZSk7XG5cdFx0aWYgKG1hdGNoKSB7XG5cdFx0XHRjb25zdCBmcmFnbWVudHMgPSBwYXlsb2FkLmlkLnNwbGl0KCcvJyk7XG5cblx0XHRcdGNvbnN0IGVudGl0aWVzID0gZnJhZ21lbnRzLm1hcCgoZnJhZ21lbnQsIGluZGV4KSA9PiB7XG5cdFx0XHRcdHJldHVybiBuYXZpZ2F0ZShmcmFnbWVudHMuc2xpY2UoMCwgaW5kZXggKyAxKS5qb2luKCcvJyksIHN0YXRlKTtcblx0XHRcdH0pO1xuXG5cdFx0XHRjb25zdCBlbnRpdHlQYXRoID0gZW50aXRpZXMucmVkdWNlKChyZWdpc3RyeSwgZW50aXR5KSA9PiB7XG5cdFx0XHRcdGNvbnN0IGlkID0gcGF0aC5iYXNlbmFtZShlbnRpdHkuaWQpO1xuXHRcdFx0XHRjb25zdCBhbWVuZCA9IGVudGl0eS50eXBlID09PSAnZm9sZGVyJyA/XG5cdFx0XHRcdFx0W2lkLCAnY2hpbGRyZW4nXSA6XG5cdFx0XHRcdFx0W2lkXTtcblx0XHRcdFx0cmV0dXJuIFsuLi5yZWdpc3RyeSwgLi4uYW1lbmRdO1xuXHRcdFx0fSwgW10pLmpvaW4oJy4nKTtcblxuXHRcdFx0Y29uc3QgZGF0YSA9IG1lcmdlKHt9LCBtYXRjaCwge1xuXHRcdFx0XHRkZXBlbmRlbmNpZXM6IHBheWxvYWQuZGVwZW5kZW5jaWVzLFxuXHRcdFx0XHRkZXBlbmRlbnRzOiBwYXlsb2FkLmRlcGVuZGVudHMsXG5cdFx0XHRcdGRpc3BsYXk6IHBheWxvYWQuZGlzcGxheSxcblx0XHRcdFx0ZW52aXJvbm1lbnRzOiBwYXlsb2FkLmVudmlyb25tZW50cyxcblx0XHRcdFx0ZmlsZXM6IHBheWxvYWQuZmlsZXMsXG5cdFx0XHRcdGlkOiBwYXlsb2FkLmlkLFxuXHRcdFx0XHRtYW5pZmVzdDoge1xuXHRcdFx0XHRcdGRpc3BsYXlOYW1lOiBwYXlsb2FkLm1hbmlmZXN0LmRpc3BsYXlOYW1lLFxuXHRcdFx0XHRcdGZsYWc6IHBheWxvYWQubWFuaWZlc3QuZmxhZyxcblx0XHRcdFx0XHR0YWdzOiBwYXlsb2FkLm1hbmlmZXN0LnRhZ3MsXG5cdFx0XHRcdFx0bmFtZTogcGF5bG9hZC5tYW5pZmVzdC5uYW1lLFxuXHRcdFx0XHRcdHZlcnNpb246IHBheWxvYWQubWFuaWZlc3QudmVyc2lvblxuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHRcdGNvbnN0IGVudmVsb3BlID0gemlwT2JqZWN0RGVlcChbZW50aXR5UGF0aF0sIFtkYXRhXSk7XG5cdFx0XHRyZXR1cm4gbWVyZ2Uoe30sIHN0YXRlLCBlbnZlbG9wZSk7XG5cdFx0fVxuXHRcdHJldHVybiBzdGF0ZTtcblx0fVxufSwge30pO1xuXG5leHBvcnQgZGVmYXVsdCBoYW5kbGVQYXR0ZXJuTG9hZDtcbiJdfQ==