@ddd-ts/event-sourcing-firestore 0.0.37 → 0.0.39

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.
Files changed (93) hide show
  1. package/LICENSE +21 -0
  2. package/dist/_virtual/_rolldown/runtime.js +29 -0
  3. package/dist/firestore.event-lake.aggregate-store.d.ts +35 -0
  4. package/dist/firestore.event-lake.aggregate-store.d.ts.map +1 -0
  5. package/dist/firestore.event-lake.aggregate-store.js +38 -0
  6. package/dist/firestore.event-lake.aggregate-store.mjs +36 -0
  7. package/dist/firestore.event-lake.aggregate-store.spec.d.ts +2 -0
  8. package/dist/firestore.event-lake.aggregate-store.spec.d.ts.map +1 -0
  9. package/dist/firestore.event-lake.storage-layer.d.ts +14 -0
  10. package/dist/firestore.event-lake.storage-layer.d.ts.map +1 -0
  11. package/dist/firestore.event-lake.storage-layer.js +67 -0
  12. package/dist/firestore.event-lake.storage-layer.mjs +65 -0
  13. package/dist/firestore.event-lake.store.d.ts +6 -0
  14. package/dist/firestore.event-lake.store.d.ts.map +1 -0
  15. package/dist/firestore.event-lake.store.js +14 -0
  16. package/dist/firestore.event-lake.store.mjs +13 -0
  17. package/dist/firestore.event-lake.store.spec.d.ts +2 -0
  18. package/dist/firestore.event-lake.store.spec.d.ts.map +1 -0
  19. package/dist/firestore.event-stream-store.spec.d.ts +2 -0
  20. package/dist/firestore.event-stream-store.spec.d.ts.map +1 -0
  21. package/dist/firestore.event-stream.aggregate-store.d.ts +30 -0
  22. package/dist/firestore.event-stream.aggregate-store.d.ts.map +1 -0
  23. package/dist/firestore.event-stream.aggregate-store.js +38 -0
  24. package/dist/firestore.event-stream.aggregate-store.mjs +36 -0
  25. package/dist/firestore.event-stream.aggregate-store.spec.d.ts +2 -0
  26. package/dist/firestore.event-stream.aggregate-store.spec.d.ts.map +1 -0
  27. package/dist/firestore.event-stream.storage-layer.d.ts +15 -0
  28. package/dist/firestore.event-stream.storage-layer.d.ts.map +1 -0
  29. package/dist/firestore.event-stream.storage-layer.js +67 -0
  30. package/dist/firestore.event-stream.storage-layer.mjs +65 -0
  31. package/dist/firestore.event-stream.store.d.ts +6 -0
  32. package/dist/firestore.event-stream.store.d.ts.map +1 -0
  33. package/dist/firestore.event-stream.store.js +14 -0
  34. package/dist/firestore.event-stream.store.mjs +13 -0
  35. package/dist/firestore.projected-stream.reader.d.ts +13 -0
  36. package/dist/firestore.projected-stream.reader.d.ts.map +1 -0
  37. package/dist/firestore.projected-stream.reader.js +35 -0
  38. package/dist/firestore.projected-stream.reader.mjs +34 -0
  39. package/dist/firestore.projected-stream.reader.spec.d.ts +2 -0
  40. package/dist/firestore.projected-stream.reader.spec.d.ts.map +1 -0
  41. package/dist/firestore.projected-stream.storage-layer.d.ts +31 -0
  42. package/dist/firestore.projected-stream.storage-layer.d.ts.map +1 -0
  43. package/dist/firestore.projected-stream.storage-layer.js +121 -0
  44. package/dist/firestore.projected-stream.storage-layer.mjs +118 -0
  45. package/dist/firestore.snapshotter.d.ts +6 -0
  46. package/dist/firestore.snapshotter.d.ts.map +1 -0
  47. package/dist/firestore.snapshotter.js +36 -0
  48. package/dist/firestore.snapshotter.mjs +35 -0
  49. package/dist/index.d.ts +11 -0
  50. package/dist/index.d.ts.map +1 -0
  51. package/dist/index.js +30 -0
  52. package/dist/index.mjs +12 -0
  53. package/dist/projection/cases/attempts.spec.d.ts +2 -0
  54. package/dist/projection/cases/attempts.spec.d.ts.map +1 -0
  55. package/dist/projection/cases/batchlast.spec.d.ts +2 -0
  56. package/dist/projection/cases/batchlast.spec.d.ts.map +1 -0
  57. package/dist/projection/cases/bigshuffle.spec.d.ts +2 -0
  58. package/dist/projection/cases/bigshuffle.spec.d.ts.map +1 -0
  59. package/dist/projection/cases/burst.spec.d.ts +2 -0
  60. package/dist/projection/cases/burst.spec.d.ts.map +1 -0
  61. package/dist/projection/cases/claimtimeout.spec.d.ts +2 -0
  62. package/dist/projection/cases/claimtimeout.spec.d.ts.map +1 -0
  63. package/dist/projection/cases/concurrency.spec.d.ts +2 -0
  64. package/dist/projection/cases/concurrency.spec.d.ts.map +1 -0
  65. package/dist/projection/cases/deduplicate.spec.d.ts +2 -0
  66. package/dist/projection/cases/deduplicate.spec.d.ts.map +1 -0
  67. package/dist/projection/cases/defer.spec.d.ts +2 -0
  68. package/dist/projection/cases/defer.spec.d.ts.map +1 -0
  69. package/dist/projection/cases/lock.spec.d.ts +2 -0
  70. package/dist/projection/cases/lock.spec.d.ts.map +1 -0
  71. package/dist/projection/cases/skip.spec.d.ts +2 -0
  72. package/dist/projection/cases/skip.spec.d.ts.map +1 -0
  73. package/dist/projection/cases/stress.spec.d.ts +2 -0
  74. package/dist/projection/cases/stress.spec.d.ts.map +1 -0
  75. package/dist/projection/event-coordinator.d.ts +16 -0
  76. package/dist/projection/event-coordinator.d.ts.map +1 -0
  77. package/dist/projection/event-coordinator.js +47 -0
  78. package/dist/projection/event-coordinator.mjs +47 -0
  79. package/dist/projection/firestore.projector.d.ts +128 -0
  80. package/dist/projection/firestore.projector.d.ts.map +1 -0
  81. package/dist/projection/firestore.projector.js +538 -0
  82. package/dist/projection/firestore.projector.mjs +533 -0
  83. package/dist/projection/testkit/case-fixture.d.ts +610 -0
  84. package/dist/projection/testkit/case-fixture.d.ts.map +1 -0
  85. package/dist/projection/testkit.d.ts +44 -0
  86. package/dist/projection/testkit.d.ts.map +1 -0
  87. package/dist/projection/trace.decorator.d.ts +2 -0
  88. package/dist/projection/trace.decorator.d.ts.map +1 -0
  89. package/dist/utils/promise-with-resolvers.d.ts +7 -0
  90. package/dist/utils/promise-with-resolvers.d.ts.map +1 -0
  91. package/dist/utils/promise-with-resolvers.js +17 -0
  92. package/dist/utils/promise-with-resolvers.mjs +16 -0
  93. package/package.json +43 -41
