@effect-app/infra 0.96.0 → 0.97.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,8 @@
1
1
  import { Effect } from "effect/Effect";
2
2
  import { PubSub } from "effect/PubSub";
3
- import { Tag } from "effect/Context";
4
- import { Layer } from "effect/Layer";
5
3
  import { NonEmptyReadonlyArray } from "effect/ReadonlyArray";
4
+ import { Layer } from "effect/Layer";
5
+ import { Tag } from "effect/Context";
6
6
  import type { ParserEnv } from "@effect-app/schema/custom/Parser";
7
7
  import type { Repository } from "./Repository.js";
8
8
  import { StoreMaker } from "./Store.js";
@@ -12,19 +12,18 @@ import type { Schema } from "@effect-app/prelude";
12
12
  import type { InvalidStateError, OptimisticConcurrencyException } from "../errors.js";
13
13
  import { ContextMapContainer } from "./Store/ContextMapContainer.js";
14
14
  /**
15
- * A base for creating an abstract class usable as Tag, Companion and interface to create your own implementation.
15
+ * @tsplus type Repository
16
16
  */
17
- export declare const RepositoryBase: <Service>() => <T extends {
17
+ export declare abstract class RepositoryBaseC<T extends {
18
18
  id: string;
19
19
  }, PM extends {
20
20
  id: string;
21
- _etag: string | undefined;
22
- }, Evt, ItemType extends string>(itemType: ItemType) => ((abstract new () => {
23
- readonly itemType: ItemType;
24
- readonly find: (id: T["id"]) => Effect<never, never, Opt<T>>;
25
- readonly all: Effect<never, never, T[]>;
26
- readonly saveAndPublish: (items: Iterable<T>, events?: Iterable<Evt>) => Effect<never, InvalidStateError | OptimisticConcurrencyException, void>;
27
- readonly utils: {
21
+ }, Evt, ItemType extends string> {
22
+ abstract readonly itemType: ItemType;
23
+ abstract readonly find: (id: T["id"]) => Effect<never, never, Opt<T>>;
24
+ abstract readonly all: Effect<never, never, T[]>;
25
+ abstract readonly saveAndPublish: (items: Iterable<T>, events?: Iterable<Evt>) => Effect<never, InvalidStateError | OptimisticConcurrencyException, void>;
26
+ abstract readonly utils: {
28
27
  mapReverse: (pm: PM, setEtag: (id: string, eTag: string | undefined) => void) => unknown;
29
28
  parse: (a: unknown, env?: ParserEnv | undefined) => T;
30
29
  all: Effect<never, never, PM[]>;
@@ -33,57 +32,57 @@ export declare const RepositoryBase: <Service>() => <T extends {
33
32
  skip?: number;
34
33
  }) => Effect<never, never, PM[]>;
35
34
  };
36
- readonly changeFeed: PubSub<[T[], "save" | "remove"]>;
37
- readonly removeAndPublish: (items: Iterable<T>, events?: Iterable<Evt>) => Effect<never, never, void>;
38
- }) & {
39
- readonly where: (makeWhere: (f: {
40
- <TFieldName extends import("../filter/types/path/eager.js").Path<PM>, A extends import("../filter/types/path/eager.js").PathValue<PM, TFieldName>, Val>(path: TFieldName, value: (v: A) => Val): {
41
- key: string;
42
- t: Val extends {
43
- t: "in" | "not-in";
44
- v: readonly any[];
45
- } | {
46
- t: "eq" | "not-eq";
47
- v: any;
48
- } ? Val["t"] : never;
49
- value: Val extends {
50
- t: "in" | "not-in";
51
- v: readonly any[];
52
- } | {
53
- t: "eq" | "not-eq";
54
- v: any;
55
- } ? Val["v"] : never;
56
- readonly S: PM;
57
- };
58
- <TFieldName_1 extends import("../filter/types/path/eager.js").Path<PM>, A_1 extends import("../filter/types/path/eager.js").PathValue<PM, TFieldName_1>>(path: TFieldName_1, value: A_1): {
59
- key: string;
60
- t: "eq";
61
- value: A_1;
62
- readonly S: PM;
63
- };
64
- }) => Where | readonly [Where, ...Where[]], mode?: "or" | "and") => Filter<PM>;
65
- flatMap<R1, E1, B>(f: (a: Service) => Effect<R1, E1, B>): Effect<Service | R1, E1, B>;
66
- map<B_1>(f: (a: Service) => B_1): import("effect/Effect").Effect<Service, never, B_1>;
67
- makeLayer(svc: Service): import("effect/Layer").Layer<never, never, Service>;
68
- }) & import("effect/Context").Tag<Service, Service>;
35
+ abstract readonly changeFeed: PubSub<[T[], "save" | "remove"]>;
36
+ abstract readonly removeAndPublish: (items: Iterable<T>, events?: Iterable<Evt>) => Effect<never, never, void>;
37
+ }
38
+ export declare abstract class RepositoryBaseC1<T extends {
39
+ id: string;
40
+ }, PM extends {
41
+ id: string;
42
+ }, Evt, ItemType extends string> extends RepositoryBaseC<T, PM, Evt, ItemType> {
43
+ readonly itemType: ItemType;
44
+ constructor(itemType: ItemType);
45
+ }
46
+ export declare class RepositoryBaseC2<T extends {
47
+ id: string;
48
+ }, PM extends {
49
+ id: string;
50
+ }, Evt, ItemType extends string> extends RepositoryBaseC1<T, PM, Evt, ItemType> {
51
+ protected readonly impl: Repository<T, PM, Evt, ItemType>;
52
+ constructor(itemType: ItemType, impl: Repository<T, PM, Evt, ItemType>);
53
+ saveAndPublish: (items: Iterable<T>, events?: Iterable<Evt> | undefined) => import("effect/Effect").Effect<never, InvalidStateError | OptimisticConcurrencyException, void>;
54
+ removeAndPublish: (items: Iterable<T>, events?: Iterable<Evt> | undefined) => import("effect/Effect").Effect<never, never, void>;
55
+ find: (id: T["id"]) => import("effect/Effect").Effect<never, never, Opt<T>>;
56
+ all: import("effect/Effect").Effect<never, never, T[]>;
57
+ utils: {
58
+ mapReverse: (pm: PM, setEtag: (id: string, eTag: string | undefined) => void) => unknown;
59
+ parse: (a: unknown, env?: ParserEnv | undefined) => T;
60
+ all: import("effect/Effect").Effect<never, never, PM[]>;
61
+ filter: (filter: Filter<PM>, cursor?: {
62
+ limit?: number | undefined;
63
+ skip?: number | undefined;
64
+ } | undefined) => import("effect/Effect").Effect<never, never, PM[]>;
65
+ };
66
+ changeFeed: import("effect/PubSub").PubSub<[T[], "save" | "remove"]>;
67
+ }
69
68
  /**
70
69
  * A base implementation to create a repository.
71
70
  */
