@effect-app/infra 0.193.6 → 0.194.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 +22 -0
- package/_cjs/api/express/schema/jwt.cjs +0 -4
- package/_cjs/api/express/schema/jwt.cjs.map +1 -1
- package/_cjs/services/QueueMaker/memQueue.cjs +1 -1
- package/_cjs/services/QueueMaker/memQueue.cjs.map +1 -1
- package/_cjs/services/QueueMaker/sbqueue.cjs +1 -1
- package/_cjs/services/QueueMaker/sbqueue.cjs.map +1 -1
- package/_cjs/services/RepositoryBase.cjs +59 -58
- package/_cjs/services/RepositoryBase.cjs.map +1 -1
- package/_cjs/test.arbs.cjs +3 -3
- package/_cjs/test.arbs.cjs.map +1 -1
- package/dist/api/express/schema/jwt.d.ts.map +1 -1
- package/dist/api/express/schema/jwt.js +1 -4
- package/dist/services/QueueMaker/memQueue.d.ts +1 -1
- package/dist/services/QueueMaker/memQueue.d.ts.map +1 -1
- package/dist/services/QueueMaker/memQueue.js +2 -2
- package/dist/services/QueueMaker/sbqueue.d.ts +1 -1
- package/dist/services/QueueMaker/sbqueue.d.ts.map +1 -1
- package/dist/services/QueueMaker/sbqueue.js +2 -2
- package/dist/services/QueueMaker/service.d.ts +2 -2
- package/dist/services/Repository/dsl.d.ts +2 -2
- package/dist/services/Repository/dsl.d.ts.map +1 -1
- package/dist/services/Repository/ext.d.ts +2 -2
- package/dist/services/Repository/ext.d.ts.map +1 -1
- package/dist/services/RepositoryBase.d.ts +35 -33
- package/dist/services/RepositoryBase.d.ts.map +1 -1
- package/dist/services/RepositoryBase.js +64 -59
- package/dist/services/simpledb/redisdb.d.ts +3 -3
- package/dist/services/simpledb/shared.d.ts +5 -5
- package/dist/test.arbs.d.ts.map +1 -1
- package/dist/test.arbs.js +2 -2
- package/package.json +12 -12
- package/src/api/express/schema/jwt.ts +1 -1
- package/src/services/QueueMaker/memQueue.ts +1 -1
- package/src/services/QueueMaker/sbqueue.ts +1 -1
- package/src/services/RepositoryBase.ts +29 -8
- package/src/test.arbs.ts +1 -1
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import * as tsplus_module_1 from "effect-app/_ext/misc";
|
|
2
|
-
import * as tsplus_module_2 from "effect/
|
|
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/core/
|
|
6
|
-
import * as tsplus_module_6 from "@effect-app/core/
|
|
7
|
-
import * as tsplus_module_7 from "
|
|
8
|
-
import * as tsplus_module_8 from "@effect
|
|
9
|
-
import * as tsplus_module_9 from "@effect/
|
|
10
|
-
import * as tsplus_module_10 from "
|
|
11
|
-
import * as tsplus_module_11 from "effect/
|
|
12
|
-
import * as tsplus_module_12 from "
|
|
13
|
-
import * as tsplus_module_13 from "effect-app/service";
|
|
2
|
+
import * as tsplus_module_2 from "effect-app/schema";
|
|
3
|
+
import * as tsplus_module_3 from "@effect-app/core/Array";
|
|
4
|
+
import * as tsplus_module_4 from "@effect-app/core/_ext/Iterable";
|
|
5
|
+
import * as tsplus_module_5 from "@effect-app/core/Chunk";
|
|
6
|
+
import * as tsplus_module_6 from "@effect-app/core/Effect";
|
|
7
|
+
import * as tsplus_module_7 from "effect/Effect";
|
|
8
|
+
import * as tsplus_module_8 from "@effect/schema/Schema";
|
|
9
|
+
import * as tsplus_module_9 from "@effect-app/core/Function";
|
|
10
|
+
import * as tsplus_module_10 from "effect/PubSub";
|
|
11
|
+
import * as tsplus_module_11 from "@effect-app/infra/services/Repository/ext";
|
|
12
|
+
import * as tsplus_module_12 from "effect-app/service";
|
|
14
13
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
15
14
|
/* eslint-disable @typescript-eslint/ban-types */
|
|
16
15
|
// import type { ParserEnv } from "@effect-app/schema/custom/Parser"
|
|
@@ -18,7 +17,8 @@ import { AnyPureDSL, byIdAndSaveWithPure, get, queryEffect, queryOneEffect, save
|
|
|
18
17
|
import { StoreMaker } from "./Store.js";
|
|
19
18
|
import { flatMapOption } from "@effect-app/core/Effect";
|
|
20
19
|
import { makeFilters } from "@effect-app/infra/filter";
|
|
21
|
-
import { S } from "effect-app";
|
|
20
|
+
import { Effect, S } from "effect-app";
|
|
21
|
+
import { runTerm } from "effect-app/Pure";
|
|
22
22
|
import { NotFoundError } from "../errors.js";
|
|
23
23
|
import { ContextMapContainer } from "./Store/ContextMapContainer.js";
|
|
24
24
|
import * as Q from "./Store/filterApi/query.js";
|
|
@@ -75,12 +75,12 @@ export class RepositoryBaseC3 extends RepositoryBaseC2 {
|
|
|
75
75
|
.map((_) => f.collect ? _.filterMap(f.collect) : _));
|
|
76
76
|
}
|
|
77
77
|
project(map) {
|
|
78
|
-
return this.projectEffect(
|
|
78
|
+
return this.projectEffect(Effect.sync(() => map));
|
|
79
79
|
}
|
|
80
80
|
count(filter) {
|
|
81
81
|
return this
|
|
82
|
-
.projectEffect(
|
|
83
|
-
.map((_) =>
|
|
82
|
+
.projectEffect(Effect.sync(() => ({ filter })))
|
|
83
|
+
.map((_) => tsplus_module_2.NonNegativeInt(_.length));
|
|
84
84
|
}
|
|
85
85
|
queryEffect(
|
|
86
86
|
// TODO: think about collectPM, collectE, and collect(Parsed)
|
|
@@ -101,32 +101,34 @@ export class RepositoryBaseC3 extends RepositoryBaseC2 {
|
|
|
101
101
|
queryLegacy(
|
|
102
102
|
// TODO: think about collectPM, collectE, and collect(Parsed)
|
|
103
103
|
map) {
|
|
104
|
-
return this.queryEffect(
|
|
104
|
+
return this.queryEffect(Effect.sync(() => map));
|
|
105
105
|
}
|
|
106
106
|
query(b) {
|
|
107
|
-
return this.queryEffect(
|
|
107
|
+
return this.queryEffect(Effect.sync(() => ({ filter: anyQb((_, fields) => b(_, fields)) })));
|
|
108
108
|
}
|
|
109
109
|
queryOne(map) {
|
|
110
|
-
return this.queryOneEffect(
|
|
110
|
+
return this.queryOneEffect(Effect.sync(() => map));
|
|
111
111
|
}
|
|
112
112
|
queryAndSaveOnePureEffect(map) {
|
|
113
113
|
return (pure) => queryOneEffect(this, map)
|
|
114
114
|
.flatMap((_) => saveWithPure_(this, _, pure));
|
|
115
115
|
}
|
|
116
116
|
queryAndSaveOnePure(map) {
|
|
117
|
-
return this.queryAndSaveOnePureEffect(
|
|
117
|
+
return this.queryAndSaveOnePureEffect(Effect.sync(() => map));
|
|
118
118
|
}
|
|
119
119
|
queryAndSavePureEffect(map) {
|
|
120
120
|
return (pure) => queryEffect(this, map)
|
|
121
121
|
.flatMap((_) => this.saveManyWithPure_(_, pure));
|
|
122
122
|
}
|
|
123
123
|
queryAndSavePure(map) {
|
|
124
|
-
return this.queryAndSavePureEffect(
|
|
124
|
+
return this.queryAndSavePureEffect(Effect.sync(() => map));
|
|
125
125
|
}
|
|
126
126
|
get saveManyWithPure() {
|
|
127
127
|
return (pure) => (items) => saveManyWithPure_(this, items, pure);
|
|
128
128
|
}
|
|
129
|
-
byIdAndSaveWithPure(id) {
|
|
129
|
+
byIdAndSaveWithPure(id, pure) {
|
|
130
|
+
if (pure)
|
|
131
|
+
return get(this, id).flatMap((item) => saveWithPure_(this, item, pure));
|
|
130
132
|
return (pure) => get(this, id).flatMap((item) => saveWithPure_(this, item, pure));
|
|
131
133
|
}
|
|
132
134
|
/**
|
|
@@ -136,10 +138,10 @@ export class RepositoryBaseC3 extends RepositoryBaseC2 {
|
|
|
136
138
|
return (pure) => (req, ctx) => byIdAndSaveWithPure(this, req.id)(pure(req, ctx));
|
|
137
139
|
}
|
|
138
140
|
saveManyWithPure_(items, pure) {
|
|
139
|
-
return saveAllWithEffectInt(this,
|
|
141
|
+
return saveAllWithEffectInt(this, runTerm(pure, [...items]));
|
|
140
142
|
}
|
|
141
143
|
saveWithPure_(item, pure) {
|
|
142
|
-
return saveAllWithEffectInt(this,
|
|
144
|
+
return saveAllWithEffectInt(this, runTerm(pure, item)
|
|
143
145
|
.map(([item, events, a]) => [[item], events, a]));
|
|
144
146
|
}
|
|
145
147
|
saveAllWithEffectInt(gen) {
|
|
@@ -155,13 +157,13 @@ export class RepositoryBaseC3 extends RepositoryBaseC2 {
|
|
|
155
157
|
queryAndSavePureBatched(
|
|
156
158
|
// TODO: think about collectPM, collectE, and collect(Parsed)
|
|
157
159
|
map, batchSize = 100) {
|
|
158
|
-
return this.queryAndSavePureEffectBatched(
|
|
160
|
+
return this.queryAndSavePureEffectBatched(Effect.sync(() => map), batchSize);
|
|
159
161
|
}
|
|
160
162
|
saveManyWithPureBatched(batchSize = 100) {
|
|
161
163
|
return (pure) => (items) => saveManyWithPureBatched_(this, items, pure, batchSize);
|
|
162
164
|
}
|
|
163
165
|
saveManyWithPureBatched_(items, pure, batchSize = 100) {
|
|
164
|
-
return
|
|
166
|
+
return tsplus_module_4.ext_forEach(tsplus_module_3.chunk_(items, batchSize), (batch) => saveAllWithEffectInt(this, runTerm(pure, batch)));
|
|
165
167
|
}
|
|
166
168
|
save = (...items) => this.saveAndPublish(items);
|
|
167
169
|
saveWithEvents = (events) => (...items) => this.saveAndPublish(items, events);
|
|
@@ -181,18 +183,18 @@ export function makeRepo() {
|
|
|
181
183
|
}
|
|
182
184
|
const mkStore = makeStore()(name, schema, mapTo);
|
|
183
185
|
function make(args) {
|
|
184
|
-
return
|
|
185
|
-
const encode =
|
|
186
|
-
const decode =
|
|
187
|
-
return
|
|
186
|
+
return tsplus_module_7.withLogSpan(tsplus_module_7.flatMap(Effect.context(), rctx => {
|
|
187
|
+
const encode = tsplus_module_9.flow(tsplus_module_8.encode(schema), Effect.provide(rctx));
|
|
188
|
+
const decode = tsplus_module_9.flow(tsplus_module_8.decode(schema), Effect.provide(rctx));
|
|
189
|
+
return tsplus_module_7.flatMap(mkStore(args.makeInitial, args.config), store => tsplus_module_7.flatMap(ContextMapContainer, ({ get }) => {
|
|
188
190
|
const cms = get.andThen((_) => ({
|
|
189
191
|
get: (id) => _.get(`${name}.${id}`),
|
|
190
192
|
set: (id, etag) => _.set(`${name}.${id}`, etag)
|
|
191
193
|
}));
|
|
192
|
-
return
|
|
193
|
-
const pub = "publishEvents" in args ?
|
|
194
|
-
return
|
|
195
|
-
const allE = store.all.flatMap((items) =>
|
|
194
|
+
return tsplus_module_7.flatMap(Effect.context(), pubCfg => {
|
|
195
|
+
const pub = "publishEvents" in args ? tsplus_module_9.flow(args.publishEvents, (_) => tsplus_module_7.provide(_, pubCfg)) : () => Effect.unit;
|
|
196
|
+
return tsplus_module_7.map(tsplus_module_10.unbounded(), changeFeed => {
|
|
197
|
+
const allE = store.all.flatMap((items) => tsplus_module_7.map(cms, ({ set }) => items.map((_) => mapReverse(_, set))));
|
|
196
198
|
const all = allE.flatMap((_) => _.forEachEffect((_) => decode(_), { concurrency: "inherit", batching: true }).orDie);
|
|
197
199
|
const structSchema = schema;
|
|
198
200
|
const i = ("struct" in structSchema ? structSchema["struct"] : schema).pipe((_) => _.ast._tag === "Union"
|
|
@@ -211,11 +213,11 @@ export function makeRepo() {
|
|
|
211
213
|
: _
|
|
212
214
|
.pipe(S
|
|
213
215
|
.pick("id")));
|
|
214
|
-
const encodeId =
|
|
216
|
+
const encodeId = tsplus_module_9.flow(tsplus_module_8.encode(i), Effect.provide(rctx));
|
|
215
217
|
function findEId(id) {
|
|
216
218
|
return store
|
|
217
219
|
.find(id)
|
|
218
|
-
.flatMap((item) =>
|
|
220
|
+
.flatMap((item) => tsplus_module_7.map(cms, ({ set }) => item.map((_) => mapReverse(_, set))));
|
|
219
221
|
}
|
|
220
222
|
function findE(id) {
|
|
221
223
|
return encodeId({ id })
|
|
@@ -224,40 +226,42 @@ export function makeRepo() {
|
|
|
224
226
|
.flatMap(findEId);
|
|
225
227
|
}
|
|
226
228
|
function find(id) {
|
|
227
|
-
return
|
|
229
|
+
return tsplus_module_6.flatMapOption(findE(id), (_) => decode(_).orDie);
|
|
228
230
|
}
|
|
229
|
-
const saveAllE = (a) =>
|
|
231
|
+
const saveAllE = (a) => tsplus_module_6.flatMapOption(Effect
|
|
232
|
+
.sync(() => tsplus_module_4.CollectionToNonEmptyReadonlyArray(a)), (a) => tsplus_module_7.flatMap(cms, ({ get, set }) => {
|
|
230
233
|
const items = a.map((_) => mapToPersistenceModel(_, get));
|
|
231
|
-
return
|
|
234
|
+
return tsplus_module_7.map(store.batchSet(items), ret => {
|
|
232
235
|
ret.forEach((_) => set(_.id, _._etag));
|
|
233
236
|
});
|
|
234
237
|
}))
|
|
235
238
|
.asUnit;
|
|
236
|
-
const saveAll = (a) =>
|
|
239
|
+
const saveAll = (a) => tsplus_module_4.ext_forEach(tsplus_module_5.fromIterable(a), (_) => encode(_), { concurrency: "inherit", batching: true }).orDie.andThen(saveAllE);
|
|
237
240
|
const saveAndPublish = (items, events = []) => {
|
|
238
|
-
const it =
|
|
239
|
-
return
|
|
240
|
-
.andThen(
|
|
241
|
+
const it = tsplus_module_5.fromIterable(items);
|
|
242
|
+
return tsplus_module_6.flatMapOption(saveAll(it)
|
|
243
|
+
.andThen(Effect.sync(() => tsplus_module_4.CollectionToNonEmptyReadonlyArray(events)))
|
|
241
244
|
// TODO: for full consistency the events should be stored within the same database transaction, and then picked up.
|
|
242
245
|
, pub)
|
|
243
246
|
.andThen(changeFeed
|
|
244
|
-
.publish([
|
|
247
|
+
.publish([tsplus_module_5.toArray(it), "save"]))
|
|
245
248
|
.asUnit;
|
|
246
249
|
};
|
|
247
250
|
function removeAndPublish(a, events = []) {
|
|
248
|
-
return
|
|
251
|
+
return Effect.gen(function* ($) {
|
|
249
252
|
const { get, set } = yield* $(cms);
|
|
250
|
-
const it =
|
|
251
|
-
const items = yield* $(
|
|
253
|
+
const it = tsplus_module_5.fromIterable(a);
|
|
254
|
+
const items = yield* $(tsplus_module_4.ext_forEach(it, (_) => encode(_), { concurrency: "inherit", batching: true }).orDie);
|
|
252
255
|
// TODO: we should have a batchRemove on store so the adapter can actually batch...
|
|
253
256
|
for (const e of items) {
|
|
254
257
|
yield* $(store.remove(mapToPersistenceModel(e, get)));
|
|
255
258
|
set(e.id, undefined);
|
|
256
259
|
}
|
|
257
|
-
yield* $(
|
|
260
|
+
yield* $(tsplus_module_6.flatMapOption(Effect
|
|
261
|
+
.sync(() => tsplus_module_4.CollectionToNonEmptyReadonlyArray(events))
|
|
258
262
|
// TODO: for full consistency the events should be stored within the same database transaction, and then picked up.
|
|
259
263
|
, pub));
|
|
260
|
-
yield* $(changeFeed.publish([
|
|
264
|
+
yield* $(changeFeed.publish([tsplus_module_5.toArray(it), "remove"]));
|
|
261
265
|
});
|
|
262
266
|
}
|
|
263
267
|
const r = {
|
|
@@ -271,7 +275,8 @@ export function makeRepo() {
|
|
|
271
275
|
filter: (args) => store
|
|
272
276
|
.filter(args)
|
|
273
277
|
.tap((items) => args.select
|
|
274
|
-
?
|
|
278
|
+
? Effect.unit
|
|
279
|
+
: cms.map(({ set }) => items.forEach((_) => set(_.id, _._etag)))),
|
|
275
280
|
all: store.all.tap((items) => cms.map(({ set }) => items.forEach((_) => set(_.id, _._etag))))
|
|
276
281
|
},
|
|
277
282
|
mapped: (schema) => {
|
|
@@ -318,7 +323,7 @@ export function makeRepo() {
|
|
|
318
323
|
* @tsplus fluent Repository removeById
|
|
319
324
|
*/
|
|
320
325
|
export function removeById(self, id) {
|
|
321
|
-
return
|
|
326
|
+
return tsplus_module_11.get(self, id).flatMap((_) => self.removeAndPublish([_]));
|
|
322
327
|
}
|
|
323
328
|
export function makeWhere() {
|
|
324
329
|
const f_ = makeFilters();
|
|
@@ -345,7 +350,7 @@ export function makeStore() {
|
|
|
345
350
|
return (name, schema, mapTo) => {
|
|
346
351
|
function encodeToPM() {
|
|
347
352
|
const getEtag = () => undefined;
|
|
348
|
-
return (t) =>
|
|
353
|
+
return (t) => tsplus_module_8.encode(schema)(t)
|
|
349
354
|
.orDie
|
|
350
355
|
.map((_) => mapToPersistenceModel(_, getEtag));
|
|
351
356
|
}
|
|
@@ -353,8 +358,8 @@ export function makeStore() {
|
|
|
353
358
|
return mapTo(e, getEtag(e.id));
|
|
354
359
|
}
|
|
355
360
|
function makeStore(makeInitial, config) {
|
|
356
|
-
return
|
|
357
|
-
?
|
|
361
|
+
return tsplus_module_7.flatMap(StoreMaker, ({ make }) => tsplus_module_7.map(make(pluralize(name), makeInitial
|
|
362
|
+
? tsplus_module_7.withSpan((makeInitial
|
|
358
363
|
.flatMap((_) => _.forEachEffect(encodeToPM()))), "Repository.makeInitial [effect-app/infra]", {
|
|
359
364
|
attributes: { "repository.model_name": name }
|
|
360
365
|
})
|
|
@@ -368,8 +373,8 @@ export function makeStore() {
|
|
|
368
373
|
};
|
|
369
374
|
}
|
|
370
375
|
const makeRepoFunctions = (tag) => {
|
|
371
|
-
const { all } =
|
|
372
|
-
const { find, get, query, queryLegacy, removeAndPublish, removeById, save, saveAndPublish } =
|
|
376
|
+
const { all } = Effect.serviceConstants(tag);
|
|
377
|
+
const { find, get, query, queryLegacy, removeAndPublish, removeById, save, saveAndPublish } = Effect.serviceFunctions(tag);
|
|
373
378
|
const mapped = (s) => tag.map((_) => _.mapped(s));
|
|
374
379
|
return { all, find, removeById, saveAndPublish, removeAndPublish, save, get, query, queryLegacy, mapped };
|
|
375
380
|
};
|
|
@@ -386,7 +391,7 @@ export const RepositoryBaseImpl = () => {
|
|
|
386
391
|
static Query = Q.QueryBuilder.make();
|
|
387
392
|
static type = undefined;
|
|
388
393
|
}
|
|
389
|
-
return
|
|
394
|
+
return tsplus_module_12.assignTag()(Object.assign(Cls, makeRepoFunctions(Cls)));
|
|
390
395
|
};
|
|
391
396
|
};
|
|
392
397
|
export const RepositoryDefaultImpl = () => {
|
|
@@ -402,7 +407,7 @@ export const RepositoryDefaultImpl = () => {
|
|
|
402
407
|
static Query = Q.QueryBuilder.make();
|
|
403
408
|
static type = undefined;
|
|
404
409
|
}
|
|
405
|
-
return
|
|
410
|
+
return tsplus_module_12.assignTag()(Object.assign(Cls, makeRepoFunctions(Cls))); // impl is missing, but its marked protected
|
|
406
411
|
};
|
|
407
412
|
};
|
|
408
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVwb3NpdG9yeUJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvUmVwb3NpdG9yeUJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLHVEQUF1RDtBQUN2RCxpREFBaUQ7QUFDakQsb0VBQW9FO0FBQ3BFLE9BQU8sRUFDTCxVQUFVLEVBQ1YsbUJBQW1CLEVBQ25CLEdBQUcsRUFDSCxXQUFXLEVBQ1gsY0FBYyxFQUVkLG9CQUFvQixFQUNwQixpQkFBaUIsRUFDakIsd0JBQXdCLEVBQ3hCLGFBQWEsRUFDZCxNQUFNLGlCQUFpQixDQUFBO0FBQ3hCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFJdkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBRXZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRTlCLE9BQU8sRUFBMEIsYUFBYSxFQUF1QyxNQUFNLGNBQWMsQ0FBQTtBQUN6RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUNwRSxPQUFPLEtBQUssQ0FBQyxNQUFNLDRCQUE0QixDQUFBO0FBK0IvQzs7R0FFRztBQUNILE1BQU0sT0FBZ0IsZUFBZTtDQTBCcEM7QUFFRCxNQUFNLE9BQWdCLGdCQUtwQixTQUFRLGVBQXFDO0lBRTNCO0lBRGxCLFlBQ2tCLFFBQWtCO1FBRWxDLEtBQUssRUFBRSxDQUFBO1FBRlMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUdwQyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sZ0JBS1gsU0FBUSxnQkFBc0M7SUFHekI7SUFGckIsWUFDRSxRQUFrQixFQUNDLElBQXNDO1FBRXpELEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUZJLFNBQUksR0FBSixJQUFJLENBQWtDO1FBR3pE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
|
|
413
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVwb3NpdG9yeUJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvUmVwb3NpdG9yeUJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsdURBQXVEO0FBQ3ZELGlEQUFpRDtBQUNqRCxvRUFBb0U7QUFDcEUsT0FBTyxFQUNMLFVBQVUsRUFDVixtQkFBbUIsRUFDbkIsR0FBRyxFQUNILFdBQVcsRUFDWCxjQUFjLEVBRWQsb0JBQW9CLEVBQ3BCLGlCQUFpQixFQUNqQix3QkFBd0IsRUFDeEIsYUFBYSxFQUNkLE1BQU0saUJBQWlCLENBQUE7QUFDeEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUl2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFFdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3RDLE9BQU8sRUFBZSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUN0RCxPQUFPLEVBQTBCLGFBQWEsRUFBdUMsTUFBTSxjQUFjLENBQUE7QUFDekcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFDcEUsT0FBTyxLQUFLLENBQUMsTUFBTSw0QkFBNEIsQ0FBQTtBQStCL0M7O0dBRUc7QUFDSCxNQUFNLE9BQWdCLGVBQWU7Q0EwQnBDO0FBRUQsTUFBTSxPQUFnQixnQkFLcEIsU0FBUSxlQUFxQztJQUUzQjtJQURsQixZQUNrQixRQUFrQjtRQUVsQyxLQUFLLEVBQUUsQ0FBQTtRQUZTLGFBQVEsR0FBUixRQUFRLENBQVU7SUFHcEMsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLGdCQUtYLFNBQVEsZ0JBQXNDO0lBR3pCO0lBRnJCLFlBQ0UsUUFBa0IsRUFDQyxJQUFzQztRQUV6RCxLQUFL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
|
|
@@ -12,16 +12,16 @@ export declare function createContext<TKey extends string, EA, A extends DBRecor
|
|
|
12
12
|
};
|
|
13
13
|
declare const RedisSerializedDBRecord_base: S.EnhancedClass<{
|
|
14
14
|
readonly data: string;
|
|
15
|
-
readonly timestamp: Date;
|
|
16
15
|
readonly version: string;
|
|
16
|
+
readonly timestamp: Date;
|
|
17
17
|
}, {
|
|
18
18
|
readonly data: string;
|
|
19
|
-
readonly timestamp: string;
|
|
20
19
|
readonly version: string;
|
|
20
|
+
readonly timestamp: string;
|
|
21
21
|
}, never, {
|
|
22
22
|
readonly data: string;
|
|
23
|
-
readonly timestamp: Date;
|
|
24
23
|
readonly version: string;
|
|
24
|
+
readonly timestamp: Date;
|
|
25
25
|
}, RedisSerializedDBRecord, {
|
|
26
26
|
version: S.Schema<string, string, never>;
|
|
27
27
|
timestamp: S.Schema<Date, string, never> & {
|
|
@@ -39,16 +39,16 @@ export interface DBRecord<TKey extends string> {
|
|
|
39
39
|
}
|
|
40
40
|
declare const SerializedDBRecord_base: S.EnhancedClass<{
|
|
41
41
|
readonly data: string;
|
|
42
|
-
readonly timestamp: Date;
|
|
43
42
|
readonly version: string;
|
|
43
|
+
readonly timestamp: Date;
|
|
44
44
|
}, {
|
|
45
45
|
readonly data: string;
|
|
46
|
-
readonly timestamp: string;
|
|
47
46
|
readonly version: string;
|
|
47
|
+
readonly timestamp: string;
|
|
48
48
|
}, never, {
|
|
49
49
|
readonly data: string;
|
|
50
|
-
readonly timestamp: Date;
|
|
51
50
|
readonly version: string;
|
|
51
|
+
readonly timestamp: Date;
|
|
52
52
|
}, SerializedDBRecord, {
|
|
53
53
|
version: S.Schema<string, string, never>;
|
|
54
54
|
timestamp: S.Schema<Date, string, never> & {
|
|
@@ -60,12 +60,12 @@ export declare class SerializedDBRecord extends SerializedDBRecord_base {
|
|
|
60
60
|
}
|
|
61
61
|
export declare function makeSerialisedDBRecord(s: Schema<any>): S.Schema<{
|
|
62
62
|
readonly data: any;
|
|
63
|
-
readonly timestamp: Date;
|
|
64
63
|
readonly version: number;
|
|
64
|
+
readonly timestamp: Date;
|
|
65
65
|
}, {
|
|
66
66
|
readonly data: any;
|
|
67
|
-
readonly timestamp: string;
|
|
68
67
|
readonly version: number;
|
|
68
|
+
readonly timestamp: string;
|
|
69
69
|
}, never>;
|
|
70
70
|
export interface CachedRecord<T> {
|
|
71
71
|
version: string;
|
package/dist/test.arbs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.arbs.d.ts","sourceRoot":"","sources":["../src/test.arbs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"test.arbs.d.ts","sourceRoot":"","sources":["../src/test.arbs.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAA;AAE1C,OAAO,KAAK,EAAE,MAAM,YAAY,CAAA;;;;;AAUhC,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,eAE/C;;;;;AAKD,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAE3D"}
|
package/dist/test.arbs.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export const generate = generate_1;
|
|
2
2
|
// Do not import to frontend
|
|
3
|
-
import { setFaker } from "effect-app/faker";
|
|
4
3
|
import { faker } from "@faker-js/faker";
|
|
4
|
+
import { setFaker } from "effect-app/faker";
|
|
5
5
|
import { Random } from "fast-check";
|
|
6
6
|
import * as fc from "fast-check";
|
|
7
7
|
import * as rand from "pure-rand";
|
|
@@ -19,4 +19,4 @@ function generate_1(arb) {
|
|
|
19
19
|
export function generateFromArbitrary(arb) {
|
|
20
20
|
return generate_1(arb(fc));
|
|
21
21
|
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5hcmJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Rlc3QuYXJicy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiYUFnQmdCLFFBQVE7QUFoQnhCLDRCQUE0QjtBQUU1QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDdkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRTNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDbkMsT0FBTyxLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDaEMsT0FBTyxLQUFLLElBQUksTUFBTSxXQUFXLENBQUE7QUFFakMsTUFBTSxHQUFHLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBRTlDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUVmOztHQUVHO0FBQ0gsb0JBQTRCLEdBQW9CO0lBQzlDLE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUE7QUFDckMsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUFJLEdBQW1CO0lBQzFELE9BQU8sV0FBUyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUMxQixDQUFDIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect-app/infra",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.194.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
@@ -18,15 +18,15 @@
|
|
|
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.
|
|
22
|
-
"
|
|
23
|
-
"@effect-app/
|
|
24
|
-
"effect-app": "0.
|
|
25
|
-
"@effect-app/
|
|
21
|
+
"@effect-app/core": "0.145.0",
|
|
22
|
+
"effect-app": "0.172.0",
|
|
23
|
+
"@effect-app/schema": "0.196.0",
|
|
24
|
+
"@effect-app/fluent-extensions": "0.138.0",
|
|
25
|
+
"@effect-app/infra-adapters": "0.132.0"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@babel/cli": "^7.23.9",
|
|
29
|
-
"@sentry/node": "^7.
|
|
29
|
+
"@sentry/node": "^7.102.0",
|
|
30
30
|
"@types/express": "^4.17.21",
|
|
31
31
|
"@types/node": "~20.11.19",
|
|
32
32
|
"@types/proper-lockfile": "^4.1.4",
|
|
@@ -39,14 +39,14 @@
|
|
|
39
39
|
"redis": "^3.1.2",
|
|
40
40
|
"ts-node": "^10.9.2",
|
|
41
41
|
"typescript": "npm:@effect-app/typescript@5.4.0-tsplus.20240124",
|
|
42
|
-
"vitest": "^1.3.
|
|
43
|
-
"@effect-app/compiler": "0.
|
|
42
|
+
"vitest": "^1.3.1",
|
|
43
|
+
"@effect-app/compiler": "0.66.0"
|
|
44
44
|
},
|
|
45
45
|
"peerDependencies": {
|
|
46
46
|
"express": "^4.18.2",
|
|
47
|
-
"@effect/platform": "^0.45.
|
|
48
|
-
"@effect/schema": "^0.62.
|
|
49
|
-
"effect": "^2.3.
|
|
47
|
+
"@effect/platform": "^0.45.6",
|
|
48
|
+
"@effect/schema": "^0.62.9",
|
|
49
|
+
"effect": "^2.3.8"
|
|
50
50
|
},
|
|
51
51
|
"typesVersions": {
|
|
52
52
|
"*": {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
3
|
/* eslint-disable @typescript-eslint/ban-types */
|
|
4
|
-
import * as S from "effect-app/schema"
|
|
5
4
|
import type { ParseIssue } from "@effect/schema/ParseResult"
|
|
5
|
+
import * as S from "effect-app/schema"
|
|
6
6
|
import { jwtDecode, type JwtDecodeOptions } from "jwt-decode"
|
|
7
7
|
|
|
8
8
|
export const parseJwt = <R, I, A>(
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { MemQueue } from "@effect-app/infra-adapters/memQueue"
|
|
2
2
|
import { RequestContext } from "@effect-app/infra/RequestContext"
|
|
3
|
+
import { Tracer } from "effect"
|
|
3
4
|
import type { S } from "effect-app"
|
|
4
5
|
import { RequestId } from "effect-app/ids"
|
|
5
|
-
import { Tracer } from "effect"
|
|
6
6
|
import { RequestContextContainer } from "../RequestContextContainer.js"
|
|
7
7
|
import { reportNonInterruptedFailure } from "./errors.js"
|
|
8
8
|
import { type QueueBase, QueueMeta } from "./service.js"
|
|
@@ -9,10 +9,10 @@ import {
|
|
|
9
9
|
import type {} from "@azure/service-bus"
|
|
10
10
|
import { captureException } from "@effect-app/infra/errorReporter"
|
|
11
11
|
import { RequestContext } from "@effect-app/infra/RequestContext"
|
|
12
|
+
import { Tracer } from "effect"
|
|
12
13
|
import type { S } from "effect-app"
|
|
13
14
|
import { RequestId } from "effect-app/ids"
|
|
14
15
|
import { struct } from "effect-app/schema"
|
|
15
|
-
import { Tracer } from "effect"
|
|
16
16
|
import { RequestContextContainer } from "../RequestContextContainer.js"
|
|
17
17
|
import { reportNonInterruptedFailure, reportNonInterruptedFailureCause } from "./errors.js"
|
|
18
18
|
import { type QueueBase, QueueMeta } from "./service.js"
|