@effect-app/infra 0.170.5 → 0.171.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.
- package/CHANGELOG.md +23 -0
- package/_cjs/api/routing/base.cjs.map +1 -1
- package/_cjs/api/routing/makeRequestHandler.cjs.map +1 -1
- package/_cjs/services/QueueMaker/errors.cjs.map +1 -1
- package/_cjs/services/Repository/dsl.cjs +70 -0
- package/_cjs/services/Repository/dsl.cjs.map +1 -0
- package/_cjs/services/Repository/ext.cjs +202 -0
- package/_cjs/services/Repository/ext.cjs.map +1 -0
- package/_cjs/services/Repository/service.cjs +6 -0
- package/_cjs/services/Repository/service.cjs.map +1 -0
- package/_cjs/services/Repository.cjs +32 -252
- package/_cjs/services/Repository.cjs.map +1 -1
- package/_cjs/services/RepositoryBase.cjs +173 -48
- package/_cjs/services/RepositoryBase.cjs.map +1 -1
- package/_cjs/services/RequestContextContainer.cjs +6 -7
- package/_cjs/services/RequestContextContainer.cjs.map +1 -1
- package/_cjs/services/Store/ContextMapContainer.cjs +6 -7
- package/_cjs/services/Store/ContextMapContainer.cjs.map +1 -1
- package/_cjs/services/Store/Memory.cjs.map +1 -1
- package/_cjs/services/Store/utils.cjs.map +1 -1
- package/_src/api/routing/base.ts +5 -3
- package/_src/api/routing/makeRequestHandler.ts +20 -12
- package/_src/rateLimit.ts +2 -2
- package/_src/services/Emailer/Sendgrid.ts +2 -2
- package/_src/services/QueueMaker/errors.ts +6 -3
- package/_src/services/QueueMaker/memQueue.ts +2 -2
- package/_src/services/QueueMaker/sbqueue.ts +2 -2
- package/_src/services/Repository/dsl.ts +137 -0
- package/_src/services/Repository/ext.ts +669 -0
- package/_src/services/Repository/service.ts +12 -0
- package/_src/services/Repository.ts +3 -791
- package/_src/services/RepositoryBase.ts +640 -13
- package/_src/services/RequestContextContainer.ts +14 -16
- package/_src/services/Store/ContextMapContainer.ts +6 -9
- package/_src/services/Store/Cosmos.ts +2 -2
- package/_src/services/Store/Disk.ts +2 -2
- package/_src/services/Store/Memory.ts +2 -1
- package/_src/services/Store/Redis.ts +2 -2
- package/_src/services/Store/utils.ts +4 -5
- package/_src/services/simpledb/cosmosdb.ts +1 -1
- package/_src/services/simpledb/diskdb.ts +1 -1
- package/_src/services/simpledb/memdb.ts +1 -1
- package/_src/services/simpledb/mongodb.ts +1 -1
- package/_src/services/simpledb/redisdb.ts +2 -2
- package/dist/api/routing/base.d.ts +1 -2
- package/dist/api/routing/base.d.ts.map +1 -1
- package/dist/api/routing/base.js +1 -1
- package/dist/api/routing/makeRequestHandler.d.ts.map +1 -1
- package/dist/api/routing/makeRequestHandler.js +15 -11
- package/dist/rateLimit.js +1 -1
- package/dist/services/Emailer/Sendgrid.js +1 -1
- package/dist/services/QueueMaker/errors.d.ts.map +1 -1
- package/dist/services/QueueMaker/errors.js +5 -2
- package/dist/services/QueueMaker/memQueue.js +1 -1
- package/dist/services/QueueMaker/sbqueue.js +1 -1
- package/dist/services/QueueMaker/service.d.ts +2 -2
- package/dist/services/Repository/dsl.d.ts +51 -0
- package/dist/services/Repository/dsl.d.ts.map +1 -0
- package/dist/services/Repository/dsl.js +55 -0
- package/dist/services/Repository/ext.d.ts +310 -0
- package/dist/services/Repository/ext.d.ts.map +1 -0
- package/dist/services/Repository/ext.js +166 -0
- package/dist/services/Repository/service.d.ts +10 -0
- package/dist/services/Repository/service.d.ts.map +1 -0
- package/dist/services/Repository/service.js +2 -0
- package/dist/services/Repository.d.ts +3 -363
- package/dist/services/Repository.d.ts.map +1 -1
- package/dist/services/Repository.js +4 -217
- package/dist/services/RepositoryBase.d.ts +241 -6
- package/dist/services/RepositoryBase.d.ts.map +1 -1
- package/dist/services/RepositoryBase.js +176 -52
- package/dist/services/RequestContextContainer.d.ts +3 -5
- package/dist/services/RequestContextContainer.d.ts.map +1 -1
- package/dist/services/RequestContextContainer.js +17 -16
- package/dist/services/Store/ContextMapContainer.d.ts +2 -5
- package/dist/services/Store/ContextMapContainer.d.ts.map +1 -1
- package/dist/services/Store/ContextMapContainer.js +7 -8
- package/dist/services/Store/Cosmos.js +1 -1
- package/dist/services/Store/Disk.js +1 -1
- package/dist/services/Store/Memory.d.ts.map +1 -1
- package/dist/services/Store/Memory.js +1 -1
- package/dist/services/Store/Redis.js +1 -1
- package/dist/services/Store/utils.d.ts.map +1 -1
- package/dist/services/Store/utils.js +1 -1
- package/dist/services/simpledb/cosmosdb.js +1 -1
- package/dist/services/simpledb/diskdb.js +1 -1
- package/dist/services/simpledb/memdb.js +1 -1
- package/dist/services/simpledb/mongodb.js +1 -1
- package/dist/services/simpledb/redisdb.js +1 -1
- package/package.json +37 -7
|
@@ -1,16 +1,24 @@
|
|
|
1
|
-
import * as tsplus_module_1 from "effect/
|
|
2
|
-
import * as tsplus_module_2 from "
|
|
3
|
-
import * as tsplus_module_3 from "@effect-app/
|
|
4
|
-
import * as tsplus_module_4 from "@effect-app/
|
|
5
|
-
import * as tsplus_module_5 from "@effect-app/
|
|
6
|
-
import * as tsplus_module_6 from "@effect/
|
|
7
|
-
import * as tsplus_module_7 from "@effect-app/core/
|
|
8
|
-
import * as tsplus_module_8 from "effect/
|
|
9
|
-
import * as tsplus_module_9 from "@effect-app/
|
|
10
|
-
import * as tsplus_module_10 from "@effect
|
|
1
|
+
import * as tsplus_module_1 from "@effect-app/prelude/_ext/misc";
|
|
2
|
+
import * as tsplus_module_2 from "effect/Effect";
|
|
3
|
+
import * as tsplus_module_3 from "@effect-app/infra/services/Repository/ext";
|
|
4
|
+
import * as tsplus_module_4 from "@effect-app/prelude/schema";
|
|
5
|
+
import * as tsplus_module_5 from "@effect-app/prelude/Pure";
|
|
6
|
+
import * as tsplus_module_6 from "@effect-app/core/Array";
|
|
7
|
+
import * as tsplus_module_7 from "@effect-app/core/_ext/Iterable";
|
|
8
|
+
import * as tsplus_module_8 from "@effect-app/core/Effect";
|
|
9
|
+
import * as tsplus_module_9 from "@effect-app/core/Chunk";
|
|
10
|
+
import * as tsplus_module_10 from "@effect/schema/Schema";
|
|
11
|
+
import * as tsplus_module_11 from "@effect-app/core/Function";
|
|
12
|
+
import * as tsplus_module_12 from "effect/PubSub";
|
|
13
|
+
import * as tsplus_module_13 from "@effect-app/prelude/service";
|
|
14
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
15
|
+
/* eslint-disable @typescript-eslint/ban-types */
|
|
16
|
+
// import type { ParserEnv } from "@effect-app/schema/custom/Parser"
|
|
17
|
+
import { AnyPureDSL, byIdAndSaveWithPure, get, queryAndSaveOnePureEffect, queryEffect, queryOneEffect, saveAllWithEffectInt, saveManyWithPure_, saveManyWithPureBatched_, saveWithPure_ } from "./Repository.js";
|
|
11
18
|
import { StoreMaker } from "./Store.js";
|
|
12
19
|
import { makeFilters } from "@effect-app/infra/filter";
|
|
13
20
|
import { S } from "@effect-app/prelude";
|
|
21
|
+
import { NotFoundError } from "../errors.js";
|
|
14
22
|
import { ContextMapContainer } from "./Store/ContextMapContainer.js";
|
|
15
23
|
import { QueryBuilder } from "./Store/filterApi/query.js";
|
|
16
24
|
/**
|
|
@@ -37,6 +45,114 @@ export class RepositoryBaseC2 extends RepositoryBaseC1 {
|
|
|
37
45
|
this.changeFeed = this.impl.changeFeed;
|
|
38
46
|
}
|
|
39
47
|
}
|
|
48
|
+
export class RepositoryBaseC3 extends RepositoryBaseC2 {
|
|
49
|
+
constructor() {
|
|
50
|
+
super(...arguments);
|
|
51
|
+
this.log = (evt) => AnyPureDSL.log(evt);
|
|
52
|
+
this.save = (...items) => this.saveAndPublish(items);
|
|
53
|
+
this.saveWithEvents = (events) => (...items) => this.saveAndPublish(items, events);
|
|
54
|
+
}
|
|
55
|
+
get(id) {
|
|
56
|
+
return tsplus_module_2.flatMap(this
|
|
57
|
+
.find(id), (_) => tsplus_module_1.encaseMaybeInEffect_(_, () => new NotFoundError({ type: this.itemType, id })));
|
|
58
|
+
}
|
|
59
|
+
projectEffect(map) {
|
|
60
|
+
// TODO: a projection that gets sent to the db instead.
|
|
61
|
+
return tsplus_module_2.flatMap(map, (f) => tsplus_module_2.map(this
|
|
62
|
+
.utils
|
|
63
|
+
.filter(f), (_) => f.collect ? _.filterMap(f.collect) : _));
|
|
64
|
+
}
|
|
65
|
+
project(map) {
|
|
66
|
+
return tsplus_module_3.projectEffect(this, tsplus_module_2.sync(() => map));
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* TODO: count inside the db.
|
|
70
|
+
* @tsplus fluent Repository project
|
|
71
|
+
*/
|
|
72
|
+
count(filter) {
|
|
73
|
+
return tsplus_module_2.map(tsplus_module_3.projectEffect(this, tsplus_module_2.sync(() => ({ filter }))), (_) => tsplus_module_4.NonNegativeInt(_.length));
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* @tsplus fluent Repository queryEffect
|
|
77
|
+
*/
|
|
78
|
+
queryEffect(
|
|
79
|
+
// TODO: think about collectPM, collectE, and collect(Parsed)
|
|
80
|
+
map) {
|
|
81
|
+
return tsplus_module_2.flatMap(map, (f) => tsplus_module_2.map(tsplus_module_2.flatMap((f.filter ? this.utils.filter(f) : this.utils.all), (_) => this.utils.parseMany(_)), (_) => f.collect ? _.filterMap(f.collect) : _));
|
|
82
|
+
}
|
|
83
|
+
queryOneEffect(
|
|
84
|
+
// TODO: think about collectPM, collectE, and collect(Parsed)
|
|
85
|
+
map) {
|
|
86
|
+
return tsplus_module_2.flatMap(map, (f) => tsplus_module_2.flatMap(tsplus_module_2.flatMap((f.filter ? this.utils.filter({ filter: f.filter, limit: 1 }) : this.utils.all), (_) => this.utils.parseMany(_)), (_) => tsplus_module_2.map(tsplus_module_1.encaseMaybeInEffect_((f.collect ? _.filterMap(f.collect) : _)
|
|
87
|
+
.toNonEmpty, () => new NotFoundError({ type: this.itemType, id: f.filter })), (_) => _[0])));
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* @tsplus fluent Repository query
|
|
91
|
+
*/
|
|
92
|
+
query(
|
|
93
|
+
// TODO: think about collectPM, collectE, and collect(Parsed)
|
|
94
|
+
map) {
|
|
95
|
+
return tsplus_module_3.queryEffect(this, tsplus_module_2.sync(() => map));
|
|
96
|
+
}
|
|
97
|
+
queryOne(map) {
|
|
98
|
+
return tsplus_module_3.queryOneEffect(this, tsplus_module_2.sync(() => map));
|
|
99
|
+
}
|
|
100
|
+
queryAndSaveOnePureEffect(map) {
|
|
101
|
+
return (pure) => tsplus_module_2.flatMap(queryOneEffect(this, map), (_) => saveWithPure_(this, _, pure));
|
|
102
|
+
}
|
|
103
|
+
queryAndSaveOnePure(map) {
|
|
104
|
+
return queryAndSaveOnePureEffect(this, tsplus_module_2.sync(() => map));
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* @tsplus fluent Repository queryAndSavePureEffect
|
|
108
|
+
*/
|
|
109
|
+
queryAndSavePureEffect(map) {
|
|
110
|
+
return (pure) => tsplus_module_2.flatMap(queryEffect(this, map), (_) => tsplus_module_3.saveManyWithPure_(this, _, pure));
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* @tsplus fluent Repository queryAndSavePure
|
|
114
|
+
*/
|
|
115
|
+
queryAndSavePure(map) {
|
|
116
|
+
return tsplus_module_3.queryAndSavePureEffect(this, tsplus_module_2.sync(() => map));
|
|
117
|
+
}
|
|
118
|
+
saveManyWithPure() {
|
|
119
|
+
return (pure) => (items) => saveManyWithPure_(this, items, pure);
|
|
120
|
+
}
|
|
121
|
+
byIdAndSaveWithPure(id) {
|
|
122
|
+
return (pure) => tsplus_module_2.flatMap(get(this, id), (item) => saveWithPure_(this, item, pure));
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* NOTE: it's not as composable, only useful when the request is simple, and only this part needs request args.
|
|
126
|
+
*/
|
|
127
|
+
handleByIdAndSaveWithPure() {
|
|
128
|
+
return (pure) => (req, ctx) => byIdAndSaveWithPure(this, req.id)(pure(req, ctx));
|
|
129
|
+
}
|
|
130
|
+
saveManyWithPure_(items, pure) {
|
|
131
|
+
return saveAllWithEffectInt(this, tsplus_module_5.runTerm(pure, [...items]));
|
|
132
|
+
}
|
|
133
|
+
saveWithPure_(item, pure) {
|
|
134
|
+
return saveAllWithEffectInt(this, tsplus_module_2.map(tsplus_module_5.runTerm(pure, item), ([item, events, a]) => [[item], events, a]));
|
|
135
|
+
}
|
|
136
|
+
saveAllWithEffectInt(gen) {
|
|
137
|
+
return tsplus_module_2.flatMap(gen, ([items, events, a]) => tsplus_module_2.map(this.saveAndPublish(items, events), () => a));
|
|
138
|
+
}
|
|
139
|
+
queryAndSavePureEffectBatched(
|
|
140
|
+
// TODO: think about collectPM, collectE, and collect(Parsed)
|
|
141
|
+
map, batchSize = 100) {
|
|
142
|
+
return (pure) => tsplus_module_2.flatMap(queryEffect(this, map), (_) => tsplus_module_3.saveManyWithPureBatched_(this, _, pure, batchSize));
|
|
143
|
+
}
|
|
144
|
+
queryAndSavePureBatched(
|
|
145
|
+
// TODO: think about collectPM, collectE, and collect(Parsed)
|
|
146
|
+
map, batchSize = 100) {
|
|
147
|
+
return tsplus_module_3.queryAndSavePureEffectBatched(this, tsplus_module_2.sync(() => map), batchSize);
|
|
148
|
+
}
|
|
149
|
+
saveManyWithPureBatched(batchSize = 100) {
|
|
150
|
+
return (pure) => (items) => saveManyWithPureBatched_(this, items, pure, batchSize);
|
|
151
|
+
}
|
|
152
|
+
saveManyWithPureBatched_(items, pure, batchSize = 100) {
|
|
153
|
+
return tsplus_module_7.ext_forEach(tsplus_module_6.chunk_(items, batchSize), (batch) => saveAllWithEffectInt(this, tsplus_module_5.runTerm(pure, batch)));
|
|
154
|
+
}
|
|
155
|
+
}
|
|
40
156
|
/**
|
|
41
157
|
* A base implementation to create a repository.
|
|
42
158
|
*/
|
|
@@ -52,66 +168,74 @@ export function makeRepo() {
|
|
|
52
168
|
}
|
|
53
169
|
const mkStore = makeStore()(name, schema, mapTo);
|
|
54
170
|
function make(args) {
|
|
55
|
-
return
|
|
56
|
-
const encode =
|
|
57
|
-
const decode =
|
|
58
|
-
return
|
|
171
|
+
return tsplus_module_2.withLogSpan(tsplus_module_2.flatMap(tsplus_module_2.context(), rctx => {
|
|
172
|
+
const encode = tsplus_module_11.flow(tsplus_module_10.encode(schema), tsplus_module_2.provide(rctx));
|
|
173
|
+
const decode = tsplus_module_11.flow(tsplus_module_10.decode(schema), tsplus_module_2.provide(rctx));
|
|
174
|
+
return tsplus_module_2.flatMap(mkStore(args.makeInitial, args.config), store => tsplus_module_2.flatMap(ContextMapContainer, ({ get }) => {
|
|
59
175
|
const cms = get.andThen((_) => ({
|
|
60
176
|
get: (id) => _.get(`${name}.${id}`),
|
|
61
177
|
set: (id, etag) => _.set(`${name}.${id}`, etag)
|
|
62
178
|
}));
|
|
63
|
-
return
|
|
64
|
-
const pub = "publishEvents" in args ?
|
|
65
|
-
return
|
|
66
|
-
const allE =
|
|
67
|
-
const all =
|
|
179
|
+
return tsplus_module_2.flatMap(tsplus_module_2.context(), pubCfg => {
|
|
180
|
+
const pub = "publishEvents" in args ? tsplus_module_11.flow(args.publishEvents, (_) => tsplus_module_2.provide(_, pubCfg)) : () => tsplus_module_2.unit;
|
|
181
|
+
return tsplus_module_2.map(tsplus_module_12.unbounded(), changeFeed => {
|
|
182
|
+
const allE = tsplus_module_2.flatMap(store.all, (items) => tsplus_module_2.map(cms, ({ set }) => items.map((_) => mapReverse(_, set))));
|
|
183
|
+
const all = tsplus_module_2.flatMap(allE, (_) => tsplus_module_2.orDie(_.forEachEffect((_) => decode(_), { concurrency: "inherit", batching: true })));
|
|
68
184
|
const structSchema = schema;
|
|
69
185
|
const i = ("struct" in structSchema ? structSchema["struct"] : schema).pipe((_) => _.ast._tag === "Union"
|
|
70
186
|
// we need to get the TypeLiteral, incase of class it's behind a transform...
|
|
71
187
|
? S.union(..._.ast.types.map((_) => S.make(_._tag === "Transform" ? _.from : _)
|
|
72
188
|
.pipe(S.pick("id"))))
|
|
73
|
-
: _
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
189
|
+
: _
|
|
190
|
+
.ast
|
|
191
|
+
._tag === "Transform"
|
|
192
|
+
? S
|
|
193
|
+
.make(_
|
|
194
|
+
.ast
|
|
195
|
+
.from)
|
|
196
|
+
.pipe(S
|
|
197
|
+
.pick("id"))
|
|
198
|
+
: _
|
|
199
|
+
.pipe(S
|
|
200
|
+
.pick("id")));
|
|
201
|
+
const encodeId = tsplus_module_11.flow(tsplus_module_10.encode(i), tsplus_module_2.provide(rctx));
|
|
78
202
|
function findE(_id) {
|
|
79
|
-
return
|
|
80
|
-
.find(id)), (items) =>
|
|
203
|
+
return tsplus_module_2.flatMap(tsplus_module_2.orDie(tsplus_module_2.map(encodeId({ id: _id }), (_) => _.id)).andThen((id) => store
|
|
204
|
+
.find(id)), (items) => tsplus_module_2.map(cms, ({ set }) => items.map((_) => mapReverse(_, set))));
|
|
81
205
|
}
|
|
82
206
|
function find(id) {
|
|
83
|
-
return
|
|
207
|
+
return tsplus_module_8.flatMapOption(findE(id), (_) => tsplus_module_2.orDie(decode(_)));
|
|
84
208
|
}
|
|
85
|
-
const saveAllE = (a) =>
|
|
209
|
+
const saveAllE = (a) => tsplus_module_2.asUnit(tsplus_module_8.flatMapOption(tsplus_module_2.sync(() => tsplus_module_6.CollectionToNonEmptyReadonlyArray(a)), (a) => tsplus_module_2.flatMap(cms, ({ get, set }) => {
|
|
86
210
|
const items = a.map((_) => mapToPersistenceModel(_, get));
|
|
87
|
-
return
|
|
211
|
+
return tsplus_module_2.map(store.batchSet(items), ret => {
|
|
88
212
|
ret.forEach((_) => set(_.id, _._etag));
|
|
89
213
|
});
|
|
90
214
|
})));
|
|
91
|
-
const saveAll = (a) =>
|
|
215
|
+
const saveAll = (a) => tsplus_module_2.orDie(tsplus_module_7.ext_forEach(tsplus_module_6.ext_itToChunk(a), (_) => encode(_), { concurrency: "inherit", batching: true })).andThen(saveAllE);
|
|
92
216
|
const saveAndPublish = (items, events = []) => {
|
|
93
|
-
const it =
|
|
94
|
-
return
|
|
95
|
-
.andThen(
|
|
217
|
+
const it = tsplus_module_6.ext_itToChunk(items);
|
|
218
|
+
return tsplus_module_2.asUnit(tsplus_module_8.flatMapOption(saveAll(it)
|
|
219
|
+
.andThen(tsplus_module_2.sync(() => tsplus_module_6.CollectionToNonEmptyReadonlyArray(events)))
|
|
96
220
|
// TODO: for full consistency the events should be stored within the same database transaction, and then picked up.
|
|
97
221
|
, pub)
|
|
98
222
|
.andThen(changeFeed
|
|
99
|
-
.publish([
|
|
223
|
+
.publish([tsplus_module_9.toArray(it), "save"])));
|
|
100
224
|
};
|
|
101
225
|
function removeAndPublish(a, events = []) {
|
|
102
|
-
return
|
|
226
|
+
return tsplus_module_2.gen(function* ($) {
|
|
103
227
|
const { get, set } = yield* $(cms);
|
|
104
|
-
const it =
|
|
105
|
-
const items = yield* $(
|
|
228
|
+
const it = tsplus_module_6.ext_itToChunk(a);
|
|
229
|
+
const items = yield* $(tsplus_module_2.orDie(tsplus_module_7.ext_forEach(it, (_) => encode(_), { concurrency: "inherit", batching: true })));
|
|
106
230
|
// TODO: we should have a batchRemove on store so the adapter can actually batch...
|
|
107
231
|
for (const e of items) {
|
|
108
232
|
yield* $(store.remove(mapToPersistenceModel(e, get)));
|
|
109
233
|
set(e.id, undefined);
|
|
110
234
|
}
|
|
111
|
-
yield* $(
|
|
235
|
+
yield* $(tsplus_module_8.flatMapOption(tsplus_module_2.sync(() => tsplus_module_6.CollectionToNonEmptyReadonlyArray(events))
|
|
112
236
|
// TODO: for full consistency the events should be stored within the same database transaction, and then picked up.
|
|
113
237
|
, pub));
|
|
114
|
-
yield* $(changeFeed.publish([
|
|
238
|
+
yield* $(changeFeed.publish([tsplus_module_9.toArray(it), "remove"]));
|
|
115
239
|
});
|
|
116
240
|
}
|
|
117
241
|
const r = {
|
|
@@ -119,13 +243,13 @@ export function makeRepo() {
|
|
|
119
243
|
* @internal
|
|
120
244
|
*/
|
|
121
245
|
utils: {
|
|
122
|
-
parseMany: (items) =>
|
|
246
|
+
parseMany: (items) => tsplus_module_2.flatMap(cms, (cm) => tsplus_module_2.orDie(items
|
|
123
247
|
.forEachEffect((_) => decode(mapReverse(_, cm.set)), { concurrency: "inherit", batching: true }))),
|
|
124
248
|
filter: (args) => store
|
|
125
249
|
.filter(args)
|
|
126
250
|
.tap((items) => args.select
|
|
127
|
-
?
|
|
128
|
-
all: store.all.tap((items) =>
|
|
251
|
+
? tsplus_module_2.unit : tsplus_module_2.map(cms, ({ set }) => items.forEach((_) => set(_.id, _._etag)))),
|
|
252
|
+
all: store.all.tap((items) => tsplus_module_2.map(cms, ({ set }) => items.forEach((_) => set(_.id, _._etag))))
|
|
129
253
|
},
|
|
130
254
|
changeFeed,
|
|
131
255
|
itemType: name,
|
|
@@ -152,7 +276,7 @@ export function makeRepo() {
|
|
|
152
276
|
* @tsplus fluent Repository removeById
|
|
153
277
|
*/
|
|
154
278
|
export function removeById(self, id) {
|
|
155
|
-
return
|
|
279
|
+
return tsplus_module_2.flatMap(tsplus_module_3.get(self, id), (_) => self.removeAndPublish([_]));
|
|
156
280
|
}
|
|
157
281
|
export function makeWhere() {
|
|
158
282
|
const f_ = makeFilters();
|
|
@@ -179,14 +303,14 @@ export function makeStore() {
|
|
|
179
303
|
return (name, schema, mapTo) => {
|
|
180
304
|
function encodeToPM() {
|
|
181
305
|
const getEtag = () => undefined;
|
|
182
|
-
return (t) =>
|
|
306
|
+
return (t) => tsplus_module_2.map(tsplus_module_2.orDie(tsplus_module_10.encode(schema)(t)), (_) => mapToPersistenceModel(_, getEtag));
|
|
183
307
|
}
|
|
184
308
|
function mapToPersistenceModel(e, getEtag) {
|
|
185
309
|
return mapTo(e, getEtag(e.id));
|
|
186
310
|
}
|
|
187
311
|
function makeStore(makeInitial, config) {
|
|
188
|
-
return
|
|
189
|
-
?
|
|
312
|
+
return tsplus_module_2.flatMap(StoreMaker, ({ make }) => tsplus_module_2.map(make(pluralize(name), makeInitial
|
|
313
|
+
? tsplus_module_2.withSpan((tsplus_module_2.flatMap(makeInitial, (_) => _.forEachEffect(encodeToPM()))), "Repository.makeInitial [effect-app/infra]", {
|
|
190
314
|
attributes: { "repository.model_name": name }
|
|
191
315
|
})
|
|
192
316
|
: undefined, {
|
|
@@ -207,27 +331,27 @@ export const RepositoryBaseImpl = () => {
|
|
|
207
331
|
}
|
|
208
332
|
}
|
|
209
333
|
Cls.make = mkRepo.make;
|
|
210
|
-
Cls.makeWith = ((a, b) =>
|
|
334
|
+
Cls.makeWith = ((a, b) => tsplus_module_2.map(mkRepo.make(a), b));
|
|
211
335
|
Cls.where = makeWhere();
|
|
212
336
|
Cls.query = QueryBuilder.make();
|
|
213
337
|
Cls.type = undefined;
|
|
214
|
-
return
|
|
338
|
+
return tsplus_module_13.assignTag()(Cls);
|
|
215
339
|
};
|
|
216
340
|
};
|
|
217
341
|
export const RepositoryDefaultImpl = () => {
|
|
218
342
|
return () => (itemType, schema, jitM) => {
|
|
219
343
|
const mkRepo = makeRepo()(itemType, schema, jitM ? (pm) => jitM(pm) : (pm) => pm, (e, _etag) => ({ ...e, _etag }));
|
|
220
|
-
class Cls extends
|
|
344
|
+
class Cls extends RepositoryBaseC3 {
|
|
221
345
|
constructor(impl) {
|
|
222
346
|
super(itemType, impl);
|
|
223
347
|
}
|
|
224
348
|
}
|
|
225
349
|
Cls.make = mkRepo.make;
|
|
226
|
-
Cls.makeWith = ((a, b) =>
|
|
350
|
+
Cls.makeWith = ((a, b) => tsplus_module_2.map(mkRepo.make(a), b));
|
|
227
351
|
Cls.where = makeWhere();
|
|
228
352
|
Cls.query = QueryBuilder.make();
|
|
229
353
|
Cls.type = undefined;
|
|
230
|
-
return
|
|
354
|
+
return tsplus_module_13.assignTag()(Cls); // impl is missing, but its marked protected
|
|
231
355
|
};
|
|
232
356
|
};
|
|
233
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVwb3NpdG9yeUJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9fc3JjL3NlcnZpY2VzL1JlcG9zaXRvcnlCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFJQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBS3ZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFFdkMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBRXpEOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixlQUFlO0NBd0JwQztBQUVELE1BQU0sT0FBZ0IsZ0JBS3BCLFNBQVEsZUFBcUM7SUFDN0MsWUFDa0IsUUFBa0I7UUFFbEMsS0FBSyxFQUFFLENBQUE7UUFGUyxhQUFRLEdBQVIsUUFBUSxDQUFVO0lBR3BDLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxnQkFLWCxTQUFRLGdCQUFzQztJQUM5QyxZQUNFLFFBQWtCLEVBQ0MsSUFBc0M7UUFFekQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBRkksU0FBSSxHQUFKLElBQUksQ0FBa0M7UUFJM0QsbURBQW1EO1FBQzFDLG1CQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUE7UUFDekMscUJBQWdCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQTtRQUM3QyxTQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUE7UUFDckIsUUFBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFBO1FBQ25CLFVBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUN2QixlQUFVLEdBQUcsSUFBSSxDQUFD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
|
|
357
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVwb3NpdG9yeUJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9fc3JjL3NlcnZpY2VzL1JlcG9zaXRvcnlCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQSx1REFBdUQ7QUFDdkQsaURBQWlEO0FBQ2pELG9FQUFvRTtBQUNwRSxPQUFPLEVBQ0wsVUFBVSxFQUNWLG1CQUFtQixFQUNuQixHQUFHLEVBQ0gseUJBQXlCLEVBQ3pCLFdBQVcsRUFDWCxjQUFjLEVBRWQsb0JBQW9CLEVBQ3BCLGlCQUFpQixFQUNqQix3QkFBd0IsRUFDeEIsYUFBYSxFQUNkLE1BQU0saUJBQWlCLENBQUE7QUFDeEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUt2QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDdEQsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBRXZDLE9BQU8sRUFBMEIsYUFBYSxFQUF1QyxNQUFNLGNBQWMsQ0FBQTtBQUN6RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFFekQ7O0dBRUc7QUFDSCxNQUFNLE9BQWdCLGVBQWU7Q0F3QnBDO0FBRUQsTUFBTSxPQUFnQixnQkFLcEIsU0FBUSxlQUFxQztJQUM3QyxZQUNrQixRQUFrQjtRQUVsQyxLQUFLLEVBQUUsQ0FBQTtRQUZTLGFBQVEsR0FBUixRQUFRLENBQVU7SUFHcEMsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLGdCQUtYLFNBQVEsZ0JBQXNDO0lBQzlDLFlBQ0UsUUFBa0IsRUFDQyxJQUFzQztRQUV6RCxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUE7UUFGSSxTQUFJLEdBQUosSUFBSSxDQUFrQztRQUkzRCxtREFBbUQ7UUFDMUMsbUJBQWMsR0FBRyxJQUFJLENBQUMs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
|
|
@@ -2,6 +2,8 @@ import { TagClass } from "@effect-app/prelude/service";
|
|
|
2
2
|
import { Effect } from "effect/Effect";
|
|
3
3
|
import { Context } from "effect/Context";
|
|
4
4
|
import { Option } from "@effect-app/core/Option";
|
|
5
|
+
import { NonEmptyString255 } from "@effect-app/prelude/schema";
|
|
6
|
+
import { FiberRef } from "effect/FiberRef";
|
|
5
7
|
import { RequestContext } from "../RequestContext.js";
|
|
6
8
|
declare const RequestContextContainer_base: (new (service: {
|
|
7
9
|
requestContext: Effect<RequestContext>;
|
|
@@ -19,12 +21,8 @@ declare const RequestContextContainer_base: (new (service: {
|
|
|
19
21
|
export declare class RequestContextContainer extends RequestContextContainer_base {
|
|
20
22
|
static get get(): Effect<RequestContext, never, RequestContextContainer>;
|
|
21
23
|
static get getOption(): import("effect/Effect").Effect<import("effect/Option").Option<RequestContext>, never, never>;
|
|
24
|
+
static readonly live: import("effect/Layer").Layer<RequestContextContainer, never, never>;
|
|
22
25
|
}
|
|
23
|
-
/**
|
|
24
|
-
* @tsplus static RequestContextContainer.Ops live
|
|
25
|
-
* @tsplus location "@effect-app/infra/services/RequestContextContainer"
|
|
26
|
-
*/
|
|
27
|
-
export declare const live: import("effect/Layer").Layer<RequestContextContainer, never, never>;
|
|
28
26
|
/**
|
|
29
27
|
* @tsplus static RequestContext.Ops Tag
|
|
30
28
|
* @tsplus location "@effect-app/infra/services/RequestContextContainer"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequestContextContainer.d.ts","sourceRoot":"","sources":["../../_src/services/RequestContextContainer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RequestContextContainer.d.ts","sourceRoot":"","sources":["../../_src/services/RequestContextContainer.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;;oBAOnC,OAAO,cAAc,CAAC;qBACrB,cAAc,KAAK,cAAc,KAAK,OAAO,cAAc,CAAC;eAClE,cAAc,KAAK,OAAO,IAAI,CAAC;;oBAF1B,OAAO,cAAc,CAAC;qBACrB,cAAc,KAAK,cAAc,KAAK,OAAO,cAAc,CAAC;eAClE,cAAc,KAAK,OAAO,IAAI,CAAC;;AAP5C;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,4BAIzC;IACF,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,cAAc,EAAE,KAAK,EAAE,uBAAuB,CAAC,CAEvE;IACD,MAAM,KAAK,SAAS,iGAQnB;IACD,MAAM,CAAC,QAAQ,CAAC,IAAI,sEASE;CACvB;;;;;AAGD,eAAO,MAAM,KAAK,8DAAgD,CAAA;;;;;AAKlE,eAAO,MAAM,cAAc,QAAS,cAAc;;;;;;;CAgBhD,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
var _a;
|
|
1
2
|
import * as tsplus_module_1 from "@effect-app/prelude/service";
|
|
2
3
|
import * as tsplus_module_2 from "effect/Effect";
|
|
3
4
|
import * as tsplus_module_3 from "effect/Option";
|
|
@@ -15,18 +16,16 @@ import { RequestContext } from "../RequestContext.js";
|
|
|
15
16
|
*/
|
|
16
17
|
export class RequestContextContainer extends tsplus_module_1.TagClass() {
|
|
17
18
|
static get get() {
|
|
18
|
-
return tsplus_module_2.flatMap(
|
|
19
|
+
return tsplus_module_2.flatMap(_a, (_) => _.requestContext);
|
|
19
20
|
}
|
|
20
21
|
static get getOption() {
|
|
21
|
-
return tsplus_module_2.flatMap(tsplus_module_2.contextWith((_) => tsplus_module_5.getOption(_,
|
|
22
|
+
return tsplus_module_2.flatMap(tsplus_module_2.contextWith((_) => tsplus_module_5.getOption(_, _a)), (requestContext) => tsplus_module_3.isSome(requestContext)
|
|
22
23
|
? tsplus_module_2.map(requestContext.value.requestContext, tsplus_module_3.some)
|
|
23
24
|
: tsplus_module_2.sync(() => tsplus_module_4.none));
|
|
24
25
|
}
|
|
25
26
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
*/
|
|
29
|
-
export const live = tsplus_module_9.scoped(RequestContextContainer)(tsplus_module_2.map(tsplus_module_2.sync(() => new RequestContext({ name: tsplus_module_8.NonEmptyString255("_root_"), rootId: RequestId("_root_"), locale: "en" }))
|
|
27
|
+
_a = RequestContextContainer;
|
|
28
|
+
RequestContextContainer.live = tsplus_module_9.scoped(_a)(tsplus_module_2.map(tsplus_module_2.sync(() => new RequestContext({ name: tsplus_module_8.NonEmptyString255("_root_"), rootId: RequestId("_root_"), locale: "en" }))
|
|
30
29
|
.andThen((tsplus_module_6.make)), (ref) => ({
|
|
31
30
|
requestContext: tsplus_module_6.get(ref),
|
|
32
31
|
update: (f) => tsplus_module_6.getAndUpdate(ref, f).tap((rc) => tsplus_module_2.annotateCurrentSpan(spanAttributes_1(rc))),
|
|
@@ -42,15 +41,17 @@ const spanAttributes_1 = (ctx) => ({
|
|
|
42
41
|
"request.name": ctx.name,
|
|
43
42
|
"request.locale": ctx.locale,
|
|
44
43
|
"request.namespace": ctx.namespace,
|
|
45
|
-
...(ctx.userProfile?.sub
|
|
46
|
-
|
|
47
|
-
.
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
.
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
44
|
+
...(ctx.userProfile?.sub
|
|
45
|
+
? {
|
|
46
|
+
"request.user.sub": ctx
|
|
47
|
+
.userProfile
|
|
48
|
+
.sub,
|
|
49
|
+
"request.user.roles": "roles" in ctx
|
|
50
|
+
.userProfile
|
|
51
|
+
? ctx.userProfile.roles
|
|
52
|
+
: undefined
|
|
53
|
+
}
|
|
54
|
+
: {})
|
|
54
55
|
});
|
|
55
56
|
export const spanAttributes = spanAttributes_1;
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdENvbnRleHRDb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9fc3JjL3NlcnZpY2VzL1JlcXVlc3RDb250ZXh0Q29udGFpbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBRXJEOzs7R0FHRztBQUNILE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxnQkFBQSxRQUFRLEVBSWpEO0lBQ0YsTUFBTSxLQUFLLEdBQUc7UUFDWixPQUFPLHdCQUFBLEVBQXVCLEVBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUNqRSxDQUFDO0lBQ0QsTUFBTSxLQUFLLFNBQVM7UUFDbEIsT0FBTyx3QkFBQSw0QkFDUSxDQUFDLENBQWlCLEVBQUUsRUFBRSxDQUFDLDBCQUFrQixDQUFDLEVBQUUsRUFBdUIsQ0FBQyxDQUFDLEVBQ3pFLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FDMUIsdUJBQUEsY0FBYyxDQUFTO1lBQ3JCLENBQUMsQ0FBQyxvQkFBQSxjQUFjLENBQUMsS0FBSyxDQUFDLGNBQWMsdUJBQWlCO1lBQ3RELENBQUMsQ0FBQyxxQkFBWSxHQUFHLEVBQUUscUJBQVksQ0FBQyxDQUNuQyxDQUFBO0lBQ0wsQ0FBQzs7O0FBQ2UsNEJBQUksR0FBRyx1QkFTTixFQUFJLEVBVEUsb0JBQUEscUJBQ2YsR0FBRyxFQUFFLENBQUMsSUFBSSxjQUFjLENBQUMsRUFBRSxJQUFJLEVBQUUsZ0JBQUEsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztLQUNoSCxPQUFPLENBQUMsQ0FBQSxvQkFBNkIsQ0FBQSxDQUFDLEVBQ2xDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2IsY0FBYyxzQkFBRSxHQUFHLENBQUk7SUFDdkIsTUFBTSxFQUFFLENBQUMsQ0FBd0MsRUFBRSxFQUFFLENBQ25ELDZCQUFBLEdBQUcsRUFBYyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLHFEQUEyQixFQUFFLEVBQWdCLENBQUM7SUFDaEYsS0FBSyxFQUFFLENBQUMsQ0FBaUIsRUFBRSxFQUFFLENBQUMsb0JBQUEsR0FBRyxFQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sMkNBQUMsQ0FBQyxFQUFnQjtDQUNuRSxDQUFDLENBQUMsQ0FDaUIsQUFURixDQVNFO0FBR3hCLDRDQUE0QztBQUM1QyxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsZ0JBQUEsVUFBVSxDQUFpQixpQkFBaUIsQ0FBQyxDQUFBO0FBRWxFOztHQUVHO0FBQ0ksTUFBTSxtQkFBaUIsQ0FBQyxHQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELFlBQVksRUFBRSxHQUFHLENBQUMsRUFBRTtJQUNwQixjQUFjLEVBQUUsR0FBRyxDQUFDLElBQUk7SUFDeEIsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLE1BQU07SUFDNUIsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLFNBQVM7SUFDbEMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsR0FBRztRQUN0QixDQUFDLENBQUM7WUFDQSxrQkFBa0IsRUFBRSxHQUFHO2lCQUNwQixXQUFXO2lCQUNYLEdBQUc7WUFDTixvQkFBb0IsRUFBRSxPQUFPLElBQUksR0FBRztpQkFDL0IsV0FBVztnQkFDZCxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxLQUFLO2dCQUN2QixDQUFDLENBQUMsU0FBUztTQUNkO1FBQ0QsQ0FBQyxDQUFDLEVBQUUsQ0FBQztDQUNSLENBQUMsQ0FBQTthQWhCVyxjQUFjIn0=
|
|
@@ -2,6 +2,7 @@ import { TagClass } from "@effect-app/prelude/service";
|
|
|
2
2
|
import { Effect } from "effect/Effect";
|
|
3
3
|
import { Context } from "effect/Context";
|
|
4
4
|
import { Option } from "@effect-app/core/Option";
|
|
5
|
+
import { FiberRef } from "effect/FiberRef";
|
|
5
6
|
import { ContextMap } from "./service.js";
|
|
6
7
|
declare const ContextMapContainer_base: (new (service: {
|
|
7
8
|
get: Effect<ContextMap>;
|
|
@@ -16,12 +17,8 @@ declare const ContextMapContainer_base: (new (service: {
|
|
|
16
17
|
export declare class ContextMapContainer extends ContextMapContainer_base {
|
|
17
18
|
static get get(): Effect<ContextMap, never, ContextMapContainer>;
|
|
18
19
|
static get getOption(): import("effect/Effect").Effect<import("effect/Option").Option<ContextMap>, never, never>;
|
|
20
|
+
static readonly live: import("effect/Layer").Layer<ContextMapContainer, never, never>;
|
|
19
21
|
}
|
|
20
|
-
/**
|
|
21
|
-
* @tsplus static ContextMapContainer.Ops live
|
|
22
|
-
* @tsplus location "@effect-app/infra/services/Store/ContextMapContainer"
|
|
23
|
-
*/
|
|
24
|
-
export declare const live: import("effect/Layer").Layer<ContextMapContainer, never, never>;
|
|
25
22
|
/**
|
|
26
23
|
* @tsplus static ContextMap.Ops Tag
|
|
27
24
|
* @tsplus location "@effect-app/infra/services/Store/ContextMapContainer"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMapContainer.d.ts","sourceRoot":"","sources":["../../../_src/services/Store/ContextMapContainer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ContextMapContainer.d.ts","sourceRoot":"","sources":["../../../_src/services/Store/ContextMapContainer.ts"],"names":[],"mappings":";;;;;AAAA,OAAO,EAAE,UAAU,EAAkB,MAAM,cAAc,CAAA;;SAYlD,OAAO,UAAU,CAAC;WAChB,OAAO,IAAI,CAAC;;SADd,OAAO,UAAU,CAAC;WAChB,OAAO,IAAI,CAAC;;AALrB;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,wBAGrC;IACF,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAE/D;IACD,MAAM,KAAK,SAAS,6FAQnB;IAED,MAAM,CAAC,QAAQ,CAAC,IAAI,kEAIE;CACvB;;;;;AAGD,eAAO,MAAM,KAAK,sDAA4C,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
var _a;
|
|
1
2
|
import * as tsplus_module_1 from "@effect-app/prelude/service";
|
|
2
3
|
import * as tsplus_module_2 from "effect/Effect";
|
|
3
4
|
import * as tsplus_module_3 from "effect/Option";
|
|
@@ -17,19 +18,17 @@ import { makeContextMap } from "./service.js";
|
|
|
17
18
|
*/
|
|
18
19
|
export class ContextMapContainer extends tsplus_module_1.TagClass() {
|
|
19
20
|
static get get() {
|
|
20
|
-
return tsplus_module_2.flatMap(
|
|
21
|
+
return tsplus_module_2.flatMap(_a, (_) => _.get);
|
|
21
22
|
}
|
|
22
23
|
static get getOption() {
|
|
23
|
-
return tsplus_module_2.flatMap(tsplus_module_2.contextWith((_) => tsplus_module_5.getOption(_,
|
|
24
|
+
return tsplus_module_2.flatMap(tsplus_module_2.contextWith((_) => tsplus_module_5.getOption(_, _a)), (ctx) => tsplus_module_3.isSome(ctx)
|
|
24
25
|
? tsplus_module_2.map(ctx.value.get, tsplus_module_3.some)
|
|
25
26
|
: tsplus_module_2.sync(() => tsplus_module_4.none));
|
|
26
27
|
}
|
|
27
28
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
export const live = tsplus_module_8.scoped(ContextMapContainer)(tsplus_module_2.map(tsplus_module_2.sync(() => makeContextMap())
|
|
32
|
-
.andThen((tsplus_module_6.make)), (ref) => new ContextMapContainer({ get: tsplus_module_6.get(ref), start: tsplus_module_2.flatMap(tsplus_module_7.makeMap, (_) => tsplus_module_6.set(ref, _)) })));
|
|
29
|
+
_a = ContextMapContainer;
|
|
30
|
+
ContextMapContainer.live = tsplus_module_8.scoped(_a)(tsplus_module_2.map(tsplus_module_2.sync(() => makeContextMap())
|
|
31
|
+
.andThen((tsplus_module_6.make)), (ref) => new _a({ get: tsplus_module_6.get(ref), start: tsplus_module_2.flatMap(tsplus_module_7.makeMap, (_) => tsplus_module_6.set(ref, _)) })));
|
|
33
32
|
/** @tsplus static ContextMap.Ops Tag */
|
|
34
33
|
export const RCTag = tsplus_module_5.GenericTag("@services/RCTag");
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dE1hcENvbnRhaW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvc2VydmljZXMvU3RvcmUvQ29udGV4dE1hcENvbnRhaW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQWMsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRXpELDZEQUE2RDtBQUM3RCwwQ0FBMEM7QUFDMUMseUVBQXlFO0FBQ3pFLDRHQUE0RztBQUM1Ryx5RkFBeUY7QUFFekY7O0dBRUc7QUFDSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsZ0JBQUEsUUFBUSxFQUc3QztJQUNGLE1BQU0sS0FBSyxHQUFHO1FBQ1osT0FBTyx3QkFBQSxFQUFtQixFQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDbEQsQ0FBQztJQUNELE1BQU0sS0FBSyxTQUFTO1FBQ2xCLE9BQU8sd0JBQUEsNEJBQ1EsQ0FBQyxDQUFpQixFQUFFLEVBQUUsQ0FBQywwQkFBa0IsQ0FBQyxFQUFFLEVBQW1CLENBQUMsQ0FBQyxFQUNyRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQ2YsdUJBQUEsR0FBRyxDQUFTO1lBQ1YsQ0FBQyxDQUFDLG9CQUFBLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyx1QkFBaUI7WUFDaEMsQ0FBQyxDQUFDLHFCQUFZLEdBQUcsRUFBRSxxQkFBWSxDQUFDLENBQ25DLENBQUE7SUFDTCxDQUFDOzs7QUFFZSx3QkFBSSxHQUFHLHVCQUlOLEVBQUksRUFKRSxvQkFBQSxxQkFDZixHQUFHLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztLQUM1QixPQUFPLENBQUMsQ0FBQSxvQkFBeUIsQ0FBQSxDQUFDLEVBQzlCLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQW1CLENBQUMsRUFBRSxHQUFHLHNCQUFFLEdBQUcsQ0FBSSxFQUFFLEtBQUssRUFBRSxpREFBd0IsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLG9CQUFBLEdBQUcsRUFBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUN2RixBQUpGLENBSUU7QUFHeEIsd0NBQXdDO0FBQ3hDLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxnQkFBQSxVQUFVLENBQWEsaUJBQWlCLENBQUMsQ0FBQSJ9
|