@effect/platform 0.69.28 → 0.69.30
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 +33 -0
- package/dist/cjs/HttpApi.js.map +1 -1
- package/dist/cjs/HttpApiBuilder.js +17 -1
- package/dist/cjs/HttpApiBuilder.js.map +1 -1
- package/dist/cjs/HttpApiClient.js +64 -5
- package/dist/cjs/HttpApiClient.js.map +1 -1
- package/dist/cjs/OpenApi.js +10 -22
- package/dist/cjs/OpenApi.js.map +1 -1
- package/dist/cjs/UrlParams.js +35 -1
- package/dist/cjs/UrlParams.js.map +1 -1
- package/dist/dts/HttpApi.d.ts +5 -0
- package/dist/dts/HttpApi.d.ts.map +1 -1
- package/dist/dts/HttpApiBuilder.d.ts.map +1 -1
- package/dist/dts/HttpApiClient.d.ts.map +1 -1
- package/dist/dts/OpenApi.d.ts +1 -1
- package/dist/dts/OpenApi.d.ts.map +1 -1
- package/dist/dts/UrlParams.d.ts +24 -0
- package/dist/dts/UrlParams.d.ts.map +1 -1
- package/dist/esm/HttpApi.js +33 -0
- package/dist/esm/HttpApi.js.map +1 -1
- package/dist/esm/HttpApiBuilder.js +17 -1
- package/dist/esm/HttpApiBuilder.js.map +1 -1
- package/dist/esm/HttpApiClient.js +64 -5
- package/dist/esm/HttpApiClient.js.map +1 -1
- package/dist/esm/OpenApi.js +10 -22
- package/dist/esm/OpenApi.js.map +1 -1
- package/dist/esm/UrlParams.js +33 -0
- package/dist/esm/UrlParams.js.map +1 -1
- package/package.json +1 -1
- package/src/HttpApi.ts +45 -0
- package/src/HttpApiBuilder.ts +19 -6
- package/src/HttpApiClient.ts +74 -8
- package/src/OpenApi.ts +10 -30
- package/src/UrlParams.ts +34 -0
|
@@ -4,16 +4,19 @@
|
|
|
4
4
|
import * as Context from "effect/Context";
|
|
5
5
|
import * as Effect from "effect/Effect";
|
|
6
6
|
import { identity } from "effect/Function";
|
|
7
|
+
import { globalValue } from "effect/GlobalValue";
|
|
7
8
|
import * as Option from "effect/Option";
|
|
8
9
|
import * as ParseResult from "effect/ParseResult";
|
|
9
10
|
import * as Schema from "effect/Schema";
|
|
10
11
|
import * as HttpApi from "./HttpApi.js";
|
|
11
12
|
import * as HttpApiSchema from "./HttpApiSchema.js";
|
|
13
|
+
import * as HttpBody from "./HttpBody.js";
|
|
12
14
|
import * as HttpClient from "./HttpClient.js";
|
|
13
15
|
import * as HttpClientError from "./HttpClientError.js";
|
|
14
16
|
import * as HttpClientRequest from "./HttpClientRequest.js";
|
|
15
17
|
import * as HttpClientResponse from "./HttpClientResponse.js";
|
|
16
18
|
import * as HttpMethod from "./HttpMethod.js";
|
|
19
|
+
import * as UrlParams from "./UrlParams.js";
|
|
17
20
|
/**
|
|
18
21
|
* @internal
|
|
19
22
|
*/
|
|
@@ -47,16 +50,26 @@ const makeClient = (api, options) => Effect.gen(function* () {
|
|
|
47
50
|
successes.forEach((ast, status) => {
|
|
48
51
|
decodeMap[status] = ast._tag === "None" ? responseAsVoid : schemaToResponse(ast.value);
|
|
49
52
|
});
|
|
50
|
-
const
|
|
53
|
+
const encodePayloadBody = endpoint.payloadSchema.pipe(Option.map(schema => {
|
|
54
|
+
if (HttpMethod.hasBody(endpoint.method)) {
|
|
55
|
+
return Schema.encodeUnknown(payloadSchemaBody(schema));
|
|
56
|
+
}
|
|
57
|
+
return Schema.encodeUnknown(schema);
|
|
58
|
+
}));
|
|
51
59
|
const encodeHeaders = endpoint.headersSchema.pipe(Option.map(Schema.encodeUnknown));
|
|
52
60
|
const encodeUrlParams = endpoint.urlParamsSchema.pipe(Option.map(Schema.encodeUnknown));
|
|
53
61
|
const endpointFn = request => Effect.gen(function* () {
|
|
54
62
|
let httpRequest = HttpClientRequest.make(endpoint.method)(request && request.path ? makeUrl(request.path) : endpoint.path);
|
|
55
|
-
if (request.payload instanceof FormData) {
|
|
63
|
+
if (request && request.payload instanceof FormData) {
|
|
56
64
|
httpRequest = HttpClientRequest.bodyFormData(httpRequest, request.payload);
|
|
57
|
-
} else if (
|
|
58
|
-
|
|
59
|
-
|
|
65
|
+
} else if (encodePayloadBody._tag === "Some") {
|
|
66
|
+
if (HttpMethod.hasBody(endpoint.method)) {
|
|
67
|
+
const body = yield* encodePayloadBody.value(request.payload);
|
|
68
|
+
httpRequest = HttpClientRequest.setBody(httpRequest, body);
|
|
69
|
+
} else {
|
|
70
|
+
const urlParams = yield* encodePayloadBody.value(request.payload);
|
|
71
|
+
httpRequest = HttpClientRequest.setUrlParams(httpRequest, urlParams);
|
|
72
|
+
}
|
|
60
73
|
}
|
|
61
74
|
if (encodeHeaders._tag === "Some") {
|
|
62
75
|
httpRequest = HttpClientRequest.setHeaders(httpRequest, yield* encodeHeaders.value(request.headers));
|
|
@@ -200,4 +213,50 @@ const statusCodeError = response => Effect.fail(new HttpClientError.ResponseErro
|
|
|
200
213
|
response
|
|
201
214
|
}));
|
|
202
215
|
const responseAsVoid = _response => Effect.void;
|
|
216
|
+
const HttpBodyFromSelf = /*#__PURE__*/Schema.declare(HttpBody.isHttpBody);
|
|
217
|
+
const payloadSchemaBody = schema => {
|
|
218
|
+
const members = schema.ast._tag === "Union" ? schema.ast.types : [schema.ast];
|
|
219
|
+
return Schema.Union(...members.map(bodyFromPayload));
|
|
220
|
+
};
|
|
221
|
+
const bodyFromPayloadCache = /*#__PURE__*/globalValue("@effect/platform/HttpApiClient/bodyFromPayloadCache", () => new WeakMap());
|
|
222
|
+
const bodyFromPayload = ast => {
|
|
223
|
+
if (bodyFromPayloadCache.has(ast)) {
|
|
224
|
+
return bodyFromPayloadCache.get(ast);
|
|
225
|
+
}
|
|
226
|
+
const schema = Schema.make(ast);
|
|
227
|
+
const encoding = HttpApiSchema.getEncoding(ast);
|
|
228
|
+
const transform = Schema.transformOrFail(HttpBodyFromSelf, schema, {
|
|
229
|
+
decode(fromA, _, ast) {
|
|
230
|
+
return ParseResult.fail(new ParseResult.Forbidden(ast, fromA, "encode only schema"));
|
|
231
|
+
},
|
|
232
|
+
encode(toI, _, ast) {
|
|
233
|
+
switch (encoding.kind) {
|
|
234
|
+
case "Json":
|
|
235
|
+
{
|
|
236
|
+
return HttpBody.json(toI).pipe(ParseResult.mapError(error => new ParseResult.Type(ast, toI, `Could not encode as JSON: ${error}`)));
|
|
237
|
+
}
|
|
238
|
+
case "Text":
|
|
239
|
+
{
|
|
240
|
+
if (typeof toI !== "string") {
|
|
241
|
+
return ParseResult.fail(new ParseResult.Type(ast, toI, "Expected a string"));
|
|
242
|
+
}
|
|
243
|
+
return ParseResult.succeed(HttpBody.text(toI));
|
|
244
|
+
}
|
|
245
|
+
case "UrlParams":
|
|
246
|
+
{
|
|
247
|
+
return ParseResult.succeed(HttpBody.urlParams(UrlParams.fromInput(toI)));
|
|
248
|
+
}
|
|
249
|
+
case "Uint8Array":
|
|
250
|
+
{
|
|
251
|
+
if (!(toI instanceof Uint8Array)) {
|
|
252
|
+
return ParseResult.fail(new ParseResult.Type(ast, toI, "Expected a Uint8Array"));
|
|
253
|
+
}
|
|
254
|
+
return ParseResult.succeed(HttpBody.uint8Array(toI));
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
});
|
|
259
|
+
bodyFromPayloadCache.set(ast, transform);
|
|
260
|
+
return transform;
|
|
261
|
+
};
|
|
203
262
|
//# sourceMappingURL=HttpApiClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpApiClient.js","names":["Context","Effect","identity","Option","ParseResult","Schema","HttpApi","HttpApiSchema","HttpClient","HttpClientError","HttpClientRequest","HttpClientResponse","HttpMethod","makeClient","api","options","gen","context","httpClient","pipe","baseUrl","undefined","mapRequest","prependUrl","transformClient","reflect","predicate","onGroup","onGroupOptions","onEndpoint","onEndpointOptions","endpoint","errors","successes","makeUrl","compilePath","path","decodeMap","orElse","statusOrElse","decodeResponse","matchStatus","forEach","ast","status","_tag","statusCodeError","decode","schemaToResponse","value","response","flatMap","fail","responseAsVoid","encodePayload","payloadSchema","map","encodeUnknown","encodeHeaders","headersSchema","encodeUrlParams","urlParamsSchema","endpointFn","request","httpRequest","make","method","payload","FormData","bodyFormData","hasBody","orDie","bodyJson","setUrlParams","setHeaders","headers","appendUrlParams","urlParams","execute","transformResponse","withResponse","scoped","catchIf","isParseError","die","mapInputContext","input","merge","client","group","topLevel","identifier","name","groupId","groupName","endpointName","paramsRegex","segments","split","len","length","_","params","url","i","schema","encoding","getEncoding","decodeUnknown","kind","responseJson","schemaBodyUrlParams","arrayBuffer","buffer","Uint8Array","text","void","try","JSON","parse","catch","cause","ResponseError","reason","_response"],"sources":["../../src/HttpApiClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"HttpApiClient.js","names":["Context","Effect","identity","globalValue","Option","ParseResult","Schema","HttpApi","HttpApiSchema","HttpBody","HttpClient","HttpClientError","HttpClientRequest","HttpClientResponse","HttpMethod","UrlParams","makeClient","api","options","gen","context","httpClient","pipe","baseUrl","undefined","mapRequest","prependUrl","transformClient","reflect","predicate","onGroup","onGroupOptions","onEndpoint","onEndpointOptions","endpoint","errors","successes","makeUrl","compilePath","path","decodeMap","orElse","statusOrElse","decodeResponse","matchStatus","forEach","ast","status","_tag","statusCodeError","decode","schemaToResponse","value","response","flatMap","fail","responseAsVoid","encodePayloadBody","payloadSchema","map","schema","hasBody","method","encodeUnknown","payloadSchemaBody","encodeHeaders","headersSchema","encodeUrlParams","urlParamsSchema","endpointFn","request","httpRequest","make","payload","FormData","bodyFormData","body","setBody","urlParams","setUrlParams","setHeaders","headers","appendUrlParams","execute","transformResponse","withResponse","scoped","catchIf","isParseError","die","mapInputContext","input","merge","client","group","topLevel","identifier","name","groupId","groupName","endpointName","paramsRegex","segments","split","len","length","_","params","url","i","encoding","getEncoding","decodeUnknown","kind","responseJson","schemaBodyUrlParams","arrayBuffer","buffer","Uint8Array","text","void","try","JSON","parse","catch","cause","ResponseError","reason","_response","HttpBodyFromSelf","declare","isHttpBody","members","types","Union","bodyFromPayload","bodyFromPayloadCache","WeakMap","has","get","transform","transformOrFail","fromA","Forbidden","encode","toI","json","mapError","error","Type","succeed","fromInput","uint8Array","set"],"sources":["../../src/HttpApiClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/OpenApi.js
CHANGED
|
@@ -113,7 +113,7 @@ export const fromApi = self => {
|
|
|
113
113
|
const api = self;
|
|
114
114
|
const jsonSchemaDefs = {};
|
|
115
115
|
let spec = {
|
|
116
|
-
openapi: "3.0
|
|
116
|
+
openapi: "3.1.0",
|
|
117
117
|
info: {
|
|
118
118
|
title: Context.getOrElse(api.annotations, Title, () => "Api"),
|
|
119
119
|
version: Context.getOrElse(api.annotations, Version, () => "0.0.1")
|
|
@@ -191,6 +191,7 @@ export const fromApi = self => {
|
|
|
191
191
|
errors,
|
|
192
192
|
group,
|
|
193
193
|
middleware,
|
|
194
|
+
payloads,
|
|
194
195
|
successes
|
|
195
196
|
}) {
|
|
196
197
|
const path = endpoint.path.replace(/:(\w+)[^/]*/g, "{$1}");
|
|
@@ -225,33 +226,20 @@ export const fromApi = self => {
|
|
|
225
226
|
});
|
|
226
227
|
}
|
|
227
228
|
});
|
|
228
|
-
|
|
229
|
+
if (payloads.size > 0) {
|
|
229
230
|
const content = {};
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
multipartTypes.push(member);
|
|
236
|
-
} else {
|
|
237
|
-
jsonTypes.push(member);
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
if (jsonTypes.length > 0) {
|
|
241
|
-
content["application/json"] = {
|
|
242
|
-
schema: makeJsonSchemaOrRef(Schema.make(AST.Union.make(jsonTypes)))
|
|
243
|
-
};
|
|
244
|
-
}
|
|
245
|
-
if (multipartTypes.length > 0) {
|
|
246
|
-
content["multipart/form-data"] = {
|
|
247
|
-
schema: makeJsonSchemaOrRef(Schema.make(AST.Union.make(multipartTypes)))
|
|
231
|
+
payloads.forEach(({
|
|
232
|
+
ast
|
|
233
|
+
}, contentType) => {
|
|
234
|
+
content[contentType] = {
|
|
235
|
+
schema: makeJsonSchemaOrRef(Schema.make(ast))
|
|
248
236
|
};
|
|
249
|
-
}
|
|
237
|
+
});
|
|
250
238
|
op.requestBody = {
|
|
251
239
|
content,
|
|
252
240
|
required: true
|
|
253
241
|
};
|
|
254
|
-
}
|
|
242
|
+
}
|
|
255
243
|
for (const [status, ast] of successes) {
|
|
256
244
|
if (op.responses[status]) continue;
|
|
257
245
|
op.responses[status] = {
|
package/dist/esm/OpenApi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenApi.js","names":["Context","globalValue","Option","Schema","AST","HttpApi","HttpApiMiddleware","HttpApiSchema","HttpMethod","JsonSchema","Identifier","Tag","Title","Version","Description","License","ExternalDocs","Servers","Format","Summary","Deprecated","Override","Transform","contextPartial","tags","entries","Object","options","context","empty","key","tag","undefined","add","annotations","identifier","title","version","description","license","summary","externalDocs","servers","format","override","transform","apiCache","WeakMap","fromApi","self","has","get","api","jsonSchemaDefs","spec","openapi","info","getOrElse","paths","components","schemas","securitySchemes","security","makeJsonSchemaOrRef","schema","makeWithDefs","defs","defsPath","registerSecurity","name","scheme","makeSecurityScheme","map","getOption","AdditionalSchemas","componentSchemas","forEach","componentSchema","assign","middlewares","middleware","isSecurity","push","reflect","onGroup","group","onEndpoint","endpoint","errors","successes","path","replace","method","toLowerCase","op","operationId","topLevel","parameters","responses","deprecated","payloadSchema","pipe","filter","hasBody","content","members","ast","_tag","types","jsonTypes","multipartTypes","member","getMultipart","length","make","Union","requestBody","required","status","getDescriptionOrIdentifier","getEmptyDecodeable","isSome","pathSchema","value","properties","jsonSchema","in","includes","headersSchema","urlParamsSchema","transformFn","set","meta","type","bearerFormat","getOrUndefined","to","flatMapNullable","DescriptionAnnotationId","IdentifierAnnotationId"],"sources":["../../src/OpenApi.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"OpenApi.js","names":["Context","globalValue","Option","Schema","AST","HttpApi","HttpApiMiddleware","HttpApiSchema","HttpMethod","JsonSchema","Identifier","Tag","Title","Version","Description","License","ExternalDocs","Servers","Format","Summary","Deprecated","Override","Transform","contextPartial","tags","entries","Object","options","context","empty","key","tag","undefined","add","annotations","identifier","title","version","description","license","summary","externalDocs","servers","format","override","transform","apiCache","WeakMap","fromApi","self","has","get","api","jsonSchemaDefs","spec","openapi","info","getOrElse","paths","components","schemas","securitySchemes","security","makeJsonSchemaOrRef","schema","makeWithDefs","defs","defsPath","registerSecurity","name","scheme","makeSecurityScheme","map","getOption","AdditionalSchemas","componentSchemas","forEach","componentSchema","assign","middlewares","middleware","isSecurity","push","reflect","onGroup","group","onEndpoint","endpoint","errors","payloads","successes","path","replace","method","toLowerCase","op","operationId","topLevel","parameters","responses","deprecated","size","content","ast","contentType","make","requestBody","required","status","getDescriptionOrIdentifier","pipe","filter","getEmptyDecodeable","isSome","pathSchema","value","properties","jsonSchema","in","includes","hasBody","payloadSchema","headersSchema","urlParamsSchema","transformFn","set","meta","_tag","type","bearerFormat","getOrUndefined","to","flatMapNullable","DescriptionAnnotationId","IdentifierAnnotationId"],"sources":["../../src/OpenApi.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/UrlParams.js
CHANGED
|
@@ -119,6 +119,39 @@ const baseUrl = () => {
|
|
|
119
119
|
}
|
|
120
120
|
return undefined;
|
|
121
121
|
};
|
|
122
|
+
/**
|
|
123
|
+
* Builds a `Record` containing all the key-value pairs in the given `UrlParams`
|
|
124
|
+
* as `string` (if only one value for a key) or a `NonEmptyArray<string>`
|
|
125
|
+
* (when more than one value for a key)
|
|
126
|
+
*
|
|
127
|
+
* @example
|
|
128
|
+
* import { UrlParams } from "@effect/platform"
|
|
129
|
+
*
|
|
130
|
+
* const urlParams = UrlParams.fromInput({ a: 1, b: true, c: "string", e: [1, 2, 3] })
|
|
131
|
+
* const result = UrlParams.toRecord(urlParams)
|
|
132
|
+
*
|
|
133
|
+
* assert.deepStrictEqual(
|
|
134
|
+
* result,
|
|
135
|
+
* { "a": "1", "b": "true", "c": "string", "e": ["1", "2", "3"] }
|
|
136
|
+
* )
|
|
137
|
+
*
|
|
138
|
+
* @since 1.0.0
|
|
139
|
+
* @category conversions
|
|
140
|
+
*/
|
|
141
|
+
export const toRecord = self => {
|
|
142
|
+
const out = {};
|
|
143
|
+
for (const [k, value] of self) {
|
|
144
|
+
const curr = out[k];
|
|
145
|
+
if (curr === undefined) {
|
|
146
|
+
out[k] = value;
|
|
147
|
+
} else if (typeof curr === "string") {
|
|
148
|
+
out[k] = [curr, value];
|
|
149
|
+
} else {
|
|
150
|
+
curr.push(value);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
return out;
|
|
154
|
+
};
|
|
122
155
|
/**
|
|
123
156
|
* @since 1.0.0
|
|
124
157
|
* @category schema
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UrlParams.js","names":["Arr","Either","dual","Option","Schema","fromInput","input","entries","Symbol","iterator","fromIterable","Object","out","key","value","Array","isArray","i","length","undefined","push","String","schema","Tuple","annotations","identifier","empty","getAll","self","reduce","acc","k","getFirst","map","findFirst","getLast","findLast","set","append","filter","setAll","toSet","keys","appendAll","includes","remove","toString","URLSearchParams","makeUrl","url","params","hash","urlInstance","URL","baseUrl","searchParams","_tag","right","e","left","globalThis","location","origin","pathname","schemaJson","options","parse","decodeUnknown","parseJson","field","getOrElse"],"sources":["../../src/UrlParams.ts"],"sourcesContent":[null],"mappings":"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
|
|
1
|
+
{"version":3,"file":"UrlParams.js","names":["Arr","Either","dual","Option","Schema","fromInput","input","entries","Symbol","iterator","fromIterable","Object","out","key","value","Array","isArray","i","length","undefined","push","String","schema","Tuple","annotations","identifier","empty","getAll","self","reduce","acc","k","getFirst","map","findFirst","getLast","findLast","set","append","filter","setAll","toSet","keys","appendAll","includes","remove","toString","URLSearchParams","makeUrl","url","params","hash","urlInstance","URL","baseUrl","searchParams","_tag","right","e","left","globalThis","location","origin","pathname","toRecord","curr","schemaJson","options","parse","decodeUnknown","parseJson","field","getOrElse"],"sources":["../../src/UrlParams.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
package/src/HttpApi.ts
CHANGED
|
@@ -282,6 +282,10 @@ export const reflect = <Groups extends HttpApiGroup.HttpApiGroup.Any, Error, R>(
|
|
|
282
282
|
readonly endpoint: HttpApiEndpoint.HttpApiEndpoint<string, HttpMethod>
|
|
283
283
|
readonly mergedAnnotations: Context.Context<never>
|
|
284
284
|
readonly middleware: ReadonlySet<HttpApiMiddleware.TagClassAny>
|
|
285
|
+
readonly payloads: ReadonlyMap<string, {
|
|
286
|
+
readonly encoding: HttpApiSchema.Encoding
|
|
287
|
+
readonly ast: AST.AST
|
|
288
|
+
}>
|
|
285
289
|
readonly successes: ReadonlyMap<number, Option.Option<AST.AST>>
|
|
286
290
|
readonly errors: ReadonlyMap<number, Option.Option<AST.AST>>
|
|
287
291
|
}) => void
|
|
@@ -311,6 +315,7 @@ export const reflect = <Groups extends HttpApiGroup.HttpApiGroup.Any, Error, R>(
|
|
|
311
315
|
endpoint,
|
|
312
316
|
middleware: new Set([...group.middlewares, ...endpoint.middlewares]),
|
|
313
317
|
mergedAnnotations: Context.merge(groupAnnotations, endpoint.annotations),
|
|
318
|
+
payloads: endpoint.payloadSchema._tag === "Some" ? extractPayloads(endpoint.payloadSchema.value.ast) : emptyMap,
|
|
314
319
|
successes: extractMembers(endpoint.successSchema.ast, new Map(), HttpApiSchema.getStatusSuccessAST),
|
|
315
320
|
errors
|
|
316
321
|
})
|
|
@@ -320,6 +325,8 @@ export const reflect = <Groups extends HttpApiGroup.HttpApiGroup.Any, Error, R>(
|
|
|
320
325
|
|
|
321
326
|
// -------------------------------------------------------------------------------------
|
|
322
327
|
|
|
328
|
+
const emptyMap = new Map<never, never>()
|
|
329
|
+
|
|
323
330
|
const extractMembers = (
|
|
324
331
|
topAst: AST.AST,
|
|
325
332
|
inherited: ReadonlyMap<number, Option.Option<AST.AST>>,
|
|
@@ -361,6 +368,44 @@ const extractMembers = (
|
|
|
361
368
|
return members
|
|
362
369
|
}
|
|
363
370
|
|
|
371
|
+
const extractPayloads = (topAst: AST.AST): ReadonlyMap<string, {
|
|
372
|
+
readonly encoding: HttpApiSchema.Encoding
|
|
373
|
+
readonly ast: AST.AST
|
|
374
|
+
}> => {
|
|
375
|
+
const members = new Map<string, {
|
|
376
|
+
encoding: HttpApiSchema.Encoding
|
|
377
|
+
ast: AST.AST
|
|
378
|
+
}>()
|
|
379
|
+
function process(ast: AST.AST) {
|
|
380
|
+
if (ast._tag === "NeverKeyword") {
|
|
381
|
+
return
|
|
382
|
+
}
|
|
383
|
+
ast = AST.annotations(ast, {
|
|
384
|
+
...topAst.annotations,
|
|
385
|
+
...ast.annotations
|
|
386
|
+
})
|
|
387
|
+
const encoding = HttpApiSchema.getEncoding(ast)
|
|
388
|
+
const contentType = HttpApiSchema.getMultipart(ast) ? "multipart/form-data" : encoding.contentType
|
|
389
|
+
const current = members.get(contentType)
|
|
390
|
+
if (current === undefined) {
|
|
391
|
+
members.set(contentType, {
|
|
392
|
+
encoding,
|
|
393
|
+
ast
|
|
394
|
+
})
|
|
395
|
+
} else {
|
|
396
|
+
current.ast = AST.Union.make([current.ast, ast])
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
if (topAst._tag === "Union") {
|
|
400
|
+
for (const type of topAst.types) {
|
|
401
|
+
process(type)
|
|
402
|
+
}
|
|
403
|
+
} else {
|
|
404
|
+
process(topAst)
|
|
405
|
+
}
|
|
406
|
+
return members
|
|
407
|
+
}
|
|
408
|
+
|
|
364
409
|
/**
|
|
365
410
|
* @since 1.0.0
|
|
366
411
|
* @category tags
|
package/src/HttpApiBuilder.ts
CHANGED
|
@@ -39,6 +39,7 @@ import * as HttpServerRequest from "./HttpServerRequest.js"
|
|
|
39
39
|
import * as HttpServerResponse from "./HttpServerResponse.js"
|
|
40
40
|
import * as OpenApi from "./OpenApi.js"
|
|
41
41
|
import type { Path } from "./Path.js"
|
|
42
|
+
import * as UrlParams from "./UrlParams.js"
|
|
42
43
|
|
|
43
44
|
/**
|
|
44
45
|
* The router that the API endpoints are attached to.
|
|
@@ -516,12 +517,24 @@ const requestPayload = (
|
|
|
516
517
|
| FileSystem
|
|
517
518
|
| Path
|
|
518
519
|
| Scope
|
|
519
|
-
> =>
|
|
520
|
-
HttpMethod.hasBody(request.method)
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
520
|
+
> => {
|
|
521
|
+
if (!HttpMethod.hasBody(request.method)) {
|
|
522
|
+
return Effect.succeed(urlParams)
|
|
523
|
+
}
|
|
524
|
+
const contentType = request.headers["content-type"]
|
|
525
|
+
? request.headers["content-type"].toLowerCase().trim()
|
|
526
|
+
: "application/json"
|
|
527
|
+
if (contentType.includes("application/json")) {
|
|
528
|
+
return Effect.orDie(request.json)
|
|
529
|
+
} else if (contentType.includes("multipart/form-data")) {
|
|
530
|
+
return Effect.orDie(request.multipart)
|
|
531
|
+
} else if (contentType.includes("x-www-form-urlencoded")) {
|
|
532
|
+
return Effect.map(Effect.orDie(request.urlParamsBody), UrlParams.toRecord)
|
|
533
|
+
} else if (contentType.startsWith("text/")) {
|
|
534
|
+
return Effect.orDie(request.text)
|
|
535
|
+
}
|
|
536
|
+
return Effect.map(Effect.orDie(request.arrayBuffer), (buffer) => new Uint8Array(buffer))
|
|
537
|
+
}
|
|
525
538
|
|
|
526
539
|
type MiddlewareMap = Map<string, {
|
|
527
540
|
readonly tag: HttpApiMiddleware.TagClassAny
|
package/src/HttpApiClient.ts
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import * as Context from "effect/Context"
|
|
5
5
|
import * as Effect from "effect/Effect"
|
|
6
6
|
import { identity } from "effect/Function"
|
|
7
|
+
import { globalValue } from "effect/GlobalValue"
|
|
7
8
|
import * as Option from "effect/Option"
|
|
8
9
|
import * as ParseResult from "effect/ParseResult"
|
|
9
10
|
import type * as Predicate from "effect/Predicate"
|
|
@@ -15,12 +16,14 @@ import * as HttpApi from "./HttpApi.js"
|
|
|
15
16
|
import type { HttpApiEndpoint } from "./HttpApiEndpoint.js"
|
|
16
17
|
import type { HttpApiGroup } from "./HttpApiGroup.js"
|
|
17
18
|
import * as HttpApiSchema from "./HttpApiSchema.js"
|
|
19
|
+
import * as HttpBody from "./HttpBody.js"
|
|
18
20
|
import * as HttpClient from "./HttpClient.js"
|
|
19
21
|
import * as HttpClientError from "./HttpClientError.js"
|
|
20
22
|
import * as HttpClientRequest from "./HttpClientRequest.js"
|
|
21
23
|
import * as HttpClientResponse from "./HttpClientResponse.js"
|
|
22
24
|
import * as HttpMethod from "./HttpMethod.js"
|
|
23
25
|
import type { HttpApiMiddleware } from "./index.js"
|
|
26
|
+
import * as UrlParams from "./UrlParams.js"
|
|
24
27
|
|
|
25
28
|
/**
|
|
26
29
|
* @since 1.0.0
|
|
@@ -160,8 +163,13 @@ const makeClient = <Groups extends HttpApiGroup.Any, ApiError, ApiR>(
|
|
|
160
163
|
successes.forEach((ast, status) => {
|
|
161
164
|
decodeMap[status] = ast._tag === "None" ? responseAsVoid : schemaToResponse(ast.value)
|
|
162
165
|
})
|
|
163
|
-
const
|
|
164
|
-
Option.map(
|
|
166
|
+
const encodePayloadBody = endpoint.payloadSchema.pipe(
|
|
167
|
+
Option.map((schema) => {
|
|
168
|
+
if (HttpMethod.hasBody(endpoint.method)) {
|
|
169
|
+
return Schema.encodeUnknown(payloadSchemaBody(schema as any))
|
|
170
|
+
}
|
|
171
|
+
return Schema.encodeUnknown(schema)
|
|
172
|
+
})
|
|
165
173
|
)
|
|
166
174
|
const encodeHeaders = endpoint.headersSchema.pipe(
|
|
167
175
|
Option.map(Schema.encodeUnknown)
|
|
@@ -180,13 +188,16 @@ const makeClient = <Groups extends HttpApiGroup.Any, ApiError, ApiR>(
|
|
|
180
188
|
let httpRequest = HttpClientRequest.make(endpoint.method)(
|
|
181
189
|
request && request.path ? makeUrl(request.path) : endpoint.path
|
|
182
190
|
)
|
|
183
|
-
if (request.payload instanceof FormData) {
|
|
191
|
+
if (request && request.payload instanceof FormData) {
|
|
184
192
|
httpRequest = HttpClientRequest.bodyFormData(httpRequest, request.payload)
|
|
185
|
-
} else if (
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
193
|
+
} else if (encodePayloadBody._tag === "Some") {
|
|
194
|
+
if (HttpMethod.hasBody(endpoint.method)) {
|
|
195
|
+
const body = (yield* encodePayloadBody.value(request.payload)) as HttpBody.HttpBody
|
|
196
|
+
httpRequest = HttpClientRequest.setBody(httpRequest, body)
|
|
197
|
+
} else {
|
|
198
|
+
const urlParams = (yield* encodePayloadBody.value(request.payload)) as Record<string, string>
|
|
199
|
+
httpRequest = HttpClientRequest.setUrlParams(httpRequest, urlParams)
|
|
200
|
+
}
|
|
190
201
|
}
|
|
191
202
|
if (encodeHeaders._tag === "Some") {
|
|
192
203
|
httpRequest = HttpClientRequest.setHeaders(
|
|
@@ -416,3 +427,58 @@ const statusCodeError = (response: HttpClientResponse.HttpClientResponse) =>
|
|
|
416
427
|
)
|
|
417
428
|
|
|
418
429
|
const responseAsVoid = (_response: HttpClientResponse.HttpClientResponse) => Effect.void
|
|
430
|
+
|
|
431
|
+
const HttpBodyFromSelf = Schema.declare(HttpBody.isHttpBody)
|
|
432
|
+
|
|
433
|
+
const payloadSchemaBody = (schema: Schema.Schema.All): Schema.Schema<any, HttpBody.HttpBody> => {
|
|
434
|
+
const members = schema.ast._tag === "Union" ? schema.ast.types : [schema.ast]
|
|
435
|
+
return Schema.Union(...members.map(bodyFromPayload)) as any
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
const bodyFromPayloadCache = globalValue(
|
|
439
|
+
"@effect/platform/HttpApiClient/bodyFromPayloadCache",
|
|
440
|
+
() => new WeakMap<AST.AST, Schema.Schema.Any>()
|
|
441
|
+
)
|
|
442
|
+
|
|
443
|
+
const bodyFromPayload = (ast: AST.AST) => {
|
|
444
|
+
if (bodyFromPayloadCache.has(ast)) {
|
|
445
|
+
return bodyFromPayloadCache.get(ast)!
|
|
446
|
+
}
|
|
447
|
+
const schema = Schema.make(ast)
|
|
448
|
+
const encoding = HttpApiSchema.getEncoding(ast)
|
|
449
|
+
const transform = Schema.transformOrFail(
|
|
450
|
+
HttpBodyFromSelf,
|
|
451
|
+
schema,
|
|
452
|
+
{
|
|
453
|
+
decode(fromA, _, ast) {
|
|
454
|
+
return ParseResult.fail(new ParseResult.Forbidden(ast, fromA, "encode only schema"))
|
|
455
|
+
},
|
|
456
|
+
encode(toI, _, ast) {
|
|
457
|
+
switch (encoding.kind) {
|
|
458
|
+
case "Json": {
|
|
459
|
+
return HttpBody.json(toI).pipe(
|
|
460
|
+
ParseResult.mapError((error) => new ParseResult.Type(ast, toI, `Could not encode as JSON: ${error}`))
|
|
461
|
+
)
|
|
462
|
+
}
|
|
463
|
+
case "Text": {
|
|
464
|
+
if (typeof toI !== "string") {
|
|
465
|
+
return ParseResult.fail(new ParseResult.Type(ast, toI, "Expected a string"))
|
|
466
|
+
}
|
|
467
|
+
return ParseResult.succeed(HttpBody.text(toI))
|
|
468
|
+
}
|
|
469
|
+
case "UrlParams": {
|
|
470
|
+
return ParseResult.succeed(HttpBody.urlParams(UrlParams.fromInput(toI as any)))
|
|
471
|
+
}
|
|
472
|
+
case "Uint8Array": {
|
|
473
|
+
if (!(toI instanceof Uint8Array)) {
|
|
474
|
+
return ParseResult.fail(new ParseResult.Type(ast, toI, "Expected a Uint8Array"))
|
|
475
|
+
}
|
|
476
|
+
return ParseResult.succeed(HttpBody.uint8Array(toI))
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
)
|
|
482
|
+
bodyFromPayloadCache.set(ast, transform)
|
|
483
|
+
return transform
|
|
484
|
+
}
|