@effect-app/infra 0.198.2 → 0.199.2
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 +32 -0
- package/_cjs/RequestContext.cjs +14 -9
- package/_cjs/RequestContext.cjs.map +1 -1
- package/_cjs/_ext/Array.cjs +3 -7
- package/_cjs/_ext/Array.cjs.map +1 -1
- package/_cjs/api/reportError.cjs +3 -6
- package/_cjs/api/reportError.cjs.map +1 -1
- package/_cjs/api/routing/base.cjs +27 -61
- package/_cjs/api/routing/base.cjs.map +1 -1
- package/_cjs/api/routing/defaultErrorHandler.cjs +14 -21
- package/_cjs/api/routing/defaultErrorHandler.cjs.map +1 -1
- package/_cjs/api/routing/makeRequestHandler.cjs +44 -51
- package/_cjs/api/routing/makeRequestHandler.cjs.map +1 -1
- package/_cjs/api/routing/match.cjs +6 -13
- package/_cjs/api/routing/match.cjs.map +1 -1
- package/_cjs/api/{express → routing}/schema/jwt.cjs +3 -4
- package/_cjs/api/routing/schema/jwt.cjs.map +1 -0
- package/_cjs/api/routing/schema/routing.cjs +136 -0
- package/_cjs/api/routing/schema/routing.cjs.map +1 -0
- package/_cjs/api/setupRequest.cjs +16 -22
- package/_cjs/api/setupRequest.cjs.map +1 -1
- package/_cjs/errorReporter.cjs +16 -17
- package/_cjs/errorReporter.cjs.map +1 -1
- package/_cjs/errors.cjs +2 -4
- package/_cjs/errors.cjs.map +1 -1
- package/_cjs/filter/types/path/index.cjs +0 -2
- package/_cjs/filter/types/path/index.cjs.map +1 -1
- package/_cjs/filter.cjs +35 -0
- package/_cjs/filter.cjs.map +1 -1
- package/_cjs/logger/jsonLogger.cjs +9 -15
- package/_cjs/logger/jsonLogger.cjs.map +1 -1
- package/_cjs/logger/logFmtLogger.cjs +7 -11
- package/_cjs/logger/logFmtLogger.cjs.map +1 -1
- package/_cjs/logger/shared.cjs +6 -8
- package/_cjs/logger/shared.cjs.map +1 -1
- package/_cjs/rateLimit.cjs +9 -12
- package/_cjs/rateLimit.cjs.map +1 -1
- package/_cjs/services/Emailer/Sendgrid.cjs +9 -16
- package/_cjs/services/Emailer/Sendgrid.cjs.map +1 -1
- package/_cjs/services/Emailer/fake.cjs +5 -8
- package/_cjs/services/Emailer/fake.cjs.map +1 -1
- package/_cjs/services/Emailer/service.cjs +2 -4
- package/_cjs/services/Emailer/service.cjs.map +1 -1
- package/_cjs/services/Operations/live.cjs +29 -42
- package/_cjs/services/Operations/live.cjs.map +1 -1
- package/_cjs/services/Operations/service.cjs +15 -15
- package/_cjs/services/Operations/service.cjs.map +1 -1
- package/_cjs/services/QueueMaker/errors.cjs +8 -12
- package/_cjs/services/QueueMaker/errors.cjs.map +1 -1
- package/_cjs/services/QueueMaker/memQueue.cjs +27 -33
- package/_cjs/services/QueueMaker/memQueue.cjs.map +1 -1
- package/_cjs/services/QueueMaker/sbqueue.cjs +31 -40
- package/_cjs/services/QueueMaker/sbqueue.cjs.map +1 -1
- package/_cjs/services/QueueMaker/service.cjs +7 -9
- package/_cjs/services/QueueMaker/service.cjs.map +1 -1
- package/_cjs/services/Repository/dsl.cjs +11 -14
- package/_cjs/services/Repository/dsl.cjs.map +1 -1
- package/_cjs/services/Repository/ext.cjs +62 -71
- package/_cjs/services/Repository/ext.cjs.map +1 -1
- package/_cjs/services/RepositoryBase.cjs +212 -197
- package/_cjs/services/RepositoryBase.cjs.map +1 -1
- package/_cjs/services/RequestContextContainer.cjs +17 -23
- package/_cjs/services/RequestContextContainer.cjs.map +1 -1
- package/_cjs/services/Store/ContextMapContainer.cjs +10 -16
- package/_cjs/services/Store/ContextMapContainer.cjs.map +1 -1
- package/_cjs/services/Store/Cosmos/query.cjs +5 -9
- package/_cjs/services/Store/Cosmos/query.cjs.map +1 -1
- package/_cjs/services/Store/Cosmos.cjs +58 -68
- package/_cjs/services/Store/Cosmos.cjs.map +1 -1
- package/_cjs/services/Store/Disk.cjs +34 -36
- package/_cjs/services/Store/Disk.cjs.map +1 -1
- package/_cjs/services/Store/Memory.cjs +55 -65
- package/_cjs/services/Store/Memory.cjs.map +1 -1
- package/_cjs/services/Store/codeFilter.cjs +2 -4
- package/_cjs/services/Store/codeFilter.cjs.map +1 -1
- package/_cjs/services/Store/codeFilter.test.cjs +13 -12
- package/_cjs/services/Store/codeFilter.test.cjs.map +1 -1
- package/_cjs/services/Store/filterApi/query.cjs +2 -4
- package/_cjs/services/Store/filterApi/query.cjs.map +1 -1
- package/_cjs/services/Store/index.cjs +6 -9
- package/_cjs/services/Store/index.cjs.map +1 -1
- package/_cjs/services/Store/service.cjs +5 -7
- package/_cjs/services/Store/service.cjs.map +1 -1
- package/_cjs/services/Store/utils.cjs +16 -20
- package/_cjs/services/Store/utils.cjs.map +1 -1
- package/_cjs/services/query.cjs +4 -1
- package/_cjs/services/query.cjs.map +1 -1
- package/_cjs/test.arbs.cjs +3 -4
- package/_cjs/test.arbs.cjs.map +1 -1
- package/dist/RequestContext.d.ts +20 -20
- package/dist/RequestContext.d.ts.map +1 -1
- package/dist/RequestContext.js +15 -8
- package/dist/_ext/Array.d.ts +2 -3
- package/dist/_ext/Array.d.ts.map +1 -1
- package/dist/_ext/Array.js +5 -5
- package/dist/api/reportError.d.ts +5 -5
- package/dist/api/reportError.d.ts.map +1 -1
- package/dist/api/reportError.js +6 -6
- package/dist/api/routing/base.d.ts +11 -15
- package/dist/api/routing/base.d.ts.map +1 -1
- package/dist/api/routing/base.js +48 -67
- package/dist/api/routing/defaultErrorHandler.d.ts +4 -6
- package/dist/api/routing/defaultErrorHandler.d.ts.map +1 -1
- package/dist/api/routing/defaultErrorHandler.js +26 -28
- package/dist/api/routing/makeRequestHandler.d.ts +6 -7
- package/dist/api/routing/makeRequestHandler.d.ts.map +1 -1
- package/dist/api/routing/makeRequestHandler.js +69 -59
- package/dist/api/routing/match.d.ts +7 -8
- package/dist/api/routing/match.d.ts.map +1 -1
- package/dist/api/routing/match.js +7 -11
- package/dist/api/routing/schema/jwt.d.ts +4 -0
- package/dist/api/routing/schema/jwt.d.ts.map +1 -0
- package/dist/api/routing/schema/jwt.js +11 -0
- package/dist/api/{express → routing}/schema/routing.d.ts +2 -2
- package/dist/api/routing/schema/routing.d.ts.map +1 -0
- package/dist/api/routing/schema/routing.js +123 -0
- package/dist/api/routing.js +3 -1
- package/dist/api/setupRequest.d.ts +3 -5
- package/dist/api/setupRequest.d.ts.map +1 -1
- package/dist/api/setupRequest.js +20 -24
- package/dist/errorReporter.d.ts +4 -4
- package/dist/errorReporter.d.ts.map +1 -1
- package/dist/errorReporter.js +20 -17
- package/dist/errors.d.ts +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +3 -3
- package/dist/filter/types/path/index.d.ts +2 -2
- package/dist/filter/types/path/index.d.ts.map +1 -1
- package/dist/filter/types/path/index.js +2 -3
- package/dist/filter/types.js +2 -1
- package/dist/filter.d.ts.map +1 -1
- package/dist/filter.js +36 -1
- package/dist/logger/jsonLogger.d.ts +2 -1
- package/dist/logger/jsonLogger.d.ts.map +1 -1
- package/dist/logger/jsonLogger.js +9 -13
- package/dist/logger/logFmtLogger.d.ts +2 -1
- package/dist/logger/logFmtLogger.d.ts.map +1 -1
- package/dist/logger/logFmtLogger.js +9 -11
- package/dist/logger/shared.d.ts +2 -1
- package/dist/logger/shared.d.ts.map +1 -1
- package/dist/logger/shared.js +7 -9
- package/dist/rateLimit.d.ts +7 -10
- package/dist/rateLimit.d.ts.map +1 -1
- package/dist/rateLimit.js +17 -16
- package/dist/services/Emailer/Sendgrid.d.ts +1 -2
- package/dist/services/Emailer/Sendgrid.d.ts.map +1 -1
- package/dist/services/Emailer/Sendgrid.js +16 -20
- package/dist/services/Emailer/fake.d.ts +2 -2
- package/dist/services/Emailer/fake.d.ts.map +1 -1
- package/dist/services/Emailer/fake.js +10 -8
- package/dist/services/Emailer/service.d.ts +7 -10
- package/dist/services/Emailer/service.d.ts.map +1 -1
- package/dist/services/Emailer/service.js +3 -3
- package/dist/services/Operations/live.d.ts +2 -3
- package/dist/services/Operations/live.d.ts.map +1 -1
- package/dist/services/Operations/live.js +44 -51
- package/dist/services/Operations/service.d.ts +14 -19
- package/dist/services/Operations/service.d.ts.map +1 -1
- package/dist/services/Operations/service.js +23 -28
- package/dist/services/QueueMaker/errors.d.ts +5 -7
- package/dist/services/QueueMaker/errors.d.ts.map +1 -1
- package/dist/services/QueueMaker/errors.js +11 -11
- package/dist/services/QueueMaker/memQueue.d.ts +6 -9
- package/dist/services/QueueMaker/memQueue.d.ts.map +1 -1
- package/dist/services/QueueMaker/memQueue.js +37 -39
- package/dist/services/QueueMaker/sbqueue.d.ts +6 -9
- package/dist/services/QueueMaker/sbqueue.d.ts.map +1 -1
- package/dist/services/QueueMaker/sbqueue.js +41 -39
- package/dist/services/QueueMaker/service.d.ts +2 -4
- package/dist/services/QueueMaker/service.d.ts.map +1 -1
- package/dist/services/QueueMaker/service.js +8 -8
- package/dist/services/Repository/dsl.d.ts +11 -13
- package/dist/services/Repository/dsl.d.ts.map +1 -1
- package/dist/services/Repository/dsl.js +12 -13
- package/dist/services/Repository/ext.d.ts +34 -62
- package/dist/services/Repository/ext.d.ts.map +1 -1
- package/dist/services/Repository/ext.js +59 -70
- package/dist/services/RepositoryBase.d.ts +101 -71
- package/dist/services/RepositoryBase.d.ts.map +1 -1
- package/dist/services/RepositoryBase.js +229 -226
- package/dist/services/RequestContextContainer.d.ts +13 -21
- package/dist/services/RequestContextContainer.d.ts.map +1 -1
- package/dist/services/RequestContextContainer.js +21 -25
- package/dist/services/Store/ContextMapContainer.d.ts +11 -18
- package/dist/services/Store/ContextMapContainer.d.ts.map +1 -1
- package/dist/services/Store/ContextMapContainer.js +17 -18
- package/dist/services/Store/Cosmos/query.d.ts +3 -2
- package/dist/services/Store/Cosmos/query.d.ts.map +1 -1
- package/dist/services/Store/Cosmos/query.js +10 -11
- package/dist/services/Store/Cosmos.d.ts +2 -3
- package/dist/services/Store/Cosmos.d.ts.map +1 -1
- package/dist/services/Store/Cosmos.js +107 -90
- package/dist/services/Store/Disk.d.ts +4 -4
- package/dist/services/Store/Disk.d.ts.map +1 -1
- package/dist/services/Store/Disk.js +54 -50
- package/dist/services/Store/Memory.d.ts +6 -8
- package/dist/services/Store/Memory.d.ts.map +1 -1
- package/dist/services/Store/Memory.js +93 -89
- package/dist/services/Store/codeFilter.d.ts.map +1 -1
- package/dist/services/Store/codeFilter.js +3 -3
- package/dist/services/Store/codeFilter.test.d.ts.map +1 -1
- package/dist/services/Store/filterApi/query.d.ts +1 -1
- package/dist/services/Store/filterApi/query.d.ts.map +1 -1
- package/dist/services/Store/filterApi/query.js +3 -3
- package/dist/services/Store/index.d.ts +1 -2
- package/dist/services/Store/index.d.ts.map +1 -1
- package/dist/services/Store/index.js +7 -8
- package/dist/services/Store/service.d.ts +20 -23
- package/dist/services/Store/service.d.ts.map +1 -1
- package/dist/services/Store/service.js +6 -6
- package/dist/services/Store/utils.d.ts +3 -3
- package/dist/services/Store/utils.d.ts.map +1 -1
- package/dist/services/Store/utils.js +26 -28
- package/dist/services/query.d.ts +6 -6
- package/dist/services/query.d.ts.map +1 -1
- package/dist/services/query.js +5 -3
- package/dist/test.arbs.d.ts +0 -2
- package/dist/test.arbs.d.ts.map +1 -1
- package/dist/test.arbs.js +3 -4
- package/package.json +28 -168
- package/src/RequestContext.ts +1 -0
- package/src/_ext/Array.ts +5 -2
- package/src/api/reportError.ts +14 -10
- package/src/api/routing/base.ts +77 -110
- package/src/api/routing/defaultErrorHandler.ts +64 -54
- package/src/api/routing/makeRequestHandler.ts +165 -135
- package/src/api/routing/match.ts +14 -8
- package/src/api/{express → routing}/schema/jwt.ts +6 -5
- package/src/api/{express → routing}/schema/routing.ts +2 -1
- package/src/api/setupRequest.ts +30 -24
- package/src/errorReporter.ts +12 -11
- package/src/errors.ts +1 -0
- package/src/filter/types/path/index.ts +2 -2
- package/src/logger/jsonLogger.ts +6 -5
- package/src/logger/logFmtLogger.ts +4 -5
- package/src/logger/shared.ts +4 -3
- package/src/rateLimit.ts +37 -34
- package/src/services/Emailer/Sendgrid.ts +12 -10
- package/src/services/Emailer/fake.ts +7 -4
- package/src/services/Emailer/service.ts +4 -1
- package/src/services/Operations/live.ts +66 -59
- package/src/services/Operations/service.ts +41 -34
- package/src/services/QueueMaker/errors.ts +15 -11
- package/src/services/QueueMaker/memQueue.ts +59 -40
- package/src/services/QueueMaker/sbqueue.ts +54 -33
- package/src/services/QueueMaker/service.ts +7 -6
- package/src/services/Repository/dsl.ts +18 -14
- package/src/services/Repository/ext.ts +58 -50
- package/src/services/RepositoryBase.ts +478 -351
- package/src/services/RequestContextContainer.ts +30 -18
- package/src/services/Store/ContextMapContainer.ts +26 -13
- package/src/services/Store/Cosmos/query.ts +17 -11
- package/src/services/Store/Cosmos.ts +209 -168
- package/src/services/Store/Disk.ts +69 -53
- package/src/services/Store/Memory.ts +138 -97
- package/src/services/Store/{Redis.ts → Redis.ts.bak} +7 -5
- package/src/services/Store/codeFilter.test.ts +61 -36
- package/src/services/Store/codeFilter.ts +1 -0
- package/src/services/Store/filterApi/query.ts +1 -0
- package/src/services/Store/index.ts +7 -6
- package/src/services/Store/service.ts +4 -1
- package/src/services/Store/utils.ts +25 -23
- package/src/services/query.ts +3 -2
- package/src/services/simpledb/{cosmosdb.ts → cosmosdb.ts.bak} +1 -0
- package/src/services/simpledb/{diskdb.ts → diskdb.ts.bak} +2 -1
- package/src/services/simpledb/{memdb.ts → memdb.ts.bak} +3 -2
- package/src/services/simpledb/{mongodb.ts → mongodb.ts.bak} +1 -0
- package/src/services/simpledb/{redisdb.ts → redisdb.ts.bak} +17 -14
- package/src/services/simpledb/{shared.ts → shared.ts.bak} +2 -1
- package/src/services/simpledb/{simpledb.ts → simpledb.ts.bak} +6 -2
- package/tsconfig.json +4 -21
- package/tsconfig.json.bak +0 -4
- package/_cjs/_global.cjs +0 -6
- package/_cjs/_global.cjs.map +0 -1
- package/_cjs/_global.ext.cjs +0 -5
- package/_cjs/_global.ext.cjs.map +0 -1
- package/_cjs/_global.schema.cjs +0 -5
- package/_cjs/_global.schema.cjs.map +0 -1
- package/_cjs/api/defaultErrorHandler.cjs +0 -37
- package/_cjs/api/defaultErrorHandler.cjs.map +0 -1
- package/_cjs/api/express/schema/jwt.cjs.map +0 -1
- package/_cjs/api/express/schema/routing.cjs +0 -23
- package/_cjs/api/express/schema/routing.cjs.map +0 -1
- package/_cjs/api/http.cjs +0 -42
- package/_cjs/api/http.cjs.map +0 -1
- package/_cjs/services/Store/Redis.cjs +0 -73
- package/_cjs/services/Store/Redis.cjs.map +0 -1
- package/_cjs/services/simpledb/cosmosdb.cjs +0 -109
- package/_cjs/services/simpledb/cosmosdb.cjs.map +0 -1
- package/_cjs/services/simpledb/diskdb.cjs +0 -125
- package/_cjs/services/simpledb/diskdb.cjs.map +0 -1
- package/_cjs/services/simpledb/index.cjs +0 -38
- package/_cjs/services/simpledb/index.cjs.map +0 -1
- package/_cjs/services/simpledb/memdb.cjs +0 -72
- package/_cjs/services/simpledb/memdb.cjs.map +0 -1
- package/_cjs/services/simpledb/mongodb.cjs +0 -99
- package/_cjs/services/simpledb/mongodb.cjs.map +0 -1
- package/_cjs/services/simpledb/redisdb.cjs +0 -135
- package/_cjs/services/simpledb/redisdb.cjs.map +0 -1
- package/_cjs/services/simpledb/shared.cjs +0 -79
- package/_cjs/services/simpledb/shared.cjs.map +0 -1
- package/_cjs/services/simpledb/simpledb.cjs +0 -85
- package/_cjs/services/simpledb/simpledb.cjs.map +0 -1
- package/dist/_global.d.ts +0 -10
- package/dist/_global.d.ts.map +0 -1
- package/dist/_global.ext.d.ts +0 -34
- package/dist/_global.ext.d.ts.map +0 -1
- package/dist/_global.ext.js +0 -6
- package/dist/_global.js +0 -12
- package/dist/_global.schema.d.ts +0 -6
- package/dist/_global.schema.d.ts.map +0 -1
- package/dist/_global.schema.js +0 -9
- package/dist/api/defaultErrorHandler.d.ts +0 -6
- package/dist/api/defaultErrorHandler.d.ts.map +0 -1
- package/dist/api/defaultErrorHandler.js +0 -34
- package/dist/api/express/schema/jwt.d.ts +0 -6
- package/dist/api/express/schema/jwt.d.ts.map +0 -1
- package/dist/api/express/schema/jwt.js +0 -11
- package/dist/api/express/schema/routing.d.ts.map +0 -1
- package/dist/api/express/schema/routing.js +0 -10
- package/dist/api/http.d.ts +0 -16
- package/dist/api/http.d.ts.map +0 -1
- package/dist/api/http.js +0 -12
- package/dist/services/Store/Redis.d.ts +0 -6
- package/dist/services/Store/Redis.d.ts.map +0 -1
- package/dist/services/Store/Redis.js +0 -76
- package/dist/services/simpledb/cosmosdb.d.ts +0 -14
- package/dist/services/simpledb/cosmosdb.d.ts.map +0 -1
- package/dist/services/simpledb/cosmosdb.js +0 -103
- package/dist/services/simpledb/diskdb.d.ts +0 -12
- package/dist/services/simpledb/diskdb.d.ts.map +0 -1
- package/dist/services/simpledb/diskdb.js +0 -109
- package/dist/services/simpledb/index.d.ts +0 -7
- package/dist/services/simpledb/index.d.ts.map +0 -1
- package/dist/services/simpledb/index.js +0 -7
- package/dist/services/simpledb/memdb.d.ts +0 -11
- package/dist/services/simpledb/memdb.d.ts.map +0 -1
- package/dist/services/simpledb/memdb.js +0 -58
- package/dist/services/simpledb/mongodb.d.ts +0 -13
- package/dist/services/simpledb/mongodb.d.ts.map +0 -1
- package/dist/services/simpledb/mongodb.js +0 -68
- package/dist/services/simpledb/redisdb.d.ts +0 -35
- package/dist/services/simpledb/redisdb.d.ts.map +0 -1
- package/dist/services/simpledb/redisdb.js +0 -126
- package/dist/services/simpledb/shared.d.ts +0 -87
- package/dist/services/simpledb/shared.d.ts.map +0 -1
- package/dist/services/simpledb/shared.js +0 -52
- package/dist/services/simpledb/simpledb.d.ts +0 -23
- package/dist/services/simpledb/simpledb.d.ts.map +0 -1
- package/dist/services/simpledb/simpledb.js +0 -69
- package/src/_global.ext.ts +0 -36
- package/src/_global.schema.ts +0 -10
- package/src/_global.ts +0 -14
- package/src/api/defaultErrorHandler.ts +0 -59
- package/src/api/express/makeJsonSchema.test.ts.bak +0 -76
- package/src/api/express/makeJsonSchema.ts.bak +0 -166
- package/src/api/express/makeOpenApiSpecs.ts.bak +0 -62
- package/src/api/http.ts +0 -26
- package/tsplus.config.json +0 -9
- /package/src/services/simpledb/{index.ts → index.ts.bak} +0 -0
|
@@ -1,31 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
|
|
8
|
-
export const projectEffect = projectEffect_1;
|
|
9
|
-
export const queryEffect = queryEffect_1;
|
|
10
|
-
export const queryOneEffect = queryOneEffect_1;
|
|
11
|
-
export const queryAndSaveOnePureEffect = queryAndSaveOnePureEffect_1;
|
|
12
|
-
export const queryAndSavePureEffect = queryAndSavePureEffect_1;
|
|
13
|
-
export const byIdAndSaveWithPure = byIdAndSaveWithPure_1;
|
|
14
|
-
export const saveManyWithPure_ = saveManyWithPure_1;
|
|
15
|
-
export const saveWithPure_ = saveWithPure_1;
|
|
16
|
-
export const queryAndSavePureEffectBatched = queryAndSavePureEffectBatched_1;
|
|
17
|
-
export const saveManyWithPureBatched_ = saveManyWithPureBatched_1;
|
|
18
|
-
export const save = save_1;
|
|
19
|
-
export const itemUpdateWithEffect = itemUpdateWithEffect_1;
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
// Update = Must return updated items
|
|
3
|
+
// Modify = Must `set` updated items, and can return anything.
|
|
4
|
+
import { toNonEmptyArray } from "@effect-app/core/Array";
|
|
5
|
+
import { NonNegativeInt } from "@effect-app/schema";
|
|
6
|
+
import { Effect, ReadonlyArray } from "effect-app";
|
|
7
|
+
import { runTerm } from "effect-app/Pure";
|
|
20
8
|
import { NotFoundError } from "../../errors.js";
|
|
21
9
|
import { AnyPureDSL } from "./dsl.js";
|
|
22
10
|
/**
|
|
23
11
|
* @tsplus fluent Repository get
|
|
24
12
|
*/
|
|
25
|
-
function
|
|
13
|
+
export function get(self, id) {
|
|
26
14
|
return self
|
|
27
15
|
.find(id)
|
|
28
|
-
.flatMap((_) =>
|
|
16
|
+
.pipe(Effect.flatMap((_) => Effect.mapError(_, () => new NotFoundError({ type: self.itemType, id }))));
|
|
29
17
|
}
|
|
30
18
|
/**
|
|
31
19
|
* @tsplus getter Repository log
|
|
@@ -33,42 +21,43 @@ function get_1(self, id) {
|
|
|
33
21
|
export function log(_) {
|
|
34
22
|
return (evt) => AnyPureDSL.log(evt);
|
|
35
23
|
}
|
|
36
|
-
function
|
|
24
|
+
export function projectEffect(self, map) {
|
|
37
25
|
// TODO: a projection that gets sent to the db instead.
|
|
38
|
-
return
|
|
26
|
+
return Effect.flatMap(map, (f) => self
|
|
39
27
|
.utils
|
|
40
28
|
.filter(f)
|
|
41
|
-
.map((_) => f.collect ?
|
|
29
|
+
.pipe(Effect.map((_) => f.collect ? ReadonlyArray.filterMap(_, f.collect) : _)));
|
|
42
30
|
}
|
|
43
31
|
export function project(self, map) {
|
|
44
|
-
return
|
|
32
|
+
return projectEffect(self, Effect.sync(() => map));
|
|
45
33
|
}
|
|
46
34
|
/**
|
|
47
35
|
* TODO: count inside the db.
|
|
48
36
|
* @tsplus fluent Repository project
|
|
49
37
|
*/
|
|
50
38
|
export function count(self, filter) {
|
|
51
|
-
return
|
|
52
|
-
.map((_) =>
|
|
39
|
+
return projectEffect(self, Effect.sync(() => ({ filter })))
|
|
40
|
+
.pipe(Effect.map((_) => NonNegativeInt(_.length)));
|
|
53
41
|
}
|
|
54
42
|
/**
|
|
55
43
|
* @tsplus fluent Repository queryEffect
|
|
56
44
|
*/
|
|
57
|
-
function
|
|
45
|
+
export function queryEffect(self,
|
|
58
46
|
// TODO: think about collectPM, collectE, and collect(Parsed)
|
|
59
47
|
map) {
|
|
60
|
-
return
|
|
61
|
-
.flatMap((_) => self.utils.parseMany(_))
|
|
62
|
-
.map((_) => f.collect ? _.filterMap(f.collect) : _));
|
|
48
|
+
return Effect.flatMap(map, (f) => (f.filter ? self.utils.filter(f) : self.utils.all)
|
|
49
|
+
.pipe(Effect.flatMap((_) => self.utils.parseMany(_)), Effect.map((_) => f.collect ? ReadonlyArray.filterMap(_, f.collect) : _)));
|
|
63
50
|
}
|
|
64
|
-
function
|
|
51
|
+
export function queryOneEffect(self,
|
|
65
52
|
// TODO: think about collectPM, collectE, and collect(Parsed)
|
|
66
53
|
map) {
|
|
67
|
-
return
|
|
68
|
-
.flatMap((_) => self.utils.parseMany(_))
|
|
69
|
-
.flatMap((_) =>
|
|
70
|
-
.
|
|
71
|
-
|
|
54
|
+
return Effect.flatMap(map, (f) => (f.filter ? self.utils.filter({ filter: f.filter, limit: 1 }) : self.utils.all)
|
|
55
|
+
.pipe(Effect.flatMap((_) => self.utils.parseMany(_)), Effect
|
|
56
|
+
.flatMap((_) => toNonEmptyArray(f.collect
|
|
57
|
+
? ReadonlyArray.filterMap(_, f.collect)
|
|
58
|
+
: _)
|
|
59
|
+
.pipe(Effect.mapError(() => new NotFoundError({ type: self.itemType, id: f.filter })), Effect
|
|
60
|
+
.map((_) => _[0])))));
|
|
72
61
|
}
|
|
73
62
|
/**
|
|
74
63
|
* @tsplus fluent Repository query
|
|
@@ -76,75 +65,75 @@ map) {
|
|
|
76
65
|
export function query(self,
|
|
77
66
|
// TODO: think about collectPM, collectE, and collect(Parsed)
|
|
78
67
|
map) {
|
|
79
|
-
return
|
|
68
|
+
return queryEffect(self, Effect.sync(() => map));
|
|
80
69
|
}
|
|
81
70
|
export function queryOne(self, map) {
|
|
82
|
-
return
|
|
71
|
+
return queryOneEffect(self, Effect.sync(() => map));
|
|
83
72
|
}
|
|
84
|
-
function
|
|
85
|
-
return (pure) =>
|
|
86
|
-
.flatMap((_) =>
|
|
73
|
+
export function queryAndSaveOnePureEffect(self, map) {
|
|
74
|
+
return (pure) => queryOneEffect(self, map)
|
|
75
|
+
.pipe(Effect.flatMap((_) => saveWithPure_(self, _, pure)));
|
|
87
76
|
}
|
|
88
77
|
export function queryAndSaveOnePure(self, map) {
|
|
89
|
-
return
|
|
78
|
+
return queryAndSaveOnePureEffect(self, Effect.sync(() => map));
|
|
90
79
|
}
|
|
91
80
|
/**
|
|
92
81
|
* @tsplus fluent Repository queryAndSavePureEffect
|
|
93
82
|
*/
|
|
94
|
-
function
|
|
95
|
-
return (pure) =>
|
|
96
|
-
.flatMap((_) =>
|
|
83
|
+
export function queryAndSavePureEffect(self, map) {
|
|
84
|
+
return (pure) => queryEffect(self, map)
|
|
85
|
+
.pipe(Effect.flatMap((_) => saveManyWithPure_(self, _, pure)));
|
|
97
86
|
}
|
|
98
87
|
/**
|
|
99
88
|
* @tsplus fluent Repository queryAndSavePure
|
|
100
89
|
*/
|
|
101
90
|
export function queryAndSavePure(self, map) {
|
|
102
|
-
return
|
|
91
|
+
return queryAndSavePureEffect(self, Effect.sync(() => map));
|
|
103
92
|
}
|
|
104
93
|
/**
|
|
105
94
|
* @tsplus getter Repository saveManyWithPure
|
|
106
95
|
*/
|
|
107
96
|
export function saveManyWithPure(self) {
|
|
108
|
-
return (pure) => (items) =>
|
|
97
|
+
return (pure) => (items) => saveManyWithPure_(self, items, pure);
|
|
109
98
|
}
|
|
110
99
|
/**
|
|
111
100
|
* @tsplus fluent Repository byIdAndSaveWithPure
|
|
112
101
|
*/
|
|
113
|
-
function
|
|
114
|
-
return (pure) =>
|
|
102
|
+
export function byIdAndSaveWithPure(self, id) {
|
|
103
|
+
return (pure) => get(self, id).pipe(Effect.flatMap((item) => saveWithPure_(self, item, pure)));
|
|
115
104
|
}
|
|
116
105
|
/**
|
|
117
106
|
* NOTE: it's not as composable, only useful when the request is simple, and only this part needs request args.
|
|
118
107
|
* @tsplus getter Repository handleByIdAndSaveWithPure
|
|
119
108
|
*/
|
|
120
109
|
export function handleByIdAndSaveWithPure(self) {
|
|
121
|
-
return (pure) => (req, ctx) =>
|
|
110
|
+
return (pure) => (req, ctx) => byIdAndSaveWithPure(self, req.id)(pure(req, ctx));
|
|
122
111
|
}
|
|
123
112
|
/**
|
|
124
113
|
* @tsplus fluent Repository saveManyWithPure_
|
|
125
114
|
*/
|
|
126
|
-
function
|
|
127
|
-
return saveAllWithEffectInt(self,
|
|
115
|
+
export function saveManyWithPure_(self, items, pure) {
|
|
116
|
+
return saveAllWithEffectInt(self, runTerm(pure, [...items]));
|
|
128
117
|
}
|
|
129
118
|
/**
|
|
130
119
|
* @tsplus fluent Repository saveWithPure_
|
|
131
120
|
*/
|
|
132
|
-
function
|
|
133
|
-
return saveAllWithEffectInt(self,
|
|
134
|
-
.
|
|
121
|
+
export function saveWithPure_(self, item, pure) {
|
|
122
|
+
return saveAllWithEffectInt(self, runTerm(pure, item)
|
|
123
|
+
.pipe(Effect
|
|
124
|
+
.map(([item, events, a]) => [[item], events, a])));
|
|
135
125
|
}
|
|
136
126
|
export function saveAllWithEffectInt(self, gen) {
|
|
137
|
-
return gen
|
|
138
|
-
.flatMap(([items, events, a]) => self.saveAndPublish(items, events).map(() => a));
|
|
127
|
+
return Effect.flatMap(gen, ([items, events, a]) => self.saveAndPublish(items, events).pipe(Effect.map(() => a)));
|
|
139
128
|
}
|
|
140
129
|
/**
|
|
141
130
|
* @tsplus fluent Repository queryAndSavePureEffectBatched
|
|
142
131
|
*/
|
|
143
|
-
function
|
|
132
|
+
export function queryAndSavePureEffectBatched(self,
|
|
144
133
|
// TODO: think about collectPM, collectE, and collect(Parsed)
|
|
145
134
|
map, batchSize = 100) {
|
|
146
|
-
return (pure) =>
|
|
147
|
-
.flatMap((_) =>
|
|
135
|
+
return (pure) => queryEffect(self, map)
|
|
136
|
+
.pipe(Effect.flatMap((_) => saveManyWithPureBatched_(self, _, pure, batchSize)));
|
|
148
137
|
}
|
|
149
138
|
/**
|
|
150
139
|
* @tsplus fluent Repository queryAndSavePureBatched
|
|
@@ -152,24 +141,24 @@ map, batchSize = 100) {
|
|
|
152
141
|
export function queryAndSavePureBatched(self,
|
|
153
142
|
// TODO: think about collectPM, collectE, and collect(Parsed)
|
|
154
143
|
map, batchSize = 100) {
|
|
155
|
-
return
|
|
144
|
+
return queryAndSavePureEffectBatched(self, Effect.sync(() => map), batchSize);
|
|
156
145
|
}
|
|
157
146
|
/**
|
|
158
147
|
* @tsplus fluent Repository saveManyWithPureBatched
|
|
159
148
|
*/
|
|
160
149
|
export function saveManyWithPureBatched(self, batchSize = 100) {
|
|
161
|
-
return (pure) => (items) =>
|
|
150
|
+
return (pure) => (items) => saveManyWithPureBatched_(self, items, pure, batchSize);
|
|
162
151
|
}
|
|
163
152
|
/**
|
|
164
153
|
* @tsplus fluent Repository saveManyWithPureBatched_
|
|
165
154
|
*/
|
|
166
|
-
function
|
|
167
|
-
return
|
|
155
|
+
export function saveManyWithPureBatched_(self, items, pure, batchSize = 100) {
|
|
156
|
+
return Effect.forEach(ReadonlyArray.chunk_(items, batchSize), (batch) => saveAllWithEffectInt(self, runTerm(pure, batch)));
|
|
168
157
|
}
|
|
169
158
|
/**
|
|
170
159
|
* @tsplus getter Repository save
|
|
171
160
|
*/
|
|
172
|
-
function
|
|
161
|
+
export function save(self) {
|
|
173
162
|
return (...items) => self.saveAndPublish(items);
|
|
174
163
|
}
|
|
175
164
|
/**
|
|
@@ -181,13 +170,13 @@ export function saveWithEvents(self) {
|
|
|
181
170
|
/**
|
|
182
171
|
* @tsplus fluent Repository updateWithEffect
|
|
183
172
|
*/
|
|
184
|
-
function
|
|
185
|
-
return
|
|
173
|
+
export function itemUpdateWithEffect(repo, id, mod) {
|
|
174
|
+
return get(repo, id).pipe(Effect.andThen(mod), Effect.andThen(save(repo)));
|
|
186
175
|
}
|
|
187
176
|
/**
|
|
188
177
|
* @tsplus fluent Repository update
|
|
189
178
|
*/
|
|
190
179
|
export function itemUpdate(repo, id, mod) {
|
|
191
|
-
return
|
|
180
|
+
return itemUpdateWithEffect(repo, id, (item) => Effect.sync(() => mod(item)));
|
|
192
181
|
}
|
|
193
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL1JlcG9zaXRvcnkvZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxxQ0FBcUM7QUFDckMsOERBQThEO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFbEQsT0FBTyxFQUE2QixPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUVwRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFJL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUVyQzs7R0FFRztBQUNILE1BQU0sVUFBVSxHQUFHLENBTWpCLElBQTJDLEVBQzNDLEVBQVc7SUFFWCxPQUFPLElBQUk7U0FDUixJQUFJLENBQUMsRUFBRSxDQUFDO1NBQ1IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksYUFBYSxDQUFXLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUNwSCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsR0FBRyxDQUtqQixDQUF3QztJQUN4QyxPQUFPLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQzFDLENBQUM7QUFpREQsTUFBTSxVQUFVLGFBQWEsQ0FVM0IsSUFBMkMsRUFDM0MsR0FVQztJQUVELHVEQUF1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
|