@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.
Files changed (37) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/_cjs/api/express/schema/jwt.cjs +0 -4
  3. package/_cjs/api/express/schema/jwt.cjs.map +1 -1
  4. package/_cjs/services/QueueMaker/memQueue.cjs +1 -1
  5. package/_cjs/services/QueueMaker/memQueue.cjs.map +1 -1
  6. package/_cjs/services/QueueMaker/sbqueue.cjs +1 -1
  7. package/_cjs/services/QueueMaker/sbqueue.cjs.map +1 -1
  8. package/_cjs/services/RepositoryBase.cjs +59 -58
  9. package/_cjs/services/RepositoryBase.cjs.map +1 -1
  10. package/_cjs/test.arbs.cjs +3 -3
  11. package/_cjs/test.arbs.cjs.map +1 -1
  12. package/dist/api/express/schema/jwt.d.ts.map +1 -1
  13. package/dist/api/express/schema/jwt.js +1 -4
  14. package/dist/services/QueueMaker/memQueue.d.ts +1 -1
  15. package/dist/services/QueueMaker/memQueue.d.ts.map +1 -1
  16. package/dist/services/QueueMaker/memQueue.js +2 -2
  17. package/dist/services/QueueMaker/sbqueue.d.ts +1 -1
  18. package/dist/services/QueueMaker/sbqueue.d.ts.map +1 -1
  19. package/dist/services/QueueMaker/sbqueue.js +2 -2
  20. package/dist/services/QueueMaker/service.d.ts +2 -2
  21. package/dist/services/Repository/dsl.d.ts +2 -2
  22. package/dist/services/Repository/dsl.d.ts.map +1 -1
  23. package/dist/services/Repository/ext.d.ts +2 -2
  24. package/dist/services/Repository/ext.d.ts.map +1 -1
  25. package/dist/services/RepositoryBase.d.ts +35 -33
  26. package/dist/services/RepositoryBase.d.ts.map +1 -1
  27. package/dist/services/RepositoryBase.js +64 -59
  28. package/dist/services/simpledb/redisdb.d.ts +3 -3
  29. package/dist/services/simpledb/shared.d.ts +5 -5
  30. package/dist/test.arbs.d.ts.map +1 -1
  31. package/dist/test.arbs.js +2 -2
  32. package/package.json +12 -12
  33. package/src/api/express/schema/jwt.ts +1 -1
  34. package/src/services/QueueMaker/memQueue.ts +1 -1
  35. package/src/services/QueueMaker/sbqueue.ts +1 -1
  36. package/src/services/RepositoryBase.ts +29 -8
  37. 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/Effect";
3
- import * as tsplus_module_3 from "effect-app/schema";
4
- import * as tsplus_module_4 from "effect-app/Pure";
5
- import * as tsplus_module_5 from "@effect-app/core/Array";
6
- import * as tsplus_module_6 from "@effect-app/core/_ext/Iterable";
7
- import * as tsplus_module_7 from "@effect-app/core/Chunk";
8
- import * as tsplus_module_8 from "@effect-app/core/Effect";
9
- import * as tsplus_module_9 from "@effect/schema/Schema";
10
- import * as tsplus_module_10 from "@effect-app/core/Function";
11
- import * as tsplus_module_11 from "effect/PubSub";
12
- import * as tsplus_module_12 from "@effect-app/infra/services/Repository/ext";
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(tsplus_module_2.sync(() => map));
78
+ return this.projectEffect(Effect.sync(() => map));
79
79
  }
80
80
  count(filter) {
81
81
  return this
82
- .projectEffect(tsplus_module_2.sync(() => ({ filter })))
83
- .map((_) => tsplus_module_3.NonNegativeInt(_.length));
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(tsplus_module_2.sync(() => map));
104
+ return this.queryEffect(Effect.sync(() => map));
105
105
  }
106
106
  query(b) {
107
- return this.queryEffect(tsplus_module_2.sync(() => ({ filter: anyQb((_, fields) => b(_, fields)) })));
107
+ return this.queryEffect(Effect.sync(() => ({ filter: anyQb((_, fields) => b(_, fields)) })));
108
108
  }
109
109
  queryOne(map) {
110
- return this.queryOneEffect(tsplus_module_2.sync(() => map));
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(tsplus_module_2.sync(() => map));
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(tsplus_module_2.sync(() => map));
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, tsplus_module_4.runTerm(pure, [...items]));
141
+ return saveAllWithEffectInt(this, runTerm(pure, [...items]));
140
142
  }
