@effect/platform 0.69.17 → 0.69.19
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/dist/cjs/HttpApi.js +21 -18
- package/dist/cjs/HttpApi.js.map +1 -1
- package/dist/cjs/HttpApiBuilder.js +8 -10
- package/dist/cjs/HttpApiBuilder.js.map +1 -1
- package/dist/cjs/HttpApiEndpoint.js +2 -3
- package/dist/cjs/HttpApiEndpoint.js.map +1 -1
- package/dist/cjs/HttpApiGroup.js +12 -10
- package/dist/cjs/HttpApiGroup.js.map +1 -1
- package/dist/cjs/OpenApi.js +2 -3
- package/dist/cjs/OpenApi.js.map +1 -1
- package/dist/cjs/Socket.js +30 -37
- package/dist/cjs/Socket.js.map +1 -1
- package/dist/cjs/internal/worker.js +22 -34
- package/dist/cjs/internal/worker.js.map +1 -1
- package/dist/cjs/internal/workerRunner.js +1 -1
- package/dist/cjs/internal/workerRunner.js.map +1 -1
- package/dist/dts/HttpApi.d.ts +4 -5
- package/dist/dts/HttpApi.d.ts.map +1 -1
- package/dist/dts/HttpApiBuilder.d.ts.map +1 -1
- package/dist/dts/HttpApiEndpoint.d.ts +1 -2
- package/dist/dts/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/dts/HttpApiGroup.d.ts +3 -4
- package/dist/dts/HttpApiGroup.d.ts.map +1 -1
- package/dist/dts/OpenApi.d.ts.map +1 -1
- package/dist/dts/Socket.d.ts.map +1 -1
- package/dist/dts/Worker.d.ts +1 -1
- package/dist/dts/Worker.d.ts.map +1 -1
- package/dist/esm/HttpApi.js +21 -18
- package/dist/esm/HttpApi.js.map +1 -1
- package/dist/esm/HttpApiBuilder.js +8 -10
- package/dist/esm/HttpApiBuilder.js.map +1 -1
- package/dist/esm/HttpApiEndpoint.js +2 -3
- package/dist/esm/HttpApiEndpoint.js.map +1 -1
- package/dist/esm/HttpApiGroup.js +12 -10
- package/dist/esm/HttpApiGroup.js.map +1 -1
- package/dist/esm/OpenApi.js +2 -3
- package/dist/esm/OpenApi.js.map +1 -1
- package/dist/esm/Socket.js +30 -37
- package/dist/esm/Socket.js.map +1 -1
- package/dist/esm/internal/worker.js +22 -34
- package/dist/esm/internal/worker.js.map +1 -1
- package/dist/esm/internal/workerRunner.js +1 -1
- package/dist/esm/internal/workerRunner.js.map +1 -1
- package/package.json +2 -2
- package/src/HttpApi.ts +24 -26
- package/src/HttpApiBuilder.ts +9 -11
- package/src/HttpApiEndpoint.ts +4 -5
- package/src/HttpApiGroup.ts +16 -14
- package/src/OpenApi.ts +2 -3
- package/src/Socket.ts +34 -48
- package/src/Worker.ts +1 -1
- package/src/internal/worker.ts +35 -41
- package/src/internal/workerRunner.ts +1 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Runtime } from "effect";
|
|
1
2
|
import * as Channel from "effect/Channel";
|
|
2
3
|
import * as Context from "effect/Context";
|
|
3
4
|
import * as Deferred from "effect/Deferred";
|
|
@@ -50,7 +51,7 @@ export const makeManager = /*#__PURE__*/Effect.gen(function* () {
|
|
|
50
51
|
return Deferred.complete(readyLatch, Effect.void);
|
|
51
52
|
}
|
|
52
53
|
return handleMessage(message[1]);
|
|
53
|
-
}).pipe(Effect.onError(cause => Effect.forEach(requestMap.values(), mailbox => Deferred.DeferredTypeId in mailbox ? Deferred.failCause(mailbox, cause) : mailbox.failCause(cause))), Effect.retry(Schedule.spaced(1000)), Effect.annotateLogs({
|
|
54
|
+
}).pipe(Effect.onError(cause => Effect.forEach(requestMap.values(), mailbox => Deferred.DeferredTypeId in mailbox ? Deferred.failCause(mailbox, cause) : mailbox.failCause(cause))), Effect.tapErrorCause(Effect.logWarning), Effect.retry(Schedule.spaced(1000)), Effect.annotateLogs({
|
|
54
55
|
package: "@effect/platform",
|
|
55
56
|
module: "Worker"
|
|
56
57
|
}), Effect.interruptible, Effect.forkScoped);
|
|
@@ -235,48 +236,35 @@ export const makePlatform = () => options => PlatformWorker.of({
|
|
|
235
236
|
const spawn = yield* Spawner;
|
|
236
237
|
let currentPort;
|
|
237
238
|
const buffer = [];
|
|
238
|
-
const run = handler => Effect.uninterruptibleMask(restore =>
|
|
239
|
-
scope
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
port,
|
|
245
|
-
scope
|
|
246
|
-
}) => {
|
|
239
|
+
const run = handler => Effect.uninterruptibleMask(restore => Effect.gen(function* () {
|
|
240
|
+
const scope = yield* Effect.scope;
|
|
241
|
+
const port = yield* options.setup({
|
|
242
|
+
worker: spawn(id),
|
|
243
|
+
scope
|
|
244
|
+
});
|
|
247
245
|
currentPort = port;
|
|
248
|
-
|
|
246
|
+
yield* Scope.addFinalizer(scope, Effect.sync(() => {
|
|
249
247
|
currentPort = undefined;
|
|
250
248
|
}));
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
scope,
|
|
263
|
-
emit(data) {
|
|
264
|
-
runFork(handler(data));
|
|
265
|
-
},
|
|
266
|
-
deferred: fiberSet.deferred
|
|
267
|
-
})), Effect.tap(({
|
|
268
|
-
port
|
|
269
|
-
}) => {
|
|
249
|
+
const runtime = (yield* Effect.runtime()).pipe(Runtime.updateContext(Context.omit(Scope.Scope)));
|
|
250
|
+
const fiberSet = yield* FiberSet.make();
|
|
251
|
+
const runFork = Runtime.runFork(runtime);
|
|
252
|
+
yield* options.listen({
|
|
253
|
+
port,
|
|
254
|
+
scope,
|
|
255
|
+
emit(data) {
|
|
256
|
+
FiberSet.unsafeAdd(runFork(handler(data)));
|
|
257
|
+
},
|
|
258
|
+
deferred: fiberSet.deferred
|
|
259
|
+
});
|
|
270
260
|
if (buffer.length > 0) {
|
|
271
261
|
for (const [message, transfers] of buffer) {
|
|
272
262
|
port.postMessage([0, message], transfers);
|
|
273
263
|
}
|
|
274
264
|
buffer.length = 0;
|
|
275
265
|
}
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
scope
|
|
279
|
-
}) => restore(FiberSet.join(fiberSet)).pipe(Effect.ensuring(Scope.close(scope, Exit.void))))));
|
|
266
|
+
return yield* restore(FiberSet.join(fiberSet));
|
|
267
|
+
}).pipe(Effect.scoped));
|
|
280
268
|
const send = (message, transfers) => Effect.try({
|
|
281
269
|
try: () => {
|
|
282
270
|
if (currentPort === undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","names":["Channel","Context","Deferred","Effect","Exit","FiberRef","FiberSet","identity","pipe","Layer","Mailbox","Option","Pool","Schedule","Schema","Scope","Stream","Tracer","Transferable","WorkerError","PlatformWorkerTypeId","Symbol","for","PlatformWorker","GenericTag","WorkerManagerTypeId","WorkerManager","Spawner","makeManager","gen","platform","idCounter","of","spawn","encode","initialMessage","_","id","requestIdCounter","requestMap","Map","collector","unsafeMakeCollector","wrappedEncode","message","zipRight","clear","provideService","Collector","succeed","readyLatch","make","backing","run","complete","void","handleMessage","onError","cause","forEach","values","mailbox","DeferredTypeId","failCause","retry","spaced","annotateLogs","package","module","interruptible","forkScoped","addFinalizer","interrupt","end","discard","sync","response","suspend","get","offerAll","length","fail","decodeCause","executeAcquire","request","makeMailbox","withFiberRuntime","fiber","context","getFiberRef","currentContext","span","getOption","ParentSpan","filter","_tag","tap","set","payload","send","value","traceId","spanId","sampled","undefined","unsafeRead","catchAllCause","isMailbox","map","executeRelease","exit","release","delete","isFailure","orDie","execute","fromChannel","acquireUseRelease","toChannel","executeEffect","await","flatMap","mapError","reason","layerManager","effect","makePool","options","manager","workers","Set","acquire","worker","acquireRelease","add","onCreate","makeWithTTL","min","minSize","max","maxSize","concurrency","targetUtilization","timeToLive","size","pool","broadcast","unwrapScoped","scoped","makePoolLayer","tag","makeSerialized","serialize","parseSuccess","decode","successSchema","parseFailure","failureSchema","catchAll","error","mapEffect","matchEffect","onFailure","onSuccess","makePoolSerialized","makePoolSerializedLayer","layerSpawner","spawner","makePlatform","currentPort","buffer","handler","uninterruptibleMask","restore","bindTo","bind","scope","setup","port","extend","fiberSet","runtime","runFork","listen","emit","data","deferred","transfers","postMessage","join","ensuring","close","try","push","catch"],"sources":["../../../src/internal/worker.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"worker.js","names":["Runtime","Channel","Context","Deferred","Effect","Exit","FiberRef","FiberSet","identity","pipe","Layer","Mailbox","Option","Pool","Schedule","Schema","Scope","Stream","Tracer","Transferable","WorkerError","PlatformWorkerTypeId","Symbol","for","PlatformWorker","GenericTag","WorkerManagerTypeId","WorkerManager","Spawner","makeManager","gen","platform","idCounter","of","spawn","encode","initialMessage","_","id","requestIdCounter","requestMap","Map","collector","unsafeMakeCollector","wrappedEncode","message","zipRight","clear","provideService","Collector","succeed","readyLatch","make","backing","run","complete","void","handleMessage","onError","cause","forEach","values","mailbox","DeferredTypeId","failCause","tapErrorCause","logWarning","retry","spaced","annotateLogs","package","module","interruptible","forkScoped","addFinalizer","interrupt","end","discard","sync","response","suspend","get","offerAll","length","fail","decodeCause","executeAcquire","request","makeMailbox","withFiberRuntime","fiber","context","getFiberRef","currentContext","span","getOption","ParentSpan","filter","_tag","tap","set","payload","send","value","traceId","spanId","sampled","undefined","unsafeRead","catchAllCause","isMailbox","map","executeRelease","exit","release","delete","isFailure","orDie","execute","fromChannel","acquireUseRelease","toChannel","executeEffect","await","flatMap","mapError","reason","layerManager","effect","makePool","options","manager","workers","Set","acquire","worker","acquireRelease","add","onCreate","makeWithTTL","min","minSize","max","maxSize","concurrency","targetUtilization","timeToLive","size","pool","broadcast","unwrapScoped","scoped","makePoolLayer","tag","makeSerialized","serialize","parseSuccess","decode","successSchema","parseFailure","failureSchema","catchAll","error","mapEffect","matchEffect","onFailure","onSuccess","makePoolSerialized","makePoolSerializedLayer","layerSpawner","spawner","makePlatform","currentPort","buffer","handler","uninterruptibleMask","restore","scope","port","setup","runtime","updateContext","omit","fiberSet","runFork","listen","emit","data","unsafeAdd","deferred","transfers","postMessage","join","try","push","catch"],"sources":["../../../src/internal/worker.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -60,7 +60,7 @@ export const run = (process, options) => Effect.gen(function* () {
|
|
|
60
60
|
});
|
|
61
61
|
});
|
|
62
62
|
/** @internal */
|
|
63
|
-
export const make = (process, options) => Effect.withFiberRuntime(fiber => run(process, options).pipe(Effect.tapErrorCause(Effect.
|
|
63
|
+
export const make = (process, options) => Effect.withFiberRuntime(fiber => run(process, options).pipe(Effect.tapErrorCause(cause => Cause.isInterruptedOnly(cause) ? Effect.void : Effect.logWarning(cause)), Effect.retry(Schedule.spaced(1000)), Effect.annotateLogs({
|
|
64
64
|
package: "@effect/platform-node",
|
|
65
65
|
module: "WorkerRunner"
|
|
66
66
|
}), Effect.ensuring(Fiber.interruptAsFork(fiber, fiber.id())), Effect.interruptible, Effect.forkScoped, Effect.asVoid));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workerRunner.js","names":["Cause","Chunk","Context","Effect","Either","Fiber","pipe","Layer","Schedule","Schema","Stream","Transferable","isWorkerError","WorkerError","PlatformRunnerTypeId","Symbol","for","PlatformRunner","GenericTag","run","process","options","gen","platform","backing","start","fiberMap","Map","portId","id","kind","data","span","fiber","get","void","interrupt","withFiberRuntime","set","decode","succeed","flatMap","input","collector","unsafeMakeCollector","stream","effect","isEffect","out","encodeOutput","provideService","Collector","payload","send","unsafeRead","runForEachChunk","chunk","undefined","toReadonlyArray","unsafeClear","forEach","andThen","withParentSpan","_tag","traceId","spanId","sampled","context","empty","uninterruptibleMask","restore","catchIf","error","encodeCause","fail","catchAllCause","cause","match","failureOrCause","onLeft","encodeError","onRight","ensuring","sync","delete","make","tapErrorCause","
|
|
1
|
+
{"version":3,"file":"workerRunner.js","names":["Cause","Chunk","Context","Effect","Either","Fiber","pipe","Layer","Schedule","Schema","Stream","Transferable","isWorkerError","WorkerError","PlatformRunnerTypeId","Symbol","for","PlatformRunner","GenericTag","run","process","options","gen","platform","backing","start","fiberMap","Map","portId","id","kind","data","span","fiber","get","void","interrupt","withFiberRuntime","set","decode","succeed","flatMap","input","collector","unsafeMakeCollector","stream","effect","isEffect","out","encodeOutput","provideService","Collector","payload","send","unsafeRead","runForEachChunk","chunk","undefined","toReadonlyArray","unsafeClear","forEach","andThen","withParentSpan","_tag","traceId","spanId","sampled","context","empty","uninterruptibleMask","restore","catchIf","error","encodeCause","fail","catchAllCause","cause","match","failureOrCause","onLeft","encodeError","onRight","ensuring","sync","delete","make","tapErrorCause","isInterruptedOnly","logWarning","retry","spaced","annotateLogs","package","module","interruptAsFork","interruptible","forkScoped","asVoid","layer","scopedDiscard","makeSerialized","schema","handlers","_","scope","parseRequest","decodeUnknown","request","result","isLayer","buildWithScope","merge","provide","provideContext","message","mapError","reason","serializeFailure","serializeSuccess","layerSerialized"],"sources":["../../../src/internal/workerRunner.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/platform",
|
|
3
|
-
"version": "0.69.
|
|
3
|
+
"version": "0.69.19",
|
|
4
4
|
"description": "Unified interfaces for common platform-specific services",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"multipasta": "^0.2.5"
|
|
15
15
|
},
|
|
16
16
|
"peerDependencies": {
|
|
17
|
-
"effect": "^3.10.
|
|
17
|
+
"effect": "^3.10.12"
|
|
18
18
|
},
|
|
19
19
|
"publishConfig": {
|
|
20
20
|
"provenance": true
|
package/src/HttpApi.ts
CHANGED
|
@@ -2,11 +2,10 @@
|
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
4
|
import * as Context from "effect/Context"
|
|
5
|
-
import * as HashMap from "effect/HashMap"
|
|
6
|
-
import * as HashSet from "effect/HashSet"
|
|
7
5
|
import * as Option from "effect/Option"
|
|
8
6
|
import { type Pipeable, pipeArguments } from "effect/Pipeable"
|
|
9
7
|
import * as Predicate from "effect/Predicate"
|
|
8
|
+
import * as Record from "effect/Record"
|
|
10
9
|
import type * as Schema from "effect/Schema"
|
|
11
10
|
import * as AST from "effect/SchemaAST"
|
|
12
11
|
import type { Mutable } from "effect/Types"
|
|
@@ -52,10 +51,10 @@ export interface HttpApi<
|
|
|
52
51
|
> extends Pipeable {
|
|
53
52
|
new(_: never): {}
|
|
54
53
|
readonly [TypeId]: TypeId
|
|
55
|
-
readonly groups:
|
|
54
|
+
readonly groups: Record.ReadonlyRecord<string, Groups>
|
|
56
55
|
readonly annotations: Context.Context<never>
|
|
57
56
|
readonly errorSchema: Schema.Schema<E, unknown, R>
|
|
58
|
-
readonly middlewares:
|
|
57
|
+
readonly middlewares: ReadonlySet<HttpApiMiddleware.TagClassAny>
|
|
59
58
|
|
|
60
59
|
/**
|
|
61
60
|
* Add a `HttpApiGroup` to the `HttpApi`.
|
|
@@ -145,7 +144,7 @@ const Proto = {
|
|
|
145
144
|
group: HttpApiGroup.HttpApiGroup.AnyWithProps
|
|
146
145
|
) {
|
|
147
146
|
return makeProto({
|
|
148
|
-
groups:
|
|
147
|
+
groups: Record.set(this.groups, group.identifier, group),
|
|
149
148
|
errorSchema: this.errorSchema,
|
|
150
149
|
annotations: this.annotations,
|
|
151
150
|
middlewares: this.middlewares
|
|
@@ -155,16 +154,15 @@ const Proto = {
|
|
|
155
154
|
this: HttpApi.AnyWithProps,
|
|
156
155
|
api: HttpApi.AnyWithProps
|
|
157
156
|
) {
|
|
157
|
+
const newGroups = { ...this.groups }
|
|
158
|
+
for (const key in api.groups) {
|
|
159
|
+
const newGroup: Mutable<HttpApiGroup.HttpApiGroup.AnyWithProps> = api.groups[key].annotateContext(Context.empty())
|
|
160
|
+
newGroup.annotations = Context.merge(api.annotations, newGroup.annotations)
|
|
161
|
+
newGroup.middlewares = new Set([...this.middlewares, ...newGroup.middlewares])
|
|
162
|
+
newGroups[key] = newGroup as any
|
|
163
|
+
}
|
|
158
164
|
return makeProto({
|
|
159
|
-
groups:
|
|
160
|
-
this.groups,
|
|
161
|
-
HashMap.map(api.groups, (group) => {
|
|
162
|
-
const newGroup: Mutable<HttpApiGroup.HttpApiGroup.AnyWithProps> = group.annotateContext(Context.empty())
|
|
163
|
-
newGroup.annotations = Context.merge(api.annotations, newGroup.annotations)
|
|
164
|
-
newGroup.middlewares = HashSet.union(newGroup.middlewares, api.middlewares)
|
|
165
|
-
return newGroup
|
|
166
|
-
})
|
|
167
|
-
),
|
|
165
|
+
groups: newGroups,
|
|
168
166
|
errorSchema: HttpApiSchema.UnionUnify(this.errorSchema, api.errorSchema),
|
|
169
167
|
annotations: this.annotations,
|
|
170
168
|
middlewares: this.middlewares
|
|
@@ -189,7 +187,7 @@ const Proto = {
|
|
|
189
187
|
},
|
|
190
188
|
prefix(this: HttpApi.AnyWithProps, prefix: PathInput) {
|
|
191
189
|
return makeProto({
|
|
192
|
-
groups:
|
|
190
|
+
groups: Record.map(this.groups, (group) => group.prefix(prefix)),
|
|
193
191
|
errorSchema: this.errorSchema,
|
|
194
192
|
annotations: this.annotations,
|
|
195
193
|
middlewares: this.middlewares
|
|
@@ -205,7 +203,7 @@ const Proto = {
|
|
|
205
203
|
}) as any)
|
|
206
204
|
),
|
|
207
205
|
annotations: this.annotations,
|
|
208
|
-
middlewares:
|
|
206
|
+
middlewares: new Set([...this.middlewares, tag])
|
|
209
207
|
})
|
|
210
208
|
},
|
|
211
209
|
annotate(this: HttpApi.AnyWithProps, tag: Context.Tag<any, any>, value: any) {
|
|
@@ -228,10 +226,10 @@ const Proto = {
|
|
|
228
226
|
|
|
229
227
|
const makeProto = <Groups extends HttpApiGroup.HttpApiGroup.Any, E, I, R>(
|
|
230
228
|
options: {
|
|
231
|
-
readonly groups:
|
|
229
|
+
readonly groups: Record.ReadonlyRecord<string, Groups>
|
|
232
230
|
readonly errorSchema: Schema.Schema<E, I, R>
|
|
233
231
|
readonly annotations: Context.Context<never>
|
|
234
|
-
readonly middlewares:
|
|
232
|
+
readonly middlewares: ReadonlySet<HttpApiMiddleware.TagClassAny>
|
|
235
233
|
}
|
|
236
234
|
): HttpApi<Groups, E, R> => {
|
|
237
235
|
function HttpApi() {}
|
|
@@ -253,10 +251,10 @@ const makeProto = <Groups extends HttpApiGroup.HttpApiGroup.Any, E, I, R>(
|
|
|
253
251
|
* @category constructors
|
|
254
252
|
*/
|
|
255
253
|
export const empty: HttpApi<never, HttpApiDecodeError> = makeProto({
|
|
256
|
-
groups:
|
|
254
|
+
groups: new Map() as any,
|
|
257
255
|
errorSchema: HttpApiDecodeError,
|
|
258
256
|
annotations: Context.empty(),
|
|
259
|
-
middlewares:
|
|
257
|
+
middlewares: new Set()
|
|
260
258
|
})
|
|
261
259
|
|
|
262
260
|
/**
|
|
@@ -279,28 +277,28 @@ export const reflect = <Groups extends HttpApiGroup.HttpApiGroup.Any, Error, R>(
|
|
|
279
277
|
readonly group: HttpApiGroup.HttpApiGroup.AnyWithProps
|
|
280
278
|
readonly endpoint: HttpApiEndpoint.HttpApiEndpoint<string, HttpMethod>
|
|
281
279
|
readonly mergedAnnotations: Context.Context<never>
|
|
282
|
-
readonly middleware:
|
|
280
|
+
readonly middleware: ReadonlySet<HttpApiMiddleware.TagClassAny>
|
|
283
281
|
readonly successes: ReadonlyMap<number, Option.Option<AST.AST>>
|
|
284
282
|
readonly errors: ReadonlyMap<number, Option.Option<AST.AST>>
|
|
285
283
|
}) => void
|
|
286
284
|
}
|
|
287
285
|
) => {
|
|
288
286
|
const apiErrors = extractMembers(self.errorSchema.ast, new Map(), HttpApiSchema.getStatusErrorAST)
|
|
289
|
-
const groups = self.groups as
|
|
290
|
-
for (const
|
|
287
|
+
const groups = Object.values(self.groups) as any as Array<HttpApiGroup.HttpApiGroup.AnyWithProps>
|
|
288
|
+
for (const group of groups) {
|
|
291
289
|
const groupErrors = extractMembers(group.errorSchema.ast, apiErrors, HttpApiSchema.getStatusErrorAST)
|
|
292
290
|
const groupAnnotations = Context.merge(self.annotations, group.annotations)
|
|
293
291
|
options.onGroup({
|
|
294
292
|
group,
|
|
295
293
|
mergedAnnotations: groupAnnotations
|
|
296
294
|
})
|
|
297
|
-
const endpoints = group.endpoints as Iterable<
|
|
298
|
-
for (const
|
|
295
|
+
const endpoints = Object.values(group.endpoints) as Iterable<HttpApiEndpoint.HttpApiEndpoint<string, HttpMethod>>
|
|
296
|
+
for (const endpoint of endpoints) {
|
|
299
297
|
const errors = extractMembers(endpoint.errorSchema.ast, groupErrors, HttpApiSchema.getStatusErrorAST)
|
|
300
298
|
options.onEndpoint({
|
|
301
299
|
group,
|
|
302
300
|
endpoint,
|
|
303
|
-
middleware:
|
|
301
|
+
middleware: new Set([...group.middlewares, ...endpoint.middlewares]),
|
|
304
302
|
mergedAnnotations: Context.merge(groupAnnotations, endpoint.annotations),
|
|
305
303
|
successes: extractMembers(endpoint.successSchema.ast, new Map(), HttpApiSchema.getStatusSuccessAST),
|
|
306
304
|
errors
|
package/src/HttpApiBuilder.ts
CHANGED
|
@@ -8,8 +8,6 @@ import * as Encoding from "effect/Encoding"
|
|
|
8
8
|
import * as Fiber from "effect/Fiber"
|
|
9
9
|
import { identity } from "effect/Function"
|
|
10
10
|
import { globalValue } from "effect/GlobalValue"
|
|
11
|
-
import * as HashMap from "effect/HashMap"
|
|
12
|
-
import * as HashSet from "effect/HashSet"
|
|
13
11
|
import * as Layer from "effect/Layer"
|
|
14
12
|
import * as ManagedRuntime from "effect/ManagedRuntime"
|
|
15
13
|
import * as Option from "effect/Option"
|
|
@@ -375,7 +373,7 @@ const HandlersProto = {
|
|
|
375
373
|
name: string,
|
|
376
374
|
handler: HttpApiEndpoint.HttpApiEndpoint.Handler<any, any, any>
|
|
377
375
|
) {
|
|
378
|
-
const endpoint =
|
|
376
|
+
const endpoint = this.group.endpoints[name]
|
|
379
377
|
return makeHandlers({
|
|
380
378
|
group: this.group,
|
|
381
379
|
handlers: Chunk.append(this.handlers, {
|
|
@@ -390,7 +388,7 @@ const HandlersProto = {
|
|
|
390
388
|
name: string,
|
|
391
389
|
handler: HttpApiEndpoint.HttpApiEndpoint.Handler<any, any, any>
|
|
392
390
|
) {
|
|
393
|
-
const endpoint =
|
|
391
|
+
const endpoint = this.group.endpoints[name]
|
|
394
392
|
return makeHandlers({
|
|
395
393
|
group: this.group,
|
|
396
394
|
handlers: Chunk.append(this.handlers, {
|
|
@@ -446,7 +444,7 @@ export const group = <
|
|
|
446
444
|
Router.use((router) =>
|
|
447
445
|
Effect.gen(function*() {
|
|
448
446
|
const context = yield* Effect.context<any>()
|
|
449
|
-
const group =
|
|
447
|
+
const group = api.groups[groupName]!
|
|
450
448
|
const result = build(makeHandlers({ group, handlers: Chunk.empty() }))
|
|
451
449
|
const handlers: Handlers<any, any, any> = Effect.isEffect(result)
|
|
452
450
|
? (yield* result as Effect.Effect<any, any, any>)
|
|
@@ -528,7 +526,7 @@ type MiddlewareMap = Map<string, {
|
|
|
528
526
|
}>
|
|
529
527
|
|
|
530
528
|
const makeMiddlewareMap = (
|
|
531
|
-
middleware:
|
|
529
|
+
middleware: ReadonlySet<HttpApiMiddleware.TagClassAny>,
|
|
532
530
|
context: Context.Context<never>,
|
|
533
531
|
initial?: MiddlewareMap
|
|
534
532
|
): MiddlewareMap => {
|
|
@@ -536,7 +534,7 @@ const makeMiddlewareMap = (
|
|
|
536
534
|
readonly tag: HttpApiMiddleware.TagClassAny
|
|
537
535
|
readonly effect: Effect.Effect<any, any, any>
|
|
538
536
|
}>(initial)
|
|
539
|
-
|
|
537
|
+
middleware.forEach((tag) => {
|
|
540
538
|
map.set(tag.key, {
|
|
541
539
|
tag,
|
|
542
540
|
effect: Context.unsafeGet(context, tag as any)
|
|
@@ -666,12 +664,12 @@ const makeErrorSchema = (
|
|
|
666
664
|
): Schema.Schema<unknown, HttpServerResponse.HttpServerResponse> => {
|
|
667
665
|
const schemas = new Set<Schema.Schema.Any>()
|
|
668
666
|
HttpApiSchema.deunionize(schemas, api.errorSchema)
|
|
669
|
-
|
|
670
|
-
|
|
667
|
+
for (const group of Object.values(api.groups)) {
|
|
668
|
+
for (const endpoint of Object.values(group.endpoints)) {
|
|
671
669
|
HttpApiSchema.deunionize(schemas, endpoint.errorSchema)
|
|
672
|
-
}
|
|
670
|
+
}
|
|
673
671
|
HttpApiSchema.deunionize(schemas, group.errorSchema)
|
|
674
|
-
}
|
|
672
|
+
}
|
|
675
673
|
return Schema.Union(...Array.from(schemas, toResponseError)) as any
|
|
676
674
|
}
|
|
677
675
|
|
package/src/HttpApiEndpoint.ts
CHANGED
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
import type { Brand } from "effect/Brand"
|
|
5
5
|
import * as Context from "effect/Context"
|
|
6
6
|
import type { Effect } from "effect/Effect"
|
|
7
|
-
import * as HashSet from "effect/HashSet"
|
|
8
7
|
import * as Option from "effect/Option"
|
|
9
8
|
import { type Pipeable, pipeArguments } from "effect/Pipeable"
|
|
10
9
|
import * as Predicate from "effect/Predicate"
|
|
@@ -64,7 +63,7 @@ export interface HttpApiEndpoint<
|
|
|
64
63
|
readonly successSchema: Schema.Schema<Success, unknown, R>
|
|
65
64
|
readonly errorSchema: Schema.Schema<Error, unknown, RE>
|
|
66
65
|
readonly annotations: Context.Context<never>
|
|
67
|
-
readonly middlewares:
|
|
66
|
+
readonly middlewares: ReadonlySet<HttpApiMiddleware.TagClassAny>
|
|
68
67
|
|
|
69
68
|
/**
|
|
70
69
|
* Add a schema for the success response of the endpoint. The status code
|
|
@@ -700,7 +699,7 @@ const Proto = {
|
|
|
700
699
|
}))
|
|
701
700
|
)
|
|
702
701
|
),
|
|
703
|
-
middlewares:
|
|
702
|
+
middlewares: new Set([...this.middlewares, middleware])
|
|
704
703
|
})
|
|
705
704
|
},
|
|
706
705
|
annotate(this: HttpApiEndpoint.AnyWithProps, tag: Context.Tag<any, any>, value: any) {
|
|
@@ -739,7 +738,7 @@ const makeProto = <
|
|
|
739
738
|
readonly successSchema: Schema.Schema<Success, unknown, R>
|
|
740
739
|
readonly errorSchema: Schema.Schema<Error, unknown, RE>
|
|
741
740
|
readonly annotations: Context.Context<never>
|
|
742
|
-
readonly middlewares:
|
|
741
|
+
readonly middlewares: ReadonlySet<HttpApiMiddleware.TagClassAny>
|
|
743
742
|
}): HttpApiEndpoint<Name, Method, Path, Payload, Headers, Success, Error, R, RE> =>
|
|
744
743
|
Object.assign(Object.create(Proto), options)
|
|
745
744
|
|
|
@@ -763,7 +762,7 @@ export const make = <Method extends HttpMethod>(method: Method) =>
|
|
|
763
762
|
successSchema: HttpApiSchema.NoContent as any,
|
|
764
763
|
errorSchema: Schema.Never as any,
|
|
765
764
|
annotations: Context.empty(),
|
|
766
|
-
middlewares:
|
|
765
|
+
middlewares: new Set()
|
|
767
766
|
})
|
|
768
767
|
|
|
769
768
|
/**
|
package/src/HttpApiGroup.ts
CHANGED
|
@@ -2,10 +2,9 @@
|
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
4
|
import * as Context from "effect/Context"
|
|
5
|
-
import * as HashMap from "effect/HashMap"
|
|
6
|
-
import * as HashSet from "effect/HashSet"
|
|
7
5
|
import { type Pipeable, pipeArguments } from "effect/Pipeable"
|
|
8
6
|
import * as Predicate from "effect/Predicate"
|
|
7
|
+
import * as Record from "effect/Record"
|
|
9
8
|
import * as Schema from "effect/Schema"
|
|
10
9
|
import type * as HttpApiEndpoint from "./HttpApiEndpoint.js"
|
|
11
10
|
import type { HttpApiDecodeError } from "./HttpApiError.js"
|
|
@@ -51,10 +50,10 @@ export interface HttpApiGroup<
|
|
|
51
50
|
readonly [TypeId]: TypeId
|
|
52
51
|
readonly identifier: Id
|
|
53
52
|
readonly topLevel: TopLevel
|
|
54
|
-
readonly endpoints:
|
|
53
|
+
readonly endpoints: Record.ReadonlyRecord<string, Endpoints>
|
|
55
54
|
readonly errorSchema: Schema.Schema<Error, unknown, R>
|
|
56
55
|
readonly annotations: Context.Context<never>
|
|
57
|
-
readonly middlewares:
|
|
56
|
+
readonly middlewares: ReadonlySet<HttpApiMiddleware.TagClassAny>
|
|
58
57
|
|
|
59
58
|
/**
|
|
60
59
|
* Add an `HttpApiEndpoint` to an `HttpApiGroup`.
|
|
@@ -272,7 +271,10 @@ const Proto = {
|
|
|
272
271
|
return makeProto({
|
|
273
272
|
identifier: this.identifier,
|
|
274
273
|
topLevel: this.topLevel,
|
|
275
|
-
endpoints:
|
|
274
|
+
endpoints: {
|
|
275
|
+
...this.endpoints,
|
|
276
|
+
[endpoint.name]: endpoint
|
|
277
|
+
},
|
|
276
278
|
errorSchema: this.errorSchema,
|
|
277
279
|
annotations: this.annotations,
|
|
278
280
|
middlewares: this.middlewares
|
|
@@ -301,7 +303,7 @@ const Proto = {
|
|
|
301
303
|
return makeProto({
|
|
302
304
|
identifier: this.identifier,
|
|
303
305
|
topLevel: this.topLevel,
|
|
304
|
-
endpoints:
|
|
306
|
+
endpoints: Record.map(this.endpoints, (endpoint) => endpoint.prefix(prefix)),
|
|
305
307
|
errorSchema: this.errorSchema,
|
|
306
308
|
annotations: this.annotations,
|
|
307
309
|
middlewares: this.middlewares
|
|
@@ -319,14 +321,14 @@ const Proto = {
|
|
|
319
321
|
}) as any)
|
|
320
322
|
),
|
|
321
323
|
annotations: this.annotations,
|
|
322
|
-
middlewares:
|
|
324
|
+
middlewares: new Set([...this.middlewares, middleware])
|
|
323
325
|
})
|
|
324
326
|
},
|
|
325
327
|
middlewareEndpoints(this: HttpApiGroup.AnyWithProps, middleware: HttpApiMiddleware.TagClassAny) {
|
|
326
328
|
return makeProto({
|
|
327
329
|
identifier: this.identifier,
|
|
328
330
|
topLevel: this.topLevel,
|
|
329
|
-
endpoints:
|
|
331
|
+
endpoints: Record.map(this.endpoints, (endpoint) => endpoint.middleware(middleware)),
|
|
330
332
|
errorSchema: this.errorSchema,
|
|
331
333
|
annotations: this.annotations,
|
|
332
334
|
middlewares: this.middlewares
|
|
@@ -356,7 +358,7 @@ const Proto = {
|
|
|
356
358
|
return makeProto({
|
|
357
359
|
identifier: this.identifier,
|
|
358
360
|
topLevel: this.topLevel,
|
|
359
|
-
endpoints:
|
|
361
|
+
endpoints: Record.map(this.endpoints, (endpoint) => endpoint.annotateContext(context)),
|
|
360
362
|
errorSchema: this.errorSchema,
|
|
361
363
|
annotations: this.annotations,
|
|
362
364
|
middlewares: this.middlewares
|
|
@@ -366,7 +368,7 @@ const Proto = {
|
|
|
366
368
|
return makeProto({
|
|
367
369
|
identifier: this.identifier,
|
|
368
370
|
topLevel: this.topLevel,
|
|
369
|
-
endpoints:
|
|
371
|
+
endpoints: Record.map(this.endpoints, (endpoint) => endpoint.annotate(tag, value)),
|
|
370
372
|
errorSchema: this.errorSchema,
|
|
371
373
|
annotations: this.annotations,
|
|
372
374
|
middlewares: this.middlewares
|
|
@@ -386,10 +388,10 @@ const makeProto = <
|
|
|
386
388
|
>(options: {
|
|
387
389
|
readonly identifier: Id
|
|
388
390
|
readonly topLevel: TopLevel
|
|
389
|
-
readonly endpoints:
|
|
391
|
+
readonly endpoints: Record.ReadonlyRecord<string, Endpoints>
|
|
390
392
|
readonly errorSchema: Schema.Schema<Error, unknown, R>
|
|
391
393
|
readonly annotations: Context.Context<never>
|
|
392
|
-
readonly middlewares:
|
|
394
|
+
readonly middlewares: ReadonlySet<HttpApiMiddleware.TagClassAny>
|
|
393
395
|
}): HttpApiGroup<Id, Endpoints, Error, R, TopLevel> => {
|
|
394
396
|
function HttpApiGroup() {}
|
|
395
397
|
Object.setPrototypeOf(HttpApiGroup, Proto)
|
|
@@ -411,8 +413,8 @@ export const make = <const Id extends string, const TopLevel extends (true | fal
|
|
|
411
413
|
makeProto({
|
|
412
414
|
identifier,
|
|
413
415
|
topLevel: options?.topLevel ?? false as any,
|
|
414
|
-
endpoints:
|
|
416
|
+
endpoints: Record.empty(),
|
|
415
417
|
errorSchema: Schema.Never as any,
|
|
416
418
|
annotations: Context.empty(),
|
|
417
|
-
middlewares:
|
|
419
|
+
middlewares: new Set()
|
|
418
420
|
})
|
package/src/OpenApi.ts
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import * as Context from "effect/Context"
|
|
5
5
|
import { globalValue } from "effect/GlobalValue"
|
|
6
|
-
import * as HashSet from "effect/HashSet"
|
|
7
6
|
import * as Option from "effect/Option"
|
|
8
7
|
import type { ReadonlyRecord } from "effect/Record"
|
|
9
8
|
import * as Schema from "effect/Schema"
|
|
@@ -173,7 +172,7 @@ export const fromApi = <A extends HttpApi.HttpApi.Any>(self: A): OpenAPISpec =>
|
|
|
173
172
|
Option.map(Context.getOption(api.annotations, Override), (override) => {
|
|
174
173
|
Object.assign(spec, override)
|
|
175
174
|
})
|
|
176
|
-
|
|
175
|
+
api.middlewares.forEach((middleware) => {
|
|
177
176
|
if (!HttpApiMiddleware.isSecurity(middleware)) {
|
|
178
177
|
return
|
|
179
178
|
}
|
|
@@ -218,7 +217,7 @@ export const fromApi = <A extends HttpApi.HttpApi.Any>(self: A): OpenAPISpec =>
|
|
|
218
217
|
Option.map(Context.getOption(endpoint.annotations, ExternalDocs), (externalDocs) => {
|
|
219
218
|
op.externalDocs = externalDocs
|
|
220
219
|
})
|
|
221
|
-
|
|
220
|
+
middleware.forEach((middleware) => {
|
|
222
221
|
if (!HttpApiMiddleware.isSecurity(middleware)) {
|
|
223
222
|
return
|
|
224
223
|
}
|