@effect-app/infra 0.8.1 → 0.9.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 +22 -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 +3 -5
- package/_cjs/api/express/makeOpenApiSpecs.cjs.map +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 +14 -5
- package/_cjs/api/reportError.cjs.map +1 -1
- package/_cjs/api/routing.cjs +5 -5
- package/_cjs/api/routing.cjs.map +1 -1
- package/_cjs/api/setupRequest.cjs +3 -3
- package/_cjs/api/setupRequest.cjs.map +1 -1
- package/_cjs/api/writeDocs.cjs +3 -3
- package/_cjs/errorReporter.cjs +1 -1
- package/_cjs/instrument.cjs +2 -2
- package/_cjs/instrument.cjs.map +1 -1
- package/_cjs/rateLimit.cjs +32 -25
- package/_cjs/rateLimit.cjs.map +1 -1
- package/_cjs/services/Emailer/Sendgrid.cjs +8 -7
- package/_cjs/services/Emailer/Sendgrid.cjs.map +1 -1
- package/_cjs/services/Emailer/fake.cjs +3 -2
- package/_cjs/services/Emailer/fake.cjs.map +1 -1
- package/_cjs/services/Repository.cjs +1 -1
- package/_cjs/services/Store/Cosmos.cjs +2 -2
- package/_cjs/services/Store/Cosmos.cjs.map +1 -1
- package/_cjs/services/Store/Disk.cjs +4 -3
- package/_cjs/services/Store/Disk.cjs.map +1 -1
- package/_cjs/services/Store/Memory.cjs +5 -5
- package/_cjs/services/Store/Memory.cjs.map +1 -1
- package/_cjs/services/Store/Redis.cjs +23 -23
- package/_cjs/services/Store/Redis.cjs.map +1 -1
- package/_cjs/services/Store/index.cjs +5 -6
- package/_cjs/services/Store/index.cjs.map +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 +2 -2
- package/_cjs/services/simpledb/memdb.cjs +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 +2 -2
- package/_cjs/services/simpledb/simpledb.cjs.map +1 -1
- package/_src/api/express/makeOpenApiSpecs.ts +1 -2
- package/_src/api/routing.ts +1 -1
- package/_src/api/setupRequest.ts +1 -1
- package/_src/api/writeDocs.ts +1 -1
- package/_src/instrument.ts +1 -1
- package/_src/rateLimit.ts +24 -24
- package/_src/services/Store/Disk.ts +1 -1
- package/_src/services/simpledb/diskdb.ts +1 -1
- 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.d.ts.map +1 -1
- package/dist/api/express/makeOpenApiSpecs.js +3 -5
- package/dist/api/express/schema/requestHandler.js +1 -1
- package/dist/api/express/schema/routing.js +1 -1
- package/dist/api/reportError.js +14 -4
- package/dist/api/routing.d.ts +1 -1
- package/dist/api/routing.d.ts.map +1 -1
- package/dist/api/routing.js +6 -6
- package/dist/api/setupRequest.js +4 -4
- package/dist/api/writeDocs.js +3 -3
- package/dist/errorReporter.js +1 -1
- package/dist/instrument.js +3 -3
- package/dist/rateLimit.d.ts +1 -12
- package/dist/rateLimit.d.ts.map +1 -1
- package/dist/rateLimit.js +33 -25
- package/dist/services/Emailer/Sendgrid.js +9 -8
- package/dist/services/Emailer/fake.js +4 -3
- package/dist/services/Repository.js +1 -1
- package/dist/services/Store/Cosmos.js +3 -3
- package/dist/services/Store/Disk.js +5 -4
- package/dist/services/Store/Memory.js +6 -6
- package/dist/services/Store/Redis.js +24 -24
- package/dist/services/Store/index.js +6 -7
- package/dist/services/Store/service.js +1 -1
- package/dist/services/Store/utils.js +1 -1
- package/dist/services/simpledb/cosmosdb.d.ts +2 -2
- package/dist/services/simpledb/cosmosdb.js +1 -1
- package/dist/services/simpledb/diskdb.d.ts +1 -1
- package/dist/services/simpledb/diskdb.js +3 -3
- package/dist/services/simpledb/memdb.js +1 -1
- package/dist/services/simpledb/mongodb.js +1 -1
- package/dist/services/simpledb/redisdb.d.ts +2 -2
- package/dist/services/simpledb/redisdb.js +1 -1
- package/dist/services/simpledb/shared.js +1 -1
- package/dist/services/simpledb/simpledb.d.ts +2 -2
- package/dist/services/simpledb/simpledb.js +3 -3
- package/package.json +8 -18
- package/_cjs/services/simpledb/fileutil.cjs +0 -36
- package/_cjs/services/simpledb/fileutil.cjs.map +0 -1
- package/_src/services/simpledb/fileutil.ts +0 -28
- package/dist/services/simpledb/fileutil.d.ts +0 -7
- package/dist/services/simpledb/fileutil.d.ts.map +0 -1
- package/dist/services/simpledb/fileutil.js +0 -25
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as tracer_1 from "@effect/io/Debug";
|
|
2
|
-
const fileName_1 = "_src/services/simpledb/cosmosdb.ts";
|
|
2
|
+
const fileName_1 = "packages/infra/_src/services/simpledb/cosmosdb.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 "@fp-ts/data/ReadonlyArray";
|
|
@@ -6,7 +6,7 @@ import * as simpledb from "./simpledb.js";
|
|
|
6
6
|
export declare function createContext<TKey extends string, EA, A extends DBRecord<TKey>>(): <REncode, RDecode, EDecode>(type: string, encode: (record: A) => import("@effect/io/Effect").Effect<REncode, never, EA>, decode: (d: EA) => import("@effect/io/Effect").Effect<RDecode, EDecode, A>, schemaVersion: string, makeIndexKey: (r: A) => Index, dir?: string) => {
|
|
7
7
|
find: (id: string) => import("@effect/io/Effect").Effect<simpledb.RecordCache | RDecode, simpledb.InvalidStateError, import("@fp-ts/data/Option").Option<A>>;
|
|
8
8
|
findByIndex: (index: Index) => import("@effect/io/Effect").Effect<never, never, import("@fp-ts/data/Option").Option<TKey & {}>>;
|
|
9
|
-
save: (record: A) => import("@effect/io/Effect").Effect<simpledb.RecordCache | REncode, import("./shared.js").OptimisticLockException | simpledb.InvalidStateError
|
|
9
|
+
save: (record: A) => import("@effect/io/Effect").Effect<simpledb.RecordCache | REncode, CouldNotAquireDbLockException | import("./shared.js").OptimisticLockException | simpledb.InvalidStateError, A>;
|
|
10
10
|
};
|
|
11
11
|
export declare function initialise(dir: string): void;
|
|
12
12
|
//# sourceMappingURL=diskdb.d.ts.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as tracer_1 from "@effect/io/Debug";
|
|
2
|
-
const fileName_1 = "_src/services/simpledb/diskdb.ts";
|
|
2
|
+
const fileName_1 = "packages/infra/_src/services/simpledb/diskdb.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 { flow, pipe } from "@effect-app/core/Function";
|
|
6
6
|
import fs from "fs";
|
|
7
7
|
import * as PLF from "proper-lockfile";
|
|
8
8
|
import { pretty } from "@effect-app/core/utils";
|
|
9
|
-
import * as fu from "
|
|
9
|
+
import * as fu from "@effect-app/infra-adapters/fileUtil";
|
|
10
10
|
import { ConnectionException, CouldNotAquireDbLockException, getIndexName, getRecordName } from "./shared.js";
|
|
11
11
|
import * as simpledb from "./simpledb.js";
|
|
12
12
|
export function createContext() {
|
|
@@ -93,4 +93,4 @@ export function initialise(dir) {
|
|
|
93
93
|
}
|
|
94
94
|
initialised = true;
|
|
95
95
|
}
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlza2RiLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vX3NyYy9zZXJ2aWNlcy9zaW1wbGVkYi9kaXNrZGIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDdEQsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFBO0FBQ25CLE9BQU8sS0FBSyxHQUFHLE1BQU0saUJBQWlCLENBQUE7QUFFdEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQy9DLE9BQU8sS0FBSyxFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFFekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLDZCQUE2QixFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDN0csT0FBTyxLQUFLLFFBQVEsTUFBTSxlQUFlLENBQUE7QUFHekMsTUFBTSxVQUFVLGFBQWE7SUFDM0IsT0FBTyxDQUNMLElBQVksRUFDWixNQUFpRCxFQUNqRCxNQUE4QyxFQUM5QyxhQUFxQixFQUNyQixZQUE2QixFQUM3QixHQUFHLEdBQUcsV0FBVyxFQUNqQixFQUFFO1FBQ0YsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ2YsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFBO1FBQ2hDLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUE7UUFDaEQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDL0IsRUFBRSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFBO1NBQzNDO1FBRUQsT0FBTztZQUNMLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDO1lBQzdDLFdBQVcs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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as tracer_1 from "@effect/io/Debug";
|
|
2
|
-
const fileName_1 = "_src/services/simpledb/memdb.ts";
|
|
2
|
+
const fileName_1 = "packages/infra/_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";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as tracer_1 from "@effect/io/Debug";
|
|
2
|
-
const fileName_1 = "_src/services/simpledb/mongodb.ts";
|
|
2
|
+
const fileName_1 = "packages/infra/_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";
|
|
@@ -6,9 +6,9 @@ import type { DBRecord, Index } from "./shared.js";
|
|
|
6
6
|
import { CouldNotAquireDbLockException } from "./shared.js";
|
|
7
7
|
import * as simpledb from "./simpledb.js";
|
|
8
8
|
export declare function createContext<TKey extends string, EA, A extends DBRecord<TKey>>(): <REncode, RDecode, EDecode>(type: string, encode: (record: A) => import("@effect/io/Effect").Effect<REncode, never, EA>, decode: (d: EA) => import("@effect/io/Effect").Effect<RDecode, EDecode, A>, schemaVersion: string, makeIndexKey: (r: A) => Index) => {
|
|
9
|
-
find: (id: string) => import("@effect/io/Effect").Effect<simpledb.RecordCache | RDecode
|
|
9
|
+
find: (id: string) => import("@effect/io/Effect").Effect<RED.RedisClient | simpledb.RecordCache | RDecode, simpledb.InvalidStateError, import("@fp-ts/data/Option").Option<A>>;
|
|
10
10
|
findByIndex: (index: Index) => import("@effect/io/Effect").Effect<RED.RedisClient, RED.ConnectionException, import("@fp-ts/data/Option").Option<TKey>>;
|
|
11
|
-
save: (record: A) => import("@effect/io/Effect").Effect<simpledb.RecordCache | REncode |
|
|
11
|
+
save: (record: A) => import("@effect/io/Effect").Effect<RED.RedisClient | simpledb.RecordCache | REncode, CouldNotAquireDbLockException | import("./shared.js").OptimisticLockException | simpledb.InvalidStateError, A>;
|
|
12
12
|
};
|
|
13
13
|
declare const RedisSerializedDBRecord_base: MO.Model<RedisSerializedDBRecord, MO.SchemaProperties<{
|
|
14
14
|
version: MO.Property<MO.SchemaDefaultSchema<unknown, string, string, string, {}>, "required", import("@fp-ts/data/Option").None, import("@fp-ts/data/Option").None>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as tracer_1 from "@effect/io/Debug";
|
|
2
|
-
const fileName_1 = "_src/services/simpledb/redisdb.ts";
|
|
2
|
+
const fileName_1 = "packages/infra/_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 = "_src/services/simpledb/shared.ts";
|
|
2
|
+
const fileName_1 = "packages/infra/_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";
|
|
@@ -17,7 +17,7 @@ export interface RecordCache extends ReturnType<typeof makeLiveRecordCache> {
|
|
|
17
17
|
}
|
|
18
18
|
export declare const RecordCache: import("@fp-ts/data/Context").Tag<RecordCache>;
|
|
19
19
|
export declare const LiveRecordCache: import("@effect/io/Layer").Layer<never, never, RecordCache>;
|
|
20
|
-
export declare function find<R, RDecode, EDecode, E, EA, A>(tryRead: (id: string) => Effect<R, E, Opt<CachedRecord<EA>>>, decode: (d: EA) => Effect<RDecode, EDecode, A>, type: string): (id: string) => import("@effect/io/Effect").Effect<
|
|
21
|
-
export declare function storeDirectly<R, E, TKey extends string, A extends DBRecord<TKey>>(save: (r: A, version: Opt<Version>) => Effect<R, E, CachedRecord<A>>, type: string): (record: A) => import("@effect/io/Effect").Effect<
|
|
20
|
+
export declare function find<R, RDecode, EDecode, E, EA, A>(tryRead: (id: string) => Effect<R, E, Opt<CachedRecord<EA>>>, decode: (d: EA) => Effect<RDecode, EDecode, A>, type: string): (id: string) => import("@effect/io/Effect").Effect<RecordCache | R | RDecode, InvalidStateError | E, import("@fp-ts/data/Option").Option<A>>;
|
|
21
|
+
export declare function storeDirectly<R, E, TKey extends string, A extends DBRecord<TKey>>(save: (r: A, version: Opt<Version>) => Effect<R, E, CachedRecord<A>>, type: string): (record: A) => import("@effect/io/Effect").Effect<RecordCache | R, E, A>;
|
|
22
22
|
export declare function store<R, E, R2, E2, TKey extends string, EA, A extends DBRecord<TKey>>(tryRead: (id: string) => Effect<R, E, Opt<CachedRecord<EA>>>, save: (r: A, version: Opt<Version>) => Effect<R, E, CachedRecord<A>>, lock: (id: string) => Effect<R2 | Scope, E2, unknown>, type: string): (record: A) => import("@effect/io/Effect").Effect<RecordCache | R | Exclude<R2, import("@effect/io/Scope").Scope>, OptimisticLockException | InvalidStateError | E | E2, A>;
|
|
23
23
|
//# sourceMappingURL=simpledb.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as tracer_1 from "@effect/io/Debug";
|
|
2
|
-
const fileName_1 = "_src/services/simpledb/simpledb.ts";
|
|
2
|
+
const fileName_1 = "packages/infra/_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";
|
|
@@ -28,7 +28,7 @@ export function makeLiveRecordCache() {
|
|
|
28
28
|
}
|
|
29
29
|
// module tag
|
|
30
30
|
export const RecordCache = tsplus_module_2.Tag();
|
|
31
|
-
export const LiveRecordCache =
|
|
31
|
+
export const LiveRecordCache = tsplus_module_3.toLayer(tracer_1.withCallTrace(fileName_1 + ":31:32")(tsplus_module_1.sync(() => makeLiveRecordCache())), RecordCache);
|
|
32
32
|
const getM = (type) => (eff) => tracer_1.withCallTrace(fileName_1 + ":35:12")(tsplus_module_1.gen(function* ($) {
|
|
33
33
|
const { get } = yield* $(tsplus_module_1.service(RecordCache));
|
|
34
34
|
return yield* $(tracer_1.withCallTrace(fileName_1 + ":37:36")(tsplus_module_1.flatMap(eff))(get(type)));
|
|
@@ -53,4 +53,4 @@ export function store(tryRead, save, lock, type) {
|
|
|
53
53
|
? tracer_1.withCallTrace(fileName_1 + ":111:24")(tsplus_module_1.fail(new OptimisticLockException(type, record.id))) : tsplus_module_3.unit))(tracer_1.withCallTrace(fileName_1 + ":103:12")(tsplus_module_1.flatMap(_ => tsplus_module_4.match(() => tracer_1.withCallTrace(fileName_1 + ":105:28")(tsplus_module_1.fail(new InvalidStateError("record is gone"))), tsplus_module_1.succeed)(_)))(tryRead(record.id))))))(lock(record.id)));
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlZGIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9fc3JjL3NlcnZpY2VzL3NpbXBsZWRiL3NpbXBsZWRiLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFHOUQsTUFBTSxPQUFPLGlCQUFpQjtJQUU1QixZQUFxQixPQUFlLEVBQVcsT0FBaUI7UUFBM0MsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUFXLFlBQU8sR0FBUCxPQUFPLENBQVU7UUFEdkQsU0FBSSxHQUFHLG1CQUFtQixDQUFBO0lBQ2dDLENBQUM7Q0FDckU7QUFFRCxNQUFNLFVBQVUsbUJBQW1CO0lBQ2pDLE1BQU0sQ0FBQyxHQUFHLElBQUksR0FBRyxFQUFzQyxDQUFBO0lBQ3ZELE9BQU87UUFDTCxHQUFHLEVBQUUsQ0FBSSxJQUFZLEVBQUUsRUFBRSw4Q0FDdkIscUJBQU8sR0FBRyxFQUFFO1lBQ1YsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUN0QixJQUFJLENBQUMsRUFBRSxFQUFFO2dCQUNQLE1BQU0sRUFBRSxHQUFHLE9BQU8sRUFBbUIsQ0FBQTtnQkFDckMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUE7Z0JBQ2YsT0FBTyxFQUF3QyxDQUFBO2FBQ2hEO1lBQ0QsT0FBTyxFQUF3QyxDQUFBO1FBQ2pELENBQUMsQ0FBQyxDQUFBO0tBQ0wsQ0FBQTtBQUNILENBQUM7QUFJRCxhQUFhO0FBQ2IsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLGdCQUFBLEdBQUcsRUFBZSxDQUFBO0FBRTdDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxzRUFBQSwyQkFBTyxtQkFBbUIsRUFBRSxDQUFDLEdBQVMsV0FBVyxDQUFDLENBQUE7QUFFakYsTUFBTSxJQUFJLEdBQUcsQ0FBSSxJQUFZ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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect-app/infra",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
@@ -8,24 +8,24 @@
|
|
|
8
8
|
"@effect-ts/core": "^0.60.5",
|
|
9
9
|
"@effect-ts/system": "^0.57.5",
|
|
10
10
|
"@effect-ts/monocle": "*",
|
|
11
|
-
"@effect/io": "^0.0.
|
|
11
|
+
"@effect/io": "^0.0.66",
|
|
12
12
|
"@fp-ts/core": "^0.0.11",
|
|
13
|
-
"@fp-ts/data": "^0.0.
|
|
13
|
+
"@fp-ts/data": "^0.0.40",
|
|
14
14
|
"@sendgrid/helpers": "^7.7.0",
|
|
15
15
|
"@sendgrid/mail": "^7.7.0",
|
|
16
16
|
"change-case": "^4.1.2",
|
|
17
17
|
"cross-fetch": "^3.1.5",
|
|
18
18
|
"faker": "^5.5.3",
|
|
19
|
-
"fast-check": "^3.6.
|
|
19
|
+
"fast-check": "^3.6.2",
|
|
20
20
|
"object-hash": "^3.0.0",
|
|
21
21
|
"path-parser": "^6.1.0",
|
|
22
22
|
"proper-lockfile": "^4.1.2",
|
|
23
23
|
"pure-rand": "^6.0.0",
|
|
24
24
|
"redlock": "^4.2.0",
|
|
25
|
-
"@effect-app/
|
|
26
|
-
"@effect-app/
|
|
27
|
-
"@effect-app/
|
|
28
|
-
"@effect-app/
|
|
25
|
+
"@effect-app/prelude": "0.8.0",
|
|
26
|
+
"@effect-app/core": "0.8.0",
|
|
27
|
+
"@effect-app/infra-adapters": "0.9.0",
|
|
28
|
+
"@effect-app/schema": "0.8.0"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@babel/cli": "^7.20.7",
|
|
@@ -535,16 +535,6 @@
|
|
|
535
535
|
"default": "./_cjs/services/simpledb/diskdb.cjs"
|
|
536
536
|
}
|
|
537
537
|
},
|
|
538
|
-
"./services/simpledb/fileutil": {
|
|
539
|
-
"import": {
|
|
540
|
-
"types": "./dist/services/simpledb/fileutil.d.ts",
|
|
541
|
-
"default": "./dist/services/simpledb/fileutil.js"
|
|
542
|
-
},
|
|
543
|
-
"require": {
|
|
544
|
-
"types": "./dist/services/simpledb/fileutil.d.ts",
|
|
545
|
-
"default": "./_cjs/services/simpledb/fileutil.cjs"
|
|
546
|
-
}
|
|
547
|
-
},
|
|
548
538
|
"./services/simpledb/index": {
|
|
549
539
|
"import": {
|
|
550
540
|
"types": "./dist/services/simpledb/index.d.ts",
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.fileExists = fileExists;
|
|
7
|
-
exports.readTextFile = readTextFile;
|
|
8
|
-
exports.writeTextFile = writeTextFile;
|
|
9
|
-
var tracer_1 = _interopRequireWildcard(require("@effect/io/Debug"));
|
|
10
|
-
var tsplus_module_1 = _interopRequireWildcard(require("@effect/io/Effect"));
|
|
11
|
-
var _fs = _interopRequireDefault(require("fs"));
|
|
12
|
-
var _util = require("util");
|
|
13
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
16
|
-
const fileName_1 = "_src/services/simpledb/fileutil.ts";
|
|
17
|
-
const readFile = (0, _util.promisify)(_fs.default.readFile);
|
|
18
|
-
const writeFile = (0, _util.promisify)(_fs.default.writeFile);
|
|
19
|
-
const rename = (0, _util.promisify)(_fs.default.rename);
|
|
20
|
-
const exists = (0, _util.promisify)(_fs.default.exists);
|
|
21
|
-
// const mkdir = promisify(fs.mkdir)
|
|
22
|
-
// const unlinkFile = promisify(fs.unlink)
|
|
23
|
-
/**
|
|
24
|
-
* Safe write file to .tmp and then rename
|
|
25
|
-
*/
|
|
26
|
-
function writeTextFile(fileName, content) {
|
|
27
|
-
const tmp = fileName + ".tmp";
|
|
28
|
-
return tsplus_module_1.orDie(tsplus_module_1.zipRight(tracer_1.withCallTrace(fileName_1 + ":18:14")(tsplus_module_1.tryPromise(() => rename(tmp, fileName))))(tracer_1.withCallTrace(fileName_1 + ":17:12")(tsplus_module_1.tryPromise(() => writeFile(tmp, content, "utf-8")))));
|
|
29
|
-
}
|
|
30
|
-
function fileExists(fileName) {
|
|
31
|
-
return tsplus_module_1.orDie(tracer_1.withCallTrace(fileName_1 + ":23:17")(tsplus_module_1.tryPromise(() => exists(fileName))));
|
|
32
|
-
}
|
|
33
|
-
function readTextFile(fileName) {
|
|
34
|
-
return tracer_1.withCallTrace(fileName_1 + ":27:17")(tsplus_module_1.tryPromise(() => readFile(fileName, "utf-8")));
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=fileutil.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fileutil.cjs","mappings":";;;;;;;;;;AAAA;AACA;AAAgC;AAAA;AAAA;;AAEhC,MAAMA,QAAQ,GAAG,mBAAS,EAACC,WAAE,CAACD,QAAQ,CAAC;AACvC,MAAME,SAAS,GAAG,mBAAS,EAACD,WAAE,CAACC,SAAS,CAAC;AACzC,MAAMC,MAAM,GAAG,mBAAS,EAACF,WAAE,CAACE,MAAM,CAAC;AACnC,MAAMC,MAAM,GAAG,mBAAS,EAACH,WAAE,CAACG,MAAM,CAAC;AACnC;AACA;AAEA;;;AAGM,SAAUC,aAAa,CAACC,QAAgB,EAAEC,OAAe;EAC7D,MAAMC,GAAG,GAAGF,QAAQ,GAAG,MAAM;EAC7B,6BAAOG,uEAEHA,2BAAkB,MAAMN,MAAM,CAACK,GAAG,EAAEF,QAAQ,CAAC,CAAC,iDADhDG,2BAAkB,MAAMP,SAAS,CAACM,GAAG,EAAED,OAAO,EAAE,OAAO,CAAC,CAAC,GAE1D;AACH;AAEM,SAAUG,UAAU,CAACJ,QAAgB;EACzC,2EAAOG,2BAAkB,MAAML,MAAM,CAACE,QAAQ,CAAC,CAAC;AAClD;AAEM,SAAUK,YAAY,CAACL,QAAgB;EAC3C,qDAAOG,2BAAkB,MAAMT,QAAQ,CAACM,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC7D","names":["readFile","fs","writeFile","rename","exists","writeTextFile","fileName","content","tmp","tsplus_module_1","fileExists","readTextFile"],"sourceRoot":"","sources":["../../../_src/services/simpledb/fileutil.ts"],"sourcesContent":[null]}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import fs from "fs"
|
|
2
|
-
import { promisify } from "util"
|
|
3
|
-
|
|
4
|
-
const readFile = promisify(fs.readFile)
|
|
5
|
-
const writeFile = promisify(fs.writeFile)
|
|
6
|
-
const rename = promisify(fs.rename)
|
|
7
|
-
const exists = promisify(fs.exists)
|
|
8
|
-
// const mkdir = promisify(fs.mkdir)
|
|
9
|
-
// const unlinkFile = promisify(fs.unlink)
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Safe write file to .tmp and then rename
|
|
13
|
-
*/
|
|
14
|
-
export function writeTextFile(fileName: string, content: string) {
|
|
15
|
-
const tmp = fileName + ".tmp"
|
|
16
|
-
return (
|
|
17
|
-
Effect.tryPromise(() => writeFile(tmp, content, "utf-8")) >
|
|
18
|
-
Effect.tryPromise(() => rename(tmp, fileName))
|
|
19
|
-
).orDie
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export function fileExists(fileName: string) {
|
|
23
|
-
return Effect.tryPromise(() => exists(fileName)).orDie
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export function readTextFile(fileName: string) {
|
|
27
|
-
return Effect.tryPromise(() => readFile(fileName, "utf-8"))
|
|
28
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Safe write file to .tmp and then rename
|
|
3
|
-
*/
|
|
4
|
-
export declare function writeTextFile(fileName: string, content: string): import("@effect/io/Effect").Effect<never, never, void>;
|
|
5
|
-
export declare function fileExists(fileName: string): import("@effect/io/Effect").Effect<never, never, boolean>;
|
|
6
|
-
export declare function readTextFile(fileName: string): import("@effect/io/Effect").Effect<never, unknown, string>;
|
|
7
|
-
//# sourceMappingURL=fileutil.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fileutil.d.ts","sourceRoot":"","sources":["../../../_src/services/simpledb/fileutil.ts"],"names":[],"mappings":"AAUA;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,0DAM9D;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,6DAE1C;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,8DAE5C"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import * as tracer_1 from "@effect/io/Debug";
|
|
2
|
-
const fileName_1 = "_src/services/simpledb/fileutil.ts";
|
|
3
|
-
import * as tsplus_module_1 from "@effect/io/Effect";
|
|
4
|
-
import fs from "fs";
|
|
5
|
-
import { promisify } from "util";
|
|
6
|
-
const readFile = promisify(fs.readFile);
|
|
7
|
-
const writeFile = promisify(fs.writeFile);
|
|
8
|
-
const rename = promisify(fs.rename);
|
|
9
|
-
const exists = promisify(fs.exists);
|
|
10
|
-
// const mkdir = promisify(fs.mkdir)
|
|
11
|
-
// const unlinkFile = promisify(fs.unlink)
|
|
12
|
-
/**
|
|
13
|
-
* Safe write file to .tmp and then rename
|
|
14
|
-
*/
|
|
15
|
-
export function writeTextFile(fileName, content) {
|
|
16
|
-
const tmp = fileName + ".tmp";
|
|
17
|
-
return tsplus_module_1.orDie((tsplus_module_1.zipRight(tracer_1.withCallTrace(fileName_1 + ":18:14")(tsplus_module_1.tryPromise(() => rename(tmp, fileName))))(tracer_1.withCallTrace(fileName_1 + ":17:12")(tsplus_module_1.tryPromise(() => writeFile(tmp, content, "utf-8"))))));
|
|
18
|
-
}
|
|
19
|
-
export function fileExists(fileName) {
|
|
20
|
-
return tsplus_module_1.orDie(tracer_1.withCallTrace(fileName_1 + ":23:17")(tsplus_module_1.tryPromise(() => exists(fileName))));
|
|
21
|
-
}
|
|
22
|
-
export function readTextFile(fileName) {
|
|
23
|
-
return tracer_1.withCallTrace(fileName_1 + ":27:17")(tsplus_module_1.tryPromise(() => readFile(fileName, "utf-8")));
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9fc3JjL3NlcnZpY2VzL3NpbXBsZWRiL2ZpbGV1dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQTtBQUNuQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBRWhDLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUE7QUFDdkMsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUN6QyxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0FBQ25DLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUE7QUFDbkMsb0NBQW9DO0FBQ3BDLDBDQUEwQztBQUUxQzs7R0FFRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsUUFBZ0IsRUFBRSxPQUFlO0lBQzdELE1BQU0sR0FBRyxHQUFHLFFBQVEsR0FBRyxNQUFNLENBQUE7SUFDN0IsNkJBQU8sd0VBRUgsMkJBQWtCLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUMsaURBRGhELDJCQUFrQixHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxHQUUxRCxFQUFNO0FBQ1QsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsUUFBZ0I7SUFDekMsMkVBQU8sMkJBQWtCLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFNO0FBQ3hELENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLFFBQWdCO0lBQzNDLHFEQUFPLDJCQUFrQixHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLEVBQUE7QUFDN0QsQ0FBQyJ9
|