@meticoeus/ddd-es 0.2.8 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -3
- package/dist/package.json +1 -1
- package/dist/src/AggregateRoot.d.ts +1 -1
- package/dist/src/AggregateRoot.d.ts.map +1 -1
- package/dist/src/AggregateRoot.js +7 -1
- package/dist/src/AggregateRoot.js.map +1 -1
- package/dist/src/types.js +1 -1
- package/package.json +1 -1
- package/scripts/install.mjs +9 -9
package/README.md
CHANGED
|
@@ -3,8 +3,7 @@
|
|
|
3
3
|
[](https://badge.fury.io/js/%40meticoeus%2Fddd-es)
|
|
4
4
|
[](https://opensource.org/licenses/MIT)
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
*A TypeScript library for using Event Sourcing and Domain-Driven Design.*
|
|
6
|
+
_A TypeScript library for using Event Sourcing and Domain-Driven Design._
|
|
8
7
|
|
|
9
8
|
## **Overview**
|
|
10
9
|
|
|
@@ -20,7 +19,7 @@ npm install @meticoeus/ddd-es
|
|
|
20
19
|
|
|
21
20
|
TODO
|
|
22
21
|
|
|
23
|
-
|
|
22
|
+
---
|
|
24
23
|
|
|
25
24
|
## **Exports**
|
|
26
25
|
|
package/dist/package.json
CHANGED
|
@@ -32,7 +32,7 @@ export declare abstract class AggregateRoot<DomainEvent extends IEvent = IEvent>
|
|
|
32
32
|
get deleted(): boolean;
|
|
33
33
|
static eventsConflict(pending: IEvent, committed: IPersistedEvent): boolean;
|
|
34
34
|
getUncommittedChanges(): DomainEvent[];
|
|
35
|
-
markChangesAsCommitted(): void;
|
|
35
|
+
markChangesAsCommitted(nextRevision?: bigint): void;
|
|
36
36
|
loadFromHistory(history: Iterable<Persisted<DomainEvent>>): void;
|
|
37
37
|
protected applyChange(event: DomainEvent, isNew?: boolean): void;
|
|
38
38
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AggregateRoot.d.ts","sourceRoot":"","sources":["../../src/AggregateRoot.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAM,SAAS,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAItF,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,MAAM,MAAM,kBAAkB,CAC5B,WAAW,SAAS,MAAM,EAC1B,CAAC,SAAS,aAAa,CAAC,WAAW,CAAC,IAClC,CAAC,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAA;AAE5B,MAAM,WAAW,kBAAkB,CACjC,WAAW,SAAS,MAAM,EAC1B,CAAC,SAAS,aAAa,CAAC,WAAW,CAAC;IAEpC,KAAK,MAAM,CAAC,EAAE,eAAe,GAAG,CAAC,CAAA;IAEjC,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IAEjC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,GAAG,OAAO,CAAA;CACrE;AAED,8BAAsB,aAAa,CAAC,WAAW,SAAS,MAAM,GAAG,MAAM;IACrE,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmD;IAE7E,SAAS,aAAa,MAAM,CAAC,EAAE,eAAe;IAa9C,SAAS,CAAC,GAAG,EAAE,MAAM,CAAA;IAErB,IAAW,EAAE,IAAI,MAAM,CAEtB;IAED,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAEvC,IAAW,QAAQ,IAAI,MAAM,GAAG,SAAS,CAExC;IAED,8CAA8C;IAC9C,IAAW,OAAO,IAAI,SAAS,CAAC,WAAW,CAAC,EAAE,CAE7C;IAED,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAQ;IAEnC,IAAW,OAAO,IAAI,OAAO,CAE5B;WAEa,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,GAAG,OAAO;IAM3E,qBAAqB,IAAI,WAAW,EAAE;IAItC,sBAAsB,
|
|
1
|
+
{"version":3,"file":"AggregateRoot.d.ts","sourceRoot":"","sources":["../../src/AggregateRoot.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAM,SAAS,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAItF,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,MAAM,MAAM,kBAAkB,CAC5B,WAAW,SAAS,MAAM,EAC1B,CAAC,SAAS,aAAa,CAAC,WAAW,CAAC,IAClC,CAAC,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAA;AAE5B,MAAM,WAAW,kBAAkB,CACjC,WAAW,SAAS,MAAM,EAC1B,CAAC,SAAS,aAAa,CAAC,WAAW,CAAC;IAEpC,KAAK,MAAM,CAAC,EAAE,eAAe,GAAG,CAAC,CAAA;IAEjC,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IAEjC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,GAAG,OAAO,CAAA;CACrE;AAED,8BAAsB,aAAa,CAAC,WAAW,SAAS,MAAM,GAAG,MAAM;IACrE,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmD;IAE7E,SAAS,aAAa,MAAM,CAAC,EAAE,eAAe;IAa9C,SAAS,CAAC,GAAG,EAAE,MAAM,CAAA;IAErB,IAAW,EAAE,IAAI,MAAM,CAEtB;IAED,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAEvC,IAAW,QAAQ,IAAI,MAAM,GAAG,SAAS,CAExC;IAED,8CAA8C;IAC9C,IAAW,OAAO,IAAI,SAAS,CAAC,WAAW,CAAC,EAAE,CAE7C;IAED,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAQ;IAEnC,IAAW,OAAO,IAAI,OAAO,CAE5B;WAEa,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,GAAG,OAAO;IAM3E,qBAAqB,IAAI,WAAW,EAAE;IAItC,sBAAsB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI;IASnD,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI;IAYvE,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,GAAE,OAAc,GAAG,IAAI;IAiBtE;;OAEG;IACI,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC;IAK3D;;;;;;;OAOG;IACI,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,EAAE;CAiB3E"}
|
|
@@ -64,7 +64,13 @@ export class AggregateRoot {
|
|
|
64
64
|
getUncommittedChanges() {
|
|
65
65
|
return this.__changes;
|
|
66
66
|
}
|
|
67
|
-
markChangesAsCommitted() {
|
|
67
|
+
markChangesAsCommitted(nextRevision) {
|
|
68
|
+
if (typeof nextRevision === 'bigint') {
|
|
69
|
+
this._revision = nextRevision;
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
this._revision = (this._revision ?? 0n) + BigInt(this.__changes.length);
|
|
73
|
+
}
|
|
68
74
|
this.__changes = [];
|
|
69
75
|
}
|
|
70
76
|
loadFromHistory(history) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AggregateRoot.js","sourceRoot":"","sources":["../../src/AggregateRoot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;EAsBE;AAEF,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAsC,EAAE,EAAqB,MAAM,YAAY,CAAA;AAEtF,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAA;AA4BlC,MAAM,OAAgB,aAAa;IACzB,cAAc,CAAS;IACvB,SAAS,GAA6B,EAAE,CAAA;IACxC,SAAS,GAAkB,EAAE,CAAA;IACpB,SAAS,GAA0C,IAAI,GAAG,EAAE,CAAA;IAE7E,YAAsB,MAAwB;QAC5C,IAAI,CAAC,cAAc,GAAG,MAAM,EAAE,YAAY,IAAI,IAAI,CAAA;QAElD,MAAM,KAAK,GAAG,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAA;QACrE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,EAAE,GAAI,IAAY,CAAC,IAAI,CAAC,CAAA;YAC9B,IAAI,OAAO,EAAE,KAAK,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,WAAW,EAAE,CAAC;gBACtF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAA;YACrD,CAAC;QACH,CAAC;IACH,CAAC;IAED,0EAA0E;IAChE,GAAG,CAAQ;IAErB,IAAW,EAAE;QACX,OAAO,IAAI,CAAC,GAAG,CAAA;IACjB,CAAC;IAES,SAAS,CAAoB;IAEvC,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED,8CAA8C;IAC9C,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAES,QAAQ,GAAY,KAAK,CAAA;IAEnC,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,OAAe,EAAE,SAA0B;QACtE,wCAAwC;QACxC,qEAAqE;QACrE,OAAO,SAAS,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAA;IACxC,CAAC;IAEM,qBAAqB;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAEM,sBAAsB;
|
|
1
|
+
{"version":3,"file":"AggregateRoot.js","sourceRoot":"","sources":["../../src/AggregateRoot.ts"],"names":[],"mappings":"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"}
|
package/dist/src/types.js
CHANGED
|
@@ -98,7 +98,7 @@ export class AuthorizationException extends Exception {
|
|
|
98
98
|
userId;
|
|
99
99
|
permission;
|
|
100
100
|
constructor(entityName, entityId, userId, permission, code) {
|
|
101
|
-
super('AuthorizationException', `User "${userId}" missing authorization for ${entityName}:"${entityId}" for permission "${permission}".`, code ??
|
|
101
|
+
super('AuthorizationException', `User "${userId}" missing authorization for ${entityName}:"${entityId}" for permission "${permission}".`, code ?? 403);
|
|
102
102
|
this.entityName = entityName;
|
|
103
103
|
this.entityId = entityId;
|
|
104
104
|
this.userId = userId;
|
package/package.json
CHANGED
package/scripts/install.mjs
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { existsSync } from 'fs'
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { existsSync } from 'fs'
|
|
2
|
+
import { dirname, join } from 'path'
|
|
3
|
+
import { fileURLToPath } from 'url'
|
|
4
4
|
|
|
5
5
|
// Skip Husky install in production and CI
|
|
6
6
|
if (process.env.HUSKY === '0' || process.env.CI === 'true') {
|
|
7
|
-
process.exit(0)
|
|
7
|
+
process.exit(0)
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
// Get the current directory of this file in an ES module
|
|
11
|
-
const __filename = fileURLToPath(import.meta.url)
|
|
12
|
-
const __dirname = dirname(__filename)
|
|
11
|
+
const __filename = fileURLToPath(import.meta.url)
|
|
12
|
+
const __dirname = dirname(__filename)
|
|
13
13
|
|
|
14
14
|
// Only proceed in .git exists
|
|
15
|
-
const gitDir = join(__dirname, '..', '.git')
|
|
15
|
+
const gitDir = join(__dirname, '..', '.git')
|
|
16
16
|
if (!existsSync(gitDir)) {
|
|
17
|
-
process.exit(0)
|
|
17
|
+
process.exit(0)
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
// Import Husky for installation
|
|
21
|
-
await import('husky')
|
|
21
|
+
await import('husky')
|