72
71
  export declare function makeRepo<PM extends {
73
72
  id: string;
74
73
  _etag: string | undefined;
75
- }, Evt = unknown>(): <ItemType extends string, T extends {
74
+ }, Evt = never>(): <ItemType extends string, T extends {
76
75
  id: string;
77
76
  }, ConstructorInput, Api, Encoded extends {
78
77
  id: string;
79
78
  }>(name: ItemType, schema: Schema.Schema<unknown, T, ConstructorInput, Encoded, Api>, mapFrom: (pm: Omit<PM, "_etag">) => Encoded, mapTo: (e: Encoded, etag: string | undefined) => PM) => {
80
- make: <R = never, E = never, R2 = never>(args: [Evt] extends [object] ? {
81
- publishEvents: (evt: readonly [Evt, ...Evt[]]) => Effect<R2, never, void>;
79
+ make: <R = never, E = never, R2 = never>(args: [Evt] extends [never] ? {
82
80
  makeInitial?: import("effect/Effect").Effect<R, E, readonly T[]> | undefined;
83
81
  config?: (Omit<StoreConfig<PM>, "partitionValue"> & {
84
82
  partitionValue?: ((a: PM) => string) | undefined;
85
83
  }) | undefined;
86
84
  } : {
85
+ publishEvents: (evt: readonly [Evt, ...Evt[]]) => Effect<R2, never, void>;
87
86
  makeInitial?: import("effect/Effect").Effect<R, E, readonly T[]> | undefined;
88
87
  config?: (Omit<StoreConfig<PM>, "partitionValue"> & {
89
88
  partitionValue?: ((a: PM) => string) | undefined;
@@ -114,7 +113,7 @@ export declare function makeRepo<PM extends {
114
113
  value: A_1;
115
114
  readonly S: PM;
116
115
  };
117
- }) => Where | readonly [Where, ...Where[]], mode?: "and" | "or" | undefined) => Filter<PM>;
116
+ }) => Where | readonly [Where, ...Where[]], mode?: "or" | "and" | undefined) => Filter<PM>;
118
117
  };
