@bett3r-dev/pv3 1.0.0
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/build/adapters/cache/index.d.ts +2 -0
- package/build/adapters/cache/index.d.ts.map +1 -0
- package/build/adapters/cache/index.js +18 -0
- package/build/adapters/cache/index.js.map +1 -0
- package/build/adapters/cache/memory/__tests__/memoryCache.test.d.ts +1 -0
- package/build/adapters/cache/memory/__tests__/memoryCache.test.d.ts.map +1 -0
- package/build/adapters/cache/memory/__tests__/memoryCache.test.js +6 -0
- package/build/adapters/cache/memory/__tests__/memoryCache.test.js.map +1 -0
- package/build/adapters/cache/memory/index.d.ts +3 -0
- package/build/adapters/cache/memory/index.d.ts.map +1 -0
- package/build/adapters/cache/memory/index.js +119 -0
- package/build/adapters/cache/memory/index.js.map +1 -0
- package/build/adapters/configuration/__tests__/dotEnv.test.d.ts +2 -0
- package/build/adapters/configuration/__tests__/dotEnv.test.d.ts.map +1 -0
- package/build/adapters/configuration/__tests__/dotEnv.test.js +43 -0
- package/build/adapters/configuration/__tests__/dotEnv.test.js.map +1 -0
- package/build/adapters/configuration/dotEnv.d.ts +3 -0
- package/build/adapters/configuration/dotEnv.d.ts.map +1 -0
- package/build/adapters/configuration/dotEnv.js +35 -0
- package/build/adapters/configuration/dotEnv.js.map +1 -0
- package/build/adapters/configuration/index.d.ts +2 -0
- package/build/adapters/configuration/index.d.ts.map +1 -0
- package/build/adapters/configuration/index.js +18 -0
- package/build/adapters/configuration/index.js.map +1 -0
- package/build/adapters/database/index.d.ts +2 -0
- package/build/adapters/database/index.d.ts.map +1 -0
- package/build/adapters/database/index.js +18 -0
- package/build/adapters/database/index.js.map +1 -0
- package/build/adapters/database/memory/__tests__/memoryDb.test.d.ts +1 -0
- package/build/adapters/database/memory/__tests__/memoryDb.test.d.ts.map +1 -0
- package/build/adapters/database/memory/__tests__/memoryDb.test.js +36 -0
- package/build/adapters/database/memory/__tests__/memoryDb.test.js.map +1 -0
- package/build/adapters/database/memory/index.d.ts +3 -0
- package/build/adapters/database/memory/index.d.ts.map +1 -0
- package/build/adapters/database/memory/index.js +241 -0
- package/build/adapters/database/memory/index.js.map +1 -0
- package/build/adapters/endpoints/addAuthUser/index.d.ts +8 -0
- package/build/adapters/endpoints/addAuthUser/index.d.ts.map +1 -0
- package/build/adapters/endpoints/addAuthUser/index.js +57 -0
- package/build/adapters/endpoints/addAuthUser/index.js.map +1 -0
- package/build/adapters/endpoints/endpointValidation/index.d.ts +4 -0
- package/build/adapters/endpoints/endpointValidation/index.d.ts.map +1 -0
- package/build/adapters/endpoints/endpointValidation/index.js +27 -0
- package/build/adapters/endpoints/endpointValidation/index.js.map +1 -0
- package/build/adapters/endpoints/index.d.ts +4 -0
- package/build/adapters/endpoints/index.d.ts.map +1 -0
- package/build/adapters/endpoints/index.js +21 -0
- package/build/adapters/endpoints/index.js.map +1 -0
- package/build/adapters/endpoints/localAuthorization/index.d.ts +1 -0
- package/build/adapters/endpoints/localAuthorization/index.d.ts.map +1 -0
- package/build/adapters/endpoints/localAuthorization/index.js +68 -0
- package/build/adapters/endpoints/localAuthorization/index.js.map +1 -0
- package/build/adapters/endpoints/tcpConsumer/index.d.ts +3 -0
- package/build/adapters/endpoints/tcpConsumer/index.d.ts.map +1 -0
- package/build/adapters/endpoints/tcpConsumer/index.js +64 -0
- package/build/adapters/endpoints/tcpConsumer/index.js.map +1 -0
- package/build/adapters/endpoints/userSession/index.d.ts +8 -0
- package/build/adapters/endpoints/userSession/index.d.ts.map +1 -0
- package/build/adapters/endpoints/userSession/index.js +43 -0
- package/build/adapters/endpoints/userSession/index.js.map +1 -0
- package/build/adapters/eventstore/database.d.ts +3 -0
- package/build/adapters/eventstore/database.d.ts.map +1 -0
- package/build/adapters/eventstore/database.js +156 -0
- package/build/adapters/eventstore/database.js.map +1 -0
- package/build/adapters/eventstore/index.d.ts +2 -0
- package/build/adapters/eventstore/index.d.ts.map +1 -0
- package/build/adapters/eventstore/index.js +18 -0
- package/build/adapters/eventstore/index.js.map +1 -0
- package/build/adapters/infrastructure/index.d.ts +2 -0
- package/build/adapters/infrastructure/index.d.ts.map +1 -0
- package/build/adapters/infrastructure/index.js +18 -0
- package/build/adapters/infrastructure/index.js.map +1 -0
- package/build/adapters/infrastructure/local/index.d.ts +4 -0
- package/build/adapters/infrastructure/local/index.d.ts.map +1 -0
- package/build/adapters/infrastructure/local/index.js +37 -0
- package/build/adapters/infrastructure/local/index.js.map +1 -0
- package/build/adapters/logger/console.d.ts +3 -0
- package/build/adapters/logger/console.d.ts.map +1 -0
- package/build/adapters/logger/console.js +38 -0
- package/build/adapters/logger/console.js.map +1 -0
- package/build/adapters/logger/index.d.ts +2 -0
- package/build/adapters/logger/index.d.ts.map +1 -0
- package/build/adapters/logger/index.js +18 -0
- package/build/adapters/logger/index.js.map +1 -0
- package/build/index.d.ts +23 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +39 -0
- package/build/index.js.map +1 -0
- package/build/libraries/modules/fs.d.ts +12 -0
- package/build/libraries/modules/fs.d.ts.map +1 -0
- package/build/libraries/modules/fs.js +103 -0
- package/build/libraries/modules/fs.js.map +1 -0
- package/build/libraries/modules/index.d.ts +2 -0
- package/build/libraries/modules/index.d.ts.map +1 -0
- package/build/libraries/modules/index.js +18 -0
- package/build/libraries/modules/index.js.map +1 -0
- package/build/libraries/openApi/index.d.ts +2 -0
- package/build/libraries/openApi/index.d.ts.map +1 -0
- package/build/libraries/openApi/index.js +18 -0
- package/build/libraries/openApi/index.js.map +1 -0
- package/build/libraries/openApi/pruneUnusedRef.d.ts +3 -0
- package/build/libraries/openApi/pruneUnusedRef.d.ts.map +1 -0
- package/build/libraries/openApi/pruneUnusedRef.js +30 -0
- package/build/libraries/openApi/pruneUnusedRef.js.map +1 -0
- package/build/libraries/tcp/index.d.ts +8 -0
- package/build/libraries/tcp/index.d.ts.map +1 -0
- package/build/libraries/tcp/index.js +108 -0
- package/build/libraries/tcp/index.js.map +1 -0
- package/build/libraries/tcp/types.d.ts +45 -0
- package/build/libraries/tcp/types.d.ts.map +1 -0
- package/build/libraries/tcp/types.js +3 -0
- package/build/libraries/tcp/types.js.map +1 -0
- package/build/libraries/validation/__tests__/validation.test.d.ts +2 -0
- package/build/libraries/validation/__tests__/validation.test.d.ts.map +1 -0
- package/build/libraries/validation/__tests__/validation.test.js +53 -0
- package/build/libraries/validation/__tests__/validation.test.js.map +1 -0
- package/build/libraries/validation/index.d.ts +8 -0
- package/build/libraries/validation/index.d.ts.map +1 -0
- package/build/libraries/validation/index.js +51 -0
- package/build/libraries/validation/index.js.map +1 -0
- package/build/ports/authentication/index.d.ts +12 -0
- package/build/ports/authentication/index.d.ts.map +1 -0
- package/build/ports/authentication/index.js +23 -0
- package/build/ports/authentication/index.js.map +1 -0
- package/build/ports/base.d.ts +7 -0
- package/build/ports/base.d.ts.map +1 -0
- package/build/ports/base.js +25 -0
- package/build/ports/base.js.map +1 -0
- package/build/ports/cache/index.d.ts +3 -0
- package/build/ports/cache/index.d.ts.map +1 -0
- package/build/ports/cache/index.js +19 -0
- package/build/ports/cache/index.js.map +1 -0
- package/build/ports/configuration/__tests__/configurationPort.test.d.ts +2 -0
- package/build/ports/configuration/__tests__/configurationPort.test.d.ts.map +1 -0
- package/build/ports/configuration/__tests__/configurationPort.test.js +51 -0
- package/build/ports/configuration/__tests__/configurationPort.test.js.map +1 -0
- package/build/ports/configuration/args.d.ts +57 -0
- package/build/ports/configuration/args.d.ts.map +1 -0
- package/build/ports/configuration/args.js +44 -0
- package/build/ports/configuration/args.js.map +1 -0
- package/build/ports/configuration/common.d.ts +2 -0
- package/build/ports/configuration/common.d.ts.map +1 -0
- package/build/ports/configuration/common.js +19 -0
- package/build/ports/configuration/common.js.map +1 -0
- package/build/ports/configuration/index.d.ts +10 -0
- package/build/ports/configuration/index.d.ts.map +1 -0
- package/build/ports/configuration/index.js +96 -0
- package/build/ports/configuration/index.js.map +1 -0
- package/build/ports/configuration/localConfig.d.ts +3 -0
- package/build/ports/configuration/localConfig.d.ts.map +1 -0
- package/build/ports/configuration/localConfig.js +108 -0
- package/build/ports/configuration/localConfig.js.map +1 -0
- package/build/ports/database/index.d.ts +4 -0
- package/build/ports/database/index.d.ts.map +1 -0
- package/build/ports/database/index.js +27 -0
- package/build/ports/database/index.js.map +1 -0
- package/build/ports/endpoints/__tests__/endpointsCall.test.d.ts +2 -0
- package/build/ports/endpoints/__tests__/endpointsCall.test.d.ts.map +1 -0
- package/build/ports/endpoints/__tests__/endpointsCall.test.js +21 -0
- package/build/ports/endpoints/__tests__/endpointsCall.test.js.map +1 -0
- package/build/ports/endpoints/__tests__/test-client-library/base.d.ts +77 -0
- package/build/ports/endpoints/__tests__/test-client-library/base.d.ts.map +1 -0
- package/build/ports/endpoints/__tests__/test-client-library/base.js +91 -0
- package/build/ports/endpoints/__tests__/test-client-library/base.js.map +1 -0
- package/build/ports/endpoints/__tests__/test-client-library/index.d.ts +29 -0
- package/build/ports/endpoints/__tests__/test-client-library/index.d.ts.map +1 -0
- package/build/ports/endpoints/__tests__/test-client-library/index.js +43 -0
- package/build/ports/endpoints/__tests__/test-client-library/index.js.map +1 -0
- package/build/ports/endpoints/__tests__/test-client-library/services/service.d.ts +106 -0
- package/build/ports/endpoints/__tests__/test-client-library/services/service.d.ts.map +1 -0
- package/build/ports/endpoints/__tests__/test-client-library/services/service.js +62 -0
- package/build/ports/endpoints/__tests__/test-client-library/services/service.js.map +1 -0
- package/build/ports/endpoints/__tests__/utils.test.d.ts +1 -0
- package/build/ports/endpoints/__tests__/utils.test.d.ts.map +1 -0
- package/build/ports/endpoints/__tests__/utils.test.js +53 -0
- package/build/ports/endpoints/__tests__/utils.test.js.map +1 -0
- package/build/ports/endpoints/index.d.ts +29 -0
- package/build/ports/endpoints/index.d.ts.map +1 -0
- package/build/ports/endpoints/index.js +263 -0
- package/build/ports/endpoints/index.js.map +1 -0
- package/build/ports/endpoints/openApi.d.ts +16 -0
- package/build/ports/endpoints/openApi.d.ts.map +1 -0
- package/build/ports/endpoints/openApi.js +187 -0
- package/build/ports/endpoints/openApi.js.map +1 -0
- package/build/ports/endpoints/utils.d.ts +17 -0
- package/build/ports/endpoints/utils.d.ts.map +1 -0
- package/build/ports/endpoints/utils.js +31 -0
- package/build/ports/endpoints/utils.js.map +1 -0
- package/build/ports/eventsourcing/__tests__/eventhandlers.test.d.ts +2 -0
- package/build/ports/eventsourcing/__tests__/eventhandlers.test.d.ts.map +1 -0
- package/build/ports/eventsourcing/__tests__/eventhandlers.test.js +35 -0
- package/build/ports/eventsourcing/__tests__/eventhandlers.test.js.map +1 -0
- package/build/ports/eventsourcing/__tests__/invariants.test.d.ts +2 -0
- package/build/ports/eventsourcing/__tests__/invariants.test.d.ts.map +1 -0
- package/build/ports/eventsourcing/__tests__/invariants.test.js +210 -0
- package/build/ports/eventsourcing/__tests__/invariants.test.js.map +1 -0
- package/build/ports/eventsourcing/commandHandlers/index.d.ts +25 -0
- package/build/ports/eventsourcing/commandHandlers/index.d.ts.map +1 -0
- package/build/ports/eventsourcing/commandHandlers/index.js +392 -0
- package/build/ports/eventsourcing/commandHandlers/index.js.map +1 -0
- package/build/ports/eventsourcing/commandTemplates/index.d.ts +3 -0
- package/build/ports/eventsourcing/commandTemplates/index.d.ts.map +1 -0
- package/build/ports/eventsourcing/commandTemplates/index.js +19 -0
- package/build/ports/eventsourcing/commandTemplates/index.js.map +1 -0
- package/build/ports/eventsourcing/commandTemplates/multiStream.d.ts +4 -0
- package/build/ports/eventsourcing/commandTemplates/multiStream.d.ts.map +1 -0
- package/build/ports/eventsourcing/commandTemplates/multiStream.js +73 -0
- package/build/ports/eventsourcing/commandTemplates/multiStream.js.map +1 -0
- package/build/ports/eventsourcing/commandTemplates/snapshot.d.ts +9 -0
- package/build/ports/eventsourcing/commandTemplates/snapshot.d.ts.map +1 -0
- package/build/ports/eventsourcing/commandTemplates/snapshot.js +39 -0
- package/build/ports/eventsourcing/commandTemplates/snapshot.js.map +1 -0
- package/build/ports/eventsourcing/eventHandlers/index.d.ts +33 -0
- package/build/ports/eventsourcing/eventHandlers/index.d.ts.map +1 -0
- package/build/ports/eventsourcing/eventHandlers/index.js +276 -0
- package/build/ports/eventsourcing/eventHandlers/index.js.map +1 -0
- package/build/ports/eventsourcing/index.d.ts +9 -0
- package/build/ports/eventsourcing/index.d.ts.map +1 -0
- package/build/ports/eventsourcing/index.js +101 -0
- package/build/ports/eventsourcing/index.js.map +1 -0
- package/build/ports/eventsourcing/invariants/combinators.d.ts +4 -0
- package/build/ports/eventsourcing/invariants/combinators.d.ts.map +1 -0
- package/build/ports/eventsourcing/invariants/combinators.js +20 -0
- package/build/ports/eventsourcing/invariants/combinators.js.map +1 -0
- package/build/ports/eventsourcing/invariants/common.d.ts +10 -0
- package/build/ports/eventsourcing/invariants/common.d.ts.map +1 -0
- package/build/ports/eventsourcing/invariants/common.js +37 -0
- package/build/ports/eventsourcing/invariants/common.js.map +1 -0
- package/build/ports/eventsourcing/invariants/comparisons.d.ts +19 -0
- package/build/ports/eventsourcing/invariants/comparisons.d.ts.map +1 -0
- package/build/ports/eventsourcing/invariants/comparisons.js +83 -0
- package/build/ports/eventsourcing/invariants/comparisons.js.map +1 -0
- package/build/ports/eventsourcing/invariants/index.d.ts +5 -0
- package/build/ports/eventsourcing/invariants/index.d.ts.map +1 -0
- package/build/ports/eventsourcing/invariants/index.js +21 -0
- package/build/ports/eventsourcing/invariants/index.js.map +1 -0
- package/build/ports/eventsourcing/invariants/stateExistance.d.ts +4 -0
- package/build/ports/eventsourcing/invariants/stateExistance.d.ts.map +1 -0
- package/build/ports/eventsourcing/invariants/stateExistance.js +33 -0
- package/build/ports/eventsourcing/invariants/stateExistance.js.map +1 -0
- package/build/ports/eventsourcing/subscriptions/index.d.ts +2 -0
- package/build/ports/eventsourcing/subscriptions/index.d.ts.map +1 -0
- package/build/ports/eventsourcing/subscriptions/index.js +18 -0
- package/build/ports/eventsourcing/subscriptions/index.js.map +1 -0
- package/build/ports/eventsourcing/subscriptions/sseSubscriptions.d.ts +3 -0
- package/build/ports/eventsourcing/subscriptions/sseSubscriptions.d.ts.map +1 -0
- package/build/ports/eventsourcing/subscriptions/sseSubscriptions.js +81 -0
- package/build/ports/eventsourcing/subscriptions/sseSubscriptions.js.map +1 -0
- package/build/ports/eventsourcing/utils/aggregateBuilder.d.ts +4 -0
- package/build/ports/eventsourcing/utils/aggregateBuilder.d.ts.map +1 -0
- package/build/ports/eventsourcing/utils/aggregateBuilder.js +45 -0
- package/build/ports/eventsourcing/utils/aggregateBuilder.js.map +1 -0
- package/build/ports/eventsourcing/utils/commandBuilder.d.ts +3 -0
- package/build/ports/eventsourcing/utils/commandBuilder.d.ts.map +1 -0
- package/build/ports/eventsourcing/utils/commandBuilder.js +102 -0
- package/build/ports/eventsourcing/utils/commandBuilder.js.map +1 -0
- package/build/ports/eventsourcing/utils/eventHandlerBuilder.d.ts +3 -0
- package/build/ports/eventsourcing/utils/eventHandlerBuilder.d.ts.map +1 -0
- package/build/ports/eventsourcing/utils/eventHandlerBuilder.js +19 -0
- package/build/ports/eventsourcing/utils/eventHandlerBuilder.js.map +1 -0
- package/build/ports/eventsourcing/utils/externalSystemBuilder.d.ts +4 -0
- package/build/ports/eventsourcing/utils/externalSystemBuilder.d.ts.map +1 -0
- package/build/ports/eventsourcing/utils/externalSystemBuilder.js +34 -0
- package/build/ports/eventsourcing/utils/externalSystemBuilder.js.map +1 -0
- package/build/ports/eventsourcing/utils/index.d.ts +13 -0
- package/build/ports/eventsourcing/utils/index.d.ts.map +1 -0
- package/build/ports/eventsourcing/utils/index.js +45 -0
- package/build/ports/eventsourcing/utils/index.js.map +1 -0
- package/build/ports/eventsourcing/utils/policyBuilder.d.ts +3 -0
- package/build/ports/eventsourcing/utils/policyBuilder.d.ts.map +1 -0
- package/build/ports/eventsourcing/utils/policyBuilder.js +29 -0
- package/build/ports/eventsourcing/utils/policyBuilder.js.map +1 -0
- package/build/ports/eventsourcing/utils/readmodelBuilder.d.ts +5 -0
- package/build/ports/eventsourcing/utils/readmodelBuilder.d.ts.map +1 -0
- package/build/ports/eventsourcing/utils/readmodelBuilder.js +45 -0
- package/build/ports/eventsourcing/utils/readmodelBuilder.js.map +1 -0
- package/build/ports/eventstore/index.d.ts +3 -0
- package/build/ports/eventstore/index.d.ts.map +1 -0
- package/build/ports/eventstore/index.js +13 -0
- package/build/ports/eventstore/index.js.map +1 -0
- package/build/ports/infrastructure/__tests__/fixture/index.d.ts +3 -0
- package/build/ports/infrastructure/__tests__/fixture/index.d.ts.map +1 -0
- package/build/ports/infrastructure/__tests__/fixture/index.js +19 -0
- package/build/ports/infrastructure/__tests__/fixture/index.js.map +1 -0
- package/build/ports/infrastructure/__tests__/fixture/infrastructureServices.d.ts +19 -0
- package/build/ports/infrastructure/__tests__/fixture/infrastructureServices.d.ts.map +1 -0
- package/build/ports/infrastructure/__tests__/fixture/infrastructureServices.js +76 -0
- package/build/ports/infrastructure/__tests__/fixture/infrastructureServices.js.map +1 -0
- package/build/ports/infrastructure/__tests__/fixture/structureState.d.ts +177 -0
- package/build/ports/infrastructure/__tests__/fixture/structureState.d.ts.map +1 -0
- package/build/ports/infrastructure/__tests__/fixture/structureState.js +258 -0
- package/build/ports/infrastructure/__tests__/fixture/structureState.js.map +1 -0
- package/build/ports/infrastructure/__tests__/infrastructure.test.d.ts +2 -0
- package/build/ports/infrastructure/__tests__/infrastructure.test.d.ts.map +1 -0
- package/build/ports/infrastructure/__tests__/infrastructure.test.js +11 -0
- package/build/ports/infrastructure/__tests__/infrastructure.test.js.map +1 -0
- package/build/ports/infrastructure/index.d.ts +53 -0
- package/build/ports/infrastructure/index.d.ts.map +1 -0
- package/build/ports/infrastructure/index.js +149 -0
- package/build/ports/infrastructure/index.js.map +1 -0
- package/build/ports/infrastructure/utils.d.ts +14 -0
- package/build/ports/infrastructure/utils.d.ts.map +1 -0
- package/build/ports/infrastructure/utils.js +126 -0
- package/build/ports/infrastructure/utils.js.map +1 -0
- package/build/ports/logger/index.d.ts +3 -0
- package/build/ports/logger/index.d.ts.map +1 -0
- package/build/ports/logger/index.js +32 -0
- package/build/ports/logger/index.js.map +1 -0
- package/build/utils/index.d.ts +35 -0
- package/build/utils/index.d.ts.map +1 -0
- package/build/utils/index.js +190 -0
- package/build/utils/index.js.map +1 -0
- package/package.json +28 -0
- package/src/adapters/cache/index.ts +1 -0
- package/src/adapters/cache/memory/__tests__/memoryCache.test.ts +6 -0
- package/src/adapters/cache/memory/index.ts +142 -0
- package/src/adapters/configuration/__tests__/.env +4 -0
- package/src/adapters/configuration/__tests__/dotEnv.test.ts +38 -0
- package/src/adapters/configuration/dotEnv.ts +33 -0
- package/src/adapters/configuration/index.ts +1 -0
- package/src/adapters/database/index.ts +1 -0
- package/src/adapters/database/memory/__tests__/memoryDb.test.ts +37 -0
- package/src/adapters/database/memory/index.ts +279 -0
- package/src/adapters/endpoints/addAuthUser/index.ts +55 -0
- package/src/adapters/endpoints/endpointValidation/index.ts +26 -0
- package/src/adapters/endpoints/index.ts +4 -0
- package/src/adapters/endpoints/localAuthorization/index.ts +75 -0
- package/src/adapters/endpoints/tcpConsumer/index.ts +69 -0
- package/src/adapters/endpoints/userSession/index.ts +40 -0
- package/src/adapters/eventstore/database.ts +178 -0
- package/src/adapters/eventstore/index.ts +1 -0
- package/src/adapters/infrastructure/index.ts +1 -0
- package/src/adapters/infrastructure/local/index.ts +40 -0
- package/src/adapters/logger/console.ts +42 -0
- package/src/adapters/logger/index.ts +1 -0
- package/src/index.ts +25 -0
- package/src/libraries/modules/fs.ts +88 -0
- package/src/libraries/modules/index.ts +1 -0
- package/src/libraries/openApi/index.ts +1 -0
- package/src/libraries/openApi/pruneUnusedRef.ts +35 -0
- package/src/libraries/tcp/index.ts +98 -0
- package/src/libraries/tcp/types.ts +43 -0
- package/src/libraries/validation/__tests__/validation.test.ts +25 -0
- package/src/libraries/validation/index.ts +48 -0
- package/src/ports/authentication/index.ts +25 -0
- package/src/ports/base.ts +20 -0
- package/src/ports/cache/index.ts +17 -0
- package/src/ports/configuration/__tests__/configurationPort.test.ts +47 -0
- package/src/ports/configuration/args.ts +39 -0
- package/src/ports/configuration/common.ts +12 -0
- package/src/ports/configuration/index.ts +110 -0
- package/src/ports/configuration/localConfig.ts +117 -0
- package/src/ports/database/index.ts +25 -0
- package/src/ports/endpoints/__tests__/endpointsCall.test.ts +20 -0
- package/src/ports/endpoints/__tests__/test-client-library/base.ts +167 -0
- package/src/ports/endpoints/__tests__/test-client-library/index.ts +23 -0
- package/src/ports/endpoints/__tests__/test-client-library/services/service.ts +181 -0
- package/src/ports/endpoints/__tests__/utils.test.ts +54 -0
- package/src/ports/endpoints/index.ts +272 -0
- package/src/ports/endpoints/openApi.ts +191 -0
- package/src/ports/endpoints/utils.ts +31 -0
- package/src/ports/eventsourcing/__tests__/eventhandlers.test.ts +30 -0
- package/src/ports/eventsourcing/__tests__/invariants.test.ts +213 -0
- package/src/ports/eventsourcing/commandHandlers/index.ts +625 -0
- package/src/ports/eventsourcing/commandTemplates/index.ts +2 -0
- package/src/ports/eventsourcing/commandTemplates/multiStream.ts +70 -0
- package/src/ports/eventsourcing/commandTemplates/snapshot.ts +43 -0
- package/src/ports/eventsourcing/eventHandlers/index.ts +429 -0
- package/src/ports/eventsourcing/index.ts +98 -0
- package/src/ports/eventsourcing/invariants/combinators.ts +25 -0
- package/src/ports/eventsourcing/invariants/common.ts +42 -0
- package/src/ports/eventsourcing/invariants/comparisons.ts +90 -0
- package/src/ports/eventsourcing/invariants/index.ts +4 -0
- package/src/ports/eventsourcing/invariants/stateExistance.ts +34 -0
- package/src/ports/eventsourcing/subscriptions/index.ts +1 -0
- package/src/ports/eventsourcing/subscriptions/sseSubscriptions.ts +103 -0
- package/src/ports/eventsourcing/utils/aggregateBuilder.ts +49 -0
- package/src/ports/eventsourcing/utils/commandBuilder.ts +113 -0
- package/src/ports/eventsourcing/utils/eventHandlerBuilder.ts +22 -0
- package/src/ports/eventsourcing/utils/externalSystemBuilder.ts +42 -0
- package/src/ports/eventsourcing/utils/index.ts +25 -0
- package/src/ports/eventsourcing/utils/policyBuilder.ts +31 -0
- package/src/ports/eventsourcing/utils/readmodelBuilder.ts +52 -0
- package/src/ports/eventstore/index.ts +11 -0
- package/src/ports/infrastructure/__tests__/fixture/index.ts +2 -0
- package/src/ports/infrastructure/__tests__/fixture/infrastructureServices.ts +72 -0
- package/src/ports/infrastructure/__tests__/fixture/structureState.ts +254 -0
- package/src/ports/infrastructure/__tests__/infrastructure.test.ts +11 -0
- package/src/ports/infrastructure/index.ts +162 -0
- package/src/ports/infrastructure/utils.ts +130 -0
- package/src/ports/logger/index.ts +34 -0
- package/src/utils/index.ts +186 -0
- package/tsconfig.json +19 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import yargs from 'yargs';
|
|
2
|
+
export declare const getYargs: () => yargs.Argv<{}>;
|
|
3
|
+
export declare const getYargsInit: () => yargs.Argv<{
|
|
4
|
+
modules: (string | number)[] | undefined;
|
|
5
|
+
} & {
|
|
6
|
+
m: (string | number)[] | undefined;
|
|
7
|
+
} & {
|
|
8
|
+
admin: boolean | undefined;
|
|
9
|
+
} & {
|
|
10
|
+
s: boolean | undefined;
|
|
11
|
+
} & {
|
|
12
|
+
infrastructure: boolean | undefined;
|
|
13
|
+
} & {
|
|
14
|
+
i: boolean | undefined;
|
|
15
|
+
} & {
|
|
16
|
+
requestAuthorization: boolean | undefined;
|
|
17
|
+
} & {
|
|
18
|
+
r: boolean | undefined;
|
|
19
|
+
} & {
|
|
20
|
+
outbox: boolean | undefined;
|
|
21
|
+
} & {
|
|
22
|
+
o: boolean | undefined;
|
|
23
|
+
}>;
|
|
24
|
+
export declare const formatArgs: (config: Record<string, any>) => Promise<Omit<{
|
|
25
|
+
[x: string]: unknown;
|
|
26
|
+
modules: (string | number)[] | undefined;
|
|
27
|
+
m: (string | number)[] | undefined;
|
|
28
|
+
admin: boolean | undefined;
|
|
29
|
+
s: boolean | undefined;
|
|
30
|
+
infrastructure: boolean | undefined;
|
|
31
|
+
i: boolean | undefined;
|
|
32
|
+
requestAuthorization: boolean | undefined;
|
|
33
|
+
r: boolean | undefined;
|
|
34
|
+
outbox: boolean | undefined;
|
|
35
|
+
o: boolean | undefined;
|
|
36
|
+
_: (string | number)[];
|
|
37
|
+
$0: string;
|
|
38
|
+
}, "_" | "m" | "$0">>;
|
|
39
|
+
export declare const applyArgs: (config?: Record<string, any>) => Promise<{
|
|
40
|
+
config: any;
|
|
41
|
+
args: Omit<{
|
|
42
|
+
[x: string]: unknown;
|
|
43
|
+
modules: (string | number)[] | undefined;
|
|
44
|
+
m: (string | number)[] | undefined;
|
|
45
|
+
admin: boolean | undefined;
|
|
46
|
+
s: boolean | undefined;
|
|
47
|
+
infrastructure: boolean | undefined;
|
|
48
|
+
i: boolean | undefined;
|
|
49
|
+
requestAuthorization: boolean | undefined;
|
|
50
|
+
r: boolean | undefined;
|
|
51
|
+
outbox: boolean | undefined;
|
|
52
|
+
o: boolean | undefined;
|
|
53
|
+
_: (string | number)[];
|
|
54
|
+
$0: string;
|
|
55
|
+
}, "_" | "m" | "$0">;
|
|
56
|
+
}>;
|
|
57
|
+
//# sourceMappingURL=args.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../../src/ports/configuration/args.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,eAAO,MAAM,QAAQ,sBAAc,CAAC;AAEpC,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;EAiBwC,CAAC;AAGlE,eAAO,MAAM,UAAU,WAAiB,OAAO,MAAM,EAAC,GAAG,CAAC;;;;;;;;;;;;;;qBAIzD,CAAC;AAEF,eAAO,MAAM,SAAS,YAAmB,OAAO,MAAM,EAAE,GAAG,CAAC;;;;;;;;;;;;;;;;;EAM3D,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.applyArgs = exports.formatArgs = exports.getYargsInit = exports.getYargs = void 0;
|
|
7
|
+
const ramda_1 = require("ramda");
|
|
8
|
+
const yargs_1 = __importDefault(require("yargs"));
|
|
9
|
+
const common_1 = require("./common");
|
|
10
|
+
const getYargs = () => yargs_1.default;
|
|
11
|
+
exports.getYargs = getYargs;
|
|
12
|
+
const getYargsInit = () => yargs_1.default
|
|
13
|
+
.config()
|
|
14
|
+
.usage('Usage: $0 [Commands | Options]')
|
|
15
|
+
.help('h')
|
|
16
|
+
.alias('h', 'help')
|
|
17
|
+
.array('modules')
|
|
18
|
+
.alias('modules', 'm')
|
|
19
|
+
.boolean('admin')
|
|
20
|
+
.alias('admin', 's')
|
|
21
|
+
.boolean('infrastructure')
|
|
22
|
+
.alias('infrastructure', 'i')
|
|
23
|
+
.boolean('requestAuthorization')
|
|
24
|
+
.alias('requestAuthorization', 'r')
|
|
25
|
+
.boolean('outbox')
|
|
26
|
+
.alias('outbox', 'o')
|
|
27
|
+
.describe('modules', 'Modules to load')
|
|
28
|
+
.epilog(`copyright bett3r.dev ${new Date().getFullYear()}`);
|
|
29
|
+
exports.getYargsInit = getYargsInit;
|
|
30
|
+
const formatArgs = async (config) => {
|
|
31
|
+
const y = (0, exports.getYargsInit)();
|
|
32
|
+
const args = await y.parseAsync();
|
|
33
|
+
return (0, ramda_1.omit)(['m', '$0', '_'], args);
|
|
34
|
+
};
|
|
35
|
+
exports.formatArgs = formatArgs;
|
|
36
|
+
const applyArgs = async (config = {}) => {
|
|
37
|
+
const args = await (0, exports.formatArgs)(config);
|
|
38
|
+
return {
|
|
39
|
+
config: (0, common_1.mergeConfigProperty)(config, args),
|
|
40
|
+
args
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
exports.applyArgs = applyArgs;
|
|
44
|
+
//# sourceMappingURL=args.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../../src/ports/configuration/args.ts"],"names":[],"mappings":";;;;;;AAAA,iCAA6B;AAC7B,kDAA0B;AAC1B,qCAA+C;AAExC,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,eAAK,CAAC;AAAvB,QAAA,QAAQ,YAAe;AAE7B,MAAM,YAAY,GAAG,GAAG,EAAE,CAC/B,eAAK;KACF,MAAM,EAAE;KACR,KAAK,CAAE,gCAAgC,CAAE;KACzC,IAAI,CAAE,GAAG,CAAE;KACX,KAAK,CAAE,GAAG,EAAE,MAAM,CAAE;KACpB,KAAK,CAAE,SAAS,CAAE;KAClB,KAAK,CAAE,SAAS,EAAE,GAAG,CAAE;KACvB,OAAO,CAAE,OAAO,CAAE;KAClB,KAAK,CAAE,OAAO,EAAE,GAAG,CAAE;KACrB,OAAO,CAAE,gBAAgB,CAAE;KAC3B,KAAK,CAAE,gBAAgB,EAAE,GAAG,CAAE;KAC9B,OAAO,CAAE,sBAAsB,CAAE;KACjC,KAAK,CAAE,sBAAsB,EAAE,GAAG,CAAE;KACpC,OAAO,CAAE,QAAQ,CAAE;KACnB,KAAK,CAAE,QAAQ,EAAE,GAAG,CAAE;KACtB,QAAQ,CAAE,SAAS,EAAE,iBAAiB,CAAE;KACxC,MAAM,CAAE,wBAAwB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAE,CAAC;AAjBrD,QAAA,YAAY,gBAiByC;AAG3D,MAAM,UAAU,GAAG,KAAK,EAAE,MAAyB,EAAG,EAAE;IAC7D,MAAM,CAAC,GAAG,IAAA,oBAAY,GAAE,CAAC;IACzB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,UAAU,EAAE,CAAC;IAClC,OAAO,IAAA,YAAI,EAAC,CAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAE,EAAE,IAAI,CAAE,CAAC;AACzC,CAAC,CAAC;AAJW,QAAA,UAAU,cAIrB;AAEK,MAAM,SAAS,GAAG,KAAK,EAAG,SAA8B,EAAE,EAAE,EAAE;IACnE,MAAM,IAAI,GAAG,MAAM,IAAA,kBAAU,EAAE,MAAM,CAAE,CAAC;IACxC,OAAO;QACL,MAAM,EAAE,IAAA,4BAAmB,EAAE,MAAM,EAAE,IAAI,CAAE;QAC3C,IAAI;KACL,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,SAAS,aAMpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/ports/configuration/common.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAAE,SAAS,EAAC,GAAG,EAAE,SAAS,EAAC,GAAG,OAWhE"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mergeConfigProperty = void 0;
|
|
4
|
+
function mergeConfigProperty(configObj, newConfig) {
|
|
5
|
+
if (!newConfig)
|
|
6
|
+
return configObj;
|
|
7
|
+
Object.getOwnPropertyNames(newConfig).forEach((prop) => {
|
|
8
|
+
if (newConfig[prop] && typeof newConfig[prop] === 'object' && !Array.isArray(newConfig[prop])) {
|
|
9
|
+
configObj[prop] = configObj[prop] || {};
|
|
10
|
+
mergeConfigProperty(configObj[prop], newConfig[prop]);
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
configObj[prop] = newConfig[prop];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
return configObj;
|
|
17
|
+
}
|
|
18
|
+
exports.mergeConfigProperty = mergeConfigProperty;
|
|
19
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/ports/configuration/common.ts"],"names":[],"mappings":";;;AAAA,SAAgB,mBAAmB,CAAE,SAAa,EAAE,SAAa;IAC/D,IAAK,CAAC,SAAS;QAAG,OAAO,SAAS,CAAC;IACnC,MAAM,CAAC,mBAAmB,CAAE,SAAS,CAAE,CAAC,OAAO,CAAC,CAAE,IAAI,EAAG,EAAE;QACzD,IAAK,SAAS,CAAC,IAAI,CAAC,IAAI,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAE,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE;YAC/F,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACxC,mBAAmB,CAAE,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;SACxD;aAAK;YACJ,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;SACnC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,SAAS,CAAC;AACnB,CAAC;AAXD,kDAWC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ConfigurationAdapter, ConfigurationPort } from '@bett3r-dev/pv3-types';
|
|
2
|
+
declare global {
|
|
3
|
+
namespace globalThis {
|
|
4
|
+
interface global {
|
|
5
|
+
appRoot: string;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export declare const Configuration: (...adapters: ConfigurationAdapter[]) => Promise<ConfigurationPort>;
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ports/configuration/index.ts"],"names":[],"mappings":"AACA,OAAO,EAA0C,oBAAoB,EAAE,iBAAiB,EAAqD,MAAM,uBAAuB,CAAC;AAS3K,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,UAAU,CAAC;QACnB,UAAU,MAAM;YACd,OAAO,EAAE,MAAM,CAAA;SAChB;KACF;CACF;AAUD,eAAO,MAAM,aAAa,gBAAkB,oBAAoB,EAAE,KAAG,QAAQ,iBAAiB,CA0F7F,CAAC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Configuration = void 0;
|
|
7
|
+
const pv3_types_1 = require("@bett3r-dev/pv3-types");
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const ramda_1 = __importDefault(require("ramda"));
|
|
10
|
+
const validation_1 = require("../../libraries/validation");
|
|
11
|
+
const base_1 = require("../base");
|
|
12
|
+
const args_1 = require("./args");
|
|
13
|
+
const localConfig_1 = require("./localConfig");
|
|
14
|
+
const appRoot = process.env.APP_ROOT_DIR || global.appRoot || process.cwd() || path_1.default.dirname(require.main?.filename || '');
|
|
15
|
+
const Configuration = (...adapters) => {
|
|
16
|
+
let _config;
|
|
17
|
+
let _args = {};
|
|
18
|
+
const applyAdapters = (config) => {
|
|
19
|
+
return (adapters || []).reduce((success, adapter) => success.then(adapter.applyConfig), Promise.resolve(config));
|
|
20
|
+
};
|
|
21
|
+
const _getConfig = () => _config
|
|
22
|
+
? Promise.resolve(_config)
|
|
23
|
+
: (0, localConfig_1.getProjectRootConfig)(appRoot)
|
|
24
|
+
.then((rootConfig) => (0, localConfig_1.getLocalConfig)(appRoot, './config', rootConfig))
|
|
25
|
+
.then(applyAdapters)
|
|
26
|
+
.then(config => _config = config);
|
|
27
|
+
const getModuleConfig = (configPath, schema) => {
|
|
28
|
+
const moduleConfig = ramda_1.default.path(configPath.split('.'), _config);
|
|
29
|
+
if (!moduleConfig) {
|
|
30
|
+
if (schema.isRequired)
|
|
31
|
+
throw Error(`Configuration not available for ${configPath}`);
|
|
32
|
+
// return { config: {} as T, onArgsApplied: () => {} };
|
|
33
|
+
}
|
|
34
|
+
let moduleConfigInstance;
|
|
35
|
+
try {
|
|
36
|
+
moduleConfigInstance = (0, validation_1.validateSchema)(schema, true)(moduleConfig || {});
|
|
37
|
+
}
|
|
38
|
+
catch (e) {
|
|
39
|
+
e.description = `${e.description} - configPath: ${configPath}`;
|
|
40
|
+
throw e;
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
config: moduleConfigInstance,
|
|
44
|
+
onArgsApplied: (callback) => {
|
|
45
|
+
config.emitter.on('argsApplied', ({ config }) => {
|
|
46
|
+
callback(ramda_1.default.path(configPath.split('.'), config));
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
const applyCLIArgs = async () => {
|
|
52
|
+
const appliedArgs = await (0, args_1.applyArgs)(_config);
|
|
53
|
+
config.emitter.emit('argsApplied', appliedArgs);
|
|
54
|
+
_config = appliedArgs.config;
|
|
55
|
+
_args = appliedArgs.args;
|
|
56
|
+
return config;
|
|
57
|
+
};
|
|
58
|
+
const getArgs = async () => {
|
|
59
|
+
await applyCLIArgs();
|
|
60
|
+
return _args;
|
|
61
|
+
};
|
|
62
|
+
const configureCliArg = (options, yargs) => {
|
|
63
|
+
const args = yargs || (0, args_1.getYargs)();
|
|
64
|
+
args[options['type']](options['name']);
|
|
65
|
+
options.alias && args.alias(options['name'], options['alias']);
|
|
66
|
+
options.default && args.default(options['name'], options['default']);
|
|
67
|
+
options.description && args.describe(options['name'], options['description']);
|
|
68
|
+
};
|
|
69
|
+
const configureCliCommand = (options) => {
|
|
70
|
+
const args = (0, args_1.getYargs)();
|
|
71
|
+
args.command([options.name, options.alias || ''].filter(n => !!n), options.description || '', (yargs) => {
|
|
72
|
+
options.arguments && options.arguments.forEach((arg) => {
|
|
73
|
+
yargs.positional(arg.name, arg);
|
|
74
|
+
});
|
|
75
|
+
return yargs;
|
|
76
|
+
}, options.handler);
|
|
77
|
+
};
|
|
78
|
+
const config = (0, base_1.createPort)({
|
|
79
|
+
_getConfig: () => _config,
|
|
80
|
+
getModules: () => _config.modules,
|
|
81
|
+
getArgs,
|
|
82
|
+
applyArgs: applyCLIArgs,
|
|
83
|
+
getModuleConfig,
|
|
84
|
+
configureCliArg,
|
|
85
|
+
configureCliCommand,
|
|
86
|
+
emitter: new pv3_types_1.TypedEventEmitter()
|
|
87
|
+
});
|
|
88
|
+
return _getConfig()
|
|
89
|
+
.then((_config) => {
|
|
90
|
+
config.isStarted = true;
|
|
91
|
+
config.emitter.emit('started');
|
|
92
|
+
return config;
|
|
93
|
+
});
|
|
94
|
+
};
|
|
95
|
+
exports.Configuration = Configuration;
|
|
96
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ports/configuration/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare const getProjectRootConfig: (appRoot: string) => Promise<any>;
|
|
2
|
+
export declare function getLocalConfig(appRoot: string, configFolder?: string, initialConfig?: {}, forceCreateDefaultConfigFile?: boolean): Promise<any>;
|
|
3
|
+
//# sourceMappingURL=localConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localConfig.d.ts","sourceRoot":"","sources":["../../../src/ports/configuration/localConfig.ts"],"names":[],"mappings":"AA4CA,eAAO,MAAM,oBAAoB,YAAc,MAAM,iBASpD,CAAC;AAEF,wBAAgB,cAAc,CAAE,OAAO,EAAE,MAAM,EAAE,YAAY,SAAa,EAAE,aAAa,KAAK,EAAE,4BAA4B,UAAQ,gBA6DnI"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.getLocalConfig = exports.getProjectRootConfig = void 0;
|
|
30
|
+
const fs_1 = __importDefault(require("fs"));
|
|
31
|
+
const glob = __importStar(require("glob"));
|
|
32
|
+
const js_yaml_1 = __importDefault(require("js-yaml"));
|
|
33
|
+
const path_1 = __importDefault(require("path"));
|
|
34
|
+
const ramda_1 = require("ramda");
|
|
35
|
+
const util_1 = require("util");
|
|
36
|
+
const common_1 = require("./common");
|
|
37
|
+
const environment = process.env.NODE_ENV || 'development';
|
|
38
|
+
const readFile = (0, util_1.promisify)(fs_1.default.readFile);
|
|
39
|
+
function searchFile(folder, pattern) {
|
|
40
|
+
const files = glob.globSync(pattern, { cwd: folder });
|
|
41
|
+
if (files && files.length && files[0])
|
|
42
|
+
return files[0];
|
|
43
|
+
}
|
|
44
|
+
const createDefaultConfigFile = (folder) => (content) => {
|
|
45
|
+
Promise.resolve();
|
|
46
|
+
return (0, util_1.promisify)(fs_1.default.writeFile)(path_1.default.join(folder, 'default.yaml'), js_yaml_1.default.dump(content, {
|
|
47
|
+
indent: 2,
|
|
48
|
+
sortKeys: true,
|
|
49
|
+
}))
|
|
50
|
+
.then((0, ramda_1.always)(content));
|
|
51
|
+
};
|
|
52
|
+
function getFileContent(fileName) {
|
|
53
|
+
if (['.js', '.json'].includes(path_1.default.extname(fileName))) {
|
|
54
|
+
return Promise.resolve(`${fileName}`).then(s => __importStar(require(s)));
|
|
55
|
+
}
|
|
56
|
+
else if (['.yaml', '.yml'].includes(path_1.default.extname(fileName))) {
|
|
57
|
+
return readFile(fileName, 'utf8').then((file) => js_yaml_1.default.load(file, { json: true }));
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
return Promise.reject(Error(`Unkown config file type for file ${fileName}.`));
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
const getProjectRootConfig = (appRoot) => {
|
|
64
|
+
do {
|
|
65
|
+
appRoot = path_1.default.dirname(appRoot);
|
|
66
|
+
const rootProjectFolder = path_1.default.join(appRoot, '.esas.config.json');
|
|
67
|
+
if (fs_1.default.existsSync(rootProjectFolder)) {
|
|
68
|
+
return getLocalConfig(appRoot);
|
|
69
|
+
}
|
|
70
|
+
} while (appRoot !== '/');
|
|
71
|
+
return Promise.resolve({});
|
|
72
|
+
};
|
|
73
|
+
exports.getProjectRootConfig = getProjectRootConfig;
|
|
74
|
+
function getLocalConfig(appRoot, configFolder = './config', initialConfig = {}, forceCreateDefaultConfigFile = false) {
|
|
75
|
+
const options = {
|
|
76
|
+
configFolder: path_1.default.join(appRoot, configFolder),
|
|
77
|
+
configFilePattern: '*+(c|C)onfig.+(js|json|yaml|yml)',
|
|
78
|
+
};
|
|
79
|
+
let defaultConfigFile = searchFile(options.configFolder, 'default.+(js|json|yaml|yml)');
|
|
80
|
+
let defaultConfigPromise = Promise.resolve();
|
|
81
|
+
return (!defaultConfigFile && forceCreateDefaultConfigFile
|
|
82
|
+
? defaultConfigPromise
|
|
83
|
+
.then(createDefaultConfigFile(path_1.default.join(appRoot, '/config')))
|
|
84
|
+
:
|
|
85
|
+
defaultConfigPromise
|
|
86
|
+
.then(() => !defaultConfigFile ? {} : getFileContent(path_1.default.join(options.configFolder, defaultConfigFile)))
|
|
87
|
+
.then((defaultConfig) => (0, common_1.mergeConfigProperty)(initialConfig, defaultConfig)))
|
|
88
|
+
.then(async (configObj) => {
|
|
89
|
+
let localConfigFile = searchFile(options.configFolder, 'local.+(js|json|yaml|yml)');
|
|
90
|
+
if (localConfigFile) {
|
|
91
|
+
localConfigFile = path_1.default.join(options.configFolder, localConfigFile);
|
|
92
|
+
configObj = (0, common_1.mergeConfigProperty)(configObj, await getFileContent(localConfigFile));
|
|
93
|
+
}
|
|
94
|
+
let environmentFileName = searchFile(options.configFolder, `${environment}.+(js|json|yaml|yml)`);
|
|
95
|
+
if (environmentFileName) {
|
|
96
|
+
environmentFileName = path_1.default.join(options.configFolder, environmentFileName);
|
|
97
|
+
configObj = (0, common_1.mergeConfigProperty)(configObj, await getFileContent(environmentFileName));
|
|
98
|
+
}
|
|
99
|
+
let environmentFileLocalName = searchFile(options.configFolder, `local-${environment}.+(js|json|yaml|yml)`);
|
|
100
|
+
if (environmentFileLocalName) {
|
|
101
|
+
environmentFileLocalName = path_1.default.join(options.configFolder, environmentFileLocalName);
|
|
102
|
+
configObj = (0, common_1.mergeConfigProperty)(configObj, await getFileContent(environmentFileLocalName));
|
|
103
|
+
}
|
|
104
|
+
return configObj;
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
exports.getLocalConfig = getLocalConfig;
|
|
108
|
+
//# sourceMappingURL=localConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localConfig.js","sourceRoot":"","sources":["../../../src/ports/configuration/localConfig.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAoB;AACpB,2CAA6B;AAC7B,sDAA2B;AAC3B,gDAAwB;AACxB,iCAA+B;AAC/B,+BAAiC;AACjC,qCAA+C;AAO/C,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAC;AAE1D,MAAM,QAAQ,GAAG,IAAA,gBAAS,EAAE,YAAE,CAAC,QAAQ,CAAE,CAAC;AAC1C,SAAS,UAAU,CAAE,MAAc,EAAE,OAAe;IAClD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAE,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IACvD,IAAK,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,uBAAuB,GAAG,CAAE,MAAa,EAAG,EAAE,CAAC,CAAE,OAAY,EAAG,EAAE;IACtE,OAAO,CAAC,OAAO,EAAE,CAAC;IAClB,OAAO,IAAA,gBAAS,EAAE,YAAE,CAAC,SAAS,CAAE,CAAE,cAAI,CAAC,IAAI,CAAE,MAAM,EAAE,cAAc,CAAE,EAAE,iBAAI,CAAC,IAAI,CAAE,OAAO,EAAE;QACzF,MAAM,EAAE,CAAC;QACT,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;SACA,IAAI,CAAE,IAAA,cAAM,EAAE,OAAO,CAAE,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,SAAS,cAAc,CAAE,QAAgB;IACvC,IAAI,CAAE,KAAK,EAAE,OAAO,CAAE,CAAC,QAAQ,CAAE,cAAI,CAAC,OAAO,CAAE,QAAQ,CAAE,CAAC,EAAE;QAC1D,0BAAe,QAAQ,wCAAG;KAC3B;SAAM,IAAI,CAAE,OAAO,EAAE,MAAM,CAAE,CAAC,QAAQ,CAAE,cAAI,CAAC,OAAO,CAAE,QAAQ,CAAE,CAAC,EAAE;QAClE,OAAO,QAAQ,CAAE,QAAQ,EAAE,MAAM,CAAE,CAAC,IAAI,CACtC,CAAE,IAAI,EAAG,EAAE,CAAC,iBAAI,CAAC,IAAI,CAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAC7C,CAAC;KACH;SAAM;QACL,OAAO,OAAO,CAAC,MAAM,CACnB,KAAK,CAAE,oCAAoC,QAAQ,GAAG,CAAE,CACzD,CAAC;KACH;AACH,CAAC;AAEM,MAAM,oBAAoB,GAAG,CAAE,OAAe,EAAG,EAAE;IACxD,GAAG;QACD,OAAO,GAAG,cAAI,CAAC,OAAO,CAAE,OAAO,CAAE,CAAC;QAClC,MAAM,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAE,OAAO,EAAE,mBAAmB,CAAE,CAAC;QACpE,IAAK,YAAE,CAAC,UAAU,CAAE,iBAAiB,CAAE,EAAE;YACvC,OAAO,cAAc,CAAE,OAAO,CAAE,CAAC;SAClC;KACF,QAAS,OAAO,KAAK,GAAG,EAAG;IAC5B,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC7B,CAAC,CAAC;AATW,QAAA,oBAAoB,wBAS/B;AAEF,SAAgB,cAAc,CAAE,OAAe,EAAE,YAAY,GAAG,UAAU,EAAE,aAAa,GAAG,EAAE,EAAE,4BAA4B,GAAG,KAAK;IAClI,MAAM,OAAO,GAAuB;QAClC,YAAY,EAAE,cAAI,CAAC,IAAI,CAAE,OAAO,EAAE,YAAY,CAAE;QAChD,iBAAiB,EAAE,kCAAkC;KACtD,CAAC;IACF,IAAI,iBAAiB,GAAG,UAAU,CAChC,OAAO,CAAC,YAAY,EACpB,6BAA6B,CAC9B,CAAC;IACF,IAAI,oBAAoB,GAAiB,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3D,OAAO,CACL,CAAC,iBAAiB,IAAI,4BAA4B;QAChD,CAAC,CAAC,oBAAoB;aACnB,IAAI,CAAE,uBAAuB,CAAE,cAAI,CAAC,IAAI,CAAE,OAAO,EAAE,SAAS,CAAE,CAAC,CAAC;QACnE,CAAC;YACD,oBAAoB;iBACjB,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAE,cAAI,CAAC,IAAI,CAAE,OAAO,CAAC,YAAY,EAAE,iBAA2B,CAAE,CAAC,CAAC;iBACrH,IAAI,CAAC,CAAE,aAAa,EAAG,EAAE,CAAC,IAAA,4BAAmB,EAAE,aAAa,EAAE,aAAa,CAAE,CAAC,CACpF;SACE,IAAI,CAAE,KAAK,EAAG,SAAS,EAAG,EAAE;QAC3B,IAAI,eAAe,GAAG,UAAU,CAC9B,OAAO,CAAC,YAAY,EACpB,2BAA2B,CAC5B,CAAC;QACF,IAAK,eAAe,EAAG;YACrB,eAAe,GAAG,cAAI,CAAC,IAAI,CAAE,OAAO,CAAC,YAAY,EAAE,eAAe,CAAE,CAAC;YACrE,SAAS,GAAG,IAAA,4BAAmB,EAC7B,SAAS,EACT,MAAM,cAAc,CAAE,eAAe,CAAE,CACxC,CAAC;SACH;QACD,IAAI,mBAAmB,GAAG,UAAU,CAClC,OAAO,CAAC,YAAY,EACpB,GAAG,WAAW,sBAAsB,CACrC,CAAC;QACF,IAAK,mBAAmB,EAAG;YACzB,mBAAmB,GAAG,cAAI,CAAC,IAAI,CAC7B,OAAO,CAAC,YAAY,EACpB,mBAAmB,CACpB,CAAC;YACF,SAAS,GAAG,IAAA,4BAAmB,EAC7B,SAAS,EACT,MAAM,cAAc,CAAE,mBAAmB,CAAE,CAC5C,CAAC;SACH;QACD,IAAI,wBAAwB,GAAG,UAAU,CACvC,OAAO,CAAC,YAAY,EACpB,SAAS,WAAW,sBAAsB,CAC3C,CAAC;QACF,IAAK,wBAAwB,EAAG;YAC9B,wBAAwB,GAAG,cAAI,CAAC,IAAI,CAClC,OAAO,CAAC,YAAY,EACpB,wBAAwB,CACzB,CAAC;YACF,SAAS,GAAG,IAAA,4BAAmB,EAC7B,SAAS,EACT,MAAM,cAAc,CAAE,wBAAwB,CAAE,CACjD,CAAC;SACH;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,CAAC;AACP,CAAC;AA7DD,wCA6DC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { DatabaseAdapter, DatabasePort } from '@bett3r-dev/pv3-types';
|
|
2
|
+
export declare const DuplicatedValueInIndex: () => import("@bett3r-dev/pv3-types").AppErrorType<{}>;
|
|
3
|
+
export declare const Database: (adapter: DatabaseAdapter) => DatabasePort;
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ports/database/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGtE,eAAO,MAAM,sBAAsB,wDAKjC,CAAC;AAEH,eAAO,MAAM,QAAQ,YAAc,eAAe,KAAI,YAYrD,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Database = exports.DuplicatedValueInIndex = void 0;
|
|
7
|
+
const utils_1 = require("../../utils");
|
|
8
|
+
const base_1 = require("../base");
|
|
9
|
+
const jsonschema_definer_1 = __importDefault(require("@bett3r-dev/jsonschema-definer"));
|
|
10
|
+
const DuplicatedValueInIndex = () => (0, utils_1.AppError)({
|
|
11
|
+
error: 'NotUniqueError',
|
|
12
|
+
description: 'Duplicated values for Index marked as Unique',
|
|
13
|
+
schema: jsonschema_definer_1.default.shape({}).additionalProperties(true),
|
|
14
|
+
type: 'ConflictError',
|
|
15
|
+
});
|
|
16
|
+
exports.DuplicatedValueInIndex = DuplicatedValueInIndex;
|
|
17
|
+
const Database = (adapter) => {
|
|
18
|
+
const database = Object.assign((0, base_1.createPort)(adapter), { _adapter: adapter });
|
|
19
|
+
adapter.start()
|
|
20
|
+
.then(() => {
|
|
21
|
+
database.isStarted = true;
|
|
22
|
+
database.emitter.emit('started');
|
|
23
|
+
});
|
|
24
|
+
return database;
|
|
25
|
+
};
|
|
26
|
+
exports.Database = Database;
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ports/database/index.ts"],"names":[],"mappings":";;;;;;AAAA,uCAAuC;AACvC,kCAAqC;AAErC,wFAA+C;AAExC,MAAM,sBAAsB,GAAG,GAAG,EAAE,CAAC,IAAA,gBAAQ,EAAC;IACnD,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,8CAA8C;IAC3D,MAAM,EAAE,4BAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,oBAAoB,CAAE,IAAI,CAAE;IAChD,IAAI,EAAE,eAAe;CACtB,CAAC,CAAC;AALU,QAAA,sBAAsB,0BAKhC;AAEI,MAAM,QAAQ,GAAG,CAAE,OAAwB,EAAiB,EAAE;IACnE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAC5B,IAAA,iBAAU,EAAE,OAAO,CAAE,EACrB,EAAE,QAAQ,EAAE,OAAO,EAAE,CACtB,CAAC;IACF,OAAO,CAAC,KAAK,EAAE;SACZ,IAAI,CAAC,GAAG,EAAE;QACT,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;QAC1B,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAE,SAAS,CAAE,CAAC;IACrC,CAAC,CAAC,CAAC;IAEL,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAZW,QAAA,QAAQ,YAYnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"endpointsCall.test.d.ts","sourceRoot":"","sources":["../../../../src/ports/endpoints/__tests__/endpointsCall.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const pv3_1 = require("@bett3r-dev/pv3");
|
|
4
|
+
const index_1 = require("../index");
|
|
5
|
+
const test_client_library_1 = require("./test-client-library");
|
|
6
|
+
describe('Endpoints', () => {
|
|
7
|
+
let configuration;
|
|
8
|
+
beforeAll(async () => {
|
|
9
|
+
configuration = await (0, pv3_1.Configuration)();
|
|
10
|
+
});
|
|
11
|
+
it('should be defined', async () => {
|
|
12
|
+
const endpoints = (0, index_1.Endpoints)({ packageJson: { name: 'test', version: '3' }, configuration });
|
|
13
|
+
const clientLibrary = (0, test_client_library_1.create)({ baseUrl: '' }, endpoints.fetch);
|
|
14
|
+
const response = await clientLibrary.commands.AssignFlowGroup({
|
|
15
|
+
id: 'asdf',
|
|
16
|
+
body: {},
|
|
17
|
+
query: {}
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
//# sourceMappingURL=endpointsCall.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"endpointsCall.test.js","sourceRoot":"","sources":["../../../../src/ports/endpoints/__tests__/endpointsCall.test.ts"],"names":[],"mappings":";;AAAA,yCAAgD;AAEhD,oCAAqC;AACrC,+DAA+C;AAE/C,QAAQ,CAAE,WAAW,EAAE,GAAG,EAAE;IAC1B,IAAI,aAAgC,CAAC;IACrC,SAAS,CAAE,KAAK,IAAG,EAAE;QACnB,aAAa,GAAG,MAAM,IAAA,mBAAa,GAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IACH,EAAE,CAAE,mBAAmB,EAAE,KAAK,IAAI,EAAE;QAClC,MAAM,SAAS,GAAG,IAAA,iBAAS,EAAC,EAAE,WAAW,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;QAC3F,MAAM,aAAa,GAAG,IAAA,4BAAM,EAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,KAAK,CAAE,CAAC;QAChE,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,eAAe,CAAC;YAC5D,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,EAAE;YACR,KAAK,EAAE,EAAE;SACV,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/** OneOf type helpers */
|
|
2
|
+
export type Without<T, U> = {
|
|
3
|
+
[P in Exclude<keyof T, keyof U>]?: never;
|
|
4
|
+
};
|
|
5
|
+
export type XOR<T, U> = (T | U) extends object ? (Without<T, U> & U) | (Without<U, T> & T) : T | U;
|
|
6
|
+
export type OneOf<T extends any[]> = T extends [infer Only] ? Only : T extends [infer A, infer B, ...infer Rest] ? OneOf<[XOR<A, B>, ...Rest]> : never;
|
|
7
|
+
export type BackendConfig = {
|
|
8
|
+
baseUrl: string;
|
|
9
|
+
token?: string;
|
|
10
|
+
};
|
|
11
|
+
export type EventMetadata = {
|
|
12
|
+
causationId?: string | undefined;
|
|
13
|
+
correlationId?: string | undefined;
|
|
14
|
+
user?: any;
|
|
15
|
+
};
|
|
16
|
+
export type CommittedEvent<Payload = any> = {
|
|
17
|
+
name: string;
|
|
18
|
+
data?: Payload;
|
|
19
|
+
stream: string;
|
|
20
|
+
metadata: EventMetadata;
|
|
21
|
+
id: number;
|
|
22
|
+
timestamp: string;
|
|
23
|
+
version: number;
|
|
24
|
+
};
|
|
25
|
+
export type CommandParams<Body = any> = {
|
|
26
|
+
id: string;
|
|
27
|
+
query?: {
|
|
28
|
+
expectedVersion?: string;
|
|
29
|
+
correlationId?: string;
|
|
30
|
+
};
|
|
31
|
+
body?: Body;
|
|
32
|
+
};
|
|
33
|
+
export type CommandExecutionResponse<Model = any, Event = any> = {
|
|
34
|
+
state?: Model;
|
|
35
|
+
events: CommittedEvent<Event>[];
|
|
36
|
+
};
|
|
37
|
+
export type ReadModelChange<T = any> = {
|
|
38
|
+
type: 'insert' | 'update' | 'delete';
|
|
39
|
+
data: T;
|
|
40
|
+
};
|
|
41
|
+
export type QueryParams<Query = any, Params = any> = {
|
|
42
|
+
query?: Partial<Query>;
|
|
43
|
+
};
|
|
44
|
+
export type FetchResponse<T = any> = Response & {
|
|
45
|
+
bodyParsed: T;
|
|
46
|
+
};
|
|
47
|
+
export type Document = {
|
|
48
|
+
id: string | number;
|
|
49
|
+
};
|
|
50
|
+
export type QueryFilter<Model extends Document = any> = {
|
|
51
|
+
field: keyof Model;
|
|
52
|
+
op: 'eq' | 'neq' | 'lt' | 'gt' | 'lte' | 'gte' | 'in' | 'nin' | 'contains' | 'notContains' | 'some' | 'every' | 'exists' | 'notExists';
|
|
53
|
+
value: any;
|
|
54
|
+
};
|
|
55
|
+
export type QuerySort<Model extends Document = any> = {
|
|
56
|
+
field: keyof Model;
|
|
57
|
+
direction?: 'asc' | 'desc';
|
|
58
|
+
};
|
|
59
|
+
export type ReadModelQueryBase<Model extends Document = any> = {
|
|
60
|
+
access_token?: string;
|
|
61
|
+
apikey?: string;
|
|
62
|
+
limit?: number;
|
|
63
|
+
after?: string | number;
|
|
64
|
+
sort?: QuerySort<Model>[];
|
|
65
|
+
filter?: QueryFilter<Model>[];
|
|
66
|
+
select?: keyof Model | (keyof Model)[];
|
|
67
|
+
};
|
|
68
|
+
export declare const parseResponseBody: (type: 'json' | 'text', response: Response, method: 'reject' | 'resolve') => Promise<void | FetchResponse>;
|
|
69
|
+
export declare const processFetchResponse: <T = any>(response: Response) => Promise<void | FetchResponse<T>>;
|
|
70
|
+
export declare const parseQueryParams: (query?: Record<string, any>) => "" | URLSearchParams;
|
|
71
|
+
export type Requests = ReturnType<typeof requests>;
|
|
72
|
+
export declare const requests: (params: BackendConfig, _fetch?: typeof fetch) => {
|
|
73
|
+
post: (path: string, body?: any, headers?: Record<string, string>) => Promise<any>;
|
|
74
|
+
get: (path: string, headers?: Record<string, string>) => Promise<any>;
|
|
75
|
+
subscribe: (path: string, name: string, onChange: (change: ReadModelChange) => void) => any;
|
|
76
|
+
};
|
|
77
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/ports/endpoints/__tests__/test-client-library/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.requests = exports.parseQueryParams = exports.processFetchResponse = exports.parseResponseBody = void 0;
|
|
4
|
+
const parseResponseBody = (type, response, method) => {
|
|
5
|
+
return response[type]()
|
|
6
|
+
.then((bodyParsed) => {
|
|
7
|
+
return Promise[method](Object.assign(response, {
|
|
8
|
+
bodyParsed
|
|
9
|
+
}));
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
exports.parseResponseBody = parseResponseBody;
|
|
13
|
+
const processFetchResponse = (response) => {
|
|
14
|
+
if (response.ok === true)
|
|
15
|
+
return (0, exports.parseResponseBody)('json', response, 'resolve');
|
|
16
|
+
else
|
|
17
|
+
return (0, exports.parseResponseBody)('json', response, 'reject');
|
|
18
|
+
};
|
|
19
|
+
exports.processFetchResponse = processFetchResponse;
|
|
20
|
+
const processQueryPropertyMap = {
|
|
21
|
+
filter: (filter, params) => {
|
|
22
|
+
return filter.reduce((acc, filterItem) => {
|
|
23
|
+
acc.append('filter', `${filterItem.field},${filterItem.op},${filterItem.value}`);
|
|
24
|
+
return acc;
|
|
25
|
+
}, params);
|
|
26
|
+
},
|
|
27
|
+
sort: (sort, params) => {
|
|
28
|
+
return sort.reduce((acc, sortItem) => {
|
|
29
|
+
acc.append('sort', `${sortItem.field},${sortItem.direction || 'asc'}`);
|
|
30
|
+
return acc;
|
|
31
|
+
}, params);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
const parseQueryParams = (query) => {
|
|
35
|
+
if (query && Object.keys(query).length) {
|
|
36
|
+
return Object.keys(query).reduce((acc, key) => {
|
|
37
|
+
if (['filter', 'sort'].includes(key)) {
|
|
38
|
+
return processQueryPropertyMap[key](query[key], acc);
|
|
39
|
+
}
|
|
40
|
+
else if (Array.isArray(query[key])) {
|
|
41
|
+
query[key].forEach((value) => acc.append(key, value));
|
|
42
|
+
return acc;
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
acc.append(key, query[key]);
|
|
46
|
+
}
|
|
47
|
+
return acc;
|
|
48
|
+
}, new URLSearchParams());
|
|
49
|
+
}
|
|
50
|
+
return '';
|
|
51
|
+
};
|
|
52
|
+
exports.parseQueryParams = parseQueryParams;
|
|
53
|
+
const requests = (params, _fetch = fetch) => {
|
|
54
|
+
const defaultHeaders = {
|
|
55
|
+
'Content-Type': 'application/json',
|
|
56
|
+
'Authorization': `Bearer ${params.token}`
|
|
57
|
+
};
|
|
58
|
+
const post = (path, body, headers = {}) => {
|
|
59
|
+
return _fetch(`${params.baseUrl}${path}`, { method: 'post',
|
|
60
|
+
headers: { ...defaultHeaders, ...headers }, ...(body
|
|
61
|
+
? { body: JSON.stringify(body) }
|
|
62
|
+
: {}),
|
|
63
|
+
})
|
|
64
|
+
.then(exports.processFetchResponse)
|
|
65
|
+
.then((response) => { return response?.bodyParsed; });
|
|
66
|
+
};
|
|
67
|
+
const get = (path, headers = {}) => {
|
|
68
|
+
return _fetch(`${params.baseUrl}${path}`, { method: 'get',
|
|
69
|
+
headers: { ...defaultHeaders, ...headers }, })
|
|
70
|
+
.then(exports.processFetchResponse)
|
|
71
|
+
.then((response) => { return response?.bodyParsed; });
|
|
72
|
+
};
|
|
73
|
+
const subscribe = (path, name, onChange) => {
|
|
74
|
+
console.log(`Stablishing connection with subscription ${name}...`);
|
|
75
|
+
const source = new EventSource(`${params.baseUrl}${path}`);
|
|
76
|
+
source.addEventListener('open', (e) => console.log(`Connections to the server established for subscription ${name}`), false);
|
|
77
|
+
source.onmessage = (e) => {
|
|
78
|
+
if (e.data === 'Connected')
|
|
79
|
+
return;
|
|
80
|
+
onChange(JSON.parse(e.data));
|
|
81
|
+
};
|
|
82
|
+
return source.close.bind(source);
|
|
83
|
+
};
|
|
84
|
+
return {
|
|
85
|
+
post,
|
|
86
|
+
get,
|
|
87
|
+
subscribe
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
exports.requests = requests;
|
|
91
|
+
//# sourceMappingURL=base.js.map
|