@effect-app/infra 0.10.0 → 0.11.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/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 +1 -1
- package/_cjs/services/Emailer/fake.cjs +1 -1
- package/_cjs/services/Repository.cjs +1 -1
- package/_cjs/services/Store/Cosmos.cjs +4 -5
- 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 +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/Store/Cosmos.ts +0 -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 +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 +1 -1
- package/dist/services/Emailer/fake.js +1 -1
- package/dist/services/Repository.d.ts +7 -7
- package/dist/services/Repository.js +1 -1
- package/dist/services/Store/Cosmos.d.ts.map +1 -1
- package/dist/services/Store/Cosmos.js +5 -6
- 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.d.ts +2 -2
- package/dist/services/simpledb/cosmosdb.js +1 -1
- package/dist/services/simpledb/diskdb.d.ts +2 -2
- package/dist/services/simpledb/diskdb.js +1 -1
- package/dist/services/simpledb/memdb.d.ts +2 -2
- package/dist/services/simpledb/memdb.js +1 -1
- package/dist/services/simpledb/mongodb.d.ts +2 -2
- 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 +3 -3
- 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/api/express/makeOpenApiSpecs.ts";
|
|
3
3
|
import * as tsplus_module_1 from "@effect/io/Ref";
|
|
4
4
|
import * as tsplus_module_2 from "@effect/io/Effect";
|
|
5
5
|
import { References } from "@effect-app/infra-adapters/Openapi/atlas-plutus/Schema/index";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as tracer_1 from "@effect/io/Debug";
|
|
2
|
-
const fileName_1 = "
|
|
2
|
+
const fileName_1 = "_src/api/express/schema/requestHandler.ts";
|
|
3
3
|
import * as tsplus_module_1 from "@effect/io/Effect";
|
|
4
4
|
import * as tsplus_module_2 from "@effect/io/Exit";
|
|
5
5
|
import * as tsplus_module_3 from "@effect/io/Cause";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as tracer_1 from "@effect/io/Debug";
|
|
2
|
-
const fileName_1 = "
|
|
2
|
+
const fileName_1 = "_src/api/express/schema/routing.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/Option";
|
package/dist/api/reportError.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as tracer_1 from "@effect/io/Debug";
|
|
2
|
-
const fileName_1 = "
|
|
2
|
+
const fileName_1 = "_src/api/reportError.ts";
|
|
3
3
|
import * as tsplus_module_1 from "@effect-app/infra/RequestContext";
|
|
4
4
|
import * as tsplus_module_2 from "@effect/io/Effect";
|
|
5
5
|
import * as tsplus_module_3 from "@effect/io/Cause";
|
package/dist/api/routing.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as tracer_1 from "@effect/io/Debug";
|
|
2
|
-
const fileName_1 = "
|
|
2
|
+
const fileName_1 = "_src/api/routing.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";
|
package/dist/api/setupRequest.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as tracer_1 from "@effect/io/Debug";
|
|
2
|
-
const fileName_1 = "
|
|
2
|
+
const fileName_1 = "_src/api/setupRequest.ts";
|
|
3
3
|
import * as tsplus_module_1 from "@effect/io/Effect";
|
|
4
4
|
import * as tsplus_module_2 from "@effect-app/prelude/_ext/Prelude.ext";
|
|
5
5
|
import * as tsplus_module_3 from "@effect-app/core/Function";
|
package/dist/api/writeDocs.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as tracer_1 from "@effect/io/Debug";
|
|
2
|
-
const fileName_1 = "
|
|
2
|
+
const fileName_1 = "_src/api/writeDocs.ts";
|
|
3
3
|
import * as tsplus_module_1 from "@effect/io/Effect";
|
|
4
|
-
import * as tsplus_module_2 from "@effect-app/core/
|
|
4
|
+
import * as tsplus_module_2 from "@effect-app/core/Order";
|
|
5
5
|
import * as tsplus_module_3 from "@effect-app/core/_ext/ord.ext";
|
|
6
6
|
import * as tsplus_module_4 from "@effect-app/core/Array";
|
|
7
7
|
import { typedValuesOf } from "@effect-app/core/utils";
|
|
@@ -14,10 +14,10 @@ export function writeOpenapiDocs(rdescs) {
|
|
|
14
14
|
tags: [
|
|
15
15
|
// add the tags here
|
|
16
16
|
]
|
|
17
|
-
})))(makeOpenApiSpecs(tsplus_module_4.sortWith(tsplus_module_3.OrdContramap(
|
|
17
|
+
})))(makeOpenApiSpecs(tsplus_module_4.sortWith(tsplus_module_3.OrdContramap((a) => a.path)(tsplus_module_2.string))(typedValuesOf(rdescs).reduce((prev, cur) => prev.concat(typedValuesOf(cur)), [])), Plutus.info({
|
|
18
18
|
title: "api",
|
|
19
19
|
version: "X",
|
|
20
20
|
pageTitle: "api"
|
|
21
21
|
})))));
|
|
22
22
|
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGVEb2NzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vX3NyYy9hcGkvd3JpdGVEb2NzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDbkUsT0FBTyxLQUFLLE1BQU0sTUFBTSxpREFBaUQsQ0FBQTtBQUN6RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUdoRSxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsTUFBMEQ7SUFDekYsT0FBTyxxRUFnQkksR0FBRyxFQUFFLCtDQUFDLHdCQUFlLDBDQUEwQyxDQUFDLENBQUEsR0FoQnBFLHFFQWVJLENBQUMsQ0FBQyxFQUFFLHVCQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBTSxHQWYvRSxpRUFTQSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDVCxHQUFHLENBQUM7UUFDSixJQUFJLEVBQUU7UUFDSixvQkFBb0I7U0FDckI7S0FDRixDQUFDLEdBZEcsZ0JBQWdCLENBQ3JCLHlCQUNZLDZCQUF1QixDQUFDLENBQXFCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLHlCQUFDLEVBRHJFLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQW1DLENBQUMsQ0FDM0MsRUFDdEUsTUFBTSxDQUFDLElBQUksQ0FBQztRQUNWLEtBQUssRUFBRSxLQUFLO1FBQ1osT0FBTyxFQUFFLEdBQUc7UUFDWixTQUFTLEVBQUUsS0FBSztLQUNqQixDQUFDLENBQ0gsQ0FNSSxDQUNrRixDQUNYLENBQUE7QUFDOUUsQ0FBQyJ9
|
package/dist/errorReporter.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as tracer_1 from "@effect/io/Debug";
|
|
2
|
-
const fileName_1 = "
|
|
2
|
+
const fileName_1 = "_src/errorReporter.ts";
|
|
3
3
|
import * as tsplus_module_1 from "@effect/io/Cause";
|
|
4
4
|
import * as tsplus_module_2 from "@effect-app/prelude/utils";
|
|
5
5
|
import * as tsplus_module_3 from "@effect/io/Effect";
|
package/dist/instrument.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as tracer_1 from "@effect/io/Debug";
|
|
2
|
-
const fileName_1 = "
|
|
2
|
+
const fileName_1 = "_src/instrument.ts";
|
|
3
3
|
import * as tsplus_module_1 from "@effect-app/prelude/utils";
|
|
4
4
|
import * as tsplus_module_2 from "@effect/io/Effect";
|
|
5
5
|
/**
|
package/dist/rateLimit.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as tracer_1 from "@effect/io/Debug";
|
|
2
|
-
const fileName_1 = "
|
|
2
|
+
const fileName_1 = "_src/rateLimit.ts";
|
|
3
3
|
import * as tsplus_module_1 from "@effect/io/Effect";
|
|
4
4
|
import * as tsplus_module_2 from "@effect-app/core/Array";
|
|
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/Emailer/Sendgrid.ts";
|
|
3
3
|
import * as tsplus_module_1 from "@effect/io/Config/Secret";
|
|
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 = "
|
|
2
|
+
const fileName_1 = "_src/services/Emailer/fake.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 { pretty } from "@effect-app/prelude/utils";
|
|
@@ -182,7 +182,7 @@ export declare function queryAndSavePureEffect<Id extends string, T extends {
|
|
|
182
182
|
skip?: number;
|
|
183
183
|
}>): <R2, A, E2, S2 extends T>(pure: import("@effect/io/Effect").Effect<FixEnv<R2, Evt, import("@fp-ts/data/Chunk").Chunk<S>, Iterable<S2>>, E2, A>) => import("@effect/io/Effect").Effect<RequestContext | ContextMap | R | Exclude<R2, {
|
|
184
184
|
env: import("@effect-app/prelude/_ext/Pure").PureEnv<Evt, import("@fp-ts/data/Chunk").Chunk<S>, Iterable<S2>>;
|
|
185
|
-
}>,
|
|
185
|
+
}>, OptimisticConcurrencyException | InvalidStateError | E | E2, A>;
|
|
186
186
|
/**
|
|
187
187
|
* @tsplus fluent Repository queryAndSavePure
|
|
188
188
|
* @tsplus location "@effect-app/infra/services/Repository"
|
|
@@ -198,7 +198,7 @@ export declare function queryAndSavePure<Id extends string, T extends {
|
|
|
198
198
|
skip?: number;
|
|
199
199
|
}): <R2, A, E2, S2 extends T>(pure: import("@effect/io/Effect").Effect<FixEnv<R2, Evt, import("@fp-ts/data/Chunk").Chunk<S>, Iterable<S2>>, E2, A>) => import("@effect/io/Effect").Effect<RequestContext | ContextMap | Exclude<R2, {
|
|
200
200
|
env: import("@effect-app/prelude/_ext/Pure").PureEnv<Evt, import("@fp-ts/data/Chunk").Chunk<S>, Iterable<S2>>;
|
|
201
|
-
}>,
|
|
201
|
+
}>, OptimisticConcurrencyException | InvalidStateError | E2, A>;
|
|
202
202
|
/**
|
|
203
203
|
* @tsplus getter Repository saveManyWithPure
|
|
204
204
|
* @tsplus location "@effect-app/infra/services/Repository"
|
|
@@ -209,7 +209,7 @@ export declare function saveManyWithPure<Id extends string, T extends {
|
|
|
209
209
|
id: string;
|
|
210
210
|
}, Evt, ItemType extends string>(self: Repository<T, PM, Evt, Id, ItemType>): <R, A, E, S1 extends T, S2 extends T>(pure: import("@effect/io/Effect").Effect<FixEnv<R, Evt, import("@fp-ts/data/Chunk").Chunk<S1>, Iterable<S2>>, E, A>) => (items: Iterable<S1>) => import("@effect/io/Effect").Effect<RequestContext | ContextMap | Exclude<R, {
|
|
211
211
|
env: import("@effect-app/prelude/_ext/Pure").PureEnv<Evt, import("@fp-ts/data/Chunk").Chunk<S1>, Iterable<S2>>;
|
|
212
|
-
}>,
|
|
212
|
+
}>, OptimisticConcurrencyException | InvalidStateError | E, A>;
|
|
213
213
|
/**
|
|
214
214
|
* @tsplus fluent Repository byIdAndSaveWithPure
|
|
215
215
|
* @tsplus location "@effect-app/infra/services/Repository"
|
|
@@ -220,7 +220,7 @@ export declare function byIdAndSaveWithPure<Id extends string, T extends {
|
|
|
220
220
|
id: string;
|
|
221
221
|
}, Evt, ItemType extends string>(self: Repository<T, PM, Evt, Id, ItemType>, id: Id): <R, A, E, S2 extends T>(pure: import("@effect/io/Effect").Effect<FixEnv<R, Evt, T, S2>, E, A>) => import("@effect/io/Effect").Effect<RequestContext | ContextMap | Exclude<R, {
|
|
222
222
|
env: import("@effect-app/prelude/_ext/Pure").PureEnv<Evt, T, S2>;
|
|
223
|
-
}>,
|
|
223
|
+
}>, OptimisticConcurrencyException | InvalidStateError | E | NotFoundError<ItemType>, A>;
|
|
224
224
|
/**
|
|
225
225
|
* NOTE: it's not as composable, only useful when the request is simple, and only this part needs request args.
|
|
226
226
|
* @tsplus getter Repository handleByIdAndSaveWithPure
|
|
@@ -234,7 +234,7 @@ export declare function handleByIdAndSaveWithPure<Id extends string, T extends {
|
|
|
234
234
|
id: Id;
|
|
235
235
|
}, Context_1, R, A, E, S2 extends T>(pure: (req: Req, ctx: Context_1) => import("@effect/io/Effect").Effect<FixEnv<R, Evt, T, S2>, E, A>) => (req: Req, ctx: Context_1) => import("@effect/io/Effect").Effect<RequestContext | ContextMap | Exclude<R, {
|
|
236
236
|
env: import("@effect-app/prelude/_ext/Pure").PureEnv<Evt, T, S2>;
|
|
237
|
-
}>,
|
|
237
|
+
}>, OptimisticConcurrencyException | InvalidStateError | E | NotFoundError<ItemType>, A>;
|
|
238
238
|
/**
|
|
239
239
|
* @tsplus fluent Repository saveManyWithPure_
|
|
240
240
|
* @tsplus location "@effect-app/infra/services/Repository"
|
|
@@ -245,7 +245,7 @@ export declare function saveManyWithPure_<Id extends string, R, T extends {
|
|
|
245
245
|
id: string;
|
|
246
246
|
}, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string>(self: Repository<T, PM, Evt, Id, ItemType>, items: Iterable<S1>, pure: Effect<FixEnv<R, Evt, Chunk<S1>, Iterable<S2>>, E, A>): import("@effect/io/Effect").Effect<RequestContext | ContextMap | Exclude<R, {
|
|
247
247
|
env: import("@effect-app/prelude/_ext/Pure").PureEnv<Evt, import("@fp-ts/data/Chunk").Chunk<S1>, Iterable<S2>>;
|
|
248
|
-
}>,
|
|
248
|
+
}>, OptimisticConcurrencyException | InvalidStateError | E, A>;
|
|
249
249
|
/**
|
|
250
250
|
* @tsplus fluent Repository saveWithPure_
|
|
251
251
|
* @tsplus location "@effect-app/infra/services/Repository"
|
|
@@ -256,7 +256,7 @@ export declare function saveWithPure_<Id extends string, R, T extends {
|
|
|
256
256
|
id: string;
|
|
257
257
|
}, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string>(self: Repository<T, PM, Evt, Id, ItemType>, item: S1, pure: Effect<FixEnv<R, Evt, S1, S2>, E, A>): import("@effect/io/Effect").Effect<RequestContext | ContextMap | Exclude<R, {
|
|
258
258
|
env: import("@effect-app/prelude/_ext/Pure").PureEnv<Evt, S1, S2>;
|
|
259
|
-
}>,
|
|
259
|
+
}>, OptimisticConcurrencyException | InvalidStateError | E, A>;
|
|
260
260
|
export type AllDSL<T, Evt> = (<R, A, E, S1 extends T, S2 extends T>(pure: (dsl: PureDSL<Chunk<S1>, Iterable<S2>, Evt>) => Effect<R, E, A>) => Effect<FixEnv<R, Evt, Chunk<S1>, Iterable<S2>>, E, A>) & AllDSLExt<T, Evt>;
|
|
261
261
|
/**
|
|
262
262
|
* @tsplus type DSLExt
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as tracer_1 from "@effect/io/Debug";
|
|
2
|
-
const fileName_1 = "
|
|
2
|
+
const fileName_1 = "_src/services/Repository.ts";
|
|
3
3
|
import * as tsplus_module_1 from "@effect-app/prelude/_ext/Pure";
|
|
4
4
|
import * as tsplus_module_2 from "@effect-app/prelude/_ext/Prelude.ext";
|
|
5
5
|
import * as tsplus_module_3 from "@effect/io/Effect";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cosmos.d.ts","sourceRoot":"","sources":["../../../_src/services/Store/Cosmos.ts"],"names":[],"mappings":";;;;AAEA,OAAO,KAAK,YAAY,MAAM,0CAA0C,CAAA;AAMxE,OAAO,KAAK,EAEV,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,KAAK,EACL,WAAW,EACX,gBAAgB,EAChB,eAAe,EAChB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAGzC,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,EAAE,aAAa;yFAK3C,MAAM;GAiVnB;AAuBD;;GAEG;AACH,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,gBAAgB,EACxB,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM;;;;;;EAaf;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,cAAc,EACtB,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM;;;;;;EAYf;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EACvC,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,EACxB,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,MAAM,EACxB,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM;;;;;;EAyBf;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,MAAM,EACxB,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM;;;;;;
|
|
1
|
+
{"version":3,"file":"Cosmos.d.ts","sourceRoot":"","sources":["../../../_src/services/Store/Cosmos.ts"],"names":[],"mappings":";;;;AAEA,OAAO,KAAK,YAAY,MAAM,0CAA0C,CAAA;AAMxE,OAAO,KAAK,EAEV,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,KAAK,EACL,WAAW,EACX,gBAAgB,EAChB,eAAe,EAChB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAGzC,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,EAAE,aAAa;yFAK3C,MAAM;GAiVnB;AAuBD;;GAEG;AACH,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,gBAAgB,EACxB,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM;;;;;;EAaf;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,cAAc,EACtB,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM;;;;;;EAYf;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EACvC,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,EACxB,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,MAAM,EACxB,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM;;;;;;EAyBf;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,MAAM,EACxB,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM;;;;;;EA+Cf;AAID,wBAAgB,gBAAgB,CAAC,EAAE,EACjC,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,gBAAgB,EAC3C,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,MAAM,EACxB,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM;;;;;;EAOf;AAKD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,0HAE5D"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as tracer_1 from "@effect/io/Debug";
|
|
2
|
-
const fileName_1 = "
|
|
2
|
+
const fileName_1 = "_src/services/Store/Cosmos.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/Array";
|
|
@@ -11,7 +11,6 @@ import * as tsplus_module_8 from "@effect-app/core/Effect";
|
|
|
11
11
|
import * as tsplus_module_9 from "@effect-app/prelude/_ext/Prelude.ext";
|
|
12
12
|
import * as tsplus_module_10 from "@fp-ts/data/Equivalence";
|
|
13
13
|
import * as tsplus_module_11 from "@effect-app/core/_ext/ord.ext";
|
|
14
|
-
import * as tsplus_module_12 from "@effect-app/core/fluent/_ext/awesome/fluent/core";
|
|
15
14
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
16
15
|
import * as CosmosClient from "@effect-app/infra-adapters/cosmos-client";
|
|
17
16
|
import { OptimisticConcurrencyException } from "../../errors.js";
|
|
@@ -294,11 +293,11 @@ export function buildWhereCosmosQuery(filter, name, importedMarkerId, skip, limi
|
|
|
294
293
|
${lm}`,
|
|
295
294
|
parameters: [
|
|
296
295
|
{ name: "@id", value: importedMarkerId },
|
|
297
|
-
...
|
|
296
|
+
...filter.where
|
|
298
297
|
.map((x, i) => ({
|
|
299
298
|
name: `@v${i}`,
|
|
300
299
|
value: x.value
|
|
301
|
-
}))
|
|
300
|
+
}))
|
|
302
301
|
]
|
|
303
302
|
};
|
|
304
303
|
}
|
|
@@ -316,6 +315,6 @@ class CosmosDbOperationError {
|
|
|
316
315
|
}
|
|
317
316
|
}
|
|
318
317
|
export function CosmosStoreLive(config) {
|
|
319
|
-
return tsplus_module_8.toLayer(tracer_1.withCallTrace(fileName_1 + ":
|
|
318
|
+
return tsplus_module_8.toLayer(tracer_1.withCallTrace(fileName_1 + ":543:24")(tsplus_module_1.flatMap(makeCosmosStore))(tsplus_module_1.config(config)), StoreMaker);
|
|
320
319
|
}
|
|
321
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29zbW9zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vX3NyYy9zZXJ2aWNlcy9TdG9yZS9Db3Ntb3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBQSx1REFBdUQ7QUFFdkQsT0FBTyxLQUFLLFlBQVksTUFBTSwwQ0FBMEMsQ0FBQTtBQUV4RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUVoRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFjaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUV6QyxvREFBb0Q7QUFDcEQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxFQUFFLE1BQU0sRUFBaUI7SUFDdkQscURBQU8sb0JBQVcsUUFBUSxDQUFDLEVBQUMsQ0FBQztRQUMzQixNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyx5QkFBQyxZQUFZLENBQUMsWUFBWSxFQUFRLENBQUE7UUFDekQsT0FBTztZQUNMLElBQUksRUFBRSxDQUNKLElBQVksRUFDWixRQUErQyxFQUMvQyxNQUF3QixFQUN4QixFQUFFLCtDQUNGLG9CQUFXLFFBQVEsQ0FBQyxFQUFDLENBQUM7Z0JBQ3BCLE1BQU0sV0FBVyxHQUFHLEdBQUcsTUFBTSxHQUFHLElBQUksRUFBRSxDQUFBO2dCQUN0QyxLQUFLLENBQUMsQ0FBQyxDQUFDLCtDQUNOLHdCQUFlLEdBQUcsRUFBRSxDQUNsQixFQUFFLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDO29CQUM5QixFQUFFLEVBQUUsV0FBVztvQkFDZixlQUFlLEVBQUUsTUFBTSxFQUFFLFVBQVU7d0JBQ2pDLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVSxFQUFFO3dCQUNuQyxDQUFDLENBQUMsU0FBUztpQkFDZCxDQUFDLENBQ0gsRUFDRixDQUFBO2dCQUNELE1BQU0sU0FB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
|
|
320
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29zbW9zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vX3NyYy9zZXJ2aWNlcy9TdG9yZS9Db3Ntb3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLHVEQUF1RDtBQUV2RCxPQUFPLEtBQUssWUFBWSxNQUFNLDBDQUEwQyxDQUFBO0FBRXhFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRWhFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQWNoRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRXpDLG9EQUFvRDtBQUNwRCxNQUFNLFVBQVUsZUFBZSxDQUFDLEVBQUUsTUFBTSxFQUFpQjtJQUN2RCxxREFBTyxvQkFBVyxRQUFRLENBQUMsRUFBQyxDQUFDO1FBQzNCLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLHlCQUFDLFlBQVksQ0FBQyxZQUFZLEVBQVEsQ0FBQTtRQUN6RCxPQUFPO1lBQ0wsSUFBSSxFQUFFLENBQ0osSUFBWSxFQUNaLFFBQStDLEVBQy9DLE1BQXdCLEVBQ3hCLEVBQUUsK0NBQ0Ysb0JBQVcsUUFBUSxDQUFDLEVBQUMsQ0FBQztnQkFDcEIsTUFBTSxXQUFXLEdBQUcsR0FBRyxNQUFNLEdBQUcsSUFBSSxFQUFFLENBQUE7Z0JBQ3RDLEtBQUssQ0FBQyxDQUFDLENBQUMsK0NBQ04sd0JBQWUsR0FBRyxFQUFFLENBQ2xCLEVBQUUsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUM7b0JBQzlCLEVBQUUsRUFBRSxXQUFXO29CQUNmLGVBQWUsRUFBRSxNQUFNLEVBQUUsVUFBVTt3QkFDakMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVLEVBQUU7d0JBQ25DLENBQUMsQ0FBQyxTQUFTO2lCQUNkLENBQUMsQ0FDSCxFQUNGLENBQUE7Z0JBQ0QsTUFBTSxTQUFT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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/Store/Disk.ts";
|
|
3
3
|
import * as tsplus_module_1 from "@effect/io/Effect";
|
|
4
4
|
import * as tsplus_module_2 from "@effect-app/prelude";
|
|
5
5
|
import * as tsplus_module_3 from "@effect-app/core/Function";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as tracer_1 from "@effect/io/Debug";
|
|
2
|
-
const fileName_1 = "
|
|
2
|
+
const fileName_1 = "_src/services/Store/Memory.ts";
|
|
3
3
|
import * as tsplus_module_1 from "@fp-ts/data/Chunk";
|
|
4
4
|
import * as tsplus_module_2 from "@effect-app/core/Chunk";
|
|
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/Store/Redis.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/prelude";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as tracer_1 from "@effect/io/Debug";
|
|
2
|
-
const fileName_1 = "
|
|
2
|
+
const fileName_1 = "_src/services/Store/index.ts";
|
|
3
3
|
import * as tsplus_module_1 from "@effect/io/Config/Secret";
|
|
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 = "
|
|
2
|
+
const fileName_1 = "_src/services/Store/service.ts";
|
|
3
3
|
import * as tsplus_module_1 from "@fp-ts/data/Context";
|
|
4
4
|
import * as tsplus_module_2 from "@effect-app/prelude";
|
|
5
5
|
import * as tsplus_module_3 from "@effect/io/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/Store/utils.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 "@fp-ts/data/ReadonlyArray";
|
|
@@ -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
|
|
@@ -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/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";
|
|
@@ -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
|
|
@@ -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/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";
|
|
@@ -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
|
|
@@ -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";
|
|
@@ -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
|
|
@@ -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";
|
|
@@ -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>;
|
|
@@ -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";
|
|
@@ -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
|
|
@@ -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.1",
|
|
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.1",
|
|
26
|
+
"@effect-app/core": "0.10.1",
|
|
27
|
+
"@effect-app/infra-adapters": "0.10.1",
|
|
28
|
+
"@effect-app/schema": "0.10.1"
|
|
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": [
|