@effect-app/infra 0.9.0 → 0.11.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 +28 -0
- package/_cjs/api/codec.cjs +1 -1
- package/_cjs/api/defaultErrorHandler.cjs +1 -1
- package/_cjs/api/express/makeJsonSchema.cjs +1 -1
- package/_cjs/api/express/makeOpenApiSpecs.cjs +1 -1
- package/_cjs/api/express/schema/requestHandler.cjs +1 -1
- package/_cjs/api/express/schema/routing.cjs +1 -1
- package/_cjs/api/reportError.cjs +1 -1
- package/_cjs/api/routing.cjs +1 -1
- package/_cjs/api/setupRequest.cjs +1 -1
- package/_cjs/api/writeDocs.cjs +3 -3
- package/_cjs/api/writeDocs.cjs.map +1 -1
- package/_cjs/errorReporter.cjs +1 -1
- package/_cjs/instrument.cjs +1 -1
- package/_cjs/rateLimit.cjs +1 -1
- package/_cjs/services/Emailer/Sendgrid.cjs +3 -3
- package/_cjs/services/Emailer/Sendgrid.cjs.map +1 -1
- package/_cjs/services/Emailer/fake.cjs +1 -1
- package/_cjs/services/Repository.cjs +1 -1
- package/_cjs/services/Store/Cosmos.cjs +6 -7
- package/_cjs/services/Store/Cosmos.cjs.map +1 -1
- package/_cjs/services/Store/Disk.cjs +1 -1
- package/_cjs/services/Store/Memory.cjs +1 -1
- package/_cjs/services/Store/Redis.cjs +1 -1
- package/_cjs/services/Store/index.cjs +1 -1
- package/_cjs/services/Store/service.cjs +1 -1
- package/_cjs/services/Store/utils.cjs +1 -1
- package/_cjs/services/simpledb/cosmosdb.cjs +1 -1
- package/_cjs/services/simpledb/diskdb.cjs +1 -1
- package/_cjs/services/simpledb/memdb.cjs +9 -9
- package/_cjs/services/simpledb/memdb.cjs.map +1 -1
- package/_cjs/services/simpledb/mongodb.cjs +1 -1
- package/_cjs/services/simpledb/redisdb.cjs +1 -1
- package/_cjs/services/simpledb/shared.cjs +1 -1
- package/_cjs/services/simpledb/simpledb.cjs +1 -1
- package/_src/api/writeDocs.ts +1 -1
- package/_src/services/Emailer/Sendgrid.ts +1 -1
- package/_src/services/Store/Cosmos.ts +1 -2
- package/_src/services/simpledb/memdb.ts +4 -5
- package/dist/api/codec.js +1 -1
- package/dist/api/defaultErrorHandler.js +1 -1
- package/dist/api/express/makeJsonSchema.js +1 -1
- package/dist/api/express/makeOpenApiSpecs.js +1 -1
- package/dist/api/express/schema/requestHandler.js +1 -1
- package/dist/api/express/schema/routing.js +1 -1
- package/dist/api/reportError.js +1 -1
- package/dist/api/routing.js +1 -1
- package/dist/api/setupRequest.js +1 -1
- package/dist/api/writeDocs.js +4 -4
- package/dist/errorReporter.js +1 -1
- package/dist/instrument.js +1 -1
- package/dist/rateLimit.js +1 -1
- package/dist/services/Emailer/Sendgrid.js +4 -4
- package/dist/services/Emailer/fake.js +1 -1
- package/dist/services/Repository.js +1 -1
- package/dist/services/Store/Cosmos.d.ts.map +1 -1
- package/dist/services/Store/Cosmos.js +7 -8
- package/dist/services/Store/Disk.js +1 -1
- package/dist/services/Store/Memory.js +1 -1
- package/dist/services/Store/Redis.js +1 -1
- package/dist/services/Store/index.js +1 -1
- package/dist/services/Store/service.js +1 -1
- package/dist/services/Store/utils.js +1 -1
- package/dist/services/simpledb/cosmosdb.js +1 -1
- package/dist/services/simpledb/diskdb.js +1 -1
- package/dist/services/simpledb/memdb.d.ts +2 -2
- package/dist/services/simpledb/memdb.d.ts.map +1 -1
- package/dist/services/simpledb/memdb.js +9 -9
- package/dist/services/simpledb/mongodb.js +1 -1
- package/dist/services/simpledb/redisdb.js +1 -1
- package/dist/services/simpledb/shared.js +1 -1
- package/dist/services/simpledb/simpledb.js +1 -1
- package/package.json +5 -5
- package/tsconfig.json +1 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as tracer_1 from "@effect/io/Debug";
|
|
2
|
-
const fileName_1 = "
|
|
2
|
+
const fileName_1 = "_src/services/simpledb/memdb.ts";
|
|
3
3
|
import * as tsplus_module_1 from "@fp-ts/data/Option";
|
|
4
4
|
import * as tsplus_module_2 from "@effect/io/Effect";
|
|
5
5
|
import * as tsplus_module_3 from "@effect-app/core/Effect";
|
|
@@ -20,7 +20,7 @@ export function createContext() {
|
|
|
20
20
|
save: simpledb.store(find, store, bogusLock, type)
|
|
21
21
|
};
|
|
22
22
|
function find(id) {
|
|
23
|
-
return tracer_1.withCallTrace(fileName_1 + ":
|
|
23
|
+
return tracer_1.withCallTrace(fileName_1 + ":32:10")(tsplus_module_3.mapOpt(tracer_1.withCallTrace(fileName_1 + ":31:10")(tsplus_module_3.flatMapOpt(tracer_1.withCallTrace(fileName_1 + ":30:10")(tsplus_module_2.map(_ => tsplus_module_1.map(s => JSON.parse(s))(_)))(storage
|
|
24
24
|
.find(getRecordName(type, id))), parseSDB)), ({ data, version }) => ({
|
|
25
25
|
data: JSON.parse(data),
|
|
26
26
|
version
|
|
@@ -28,13 +28,13 @@ export function createContext() {
|
|
|
28
28
|
}
|
|
29
29
|
function findBy(keys, eq) {
|
|
30
30
|
// Naive implementation, fine for in memory testing purposes.
|
|
31
|
-
return tracer_1.withCallTrace(fileName_1 + ":
|
|
31
|
+
return tracer_1.withCallTrace(fileName_1 + ":57:10")(tsplus_module_2.map(tsplus_module_1.fromNullable))(tracer_1.withCallTrace(fileName_1 + ":40:21")(tsplus_module_2.gen(function* ($) {
|
|
32
32
|
for (const [, value] of storage) {
|
|
33
33
|
const sdb_ = JSON.parse(value);
|
|
34
34
|
const sdb = yield* $(parseSDB(sdb_));
|
|
35
35
|
const cr = { data: JSON.parse(sdb.data), version: sdb.version };
|
|
36
|
-
const r = yield* $(tsplus_module_2.exit(tracer_1.withCallTrace(fileName_1 + ":
|
|
37
|
-
? tracer_1.withCallTrace(fileName_1 + ":
|
|
36
|
+
const r = yield* $(tsplus_module_2.exit(tracer_1.withCallTrace(fileName_1 + ":46:29")(tsplus_module_2.flatMap(d => eq(d)(keys)
|
|
37
|
+
? tracer_1.withCallTrace(fileName_1 + ":48:19")(tsplus_module_2.sync(() => d)) : tracer_1.withCallTrace(fileName_1 + ":49:26")(tsplus_module_2.fail("not equals"))))(decode(cr.data))));
|
|
38
38
|
if (tsplus_module_4.isSuccess(r)) {
|
|
39
39
|
return r.value;
|
|
40
40
|
}
|
|
@@ -44,12 +44,12 @@ export function createContext() {
|
|
|
44
44
|
}
|
|
45
45
|
function store(record, currentVersion) {
|
|
46
46
|
const version = tsplus_module_1.getOrElse(() => "1")(tsplus_module_1.map(cv => (parseInt(cv) + 1).toString())(currentVersion));
|
|
47
|
-
const getData = flow(encode, _ => tracer_1.withCallTrace(fileName_1 + ":
|
|
48
|
-
return tracer_1.withCallTrace(fileName_1 + ":
|
|
47
|
+
const getData = flow(encode, _ => tracer_1.withCallTrace(fileName_1 + ":67:36")(tsplus_module_2.map(data => JSON.stringify({ version, timestamp: new Date(), data })))(tracer_1.withCallTrace(fileName_1 + ":67:16")(tsplus_module_2.map(JSON.stringify))(_)));
|
|
48
|
+
return tracer_1.withCallTrace(fileName_1 + ":71:10")(tsplus_module_2.map(() => ({ version, data: record })))(tracer_1.withCallTrace(fileName_1 + ":70:10")(tsplus_module_2.flatMap(serialised => storage.set(getRecordName(type, record.id), serialised)))(getData(record)));
|
|
49
49
|
}
|
|
50
50
|
};
|
|
51
51
|
}
|
|
52
52
|
function bogusLock() {
|
|
53
|
-
return tracer_1.withCallTrace(fileName_1 + ":
|
|
53
|
+
return tracer_1.withCallTrace(fileName_1 + ":77:22")(tsplus_module_2.acquireRelease(tsplus_module_3.unit, () => tsplus_module_3.unit));
|
|
54
54
|
}
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtZGIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9fc3JjL3NlcnZpY2VzL3NpbXBsZWRiL21lbWRiLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUNoRCxPQUFPLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBR3hDLE9BQU8sRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ3hFLE9BQU8sS0FBSyxRQUFRLE1BQU0sZUFBZSxDQUFBO0FBR3pDLDREQUE0RDtBQUM1RCwyQkFBMkI7QUFDM0IsTUFBTSxPQUFPLEdBQUcsT0FBTyxFQUFrQixDQUFBO0FBRXpDLE1BQU0sUUFBUSxHQUFnQyxFQUFFLENBQUMsV0FBVyxDQUEzQyxrQkFBa0IsQ0FBQyxNQUFNLENBQWtCLENBQUE7QUFFNUQsTUFBTSxVQUFVLGFBQWE7SUFDM0IsT0FBTyxDQUNMLElBQVksRUFDWixNQUFpRCxFQUNqRCxNQUE4QyxFQUM5QyxFQUFFO1FBQ0YsT0FBTztZQUNMLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDO1lBQ3ZDLE1BQU07WUFDTixJQUFJLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUM7U0FDbkQsQ0FBQTtRQUVELFNBQVMsSUFBSSxDQUFDLEVBQVU7WUFDdEIscURBQU8scUVBQUEsMkJBQUEsa0VBRUEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxvQkFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQXhCLENBQUMsQ0FBd0IsR0FGOUIsT0FBTztpQkFDWCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FB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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as tracer_1 from "@effect/io/Debug";
|
|
2
|
-
const fileName_1 = "
|
|
2
|
+
const fileName_1 = "_src/services/simpledb/mongodb.ts";
|
|
3
3
|
import * as tsplus_module_1 from "@effect/io/Effect";
|
|
4
4
|
import * as tsplus_module_2 from "@fp-ts/data/Option";
|
|
5
5
|
import * as tsplus_module_3 from "@effect-app/core/Effect";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as tracer_1 from "@effect/io/Debug";
|
|
2
|
-
const fileName_1 = "
|
|
2
|
+
const fileName_1 = "_src/services/simpledb/redisdb.ts";
|
|
3
3
|
import * as tsplus_module_1 from "@effect/io/Effect";
|
|
4
4
|
import * as tsplus_module_2 from "@effect-app/core/Effect";
|
|
5
5
|
import * as tsplus_module_3 from "@fp-ts/data/Option";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as tracer_1 from "@effect/io/Debug";
|
|
2
|
-
const fileName_1 = "
|
|
2
|
+
const fileName_1 = "_src/services/simpledb/shared.ts";
|
|
3
3
|
import * as tsplus_module_1 from "@fp-ts/data/Option";
|
|
4
4
|
import * as tsplus_module_2 from "@effect/io/Effect";
|
|
5
5
|
import * as MO from "@effect-app/schema";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as tracer_1 from "@effect/io/Debug";
|
|
2
|
-
const fileName_1 = "
|
|
2
|
+
const fileName_1 = "_src/services/simpledb/simpledb.ts";
|
|
3
3
|
import * as tsplus_module_1 from "@effect/io/Effect";
|
|
4
4
|
import * as tsplus_module_2 from "@fp-ts/data/Context";
|
|
5
5
|
import * as tsplus_module_3 from "@effect-app/core/Effect";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect-app/infra",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
@@ -22,10 +22,10 @@
|
|
|
22
22
|
"proper-lockfile": "^4.1.2",
|
|
23
23
|
"pure-rand": "^6.0.0",
|
|
24
24
|
"redlock": "^4.2.0",
|
|
25
|
-
"@effect-app/prelude": "0.
|
|
26
|
-
"@effect-app/core": "0.
|
|
27
|
-
"@effect-app/infra-adapters": "0.
|
|
28
|
-
"@effect-app/schema": "0.
|
|
25
|
+
"@effect-app/prelude": "0.10.0",
|
|
26
|
+
"@effect-app/core": "0.10.0",
|
|
27
|
+
"@effect-app/infra-adapters": "0.10.0",
|
|
28
|
+
"@effect-app/schema": "0.10.0"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@babel/cli": "^7.20.7",
|
package/tsconfig.json
CHANGED
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
"./node_modules/@effect-app/core/vendor/effect-io-tsplus.json",
|
|
42
42
|
"./node_modules/@effect-app/core/vendor/effect-stm-tsplus.json",
|
|
43
43
|
"./node_modules/@effect-app/core/vendor/effect-stream-tsplus.json",
|
|
44
|
+
"./node_modules/@effect-app/core/vendor/fp-ts-core-tsplus.json",
|
|
44
45
|
"./node_modules/@effect-app/core/vendor/fp-ts-data-tsplus.json"
|
|
45
46
|
],
|
|
46
47
|
"plugins": [
|