@effect/platform 0.13.0 → 0.13.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.
@@ -3,8 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.urlParams = exports.unsafeJson = exports.uint8Array = exports.toNonEffectBody = exports.text = exports.stream = exports.setStatus = exports.setHeaders = exports.setHeader = exports.setBody = exports.schemaJson = exports.raw = exports.json = exports.isServerResponse = exports.formData = exports.file = exports.empty = exports.effect = exports.TypeId = void 0;
6
+ exports.urlParams = exports.unsafeJson = exports.uint8Array = exports.toNonEffectBody = exports.text = exports.stream = exports.setStatus = exports.setHeaders = exports.setHeader = exports.setBody = exports.schemaJson = exports.raw = exports.json = exports.isServerResponse = exports.getContentType = exports.formData = exports.file = exports.empty = exports.effect = exports.TypeId = void 0;
7
7
  var _Function = /*#__PURE__*/require("@effect/data/Function");
8
+ var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/data/Option"));
8
9
  var _Pipeable = /*#__PURE__*/require("@effect/data/Pipeable");
9
10
  var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Effect"));
10
11
  var Headers = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/Headers"));
@@ -44,10 +45,10 @@ exports.toNonEffectBody = toNonEffectBody;
44
45
  const empty = options => new ServerResponseImpl(options?.status ?? 204, options?.statusText, options?.headers ?? Headers.empty, internalBody.empty);
45
46
  /** @internal */
46
47
  exports.empty = empty;
47
- const uint8Array = (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, internalBody.uint8Array(body, options?.contentType));
48
+ const uint8Array = (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, internalBody.uint8Array(body, getContentType(options)));
48
49
  /** @internal */
49
50
  exports.uint8Array = uint8Array;
50
- const text = (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, internalBody.text(body, options?.contentType));
51
+ const text = (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, internalBody.text(body, getContentType(options)));
51
52
  /** @internal */
52
53
  exports.text = text;
53
54
  const json = (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, internalBody.json(body));
@@ -77,9 +78,20 @@ exports.raw = raw;
77
78
  const formData = (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, internalBody.formData(body));
78
79
  /** @internal */
79
80
  exports.formData = formData;
80
- const stream = (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, internalBody.stream(body, options?.contentType, options?.contentLength));
81
+ const stream = (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, internalBody.stream(body, getContentType(options), options?.contentLength));
81
82
  /** @internal */
82
83
  exports.stream = stream;
84
+ const getContentType = options => {
85
+ if (options?.contentType) {
86
+ return options.contentType;
87
+ } else if (options?.headers) {
88
+ return Option.getOrUndefined(Headers.get("content-type")(options.headers));
89
+ } else {
90
+ return;
91
+ }
92
+ };
93
+ /** @internal */
94
+ exports.getContentType = getContentType;
83
95
  const setHeader = /*#__PURE__*/(0, _Function.dual)(3, (self, key, value) => new ServerResponseImpl(self.status, self.statusText, Headers.set(self.headers, key, value), self.body));
84
96
  /** @internal */
85
97
  exports.setHeader = setHeader;
