@effect-app/infra 0.198.1 → 0.199.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 +26 -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 +171 -169
- 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 -2
- 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 +8 -10
- 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 +41 -47
- package/dist/services/RepositoryBase.d.ts.map +1 -1
- package/dist/services/RepositoryBase.js +182 -194
- 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 -4
- 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 +12 -8
- package/src/services/Repository/ext.ts +52 -44
- package/src/services/RepositoryBase.ts +278 -240
- 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 -3
- 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
|
@@ -4,23 +4,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.CosmosStoreLayer = CosmosStoreLayer;
|
|
7
|
-
var
|
|
8
|
-
var tsplus_module_2 = _interopRequireWildcard(require("effect/Option"));
|
|
9
|
-
var tsplus_module_3 = _interopRequireWildcard(require("@effect-app/core/Array"));
|
|
10
|
-
var tsplus_module_4 = _interopRequireWildcard(require("effect/Chunk"));
|
|
11
|
-
var tsplus_module_5 = _interopRequireWildcard(require("effect/Duration"));
|
|
12
|
-
var _utils = _interopRequireWildcard(require("effect-app/utils"));
|
|
13
|
-
var tsplus_module_6 = _utils;
|
|
14
|
-
var tsplus_module_7 = _interopRequireWildcard(require("@effect-app/core/_ext/Iterable"));
|
|
15
|
-
var tsplus_module_8 = _interopRequireWildcard(require("@effect-app/core/Effect"));
|
|
16
|
-
var tsplus_module_9 = _interopRequireWildcard(require("effect/Secret"));
|
|
17
|
-
var tsplus_module_10 = _interopRequireWildcard(require("effect/Layer"));
|
|
7
|
+
var _Array = require("@effect-app/core/Array");
|
|
18
8
|
var _cosmosClient = require("@effect-app/infra-adapters/cosmos-client");
|
|
9
|
+
var _effectApp = require("effect-app");
|
|
10
|
+
var _utils = require("effect-app/utils");
|
|
19
11
|
var _errors = require("../../errors.cjs");
|
|
20
12
|
var _query = require("./Cosmos/query.cjs");
|
|
21
13
|
var _service = require("./service.cjs");
|
|
22
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
23
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
24
14
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
25
15
|
|
|
26
16
|
class CosmosDbOperationError {
|
|
@@ -32,14 +22,14 @@ class CosmosDbOperationError {
|
|
|
32
22
|
function makeCosmosStore({
|
|
33
23
|
prefix
|
|
34
24
|
}) {
|
|
35
|
-
return
|
|
25
|
+
return _effectApp.Effect.gen(function* ($) {
|
|
36
26
|
const {
|
|
37
27
|
db
|
|
38
28
|
} = yield* $(_cosmosClient.CosmosClient);
|
|
39
29
|
return {
|
|
40
|
-
make: (name, seed, config) =>
|
|
30
|
+
make: (name, seed, config) => _effectApp.Effect.gen(function* ($) {
|
|
41
31
|
const containerId = `${prefix}${name}`;
|
|
42
|
-
yield* $(
|
|
32
|
+
yield* $(_effectApp.Effect.promise(() => db.containers.createIfNotExists((0, _utils.dropUndefinedT)({
|
|
43
33
|
id: containerId,
|
|
44
34
|
uniqueKeyPolicy: config?.uniqueKeys ? {
|
|
45
35
|
uniqueKeys: config.uniqueKeys
|
|
@@ -50,10 +40,10 @@ function makeCosmosStore({
|
|
|
50
40
|
const bulk = container.items.bulk.bind(container.items);
|
|
51
41
|
const execBatch = container.items.batch.bind(container.items);
|
|
52
42
|
const importedMarkerId = containerId;
|
|
53
|
-
const bulkSet = items =>
|
|
43
|
+
const bulkSet = items => _effectApp.Effect.gen(function* ($) {
|
|
54
44
|
// TODO: disable batching if need atomicity
|
|
55
45
|
// we delay and batch to keep low amount of RUs
|
|
56
|
-
const b = [...items].map(x => [x,
|
|
46
|
+
const b = [...items].map(x => [x, _effectApp.Option.match(_effectApp.Option.fromNullable(x._etag), {
|
|
57
47
|
onNone: () => (0, _utils.dropUndefinedT)({
|
|
58
48
|
operationType: "Create",
|
|
59
49
|
resourceBody: {
|
|
@@ -73,35 +63,35 @@ function makeCosmosStore({
|
|
|
73
63
|
partitionKey: config?.partitionValue(x)
|
|
74
64
|
})
|
|
75
65
|
})]);
|
|
76
|
-
const batches =
|
|
77
|
-
const batchResult = yield* $(batches.map((x, i) => [i, x])
|
|
66
|
+
const batches = _effectApp.Chunk.toReadonlyArray(_effectApp.ReadonlyArray.chunk_(b, config?.maxBulkSize ?? 10));
|
|
67
|
+
const batchResult = yield* $(_effectApp.Effect.forEach(batches.map((x, i) => [i, x]), ([i, batch]) => _effectApp.Effect.promise(() => bulk(batch.map(([, op]) => op))).pipe(_effectApp.Effect.delay(_effectApp.Duration.millis(i === 0 ? 0 : 1100)), _effectApp.Effect.flatMap(responses => _effectApp.Effect.gen(function* ($) {
|
|
78
68
|
const r = responses.find(x => x.statusCode === 412 || x.statusCode === 404);
|
|
79
69
|
if (r) {
|
|
80
|
-
return yield* $(
|
|
70
|
+
return yield* $(_effectApp.Effect.fail(new _errors.OptimisticConcurrencyException({
|
|
81
71
|
type: name,
|
|
82
72
|
id: JSON.stringify(r.resourceBody?.["id"])
|
|
83
73
|
})));
|
|
84
74
|
}
|
|
85
75
|
const r2 = responses.find(x => x.statusCode > 299 || x.statusCode < 200);
|
|
86
76
|
if (r2) {
|
|
87
|
-
return yield* $(
|
|
77
|
+
return yield* $(_effectApp.Effect.die(new CosmosDbOperationError("not able to update record: " + r2.statusCode)));
|
|
88
78
|
}
|
|
89
79
|
return batch.map(([e], i) => ({
|
|
90
80
|
...e,
|
|
91
81
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
92
82
|
_etag: responses[i].eTag
|
|
93
83
|
}));
|
|
94
|
-
}))));
|
|
84
|
+
})))));
|
|
95
85
|
return batchResult.flat();
|
|
96
|
-
})
|
|
86
|
+
}).pipe(_effectApp.Effect.withSpan("Cosmos.bulkSet [effect-app/infra/Store]", {
|
|
97
87
|
attributes: {
|
|
98
88
|
"repository.container_id": containerId,
|
|
99
89
|
"repository.model_name": name
|
|
100
90
|
}
|
|
101
|
-
});
|
|
91
|
+
}));
|
|
102
92
|
const batchSet = items => {
|
|
103
|
-
return
|
|
104
|
-
const batch = [...items].map(x => [x,
|
|
93
|
+
return _effectApp.Effect.suspend(() => {
|
|
94
|
+
const batch = [...items].map(x => [x, _effectApp.Option.match(_effectApp.Option.fromNullable(x._etag), {
|
|
105
95
|
onNone: () => ({
|
|
106
96
|
operationType: "Create",
|
|
107
97
|
resourceBody: {
|
|
@@ -120,7 +110,7 @@ function makeCosmosStore({
|
|
|
120
110
|
})
|
|
121
111
|
})]);
|
|
122
112
|
const ex = batch.map(([, c]) => c);
|
|
123
|
-
return
|
|
113
|
+
return _effectApp.Effect.promise(() => execBatch(ex, ex[0]?.resourceBody._partitionKey)).pipe(_effectApp.Effect.flatMap(x => _effectApp.Effect.gen(function* ($) {
|
|
124
114
|
const result = x.result ?? [];
|
|
125
115
|
const firstFailed = result.find(x => x.statusCode > 299 || x.statusCode < 200);
|
|
126
116
|
if (firstFailed) {
|
|
@@ -131,42 +121,42 @@ function makeCosmosStore({
|
|
|
131
121
|
id: "batch"
|
|
132
122
|
}));
|
|
133
123
|
}
|
|
134
|
-
return yield* $(
|
|
124
|
+
return yield* $(_effectApp.Effect.die(new CosmosDbOperationError("not able to update record: " + code)));
|
|
135
125
|
}
|
|
136
126
|
return batch.map(([e], i) => ({
|
|
137
127
|
...e,
|
|
138
128
|
_etag: result[i]?.eTag
|
|
139
129
|
}));
|
|
140
|
-
}));
|
|
141
|
-
})
|
|
130
|
+
})));
|
|
131
|
+
}).pipe(_effectApp.Effect.withSpan("Cosmos.batchSet [effect-app/infra/Store]", {
|
|
142
132
|
attributes: {
|
|
143
133
|
"repository.container_id": containerId,
|
|
144
134
|
"repository.model_name": name
|
|
145
135
|
}
|
|
146
|
-
});
|
|
136
|
+
}));
|
|
147
137
|
};
|
|
148
138
|
const s = {
|
|
149
|
-
all:
|
|
139
|
+
all: _effectApp.Effect.sync(() => ({
|
|
150
140
|
query: `SELECT * FROM ${name} f WHERE f.id != @id`,
|
|
151
141
|
parameters: [{
|
|
152
142
|
name: "@id",
|
|
153
143
|
value: importedMarkerId
|
|
154
144
|
}]
|
|
155
|
-
})).tap(q => (0, _query.logQuery)(q)).flatMap(q =>
|
|
145
|
+
})).pipe(_effectApp.Effect.tap(q => (0, _query.logQuery)(q)), _effectApp.Effect.flatMap(q => _effectApp.Effect.promise(() => container.items.query(q).fetchAll().then(({
|
|
156
146
|
resources
|
|
157
|
-
}) => resources))), "Cosmos.all [effect-app/infra/Store]", {
|
|
147
|
+
}) => resources))), _effectApp.Effect.withSpan("Cosmos.all [effect-app/infra/Store]", {
|
|
158
148
|
attributes: {
|
|
159
149
|
"repository.container_id": containerId,
|
|
160
150
|
"repository.model_name": name
|
|
161
151
|
}
|
|
162
|
-
}),
|
|
163
|
-
filterJoinSelect: (filter, cursor) =>
|
|
152
|
+
})),
|
|
153
|
+
filterJoinSelect: (filter, cursor) => _effectApp.Effect.forEach(filter.keys, k => _effectApp.Effect.sync(() => (0, _query.buildFilterJoinSelectCosmosQuery)(filter, k, name, cursor?.skip, cursor?.limit)).pipe(_effectApp.Effect.tap(q => (0, _query.logQuery)(q)), _effectApp.Effect.flatMap(q => _effectApp.Effect.promise(() => container.items.query(q).fetchAll().then(({
|
|
164
154
|
resources
|
|
165
155
|
}) => resources.map(_ => ({
|
|
166
156
|
...defaultValues,
|
|
167
157
|
..._
|
|
168
|
-
})))))).map(a => {
|
|
169
|
-
const v = a.flatMap(_ => _).map(x =>
|
|
158
|
+
}))))))).pipe(_effectApp.Effect.map(a => {
|
|
159
|
+
const v = a.flatMap(_ => _).map(x => (0, _utils.spread)(x, ({
|
|
170
160
|
r,
|
|
171
161
|
...rest
|
|
172
162
|
}) => ({
|
|
@@ -174,12 +164,12 @@ function makeCosmosStore({
|
|
|
174
164
|
...r
|
|
175
165
|
})));
|
|
176
166
|
return v;
|
|
177
|
-
}), "Cosmos.filterJoinSelect [effect-app/infra/Store]", {
|
|
167
|
+
}), _effectApp.Effect.withSpan("Cosmos.filterJoinSelect [effect-app/infra/Store]", {
|
|
178
168
|
attributes: {
|
|
179
169
|
"repository.container_id": containerId,
|
|
180
170
|
"repository.model_name": name
|
|
181
171
|
}
|
|
182
|
-
}),
|
|
172
|
+
})),
|
|
183
173
|
/**
|
|
184
174
|
* May return duplicate results for "join_find", when matching more than once.
|
|
185
175
|
*/
|
|
@@ -190,16 +180,16 @@ function makeCosmosStore({
|
|
|
190
180
|
type: "new-kid",
|
|
191
181
|
build: () => []
|
|
192
182
|
};
|
|
193
|
-
return
|
|
183
|
+
return (filter.type === "join_find"
|
|
194
184
|
// This is a problem if one of the multiple joined arrays can be empty!
|
|
195
185
|
// https://stackoverflow.com/questions/60320780/azure-cosmosdb-sql-join-not-returning-results-when-the-child-contains-empty-arra
|
|
196
186
|
// so we use multiple queries instead.
|
|
197
|
-
? filter.keys
|
|
187
|
+
? _effectApp.Effect.forEach(filter.keys, k => _effectApp.Effect.sync(() => (0, _query.buildFindJoinCosmosQuery)(filter, k, name, skip, limit)).pipe(_effectApp.Effect.tap(q => (0, _query.logQuery)(q)), _effectApp.Effect.flatMap(q => _effectApp.Effect.promise(() => container.items.query(q).fetchAll().then(({
|
|
198
188
|
resources
|
|
199
189
|
}) => resources.map(_ => ({
|
|
200
190
|
...defaultValues,
|
|
201
191
|
..._
|
|
202
|
-
})))))).map(_ => _.flatMap(_ => _)) : filter.type === "new-kid" ?
|
|
192
|
+
}))))))).pipe(_effectApp.Effect.map(_ => _.flatMap(_ => _))) : filter.type === "new-kid" ? _effectApp.Effect.sync(() => (0, _query.buildWhereCosmosQuery3)(filter.build(), name, importedMarkerId, defaultValues, f.select, f.order, skip, limit)).pipe(_effectApp.Effect.tap(q => (0, _query.logQuery)(q)), _effectApp.Effect.flatMap(q => _effectApp.Effect.promise(() => f.select ? container.items.query(q).fetchAll().then(({
|
|
203
193
|
resources
|
|
204
194
|
}) => resources.map(_ => ({
|
|
205
195
|
...(0, _utils.pick)(defaultValues, f.select),
|
|
@@ -209,37 +199,37 @@ function makeCosmosStore({
|
|
|
209
199
|
}) => resources.map(_ => ({
|
|
210
200
|
...defaultValues,
|
|
211
201
|
..._.f
|
|
212
|
-
}))))) :
|
|
202
|
+
})))))) : _effectApp.Effect.sync(() => (0, _query.buildCosmosQuery)(filter, name, importedMarkerId, defaultValues, skip, limit)).pipe(_effectApp.Effect.tap(q => (0, _query.logQuery)(q)), _effectApp.Effect.flatMap(q => _effectApp.Effect.promise(() => container.items.query(q).fetchAll().then(({
|
|
213
203
|
resources
|
|
214
204
|
}) => resources.map(_ => ({
|
|
215
205
|
...defaultValues,
|
|
216
206
|
..._.f
|
|
217
|
-
})))))
|
|
207
|
+
}))))))).pipe(_effectApp.Effect.withSpan("Cosmos.filter [effect-app/infra/Store]", {
|
|
218
208
|
attributes: {
|
|
219
209
|
"repository.container_id": containerId,
|
|
220
210
|
"repository.model_name": name
|
|
221
211
|
}
|
|
222
|
-
});
|
|
212
|
+
}));
|
|
223
213
|
},
|
|
224
|
-
find: id =>
|
|
214
|
+
find: id => _effectApp.Effect.promise(() => container.item(id, config?.partitionValue({
|
|
225
215
|
id
|
|
226
216
|
})).read().then(({
|
|
227
217
|
resource
|
|
228
|
-
}) =>
|
|
218
|
+
}) => _effectApp.Option.fromNullable(resource).pipe(_effectApp.Option.map(_ => ({
|
|
229
219
|
...defaultValues,
|
|
230
220
|
..._
|
|
231
|
-
}))))
|
|
221
|
+
}))))).pipe(_effectApp.Effect.withSpan("Cosmos.find [effect-app/infra/Store]", {
|
|
232
222
|
attributes: {
|
|
233
223
|
"repository.container_id": containerId,
|
|
234
224
|
"repository.model_name": name
|
|
235
225
|
}
|
|
236
|
-
}),
|
|
237
|
-
set: e =>
|
|
238
|
-
onNone: () =>
|
|
226
|
+
})),
|
|
227
|
+
set: e => _effectApp.Option.match(_effectApp.Option.fromNullable(e._etag), {
|
|
228
|
+
onNone: () => _effectApp.Effect.promise(() => container.items.create({
|
|
239
229
|
...e,
|
|
240
230
|
_partitionKey: config?.partitionValue(e)
|
|
241
231
|
})),
|
|
242
|
-
onSome: eTag =>
|
|
232
|
+
onSome: eTag => _effectApp.Effect.promise(() => container.item(e.id, config?.partitionValue(e)).replace({
|
|
243
233
|
...e,
|
|
244
234
|
_partitionKey: config?.partitionValue(e)
|
|
245
235
|
}, {
|
|
@@ -248,7 +238,7 @@ function makeCosmosStore({
|
|
|
248
238
|
condition: eTag
|
|
249
239
|
}
|
|
250
240
|
}))
|
|
251
|
-
}).flatMap(x => {
|
|
241
|
+
}).pipe(_effectApp.Effect.flatMap(x => {
|
|
252
242
|
if (x.statusCode === 412 || x.statusCode === 404) {
|
|
253
243
|
return new _errors.OptimisticConcurrencyException({
|
|
254
244
|
type: name,
|
|
@@ -256,41 +246,41 @@ function makeCosmosStore({
|
|
|
256
246
|
});
|
|
257
247
|
}
|
|
258
248
|
if (x.statusCode > 299 || x.statusCode < 200) {
|
|
259
|
-
return
|
|
249
|
+
return _effectApp.Effect.die(new CosmosDbOperationError("not able to update record: " + x.statusCode));
|
|
260
250
|
}
|
|
261
|
-
return
|
|
251
|
+
return _effectApp.Effect.sync(() => ({
|
|
262
252
|
...e,
|
|
263
253
|
_etag: x.etag
|
|
264
254
|
}));
|
|
265
|
-
}), "Cosmos.set [effect-app/infra/Store]", {
|
|
255
|
+
}), _effectApp.Effect.withSpan("Cosmos.set [effect-app/infra/Store]", {
|
|
266
256
|
attributes: {
|
|
267
257
|
"repository.container_id": containerId,
|
|
268
258
|
"repository.model_name": name
|
|
269
259
|
}
|
|
270
|
-
}),
|
|
260
|
+
})),
|
|
271
261
|
batchSet,
|
|
272
262
|
bulkSet,
|
|
273
|
-
remove: e =>
|
|
263
|
+
remove: e => _effectApp.Effect.promise(() => container.item(e.id, config?.partitionValue(e)).delete()).pipe(_effectApp.Effect.withSpan("Cosmos.remove [effect-app/infra/Store]", {
|
|
274
264
|
attributes: {
|
|
275
265
|
"repository.container_id": containerId,
|
|
276
266
|
"repository.model_name": name
|
|
277
267
|
}
|
|
278
|
-
})
|
|
268
|
+
}))
|
|
279
269
|
};
|
|
280
270
|
// handle mock data
|
|
281
|
-
const marker = yield* $(
|
|
271
|
+
const marker = yield* $(_effectApp.Effect.promise(() => container.item(importedMarkerId, importedMarkerId).read().then(({
|
|
282
272
|
resource
|
|
283
|
-
}) =>
|
|
284
|
-
if (!
|
|
273
|
+
}) => _effectApp.Option.fromNullable(resource))));
|
|
274
|
+
if (!_effectApp.Option.isSome(marker)) {
|
|
285
275
|
console.log("Creating mock data for " + name);
|
|
286
276
|
if (seed) {
|
|
287
277
|
const m = yield* $(seed);
|
|
288
|
-
yield* $(
|
|
278
|
+
yield* $(_effectApp.Effect.flatMapOption(_effectApp.Effect.succeed((0, _Array.toNonEmptyArray)([...m])), a => s.bulkSet(a).pipe(_effectApp.Effect.orDie, _effectApp.Effect
|
|
289
279
|
// we delay extra here, so that initial creation between Companies/POs also have an interval between them.
|
|
290
|
-
|
|
280
|
+
.delay(_effectApp.Duration.millis(1100)))));
|
|
291
281
|
}
|
|
292
282
|
// Mark as imported
|
|
293
|
-
yield* $(
|
|
283
|
+
yield* $(_effectApp.Effect.promise(() => container.items.create({
|
|
294
284
|
_partitionKey: importedMarkerId,
|
|
295
285
|
id: importedMarkerId
|
|
296
286
|
})));
|
|
@@ -301,6 +291,6 @@ function makeCosmosStore({
|
|
|
301
291
|
});
|
|
302
292
|
}
|
|
303
293
|
function CosmosStoreLayer(cfg) {
|
|
304
|
-
return
|
|
294
|
+
return _service.StoreMaker.toLayer(makeCosmosStore(cfg)).pipe(_effectApp.Layer.provide((0, _cosmosClient.CosmosClientLayer)(_effectApp.Secret.value(cfg.url), cfg.dbName)));
|
|
305
295
|
}
|
|
306
296
|
//# sourceMappingURL=Cosmos.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cosmos.cjs","names":["_cosmosClient","require","_errors","_query","_service","_getRequireWildcardCache","e","WeakMap","r","t","_interopRequireWildcard","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","CosmosDbOperationError","message","constructor","makeCosmosStore","prefix","tsplus_module_1","gen","$","db","CosmosClient","make","name","seed","config","containerId","promise","containers","createIfNotExists","dropUndefinedT","id","uniqueKeyPolicy","uniqueKeys","undefined","defaultValues","container","bulk","items","bind","execBatch","batch","importedMarkerId","bulkSet","withSpan","b","map","x","tsplus_module_2","match","fromNullable","_etag","onNone","operationType","resourceBody","omit","_partitionKey","partitionValue","partitionKey","onSome","eTag","ifMatch","batches","tsplus_module_4","toReadonlyArray","tsplus_module_3","chunk_","maxBulkSize","batchResult","forEachEffect","delay","op","tsplus_module_5","millis","flatMap","responses","find","statusCode","fail","OptimisticConcurrencyException","type","JSON","stringify","r2","die","flat","attributes","batchSet","suspend","ex","c","result","firstFailed","code","s","all","sync","query","parameters","value","tap","q","logQuery","fetchAll","then","resources","filterJoinSelect","filter","cursor","keys","k","buildFilterJoinSelectCosmosQuery","skip","limit","_","v","tsplus_module_6","spread","rest","f","build","buildFindJoinCosmosQuery","buildWhereCosmosQuery3","select","order","pick","buildCosmosQuery","item","read","resource","create","replace","accessCondition","condition","etag","remove","delete","marker","isSome","console","log","m","tsplus_module_8","flatMapOption","succeed","tsplus_module_7","CollectionToNonEmptyReadonlyArray","orDie","CosmosStoreLayer","cfg","tsplus_module_10","provide","StoreMaker","toLayer","CosmosClientLayer","tsplus_module_9","url","dbName"],"sources":["../../../src/services/Store/Cosmos.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Cosmos.cjs","names":["_Array","require","_cosmosClient","_effectApp","_utils","_errors","_query","_service","CosmosDbOperationError","message","constructor","makeCosmosStore","prefix","Effect","gen","$","db","CosmosClient","make","name","seed","config","containerId","promise","containers","createIfNotExists","dropUndefinedT","id","uniqueKeyPolicy","uniqueKeys","undefined","defaultValues","container","bulk","items","bind","execBatch","batch","importedMarkerId","bulkSet","b","map","x","Option","match","fromNullable","_etag","onNone","operationType","resourceBody","omit","_partitionKey","partitionValue","partitionKey","onSome","eTag","ifMatch","batches","Chunk","toReadonlyArray","ReadonlyArray","chunk_","maxBulkSize","batchResult","forEach","i","op","pipe","delay","Duration","millis","flatMap","responses","r","find","statusCode","fail","OptimisticConcurrencyException","type","JSON","stringify","r2","die","e","flat","withSpan","attributes","batchSet","suspend","ex","c","result","firstFailed","code","s","all","sync","query","parameters","value","tap","q","logQuery","fetchAll","then","resources","filterJoinSelect","filter","cursor","keys","k","buildFilterJoinSelectCosmosQuery","skip","limit","_","a","v","spread","rest","f","build","buildFindJoinCosmosQuery","buildWhereCosmosQuery3","select","order","pick","buildCosmosQuery","item","read","resource","set","create","replace","accessCondition","condition","etag","remove","delete","marker","isSome","console","log","m","flatMapOption","succeed","toNonEmptyArray","orDie","CosmosStoreLayer","cfg","StoreMaker","toLayer","Layer","provide","CosmosClientLayer","Secret","url","dbName"],"sources":["../../../src/services/Store/Cosmos.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -5,11 +5,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.DiskStoreLayer = DiskStoreLayer;
|
|
7
7
|
exports.makeDiskStore = makeDiskStore;
|
|
8
|
-
var tsplus_module_1 = _interopRequireWildcard(require("effect/Effect"));
|
|
9
|
-
var tsplus_module_2 = _interopRequireWildcard(require("@effect-app/core/Function"));
|
|
10
|
-
var tsplus_module_3 = _interopRequireWildcard(require("effect/FiberRef"));
|
|
11
8
|
var fu = _interopRequireWildcard(require("@effect-app/infra-adapters/fileUtil"));
|
|
12
9
|
var _fs = _interopRequireDefault(require("fs"));
|
|
10
|
+
var _effectApp = require("effect-app");
|
|
13
11
|
var _Memory = require("./Memory.cjs");
|
|
14
12
|
var _service = require("./service.cjs");
|
|
15
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -18,7 +16,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
18
16
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
19
17
|
|
|
20
18
|
function makeDiskStoreInt(prefix, namespace, dir, name, seed, defaultValues) {
|
|
21
|
-
return
|
|
19
|
+
return _effectApp.Effect.gen(function* ($) {
|
|
22
20
|
if (namespace !== "primary") {
|
|
23
21
|
dir = dir + "/" + namespace;
|
|
24
22
|
if (!_fs.default.existsSync(dir)) {
|
|
@@ -27,37 +25,37 @@ function makeDiskStoreInt(prefix, namespace, dir, name, seed, defaultValues) {
|
|
|
27
25
|
}
|
|
28
26
|
const file = dir + "/" + prefix + name + ".json";
|
|
29
27
|
const fsStore = {
|
|
30
|
-
get:
|
|
28
|
+
get: fu.readTextFile(file).pipe(_effectApp.Effect.withSpan("Disk.read.readFile [effect-app/infra/Store]"), _effectApp.Effect.flatMap(x => _effectApp.Effect.sync(() => JSON.parse(x)).pipe(_effectApp.Effect.withSpan("Disk.read.parse [effect-app/infra/Store]"))), _effectApp.Effect.orDie, _effectApp.Effect.withSpan("Disk.read [effect-app/infra/Store]", {
|
|
31
29
|
attributes: {
|
|
32
30
|
"disk.file": file
|
|
33
31
|
}
|
|
34
|
-
}),
|
|
35
|
-
setRaw: v =>
|
|
32
|
+
})),
|
|
33
|
+
setRaw: v => _effectApp.Effect.sync(() => JSON.stringify([...v], undefined, 2)).pipe(_effectApp.Effect.withSpan("Disk.stringify [effect-app/infra/Store]", {
|
|
36
34
|
attributes: {
|
|
37
35
|
"disk.file": file
|
|
38
36
|
}
|
|
39
|
-
}).flatMap(json =>
|
|
37
|
+
}), _effectApp.Effect.flatMap(json => fu.writeTextFile(file, json).pipe(_effectApp.Effect.withSpan("Disk.write.writeFile [effect-app/infra/Store]", {
|
|
40
38
|
attributes: {
|
|
41
39
|
"disk.file_size": json.length
|
|
42
40
|
}
|
|
43
|
-
})), "Disk.write [effect-app/infra/Store]", {
|
|
41
|
+
}))), _effectApp.Effect.withSpan("Disk.write [effect-app/infra/Store]", {
|
|
44
42
|
attributes: {
|
|
45
43
|
"disk.file": file
|
|
46
44
|
}
|
|
47
|
-
})
|
|
45
|
+
}))
|
|
48
46
|
};
|
|
49
47
|
const store = yield* $((0, _Memory.makeMemoryStoreInt)(name, namespace, !_fs.default.existsSync(file) ? seed : fsStore.get, defaultValues));
|
|
50
|
-
yield* $(store.all.flatMap(fsStore.setRaw));
|
|
51
|
-
const sem =
|
|
48
|
+
yield* $(store.all.pipe(_effectApp.Effect.flatMap(fsStore.setRaw)));
|
|
49
|
+
const sem = _effectApp.Effect.unsafeMakeSemaphore(1);
|
|
52
50
|
const withPermit = sem.withPermits(1);
|
|
53
|
-
const flushToDisk =
|
|
54
|
-
const flushToDiskInBackground =
|
|
51
|
+
const flushToDisk = _effectApp.Effect.flatMap(store.all, fsStore.setRaw).pipe(withPermit);
|
|
52
|
+
const flushToDiskInBackground = flushToDisk.pipe(_effectApp.Effect.tapErrorCause(err => _effectApp.Effect.sync(() => console.error(err))), _effectApp.Effect.uninterruptible, _effectApp.Effect.forkDaemon);
|
|
55
53
|
return {
|
|
56
54
|
...store,
|
|
57
|
-
batchSet:
|
|
58
|
-
bulkSet:
|
|
59
|
-
set:
|
|
60
|
-
remove:
|
|
55
|
+
batchSet: (0, _effectApp.flow)(store.batchSet, _effectApp.Effect.tap(flushToDiskInBackground)),
|
|
56
|
+
bulkSet: (0, _effectApp.flow)(store.bulkSet, _effectApp.Effect.tap(flushToDiskInBackground)),
|
|
57
|
+
set: (0, _effectApp.flow)(store.set, _effectApp.Effect.tap(flushToDiskInBackground)),
|
|
58
|
+
remove: (0, _effectApp.flow)(store.remove, _effectApp.Effect.tap(flushToDiskInBackground))
|
|
61
59
|
};
|
|
62
60
|
});
|
|
63
61
|
}
|
|
@@ -68,39 +66,39 @@ function makeDiskStoreInt(prefix, namespace, dir, name, seed, defaultValues) {
|
|
|
68
66
|
function makeDiskStore({
|
|
69
67
|
prefix
|
|
70
68
|
}, dir) {
|
|
71
|
-
return
|
|
69
|
+
return _effectApp.Effect.sync(() => {
|
|
72
70
|
if (!_fs.default.existsSync(dir)) {
|
|
73
71
|
_fs.default.mkdirSync(dir);
|
|
74
72
|
}
|
|
75
73
|
return {
|
|
76
|
-
make: (name, seed, config) =>
|
|
77
|
-
const storesSem =
|
|
74
|
+
make: (name, seed, config) => _effectApp.Effect.gen(function* ($) {
|
|
75
|
+
const storesSem = _effectApp.Effect.unsafeMakeSemaphore(1);
|
|
78
76
|
const primary = yield* $(makeDiskStoreInt(prefix, "primary", dir, name, seed, config?.defaultValues));
|
|
79
77
|
const stores = new Map([["primary", primary]]);
|
|
80
|
-
const ctx = yield* $(
|
|
81
|
-
const getStore = !config?.allowNamespace ?
|
|
78
|
+
const ctx = yield* $(_effectApp.Effect.context());
|
|
79
|
+
const getStore = !config?.allowNamespace ? _effectApp.Effect.succeed(primary) : _effectApp.FiberRef.get(_Memory.storeId).pipe(_effectApp.Effect.flatMap(namespace => {
|
|
82
80
|
const store = stores.get(namespace);
|
|
83
81
|
if (store) {
|
|
84
|
-
return
|
|
82
|
+
return _effectApp.Effect.succeed(store);
|
|
85
83
|
}
|
|
86
84
|
if (!config.allowNamespace(namespace)) {
|
|
87
85
|
throw new Error(`Namespace ${namespace} not allowed!`);
|
|
88
86
|
}
|
|
89
|
-
return storesSem.withPermits(1)(
|
|
87
|
+
return storesSem.withPermits(1)(_effectApp.Effect.suspend(() => {
|
|
90
88
|
const existing = stores.get(namespace);
|
|
91
|
-
if (existing) return
|
|
92
|
-
return
|
|
89
|
+
if (existing) return _effectApp.Effect.sync(() => existing);
|
|
90
|
+
return makeDiskStoreInt(prefix, namespace, dir, name, seed, config?.defaultValues).pipe(_effectApp.Effect.orDie, _effectApp.Effect.provide(ctx), _effectApp.Effect.tap(store => _effectApp.Effect.sync(() => stores.set(namespace, store))));
|
|
93
91
|
}));
|
|
94
|
-
});
|
|
92
|
+
}));
|
|
95
93
|
const s = {
|
|
96
|
-
all:
|
|
97
|
-
find: (...args) =>
|
|
98
|
-
filter: (...args) =>
|
|
99
|
-
filterJoinSelect: (...args) =>
|
|
100
|
-
set: (...args) =>
|
|
101
|
-
batchSet: (...args) =>
|
|
102
|
-
bulkSet: (...args) =>
|
|
103
|
-
remove: (...args) =>
|
|
94
|
+
all: _effectApp.Effect.flatMap(getStore, _ => _.all),
|
|
95
|
+
find: (...args) => _effectApp.Effect.flatMap(getStore, _ => _.find(...args)),
|
|
96
|
+
filter: (...args) => _effectApp.Effect.flatMap(getStore, _ => _.filter(...args)),
|
|
97
|
+
filterJoinSelect: (...args) => _effectApp.Effect.flatMap(getStore, _ => _.filterJoinSelect(...args)),
|
|
98
|
+
set: (...args) => _effectApp.Effect.flatMap(getStore, _ => _.set(...args)),
|
|
99
|
+
batchSet: (...args) => _effectApp.Effect.flatMap(getStore, _ => _.batchSet(...args)),
|
|
100
|
+
bulkSet: (...args) => _effectApp.Effect.flatMap(getStore, _ => _.bulkSet(...args)),
|
|
101
|
+
remove: (...args) => _effectApp.Effect.flatMap(getStore, _ => _.remove(...args))
|
|
104
102
|
};
|
|
105
103
|
return s;
|
|
106
104
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Disk.cjs","names":["fu","_interopRequireWildcard","require","_fs","_interopRequireDefault","_Memory","_service","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","makeDiskStoreInt","prefix","namespace","dir","name","seed","defaultValues","
|
|
1
|
+
{"version":3,"file":"Disk.cjs","names":["fu","_interopRequireWildcard","require","_fs","_interopRequireDefault","_effectApp","_Memory","_service","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","makeDiskStoreInt","prefix","namespace","dir","name","seed","defaultValues","Effect","gen","$","fs","existsSync","mkdirSync","file","fsStore","readTextFile","pipe","withSpan","flatMap","x","sync","JSON","parse","orDie","attributes","setRaw","v","stringify","undefined","json","writeTextFile","length","store","makeMemoryStoreInt","all","sem","unsafeMakeSemaphore","withPermit","withPermits","flushToDisk","flushToDiskInBackground","tapErrorCause","err","console","error","uninterruptible","forkDaemon","batchSet","flow","tap","bulkSet","remove","makeDiskStore","make","config","storesSem","primary","stores","Map","ctx","context","getStore","allowNamespace","succeed","FiberRef","storeId","Error","suspend","existing","provide","s","_","find","args","filter","filterJoinSelect","DiskStoreLayer","StoreMaker","toLayer"],"sources":["../../../src/services/Store/Disk.ts"],"sourcesContent":[null],"mappings":"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"}
|