@effect/platform 0.10.4 → 0.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/Effectify.d.ts.map +1 -1
  2. package/Http/Body.d.ts +129 -0
  3. package/Http/Body.d.ts.map +1 -0
  4. package/Http/Body.js +70 -0
  5. package/Http/Body.js.map +1 -0
  6. package/Http/Client.d.ts +213 -0
  7. package/Http/Client.d.ts.map +1 -0
  8. package/Http/Client.js +124 -0
  9. package/Http/Client.js.map +1 -0
  10. package/Http/ClientError.d.ts +70 -0
  11. package/Http/ClientError.d.ts.map +1 -0
  12. package/Http/ClientError.js +28 -0
  13. package/Http/ClientError.js.map +1 -0
  14. package/Http/ClientRequest.d.ts +317 -0
  15. package/Http/ClientRequest.d.ts.map +1 -0
  16. package/Http/ClientRequest.js +202 -0
  17. package/Http/ClientRequest.js.map +1 -0
  18. package/Http/ClientResponse.d.ts +36 -0
  19. package/Http/ClientResponse.d.ts.map +1 -0
  20. package/Http/ClientResponse.js +29 -0
  21. package/Http/ClientResponse.js.map +1 -0
  22. package/Http/FormData.d.ts +56 -0
  23. package/Http/FormData.d.ts.map +1 -0
  24. package/Http/FormData.js +13 -0
  25. package/Http/FormData.js.map +1 -0
  26. package/Http/Headers.d.ts +38 -0
  27. package/Http/Headers.d.ts.map +1 -0
  28. package/Http/Headers.js +54 -0
  29. package/Http/Headers.js.map +1 -0
  30. package/Http/IncomingMessage.d.ts +37 -0
  31. package/Http/IncomingMessage.d.ts.map +1 -0
  32. package/Http/IncomingMessage.js +30 -0
  33. package/Http/IncomingMessage.js.map +1 -0
  34. package/Http/Method.d.ts +10 -0
  35. package/Http/Method.d.ts.map +1 -0
  36. package/Http/Method.js +12 -0
  37. package/Http/Method.js.map +1 -0
  38. package/Http/UrlParams.d.ts +56 -0
  39. package/Http/UrlParams.d.ts.map +1 -0
  40. package/Http/UrlParams.js +74 -0
  41. package/Http/UrlParams.js.map +1 -0
  42. package/HttpClient.d.ts +32 -0
  43. package/HttpClient.d.ts.map +1 -0
  44. package/HttpClient.js +23 -0
  45. package/HttpClient.js.map +1 -0
  46. package/README.md +3 -0
  47. package/internal/console.js.map +1 -1
  48. package/internal/effectify.js.map +1 -1
  49. package/internal/error.js.map +1 -1
  50. package/internal/http/body.d.ts +2 -0
  51. package/internal/http/body.d.ts.map +1 -0
  52. package/internal/http/body.js +101 -0
  53. package/internal/http/body.js.map +1 -0
  54. package/internal/http/client.d.ts +3 -0
  55. package/internal/http/client.d.ts.map +1 -0
  56. package/internal/http/client.js +147 -0
  57. package/internal/http/client.js.map +1 -0
  58. package/internal/http/clientError.d.ts +2 -0
  59. package/internal/http/clientError.d.ts.map +1 -0
  60. package/internal/http/clientError.js +24 -0
  61. package/internal/http/clientError.js.map +1 -0
  62. package/internal/http/clientRequest.d.ts +2 -0
  63. package/internal/http/clientRequest.d.ts.map +1 -0
  64. package/internal/http/clientRequest.js +180 -0
  65. package/internal/http/clientRequest.js.map +1 -0
  66. package/internal/http/clientResponse.d.ts +2 -0
  67. package/internal/http/clientResponse.d.ts.map +1 -0
  68. package/internal/http/clientResponse.js +101 -0
  69. package/internal/http/clientResponse.js.map +1 -0
  70. package/mjs/Http/Body.mjs +52 -0
  71. package/mjs/Http/Body.mjs.map +1 -0
  72. package/mjs/Http/Client.mjs +97 -0
  73. package/mjs/Http/Client.mjs.map +1 -0
  74. package/mjs/Http/ClientError.mjs +17 -0
  75. package/mjs/Http/ClientError.mjs.map +1 -0
  76. package/mjs/Http/ClientRequest.mjs +162 -0
  77. package/mjs/Http/ClientRequest.mjs.map +1 -0
  78. package/mjs/Http/ClientResponse.mjs +18 -0
  79. package/mjs/Http/ClientResponse.mjs.map +1 -0
  80. package/mjs/Http/FormData.mjs +6 -0
  81. package/mjs/Http/FormData.mjs.map +1 -0
  82. package/mjs/Http/Headers.mjs +40 -0
  83. package/mjs/Http/Headers.mjs.map +1 -0
  84. package/mjs/Http/IncomingMessage.mjs +19 -0
  85. package/mjs/Http/IncomingMessage.mjs.map +1 -0
  86. package/mjs/Http/Method.mjs +5 -0
  87. package/mjs/Http/Method.mjs.map +1 -0
  88. package/mjs/Http/UrlParams.mjs +57 -0
  89. package/mjs/Http/UrlParams.mjs.map +1 -0
  90. package/mjs/HttpClient.mjs +18 -0
  91. package/mjs/HttpClient.mjs.map +1 -0
  92. package/mjs/internal/console.mjs.map +1 -1
  93. package/mjs/internal/effectify.mjs.map +1 -1
  94. package/mjs/internal/error.mjs.map +1 -1
  95. package/mjs/internal/http/body.mjs +83 -0
  96. package/mjs/internal/http/body.mjs.map +1 -0
  97. package/mjs/internal/http/client.mjs +120 -0
  98. package/mjs/internal/http/client.mjs.map +1 -0
  99. package/mjs/internal/http/clientError.mjs +13 -0
  100. package/mjs/internal/http/clientError.mjs.map +1 -0
  101. package/mjs/internal/http/clientRequest.mjs +138 -0
  102. package/mjs/internal/http/clientRequest.mjs.map +1 -0
  103. package/mjs/internal/http/clientResponse.mjs +91 -0
  104. package/mjs/internal/http/clientResponse.mjs.map +1 -0
  105. package/package.json +13 -8
  106. package/src/Effectify.ts +65 -65
  107. package/src/Http/Body.ts +148 -0
  108. package/src/Http/Client.ts +280 -0
  109. package/src/Http/ClientError.ts +80 -0
  110. package/src/Http/ClientRequest.ts +383 -0
  111. package/src/Http/ClientResponse.ts +42 -0
  112. package/src/Http/FormData.ts +61 -0
  113. package/src/Http/Headers.ts +69 -0
  114. package/src/Http/IncomingMessage.ts +45 -0
  115. package/src/Http/Method.ts +17 -0
  116. package/src/Http/UrlParams.ts +106 -0
  117. package/src/HttpClient.ts +32 -0
  118. package/src/internal/console.ts +6 -6
  119. package/src/internal/effectify.ts +14 -14
  120. package/src/internal/error.ts +2 -2
  121. package/src/internal/http/body.ts +113 -0
  122. package/src/internal/http/client.ts +437 -0
  123. package/src/internal/http/clientError.ts +20 -0
  124. package/src/internal/http/clientRequest.ts +390 -0
  125. package/src/internal/http/clientResponse.ts +114 -0
