@effect-app/infra 0.102.0 → 0.102.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 +10 -0
- package/_cjs/services/simpledb/memdb.cjs +1 -1
- package/_cjs/services/simpledb/memdb.cjs.map +1 -1
- package/_src/services/simpledb/memdb.ts +1 -5
- package/dist/services/RepositoryBase.d.ts +1 -1
- 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/memdb.d.ts.map +1 -1
- package/dist/services/simpledb/memdb.js +2 -4
- package/dist/services/simpledb/redisdb.d.ts +2 -2
- package/dist/services/simpledb/simpledb.d.ts +2 -2
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# @effect-app/infra
|
|
2
2
|
|
|
3
|
+
## 0.102.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [9efeed84]
|
|
8
|
+
- @effect-app/core@0.75.1
|
|
9
|
+
- @effect-app/infra-adapters@0.64.5
|
|
10
|
+
- @effect-app/prelude@0.77.1
|
|
11
|
+
- @effect-app/schema@0.69.1
|
|
12
|
+
|
|
3
13
|
## 0.102.0
|
|
4
14
|
|
|
5
15
|
### Minor Changes
|
|
@@ -44,7 +44,7 @@ function createContext() {
|
|
|
44
44
|
data: JSON.parse(sdb.data),
|
|
45
45
|
version: sdb.version
|
|
46
46
|
};
|
|
47
|
-
const r = yield* $(tsplus_module_2.exit(tsplus_module_2.
|
|
47
|
+
const r = yield* $(tsplus_module_2.exit(tsplus_module_2.filterOrFail(decode(cr.data), d => eq(keys, d), () => "not equals")));
|
|
48
48
|
if (tsplus_module_4.isSuccess(r)) {
|
|
49
49
|
return r.value;
|
|
50
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memdb.cjs","names":["_Function","require","MO","_interopRequireWildcard","_shared","simpledb","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","storage","makeMap","parseSDB","condemnFail","SerializedDBRecord","Parser","createContext","type","encode","decode","find","findBy","save","store","bogusLock","id","tsplus_module_3","mapOption","flatMapOption","tsplus_module_2","map","getRecordName","_","tsplus_module_1","s","JSON","parse","data","version","keys","eq","gen","$","value","sdb_","sdb","cr","exit","
|
|
1
|
+
{"version":3,"file":"memdb.cjs","names":["_Function","require","MO","_interopRequireWildcard","_shared","simpledb","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","storage","makeMap","parseSDB","condemnFail","SerializedDBRecord","Parser","createContext","type","encode","decode","find","findBy","save","store","bogusLock","id","tsplus_module_3","mapOption","flatMapOption","tsplus_module_2","map","getRecordName","_","tsplus_module_1","s","JSON","parse","data","version","keys","eq","gen","$","value","sdb_","sdb","cr","exit","filterOrFail","d","tsplus_module_4","isSuccess","fromNullable","record","currentVersion","getOrElse","cv","parseInt","toString","getData","flow","stringify","timestamp","Date","flatMap","serialised","acquireRelease","unit"],"sources":["../../../_src/services/simpledb/memdb.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -45,11 +45,7 @@ export function createContext<TKey extends string, EA, A extends DBRecord<TKey>>
|
|
|
45
45
|
const cr = { data: JSON.parse(sdb.data) as EA, version: sdb.version }
|
|
46
46
|
const r = yield* $(
|
|
47
47
|
decode(cr.data)
|
|
48
|
-
.
|
|
49
|
-
eq(keys, d as unknown as V)
|
|
50
|
-
? Effect(d)
|
|
51
|
-
: Effect.fail("not equals")
|
|
52
|
-
)
|
|
48
|
+
.filterOrFail((d) => eq(keys, d as unknown as V), () => "not equals")
|
|
53
49
|
.exit
|
|
54
50
|
)
|
|
55
51
|
if (r.isSuccess()) {
|
|
@@ -113,7 +113,7 @@ export declare function makeRepo<PM extends {
|
|
|
113
113
|
value: A_1;
|
|
114
114
|
readonly S: PM;
|
|
115
115
|
};
|
|
116
|
-
}) => Where | readonly [Where, ...Where[]], mode?: "
|
|
116
|
+
}) => Where | readonly [Where, ...Where[]], mode?: "and" | "or" | undefined) => Filter<PM>;
|
|
117
117
|
};
|
|
118
118
|
/**
|
|
119
119
|
* only use this as a shortcut if you don't have the item already
|
|
@@ -7,8 +7,8 @@ import type { DBRecord } from "./shared.js";
|
|
|
7
7
|
import { OptimisticLockException } from "./shared.js";
|
|
8
8
|
import * as simpledb from "./simpledb.js";
|
|
9
9
|
export declare function createContext<TKey extends string, EA, A extends DBRecord<TKey>>(): <REncode, RDecode, EDecode>(type: string, encode: (record: A) => Effect<REncode, never, EA>, decode: (d: EA) => Effect<RDecode, EDecode, A>, indexes: IndexingPolicy) => import("effect/Effect").Effect<Cosmos.CosmosClient, import("effect/Cause").UnknownException, {
|
|
10
|
-
find: (id: string) => import("effect/Effect").Effect<simpledb.RecordCache | RDecode
|
|
10
|
+
find: (id: string) => import("effect/Effect").Effect<Cosmos.CosmosClient | simpledb.RecordCache | RDecode, import("effect/Cause").UnknownException | simpledb.InvalidStateError, import("effect/Option").Option<A>>;
|
|
11
11
|
findBy: (parameters: Record<string, string>) => import("effect/Effect").Effect<Cosmos.CosmosClient, import("effect/Cause").UnknownException, import("effect/Option").Option<any>>;
|
|
12
|
-
save: (record: A) => import("effect/Effect").Effect<simpledb.RecordCache | REncode
|
|
12
|
+
save: (record: A) => import("effect/Effect").Effect<Cosmos.CosmosClient | simpledb.RecordCache | REncode, OptimisticLockException, A>;
|
|
13
13
|
}>;
|
|
14
14
|
//# 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) => Effect<REncode, never, EA>, decode: (d: EA) => Effect<RDecode, EDecode, A>, schemaVersion: string, makeIndexKey: (r: A) => Index, dir?: string) => {
|
|
7
|
-
find: (id: string) => import("effect/Effect").Effect<
|
|
7
|
+
find: (id: string) => import("effect/Effect").Effect<simpledb.RecordCache | RDecode, simpledb.InvalidStateError, import("effect/Option").Option<A>>;
|
|
8
8
|
findByIndex: (index: Index) => import("effect/Effect").Effect<never, never, import("effect/Option").Option<TKey & {}>>;
|
|
9
|
-
save: (record: A) => import("effect/Effect").Effect<
|
|
9
|
+
save: (record: A) => import("effect/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
|
|
@@ -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) => Effect<REncode, never, EA>, decode: (d: EA) => Effect<RDecode, EDecode, A>) => {
|
|
8
|
-
find: (id: string) => import("effect/Effect").Effect<simpledb.RecordCache
|
|
8
|
+
find: (id: string) => import("effect/Effect").Effect<RDecode | simpledb.RecordCache, MO.CondemnException | simpledb.InvalidStateError, import("effect/Option").Option<A>>;
|
|
9
9
|
findBy: <V extends Partial<A>>(keys: V, eq: Equivalence<V>) => import("effect/Effect").Effect<RDecode, MO.CondemnException, import("effect/Option").Option<A & {}>>;
|
|
10
|
-
save: (record: A) => import("effect/Effect").Effect<simpledb.RecordCache |
|
|
10
|
+
save: (record: A) => import("effect/Effect").Effect<REncode | simpledb.RecordCache, MO.CondemnException | simpledb.InvalidStateError | import("./shared.js").OptimisticLockException, A>;
|
|
11
11
|
};
|
|
12
12
|
//# sourceMappingURL=memdb.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memdb.d.ts","sourceRoot":"","sources":["../../../_src/services/simpledb/memdb.ts"],"names":[],"mappings":";;;AACA,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAExC,OAAO,KAAK,EAAgB,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEzD,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AASzC,wBAAgB,aAAa,CAAC,IAAI,SAAS,MAAM,EAAE,EAAE,EAAE,CAAC,SAAS,QAAQ,CAAC,IAAI,CAAC,uCAErE,MAAM,mBACK,CAAC,KAAK,OAAO,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,cACrC,EAAE,KAAK,OAAO,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;;yCAmBF,CAAC,MAAM,YAAY,CAAC,CAAC;;
|
|
1
|
+
{"version":3,"file":"memdb.d.ts","sourceRoot":"","sources":["../../../_src/services/simpledb/memdb.ts"],"names":[],"mappings":";;;AACA,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAExC,OAAO,KAAK,EAAgB,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEzD,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AASzC,wBAAgB,aAAa,CAAC,IAAI,SAAS,MAAM,EAAE,EAAE,EAAE,CAAC,SAAS,QAAQ,CAAC,IAAI,CAAC,uCAErE,MAAM,mBACK,CAAC,KAAK,OAAO,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,cACrC,EAAE,KAAK,OAAO,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;;yCAmBF,CAAC,MAAM,YAAY,CAAC,CAAC;;EAoCpE"}
|
|
@@ -31,9 +31,7 @@ export function createContext() {
|
|
|
31
31
|
const sdb_ = JSON.parse(value);
|
|
32
32
|
const sdb = yield* $(parseSDB(sdb_));
|
|
33
33
|
const cr = { data: JSON.parse(sdb.data), version: sdb.version };
|
|
34
|
-
const r = yield* $(tsplus_module_2.exit(tsplus_module_2.
|
|
35
|
-
? tsplus_module_2.sync(() => d)
|
|
36
|
-
: tsplus_module_2.fail("not equals"))));
|
|
34
|
+
const r = yield* $(tsplus_module_2.exit(tsplus_module_2.filterOrFail(decode(cr.data), (d) => eq(keys, d), () => "not equals")));
|
|
37
35
|
if (tsplus_module_4.isSuccess(r)) {
|
|
38
36
|
return r.value;
|
|
39
37
|
}
|
|
@@ -51,4 +49,4 @@ export function createContext() {
|
|
|
51
49
|
function bogusLock() {
|
|
52
50
|
return tsplus_module_2.acquireRelease(tsplus_module_2.unit, () => tsplus_module_2.unit);
|
|
53
51
|
}
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtZGIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9fc3JjL3NlcnZpY2VzL3NpbXBsZWRiL21lbWRiLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDaEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUd4QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUN4RSxPQUFPLEtBQUssUUFBUSxNQUFNLGVBQWUsQ0FBQTtBQUd6Qyw0REFBNEQ7QUFDNUQsMkJBQTJCO0FBQzNCLE1BQU0sT0FBTyxHQUFHLE9BQU8sRUFBa0IsQ0FBQTtBQUV6QyxNQUFNLFFBQVEsR0FBZ0MsRUFBRSxDQUFDLFdBQVcsQ0FBM0Msa0JBQWtCLENBQUMsTUFBTSxDQUFrQixDQUFBO0FBRTVELE1BQU0sVUFBVSxhQUFhO0lBQzNCLE9BQU8sQ0FDTCxJQUFZLEVBQ1osTUFBaUQsRUFDakQsTUFBOEMsRUFDOUMsRUFBRTtRQUNGLE9BQU87WUFDTCxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQztZQUN2QyxNQUFNO1lBQ04sSUFBSSxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDO1NBQ25ELENBQUE7UUFFRCxTQUFTLElBQUksQ0FBQyxFQUFVO1lBQ3RCLE9BQU8sMEJBQUEsOEJBQUEsb0JBQUEsT0FBTztpQkFDWCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUN6QixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsb0JBQUEsQ0FBQyxFQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FB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
|
|
@@ -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) => Effect<REncode, never, EA>, decode: (d: EA) => Effect<RDecode, EDecode, A>, schemaVersion: string, makeIndexKey: (r: A) => Index) => {
|
|
9
|
-
find: (id: string) => import("effect/Effect").Effect<simpledb.RecordCache | RDecode
|
|
9
|
+
find: (id: string) => import("effect/Effect").Effect<RedisClient | simpledb.RecordCache | RDecode, simpledb.InvalidStateError, import("effect/Option").Option<A>>;
|
|
10
10
|
findByIndex: (index: Index) => import("effect/Effect").Effect<RedisClient, import("@effect-app/infra-adapters/redis-client").ConnectionException, import("effect/Option").Option<TKey>>;
|
|
11
|
-
save: (record: A) => import("effect/Effect").Effect<simpledb.RecordCache | REncode
|
|
11
|
+
save: (record: A) => import("effect/Effect").Effect<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<MO.ToProps<{
|
|
14
14
|
version: MO.Property<MO.SchemaDefaultSchema<unknown, string, string, string, {}>, "required", import("effect/Option").None<any>, import("effect/Option").None<any>>;
|
|
@@ -17,7 +17,7 @@ export interface RecordCache extends ReturnType<typeof makeLiveRecordCache> {
|
|
|
17
17
|
}
|
|
18
18
|
export declare const RecordCache: import("effect/Context").Tag<RecordCache, RecordCache>;
|
|
19
19
|
export declare const LiveRecordCache: import("effect/Layer").Layer<never, never, RecordCache>;
|
|
20
|
-
export declare function find<R, RDecode, EDecode, E, EA, A>(tryRead: (id: string) => Effect<R, E, Option<CachedRecord<EA>>>, decode: (d: EA) => Effect<RDecode, EDecode, A>, type: string): (id: string) => import("effect/Effect").Effect<
|
|
20
|
+
export declare function find<R, RDecode, EDecode, E, EA, A>(tryRead: (id: string) => Effect<R, E, Option<CachedRecord<EA>>>, decode: (d: EA) => Effect<RDecode, EDecode, A>, type: string): (id: string) => import("effect/Effect").Effect<RecordCache | R | RDecode, InvalidStateError | E, import("effect/Option").Option<A>>;
|
|
21
21
|
export declare function storeDirectly<R, E, TKey extends string, A extends DBRecord<TKey>>(save: (r: A, version: Option<Version>) => Effect<R, E, CachedRecord<A>>, type: string): (record: A) => import("effect/Effect").Effect<RecordCache | R, 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, Option<CachedRecord<EA>>>, save: (r: A, version: Option<Version>) => Effect<R, E, CachedRecord<A>>, lock: (id: string) => Effect<R2 | Scope, E2, unknown>, type: string): (record: A) => import("effect/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, Option<CachedRecord<EA>>>, save: (r: A, version: Option<Version>) => Effect<R, E, CachedRecord<A>>, lock: (id: string) => Effect<R2 | Scope, E2, unknown>, type: string): (record: A) => import("effect/Effect").Effect<RecordCache | R | Exclude<R2, import("effect/Scope").Scope>, OptimisticLockException | InvalidStateError | E | E2, A>;
|
|
23
23
|
//# sourceMappingURL=simpledb.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect-app/infra",
|
|
3
|
-
"version": "0.102.
|
|
3
|
+
"version": "0.102.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
@@ -18,16 +18,16 @@
|
|
|
18
18
|
"proper-lockfile": "^4.1.2",
|
|
19
19
|
"pure-rand": "6.0.4",
|
|
20
20
|
"redlock": "^4.2.0",
|
|
21
|
-
"@effect-app/core": "0.75.
|
|
22
|
-
"@effect-app/
|
|
23
|
-
"@effect-app/
|
|
24
|
-
"@effect-app/
|
|
21
|
+
"@effect-app/core": "0.75.1",
|
|
22
|
+
"@effect-app/infra-adapters": "0.64.5",
|
|
23
|
+
"@effect-app/prelude": "0.77.1",
|
|
24
|
+
"@effect-app/schema": "0.69.1"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@babel/cli": "^7.23.4",
|
|
28
28
|
"@sentry/node": "^7.81.1",
|
|
29
29
|
"@types/express": "^4.17.21",
|
|
30
|
-
"@types/node": "~20.
|
|
30
|
+
"@types/node": "~20.10.0",
|
|
31
31
|
"@types/proper-lockfile": "^4.1.4",
|
|
32
32
|
"@types/redis": "^2.8.32",
|
|
33
33
|
"@types/redlock": "^4.0.7",
|