@effect-app/infra 4.0.0-beta.8 → 4.0.0-beta.81
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 +527 -0
- package/dist/CUPS.d.ts +3 -3
- package/dist/CUPS.d.ts.map +1 -1
- package/dist/CUPS.js +3 -3
- package/dist/Emailer/Sendgrid.js +1 -1
- package/dist/Emailer/service.d.ts +3 -3
- package/dist/Emailer/service.d.ts.map +1 -1
- package/dist/Emailer/service.js +3 -3
- package/dist/MainFiberSet.d.ts +2 -2
- package/dist/MainFiberSet.d.ts.map +1 -1
- package/dist/MainFiberSet.js +3 -3
- package/dist/Model/Repository/internal/internal.d.ts +3 -3
- package/dist/Model/Repository/internal/internal.d.ts.map +1 -1
- package/dist/Model/Repository/internal/internal.js +11 -7
- package/dist/Model/Repository/makeRepo.d.ts +2 -2
- package/dist/Model/Repository/makeRepo.d.ts.map +1 -1
- package/dist/Model/Repository/makeRepo.js +1 -1
- package/dist/Model/Repository/validation.d.ts +5 -4
- package/dist/Model/Repository/validation.d.ts.map +1 -1
- package/dist/Model/query/dsl.d.ts +9 -9
- package/dist/Operations.d.ts +2 -2
- package/dist/Operations.d.ts.map +1 -1
- package/dist/Operations.js +3 -3
- package/dist/OperationsRepo.d.ts +2 -2
- package/dist/OperationsRepo.d.ts.map +1 -1
- package/dist/OperationsRepo.js +3 -3
- package/dist/QueueMaker/SQLQueue.d.ts +3 -5
- package/dist/QueueMaker/SQLQueue.d.ts.map +1 -1
- package/dist/QueueMaker/SQLQueue.js +9 -7
- package/dist/QueueMaker/errors.d.ts +1 -1
- package/dist/QueueMaker/errors.d.ts.map +1 -1
- package/dist/QueueMaker/memQueue.d.ts.map +1 -1
- package/dist/QueueMaker/memQueue.js +10 -9
- package/dist/QueueMaker/sbqueue.d.ts.map +1 -1
- package/dist/QueueMaker/sbqueue.js +11 -9
- package/dist/RequestContext.d.ts +19 -14
- package/dist/RequestContext.d.ts.map +1 -1
- package/dist/RequestContext.js +5 -5
- package/dist/RequestFiberSet.d.ts +2 -2
- package/dist/RequestFiberSet.d.ts.map +1 -1
- package/dist/RequestFiberSet.js +5 -5
- package/dist/Store/ContextMapContainer.d.ts +14 -3
- package/dist/Store/ContextMapContainer.d.ts.map +1 -1
- package/dist/Store/ContextMapContainer.js +64 -3
- package/dist/Store/Cosmos.js +1 -1
- package/dist/Store/Disk.d.ts.map +1 -1
- package/dist/Store/Disk.js +3 -4
- package/dist/Store/Memory.d.ts +2 -2
- package/dist/Store/Memory.d.ts.map +1 -1
- package/dist/Store/Memory.js +4 -4
- package/dist/Store/service.d.ts +6 -3
- package/dist/Store/service.d.ts.map +1 -1
- package/dist/Store/service.js +14 -6
- package/dist/adapters/SQL/Model.d.ts +2 -5
- package/dist/adapters/SQL/Model.d.ts.map +1 -1
- package/dist/adapters/SQL/Model.js +21 -13
- package/dist/adapters/ServiceBus.d.ts +6 -6
- package/dist/adapters/ServiceBus.d.ts.map +1 -1
- package/dist/adapters/ServiceBus.js +9 -9
- package/dist/adapters/cosmos-client.d.ts +2 -2
- package/dist/adapters/cosmos-client.d.ts.map +1 -1
- package/dist/adapters/cosmos-client.js +3 -3
- package/dist/adapters/logger.d.ts.map +1 -1
- package/dist/adapters/memQueue.d.ts +2 -2
- package/dist/adapters/memQueue.d.ts.map +1 -1
- package/dist/adapters/memQueue.js +3 -3
- package/dist/adapters/mongo-client.d.ts +2 -2
- package/dist/adapters/mongo-client.d.ts.map +1 -1
- package/dist/adapters/mongo-client.js +3 -3
- package/dist/adapters/redis-client.d.ts +3 -3
- package/dist/adapters/redis-client.d.ts.map +1 -1
- package/dist/adapters/redis-client.js +3 -3
- package/dist/api/ContextProvider.d.ts +6 -6
- package/dist/api/ContextProvider.d.ts.map +1 -1
- package/dist/api/ContextProvider.js +6 -6
- package/dist/api/internal/RequestContextMiddleware.d.ts +1 -1
- package/dist/api/internal/auth.d.ts +1 -1
- package/dist/api/internal/events.d.ts +2 -2
- package/dist/api/internal/events.d.ts.map +1 -1
- package/dist/api/internal/events.js +7 -5
- package/dist/api/layerUtils.d.ts +5 -5
- package/dist/api/layerUtils.d.ts.map +1 -1
- package/dist/api/layerUtils.js +5 -5
- package/dist/api/routing/middleware/RouterMiddleware.d.ts +3 -3
- package/dist/api/routing/middleware/RouterMiddleware.d.ts.map +1 -1
- package/dist/api/routing/schema/jwt.d.ts +1 -1
- package/dist/api/routing/schema/jwt.d.ts.map +1 -1
- package/dist/api/routing/schema/jwt.js +1 -1
- package/dist/api/routing.d.ts +1 -5
- package/dist/api/routing.d.ts.map +1 -1
- package/dist/api/routing.js +3 -2
- package/dist/api/setupRequest.js +4 -4
- package/dist/errorReporter.d.ts +1 -1
- package/dist/errorReporter.d.ts.map +1 -1
- package/dist/errorReporter.js +1 -1
- package/dist/fileUtil.js +1 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/rateLimit.js +1 -1
- package/examples/query.ts +29 -25
- package/package.json +16 -16
- package/src/CUPS.ts +2 -2
- package/src/Emailer/Sendgrid.ts +1 -1
- package/src/Emailer/service.ts +2 -2
- package/src/MainFiberSet.ts +2 -2
- package/src/Model/Repository/internal/internal.ts +11 -8
- package/src/Model/Repository/makeRepo.ts +2 -2
- package/src/Operations.ts +2 -2
- package/src/OperationsRepo.ts +2 -2
- package/src/QueueMaker/SQLQueue.ts +10 -10
- package/src/QueueMaker/memQueue.ts +41 -42
- package/src/QueueMaker/sbqueue.ts +65 -62
- package/src/RequestContext.ts +4 -4
- package/src/RequestFiberSet.ts +4 -4
- package/src/Store/ContextMapContainer.ts +98 -2
- package/src/Store/Cosmos.ts +10 -10
- package/src/Store/Disk.ts +2 -3
- package/src/Store/Memory.ts +4 -6
- package/src/Store/service.ts +14 -5
- package/src/adapters/SQL/Model.ts +76 -71
- package/src/adapters/ServiceBus.ts +8 -8
- package/src/adapters/cosmos-client.ts +2 -2
- package/src/adapters/memQueue.ts +2 -2
- package/src/adapters/mongo-client.ts +2 -2
- package/src/adapters/redis-client.ts +2 -2
- package/src/api/ContextProvider.ts +11 -11
- package/src/api/internal/events.ts +7 -6
- package/src/api/layerUtils.ts +8 -8
- package/src/api/routing/middleware/RouterMiddleware.ts +4 -4
- package/src/api/routing/schema/jwt.ts +2 -3
- package/src/api/routing.ts +7 -6
- package/src/api/setupRequest.ts +3 -3
- package/src/errorReporter.ts +1 -1
- package/src/fileUtil.ts +1 -1
- package/src/rateLimit.ts +2 -2
- package/test/contextProvider.test.ts +5 -5
- package/test/controller.test.ts +12 -9
- package/test/dist/contextProvider.test.d.ts.map +1 -1
- package/test/dist/controller.test.d.ts.map +1 -1
- package/test/dist/fixtures.d.ts +18 -8
- package/test/dist/fixtures.d.ts.map +1 -1
- package/test/dist/fixtures.js +11 -9
- package/test/dist/query.test.d.ts.map +1 -1
- package/test/dist/rawQuery.test.d.ts.map +1 -1
- package/test/dist/requires.test.d.ts.map +1 -1
- package/test/dist/rpc-multi-middleware.test.d.ts.map +1 -1
- package/test/fixtures.ts +10 -8
- package/test/query.test.ts +160 -14
- package/test/rawQuery.test.ts +19 -17
- package/test/requires.test.ts +6 -5
- package/test/rpc-multi-middleware.test.ts +73 -4
- package/test/validateSample.test.ts +1 -1
- package/tsconfig.json +0 -1
|
@@ -7,10 +7,6 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* @since 1.0.0
|
|
9
9
|
*/
|
|
10
|
-
import * as VariantSchema from "effect/unstable/schema/VariantSchema";
|
|
11
|
-
import { SqlClient } from "effect/unstable/sql/SqlClient";
|
|
12
|
-
import * as SqlResolver from "effect/unstable/sql/SqlResolver";
|
|
13
|
-
import * as SqlSchema from "effect/unstable/sql/SqlSchema";
|
|
14
10
|
import crypto from "crypto"; // TODO
|
|
15
11
|
import * as DateTime from "effect/DateTime";
|
|
16
12
|
import * as Effect from "effect/Effect";
|
|
@@ -21,6 +17,10 @@ import * as RequestResolver from "effect/RequestResolver";
|
|
|
21
17
|
import * as Schema from "effect/Schema";
|
|
22
18
|
import * as Getter from "effect/SchemaGetter";
|
|
23
19
|
import * as Transformation from "effect/SchemaTransformation";
|
|
20
|
+
import * as VariantSchema from "effect/unstable/schema/VariantSchema";
|
|
21
|
+
import { SqlClient } from "effect/unstable/sql/SqlClient";
|
|
22
|
+
import * as SqlResolver from "effect/unstable/sql/SqlResolver";
|
|
23
|
+
import * as SqlSchema from "effect/unstable/sql/SqlSchema";
|
|
24
24
|
const { Class, Field, FieldExcept, FieldOnly, Struct, Union, extract, fieldEvolve } = VariantSchema.make({
|
|
25
25
|
variants: ["select", "insert", "update", "json", "jsonCreate", "jsonUpdate"],
|
|
26
26
|
defaultVariant: "select"
|
|
@@ -422,7 +422,8 @@ export const makeDataLoaders = (Model, options) => Effect.gen(function* () {
|
|
|
422
422
|
const idSchema = Model.fields[options.idColumn];
|
|
423
423
|
const idColumn = options.idColumn;
|
|
424
424
|
const setMaxBatchSize = options.maxBatchSize ? RequestResolver.batchN(options.maxBatchSize) : identity;
|
|
425
|
-
const insertResolver = SqlResolver
|
|
425
|
+
const insertResolver = SqlResolver
|
|
426
|
+
.ordered({
|
|
426
427
|
Request: Model.insert,
|
|
427
428
|
Result: Model,
|
|
428
429
|
execute: (request) => sql.onDialectOrElse({
|
|
@@ -432,39 +433,46 @@ select * from ${sql(options.tableName)} where ${sql(idColumn)} = LAST_INSERT_ID(
|
|
|
432
433
|
.pipe(Effect.map(([, results]) => results[0])), { concurrency: 10 }),
|
|
433
434
|
orElse: () => sql `insert into ${sql(options.tableName)} ${sql.insert(request).returning("*")}`
|
|
434
435
|
})
|
|
435
|
-
})
|
|
436
|
+
})
|
|
437
|
+
.pipe(RequestResolver.setDelay(options.window), setMaxBatchSize, RequestResolver.withSpan(`${options.spanPrefix}.insertResolver`));
|
|
436
438
|
const insertExecute = SqlResolver.request(insertResolver);
|
|
437
439
|
const insert = (insert) => insertExecute(insert).pipe(Effect.catchTag("ResultLengthMismatch", Effect.die), Effect.withSpan(`${options.spanPrefix}.insert`, {}, {
|
|
438
440
|
captureStackTrace: false
|
|
439
441
|
}));
|
|
440
|
-
const insertVoidResolver = SqlResolver
|
|
442
|
+
const insertVoidResolver = SqlResolver
|
|
443
|
+
.void({
|
|
441
444
|
Request: Model.insert,
|
|
442
445
|
execute: (request) => sql `insert into ${sql(options.tableName)} ${sql.insert(request)}`
|
|
443
|
-
})
|
|
446
|
+
})
|
|
447
|
+
.pipe(RequestResolver.setDelay(options.window), setMaxBatchSize, RequestResolver.withSpan(`${options.spanPrefix}.insertVoidResolver`));
|
|
444
448
|
const insertVoidExecute = SqlResolver.request(insertVoidResolver);
|
|
445
449
|
const insertVoid = (insert) => insertVoidExecute(insert).pipe(Effect.withSpan(`${options.spanPrefix}.insertVoid`, {}, {
|
|
446
450
|
captureStackTrace: false
|
|
447
451
|
}));
|
|
448
|
-
const findByIdResolver = SqlResolver
|
|
452
|
+
const findByIdResolver = SqlResolver
|
|
453
|
+
.findById({
|
|
449
454
|
Id: idSchema,
|
|
450
455
|
Result: Model,
|
|
451
456
|
ResultId(request) {
|
|
452
457
|
return request[idColumn];
|
|
453
458
|
},
|
|
454
459
|
execute: (ids) => sql `select * from ${sql(options.tableName)} where ${sql.in(idColumn, ids)}`
|
|
455
|
-
})
|
|
460
|
+
})
|
|
461
|
+
.pipe(RequestResolver.setDelay(options.window), setMaxBatchSize, RequestResolver.withSpan(`${options.spanPrefix}.findByIdResolver`));
|
|
456
462
|
const findByIdExecute = SqlResolver.request(findByIdResolver);
|
|
457
463
|
const findById = (id) => findByIdExecute(id).pipe(Effect.withSpan(`${options.spanPrefix}.findById`, { attributes: { id } }, {
|
|
458
464
|
captureStackTrace: false
|
|
459
465
|
}));
|
|
460
|
-
const deleteResolver = SqlResolver
|
|
466
|
+
const deleteResolver = SqlResolver
|
|
467
|
+
.void({
|
|
461
468
|
Request: idSchema,
|
|
462
469
|
execute: (ids) => sql `delete from ${sql(options.tableName)} where ${sql.in(idColumn, ids)}`
|
|
463
|
-
})
|
|
470
|
+
})
|
|
471
|
+
.pipe(RequestResolver.setDelay(options.window), setMaxBatchSize, RequestResolver.withSpan(`${options.spanPrefix}.deleteResolver`));
|
|
464
472
|
const deleteExecute = SqlResolver.request(deleteResolver);
|
|
465
473
|
const delete_ = (id) => deleteExecute(id).pipe(Effect.withSpan(`${options.spanPrefix}.delete`, { attributes: { id } }, {
|
|
466
474
|
captureStackTrace: false
|
|
467
475
|
}));
|
|
468
476
|
return { insert, insertVoid, findById, delete: delete_ };
|
|
469
477
|
});
|
|
470
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWRhcHRlcnMvU1FML01vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtEQUErRDtBQUMvRCw0REFBNEQ7QUFDNUQsNERBQTREO0FBQzVELHVEQUF1RDtBQUN2RCwwREFBMEQ7QUFDMUQsd0RBQXdEO0FBQ3hEOztHQUVHO0FBQ0gsT0FBTyxLQUFLLGFBQWEsTUFBTSxzQ0FBc0MsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFDekQsT0FBTyxLQUFLLFdBQVcsTUFBTSxpQ0FBaUMsQ0FBQTtBQUM5RCxPQUFPLEtBQUssU0FBUyxNQUFNLCtCQUErQixDQUFBO0FBQzFELE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQSxDQUFDLE9BQU87QUFFbkMsT0FBTyxLQUFLLFFBQVEsTUFBTSxpQkFBaUIsQ0FBQTtBQUUzQyxPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQTtBQUN2QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDMUMsT0FBTyxLQUFLLE1BQU0sTUFBTSxlQUFlLENBQUE7QUFDdkMsT0FBTyxLQUFLLFNBQVMsTUFBTSxrQkFBa0IsQ0FBQTtBQUM3QyxPQUFPLEtBQUssZUFBZSxNQUFNLHdCQUF3QixDQUFBO0FBQ3pELE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFBO0FBQ3ZDLE9BQU8sS0FBSyxNQUFNLE1BQU0scUJBQXFCLENBQUE7QUFDN0MsT0FBTyxLQUFLLGNBQWMsTUFBTSw2QkFBNkIsQ0FBQTtBQUc3RCxNQUFNLEVBQ0osS0FBSyxFQUNMLEtBQUssRUFDTCxXQUFXLEVBQ1gsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsT0FBTyxFQUNQLFdBQVcsRUFDWixHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUM7SUFDckIsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLFFB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
|
|
478
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWRhcHRlcnMvU1FML01vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtEQUErRDtBQUMvRCw0REFBNEQ7QUFDNUQsNERBQTREO0FBQzVELHVEQUF1RDtBQUN2RCwwREFBMEQ7QUFDMUQsd0RBQXdEO0FBQ3hEOztHQUVHO0FBQ0gsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFBLENBQUMsT0FBTztBQUVuQyxPQUFPLEtBQUssUUFBUSxNQUFNLGlCQUFpQixDQUFBO0FBRTNDLE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUMxQyxPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQTtBQUN2QyxPQUFPLEtBQUssU0FBUyxNQUFNLGtCQUFrQixDQUFBO0FBQzdDLE9BQU8sS0FBSyxlQUFlLE1BQU0sd0JBQXdCLENBQUE7QUFDekQsT0FBTyxLQUFLLE1BQU0sTUFBTSxlQUFlLENBQUE7QUFDdkMsT0FBTyxLQUFLLE1BQU0sTUFBTSxxQkFBcUIsQ0FBQTtBQUM3QyxPQUFPLEtBQUssY0FBYyxNQUFNLDZCQUE2QixDQUFBO0FBRTdELE9BQU8sS0FBSyxhQUFhLE1BQU0sc0NBQXNDLENBQUE7QUFDckUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBQ3pELE9BQU8sS0FBSyxXQUFXLE1BQU0saUNBQWlDLENBQUE7QUFDOUQsT0FBTyxLQUFLLFNBQVMsTUFBTSwrQkFBK0IsQ0FBQTtBQUUxRCxNQUFNLEVBQ0osS0FBSyxFQUNMLEtBQUssRUFDTCxXQUFXLEVBQ1gsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsT0FBTyxFQUNQLFdBQVcsRUFDWixHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUM7SUFDckIsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLFFB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
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { type OperationOptionsBase, type ProcessErrorArgs, ServiceBusClient, type ServiceBusMessage, type ServiceBusMessageBatch, type ServiceBusReceivedMessage, type ServiceBusReceiver } from "@azure/service-bus";
|
|
2
|
-
import { Effect, Layer, type Scope
|
|
3
|
-
declare const ServiceBusClientTag_base:
|
|
2
|
+
import { Context, Effect, Layer, type Scope } from "effect-app";
|
|
3
|
+
declare const ServiceBusClientTag_base: Context.OpaqueClass<ServiceBusClientTag, "@services/Client", ServiceBusClient> & {
|
|
4
4
|
readonly make: (url: string) => Effect.Effect<ServiceBusClient, never, Scope.Scope>;
|
|
5
5
|
};
|
|
6
6
|
export declare class ServiceBusClientTag extends ServiceBusClientTag_base {
|
|
7
7
|
static readonly layer: (url: string) => Layer.Layer<ServiceBusClientTag, never, never>;
|
|
8
8
|
}
|
|
9
|
-
declare const Sender_base:
|
|
9
|
+
declare const Sender_base: Context.OpaqueClass<Sender, "Sender", {
|
|
10
10
|
name: string;
|
|
11
11
|
sendMessages: (messages: ServiceBusMessage | ServiceBusMessage[] | ServiceBusMessageBatch, options?: Omit<OperationOptionsBase, "abortSignal">) => Effect.Effect<void, never, never>;
|
|
12
12
|
}> & {
|
|
@@ -18,10 +18,10 @@ declare const Sender_base: ServiceMap.OpaqueClass<Sender, "Sender", {
|
|
|
18
18
|
export declare class Sender extends Sender_base {
|
|
19
19
|
static readonly layer: (name: string) => Layer.Layer<Sender, never, ServiceBusClientTag>;
|
|
20
20
|
}
|
|
21
|
-
export declare const SenderTag: <Id>() => <Key extends string>(queueName: Key) =>
|
|
21
|
+
export declare const SenderTag: <Id>() => <Key extends string>(queueName: Key) => Context.Service<Id, Sender> & {
|
|
22
22
|
layer: Layer.Layer<Id, never, ServiceBusClientTag>;
|
|
23
23
|
};
|
|
24
|
-
declare const Receiver_base:
|
|
24
|
+
declare const Receiver_base: Context.OpaqueClass<Receiver, "Receiver", {
|
|
25
25
|
name: string;
|
|
26
26
|
make: (waitTillEmpty: Effect.Effect<void>) => Effect.Effect<ServiceBusReceiver, never, Scope.Scope>;
|
|
27
27
|
makeSession: (sessionId: string, waitTillEmpty: Effect.Effect<void>) => Effect.Effect<ServiceBusReceiver, never, Scope.Scope>;
|
|
@@ -36,7 +36,7 @@ export declare class Receiver extends Receiver_base {
|
|
|
36
36
|
}, never, ServiceBusClientTag>;
|
|
37
37
|
static readonly layer: (name: string) => Layer.Layer<Receiver, never, ServiceBusClientTag>;
|
|
38
38
|
}
|
|
39
|
-
export declare const ReceiverTag: <Id>() => <Key extends string>(queueName: Key) =>
|
|
39
|
+
export declare const ReceiverTag: <Id>() => <Key extends string>(queueName: Key) => Context.Service<Id, Receiver> & {
|
|
40
40
|
layer: Layer.Layer<Id, never, ServiceBusClientTag>;
|
|
41
41
|
};
|
|
42
42
|
export declare const SenderReceiver: (queue: string, queueDrain?: string) => Layer.Layer<Sender | Receiver, never, ServiceBusClientTag>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceBus.d.ts","sourceRoot":"","sources":["../../src/adapters/ServiceBus.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,gBAAgB,EAAE,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,KAAK,yBAAyB,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACrN,OAAO,EAAS,MAAM,EAAkB,KAAK,EAAE,KAAK,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"ServiceBus.d.ts","sourceRoot":"","sources":["../../src/adapters/ServiceBus.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,gBAAgB,EAAE,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,KAAK,yBAAyB,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACrN,OAAO,EAAS,OAAO,EAAE,MAAM,EAAkB,KAAK,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAA;;;;AAkBtF,qBAAa,mBACX,SAAQ,wBAAiG;IAEzG,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAI,KAAK,MAAM,oDAAiC;CACtE;;UA6BO,MAAM;kBACE,CACZ,QAAQ,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,GAAG,sBAAsB,EAC1E,OAAO,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,aAAa,CAAC,KAChD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;;;cAJhC,MAAM;sBACE,CACZ,QAAQ,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,GAAG,sBAAsB,EAC1E,OAAO,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,aAAa,CAAC,KAChD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;;;AALxC,qBAAa,MAAO,SAAQ,WAMQ;IAClC,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAI,MAAM,MAAM,qDAAkC;CACxE;AAED,eAAO,MAAM,SAAS,GAAI,EAAE,QAAQ,GAAG,SAAS,MAAM,EAAE,WAAW,GAAG;;CASrE,CAAA;;UA+FO,MAAM;UACN,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;iBACtF,CACX,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAC/B,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;cAChD,IAAI,EAAE,IAAI,SACX,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,cACtB,MAAM,GACjB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;;AAV1D,qBAAa,QAAS,SAAQ,aAWd;IACd,MAAM,CAAC,QAAQ,CAAC,IAAI,SAxGM,MAAM;;8BAyBD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;iCAEhB,MAAM,iBAAiB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;oBAOjC,IAAI,EAAE,IAAI;mCAsElB;IACnC,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAI,MAAM,MAAM,uDAAqC;CAC3E;AAED,eAAO,MAAM,WAAW,GAAI,EAAE,QAAQ,GAAG,SAAS,MAAM,EAAE,WAAW,GAAG;;CASvE,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,EAAE,aAAa,MAAM,+DACS,CAAA;AAE1E,MAAM,WAAW,eAAe,CAAC,IAAI,EAAE,IAAI;IACzC;;;;OAIG;IACH,cAAc,CAAC,OAAO,EAAE,yBAAyB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IACpF;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;CACvE"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/prefer-promise-reject-errors */
|
|
2
2
|
import { ServiceBusClient } from "@azure/service-bus";
|
|
3
|
-
import { Cause, Effect, Exit, FiberSet, Layer
|
|
3
|
+
import { Cause, Context, Effect, Exit, FiberSet, Layer } from "effect-app";
|
|
4
4
|
import { InfraLogger } from "../logger.js";
|
|
5
5
|
const withSpanAndLog = (name) => (self) => Effect.logInfo(name).pipe(Effect.andThen(self), Effect.tap(Effect.logInfo(name + " done")), Effect.withLogSpan(name), Effect.withSpan(name));
|
|
6
6
|
function makeClient(url) {
|
|
7
7
|
return Effect.acquireRelease(Effect.sync(() => new ServiceBusClient(url)).pipe(withSpanAndLog("ServiceBus.client.create")), (client) => Effect.promise(() => client.close()).pipe(withSpanAndLog("ServiceBus.client.close")));
|
|
8
8
|
}
|
|
9
|
-
export class ServiceBusClientTag extends
|
|
9
|
+
export class ServiceBusClientTag extends Context.Opaque()("@services/Client", { make: makeClient }) {
|
|
10
10
|
static layer = (url) => this.toLayer(this.make(url));
|
|
11
11
|
}
|
|
12
12
|
function makeSender_(queueName) {
|
|
@@ -22,13 +22,13 @@ const makeSender = (name) => Effect.gen(function* () {
|
|
|
22
22
|
});
|
|
23
23
|
return { name, sendMessages };
|
|
24
24
|
});
|
|
25
|
-
export class Sender extends
|
|
25
|
+
export class Sender extends Context.Opaque()("Sender", { make: makeSender }) {
|
|
26
26
|
static layer = (name) => this.toLayer(this.make(name));
|
|
27
27
|
}
|
|
28
28
|
export const SenderTag = () => (queueName) => {
|
|
29
|
-
const tag =
|
|
29
|
+
const tag = Context.Service(`ServiceBus.Sender.${queueName}`);
|
|
30
30
|
return Object.assign(tag, {
|
|
31
|
-
layer: Layer.effect(tag, Sender.make(queueName).pipe(Effect.map(
|
|
31
|
+
layer: Layer.effect(tag, Sender.make(queueName).pipe(Effect.map(Sender.of)))
|
|
32
32
|
});
|
|
33
33
|
};
|
|
34
34
|
const makeReceiver = (name) => Effect.gen(function* () {
|
|
@@ -85,15 +85,15 @@ const makeReceiver = (name) => Effect.gen(function* () {
|
|
|
85
85
|
})
|
|
86
86
|
};
|
|
87
87
|
});
|
|
88
|
-
export class Receiver extends
|
|
88
|
+
export class Receiver extends Context.Opaque()("Receiver") {
|
|
89
89
|
static make = makeReceiver;
|
|
90
90
|
static layer = (name) => this.toLayer(makeReceiver(name));
|
|
91
91
|
}
|
|
92
92
|
export const ReceiverTag = () => (queueName) => {
|
|
93
|
-
const tag =
|
|
93
|
+
const tag = Context.Service(`ServiceBus.Receiver.${queueName}`);
|
|
94
94
|
return Object.assign(tag, {
|
|
95
|
-
layer: Layer.effect(tag, makeReceiver(queueName).pipe(Effect.map(
|
|
95
|
+
layer: Layer.effect(tag, makeReceiver(queueName).pipe(Effect.map(Receiver.of)))
|
|
96
96
|
});
|
|
97
97
|
};
|
|
98
98
|
export const SenderReceiver = (queue, queueDrain) => Layer.mergeAll(Sender.layer(queue), Receiver.layer(queueDrain ?? queue));
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VydmljZUJ1cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hZGFwdGVycy9TZXJ2aWNlQnVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9FQUFvRTtBQUNwRSxPQUFPLEVBQW9ELGdCQUFnQixFQUFnSCxNQUFNLG9CQUFvQixDQUFBO0FBQ3JOLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBYyxNQUFNLFlBQVksQ0FBQTtBQUN0RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRTFDLE1BQU0sY0FBYyxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFVLElBQTRCLEVBQUUsRUFBRSxDQUNqRixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDdkIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFDcEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxFQUMxQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUN4QixNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUN0QixDQUFBO0FBRUgsU0FBUyxVQUFVLENBQUMsR0FBVztJQUM3QixPQUFPLE1BQU0sQ0FBQyxjQUFjLENBQzFCLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxFQUM3RixDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLHlC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
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { CosmosClient as ComosClient_ } from "@azure/cosmos";
|
|
2
|
-
import { Effect, Layer
|
|
2
|
+
import { Context, Effect, Layer } from "effect-app";
|
|
3
3
|
export declare const makeCosmosClient: (url: string, dbName: string) => Effect.Effect<{
|
|
4
4
|
db: import("@azure/cosmos").Database;
|
|
5
5
|
}, never, never>;
|
|
6
|
-
declare const CosmosClient_base:
|
|
6
|
+
declare const CosmosClient_base: Context.ServiceClass<CosmosClient, "@services/CosmosClient", {
|
|
7
7
|
readonly db: ReturnType<InstanceType<typeof ComosClient_>["database"]>;
|
|
8
8
|
}>;
|
|
9
9
|
export declare class CosmosClient extends CosmosClient_base {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cosmos-client.d.ts","sourceRoot":"","sources":["../../src/adapters/cosmos-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,IAAI,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"cosmos-client.d.ts","sourceRoot":"","sources":["../../src/adapters/cosmos-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,IAAI,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAInD,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,EAAE,QAAQ,MAAM;;gBACM,CAAA;;iBAGnD,UAAU,CAAC,YAAY,CAAC,OAAO,YAAY,CAAC,CAAC,UAAU,CAAC,CAAC;;AADxE,qBAAa,YAAa,SAAQ,iBAEJ;CAAG;AAEjC,eAAO,MAAM,EAAE,sEAAwD,CAAA;AAEvE,eAAO,MAAM,iBAAiB,GAAI,WAAW,MAAM,EAAE,QAAQ,MAAM,4CACF,CAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { CosmosClient as ComosClient_ } from "@azure/cosmos";
|
|
2
|
-
import { Effect, Layer
|
|
2
|
+
import { Context, Effect, Layer } from "effect-app";
|
|
3
3
|
const withClient = (url) => Effect.sync(() => new ComosClient_(url));
|
|
4
4
|
export const makeCosmosClient = (url, dbName) => Effect.map(withClient(url), (x) => ({ db: x.database(dbName) }));
|
|
5
|
-
export class CosmosClient extends
|
|
5
|
+
export class CosmosClient extends Context.Service()("@services/CosmosClient") {
|
|
6
6
|
}
|
|
7
7
|
export const db = CosmosClient.asEffect().pipe(Effect.map((_) => _.db));
|
|
8
8
|
export const CosmosClientLayer = (cosmosUrl, dbName) => Layer.effect(CosmosClient, makeCosmosClient(cosmosUrl, dbName));
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29zbW9zLWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hZGFwdGVycy9jb3Ntb3MtY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLElBQUksWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzVELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUVuRCxNQUFNLFVBQVUsR0FBRyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO0FBRTVFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsR0FBVyxFQUFFLE1BQWMsRUFBRSxFQUFFLENBQzlELE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFFbEUsTUFBTSxPQUFPLFlBQWEsU0FBUSxPQUFPLENBQUMsT0FBTyxFQUU3QyxDQUFDLHdCQUF3QixDQUFDO0NBQUc7QUFFakMsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFFdkUsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxTQUFpQixFQUFFLE1BQWMsRUFBRSxFQUFFLENBQ3JFLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFBIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/adapters/logger.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/adapters/logger.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;iBACiO,GAAG;eAAkF,GAAG;eAAkF,GAAG;cAAiF,GAAG;eAAkF,GAAG;8DAA+G,GAAI;CADnoB,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Effect, type Queue
|
|
2
|
-
declare const MemQueue_base:
|
|
1
|
+
import { Context, Effect, type Queue } from "effect-app";
|
|
2
|
+
declare const MemQueue_base: Context.OpaqueClass<MemQueue, "effect-app/MemQueue", {
|
|
3
3
|
getOrCreateQueue: (k: string) => Effect.Effect<Queue.Queue<string, never>, never, never>;
|
|
4
4
|
}> & {
|
|
5
5
|
readonly make: Effect.Effect<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memQueue.d.ts","sourceRoot":"","sources":["../../src/adapters/memQueue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"memQueue.d.ts","sourceRoot":"","sources":["../../src/adapters/memQueue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAA;;;;;;;;AAkBxD,qBAAa,QAAS,SAAQ,aAA2D;IACvF,MAAM,CAAC,QAAQ,CAAC,IAAI,uDAA0B;CAC/C"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Context, Effect } from "effect-app";
|
|
2
2
|
import * as Q from "effect/Queue";
|
|
3
3
|
const make = Effect
|
|
4
4
|
.gen(function* () {
|
|
@@ -14,7 +14,7 @@ const make = Effect
|
|
|
14
14
|
})
|
|
15
15
|
};
|
|
16
16
|
});
|
|
17
|
-
export class MemQueue extends
|
|
17
|
+
export class MemQueue extends Context.Opaque()("effect-app/MemQueue", { make }) {
|
|
18
18
|
static Live = this.toLayer(this.make);
|
|
19
19
|
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtUXVldWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWRhcHRlcnMvbWVtUXVldWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQWMsTUFBTSxZQUFZLENBQUE7QUFDeEQsT0FBTyxLQUFLLENBQUMsTUFBTSxjQUFjLENBQUE7QUFFakMsTUFBTSxJQUFJLEdBQUcsTUFBTTtLQUNoQixHQUFHLENBQUMsUUFBUSxDQUFDO0lBQ1osTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEdBQUcsRUFBK0IsQ0FBQyxDQUFBO0lBRTlFLE9BQU87UUFDTCxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFDLENBQVM7WUFDckQsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUN0QixJQUFJLENBQUM7Z0JBQUUsT0FBTyxDQUFDLENBQUE7WUFDZixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFVLENBQUE7WUFDekMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUE7WUFDbEIsT0FBTyxJQUFJLENBQUE7UUFDYixDQUFDLENBQUM7S0FDSCxDQUFBO0FBQ0gsQ0FBQyxDQUFDLENBQUE7QUFFSixNQUFNLE9BQU8sUUFBUyxTQUFRLE9BQU8sQ0FBQyxNQUFNLEVBQVksQ0FBQyxxQkFBcUIsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3ZGLE1BQU0sQ0FBVSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUEifQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Context, Layer } from "effect-app";
|
|
2
2
|
import { MongoClient as MongoClient_ } from "mongodb";
|
|
3
|
-
declare const MongoClient_base:
|
|
3
|
+
declare const MongoClient_base: Context.ServiceClass<MongoClient, "@services/MongoClient", {
|
|
4
4
|
readonly db: ReturnType<InstanceType<typeof MongoClient_>["db"]>;
|
|
5
5
|
}>;
|
|
6
6
|
export declare class MongoClient extends MongoClient_base {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongo-client.d.ts","sourceRoot":"","sources":["../../src/adapters/mongo-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"mongo-client.d.ts","sourceRoot":"","sources":["../../src/adapters/mongo-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,KAAK,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,WAAW,IAAI,YAAY,EAAE,MAAM,SAAS,CAAA;;iBAiBtC,UAAU,CAAC,YAAY,CAAC,OAAO,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC;;AADlE,qBAAa,WAAY,SAAQ,gBAEJ;CAAG;AAEhC,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,EAAE,SAAS,MAAM,2CACH,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Effect, Layer
|
|
1
|
+
import { Context, Effect, Layer } from "effect-app";
|
|
2
2
|
import { MongoClient as MongoClient_ } from "mongodb";
|
|
3
3
|
// TODO: we should probably share a single client...
|
|
4
4
|
const withClient = (url) => Effect.acquireRelease(Effect
|
|
@@ -7,7 +7,7 @@ const withClient = (url) => Effect.acquireRelease(Effect
|
|
|
7
7
|
return client.connect();
|
|
8
8
|
}), (cl) => Effect.promise(() => cl.close()).pipe(Effect.uninterruptible, Effect.orDie));
|
|
9
9
|
const makeMongoClient = (url, dbName) => Effect.map(withClient(url), (x) => ({ db: x.db(dbName) }));
|
|
10
|
-
export class MongoClient extends
|
|
10
|
+
export class MongoClient extends Context.Service()("@services/MongoClient") {
|
|
11
11
|
}
|
|
12
12
|
export const MongoClientLive = (mongoUrl, dbName) => Layer.effect(MongoClient, makeMongoClient(mongoUrl, dbName));
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZ28tY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FkYXB0ZXJzL21vbmdvLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDbkQsT0FBTyxFQUFFLFdBQVcsSUFBSSxZQUFZLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFFckQsb0RBQW9EO0FBRXBELE1BQU0sVUFBVSxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FDakMsTUFBTSxDQUFDLGNBQWMsQ0FDbkIsTUFBTTtLQUNILE9BQU8sQ0FBQyxHQUFHLEVBQUU7SUFDWixNQUFNLE1BQU0sR0FBRyxJQUFJLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNwQyxPQUFPLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQTtBQUN6QixDQUFDLENBQUMsRUFDSixDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQ3BGLENBQUE7QUFFSCxNQUFNLGVBQWUsR0FBRyxDQUFDLEdBQVcsRUFBRSxNQUFlLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFFcEgsTUFBTSxPQUFPLFdBQVksU0FBUSxPQUFPLENBQUMsT0FBTyxFQUU1QyxDQUFDLHVCQUF1QixDQUFDO0NBQUc7QUFFaEMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsUUFBZ0IsRUFBRSxNQUFlLEVBQUUsRUFBRSxDQUNuRSxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUEifQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Effect, Layer, Option
|
|
1
|
+
import { Context, Effect, Layer, Option } from "effect-app";
|
|
2
2
|
import type { RedisClient as Client } from "redis";
|
|
3
3
|
import Redlock from "redlock";
|
|
4
|
-
declare const ConnectionException_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").
|
|
4
|
+
declare const ConnectionException_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
5
5
|
readonly _tag: "ConnectionException";
|
|
6
6
|
} & Readonly<A>;
|
|
7
7
|
export declare class ConnectionException extends ConnectionException_base<{
|
|
@@ -21,7 +21,7 @@ export declare const makeRedisClient: (makeClient: () => Client) => Effect.Effec
|
|
|
21
21
|
}>, ConnectionException, never>;
|
|
22
22
|
set: (key: string, val: string) => Effect.Effect<void, ConnectionException, never>;
|
|
23
23
|
}, never, import("effect/Scope").Scope>;
|
|
24
|
-
declare const RedisClient_base:
|
|
24
|
+
declare const RedisClient_base: Context.ServiceClass<RedisClient, "@services/RedisClient", {
|
|
25
25
|
readonly client: Client;
|
|
26
26
|
readonly lock: Redlock;
|
|
27
27
|
readonly get: (key: string) => Effect.Effect<Option.Option<string>, ConnectionException>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redis-client.d.ts","sourceRoot":"","sources":["../../src/adapters/redis-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"redis-client.d.ts","sourceRoot":"","sources":["../../src/adapters/redis-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAQ,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACjE,OAAO,KAAK,EAAE,WAAW,IAAI,MAAM,EAAE,MAAM,OAAO,CAAA;AAClD,OAAO,OAAO,MAAM,SAAS,CAAA;;;;AAE7B,qBAAa,mBAAoB,SAAQ,yBAAwC;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;gBACrG,KAAK,EAAE,KAAK;CAGzB;AAED,eAAO,MAAM,eAAe,GAAI,YAAY,MAAM,MAAM;;;eAO9B,MAAM;gBAiCL,MAAM,SAAS,MAAM;gBAXrB,MAAM,SAAS,MAAM,SAAS,MAAM;oBAqBhC,MAAM;;;eAhCX,MAAM,OAAO,MAAM;uCA8D1C,CAAA;;qBAGgB,MAAM;mBACR,OAAO;kBACR,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC;mBACzE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC;mBACzF,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC;uBACnF,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC,EAAE,mBAAmB,CAAC;kBAClG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC;;AAPtF,qBAAa,WAAY,SAAQ,gBAQJ;CAAG;AAEhC,eAAO,MAAM,gBAAgB,GAAI,YAAY,MAAM,2CACgB,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Data, Effect, Layer, Option
|
|
1
|
+
import { Context, Data, Effect, Layer, Option } from "effect-app";
|
|
2
2
|
import Redlock from "redlock";
|
|
3
3
|
export class ConnectionException extends Data.TaggedError("ConnectionException") {
|
|
4
4
|
constructor(cause) {
|
|
@@ -68,7 +68,7 @@ export const makeRedisClient = (makeClient) => Effect.acquireRelease(Effect
|
|
|
68
68
|
cl.client.quit((err) => res(err ? Effect.fail(err) : Effect.void));
|
|
69
69
|
})
|
|
70
70
|
.pipe(Effect.uninterruptible, Effect.orDie));
|
|
71
|
-
export class RedisClient extends
|
|
71
|
+
export class RedisClient extends Context.Service()("@services/RedisClient") {
|
|
72
72
|
}
|
|
73
73
|
export const RedisClientLayer = (storageUrl) => Layer.effect(RedisClient, makeRedisClient(makeRedis(storageUrl)));
|
|
74
74
|
function createClient(makeClient) {
|
|
@@ -91,4 +91,4 @@ function makeRedis(storageUrl) {
|
|
|
91
91
|
}
|
|
92
92
|
: storageUrl);
|
|
93
93
|
}
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkaXMtY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FkYXB0ZXJzL3JlZGlzLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUVqRSxPQUFPLE9BQU8sTUFBTSxTQUFTLENBQUE7QUFFN0IsTUFBTSxPQUFPLG1CQUFvQixTQUFRLElBQUksQ0FBQyxXQUFXLENBQUMscUJBQXFCLENBQW9DO0lBQ2pILFlBQVksS0FBWTtRQUN0QixLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUN6RCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxVQUF3QixFQUFFLEVBQUUsQ0FDMUQsTUFBTSxDQUFDLGNBQWMsQ0FDbkIsTUFBTTtLQUNILElBQUksQ0FBQyxHQUFHLEVBQUU7SUFDVCxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDdkMsTUFBTSxJQUFJLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO0lBRWxDLFNBQVMsR0FBRyxDQUFDLEdBQVc7UUFDdEIsT0FBTyxNQUFNO2FBQ1YsUUFBUSxDQUE2QyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQzVELE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQ3pCLEdBQUc7Z0JBQ0QsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDaEQsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFB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
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Effect, Layer, type NonEmptyReadonlyArray, type Scope
|
|
1
|
+
import { Context, Effect, Layer, type NonEmptyReadonlyArray, type Scope } from "effect-app";
|
|
2
2
|
import { type HttpRouter } from "effect-app/http";
|
|
3
3
|
import { type EffectGenUtils } from "effect-app/utils/gen";
|
|
4
4
|
import { type Yieldable } from "effect/Effect";
|
|
@@ -11,20 +11,20 @@ export interface ContextProviderId {
|
|
|
11
11
|
* each service is an effect which builds some context for each request
|
|
12
12
|
*/
|
|
13
13
|
type TDepsArr<TDeps extends ReadonlyArray<any>> = {
|
|
14
|
-
[K in keyof TDeps]: TDeps[K] extends ContextTagWithDefault.Base<Effect.Effect<
|
|
14
|
+
[K in keyof TDeps]: TDeps[K] extends ContextTagWithDefault.Base<Effect.Effect<Context.Context<infer _1>, never, infer _R>> ? [_R] extends [HttpRouter.Provided] ? TDeps[K] : `HttpLayerRouter.Provided is the only requirement ${TDeps[K]["Service"]["_tag"]}'s returned effect can have` : TDeps[K] extends (ContextTagWithDefault.Base<(() => Generator<infer _YW, infer _1, infer _2>)>) ? [_YW] extends [never] ? TDeps[K] : [_YW] extends [Yieldable<any, infer _2, never, infer _R>] ? [_R] extends [HttpRouter.Provided] ? TDeps[K] : `HttpLayerRouter.Provided is the only requirement ${TDeps[K]["Service"]["_tag"]}'s returned effect can have` : "WTF are you yielding man?" : `You cannot throw errors from providers`;
|
|
15
15
|
};
|
|
16
16
|
export declare const mergeContextProviders: <TDeps extends ReadonlyArray<any>>(...deps: TDepsArr<TDeps>) => {
|
|
17
17
|
dependencies: { [K in keyof TDeps]: TDeps[K]["Default"]; };
|
|
18
|
-
effect: Effect.Effect<Effect.Effect<
|
|
18
|
+
effect: Effect.Effect<Effect.Effect<Context.Context<GetContext<EffectGenUtils.Success<Context.Service.Shape<TDeps[number]>>>>, never, EffectGenUtils.Context<Context.Service.Shape<TDeps[number]>>>, LayerUtils.GetLayersError<{ [K in keyof TDeps]: TDeps[K]["Default"]; }>, LayerUtils.GetLayersSuccess<{ [K in keyof TDeps]: TDeps[K]["Default"]; }>>;
|
|
19
19
|
};
|
|
20
20
|
export declare const ContextProvider: <ContextProviderA, MakeContextProviderE, MakeContextProviderR, ContextProviderR extends Scope.Scope, Dependencies extends NonEmptyReadonlyArray<Layer.Any>>(input: {
|
|
21
21
|
effect: Effect.Effect<Effect.Effect<ContextProviderA, never, ContextProviderR> | (() => Generator<Yieldable<any, any, never, ContextProviderR>, ContextProviderA, any>), MakeContextProviderE, MakeContextProviderR | Scope.Scope>;
|
|
22
22
|
dependencies?: Dependencies;
|
|
23
|
-
}) =>
|
|
23
|
+
}) => Context.Service<ContextProviderId, Effect.Effect<ContextProviderA, never, ContextProviderR>> & {
|
|
24
24
|
Default: Layer.Layer<ContextProviderId, MakeContextProviderE | LayerUtils.GetLayersError<Dependencies>, Exclude<MakeContextProviderR, LayerUtils.GetLayersSuccess<Dependencies>> | LayerUtils.GetLayersContext<Dependencies>>;
|
|
25
25
|
};
|
|
26
|
-
export declare const MergedContextProvider: <TDeps extends ReadonlyArray<any>>(...deps: TDepsArr<TDeps>) => ContextTagWithDefault<ContextProviderId, Effect.Effect<
|
|
27
|
-
export declare const EmptyContextProvider:
|
|
26
|
+
export declare const MergedContextProvider: <TDeps extends ReadonlyArray<any>>(...deps: TDepsArr<TDeps>) => ContextTagWithDefault<ContextProviderId, Effect.Effect<Context.Context<GetContext<EffectGenUtils.Success<Context.Service.Shape<TDeps[number]>>>>, never, EffectGenUtils.Context<Context.Service.Shape<TDeps[number]>>>, LayerUtils.GetLayersError<{ [K in keyof TDeps]: TDeps[K]["Default"]; }>, Exclude<Context.Service.Identifier<TDeps[number]>, LayerUtils.GetLayersSuccess<{ [K in keyof TDeps]: TDeps[K]["Default"]; }>> | LayerUtils.GetLayersContext<{ [K in keyof TDeps]: TDeps[K]["Default"]; }>>;
|
|
27
|
+
export declare const EmptyContextProvider: Context.Service<ContextProviderId, Effect.Effect<Context.Context<never>, never, never>> & {
|
|
28
28
|
Default: Layer.Layer<ContextProviderId, never, never>;
|
|
29
29
|
};
|
|
30
30
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextProvider.d.ts","sourceRoot":"","sources":["../../src/api/ContextProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,qBAAqB,EAAQ,KAAK,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"ContextProvider.d.ts","sourceRoot":"","sources":["../../src/api/ContextProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,qBAAqB,EAAQ,KAAK,KAAK,EAAE,MAAM,YAAY,CAAA;AAEjG,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAiB,MAAM,iBAAiB,CAAA;AAE7G,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,iBAAiB,CAAA;CACxB;AAED;;;GAGG;AACH,KAAK,QAAQ,CAAC,KAAK,SAAS,aAAa,CAAC,GAAG,CAAC,IAAI;KAK/C,CAAC,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,SAI5B,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,GACjF,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAC7C,oDAAoD,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CACvE,MAAM,CACP,6BAA6B,GAC5B,KAAK,CAAC,CAAC,CAAC,SAAS,CACjB,qBAAqB,CAAC,IAAI,CACxB,CAAC,MAAM,SAAS,CACd,MAAM,GAAG,EACT,MAAM,EAAE,EACR,MAAM,EAAE,CACT,CAAC,CACH,CACF,GACG,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAChC,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GACvG,oDAAoD,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CACvE,MAAM,CACP,6BAA6B,GAC9B,2BAA2B,GAC7B,wCAAwC;CAC7C,CAAA;AAGD,eAAO,MAAM,qBAAqB,GAChC,KAAK,SAAS,aAAa,CAAC,GAAG,CAAC,EAGhC,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,KACvB;IACD,YAAY,EAAE,GAAG,CAAC,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAE,CAAA;IACzD,MAAM,EAAE,MAAM,CAAC,MAAM,CACnB,MAAM,CAAC,MAAM,CAGX,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EACzF,KAAK,EACL,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAC7D,EACD,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAE,CAAC,EACtE,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAE,CAAC,CACzE,CAAA;CAmBD,CAAA;AAGF,eAAO,MAAM,eAAe,GAC1B,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,SAAS,KAAK,CAAC,KAAK,EACpC,YAAY,SAAS,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,EAErD,OAAO;IACL,MAAM,EAAE,MAAM,CAAC,MAAM,CACjB,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,CAAC,GACxD,CAAC,MAAM,SAAS,CAChB,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,gBAAgB,CAAC,EAC5C,gBAAgB,EAChB,GAAG,CACJ,CAAC,EACF,oBAAoB,EACpB,oBAAoB,GAAG,KAAK,CAAC,KAAK,CACnC,CAAA;IACD,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B;;CAuBF,CAAA;AAGD,eAAO,MAAM,qBAAqB,GAChC,KAAK,SAAS,aAAa,CAAC,GAAG,CAAC,EAGhC,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,KAMR,qBAAqB,CACnC,iBAAiB,EACjB,MAAM,CAAC,MAAM,CAGX,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EACzF,KAAK,EACL,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAC7D,EACD,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAE,CAAC,EAEpE,OAAO,CACP,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EACzC,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAE,CAAC,CACzE,GACC,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAE,CAAC,CAC3E,CAAA;AAEH,eAAO,MAAM,oBAAoB;;CAA+E,CAAA"}
|