@@ -0,0 +1,138 @@
1
+ var _a;
2
+ import { dual } from "@effect/data/Function";
3
+ import { pipeArguments } from "@effect/data/Pipeable";
4
+ import * as Headers from "@effect/platform/Http/Headers";
5
+ import * as UrlParams from "@effect/platform/Http/UrlParams";
6
+ import * as internalBody from "@effect/platform/internal/http/body";
7
+ /** @internal */
8
+ export const TypeId = /*#__PURE__*/Symbol.for("@effect/platform/Http/ClientRequest");
9
+ class ClientRequestImpl {
10
+ constructor(method, url, urlParams, headers, body) {
11
+ this.method = method;
12
+ this.url = url;
13
+ this.urlParams = urlParams;
14
+ this.headers = headers;
15
+ this.body = body;
16
+ this[_a] = TypeId;
17
+ }
18
+ pipe() {
19
+ return pipeArguments(this, arguments);
20
+ }
21
+ }
22
+ _a = TypeId;
23
+ /** @internal */
24
+ export const isClientRequest = u => typeof u === "object" && u !== null && TypeId in u;
25
+ /** @internal */
26
+ export const empty = /*#__PURE__*/new ClientRequestImpl("GET", "", UrlParams.empty, Headers.empty, internalBody.empty);
27
+ /** @internal */
28
+ export const make = method => (url, options) => modify(empty, {
29
+ method,
30
+ url,
31
+ ...(options ?? {})
32
+ });
33
+ /** @internal */
34
+ export const get = /*#__PURE__*/make("GET");
35
+ /** @internal */
36
+ export const post = /*#__PURE__*/make("POST");
37
+ /** @internal */
38
+ export const put = /*#__PURE__*/make("PUT");
39
+ /** @internal */
40
+ export const patch = /*#__PURE__*/make("PATCH");
41
+ /** @internal */
42
+ export const del = /*#__PURE__*/make("DELETE");
43
+ /** @internal */
44
+ export const head = /*#__PURE__*/make("HEAD");
45
+ /** @internal */
46
+ export const options = /*#__PURE__*/make("OPTIONS");
47
+ /** @internal */
48
+ export const modify = /*#__PURE__*/dual(2, (self, options) => {
49
+ let result = self;
50
+ if (options.method) {
51
+ result = setMethod(result, options.method);
52
+ }
53
+ if (options.url) {
54
+ result = setUrl(result, options.url);
55
+ }
56
+ if (options.headers) {
57
+ result = setHeaders(result, options.headers);
58
+ }
59
+ if (options.urlParams) {
60
+ result = setUrlParams(result, options.urlParams);
61
+ }
62
+ if (options.body) {
63
+ result = setBody(result, options.body);
64
+ }
65
+ if (options.accept) {
66
+ result = accept(result, options.accept);
67
+ }
68
+ if (options.acceptJson) {
69
+ result = acceptJson(result);
70
+ }
71
+ return result;
72
+ });
73
+ /** @internal */
74
+ export const setHeader = /*#__PURE__*/dual(3, (self, key, value) => new ClientRequestImpl(self.method, self.url, self.urlParams, Headers.set(self.headers, key, value), self.body));
75
+ /** @internal */
76
+ export const setHeaders = /*#__PURE__*/dual(2, (self, input) => new ClientRequestImpl(self.method, self.url, self.urlParams, Headers.setAll(self.headers, input), self.body));
77
+ /** @internal */
78
+ export const basicAuth = /*#__PURE__*/dual(3, (self, username, password) => setHeader(self, "Authorization", `Basic ${btoa(`${username}:${password}`)}`));
79
+ /** @internal */
80
+ export const accept = /*#__PURE__*/dual(2, (self, mediaType) => setHeader(self, "Accept", mediaType));
81
+ /** @internal */
82
+ export const acceptJson = /*#__PURE__*/accept("application/json");
83
+ /** @internal */
84
+ export const setMethod = /*#__PURE__*/dual(2, (self, method) => new ClientRequestImpl(method, self.url, self.urlParams, self.headers, self.body));
85
+ /** @internal */
86
+ export const setUrl = /*#__PURE__*/dual(2, (self, url) => new ClientRequestImpl(self.method, url, self.urlParams, self.headers, self.body));
87
+ /** @internal */
88
+ export const appendUrl = /*#__PURE__*/dual(2, (self, url) => new ClientRequestImpl(self.method, self.url + url, self.urlParams, self.headers, self.body));
89
+ /** @internal */
90
+ export const prependUrl = /*#__PURE__*/dual(2, (self, url) => new ClientRequestImpl(self.method, url + self.url, self.urlParams, self.headers, self.body));
91
+ /** @internal */
92
+ export const updateUrl = /*#__PURE__*/dual(2, (self, f) => new ClientRequestImpl(self.method, f(self.url), self.urlParams, self.headers, self.body));
93
+ /** @internal */
94
+ export const appendUrlParam = /*#__PURE__*/dual(3, (self, key, value) => new ClientRequestImpl(self.method, self.url, UrlParams.append(self.urlParams, key, value), self.headers, self.body));
95
+ /** @internal */
96
+ export const appendUrlParams = /*#__PURE__*/dual(2, (self, input) => new ClientRequestImpl(self.method, self.url, UrlParams.appendAll(self.urlParams, input), self.headers, self.body));
97
+ /** @internal */
98
+ export const setUrlParam = /*#__PURE__*/dual(3, (self, key, value) => new ClientRequestImpl(self.method, self.url, UrlParams.set(self.urlParams, key, value), self.headers, self.body));
99
+ /** @internal */
100
+ export const setUrlParams = /*#__PURE__*/dual(2, (self, input) => new ClientRequestImpl(self.method, self.url, UrlParams.setAll(self.urlParams, input), self.headers, self.body));
101
+ /** @internal */
102
+ export const setBody = /*#__PURE__*/dual(2, (self, body) => {
103
+ let headers = self.headers;
104
+ if (body._tag === "Empty") {
105
+ headers = Headers.remove(Headers.remove(headers, "Content-Type"), "Content-length");
106
+ } else {
107
+ const contentType = body.contentType;
108
+ if (contentType) {
109
+ headers = Headers.set(headers, "content-type", contentType);
110
+ }
111
+ const contentLength = body.contentLength;
112
+ if (contentLength) {
113
+ headers = Headers.set(headers, "content-length", contentLength.toString());
114
+ }
115
+ }
116
+ return new ClientRequestImpl(self.method, self.url, self.urlParams, headers, body);
117
+ });
118
+ /** @internal */
119
+ export const binaryBody = /*#__PURE__*/dual(args => isClientRequest(args[0]), (self, body, contentType = "application/octet-stream") => setBody(self, internalBody.bytes(body, contentType)));
120
+ /** @internal */
121
+ export const textBody = /*#__PURE__*/dual(args => isClientRequest(args[0]), (self, body, contentType = "text/plain") => setBody(self, internalBody.text(body, contentType)));
122
+ /** @internal */
123
+ export const jsonBody = /*#__PURE__*/dual(2, (self, body) => setBody(self, internalBody.json(body)));
124
+ /** @internal */
125
+ export const schemaBody = schema => {
126
+ const encode = internalBody.jsonSchema(schema);
127
+ return dual(2, (self, body) => setBody(self, encode(body)));
128
+ };
129
+ /** @internal */
130
+ export const urlParamsBody = /*#__PURE__*/dual(2, (self, body) => setBody(self, internalBody.text(UrlParams.toString(UrlParams.fromInput(body)), "application/x-www-form-urlencoded")));
131
+ /** @internal */
132
+ export const formDataBody = /*#__PURE__*/dual(2, (self, body) => setBody(self, internalBody.formData(body)));
133
+ /** @internal */
134
+ export const streamBody = /*#__PURE__*/dual(args => isClientRequest(args[0]), (self, body, {
135
+ contentLength,
136
+ contentType = "application/octet-stream"
137
+ } = {}) => setBody(self, internalBody.stream(body, contentType, contentLength)));
138
+ //# sourceMappingURL=clientRequest.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clientRequest.mjs","names":["dual","pipeArguments","Headers","UrlParams","internalBody","TypeId","Symbol","for","ClientRequestImpl","constructor","method","url","urlParams","headers","body","_a","pipe","arguments","isClientRequest","u","empty","make","options","modify","get","post","put","patch","del","head","self","result","setMethod","setUrl","setHeaders","setUrlParams","setBody","accept","acceptJson","setHeader","key","value","set","input","setAll","basicAuth","username","password","btoa","mediaType","appendUrl","prependUrl","updateUrl","f","appendUrlParam","append","appendUrlParams","appendAll","setUrlParam","_tag","remove","contentType","contentLength","toString","binaryBody","args","bytes","textBody","text","jsonBody","json","schemaBody","schema","encode","jsonSchema","urlParamsBody","fromInput","formDataBody","formData","streamBody","stream"],"sources":["../../../src/internal/http/clientRequest.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ var _a, _b;
2
+ import * as Effect from "@effect/io/Effect";
3
+ import * as Headers from "@effect/platform/Http/Headers";
4
+ import * as IncomingMessage from "@effect/platform/Http/IncomingMessage";
5
+ import * as internalError from "@effect/platform/internal/http/clientError";
6
+ import * as Stream from "@effect/stream/Stream";
7
+ /** @internal */
8
+ export const TypeId = /*#__PURE__*/Symbol.for("@effect/platform/Http/ClientResponse");
9
+ /** @internal */
10
+ export const fromWeb = (request, source) => new ClientResponseImpl(request, source);
11
+ class ClientResponseImpl {
12
+ constructor(request, source) {
13
+ this.request = request;
14
+ this.source = source;
15
+ this[_a] = IncomingMessage.TypeId;
16
+ this[_b] = TypeId;
17
+ }
18
+ get status() {
19
+ return this.source.status;
20
+ }
21
+ get headers() {
22
+ return Headers.fromInput(this.source.headers);
23
+ }
24
+ get stream() {
25
+ return this.source.body ? Stream.fromReadableStream(() => this.source.body, _ => internalError.responseError({
26
+ request: this.request,
27
+ response: this,
28
+ reason: "Decode",
29
+ error: _
30
+ })) : Stream.fail(internalError.responseError({
31
+ request: this.request,
32
+ response: this,
33
+ reason: "EmptyBody",
34
+ error: "can not create stream from empty body"
35
+ }));
36
+ }
37
+ get json() {
38
+ return Effect.tryPromise({
39
+ try: () => this.source.json(),
40
+ catch: _ => internalError.responseError({
41
+ request: this.request,
42
+ response: this,
43
+ reason: "Decode",
44
+ error: _
45
+ })
46
+ });
47
+ }
48
+ get text() {
49
+ return Effect.tryPromise({
50
+ try: () => this.source.text(),
51
+ catch: _ => internalError.responseError({
52
+ request: this.request,
53
+ response: this,
54
+ reason: "Decode",
55
+ error: _
56
+ })
57
+ });
58
+ }
59
+ get formData() {
60
+ return Effect.tryPromise({
61
+ try: () => this.source.formData(),
62
+ catch: _ => internalError.responseError({
63
+ request: this.request,
64
+ response: this,
65
+ reason: "Decode",
66
+ error: _
67
+ })
68
+ });
69
+ }
70
+ get formDataStream() {
71
+ return Stream.fail(internalError.responseError({
72
+ request: this.request,
73
+ response: this,
74
+ reason: "Decode",
75
+ error: "not implemented"
76
+ }));
77
+ }
78
+ get blob() {
79
+ return Effect.tryPromise({
80
+ try: () => this.source.blob(),
81
+ catch: _ => internalError.responseError({
82
+ request: this.request,
83
+ response: this,
84
+ reason: "Decode",
85
+ error: _
86
+ })
87
+ });
88
+ }
89
+ }
90
+ _a = IncomingMessage.TypeId, _b = TypeId;
91
+ //# sourceMappingURL=clientResponse.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clientResponse.mjs","names":["Effect","Headers","IncomingMessage","internalError","Stream","TypeId","Symbol","for","fromWeb","request","source","ClientResponseImpl","constructor","_a","_b","status","headers","fromInput","stream","body","fromReadableStream","_","responseError","response","reason","error","fail","json","tryPromise","try","catch","text","formData","formDataStream","blob"],"sources":["../../../src/internal/http/clientResponse.ts"],"sourcesContent":[null],"mappings":"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"}
package/package.json CHANGED
@@ -1,21 +1,15 @@
1
1
  {
2
2
  "name": "@effect/platform",
3
- "version": "0.10.4",
3
+ "version": "0.11.1",
4
+ "description": "Unified interfaces for common platform-specific services",
4
5
  "license": "MIT",
5
6
  "repository": {
6
7
  "type": "git",
7
8
  "url": "https://github.com/effect-ts/platform.git"
8
9
  },
9
- "dependencies": {
10
- "@effect/data": "^0.17.1",
11
- "@effect/io": "^0.37.0",
12
- "@effect/stream": "^0.33.0",
13
- "path-browserify": "^1.0.1"
14
- },
15
10
  "publishConfig": {
16
11
  "access": "public"
17
12
  },
18
- "sideEffects": [],
19
13
  "exports": {
20
14
  "./*": {
21
15
  "import": {
@@ -27,5 +21,16 @@
27
21
  "default": "./*.js"
28
22
  }
29
23
  }
24
+ },
25
+ "sideEffects": [],
26
+ "author": "Effect contributors",
27
+ "dependencies": {
28
+ "path-browserify": "^1.0.1"
29
+ },
30
+ "peerDependencies": {
31
+ "@effect/data": "^0.17.1",
32
+ "@effect/io": "^0.38.0",
33
+ "@effect/schema": "^0.33.0",
34
+ "@effect/stream": "^0.34.0"
30
35
  }
31
36
  }
