@effect-app/infra 4.0.0-beta.13 → 4.0.0-beta.131

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 (203) hide show
  1. package/CHANGELOG.md +864 -0
  2. package/dist/CUPS.d.ts +13 -5
  3. package/dist/CUPS.d.ts.map +1 -1
  4. package/dist/CUPS.js +10 -12
  5. package/dist/Emailer/service.d.ts +2 -2
  6. package/dist/Emailer/service.d.ts.map +1 -1
  7. package/dist/Emailer/service.js +3 -3
  8. package/dist/MainFiberSet.d.ts +2 -2
  9. package/dist/MainFiberSet.d.ts.map +1 -1
  10. package/dist/MainFiberSet.js +3 -3
  11. package/dist/Model/Repository/Registry.d.ts +20 -0
  12. package/dist/Model/Repository/Registry.d.ts.map +1 -0
  13. package/dist/Model/Repository/Registry.js +17 -0
  14. package/dist/Model/Repository/ext.d.ts +21 -3
  15. package/dist/Model/Repository/ext.d.ts.map +1 -1
  16. package/dist/Model/Repository/ext.js +54 -2
  17. package/dist/Model/Repository/internal/internal.d.ts +4 -4
  18. package/dist/Model/Repository/internal/internal.d.ts.map +1 -1
  19. package/dist/Model/Repository/internal/internal.js +31 -21
  20. package/dist/Model/Repository/makeRepo.d.ts +6 -5
  21. package/dist/Model/Repository/makeRepo.d.ts.map +1 -1
  22. package/dist/Model/Repository/makeRepo.js +4 -1
  23. package/dist/Model/Repository/service.d.ts +27 -22
  24. package/dist/Model/Repository/service.d.ts.map +1 -1
  25. package/dist/Model/Repository/validation.d.ts +59 -9
  26. package/dist/Model/Repository/validation.d.ts.map +1 -1
  27. package/dist/Model/Repository.d.ts +1 -0
  28. package/dist/Model/Repository.d.ts.map +1 -1
  29. package/dist/Model/Repository.js +2 -1
  30. package/dist/Model/query/new-kid-interpreter.d.ts.map +1 -1
  31. package/dist/Model/query/new-kid-interpreter.js +3 -3
  32. package/dist/Model.d.ts +1 -0
  33. package/dist/Model.d.ts.map +1 -1
  34. package/dist/Model.js +2 -1
  35. package/dist/Operations.d.ts +4 -4
  36. package/dist/Operations.d.ts.map +1 -1
  37. package/dist/Operations.js +56 -59
  38. package/dist/OperationsRepo.d.ts +4 -4
  39. package/dist/OperationsRepo.d.ts.map +1 -1
  40. package/dist/OperationsRepo.js +3 -3
  41. package/dist/QueueMaker/SQLQueue.d.ts +3 -6
  42. package/dist/QueueMaker/SQLQueue.d.ts.map +1 -1
  43. package/dist/QueueMaker/SQLQueue.js +105 -114
  44. package/dist/QueueMaker/errors.d.ts +1 -1
  45. package/dist/QueueMaker/errors.d.ts.map +1 -1
  46. package/dist/QueueMaker/memQueue.d.ts +6 -3
  47. package/dist/QueueMaker/memQueue.d.ts.map +1 -1
  48. package/dist/QueueMaker/memQueue.js +51 -62
  49. package/dist/QueueMaker/sbqueue.d.ts +5 -2
  50. package/dist/QueueMaker/sbqueue.d.ts.map +1 -1
  51. package/dist/QueueMaker/sbqueue.js +36 -52
  52. package/dist/RequestContext.d.ts +51 -21
  53. package/dist/RequestContext.d.ts.map +1 -1
  54. package/dist/RequestContext.js +5 -5
  55. package/dist/RequestFiberSet.d.ts +2 -2
  56. package/dist/RequestFiberSet.d.ts.map +1 -1
  57. package/dist/RequestFiberSet.js +5 -5
  58. package/dist/Store/ContextMapContainer.d.ts +18 -2
  59. package/dist/Store/ContextMapContainer.d.ts.map +1 -1
  60. package/dist/Store/ContextMapContainer.js +13 -3
  61. package/dist/Store/Cosmos.d.ts.map +1 -1
  62. package/dist/Store/Cosmos.js +308 -242
  63. package/dist/Store/Disk.d.ts +1 -1
  64. package/dist/Store/Disk.d.ts.map +1 -1
  65. package/dist/Store/Disk.js +25 -22
  66. package/dist/Store/Memory.d.ts +3 -3
  67. package/dist/Store/Memory.d.ts.map +1 -1
  68. package/dist/Store/Memory.js +27 -22
  69. package/dist/Store/SQL/Pg.d.ts +4 -0
  70. package/dist/Store/SQL/Pg.d.ts.map +1 -0
  71. package/dist/Store/SQL/Pg.js +189 -0
  72. package/dist/Store/SQL/query.d.ts +38 -0
  73. package/dist/Store/SQL/query.d.ts.map +1 -0
  74. package/dist/Store/SQL/query.js +367 -0
  75. package/dist/Store/SQL.d.ts +20 -0
  76. package/dist/Store/SQL.d.ts.map +1 -0
  77. package/dist/Store/SQL.js +381 -0
  78. package/dist/Store/index.d.ts +4 -1
  79. package/dist/Store/index.d.ts.map +1 -1
  80. package/dist/Store/index.js +15 -3
  81. package/dist/Store/service.d.ts +16 -5
  82. package/dist/Store/service.d.ts.map +1 -1
  83. package/dist/Store/service.js +24 -6
  84. package/dist/Store/utils.d.ts.map +1 -1
  85. package/dist/Store/utils.js +3 -4
  86. package/dist/adapters/ServiceBus.d.ts +6 -6
  87. package/dist/adapters/ServiceBus.d.ts.map +1 -1
  88. package/dist/adapters/ServiceBus.js +13 -15
  89. package/dist/adapters/cosmos-client.d.ts +2 -2
  90. package/dist/adapters/cosmos-client.d.ts.map +1 -1
  91. package/dist/adapters/cosmos-client.js +3 -3
  92. package/dist/adapters/logger.d.ts.map +1 -1
  93. package/dist/adapters/memQueue.d.ts +2 -2
  94. package/dist/adapters/memQueue.d.ts.map +1 -1
  95. package/dist/adapters/memQueue.js +3 -3
  96. package/dist/adapters/mongo-client.d.ts +2 -2
  97. package/dist/adapters/mongo-client.d.ts.map +1 -1
  98. package/dist/adapters/mongo-client.js +3 -3
  99. package/dist/adapters/redis-client.d.ts +2 -2
  100. package/dist/adapters/redis-client.d.ts.map +1 -1
  101. package/dist/adapters/redis-client.js +3 -3
  102. package/dist/api/ContextProvider.d.ts +6 -6
  103. package/dist/api/ContextProvider.d.ts.map +1 -1
  104. package/dist/api/ContextProvider.js +6 -6
  105. package/dist/api/internal/auth.d.ts +42 -4
  106. package/dist/api/internal/auth.d.ts.map +1 -1
  107. package/dist/api/internal/auth.js +160 -29
  108. package/dist/api/internal/events.d.ts +2 -2
  109. package/dist/api/internal/events.d.ts.map +1 -1
  110. package/dist/api/internal/events.js +11 -7
  111. package/dist/api/layerUtils.d.ts +5 -5
  112. package/dist/api/layerUtils.d.ts.map +1 -1
  113. package/dist/api/layerUtils.js +5 -5
  114. package/dist/api/routing/middleware/RouterMiddleware.d.ts +3 -3
  115. package/dist/api/routing/middleware/RouterMiddleware.d.ts.map +1 -1
  116. package/dist/api/routing/middleware/middleware.d.ts +37 -1
  117. package/dist/api/routing/middleware/middleware.d.ts.map +1 -1
  118. package/dist/api/routing/middleware/middleware.js +45 -14
  119. package/dist/api/routing.d.ts +4 -6
  120. package/dist/api/routing.d.ts.map +1 -1
  121. package/dist/api/routing.js +13 -6
  122. package/dist/api/setupRequest.d.ts +6 -3
  123. package/dist/api/setupRequest.d.ts.map +1 -1
  124. package/dist/api/setupRequest.js +11 -6
  125. package/dist/errorReporter.d.ts +3 -3
  126. package/dist/errorReporter.d.ts.map +1 -1
  127. package/dist/errorReporter.js +16 -23
  128. package/dist/logger.d.ts.map +1 -1
  129. package/dist/rateLimit.d.ts +8 -2
  130. package/dist/rateLimit.d.ts.map +1 -1
  131. package/dist/rateLimit.js +5 -11
  132. package/examples/query.ts +30 -26
  133. package/package.json +36 -22
  134. package/src/CUPS.ts +9 -11
  135. package/src/Emailer/service.ts +2 -2
  136. package/src/MainFiberSet.ts +2 -2
  137. package/src/Model/Repository/Registry.ts +33 -0
  138. package/src/Model/Repository/ext.ts +93 -6
  139. package/src/Model/Repository/internal/internal.ts +84 -76
  140. package/src/Model/Repository/makeRepo.ts +11 -8
  141. package/src/Model/Repository/service.ts +31 -22
  142. package/src/Model/Repository.ts +1 -0
  143. package/src/Model/query/new-kid-interpreter.ts +2 -2
  144. package/src/Model.ts +1 -0
  145. package/src/Operations.ts +78 -113
  146. package/src/OperationsRepo.ts +2 -2
  147. package/src/QueueMaker/SQLQueue.ts +121 -151
  148. package/src/QueueMaker/memQueue.ts +82 -103
  149. package/src/QueueMaker/sbqueue.ts +55 -85
  150. package/src/RequestContext.ts +4 -4
  151. package/src/RequestFiberSet.ts +4 -4
  152. package/src/Store/ContextMapContainer.ts +41 -2
  153. package/src/Store/Cosmos.ts +437 -343
  154. package/src/Store/Disk.ts +52 -49
  155. package/src/Store/Memory.ts +54 -48
  156. package/src/Store/SQL/Pg.ts +318 -0
  157. package/src/Store/SQL/query.ts +409 -0
  158. package/src/Store/SQL.ts +668 -0
  159. package/src/Store/index.ts +17 -2
  160. package/src/Store/service.ts +31 -7
  161. package/src/Store/utils.ts +23 -22
  162. package/src/adapters/ServiceBus.ts +111 -115
  163. package/src/adapters/cosmos-client.ts +2 -2
  164. package/src/adapters/memQueue.ts +2 -2
  165. package/src/adapters/mongo-client.ts +2 -2
  166. package/src/adapters/redis-client.ts +2 -2
  167. package/src/api/ContextProvider.ts +11 -11
  168. package/src/api/internal/auth.ts +246 -44
  169. package/src/api/internal/events.ts +14 -9
  170. package/src/api/layerUtils.ts +8 -8
  171. package/src/api/routing/middleware/RouterMiddleware.ts +4 -4
  172. package/src/api/routing/middleware/middleware.ts +52 -12
  173. package/src/api/routing.ts +17 -7
  174. package/src/api/setupRequest.ts +27 -7
  175. package/src/errorReporter.ts +58 -72
  176. package/src/rateLimit.ts +30 -22
  177. package/test/auth.test.ts +101 -0
  178. package/test/contextProvider.test.ts +11 -11
  179. package/test/controller.test.ts +18 -13
  180. package/test/dist/auth.test.d.ts.map +1 -0
  181. package/test/dist/contextProvider.test.d.ts.map +1 -1
  182. package/test/dist/controller.test.d.ts.map +1 -1
  183. package/test/dist/date-query.test.d.ts.map +1 -0
  184. package/test/dist/fixtures.d.ts +19 -9
  185. package/test/dist/fixtures.d.ts.map +1 -1
  186. package/test/dist/fixtures.js +11 -9
  187. package/test/dist/query.test.d.ts.map +1 -1
  188. package/test/dist/rawQuery.test.d.ts.map +1 -1
  189. package/test/dist/repository-ext.test.d.ts.map +1 -0
  190. package/test/dist/requires.test.d.ts.map +1 -1
  191. package/test/dist/routing-interruptibility.test.d.ts.map +1 -0
  192. package/test/dist/rpc-multi-middleware.test.d.ts.map +1 -1
  193. package/test/dist/sql-store.test.d.ts.map +1 -0
  194. package/test/fixtures.ts +10 -8
  195. package/test/query.test.ts +209 -31
  196. package/test/rawQuery.test.ts +23 -19
  197. package/test/repository-ext.test.ts +58 -0
  198. package/test/requires.test.ts +6 -5
  199. package/test/routing-interruptibility.test.ts +63 -0
  200. package/test/rpc-multi-middleware.test.ts +72 -3
  201. package/test/sql-store.test.ts +1064 -0
  202. package/test/validateSample.test.ts +12 -9
  203. package/tsconfig.json +0 -1