119
118
  /**
120
119
  * only use this as a shortcut if you don't have the item already
@@ -165,72 +164,44 @@ export declare function makeStore<PM extends {
165
164
  }>(name: ItemType, schema: Schema.Schema<unknown, T, ConstructorInput, E, Api>, mapTo: (e: E, etag: string | undefined) => PM) => <R = never, E_1 = never>(makeInitial?: import("effect/Effect").Effect<R, E_1, readonly T[]> | undefined, config?: (Omit<StoreConfig<PM>, "partitionValue"> & {
166
165
  partitionValue?: ((a: PM) => string) | undefined;
167
166
  }) | undefined) => import("effect/Effect").Effect<StoreMaker | R, E_1, import("./Store.js").Store<PM, string>>;
168
- export declare const RepositoryBaseImpl: <Service>() => <PM extends {
167
+ type Repos<Service, Out, T extends {
169
168
  id: string;
170
- _etag: string | undefined;
171
- }, Evt = unknown>() => <ItemType extends string, T extends {
172
- id: string;
173
- }, ConstructorInput, Api, E extends {
169
+ }, PM extends {
174
170
  id: string;
175
- }>(itemType: ItemType, schema: Schema.Schema<unknown, T, ConstructorInput, E, Api>, mapFrom: (pm: Omit<PM, "_etag">) => E, mapTo: (e: E, etag: string | undefined) => PM) => (abstract new () => Repository<T, PM, Evt, ItemType>) & import("effect/Context").Tag<Service, Service> & {
176
- make<R = never, E_1 = never, R2 = never>(args: [Evt] extends [object] ? {
177
- publishEvents: (evt: readonly [Evt, ...Evt[]]) => import("effect/Effect").Effect<R2, never, void>;
178
- makeInitial?: import("effect/Effect").Effect<R, E_1, readonly T[]> | undefined;
179
- config?: (Omit<StoreConfig<PM>, "partitionValue"> & {
180
- partitionValue?: ((a: PM) => string) | undefined;
181
- }) | undefined;
171
+ _etag: string | undefined;
172
+ }, Evt> = {
173
+ make<R = never, E = never, R2 = never>(args: [Evt] extends [never] ? {
174
+ makeInitial?: Effect<R, E, readonly T[]>;
175
+ config?: Omit<StoreConfig<PM>, "partitionValue"> & {
176
+ partitionValue?: (a: PM) => string;
177
+ };
182
178
  } : {
183
- makeInitial?: import("effect/Effect").Effect<R, E_1, readonly T[]> | undefined;
184
- config?: (Omit<StoreConfig<PM>, "partitionValue"> & {
185
- partitionValue?: ((a: PM) => string) | undefined;
186
- }) | undefined;
187
- }): import("effect/Effect").Effect<StoreMaker | ContextMapContainer | R | R2, E_1, Repository<T, PM, Evt, ItemType>>;
179
+ publishEvents: (evt: NonEmptyReadonlyArray<Evt>) => Effect<R2, never, void>;
180
+ makeInitial?: Effect<R, E, readonly T[]>;
181
+ config?: Omit<StoreConfig<PM>, "partitionValue"> & {
182
+ partitionValue?: (a: PM) => string;
183
+ };
184
+ }): Effect<StoreMaker | ContextMapContainer | R | R2, E, Out>;
188
185
  where: ReturnType<typeof makeWhere<PM>>;
189
- flatMap: <R1, E1, B>(f: (a: Service) => import("effect/Effect").Effect<R1, E1, B>) => import("effect/Effect").Effect<Service | R1, E1, B>;
186
+ flatMap: <R1, E1, B>(f: (a: Service) => Effect<R1, E1, B>) => Effect<Service | R1, E1, B>;
190
187
  makeLayer: (svc: Service) => Layer<never, never, Service>;
191
- map: <B_1>(f: (a: Service) => B_1) => import("effect/Effect").Effect<Service, never, B_1>;
188
+ map: <B>(f: (a: Service) => B) => Effect<Service, never, B>;
192
189
  };
190
+ export declare const RepositoryBaseImpl: <Service>() => <PM extends {
191
+ id: string;
192
+ _etag: string | undefined;
193
+ }, Evt = never>() => <ItemType extends string, T extends {
194
+ id: string;
195
+ }, ConstructorInput, Api, E extends {
196
+ id: string;
197
+ }>(itemType: ItemType, schema: Schema.Schema<unknown, T, ConstructorInput, E, Api>, mapFrom: (pm: Omit<PM, "_etag">) => E, mapTo: (e: E, etag: string | undefined) => PM) => (abstract new () => Omit<RepositoryBaseC1<T, PM, Evt, ItemType>, "impl">) & Tag<Service, Service> & Repos<Service, Repository<T, PM, Evt, ItemType>, T, PM, Evt>;
193
198
  export declare const RepositoryDefaultImpl: <Service>() => <PM extends {
194
199
  id: string;
195
200
  _etag: string | undefined;
196
- }, Evt = unknown>() => <ItemType extends string, T extends {
201
+ }, Evt = never>() => <ItemType extends string, T extends {
197
202
  id: string;
198
203
  }, ConstructorInput, Api, E extends {
199
204
  id: string;
200
- }>(itemType: ItemType, schema: Schema.Schema<unknown, T, ConstructorInput, E, Api>, mapFrom: (pm: Omit<PM, "_etag">) => E, mapTo: (e: E, etag: string | undefined) => PM) => import("effect/Context").Tag<Service, Service> & {
201
- new (impl: Repository<T, PM, Evt, ItemType>): Repository<T, PM, Evt, ItemType>;
202
- where: ReturnType<typeof makeWhere<PM>>;
203
- flatMap: <R1, E1, B>(f: (a: Service) => import("effect/Effect").Effect<R1, E1, B>) => import("effect/Effect").Effect<Service | R1, E1, B>;
204
- makeLayer: (svc: Service) => Layer<never, never, Service>;
205
- map: <B_1>(f: (a: Service) => B_1) => import("effect/Effect").Effect<Service, never, B_1>;
206
- repo: Repository<T, PM, Evt, ItemType>;
207
- } & ([Evt] extends [object] ? {
208
- make<R = never, E_1 = never, R2 = never>(args: {
209
- publishEvents: (evt: readonly [Evt, ...Evt[]]) => import("effect/Effect").Effect<R2, never, void>;
210
- makeInitial?: import("effect/Effect").Effect<R, E_1, readonly T[]> | undefined;
211
- config?: (Omit<StoreConfig<PM>, "partitionValue"> & {
212
- partitionValue?: ((a: PM) => string) | undefined;
213
- }) | undefined;
214
- }): import("effect/Effect").Effect<StoreMaker | R | R2, E_1, Repository<T, PM, Evt, ItemType>>;
215
- toLayer<R_1 = never, E_2 = never, R2_1 = never>(args: {
216
- publishEvents: (evt: readonly [Evt, ...Evt[]]) => import("effect/Effect").Effect<R2_1, never, void>;
217
- makeInitial?: import("effect/Effect").Effect<R_1, E_2, readonly T[]> | undefined;
218
- config?: (Omit<StoreConfig<PM>, "partitionValue"> & {
219
- partitionValue?: ((a: PM) => string) | undefined;
220
- }) | undefined;
221
- }): import("effect/Layer").Layer<StoreMaker | R_1 | R2_1, E_2, Service>;
222
- } : {
223
- make<R_2 = never, E_3 = never>(args: {
224
- makeInitial?: import("effect/Effect").Effect<R_2, E_3, readonly T[]> | undefined;
225
- config?: (Omit<StoreConfig<PM>, "partitionValue"> & {
226
- partitionValue?: ((a: PM) => string) | undefined;
227
- }) | undefined;
228
- }): import("effect/Effect").Effect<StoreMaker | R_2, E_3, Repository<T, PM, Evt, ItemType>>;
229
- toLayer<R_3 = never, E_4 = never>(args: {
230
- makeInitial?: import("effect/Effect").Effect<R_3, E_4, readonly T[]> | undefined;
231
- config?: (Omit<StoreConfig<PM>, "partitionValue"> & {
232
- partitionValue?: ((a: PM) => string) | undefined;
233
- }) | undefined;
234
- }): import("effect/Layer").Layer<StoreMaker | R_3, E_4, Service>;
235
- });
205
+ }>(itemType: ItemType, schema: Schema.Schema<unknown, T, ConstructorInput, E, Api>, mapFrom: (pm: Omit<PM, "_etag">) => E, mapTo: (e: E, etag: string | undefined) => PM) => (abstract new (impl: Repository<T, PM, Evt, ItemType>) => RepositoryBaseC2<T, PM, Evt, ItemType>) & import("effect/Context").Tag<Service, Service> & Repos<Service, RepositoryBaseC2<T, PM, Evt, ItemType>, T, PM, Evt>;
206
+ export {};
236
207
  //# sourceMappingURL=RepositoryBase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RepositoryBase.d.ts","sourceRoot":"","sources":["../../_src/services/RepositoryBase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RepositoryBase.d.ts","sourceRoot":"","sources":["../../_src/services/RepositoryBase.ts"],"names":[],"mappings":"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"}
@@ -1,47 +1,48 @@
1
- import * as tsplus_module_1 from "effect/Effect";
2
- import * as tsplus_module_2 from "effect/Layer";
3
- import * as tsplus_module_3 from "@effect-app/prelude/service";
4
- import * as tsplus_module_4 from "@effect-app/prelude/schema";
5
- import * as tsplus_module_5 from "@effect-app/schema/custom/_api/condemn";
6
- import * as tsplus_module_6 from "@effect-app/prelude/_ext/misc";
7
- import * as tsplus_module_7 from "@effect-app/core/Array";
8
- import * as tsplus_module_8 from "effect/Chunk";
9
- import * as tsplus_module_9 from "@effect-app/core/Effect";
10
- import * as tsplus_module_10 from "@effect-app/core/Chunk";
11
- import * as tsplus_module_11 from "effect/ReadonlyArray";
12
- import * as tsplus_module_12 from "effect/Option";
13
- import * as tsplus_module_13 from "@effect-app/core/_ext/Iterable";
14
- import * as tsplus_module_14 from "effect/PubSub";
15
- import * as tsplus_module_15 from "@effect-app/core/Function";
16
- import * as tsplus_module_16 from "@effect-app/infra/services/Repository";
1
+ import * as tsplus_module_1 from "@effect-app/prelude/schema";
2
+ import * as tsplus_module_2 from "@effect-app/schema/custom/_api/condemn";
3
+ import * as tsplus_module_3 from "effect/Effect";
4
+ import * as tsplus_module_4 from "@effect-app/prelude/_ext/misc";
5
+ import * as tsplus_module_5 from "@effect-app/core/Array";
6
+ import * as tsplus_module_6 from "effect/Chunk";
7
+ import * as tsplus_module_7 from "@effect-app/core/Effect";
8
+ import * as tsplus_module_8 from "@effect-app/core/Chunk";
9
+ import * as tsplus_module_9 from "effect/ReadonlyArray";
10
+ import * as tsplus_module_10 from "effect/Option";
11
+ import * as tsplus_module_11 from "@effect-app/core/_ext/Iterable";
12
+ import * as tsplus_module_12 from "effect/PubSub";
13
+ import * as tsplus_module_13 from "@effect-app/core/Function";
14
+ import * as tsplus_module_14 from "@effect-app/infra/services/Repository";
15
+ import * as tsplus_module_15 from "effect/Layer";
16
+ import * as tsplus_module_16 from "@effect-app/prelude/service";
17
17
  import { StoreMaker } from "./Store.js";
18
18
  import { makeCodec } from "@effect-app/infra/api/codec";
19
19
  import { makeFilters } from "@effect-app/infra/filter";
20
20
  import { EParserFor } from "@effect-app/prelude/schema";
21
21
  import { ContextMapContainer } from "./Store/ContextMapContainer.js";
22
22
  /**
23
- * A base for creating an abstract class usable as Tag, Companion and interface to create your own implementation.
23
+ * @tsplus type Repository
24
24
  */