@@ -0,0 +1,44 @@
1
+ import * as fb from "firebase-admin";
2
+ import type { Firestore } from "firebase-admin/firestore";
3
+ import { FirestoreProjector, FirestoreQueueStore } from "./firestore.projector";
4
+ import { FirestoreProjectedStreamReader } from "../firestore.projected-stream.reader";
5
+ import { type IEventBus } from "@ddd-ts/core";
6
+ import { FirestoreTransactionPerformer } from "@ddd-ts/store-firestore";
7
+ export declare const registry: import("@ddd-ts/core").SerializerRegistry<[[import("@ddd-ts/core/dist/projections/spec/account/account").AccountOpened, import("@ddd-ts/core/dist/components/auto-serializer").AutoSerializerV1<typeof import("@ddd-ts/core/dist/projections/spec/account/account").AccountOpened>], [import("@ddd-ts/core/dist/projections/spec/account/account").Deposited, import("@ddd-ts/core/dist/components/auto-serializer").AutoSerializerV1<typeof import("@ddd-ts/core/dist/projections/spec/account/account").Deposited>], [import("@ddd-ts/core/dist/projections/spec/account/account").Withdrawn, import("@ddd-ts/core/dist/components/auto-serializer").AutoSerializerV1<typeof import("@ddd-ts/core/dist/projections/spec/account/account").Withdrawn>], [import("@ddd-ts/core/dist/projections/spec/account/account").AccountRenamed, import("@ddd-ts/core/dist/components/auto-serializer").AutoSerializerV1<typeof import("@ddd-ts/core/dist/projections/spec/account/account").AccountRenamed>], [import("@ddd-ts/core/dist/projections/spec/account/account").Account, import("@ddd-ts/core/dist/components/auto-serializer").AutoSerializerV1<typeof import("@ddd-ts/core/dist/projections/spec/account/account").Account>]], import("@ddd-ts/core/dist/projections/spec/account/account").AccountOpened | import("@ddd-ts/core/dist/projections/spec/account/account").Deposited | import("@ddd-ts/core/dist/projections/spec/account/account").Withdrawn | import("@ddd-ts/core/dist/projections/spec/account/account").AccountRenamed | import("@ddd-ts/core/dist/projections/spec/account/account").Account>;
8
+ export type DbHandle = {
9
+ app: fb.app.App;
10
+ db: Firestore;
11
+ };
12
+ export declare function getDb(projectId?: string): DbHandle;
13
+ declare const AccountStore_base: {
14
+ new (firestore: Firestore, serializer: import("@ddd-ts/core").ISerializer<import("@ddd-ts/core/dist/projections/spec/account/account").Account, {}> & import("@ddd-ts/core").ISerializer<(import("@ddd-ts/core/dist/projections/spec/account/account").AccountOpened | import("@ddd-ts/core/dist/projections/spec/account/account").Deposited | import("@ddd-ts/core/dist/projections/spec/account/account").Withdrawn | import("@ddd-ts/core/dist/projections/spec/account/account").AccountRenamed) & import("@ddd-ts/core").INamed<string>, {}>, eventBus?: IEventBus): {
15
+ loadFirst(event: import("@ddd-ts/core/dist/projections/spec/account/account").AccountOpened | import("@ddd-ts/core/dist/projections/spec/account/account").Deposited | import("@ddd-ts/core/dist/projections/spec/account/account").Withdrawn | import("@ddd-ts/core/dist/projections/spec/account/account").AccountRenamed): import("@ddd-ts/core/dist/projections/spec/account/account").Account;
16
+ getStreamId(id: import("@ddd-ts/core").Identifier<string> & import("@ddd-ts/core/dist/projections/spec/account/account").AccountId): import("@ddd-ts/core").StreamId;
17
+ readonly firestore: Firestore;
18
+ readonly serializer: import("@ddd-ts/core").ISerializer<(import("@ddd-ts/core/dist/projections/spec/account/account").AccountOpened | import("@ddd-ts/core/dist/projections/spec/account/account").Deposited | import("@ddd-ts/core/dist/projections/spec/account/account").Withdrawn | import("@ddd-ts/core/dist/projections/spec/account/account").AccountRenamed) & import("@ddd-ts/core").INamed<string>, {}>;
19
+ readonly snapshotter: import("..").FirestoreSnapshotter<import("@ddd-ts/core/dist/projections/spec/account/account").Account>;
20
+ readonly eventBus?: IEventBus | undefined;
21
+ readonly streamStore: import("@ddd-ts/core").EventStreamStore<(import("@ddd-ts/core/dist/projections/spec/account/account").AccountOpened | import("@ddd-ts/core/dist/projections/spec/account/account").Deposited | import("@ddd-ts/core/dist/projections/spec/account/account").Withdrawn | import("@ddd-ts/core/dist/projections/spec/account/account").AccountRenamed) & import("@ddd-ts/core").INamed<string>>;
22
+ readonly transaction: import("@ddd-ts/core").TransactionPerformer;
23
+ loadFromSnapshot(snapshot: import("@ddd-ts/core/dist/projections/spec/account/account").Account): Promise<import("@ddd-ts/core/dist/projections/spec/account/account").Account>;
24
+ loadFromScratch(id: import("@ddd-ts/core").Identifier<string> & import("@ddd-ts/core/dist/projections/spec/account/account").AccountId): Promise<import("@ddd-ts/core/dist/projections/spec/account/account").Account | undefined>;
25
+ loadForce(id: import("@ddd-ts/core").Identifier<string> & import("@ddd-ts/core/dist/projections/spec/account/account").AccountId): Promise<import("@ddd-ts/core/dist/projections/spec/account/account").Account | undefined>;
26
+ load(id: import("@ddd-ts/core").Identifier<string> & import("@ddd-ts/core/dist/projections/spec/account/account").AccountId): Promise<import("@ddd-ts/core/dist/projections/spec/account/account").Account | undefined>;
27
+ saveAll(aggregates: import("@ddd-ts/core/dist/projections/spec/account/account").Account[], parentTrx?: import("@ddd-ts/core").Transaction, attempts?: number): Promise<void>;
28
+ save(aggregate: import("@ddd-ts/core/dist/projections/spec/account/account").Account, trx?: import("@ddd-ts/core").Transaction, attempts?: number): Promise<void>;
29
+ };
30
+ };
31
+ export declare class AccountStore extends AccountStore_base {
32
+ constructor(firestore: Firestore, eventBus?: IEventBus);
33
+ }
34
+ export declare function makeProjector(params: {
35
+ db: Firestore;
36
+ projection: any;
37
+ }): {
38
+ reader: FirestoreProjectedStreamReader<any>;
39
+ queueStore: FirestoreQueueStore;
40
+ projector: FirestoreProjector;
41
+ };
42
+ export declare function makeTransaction(db: Firestore): FirestoreTransactionPerformer;
43
+ export {};
44
+ //# sourceMappingURL=testkit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testkit.d.ts","sourceRoot":"","sources":["../../src/projection/testkit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAEtF,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AAGxE,eAAO,MAAM,QAAQ,whDAA4B,CAAC;AAElD,MAAM,MAAM,QAAQ,GAAG;IACrB,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;IAChB,EAAE,EAAE,SAAS,CAAC;CACf,CAAC;AAEF,wBAAgB,KAAK,CAAC,SAAS,SAAY,GAAG,QAAQ,CAGrD;;;;;;;;;;;;;;;;;;;AAGD,qBAAa,YAAa,SAAQ,iBAEjC;gBACa,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,SAAS;CAGvD;AAGD,wBAAgB,aAAa,CAAC,MAAM,EAAE;IACpC,EAAE,EAAE,SAAS,CAAC;IACd,UAAU,EAAE,GAAG,CAAC;CACjB;;;;EAYA;AAGD,wBAAgB,eAAe,CAAC,EAAE,EAAE,SAAS,iCAE5C"}
@@ -0,0 +1,2 @@
1
+ export declare function Trace<U, const Fn extends (...args: any[]) => Promise<any>>(spanName: string, attributes?: (target: U, ...args: Parameters<Fn>) => Record<string, any>): (_target: U, _propertyKey: string, descriptor: TypedPropertyDescriptor<Fn>) => TypedPropertyDescriptor<Fn>;
2
+ //# sourceMappingURL=trace.decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace.decorator.d.ts","sourceRoot":"","sources":["../../src/projection/trace.decorator.ts"],"names":[],"mappings":"AAEA,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,EACxE,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,aAG7D,CAAC,gBACI,MAAM,cACR,uBAAuB,CAAC,EAAE,CAAC,iCA+B1C"}
@@ -0,0 +1,7 @@
1
+ export interface PromiseResolvers<T> {
2
+ promise: Promise<T>;
3
+ resolve: (value: T) => void;
4
+ reject: (reason?: any) => void;
5
+ }
6
+ export declare const promiseWithResolvers: <T>() => PromiseResolvers<T>;
7
+ //# sourceMappingURL=promise-with-resolvers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promise-with-resolvers.d.ts","sourceRoot":"","sources":["../../src/utils/promise-with-resolvers.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC5B,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;CAChC;AAED,eAAO,MAAM,oBAAoB,GAAI,CAAC,OAAK,gBAAgB,CAAC,CAAC,CAQ5D,CAAC"}
@@ -0,0 +1,17 @@
1
+
2
+ //#region src/utils/promise-with-resolvers.ts
3
+ const promiseWithResolvers = () => {
4
+ let resolve;
5
+ let reject;
6
+ return {
7
+ promise: new Promise((res, rej) => {
8
+ resolve = res;
9
+ reject = rej;
10
+ }),
11
+ resolve,
12
+ reject
13
+ };
14
+ };
15
+
16
+ //#endregion
17
+ exports.promiseWithResolvers = promiseWithResolvers;
@@ -0,0 +1,16 @@
1
+ //#region src/utils/promise-with-resolvers.ts
2
+ const promiseWithResolvers = () => {
3
+ let resolve;
4
+ let reject;
5
+ return {
6
+ promise: new Promise((res, rej) => {
7
+ resolve = res;
8
+ reject = rej;
9
+ }),
10
+ resolve,
11
+ reject
12
+ };
13
+ };
14
+
15
+ //#endregion
16
+ export { promiseWithResolvers };
package/package.json CHANGED
@@ -1,42 +1,44 @@
1
1
  {
2
- "name": "@ddd-ts/event-sourcing-firestore",
3
- "version": "0.0.37",
4
- "types": "dist/index.d.ts",
5
- "license": "MIT",
6
- "repository": {
7
- "url": "git+https://github.com/ddd-ts/monorepo"
8
- },
9
- "scripts": {
10
- "pretest": "docker compose -f docker/docker-compose.yml up -d",
11
- "wait": "sh -c 'until curl --silent localhost:8080; do sleep 1; done;'",
12
- "test": "jest --config node_modules/@ddd-ts/tools/jest.config.js --runInBand",
13
- "posttest": "docker compose -f docker/docker-compose.yml down",
14
- "build": "tsdown --config node_modules/@ddd-ts/tools/tsdown.config.js"
15
- },
16
- "dependencies": {
17
- "@ddd-ts/core": "0.0.37",
18
- "@ddd-ts/shape": "0.0.37",
19
- "@ddd-ts/store-firestore": "0.0.37",
20
- "@ddd-ts/traits": "0.0.37",
21
- "@ddd-ts/types": "0.0.37",
22
- "@opentelemetry/api": "1.6.0",
23
- "firebase-admin": "^13.2.0"
24
- },
25
- "devDependencies": {
26
- "@ddd-ts/shape": "0.0.37",
27
- "@ddd-ts/tests": "0.0.37",
28
- "@ddd-ts/tools": "0.0.37",
29
- "@ddd-ts/types": "0.0.37",
30
- "@types/jest": "^29.5.1"
31
- },
32
- "exports": {
33
- ".": "./src/index.ts",
34
- "./package.json": "./package.json"
35
- },
36
- "publishConfig": {
37
- "exports": {
38
- ".": "./dist/index.js",
39
- "./package.json": "./package.json"
40
- }
41
- }
42
- }
2
+ "name": "@ddd-ts/event-sourcing-firestore",
3
+ "version": "0.0.39",
4
+ "types": "dist/index.d.ts",
5
+ "license": "MIT",
6
+ "repository": {
7
+ "url": "git+https://github.com/ddd-ts/monorepo"
8
+ },
9
+ "files": [
10
+ "dist"
11
+ ],
12
+ "dependencies": {
13
+ "@ddd-ts/core": "0.0.39",
14
+ "@ddd-ts/shape": "0.0.39",
15
+ "@ddd-ts/store-firestore": "0.0.39",
16
+ "@ddd-ts/traits": "0.0.39",
17
+ "@ddd-ts/types": "0.0.39",
18
+ "@opentelemetry/api": "1.6.0",
19
+ "firebase-admin": "^13.2.0"
20
+ },
21
+ "devDependencies": {
22
+ "@ddd-ts/shape": "0.0.39",
23
+ "@ddd-ts/tests": "0.0.39",
24
+ "@ddd-ts/tools": "0.0.39",
25
+ "@ddd-ts/types": "0.0.39",
26
+ "@types/jest": "^29.5.1"
27
+ },
28
+ "exports": {
29
+ ".": {
30
+ "import": "./dist/index.mjs",
31
+ "require": "./dist/index.js"
32
+ },
33
+ "./package.json": "./package.json"
34
+ },
35
+ "main": "./dist/index.js",
36
+ "module": "./dist/index.mjs",
37
+ "scripts": {
38
+ "pretest": "docker compose -f docker/docker-compose.yml up -d",
39
+ "wait": "sh -c 'until curl --silent localhost:8080; do sleep 1; done;'",
40
+ "test": "jest --config node_modules/@ddd-ts/tools/jest.config.js --runInBand",
41
+ "posttest": "docker compose -f docker/docker-compose.yml down",
42
+ "build": "tsdown --config node_modules/@ddd-ts/tools/tsdown.config.js"
43
+ }
44
+ }