@@ -1 +1 @@
1
- {"version":3,"file":"serverResponse.js","names":["_Function","require","_Pipeable","Effect","_interopRequireWildcard","Headers","ServerRequest","UrlParams","internalBody","internalError","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","TypeId","Symbol","for","exports","ServerResponseImpl","constructor","status","statusText","headers","body","pipe","pipeArguments","arguments","isServerResponse","u","toNonEffectBody","self","_tag","map","catchAll","effect","error","flatMap","request","fail","responseError","reason","response","setBody","succeed","empty","options","uint8Array","contentType","text","json","unsafeJson","schemaJson","schema","encode","jsonSchema","file","path","urlParams","toString","fromInput","raw","formData","stream","contentLength","setHeader","dual","value","setHeaders","input","setAll","setStatus","args","remove"],"sources":["../../src/internal/http/serverResponse.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"serverResponse.js","names":["_Function","require","Option","_interopRequireWildcard","_Pipeable","Effect","Headers","ServerRequest","UrlParams","internalBody","internalError","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","TypeId","Symbol","for","exports","ServerResponseImpl","constructor","status","statusText","headers","body","pipe","pipeArguments","arguments","isServerResponse","u","toNonEffectBody","self","_tag","map","catchAll","effect","error","flatMap","request","fail","responseError","reason","response","setBody","succeed","empty","options","uint8Array","getContentType","text","json","unsafeJson","schemaJson","schema","encode","jsonSchema","file","path","urlParams","toString","fromInput","raw","formData","stream","contentLength","contentType","getOrUndefined","setHeader","dual","value","setHeaders","input","setAll","setStatus","args","remove"],"sources":["../../src/internal/http/serverResponse.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { dual } from "@effect/data/Function";
2
+ import * as Option from "@effect/data/Option";
2
3
  import { pipeArguments } from "@effect/data/Pipeable";
3
4
  import * as Effect from "@effect/io/Effect";
4
5
  import * as Headers from "@effect/platform/Http/Headers";
@@ -32,9 +33,9 @@ export const toNonEffectBody = self => self.body._tag === "Effect" ? Effect.map(
32
33
  /** @internal */
33
34
  export const empty = options => new ServerResponseImpl(options?.status ?? 204, options?.statusText, options?.headers ?? Headers.empty, internalBody.empty);
34
35
  /** @internal */
35
- export const uint8Array = (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, internalBody.uint8Array(body, options?.contentType));
36
+ export const uint8Array = (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, internalBody.uint8Array(body, getContentType(options)));
36
37
  /** @internal */
37
- export const text = (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, internalBody.text(body, options?.contentType));
38
+ export const text = (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, internalBody.text(body, getContentType(options)));
38
39
  /** @internal */
39
40
  export const json = (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, internalBody.json(body));
40
41
  /** @internal */
@@ -55,7 +56,17 @@ export const raw = (body, options) => new ServerResponseImpl(options?.status ??
55
56
  /** @internal */
56
57
  export const formData = (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, internalBody.formData(body));
57
58
  /** @internal */
58
- export const stream = (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, internalBody.stream(body, options?.contentType, options?.contentLength));
59
+ export const stream = (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, internalBody.stream(body, getContentType(options), options?.contentLength));
60
+ /** @internal */
61
+ export const getContentType = options => {
62
+ if (options?.contentType) {
63
+ return options.contentType;
64
+ } else if (options?.headers) {
65
+ return Option.getOrUndefined(Headers.get("content-type")(options.headers));
66
+ } else {
67
+ return;
68
+ }
69
+ };
59
70
  /** @internal */
60
71
  export const setHeader = /*#__PURE__*/dual(3, (self, key, value) => new ServerResponseImpl(self.status, self.statusText, Headers.set(self.headers, key, value), self.body));
61
72
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"serverResponse.mjs","names":["dual","pipeArguments","Effect","Headers","ServerRequest","UrlParams","internalBody","internalError","TypeId","Symbol","for","ServerResponseImpl","constructor","status","statusText","headers","body","pipe","arguments","isServerResponse","u","toNonEffectBody","self","_tag","map","catchAll","effect","error","flatMap","request","fail","responseError","reason","response","setBody","succeed","empty","options","uint8Array","contentType","text","json","unsafeJson","schemaJson","schema","encode","jsonSchema","file","path","urlParams","toString","fromInput","raw","formData","stream","contentLength","setHeader","key","value","set","setHeaders","input","setAll","setStatus","args","remove"],"sources":["../../../src/internal/http/serverResponse.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"serverResponse.mjs","names":["dual","Option","pipeArguments","Effect","Headers","ServerRequest","UrlParams","internalBody","internalError","TypeId","Symbol","for","ServerResponseImpl","constructor","status","statusText","headers","body","pipe","arguments","isServerResponse","u","toNonEffectBody","self","_tag","map","catchAll","effect","error","flatMap","request","fail","responseError","reason","response","setBody","succeed","empty","options","uint8Array","getContentType","text","json","unsafeJson","schemaJson","schema","encode","jsonSchema","file","path","urlParams","toString","fromInput","raw","formData","stream","contentLength","contentType","getOrUndefined","get","setHeader","key","value","set","setHeaders","input","setAll","setStatus","args","remove"],"sources":["../../../src/internal/http/serverResponse.ts"],"sourcesContent":[null],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/platform",
3
- "version": "0.13.0",
3
+ "version": "0.13.1",
4
4
  "description": "Unified interfaces for common platform-specific services",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -1,4 +1,5 @@
1
1
  import { dual } from "@effect/data/Function"
2
+ import * as Option from "@effect/data/Option"
2
3
  import { pipeArguments } from "@effect/data/Pipeable"
3
4
  import * as Effect from "@effect/io/Effect"
4
5
  import type * as PlatformError from "@effect/platform/Error"
@@ -77,7 +78,7 @@ export const uint8Array = (
77
78
  options?.status ?? 200,
78
79
  options?.statusText,
79
80
  options?.headers ?? Headers.empty,
80
- internalBody.uint8Array(body, options?.contentType)
81
+ internalBody.uint8Array(body, getContentType(options))
81
82
  )
82
83
 
83
84
  /** @internal */
@@ -86,7 +87,7 @@ export const text = (body: string, options?: ServerResponse.Options.WithContentT
86
87
  options?.status ?? 200,
87
88
  options?.statusText,
88
89
  options?.headers ?? Headers.empty,
89
- internalBody.text(body, options?.contentType)
90
+ internalBody.text(body, getContentType(options))
90
91
  )
91
92
 
92
93
  /** @internal */
@@ -188,9 +189,20 @@ export const stream = (
188
189
  options?.status ?? 200,
189
190
  options?.statusText,
190
191
  options?.headers ?? Headers.empty,
191
- internalBody.stream(body, options?.contentType, options?.contentLength)
192
+ internalBody.stream(body, getContentType(options), options?.contentLength)
192
193
  )
193
194
 
195
+ /** @internal */
196
+ export const getContentType = (options?: ServerResponse.Options): string | undefined => {
197
+ if (options?.contentType) {
198
+ return options.contentType
199
+ } else if (options?.headers) {
200
+ return Option.getOrUndefined(Headers.get("content-type")(options.headers))
201
+ } else {
202
+ return
203
+ }
204
+ }
205
+
194
206
  /** @internal */
195
207
  export const setHeader = dual<
196
208
  (key: string, value: string) => (self: ServerResponse.ServerResponse) => ServerResponse.ServerResponse,