@effect-app/infra 2.7.1 → 2.8.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/CHANGELOG.md +13 -0
- package/_cjs/{services/CUPS.cjs → CUPS.cjs} +1 -1
- package/_cjs/CUPS.cjs.map +1 -0
- package/_cjs/{services/Emailer → Emailer}/Sendgrid.cjs +1 -1
- package/_cjs/Emailer/Sendgrid.cjs.map +1 -0
- package/_cjs/{services/Emailer → Emailer}/fake.cjs +1 -1
- package/_cjs/Emailer/fake.cjs.map +1 -0
- package/_cjs/Emailer/service.cjs.map +1 -0
- package/_cjs/Emailer.cjs.map +1 -0
- package/_cjs/{services/MainFiberSet.cjs → MainFiberSet.cjs} +1 -1
- package/_cjs/MainFiberSet.cjs.map +1 -0
- package/_cjs/{services → Model}/Repository/ext.cjs +1 -1
- package/_cjs/Model/Repository/ext.cjs.map +1 -0
- package/_cjs/{services → Model}/Repository/legacy.cjs +2 -3
- package/_cjs/Model/Repository/legacy.cjs.map +1 -0
- package/_cjs/{services/RepositoryBase.cjs → Model/Repository/makeRepo.cjs} +10 -12
- package/_cjs/Model/Repository/makeRepo.cjs.map +1 -0
- package/_cjs/Model/Repository/service.cjs.map +1 -0
- package/_cjs/{services → Model}/Repository.cjs +12 -10
- package/_cjs/Model/Repository.cjs.map +1 -0
- package/_cjs/Model/dsl.cjs.map +1 -0
- package/_cjs/Model/filter/filterApi.cjs +6 -0
- package/_cjs/Model/filter/filterApi.cjs.map +1 -0
- package/_cjs/Model/filter/types/errors.cjs.map +1 -0
- package/_cjs/Model/filter/types/fields.cjs.map +1 -0
- package/_cjs/Model/filter/types/path/common.cjs.map +1 -0
- package/_cjs/Model/filter/types/path/eager.cjs.map +1 -0
- package/_cjs/Model/filter/types/path/index.cjs.map +1 -0
- package/_cjs/Model/filter/types/utils.cjs.map +1 -0
- package/_cjs/Model/filter/types/validator.cjs.map +1 -0
- package/_cjs/Model/filter/types.cjs.map +1 -0
- package/_cjs/Model/query/dsl.cjs.map +1 -0
- package/_cjs/Model/query/new-kid-interpreter.cjs.map +1 -0
- package/_cjs/Model/query.cjs.map +1 -0
- package/_cjs/Model.cjs +23 -2
- package/_cjs/Model.cjs.map +1 -1
- package/_cjs/{services/Operations.cjs → Operations.cjs} +3 -3
- package/_cjs/Operations.cjs.map +1 -0
- package/_cjs/{services/OperationsRepo.cjs → OperationsRepo.cjs} +2 -2
- package/_cjs/OperationsRepo.cjs.map +1 -0
- package/_cjs/{services/QueueMaker → QueueMaker}/SQLQueue.cjs +3 -3
- package/_cjs/QueueMaker/SQLQueue.cjs.map +1 -0
- package/_cjs/QueueMaker/errors.cjs.map +1 -0
- package/_cjs/{services/QueueMaker → QueueMaker}/memQueue.cjs +2 -2
- package/_cjs/QueueMaker/memQueue.cjs.map +1 -0
- package/_cjs/{services/QueueMaker → QueueMaker}/sbqueue.cjs +2 -2
- package/_cjs/QueueMaker/sbqueue.cjs.map +1 -0
- package/_cjs/{services/QueueMaker → QueueMaker}/service.cjs +1 -1
- package/_cjs/QueueMaker/service.cjs.map +1 -0
- package/_cjs/{services/RequestFiberSet.cjs → RequestFiberSet.cjs} +2 -2
- package/_cjs/RequestFiberSet.cjs.map +1 -0
- package/_cjs/Store/ContextMapContainer.cjs.map +1 -0
- package/_cjs/{services/Store → Store}/Cosmos/query.cjs +1 -1
- package/_cjs/Store/Cosmos/query.cjs.map +1 -0
- package/_cjs/{services/Store → Store}/Cosmos.cjs +2 -2
- package/_cjs/Store/Cosmos.cjs.map +1 -0
- package/_cjs/{services/Store → Store}/Disk.cjs +1 -1
- package/_cjs/Store/Disk.cjs.map +1 -0
- package/_cjs/{services/Store → Store}/Memory.cjs +1 -1
- package/_cjs/Store/Memory.cjs.map +1 -0
- package/_cjs/Store/codeFilter.cjs.map +1 -0
- package/_cjs/Store/index.cjs.map +1 -0
- package/_cjs/Store/service.cjs.map +1 -0
- package/_cjs/{services/Store → Store}/utils.cjs +1 -1
- package/_cjs/Store/utils.cjs.map +1 -0
- package/_cjs/Store.cjs.map +1 -0
- package/_cjs/adapters/SQL/Model.cjs.map +1 -0
- package/_cjs/adapters/SQL.cjs.map +1 -0
- package/_cjs/adapters/ServiceBus.cjs.map +1 -0
- package/_cjs/adapters/cosmos-client.cjs.map +1 -0
- package/_cjs/adapters/index.cjs.map +1 -0
- package/_cjs/adapters/logger.cjs.map +1 -0
- package/_cjs/adapters/memQueue.cjs.map +1 -0
- package/_cjs/adapters/mongo-client.cjs.map +1 -0
- package/_cjs/adapters/redis-client.cjs.map +1 -0
- package/_cjs/api/setupRequest.cjs +2 -2
- package/_cjs/arbs.cjs.map +1 -0
- package/_cjs/logger/shared.cjs +1 -1
- package/_cjs/logger/shared.cjs.map +1 -1
- package/_cjs/test.cjs +1 -1
- package/dist/CUPS.d.ts.map +1 -0
- package/dist/CUPS.js +116 -0
- package/dist/Emailer/Sendgrid.d.ts.map +1 -0
- package/dist/Emailer/Sendgrid.js +99 -0
- package/dist/Emailer/fake.d.ts.map +1 -0
- package/dist/Emailer/fake.js +18 -0
- package/dist/{services/Emailer → Emailer}/service.d.ts +1 -1
- package/dist/Emailer/service.d.ts.map +1 -0
- package/dist/{services/Emailer → Emailer}/service.js +1 -1
- package/dist/Emailer.d.ts.map +1 -0
- package/dist/{services/Emailer.js → Emailer.js} +1 -1
- package/dist/MainFiberSet.d.ts.map +1 -0
- package/dist/MainFiberSet.js +54 -0
- package/dist/{services → Model}/Repository/ext.d.ts +12 -12
- package/dist/Model/Repository/ext.d.ts.map +1 -0
- package/dist/Model/Repository/ext.js +61 -0
- package/dist/{services → Model}/Repository/legacy.d.ts +54 -54
- package/dist/Model/Repository/legacy.d.ts.map +1 -0
- package/dist/Model/Repository/legacy.js +123 -0
- package/dist/{services/RepositoryBase.d.ts → Model/Repository/makeRepo.d.ts} +22 -22
- package/dist/Model/Repository/makeRepo.d.ts.map +1 -0
- package/dist/Model/Repository/makeRepo.js +254 -0
- package/dist/{services → Model}/Repository/service.d.ts +8 -8
- package/dist/Model/Repository/service.d.ts.map +1 -0
- package/dist/{services → Model}/Repository/service.js +1 -1
- package/dist/{services → Model}/Repository.d.ts +1 -1
- package/dist/Model/Repository.d.ts.map +1 -0
- package/dist/Model/Repository.js +5 -0
- package/dist/Model/dsl.d.ts.map +1 -0
- package/dist/Model/dsl.js +46 -0
- package/dist/{services/Store/filterApi/query.d.ts → Model/filter/filterApi.d.ts} +1 -1
- package/dist/Model/filter/filterApi.d.ts.map +1 -0
- package/dist/Model/filter/filterApi.js +2 -0
- package/dist/Model/filter/types/errors.d.ts.map +1 -0
- package/dist/{filter → Model/filter}/types/errors.js +1 -1
- package/dist/Model/filter/types/fields.d.ts.map +1 -0
- package/dist/{filter → Model/filter}/types/fields.js +1 -1
- package/dist/Model/filter/types/path/common.d.ts.map +1 -0
- package/dist/{filter → Model/filter}/types/path/common.js +1 -1
- package/dist/Model/filter/types/path/eager.d.ts.map +1 -0
- package/dist/{filter → Model/filter}/types/path/eager.js +1 -1
- package/dist/Model/filter/types/path/index.d.ts.map +1 -0
- package/dist/{filter → Model/filter}/types/path/index.js +1 -1
- package/dist/Model/filter/types/utils.d.ts.map +1 -0
- package/dist/{filter → Model/filter}/types/utils.js +1 -1
- package/dist/Model/filter/types/validator.d.ts.map +1 -0
- package/dist/{filter → Model/filter}/types/validator.js +1 -1
- package/dist/Model/filter/types.d.ts.map +1 -0
- package/dist/{filter → Model/filter}/types.js +1 -1
- package/dist/{services → Model}/query/dsl.d.ts +6 -6
- package/dist/Model/query/dsl.d.ts.map +1 -0
- package/dist/Model/query/dsl.js +95 -0
- package/dist/{services → Model}/query/new-kid-interpreter.d.ts +4 -4
- package/dist/Model/query/new-kid-interpreter.d.ts.map +1 -0
- package/dist/Model/query/new-kid-interpreter.js +133 -0
- package/dist/Model/query.d.ts.map +1 -0
- package/dist/{services → Model}/query.js +1 -1
- package/dist/Model.d.ts +3 -1
- package/dist/Model.d.ts.map +1 -1
- package/dist/Model.js +4 -2
- package/dist/{services/Operations.d.ts → Operations.d.ts} +3 -3
- package/dist/Operations.d.ts.map +1 -0
- package/dist/Operations.js +102 -0
- package/dist/{services/OperationsRepo.d.ts → OperationsRepo.d.ts} +1 -1
- package/dist/OperationsRepo.d.ts.map +1 -0
- package/dist/OperationsRepo.js +14 -0
- package/dist/QueueMaker/SQLQueue.d.ts.map +1 -0
- package/dist/QueueMaker/SQLQueue.js +136 -0
- package/dist/QueueMaker/errors.d.ts.map +1 -0
- package/dist/QueueMaker/errors.js +20 -0
- package/dist/QueueMaker/memQueue.d.ts.map +1 -0
- package/dist/QueueMaker/memQueue.js +78 -0
- package/dist/QueueMaker/sbqueue.d.ts.map +1 -0
- package/dist/QueueMaker/sbqueue.js +102 -0
- package/dist/{services/QueueMaker → QueueMaker}/service.d.ts +1 -1
- package/dist/QueueMaker/service.d.ts.map +1 -0
- package/dist/QueueMaker/service.js +4 -0
- package/dist/RequestFiberSet.d.ts.map +1 -0
- package/dist/RequestFiberSet.js +79 -0
- package/dist/Store/ContextMapContainer.d.ts.map +1 -0
- package/dist/{services/Store → Store}/ContextMapContainer.js +1 -1
- package/dist/{services/Store → Store}/Cosmos/query.d.ts +1 -1
- package/dist/Store/Cosmos/query.d.ts.map +1 -0
- package/dist/Store/Cosmos/query.js +164 -0
- package/dist/Store/Cosmos.d.ts.map +1 -0
- package/dist/Store/Cosmos.js +258 -0
- package/dist/Store/Disk.d.ts.map +1 -0
- package/dist/Store/Disk.js +109 -0
- package/dist/Store/Memory.d.ts.map +1 -0
- package/dist/Store/Memory.js +170 -0
- package/dist/{services/Store → Store}/codeFilter.d.ts +1 -1
- package/dist/Store/codeFilter.d.ts.map +1 -0
- package/dist/Store/codeFilter.js +117 -0
- package/dist/Store/index.d.ts.map +1 -0
- package/dist/Store/index.js +28 -0
- package/dist/{services/Store → Store}/service.d.ts +5 -5
- package/dist/Store/service.d.ts.map +1 -0
- package/dist/{services/Store → Store}/service.js +1 -1
- package/dist/{services/Store → Store}/utils.d.ts +1 -1
- package/dist/Store/utils.d.ts.map +1 -0
- package/dist/Store/utils.js +44 -0
- package/dist/Store.d.ts.map +1 -0
- package/dist/{services/Store.js → Store.js} +1 -1
- package/dist/{services/adapters → adapters}/SQL/Model.d.ts +23 -23
- package/dist/adapters/SQL/Model.d.ts.map +1 -0
- package/dist/adapters/SQL/Model.js +508 -0
- package/dist/adapters/SQL.d.ts.map +1 -0
- package/dist/{services/adapters → adapters}/SQL.js +1 -1
- package/dist/adapters/ServiceBus.d.ts.map +1 -0
- package/dist/adapters/ServiceBus.js +73 -0
- package/dist/adapters/cosmos-client.d.ts.map +1 -0
- package/dist/adapters/cosmos-client.js +8 -0
- package/dist/{services/adapters → adapters}/index.d.ts.map +1 -1
- package/dist/{services/adapters → adapters}/index.js +1 -1
- package/dist/adapters/logger.d.ts.map +1 -0
- package/dist/{services/adapters → adapters}/logger.js +1 -1
- package/dist/adapters/memQueue.d.ts.map +1 -0
- package/dist/adapters/memQueue.js +24 -0
- package/dist/adapters/mongo-client.d.ts.map +1 -0
- package/dist/adapters/mongo-client.js +12 -0
- package/dist/adapters/redis-client.d.ts.map +1 -0
- package/dist/adapters/redis-client.js +93 -0
- package/dist/api/setupRequest.js +3 -3
- package/dist/arbs.d.ts.map +1 -0
- package/dist/arbs.js +21 -0
- package/dist/logger/shared.js +2 -2
- package/dist/test.d.ts +1 -1
- package/dist/test.d.ts.map +1 -1
- package/dist/test.js +3 -3
- package/examples/query.ts +3 -3
- package/package.json +352 -362
- package/src/{services/CUPS.ts → CUPS.ts} +1 -1
- package/src/{services/Emailer → Emailer}/Sendgrid.ts +1 -1
- package/src/{services/Emailer → Emailer}/fake.ts +1 -1
- package/src/{services/MainFiberSet.ts → MainFiberSet.ts} +1 -1
- package/src/{services → Model}/Repository/ext.ts +23 -11
- package/src/{services → Model}/Repository/legacy.ts +76 -49
- package/src/{services/RepositoryBase.ts → Model/Repository/makeRepo.ts} +40 -38
- package/src/{services → Model}/Repository/service.ts +9 -8
- package/src/{services → Model}/Repository.ts +1 -1
- package/src/{services → Model}/query/dsl.ts +24 -6
- package/src/{services → Model}/query/new-kid-interpreter.ts +3 -3
- package/src/Model.ts +3 -1
- package/src/{services/Operations.ts → Operations.ts} +3 -3
- package/src/{services/OperationsRepo.ts → OperationsRepo.ts} +1 -1
- package/src/{services/QueueMaker → QueueMaker}/SQLQueue.ts +4 -4
- package/src/{services/QueueMaker → QueueMaker}/memQueue.ts +2 -2
- package/src/{services/QueueMaker → QueueMaker}/sbqueue.ts +2 -2
- package/src/{services/QueueMaker → QueueMaker}/service.ts +1 -1
- package/src/{services/RequestFiberSet.ts → RequestFiberSet.ts} +2 -2
- package/src/{services/Store → Store}/Cosmos/query.ts +2 -2
- package/src/{services/Store → Store}/Cosmos.ts +2 -2
- package/src/{services/Store → Store}/Disk.ts +1 -1
- package/src/{services/Store → Store}/Memory.ts +1 -1
- package/src/{services/Store → Store}/codeFilter.ts +1 -1
- package/src/{services/Store → Store}/service.ts +4 -4
- package/src/{services/Store → Store}/utils.ts +1 -1
- package/src/api/setupRequest.ts +2 -2
- package/src/logger/shared.ts +1 -1
- package/src/test.ts +2 -2
- package/test/dist/query.test.d.ts.map +1 -1
- package/test/query.test.ts +32 -5
- package/_cjs/_ext/Array.cjs +0 -22
- package/_cjs/_ext/Array.cjs.map +0 -1
- package/_cjs/filter/types/errors.cjs.map +0 -1
- package/_cjs/filter/types/fields.cjs.map +0 -1
- package/_cjs/filter/types/path/common.cjs.map +0 -1
- package/_cjs/filter/types/path/eager.cjs.map +0 -1
- package/_cjs/filter/types/path/index.cjs.map +0 -1
- package/_cjs/filter/types/utils.cjs.map +0 -1
- package/_cjs/filter/types/validator.cjs.map +0 -1
- package/_cjs/filter/types.cjs.map +0 -1
- package/_cjs/services/CUPS.cjs.map +0 -1
- package/_cjs/services/Emailer/Sendgrid.cjs.map +0 -1
- package/_cjs/services/Emailer/fake.cjs.map +0 -1
- package/_cjs/services/Emailer/service.cjs.map +0 -1
- package/_cjs/services/Emailer.cjs.map +0 -1
- package/_cjs/services/MainFiberSet.cjs.map +0 -1
- package/_cjs/services/Operations.cjs.map +0 -1
- package/_cjs/services/OperationsRepo.cjs.map +0 -1
- package/_cjs/services/QueueMaker/SQLQueue.cjs.map +0 -1
- package/_cjs/services/QueueMaker/errors.cjs.map +0 -1
- package/_cjs/services/QueueMaker/memQueue.cjs.map +0 -1
- package/_cjs/services/QueueMaker/sbqueue.cjs.map +0 -1
- package/_cjs/services/QueueMaker/service.cjs.map +0 -1
- package/_cjs/services/Repository/dsl.cjs.map +0 -1
- package/_cjs/services/Repository/ext.cjs.map +0 -1
- package/_cjs/services/Repository/legacy.cjs.map +0 -1
- package/_cjs/services/Repository/service.cjs.map +0 -1
- package/_cjs/services/Repository.cjs.map +0 -1
- package/_cjs/services/RepositoryBase.cjs.map +0 -1
- package/_cjs/services/RequestFiberSet.cjs.map +0 -1
- package/_cjs/services/Store/ContextMapContainer.cjs.map +0 -1
- package/_cjs/services/Store/Cosmos/query.cjs.map +0 -1
- package/_cjs/services/Store/Cosmos.cjs.map +0 -1
- package/_cjs/services/Store/Disk.cjs.map +0 -1
- package/_cjs/services/Store/Memory.cjs.map +0 -1
- package/_cjs/services/Store/codeFilter.cjs.map +0 -1
- package/_cjs/services/Store/filterApi/query.cjs +0 -6
- package/_cjs/services/Store/filterApi/query.cjs.map +0 -1
- package/_cjs/services/Store/index.cjs.map +0 -1
- package/_cjs/services/Store/service.cjs.map +0 -1
- package/_cjs/services/Store/utils.cjs.map +0 -1
- package/_cjs/services/Store.cjs.map +0 -1
- package/_cjs/services/adapters/SQL/Model.cjs.map +0 -1
- package/_cjs/services/adapters/SQL.cjs.map +0 -1
- package/_cjs/services/adapters/ServiceBus.cjs.map +0 -1
- package/_cjs/services/adapters/cosmos-client.cjs.map +0 -1
- package/_cjs/services/adapters/index.cjs.map +0 -1
- package/_cjs/services/adapters/logger.cjs.map +0 -1
- package/_cjs/services/adapters/memQueue.cjs.map +0 -1
- package/_cjs/services/adapters/mongo-client.cjs.map +0 -1
- package/_cjs/services/adapters/redis-client.cjs.map +0 -1
- package/_cjs/services/query/dsl.cjs.map +0 -1
- package/_cjs/services/query/new-kid-interpreter.cjs.map +0 -1
- package/_cjs/services/query.cjs.map +0 -1
- package/_cjs/test/arbs.cjs.map +0 -1
- package/dist/_ext/Array.d.ts +0 -13
- package/dist/_ext/Array.d.ts.map +0 -1
- package/dist/_ext/Array.js +0 -15
- package/dist/filter/types/errors.d.ts.map +0 -1
- package/dist/filter/types/fields.d.ts.map +0 -1
- package/dist/filter/types/path/common.d.ts.map +0 -1
- package/dist/filter/types/path/eager.d.ts.map +0 -1
- package/dist/filter/types/path/index.d.ts.map +0 -1
- package/dist/filter/types/utils.d.ts.map +0 -1
- package/dist/filter/types/validator.d.ts.map +0 -1
- package/dist/filter/types.d.ts.map +0 -1
- package/dist/services/CUPS.d.ts.map +0 -1
- package/dist/services/CUPS.js +0 -116
- package/dist/services/Emailer/Sendgrid.d.ts.map +0 -1
- package/dist/services/Emailer/Sendgrid.js +0 -99
- package/dist/services/Emailer/fake.d.ts.map +0 -1
- package/dist/services/Emailer/fake.js +0 -18
- package/dist/services/Emailer/service.d.ts.map +0 -1
- package/dist/services/Emailer.d.ts.map +0 -1
- package/dist/services/MainFiberSet.d.ts.map +0 -1
- package/dist/services/MainFiberSet.js +0 -54
- package/dist/services/Operations.d.ts.map +0 -1
- package/dist/services/Operations.js +0 -102
- package/dist/services/OperationsRepo.d.ts.map +0 -1
- package/dist/services/OperationsRepo.js +0 -14
- package/dist/services/QueueMaker/SQLQueue.d.ts.map +0 -1
- package/dist/services/QueueMaker/SQLQueue.js +0 -136
- package/dist/services/QueueMaker/errors.d.ts.map +0 -1
- package/dist/services/QueueMaker/errors.js +0 -20
- package/dist/services/QueueMaker/memQueue.d.ts.map +0 -1
- package/dist/services/QueueMaker/memQueue.js +0 -78
- package/dist/services/QueueMaker/sbqueue.d.ts.map +0 -1
- package/dist/services/QueueMaker/sbqueue.js +0 -102
- package/dist/services/QueueMaker/service.d.ts.map +0 -1
- package/dist/services/QueueMaker/service.js +0 -4
- package/dist/services/Repository/dsl.d.ts.map +0 -1
- package/dist/services/Repository/dsl.js +0 -46
- package/dist/services/Repository/ext.d.ts.map +0 -1
- package/dist/services/Repository/ext.js +0 -61
- package/dist/services/Repository/legacy.d.ts.map +0 -1
- package/dist/services/Repository/legacy.js +0 -124
- package/dist/services/Repository/service.d.ts.map +0 -1
- package/dist/services/Repository.d.ts.map +0 -1
- package/dist/services/Repository.js +0 -5
- package/dist/services/RepositoryBase.d.ts.map +0 -1
- package/dist/services/RepositoryBase.js +0 -256
- package/dist/services/RequestFiberSet.d.ts.map +0 -1
- package/dist/services/RequestFiberSet.js +0 -79
- package/dist/services/Store/ContextMapContainer.d.ts.map +0 -1
- package/dist/services/Store/Cosmos/query.d.ts.map +0 -1
- package/dist/services/Store/Cosmos/query.js +0 -164
- package/dist/services/Store/Cosmos.d.ts.map +0 -1
- package/dist/services/Store/Cosmos.js +0 -258
- package/dist/services/Store/Disk.d.ts.map +0 -1
- package/dist/services/Store/Disk.js +0 -109
- package/dist/services/Store/Memory.d.ts.map +0 -1
- package/dist/services/Store/Memory.js +0 -170
- package/dist/services/Store/codeFilter.d.ts.map +0 -1
- package/dist/services/Store/codeFilter.js +0 -117
- package/dist/services/Store/filterApi/query.d.ts.map +0 -1
- package/dist/services/Store/filterApi/query.js +0 -2
- package/dist/services/Store/index.d.ts.map +0 -1
- package/dist/services/Store/index.js +0 -28
- package/dist/services/Store/service.d.ts.map +0 -1
- package/dist/services/Store/utils.d.ts.map +0 -1
- package/dist/services/Store/utils.js +0 -44
- package/dist/services/Store.d.ts.map +0 -1
- package/dist/services/adapters/SQL/Model.d.ts.map +0 -1
- package/dist/services/adapters/SQL/Model.js +0 -508
- package/dist/services/adapters/SQL.d.ts.map +0 -1
- package/dist/services/adapters/ServiceBus.d.ts.map +0 -1
- package/dist/services/adapters/ServiceBus.js +0 -73
- package/dist/services/adapters/cosmos-client.d.ts.map +0 -1
- package/dist/services/adapters/cosmos-client.js +0 -8
- package/dist/services/adapters/logger.d.ts.map +0 -1
- package/dist/services/adapters/memQueue.d.ts.map +0 -1
- package/dist/services/adapters/memQueue.js +0 -24
- package/dist/services/adapters/mongo-client.d.ts.map +0 -1
- package/dist/services/adapters/mongo-client.js +0 -12
- package/dist/services/adapters/redis-client.d.ts.map +0 -1
- package/dist/services/adapters/redis-client.js +0 -93
- package/dist/services/query/dsl.d.ts.map +0 -1
- package/dist/services/query/dsl.js +0 -95
- package/dist/services/query/new-kid-interpreter.d.ts.map +0 -1
- package/dist/services/query/new-kid-interpreter.js +0 -133
- package/dist/services/query.d.ts.map +0 -1
- package/dist/test/arbs.d.ts.map +0 -1
- package/dist/test/arbs.js +0 -21
- package/src/_ext/Array.ts +0 -22
- /package/_cjs/{services/Emailer → Emailer}/service.cjs +0 -0
- /package/_cjs/{services/Emailer.cjs → Emailer.cjs} +0 -0
- /package/_cjs/{services → Model}/Repository/service.cjs +0 -0
- /package/_cjs/{services/Repository → Model}/dsl.cjs +0 -0
- /package/_cjs/{filter → Model/filter}/types/errors.cjs +0 -0
- /package/_cjs/{filter → Model/filter}/types/fields.cjs +0 -0
- /package/_cjs/{filter → Model/filter}/types/path/common.cjs +0 -0
- /package/_cjs/{filter → Model/filter}/types/path/eager.cjs +0 -0
- /package/_cjs/{filter → Model/filter}/types/path/index.cjs +0 -0
- /package/_cjs/{filter → Model/filter}/types/utils.cjs +0 -0
- /package/_cjs/{filter → Model/filter}/types/validator.cjs +0 -0
- /package/_cjs/{filter → Model/filter}/types.cjs +0 -0
- /package/_cjs/{services → Model}/query/dsl.cjs +0 -0
- /package/_cjs/{services → Model}/query/new-kid-interpreter.cjs +0 -0
- /package/_cjs/{services → Model}/query.cjs +0 -0
- /package/_cjs/{services/QueueMaker → QueueMaker}/errors.cjs +0 -0
- /package/_cjs/{services/Store → Store}/ContextMapContainer.cjs +0 -0
- /package/_cjs/{services/Store → Store}/codeFilter.cjs +0 -0
- /package/_cjs/{services/Store → Store}/index.cjs +0 -0
- /package/_cjs/{services/Store → Store}/service.cjs +0 -0
- /package/_cjs/{services/Store.cjs → Store.cjs} +0 -0
- /package/_cjs/{services/adapters → adapters}/SQL/Model.cjs +0 -0
- /package/_cjs/{services/adapters → adapters}/SQL.cjs +0 -0
- /package/_cjs/{services/adapters → adapters}/ServiceBus.cjs +0 -0
- /package/_cjs/{services/adapters → adapters}/cosmos-client.cjs +0 -0
- /package/_cjs/{services/adapters → adapters}/index.cjs +0 -0
- /package/_cjs/{services/adapters → adapters}/logger.cjs +0 -0
- /package/_cjs/{services/adapters → adapters}/memQueue.cjs +0 -0
- /package/_cjs/{services/adapters → adapters}/mongo-client.cjs +0 -0
- /package/_cjs/{services/adapters → adapters}/redis-client.cjs +0 -0
- /package/_cjs/{test/arbs.cjs → arbs.cjs} +0 -0
- /package/dist/{services/CUPS.d.ts → CUPS.d.ts} +0 -0
- /package/dist/{services/Emailer → Emailer}/Sendgrid.d.ts +0 -0
- /package/dist/{services/Emailer → Emailer}/fake.d.ts +0 -0
- /package/dist/{services/Emailer.d.ts → Emailer.d.ts} +0 -0
- /package/dist/{services/MainFiberSet.d.ts → MainFiberSet.d.ts} +0 -0
- /package/dist/{services/Repository → Model}/dsl.d.ts +0 -0
- /package/dist/{filter → Model/filter}/types/errors.d.ts +0 -0
- /package/dist/{filter → Model/filter}/types/fields.d.ts +0 -0
- /package/dist/{filter → Model/filter}/types/path/common.d.ts +0 -0
- /package/dist/{filter → Model/filter}/types/path/eager.d.ts +0 -0
- /package/dist/{filter → Model/filter}/types/path/index.d.ts +0 -0
- /package/dist/{filter → Model/filter}/types/utils.d.ts +0 -0
- /package/dist/{filter → Model/filter}/types/validator.d.ts +0 -0
- /package/dist/{filter → Model/filter}/types.d.ts +0 -0
- /package/dist/{services → Model}/query.d.ts +0 -0
- /package/dist/{services/QueueMaker → QueueMaker}/SQLQueue.d.ts +0 -0
- /package/dist/{services/QueueMaker → QueueMaker}/errors.d.ts +0 -0
- /package/dist/{services/QueueMaker → QueueMaker}/memQueue.d.ts +0 -0
- /package/dist/{services/QueueMaker → QueueMaker}/sbqueue.d.ts +0 -0
- /package/dist/{services/RequestFiberSet.d.ts → RequestFiberSet.d.ts} +0 -0
- /package/dist/{services/Store → Store}/ContextMapContainer.d.ts +0 -0
- /package/dist/{services/Store → Store}/Cosmos.d.ts +0 -0
- /package/dist/{services/Store → Store}/Disk.d.ts +0 -0
- /package/dist/{services/Store → Store}/Memory.d.ts +0 -0
- /package/dist/{services/Store → Store}/index.d.ts +0 -0
- /package/dist/{services/Store.d.ts → Store.d.ts} +0 -0
- /package/dist/{services/adapters → adapters}/SQL.d.ts +0 -0
- /package/dist/{services/adapters → adapters}/ServiceBus.d.ts +0 -0
- /package/dist/{services/adapters → adapters}/cosmos-client.d.ts +0 -0
- /package/dist/{services/adapters → adapters}/index.d.ts +0 -0
- /package/dist/{services/adapters → adapters}/logger.d.ts +0 -0
- /package/dist/{services/adapters → adapters}/memQueue.d.ts +0 -0
- /package/dist/{services/adapters → adapters}/mongo-client.d.ts +0 -0
- /package/dist/{services/adapters → adapters}/redis-client.d.ts +0 -0
- /package/dist/{test/arbs.d.ts → arbs.d.ts} +0 -0
- /package/src/{services/Emailer → Emailer}/service.ts +0 -0
- /package/src/{services/Emailer.ts → Emailer.ts} +0 -0
- /package/src/{services/Repository → Model}/dsl.ts +0 -0
- /package/src/{services/Store/filterApi/query.ts → Model/filter/filterApi.ts} +0 -0
- /package/src/{filter → Model/filter}/types/errors.ts +0 -0
- /package/src/{filter → Model/filter}/types/fields.ts +0 -0
- /package/src/{filter → Model/filter}/types/path/common.ts +0 -0
- /package/src/{filter → Model/filter}/types/path/eager.ts +0 -0
- /package/src/{filter → Model/filter}/types/path/index.ts +0 -0
- /package/src/{filter → Model/filter}/types/utils.ts +0 -0
- /package/src/{filter → Model/filter}/types/validator.ts +0 -0
- /package/src/{filter → Model/filter}/types.ts +0 -0
- /package/src/{services → Model}/query.ts +0 -0
- /package/src/{services/QueueMaker → QueueMaker}/errors.ts +0 -0
- /package/src/{services/Store → Store}/ContextMapContainer.ts +0 -0
- /package/src/{services/Store → Store}/index.test.ts.bak +0 -0
- /package/src/{services/Store → Store}/index.ts +0 -0
- /package/src/{services/Store.ts → Store.ts} +0 -0
- /package/src/{services/adapters → adapters}/SQL/Model.ts +0 -0
- /package/src/{services/adapters → adapters}/SQL.ts +0 -0
- /package/src/{services/adapters → adapters}/ServiceBus.ts +0 -0
- /package/src/{services/adapters → adapters}/cosmos-client.ts +0 -0
- /package/src/{services/adapters → adapters}/index.ts +0 -0
- /package/src/{services/adapters → adapters}/logger.ts +0 -0
- /package/src/{services/adapters → adapters}/memQueue.ts +0 -0
- /package/src/{services/adapters → adapters}/mongo-client.ts +0 -0
- /package/src/{services/adapters → adapters}/redis-client.ts +0 -0
- /package/src/{test/arbs.ts → arbs.ts} +0 -0
|
@@ -3,52 +3,52 @@ import { Context, Effect, Layer } from "effect-app";
|
|
|
3
3
|
import type { InvalidStateError, NotFoundError, OptimisticConcurrencyException } from "effect-app/client";
|
|
4
4
|
import type { FixEnv, PureEnv } from "effect-app/Pure";
|
|
5
5
|
import type { NonNegativeInt } from "effect-app/Schema";
|
|
6
|
-
import type {
|
|
6
|
+
import type { StoreConfig, StoreMaker } from "../../Store.js";
|
|
7
|
+
import type { FieldValues } from "../filter/types.js";
|
|
7
8
|
import * as Q from "../query.js";
|
|
8
|
-
import type {
|
|
9
|
-
import type {
|
|
10
|
-
import { type ExtendedRepository } from "./ext.js";
|
|
9
|
+
import type { ExtendedRepository } from "./ext.js";
|
|
10
|
+
import type { Repos } from "./makeRepo.js";
|
|
11
11
|
import type { RefineTHelper, Repository } from "./service.js";
|
|
12
12
|
/**
|
|
13
13
|
* @deprecated
|
|
14
14
|
*/
|
|
15
15
|
export interface RepoFunctions<T, Encoded extends {
|
|
16
16
|
id: string;
|
|
17
|
-
}, Evt, ItemType, IdKey extends keyof T, Service> {
|
|
17
|
+
}, Evt, ItemType, IdKey extends keyof T, RSchema, RPublish, Service> {
|
|
18
18
|
itemType: ItemType;
|
|
19
19
|
T: T;
|
|
20
|
-
all: Effect<readonly T[], never, Service>;
|
|
21
|
-
find: (id: T[IdKey]) => Effect<Option<T>, never, Service>;
|
|
22
|
-
removeById: (id: T[IdKey]) => Effect<void, NotFoundError<ItemType>, Service>;
|
|
23
|
-
saveAndPublish: (items: Iterable<T>, events?: Iterable<Evt>) => Effect<void, InvalidStateError | OptimisticConcurrencyException, Service>;
|
|
24
|
-
removeAndPublish: (items: Iterable<T>, events?: Iterable<Evt>) => Effect<void, never, Service>;
|
|
25
|
-
save: (...items: T[]) => Effect<void, InvalidStateError | OptimisticConcurrencyException, Service>;
|
|
26
|
-
get: (id: T[IdKey]) => Effect<T, NotFoundError<ItemType>, Service>;
|
|
20
|
+
all: Effect<readonly T[], never, RSchema | Service>;
|
|
21
|
+
find: (id: T[IdKey]) => Effect<Option<T>, never, RSchema | Service>;
|
|
22
|
+
removeById: (id: T[IdKey]) => Effect<void, NotFoundError<ItemType>, RSchema | Service>;
|
|
23
|
+
saveAndPublish: (items: Iterable<T>, events?: Iterable<Evt>) => Effect<void, InvalidStateError | OptimisticConcurrencyException, RSchema | RPublish | Service>;
|
|
24
|
+
removeAndPublish: (items: Iterable<T>, events?: Iterable<Evt>) => Effect<void, never, RSchema | Service>;
|
|
25
|
+
save: (...items: T[]) => Effect<void, InvalidStateError | OptimisticConcurrencyException, RSchema | Service>;
|
|
26
|
+
get: (id: T[IdKey]) => Effect<T, NotFoundError<ItemType>, RSchema | RPublish | Service>;
|
|
27
27
|
queryAndSavePure: {
|
|
28
|
-
<A, E2, R2, T2 extends T>(q: (q: Q.Query<Encoded>) => Q.QueryEnd<Encoded, "one">, pure: Effect<A, E2, FixEnv<R2, Evt, T, T2>>): Effect.Effect<A, InvalidStateError | OptimisticConcurrencyException | NotFoundError<ItemType> | E2, Service | Exclude<R2, {
|
|
28
|
+
<A, E2, R2, T2 extends T>(q: (q: Q.Query<Encoded>) => Q.QueryEnd<Encoded, "one">, pure: Effect<A, E2, FixEnv<R2, Evt, T, T2>>): Effect.Effect<A, InvalidStateError | OptimisticConcurrencyException | NotFoundError<ItemType> | E2, RSchema | RPublish | Service | Exclude<R2, {
|
|
29
29
|
env: PureEnv<Evt, T, T2>;
|
|
30
30
|
}>>;
|
|
31
|
-
<A, E2, R2, T2 extends T>(q: (q: Q.Query<Encoded>) => Q.Query<Encoded> | Q.QueryWhere<Encoded> | Q.QueryEnd<Encoded, "many">, pure: Effect<A, E2, FixEnv<R2, Evt, readonly T[], readonly T2[]>>): Effect.Effect<A, InvalidStateError | OptimisticConcurrencyException | E2, Service | Exclude<R2, {
|
|
31
|
+
<A, E2, R2, T2 extends T>(q: (q: Q.Query<Encoded>) => Q.Query<Encoded> | Q.QueryWhere<Encoded> | Q.QueryEnd<Encoded, "many">, pure: Effect<A, E2, FixEnv<R2, Evt, readonly T[], readonly T2[]>>): Effect.Effect<A, InvalidStateError | OptimisticConcurrencyException | E2, RSchema | RPublish | Service | Exclude<R2, {
|
|
32
32
|
env: PureEnv<Evt, readonly T[], readonly T2[]>;
|
|
33
33
|
}>>;
|
|
34
|
-
<A, E2, R2, T2 extends T>(q: (q: Q.Query<Encoded>) => Q.Query<Encoded> | Q.QueryWhere<Encoded> | Q.QueryEnd<Encoded, "many">, pure: Effect<A, E2, FixEnv<R2, Evt, readonly T[], readonly T2[]>>, batch: "batched" | number): Effect.Effect<A[], InvalidStateError | OptimisticConcurrencyException | E2, Service | Exclude<R2, {
|
|
34
|
+
<A, E2, R2, T2 extends T>(q: (q: Q.Query<Encoded>) => Q.Query<Encoded> | Q.QueryWhere<Encoded> | Q.QueryEnd<Encoded, "many">, pure: Effect<A, E2, FixEnv<R2, Evt, readonly T[], readonly T2[]>>, batch: "batched" | number): Effect.Effect<A[], InvalidStateError | OptimisticConcurrencyException | E2, RSchema | RPublish | Service | Exclude<R2, {
|
|
35
35
|
env: PureEnv<Evt, readonly T[], readonly T2[]>;
|
|
36
36
|
}>>;
|
|
37
37
|
};
|
|
38
38
|
readonly query: {
|
|
39
|
-
<A, R, From extends FieldValues, TType extends "one" | "many" | "count" = "many">(q: (initial: Q.Query<Encoded>) => Q.QueryProjection<Encoded extends From ? From : never, A, R, TType>): Effect.Effect<TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A, (TType extends "many" ? never : NotFoundError<ItemType>) | (TType extends "count" ? never : S.ParseResult.ParseError), R | Service>;
|
|
40
|
-
<R = never, TType extends "one" | "many" = "many", EncodedRefined extends Encoded = Encoded>(q: (initial: Q.Query<Encoded>) => Q.QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType>): Effect.Effect<TType extends "many" ? readonly RefineTHelper<T, EncodedRefined>[] : RefineTHelper<T, EncodedRefined>, TType extends "many" ? never : NotFoundError<ItemType>, R | Service>;
|
|
39
|
+
<A, R, From extends FieldValues, TType extends "one" | "many" | "count" = "many">(q: (initial: Q.Query<Encoded>) => Q.QueryProjection<Encoded extends From ? From : never, A, R, TType>): Effect.Effect<TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A, (TType extends "many" ? never : NotFoundError<ItemType>) | (TType extends "count" ? never : S.ParseResult.ParseError), R | RSchema | Service>;
|
|
40
|
+
<R = never, TType extends "one" | "many" = "many", EncodedRefined extends Encoded = Encoded>(q: (initial: Q.Query<Encoded>) => Q.QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType>): Effect.Effect<TType extends "many" ? readonly RefineTHelper<T, EncodedRefined>[] : RefineTHelper<T, EncodedRefined>, TType extends "many" ? never : NotFoundError<ItemType>, R | RSchema | Service>;
|
|
41
41
|
};
|
|
42
42
|
byIdAndSaveWithPure: {
|
|
43
|
-
<R, A, E, S2 extends T>(id: T[IdKey], pure: Effect<A, E, FixEnv<R, Evt, T, S2>>): Effect<A, InvalidStateError | OptimisticConcurrencyException | E | NotFoundError<ItemType>, Service | Exclude<R, {
|
|
43
|
+
<R, A, E, S2 extends T>(id: T[IdKey], pure: Effect<A, E, FixEnv<R, Evt, T, S2>>): Effect<A, InvalidStateError | OptimisticConcurrencyException | E | NotFoundError<ItemType>, RSchema | RPublish | Service | Exclude<R, {
|
|
44
44
|
env: PureEnv<Evt, T, S2>;
|
|
45
45
|
}>>;
|
|
46
46
|
};
|
|
47
47
|
saveManyWithPure: {
|
|
48
|
-
<R, A, E, S1 extends T, S2 extends T>(items: Iterable<S1>, pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>): Effect.Effect<A, InvalidStateError | OptimisticConcurrencyException | E, Exclude<R, {
|
|
48
|
+
<R, A, E, S1 extends T, S2 extends T>(items: Iterable<S1>, pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>): Effect.Effect<A, InvalidStateError | OptimisticConcurrencyException | E, RSchema | RPublish | Service | Exclude<R, {
|
|
49
49
|
env: PureEnv<Evt, readonly S1[], readonly S2[]>;
|
|
50
50
|
}>>;
|
|
51
|
-
<R, A, E, S1 extends T, S2 extends T>(items: Iterable<S1>, pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>, batch: "batched" | number): Effect.Effect<A[], InvalidStateError | OptimisticConcurrencyException | E, Exclude<R, {
|
|
51
|
+
<R, A, E, S1 extends T, S2 extends T>(items: Iterable<S1>, pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>, batch: "batched" | number): Effect.Effect<A[], InvalidStateError | OptimisticConcurrencyException | E, RSchema | RPublish | Service | Exclude<R, {
|
|
52
52
|
env: PureEnv<Evt, readonly S1[], readonly S2[]>;
|
|
53
53
|
}>>;
|
|
54
54
|
};
|
|
@@ -59,57 +59,57 @@ export interface RepoFunctions<T, Encoded extends {
|
|
|
59
59
|
/** @deprecated use makeRepo/extendRepo */
|
|
60
60
|
export declare class RepositoryBase<T, Encoded extends {
|
|
61
61
|
id: string;
|
|
62
|
-
}, Evt, ItemType extends string, Ext, IdKey extends keyof T,
|
|
63
|
-
protected readonly impl: ExtendedRepository<T, Encoded, Evt, ItemType, IdKey,
|
|
64
|
-
constructor(impl: ExtendedRepository<T, Encoded, Evt, ItemType, IdKey,
|
|
65
|
-
get: (id: T[IdKey]) => Effect<T, NotFoundError<ItemType>,
|
|
62
|
+
}, Evt, ItemType extends string, Ext, IdKey extends keyof T, RSchema, RPublish> implements ExtendedRepository<T, Encoded, Evt, ItemType, IdKey, RSchema, RPublish> {
|
|
63
|
+
protected readonly impl: ExtendedRepository<T, Encoded, Evt, ItemType, IdKey, RSchema, RPublish> & Ext;
|
|
64
|
+
constructor(impl: ExtendedRepository<T, Encoded, Evt, ItemType, IdKey, RSchema, RPublish> & Ext);
|
|
65
|
+
get: (id: T[IdKey]) => Effect<T, NotFoundError<ItemType>, RSchema>;
|
|
66
66
|
idKey: IdKey;
|
|
67
67
|
request: (id: T[IdKey]) => Effect.Effect<T, NotFoundError<ItemType>, never>;
|
|
68
68
|
itemType: ItemType;
|
|
69
|
-
saveAndPublish: (items: Iterable<T>, events?: Iterable<Evt> | undefined) => Effect<void,
|
|
70
|
-
removeAndPublish: (items: Iterable<T>, events?: Iterable<Evt> | undefined) => Effect<void, never,
|
|
71
|
-
find: (id: T[IdKey]) => Effect<Option<T>, never,
|
|
72
|
-
all: Effect<T[], never,
|
|
69
|
+
saveAndPublish: (items: Iterable<T>, events?: Iterable<Evt> | undefined) => Effect<void, OptimisticConcurrencyException | InvalidStateError, RSchema | RPublish>;
|
|
70
|
+
removeAndPublish: (items: Iterable<T>, events?: Iterable<Evt> | undefined) => Effect<void, never, RSchema | RPublish>;
|
|
71
|
+
find: (id: T[IdKey]) => Effect<Option<T>, never, RSchema>;
|
|
72
|
+
all: Effect<T[], never, RSchema>;
|
|
73
73
|
changeFeed: import("effect/PubSub").PubSub<[T[], "save" | "remove"]>;
|
|
74
74
|
mapped: Mapped<Encoded>;
|
|
75
75
|
query: {
|
|
76
|
-
<A,
|
|
77
|
-
<
|
|
76
|
+
<A, R, From extends FieldValues, TType extends "one" | "many" | "count" = "many">(q: (initial: Q.Query<Encoded>) => Q.QueryProjection<Encoded extends From ? From : never, A, R, TType>): Effect.Effect<TType extends "many" ? readonly A[] : TType extends "count" ? S.NonNegativeInt : A, (TType extends "many" ? never : NotFoundError<ItemType>) | (TType extends "count" ? never : ParseResult.ParseError), RSchema | R>;
|
|
77
|
+
<R = never, TType extends "one" | "many" = "many", EncodedRefined extends Encoded = Encoded>(q: (initial: Q.Query<Encoded>) => Q.QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType>): Effect.Effect<TType extends "many" ? readonly RefineTHelper<T, EncodedRefined>[] : RefineTHelper<T, EncodedRefined>, TType extends "many" ? never : NotFoundError<ItemType>, RSchema | R>;
|
|
78
78
|
};
|
|
79
79
|
log: (evt: Evt) => import("effect-app/Pure").PureLogT<any>;
|
|
80
|
-
removeById: (id: T[IdKey]) => Effect.Effect<void, NotFoundError<ItemType>,
|
|
81
|
-
save: (items_0: T, ...items: T[]) => Effect<void,
|
|
82
|
-
saveWithEvents: (events: Iterable<Evt>) => (items_0: T, ...items: T[]) => Effect<void,
|
|
80
|
+
removeById: (id: T[IdKey]) => Effect.Effect<void, NotFoundError<ItemType>, RSchema | RPublish>;
|
|
81
|
+
save: (items_0: T, ...items: T[]) => Effect<void, OptimisticConcurrencyException | InvalidStateError, RSchema | RPublish>;
|
|
82
|
+
saveWithEvents: (events: Iterable<Evt>) => (items_0: T, ...items: T[]) => Effect<void, OptimisticConcurrencyException | InvalidStateError, RSchema | RPublish>;
|
|
83
83
|
queryAndSavePure: {
|
|
84
|
-
<A, E2, R2, T2 extends T>(q: (q: Q.Query<Encoded>) => Q.QueryEnd<Encoded, "one">, pure: Effect<A, E2, FixEnv<R2, Evt, T, T2>>): Effect.Effect<A,
|
|
84
|
+
<A, E2, R2, T2 extends T>(q: (q: Q.Query<Encoded>) => Q.QueryEnd<Encoded, "one">, pure: Effect<A, E2, FixEnv<R2, Evt, T, T2>>): Effect.Effect<A, OptimisticConcurrencyException | InvalidStateError | NotFoundError<ItemType> | E2, Exclude<R2, {
|
|
85
85
|
env: PureEnv<Evt, T, T2>;
|
|
86
86
|
}>>;
|
|
87
|
-
<A, E2, R2, T2 extends T>(q: (q: Q.Query<Encoded>) => Q.Query<Encoded> | Q.QueryWhere<Encoded> | Q.QueryEnd<Encoded, "many">, pure: Effect<A, E2, FixEnv<R2, Evt, readonly T[], readonly T2[]>>): Effect.Effect<A,
|
|
87
|
+
<A, E2, R2, T2 extends T>(q: (q: Q.Query<Encoded>) => Q.Query<Encoded> | Q.QueryWhere<Encoded> | Q.QueryEnd<Encoded, "many">, pure: Effect<A, E2, FixEnv<R2, Evt, readonly T[], readonly T2[]>>): Effect.Effect<A, OptimisticConcurrencyException | InvalidStateError | E2, RSchema | RPublish | Exclude<R2, {
|
|
88
88
|
env: PureEnv<Evt, readonly T[], readonly T2[]>;
|
|
89
89
|
}>>;
|
|
90
|
-
<A, E2, R2, T2 extends T>(q: (q: Q.Query<Encoded>) => Q.Query<Encoded> | Q.QueryWhere<Encoded> | Q.QueryEnd<Encoded, "many">, pure: Effect<A, E2, FixEnv<R2, Evt, readonly T[], readonly T2[]>>, batch: "batched" | number): Effect.Effect<A[],
|
|
90
|
+
<A, E2, R2, T2 extends T>(q: (q: Q.Query<Encoded>) => Q.Query<Encoded> | Q.QueryWhere<Encoded> | Q.QueryEnd<Encoded, "many">, pure: Effect<A, E2, FixEnv<R2, Evt, readonly T[], readonly T2[]>>, batch: "batched" | number): Effect.Effect<A[], OptimisticConcurrencyException | InvalidStateError | E2, RSchema | RPublish | Exclude<R2, {
|
|
91
91
|
env: PureEnv<Evt, readonly T[], readonly T2[]>;
|
|
92
92
|
}>>;
|
|
93
93
|
};
|
|
94
94
|
saveManyWithPure: {
|
|
95
|
-
<
|
|
95
|
+
<R, A, E, S1 extends T, S2 extends T>(items: Iterable<S1>, pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>): Effect.Effect<A, OptimisticConcurrencyException | InvalidStateError | E, RSchema | RPublish | Exclude<R, {
|
|
96
96
|
env: PureEnv<Evt, readonly S1[], readonly S2[]>;
|
|
97
97
|
}>>;
|
|
98
|
-
<
|
|
98
|
+
<R, A, E, S1 extends T, S2 extends T>(items: Iterable<S1>, pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>, batch: "batched" | number): Effect.Effect<A[], OptimisticConcurrencyException | InvalidStateError | E, RSchema | RPublish | Exclude<R, {
|
|
99
99
|
env: PureEnv<Evt, readonly S1[], readonly S2[]>;
|
|
100
100
|
}>>;
|
|
101
101
|
};
|
|
102
|
-
byIdAndSaveWithPure: <
|
|
102
|
+
byIdAndSaveWithPure: <R, A, E, S2 extends T>(id: T[IdKey], pure: Effect<A, E, FixEnv<R, Evt, T, S2>>) => Effect<A, OptimisticConcurrencyException | InvalidStateError | NotFoundError<ItemType> | E, RSchema | RPublish | Exclude<R, {
|
|
103
103
|
env: PureEnv<Evt, T, S2>;
|
|
104
104
|
}>>;
|
|
105
|
-
saveWithPure: <
|
|
105
|
+
saveWithPure: <R, A, E, S1 extends T, S2 extends T>(item: S1, pure: Effect<A, E, FixEnv<R, Evt, S1, S2>>) => Effect.Effect<A, OptimisticConcurrencyException | InvalidStateError | E, RSchema | RPublish | Exclude<R, {
|
|
106
106
|
env: PureEnv<Evt, S1, S2>;
|
|
107
107
|
}>>;
|
|
108
108
|
}
|
|
109
109
|
export declare const RepositoryDefaultImpl2: <Service, Evt = never>() => {
|
|
110
|
-
<ItemType extends string,
|
|
110
|
+
<ItemType extends string, RSchema, Encoded extends {
|
|
111
111
|
id: string;
|
|
112
|
-
}, T, IdKey extends keyof T, E = never, RInitial = never,
|
|
112
|
+
}, T, IdKey extends keyof T, E = never, RInitial = never, RPublish = never, Layers extends [Layer.Layer.Any, ...Layer.Layer.Any[]] = [Layer.Layer<never, never, never>], E1 = never, R1 = never, Ext = {}>(itemType: ItemType, schema: S.Schema<T, Encoded, RSchema>, options: [Evt] extends [never] ? {
|
|
113
113
|
dependencies?: Layers;
|
|
114
114
|
idKey: IdKey;
|
|
115
115
|
config?: Omit<StoreConfig<Encoded>, "partitionValue"> & {
|
|
@@ -128,19 +128,19 @@ export declare const RepositoryDefaultImpl2: <Service, Evt = never>() => {
|
|
|
128
128
|
partitionValue?: (a: Encoded) => string;
|
|
129
129
|
};
|
|
130
130
|
options?: Effect<{
|
|
131
|
-
publishEvents: (evt: NonEmptyReadonlyArray<Evt>) => Effect<void, never,
|
|
131
|
+
publishEvents: (evt: NonEmptyReadonlyArray<Evt>) => Effect<void, never, RPublish>;
|
|
132
132
|
makeInitial?: Effect<readonly T[], E, RInitial>;
|
|
133
133
|
ext?: Ext;
|
|
134
134
|
}, E1, R1>;
|
|
135
|
-
}): (abstract new (impl: Repository<T, Encoded, Evt, ItemType, IdKey,
|
|
136
|
-
Default: Layer.Layer<Service, E | E1 | Layer.Layer.Error<Layers[number]>, Exclude<R1 |
|
|
137
|
-
DefaultWithoutDependencies: Layer.Layer<Service, E1, R1 |
|
|
138
|
-
} & Repos<T, Encoded,
|
|
139
|
-
<ItemType extends string,
|
|
135
|
+
}): (abstract new (impl: Repository<T, Encoded, Evt, ItemType, IdKey, RSchema, RPublish> & Ext) => RepositoryBase<T, Encoded, Evt, ItemType, Ext, IdKey, RSchema, RPublish>) & Context.Tag<Service, Service> & RepoFunctions<T, Encoded, Evt, ItemType, IdKey, RSchema, RPublish, Service> & {
|
|
136
|
+
Default: Layer.Layer<Service, E | E1 | Layer.Layer.Error<Layers[number]>, Exclude<R1 | StoreMaker, { [k in keyof Layers]: Layer.Layer.Success<Layers[k]>; }[number]>>;
|
|
137
|
+
DefaultWithoutDependencies: Layer.Layer<Service, E1, R1 | StoreMaker>;
|
|
138
|
+
} & Repos<T, Encoded, RSchema, Evt, ItemType, IdKey, RPublish>;
|
|
139
|
+
<ItemType extends string, RSchema_1, Encoded_1 extends {
|
|
140
140
|
id: string;
|
|
141
141
|
}, T_1 extends {
|
|
142
142
|
id: unknown;
|
|
143
|
-
}, E_1 = never, RInitial_1 = never,
|
|
143
|
+
}, E_1 = never, RInitial_1 = never, RPublish_1 = never, Layers_1 extends [Layer.Layer.Any, ...Layer.Layer.Any[]] = [Layer.Layer<never, never, never>], E1_1 = never, R1_1 = never, Ext_1 = {}>(itemType: ItemType, schema: S.Schema<T_1, Encoded_1, RSchema_1>, options: [Evt] extends [never] ? {
|
|
144
144
|
dependencies?: Layers_1;
|
|
145
145
|
config?: Omit<StoreConfig<Encoded_1>, "partitionValue"> & {
|
|
146
146
|
partitionValue?: (a: Encoded_1) => string;
|
|
@@ -157,14 +157,14 @@ export declare const RepositoryDefaultImpl2: <Service, Evt = never>() => {
|
|
|
157
157
|
partitionValue?: (a: Encoded_1) => string;
|
|
158
158
|
};
|
|
159
159
|
options?: Effect<{
|
|
160
|
-
publishEvents: (evt: NonEmptyReadonlyArray<Evt>) => Effect<void, never,
|
|
160
|
+
publishEvents: (evt: NonEmptyReadonlyArray<Evt>) => Effect<void, never, RPublish_1>;
|
|
161
161
|
makeInitial?: Effect<readonly T_1[], E_1, RInitial_1>;
|
|
162
162
|
ext?: Ext_1;
|
|
163
163
|
}, E1_1, R1_1>;
|
|
164
|
-
}): (abstract new (impl: Repository<T_1, Encoded_1, Evt, ItemType, "id",
|
|
165
|
-
Default: Layer.Layer<Service, E_1 | E1_1 | Layer.Layer.Error<Layers_1[number]>, Exclude<R1_1 |
|
|
166
|
-
DefaultWithoutDependencies: Layer.Layer<Service, E1_1, R1_1 |
|
|
167
|
-
} & Repos<T_1, Encoded_1,
|
|
164
|
+
}): (abstract new (impl: Repository<T_1, Encoded_1, Evt, ItemType, "id", RSchema_1, RPublish_1> & Ext_1) => RepositoryBase<T_1, Encoded_1, Evt, ItemType, Ext_1, "id", RSchema_1, RPublish_1>) & Context.Tag<Service, Service> & RepoFunctions<T_1, Encoded_1, Evt, ItemType, "id", RSchema_1, RPublish_1, Service> & {
|
|
165
|
+
Default: Layer.Layer<Service, E_1 | E1_1 | Layer.Layer.Error<Layers_1[number]>, Exclude<R1_1 | StoreMaker, { [k in keyof Layers_1]: Layer.Layer.Success<Layers_1[k]>; }[number]>>;
|
|
166
|
+
DefaultWithoutDependencies: Layer.Layer<Service, E1_1, R1_1 | StoreMaker>;
|
|
167
|
+
} & Repos<T_1, Encoded_1, RSchema_1, Evt, ItemType, "id", RPublish_1>;
|
|
168
168
|
};
|
|
169
169
|
export interface Mapped1<A, IdKey extends keyof A, R> {
|
|
170
170
|
all: Effect<A[], ParseResult.ParseError, R>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legacy.d.ts","sourceRoot":"","sources":["../../../src/Model/Repository/legacy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { Context, Effect, Layer } from "effect-app";
|
|
2
|
+
import * as Q from "../query.js";
|
|
3
|
+
import { extendRepo } from "./ext.js";
|
|
4
|
+
import { makeRepoInternal } from "./makeRepo.js";
|
|
5
|
+
const names = new Map();
|
|
6
|
+
const registerName = (name) => {
|
|
7
|
+
const existing = names.get(name);
|
|
8
|
+
if (existing === undefined) {
|
|
9
|
+
names.set(name, 1);
|
|
10
|
+
return name;
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
const n = existing + 1;
|
|
14
|
+
names.set(name, n);
|
|
15
|
+
return name + "-" + existing;
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* @deprecated
|
|
20
|
+
*/
|
|
21
|
+
const makeRepoFunctions = (tag, itemType) => {
|
|
22
|
+
const { all } = Effect.serviceConstants(tag);
|
|
23
|
+
const { byIdAndSaveWithPure, find, get, query, queryAndSavePure, removeAndPublish, removeById, save, saveAndPublish, saveManyWithPure } = Effect.serviceFunctions(tag);
|
|
24
|
+
const mapped = (s) => Effect.map(tag, (_) => _.mapped(s));
|
|
25
|
+
return {
|
|
26
|
+
itemType,
|
|
27
|
+
all,
|
|
28
|
+
byIdAndSaveWithPure,
|
|
29
|
+
find,
|
|
30
|
+
removeById,
|
|
31
|
+
saveAndPublish,
|
|
32
|
+
removeAndPublish,
|
|
33
|
+
save,
|
|
34
|
+
get,
|
|
35
|
+
query,
|
|
36
|
+
mapped,
|
|
37
|
+
queryAndSavePure,
|
|
38
|
+
saveManyWithPure,
|
|
39
|
+
use: (body) => Effect.andThen(tag, body)
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
/** @deprecated use makeRepo/extendRepo */
|
|
43
|
+
export class RepositoryBase {
|
|
44
|
+
impl;
|
|
45
|
+
constructor(impl) {
|
|
46
|
+
this.impl = impl;
|
|
47
|
+
this.saveAndPublish = this.impl.saveAndPublish;
|
|
48
|
+
this.removeAndPublish = this.impl.removeAndPublish;
|
|
49
|
+
this.find = this.impl.find;
|
|
50
|
+
this.all = this.impl.all;
|
|
51
|
+
this.changeFeed = this.impl.changeFeed;
|
|
52
|
+
this.mapped = this.impl.mapped;
|
|
53
|
+
this.query = this.impl.query;
|
|
54
|
+
this.get = this.impl.get;
|
|
55
|
+
this.itemType = this.impl.itemType;
|
|
56
|
+
this.idKey = this.impl.idKey;
|
|
57
|
+
this.log = this.impl.log;
|
|
58
|
+
this.removeById = this.impl.removeById;
|
|
59
|
+
this.save = this.impl.save;
|
|
60
|
+
this.saveWithEvents = this.impl.saveWithEvents;
|
|
61
|
+
this.queryAndSavePure = this.impl.queryAndSavePure;
|
|
62
|
+
this.saveManyWithPure = this.impl.saveManyWithPure;
|
|
63
|
+
this.byIdAndSaveWithPure = this.impl.byIdAndSaveWithPure;
|
|
64
|
+
this.saveWithPure = this.impl.saveWithPure;
|
|
65
|
+
this.request = this.impl.request;
|
|
66
|
+
}
|
|
67
|
+
get;
|
|
68
|
+
idKey;
|
|
69
|
+
request;
|
|
70
|
+
itemType;
|
|
71
|
+
saveAndPublish;
|
|
72
|
+
removeAndPublish;
|
|
73
|
+
find;
|
|
74
|
+
all;
|
|
75
|
+
changeFeed;
|
|
76
|
+
mapped;
|
|
77
|
+
query;
|
|
78
|
+
log;
|
|
79
|
+
removeById;
|
|
80
|
+
save;
|
|
81
|
+
saveWithEvents;
|
|
82
|
+
queryAndSavePure;
|
|
83
|
+
saveManyWithPure;
|
|
84
|
+
byIdAndSaveWithPure;
|
|
85
|
+
saveWithPure;
|
|
86
|
+
}
|
|
87
|
+
export const RepositoryDefaultImpl2 = () => {
|
|
88
|
+
const f = (itemType, schema, options) => {
|
|
89
|
+
let layerCache = undefined;
|
|
90
|
+
let layerCache2 = undefined;
|
|
91
|
+
class Cls extends RepositoryBase {
|
|
92
|
+
static Q = Q.make();
|
|
93
|
+
static get DefaultWithoutDependencies() {
|
|
94
|
+
const self = this;
|
|
95
|
+
return layerCache ??= Effect
|
|
96
|
+
.gen(function* () {
|
|
97
|
+
const opts = yield* options.options ?? Effect.succeed({});
|
|
98
|
+
const mkRepo = makeRepoInternal()(itemType, schema, options?.jitM ? (pm) => options.jitM(pm) : (pm) => pm, (e, _etag) => ({ ...e, _etag }), options.idKey ?? "id");
|
|
99
|
+
const r = yield* mkRepo.make({ ...options, ...opts });
|
|
100
|
+
const repo = new self(Object.assign(extendRepo(r), "ext" in opts ? opts.ext : {}));
|
|
101
|
+
return Layer.succeed(self, repo);
|
|
102
|
+
})
|
|
103
|
+
.pipe(Layer.unwrapEffect);
|
|
104
|
+
}
|
|
105
|
+
static get Default() {
|
|
106
|
+
const self = this;
|
|
107
|
+
return layerCache2 ??= options.dependencies
|
|
108
|
+
? self
|
|
109
|
+
.DefaultWithoutDependencies
|
|
110
|
+
.pipe(Layer.provide(options.dependencies))
|
|
111
|
+
: self.DefaultWithoutDependencies;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
const limit = Error.stackTraceLimit;
|
|
115
|
+
Error.stackTraceLimit = 2;
|
|
116
|
+
const creationError = new Error();
|
|
117
|
+
Error.stackTraceLimit = limit;
|
|
118
|
+
// TODO: actual class name or expect a string identifier - careful with overlapping between modules
|
|
119
|
+
return Context.assignTag(registerName(itemType + "Repo"), creationError)(Object.assign(Cls, makeRepoFunctions(Cls, itemType))); // impl is missing, but its marked protected
|
|
120
|
+
};
|
|
121
|
+
return f;
|
|
122
|
+
};
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnYWN5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL01vZGVsL1JlcG9zaXRvcnkvbGVnYWN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQTtBQU1uRCxPQUFPLEtBQUssQ0FBQyxNQUFNLGFBQWEsQ0FBQTtBQUVoQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBRXJDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUdoRCxNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQTtBQUN2QyxNQUFNLFlBQVksR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFO0lBQ3BDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDaEMsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDM0IsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDbEIsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO1NBQU0sQ0FBQztRQUNOLE1BQU0sQ0FBQyxHQUFHLFFBQVEsR0FBRyxDQUFDLENBQUE7UUFDdEIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDbEIsT0FBTyxJQUFJLEdBQUcsR0FBRyxHQUFHLFFBQVEsQ0FBQTtJQUM5QixDQUFDO0FBQ0gsQ0FBQyxDQUFBO0FBZ0tEOztHQUVHO0FBQ0gsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEdBQVEsRUFBRSxRQUFhLEVBQUUsRUFBRTtJQUNwRCxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBUSxDQUFBO0lBQ25ELE1BQU0sRUFDSixtQkFBbUIsRUFDbkIsSUFBSSxFQUNK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
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { type Repository } from "./Repository.js";
|
|
2
|
-
import { StoreMaker } from "./Store.js";
|
|
3
|
-
import type { PersistenceModelType, StoreConfig } from "./Store.js";
|
|
4
1
|
import type { NonEmptyReadonlyArray } from "effect-app";
|
|
5
2
|
import { Context, Effect, S } from "effect-app";
|
|
6
|
-
import
|
|
7
|
-
import
|
|
3
|
+
import type { PersistenceModelType, StoreConfig } from "../../Store.js";
|
|
4
|
+
import { StoreMaker } from "../../Store.js";
|
|
5
|
+
import * as Q from "../query.js";
|
|
6
|
+
import type { ExtendedRepository } from "./ext.js";
|
|
7
|
+
import type { Repository } from "./service.js";
|
|
8
8
|
/**
|
|
9
9
|
* A base implementation to create a repository.
|
|
10
10
|
*/
|
|
11
11
|
export declare function makeRepoInternal<Evt = never>(): <ItemType extends string, R, Encoded extends {
|
|
12
12
|
id: string;
|
|
13
13
|
}, T, IdKey extends keyof T>(name: ItemType, schema: S.Schema<T, Encoded, R>, mapFrom: (pm: Encoded) => Encoded, mapTo: (e: Encoded, etag: string | undefined) => PersistenceModelType<Encoded>, idKey: IdKey) => {
|
|
14
|
-
make: <RInitial = never, E = never,
|
|
14
|
+
make: <RInitial = never, E = never, RPublish = never, RCtx = never>(args: [Evt] extends [never] ? {
|
|
15
15
|
schemaContext?: Context.Context<RCtx>;
|
|
16
16
|
makeInitial?: Effect<readonly T[], E, RInitial>;
|
|
17
17
|
config?: Omit<StoreConfig<Encoded>, "partitionValue"> & {
|
|
@@ -19,12 +19,12 @@ export declare function makeRepoInternal<Evt = never>(): <ItemType extends strin
|
|
|
19
19
|
};
|
|
20
20
|
} : {
|
|
21
21
|
schemaContext?: Context.Context<RCtx>;
|
|
22
|
-
publishEvents: (evt: NonEmptyReadonlyArray<Evt>) => Effect<void, never,
|
|
22
|
+
publishEvents: (evt: NonEmptyReadonlyArray<Evt>) => Effect<void, never, RPublish>;
|
|
23
23
|
makeInitial?: Effect<readonly T[], E, RInitial>;
|
|
24
24
|
config?: Omit<StoreConfig<Encoded>, "partitionValue"> & {
|
|
25
25
|
partitionValue?: (a: Encoded) => string;
|
|
26
26
|
};
|
|
27
|
-
}) => Effect.Effect<Repository<T, Encoded, Evt, ItemType, IdKey, Exclude<R, RCtx
|
|
27
|
+
}) => Effect.Effect<Repository<T, Encoded, Evt, ItemType, IdKey, Exclude<R, RCtx>, RPublish>, E, StoreMaker | R | RInitial>;
|
|
28
28
|
Q: Q.Query<Encoded>;
|
|
29
29
|
};
|
|
30
30
|
export declare function makeStore<Encoded extends {
|
|
@@ -33,10 +33,10 @@ export declare function makeStore<Encoded extends {
|
|
|
33
33
|
id: string;
|
|
34
34
|
}, T>(name: ItemType, schema: S.Schema<T, E, R>, mapTo: (e: E, etag: string | undefined) => Encoded) => <RInitial = never, EInitial = never>(makeInitial?: Effect<readonly T[], EInitial, RInitial>, config?: Omit<StoreConfig<Encoded>, "partitionValue"> & {
|
|
35
35
|
partitionValue?: (a: Encoded) => string;
|
|
36
|
-
}) => Effect.Effect<import("
|
|
36
|
+
}) => Effect.Effect<import("../../Store.js").Store<Encoded, string, PersistenceModelType<Encoded>>, EInitial, StoreMaker | R | RInitial>;
|
|
37
37
|
export interface Repos<T, Encoded extends {
|
|
38
38
|
id: string;
|
|
39
|
-
},
|
|
39
|
+
}, RSchema, Evt, ItemType extends string, IdKey extends keyof T, RPublish> {
|
|
40
40
|
make<RInitial = never, E = never, R2 = never>(args: [Evt] extends [never] ? {
|
|
41
41
|
makeInitial?: Effect<readonly T[], E, RInitial>;
|
|
42
42
|
config?: Omit<StoreConfig<Encoded>, "partitionValue"> & {
|
|
@@ -48,7 +48,7 @@ export interface Repos<T, Encoded extends {
|
|
|
48
48
|
config?: Omit<StoreConfig<Encoded>, "partitionValue"> & {
|
|
49
49
|
partitionValue?: (a: Encoded) => string;
|
|
50
50
|
};
|
|
51
|
-
}): Effect<Repository<T, Encoded, Evt, ItemType, IdKey,
|
|
51
|
+
}): Effect<Repository<T, Encoded, Evt, ItemType, IdKey, RSchema, RPublish>, E, StoreMaker | RInitial | R2>;
|
|
52
52
|
makeWith<Out, RInitial = never, E = never, R2 = never>(args: [Evt] extends [never] ? {
|
|
53
53
|
makeInitial?: Effect<readonly T[], E, RInitial>;
|
|
54
54
|
config?: Omit<StoreConfig<Encoded>, "partitionValue"> & {
|
|
@@ -60,38 +60,38 @@ export interface Repos<T, Encoded extends {
|
|
|
60
60
|
config?: Omit<StoreConfig<Encoded>, "partitionValue"> & {
|
|
61
61
|
partitionValue?: (a: Encoded) => string;
|
|
62
62
|
};
|
|
63
|
-
}, f: (r: Repository<T, Encoded, Evt, ItemType, IdKey,
|
|
63
|
+
}, f: (r: Repository<T, Encoded, Evt, ItemType, IdKey, RSchema, RPublish>) => Out): Effect<Out, E, StoreMaker | RInitial | R2>;
|
|
64
64
|
readonly Q: ReturnType<typeof Q.make<Encoded>>;
|
|
65
|
-
readonly type: Repository<T, Encoded, Evt, ItemType, IdKey,
|
|
65
|
+
readonly type: Repository<T, Encoded, Evt, ItemType, IdKey, RSchema, RPublish>;
|
|
66
66
|
}
|
|
67
67
|
export type GetRepoType<T> = T extends {
|
|
68
68
|
type: infer R;
|
|
69
69
|
} ? R : never;
|
|
70
70
|
export declare const makeRepo: {
|
|
71
|
-
<ItemType extends string,
|
|
71
|
+
<ItemType extends string, RSchema, Encoded extends {
|
|
72
72
|
id: string;
|
|
73
|
-
}, T, IdKey extends keyof T, E = never,
|
|
73
|
+
}, T, IdKey extends keyof T, E = never, Evt = never, RInitial = never, RPublish = never, RCtx = never>(itemType: ItemType, schema: S.Schema<T, Encoded, RSchema>, options: {
|
|
74
74
|
idKey: IdKey;
|
|
75
75
|
jitM?: (pm: Encoded) => Encoded;
|
|
76
76
|
config?: Omit<StoreConfig<Encoded>, "partitionValue"> & {
|
|
77
77
|
partitionValue?: (a: Encoded) => string;
|
|
78
78
|
};
|
|
79
|
-
publishEvents?: (evt: NonEmptyReadonlyArray<Evt>) => Effect<void, never,
|
|
79
|
+
publishEvents?: (evt: NonEmptyReadonlyArray<Evt>) => Effect<void, never, RPublish>;
|
|
80
80
|
makeInitial?: Effect<readonly T[], E, RInitial>;
|
|
81
81
|
schemaContext?: Context.Context<RCtx>;
|
|
82
|
-
}): Effect.Effect<ExtendedRepository<T, Encoded, Evt, ItemType, IdKey, Exclude<
|
|
83
|
-
<ItemType extends string,
|
|
82
|
+
}): Effect.Effect<ExtendedRepository<T, Encoded, Evt, ItemType, IdKey, Exclude<RSchema, RCtx>, RPublish>, E, RInitial | StoreMaker>;
|
|
83
|
+
<ItemType extends string, RSchema, Encoded extends {
|
|
84
84
|
id: string;
|
|
85
85
|
}, T extends {
|
|
86
86
|
id: unknown;
|
|
87
|
-
}, E = never,
|
|
87
|
+
}, E = never, Evt = never, RInitial = never, RPublish = never, RCtx = never>(itemType: ItemType, schema: S.Schema<T, Encoded, RSchema>, options: {
|
|
88
88
|
jitM?: (pm: Encoded) => Encoded;
|
|
89
89
|
config?: Omit<StoreConfig<Encoded>, "partitionValue"> & {
|
|
90
90
|
partitionValue?: (a: Encoded) => string;
|
|
91
91
|
};
|
|
92
|
-
publishEvents?: (evt: NonEmptyReadonlyArray<Evt>) => Effect<void, never,
|
|
92
|
+
publishEvents?: (evt: NonEmptyReadonlyArray<Evt>) => Effect<void, never, RPublish>;
|
|
93
93
|
makeInitial?: Effect<readonly T[], E, RInitial>;
|
|
94
94
|
schemaContext?: Context.Context<RCtx>;
|
|
95
|
-
}): Effect.Effect<ExtendedRepository<T, Encoded, Evt, ItemType, "id", Exclude<
|
|
95
|
+
}): Effect.Effect<ExtendedRepository<T, Encoded, Evt, ItemType, "id", Exclude<RSchema, RCtx>, RPublish>, E, RInitial | StoreMaker>;
|
|
96
96
|
};
|
|
97
|
-
//# sourceMappingURL=
|
|
97
|
+
//# sourceMappingURL=makeRepo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"makeRepo.d.ts","sourceRoot":"","sources":["../../../src/Model/Repository/makeRepo.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AACvD,OAAO,EAAgB,OAAO,EAAE,MAAM,EAA2C,CAAC,EAAS,MAAM,YAAY,CAAA;AAO7G,OAAO,KAAK,EAAc,oBAAoB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAG3C,OAAO,KAAK,CAAC,MAAM,aAAa,CAAA;AAChC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAElD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAI9C;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,GAAG,KAAK,MAGT,QAAQ,SAAS,MAAM,EACvB,CAAC,EACD,OAAO,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAC9B,CAAC,EACD,KAAK,SAAS,MAAM,CAAC,QAEf,QAAQ,UACN,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,WACtB,CAAC,EAAE,EAAE,OAAO,KAAK,OAAO,SAC1B,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,KAAK,oBAAoB,CAAC,OAAO,CAAC,SACvE,KAAK;WAoBE,QAAQ,UAAU,CAAC,UAAU,QAAQ,UAAU,IAAI,gBACzD,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG;QAC1B,aAAa,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACrC,WAAW,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAA;QAC/C,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,GAAG;YACtD,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,MAAM,CAAA;SACxC,CAAA;KACF,GACC;QACA,aAAa,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACrC,aAAa,EAAE,CAAC,GAAG,EAAE,qBAAqB,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;QACjF,WAAW,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAA;QAC/C,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,GAAG;YACtD,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,MAAM,CAAA;SACxC,CAAA;KACF;;EAiSR;AASD,wBAAgB,SAAS,CACvB,OAAO,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,MAG5B,QAAQ,SAAS,MAAM,EACvB,CAAC,EACD,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EACxB,CAAC,QAEK,QAAQ,UACN,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,SAClB,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,MAkB/B,QAAQ,UAAU,QAAQ,wBAC7B,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,WAC7C,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,GAAG;IACtD,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,MAAM,CAAA;CACxC,wIA6BN;AAED,MAAM,WAAW,KAAK,CACpB,CAAC,EACD,OAAO,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAC9B,OAAO,EACP,GAAG,EACH,QAAQ,SAAS,MAAM,EACvB,KAAK,SAAS,MAAM,CAAC,EACrB,QAAQ;IAER,IAAI,CAAC,QAAQ,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,GAAG,KAAK,EAC1C,IAAI,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAA;QAC/C,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,GAAG;YACtD,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,MAAM,CAAA;SACxC,CAAA;KACF,GACC;QACA,aAAa,EAAE,CAAC,GAAG,EAAE,qBAAqB,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;QAC3E,WAAW,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAA;QAC/C,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,GAAG;YACtD,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,MAAM,CAAA;SACxC,CAAA;KACF,GACF,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,EAAE,CAAC,CAAA;IACzG,QAAQ,CAAC,GAAG,EAAE,QAAQ,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,GAAG,KAAK,EACnD,IAAI,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAA;QAC/C,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,GAAG;YACtD,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,MAAM,CAAA;SACxC,CAAA;KACF,GACC;QACA,aAAa,EAAE,CAAC,GAAG,EAAE,qBAAqB,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;QAC3E,WAAW,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAA;QAC/C,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,GAAG;YACtD,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,MAAM,CAAA;SACxC,CAAA;KACF,EACH,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,GAAG,GAC7E,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,EAAE,CAAC,CAAA;IAC7C,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;IAC9C,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;CAC/E;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GAAG,KAAK,CAAA;AAEpE,eAAO,MAAM,QAAQ,EAAE;IACrB,CACE,QAAQ,SAAS,MAAM,EACvB,OAAO,EACP,OAAO,SAAS;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAC9B,CAAC,EACD,KAAK,SAAS,MAAM,CAAC,EACrB,CAAC,GAAG,KAAK,EACT,GAAG,GAAG,KAAK,EACX,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,KAAK,EAChB,IAAI,GAAG,KAAK,EAEZ,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EACrC,OAAO,EAAE;QACP,KAAK,EAAE,KAAK,CAAA;QACZ,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,OAAO,CAAA;QAC/B,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,GAAG;YACtD,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,MAAM,CAAA;SACxC,CAAA;QACD,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,qBAAqB,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;QAClF,WAAW,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAA;QAC/C,aAAa,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;KACtC,GACA,MAAM,CAAC,MAAM,CACd,kBAAkB,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,EACtF,CAAC,EACD,QAAQ,GAAG,UAAU,CACtB,CAAA;IACD,CACE,QAAQ,SAAS,MAAM,EACvB,OAAO,EACP,OAAO,SAAS;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAC9B,CAAC,SAAS;QAAE,EAAE,EAAE,OAAO,CAAA;KAAE,EACzB,CAAC,GAAG,KAAK,EACT,GAAG,GAAG,KAAK,EACX,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,KAAK,EAChB,IAAI,GAAG,KAAK,EAEZ,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EACrC,OAAO,EAAE;QACP,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,OAAO,CAAA;QAC/B,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,GAAG;YACtD,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,MAAM,CAAA;SACxC,CAAA;QACD,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,qBAAqB,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;QAClF,WAAW,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAA;QAC/C,aAAa,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;KACtC,GACA,MAAM,CAAC,MAAM,CACd,kBAAkB,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,EACrF,CAAC,EACD,QAAQ,GAAG,UAAU,CACtB,CAAA;CAqCC,CAAA"}
|