@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 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/ports/infrastructure/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ports/logger/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,aAAa,EAAE,YAAY,EAAE,UAAU,EAA2B,MAAM,uBAAuB,CAAC;AAEtH,eAAO,MAAM,MAAM,WAAa,YAAY,eAAe,aAAa,EAAE,KAAG,UA8B5E,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Logger = void 0;
|
|
4
|
+
const pv3_types_1 = require("@bett3r-dev/pv3-types");
|
|
5
|
+
const Logger = (config, ...adapters) => {
|
|
6
|
+
const skipModule = (module) => config?.modulesBlacklist?.includes(module) || (config?.modulesWhitelist && !config?.modulesWhitelist?.includes(module));
|
|
7
|
+
function createLoggerInstance(module) {
|
|
8
|
+
const LogLevel = pv3_types_1.LogLevelMap[config.logLevel || 'info'];
|
|
9
|
+
const internalLog = skipModule(module) ?
|
|
10
|
+
() => () => { }
|
|
11
|
+
: (level) => (...args) => {
|
|
12
|
+
if (LogLevel >= level)
|
|
13
|
+
adapters.forEach(a => {
|
|
14
|
+
a.log(args, pv3_types_1.LevelLogMap[level], module);
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
const logger = {
|
|
18
|
+
error: internalLog(0),
|
|
19
|
+
warn: internalLog(1),
|
|
20
|
+
info: internalLog(2),
|
|
21
|
+
log: internalLog(3),
|
|
22
|
+
debug: internalLog(4),
|
|
23
|
+
silly: internalLog(5),
|
|
24
|
+
};
|
|
25
|
+
return logger;
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
createLoggerInstance
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
exports.Logger = Logger;
|
|
32
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ports/logger/index.ts"],"names":[],"mappings":";;;AAAA,qDAAsH;AAE/G,MAAM,MAAM,GAAG,CAAE,MAAoB,EAAE,GAAG,QAAyB,EAAc,EAAE;IACxF,MAAM,UAAU,GAAG,CAAE,MAAc,EAAG,EAAE,CACtC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,CAAE,MAAM,CAAE,IAAI,CAAE,MAAM,EAAE,gBAAgB,IAAI,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,CAAE,MAAM,CAAE,CAAC,CAAC;IAE/H,SAAS,oBAAoB,CAAE,MAAc;QAC3C,MAAM,QAAQ,GAAG,uBAAW,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC;QAExD,MAAM,WAAW,GAAG,UAAU,CAAE,MAAM,CAAE,CAAC,CAAC;YACxC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC;YACd,CAAC,CAAC,CAAE,KAAa,EAAG,EAAE,CAAC,CAAE,GAAG,IAAW,EAAE,EAAE;gBACzC,IAAK,QAAQ,IAAI,KAAK;oBACpB,QAAQ,CAAC,OAAO,CAAE,CAAC,CAAA,EAAE;wBACnB,CAAC,CAAC,GAAG,CAAE,IAAI,EAAE,uBAAW,CAAC,KAAK,CAAC,EAAE,MAAM,CAAE,CAAC;oBAC5C,CAAC,CAAC,CAAC;YACP,CAAC,CAAC;QAEJ,MAAM,MAAM,GAAe;YACzB,KAAK,EAAE,WAAW,CAAE,CAAC,CAAE;YACvB,IAAI,EAAE,WAAW,CAAE,CAAC,CAAE;YACtB,IAAI,EAAE,WAAW,CAAE,CAAC,CAAE;YACtB,GAAG,EAAE,WAAW,CAAE,CAAC,CAAE;YACrB,KAAK,EAAE,WAAW,CAAE,CAAC,CAAE;YACvB,KAAK,EAAE,WAAW,CAAE,CAAC,CAAE;SACxB,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO;QACL,oBAAoB;KACrB,CAAC;AACJ,CAAC,CAAC;AA9BW,QAAA,MAAM,UA8BjB"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/// <reference types="ramda/node_modules/ts-toolbelt" />
|
|
2
|
+
import { AppErrorData, AppErrorInstance, AppErrorType, CommittedEvent, EventFactory, EventHandler, GetMessageType, System } from '@bett3r-dev/pv3-types';
|
|
3
|
+
export declare const createEvent: <Handler extends System | EventHandler>(handler: Handler) => <EVENT extends keyof import("Object/Path")._Path<Handler, ["events"], 1>>(event: EVENT, data?: GetMessageType<Handler["events"][EVENT]> | undefined, committedEvent?: Partial<Omit<CommittedEvent, 'data' | 'name'>>) => EventFactory<EVENT, GetMessageType<Handler["events"][EVENT]>>;
|
|
4
|
+
export declare const createError: <ErrorPayload>(error: AppErrorType<ErrorPayload>, params: Partial<AppErrorData<ErrorPayload>>) => AppErrorInstance;
|
|
5
|
+
export declare const AppError: <ErrorPayload>(err: AppErrorType<ErrorPayload>) => AppErrorType<ErrorPayload>;
|
|
6
|
+
export declare const EmailAlreadyExists: () => AppErrorType<string>;
|
|
7
|
+
export declare const InvalidTokenError: () => AppErrorType<string>;
|
|
8
|
+
export declare const AuthenticationError: () => AppErrorType<string>;
|
|
9
|
+
export declare const UnknownRouteError: () => AppErrorType<string>;
|
|
10
|
+
export declare const UnauthorizedError: () => AppErrorType<string>;
|
|
11
|
+
export declare const ConcurrencyError: () => AppErrorType<{
|
|
12
|
+
expectedVersion: string;
|
|
13
|
+
actualVersion: string;
|
|
14
|
+
}>;
|
|
15
|
+
export declare const ValidationError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any[]>;
|
|
16
|
+
export declare const BadRequestError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
|
|
17
|
+
export declare const PaymentRequiredError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
|
|
18
|
+
export declare const ForbiddenError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
|
|
19
|
+
export declare const NotFoundError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
|
|
20
|
+
export declare const MethodNotAllowedError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
|
|
21
|
+
export declare const NotAcceptableError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
|
|
22
|
+
export declare const ProxyAuthenticationRequiredError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
|
|
23
|
+
export declare const RequestTimeoutError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
|
|
24
|
+
export declare const ConflictError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
|
|
25
|
+
export declare const GoneError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
|
|
26
|
+
export declare const LengthRequiredError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
|
|
27
|
+
export declare const PreconditionFailedError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
|
|
28
|
+
export declare const PayloadTooLargeError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
|
|
29
|
+
export declare const TooManyRequestsError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
|
|
30
|
+
export declare const InternalServerError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
|
|
31
|
+
export declare const NotImplementedError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
|
|
32
|
+
export declare const BadGatewayError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
|
|
33
|
+
export declare const ServiceUnavailableError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
|
|
34
|
+
export declare const GatewayTimeoutError: () => AppErrorType<import("@bett3r-dev/jsonschema-definer/dist/base").Any>;
|
|
35
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAIzJ,eAAO,MAAM,WAAW,qOAAqM,QAAQ,KAAK,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,kEAO1Q,CAAC;AAMF,eAAO,MAAM,WAAW,oGAAqG,gBAM5H,CAAC;AAEF,eAAO,MAAM,QAAQ,+EAA2D,CAAC;AAEjF,eAAO,MAAM,kBAAkB,4BAI7B,CAAC;AAEH,eAAO,MAAM,iBAAiB,4BAI5B,CAAC;AAEH,eAAO,MAAM,mBAAmB,4BAI9B,CAAC;AAEH,eAAO,MAAM,iBAAiB,4BAI5B,CAAC;AAEH,eAAO,MAAM,iBAAiB,4BAI5B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;EAO3B,CAAC;AAEH,eAAO,MAAM,eAAe,8EAI1B,CAAC;AAEH,eAAO,MAAM,eAAe,4EAI1B,CAAC;AAEH,eAAO,MAAM,oBAAoB,4EAI/B,CAAC;AAEH,eAAO,MAAM,cAAc,4EAIzB,CAAC;AAEH,eAAO,MAAM,aAAa,4EAIxB,CAAC;AAEH,eAAO,MAAM,qBAAqB,4EAIhC,CAAC;AAEH,eAAO,MAAM,kBAAkB,4EAI7B,CAAC;AAEH,eAAO,MAAM,gCAAgC,4EAI3C,CAAC;AAEH,eAAO,MAAM,mBAAmB,4EAI9B,CAAC;AAEH,eAAO,MAAM,aAAa,4EAIxB,CAAC;AAEH,eAAO,MAAM,SAAS,4EAIpB,CAAC;AAEH,eAAO,MAAM,mBAAmB,4EAI9B,CAAC;AAEH,eAAO,MAAM,uBAAuB,4EAIlC,CAAC;AAEH,eAAO,MAAM,oBAAoB,4EAI/B,CAAC;AAEH,eAAO,MAAM,oBAAoB,4EAI/B,CAAC;AAEH,eAAO,MAAM,mBAAmB,4EAI9B,CAAC;AAEH,eAAO,MAAM,mBAAmB,4EAI9B,CAAC;AAEH,eAAO,MAAM,eAAe,4EAI1B,CAAC;AAEH,eAAO,MAAM,uBAAuB,4EAIlC,CAAC;AAEH,eAAO,MAAM,mBAAmB,4EAI9B,CAAC"}
|
|
@@ -0,0 +1,190 @@
|
|
|
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.GatewayTimeoutError = exports.ServiceUnavailableError = exports.BadGatewayError = exports.NotImplementedError = exports.InternalServerError = exports.TooManyRequestsError = exports.PayloadTooLargeError = exports.PreconditionFailedError = exports.LengthRequiredError = exports.GoneError = exports.ConflictError = exports.RequestTimeoutError = exports.ProxyAuthenticationRequiredError = exports.NotAcceptableError = exports.MethodNotAllowedError = exports.NotFoundError = exports.ForbiddenError = exports.PaymentRequiredError = exports.BadRequestError = exports.ValidationError = exports.ConcurrencyError = exports.UnauthorizedError = exports.UnknownRouteError = exports.AuthenticationError = exports.InvalidTokenError = exports.EmailAlreadyExists = exports.AppError = exports.createError = exports.createEvent = void 0;
|
|
7
|
+
const jsonschema_definer_1 = __importDefault(require("@bett3r-dev/jsonschema-definer"));
|
|
8
|
+
const ramda_1 = require("ramda");
|
|
9
|
+
const createEvent = (handler) => (event, data, committedEvent) => {
|
|
10
|
+
return () => ({
|
|
11
|
+
...handler.events[event](),
|
|
12
|
+
name: event,
|
|
13
|
+
data,
|
|
14
|
+
...(committedEvent ? committedEvent : {})
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
exports.createEvent = createEvent;
|
|
18
|
+
//*******************************************
|
|
19
|
+
// Errors
|
|
20
|
+
//*******************************************
|
|
21
|
+
const createError = (error, params) => {
|
|
22
|
+
return Object.assign(new Error(params.description), {
|
|
23
|
+
...(0, ramda_1.omit)(['schema', 'name'], error),
|
|
24
|
+
...(0, ramda_1.omit)(['schema', 'name'], params),
|
|
25
|
+
name: error.error || error.type,
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
exports.createError = createError;
|
|
29
|
+
const AppError = (err) => err;
|
|
30
|
+
exports.AppError = AppError;
|
|
31
|
+
const EmailAlreadyExists = () => (0, exports.AppError)({
|
|
32
|
+
schema: jsonschema_definer_1.default.string(),
|
|
33
|
+
type: 'ConflictError',
|
|
34
|
+
status: 409
|
|
35
|
+
});
|
|
36
|
+
exports.EmailAlreadyExists = EmailAlreadyExists;
|
|
37
|
+
const InvalidTokenError = () => (0, exports.AppError)({
|
|
38
|
+
schema: jsonschema_definer_1.default.string(),
|
|
39
|
+
type: 'UnauthorizedError',
|
|
40
|
+
status: 401
|
|
41
|
+
});
|
|
42
|
+
exports.InvalidTokenError = InvalidTokenError;
|
|
43
|
+
const AuthenticationError = () => (0, exports.AppError)({
|
|
44
|
+
schema: jsonschema_definer_1.default.string(),
|
|
45
|
+
type: 'UnauthorizedError',
|
|
46
|
+
status: 401
|
|
47
|
+
});
|
|
48
|
+
exports.AuthenticationError = AuthenticationError;
|
|
49
|
+
const UnknownRouteError = () => (0, exports.AppError)({
|
|
50
|
+
schema: jsonschema_definer_1.default.string(),
|
|
51
|
+
type: 'BadRequestError',
|
|
52
|
+
status: 400
|
|
53
|
+
});
|
|
54
|
+
exports.UnknownRouteError = UnknownRouteError;
|
|
55
|
+
const UnauthorizedError = () => (0, exports.AppError)({
|
|
56
|
+
schema: jsonschema_definer_1.default.string(),
|
|
57
|
+
type: 'ForbiddenError',
|
|
58
|
+
status: 403
|
|
59
|
+
});
|
|
60
|
+
exports.UnauthorizedError = UnauthorizedError;
|
|
61
|
+
const ConcurrencyError = () => (0, exports.AppError)({
|
|
62
|
+
schema: jsonschema_definer_1.default.shape({
|
|
63
|
+
expectedVersion: jsonschema_definer_1.default.string(),
|
|
64
|
+
actualVersion: jsonschema_definer_1.default.string()
|
|
65
|
+
}),
|
|
66
|
+
type: 'ConcurrencyError',
|
|
67
|
+
status: 409
|
|
68
|
+
});
|
|
69
|
+
exports.ConcurrencyError = ConcurrencyError;
|
|
70
|
+
const ValidationError = () => (0, exports.AppError)({
|
|
71
|
+
schema: jsonschema_definer_1.default.array().items(jsonschema_definer_1.default.any()),
|
|
72
|
+
type: 'BadRequestError',
|
|
73
|
+
status: 400
|
|
74
|
+
});
|
|
75
|
+
exports.ValidationError = ValidationError;
|
|
76
|
+
const BadRequestError = () => (0, exports.AppError)({
|
|
77
|
+
schema: jsonschema_definer_1.default.any(),
|
|
78
|
+
type: 'BadRequestError',
|
|
79
|
+
status: 400
|
|
80
|
+
});
|
|
81
|
+
exports.BadRequestError = BadRequestError;
|
|
82
|
+
const PaymentRequiredError = () => (0, exports.AppError)({
|
|
83
|
+
schema: jsonschema_definer_1.default.any(),
|
|
84
|
+
type: 'PaymentRequiredError',
|
|
85
|
+
status: 402
|
|
86
|
+
});
|
|
87
|
+
exports.PaymentRequiredError = PaymentRequiredError;
|
|
88
|
+
const ForbiddenError = () => (0, exports.AppError)({
|
|
89
|
+
schema: jsonschema_definer_1.default.any(),
|
|
90
|
+
type: 'ForbiddenError',
|
|
91
|
+
status: 403
|
|
92
|
+
});
|
|
93
|
+
exports.ForbiddenError = ForbiddenError;
|
|
94
|
+
const NotFoundError = () => (0, exports.AppError)({
|
|
95
|
+
schema: jsonschema_definer_1.default.any(),
|
|
96
|
+
type: 'NotFoundError',
|
|
97
|
+
status: 404
|
|
98
|
+
});
|
|
99
|
+
exports.NotFoundError = NotFoundError;
|
|
100
|
+
const MethodNotAllowedError = () => (0, exports.AppError)({
|
|
101
|
+
schema: jsonschema_definer_1.default.any(),
|
|
102
|
+
type: 'MethodNotAllowedError',
|
|
103
|
+
status: 405
|
|
104
|
+
});
|
|
105
|
+
exports.MethodNotAllowedError = MethodNotAllowedError;
|
|
106
|
+
const NotAcceptableError = () => (0, exports.AppError)({
|
|
107
|
+
schema: jsonschema_definer_1.default.any(),
|
|
108
|
+
type: 'NotAcceptableError',
|
|
109
|
+
status: 406
|
|
110
|
+
});
|
|
111
|
+
exports.NotAcceptableError = NotAcceptableError;
|
|
112
|
+
const ProxyAuthenticationRequiredError = () => (0, exports.AppError)({
|
|
113
|
+
schema: jsonschema_definer_1.default.any(),
|
|
114
|
+
type: 'ProxyAuthenticationRequiredError',
|
|
115
|
+
status: 407
|
|
116
|
+
});
|
|
117
|
+
exports.ProxyAuthenticationRequiredError = ProxyAuthenticationRequiredError;
|
|
118
|
+
const RequestTimeoutError = () => (0, exports.AppError)({
|
|
119
|
+
schema: jsonschema_definer_1.default.any(),
|
|
120
|
+
type: 'RequestTimeoutError',
|
|
121
|
+
status: 408
|
|
122
|
+
});
|
|
123
|
+
exports.RequestTimeoutError = RequestTimeoutError;
|
|
124
|
+
const ConflictError = () => (0, exports.AppError)({
|
|
125
|
+
schema: jsonschema_definer_1.default.any(),
|
|
126
|
+
type: 'ConflictError',
|
|
127
|
+
status: 409
|
|
128
|
+
});
|
|
129
|
+
exports.ConflictError = ConflictError;
|
|
130
|
+
const GoneError = () => (0, exports.AppError)({
|
|
131
|
+
schema: jsonschema_definer_1.default.any(),
|
|
132
|
+
type: 'GoneError',
|
|
133
|
+
status: 410
|
|
134
|
+
});
|
|
135
|
+
exports.GoneError = GoneError;
|
|
136
|
+
const LengthRequiredError = () => (0, exports.AppError)({
|
|
137
|
+
schema: jsonschema_definer_1.default.any(),
|
|
138
|
+
type: 'LengthRequiredError',
|
|
139
|
+
status: 411
|
|
140
|
+
});
|
|
141
|
+
exports.LengthRequiredError = LengthRequiredError;
|
|
142
|
+
const PreconditionFailedError = () => (0, exports.AppError)({
|
|
143
|
+
schema: jsonschema_definer_1.default.any(),
|
|
144
|
+
type: 'PreconditionFailedError',
|
|
145
|
+
status: 412
|
|
146
|
+
});
|
|
147
|
+
exports.PreconditionFailedError = PreconditionFailedError;
|
|
148
|
+
const PayloadTooLargeError = () => (0, exports.AppError)({
|
|
149
|
+
schema: jsonschema_definer_1.default.any(),
|
|
150
|
+
type: 'PayloadTooLargeError',
|
|
151
|
+
status: 413
|
|
152
|
+
});
|
|
153
|
+
exports.PayloadTooLargeError = PayloadTooLargeError;
|
|
154
|
+
const TooManyRequestsError = () => (0, exports.AppError)({
|
|
155
|
+
schema: jsonschema_definer_1.default.any(),
|
|
156
|
+
type: 'TooManyRequestsError',
|
|
157
|
+
status: 429
|
|
158
|
+
});
|
|
159
|
+
exports.TooManyRequestsError = TooManyRequestsError;
|
|
160
|
+
const InternalServerError = () => (0, exports.AppError)({
|
|
161
|
+
schema: jsonschema_definer_1.default.any(),
|
|
162
|
+
type: 'InternalServerError',
|
|
163
|
+
status: 500
|
|
164
|
+
});
|
|
165
|
+
exports.InternalServerError = InternalServerError;
|
|
166
|
+
const NotImplementedError = () => (0, exports.AppError)({
|
|
167
|
+
schema: jsonschema_definer_1.default.any(),
|
|
168
|
+
type: 'NotImplementedError',
|
|
169
|
+
status: 501
|
|
170
|
+
});
|
|
171
|
+
exports.NotImplementedError = NotImplementedError;
|
|
172
|
+
const BadGatewayError = () => (0, exports.AppError)({
|
|
173
|
+
schema: jsonschema_definer_1.default.any(),
|
|
174
|
+
type: 'BadGatewayError',
|
|
175
|
+
status: 502
|
|
176
|
+
});
|
|
177
|
+
exports.BadGatewayError = BadGatewayError;
|
|
178
|
+
const ServiceUnavailableError = () => (0, exports.AppError)({
|
|
179
|
+
schema: jsonschema_definer_1.default.any(),
|
|
180
|
+
type: 'ServiceUnavailableError',
|
|
181
|
+
status: 503
|
|
182
|
+
});
|
|
183
|
+
exports.ServiceUnavailableError = ServiceUnavailableError;
|
|
184
|
+
const GatewayTimeoutError = () => (0, exports.AppError)({
|
|
185
|
+
schema: jsonschema_definer_1.default.any(),
|
|
186
|
+
type: 'GatewayTimeoutError',
|
|
187
|
+
status: 504
|
|
188
|
+
});
|
|
189
|
+
exports.GatewayTimeoutError = GatewayTimeoutError;
|
|
190
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@bett3r-dev/pv3",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"main": "build/index.js",
|
|
5
|
+
"types": "build/index.d.ts",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"clean": "yarn run -T tsc --build --clean",
|
|
9
|
+
"prebuild": "yarn clean",
|
|
10
|
+
"build": "yarn run -T tsc --build --verbose"
|
|
11
|
+
},
|
|
12
|
+
"dependencies": {
|
|
13
|
+
"@bett3r-dev/bett3r-utils": "^4.0.11",
|
|
14
|
+
"@bett3r-dev/jsonschema-definer": "^1.4.4",
|
|
15
|
+
"ajv": "^8.12.0",
|
|
16
|
+
"ajv-formats": "^2.1.1",
|
|
17
|
+
"ansi-colors": "^4.1.3",
|
|
18
|
+
"async": "^3.2.4",
|
|
19
|
+
"change-case": "^4",
|
|
20
|
+
"dotenv": "^16.3.1",
|
|
21
|
+
"flyd": "^0.2.8",
|
|
22
|
+
"glob": "^10.3.10",
|
|
23
|
+
"js-yaml": "^4.1.0",
|
|
24
|
+
"json-schema-for-openapi": "~0.3.2",
|
|
25
|
+
"ramda": "^0.29.1",
|
|
26
|
+
"yargs": "17.7.1"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './memory';
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { map } from '@bett3r-dev/bett3r-utils';
|
|
2
|
+
import { assocPath } from 'ramda';
|
|
3
|
+
|
|
4
|
+
import { CacheAdapter } from '@bett3r-dev/pv3-types';
|
|
5
|
+
|
|
6
|
+
type Expiration = {
|
|
7
|
+
initialTtl: number;
|
|
8
|
+
timestamp: number;
|
|
9
|
+
expiresAt: number;
|
|
10
|
+
reference: NodeJS.Timeout;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export const MemoryCache = (): CacheAdapter<Record<string, string| object>> => {
|
|
14
|
+
const cache: Record<string, string | object> = {};
|
|
15
|
+
const expirations: Record<string, Expiration> = {};
|
|
16
|
+
|
|
17
|
+
function setExpiration( key: string, expiration: number ): void {
|
|
18
|
+
const reference = setTimeout(() => {
|
|
19
|
+
delete cache[key];
|
|
20
|
+
delete expirations[key];
|
|
21
|
+
}, expiration * 1000 );
|
|
22
|
+
expirations[key] && clearTimeout( expirations[key].reference );
|
|
23
|
+
expirations[key] = {
|
|
24
|
+
initialTtl: expiration,
|
|
25
|
+
timestamp: new Date().valueOf(),
|
|
26
|
+
expiresAt: expiration + new Date().valueOf(),
|
|
27
|
+
reference
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function set<T extends Record<string, any>>( key: string ) : ( value: T, expirationSeconds?: number | boolean ) => Promise<T>
|
|
32
|
+
function set<T extends Record<string, any>>( key: string, value: T, expirationSeconds?: number | boolean ): Promise<T>
|
|
33
|
+
function set <T extends Record<string, any>>( key: string, value?: T, expirationSeconds: number | boolean = false ): Promise<T> | (( value: T, expirationSeconds: number | boolean ) => Promise<T> ) {
|
|
34
|
+
cache[key] = JSON.stringify( value );
|
|
35
|
+
if ( expirationSeconds !== false ) {
|
|
36
|
+
setExpiration( key, expirationSeconds as number );
|
|
37
|
+
}
|
|
38
|
+
return Promise.resolve( value ) as Promise<T>;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const memoize = <F extends Function>( fn: F, expirationSeconds?: number | false ) => {
|
|
42
|
+
return ( async ( ...args: any[]) => {
|
|
43
|
+
const key = JSON.stringify( args );
|
|
44
|
+
if ( cache[key]) {
|
|
45
|
+
return cache[key];
|
|
46
|
+
}
|
|
47
|
+
const result = await fn( ...args );
|
|
48
|
+
cache[key] = result;
|
|
49
|
+
if ( expirationSeconds !== false ) {
|
|
50
|
+
setExpiration( key, expirationSeconds as number );
|
|
51
|
+
}
|
|
52
|
+
return result;
|
|
53
|
+
}) as unknown as F;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
const keys = ( pattern: string ): Promise<string[]> => {
|
|
57
|
+
const regex = new RegExp( pattern.replace( '*', '.*' ));
|
|
58
|
+
return Promise.resolve( Object.keys( cache ).filter(( key ) => regex.test( key )));
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
const incrementBy = ( key:string, value: number ) =>
|
|
62
|
+
Promise.resolve( cache[key] = JSON.stringify( Number( cache[key]) + value ))
|
|
63
|
+
.then( Number );
|
|
64
|
+
|
|
65
|
+
const get = <T>( key: string ): Promise<T> => {
|
|
66
|
+
return new Promise(( resolve ) => {
|
|
67
|
+
resolve( JSON.parse( cache[key] as string || 'null' ) || null );
|
|
68
|
+
});
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
const remove = ( key: string ): Promise<void> => {
|
|
72
|
+
delete cache[key];
|
|
73
|
+
delete expirations[key];
|
|
74
|
+
return Promise.resolve();
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
const flushAll = (): Promise<void> => {
|
|
78
|
+
Object.keys( cache ).forEach(( k ) => delete cache[k]);
|
|
79
|
+
return Promise.resolve();
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
//*******************************************
|
|
83
|
+
// HASHES
|
|
84
|
+
//*******************************************
|
|
85
|
+
// HEXISTS
|
|
86
|
+
const hashExists = ( key: string, hash:string ) =>
|
|
87
|
+
Promise.resolve( !!cache[key][hash]);
|
|
88
|
+
// HGET
|
|
89
|
+
const hashGet = <T>( key: string, hash:string ) =>
|
|
90
|
+
Promise.resolve( cache[key][hash]);
|
|
91
|
+
// HGETALL
|
|
92
|
+
const hashGetAll = ( key: string ) =>
|
|
93
|
+
Promise.resolve( map(( val ) => val.toString(), cache[key] as object || {}));
|
|
94
|
+
// HSET
|
|
95
|
+
const hashSet = <T>( key: string, hash:string, value: T ) => {
|
|
96
|
+
assocPath([ key, hash ], JSON.stringify( value ), cache );
|
|
97
|
+
return Promise.resolve( true );
|
|
98
|
+
};
|
|
99
|
+
// HSETNX
|
|
100
|
+
const hashSetIfNotExists = <T>( key: string, hash:string, value: T ) =>{
|
|
101
|
+
if ( !cache[key][hash])
|
|
102
|
+
assocPath([ key, hash ], JSON.stringify( value ), cache );
|
|
103
|
+
return Promise.resolve( cache[key][hash]);
|
|
104
|
+
};
|
|
105
|
+
// HINCRBY
|
|
106
|
+
const hashIncrementBy = ( key: string, hash:string, value: number ) =>{
|
|
107
|
+
assocPath([ key, hash ], JSON.stringify(( Number( cache[key][hash])) + value ), cache );
|
|
108
|
+
return Promise.resolve( cache[key][hash]);
|
|
109
|
+
};
|
|
110
|
+
// HDEL
|
|
111
|
+
const hashDel = ( key: string, hash:string ) =>{
|
|
112
|
+
delete cache[key][hash];
|
|
113
|
+
return Promise.resolve( true );
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
const close = (): Promise<void> => Promise.resolve();
|
|
117
|
+
|
|
118
|
+
const adapter = {
|
|
119
|
+
name: 'memoryCache',
|
|
120
|
+
start: async () => {},
|
|
121
|
+
stop: async () => {},
|
|
122
|
+
connect: () => Promise.resolve( 'Memory Cache Started.' ),
|
|
123
|
+
get,
|
|
124
|
+
set,
|
|
125
|
+
keys,
|
|
126
|
+
memoize,
|
|
127
|
+
incrementBy,
|
|
128
|
+
remove,
|
|
129
|
+
flushAll,
|
|
130
|
+
close,
|
|
131
|
+
hashExists,
|
|
132
|
+
hashGet,
|
|
133
|
+
hashGetAll,
|
|
134
|
+
hashSet,
|
|
135
|
+
hashSetIfNotExists,
|
|
136
|
+
hashIncrementBy,
|
|
137
|
+
hashDel,
|
|
138
|
+
_adapter: () => cache
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
return adapter;
|
|
142
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import { DotEnv } from '../dotEnv';
|
|
3
|
+
|
|
4
|
+
describe( 'DotEnv', () => {
|
|
5
|
+
it( 'should augment the current config with the env configuration', async () => {
|
|
6
|
+
const dotEnv = DotEnv( path.join( __dirname, '.env' ), ( env ) => {
|
|
7
|
+
return {
|
|
8
|
+
number: Number( env.SOME_VAR_NUMBER ),
|
|
9
|
+
boolean: Boolean( env.SOME_VAR_BOOLEAN ),
|
|
10
|
+
array: env.SOME_VAR_ARRAY.split( ',' ),
|
|
11
|
+
nested: {
|
|
12
|
+
nested2: {
|
|
13
|
+
string: env.SOME_VAR_STRING
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
});
|
|
18
|
+
const result = await dotEnv.applyConfig({
|
|
19
|
+
number: 10,
|
|
20
|
+
boolean: false,
|
|
21
|
+
nested: {
|
|
22
|
+
nested2: {
|
|
23
|
+
string: 'string original'
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
expect( result ).toEqual({
|
|
28
|
+
boolean: true,
|
|
29
|
+
number: 1,
|
|
30
|
+
array: [ 'one', 'two', 'three' ],
|
|
31
|
+
nested: {
|
|
32
|
+
nested2: {
|
|
33
|
+
string: 'string'
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
});
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { mergeDeepRight } from 'ramda';
|
|
2
|
+
import { ConfigurationAdapter } from '@bett3r-dev/pv3-types';
|
|
3
|
+
|
|
4
|
+
const deepFilterUndefined = ( obj: Record<string, any> ): Record<string, any> => {
|
|
5
|
+
const result: Record<string, any> = {};
|
|
6
|
+
Object.keys( obj ).forEach(( key ) => {
|
|
7
|
+
if ( typeof obj[key] === 'object' && !Array.isArray( obj[key])) {
|
|
8
|
+
const value = deepFilterUndefined( obj[key]);
|
|
9
|
+
if ( Object.keys( value ).length > 0 ) {
|
|
10
|
+
result[key] = value;
|
|
11
|
+
}
|
|
12
|
+
} else if ( typeof obj[key] !== 'undefined' ) {
|
|
13
|
+
result[key] = obj[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
return result;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export const DotEnv = ( envFilePath:string, configMap: ( env: Record<string, any>, previous: Record<string, any> ) => Record<string, any> ): ConfigurationAdapter => {
|
|
20
|
+
require( 'dotenv' ).config({ path: envFilePath });
|
|
21
|
+
const applyConfig = async <CONFIG extends object>( config: CONFIG ): Promise<CONFIG> => {
|
|
22
|
+
const envConfig = configMap( process.env, config );
|
|
23
|
+
return mergeDeepRight( config, deepFilterUndefined( envConfig )) as CONFIG;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
return {
|
|
27
|
+
_adapter: () => {},
|
|
28
|
+
start: async()=>{},
|
|
29
|
+
stop: async()=>{},
|
|
30
|
+
name: 'dotEnv',
|
|
31
|
+
applyConfig
|
|
32
|
+
};
|
|
33
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './dotEnv';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './memory';
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// import { Database } from '../../../../ports/database';
|
|
2
|
+
// import { DatabaseAdapterTest } from '@bett3r-dev/pv3-library-tests';
|
|
3
|
+
// import { MemoryDb } from '../index';
|
|
4
|
+
|
|
5
|
+
// describe( 'MemoryDb tests', () => {
|
|
6
|
+
// DatabaseAdapterTest( MemoryDb());
|
|
7
|
+
// });
|
|
8
|
+
|
|
9
|
+
// describe( 'Upsert', () => {
|
|
10
|
+
// it( 'when upserting a dot notation nested value then it stores it respecting the structure', async () => {
|
|
11
|
+
// const database = Database( MemoryDb());
|
|
12
|
+
// await database.getCollection( 'test' ).upsert( '1', { 'id': '1', 'string.nested.value': 4 });
|
|
13
|
+
// const result = await database.getCollection( 'test' ).readById( '1' );
|
|
14
|
+
// expect( result ).toEqual({ id: '1', string: { nested: { value: 4 }}}
|
|
15
|
+
// );
|
|
16
|
+
// });
|
|
17
|
+
// it( 'when upserting a dot notation nested value then it stores it respecting the structure', async () => {
|
|
18
|
+
// const database = Database( MemoryDb());
|
|
19
|
+
// await database.getCollection( 'test' ).upsert( 'processing', { events:
|
|
20
|
+
// { 2: 'Carts-CartsReadmodel-1',
|
|
21
|
+
// 3: null,
|
|
22
|
+
// 4: 'Carts-CartsReadmodel-3',
|
|
23
|
+
// 5: 'Carts-CartsReadmodel-0' },
|
|
24
|
+
// lastProcessed: 3 });
|
|
25
|
+
// const result = await database.getCollection( 'test' ).readById( 'processing' );
|
|
26
|
+
// expect( result ).toEqual({
|
|
27
|
+
// events: {
|
|
28
|
+
// 2: 'Carts-CartsReadmodel-1',
|
|
29
|
+
// 3: null,
|
|
30
|
+
// 4: 'Carts-CartsReadmodel-3',
|
|
31
|
+
// 5: 'Carts-CartsReadmodel-0'
|
|
32
|
+
// },
|
|
33
|
+
// id: 'processing',
|
|
34
|
+
// lastProcessed: 3
|
|
35
|
+
// });
|
|
36
|
+
// });
|
|
37
|
+
// });
|