package/src/Effectify.ts CHANGED
@@ -29,17 +29,17 @@ export type Effectify<T, E> = T extends {
29
29
  (...args: ArgsWithCallback<infer Args9, infer _E9, infer A9>): infer _R9
30
30
  (...args: ArgsWithCallback<infer Args10, infer _E10, infer A10>): infer _R10
31
31
  } ? {
32
- (...args: Args1): Effect.Effect<never, E, WithoutNull<A1>>
33
- (...args: Args2): Effect.Effect<never, E, WithoutNull<A2>>
34
- (...args: Args3): Effect.Effect<never, E, WithoutNull<A3>>
35
- (...args: Args4): Effect.Effect<never, E, WithoutNull<A4>>
36
- (...args: Args5): Effect.Effect<never, E, WithoutNull<A5>>
37
- (...args: Args6): Effect.Effect<never, E, WithoutNull<A6>>
38
- (...args: Args7): Effect.Effect<never, E, WithoutNull<A7>>
39
- (...args: Args8): Effect.Effect<never, E, WithoutNull<A8>>
40
- (...args: Args9): Effect.Effect<never, E, WithoutNull<A9>>
41
- (...args: Args10): Effect.Effect<never, E, WithoutNull<A10>>
42
- }
32
+ (...args: Args1): Effect.Effect<never, E, WithoutNull<A1>>
33
+ (...args: Args2): Effect.Effect<never, E, WithoutNull<A2>>
34
+ (...args: Args3): Effect.Effect<never, E, WithoutNull<A3>>
35
+ (...args: Args4): Effect.Effect<never, E, WithoutNull<A4>>
36
+ (...args: Args5): Effect.Effect<never, E, WithoutNull<A5>>
37
+ (...args: Args6): Effect.Effect<never, E, WithoutNull<A6>>
38
+ (...args: Args7): Effect.Effect<never, E, WithoutNull<A7>>
39
+ (...args: Args8): Effect.Effect<never, E, WithoutNull<A8>>
40
+ (...args: Args9): Effect.Effect<never, E, WithoutNull<A9>>
41
+ (...args: Args10): Effect.Effect<never, E, WithoutNull<A10>>
42
+ }
43
43
  : T extends {
44
44
  (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1
45
45
  (...args: ArgsWithCallback<infer Args2, infer _E2, infer A2>): infer _R2
@@ -51,16 +51,16 @@ export type Effectify<T, E> = T extends {
51
51
  (...args: ArgsWithCallback<infer Args8, infer _E8, infer A8>): infer _R8
52
52
  (...args: ArgsWithCallback<infer Args9, infer _E9, infer A9>): infer _R9
53
53
  } ? {
54
- (...args: Args1): Effect.Effect<never, E, WithoutNull<A1>>
55
- (...args: Args2): Effect.Effect<never, E, WithoutNull<A2>>
56
- (...args: Args3): Effect.Effect<never, E, WithoutNull<A3>>
57
- (...args: Args4): Effect.Effect<never, E, WithoutNull<A4>>
58
- (...args: Args5): Effect.Effect<never, E, WithoutNull<A5>>
59
- (...args: Args6): Effect.Effect<never, E, WithoutNull<A6>>
60
- (...args: Args7): Effect.Effect<never, E, WithoutNull<A7>>
61
- (...args: Args8): Effect.Effect<never, E, WithoutNull<A8>>
62
- (...args: Args9): Effect.Effect<never, E, WithoutNull<A9>>
63
- }
54
+ (...args: Args1): Effect.Effect<never, E, WithoutNull<A1>>
55
+ (...args: Args2): Effect.Effect<never, E, WithoutNull<A2>>
56
+ (...args: Args3): Effect.Effect<never, E, WithoutNull<A3>>
57
+ (...args: Args4): Effect.Effect<never, E, WithoutNull<A4>>
58
+ (...args: Args5): Effect.Effect<never, E, WithoutNull<A5>>
59
+ (...args: Args6): Effect.Effect<never, E, WithoutNull<A6>>
60
+ (...args: Args7): Effect.Effect<never, E, WithoutNull<A7>>
61
+ (...args: Args8): Effect.Effect<never, E, WithoutNull<A8>>
62
+ (...args: Args9): Effect.Effect<never, E, WithoutNull<A9>>
63
+ }
64
64
  : T extends {
65
65
  (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1
66
66
  (...args: ArgsWithCallback<infer Args2, infer _E2, infer A2>): infer _R2
@@ -71,15 +71,15 @@ export type Effectify<T, E> = T extends {
71
71
  (...args: ArgsWithCallback<infer Args7, infer _E7, infer A7>): infer _R7
72
72
  (...args: ArgsWithCallback<infer Args8, infer _E8, infer A8>): infer _R8
73
73
  } ? {
74
- (...args: Args1): Effect.Effect<never, E, WithoutNull<A1>>
75
- (...args: Args2): Effect.Effect<never, E, WithoutNull<A2>>
76
- (...args: Args3): Effect.Effect<never, E, WithoutNull<A3>>
77
- (...args: Args4): Effect.Effect<never, E, WithoutNull<A4>>
78
- (...args: Args5): Effect.Effect<never, E, WithoutNull<A5>>
79
- (...args: Args6): Effect.Effect<never, E, WithoutNull<A6>>
80
- (...args: Args7): Effect.Effect<never, E, WithoutNull<A7>>
81
- (...args: Args8): Effect.Effect<never, E, WithoutNull<A8>>
82
- }
74
+ (...args: Args1): Effect.Effect<never, E, WithoutNull<A1>>
75
+ (...args: Args2): Effect.Effect<never, E, WithoutNull<A2>>
76
+ (...args: Args3): Effect.Effect<never, E, WithoutNull<A3>>
77
+ (...args: Args4): Effect.Effect<never, E, WithoutNull<A4>>
78
+ (...args: Args5): Effect.Effect<never, E, WithoutNull<A5>>
79
+ (...args: Args6): Effect.Effect<never, E, WithoutNull<A6>>
80
+ (...args: Args7): Effect.Effect<never, E, WithoutNull<A7>>
81
+ (...args: Args8): Effect.Effect<never, E, WithoutNull<A8>>
82
+ }
83
83
  : T extends {
84
84
  (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1
85
85
  (...args: ArgsWithCallback<infer Args2, infer _E2, infer A2>): infer _R2
@@ -89,14 +89,14 @@ export type Effectify<T, E> = T extends {
89
89
  (...args: ArgsWithCallback<infer Args6, infer _E6, infer A6>): infer _R6
90
90
  (...args: ArgsWithCallback<infer Args7, infer _E7, infer A7>): infer _R7
91
91
  } ? {
92
- (...args: Args1): Effect.Effect<never, E, WithoutNull<A1>>
93
- (...args: Args2): Effect.Effect<never, E, WithoutNull<A2>>
94
- (...args: Args3): Effect.Effect<never, E, WithoutNull<A3>>
95
- (...args: Args4): Effect.Effect<never, E, WithoutNull<A4>>
96
- (...args: Args5): Effect.Effect<never, E, WithoutNull<A5>>
97
- (...args: Args6): Effect.Effect<never, E, WithoutNull<A6>>
98
- (...args: Args7): Effect.Effect<never, E, WithoutNull<A7>>
99
- }
92
+ (...args: Args1): Effect.Effect<never, E, WithoutNull<A1>>
93
+ (...args: Args2): Effect.Effect<never, E, WithoutNull<A2>>
94
+ (...args: Args3): Effect.Effect<never, E, WithoutNull<A3>>
95
+ (...args: Args4): Effect.Effect<never, E, WithoutNull<A4>>
96
+ (...args: Args5): Effect.Effect<never, E, WithoutNull<A5>>
97
+ (...args: Args6): Effect.Effect<never, E, WithoutNull<A6>>
98
+ (...args: Args7): Effect.Effect<never, E, WithoutNull<A7>>
99
+ }
100
100
  : T extends {
101
101
  (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1
102
102
  (...args: ArgsWithCallback<infer Args2, infer _E2, infer A2>): infer _R2
@@ -105,13 +105,13 @@ export type Effectify<T, E> = T extends {
105
105
  (...args: ArgsWithCallback<infer Args5, infer _E5, infer A5>): infer _R5
106
106
  (...args: ArgsWithCallback<infer Args6, infer _E6, infer A6>): infer _R6
107
107
  } ? {
108
- (...args: Args1): Effect.Effect<never, E, WithoutNull<A1>>
109
- (...args: Args2): Effect.Effect<never, E, WithoutNull<A2>>
110
- (...args: Args3): Effect.Effect<never, E, WithoutNull<A3>>
111
- (...args: Args4): Effect.Effect<never, E, WithoutNull<A4>>
112
- (...args: Args5): Effect.Effect<never, E, WithoutNull<A5>>
113
- (...args: Args6): Effect.Effect<never, E, WithoutNull<A6>>
114
- }
108
+ (...args: Args1): Effect.Effect<never, E, WithoutNull<A1>>
109
+ (...args: Args2): Effect.Effect<never, E, WithoutNull<A2>>
110
+ (...args: Args3): Effect.Effect<never, E, WithoutNull<A3>>
111
+ (...args: Args4): Effect.Effect<never, E, WithoutNull<A4>>
112
+ (...args: Args5): Effect.Effect<never, E, WithoutNull<A5>>
113
+ (...args: Args6): Effect.Effect<never, E, WithoutNull<A6>>
114
+ }
115
115
  : T extends {
116
116
  (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1
117
117
  (...args: ArgsWithCallback<infer Args2, infer _E2, infer A2>): infer _R2
@@ -119,44 +119,44 @@ export type Effectify<T, E> = T extends {
119
119
  (...args: ArgsWithCallback<infer Args4, infer _E4, infer A4>): infer _R4
120
120
  (...args: ArgsWithCallback<infer Args5, infer _E5, infer A5>): infer _R5
121
121
  } ? {
122
- (...args: Args1): Effect.Effect<never, E, WithoutNull<A1>>
123
- (...args: Args2): Effect.Effect<never, E, WithoutNull<A2>>
124
- (...args: Args3): Effect.Effect<never, E, WithoutNull<A3>>
125
- (...args: Args4): Effect.Effect<never, E, WithoutNull<A4>>
126
- (...args: Args5): Effect.Effect<never, E, WithoutNull<A5>>
127
- }
122
+ (...args: Args1): Effect.Effect<never, E, WithoutNull<A1>>
123
+ (...args: Args2): Effect.Effect<never, E, WithoutNull<A2>>
124
+ (...args: Args3): Effect.Effect<never, E, WithoutNull<A3>>
125
+ (...args: Args4): Effect.Effect<never, E, WithoutNull<A4>>
126
+ (...args: Args5): Effect.Effect<never, E, WithoutNull<A5>>
127
+ }
128
128
  : T extends {
129
129
  (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1
130
130
  (...args: ArgsWithCallback<infer Args2, infer _E2, infer A2>): infer _R2
131
131
  (...args: ArgsWithCallback<infer Args3, infer _E3, infer A3>): infer _R3
132
132
  (...args: ArgsWithCallback<infer Args4, infer _E4, infer A4>): infer _R4
133
133
  } ? {
134
- (...args: Args1): Effect.Effect<never, E, WithoutNull<A1>>
135
- (...args: Args2): Effect.Effect<never, E, WithoutNull<A2>>
136
- (...args: Args3): Effect.Effect<never, E, WithoutNull<A3>>
137
- (...args: Args4): Effect.Effect<never, E, WithoutNull<A4>>
138
- }
134
+ (...args: Args1): Effect.Effect<never, E, WithoutNull<A1>>
135
+ (...args: Args2): Effect.Effect<never, E, WithoutNull<A2>>
136
+ (...args: Args3): Effect.Effect<never, E, WithoutNull<A3>>
137
+ (...args: Args4): Effect.Effect<never, E, WithoutNull<A4>>
138
+ }
139
139
  : T extends {
140
140
  (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1
141
141
  (...args: ArgsWithCallback<infer Args2, infer _E2, infer A2>): infer _R2
142
142
  (...args: ArgsWithCallback<infer Args3, infer _E3, infer A3>): infer _R3
143
143
  } ? {
144
- (...args: Args1): Effect.Effect<never, E, WithoutNull<A1>>
145
- (...args: Args2): Effect.Effect<never, E, WithoutNull<A2>>
146
- (...args: Args3): Effect.Effect<never, E, WithoutNull<A3>>
147
- }
144
+ (...args: Args1): Effect.Effect<never, E, WithoutNull<A1>>
145
+ (...args: Args2): Effect.Effect<never, E, WithoutNull<A2>>
146
+ (...args: Args3): Effect.Effect<never, E, WithoutNull<A3>>
147
+ }
148
148
  : T extends {
149
149
  (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1
150
150
  (...args: ArgsWithCallback<infer Args2, infer _E2, infer A2>): infer _R2
151
151
  } ? {
152
- (...args: Args1): Effect.Effect<never, E, WithoutNull<A1>>
153
- (...args: Args2): Effect.Effect<never, E, WithoutNull<A2>>
154
- }
152
+ (...args: Args1): Effect.Effect<never, E, WithoutNull<A1>>
153
+ (...args: Args2): Effect.Effect<never, E, WithoutNull<A2>>
154
+ }
155
155
  : T extends {
156
156
  (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1
157
157
  } ? {
158
- (...args: Args1): Effect.Effect<never, E, WithoutNull<A1>>
159
- }
158
+ (...args: Args1): Effect.Effect<never, E, WithoutNull<A1>>
159
+ }
160
160
  : never
161
161
 
162
162
  /**
@@ -0,0 +1,148 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import type * as Effect from "@effect/io/Effect"
5
+ import * as internal from "@effect/platform/internal/http/body"
6
+ import type * as Schema from "@effect/schema/Schema"
7
+ import type * as Stream_ from "@effect/stream/Stream"
8
+
9
+ /**
10
+ * @since 1.0.0
11
+ * @category type ids
12
+ */
13
+ export const TypeId: unique symbol = internal.TypeId
14
+
15
+ /**
16
+ * @since 1.0.0
17
+ * @category type ids
18
+ */
19
+ export type TypeId = typeof TypeId
20
+
21
+ /**
22
+ * @since 1.0.0
23
+ * @category models
24
+ */
25
+ export type Body = Empty | Raw | Bytes | BytesEffect | FormData | Stream
26
+
27
+ /**
28
+ * @since 1.0.0
29
+ */
30
+ export namespace Body {
31
+ /**
32
+ * @since 1.0.0
33
+ * @category models
34
+ */
35
+ export interface Proto {
36
+ readonly [TypeId]: TypeId
37
+ readonly _tag: string
38
+ readonly contentType?: string
39
+ readonly contentLength?: number
40
+ }
41
+ }
42
+
43
+ /**
44
+ * @since 1.0.0
45
+ * @category models
46
+ */
47
+ export interface Empty extends Body.Proto {
48
+ readonly _tag: "Empty"
49
+ }
50
+
51
+ /**
52
+ * @since 1.0.0
53
+ * @category constructors
54
+ */
55
+ export const empty: Empty = internal.empty
56
+
57
+ /**
58
+ * @since 1.0.0
59
+ * @category models
60
+ */
61
+ export interface Raw extends Body.Proto {
62
+ readonly _tag: "Raw"
63
+ readonly body: unknown
64
+ }
65
+
66
+ /**
67
+ * @since 1.0.0
68
+ * @category constructors
69
+ */
70
+ export const raw: (body: unknown) => Raw = internal.raw
71
+
72
+ /**
73
+ * @since 1.0.0
74
+ * @category models
75
+ */
76
+ export interface Bytes extends Body.Proto {
77
+ readonly _tag: "Bytes"
78
+ readonly body: Uint8Array
79
+ }
80
+
81
+ /**
82
+ * @since 1.0.0
83
+ * @category constructors
84
+ */
85
+ export const bytes: (body: Uint8Array) => Bytes = internal.bytes
86
+
87
+ /**
88
+ * @since 1.0.0
89
+ * @category constructors
90
+ */
91
+ export const text: (body: string, contentType?: string) => Bytes = internal.text
92
+
93
+ /**
94
+ * @since 1.0.0
95
+ * @category models
96
+ */
97
+ export interface BytesEffect extends Body.Proto {
98
+ readonly _tag: "BytesEffect"
99
+ readonly body: Effect.Effect<never, unknown, Uint8Array>
100
+ }
101
+
102
+ /**
103
+ * @since 1.0.0
104
+ * @category constructors
105
+ */
106
+ export const bytesEffect: (body: Effect.Effect<never, unknown, Uint8Array>) => BytesEffect = internal.bytesEffect
107
+
108
+ /**
109
+ * @since 1.0.0
110
+ * @category constructors
111
+ */
112
+ export const json: (body: unknown) => BytesEffect = internal.json
113
+
114
+ /**
115
+ * @since 1.0.0
116
+ * @category constructors
117
+ */
118
+ export const jsonSchema: <I, A>(schema: Schema.Schema<I, A>) => (body: A) => BytesEffect = internal.jsonSchema
119
+
120
+ /**
121
+ * @since 1.0.0
122
+ * @category models
123
+ */
124
+ export interface FormData extends Body.Proto {
125
+ readonly _tag: "FormData"
126
+ readonly formData: globalThis.FormData
127
+ }
128
+
129
+ /**
130
+ * @since 1.0.0
131
+ * @category constructors
132
+ */
133
+ export const formData: (body: globalThis.FormData) => FormData = internal.formData
134
+
135
+ /**
136
+ * @since 1.0.0
137
+ * @category models
138
+ */
139
+ export interface Stream extends Body.Proto {
140
+ readonly _tag: "Stream"
141
+ readonly stream: Stream_.Stream<never, unknown, Uint8Array>
142
+ }
143
+
144
+ /**
145
+ * @since 1.0.0
146
+ * @category constructors
147
+ */
148
+ export const stream: (body: Stream_.Stream<never, unknown, Uint8Array>) => Stream = internal.stream