effect-app 4.0.0-beta.304 → 4.0.0-beta.305
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 +6 -0
- package/dist/DataDependencies.d.ts +102 -73
- package/dist/DataDependencies.d.ts.map +1 -1
- package/dist/DataDependencies.js +13 -8
- package/dist/Model/Repository/internal/internal.d.ts +3 -0
- package/dist/Model/Repository/internal/internal.d.ts.map +1 -1
- package/dist/Model/Repository/internal/internal.js +22 -10
- package/dist/Model/Repository/makeRepo.d.ts +7 -0
- package/dist/Model/Repository/makeRepo.d.ts.map +1 -1
- package/dist/Model/Repository/makeRepo.js +1 -1
- package/dist/rpc/Invalidation.d.ts +793 -577
- package/dist/rpc/Invalidation.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/DataDependencies.ts +13 -5
- package/src/Model/Repository/internal/internal.ts +41 -9
- package/src/Model/Repository/makeRepo.ts +8 -0
package/CHANGELOG.md
CHANGED
|
@@ -11,22 +11,25 @@ export declare const DataDependency: S.Union<readonly [S.Struct<{
|
|
|
11
11
|
}>, S.Struct<{
|
|
12
12
|
readonly type: S.Literal<"signal">;
|
|
13
13
|
readonly name: S.String;
|
|
14
|
+
readonly ids: S.optional<import("effect/Schema").NonEmptyArray<S.String>>;
|
|
14
15
|
}>]>;
|
|
15
16
|
export type DataDependency = S.Schema.Type<typeof DataDependency>;
|
|
16
|
-
export declare const DataDependencies: S.decodeTo<S.instanceOf<ReadonlySet<
|
|
17
|
-
readonly type: S.Literal<"signal">;
|
|
18
|
-
readonly name: S.String;
|
|
19
|
-
}, "Type"> | {
|
|
17
|
+
export declare const DataDependencies: S.decodeTo<S.instanceOf<ReadonlySet<{
|
|
20
18
|
readonly type: "repo";
|
|
21
19
|
readonly name: string;
|
|
22
20
|
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
23
|
-
}
|
|
24
|
-
readonly type:
|
|
25
|
-
readonly name:
|
|
26
|
-
|
|
21
|
+
} | {
|
|
22
|
+
readonly type: "signal";
|
|
23
|
+
readonly name: string;
|
|
24
|
+
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
25
|
+
}>, ReadonlySet<{
|
|
27
26
|
readonly type: "repo";
|
|
28
27
|
readonly name: string;
|
|
29
28
|
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
29
|
+
} | {
|
|
30
|
+
readonly type: "signal";
|
|
31
|
+
readonly name: string;
|
|
32
|
+
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
30
33
|
}>>, S.$Array<S.Union<readonly [S.Struct<{
|
|
31
34
|
readonly type: S.Literal<"repo">;
|
|
32
35
|
readonly name: S.String;
|
|
@@ -34,21 +37,24 @@ export declare const DataDependencies: S.decodeTo<S.instanceOf<ReadonlySet<impor
|
|
|
34
37
|
}>, S.Struct<{
|
|
35
38
|
readonly type: S.Literal<"signal">;
|
|
36
39
|
readonly name: S.String;
|
|
40
|
+
readonly ids: S.optional<import("effect/Schema").NonEmptyArray<S.String>>;
|
|
37
41
|
}>]>>, never, never> & {
|
|
38
|
-
withConstructorDefault: S.withConstructorDefault<S.decodeTo<S.instanceOf<ReadonlySet<
|
|
39
|
-
readonly type: S.Literal<"signal">;
|
|
40
|
-
readonly name: S.String;
|
|
41
|
-
}, "Type"> | {
|
|
42
|
+
withConstructorDefault: S.withConstructorDefault<S.decodeTo<S.instanceOf<ReadonlySet<{
|
|
42
43
|
readonly type: "repo";
|
|
43
44
|
readonly name: string;
|
|
44
45
|
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
45
|
-
}
|
|
46
|
-
readonly type:
|
|
47
|
-
readonly name:
|
|
48
|
-
|
|
46
|
+
} | {
|
|
47
|
+
readonly type: "signal";
|
|
48
|
+
readonly name: string;
|
|
49
|
+
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
50
|
+
}>, ReadonlySet<{
|
|
49
51
|
readonly type: "repo";
|
|
50
52
|
readonly name: string;
|
|
51
53
|
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
54
|
+
} | {
|
|
55
|
+
readonly type: "signal";
|
|
56
|
+
readonly name: string;
|
|
57
|
+
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
52
58
|
}>>, S.$Array<S.Union<readonly [S.Struct<{
|
|
53
59
|
readonly type: S.Literal<"repo">;
|
|
54
60
|
readonly name: S.String;
|
|
@@ -56,21 +62,24 @@ export declare const DataDependencies: S.decodeTo<S.instanceOf<ReadonlySet<impor
|
|
|
56
62
|
}>, S.Struct<{
|
|
57
63
|
readonly type: S.Literal<"signal">;
|
|
58
64
|
readonly name: S.String;
|
|
65
|
+
readonly ids: S.optional<import("effect/Schema").NonEmptyArray<S.String>>;
|
|
59
66
|
}>]>>, never, never>>;
|
|
60
|
-
withDecodingDefaultType: S.withDecodingDefaultType<S.decodeTo<S.instanceOf<ReadonlySet<
|
|
61
|
-
readonly type: S.Literal<"signal">;
|
|
62
|
-
readonly name: S.String;
|
|
63
|
-
}, "Type"> | {
|
|
67
|
+
withDecodingDefaultType: S.withDecodingDefaultType<S.decodeTo<S.instanceOf<ReadonlySet<{
|
|
64
68
|
readonly type: "repo";
|
|
65
69
|
readonly name: string;
|
|
66
70
|
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
67
|
-
}
|
|
68
|
-
readonly type:
|
|
69
|
-
readonly name:
|
|
70
|
-
|
|
71
|
+
} | {
|
|
72
|
+
readonly type: "signal";
|
|
73
|
+
readonly name: string;
|
|
74
|
+
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
75
|
+
}>, ReadonlySet<{
|
|
71
76
|
readonly type: "repo";
|
|
72
77
|
readonly name: string;
|
|
73
78
|
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
79
|
+
} | {
|
|
80
|
+
readonly type: "signal";
|
|
81
|
+
readonly name: string;
|
|
82
|
+
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
74
83
|
}>>, S.$Array<S.Union<readonly [S.Struct<{
|
|
75
84
|
readonly type: S.Literal<"repo">;
|
|
76
85
|
readonly name: S.String;
|
|
@@ -78,25 +87,28 @@ export declare const DataDependencies: S.decodeTo<S.instanceOf<ReadonlySet<impor
|
|
|
78
87
|
}>, S.Struct<{
|
|
79
88
|
readonly type: S.Literal<"signal">;
|
|
80
89
|
readonly name: S.String;
|
|
90
|
+
readonly ids: S.optional<import("effect/Schema").NonEmptyArray<S.String>>;
|
|
81
91
|
}>]>>, never, never>, never>;
|
|
82
92
|
};
|
|
83
93
|
export type DataDependencies = S.Schema.Type<typeof DataDependencies>;
|
|
84
94
|
export declare const empty: () => DataDependencies;
|
|
85
95
|
export declare const DataDependencySet: S.Struct<{
|
|
86
|
-
readonly reads: S.decodeTo<S.instanceOf<ReadonlySet<
|
|
87
|
-
readonly type: S.Literal<"signal">;
|
|
88
|
-
readonly name: S.String;
|
|
89
|
-
}, "Type"> | {
|
|
96
|
+
readonly reads: S.decodeTo<S.instanceOf<ReadonlySet<{
|
|
90
97
|
readonly type: "repo";
|
|
91
98
|
readonly name: string;
|
|
92
99
|
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
93
|
-
}
|
|
94
|
-
readonly type:
|
|
95
|
-
readonly name:
|
|
96
|
-
|
|
100
|
+
} | {
|
|
101
|
+
readonly type: "signal";
|
|
102
|
+
readonly name: string;
|
|
103
|
+
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
104
|
+
}>, ReadonlySet<{
|
|
97
105
|
readonly type: "repo";
|
|
98
106
|
readonly name: string;
|
|
99
107
|
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
108
|
+
} | {
|
|
109
|
+
readonly type: "signal";
|
|
110
|
+
readonly name: string;
|
|
111
|
+
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
100
112
|
}>>, S.$Array<S.Union<readonly [S.Struct<{
|
|
101
113
|
readonly type: S.Literal<"repo">;
|
|
102
114
|
readonly name: S.String;
|
|
@@ -104,21 +116,24 @@ export declare const DataDependencySet: S.Struct<{
|
|
|
104
116
|
}>, S.Struct<{
|
|
105
117
|
readonly type: S.Literal<"signal">;
|
|
106
118
|
readonly name: S.String;
|
|
119
|
+
readonly ids: S.optional<import("effect/Schema").NonEmptyArray<S.String>>;
|
|
107
120
|
}>]>>, never, never> & {
|
|
108
|
-
withConstructorDefault: S.withConstructorDefault<S.decodeTo<S.instanceOf<ReadonlySet<
|
|
109
|
-
readonly type: S.Literal<"signal">;
|
|
110
|
-
readonly name: S.String;
|
|
111
|
-
}, "Type"> | {
|
|
121
|
+
withConstructorDefault: S.withConstructorDefault<S.decodeTo<S.instanceOf<ReadonlySet<{
|
|
112
122
|
readonly type: "repo";
|
|
113
123
|
readonly name: string;
|
|
114
124
|
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
115
|
-
}
|
|
116
|
-
readonly type:
|
|
117
|
-
readonly name:
|
|
118
|
-
|
|
125
|
+
} | {
|
|
126
|
+
readonly type: "signal";
|
|
127
|
+
readonly name: string;
|
|
128
|
+
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
129
|
+
}>, ReadonlySet<{
|
|
119
130
|
readonly type: "repo";
|
|
120
131
|
readonly name: string;
|
|
121
132
|
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
133
|
+
} | {
|
|
134
|
+
readonly type: "signal";
|
|
135
|
+
readonly name: string;
|
|
136
|
+
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
122
137
|
}>>, S.$Array<S.Union<readonly [S.Struct<{
|
|
123
138
|
readonly type: S.Literal<"repo">;
|
|
124
139
|
readonly name: S.String;
|
|
@@ -126,21 +141,24 @@ export declare const DataDependencySet: S.Struct<{
|
|
|
126
141
|
}>, S.Struct<{
|
|
127
142
|
readonly type: S.Literal<"signal">;
|
|
128
143
|
readonly name: S.String;
|
|
144
|
+
readonly ids: S.optional<import("effect/Schema").NonEmptyArray<S.String>>;
|
|
129
145
|
}>]>>, never, never>>;
|
|
130
|
-
withDecodingDefaultType: S.withDecodingDefaultType<S.decodeTo<S.instanceOf<ReadonlySet<
|
|
131
|
-
readonly type: S.Literal<"signal">;
|
|
132
|
-
readonly name: S.String;
|
|
133
|
-
}, "Type"> | {
|
|
146
|
+
withDecodingDefaultType: S.withDecodingDefaultType<S.decodeTo<S.instanceOf<ReadonlySet<{
|
|
134
147
|
readonly type: "repo";
|
|
135
148
|
readonly name: string;
|
|
136
149
|
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
137
|
-
}
|
|
138
|
-
readonly type:
|
|
139
|
-
readonly name:
|
|
140
|
-
|
|
150
|
+
} | {
|
|
151
|
+
readonly type: "signal";
|
|
152
|
+
readonly name: string;
|
|
153
|
+
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
154
|
+
}>, ReadonlySet<{
|
|
141
155
|
readonly type: "repo";
|
|
142
156
|
readonly name: string;
|
|
143
157
|
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
158
|
+
} | {
|
|
159
|
+
readonly type: "signal";
|
|
160
|
+
readonly name: string;
|
|
161
|
+
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
144
162
|
}>>, S.$Array<S.Union<readonly [S.Struct<{
|
|
145
163
|
readonly type: S.Literal<"repo">;
|
|
146
164
|
readonly name: S.String;
|
|
@@ -148,22 +166,25 @@ export declare const DataDependencySet: S.Struct<{
|
|
|
148
166
|
}>, S.Struct<{
|
|
149
167
|
readonly type: S.Literal<"signal">;
|
|
150
168
|
readonly name: S.String;
|
|
169
|
+
readonly ids: S.optional<import("effect/Schema").NonEmptyArray<S.String>>;
|
|
151
170
|
}>]>>, never, never>, never>;
|
|
152
171
|
};
|
|
153
|
-
readonly writes: S.decodeTo<S.instanceOf<ReadonlySet<
|
|
154
|
-
readonly type: S.Literal<"signal">;
|
|
155
|
-
readonly name: S.String;
|
|
156
|
-
}, "Type"> | {
|
|
172
|
+
readonly writes: S.decodeTo<S.instanceOf<ReadonlySet<{
|
|
157
173
|
readonly type: "repo";
|
|
158
174
|
readonly name: string;
|
|
159
175
|
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
160
|
-
}
|
|
161
|
-
readonly type:
|
|
162
|
-
readonly name:
|
|
163
|
-
|
|
176
|
+
} | {
|
|
177
|
+
readonly type: "signal";
|
|
178
|
+
readonly name: string;
|
|
179
|
+
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
180
|
+
}>, ReadonlySet<{
|
|
164
181
|
readonly type: "repo";
|
|
165
182
|
readonly name: string;
|
|
166
183
|
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
184
|
+
} | {
|
|
185
|
+
readonly type: "signal";
|
|
186
|
+
readonly name: string;
|
|
187
|
+
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
167
188
|
}>>, S.$Array<S.Union<readonly [S.Struct<{
|
|
168
189
|
readonly type: S.Literal<"repo">;
|
|
169
190
|
readonly name: S.String;
|
|
@@ -171,21 +192,24 @@ export declare const DataDependencySet: S.Struct<{
|
|
|
171
192
|
}>, S.Struct<{
|
|
172
193
|
readonly type: S.Literal<"signal">;
|
|
173
194
|
readonly name: S.String;
|
|
195
|
+
readonly ids: S.optional<import("effect/Schema").NonEmptyArray<S.String>>;
|
|
174
196
|
}>]>>, never, never> & {
|
|
175
|
-
withConstructorDefault: S.withConstructorDefault<S.decodeTo<S.instanceOf<ReadonlySet<
|
|
176
|
-
readonly type: S.Literal<"signal">;
|
|
177
|
-
readonly name: S.String;
|
|
178
|
-
}, "Type"> | {
|
|
197
|
+
withConstructorDefault: S.withConstructorDefault<S.decodeTo<S.instanceOf<ReadonlySet<{
|
|
179
198
|
readonly type: "repo";
|
|
180
199
|
readonly name: string;
|
|
181
200
|
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
182
|
-
}
|
|
183
|
-
readonly type:
|
|
184
|
-
readonly name:
|
|
185
|
-
|
|
201
|
+
} | {
|
|
202
|
+
readonly type: "signal";
|
|
203
|
+
readonly name: string;
|
|
204
|
+
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
205
|
+
}>, ReadonlySet<{
|
|
186
206
|
readonly type: "repo";
|
|
187
207
|
readonly name: string;
|
|
188
208
|
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
209
|
+
} | {
|
|
210
|
+
readonly type: "signal";
|
|
211
|
+
readonly name: string;
|
|
212
|
+
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
189
213
|
}>>, S.$Array<S.Union<readonly [S.Struct<{
|
|
190
214
|
readonly type: S.Literal<"repo">;
|
|
191
215
|
readonly name: S.String;
|
|
@@ -193,21 +217,24 @@ export declare const DataDependencySet: S.Struct<{
|
|
|
193
217
|
}>, S.Struct<{
|
|
194
218
|
readonly type: S.Literal<"signal">;
|
|
195
219
|
readonly name: S.String;
|
|
220
|
+
readonly ids: S.optional<import("effect/Schema").NonEmptyArray<S.String>>;
|
|
196
221
|
}>]>>, never, never>>;
|
|
197
|
-
withDecodingDefaultType: S.withDecodingDefaultType<S.decodeTo<S.instanceOf<ReadonlySet<
|
|
198
|
-
readonly type: S.Literal<"signal">;
|
|
199
|
-
readonly name: S.String;
|
|
200
|
-
}, "Type"> | {
|
|
222
|
+
withDecodingDefaultType: S.withDecodingDefaultType<S.decodeTo<S.instanceOf<ReadonlySet<{
|
|
201
223
|
readonly type: "repo";
|
|
202
224
|
readonly name: string;
|
|
203
225
|
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
204
|
-
}
|
|
205
|
-
readonly type:
|
|
206
|
-
readonly name:
|
|
207
|
-
|
|
226
|
+
} | {
|
|
227
|
+
readonly type: "signal";
|
|
228
|
+
readonly name: string;
|
|
229
|
+
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
230
|
+
}>, ReadonlySet<{
|
|
208
231
|
readonly type: "repo";
|
|
209
232
|
readonly name: string;
|
|
210
233
|
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
234
|
+
} | {
|
|
235
|
+
readonly type: "signal";
|
|
236
|
+
readonly name: string;
|
|
237
|
+
readonly ids?: readonly [string, ...string[]] | undefined;
|
|
211
238
|
}>>, S.$Array<S.Union<readonly [S.Struct<{
|
|
212
239
|
readonly type: S.Literal<"repo">;
|
|
213
240
|
readonly name: S.String;
|
|
@@ -215,6 +242,7 @@ export declare const DataDependencySet: S.Struct<{
|
|
|
215
242
|
}>, S.Struct<{
|
|
216
243
|
readonly type: S.Literal<"signal">;
|
|
217
244
|
readonly name: S.String;
|
|
245
|
+
readonly ids: S.optional<import("effect/Schema").NonEmptyArray<S.String>>;
|
|
218
246
|
}>]>>, never, never>, never>;
|
|
219
247
|
};
|
|
220
248
|
}>;
|
|
@@ -226,6 +254,7 @@ export interface DataDependencyRecorderService {
|
|
|
226
254
|
readonly drain: Effect.Effect<DataDependencySet>;
|
|
227
255
|
readonly drainWrites: Effect.Effect<DataDependencies>;
|
|
228
256
|
}
|
|
257
|
+
export declare const merge: (...groups: ReadonlyArray<DataDependencies>) => DataDependencies;
|
|
229
258
|
export declare const DataDependencyRecorder: RequestScopedDependencies.RequestScopedDependency<DataDependencyRecorderService, never, never>;
|
|
230
259
|
export type DataDependencyRecorder = typeof DataDependencyRecorder;
|
|
231
260
|
export type DataDependencyRecorderNotStartedError = RequestScopedDependencies.RequestScopedDependencyNotStartedError;
|
|
@@ -240,7 +269,7 @@ export declare const ensureDataDependencyRecorder: <A, E, R>(self: Effect.Effect
|
|
|
240
269
|
export declare const ensureDataDependencyRecorderStream: <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E, R>;
|
|
241
270
|
export declare const makeDataDependencyRecorder: (readsRef: Ref.Ref<DataDependencies>, writesRef: Ref.Ref<DataDependencies>) => DataDependencyRecorderService;
|
|
242
271
|
export declare const repo: (name: string, ids?: NonEmptyReadonlyArray<string>) => DataDependency;
|
|
243
|
-
export declare const signal: (name: string) => DataDependency;
|
|
272
|
+
export declare const signal: (name: string, ids?: NonEmptyReadonlyArray<string>) => DataDependency;
|
|
244
273
|
export declare const readRepo: (name: string) => Effect.Effect<void, RequestScopedDependencies.RequestScopedDependencyNotStartedError, never>;
|
|
245
274
|
export declare const withRepoReadScope: (name: string, ids: NonEmptyReadonlyArray<string>) => <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
|
|
246
275
|
export declare const QueryReadDependenciesMetaKey = "effect-app.query.readDependencies";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataDependencies.d.ts","sourceRoot":"","sources":["../src/DataDependencies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,KAAK,GAAG,MAAM,YAAY,CAAA;AACjC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,yBAAyB,MAAM,gCAAgC,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,aAAa,CAAA;AAEhC,eAAO,MAAM,cAAc
|
|
1
|
+
{"version":3,"file":"DataDependencies.d.ts","sourceRoot":"","sources":["../src/DataDependencies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,KAAK,GAAG,MAAM,YAAY,CAAA;AACjC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,yBAAyB,MAAM,gCAAgC,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,aAAa,CAAA;AAEhC,eAAO,MAAM,cAAc;;;;;;;;IAWzB,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,cAAc,CAAC,CAAA;AAEjE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAgC,CAAA;AAC7D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAErE,eAAO,MAAM,KAAK,QAAO,gBAA6B,CAAA;AAEtD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG5B,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAEvE,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,cAAc,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAClE,QAAQ,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,cAAc,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACnE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;IAC9C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;IAChD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;CACtD;AAkCD,eAAO,MAAM,KAAK,cAAe,aAAa,CAAC,gBAAgB,CAAC,KAAG,gBAMlE,CAAA;AAED,eAAO,MAAM,sBAAsB,gGAOlC,CAAA;AACD,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAA;AAElE,MAAM,MAAM,qCAAqC,GAAG,yBAAyB,CAAC,sCAAsC,CAAA;AAEpH,eAAO,MAAM,yBAAyB,uHAAiC,CAAA;AAEvE;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAIvG,CAAA;AAEH,8DAA8D;AAC9D,eAAO,MAAM,kCAAkC,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAM7G,CAAA;AAEH,eAAO,MAAM,0BAA0B,aAC3B,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,aACxB,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,KACnC,6BAYD,CAAA;AAEF,eAAO,MAAM,IAAI,SAAU,MAAM,QAAQ,qBAAqB,CAAC,MAAM,CAAC,KAAG,cACC,CAAA;AAC1E,eAAO,MAAM,MAAM,SAAU,MAAM,QAAQ,qBAAqB,CAAC,MAAM,CAAC,KAAG,cACG,CAAA;AAM9E,eAAO,MAAM,QAAQ,SAAU,MAAM,iGAIlC,CAAA;AAEH,eAAO,MAAM,iBAAiB,SACrB,MAAM,OAAO,qBAAqB,CAAC,MAAM,CAAC,MAChD,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CACD,CAAA;AAE/D,eAAO,MAAM,4BAA4B,sCAAsC,CAAA;AAE/E,eAAO,MAAM,IAAI,eAAgB,cAAc,iGAC4B,CAAA;AAE3E,eAAO,MAAM,KAAK,eAAgB,cAAc,iGAC4B,CAAA;AAE5E,eAAO,MAAM,UAAU,MAClB,WAAW,CAAC,cAAc,CAAC,KAC3B,WAAW,CAAC,cAAc,CAAC,YAM/B,CAAA;AAED,eAAO,MAAM,UAAU,iBAAkB,gBAAgB,YAA0B,CAAA"}
|
package/dist/DataDependencies.js
CHANGED
|
@@ -12,7 +12,8 @@ export const DataDependency = S.Union([
|
|
|
12
12
|
}),
|
|
13
13
|
S.Struct({
|
|
14
14
|
type: S.Literal("signal"),
|
|
15
|
-
name: S.String
|
|
15
|
+
name: S.String,
|
|
16
|
+
ids: S.optional(S.NonEmptyArray(S.String))
|
|
16
17
|
})
|
|
17
18
|
]);
|
|
18
19
|
export const DataDependencies = S.ReadonlySet(DataDependency);
|
|
@@ -25,8 +26,6 @@ const sameDomain = (a, b) => a.type === b.type && a.name === b.name;
|
|
|
25
26
|
const dependenciesOverlap = (a, b) => {
|
|
26
27
|
if (!sameDomain(a, b))
|
|
27
28
|
return false;
|
|
28
|
-
if (a.type === "signal" || b.type === "signal")
|
|
29
|
-
return true;
|
|
30
29
|
if (a.ids === undefined || b.ids === undefined)
|
|
31
30
|
return true;
|
|
32
31
|
return a.ids.some((id) => b.ids?.includes(id));
|
|
@@ -42,8 +41,6 @@ const appendDependency = (dependency) => (dependencies) => {
|
|
|
42
41
|
const existing = [...dependencies].find((_) => sameDomain(_, dependency));
|
|
43
42
|
if (existing === undefined)
|
|
44
43
|
return new Set([...dependencies, dependency]);
|
|
45
|
-
if (existing.type === "signal" || dependency.type === "signal")
|
|
46
|
-
return dependencies;
|
|
47
44
|
if (existing.ids === undefined)
|
|
48
45
|
return dependencies;
|
|
49
46
|
if (dependency.ids === undefined) {
|
|
@@ -56,9 +53,17 @@ const appendDependency = (dependency) => (dependencies) => {
|
|
|
56
53
|
];
|
|
57
54
|
if (ids.length === existing.ids.length)
|
|
58
55
|
return dependencies;
|
|
59
|
-
const merged = repo(existing.name, ids);
|
|
56
|
+
const merged = existing.type === "repo" ? repo(existing.name, ids) : signal(existing.name, ids);
|
|
60
57
|
return new Set([...dependencies].filter((_) => _ !== existing).concat(merged));
|
|
61
58
|
};
|
|
59
|
+
export const merge = (...groups) => {
|
|
60
|
+
let merged = empty();
|
|
61
|
+
for (const group of groups) {
|
|
62
|
+
for (const dependency of group)
|
|
63
|
+
merged = appendDependency(dependency)(merged);
|
|
64
|
+
}
|
|
65
|
+
return merged;
|
|
66
|
+
};
|
|
62
67
|
export const DataDependencyRecorder = RequestScopedDependencies.make("effect-app/DataDependencyRecorder", Effect.gen(function* () {
|
|
63
68
|
const readsRef = yield* Ref.make(empty());
|
|
64
69
|
const writesRef = yield* Ref.make(empty());
|
|
@@ -87,7 +92,7 @@ export const makeDataDependencyRecorder = (readsRef, writesRef) => ({
|
|
|
87
92
|
drainWrites: Ref.getAndSet(writesRef, empty())
|
|
88
93
|
});
|
|
89
94
|
export const repo = (name, ids) => ids === undefined ? { type: "repo", name } : { type: "repo", name, ids };
|
|
90
|
-
export const signal = (name) =>
|
|
95
|
+
export const signal = (name, ids) => ids === undefined ? { type: "signal", name } : { type: "signal", name, ids };
|
|
91
96
|
const RepoReadScope = Context.Reference("effect-app/DataDependencies/RepoReadScope", {
|
|
92
97
|
defaultValue: () => undefined
|
|
93
98
|
});
|
|
@@ -104,4 +109,4 @@ export const intersects = (a, b) => {
|
|
|
104
109
|
return false;
|
|
105
110
|
};
|
|
106
111
|
export const isNonEmpty = (dependencies) => dependencies.size > 0;
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YURlcGVuZGVuY2llcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9EYXRhRGVwZW5kZW5jaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxHQUFHLE1BQU0sWUFBWSxDQUFBO0FBQ2pDLE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFBO0FBQ3ZDLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFBO0FBQ3ZDLE9BQU8sS0FBSyxNQUFNLE1BQU0sYUFBYSxDQUFBO0FBQ3JDLE9BQU8sS0FBSyx5QkFBeUIsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUMzRSxPQUFPLEtBQUssQ0FBQyxNQUFNLGFBQWEsQ0FBQTtBQUVoQyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNwQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ1AsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQ3ZCLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTTtRQUNkLEdBQUcsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQzNDLENBQUM7SUFDRixDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ1AsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ3pCLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTTtRQUNkLEdBQUcsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQzNDLENBQUM7Q0FDSCxDQUFDLENBQUE7QUFHRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFBO0FBRzdELE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxHQUFxQixFQUFFLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQTtBQUV0RCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3hDLEtBQUssRUFBRSxnQkFBZ0I7SUFDdkIsTUFBTSxFQUFFLGdCQUFnQjtDQUN6QixDQUFDLENBQUE7QUFXRixNQUFNLFVBQVUsR0FBRyxDQUFDLENBQWlCLEVBQUUsQ0FBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQTtBQUVuRyxNQUFNLG1CQUFtQixHQUFHLENBQUMsQ0FBaUIsRUFBRSxDQUFpQixFQUFFLEVBQUU7SUFDbkUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQUUsT0FBTyxLQUFLLENBQUE7SUFDbkMsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLFNBQVMsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLFNBQVM7UUFBRSxPQUFPLElBQUksQ0FBQTtJQUMzRCxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBQ2hELENBQUMsQ0FBQTtBQUVELE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxZQUF5QyxFQUFFLFVBQTBCLEVBQUUsRUFBRTtJQUNuRyxLQUFLLE1BQU0sQ0FBQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzdCLElBQUksbUJBQW1CLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFBO0lBQ3JELENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQTtBQUNkLENBQUMsQ0FBQTtBQUVELE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxVQUEwQixFQUFFLEVBQUUsQ0FBQyxDQUFDLFlBQThCLEVBQW9CLEVBQUU7SUFDNUcsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFBO0lBQ3pFLElBQUksUUFBUSxLQUFLLFNBQVM7UUFBRSxPQUFPLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQTtJQUN6RSxJQUFJLFFBQVEsQ0FBQyxHQUFHLEtBQUssU0FBUztRQUFFLE9BQU8sWUFBWSxDQUFBO0lBQ25ELElBQUksVUFBVSxDQUFDLEdBQUcsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUNqQyxPQUFPLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQTtJQUNwRixDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUM3QixNQUFNLEdBQUcsR0FBa0M7UUFDekMsS0FBSztRQUNMLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLEtBQUssQ0FBQyxDQUFDO0tBQ3ZGLENBQUE7SUFDRCxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNO1FBQUUsT0FBTyxZQUFZLENBQUE7SUFDM0QsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUMvRixPQUFPLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtBQUNoRixDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFHLE1BQXVDLEVBQW9CLEVBQUU7SUFDcEYsSUFBSSxNQUFNLEdBQUcsS0FBSyxFQUFFLENBQUE7SUFDcEIsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUMzQixLQUFLLE1BQU0sVUFBVSxJQUFJLEtBQUs7WUFBRSxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDL0UsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFBO0FBQ2YsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcseUJBQXlCLENBQUMsSUFBSSxDQUNsRSxtQ0FBbUMsRUFDbkMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7SUFDbEIsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFBO0lBQ3pDLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUMxQyxPQUFPLDBCQUEwQixDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQTtBQUN4RCxDQUFDLENBQUMsQ0FDSCxDQUFBO0FBS0QsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsc0JBQXNCLENBQUMsT0FBTyxDQUFBO0FBRXZFOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxDQUFVLElBQTRCLEVBQTBCLEVBQUUsQ0FDNUcsTUFBTSxDQUFDLE9BQU8sQ0FDWixzQkFBc0IsRUFDdEIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzVGLENBQUE7QUFFSCw4REFBOEQ7QUFDOUQsTUFBTSxDQUFDLE1BQU0sa0NBQWtDLEdBQUcsQ0FBVSxJQUE0QixFQUEwQixFQUFFLENBQ2xILE1BQU0sQ0FBQyxNQUFNLENBQ1gsTUFBTSxDQUFDLEdBQUcsQ0FDUixzQkFBc0IsRUFDdEIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzVGLENBQ0YsQ0FBQTtBQUVILE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLENBQ3hDLFFBQW1DLEVBQ25DLFNBQW9DLEVBQ0wsRUFBRSxDQUFDLENBQUM7SUFDbkMsSUFBSSxFQUFFLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN4RSxLQUFLLEVBQUUsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFFLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDO1FBQ2QsS0FBSyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQ3hCLE1BQU0sRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQztLQUMzQixDQUFDO0lBQ0YsS0FBSyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUM7UUFDaEIsS0FBSyxFQUFFLEdBQUcsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sRUFBRSxHQUFHLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztLQUMxQyxDQUFDO0lBQ0YsV0FBVyxFQUFFLEdBQUcsQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO0NBQy9DLENBQUMsQ0FBQTtBQUVGLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLElBQVksRUFBRSxHQUFtQyxFQUFrQixFQUFFLENBQ3hGLEdBQUcsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQTtBQUMxRSxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxJQUFZLEVBQUUsR0FBbUMsRUFBa0IsRUFBRSxDQUMxRixHQUFHLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUE7QUFFOUUsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBNkIsMkNBQTJDLEVBQUU7SUFDL0csWUFBWSxFQUFFLEdBQUcsRUFBRSxDQUFDLFNBQVM7Q0FDOUIsQ0FBQyxDQUFBO0FBRUYsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FDdkMsTUFBTSxDQUFDLE9BQU8sQ0FDWixhQUFhLEVBQ2IsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxLQUFLLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDcEYsQ0FBQTtBQUVILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUM1QixDQUFDLElBQVksRUFBRSxHQUFrQyxFQUFFLEVBQUUsQ0FDckQsQ0FBVSxJQUE0QixFQUEwQixFQUFFLENBQ2hFLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUE7QUFFL0QsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsbUNBQW1DLENBQUE7QUFFL0UsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsVUFBMEIsRUFBRSxFQUFFLENBQ2pELHlCQUF5QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUUzRSxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxVQUEwQixFQUFFLEVBQUUsQ0FDbEQseUJBQXlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBRTVFLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUN4QixDQUE4QixFQUM5QixDQUE4QixFQUM5QixFQUFFO0lBQ0YsS0FBSyxNQUFNLFVBQVUsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUMzQixJQUFJLGtCQUFrQixDQUFDLENBQUMsRUFBRSxVQUFVLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQTtJQUNwRCxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUE7QUFDZCxDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxZQUE4QixFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQSJ9
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type * as Scope from "effect/Scope";
|
|
2
2
|
import type { NonEmptyReadonlyArray } from "../../../Array.js";
|
|
3
3
|
import * as Context from "../../../Context.js";
|
|
4
|
+
import * as DataDependencies from "../../../DataDependencies.js";
|
|
4
5
|
import * as Effect from "../../../Effect.js";
|
|
5
6
|
import * as S from "../../../Schema.js";
|
|
6
7
|
import { type PersistenceModelType, type StoreConfig, StoreMaker } from "../../../Store.js";
|
|
@@ -15,6 +16,7 @@ export declare function makeRepoInternal<Evt = never>(): <ItemType extends strin
|
|
|
15
16
|
schemaContext?: Context.Context<RCtx>;
|
|
16
17
|
makeInitial?: Effect.Effect<readonly T[], E, RInitial> | undefined;
|
|
17
18
|
dependencyIds?: (item: T) => NonEmptyReadonlyArray<string>;
|
|
19
|
+
additionalWriteDependencies?: (item: T) => ReadonlyArray<DataDependencies.DataDependency>;
|
|
18
20
|
config?: Omit<StoreConfig<Encoded>, "partitionValue"> & {
|
|
19
21
|
partitionValue?: (e?: Encoded) => string;
|
|
20
22
|
};
|
|
@@ -23,6 +25,7 @@ export declare function makeRepoInternal<Evt = never>(): <ItemType extends strin
|
|
|
23
25
|
publishEvents: (evt: NonEmptyReadonlyArray<Evt>) => Effect.Effect<void, never, RPublish>;
|
|
24
26
|
makeInitial?: Effect.Effect<readonly T[], E, RInitial> | undefined;
|
|
25
27
|
dependencyIds?: (item: T) => NonEmptyReadonlyArray<string>;
|
|
28
|
+
additionalWriteDependencies?: (item: T) => ReadonlyArray<DataDependencies.DataDependency>;
|
|
26
29
|
config?: Omit<StoreConfig<Encoded>, "partitionValue"> & {
|
|
27
30
|
partitionValue?: (e?: Encoded) => string;
|
|
28
31
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../../src/Model/Repository/internal/internal.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAG1C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAI9D,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../../src/Model/Repository/internal/internal.ts"],"names":[],"mappings":"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"}
|