@fabric-es/fabric-cqrs
Version:
Hyperledger Fabric middleware for event sourcing and cqrs pattern
24 lines • 1.17 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.preSelector = void 0;
const flatten_1 = __importDefault(require("lodash/flatten"));
const reselect_1 = require("reselect");
exports.preSelector = reselect_1.createStructuredSelector({
de: ([{ desc }]) => desc,
event: ([_, history]) => flatten_1.default(history.map(({ events }) => events))
.map(({ type }) => type)
.reduce((prev, curr) => (prev ? `${prev},${curr}` : curr), null),
history: ([_, history]) => history
.map(({ commitId, entityId, entityName }) => `c:${entityName}:${entityId}:${commitId}`)
.reduce((prev, curr) => (prev ? `${prev},${curr}` : curr), null),
id: ([{ id }]) => id,
tag: ([{ tag }]) => tag,
tl: ([_, history]) => flatten_1.default(history.map(({ events }) => events))
.map(({ payload }) => payload._ts)
.reduce((prev, curr) => (prev ? `${prev},${curr}` : curr), null),
val: ([{ value }]) => value,
});
//# sourceMappingURL=preSelector.js.map