25
- export const RepositoryBase = () => {
26
- return (itemType) => {
27
- class RepositoryBaseC {
28
- constructor() {
29
- this.itemType = itemType;
30
- }
31
- static flatMap(f) {
32
- return tsplus_module_1.flatMap(this, f);
33
- }
34
- static map(f) {
35
- return tsplus_module_1.map(this, f);
36
- }
37
- static makeLayer(svc) {
38
- return tsplus_module_2.succeed(this, svc);
39
- }
40
- }
41
- RepositoryBaseC.where = makeWhere();
42
- return tsplus_module_3.assignTag()(RepositoryBaseC);
43
- };
44
- };
25
+ export class RepositoryBaseC {
26
+ }
27
+ export class RepositoryBaseC1 extends RepositoryBaseC {
28
+ constructor(itemType) {
29
+ super();
30
+ this.itemType = itemType;
31
+ }
32
+ }
33
+ export class RepositoryBaseC2 extends RepositoryBaseC1 {
34
+ constructor(itemType, impl) {
35
+ super(itemType);
36
+ this.impl = impl;
37
+ // makes super calls a compiler error, as it should
38
+ this.saveAndPublish = this.impl.saveAndPublish;
39
+ this.removeAndPublish = this.impl.removeAndPublish;
40
+ this.find = this.impl.find;
41
+ this.all = this.impl.all;
42
+ this.utils = this.impl.utils;
43
+ this.changeFeed = this.impl.changeFeed;
44
+ }
45
+ }
45
46
  /**
46
47
  * A base implementation to create a repository.
47
48
  */
@@ -57,47 +58,47 @@ export function makeRepo() {
57
58
  }
58
59
  const mkStore = makeStore()(name, schema, mapTo);