141
143
  saveWithPure_(item, pure) {
142
- return saveAllWithEffectInt(this, tsplus_module_4.runTerm(pure, item)
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(tsplus_module_2.sync(() => map), batchSize);
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 tsplus_module_6.ext_forEach(tsplus_module_5.chunk_(items, batchSize), (batch) => saveAllWithEffectInt(this, tsplus_module_4.runTerm(pure, batch)));
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 tsplus_module_2.withLogSpan(tsplus_module_2.flatMap(tsplus_module_2.context(), rctx => {
185
- const encode = tsplus_module_10.flow(tsplus_module_9.encode(schema), tsplus_module_2.provide(rctx));
186
- const decode = tsplus_module_10.flow(tsplus_module_9.decode(schema), tsplus_module_2.provide(rctx));
187
- return tsplus_module_2.flatMap(mkStore(args.makeInitial, args.config), store => tsplus_module_2.flatMap(ContextMapContainer, ({ get }) => {
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 tsplus_module_2.flatMap(tsplus_module_2.context(), pubCfg => {
193
- const pub = "publishEvents" in args ? tsplus_module_10.flow(args.publishEvents, (_) => tsplus_module_2.provide(_, pubCfg)) : () => tsplus_module_2.unit;
194
- return tsplus_module_2.map(tsplus_module_11.unbounded(), changeFeed => {
195
- const allE = store.all.flatMap((items) => tsplus_module_2.map(cms, ({ set }) => items.map((_) => mapReverse(_, set))));
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 = tsplus_module_10.flow(tsplus_module_9.encode(i), tsplus_module_2.provide(rctx));
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) => tsplus_module_2.map(cms, ({ set }) => item.map((_) => mapReverse(_, set))));
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 tsplus_module_8.flatMapOption(findE(id), (_) => decode(_).orDie);
229
+ return tsplus_module_6.flatMapOption(findE(id), (_) => decode(_).orDie);
228
230
  }
229
- const saveAllE = (a) => tsplus_module_8.flatMapOption(tsplus_module_2.sync(() => tsplus_module_6.CollectionToNonEmptyReadonlyArray(a)), (a) => tsplus_module_2.flatMap(cms, ({ get, set }) => {
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 tsplus_module_2.map(store.batchSet(items), ret => {
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) => tsplus_module_6.ext_forEach(tsplus_module_7.fromIterable(a), (_) => encode(_), { concurrency: "inherit", batching: true }).orDie.andThen(saveAllE);
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 = tsplus_module_7.fromIterable(items);
239
- return tsplus_module_8.flatMapOption(saveAll(it)
240
- .andThen(tsplus_module_2.sync(() => tsplus_module_6.CollectionToNonEmptyReadonlyArray(events)))
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([tsplus_module_7.toArray(it), "save"]))
247
+ .publish([tsplus_module_5.toArray(it), "save"]))
245
248
  .asUnit;
246
249
  };
247
250
  function removeAndPublish(a, events = []) {
248
- return tsplus_module_2.gen(function* ($) {
251
+ return Effect.gen(function* ($) {
249
252
  const { get, set } = yield* $(cms);
250
- const it = tsplus_module_7.fromIterable(a);
251
- const items = yield* $(tsplus_module_6.ext_forEach(it, (_) => encode(_), { concurrency: "inherit", batching: true }).orDie);
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* $(tsplus_module_8.flatMapOption(tsplus_module_2.sync(() => tsplus_module_6.CollectionToNonEmptyReadonlyArray(events))
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([tsplus_module_7.toArray(it), "remove"]));
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
- ? tsplus_module_2.unit : cms.map(({ set }) => items.forEach((_) => set(_.id, _._etag)))),
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 tsplus_module_12.get(self, id).flatMap((_) => self.removeAndPublish([_]));
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) => tsplus_module_9.encode(schema)(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 tsplus_module_2.flatMap(StoreMaker, ({ make }) => tsplus_module_2.map(make(pluralize(name), makeInitial
357
- ? tsplus_module_2.withSpan((makeInitial
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 } = tsplus_module_2.serviceConstants(tag);
372
- const { find, get, query, queryLegacy, removeAndPublish, removeById, save, saveAndPublish } = tsplus_module_2.serviceFunctions(tag);
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 tsplus_module_13.assignTag()(Object.assign(Cls, makeRepoFunctions(Cls)));
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 tsplus_module_13.assignTag()(Object.assign(Cls, makeRepoFunctions(Cls))); // impl is missing, but its marked protected
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;
@@ -1 +1 @@
1
- {"version":3,"file":"test.arbs.d.ts","sourceRoot":"","sources":["../src/test.arbs.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAA;AAG1C,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"}
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5hcmJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Rlc3QuYXJicy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiYUFnQmdCLFFBQVE7QUFoQnhCLDRCQUE0QjtBQUU1QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFFM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDbkMsT0FBTyxLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDaEMsT0FBTyxLQUFLLElBQUksTUFBTSxXQUFXLENBQUE7QUFFakMsTUFBTSxHQUFHLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBRTlDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUVmOztHQUVHO0FBQ0gsb0JBQTRCLEdBQW9CO0lBQzlDLE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUE7QUFDckMsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUFJLEdBQW1CO0lBQzFELE9BQU8sV0FBUyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUMxQixDQUFDIn0=
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.193.6",
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.144.3",
22
- "@effect-app/fluent-extensions": "0.137.1",
23
- "@effect-app/infra-adapters": "0.131.4",
24
- "effect-app": "0.171.4",
25
- "@effect-app/schema": "0.195.3"
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.101.1",
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.0",
43
- "@effect-app/compiler": "0.65.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.5",
48
- "@effect/schema": "^0.62.8",
49
- "effect": "^2.3.7"
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"