@@ -11,10 +11,10 @@ export function makeServiceBusQueue(schema, drainSchema) {
11
11
  body: schema,
12
12
  meta: QueueMeta
13
13
  });
14
- const wireSchemaJson = S.fromJsonString(wireSchema);
14
+ const wireSchemaJson = S.fromJsonString(S.toCodecJson(wireSchema));
15
15
  const encodePublish = S.encodeEffect(wireSchemaJson);
16
16
  const drainW = S.Struct({ body: drainSchema, meta: QueueMeta });
17
- const drainWJson = S.fromJsonString(drainW);
17
+ const drainWJson = S.fromJsonString(S.toCodecJson(drainW));
18
18
  const parseDrain = flow(S.decodeUnknownEffect(drainWJson), Effect.orDie);
19
19
  return Effect.gen(function* () {
20
20
  const sender = yield* Sender;
@@ -26,66 +26,50 @@ export function makeServiceBusQueue(schema, drainSchema) {
26
26
  // const deferred = yield* Deferred.make<never, ServiceBusError | Error>()
27
27
  const queue = {
28
28
  drain: (handleEvent, sessionId) => {
29
- function processMessage(messageBody) {
30
- return parseDrain(messageBody).pipe(Effect.orDie, Effect
31
- .flatMap(({ body, meta }) => {
32
- let effect = InfraLogger
33
- .logDebug(`[${receiver.name}] Processing incoming message`)
34
- .pipe(Effect.annotateLogs({
35
- body: pretty(body),
36
- meta: pretty(meta)
37
- }), Effect.andThen(handleEvent(body)), Effect.orDie)
38
- // we silenceAndReportError here, so that the error is reported, and moves into the Exit.
39
- .pipe(silenceAndReportError, (_) => setupRequestContextWithCustomSpan(_, meta, `queue.drain: ${receiver.name}${sessionId ? `#${sessionId}` : ""}.${body._tag}`, {
40
- captureStackTrace: false,
41
- kind: "consumer",
42
- attributes: {
43
- "queue.name": receiver.name,
44
- "queue.sessionId": sessionId,
45
- "queue.input": body
46
- }
47
- }));
48
- if (meta.span) {
49
- effect = Effect.withParentSpan(effect, Tracer.externalSpan(meta.span));
29
+ const processMessage = Effect.fnUntraced(function* (messageBody) {
30
+ const { body, meta } = yield* parseDrain(messageBody).pipe(Effect.orDie);
31
+ let effect = InfraLogger
32
+ .logDebug(`[${receiver.name}] Processing incoming message`)
33
+ .pipe(Effect.annotateLogs({ body: pretty(body), meta: pretty(meta) }), Effect.andThen(handleEvent(body)), Effect.orDie,
34
+ // we silenceAndReportError here, so that the error is reported, and moves into the Exit.
35
+ silenceAndReportError, (_) => setupRequestContextWithCustomSpan(_, meta, `queue.drain: ${receiver.name}${sessionId ? `#${sessionId}` : ""}.${body._tag}`, {
36
+ captureStackTrace: false,
37
+ kind: "consumer",
38
+ attributes: {
39
+ "queue.name": receiver.name,
40
+ "queue.sessionId": sessionId,
41
+ "queue.input": body
50
42
  }
51
- return effect;
52
- }), Effect
53
- // we reportError here, so that we report the error only, and keep flowing
54
- .tapCause(reportError),
55
- // we still need to flatten the Exit.
56
- Effect.flatMap((_) => _));
57
- }
43
+ }));
44
+ if (meta.span) {
45
+ effect = Effect.withParentSpan(effect, Tracer.externalSpan(meta.span));
46
+ }
47
+ // we reportError here, so that we report the error only, and keep flowing
48
+ const exit = yield* Effect.tapCause(effect, reportError);
49
+ return yield* exit;
50
+ });
58
51
  return receiver
59
52
  .subscribe({
60
53
  processMessage: (x) => processMessage(x.body).pipe(Effect.uninterruptible),
61
54
  processError: (err) => reportQueueError(Cause.fail(err.error))
62
- // Deferred.completeWith(
63
- // deferred,
64
- // reportFatalQueueError(Cause.fail(err.error))
65
- // .pipe(Effect.andThen(Effect.fail(err.error)))
66
- // )
67
55
  }, sessionId)
68
- // .pipe(Effect.andThen(Deferred.await(deferred).pipe(Effect.orDie))),
69
56
  .pipe(Effect.andThen(Effect.never));
70
57
  },
71
- publish: (...messages) => getRequestContext
72
- .pipe(Effect.flatMap((requestContext) => Effect
73
- .forEach(messages, (m) => encodePublish({
74
- body: m,
75
- meta: requestContext
58
+ publish: Effect.fn("queue.publish: " + sender.name, {
59
+ kind: "producer"
60
+ })(function* (...messages) {
61
+ yield* Effect.annotateCurrentSpan({ "message_tags": messages.map((_) => _._tag) });
62
+ const requestContext = yield* getRequestContext;
63
+ const msgs = yield* Effect.forEach(messages, (m) => encodePublish({ body: m, meta: requestContext }).pipe(Effect.orDie, Effect.map((body) => ({
64
+ body,
65
+ messageId: m.id, /* correllationid: requestId */
66
+ contentType: "application/json",
67
+ sessionId: "sessionId" in m ? m.sessionId : undefined // TODO: optional
68
+ }))));
69
+ yield* sender.sendMessages(msgs);
76
70
  })
77
- .pipe(Effect.orDie, Effect.map((body) => ({
78
- body,
79
- messageId: m.id, /* correllationid: requestId */
80
- contentType: "application/json",
81
- sessionId: "sessionId" in m ? m.sessionId : undefined // TODO: optional
82
- }))))
83
- .pipe(Effect.flatMap((msgs) => sender.sendMessages(msgs)))), Effect.withSpan("queue.publish: " + sender.name, {
84
- kind: "producer",
85
- attributes: { "message_tags": messages.map((_) => _._tag) }
86
- }, { captureStackTrace: false }))
87
71
  };
88
72
  return queue;
89
73
  });
90
74
  }
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2JxdWV1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9RdWV1ZU1ha2VyL3NicXVldWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUMvQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQThCLENBQUMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUUvRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDekMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUM3RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzFDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxnQ0FBZ0MsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUM3RyxPQUFPLEVBQWtCLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUV4RCxNQUFNLFVBQVUsbUJBQW1CLENBTWpDLE1BQTBCLEVBQzFCLFdBQXlDO0lBRXpDLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDMUIsSUFBSSxFQUFFLE1BQU07UUFDWixJQUFJLEVBQUUsU0FBUztLQUNoQixDQUFDLENBQUE7SUFDRixNQUFNLGNBQWMsR0FBRyxDQUFDLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ25ELE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDcEQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUE7SUFDL0QsTUFBTSxVQUFV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
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2JxdWV1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9RdWV1ZU1ha2VyL3NicXVldWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUMvQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQThCLENBQUMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUUvRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDekMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUM3RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzFDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxnQ0FBZ0MsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUM3RyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRXhDLE1BQU0sVUFBVSxtQkFBbUIsQ0FNakMsTUFBMEIsRUFDMUIsV0FBeUM7SUFFekMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLEVBQUUsTUFBTTtRQUNaLElBQUksRUFBRSxTQUFTO0tBQ2hCLENBQUMsQ0FBQTtJQUNGLE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFBO0lBQ2xFLE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDcEQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxD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
@@ -1,37 +1,67 @@
1
- import { S, ServiceMap } from "effect-app";
2
- export declare const Locale: S.Literals<["en", "de"]> & {
3
- changeDefault: <A extends "en" | "de">(a: A) => S.Literals<["en", "de"]> & {
1
+ import { Context, S } from "effect-app";
2
+ import { NonEmptyString255 } from "effect-app/Schema";
3
+ export declare const Locale: import("effect/Schema").Literals<readonly ["en", "de"]> & {
4
+ changeDefault: <A extends "en" | "de">(a: A) => import("effect/Schema").Literals<readonly ["en", "de"]> & {
4
5
  Default: A;
5
- withDefault: S.withConstructorDefault<S.Literals<["en", "de"]> & S.WithoutConstructorDefault>;
6
+ withDefault: S.withConstructorDefault<import("effect/Schema").Literals<readonly ["en", "de"]>>;
7
+ withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Literals<readonly ["en", "de"]>>;
6
8
  };
7
9
  Default: "en";
8
- withDefault: S.withConstructorDefault<S.Literals<["en", "de"]> & S.WithoutConstructorDefault>;
10
+ withDefault: S.withConstructorDefault<import("effect/Schema").Literals<readonly ["en", "de"]>>;
11
+ withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Literals<readonly ["en", "de"]>>;
9
12
  };
10
13
  export type Locale = typeof Locale.Type;
11
- declare const LocaleRef_base: ServiceMap.Reference<"en" | "de">;
14
+ declare const LocaleRef_base: Context.Reference<"en" | "de">;
12
15
  export declare class LocaleRef extends LocaleRef_base {
13
16
  }
14
- declare const RequestContext_base: S.EnhancedClass<RequestContext, S.Struct<{
15
- span: S.Struct<{
17
+ declare const RequestContext_base: S.EnhancedClass<RequestContext, import("effect/Schema").Struct<{
18
+ span: import("effect/Schema").Struct<{
16
19
  readonly traceId: S.String;
17
20
  readonly spanId: S.String;
18
21
  readonly sampled: import("effect/Schema").Boolean & {
19
- withDefault: S.withConstructorDefault<import("effect/Schema").Boolean & S.WithoutConstructorDefault>;
22
+ withDefault: S.withConstructorDefault<import("effect/Schema").Boolean>;
23
+ withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Boolean>;
20
24
  };
21
25
  }>;
22
- name: S.WithDefaults<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255">> & S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255">;
23
- locale: S.Literals<["en", "de"]> & {
24
- changeDefault: <A extends "en" | "de">(a: A) => S.Literals<["en", "de"]> & {
26
+ name: S.WithDefaults<Omit<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255">, "Iso" | "Type" | "~type.make"> & {
27
+ readonly Type: NonEmptyString255;
28
+ readonly Iso: NonEmptyString255;
29
+ readonly "~type.make": NonEmptyString255;
30
+ }> & Omit<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255">, "Iso" | "Type" | "~type.make"> & {
31
+ readonly Type: NonEmptyString255;
32
+ readonly Iso: NonEmptyString255;
33
+ readonly "~type.make": NonEmptyString255;
34
+ };
35
+ locale: import("effect/Schema").Literals<readonly ["en", "de"]> & {
36
+ changeDefault: <A extends "en" | "de">(a: A) => import("effect/Schema").Literals<readonly ["en", "de"]> & {
25
37
  Default: A;
26
- withDefault: S.withConstructorDefault<S.Literals<["en", "de"]> & S.WithoutConstructorDefault>;
38
+ withDefault: S.withConstructorDefault<import("effect/Schema").Literals<readonly ["en", "de"]>>;
39
+ withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Literals<readonly ["en", "de"]>>;
27
40
  };
28
41
  Default: "en";
29
- withDefault: S.withConstructorDefault<S.Literals<["en", "de"]> & S.WithoutConstructorDefault>;
42
+ withDefault: S.withConstructorDefault<import("effect/Schema").Literals<readonly ["en", "de"]>>;
43
+ withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Literals<readonly ["en", "de"]>>;
44
+ };
45
+ sourceId: S.optional<S.WithDefaults<Omit<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255">, "Iso" | "Type" | "~type.make"> & {
46
+ readonly Type: NonEmptyString255;
47
+ readonly Iso: NonEmptyString255;
48
+ readonly "~type.make": NonEmptyString255;
49
+ }> & Omit<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255">, "Iso" | "Type" | "~type.make"> & {
50
+ readonly Type: NonEmptyString255;
51
+ readonly Iso: NonEmptyString255;
52
+ readonly "~type.make": NonEmptyString255;
53
+ }>;
54
+ namespace: S.WithDefaults<Omit<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255">, "Iso" | "Type" | "~type.make"> & {
55
+ readonly Type: NonEmptyString255;
56
+ readonly Iso: NonEmptyString255;
57
+ readonly "~type.make": NonEmptyString255;
58
+ }> & Omit<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255">, "Iso" | "Type" | "~type.make"> & {
59
+ readonly Type: NonEmptyString255;
60
+ readonly Iso: NonEmptyString255;
61
+ readonly "~type.make": NonEmptyString255;
30
62
  };
31
- sourceId: S.optional<S.WithDefaults<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255">> & S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255">>;
32
- namespace: S.WithDefaults<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255">> & S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255">;
33
63
  /** @deprecated */
34
- userProfile: S.optional<S.Struct<{
64
+ userProfile: S.optional<import("effect/Schema").Struct<{
35
65
  readonly sub: S.WithDefaults<S.Codec<string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand, string, never, never> & {
36
66
  make: () => string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand;
37
67
  withDefault: S.withConstructorDefault<S.Codec<string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand, string, never, never> & S.WithoutConstructorDefault>;
@@ -43,17 +73,17 @@ declare const RequestContext_base: S.EnhancedClass<RequestContext, S.Struct<{
43
73
  }>, {}>;
44
74
  export declare class RequestContext extends RequestContext_base {
45
75
  static toMonitoring(this: void, self: RequestContext): {
46
- operationName: string & S.B.Brand<"NonEmptyString"> & S.B.Brand<"NonEmptyString64k"> & S.B.Brand<"NonEmptyString2k"> & S.B.Brand<"NonEmptyString255">;
76
+ operationName: S.NonEmptyString255;
47
77
  locale: "en" | "de";
48
78
  };
49
79
  }
50
80
  export declare const spanAttributes: (ctx: Pick<RequestContext, "locale" | "namespace"> & Partial<RequestContext>) => {
51
81
  "request.user.sub"?: string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand;
52
82
  "request.user.roles"?: unknown;
53
- "request.source.id"?: string & S.B.Brand<"NonEmptyString"> & S.B.Brand<"NonEmptyString64k"> & S.B.Brand<"NonEmptyString2k"> & S.B.Brand<"NonEmptyString255">;
54
- "request.name": (string & S.B.Brand<"NonEmptyString"> & S.B.Brand<"NonEmptyString64k"> & S.B.Brand<"NonEmptyString2k"> & S.B.Brand<"NonEmptyString255">) | undefined;
83
+ "request.source.id"?: S.NonEmptyString255;
84
+ "request.name": S.NonEmptyString255 | undefined;
55
85
  "request.locale": "en" | "de";
56
- "request.namespace": string & S.B.Brand<"NonEmptyString"> & S.B.Brand<"NonEmptyString64k"> & S.B.Brand<"NonEmptyString2k"> & S.B.Brand<"NonEmptyString255">;
86
+ "request.namespace": string & S.NonEmptyString255Brand;
57
87
  };
58
88
  export declare namespace RequestContext {
59
89
  interface Encoded extends S.Struct.Encoded<typeof RequestContext["fields"]> {
@@ -1 +1 @@
1
- {"version":3,"file":"RequestContext.d.ts","sourceRoot":"","sources":["../src/RequestContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAI1C,eAAO,MAAM,MAAM;;;;;;;CAAwB,CAAA;AAC3C,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAA;;AAEvC,qBAAa,SAAU,SAAQ,cAAoE;CAAG;;;;;;;;;;;;;;;;;;;;IAepG,kBAAkB;;;;;;;;;;;AAbpB,qBAAa,cAAe,SAAQ,mBAelC;IAGA,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc;;;;CAMrD;AAED,eAAO,MAAM,cAAc,GAAI,KAAK,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;;;;;;;CAgBxG,CAAA;AAKF,yBAAiB,cAAc,CAAC;IAC9B,UAAiB,OAAQ,SAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;KAAG;CACtF"}
1
+ {"version":3,"file":"RequestContext.d.ts","sourceRoot":"","sources":["../src/RequestContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,YAAY,CAAA;AAEvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAErD,eAAO,MAAM,MAAM;;;;;;;;;CAA2B,CAAA;AAC9C,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAA;;AAEvC,qBAAa,SAAU,SAAQ,cAAiE;CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAejG,kBAAkB;;;;;;;;;;;AAbpB,qBAAa,cAAe,SAAQ,mBAelC;IAGA,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc;;;;CAMrD;AAED,eAAO,MAAM,cAAc,GAAI,KAAK,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;;;;;;;CAgBxG,CAAA;AAKF,yBAAiB,cAAc,CAAC;IAC9B,UAAiB,OAAQ,SAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;KAAG;CACtF"}
@@ -1,8 +1,8 @@
1
- import { S, ServiceMap } from "effect-app";
1
+ import { Context, S } from "effect-app";
2
2
  import { UserProfileId } from "effect-app/ids";
3
3
  import { NonEmptyString255 } from "effect-app/Schema";
4
- export const Locale = S.Literal("en", "de");
5
- export class LocaleRef extends ServiceMap.Reference("Locale", { defaultValue: () => "en" }) {
4
+ export const Locale = S.Literals(["en", "de"]);
5
+ export class LocaleRef extends Context.Reference("Locale", { defaultValue: () => "en" }) {
6
6
  }
7
7
  export class RequestContext extends S.ExtendedClass("RequestContext")({
8
8
  span: S.Struct({
@@ -17,7 +17,7 @@ export class RequestContext extends S.ExtendedClass("RequestContext")({
17
17
  /** @deprecated */
18
18
  userProfile: S.optional(S.Struct({ sub: UserProfileId })) //
19
19
  }) {
20
- // static Tag = ServiceMap.Tag<RequestContext>()
20
+ // static Tag = Context.Tag<RequestContext>()
21
21
  static toMonitoring(self) {
22
22
  return {
23
23
  operationName: self.name,
@@ -46,4 +46,4 @@ export const spanAttributes = (ctx) => ({
46
46
  //
47
47
  // codegen:end
48
48
  //
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdENvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvUmVxdWVzdENvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRXJELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQTtBQUczQyxNQUFNLE9BQU8sU0FBVSxTQUFRLFVBQVUsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLEVBQUUsWUFBWSxFQUFFLEdBQVcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO0NBQUc7QUFFdEcsTUFBTSxPQUFPLGNBQWUsU0FBUSxDQUFDLENBQUMsYUFBYSxDQUdqRCxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xCLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2IsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNO1FBQ2pCLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTTtRQUNoQixPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU87S0FDbkIsQ0FBQztJQUNGLElBQUksRUFBRSxpQkFBaUI7SUFDdkIsTUFBTSxFQUFFLE1BQU07SUFDZCxRQUFRLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLFFBQVE7SUFDakQsU0FBUyxFQUFFLGlCQUFpQjtJQUM1QixrQkFBa0I7SUFDbEIsV0FBVyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRTtDQUM3RCxDQUFDO0lBQ0EsZ0RBQWdEO0lBRWhELE1BQU0sQ0FBQyxZQUFZLENBQWEsSUFBb0I7UUFDbEQsT0FBTztZQUNMLGFBQWEsRUFBRSxJQUFJLENBQUMsSUFBSTtZQUN4QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQTtJQUNILENBQUM7Q0FDRjtBQUVELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEdBQTJFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDOUcsY0FBYyxFQUFFLEdBQUcsQ0FBQyxJQUFJO0lBQ3hCLGdCQUFnQixFQUFFLEdBQUcsQ0FBQyxNQUFNO0lBQzVCLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxTQUFTO0lBQ2xDLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7SUFDNUQsR0FBRyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsR0FBRztRQUN0QixDQUFDLENBQUM7WUFDQSxrQkFBa0IsRUFBRSxHQUFHO2lCQUNwQixXQUFXO2lCQUNYLEdBQUc7WUFDTixvQkFBb0IsRUFBRSxPQUFPLElBQUksR0FBRztpQkFDL0IsV0FBVztnQkFDZCxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxLQUFLO2dCQUN2QixDQUFDLENBQUMsU0FBUztTQUNkO1FBQ0QsQ0FBQyxDQUFDLEVBQUUsQ0FBQztDQUNSLENBQUMsQ0FBQTtBQVFGLG1CQUFtQjtBQUNuQixFQUFFO0FBQ0YsY0FBYztBQUNkLEVBQUUifQ==
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdENvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvUmVxdWVzdENvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDdkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRXJELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUE7QUFHOUMsTUFBTSxPQUFPLFNBQVUsU0FBUSxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxFQUFFLFlBQVksRUFBRSxHQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztDQUFHO0FBRW5HLE1BQU0sT0FBTyxjQUFlLFNBQVEsQ0FBQyxDQUFDLGFBQWEsQ0FHakQsZ0JBQWdCLENBQUMsQ0FBQztJQUNsQixJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNiLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTTtRQUNqQixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU07UUFDaEIsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPO0tBQ25CLENBQUM7SUFDRixJQUFJLEVBQUUsaUJBQWlCO0lBQ3ZCLE1BQU0sRUFBRSxNQUFNO0lBQ2QsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsRUFBRSxRQUFRO0lBQ2pELFNBQVMsRUFBRSxpQkFBaUI7SUFDNUIsa0JBQWtCO0lBQ2xCLFdBQVcsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7Q0FDN0QsQ0FBQztJQUNBLDZDQUE2QztJQUU3QyxNQUFNLENBQUMsWUFBWSxDQUFhLElBQW9CO1FBQ2xELE9BQU87WUFDTCxhQUFhLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDeEIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUE7SUFDSCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxHQUEyRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzlHLGNBQWMsRUFBRSxHQUFHLENBQUMsSUFBSTtJQUN4QixnQkFBZ0IsRUFBRSxHQUFHLENBQUMsTUFBTTtJQUM1QixtQkFBbUIsRUFBRSxHQUFHLENBQUMsU0FBUztJQUNsQyxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFO0lBQzVELEdBQUcsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLEdBQUc7UUFDdEIsQ0FBQyxDQUFDO1lBQ0Esa0JBQWtCLEVBQUUsR0FBRztpQkFDcEIsV0FBVztpQkFDWCxHQUFHO1lBQ04sb0JBQW9CLEVBQUUsT0FBTyxJQUFJLEdBQUc7aUJBQy9CLFdBQVc7Z0JBQ2QsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsS0FBSztnQkFDdkIsQ0FBQyxDQUFDLFNBQVM7U0FDZDtRQUNELENBQUMsQ0FBQyxFQUFFLENBQUM7Q0FDUixDQUFDLENBQUE7QUFRRixtQkFBbUI7QUFDbkIsRUFBRTtBQUNGLGNBQWM7QUFDZCxFQUFFIn0=
@@ -1,6 +1,6 @@
1
- import { Effect, Fiber, Layer, ServiceMap } from "effect-app";
1
+ import { Context, Effect, Fiber, Layer } from "effect-app";
2
2
  export declare const setRootParentSpan: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
3
- declare const RequestFiberSet_base: ServiceMap.ServiceClass<RequestFiberSet, "RequestFiberSet", {
3
+ declare const RequestFiberSet_base: Context.ServiceClass<RequestFiberSet, "RequestFiberSet", {
4
4
  interrupt: Effect.Effect<void, never, never>;
5
5
  join: Effect.Effect<void, any, never>;
6
6
  run: <R, XE extends any, XA extends any>(effect: Effect.Effect<XA, XE, R>) => Effect.Effect<Fiber.Fiber<XA, XE>, never, R>;
@@ -1 +1 @@
1
- {"version":3,"file":"RequestFiberSet.d.ts","sourceRoot":"","sources":["../src/RequestFiberSet.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAY,KAAK,EAAE,UAAU,EAAe,MAAM,YAAY,CAAA;AAepF,eAAO,MAAM,iBAAiB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,2BAC4B,CAAA;;;;;qBAIzE,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;qBAEvB,SAAS,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;eAOtC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;uBAuB7B,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;iCAgB3B,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;;;;;yBAhDjD,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;yBAEvB,SAAS,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;mBAOtC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;2BAuB7B,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;qCAgB3B,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;;AAqB3E;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,oBAAkE;IACrG,MAAM,CAAC,QAAQ,CAAC,IAAI,6CAAgC;IACpD,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,8CACF;IAC/D,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,kEACF;IAC1D,MAAM,CAAC,QAAQ,CAAC,gBAAgB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,kEACF;IACvE,MAAM,CAAC,QAAQ,CAAC,0BAA0B,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,kEACF;CAClF"}
1
+ {"version":3,"file":"RequestFiberSet.d.ts","sourceRoot":"","sources":["../src/RequestFiberSet.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAY,KAAK,EAAuB,MAAM,YAAY,CAAA;AAezF,eAAO,MAAM,iBAAiB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,2BAC4B,CAAA;;;;;qBAIzE,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;qBAEvB,SAAS,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;eAOtC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;uBAuB7B,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;iCAgB3B,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;;;;;yBAhDjD,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;yBAEvB,SAAS,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;mBAOtC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;2BAuB7B,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;qCAgB3B,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;;AAqB3E;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,oBAA+D;IAClG,MAAM,CAAC,QAAQ,CAAC,IAAI,6CAAgC;IACpD,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,8CACF;IAC/D,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,kEACF;IAC1D,MAAM,CAAC,QAAQ,CAAC,gBAAgB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,kEACF;IACvE,MAAM,CAAC,QAAQ,CAAC,0BAA0B,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,kEACF;CAClF"}
@@ -1,13 +1,13 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { Effect, Fiber, FiberSet, Layer, ServiceMap } from "effect-app";
2
+ import { Context, Effect, Fiber, FiberSet, Layer, Option } from "effect-app";
3
3
  import { reportRequestError, reportUnknownRequestError } from "./api/reportError.js";
4
4
  import { InfraLogger } from "./logger.js";
5
5
  const getRootParentSpan = Effect.gen(function* () {
6
6
  let span = yield* Effect.currentSpan.pipe(Effect.catchTag("NoSuchElementError", () => Effect.succeed(null)));
7
7
  if (!span)
8
8
  return span;
9
- while (span._tag === "Span" && span.parent !== undefined) {
10
- span = span.parent;
9
+ while (span._tag === "Span" && Option.isSome(span.parent)) {
10
+ span = span.parent.value;
11
11
  }
12
12
  return span;
13
13
  });
@@ -68,11 +68,11 @@ const make = Effect.gen(function* () {
68
68
  * Whenever you fork a fiber for a Request, and you want to prevent dependent services to close prematurely on interruption,
69
69
  * like the ServiceBus Sender, you should register these fibers in this FiberSet.
70
70
  */
71
- export class RequestFiberSet extends ServiceMap.Service()("RequestFiberSet", { make }) {
71
+ export class RequestFiberSet extends Context.Service()("RequestFiberSet", { make }) {
72
72
  static Live = Layer.effect(this, this.make);
73
73
  static register = (self) => this.asEffect().pipe(Effect.andThen((_) => _.register(self)));
74
74
  static run = (self) => this.asEffect().pipe(Effect.andThen((_) => _.run(self)));
75
75
  static forkDaemonReport = (self) => this.asEffect().pipe(Effect.andThen((_) => _.forkDaemonReport(self)));
76
76
  static forkDaemonReportUnexpected = (self) => this.asEffect().pipe(Effect.andThen((_) => _.forkDaemonReportUnexpected(self)));
77
77
  }
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdEZpYmVyU2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1JlcXVlc3RGaWJlclNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQWUsTUFBTSxZQUFZLENBQUE7QUFDcEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDcEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUV6QyxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO0lBQzVDLElBQUksSUFBSSxHQUEwQixLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FDOUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ2xFLENBQUE7SUFDRCxJQUFJLENBQUMsSUFBSTtRQUFFLE9BQU8sSUFBSSxDQUFBO0lBQ3RCLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN6RCxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQTtJQUNwQixDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUE7QUFDYixDQUFDLENBQUMsQ0FBQTtBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQVUsSUFBNEIsRUFBRSxFQUFFLENBQ3pFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxF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QUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQy9ELE1BQU0sQ0FBVSxHQUFHLEdBQUcsQ0FBVSxJQUE0QixFQUFFLEVBQUUsQ0FDOUQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUMxRCxNQUFNLENBQVUsZ0JBQWdCLEdBQUcsQ0FBVSxJQUE0QixFQUFFLEVBQUUsQ0FDM0UsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ3ZFLE1BQU0sQ0FBVSwwQkFBMEIsR0FBRyxDQUFVLElBQTRCLEVBQUUsRUFBRSxDQUNyRixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUEifQ==
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdEZpYmVyU2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1JlcXVlc3RGaWJlclNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFlLE1BQU0sWUFBWSxDQUFBO0FBQ3pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3BGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFekMsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztJQUM1QyxJQUFJLElBQUksR0FBMEIsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQzlELE1BQU0sQ0FBQyxRQUFRLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUNsRSxDQUFBO0lBQ0QsSUFBSSxDQUFDLElBQUk7UUFBRSxPQUFPLElBQUksQ0FBQTtJQUN0QixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDMUQsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFBO0lBQzFCLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQTtBQUNiLENBQUMsQ0FBQyxDQUFBO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBVSxJQUE0QixFQUFFLEVBQUUsQ0FDekUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7QUFFbkcsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7SUFDL0IsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksRUFBWSxDQUFBO0lBQzVDLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxNQUErQixFQUFFLEVBQUUsQ0FDakQsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDdEUsTUFBTSxNQUFNLEdBQUcsQ0FBQyxNQUF3QyxFQUFFLEVBQUUsQ0FDMUQsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDdEUsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQ2xDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsV0FBVyxLQUFLLHdDQUF3QyxDQUFDLENBQUMsRUFDeEcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQ25DLENBQUE7SUFDRCxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzdCLE1BQU0sUUFBUSxHQUFHLENBQVUsSUFBNEIsRUFBRSxFQUFFLENBQ3pELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFFMUUsa0RBQWtEO0lBQ2xELGtEQUFrRDtJQUNsRCw2QkFBNkI7SUFDN0IsYUFBYTtJQUNiLE1BQU07SUFDTixpRkFBaUY7SUFDakYsOEVBQThFO0lBQzlFLHVEQUF1RDtJQUN2RCxLQUFLO0lBQ0wsK0RBQStEO0lBQy9ELE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUE7SUFFekM7Ozs7Ozs7T0FPRztJQUNILFNBQVMsZ0JBQWdCLENBQVUsSUFBNEI7UUFDN0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUNkLGtCQUFrQixFQUNsQixNQUFNLENBQUMsZUFBZSxFQUN0QixHQUFHLENBQ0osQ0FBQTtJQUNILENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsU0FBUywwQkFBMEIsQ0FBVSxJQUE0QjtRQUN2RSxPQUFPLElBQUk7YUFDUixJQUFJLENBQ0gseUJBQXlCLEVBQ3pCLE1BQU0sQ0FBQyxlQUFlLEVBQ3RCLEdBQUcsQ0FDSixDQUFBO0lBQ0wsQ0FBQztJQUVELE9BQU87UUFDTCxTQUFTO1FBQ1QsSUFBSTtRQUNKLEdBQUc7UUFDSCxHQUFHO1FBQ0gsTUFBTTtRQUNOLFFBQVE7UUFDUixnQkFBZ0I7UUFDaEIsMEJBQTBCO0tBQzNCLENBQUE7QUFDSCxDQUFDLENBQUMsQ0FBQTtBQUVGOzs7R0FHRztBQUNILE1BQU0sT0FBTyxlQUFnQixTQUFRLE9BQU8sQ0FBQyxPQUFPLEVBQW1CLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNsRyxNQUFNLENBQVUsSUFBSSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNwRCxNQUFNLENBQVUsUUFBUSxHQUFHLENBQVUsSUFBNEIsRUFBRSxFQUFFLENBQ25FLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDL0QsTUFBTSxDQUFVLEdBQUcsR0FBRyxDQUFVLElBQTRCLEVBQUUsRUFBRSxDQUM5RCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzFELE1BQU0sQ0FBVSxnQkFBZ0IsR0FBRyxDQUFVLElBQTRCLEVBQUUsRUFBRSxDQUMzRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDdkUsTUFBTSxDQUFVLDBCQUEwQixHQUFHLENBQVUsSUFBNEIsRUFBRSxFQUFFLENBQ3JGLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQSJ9
@@ -1,6 +1,7 @@
1
- import { Effect, Layer, ServiceMap } from "effect-app";
1
+ import { Context, Effect, Layer, RequestResolver } from "effect-app";
2
+ import type * as Request from "effect/Request";
2
3
  import { ContextMap } from "./service.js";
3
- declare const ContextMapContainer_base: ServiceMap.Reference<"root" | ContextMap>;
4
+ declare const ContextMapContainer_base: Context.Reference<"root" | ContextMap>;
4
5
  export declare class ContextMapContainer extends ContextMapContainer_base {
5
6
  static readonly layer: Layer.Layer<never, never, never>;
6
7
  }
@@ -10,5 +11,20 @@ declare const ContextMapNotStartedError_base: new <A extends Record<string, any>
10
11
  export declare class ContextMapNotStartedError extends ContextMapNotStartedError_base {
11
12
  }
12
13
  export declare const getContextMap: Effect.Effect<ContextMap, ContextMapNotStartedError, never>;
14
+ /**
15
+ * Uses the official `RequestResolver.withCache` internally,
16
+ * creating one cached resolver per ContextMap (i.e. per request).
17
+ * Uses a shared semaphore in the ContextMap to ensure safe single initialization.
18
+ */
19
+ export declare const withRequestResolverCache: {
20
+ <A extends Request.Request<any, any>>(options: {
21
+ readonly capacity: number;
22
+ readonly strategy?: "lru" | "fifo" | undefined;
23
+ }): (self: RequestResolver.RequestResolver<A>) => Effect.Effect<RequestResolver.RequestResolver<A>, ContextMapNotStartedError>;
24
+ <A extends Request.Request<any, any>>(self: RequestResolver.RequestResolver<A>, options: {
25
+ readonly capacity: number;
26
+ readonly strategy?: "lru" | "fifo" | undefined;
27
+ }): Effect.Effect<RequestResolver.RequestResolver<A>, ContextMapNotStartedError>;
28
+ };
13
29
  export {};
14
30
  //# sourceMappingURL=ContextMapContainer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContextMapContainer.d.ts","sourceRoot":"","sources":["../../src/Store/ContextMapContainer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;;AAQzC,qBAAa,mBAAoB,SAAQ,wBAEvC;IACA,MAAM,CAAC,QAAQ,CAAC,KAAK,mCAAsE;CAC5F;;;;AAED,qBAAa,yBAA0B,SAAQ,8BAA6C;CAAG;AAE/F,eAAO,MAAM,aAAa,6DAEzB,CAAA"}
1
+ {"version":3,"file":"ContextMapContainer.d.ts","sourceRoot":"","sources":["../../src/Store/ContextMapContainer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAQ,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE1E,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;;AAQzC,qBAAa,mBAAoB,SAAQ,wBAEvC;IACA,MAAM,CAAC,QAAQ,CAAC,KAAK,mCAAsE;CAC5F;;;;AAED,qBAAa,yBAA0B,SAAQ,8BAA6C;CAAG;AAE/F,eAAO,MAAM,aAAa,6DAEzB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE;IACrC,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE;QAC7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAAA;KAC/C,GAAG,CACF,IAAI,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,KACrC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAA;IACjF,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAClC,IAAI,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,EACxC,OAAO,EAAE;QACP,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAAA;KAC/C,GACA,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAA;CAiB/E,CAAA"}
@@ -1,11 +1,12 @@
1
- import { Data, Effect, Layer, ServiceMap } from "effect-app";
1
+ import { Context, Data, Effect, Layer, RequestResolver } from "effect-app";
2
+ import { dual } from "effect/Function";
2
3
  import { ContextMap } from "./service.js";
3
4
  // TODO: we have to create a new contextmap on every request.
4
5
  // we want to share one map during startup
5
6
  // but we want to make sure we don't re-use the startup map after startup
6
7
  // we can call another start after startup. but it would be even better if we could Die on accessing rootmap
7
8
  // we could also make the ContextMap optional, and when missing, issue a warning instead?
8
- export class ContextMapContainer extends ServiceMap.Reference("ContextMapContainer", {
9
+ export class ContextMapContainer extends Context.Reference("ContextMapContainer", {
9
10
  defaultValue: () => "root"
10
11
  }) {
11
12
  static layer = Layer.effect(this, ContextMap.make.pipe(Effect.map(ContextMap.of)));
@@ -13,4 +14,13 @@ export class ContextMapContainer extends ServiceMap.Reference("ContextMapContain
13
14
  export class ContextMapNotStartedError extends Data.TaggedError("ContextMapNotStartedError") {
14
15
  }
15
16
  export const getContextMap = ContextMapContainer.asEffect().pipe(Effect.filterOrFail((_) => _ !== "root", () => new ContextMapNotStartedError()));
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dE1hcENvbnRhaW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TdG9yZS9Db250ZXh0TWFwQ29udGFpbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUV6Qyw2REFBNkQ7QUFDN0QsMENBQTBDO0FBQzFDLHlFQUF5RTtBQUN6RSw0R0FBNEc7QUFDNUcseUZBQXlGO0FBRXpGLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxVQUFVLENBQUMsU0FBUyxDQUFDLHFCQUFxQixFQUFFO0lBQ25GLFlBQVksRUFBRSxHQUF3QixFQUFFLENBQUMsTUFBTTtDQUNoRCxDQUFDO0lBQ0EsTUFBTSxDQUFVLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7O0FBRzdGLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxJQUFJLENBQUMsV0FBVyxDQUFDLDJCQUEyQixDQUFDO0NBQUc7QUFFL0YsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FDOUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLHlCQUF5QixFQUFFLENBQUMsQ0FDaEYsQ0FBQSJ9
17
+ /**
18
+ * Uses the official `RequestResolver.withCache` internally,
19
+ * creating one cached resolver per ContextMap (i.e. per request).
20
+ * Uses a shared semaphore in the ContextMap to ensure safe single initialization.
21
+ */
22
+ export const withRequestResolverCache = dual(2, (self, options) => {
23
+ const cacheKey = Symbol();
24
+ return getContextMap.pipe(Effect.flatMap((ctxMap) => ctxMap.getOrCreateStoreEffect(cacheKey, RequestResolver.withCache(self, options))));
25
+ });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dE1hcENvbnRhaW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TdG9yZS9Db250ZXh0TWFwQ29udGFpbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQzFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUV0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRXpDLDZEQUE2RDtBQUM3RCwwQ0FBMEM7QUFDMUMseUVBQXlFO0FBQ3pFLDRHQUE0RztBQUM1Ryx5RkFBeUY7QUFFekYsTUFBTSxPQUFPLG1CQUFvQixTQUFRLE9BQU8sQ0FBQyxTQUFTLENBQUMscUJBQXFCLEVBQUU7SUFDaEYsWUFBWSxFQUFFLEdBQXdCLEVBQUUsQ0FBQyxNQUFNO0NBQ2hELENBQUM7SUFDQSxNQUFNLENBQVUsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTs7QUFHN0YsTUFBTSxPQUFPLHlCQUEwQixTQUFRLElBQUksQ0FBQyxXQUFXLENBQUMsMkJBQTJCLENBQUM7Q0FBRztBQUUvRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUM5RCxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUkseUJBQXlCLEVBQUUsQ0FBQyxDQUNoRixDQUFBO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQWNqQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQ1YsSUFBd0MsRUFDeEMsT0FHQyxFQUM2RSxFQUFFO0lBQ2hGLE1BQU0sUUFBUSxHQUFHLE1BQU0sRUFBRSxDQUFBO0lBQ3pCLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FDdkIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ3hCLE1BQU0sQ0FBQyxzQkFBc0IsQ0FDM0IsUUFBUSxFQUNSLGVBQWUsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUN6QyxDQUNGLENBQ0YsQ0FBQTtBQUNILENBQUMsQ0FBQyxDQUFBIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"Cosmos.d.ts","sourceRoot":"","sources":["../../src/Store/Cosmos.ts"],"names":[],"mappings":"AAEA,OAAO,EAA2B,KAAK,EAA8D,MAAM,YAAY,CAAA;AASvH,OAAO,EAA8C,KAAK,aAAa,EAAgC,UAAU,EAAE,MAAM,cAAc,CAAA;AA4cvI,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,aAAa,yCAIlD"}
1
+ {"version":3,"file":"Cosmos.d.ts","sourceRoot":"","sources":["../../src/Store/Cosmos.ts"],"names":[],"mappings":"AAEA,OAAO,EAA2B,KAAK,EAA8D,MAAM,YAAY,CAAA;AAUvH,OAAO,EAA8C,KAAK,aAAa,EAAgC,UAAU,EAAE,MAAM,cAAc,CAAA;AAyiBvI,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,aAAa,yCAIlD"}