59
60
  function make(args) {
60
- return tsplus_module_1.withLogSpan(tsplus_module_1.withSpan(tsplus_module_1.flatMap(mkStore(args.makeInitial, args.config), store => tsplus_module_1.flatMap(ContextMapContainer, cms => tsplus_module_1.flatMap(tsplus_module_1.context(), pubCfg => {
61
- const pub = "publishEvents" in args ? tsplus_module_15.flow(args.publishEvents, (_) => tsplus_module_1.provide(_, pubCfg)) : () => tsplus_module_1.unit;
62
- return tsplus_module_1.map(tsplus_module_14.unbounded(), changeFeed => {
63
- const allE = tsplus_module_1.flatMap(store.all, (items) => tsplus_module_1.map(cms.get, ({ set }) => items.map((_) => mapReverse(_, set))));
64
- const parse = tsplus_module_5.condemnDie(EParserFor(schema));
65
- const all = tsplus_module_1.flatMap(allE, (_) => tsplus_module_13.ext_forEach(_, (_) => parse(_)));
61
+ return tsplus_module_3.withLogSpan(tsplus_module_3.withSpan(tsplus_module_3.flatMap(mkStore(args.makeInitial, args.config), store => tsplus_module_3.flatMap(ContextMapContainer, cms => tsplus_module_3.flatMap(tsplus_module_3.context(), pubCfg => {
62
+ const pub = "publishEvents" in args ? tsplus_module_13.flow(args.publishEvents, (_) => tsplus_module_3.provide(_, pubCfg)) : () => tsplus_module_3.unit;
63
+ return tsplus_module_3.map(tsplus_module_12.unbounded(), changeFeed => {
64
+ const allE = tsplus_module_3.flatMap(store.all, (items) => tsplus_module_3.map(cms.get, ({ set }) => items.map((_) => mapReverse(_, set))));
65
+ const parse = tsplus_module_2.condemnDie(EParserFor(schema));
66
+ const all = tsplus_module_3.flatMap(allE, (_) => tsplus_module_11.ext_forEach(_, (_) => parse(_)));
66
67
  function findE(id) {
67
- return tsplus_module_1.flatMap(store
68
- .find(id), (items) => tsplus_module_1.map(cms.get, ({ set }) => tsplus_module_12.map(items, (_) => mapReverse(_, set))));
68
+ return tsplus_module_3.flatMap(store
69
+ .find(id), (items) => tsplus_module_3.map(cms.get, ({ set }) => tsplus_module_10.map(items, (_) => mapReverse(_, set))));
69
70
  }
70
71
  function find(id) {
71
- return tsplus_module_9.flatMapOption(findE(id), tsplus_module_5.condemnDie(EParserFor(schema)));
72
+ return tsplus_module_7.flatMapOption(findE(id), tsplus_module_2.condemnDie(EParserFor(schema)));
72
73
  }
73
- const saveAllE = (a) => tsplus_module_9.flatMapOption(tsplus_module_1.sync(() => tsplus_module_7.CollectionToNonEmptyReadonlyArray(a)), (a) => tsplus_module_1.flatMap(cms.get, ({ get, set }) => {
74
- const items = tsplus_module_11.map(a, (_) => mapToPersistenceModel(_, get));
75
- return tsplus_module_1.map(store.batchSet(items), ret => {
74
+ const saveAllE = (a) => tsplus_module_7.flatMapOption(tsplus_module_3.sync(() => tsplus_module_5.CollectionToNonEmptyReadonlyArray(a)), (a) => tsplus_module_3.flatMap(cms.get, ({ get, set }) => {
75
+ const items = tsplus_module_9.map(a, (_) => mapToPersistenceModel(_, get));
76
+ return tsplus_module_3.map(store.batchSet(items), ret => {
76
77
  ret.forEach((_) => set(_.id, _._etag));
77
78
  });
78
79
  }));
79
- const encode = tsplus_module_4.Encoder.for(schema);
80
- const saveAll = (a) => saveAllE(tsplus_module_8.map(tsplus_module_7.ext_itToChunk(a), encode));
80
+ const encode = tsplus_module_1.Encoder.for(schema);
81
+ const saveAll = (a) => saveAllE(tsplus_module_6.map(tsplus_module_5.ext_itToChunk(a), encode));
81
82
  const saveAndPublish = (items, events = []) => {
82
- const it = tsplus_module_7.ext_itToChunk(items);
83
- return tsplus_module_1.zipRight(changeFeed.publish([tsplus_module_10.toArray(it), "save"]))(tsplus_module_1.zipRight(tsplus_module_9.flatMapOption(tsplus_module_1.sync(() => tsplus_module_7.CollectionToNonEmptyReadonlyArray(events))
83
+ const it = tsplus_module_5.ext_itToChunk(items);
84
+ return tsplus_module_3.zipRight(changeFeed.publish([tsplus_module_8.toArray(it), "save"]))(tsplus_module_3.zipRight(tsplus_module_7.flatMapOption(tsplus_module_3.sync(() => tsplus_module_5.CollectionToNonEmptyReadonlyArray(events))
84
85
  // TODO: for full consistency the events should be stored within the same database transaction, and then picked up.
85
86
  , pub))(saveAll(it)));
86
87
  };
87
88
  function removeAndPublish(a, events = []) {
88
- return tsplus_module_1.gen(function* ($) {
89
+ return tsplus_module_3.gen(function* ($) {
89
90
  const { get, set } = yield* $(cms.get);
90
- const it = tsplus_module_7.ext_itToChunk(a);
91
- const items = tsplus_module_8.map(it, encode);
91
+ const it = tsplus_module_5.ext_itToChunk(a);
92
+ const items = tsplus_module_6.map(it, encode);
92
93
  // TODO: we should have a batchRemove on store so the adapter can actually batch...
93
94
  for (const e of items) {
94
95
  yield* $(store.remove(mapToPersistenceModel(e, get)));
95
96
  set(e.id, undefined);
96
97
  }
97
- yield* $(tsplus_module_9.flatMapOption(tsplus_module_1.sync(() => tsplus_module_7.CollectionToNonEmptyReadonlyArray(events))
98
+ yield* $(tsplus_module_7.flatMapOption(tsplus_module_3.sync(() => tsplus_module_5.CollectionToNonEmptyReadonlyArray(events))
98
99
  // TODO: for full consistency the events should be stored within the same database transaction, and then picked up.
99
100
  , pub));
100
- yield* $(changeFeed.publish([tsplus_module_10.toArray(it), "remove"]));
101
+ yield* $(changeFeed.publish([tsplus_module_8.toArray(it), "remove"]));
101
102
  });
102
103
  }
103
104
  const r = {
@@ -106,10 +107,10 @@ export function makeRepo() {
106
107
  */
107
108
  utils: {
108
109
  mapReverse,
109
- parse: tsplus_module_5.unsafe(tsplus_module_4.Parser.for(schema)),
110
- filter: tsplus_module_6.flow(store
111
- .filter, (_) => tsplus_module_1.tap(_, (items) => tsplus_module_1.map(cms.get, ({ set }) => items.forEach((_) => set(_.id, _._etag))))),
112
- all: tsplus_module_1.tap(store.all, (items) => tsplus_module_1.map(cms.get, ({ set }) => items.forEach((_) => set(_.id, _._etag))))
110
+ parse: tsplus_module_2.unsafe(tsplus_module_1.Parser.for(schema)),
111
+ filter: tsplus_module_4.flow(store
112
+ .filter, (_) => tsplus_module_3.tap(_, (items) => tsplus_module_3.map(cms.get, ({ set }) => items.forEach((_) => set(_.id, _._etag))))),
113
+ all: tsplus_module_3.tap(store.all, (items) => tsplus_module_3.map(cms.get, ({ set }) => items.forEach((_) => set(_.id, _._etag))))
113
114
  },
114
115
  changeFeed,
115
116
  itemType: name,
@@ -133,7 +134,7 @@ export function makeRepo() {
133
134
  * @tsplus fluent Repository removeById
134
135
  */
135
136
  export function removeById(self, id) {
136
- return tsplus_module_1.flatMap(tsplus_module_16.get(self, id), (_) => self.removeAndPublish([_]));
137
+ return tsplus_module_3.flatMap(tsplus_module_14.get(self, id), (_) => self.removeAndPublish([_]));
137
138
  }
138
139
  export function makeWhere() {
139
140
  const f_ = makeFilters();
@@ -161,14 +162,14 @@ export function makeStore() {
161
162
  const [_dec, encode] = makeCodec(schema);
162
163
  function encodeToPM() {
163
164
  const getEtag = () => undefined;
164
- return tsplus_module_15.flow(encode, (v) => mapToPersistenceModel(v, getEtag));
165
+ return tsplus_module_13.flow(encode, (v) => mapToPersistenceModel(v, getEtag));
165
166
  }
166
167
  function mapToPersistenceModel(e, getEtag) {
167
168
  return mapTo(e, getEtag(e.id));
168
169
  }
169
170
  function makeStore(makeInitial, config) {
170
- return tsplus_module_1.flatMap(StoreMaker, ({ make }) => tsplus_module_1.map(make(pluralize(name), makeInitial
171
- ? tsplus_module_1.withSpan((tsplus_module_1.map(makeInitial, (_) => _.map(encodeToPM()))), "Repository.makeInitial [effect-app/infra]")
171
+ return tsplus_module_3.flatMap(StoreMaker, ({ make }) => tsplus_module_3.map(make(pluralize(name), makeInitial
172
+ ? tsplus_module_3.withSpan((tsplus_module_3.map(makeInitial, (_) => _.map(encodeToPM()))), "Repository.makeInitial [effect-app/infra]")
172
173
  : undefined, {
173
174
  ...config,
174
175
  partitionValue: config?.partitionValue
@@ -181,24 +182,45 @@ export function makeStore() {
181
182
  export const RepositoryBaseImpl = () => {
182
183
  return () => (itemType, schema, mapFrom, mapTo) => {
183
184
  const mkRepo = makeRepo()(itemType, schema, mapFrom, mapTo);
184
- class Cls extends RepositoryBase()(itemType) {
185
+ class Cls extends RepositoryBaseC1 {
186
+ constructor() {
187
+ super(itemType);
188
+ }
189
+ static flatMap(f) {
190
+ return tsplus_module_3.flatMap(this, f);
191
+ }
192
+ static map(f) {
193
+ return tsplus_module_3.map(this, f);
194
+ }
195
+ static makeLayer(svc) {
196
+ return tsplus_module_15.succeed(this, svc);
197
+ }
185
198
  }
186
199
  Cls.make = mkRepo.make;
187
- return Cls;
200
+ Cls.where = makeWhere();
201
+ return tsplus_module_16.assignTag()(Cls);
188
202
  };
189
203
  };
190
204
  export const RepositoryDefaultImpl = () => {
191
205
  return () => (itemType, schema, mapFrom, mapTo) => {
192
- return class extends RepositoryBaseImpl()()(itemType, schema, mapFrom, mapTo) {
193
- static toLayer(args) {
194
- return tsplus_module_2.effect(this)(tsplus_module_1.map(this
195
- .make(args), (impl) => new this(impl)));
196
- }
206
+ const mkRepo = makeRepo()(itemType, schema, mapFrom, mapTo);
207
+ class Cls extends RepositoryBaseC2 {
197
208
  constructor(impl) {
198
- super();
199
- Object.assign(this, impl);
209
+ super(itemType, impl);
200
210
  }
201
- }; // TODO: seems to be a compiler bug, it somehow says its missing toLayer and repo...
211
+ static flatMap(f) {
212
+ return tsplus_module_3.flatMap(this, f);
213
+ }
214
+ static map(f) {
215
+ return tsplus_module_3.map(this, f);
216
+ }
217
+ static makeLayer(svc) {
218
+ return tsplus_module_15.succeed(this, svc);
219
+ }
220
+ }
221
+ Cls.make = mkRepo.make;
222
+ Cls.where = makeWhere();
223
+ return tsplus_module_16.assignTag()(Cls); // impl is missing, but its marked protected
202
224
  };
203
225
  };
204
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVwb3NpdG9yeUJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9fc3JjL3NlcnZpY2VzL1JlcG9zaXRvcnlCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBS3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFFdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBRXZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBRXBFOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLEdBQVksRUFBRTtJQUMxQyxPQUFPLENBQ0wsUUFBa0IsRUFDbEIsRUFBRTtRQUNGLE1BQWUsZUFBZTtZQUE5QjtnQkFDVyxhQUFRLEdBQWEsUUFBUSxDQUFBO1lBK0J4QyxDQUFDO1lBVEMsTUFBTSxDQUFDLE9BQU8sQ0FBWSxDQUFvQztnQkFDNUQsT0FBTyx3QkFBZSxJQUF3QyxFQUFFLENBQUMsQ0FBQyxDQUFBO1lBQ3BFLENBQUM7WUFDRCxNQUFNLENBQUMsR0FBRyxDQUFJLENBQW9CO2dCQUNoQyxPQUFPLG9CQUFXLElBQXdDLEVBQUUsQ0FBQyxDQUFDLENBQUE7WUFDaEUsQ0FBQztZQUNELE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBWTtnQkFDM0IsT0FBTyx3QkFBYyxJQUF3QyxFQUFFLEdBQUcsQ0FBQyxDQUFBO1lBQ3JFLENBQUM7O1FBVGUscUJBQUssR0FBRyxTQUFTLEVBQU0sQUFBbEIsQ0FBa0I7UUFXekMsT0FBTyxnQkFBQSxTQUFTLEVBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUM5QyxDQUFDLENBQUE7QUFDSCxDQUFDLENBQUE7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxRQUFRO0lBSXRCLE9BQU8sQ0FPTCxJQUFjLEVBQ2QsTUFBaUUsRUFDakUsT0FBMkMsRUFDM0MsS0FBbUQsRUFDbkQsRUFBRTtRQUNGLE1BQU0sS0FBSyxHQUFHLFNBQVMsRUFBTSxDQUFBO1FBRTdCLFNBQVMscUJBQXFCLENBQzVCLENBQVUsRUFDVixPQUEyQztZQUUzQyxPQUFPLEtBQUssQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQ2hDLENBQUM7UUFFRCxTQUFTLFVBQVUsQ0FDakIsRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQU0sRUFDbkIsT0FBdUQ7WUFFdkQsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUE7WUFDcEIsT0FBTyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDbkIsQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFHLFNBQVMsRUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFFcEQsU0FBUyxJQUFJLENBQ1gsSUFZRztZQUVILE9BQU8sNEJBQUEsaURBQ1csT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFoRCxLQUFLLDRCQUNHLG1CQUFtQixFQUEzQixHQUFHLDRCQUNRLHlCQUFvQixFQUEvQixNQUFNO2dCQUNaLE1BQU0sR0FBRyxHQUFHLGVBQWUsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLGlCQUFBLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyx3QkFBQSxDQUFDLEVBQVMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLHFCQUFZLENBQUE7MkNBQ3ZGLDRCQUE0QyxFQUEzRCxVQUFVO29CQUVoQixNQUFNLElBQUksR0FBRyx3QkFBQSxLQUFLLENBQUMsR0FBRyxFQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUscUJBRW5CLEdBQUcsQ0FBQyxHQUFHLEdBQW5CLEVBQUUsR0FBRyxFQUFFLEtBQ04sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUMzQyxDQUNILENBQUE7b0JBRUQsTUFBTSxLQUFLLDhCQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBVyxDQUFBO29CQUUzQyxNQUFNLEdBQUcsR0FBRyx3QkFBQSxJQUFJLEVBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLDZCQUFBLENBQUMsRUFBZSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtvQkFFakUsU0FBUyxLQUFLLENBQUMsRUFBVzt3QkFDeEIsT0FBTyx3QkFBQSxLQUFLOzZCQUNULElBQUksQ0FBQyxFQUFFLENBQUMsRUFDQSxDQUFDLEtBQUssRUFBRSxFQUFFLHFCQUVHLEdBQUcsQ0FBQyxHQUFHLEdBQW5CLEVBQUUsR0FBRyxFQUFFLEtBQ04scUJBQUEsS0FBSyxFQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQzNDLENBQ0gsQ0FBQTtvQkFDTCxDQUFDO29CQUVELFNBQVMsSUFBSSxDQUFDLEVBQVc7d0JBQ3ZCLE9BQU8sOEJBQUEsS0FBSyxDQUFDLEVBQUUsQ0FBQyw2QkFBWSxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQVksQ0FBQTtvQkFDNUQsQ0FBQztvQkFFRCxNQUFNLFFBQVEsR0FBRyxDQUFDLENBQW9CLEVBQUUsRUFBRSxDQUN4Qyw4QkFBQSw2RUFBTyxDQUFDLEVBQWlCLEVBQ1gsQ0FBQyxDQUFDLEVBQUUsRUFBRSx5QkFFUyxHQUFHLENBQUMsR0FBRyxHQUF4QixFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUU7d0JBQ2xCLE1BQU0sS0FBSyxHQUFHLHFCQUFBLENBQUMsRUFBYSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMscUJBQXFCLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUE7bURBQ25ELEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQTdCLEdBQUc7NEJBQ1QsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7O3NCQUN0QyxDQUNILENBQUE7b0JBQ0wsTUFBTSxNQUFNLEdBQUcsZ0JBQUEsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQTtvQkFFbEMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFjLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxrREFBQSxDQUFDLEdBQWEsTUFBTSxDQUFDLENBQUMsQ0FBQTtvQkFFbkUsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFrQixFQUFFLFNBQXdCLEVBQUUsRUFBRSxFQUFFO3dCQUN4RSxNQUFNLEVBQUUsaUNBQUcsS0FBSyxDQUFRLENBQUE7d0JBQ3hCLGdDQUlJLFVBQVUsQ0FBQyxPQUFPLENBQUMsMEJBQUMsRUFBRSxHQUFVLE1BQU0sQ0FBQyxDQUFDLDJCQUh4Qyw4QkFBQSw2RUFBTyxNQUFNLEVBQWlCO3dCQUM5QixtSEFBbUg7MEJBQ3ZHLEdBQUcsQ0FBQyxFQUhiLE9BQU8sQ0FBQyxFQUFFLENBQUMsR0FJMEI7b0JBQzlDLENBQUMsQ0FBQTtvQkFFRCxTQUFTLGdCQUFnQixDQUFDLENBQWMsRUFBRSxTQUF3QixFQUFFO3dCQUNsRSxPQUFPLG9CQUFXLFFBQVEsQ0FBQyxFQUFDLENBQUM7NEJBQzNCLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTs0QkFDdEMsTUFBTSxFQUFFLGlDQUFHLENBQUMsQ0FBUSxDQUFBOzRCQUNwQixNQUFNLEtBQUssR0FBRyxvQkFBQSxFQUFFLEVBQUssTUFBTSxDQUFDLENBQUE7NEJBQzVCLG1GQUFtRjs0QkFDbkYsS0FBSyxNQUFNLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQ0FDdEIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQ0FDckQsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUE7NEJBQ3RCLENBQUM7NEJBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUNOLDhCQUFBLDZFQUFPLE1BQU0sRUFBaUI7NEJBQzVCLG1IQUFtSDs4QkFDdkcsR0FBRyxDQUFDLENBQ25CLENBQUE7NEJBRUQsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsMEJBQUMsRUFBRSxHQUFVLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQTt3QkFDdEQsQ0FBQyxDQUFDLENBQUE7b0JBQ0osQ0FBQztvQkFFRCxNQUFNLENBQUMsR0FBcUM7d0JBQzFDOzsyQkFFRzt3QkFDSCxLQUFLLEVBQUU7NEJBQ0wsVUFBVTs0QkFDVixLQUFLLHlCQUFFLGdCQUFBLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQU87NEJBQ2hDLE1BQU0sRUFBRSxxQkFBQSxLQUFLO2lDQUNWLE1BQU0sRUFDRCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsb0JBQUEsQ0FBQyxFQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxvQkFBQSxHQUFHLENBQUMsR0FBRyxFQUFLLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDOzRCQUNwRyxHQUFHLEVBQUUsb0JBQUEsS0FBSyxDQUFDLEdBQUcsRUFBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsb0JBQUEsR0FBRyxDQUFDLEdBQUcsRUFBSyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7eUJBQ2xHO3dCQUNELFVBQVU7d0JBQ1YsUUFBUSxFQUFFLElBQUk7d0JBQ2QsSUFBSTt3QkFDSixHQUFHO3dCQUNILGNBQWM7d0JBQ2QsZ0JBQWdCO3FCQUNqQixDQUFBO29CQUNELE9BQU8sQ0FBQyxDQUFBOztrQkFFRSxvQ0FBb0MsRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQ3ZFLG1CQUFtQixHQUFHLElBQUksQ0FBQyxDQUFBO1FBQzVDLENBQUM7UUFFRCxPQUFPO1lBQ0wsSUFBSTtZQUNKLEtBQUs7U0FDTixDQUFBO0lBQ0gsQ0FBQyxDQUFBO0FBQ0gsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxVQUFVLENBTXhCLElBQXNDLEVBQ3RDLEVBQVc7SUFFWCxPQUFPLHdCQUFBLHFCQUFBLElBQUksRUFBSyxFQUFFLENBQUMsRUFBUyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ2hFLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUztJQUN2QixNQUFNLEVBQUUsR0FBRyxXQUFXLEVBQU0sQ0FBQTtJQUc1QixTQUFTLFdBQVcsQ0FBQyxNQUFzQztRQUN6RCxPQUFPLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUNuQixDQUFDO0lBRUQsU0FBUyxLQUFLLENBQ1osU0FFeUMsRUFDekMsSUFBbUI7UUFFbkIsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN2QixNQUFNLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO1lBQ3ZDLE9BQU8sQ0FBQztnQkFDTixJQUFJO2dCQUNKLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQW1DLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWlDO2FBQ3RHLENBQUMsQ0FBQTtRQUNKLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFBO0FBQ2QsQ0FBQztBQUVELE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FDOUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7SUFDYixDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUk7SUFDVixDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSztRQUN0QyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQTtBQUViLE1BQU0sVUFBVSxTQUFTO0lBR3ZCLE9BQU8sQ0FPTCxJQUFjLEVBQ2QsTUFBMkQsRUFDM0QsS0FBNkMsRUFDN0MsRUFBRTtRQUNGLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ3hDLFNBQVMsVUFBVTtZQUNqQixNQUFNLE9BQU8sR0FBRyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUE7WUFDL0IsT0FBTyxpQkFBQSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQTtRQUMvRCxDQUFDO1FBRUQsU0FBUyxxQkFBcUIsQ0FDNUIsQ0FBSSxFQUNKLE9BQTJDO1lBRTNDLE9BQU8sS0FBSyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDaEMsQ0FBQztRQUVELFNBQVMsU0FBUyxDQUNoQixXQUF3QyxFQUN4QyxNQUVDO1lBRUQsK0JBQ3FCLFVBQVUsR0FBdkIsRUFBRSxJQUFJLEVBQUUseUJBR1osSUFBSSxDQUNGLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFDZixXQUFXO2dCQUNULENBQUMsQ0FBQyx5QkFBQSxDQUFDLG9CQUFBLFdBQVcsRUFDUCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDdkIsMkNBQTJDLENBQUM7Z0JBQ3hELENBQUMsQ0FBQyxTQUFTLEVBQ2I7Z0JBQ0UsR0FBRyxNQUFNO2dCQUNULGNBQWMsRUFBRSxNQUFNLEVBQUUsY0FBYzt1QkFDakMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsK0NBQStDO2FBQ3hFLENBQ0YsRUFiRyxLQUFLLElBZUosS0FBSyxHQUNaO1FBQ0osQ0FBQztRQUVELE9BQU8sU0FBUyxDQUFBO0lBQ2xCLENBQUMsQ0FBQTtBQUNILENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxHQUFZLEVBQUU7SUFDOUMsT0FBTyxHQUdILEVBQUUsQ0FDTixDQUNFLFFBQWtCLEVBQ2xCLE1BQTJELEVBQzNELE9BQXFDLEVBQ3JDLEtBQTZDLEVBcUI3QyxFQUFFO1FBQ0YsTUFBTSxNQUFNLEdBQUcsUUFBUSxFQUFXLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDcEUsTUFBZSxHQUFJLFNBQVEsY0FBYyxFQUFXLENBQXVCLFFBQVEsQ0FBQzs7UUFDbEUsUUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUE7UUFFcEMsT0FBTyxHQUFHLENBQUE7SUFDWixDQUFDLENBQUE7QUFDSCxDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxHQUFZLEVBQUU7SUFDakQsT0FBTyxHQUdILEVBQUUsQ0FDTixDQUNFLFFBQWtCLEVBQ2xCLE1BQTJELEVBQzNELE9BQXFDLEVBQ3JDLEtBQTZDLEVBb0R4QyxFQUFFO1FBRVAsT0FBTyxLQUFNLFNBQVEsa0JBQWtCLEVBQVcsRUFBVyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQztZQUM3RixNQUFNLENBQUMsT0FBTyxDQUNaLElBWUc7Z0JBRUgsT0FBTyx1QkFJSCxJQUFJLEVBSkQsb0JBQUEsSUFBSTtxQkFDUixJQUFJLENBQUMsSUFBSSxDQUFDLEVBQ04sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBbUIsQ0FBQyxDQUcvQyxDQUFBO1lBQ0wsQ0FBQztZQUVELFlBQ0UsSUFBc0M7Z0JBRXRDLEtBQUssRUFBRSxDQUFBO2dCQUNQLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFBO1lBQzNCLENBQUM7U0FDSyxDQUFBLENBQUMsb0ZBQW9GO0lBQy9GLENBQUMsQ0FBQTtBQUNILENBQUMsQ0FBQSJ9
226
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVwb3NpdG9yeUJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9fc3JjL3NlcnZpY2VzL1JlcG9zaXRvcnlCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBS3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFFdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBRXZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBRXBFOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixlQUFlO0NBMkJwQztBQUVELE1BQU0sT0FBZ0IsZ0JBS3BCLFNBQVEsZUFBcUM7SUFDN0MsWUFDa0IsUUFBa0I7UUFFbEMsS0FBSyxFQUFFLENBQUE7UUFGUyxhQUFRLEdBQVIsUUFBUSxDQUFVO0lBR3BDLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxnQkFDWCxTQUFRLGdCQUFzQztJQUU5QyxZQUNFLFFBQWtCLEVBQ0MsSUFBc0M7UUFFekQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBRkksU0FBSSxHQUFKLElBQUksQ0FBa0M7UUFJM0QsbURBQW1EO1FBQzFDLG1CQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUE7UUFDekMscUJBQWdCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQTtRQUM3QyxTQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUE7UUFDckIsUUFBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFBO1FBQ25CLFVBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUN2QixlQUFVLEdBQUcsSUFB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-app/infra",
3
- "version": "0.96.0",
3
+ "version": "0.97.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -18,10 +18,10 @@
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.71.1",
22
- "@effect-app/prelude": "0.73.1",
23
- "@effect-app/infra-adapters": "0.61.1",
24
- "@effect-app/schema": "0.64.1"
21
+ "@effect-app/infra-adapters": "0.61.2",
22
+ "@effect-app/core": "0.71.2",
23
+ "@effect-app/schema": "0.64.2",
24
+ "@effect-app/prelude": "0.73.2"
25
25
  },
26
26
  "devDependencies": {
27
27
  "@babel/cli": "^7.23.0",