@matechs/cqrs-es
Advanced tools
Comparing version 0.1.2 to 0.1.3
@@ -27,2 +27,8 @@ import client from "node-eventstore-client"; | ||
} | ||
export interface EventStoreAggregateEventMetadata { | ||
createdAt: string; | ||
aggregate: string; | ||
root: string; | ||
sequence: string; | ||
} | ||
export interface EventStoreError { | ||
@@ -29,0 +35,0 @@ type: "EventStoreError"; |
@@ -62,3 +62,6 @@ "use strict"; | ||
esE.eventMetadata = { | ||
createdAt: event[cqrs_1.metaURI].createdAt | ||
createdAt: event[cqrs_1.metaURI].createdAt, | ||
aggregate: event[cqrs_1.metaURI].aggregate, | ||
root: event[cqrs_1.metaURI].root, | ||
sequence: BigInt(event[cqrs_1.metaURI].sequence).toString(10) | ||
}; | ||
@@ -65,0 +68,0 @@ return esE; |
import { effect as T } from "@matechs/effect"; | ||
import { Aggregate, ReadSideConfig } from "@matechs/cqrs"; | ||
import { Aggregate, ReadSideConfig, EventMetaHidden } from "@matechs/cqrs"; | ||
import { NonEmptyArray } from "fp-ts/lib/NonEmptyArray"; | ||
export declare const eventStore: <E, A, Tag extends keyof A & string, Keys extends NonEmptyArray<A[Tag]>, Db extends symbol>(agg: Aggregate<E, A, Tag, Keys, Db>) => { | ||
import { ElemType } from "morphic-ts/lib/adt/utils"; | ||
export declare const aggregate: <Types extends { [k in keyof Types]: [any, any]; }, Tag extends string, ProgURI extends typeof import("morphic-ts/lib/batteries/program-no-union").ProgramNoUnionURI | typeof import("morphic-ts/lib/batteries/program-orderable").ProgramOrderableURI | typeof import("morphic-ts/lib/batteries/program").ProgramUnionURI, InterpURI extends typeof import("morphic-ts/lib/batteries/interpreters-ESBAST").ESBASTJInterpreterURI, Keys extends NonEmptyArray<keyof Types>, Db extends symbol>(agg: Aggregate<Types, Tag, ProgURI, InterpURI, Keys, Db>) => { | ||
dispatcher: (config: ReadSideConfig) => T.Effect<import("./client").EventStoreConfig & import("@matechs/logger/lib/logger").Logger & import("@matechs/orm").Pool<Db> & import("@matechs/orm").Manager<Db>, import("./client").EventStoreError, never>; | ||
read: (readId: string) => <R2, E2>(process: (a: { [k_1 in Extract<keyof Types, ElemType<Keys>>]: Types[k_1]; }[Extract<keyof Types, ElemType<Keys>>][1] & EventMetaHidden) => T.Effect<R2, E2, void>) => T.Effect<import("./client").EventStoreConfig & (((k: import("./client").EventStoreConfig) => void) | ((k: import("@matechs/orm").ORM<Db>) => void) | ((unknown extends import("@matechs/orm").Pool<Db> & import("@matechs/orm").Manager<Db> & R2 ? never : import("@matechs/orm").Pool<Db> & import("@matechs/orm").Manager<Db> & R2) extends any ? (k: unknown extends import("@matechs/orm").Pool<Db> & import("@matechs/orm").Manager<Db> & R2 ? never : import("@matechs/orm").Pool<Db> & import("@matechs/orm").Manager<Db> & R2) => void : never) extends (k: infer I) => void ? I : never), import("./client").EventStoreError | import("@matechs/orm").TaskError | import("./read").DecodeError<import("io-ts").Errors> | import("./read").ProcessError<E2> | import("./read").OffsetError<import("@matechs/orm").TaskError> | import("./read").ProviderError<import("@matechs/orm").TaskError>, never>; | ||
}; | ||
export { EventStoreError, EventStoreConfig, eventStoreURI } from "./client"; | ||
export { offsetStore, OffsetStore, readEvents } from "./read"; | ||
export { TableOffset, ormOffsetStore } from "./offset"; |
"use strict"; | ||
var __assign = (this && this.__assign) || function () { | ||
__assign = Object.assign || function(t) { | ||
for (var s, i = 1, n = arguments.length; i < n; i++) { | ||
s = arguments[i]; | ||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) | ||
t[p] = s[p]; | ||
} | ||
return t; | ||
}; | ||
return __assign.apply(this, arguments); | ||
}; | ||
exports.__esModule = true; | ||
var effect_1 = require("@matechs/effect"); | ||
var client_1 = require("./client"); | ||
var read_1 = require("./read"); | ||
var offset_1 = require("./offset"); | ||
var pipeable_1 = require("fp-ts/lib/pipeable"); | ||
var meta_1 = require("./meta"); | ||
var Option_1 = require("fp-ts/lib/Option"); | ||
var aggregateRead = function (agg) { return function (config) { | ||
@@ -10,7 +26,22 @@ return effect_1.managed.use(client_1.eventStoreTcpConnection, function (connection) { | ||
}; }; | ||
exports.eventStore = function (agg) { return ({ | ||
dispatcher: aggregateRead(agg) | ||
exports.aggregate = function (agg) { return ({ | ||
dispatcher: aggregateRead(agg), | ||
read: function (readId) { return function (process) { | ||
return read_1.readEvents(readId)("$ce-" + agg.aggregate)(effect_1.effect.liftEither(function (x) { return agg.adt.type.decode(x); }))(function (a) { | ||
return pipeable_1.pipe(meta_1.adaptMeta(a), function (meta) { | ||
return Option_1.isSome(meta) | ||
? process(__assign(__assign({}, a), meta.value)) | ||
: effect_1.effect.raiseAbort(new Error("cannot decode metadata")); | ||
}); | ||
})(offset_1.ormOffsetStore(agg.db))(function (x) { return agg.db.withORMTransaction(x); }); | ||
}; } | ||
}); }; | ||
var client_2 = require("./client"); | ||
exports.eventStoreURI = client_2.eventStoreURI; | ||
var read_2 = require("./read"); | ||
exports.offsetStore = read_2.offsetStore; | ||
exports.readEvents = read_2.readEvents; | ||
var offset_2 = require("./offset"); | ||
exports.TableOffset = offset_2.TableOffset; | ||
exports.ormOffsetStore = offset_2.ormOffsetStore; | ||
//# sourceMappingURL=index.js.map |
{ | ||
"name": "@matechs/cqrs-es", | ||
"version": "0.1.2", | ||
"version": "0.1.3", | ||
"license": "MIT", | ||
@@ -30,12 +30,12 @@ "private": false, | ||
"monocle-ts": "^2.0.1", | ||
"morphic-ts": "^0.8.0-rc.0", | ||
"morphic-ts": "^0.8.0-rc.2", | ||
"reflect-metadata": "^0.1.13", | ||
"typeorm": "^0.2.21" | ||
}, | ||
"gitHead": "1c10c8dab687104461eae93a5079a792659255dc", | ||
"gitHead": "47e7ac46f43e1c320173ec22af2f6ab306e45d1b", | ||
"devDependencies": { | ||
"@matechs/cqrs": "^1.6.2", | ||
"@matechs/effect": "^1.3.0", | ||
"@matechs/logger": "^1.2.3", | ||
"@matechs/orm": "^1.4.0", | ||
"@matechs/cqrs": "^1.6.3", | ||
"@matechs/effect": "^1.3.1", | ||
"@matechs/logger": "^1.2.4", | ||
"@matechs/orm": "^1.4.1", | ||
"class-transformer": "^0.2.3", | ||
@@ -49,3 +49,3 @@ "fast-check": "^1.21.0", | ||
"monocle-ts": "^2.0.1", | ||
"morphic-ts": "^0.8.0-rc.0", | ||
"morphic-ts": "^0.8.0-rc.2", | ||
"newtype-ts": "^0.3.3", | ||
@@ -52,0 +52,0 @@ "node-eventstore-client": "^0.2.15", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
31134
18
391
1