@patternplate/client
Version:
Universal javascript client application for patternplate
44 lines (32 loc) • 1.84 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _reactRedux = require("react-redux");
var _reselect = require("reselect");
var _behaviours = require("../behaviours");
var _message = _interopRequireDefault(require("../components/message"));
var demo = _interopRequireWildcard(require("../selectors/demo"));
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var _default = (0, _reactRedux.connect)(mapState)((0, _behaviours.skippable)(_message.default));
exports.default = _default;
const selectLines = (0, _reselect.createSelector)(state => state.messages, demo.selectSrc, (messages, src) => (messages[src] || "").split("\n").filter(Boolean));
const selectMessage = (0, _reselect.createSelector)(selectLines, lines => lines.slice(0, 2).map(l => l.trim()).join("\n"));
const selectDetails = (0, _reselect.createSelector)(selectLines, lines => {
if (lines.length <= 2) {
return "";
}
return lines.join("\n");
});
const selectActive = (0, _reselect.createSelector)(selectMessage, message => typeof message === "string" && message !== "");
function mapState(state) {
return {
active: selectActive(state),
message: selectMessage(state),
details: selectDetails(state),
summary: "Details"
};
}
//# sourceMappingURL=message.js.map