@bett3r-dev/pv3 1.0.0 → 2.5.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/CHANGELOG.md +329 -0
- package/build/adapters/cache/memory/index.d.ts.map +1 -1
- package/build/adapters/cache/memory/index.js +93 -20
- package/build/adapters/cache/memory/index.js.map +1 -1
- package/build/adapters/cache/memory/index.test.d.ts +2 -0
- package/build/adapters/cache/memory/index.test.d.ts.map +1 -0
- package/build/adapters/cache/memory/index.test.js +98 -0
- package/build/adapters/cache/memory/index.test.js.map +1 -0
- package/build/adapters/configuration/dotEnv.d.ts.map +1 -1
- package/build/adapters/configuration/dotEnv.js.map +1 -1
- package/build/adapters/database/memory/index.d.ts +5 -1
- package/build/adapters/database/memory/index.d.ts.map +1 -1
- package/build/adapters/database/memory/index.js +336 -44
- package/build/adapters/database/memory/index.js.map +1 -1
- package/build/adapters/database/memory/index.test.d.ts +2 -0
- package/build/adapters/database/memory/index.test.d.ts.map +1 -0
- package/build/adapters/database/memory/index.test.js +167 -0
- package/build/adapters/database/memory/index.test.js.map +1 -0
- package/build/adapters/database/memory/pagingCursorZero.test.d.ts +2 -0
- package/build/adapters/database/memory/pagingCursorZero.test.d.ts.map +1 -0
- package/build/adapters/database/memory/pagingCursorZero.test.js +60 -0
- package/build/adapters/database/memory/pagingCursorZero.test.js.map +1 -0
- package/build/adapters/database/memory/pagingVanishedCursor.test.d.ts +2 -0
- package/build/adapters/database/memory/pagingVanishedCursor.test.d.ts.map +1 -0
- package/build/adapters/database/memory/pagingVanishedCursor.test.js +72 -0
- package/build/adapters/database/memory/pagingVanishedCursor.test.js.map +1 -0
- package/build/adapters/endpoints/addAuthUser/index.d.ts +6 -4
- package/build/adapters/endpoints/addAuthUser/index.d.ts.map +1 -1
- package/build/adapters/endpoints/addAuthUser/index.js +12 -31
- package/build/adapters/endpoints/addAuthUser/index.js.map +1 -1
- package/build/adapters/endpoints/addDevAuthUser/index.d.ts +32 -0
- package/build/adapters/endpoints/addDevAuthUser/index.d.ts.map +1 -0
- package/build/adapters/endpoints/addDevAuthUser/index.js +39 -0
- package/build/adapters/endpoints/addDevAuthUser/index.js.map +1 -0
- package/build/adapters/endpoints/asyncLocalStorage/__tests__/asyncLocalStorage.test.d.ts +2 -0
- package/build/adapters/endpoints/asyncLocalStorage/__tests__/asyncLocalStorage.test.d.ts.map +1 -0
- package/build/adapters/endpoints/asyncLocalStorage/__tests__/asyncLocalStorage.test.js +97 -0
- package/build/adapters/endpoints/asyncLocalStorage/__tests__/asyncLocalStorage.test.js.map +1 -0
- package/build/adapters/endpoints/asyncLocalStorage/index.d.ts +22 -0
- package/build/adapters/endpoints/asyncLocalStorage/index.d.ts.map +1 -0
- package/build/adapters/endpoints/asyncLocalStorage/index.js +62 -0
- package/build/adapters/endpoints/asyncLocalStorage/index.js.map +1 -0
- package/build/adapters/endpoints/endpointValidation/__tests__/endpointValidation.test.d.ts +2 -0
- package/build/adapters/endpoints/endpointValidation/__tests__/endpointValidation.test.d.ts.map +1 -0
- package/build/adapters/endpoints/endpointValidation/__tests__/endpointValidation.test.js +98 -0
- package/build/adapters/endpoints/endpointValidation/__tests__/endpointValidation.test.js.map +1 -0
- package/build/adapters/endpoints/endpointValidation/index.d.ts +2 -2
- package/build/adapters/endpoints/endpointValidation/index.d.ts.map +1 -1
- package/build/adapters/endpoints/endpointValidation/index.js +19 -9
- package/build/adapters/endpoints/endpointValidation/index.js.map +1 -1
- package/build/adapters/endpoints/genericMiddleware/index.d.ts +23 -0
- package/build/adapters/endpoints/genericMiddleware/index.d.ts.map +1 -0
- package/build/adapters/endpoints/genericMiddleware/index.js +30 -0
- package/build/adapters/endpoints/genericMiddleware/index.js.map +1 -0
- package/build/adapters/endpoints/httpMethodOverride/index.d.ts +8 -0
- package/build/adapters/endpoints/httpMethodOverride/index.d.ts.map +1 -0
- package/build/adapters/endpoints/httpMethodOverride/index.js +44 -0
- package/build/adapters/endpoints/httpMethodOverride/index.js.map +1 -0
- package/build/adapters/endpoints/index.d.ts +5 -0
- package/build/adapters/endpoints/index.d.ts.map +1 -1
- package/build/adapters/endpoints/index.js +5 -1
- package/build/adapters/endpoints/index.js.map +1 -1
- package/build/adapters/endpoints/localAuthorization/index.d.ts +1 -0
- package/build/adapters/endpoints/localAuthorization/index.js +2 -0
- package/build/adapters/endpoints/localAuthorization/index.js.map +1 -1
- package/build/adapters/endpoints/mapQueryFromHeaders/index.d.ts +8 -0
- package/build/adapters/endpoints/mapQueryFromHeaders/index.d.ts.map +1 -0
- package/build/adapters/endpoints/mapQueryFromHeaders/index.js +36 -0
- package/build/adapters/endpoints/mapQueryFromHeaders/index.js.map +1 -0
- package/build/adapters/endpoints/tcpConsumer/index.d.ts.map +1 -1
- package/build/adapters/endpoints/tcpConsumer/index.js +8 -7
- package/build/adapters/endpoints/tcpConsumer/index.js.map +1 -1
- package/build/adapters/endpoints/userSession/__tests__/userSession.test.d.ts +2 -0
- package/build/adapters/endpoints/userSession/__tests__/userSession.test.d.ts.map +1 -0
- package/build/adapters/endpoints/userSession/__tests__/userSession.test.js +175 -0
- package/build/adapters/endpoints/userSession/__tests__/userSession.test.js.map +1 -0
- package/build/adapters/endpoints/userSession/index.d.ts +2 -2
- package/build/adapters/endpoints/userSession/index.d.ts.map +1 -1
- package/build/adapters/endpoints/userSession/index.js +36 -2
- package/build/adapters/endpoints/userSession/index.js.map +1 -1
- package/build/adapters/eventstore/database.d.ts.map +1 -1
- package/build/adapters/eventstore/database.js +261 -58
- package/build/adapters/eventstore/database.js.map +1 -1
- package/build/adapters/eventstore/database.test.d.ts +2 -0
- package/build/adapters/eventstore/database.test.d.ts.map +1 -0
- package/build/adapters/eventstore/database.test.js +123 -0
- package/build/adapters/eventstore/database.test.js.map +1 -0
- package/build/adapters/infrastructure/local/index.d.ts +2 -2
- package/build/adapters/infrastructure/local/index.d.ts.map +1 -1
- package/build/adapters/infrastructure/local/index.js +3 -3
- package/build/adapters/infrastructure/local/index.js.map +1 -1
- package/build/adapters/logger/__tests__/json.test.d.ts +2 -0
- package/build/adapters/logger/__tests__/json.test.d.ts.map +1 -0
- package/build/adapters/logger/__tests__/json.test.js +125 -0
- package/build/adapters/logger/__tests__/json.test.js.map +1 -0
- package/build/adapters/logger/console.d.ts.map +1 -1
- package/build/adapters/logger/console.js +4 -2
- package/build/adapters/logger/console.js.map +1 -1
- package/build/adapters/logger/http.d.ts +3 -0
- package/build/adapters/logger/http.d.ts.map +1 -0
- package/build/adapters/logger/http.js +49 -0
- package/build/adapters/logger/http.js.map +1 -0
- package/build/adapters/logger/index.d.ts +3 -0
- package/build/adapters/logger/index.d.ts.map +1 -1
- package/build/adapters/logger/index.js +3 -0
- package/build/adapters/logger/index.js.map +1 -1
- package/build/adapters/logger/json.d.ts +3 -0
- package/build/adapters/logger/json.d.ts.map +1 -0
- package/build/adapters/logger/json.js +41 -0
- package/build/adapters/logger/json.js.map +1 -0
- package/build/adapters/logger/stdout.d.ts +3 -0
- package/build/adapters/logger/stdout.d.ts.map +1 -0
- package/build/adapters/logger/stdout.js +52 -0
- package/build/adapters/logger/stdout.js.map +1 -0
- package/build/index.d.ts +3 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +3 -1
- package/build/index.js.map +1 -1
- package/build/libraries/deployment-units/computeMDUs.d.ts +11 -0
- package/build/libraries/deployment-units/computeMDUs.d.ts.map +1 -0
- package/build/libraries/deployment-units/computeMDUs.js +695 -0
- package/build/libraries/deployment-units/computeMDUs.js.map +1 -0
- package/build/libraries/deployment-units/computeMDUs.test.d.ts +2 -0
- package/build/libraries/deployment-units/computeMDUs.test.d.ts.map +1 -0
- package/build/libraries/deployment-units/computeMDUs.test.js +996 -0
- package/build/libraries/deployment-units/computeMDUs.test.js.map +1 -0
- package/build/libraries/deployment-units/index.d.ts +6 -0
- package/build/libraries/deployment-units/index.d.ts.map +1 -0
- package/build/libraries/deployment-units/index.js +8 -0
- package/build/libraries/deployment-units/index.js.map +1 -0
- package/build/libraries/deployment-units/manifestWriter.d.ts +11 -0
- package/build/libraries/deployment-units/manifestWriter.d.ts.map +1 -0
- package/build/libraries/deployment-units/manifestWriter.js +28 -0
- package/build/libraries/deployment-units/manifestWriter.js.map +1 -0
- package/build/libraries/deployment-units/types.d.ts +43 -0
- package/build/libraries/deployment-units/types.d.ts.map +1 -0
- package/build/libraries/deployment-units/types.js +3 -0
- package/build/libraries/deployment-units/types.js.map +1 -0
- package/build/libraries/eventsourcing/__tests__/fixtures/defaultVisibilityThings.readmodel.d.ts +2 -0
- package/build/libraries/eventsourcing/__tests__/fixtures/defaultVisibilityThings.readmodel.d.ts.map +1 -0
- package/build/libraries/eventsourcing/__tests__/fixtures/defaultVisibilityThings.readmodel.js +17 -0
- package/build/libraries/eventsourcing/__tests__/fixtures/defaultVisibilityThings.readmodel.js.map +1 -0
- package/build/libraries/eventsourcing/__tests__/fixtures/dupA/things.readmodel.d.ts +2 -0
- package/build/libraries/eventsourcing/__tests__/fixtures/dupA/things.readmodel.d.ts.map +1 -0
- package/build/libraries/eventsourcing/__tests__/fixtures/dupA/things.readmodel.js +13 -0
- package/build/libraries/eventsourcing/__tests__/fixtures/dupA/things.readmodel.js.map +1 -0
- package/build/libraries/eventsourcing/__tests__/fixtures/dupB/things.readmodel.d.ts +2 -0
- package/build/libraries/eventsourcing/__tests__/fixtures/dupB/things.readmodel.d.ts.map +1 -0
- package/build/libraries/eventsourcing/__tests__/fixtures/dupB/things.readmodel.js +12 -0
- package/build/libraries/eventsourcing/__tests__/fixtures/dupB/things.readmodel.js.map +1 -0
- package/build/libraries/eventsourcing/__tests__/fixtures/publicThings.readmodel.d.ts +2 -0
- package/build/libraries/eventsourcing/__tests__/fixtures/publicThings.readmodel.d.ts.map +1 -0
- package/build/libraries/eventsourcing/__tests__/fixtures/publicThings.readmodel.js +21 -0
- package/build/libraries/eventsourcing/__tests__/fixtures/publicThings.readmodel.js.map +1 -0
- package/build/libraries/eventsourcing/__tests__/fixtures/queryOnlyThings.readmodel.d.ts +2 -0
- package/build/libraries/eventsourcing/__tests__/fixtures/queryOnlyThings.readmodel.d.ts.map +1 -0
- package/build/libraries/eventsourcing/__tests__/fixtures/queryOnlyThings.readmodel.js +16 -0
- package/build/libraries/eventsourcing/__tests__/fixtures/queryOnlyThings.readmodel.js.map +1 -0
- package/build/libraries/eventsourcing/__tests__/fixtures/subscribingThings.readmodel.d.ts +2 -0
- package/build/libraries/eventsourcing/__tests__/fixtures/subscribingThings.readmodel.d.ts.map +1 -0
- package/build/libraries/eventsourcing/__tests__/fixtures/subscribingThings.readmodel.js +14 -0
- package/build/libraries/eventsourcing/__tests__/fixtures/subscribingThings.readmodel.js.map +1 -0
- package/build/libraries/eventsourcing/__tests__/queryOnlyReadmodel.test.d.ts +2 -0
- package/build/libraries/eventsourcing/__tests__/queryOnlyReadmodel.test.d.ts.map +1 -0
- package/build/libraries/eventsourcing/__tests__/queryOnlyReadmodel.test.js +88 -0
- package/build/libraries/eventsourcing/__tests__/queryOnlyReadmodel.test.js.map +1 -0
- package/build/libraries/eventsourcing/__tests__/queryVisibility.test.d.ts +2 -0
- package/build/libraries/eventsourcing/__tests__/queryVisibility.test.d.ts.map +1 -0
- package/build/libraries/eventsourcing/__tests__/queryVisibility.test.js +82 -0
- package/build/libraries/eventsourcing/__tests__/queryVisibility.test.js.map +1 -0
- package/build/libraries/eventsourcing/commandHandlers/index.d.ts +40 -0
- package/build/libraries/eventsourcing/commandHandlers/index.d.ts.map +1 -0
- package/build/libraries/eventsourcing/commandHandlers/index.js +1065 -0
- package/build/libraries/eventsourcing/commandHandlers/index.js.map +1 -0
- package/build/libraries/eventsourcing/commandTemplates/index.d.ts.map +1 -0
- package/build/libraries/eventsourcing/commandTemplates/index.js.map +1 -0
- package/build/libraries/eventsourcing/commandTemplates/multiStream.d.ts +7 -0
- package/build/libraries/eventsourcing/commandTemplates/multiStream.d.ts.map +1 -0
- package/build/libraries/eventsourcing/commandTemplates/multiStream.js +116 -0
- package/build/libraries/eventsourcing/commandTemplates/multiStream.js.map +1 -0
- package/build/libraries/eventsourcing/commandTemplates/snapshot.d.ts +108 -0
- package/build/libraries/eventsourcing/commandTemplates/snapshot.d.ts.map +1 -0
- package/build/libraries/eventsourcing/commandTemplates/snapshot.js +127 -0
- package/build/libraries/eventsourcing/commandTemplates/snapshot.js.map +1 -0
- package/build/libraries/eventsourcing/eventHandlers/__tests__/queryResponseFormatterCaller.test.d.ts +2 -0
- package/build/libraries/eventsourcing/eventHandlers/__tests__/queryResponseFormatterCaller.test.d.ts.map +1 -0
- package/build/libraries/eventsourcing/eventHandlers/__tests__/queryResponseFormatterCaller.test.js +77 -0
- package/build/libraries/eventsourcing/eventHandlers/__tests__/queryResponseFormatterCaller.test.js.map +1 -0
- package/build/libraries/eventsourcing/eventHandlers/index.d.ts +52 -0
- package/build/libraries/eventsourcing/eventHandlers/index.d.ts.map +1 -0
- package/build/libraries/eventsourcing/eventHandlers/index.js +474 -0
- package/build/libraries/eventsourcing/eventHandlers/index.js.map +1 -0
- package/build/libraries/eventsourcing/executionContext.d.ts +50 -0
- package/build/libraries/eventsourcing/executionContext.d.ts.map +1 -0
- package/build/libraries/eventsourcing/executionContext.js +10 -0
- package/build/libraries/eventsourcing/executionContext.js.map +1 -0
- package/build/libraries/eventsourcing/idempotencyChecks/index.d.ts +5 -0
- package/build/libraries/eventsourcing/idempotencyChecks/index.d.ts.map +1 -0
- package/build/libraries/eventsourcing/idempotencyChecks/index.js +26 -0
- package/build/libraries/eventsourcing/idempotencyChecks/index.js.map +1 -0
- package/build/libraries/eventsourcing/index.d.ts +14 -0
- package/build/libraries/eventsourcing/index.d.ts.map +1 -0
- package/build/{ports → libraries}/eventsourcing/index.js +50 -15
- package/build/{ports → libraries}/eventsourcing/index.js.map +1 -1
- package/build/libraries/eventsourcing/invariants/combinators.d.ts +4 -0
- package/build/libraries/eventsourcing/invariants/combinators.d.ts.map +1 -0
- package/build/{ports → libraries}/eventsourcing/invariants/combinators.js +3 -3
- package/build/libraries/eventsourcing/invariants/combinators.js.map +1 -0
- package/build/libraries/eventsourcing/invariants/common.d.ts +15 -0
- package/build/libraries/eventsourcing/invariants/common.d.ts.map +1 -0
- package/build/libraries/eventsourcing/invariants/common.js +27 -0
- package/build/libraries/eventsourcing/invariants/common.js.map +1 -0
- package/build/libraries/eventsourcing/invariants/comparisons.d.ts +16 -0
- package/build/libraries/eventsourcing/invariants/comparisons.d.ts.map +1 -0
- package/build/libraries/eventsourcing/invariants/comparisons.js +35 -0
- package/build/libraries/eventsourcing/invariants/comparisons.js.map +1 -0
- package/build/libraries/eventsourcing/invariants/comparisons.test.d.ts +2 -0
- package/build/libraries/eventsourcing/invariants/comparisons.test.d.ts.map +1 -0
- package/build/libraries/eventsourcing/invariants/comparisons.test.js +25 -0
- package/build/libraries/eventsourcing/invariants/comparisons.test.js.map +1 -0
- package/build/libraries/eventsourcing/invariants/index.d.ts +17 -0
- package/build/libraries/eventsourcing/invariants/index.d.ts.map +1 -0
- package/build/libraries/eventsourcing/invariants/index.js +47 -0
- package/build/libraries/eventsourcing/invariants/index.js.map +1 -0
- package/build/libraries/eventsourcing/invariants/stateExistance.d.ts +4 -0
- package/build/libraries/eventsourcing/invariants/stateExistance.d.ts.map +1 -0
- package/build/libraries/eventsourcing/invariants/stateExistance.js +22 -0
- package/build/libraries/eventsourcing/invariants/stateExistance.js.map +1 -0
- package/build/libraries/eventsourcing/subscriptions/__tests__/sseSubscriptions.test.d.ts +2 -0
- package/build/libraries/eventsourcing/subscriptions/__tests__/sseSubscriptions.test.d.ts.map +1 -0
- package/build/libraries/eventsourcing/subscriptions/__tests__/sseSubscriptions.test.js +563 -0
- package/build/libraries/eventsourcing/subscriptions/__tests__/sseSubscriptions.test.js.map +1 -0
- package/build/libraries/eventsourcing/subscriptions/index.d.ts.map +1 -0
- package/build/libraries/eventsourcing/subscriptions/index.js.map +1 -0
- package/build/libraries/eventsourcing/subscriptions/sseSubscriptions.d.ts +5 -0
- package/build/libraries/eventsourcing/subscriptions/sseSubscriptions.d.ts.map +1 -0
- package/build/libraries/eventsourcing/subscriptions/sseSubscriptions.js +198 -0
- package/build/libraries/eventsourcing/subscriptions/sseSubscriptions.js.map +1 -0
- package/build/libraries/eventsourcing/utils/aggregateBuilder.d.ts +5 -0
- package/build/libraries/eventsourcing/utils/aggregateBuilder.d.ts.map +1 -0
- package/build/{ports → libraries}/eventsourcing/utils/aggregateBuilder.js +17 -3
- package/build/libraries/eventsourcing/utils/aggregateBuilder.js.map +1 -0
- package/build/libraries/eventsourcing/utils/commandBuilder.d.ts +3 -0
- package/build/libraries/eventsourcing/utils/commandBuilder.d.ts.map +1 -0
- package/build/{ports → libraries}/eventsourcing/utils/commandBuilder.js +44 -1
- package/build/libraries/eventsourcing/utils/commandBuilder.js.map +1 -0
- package/build/{ports → libraries}/eventsourcing/utils/eventHandlerBuilder.d.ts +2 -2
- package/build/libraries/eventsourcing/utils/eventHandlerBuilder.d.ts.map +1 -0
- package/build/libraries/eventsourcing/utils/eventHandlerBuilder.js.map +1 -0
- package/build/libraries/eventsourcing/utils/externalSystemBuilder.d.ts +5 -0
- package/build/libraries/eventsourcing/utils/externalSystemBuilder.d.ts.map +1 -0
- package/build/libraries/eventsourcing/utils/externalSystemBuilder.js +43 -0
- package/build/libraries/eventsourcing/utils/externalSystemBuilder.js.map +1 -0
- package/build/libraries/eventsourcing/utils/index.d.ts +22 -0
- package/build/libraries/eventsourcing/utils/index.d.ts.map +1 -0
- package/build/libraries/eventsourcing/utils/index.js +88 -0
- package/build/libraries/eventsourcing/utils/index.js.map +1 -0
- package/build/libraries/eventsourcing/utils/policyBuilder.d.ts +4 -0
- package/build/libraries/eventsourcing/utils/policyBuilder.d.ts.map +1 -0
- package/build/libraries/eventsourcing/utils/policyBuilder.js +53 -0
- package/build/libraries/eventsourcing/utils/policyBuilder.js.map +1 -0
- package/build/libraries/eventsourcing/utils/readmodelBuilder.d.ts +6 -0
- package/build/libraries/eventsourcing/utils/readmodelBuilder.d.ts.map +1 -0
- package/build/libraries/eventsourcing/utils/readmodelBuilder.js +68 -0
- package/build/libraries/eventsourcing/utils/readmodelBuilder.js.map +1 -0
- package/build/libraries/localOutbox/index.d.ts +6 -0
- package/build/libraries/localOutbox/index.d.ts.map +1 -0
- package/build/libraries/localOutbox/index.js +72 -0
- package/build/libraries/localOutbox/index.js.map +1 -0
- package/build/libraries/modulePath.d.ts +14 -0
- package/build/libraries/modulePath.d.ts.map +1 -0
- package/build/libraries/modulePath.js +21 -0
- package/build/libraries/modulePath.js.map +1 -0
- package/build/libraries/modules/fs.d.ts +2 -4
- package/build/libraries/modules/fs.d.ts.map +1 -1
- package/build/libraries/modules/fs.js +21 -84
- package/build/libraries/modules/fs.js.map +1 -1
- package/build/libraries/modules/index.d.ts +2 -0
- package/build/libraries/modules/index.d.ts.map +1 -1
- package/build/libraries/modules/index.js +2 -0
- package/build/libraries/modules/index.js.map +1 -1
- package/build/libraries/modules/scopedPortsView.d.ts +42 -0
- package/build/libraries/modules/scopedPortsView.d.ts.map +1 -0
- package/build/libraries/modules/scopedPortsView.js +55 -0
- package/build/libraries/modules/scopedPortsView.js.map +1 -0
- package/build/libraries/modules/scopedPortsView.test.d.ts +10 -0
- package/build/libraries/modules/scopedPortsView.test.d.ts.map +1 -0
- package/build/libraries/modules/scopedPortsView.test.js +103 -0
- package/build/libraries/modules/scopedPortsView.test.js.map +1 -0
- package/build/libraries/modules/selectiveLoader.d.ts +21 -0
- package/build/libraries/modules/selectiveLoader.d.ts.map +1 -0
- package/build/libraries/modules/selectiveLoader.js +164 -0
- package/build/libraries/modules/selectiveLoader.js.map +1 -0
- package/build/libraries/modules/selectiveLoader.test.d.ts +2 -0
- package/build/libraries/modules/selectiveLoader.test.d.ts.map +1 -0
- package/build/libraries/modules/selectiveLoader.test.js +471 -0
- package/build/libraries/modules/selectiveLoader.test.js.map +1 -0
- package/build/libraries/openApi/pruneUnusedRef.d.ts.map +1 -1
- package/build/libraries/openApi/pruneUnusedRef.js.map +1 -1
- package/build/libraries/tcp/index.d.ts +0 -1
- package/build/libraries/tcp/index.d.ts.map +1 -1
- package/build/libraries/tcp/index.js +32 -9
- package/build/libraries/tcp/index.js.map +1 -1
- package/build/libraries/tcp/types.d.ts +0 -1
- package/build/libraries/tcp/types.d.ts.map +1 -1
- package/build/libraries/validation/__tests__/readmodelQuerySchema.test.d.ts +2 -0
- package/build/libraries/validation/__tests__/readmodelQuerySchema.test.d.ts.map +1 -0
- package/build/libraries/validation/__tests__/readmodelQuerySchema.test.js +100 -0
- package/build/libraries/validation/__tests__/readmodelQuerySchema.test.js.map +1 -0
- package/build/libraries/validation/__tests__/validation.test.js +17 -7
- package/build/libraries/validation/__tests__/validation.test.js.map +1 -1
- package/build/libraries/validation/index.d.ts +3 -3
- package/build/libraries/validation/index.d.ts.map +1 -1
- package/build/libraries/validation/index.js +49 -15
- package/build/libraries/validation/index.js.map +1 -1
- package/build/ports/authentication/index.js.map +1 -1
- package/build/ports/authentication/index.test.d.ts +2 -0
- package/build/ports/authentication/index.test.d.ts.map +1 -0
- package/build/ports/authentication/index.test.js +38 -0
- package/build/ports/authentication/index.test.js.map +1 -0
- package/build/ports/base.d.ts.map +1 -1
- package/build/ports/base.js +39 -5
- package/build/ports/base.js.map +1 -1
- package/build/ports/base.test.d.ts +2 -0
- package/build/ports/base.test.d.ts.map +1 -0
- package/build/ports/base.test.js +92 -0
- package/build/ports/base.test.js.map +1 -0
- package/build/ports/cache/index.js.map +1 -1
- package/build/ports/cache/index.test.d.ts +2 -0
- package/build/ports/cache/index.test.d.ts.map +1 -0
- package/build/ports/cache/index.test.js +43 -0
- package/build/ports/cache/index.test.js.map +1 -0
- package/build/ports/configuration/__tests__/cliArgs.test.d.ts +2 -0
- package/build/ports/configuration/__tests__/cliArgs.test.d.ts.map +1 -0
- package/build/ports/configuration/__tests__/cliArgs.test.js +158 -0
- package/build/ports/configuration/__tests__/cliArgs.test.js.map +1 -0
- package/build/ports/configuration/__tests__/configurationPortEmitter.test.d.ts +2 -0
- package/build/ports/configuration/__tests__/configurationPortEmitter.test.d.ts.map +1 -0
- package/build/ports/configuration/__tests__/configurationPortEmitter.test.js +63 -0
- package/build/ports/configuration/__tests__/configurationPortEmitter.test.js.map +1 -0
- package/build/ports/configuration/__tests__/getArgsSync.test.d.ts +2 -0
- package/build/ports/configuration/__tests__/getArgsSync.test.d.ts.map +1 -0
- package/build/ports/configuration/__tests__/getArgsSync.test.js +85 -0
- package/build/ports/configuration/__tests__/getArgsSync.test.js.map +1 -0
- package/build/ports/configuration/args.d.ts +50 -43
- package/build/ports/configuration/args.d.ts.map +1 -1
- package/build/ports/configuration/args.js +76 -13
- package/build/ports/configuration/args.js.map +1 -1
- package/build/ports/configuration/common.js +1 -2
- package/build/ports/configuration/common.js.map +1 -1
- package/build/ports/configuration/index.d.ts +1 -1
- package/build/ports/configuration/index.d.ts.map +1 -1
- package/build/ports/configuration/index.js +85 -17
- package/build/ports/configuration/index.js.map +1 -1
- package/build/ports/configuration/localConfig.d.ts.map +1 -1
- package/build/ports/configuration/localConfig.js +46 -27
- package/build/ports/configuration/localConfig.js.map +1 -1
- package/build/ports/database/index.d.ts +1 -2
- package/build/ports/database/index.d.ts.map +1 -1
- package/build/ports/database/index.js +23 -17
- package/build/ports/database/index.js.map +1 -1
- package/build/ports/database/index.test.d.ts +2 -0
- package/build/ports/database/index.test.d.ts.map +1 -0
- package/build/ports/database/index.test.js +43 -0
- package/build/ports/database/index.test.js.map +1 -0
- package/build/ports/endpoints/__tests__/declarationSite.test.d.ts +2 -0
- package/build/ports/endpoints/__tests__/declarationSite.test.d.ts.map +1 -0
- package/build/ports/endpoints/__tests__/declarationSite.test.js +165 -0
- package/build/ports/endpoints/__tests__/declarationSite.test.js.map +1 -0
- package/build/ports/endpoints/__tests__/fixtures/modules/sales/appLoginUrl.d.ts +9 -0
- package/build/ports/endpoints/__tests__/fixtures/modules/sales/appLoginUrl.d.ts.map +1 -0
- package/build/ports/endpoints/__tests__/fixtures/modules/sales/appLoginUrl.js +20 -0
- package/build/ports/endpoints/__tests__/fixtures/modules/sales/appLoginUrl.js.map +1 -0
- package/build/ports/endpoints/__tests__/fixtures/modules/sales/index.d.ts +10 -0
- package/build/ports/endpoints/__tests__/fixtures/modules/sales/index.d.ts.map +1 -0
- package/build/ports/endpoints/__tests__/fixtures/modules/sales/index.js +21 -0
- package/build/ports/endpoints/__tests__/fixtures/modules/sales/index.js.map +1 -0
- package/build/ports/endpoints/__tests__/fixtures/modules/sales/orders.endpoints.d.ts +15 -0
- package/build/ports/endpoints/__tests__/fixtures/modules/sales/orders.endpoints.d.ts.map +1 -0
- package/build/ports/endpoints/__tests__/fixtures/modules/sales/orders.endpoints.js +46 -0
- package/build/ports/endpoints/__tests__/fixtures/modules/sales/orders.endpoints.js.map +1 -0
- package/build/ports/endpoints/__tests__/manifestEndpoints.test.d.ts +2 -0
- package/build/ports/endpoints/__tests__/manifestEndpoints.test.d.ts.map +1 -0
- package/build/ports/endpoints/__tests__/manifestEndpoints.test.js +117 -0
- package/build/ports/endpoints/__tests__/manifestEndpoints.test.js.map +1 -0
- package/build/ports/endpoints/declarationSite.d.ts +63 -0
- package/build/ports/endpoints/declarationSite.d.ts.map +1 -0
- package/build/ports/endpoints/declarationSite.js +126 -0
- package/build/ports/endpoints/declarationSite.js.map +1 -0
- package/build/ports/endpoints/health.d.ts +26 -0
- package/build/ports/endpoints/health.d.ts.map +1 -0
- package/build/ports/endpoints/health.js +96 -0
- package/build/ports/endpoints/health.js.map +1 -0
- package/build/ports/endpoints/index.d.ts +43 -7
- package/build/ports/endpoints/index.d.ts.map +1 -1
- package/build/ports/endpoints/index.js +317 -67
- package/build/ports/endpoints/index.js.map +1 -1
- package/build/ports/endpoints/openApi.d.ts +3 -2
- package/build/ports/endpoints/openApi.d.ts.map +1 -1
- package/build/ports/endpoints/openApi.js +184 -55
- package/build/ports/endpoints/openApi.js.map +1 -1
- package/build/ports/endpoints/utils.d.ts.map +1 -1
- package/build/ports/endpoints/utils.js.map +1 -1
- package/build/ports/eventstore/index.d.ts.map +1 -1
- package/build/ports/eventstore/index.js +37 -5
- package/build/ports/eventstore/index.js.map +1 -1
- package/build/ports/eventstore/index.test.d.ts +2 -0
- package/build/ports/eventstore/index.test.d.ts.map +1 -0
- package/build/ports/eventstore/index.test.js +68 -0
- package/build/ports/eventstore/index.test.js.map +1 -0
- package/build/ports/infrastructure/index.d.ts +61 -23
- package/build/ports/infrastructure/index.d.ts.map +1 -1
- package/build/ports/infrastructure/index.js +187 -37
- package/build/ports/infrastructure/index.js.map +1 -1
- package/build/ports/infrastructure/index.test.d.ts +2 -0
- package/build/ports/infrastructure/index.test.d.ts.map +1 -0
- package/build/ports/infrastructure/index.test.js +228 -0
- package/build/ports/infrastructure/index.test.js.map +1 -0
- package/build/ports/infrastructure/utils.d.ts +2 -1
- package/build/ports/infrastructure/utils.d.ts.map +1 -1
- package/build/ports/infrastructure/utils.js +48 -22
- package/build/ports/infrastructure/utils.js.map +1 -1
- package/build/ports/logger/__tests__/logger.test.d.ts +2 -0
- package/build/ports/logger/__tests__/logger.test.d.ts.map +1 -0
- package/build/ports/logger/__tests__/logger.test.js +69 -0
- package/build/ports/logger/__tests__/logger.test.js.map +1 -0
- package/build/ports/logger/index.d.ts.map +1 -1
- package/build/ports/logger/index.js +3 -2
- package/build/ports/logger/index.js.map +1 -1
- package/build/utils/__tests__/applyCollectionFilterInMemory.test.d.ts +2 -0
- package/build/utils/__tests__/applyCollectionFilterInMemory.test.d.ts.map +1 -0
- package/build/utils/__tests__/applyCollectionFilterInMemory.test.js +33 -0
- package/build/utils/__tests__/applyCollectionFilterInMemory.test.js.map +1 -0
- package/build/utils/__tests__/decodeObjectQueryParams.test.d.ts +2 -0
- package/build/utils/__tests__/decodeObjectQueryParams.test.d.ts.map +1 -0
- package/build/utils/__tests__/decodeObjectQueryParams.test.js +118 -0
- package/build/utils/__tests__/decodeObjectQueryParams.test.js.map +1 -0
- package/build/utils/index.d.ts +26 -34
- package/build/utils/index.d.ts.map +1 -1
- package/build/utils/index.js +159 -170
- package/build/utils/index.js.map +1 -1
- package/package.json +31 -11
- package/build/adapters/cache/memory/__tests__/memoryCache.test.d.ts +0 -1
- package/build/adapters/cache/memory/__tests__/memoryCache.test.d.ts.map +0 -1
- package/build/adapters/cache/memory/__tests__/memoryCache.test.js +0 -6
- package/build/adapters/cache/memory/__tests__/memoryCache.test.js.map +0 -1
- package/build/adapters/database/memory/__tests__/memoryDb.test.d.ts +0 -1
- package/build/adapters/database/memory/__tests__/memoryDb.test.d.ts.map +0 -1
- package/build/adapters/database/memory/__tests__/memoryDb.test.js +0 -36
- package/build/adapters/database/memory/__tests__/memoryDb.test.js.map +0 -1
- package/build/ports/endpoints/__tests__/endpointsCall.test.d.ts +0 -2
- package/build/ports/endpoints/__tests__/endpointsCall.test.d.ts.map +0 -1
- package/build/ports/endpoints/__tests__/endpointsCall.test.js +0 -21
- package/build/ports/endpoints/__tests__/endpointsCall.test.js.map +0 -1
- package/build/ports/endpoints/__tests__/test-client-library/base.d.ts +0 -77
- package/build/ports/endpoints/__tests__/test-client-library/base.d.ts.map +0 -1
- package/build/ports/endpoints/__tests__/test-client-library/base.js +0 -91
- package/build/ports/endpoints/__tests__/test-client-library/base.js.map +0 -1
- package/build/ports/endpoints/__tests__/test-client-library/index.d.ts +0 -29
- package/build/ports/endpoints/__tests__/test-client-library/index.d.ts.map +0 -1
- package/build/ports/endpoints/__tests__/test-client-library/index.js +0 -43
- package/build/ports/endpoints/__tests__/test-client-library/index.js.map +0 -1
- package/build/ports/endpoints/__tests__/test-client-library/services/service.d.ts +0 -106
- package/build/ports/endpoints/__tests__/test-client-library/services/service.d.ts.map +0 -1
- package/build/ports/endpoints/__tests__/test-client-library/services/service.js +0 -62
- package/build/ports/endpoints/__tests__/test-client-library/services/service.js.map +0 -1
- package/build/ports/endpoints/__tests__/utils.test.d.ts +0 -1
- package/build/ports/endpoints/__tests__/utils.test.d.ts.map +0 -1
- package/build/ports/endpoints/__tests__/utils.test.js +0 -53
- package/build/ports/endpoints/__tests__/utils.test.js.map +0 -1
- package/build/ports/eventsourcing/__tests__/eventhandlers.test.d.ts +0 -2
- package/build/ports/eventsourcing/__tests__/eventhandlers.test.d.ts.map +0 -1
- package/build/ports/eventsourcing/__tests__/eventhandlers.test.js +0 -35
- package/build/ports/eventsourcing/__tests__/eventhandlers.test.js.map +0 -1
- package/build/ports/eventsourcing/__tests__/invariants.test.d.ts +0 -2
- package/build/ports/eventsourcing/__tests__/invariants.test.d.ts.map +0 -1
- package/build/ports/eventsourcing/__tests__/invariants.test.js +0 -210
- package/build/ports/eventsourcing/__tests__/invariants.test.js.map +0 -1
- package/build/ports/eventsourcing/commandHandlers/index.d.ts +0 -25
- package/build/ports/eventsourcing/commandHandlers/index.d.ts.map +0 -1
- package/build/ports/eventsourcing/commandHandlers/index.js +0 -392
- package/build/ports/eventsourcing/commandHandlers/index.js.map +0 -1
- package/build/ports/eventsourcing/commandTemplates/index.d.ts.map +0 -1
- package/build/ports/eventsourcing/commandTemplates/index.js.map +0 -1
- package/build/ports/eventsourcing/commandTemplates/multiStream.d.ts +0 -4
- package/build/ports/eventsourcing/commandTemplates/multiStream.d.ts.map +0 -1
- package/build/ports/eventsourcing/commandTemplates/multiStream.js +0 -73
- package/build/ports/eventsourcing/commandTemplates/multiStream.js.map +0 -1
- package/build/ports/eventsourcing/commandTemplates/snapshot.d.ts +0 -9
- package/build/ports/eventsourcing/commandTemplates/snapshot.d.ts.map +0 -1
- package/build/ports/eventsourcing/commandTemplates/snapshot.js +0 -39
- package/build/ports/eventsourcing/commandTemplates/snapshot.js.map +0 -1
- package/build/ports/eventsourcing/eventHandlers/index.d.ts +0 -33
- package/build/ports/eventsourcing/eventHandlers/index.d.ts.map +0 -1
- package/build/ports/eventsourcing/eventHandlers/index.js +0 -276
- package/build/ports/eventsourcing/eventHandlers/index.js.map +0 -1
- package/build/ports/eventsourcing/index.d.ts +0 -9
- package/build/ports/eventsourcing/index.d.ts.map +0 -1
- package/build/ports/eventsourcing/invariants/combinators.d.ts +0 -4
- package/build/ports/eventsourcing/invariants/combinators.d.ts.map +0 -1
- package/build/ports/eventsourcing/invariants/combinators.js.map +0 -1
- package/build/ports/eventsourcing/invariants/common.d.ts +0 -10
- package/build/ports/eventsourcing/invariants/common.d.ts.map +0 -1
- package/build/ports/eventsourcing/invariants/common.js +0 -37
- package/build/ports/eventsourcing/invariants/common.js.map +0 -1
- package/build/ports/eventsourcing/invariants/comparisons.d.ts +0 -19
- package/build/ports/eventsourcing/invariants/comparisons.d.ts.map +0 -1
- package/build/ports/eventsourcing/invariants/comparisons.js +0 -83
- package/build/ports/eventsourcing/invariants/comparisons.js.map +0 -1
- package/build/ports/eventsourcing/invariants/index.d.ts +0 -5
- package/build/ports/eventsourcing/invariants/index.d.ts.map +0 -1
- package/build/ports/eventsourcing/invariants/index.js +0 -21
- package/build/ports/eventsourcing/invariants/index.js.map +0 -1
- package/build/ports/eventsourcing/invariants/stateExistance.d.ts +0 -4
- package/build/ports/eventsourcing/invariants/stateExistance.d.ts.map +0 -1
- package/build/ports/eventsourcing/invariants/stateExistance.js +0 -33
- package/build/ports/eventsourcing/invariants/stateExistance.js.map +0 -1
- package/build/ports/eventsourcing/subscriptions/index.d.ts.map +0 -1
- package/build/ports/eventsourcing/subscriptions/index.js.map +0 -1
- package/build/ports/eventsourcing/subscriptions/sseSubscriptions.d.ts +0 -3
- package/build/ports/eventsourcing/subscriptions/sseSubscriptions.d.ts.map +0 -1
- package/build/ports/eventsourcing/subscriptions/sseSubscriptions.js +0 -81
- package/build/ports/eventsourcing/subscriptions/sseSubscriptions.js.map +0 -1
- package/build/ports/eventsourcing/utils/aggregateBuilder.d.ts +0 -4
- package/build/ports/eventsourcing/utils/aggregateBuilder.d.ts.map +0 -1
- package/build/ports/eventsourcing/utils/aggregateBuilder.js.map +0 -1
- package/build/ports/eventsourcing/utils/commandBuilder.d.ts +0 -3
- package/build/ports/eventsourcing/utils/commandBuilder.d.ts.map +0 -1
- package/build/ports/eventsourcing/utils/commandBuilder.js.map +0 -1
- package/build/ports/eventsourcing/utils/eventHandlerBuilder.d.ts.map +0 -1
- package/build/ports/eventsourcing/utils/eventHandlerBuilder.js.map +0 -1
- package/build/ports/eventsourcing/utils/externalSystemBuilder.d.ts +0 -4
- package/build/ports/eventsourcing/utils/externalSystemBuilder.d.ts.map +0 -1
- package/build/ports/eventsourcing/utils/externalSystemBuilder.js +0 -34
- package/build/ports/eventsourcing/utils/externalSystemBuilder.js.map +0 -1
- package/build/ports/eventsourcing/utils/index.d.ts +0 -13
- package/build/ports/eventsourcing/utils/index.d.ts.map +0 -1
- package/build/ports/eventsourcing/utils/index.js +0 -45
- package/build/ports/eventsourcing/utils/index.js.map +0 -1
- package/build/ports/eventsourcing/utils/policyBuilder.d.ts +0 -3
- package/build/ports/eventsourcing/utils/policyBuilder.d.ts.map +0 -1
- package/build/ports/eventsourcing/utils/policyBuilder.js +0 -29
- package/build/ports/eventsourcing/utils/policyBuilder.js.map +0 -1
- package/build/ports/eventsourcing/utils/readmodelBuilder.d.ts +0 -5
- package/build/ports/eventsourcing/utils/readmodelBuilder.d.ts.map +0 -1
- package/build/ports/eventsourcing/utils/readmodelBuilder.js +0 -45
- package/build/ports/eventsourcing/utils/readmodelBuilder.js.map +0 -1
- package/build/ports/infrastructure/__tests__/fixture/index.d.ts +0 -3
- package/build/ports/infrastructure/__tests__/fixture/index.d.ts.map +0 -1
- package/build/ports/infrastructure/__tests__/fixture/index.js +0 -19
- package/build/ports/infrastructure/__tests__/fixture/index.js.map +0 -1
- package/build/ports/infrastructure/__tests__/fixture/infrastructureServices.d.ts +0 -19
- package/build/ports/infrastructure/__tests__/fixture/infrastructureServices.d.ts.map +0 -1
- package/build/ports/infrastructure/__tests__/fixture/infrastructureServices.js +0 -76
- package/build/ports/infrastructure/__tests__/fixture/infrastructureServices.js.map +0 -1
- package/build/ports/infrastructure/__tests__/fixture/structureState.d.ts +0 -177
- package/build/ports/infrastructure/__tests__/fixture/structureState.d.ts.map +0 -1
- package/build/ports/infrastructure/__tests__/fixture/structureState.js +0 -258
- package/build/ports/infrastructure/__tests__/fixture/structureState.js.map +0 -1
- package/build/ports/infrastructure/__tests__/infrastructure.test.d.ts +0 -2
- package/build/ports/infrastructure/__tests__/infrastructure.test.d.ts.map +0 -1
- package/build/ports/infrastructure/__tests__/infrastructure.test.js +0 -11
- package/build/ports/infrastructure/__tests__/infrastructure.test.js.map +0 -1
- package/src/adapters/cache/index.ts +0 -1
- package/src/adapters/cache/memory/__tests__/memoryCache.test.ts +0 -6
- package/src/adapters/cache/memory/index.ts +0 -142
- package/src/adapters/configuration/__tests__/.env +0 -4
- package/src/adapters/configuration/__tests__/dotEnv.test.ts +0 -38
- package/src/adapters/configuration/dotEnv.ts +0 -33
- package/src/adapters/configuration/index.ts +0 -1
- package/src/adapters/database/index.ts +0 -1
- package/src/adapters/database/memory/__tests__/memoryDb.test.ts +0 -37
- package/src/adapters/database/memory/index.ts +0 -279
- package/src/adapters/endpoints/addAuthUser/index.ts +0 -55
- package/src/adapters/endpoints/endpointValidation/index.ts +0 -26
- package/src/adapters/endpoints/index.ts +0 -4
- package/src/adapters/endpoints/localAuthorization/index.ts +0 -75
- package/src/adapters/endpoints/tcpConsumer/index.ts +0 -69
- package/src/adapters/endpoints/userSession/index.ts +0 -40
- package/src/adapters/eventstore/database.ts +0 -178
- package/src/adapters/eventstore/index.ts +0 -1
- package/src/adapters/infrastructure/index.ts +0 -1
- package/src/adapters/infrastructure/local/index.ts +0 -40
- package/src/adapters/logger/console.ts +0 -42
- package/src/adapters/logger/index.ts +0 -1
- package/src/index.ts +0 -25
- package/src/libraries/modules/fs.ts +0 -88
- package/src/libraries/modules/index.ts +0 -1
- package/src/libraries/openApi/index.ts +0 -1
- package/src/libraries/openApi/pruneUnusedRef.ts +0 -35
- package/src/libraries/tcp/index.ts +0 -98
- package/src/libraries/tcp/types.ts +0 -43
- package/src/libraries/validation/__tests__/validation.test.ts +0 -25
- package/src/libraries/validation/index.ts +0 -48
- package/src/ports/authentication/index.ts +0 -25
- package/src/ports/base.ts +0 -20
- package/src/ports/cache/index.ts +0 -17
- package/src/ports/configuration/__tests__/configurationPort.test.ts +0 -47
- package/src/ports/configuration/args.ts +0 -39
- package/src/ports/configuration/common.ts +0 -12
- package/src/ports/configuration/index.ts +0 -110
- package/src/ports/configuration/localConfig.ts +0 -117
- package/src/ports/database/index.ts +0 -25
- package/src/ports/endpoints/__tests__/endpointsCall.test.ts +0 -20
- package/src/ports/endpoints/__tests__/test-client-library/base.ts +0 -167
- package/src/ports/endpoints/__tests__/test-client-library/index.ts +0 -23
- package/src/ports/endpoints/__tests__/test-client-library/services/service.ts +0 -181
- package/src/ports/endpoints/__tests__/utils.test.ts +0 -54
- package/src/ports/endpoints/index.ts +0 -272
- package/src/ports/endpoints/openApi.ts +0 -191
- package/src/ports/endpoints/utils.ts +0 -31
- package/src/ports/eventsourcing/__tests__/eventhandlers.test.ts +0 -30
- package/src/ports/eventsourcing/__tests__/invariants.test.ts +0 -213
- package/src/ports/eventsourcing/commandHandlers/index.ts +0 -625
- package/src/ports/eventsourcing/commandTemplates/index.ts +0 -2
- package/src/ports/eventsourcing/commandTemplates/multiStream.ts +0 -70
- package/src/ports/eventsourcing/commandTemplates/snapshot.ts +0 -43
- package/src/ports/eventsourcing/eventHandlers/index.ts +0 -429
- package/src/ports/eventsourcing/index.ts +0 -98
- package/src/ports/eventsourcing/invariants/combinators.ts +0 -25
- package/src/ports/eventsourcing/invariants/common.ts +0 -42
- package/src/ports/eventsourcing/invariants/comparisons.ts +0 -90
- package/src/ports/eventsourcing/invariants/index.ts +0 -4
- package/src/ports/eventsourcing/invariants/stateExistance.ts +0 -34
- package/src/ports/eventsourcing/subscriptions/index.ts +0 -1
- package/src/ports/eventsourcing/subscriptions/sseSubscriptions.ts +0 -103
- package/src/ports/eventsourcing/utils/aggregateBuilder.ts +0 -49
- package/src/ports/eventsourcing/utils/commandBuilder.ts +0 -113
- package/src/ports/eventsourcing/utils/eventHandlerBuilder.ts +0 -22
- package/src/ports/eventsourcing/utils/externalSystemBuilder.ts +0 -42
- package/src/ports/eventsourcing/utils/index.ts +0 -25
- package/src/ports/eventsourcing/utils/policyBuilder.ts +0 -31
- package/src/ports/eventsourcing/utils/readmodelBuilder.ts +0 -52
- package/src/ports/eventstore/index.ts +0 -11
- package/src/ports/infrastructure/__tests__/fixture/index.ts +0 -2
- package/src/ports/infrastructure/__tests__/fixture/infrastructureServices.ts +0 -72
- package/src/ports/infrastructure/__tests__/fixture/structureState.ts +0 -254
- package/src/ports/infrastructure/__tests__/infrastructure.test.ts +0 -11
- package/src/ports/infrastructure/index.ts +0 -162
- package/src/ports/infrastructure/utils.ts +0 -130
- package/src/ports/logger/index.ts +0 -34
- package/src/utils/index.ts +0 -186
- package/tsconfig.json +0 -19
- /package/build/{ports → libraries}/eventsourcing/commandTemplates/index.d.ts +0 -0
- /package/build/{ports → libraries}/eventsourcing/commandTemplates/index.js +0 -0
- /package/build/{ports → libraries}/eventsourcing/subscriptions/index.d.ts +0 -0
- /package/build/{ports → libraries}/eventsourcing/subscriptions/index.js +0 -0
- /package/build/{ports → libraries}/eventsourcing/utils/eventHandlerBuilder.js +0 -0
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DatabaseEventstore = void 0;
|
|
4
4
|
const bett3r_utils_1 = require("@bett3r-dev/bett3r-utils");
|
|
5
|
+
const pv3_types_1 = require("@bett3r-dev/pv3-types");
|
|
5
6
|
const ramda_1 = require("ramda");
|
|
7
|
+
const uuidv7_1 = require("uuidv7");
|
|
6
8
|
const __1 = require("../..");
|
|
7
9
|
const base_1 = require("../../ports/base");
|
|
8
10
|
const DatabaseEventstore = (config, loggerPort, database) => {
|
|
@@ -12,8 +14,16 @@ const DatabaseEventstore = (config, loggerPort, database) => {
|
|
|
12
14
|
database.onStarted(() => {
|
|
13
15
|
const eventstoreCollection = database.getCollection(collection);
|
|
14
16
|
Promise.resolve()
|
|
15
|
-
.then(() => eventstoreCollection.ensureIndex(
|
|
17
|
+
.then(() => eventstoreCollection.ensureIndex({ stream: {}, version: { isNumeric: true } }, { isUnique: true }))
|
|
16
18
|
.then(() => eventstoreCollection.ensureIndex(['id'], { isUnique: true }))
|
|
19
|
+
// `position` is NUMERIC so the generated column is `bigint`, not the
|
|
20
|
+
// default `text`. With a text column, `ORDER BY position` sorts
|
|
21
|
+
// lexicographically, corrupting aggregate replay when positions span
|
|
22
|
+
// different digit-lengths. MemoryDb sorts numerically, hiding this.
|
|
23
|
+
// `version` has the same latent text-sort bug in the latest-version
|
|
24
|
+
// lookup used by `appendToStream` — fixed by the Record form above
|
|
25
|
+
// which marks version as `bigint` while keeping stream as `text`.
|
|
26
|
+
.then(() => eventstoreCollection.ensureIndex(['position'], { isUnique: true, isNumeric: true }))
|
|
17
27
|
.then(() => eventstoreCollection.ensureIndex(['name']))
|
|
18
28
|
.then(() => eventstoreCollection.ensureIndex(['metadata.correlationId']))
|
|
19
29
|
.then(() => {
|
|
@@ -26,105 +36,292 @@ const DatabaseEventstore = (config, loggerPort, database) => {
|
|
|
26
36
|
const createEventToCommit = (stream, actualVersion) => ({ name, data, metadata, stream: eventCommit }, index) => {
|
|
27
37
|
return getNextEventPosition()
|
|
28
38
|
.then((commit = 1) => ({
|
|
29
|
-
id:
|
|
39
|
+
id: (0, uuidv7_1.uuidv7)(),
|
|
40
|
+
position: commit,
|
|
30
41
|
name,
|
|
31
|
-
version: actualVersion + index + 1,
|
|
42
|
+
version: actualVersion === null ? null : actualVersion + index + 1,
|
|
32
43
|
timestamp: new Date().toISOString(),
|
|
33
44
|
data,
|
|
34
45
|
stream: eventCommit || stream,
|
|
35
46
|
metadata: {
|
|
36
|
-
...metadata
|
|
47
|
+
...metadata
|
|
37
48
|
}
|
|
38
49
|
}));
|
|
39
50
|
};
|
|
40
|
-
const
|
|
41
|
-
|
|
51
|
+
const createEventsToCommit = (stream, events) => (actualVersion) => (0, bett3r_utils_1.ensureArray)(events)
|
|
52
|
+
.reduce(async (eventsToCommitPromise, event, index) => {
|
|
53
|
+
const eventsToCommit = await eventsToCommitPromise;
|
|
54
|
+
return [...eventsToCommit, await createEventToCommit(stream, actualVersion)(event, index)];
|
|
55
|
+
}, Promise.resolve([]));
|
|
56
|
+
const validateExpectedVersion = (stream, expectedVersion, eventToCommit) => (actualVersion) => {
|
|
57
|
+
if (expectedVersion === undefined)
|
|
58
|
+
return Promise.resolve(actualVersion);
|
|
59
|
+
if (expectedVersion === null)
|
|
60
|
+
return Promise.resolve(null);
|
|
61
|
+
if (expectedVersion === actualVersion)
|
|
42
62
|
return Promise.resolve(actualVersion);
|
|
43
63
|
else
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
64
|
+
// `stream` is on the details on purpose, and mirrors what
|
|
65
|
+
// pv3-adapter-eventstore-postgres reports. It is the ONE field that makes this class of
|
|
66
|
+
// conflict diagnosable — every consumer of it (`executeCommand` logs `err.details?.stream`
|
|
67
|
+
// on every retry, on the refuse-to-retry branch and on exhaustion) read `undefined` here,
|
|
68
|
+
// so a whole family of failures logged as "on stream undefined" and named nothing.
|
|
69
|
+
return Promise.reject(new pv3_types_1.ConcurrencyError('Concurrency Error', 'CONCURRENCY_ERROR', {
|
|
70
|
+
event: eventToCommit || { stream, version: actualVersion + 1 },
|
|
71
|
+
stream,
|
|
72
|
+
expectedVersion: expectedVersion.toString(),
|
|
73
|
+
actualVersion: actualVersion.toString()
|
|
49
74
|
}));
|
|
50
75
|
};
|
|
51
76
|
const ensureNumber = (value) => value ? Number(value) : 0;
|
|
52
|
-
const
|
|
77
|
+
const extractVersion = (event) => {
|
|
78
|
+
if (!event)
|
|
79
|
+
return 0;
|
|
80
|
+
return ensureNumber((0, ramda_1.pathOr)('0', ['version'], event));
|
|
81
|
+
};
|
|
82
|
+
const extractAndValidateExpectedVersion = (stream, expectedVersion) => (event) => {
|
|
83
|
+
// If expectedVersion is explicitly null, return null (for versionless streams)
|
|
84
|
+
if (expectedVersion === null)
|
|
85
|
+
return Promise.resolve(null);
|
|
86
|
+
// If no event exists, start at version 0
|
|
87
|
+
if (!event)
|
|
88
|
+
return Promise.resolve(0);
|
|
53
89
|
return Promise.resolve(event)
|
|
54
90
|
.then((0, ramda_1.pathOr)('0', ['version']))
|
|
55
91
|
.then(ensureNumber)
|
|
56
|
-
.then(validateExpectedVersion(expectedVersion));
|
|
92
|
+
.then(validateExpectedVersion(stream, expectedVersion, event));
|
|
57
93
|
};
|
|
58
|
-
|
|
94
|
+
// A DuplicatedValueInIndexError surfacing from createMany inside
|
|
95
|
+
// appendToStream / appendToMultipleStreams is always the (stream,version)
|
|
96
|
+
// version race — never a spurious id/position collision. We map *any* such
|
|
97
|
+
// error (rather than sniffing err.details, whose shape is adapter-specific)
|
|
98
|
+
// because it is provably safe here:
|
|
99
|
+
// - id is a fresh uuidv7 and position a fresh atomic counter, both
|
|
100
|
+
// regenerated on every (re)build, so an id/position collision cannot
|
|
101
|
+
// recur across the command-handler's <=10 retries — it self-heals on the
|
|
102
|
+
// next attempt or exhausts the retries and rethrows.
|
|
103
|
+
// - the expectedVersion pre-check (validateExpectedVersion) throws its own
|
|
104
|
+
// ConcurrencyError BEFORE createMany, so a createMany-level violation only
|
|
105
|
+
// occurs when two writers both passed the pre-check and genuinely raced.
|
|
106
|
+
// Re-throwing ConcurrencyError with a distinct EVENTSTORE_VERSION_RACE code
|
|
107
|
+
// converges this generic adapter with pv3-adapter-eventstore-postgres (which
|
|
108
|
+
// surfaces the same race as ConcurrencyError), so the command-handler retry
|
|
109
|
+
// keyed on `err.type === 'ConcurrencyError'` fires and the losing writer
|
|
110
|
+
// re-reads and re-appends instead of dying.
|
|
111
|
+
const remapVersionRace = (events) => (err) => {
|
|
112
|
+
if (err instanceof pv3_types_1.DuplicatedValueInIndexError)
|
|
113
|
+
throw new pv3_types_1.ConcurrencyError('Concurrency Error', 'EVENTSTORE_VERSION_RACE', {
|
|
114
|
+
event: events[0],
|
|
115
|
+
expectedVersion: String(Number(events[0]?.version ?? 0) - 1),
|
|
116
|
+
actualVersion: String(events[0]?.version ?? 0),
|
|
117
|
+
stream: events[0]?.stream
|
|
118
|
+
});
|
|
119
|
+
throw err;
|
|
120
|
+
};
|
|
121
|
+
// THE head-version lookup — the ONLY place this query lives. BOTH append paths
|
|
122
|
+
// (`appendToStream`, `appendToMultipleStreams`) ask it at COMMIT time to number what they
|
|
123
|
+
// write; `getStreamVersion` exposes the same question so a caller can take the head at LOAD
|
|
124
|
+
// time and assert it back as `expectedVersion`. One implementation, so they can never answer
|
|
125
|
+
// differently — an expectation asserted at load against a differently-computed head would be
|
|
126
|
+
// unsatisfiable at commit and retry forever.
|
|
127
|
+
//
|
|
128
|
+
// Reads through the transaction's collection when given one (mirroring `reduceMultipleStream`)
|
|
129
|
+
// so a caller inside a transaction sees its OWN uncommitted appends.
|
|
130
|
+
const queryHeadEvent = (stream, transaction) => {
|
|
59
131
|
const eventstoreCollection = transaction ? transaction.getCollection(collection) : database.getCollection(collection);
|
|
60
132
|
return eventstoreCollection
|
|
61
133
|
.query({ filter: [{ field: 'stream', op: 'eq', value: stream }], sort: [{ field: 'version', direction: 'desc' }], limit: 1, select: ['version'] })
|
|
62
|
-
.then((0, ramda_1.path)(['0']))
|
|
63
|
-
|
|
64
|
-
|
|
134
|
+
.then((0, ramda_1.path)(['0']));
|
|
135
|
+
};
|
|
136
|
+
const getStreamVersion = (stream, transaction) => queryHeadEvent(stream, transaction).then(extractVersion);
|
|
137
|
+
// A NO-OP, and implemented rather than omitted so that stays a DECISION on the record: this
|
|
138
|
+
// adapter keeps NOTHING about a transaction. Every head read goes through `queryHeadEvent`,
|
|
139
|
+
// which asks the transaction's own collection each time, so a savepoint rollback needs no
|
|
140
|
+
// invalidation here — there is no cached version that could survive the rows it came from.
|
|
141
|
+
// (`PostgresEventstore` does cache exactly that, and must forget it.)
|
|
142
|
+
const forgetTransactionState = () => { };
|
|
143
|
+
const appendToStream = (stream, events, expectedVersion, transaction) => {
|
|
144
|
+
const eventstoreCollection = transaction ? transaction.getCollection(collection) : database.getCollection(collection);
|
|
145
|
+
return queryHeadEvent(stream, transaction)
|
|
146
|
+
.then(extractAndValidateExpectedVersion(stream, expectedVersion))
|
|
147
|
+
.then(createEventsToCommit(stream, events))
|
|
65
148
|
.then((promises) => Promise.all(promises))
|
|
66
|
-
.then((events) => eventstoreCollection.createMany(
|
|
149
|
+
.then((events) => eventstoreCollection.createMany(events).catch(remapVersionRace(events)));
|
|
67
150
|
};
|
|
68
|
-
const appendToMultipleStreams = (streams) => {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
151
|
+
const appendToMultipleStreams = (streams, transaction) => {
|
|
152
|
+
// The WHOLE transaction, not just its `getCollection`: the head lookup below is
|
|
153
|
+
// `queryHeadEvent`, which needs the transaction itself so this append reads its own
|
|
154
|
+
// uncommitted rows exactly as the single-stream append and `getStreamVersion` do.
|
|
155
|
+
const innerTransactionOperation = (innerTransaction) => {
|
|
156
|
+
const eventstoreCollection = innerTransaction.getCollection(collection);
|
|
157
|
+
const streamNames = Object.keys(streams);
|
|
158
|
+
return Promise.all(streamNames.map((stream) => {
|
|
159
|
+
return queryHeadEvent(stream, innerTransaction).then(event => ({ stream, event }));
|
|
74
160
|
}))
|
|
75
|
-
.then(
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
.
|
|
86
|
-
return Object.keys(streams).map((stream) => {
|
|
161
|
+
.then(results => {
|
|
162
|
+
// Extract actual versions without validation
|
|
163
|
+
const actualVersions = {};
|
|
164
|
+
for (const { stream, event } of results) {
|
|
165
|
+
actualVersions[stream] = extractVersion(event);
|
|
166
|
+
}
|
|
167
|
+
return actualVersions;
|
|
168
|
+
})
|
|
169
|
+
.then(async (actualVersions) => {
|
|
170
|
+
// Create all events first
|
|
171
|
+
const allEventsPromises = streamNames.map((stream) => {
|
|
87
172
|
return (0, bett3r_utils_1.map)(createEventToCommit(stream, actualVersions[stream]), (0, bett3r_utils_1.ensureArray)(streams[stream].events));
|
|
88
173
|
}).flat();
|
|
174
|
+
const allEvents = await Promise.all(allEventsPromises);
|
|
175
|
+
// Group events by stream for validation
|
|
176
|
+
const eventsByStream = allEvents.reduce((acc, event) => {
|
|
177
|
+
if (!acc[event.stream])
|
|
178
|
+
acc[event.stream] = [];
|
|
179
|
+
acc[event.stream].push(event);
|
|
180
|
+
return acc;
|
|
181
|
+
}, {});
|
|
182
|
+
// Validate expected versions with actual event details
|
|
183
|
+
for (const stream of streamNames) {
|
|
184
|
+
const expectedVersion = streams[stream].expectedVersion;
|
|
185
|
+
if (expectedVersion !== undefined && expectedVersion !== null) {
|
|
186
|
+
const actualVersion = actualVersions[stream];
|
|
187
|
+
if (expectedVersion !== actualVersion) {
|
|
188
|
+
// Same reason `validateExpectedVersion` above names its stream: the command
|
|
189
|
+
// handler now routes every cross-stream commit through here, so this is the
|
|
190
|
+
// branch a multi-stream conflict is reported from, and the stream that lost is
|
|
191
|
+
// the only thing that explains it.
|
|
192
|
+
throw new pv3_types_1.ConcurrencyError('Concurrency Error', 'CONCURRENCY_ERROR', {
|
|
193
|
+
event: eventsByStream[stream][0],
|
|
194
|
+
stream,
|
|
195
|
+
expectedVersion: expectedVersion.toString(),
|
|
196
|
+
actualVersion: actualVersion.toString()
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
return allEvents;
|
|
89
202
|
})
|
|
90
|
-
.then((
|
|
91
|
-
|
|
92
|
-
|
|
203
|
+
.then((events) => eventstoreCollection.createMany(events).catch(remapVersionRace(events)));
|
|
204
|
+
};
|
|
205
|
+
return !transaction ? database.initTransaction(innerTransactionOperation) : innerTransactionOperation(transaction);
|
|
93
206
|
};
|
|
94
|
-
const
|
|
207
|
+
const reduceStream = async (readOptions = {}, callback, initialState) => {
|
|
95
208
|
const eventstoreCollection = database.getCollection(collection);
|
|
96
209
|
const filter = [];
|
|
210
|
+
readOptions = readOptions || {};
|
|
97
211
|
if (readOptions.stream)
|
|
98
212
|
filter.push({ field: 'stream', op: 'eq', value: readOptions.stream });
|
|
99
|
-
if (readOptions.
|
|
100
|
-
filter.push({ field: '
|
|
101
|
-
|
|
102
|
-
|
|
213
|
+
if (readOptions.from)
|
|
214
|
+
filter.push({ field: 'position', op: 'gt', value: readOptions.from });
|
|
215
|
+
if (readOptions.to)
|
|
216
|
+
filter.push({ field: 'position', op: 'lte', value: readOptions.to });
|
|
217
|
+
const sort = (readOptions.direction === 'backwards' ? [{ field: 'position', direction: 'desc' }] : [{ field: 'position', direction: 'asc' }]);
|
|
103
218
|
await eventstoreCollection.forEach({
|
|
104
219
|
limit: readOptions.limit,
|
|
105
|
-
after: readOptions.from,
|
|
106
220
|
filter,
|
|
107
|
-
sort
|
|
221
|
+
sort
|
|
108
222
|
}, async (record, stop) => {
|
|
109
|
-
|
|
223
|
+
initialState = await callback(initialState, record, stop);
|
|
110
224
|
});
|
|
111
|
-
return
|
|
225
|
+
return initialState;
|
|
112
226
|
};
|
|
113
|
-
const
|
|
227
|
+
const read = async (readOptions) => {
|
|
114
228
|
const eventstoreCollection = database.getCollection(collection);
|
|
115
|
-
const filter =
|
|
116
|
-
|
|
117
|
-
|
|
229
|
+
const filter = [];
|
|
230
|
+
readOptions = readOptions || {};
|
|
231
|
+
if (readOptions.stream)
|
|
232
|
+
filter.push({ field: 'stream', op: 'eq', value: readOptions.stream });
|
|
233
|
+
if (readOptions.from)
|
|
234
|
+
filter.push({ field: 'position', op: 'gt', value: readOptions.from });
|
|
235
|
+
if (readOptions.to)
|
|
236
|
+
filter.push({ field: 'position', op: 'lte', value: readOptions.to });
|
|
237
|
+
if (readOptions.correlationId)
|
|
238
|
+
filter.push({ field: 'metadata.correlationId', op: 'eq', value: readOptions.correlationId });
|
|
239
|
+
if (readOptions.userId)
|
|
240
|
+
filter.push({ field: 'metadata.userId', op: 'eq', value: readOptions.userId });
|
|
241
|
+
if (readOptions.events && readOptions.events.length > 0)
|
|
242
|
+
filter.push({ field: 'name', op: 'in', value: readOptions.events });
|
|
243
|
+
if (readOptions.before)
|
|
244
|
+
filter.push({ field: 'timestamp', op: 'lt', value: readOptions.before });
|
|
245
|
+
if (readOptions.after)
|
|
246
|
+
filter.push({ field: 'timestamp', op: 'gt', value: readOptions.after });
|
|
247
|
+
const sort = (readOptions.direction === 'backwards' ? [{ field: 'position', direction: 'desc' }] : [{ field: 'position', direction: 'asc' }]);
|
|
248
|
+
return eventstoreCollection.query({
|
|
249
|
+
limit: readOptions.limit || 100,
|
|
250
|
+
filter: filter.length > 0 ? filter : undefined,
|
|
251
|
+
sort
|
|
252
|
+
});
|
|
253
|
+
};
|
|
254
|
+
const reduceMultipleStream = async (readOptions, callback, initialState, transaction) => {
|
|
255
|
+
// Read on the transaction's connection when given one, so a caller that appended inside
|
|
256
|
+
// the transaction sees its OWN uncommitted events (read-your-writes) — the same guarantee
|
|
257
|
+
// pv3-adapter-eventstore-postgres has honored since 1680d047. A pool read here is READ
|
|
258
|
+
// COMMITTED on a real database, so the reduce would silently replay STALE state.
|
|
259
|
+
// `getCollection()` (mirroring appendToStream above), NOT `_adapter()`: the raw adapter a
|
|
260
|
+
// transaction exposes is database-specific (a PoolClient on postgres, the shared `_db` on
|
|
261
|
+
// MemoryDb), while `getCollection` is the portable DatabasePort abstraction.
|
|
262
|
+
const eventstoreCollection = transaction ? transaction.getCollection(collection) : database.getCollection(collection);
|
|
263
|
+
const streams = readOptions.streams;
|
|
264
|
+
const streamNames = streams ? Object.keys(streams) : undefined;
|
|
265
|
+
// Each stream carries its OWN `from` checkpoint — a POSITION (multiStream.ts passes
|
|
266
|
+
// `lastEvent.position` off the snapshot), compared with a STRICT `>` exactly as
|
|
267
|
+
// pv3-adapter-eventstore-postgres does (sqlParser.ts:102). Filtering on stream NAME alone replays
|
|
268
|
+
// already-snapshotted events ON TOP OF the snapshot: silent state corruption.
|
|
269
|
+
//
|
|
270
|
+
// The obvious encoding — `OR[ AND[ stream eq S, position gt from_S ] ]` — is NOT SAFE HERE.
|
|
271
|
+
// pv3-adapter-database-mongo's `translateFilter` (src/index.ts:41-63) folds each branch into one
|
|
272
|
+
// shared `result` object, so `result.$and = …` on the next iteration CLOBBERS the previous one: an
|
|
273
|
+
// OR of several ANDs silently keeps only the LAST branch, dropping whole streams from the read.
|
|
274
|
+
// So the filter deliberately stays inside the subset every adapter provably translates — the flat,
|
|
275
|
+
// implicit-AND form `read`/`reduceStream` already emit — and the exact per-stream checkpoint is
|
|
276
|
+
// applied in the callback below instead:
|
|
277
|
+
// `stream IN (…)` + a `minFrom` PREFILTER (the minimum checkpoint across the requested streams).
|
|
278
|
+
// `minFrom` can never exclude an event any stream still needs. The trade-off: we over-fetch the
|
|
279
|
+
// rows between `minFrom` and each stream's own `from` and discard them in-process. Portability of
|
|
280
|
+
// the GENERIC adapter is worth that IO — PostgresEventstore, the production eventstore, is
|
|
281
|
+
// untouched and keeps its exact indexed query.
|
|
282
|
+
//
|
|
283
|
+
// Only `from` is honored per stream: postgres itself merges every other read option into one
|
|
284
|
+
// GLOBAL set (sqlParser.ts:104-110), and no caller sets them.
|
|
285
|
+
const checkpointOf = (stream) => streams?.[stream]?.from || 0;
|
|
286
|
+
const checkpoints = streamNames ? streamNames.map(checkpointOf) : [];
|
|
287
|
+
const minFrom = checkpoints.length ? Math.min(...checkpoints) : 0;
|
|
288
|
+
const filter = streamNames ? [
|
|
289
|
+
{ field: 'stream', op: 'in', value: streamNames },
|
|
290
|
+
// Omitted entirely when there is no checkpoint, so the common no-snapshot read emits exactly the
|
|
291
|
+
// filter it always has. Same truthiness guard as reduceStream above.
|
|
292
|
+
...(minFrom ? [{ field: 'position', op: 'gt', value: minFrom }] : [])
|
|
293
|
+
] : undefined;
|
|
294
|
+
const sort = [{ field: 'position', direction: 'asc' }];
|
|
118
295
|
await eventstoreCollection.forEach({
|
|
119
|
-
limit: readOptions.limit,
|
|
120
|
-
after: readOptions.from,
|
|
121
296
|
filter,
|
|
122
|
-
sort
|
|
297
|
+
sort
|
|
123
298
|
}, async (record, stop) => {
|
|
124
|
-
|
|
299
|
+
// The exact per-stream checkpoint. An event AT its stream's checkpoint is already folded into
|
|
300
|
+
// the snapshot, so it is skipped WITHOUT invoking the reducer — a skipped event must not touch
|
|
301
|
+
// the reduced state, and `stop()` is untouched because it is only ever handed to the reducer.
|
|
302
|
+
// `from` defaults to 0 and positions start at 1, so a stream with no checkpoint replays in full.
|
|
303
|
+
if (record.position <= checkpointOf(record.stream))
|
|
304
|
+
return;
|
|
305
|
+
initialState = await callback(initialState, record, stop);
|
|
125
306
|
});
|
|
307
|
+
return initialState;
|
|
308
|
+
};
|
|
309
|
+
const readMultipleStream = async (readOptions, callback, initialState) => {
|
|
310
|
+
let result = {};
|
|
311
|
+
await reduceMultipleStream(readOptions, async (events, event, stop) => {
|
|
312
|
+
result = await callback(event, stop);
|
|
313
|
+
return events;
|
|
314
|
+
}, initialState);
|
|
126
315
|
return result;
|
|
127
316
|
};
|
|
317
|
+
const readById = async (id) => {
|
|
318
|
+
const eventstoreCollection = database.getCollection(collection);
|
|
319
|
+
const results = await eventstoreCollection.query({
|
|
320
|
+
filter: [{ field: 'id', op: 'eq', value: id }],
|
|
321
|
+
limit: 1
|
|
322
|
+
});
|
|
323
|
+
return results[0] || undefined;
|
|
324
|
+
};
|
|
128
325
|
const flush = async () => {
|
|
129
326
|
if (process.env.NODE_ENV !== 'production') {
|
|
130
327
|
const eventstoreCollection = database.getCollection(collection);
|
|
@@ -140,14 +337,20 @@ const DatabaseEventstore = (config, loggerPort, database) => {
|
|
|
140
337
|
};
|
|
141
338
|
const eventstorePort = (0, base_1.createPort)({
|
|
142
339
|
name: 'database',
|
|
340
|
+
getStreamVersion,
|
|
341
|
+
forgetTransactionState,
|
|
143
342
|
appendToStream,
|
|
144
343
|
appendToMultipleStreams,
|
|
145
|
-
|
|
344
|
+
reduceStream,
|
|
345
|
+
reduceMultipleStream,
|
|
346
|
+
read,
|
|
347
|
+
readById,
|
|
146
348
|
readMultipleStream,
|
|
147
349
|
subscribe,
|
|
148
350
|
flush,
|
|
149
|
-
start: async () =>
|
|
351
|
+
start: async () => new Promise(r => database.onStarted(r)),
|
|
150
352
|
stop: async () => { },
|
|
353
|
+
getConnectionId: () => database._adapter().connectionId,
|
|
151
354
|
_adapter: () => database
|
|
152
355
|
});
|
|
153
356
|
return eventstorePort;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../../src/adapters/eventstore/database.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../../src/adapters/eventstore/database.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database.test.d.ts","sourceRoot":"","sources":["../../../src/adapters/eventstore/database.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const database_1 = require("../../ports/database");
|
|
4
|
+
const logger_1 = require("../../ports/logger");
|
|
5
|
+
const memory_1 = require("../database/memory");
|
|
6
|
+
const console_1 = require("../logger/console");
|
|
7
|
+
const database_2 = require("./database");
|
|
8
|
+
const STREAM_A = 'Order-1985';
|
|
9
|
+
const STREAM_B = 'WarehouseItem-1985';
|
|
10
|
+
const STREAM_C = 'Shipment-1985';
|
|
11
|
+
const collectDelivered = (state, event) => [...state, { stream: event.stream, name: event.name, position: Number(event.position) }];
|
|
12
|
+
// A fresh MemoryDb per test: both the events collection AND the `__counters.eventPosition` row start
|
|
13
|
+
// clean, so no test can inherit another's positions.
|
|
14
|
+
const setupWithDatabase = async () => {
|
|
15
|
+
const logger = (0, logger_1.Logger)({}, (0, console_1.ConsoleLogger)());
|
|
16
|
+
const database = (0, database_1.Database)((0, memory_1.MemoryDb)());
|
|
17
|
+
const eventstore = (0, database_2.DatabaseEventstore)({}, logger, database);
|
|
18
|
+
await eventstore.start();
|
|
19
|
+
return { eventstore, database };
|
|
20
|
+
};
|
|
21
|
+
const setup = async () => (await setupWithDatabase()).eventstore;
|
|
22
|
+
// Seeded event-by-event, each append AWAITED. `position` is drawn from a `__counters.atomicIncrement`
|
|
23
|
+
// and a multi-event append launches every `createEventToCommit` CONCURRENTLY, so append order does
|
|
24
|
+
// NOT reliably equal position order. Sequential awaited appends make the assignment deterministic.
|
|
25
|
+
const seedSequentially = async (eventstore, stream, names) => {
|
|
26
|
+
for (const name of names) {
|
|
27
|
+
await eventstore.appendToStream(stream, [{ name, stream, data: { tag: name }, metadata: {} }]);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
// The position the adapter ACTUALLY assigned — never assumed.
|
|
31
|
+
const positionOf = (events, name) => {
|
|
32
|
+
const event = events.find(e => e.name === name);
|
|
33
|
+
if (!event)
|
|
34
|
+
throw new Error(`Seeded event ${name} not found`);
|
|
35
|
+
return Number(event.position);
|
|
36
|
+
};
|
|
37
|
+
describe('DatabaseEventstore.reduceMultipleStream honors each stream\'s own `from` checkpoint (TV1-1985)', () => {
|
|
38
|
+
it('Given two streams checkpointed at DIFFERENT positions, when reducing them together, then only the events strictly after each stream\'s OWN checkpoint are replayed, in position order', async () => {
|
|
39
|
+
// GIVEN six committed events across two streams; their positions are READ BACK, never assumed.
|
|
40
|
+
const eventstore = await setup();
|
|
41
|
+
await seedSequentially(eventstore, STREAM_A, ['A1', 'A2', 'A3']);
|
|
42
|
+
await seedSequentially(eventstore, STREAM_B, ['B1', 'B2', 'B3']);
|
|
43
|
+
const seededA = await eventstore.read({ stream: STREAM_A, limit: 100 });
|
|
44
|
+
const seededB = await eventstore.read({ stream: STREAM_B, limit: 100 });
|
|
45
|
+
expect(seededA.map(e => e.name)).toEqual(['A1', 'A2', 'A3']);
|
|
46
|
+
expect(seededB.map(e => e.name)).toEqual(['B1', 'B2', 'B3']);
|
|
47
|
+
// Two DIFFERENT checkpoints, each a real observed position — exactly what a snapshot-backed
|
|
48
|
+
// multiStream command passes.
|
|
49
|
+
const fromA = positionOf(seededA, 'A2');
|
|
50
|
+
const fromB = positionOf(seededB, 'B1');
|
|
51
|
+
// WHEN
|
|
52
|
+
const delivered = await eventstore.reduceMultipleStream({ streams: { [STREAM_A]: { from: fromA }, [STREAM_B]: { from: fromB } } }, collectDelivered, []);
|
|
53
|
+
// THEN an event AT its stream's checkpoint is already folded into the snapshot, so it is skipped;
|
|
54
|
+
// only the strictly-after ones replay. B1 sits AT B's checkpoint but ABOVE A's, so no single
|
|
55
|
+
// global position filter can exclude it — only the per-stream check can. That is what makes this
|
|
56
|
+
// case load-bearing rather than decorative.
|
|
57
|
+
expect(delivered.map(d => d.name)).toEqual(['A3', 'B2', 'B3']);
|
|
58
|
+
// …and they arrive sorted by position ascending: global commit order across streams is preserved.
|
|
59
|
+
const positions = delivered.map(d => d.position);
|
|
60
|
+
expect(positions).toEqual([...positions].sort((a, b) => a - b));
|
|
61
|
+
});
|
|
62
|
+
it('Given one checkpointed stream and one with NO checkpoint, when reducing them together, then the uncheckpointed stream replays in full while the other still honors its checkpoint', async () => {
|
|
63
|
+
// GIVEN
|
|
64
|
+
const eventstore = await setup();
|
|
65
|
+
await seedSequentially(eventstore, STREAM_A, ['A1', 'A2', 'A3']);
|
|
66
|
+
await seedSequentially(eventstore, STREAM_C, ['C1', 'C2']);
|
|
67
|
+
const seededA = await eventstore.read({ stream: STREAM_A, limit: 100 });
|
|
68
|
+
const fromA = positionOf(seededA, 'A2');
|
|
69
|
+
// WHEN one stream carries a checkpoint and the other carries none
|
|
70
|
+
const delivered = await eventstore.reduceMultipleStream({ streams: { [STREAM_A]: { from: fromA }, [STREAM_C]: {} } }, collectDelivered, []);
|
|
71
|
+
// THEN `from` defaults to 0 and positions start at 1, so the uncheckpointed stream replays in
|
|
72
|
+
// FULL — while its co-requested stream still honors its own checkpoint. This is also the
|
|
73
|
+
// `minFrom === 0` path: the shared position PREFILTER is omitted entirely and every requested row
|
|
74
|
+
// is fetched, so only the per-stream check inside the callback can hold the line.
|
|
75
|
+
expect(delivered.map(d => d.name)).toEqual(['A3', 'C1', 'C2']);
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
/**
|
|
79
|
+
* TV1-2238 — `DatabaseEventstore.getStreamVersion` reports the head the append path numbers from.
|
|
80
|
+
*
|
|
81
|
+
* `PostgresEventstore` is the production eventstore, but `DatabaseEventstore` is the one every
|
|
82
|
+
* MemoryDb suite, every teselly test and every E2E actually wires — so it is the implementation the
|
|
83
|
+
* load-time `expectedVersion` will really run on downstream. It gets its own pin here rather than
|
|
84
|
+
* inheriting the Postgres oracle's green.
|
|
85
|
+
*
|
|
86
|
+
* ⚠ MemoryDb transactions are ATOMIC but NOT ISOLATED — a non-transactional read already sees a
|
|
87
|
+
* transaction's uncommitted writes — so the transaction case below CANNOT distinguish a
|
|
88
|
+
* transaction-aware read from a plain one. It pins that handing over a transaction is honored and
|
|
89
|
+
* harmless (the collection is taken from the transaction, the head is not lost), not that isolation
|
|
90
|
+
* is respected. The isolating proof lives against real Postgres in
|
|
91
|
+
* pv3-adapter-eventstore-postgres/__tests__/getStreamVersion.deps.test.ts.
|
|
92
|
+
*/
|
|
93
|
+
describe('DatabaseEventstore.getStreamVersion (TV1-2238)', () => {
|
|
94
|
+
const event = (name, stream) => ({ name, stream, data: { tag: name }, metadata: {} });
|
|
95
|
+
it('Given a stream with N appended events, when getStreamVersion is called, then it returns N — the version the next append numbers from', async () => {
|
|
96
|
+
// GIVEN
|
|
97
|
+
const eventstore = await setup();
|
|
98
|
+
expect(await eventstore.getStreamVersion(STREAM_A)).toBe(0);
|
|
99
|
+
await seedSequentially(eventstore, STREAM_A, ['A1', 'A2', 'A3']);
|
|
100
|
+
// WHEN
|
|
101
|
+
const head = await eventstore.getStreamVersion(STREAM_A);
|
|
102
|
+
// THEN — the head is 3, and the append path numbers from that very head, so the version a
|
|
103
|
+
// caller could assert at load time is the version the commit will actually check against.
|
|
104
|
+
expect(head).toBe(3);
|
|
105
|
+
const [next] = await eventstore.appendToStream(STREAM_A, [event('A4', STREAM_A)]);
|
|
106
|
+
expect(next.version).toBe(head + 1);
|
|
107
|
+
expect(await eventstore.getStreamVersion(STREAM_A)).toBe(4);
|
|
108
|
+
});
|
|
109
|
+
it('Given a transaction that has ALREADY appended to the stream, when getStreamVersion is called with that transaction, then it reflects that append', async () => {
|
|
110
|
+
// GIVEN two events on the stream …
|
|
111
|
+
const { eventstore, database } = await setupWithDatabase();
|
|
112
|
+
await seedSequentially(eventstore, STREAM_B, ['B1', 'B2']);
|
|
113
|
+
// WHEN a transaction appends a third and then asks for the head.
|
|
114
|
+
const inTransaction = await database.initTransaction(async (transaction) => {
|
|
115
|
+
await eventstore.appendToStream(STREAM_B, [event('B3', STREAM_B)], undefined, transaction);
|
|
116
|
+
return eventstore.getStreamVersion(STREAM_B, transaction);
|
|
117
|
+
});
|
|
118
|
+
// THEN
|
|
119
|
+
expect(inTransaction).toBe(3);
|
|
120
|
+
expect(await eventstore.getStreamVersion(STREAM_B)).toBe(3);
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
//# sourceMappingURL=database.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database.test.js","sourceRoot":"","sources":["../../../src/adapters/eventstore/database.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PortsBase } from '@bett3r-dev/pv3-types';
|
|
2
2
|
import { InfrastructureAdapterType } from '@bett3r-dev/pv3-types';
|
|
3
|
-
export declare const LocalInfrastructure: (ports: Pick<
|
|
3
|
+
export declare const LocalInfrastructure: (ports: Pick<PortsBase, 'configuration' | 'endpoints'>) => InfrastructureAdapterType;
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapters/infrastructure/local/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapters/infrastructure/local/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAA0B,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAI1F,eAAO,MAAM,mBAAmB,UAAY,IAAI,CAAC,SAAS,EAAE,eAAe,GAAG,WAAW,CAAC,KAAI,yBAkC7F,CAAC"}
|