effect 4.0.0-beta.97 → 4.0.0-beta.98
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/LayerRef.d.ts +4 -6
- package/dist/LayerRef.d.ts.map +1 -1
- package/dist/LayerRef.js +4 -6
- package/dist/LayerRef.js.map +1 -1
- package/dist/Number.d.ts.map +1 -1
- package/dist/Number.js +28 -10
- package/dist/Number.js.map +1 -1
- package/dist/Schema.d.ts +22 -22
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +36 -33
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +25 -10
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaError.d.ts +53 -0
- package/dist/SchemaError.d.ts.map +1 -0
- package/dist/SchemaError.js +61 -0
- package/dist/SchemaError.js.map +1 -0
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +17 -12
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +186 -224
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/effect.js +26 -8
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/schema/equivalence.js +1 -2
- package/dist/internal/schema/equivalence.js.map +1 -1
- package/dist/internal/schema/representation.js +1 -3
- package/dist/internal/schema/representation.js.map +1 -1
- package/dist/internal/schema/schema.d.ts +0 -13
- package/dist/internal/schema/schema.d.ts.map +1 -1
- package/dist/internal/schema/schema.js +4 -29
- package/dist/internal/schema/schema.js.map +1 -1
- package/dist/unstable/ai/McpSchema.d.ts +128 -128
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/cli/CliError.d.ts +8 -16
- package/dist/unstable/cli/CliError.d.ts.map +1 -1
- package/dist/unstable/cli/CliError.js +8 -16
- package/dist/unstable/cli/CliError.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +4 -3
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +3 -3
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts +6 -8
- package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -1
- package/dist/unstable/cli/GlobalFlag.js +6 -6
- package/dist/unstable/cli/GlobalFlag.js.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.d.ts +1 -1
- package/dist/unstable/cluster/EntityProxyServer.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.js +2 -4
- package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +15 -12
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/httpapi/HttpApi.d.ts +36 -15
- package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApi.js +19 -20
- package/dist/unstable/httpapi/HttpApi.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts +51 -62
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +68 -58
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts +53 -53
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +40 -30
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +165 -164
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js +31 -19
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +22 -0
- package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.js +31 -0
- package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.d.ts +55 -30
- package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.js +22 -29
- package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +8 -8
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.d.ts +2 -2
- package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.js +4 -3
- package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.d.ts +8 -0
- package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSwagger.d.ts +1 -1
- package/dist/unstable/httpapi/HttpApiSwagger.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiTest.d.ts +4 -4
- package/dist/unstable/httpapi/HttpApiTest.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiTest.js +9 -8
- package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +77 -37
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/httpapi/internal/html.js +6 -2
- package/dist/unstable/httpapi/internal/html.js.map +1 -1
- package/dist/unstable/httpapi/internal/mediaType.d.ts +2 -0
- package/dist/unstable/httpapi/internal/mediaType.d.ts.map +1 -0
- package/dist/unstable/httpapi/internal/mediaType.js +7 -0
- package/dist/unstable/httpapi/internal/mediaType.js.map +1 -0
- package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.js +16 -12
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/reactivity/Atom.js +1 -1
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +7 -7
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +3 -2
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts +3 -1
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +6 -3
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.js +1 -1
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/WorkflowProxyServer.d.ts +1 -1
- package/dist/unstable/workflow/WorkflowProxyServer.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowProxyServer.js +1 -2
- package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
- package/package.json +1 -1
- package/src/LayerRef.ts +4 -6
- package/src/Number.ts +29 -10
- package/src/Schema.ts +42 -34
- package/src/SchemaAST.ts +25 -13
- package/src/SchemaError.ts +64 -0
- package/src/SchemaGetter.ts +22 -16
- package/src/SchemaRepresentation.ts +165 -202
- package/src/index.ts +10 -0
- package/src/internal/effect.ts +39 -22
- package/src/internal/schema/equivalence.ts +1 -2
- package/src/internal/schema/representation.ts +4 -4
- package/src/internal/schema/schema.ts +4 -37
- package/src/unstable/cli/CliError.ts +24 -16
- package/src/unstable/cli/Command.ts +8 -8
- package/src/unstable/cli/GlobalFlag.ts +22 -33
- package/src/unstable/cluster/EntityProxyServer.ts +15 -17
- package/src/unstable/cluster/internal/entityManager.ts +48 -34
- package/src/unstable/httpapi/HttpApi.ts +72 -47
- package/src/unstable/httpapi/HttpApiBuilder.ts +320 -217
- package/src/unstable/httpapi/HttpApiClient.ts +196 -151
- package/src/unstable/httpapi/HttpApiEndpoint.ts +251 -447
- package/src/unstable/httpapi/HttpApiError.ts +33 -0
- package/src/unstable/httpapi/HttpApiGroup.ts +95 -74
- package/src/unstable/httpapi/HttpApiMiddleware.ts +10 -7
- package/src/unstable/httpapi/HttpApiScalar.ts +15 -12
- package/src/unstable/httpapi/HttpApiSchema.ts +8 -0
- package/src/unstable/httpapi/HttpApiSwagger.ts +2 -2
- package/src/unstable/httpapi/HttpApiTest.ts +15 -14
- package/src/unstable/httpapi/OpenApi.ts +74 -36
- package/src/unstable/httpapi/internal/html.ts +9 -2
- package/src/unstable/httpapi/internal/mediaType.ts +6 -0
- package/src/unstable/persistence/PersistedQueue.ts +16 -14
- package/src/unstable/reactivity/Atom.ts +1 -1
- package/src/unstable/reactivity/AtomHttpApi.ts +164 -162
- package/src/unstable/rpc/RpcServer.ts +10 -4
- package/src/unstable/workflow/DurableDeferred.ts +1 -1
- package/src/unstable/workflow/WorkflowProxyServer.ts +11 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entityManager.js","names":["Arr","Cause","Clock","Context","Duration","Effect","Equal","Exit","Fiber","identity","Latch","Metric","Option","CurrentLogAnnotations","Schedule","Schema","SchemaIssue","Scope","RpcServer","AlreadyProcessingMessage","EntityNotAssignedToRunner","MailboxFull","MalformedMessage","ClusterMetrics","isUninterruptibleForServer","Persisted","WithTransaction","ClusterSchema","CurrentAddress","CurrentRunnerAddress","KeepAliveLatch","KeepAliveRpc","Request","Message","MessageStorage","Reply","ShardingConfig","Snowflake","EntityReaper","internalInterruptors","ResourceMap","ResourceRef","make","fnUntraced","entity","buildHandlers","options","config","snowflakeGen","Generator","managerScope","scope","storageEnabled","storage","noop","mailboxCapacity","entityMailboxCapacity","clock","context","defectRetryPolicy","andThen","defaultRetryPolicy","retryDriver","toStepWithSleep","entityRpcs","Map","protocol","requests","set","_tag","activeServers","serverCloseLatches","processedRequestIds","Set","entities","address","sharding","hasShardId","shardId","endLatch","makeUnsafe","keepAliveLatch","addFinalizerExit","get","openUnsafe","delete","void","activeRequests","defectRequestIds","isRestartingDueToDefect","writeRef","from","isShuttingDown","handlerContext","mutate","pipe","add","runnerAddress","handlers","toHandlers","setContext","sandbox","tapError","cause","logError","retry","server","makeNoSerialization","spanPrefix","type","entityId","spanAttributes","concurrency","disableFatalDefects","onFromServer","response","request","requestId","sentReply","hasInterrupts","exit","has","message","annotations","write","envelope","id","tag","payload","lastSentChunk","forkIn","unregisterReplyHandler","retryRespond","suspend","respond","WithExit","nextUnsafe","flatMap","size","state","lastActiveCheck","currentTimeMillisUnsafe","orDie","sequence","reply","Chunk","values","some","onDefect","die","defect","open","provide","merge","addFinalizer","sync","clear","keys","effect","rebuildUnsafe","ignore","ensuring","annotateLogs","module","runner","catchCause","clientId","current","await","value","keepAliveEnabled","withFiber","fiber","interruptible","timeoutOption","entityTerminationTimeout","provideService","reaper","maxIdleTime","toMillis","fromInputUnsafe","entityMaxIdleTime","Number","isFinite","register","servers","typeAttributes","CurrentMetricAttributes","updateUnsafe","BigInt","sleep","forever","sendLocal","entry","fail","envelopeId","rpc","msg","whenOpen","startImmediately","asVoid","filter","lastSentReply","match","onNone","onSome","withTransaction","isSome","replyId","interruptors","decodeMessage","makeMessageDecode","runFork","runForkWith","interruptShard","loop","fibers","empty","forEach","symbol","push","removeIgnore","latch","length","joinAll","isProcessingFor","excludeReplies","undefined","clearProcessed","send","matchEffect","onFailure","ReplyWithContext","onSuccess","decoded","IncomingEnvelope","IncomingRequestLocal","Dynamic","provideContext","activeEntityCount","min","exponential","spaced","decodeRequest","fnUntracedEager","decodeEffect","toCodecJson","payloadSchema","isNone","succeed","SchemaError","InvalidValue","times","catch","delay"],"sources":["../../../../src/unstable/cluster/internal/entityManager.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"entityManager.js","names":["Arr","Cause","Clock","Context","Duration","Effect","Equal","Exit","Fiber","identity","Latch","Metric","Option","CurrentLogAnnotations","Schedule","Schema","SchemaIssue","Scope","RpcServer","AlreadyProcessingMessage","EntityNotAssignedToRunner","MailboxFull","MalformedMessage","ClusterMetrics","isUninterruptibleForServer","Persisted","WithTransaction","ClusterSchema","CurrentAddress","CurrentRunnerAddress","KeepAliveLatch","KeepAliveRpc","Request","Message","MessageStorage","Reply","ShardingConfig","Snowflake","EntityReaper","internalInterruptors","ResourceMap","ResourceRef","make","fnUntraced","entity","buildHandlers","options","config","snowflakeGen","Generator","managerScope","scope","storageEnabled","storage","noop","mailboxCapacity","entityMailboxCapacity","clock","context","defectRetryPolicy","andThen","defaultRetryPolicy","retryDriver","toStepWithSleep","entityRpcs","Map","protocol","requests","set","_tag","activeServers","serverCloseLatches","processedRequestIds","Set","entities","address","sharding","hasShardId","shardId","endLatch","makeUnsafe","keepAliveLatch","addFinalizerExit","get","openUnsafe","delete","void","activeRequests","defectRequestIds","isRestartingDueToDefect","writeRef","from","isShuttingDown","handlerContext","mutate","pipe","add","runnerAddress","handlers","toHandlers","setContext","sandbox","tapError","cause","logError","retry","server","makeNoSerialization","spanPrefix","type","entityId","spanAttributes","concurrency","disableFatalDefects","onFromServer","response","request","requestId","sentReply","hasInterrupts","exit","has","message","annotations","write","envelope","id","tag","payload","lastSentChunk","rpc","onRequest","withTransaction","undefined","forkIn","unregisterReplyHandler","retryRespond","suspend","respond","WithExit","nextUnsafe","flatMap","size","state","lastActiveCheck","currentTimeMillisUnsafe","orDie","sequence","reply","Chunk","values","some","onDefect","die","defect","open","provide","merge","addFinalizer","sync","clear","keys","effect","rebuildUnsafe","ignore","ensuring","annotateLogs","module","runner","catchCause","clientId","writeOptions","current","await","value","keepAliveEnabled","withFiber","fiber","interruptible","timeoutOption","entityTerminationTimeout","provideService","reaper","maxIdleTime","toMillis","fromInputUnsafe","entityMaxIdleTime","Number","isFinite","register","servers","typeAttributes","CurrentMetricAttributes","updateUnsafe","BigInt","sleep","forever","sendLocal","entry","fail","envelopeId","msg","whenOpen","startImmediately","asVoid","filter","lastSentReply","match","onNone","onSome","isSome","replyId","interruptors","decodeMessage","makeMessageDecode","runFork","runForkWith","interruptShard","loop","fibers","empty","forEach","symbol","push","removeIgnore","latch","length","joinAll","isProcessingFor","excludeReplies","clearProcessed","send","matchEffect","onFailure","ReplyWithContext","onSuccess","decoded","IncomingEnvelope","IncomingRequestLocal","Dynamic","provideContext","activeEntityCount","min","exponential","spaced","decodeRequest","fnUntracedEager","decodeEffect","toCodecJson","payloadSchema","isNone","succeed","SchemaError","InvalidValue","times","catch","delay"],"sources":["../../../../src/unstable/cluster/internal/entityManager.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -12,7 +12,6 @@ import type { NonEmptyReadonlyArray } from "../../Array.ts";
|
|
|
12
12
|
import * as Context from "../../Context.ts";
|
|
13
13
|
import { type Pipeable } from "../../Pipeable.ts";
|
|
14
14
|
import * as Predicate from "../../Predicate.ts";
|
|
15
|
-
import * as Record from "../../Record.ts";
|
|
16
15
|
import type * as Schema from "../../Schema.ts";
|
|
17
16
|
import type { PathInput } from "../http/HttpRouter.ts";
|
|
18
17
|
import * as HttpApiEndpoint from "./HttpApiEndpoint.ts";
|
|
@@ -25,7 +24,13 @@ declare const TypeId = "~effect/httpapi/HttpApi";
|
|
|
25
24
|
* @category guards
|
|
26
25
|
* @since 4.0.0
|
|
27
26
|
*/
|
|
28
|
-
export declare const isHttpApi: (u: unknown) => u is
|
|
27
|
+
export declare const isHttpApi: (u: unknown) => u is Top;
|
|
28
|
+
/**
|
|
29
|
+
* Groups indexed by their identifier.
|
|
30
|
+
*/
|
|
31
|
+
type GroupMap<Groups> = {
|
|
32
|
+
readonly [Group in Groups as HttpApiGroup.Identifier<Group>]: Group;
|
|
33
|
+
};
|
|
29
34
|
/**
|
|
30
35
|
* An `HttpApi` is a collection of HTTP API groups and endpoints that represents a
|
|
31
36
|
* portion of your domain.
|
|
@@ -38,20 +43,35 @@ export declare const isHttpApi: (u: unknown) => u is Any;
|
|
|
38
43
|
* @category models
|
|
39
44
|
* @since 4.0.0
|
|
40
45
|
*/
|
|
41
|
-
export interface HttpApi<out Id extends string, out Groups extends HttpApiGroup.
|
|
46
|
+
export interface HttpApi<out Id extends string, in out Groups extends HttpApiGroup.Constraint = never> extends Pipeable {
|
|
42
47
|
new (_: never): {};
|
|
43
48
|
readonly [TypeId]: typeof TypeId;
|
|
44
49
|
readonly identifier: Id;
|
|
45
|
-
readonly groups:
|
|
50
|
+
readonly groups: GroupMap<Groups>;
|
|
46
51
|
readonly annotations: Context.Context<never>;
|
|
47
52
|
/**
|
|
48
53
|
* Add a `HttpApiGroup` to the `HttpApi`.
|
|
49
54
|
*/
|
|
50
|
-
add<const A extends NonEmptyReadonlyArray<HttpApiGroup.
|
|
55
|
+
add<const A extends NonEmptyReadonlyArray<HttpApiGroup.Constraint>>(...groups: A): HttpApi<Id, Groups | A[number]>;
|
|
51
56
|
/**
|
|
52
|
-
*
|
|
57
|
+
* Adds every group from another `HttpApi` while preserving its annotation scope.
|
|
58
|
+
*
|
|
59
|
+
* **When to use**
|
|
60
|
+
*
|
|
61
|
+
* Use when you want to compose an API from groups declared and annotated under another API.
|
|
62
|
+
*
|
|
63
|
+
* **Details**
|
|
64
|
+
*
|
|
65
|
+
* The added API is flattened into this API rather than retained as a nested value. Each added group
|
|
66
|
+
* is copied with the added API's annotations, leaving the added API unchanged. Annotation precedence
|
|
67
|
+
* from least to most specific is this API, the added API, the group, and then the endpoint.
|
|
68
|
+
*
|
|
69
|
+
* **Gotchas**
|
|
70
|
+
*
|
|
71
|
+
* Annotations from the added API do not become top-level annotations of the result and do not affect
|
|
72
|
+
* groups already present in this API. They remain scoped to the groups and endpoints being added.
|
|
53
73
|
*/
|
|
54
|
-
addHttpApi<Id2 extends string, Groups2 extends HttpApiGroup.
|
|
74
|
+
addHttpApi<Id2 extends string, Groups2 extends HttpApiGroup.Constraint>(api: HttpApi<Id2, Groups2>): HttpApi<Id, Groups | Groups2>;
|
|
55
75
|
/**
|
|
56
76
|
* Prefix all endpoints in the `HttpApi`.
|
|
57
77
|
*/
|
|
@@ -79,7 +99,7 @@ export interface HttpApi<out Id extends string, out Groups extends HttpApiGroup.
|
|
|
79
99
|
* @category models
|
|
80
100
|
* @since 4.0.0
|
|
81
101
|
*/
|
|
82
|
-
export interface
|
|
102
|
+
export interface Constraint {
|
|
83
103
|
readonly [TypeId]: typeof TypeId;
|
|
84
104
|
}
|
|
85
105
|
/**
|
|
@@ -89,7 +109,8 @@ export interface Any {
|
|
|
89
109
|
* @category models
|
|
90
110
|
* @since 4.0.0
|
|
91
111
|
*/
|
|
92
|
-
export
|
|
112
|
+
export interface Top extends HttpApi<string, HttpApiGroup.Top> {
|
|
113
|
+
}
|
|
93
114
|
/**
|
|
94
115
|
* Creates an empty `HttpApi` with the supplied identifier.
|
|
95
116
|
*
|
|
@@ -114,18 +135,18 @@ export declare const make: <const Id extends string>(identifier: Id) => HttpApi<
|
|
|
114
135
|
* @category reflection
|
|
115
136
|
* @since 4.0.0
|
|
116
137
|
*/
|
|
117
|
-
export declare const reflect: <Id extends string, Groups extends HttpApiGroup.
|
|
138
|
+
export declare const reflect: <Id extends string, Groups extends HttpApiGroup.Constraint>(self: HttpApi<Id, Groups>, options: {
|
|
118
139
|
readonly predicate?: Predicate.Predicate<{
|
|
119
|
-
readonly endpoint: HttpApiEndpoint.
|
|
120
|
-
readonly group: HttpApiGroup.
|
|
140
|
+
readonly endpoint: HttpApiEndpoint.Top;
|
|
141
|
+
readonly group: HttpApiGroup.Top;
|
|
121
142
|
}> | undefined;
|
|
122
143
|
readonly onGroup: (options: {
|
|
123
|
-
readonly group: HttpApiGroup.
|
|
144
|
+
readonly group: HttpApiGroup.Top;
|
|
124
145
|
readonly mergedAnnotations: Context.Context<never>;
|
|
125
146
|
}) => void;
|
|
126
147
|
readonly onEndpoint: (options: {
|
|
127
|
-
readonly group: HttpApiGroup.
|
|
128
|
-
readonly endpoint: HttpApiEndpoint.
|
|
148
|
+
readonly group: HttpApiGroup.Top;
|
|
149
|
+
readonly endpoint: HttpApiEndpoint.Top;
|
|
129
150
|
readonly mergedAnnotations: Context.Context<never>;
|
|
130
151
|
readonly middleware: ReadonlySet<HttpApiMiddleware.AnyService>;
|
|
131
152
|
readonly successes: ReadonlyMap<number, readonly [Schema.Top, ...Array<Schema.Top>]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpApi.d.ts","sourceRoot":"","sources":["../../../src/unstable/httpapi/HttpApi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAC3D,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"HttpApi.d.ts","sourceRoot":"","sources":["../../../src/unstable/httpapi/HttpApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as Context from "../../Context.js";
|
|
2
|
+
import * as internalRecord from "../../internal/record.js";
|
|
2
3
|
import { pipeArguments } from "../../Pipeable.js";
|
|
3
4
|
import * as Predicate from "../../Predicate.js";
|
|
4
5
|
import * as Record from "../../Record.js";
|
|
@@ -22,12 +23,11 @@ const Proto = {
|
|
|
22
23
|
...this.groups
|
|
23
24
|
};
|
|
24
25
|
for (const group of toAdd) {
|
|
25
|
-
groups
|
|
26
|
+
internalRecord.set(groups, group.identifier, group);
|
|
26
27
|
}
|
|
27
28
|
return makeProto({
|
|
28
|
-
|
|
29
|
-
groups
|
|
30
|
-
annotations: this.annotations
|
|
29
|
+
...optionsFromApi(this),
|
|
30
|
+
groups
|
|
31
31
|
});
|
|
32
32
|
},
|
|
33
33
|
addHttpApi(api) {
|
|
@@ -35,45 +35,44 @@ const Proto = {
|
|
|
35
35
|
...this.groups
|
|
36
36
|
};
|
|
37
37
|
for (const key in api.groups) {
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
newGroups[key] = newGroup;
|
|
38
|
+
const group = api.groups[key];
|
|
39
|
+
internalRecord.set(newGroups, key, group.annotateMerge(Context.merge(api.annotations, group.annotations)));
|
|
41
40
|
}
|
|
42
41
|
return makeProto({
|
|
43
|
-
|
|
44
|
-
groups: newGroups
|
|
45
|
-
annotations: this.annotations
|
|
42
|
+
...optionsFromApi(this),
|
|
43
|
+
groups: newGroups
|
|
46
44
|
});
|
|
47
45
|
},
|
|
48
46
|
prefix(prefix) {
|
|
49
47
|
return makeProto({
|
|
50
|
-
|
|
51
|
-
groups: Record.map(this.groups, group => group.prefix(prefix))
|
|
52
|
-
annotations: this.annotations
|
|
48
|
+
...optionsFromApi(this),
|
|
49
|
+
groups: Record.map(this.groups, group => group.prefix(prefix))
|
|
53
50
|
});
|
|
54
51
|
},
|
|
55
52
|
middleware(tag) {
|
|
56
53
|
return makeProto({
|
|
57
|
-
|
|
58
|
-
groups: Record.map(this.groups, group => group.middleware(tag))
|
|
59
|
-
annotations: this.annotations
|
|
54
|
+
...optionsFromApi(this),
|
|
55
|
+
groups: Record.map(this.groups, group => group.middleware(tag))
|
|
60
56
|
});
|
|
61
57
|
},
|
|
62
58
|
annotate(key, value) {
|
|
63
59
|
return makeProto({
|
|
64
|
-
|
|
65
|
-
groups: this.groups,
|
|
60
|
+
...optionsFromApi(this),
|
|
66
61
|
annotations: Context.add(this.annotations, key, value)
|
|
67
62
|
});
|
|
68
63
|
},
|
|
69
64
|
annotateMerge(annotations) {
|
|
70
65
|
return makeProto({
|
|
71
|
-
|
|
72
|
-
groups: this.groups,
|
|
66
|
+
...optionsFromApi(this),
|
|
73
67
|
annotations: Context.merge(this.annotations, annotations)
|
|
74
68
|
});
|
|
75
69
|
}
|
|
76
70
|
};
|
|
71
|
+
const optionsFromApi = api => ({
|
|
72
|
+
identifier: api.identifier,
|
|
73
|
+
groups: api.groups,
|
|
74
|
+
annotations: api.annotations
|
|
75
|
+
});
|
|
77
76
|
const makeProto = options => {
|
|
78
77
|
function HttpApi() {}
|
|
79
78
|
Object.setPrototypeOf(HttpApi, Proto);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpApi.js","names":["Context","pipeArguments","Predicate","Record","HttpApiEndpoint","HttpApiSchema","TypeId","isHttpApi","u","hasProperty","Proto","pipe","arguments","add","toAdd","groups","group","identifier","makeProto","
|
|
1
|
+
{"version":3,"file":"HttpApi.js","names":["Context","internalRecord","pipeArguments","Predicate","Record","HttpApiEndpoint","HttpApiSchema","TypeId","isHttpApi","u","hasProperty","Proto","pipe","arguments","add","toAdd","groups","group","set","identifier","makeProto","optionsFromApi","addHttpApi","api","newGroups","key","annotateMerge","merge","annotations","prefix","map","middleware","tag","annotate","value","options","HttpApi","Object","setPrototypeOf","assign","make","empty","reflect","self","values","groupAnnotations","onGroup","mergedAnnotations","endpoints","endpoint","predicate","onEndpoint","middlewares","successes","extractResponseContent","getSuccessSchemas","getStatusSuccess","errors","getErrorSchemas","getStatusError","schemas","getStatus","Map","forEach","schema","isStreamSchema","ast","status","get","undefined","push","AdditionalSchemas","Service"],"sources":["../../../src/unstable/httpapi/HttpApi.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -5,7 +5,7 @@ import type { Path } from "../../Path.ts";
|
|
|
5
5
|
import { type Pipeable } from "../../Pipeable.ts";
|
|
6
6
|
import * as Redacted from "../../Redacted.ts";
|
|
7
7
|
import * as Scope from "../../Scope.ts";
|
|
8
|
-
import type {
|
|
8
|
+
import type { NoInfer } from "../../Types.ts";
|
|
9
9
|
import type { Cookie } from "../http/Cookies.ts";
|
|
10
10
|
import type * as Etag from "../http/Etag.ts";
|
|
11
11
|
import type { HttpPlatform } from "../http/HttpPlatform.ts";
|
|
@@ -23,7 +23,7 @@ import type * as HttpApiSecurity from "./HttpApiSecurity.ts";
|
|
|
23
23
|
* @category constructors
|
|
24
24
|
* @since 4.0.0
|
|
25
25
|
*/
|
|
26
|
-
export declare const layer: <Id extends string, Groups extends HttpApiGroup.
|
|
26
|
+
export declare const layer: <Id extends string, Groups extends HttpApiGroup.Constraint>(api: HttpApi.HttpApi<Id, Groups>, options?: {
|
|
27
27
|
readonly openapiPath?: `/${string}` | undefined;
|
|
28
28
|
}) => Layer.Layer<never, never, Etag.Generator | HttpRouter.HttpRouter | FileSystem | HttpPlatform | Path | HttpApiGroup.ToService<Id, Groups>>;
|
|
29
29
|
/**
|
|
@@ -38,52 +38,65 @@ export declare const layer: <Id extends string, Groups extends HttpApiGroup.Any>
|
|
|
38
38
|
* @category handlers
|
|
39
39
|
* @since 4.0.0
|
|
40
40
|
*/
|
|
41
|
-
export declare const group: <ApiId extends string, Groups extends HttpApiGroup.
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
41
|
+
export declare const group: <ApiId extends string, Groups extends HttpApiGroup.Constraint, const Identifier extends HttpApiGroup.Identifier<Groups>, Return>(api: HttpApi.HttpApi<ApiId, Groups>, groupIdentifier: Identifier, build: (handlers: Handlers.FromGroup<HttpApiGroup.WithIdentifier<Groups, Identifier>>) => Handlers.ValidateReturn<Return>) => Layer.Layer<HttpApiGroup.Service<ApiId, Identifier>, Handlers.Error<Return>, Exclude<Handlers.Context<Return>, Scope.Scope>>;
|
|
42
|
+
declare const HandlersTypeId = "~effect/httpapi/HttpApiBuilder/Handlers";
|
|
43
|
+
type HandlerRequirements<Endpoint extends HttpApiEndpoint.Constraint, R1, R = HttpApiEndpoint.ExcludeProvided<Endpoint, R1 | HttpApiEndpoint.ServerServices<Endpoint>>> = HttpApiEndpoint.Middleware<Endpoint> | HttpApiEndpoint.MiddlewareServices<Endpoint> | ([R] extends [never] ? never : HttpRouter.Request<"Requires", R>);
|
|
44
|
+
interface HandlerOptions {
|
|
45
|
+
readonly uninterruptible?: boolean | undefined;
|
|
46
|
+
}
|
|
47
|
+
type HandleAllEntry<Endpoint extends HttpApiEndpoint.Constraint> = HttpApiEndpoint.Handler<Endpoint, HttpApiEndpoint.MiddlewareError<Endpoint>, unknown> | {
|
|
48
|
+
readonly handler: HttpApiEndpoint.Handler<Endpoint, HttpApiEndpoint.MiddlewareError<Endpoint>, unknown>;
|
|
49
|
+
readonly options?: HandlerOptions | undefined;
|
|
50
|
+
};
|
|
51
|
+
type HandleAllHandlers<EndpointsByIdentifier extends Record<string, HttpApiEndpoint.Constraint>> = {
|
|
52
|
+
readonly [Identifier in keyof EndpointsByIdentifier]?: HandleAllEntry<EndpointsByIdentifier[Identifier]>;
|
|
53
|
+
};
|
|
54
|
+
type HandleAllExtraKeys<EndpointsByIdentifier extends Record<string, HttpApiEndpoint.Constraint>, HandlersByIdentifier> = {
|
|
55
|
+
readonly [Identifier in Exclude<keyof HandlersByIdentifier, keyof EndpointsByIdentifier>]: never;
|
|
56
|
+
};
|
|
57
|
+
type NotHandledIdentifier<Identifier extends PropertyKey, HandledIdentifiers extends PropertyKey> = Identifier extends HandledIdentifiers ? never : unknown;
|
|
58
|
+
type HandleAllEntryHandler<Entry> = Entry extends {
|
|
59
|
+
readonly handler: infer Handler;
|
|
60
|
+
} ? Handler : Entry;
|
|
61
|
+
type HandleAllRequirements<EndpointsByIdentifier extends Record<string, HttpApiEndpoint.Constraint>, HandlersByIdentifier extends HandleAllHandlers<EndpointsByIdentifier>> = {
|
|
62
|
+
readonly [Identifier in keyof HandlersByIdentifier & keyof EndpointsByIdentifier]: HandleAllEntryHandler<HandlersByIdentifier[Identifier]> extends HttpApiEndpoint.Handler<EndpointsByIdentifier[Identifier], HttpApiEndpoint.MiddlewareError<EndpointsByIdentifier[Identifier]>, infer R1> ? HandlerRequirements<EndpointsByIdentifier[Identifier], R1> : never;
|
|
63
|
+
}[keyof HandlersByIdentifier & keyof EndpointsByIdentifier];
|
|
64
|
+
type HandlersResult<A> = A extends Effect.Effect<infer H, any, any> ? H : A;
|
|
65
|
+
type MissingHandlerNames<H extends Handlers<any, any, any>> = Exclude<keyof H["~EndpointsByIdentifier"], H["~HandledIdentifiers"]>;
|
|
66
|
+
type ValidateHandlersReturn<A, H = HandlersResult<A>, Missing = H extends Handlers<any, any, any> ? MissingHandlerNames<H> : never> = H extends Handlers<any, any, any> ? [Missing] extends [never] ? A : `Endpoint not handled: ${Missing & string}` : `Must return the implemented handlers`;
|
|
56
67
|
/**
|
|
57
68
|
* Mutable handler collection for one `HttpApi` group.
|
|
58
69
|
*
|
|
59
70
|
* **Details**
|
|
60
71
|
*
|
|
61
72
|
* Each call to `handle` or `handleRaw` registers an endpoint implementation and
|
|
62
|
-
*
|
|
63
|
-
*
|
|
73
|
+
* adds that endpoint identifier to the type-level set of implemented endpoints.
|
|
74
|
+
* Endpoint identifiers that were already handled are rejected at the type level.
|
|
64
75
|
*
|
|
65
76
|
* @category handlers
|
|
66
77
|
* @since 4.0.0
|
|
67
78
|
*/
|
|
68
|
-
export interface Handlers<R,
|
|
69
|
-
readonly [HandlersTypeId]:
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
readonly group: HttpApiGroup.AnyWithProps;
|
|
73
|
-
readonly handlers: Map<string, Handlers.Item<R>>;
|
|
79
|
+
export interface Handlers<R, EndpointsByIdentifier extends Record<string, HttpApiEndpoint.Constraint> = {}, HandledIdentifiers extends keyof EndpointsByIdentifier = never> extends Pipeable {
|
|
80
|
+
readonly [HandlersTypeId]: typeof HandlersTypeId;
|
|
81
|
+
readonly "~EndpointsByIdentifier": EndpointsByIdentifier;
|
|
82
|
+
readonly "~HandledIdentifiers": HandledIdentifiers;
|
|
74
83
|
/**
|
|
75
|
-
* Add the implementation for an `HttpApiEndpoint` to a `Handlers` group.
|
|
84
|
+
* Add the implementation for an unhandled `HttpApiEndpoint` to a `Handlers` group.
|
|
76
85
|
*/
|
|
77
|
-
handle<
|
|
86
|
+
handle<Identifier extends keyof EndpointsByIdentifier, R1>(identifier: Identifier & NotHandledIdentifier<Identifier, HandledIdentifiers>, handler: HttpApiEndpoint.Handler<EndpointsByIdentifier[Identifier], HttpApiEndpoint.MiddlewareError<EndpointsByIdentifier[Identifier]>, R1>, options?: {
|
|
78
87
|
readonly uninterruptible?: boolean | undefined;
|
|
79
|
-
} | undefined): Handlers<R |
|
|
88
|
+
} | undefined): Handlers<R | HandlerRequirements<EndpointsByIdentifier[Identifier], R1>, EndpointsByIdentifier, HandledIdentifiers | Identifier>;
|
|
80
89
|
/**
|
|
81
|
-
* Add
|
|
90
|
+
* Add implementations for unhandled `HttpApiEndpoint`s in a `Handlers` group.
|
|
91
|
+
*/
|
|
92
|
+
handleAll<const HandlersByIdentifier extends HandleAllHandlers<Omit<EndpointsByIdentifier, HandledIdentifiers>>>(handlers: HandlersByIdentifier & HandleAllExtraKeys<Omit<EndpointsByIdentifier, HandledIdentifiers>, HandlersByIdentifier>): Handlers<R | HandleAllRequirements<EndpointsByIdentifier, HandlersByIdentifier>, EndpointsByIdentifier, HandledIdentifiers | (keyof HandlersByIdentifier & keyof EndpointsByIdentifier)>;
|
|
93
|
+
/**
|
|
94
|
+
* Add the implementation for an unhandled `HttpApiEndpoint` to a `Handlers` group.
|
|
82
95
|
* This version opts out of automatic payload decoding and provides the raw request.
|
|
83
96
|
*/
|
|
84
|
-
handleRaw<
|
|
97
|
+
handleRaw<Identifier extends keyof EndpointsByIdentifier, R1>(identifier: Identifier & NotHandledIdentifier<Identifier, HandledIdentifiers>, handler: HttpApiEndpoint.HandlerRaw<EndpointsByIdentifier[Identifier], HttpApiEndpoint.MiddlewareError<EndpointsByIdentifier[Identifier]>, R1>, options?: {
|
|
85
98
|
readonly uninterruptible?: boolean | undefined;
|
|
86
|
-
} | undefined): Handlers<R |
|
|
99
|
+
} | undefined): Handlers<R | HandlerRequirements<EndpointsByIdentifier[Identifier], R1>, EndpointsByIdentifier, HandledIdentifiers | Identifier>;
|
|
87
100
|
}
|
|
88
101
|
/**
|
|
89
102
|
* Namespace containing helper types for `HttpApiBuilder` handler collections.
|
|
@@ -91,32 +104,6 @@ export interface Handlers<R, Endpoints extends HttpApiEndpoint.Any = never> exte
|
|
|
91
104
|
* @since 4.0.0
|
|
92
105
|
*/
|
|
93
106
|
export declare namespace Handlers {
|
|
94
|
-
/**
|
|
95
|
-
* A `Handlers` value with its context and endpoint types erased.
|
|
96
|
-
*
|
|
97
|
-
* @category handlers
|
|
98
|
-
* @since 4.0.0
|
|
99
|
-
*/
|
|
100
|
-
interface Any {
|
|
101
|
-
readonly [HandlersTypeId]: any;
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Record stored for a registered endpoint handler.
|
|
105
|
-
*
|
|
106
|
-
* **Details**
|
|
107
|
-
*
|
|
108
|
-
* It keeps the endpoint metadata, handler function, whether raw request handling
|
|
109
|
-
* is used, and whether the handler should run uninterruptibly.
|
|
110
|
-
*
|
|
111
|
-
* @category handlers
|
|
112
|
-
* @since 4.0.0
|
|
113
|
-
*/
|
|
114
|
-
type Item<R> = {
|
|
115
|
-
readonly endpoint: HttpApiEndpoint.AnyWithProps;
|
|
116
|
-
readonly handler: HttpApiEndpoint.Handler<any, any, R>;
|
|
117
|
-
readonly isRaw: boolean;
|
|
118
|
-
readonly uninterruptible: boolean;
|
|
119
|
-
};
|
|
120
107
|
/**
|
|
121
108
|
* Creates a handler collection for a group where every endpoint in the group is
|
|
122
109
|
* still awaiting an implementation.
|
|
@@ -124,7 +111,7 @@ export declare namespace Handlers {
|
|
|
124
111
|
* @category handlers
|
|
125
112
|
* @since 4.0.0
|
|
126
113
|
*/
|
|
127
|
-
type FromGroup<Group extends HttpApiGroup.
|
|
114
|
+
type FromGroup<Group extends HttpApiGroup.Constraint> = Handlers<never, Group["endpoints"]>;
|
|
128
115
|
/**
|
|
129
116
|
* Validates the return value of a group handler builder, preserving successful
|
|
130
117
|
* handler collections and producing a descriptive type error when endpoints remain
|
|
@@ -133,7 +120,7 @@ export declare namespace Handlers {
|
|
|
133
120
|
* @category handlers
|
|
134
121
|
* @since 4.0.0
|
|
135
122
|
*/
|
|
136
|
-
type ValidateReturn<A> =
|
|
123
|
+
type ValidateReturn<A> = ValidateHandlersReturn<A>;
|
|
137
124
|
/**
|
|
138
125
|
* Extracts the error channel from an effect that produces a `Handlers`
|
|
139
126
|
* collection, returning `never` for non-effectful handler collections.
|
|
@@ -141,7 +128,7 @@ export declare namespace Handlers {
|
|
|
141
128
|
* @category handlers
|
|
142
129
|
* @since 4.0.0
|
|
143
130
|
*/
|
|
144
|
-
type Error<A> = A extends Effect.Effect<Handlers<infer _R, infer
|
|
131
|
+
type Error<A> = A extends Effect.Effect<Handlers<infer _R, infer _EndpointsByIdentifier, infer _HandledIdentifiers>, infer _EX, infer _RX> ? _EX : never;
|
|
145
132
|
/**
|
|
146
133
|
* Extracts the services required by a handler collection, including both handler
|
|
147
134
|
* requirements and the environment required to construct the handlers.
|
|
@@ -149,8 +136,9 @@ export declare namespace Handlers {
|
|
|
149
136
|
* @category handlers
|
|
150
137
|
* @since 4.0.0
|
|
151
138
|
*/
|
|
152
|
-
type Context<A> = A extends Handlers<infer _R, infer
|
|
139
|
+
type Context<A> = A extends Handlers<infer _R, infer _EndpointsByIdentifier, infer _HandledIdentifiers> ? _R : A extends Effect.Effect<Handlers<infer _R, infer _EndpointsByIdentifier, infer _HandledIdentifiers>, infer _EX, infer _RX> ? _R | _RX : never;
|
|
153
140
|
}
|
|
141
|
+
type EndpointReturn<Groups extends HttpApiGroup.Constraint, GroupIdentifier extends HttpApiGroup.Identifier<Groups>, EndpointIdentifier extends HttpApiGroup.Endpoints<HttpApiGroup.WithIdentifier<Groups, GroupIdentifier>>["identifier"], R, Endpoint extends HttpApiEndpoint.Constraint = HttpApiEndpoint.WithIdentifier<HttpApiGroup.Endpoints<HttpApiGroup.WithIdentifier<Groups, GroupIdentifier>>, EndpointIdentifier>> = Effect.Effect<Effect.Effect<HttpServerResponse, never, HttpServerRequest | HttpRouter.RouteContext | Request.ParsedSearchParams | Exclude<R, HttpApiEndpoint.MiddlewareProvides<Endpoint>>>, never, HttpApiEndpoint.ServerServices<Endpoint> | HttpApiEndpoint.Middleware<Endpoint> | HttpApiEndpoint.MiddlewareServices<Endpoint> | Etag.Generator | FileSystem | HttpPlatform | Path>;
|
|
154
142
|
/**
|
|
155
143
|
* Builds the server-side HTTP effect for a single endpoint in an API group using
|
|
156
144
|
* the endpoint metadata, middleware, codecs, and supplied handler.
|
|
@@ -158,7 +146,7 @@ export declare namespace Handlers {
|
|
|
158
146
|
* @category handlers
|
|
159
147
|
* @since 4.0.0
|
|
160
148
|
*/
|
|
161
|
-
export declare const endpoint: <ApiId extends string, Groups extends HttpApiGroup.
|
|
149
|
+
export declare const endpoint: <ApiId extends string, Groups extends HttpApiGroup.Constraint, const GroupIdentifier extends HttpApiGroup.Identifier<Groups>, const EndpointIdentifier extends HttpApiGroup.Endpoints<HttpApiGroup.WithIdentifier<Groups, GroupIdentifier>>["identifier"], R>(api: HttpApi.HttpApi<ApiId, Groups>, groupIdentifier: GroupIdentifier, endpointIdentifier: EndpointIdentifier, handler: NoInfer<HttpApiEndpoint.HandlerWithIdentifier<HttpApiGroup.Endpoints<HttpApiGroup.WithIdentifier<Groups, GroupIdentifier>>, EndpointIdentifier, never, R>>) => EndpointReturn<Groups, GroupIdentifier, EndpointIdentifier, R>;
|
|
162
150
|
/**
|
|
163
151
|
* Decodes credentials for an HTTP API security scheme from the current request,
|
|
164
152
|
* supporting bearer, API key, and basic authentication inputs.
|
|
@@ -175,4 +163,5 @@ export declare const securityDecode: <Security extends HttpApiSecurity.HttpApiSe
|
|
|
175
163
|
* @since 4.0.0
|
|
176
164
|
*/
|
|
177
165
|
export declare const securitySetCookie: (self: HttpApiSecurity.ApiKey, value: string | Redacted.Redacted, options?: Cookie["options"]) => Effect.Effect<void, never, HttpServerRequest>;
|
|
166
|
+
export {};
|
|
178
167
|
//# sourceMappingURL=HttpApiBuilder.d.ts.map
|