@effect-app/infra 0.11.2 → 0.12.1
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 +24 -0
- package/_cjs/services/Store/Cosmos.cjs.map +1 -1
- package/_cjs/services/Store/Disk.cjs +8 -9
- package/_cjs/services/Store/Disk.cjs.map +1 -1
- package/_cjs/services/Store/Memory.cjs +20 -21
- package/_cjs/services/Store/Memory.cjs.map +1 -1
- package/_cjs/services/Store/Redis.cjs +15 -16
- package/_cjs/services/Store/Redis.cjs.map +1 -1
- package/_cjs/services/Store/service.cjs +6 -7
- package/_cjs/services/Store/service.cjs.map +1 -1
- package/_src/services/Store/Cosmos.ts +1 -1
- package/_src/services/Store/Disk.ts +3 -3
- package/_src/services/Store/Memory.ts +11 -9
- package/_src/services/Store/Redis.ts +9 -9
- package/_src/services/Store/service.ts +7 -7
- package/dist/api/express/makeOpenApiSpecs.d.ts +1 -1
- package/dist/services/Repository.d.ts +7 -7
- package/dist/services/Store/Cosmos.d.ts +1 -2
- package/dist/services/Store/Cosmos.d.ts.map +1 -1
- package/dist/services/Store/Cosmos.js +1 -1
- package/dist/services/Store/Disk.d.ts +1 -2
- package/dist/services/Store/Disk.d.ts.map +1 -1
- package/dist/services/Store/Disk.js +10 -11
- package/dist/services/Store/Memory.d.ts +1 -2
- package/dist/services/Store/Memory.d.ts.map +1 -1
- package/dist/services/Store/Memory.js +21 -22
- package/dist/services/Store/Redis.d.ts +1 -2
- package/dist/services/Store/Redis.d.ts.map +1 -1
- package/dist/services/Store/Redis.js +16 -17
- package/dist/services/Store/service.d.ts +1 -2
- package/dist/services/Store/service.d.ts.map +1 -1
- package/dist/services/Store/service.js +7 -8
- package/dist/services/simpledb/cosmosdb.d.ts +2 -2
- package/dist/services/simpledb/diskdb.d.ts +2 -2
- package/dist/services/simpledb/memdb.d.ts +2 -2
- package/dist/services/simpledb/mongodb.d.ts +2 -2
- package/dist/services/simpledb/redisdb.d.ts +2 -2
- package/dist/services/simpledb/simpledb.d.ts +3 -3
- package/package.json +5 -8
- package/tsconfig.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../_src/services/Store/service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../_src/services/Store/service.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,EAAU,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAGzE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAA;AAErE,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAC3B,UAAU,CAAC,EAAE,SAAS,EAAE,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,CAAA;CAC7C,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,CAAA;AAG9D,MAAM,MAAM,KAAK,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,IAAI,GAAG,QAAQ,CAAC;IAAC,KAAK,EAAE,eAAe,CAAA;CAAE,GAAG;IACjF,GAAG,EAAE,MAAM,CAAA;IACX,CAAC,EAAE,IAAI,GAAG,QAAQ,CAAA;IAClB,KAAK,EAAE,SAAS,CAAC,eAAe,CAAC,EAAE,CAAA;CACpC,CAAA;AAGD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,CAAA;IACnB,KAAK,EAAE,SAAS;QACd,KAAK;QACL,GAAG,CAAC,KAAK,EAAE,CAAC;KACb,CAAA;CACF,CAAA;AACD,MAAM,MAAM,YAAY,CAAC,CAAC,IACtB;IAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IAAC,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,GAAG,CAAA;CAAE,GAC/C;IAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,GAAG,CAAA;CAAE,GAC7C;IAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,GAAG,CAAA;CAAE,CAAA;AACjD,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,WAAW,CAAA;IACjB,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,GAAG,CAAA;CACX,CAAA;AACD,MAAM,MAAM,MAAM,CAAC,CAAC,IAChB,cAAc,GACd,gBAAgB,GAChB,YAAY,CAAC,CAAC,CAAC,CAAA;AAEnB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,oBAAoB,CAAA;IAC1B,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,GAAG,CAAA;CACX,CAAA;AAED,MAAM,WAAW,KAAK,CAAC,EAAE,SAAS,oBAAoB,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,MAAM;IAC3E,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;IACpC,MAAM,EAAE,CACN,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,EAClB,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KACvC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;IACpC,gBAAgB,EAAE,CAAC,CAAC,SAAS,MAAM,EACjC,MAAM,EAAE,gBAAgB,KACrB,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAA;IACzD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IAC/C,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,MAAM,CAAC,KAAK,EAAE,8BAA8B,EAAE,EAAE,CAAC,CAAA;IACjE,QAAQ,EAAE,CACR,KAAK,EAAE,qBAAqB,CAAC,EAAE,CAAC,KAC7B,MAAM,CAAC,KAAK,EAAE,8BAA8B,EAAE,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAA;IAC7E,OAAO,EAAE,CACP,KAAK,EAAE,qBAAqB,CAAC,EAAE,CAAC,KAC7B,MAAM,CAAC,KAAK,EAAE,8BAA8B,EAAE,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAA;IAC7E;;OAEG;IACH,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;CAC9C;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,CAAC,CAAC,SAAS,oBAAoB,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EAAE,EAC1E,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EACpD,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,KACpB,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,GAAG,CAAC,UAAU,CAAC;CAAG;AACzD,eAAO,MAAM,UAAU,EAAE,aAAiC,CAAA;;;;;AAK1D,eAAO,MAAM,OAAO;cAEG,MAAM;cACN,MAAM,QAAQ,MAAM,GAAG,SAAS;;EA4DrD,CAAA;AACF,MAAM,WAAW,UAAW,SAAQ,MAAM,CAAC,OAAO,CAAC,OAAO,OAAO,CAAC;CAAG;AACrE;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,GAAG,CAAC,UAAU,CAAC;CAAG;AACzD,eAAO,MAAM,UAAU,EAAE,aAAiC,CAAA;AAE1D,MAAM,WAAW,oBAAoB,CAAC,EAAE,SAAS,MAAM;IACrD,EAAE,EAAE,EAAE,CAAA;IACN,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,YAAY,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf"}
|
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
import * as tracer_1 from "@effect/io/Debug";
|
|
2
2
|
const fileName_1 = "_src/services/Store/service.ts";
|
|
3
3
|
import * as tsplus_module_1 from "@fp-ts/data/Context";
|
|
4
|
-
import * as tsplus_module_2 from "@effect
|
|
5
|
-
import * as tsplus_module_3 from "@effect/io/Effect";
|
|
4
|
+
import * as tsplus_module_2 from "@effect/io/Effect";
|
|
6
5
|
export const StoreMaker = tsplus_module_1.Tag();
|
|
7
6
|
/**
|
|
8
7
|
* @tsplus static ContextMap.Ops Make
|
|
9
8
|
*/
|
|
10
|
-
export const makeMap = tracer_1.withCallTrace(fileName_1 + ":94:24")(
|
|
11
|
-
const etags =
|
|
9
|
+
export const makeMap = tracer_1.withCallTrace(fileName_1 + ":94:24")(tsplus_module_2.sync(() => {
|
|
10
|
+
const etags = new Map();
|
|
12
11
|
const getEtag = (id) => etags.get(id);
|
|
13
12
|
const setEtag = (id, eTag) => {
|
|
14
13
|
eTag === undefined ? etags.delete(id) : etags.set(id, eTag);
|
|
15
14
|
};
|
|
16
|
-
const parsedCache =
|
|
17
|
-
const parserCache =
|
|
15
|
+
const parsedCache = new Map();
|
|
16
|
+
const parserCache = new Map();
|
|
18
17
|
const setAndReturn = (p, np) => {
|
|
19
18
|
parserCache.set(p, np);
|
|
20
19
|
return np;
|
|
@@ -47,7 +46,7 @@ export const makeMap = tracer_1.withCallTrace(fileName_1 + ":94:24")(tsplus_modu
|
|
|
47
46
|
}
|
|
48
47
|
else {
|
|
49
48
|
const nf = parse(i, parserEnv);
|
|
50
|
-
parsedCache.set(parse,
|
|
49
|
+
parsedCache.set(parse, new Map([[i, nf]]));
|
|
51
50
|
return nf;
|
|
52
51
|
}
|
|
53
52
|
}
|
|
@@ -60,4 +59,4 @@ export const makeMap = tracer_1.withCallTrace(fileName_1 + ":94:24")(tsplus_modu
|
|
|
60
59
|
};
|
|
61
60
|
}));
|
|
62
61
|
export const ContextMap = tsplus_module_1.Tag();
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvc2VydmljZXMvU3RvcmUvc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBd0ZBLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBa0IsZ0JBQUEsR0FBRyxFQUFjLENBQUE7QUFFMUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLGlEQUFHLHFCQUFPLEdBQUcsRUFBRTtJQUNqQyxNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQTtJQUN2QyxNQUFNLE9BQU8sR0FBRyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUM3QyxNQUFNLE9BQU8sR0FBRyxDQUFDLEVBQVUsRUFBRSxJQUF3QixFQUFFLEVBQUU7UUFDdkQsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDN0QsQ0FBQyxDQUFBO0lBRUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxHQUFHLEVBR3hCLENBQUE7SUFFSCxNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsRUFHeEIsQ0FBQTtJQUVILE1BQU0sWUFBWSxHQUFHLENBQ25CLENBQWtCLEVBQ2xCLEVBQStCLEVBQy9CLEVBQUU7UUFDRixXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUN0QixPQUFPLEVBQUUsQ0FBQTtJQUNYLENBQUMsQ0FBQTtJQUVELE1BQU0sU0FBUyxHQUFjO1FBQzNCLCtFQUErRTtRQUMvRSwrSEFBK0g7UUFDL0gsR0FBRyxFQUFFLEtBQUs7UUFDVixLQUFLLEVBQUU7WUFDTCxjQUFjLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDaEcsZUFBZSxFQUFFLE9BQU8sQ0FBQyxFQUFFO2dCQUN6QixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0JBQ3JELElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtvQkFDNUMsT0FBTyxJQUFJLENBQUE7Z0JBQ2IsQ0FBQyxFQUFFLEVBQVMsQ0FBQyxDQUFBO1lBQ2YsQ0FBQztZQUNELFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQU8sRUFBRTtnQkFDMUIsTUFBTSxDQUFDLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtnQkFDaEMsSUFBSSxDQUFDLEVBQUU7b0JBQ0wsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtvQkFDbEIsSUFBSSxDQUFDLEVBQUU7d0JBQ0wsa0NBQWtDO3dCQUNsQyxPQUFPLENBQUMsQ0FBQTtxQkFDVDt5QkFBTTt3QkFDTCxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFBO3dCQUM5QixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTt3QkFDWixPQUFPLEVBQUUsQ0FBQTtxQkFDVjtpQkFDRjtxQkFBTTtvQkFDTCxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFBO29CQUM5QixXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO29CQUMxQyxPQUFPLEVBQUUsQ0FBQTtpQkFDVjtZQUNILENBQUM7U0FDRjtLQUNGLENBQUE7SUFFRCxPQUFPO1FBQ0wsR0FBRyxFQUFFLE9BQU87UUFDWixHQUFHLEVBQUUsT0FBTztRQUNaLFNBQVM7S0FDVixDQUFBO0FBQ0gsQ0FBQyxDQUFDLENBQUEsQ0FBQTtBQU1GLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBa0IsZ0JBQUEsR0FBRyxFQUFjLENBQUEifQ==
|
|
@@ -6,8 +6,8 @@ import type { DBRecord } from "./shared.js";
|
|
|
6
6
|
import { OptimisticLockException } 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>, indexes: IndexingPolicy) => import("@effect/io/Effect").Effect<Cosmos.CosmosClient, unknown, {
|
|
9
|
-
find: (id: string) => import("@effect/io/Effect").Effect<Cosmos.CosmosClient | simpledb.RecordCache
|
|
9
|
+
find: (id: string) => import("@effect/io/Effect").Effect<RDecode | Cosmos.CosmosClient | simpledb.RecordCache, unknown, import("@fp-ts/data/Option").Option<A>>;
|
|
10
10
|
findBy: (parameters: Record<string, string>) => import("@effect/io/Effect").Effect<Cosmos.CosmosClient, unknown, import("@fp-ts/data/Option").Option<any>>;
|
|
11
|
-
save: (record: A) => import("@effect/io/Effect").Effect<Cosmos.CosmosClient | simpledb.RecordCache
|
|
11
|
+
save: (record: A) => import("@effect/io/Effect").Effect<REncode | Cosmos.CosmosClient | simpledb.RecordCache, OptimisticLockException, A>;
|
|
12
12
|
}>;
|
|
13
13
|
//# sourceMappingURL=cosmosdb.d.ts.map
|
|
@@ -4,9 +4,9 @@ import type { DBRecord, Index } from "./shared.js";
|
|
|
4
4
|
import { CouldNotAquireDbLockException } from "./shared.js";
|
|
5
5
|
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
|
-
find: (id: string) => import("@effect/io/Effect").Effect<simpledb.RecordCache
|
|
7
|
+
find: (id: string) => import("@effect/io/Effect").Effect<RDecode | simpledb.RecordCache, 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
|
|
9
|
+
save: (record: A) => import("@effect/io/Effect").Effect<REncode | simpledb.RecordCache, 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
|
|
@@ -5,8 +5,8 @@ import * as MO from "@effect-app/schema";
|
|
|
5
5
|
import type { DBRecord } from "./shared.js";
|
|
6
6
|
import * as simpledb from "./simpledb.js";
|
|
7
7
|
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>) => {
|
|
8
|
-
find: (id: string) => import("@effect/io/Effect").Effect<simpledb.RecordCache
|
|
8
|
+
find: (id: string) => import("@effect/io/Effect").Effect<RDecode | simpledb.RecordCache, MO.CondemnException | simpledb.InvalidStateError, import("@fp-ts/data/Option").Option<A>>;
|
|
9
9
|
findBy: <V extends Partial<A>>(keys: V, eq: import("@fp-ts/data/Equivalence").Equivalence<V>) => import("@effect/io/Effect").Effect<RDecode, MO.CondemnException, import("@fp-ts/data/Option").Option<A & {}>>;
|
|
10
|
-
save: (record: A) => import("@effect/io/Effect").Effect<simpledb.RecordCache
|
|
10
|
+
save: (record: A) => import("@effect/io/Effect").Effect<REncode | simpledb.RecordCache, MO.CondemnException | import("./shared.js").OptimisticLockException | simpledb.InvalidStateError, A>;
|
|
11
11
|
};
|
|
12
12
|
//# sourceMappingURL=memdb.d.ts.map
|
|
@@ -6,8 +6,8 @@ import type { DBRecord } from "./shared.js";
|
|
|
6
6
|
import { OptimisticLockException } 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>, indexes: IndexDescription[]) => import("@effect/io/Effect").Effect<Mongo.MongoClient, unknown, {
|
|
9
|
-
find: (id: string) => import("@effect/io/Effect").Effect<
|
|
9
|
+
find: (id: string) => import("@effect/io/Effect").Effect<RDecode | Mongo.MongoClient | simpledb.RecordCache, unknown, import("@fp-ts/data/Option").Option<A>>;
|
|
10
10
|
findBy: (keys: Record<string, string>) => import("@effect/io/Effect").Effect<Mongo.MongoClient, unknown, import("@fp-ts/data/Option").Option<TKey>>;
|
|
11
|
-
save: (record: A) => import("@effect/io/Effect").Effect<
|
|
11
|
+
save: (record: A) => import("@effect/io/Effect").Effect<REncode | Mongo.MongoClient | simpledb.RecordCache, OptimisticLockException, A>;
|
|
12
12
|
}>;
|
|
13
13
|
//# sourceMappingURL=mongodb.d.ts.map
|
|
@@ -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<RED.RedisClient | simpledb.RecordCache
|
|
9
|
+
find: (id: string) => import("@effect/io/Effect").Effect<RDecode | RED.RedisClient | simpledb.RecordCache, 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<RED.RedisClient | simpledb.RecordCache
|
|
11
|
+
save: (record: A) => import("@effect/io/Effect").Effect<REncode | RED.RedisClient | simpledb.RecordCache, 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>;
|
|
@@ -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<
|
|
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<
|
|
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<R | RDecode | RecordCache, E | InvalidStateError, 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<R | RecordCache, E, A>;
|
|
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<R | RecordCache | Exclude<R2, import("@effect/io/Scope").Scope>, E | E2 | OptimisticLockException | InvalidStateError, A>;
|
|
23
23
|
//# sourceMappingURL=simpledb.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect-app/infra",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"@azure/cosmos": "^3.17.2",
|
|
8
|
-
"@effect-ts/core": "^0.60.5",
|
|
9
|
-
"@effect-ts/system": "^0.57.5",
|
|
10
|
-
"@effect-ts/monocle": "*",
|
|
11
8
|
"@effect/io": "^0.0.66",
|
|
12
9
|
"@fp-ts/core": "^0.0.11",
|
|
13
10
|
"@fp-ts/data": "^0.0.40",
|
|
@@ -22,10 +19,10 @@
|
|
|
22
19
|
"proper-lockfile": "^4.1.2",
|
|
23
20
|
"pure-rand": "^6.0.0",
|
|
24
21
|
"redlock": "^4.2.0",
|
|
25
|
-
"@effect-app/
|
|
26
|
-
"@effect-app/
|
|
27
|
-
"@effect-app/
|
|
28
|
-
"@effect-app/
|
|
22
|
+
"@effect-app/prelude": "0.11.1",
|
|
23
|
+
"@effect-app/core": "0.11.1",
|
|
24
|
+
"@effect-app/infra-adapters": "0.11.1",
|
|
25
|
+
"@effect-app/schema": "0.11.1"
|
|
29
26
|
},
|
|
30
27
|
"devDependencies": {
|
|
31
28
|
"@babel/cli": "^7.20.7",
|
package/tsconfig.json
CHANGED
|
@@ -37,12 +37,12 @@
|
|
|
37
37
|
"downlevelIteration": true,
|
|
38
38
|
"noErrorTruncation": true,
|
|
39
39
|
"tsPlusTypes": [
|
|
40
|
-
"./node_modules/@effect-app/core/vendor/effect-ts-tsplus.json",
|
|
41
40
|
"./node_modules/@effect-app/core/vendor/effect-io-tsplus.json",
|
|
42
41
|
"./node_modules/@effect-app/core/vendor/effect-stm-tsplus.json",
|
|
43
42
|
"./node_modules/@effect-app/core/vendor/effect-stream-tsplus.json",
|
|
44
43
|
"./node_modules/@effect-app/core/vendor/fp-ts-core-tsplus.json",
|
|
45
|
-
"./node_modules/@effect-app/core/vendor/fp-ts-data-tsplus.json"
|
|
44
|
+
"./node_modules/@effect-app/core/vendor/fp-ts-data-tsplus.json",
|
|
45
|
+
"./node_modules/@effect-app/core/vendor/fp-ts-optic-tsplus.json"
|
|
46
46
|
],
|
|
47
47
|
"plugins": [
|
|
48
48
|
{
|