@effect/platform 0.40.2 → 0.40.3
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/Http/Multiplex/package.json +6 -0
- package/dist/cjs/Http/IncomingMessage.js +3 -3
- package/dist/cjs/Http/IncomingMessage.js.map +1 -1
- package/dist/cjs/Http/Multiplex.js +93 -0
- package/dist/cjs/Http/Multiplex.js.map +1 -0
- package/dist/cjs/HttpServer.js +3 -1
- package/dist/cjs/HttpServer.js.map +1 -1
- package/dist/cjs/internal/http/multiplex.js +85 -0
- package/dist/cjs/internal/http/multiplex.js.map +1 -0
- package/dist/cjs/internal/http/router.js +1 -3
- package/dist/cjs/internal/http/router.js.map +1 -1
- package/dist/dts/Http/Multiplex.d.ts +111 -0
- package/dist/dts/Http/Multiplex.d.ts.map +1 -0
- package/dist/dts/HttpServer.d.ts +18 -10
- package/dist/dts/HttpServer.d.ts.map +1 -1
- package/dist/dts/internal/http/multiplex.d.ts +2 -0
- package/dist/dts/internal/http/multiplex.d.ts.map +1 -0
- package/dist/esm/Http/IncomingMessage.js +3 -3
- package/dist/esm/Http/IncomingMessage.js.map +1 -1
- package/dist/esm/Http/Multiplex.js +62 -0
- package/dist/esm/Http/Multiplex.js.map +1 -0
- package/dist/esm/HttpServer.js +18 -10
- package/dist/esm/HttpServer.js.map +1 -1
- package/dist/esm/internal/http/multiplex.js +53 -0
- package/dist/esm/internal/http/multiplex.js.map +1 -0
- package/dist/esm/internal/http/router.js +1 -3
- package/dist/esm/internal/http/router.js.map +1 -1
- package/package.json +10 -2
- package/src/Http/IncomingMessage.ts +3 -3
- package/src/Http/Multiplex.ts +174 -0
- package/src/HttpServer.ts +18 -10
- package/src/internal/http/multiplex.ts +222 -0
- package/src/internal/http/router.ts +7 -7
|
@@ -51,8 +51,8 @@ const SpanSchema = /*#__PURE__*/Schema.struct({
|
|
|
51
51
|
*/
|
|
52
52
|
export const schemaExternalSpan = /*#__PURE__*/flow( /*#__PURE__*/schemaHeaders( /*#__PURE__*/Schema.union( /*#__PURE__*/Schema.transformOrFail( /*#__PURE__*/Schema.struct({
|
|
53
53
|
b3: Schema.NonEmpty
|
|
54
|
-
}), SpanSchema, _ => {
|
|
55
|
-
const parts =
|
|
54
|
+
}), SpanSchema, (input, _, ast) => {
|
|
55
|
+
const parts = input.b3.split("-");
|
|
56
56
|
if (parts.length >= 2) {
|
|
57
57
|
return ParseResult.succeed({
|
|
58
58
|
traceId: parts[0],
|
|
@@ -61,7 +61,7 @@ export const schemaExternalSpan = /*#__PURE__*/flow( /*#__PURE__*/schemaHeaders(
|
|
|
61
61
|
parentSpanId: parts[3]
|
|
62
62
|
});
|
|
63
63
|
}
|
|
64
|
-
return ParseResult.fail(ParseResult.
|
|
64
|
+
return ParseResult.fail(ParseResult.type(ast, input));
|
|
65
65
|
}, _ => ParseResult.succeed({
|
|
66
66
|
b3: ""
|
|
67
67
|
})), /*#__PURE__*/Schema.transform( /*#__PURE__*/Schema.struct({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IncomingMessage.js","names":["ParseResult","Schema","Effect","FiberRef","dual","flow","Global","Option","Tracer","FileSystem","TypeId","Symbol","for","schemaBodyJson","schema","parse","self","flatMap","json","schemaBodyUrlParams","urlParamsBody","_","Object","fromEntries","schemaHeaders","headers","SpanSchema","struct","traceId","string","spanId","parentSpanId","union","undefined","sampled","boolean","schemaExternalSpan","transformOrFail","b3","NonEmpty","parts","split","length","succeed","fail","
|
|
1
|
+
{"version":3,"file":"IncomingMessage.js","names":["ParseResult","Schema","Effect","FiberRef","dual","flow","Global","Option","Tracer","FileSystem","TypeId","Symbol","for","schemaBodyJson","schema","parse","self","flatMap","json","schemaBodyUrlParams","urlParamsBody","_","Object","fromEntries","schemaHeaders","headers","SpanSchema","struct","traceId","string","spanId","parentSpanId","union","undefined","sampled","boolean","schemaExternalSpan","transformOrFail","b3","NonEmpty","input","ast","parts","split","length","succeed","fail","type","transform","optional","default","map","externalSpan","maxBodySize","globalValue","unsafeMake","none","withMaxBodySize","effect","size","locally","Size"],"sources":["../../../src/Http/IncomingMessage.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import * as internal from "../internal/http/multiplex.js";
|
|
2
|
+
/**
|
|
3
|
+
* @since 1.0.0
|
|
4
|
+
* @category type ids
|
|
5
|
+
*/
|
|
6
|
+
export const TypeId = internal.TypeId;
|
|
7
|
+
/**
|
|
8
|
+
* @since 1.0.0
|
|
9
|
+
* @category constructors
|
|
10
|
+
*/
|
|
11
|
+
export const empty = internal.empty;
|
|
12
|
+
/**
|
|
13
|
+
* @since 1.0.0
|
|
14
|
+
* @category constructors
|
|
15
|
+
*/
|
|
16
|
+
export const make = internal.make;
|
|
17
|
+
/**
|
|
18
|
+
* @since 1.0.0
|
|
19
|
+
* @category combinators
|
|
20
|
+
*/
|
|
21
|
+
export const add = internal.add;
|
|
22
|
+
/**
|
|
23
|
+
* @since 1.0.0
|
|
24
|
+
* @category combinators
|
|
25
|
+
*/
|
|
26
|
+
export const headerExact = internal.headerExact;
|
|
27
|
+
/**
|
|
28
|
+
* @since 1.0.0
|
|
29
|
+
* @category combinators
|
|
30
|
+
*/
|
|
31
|
+
export const headerRegex = internal.headerRegex;
|
|
32
|
+
/**
|
|
33
|
+
* @since 1.0.0
|
|
34
|
+
* @category combinators
|
|
35
|
+
*/
|
|
36
|
+
export const headerStartsWith = internal.headerStartsWith;
|
|
37
|
+
/**
|
|
38
|
+
* @since 1.0.0
|
|
39
|
+
* @category combinators
|
|
40
|
+
*/
|
|
41
|
+
export const headerEndsWith = internal.headerEndsWith;
|
|
42
|
+
/**
|
|
43
|
+
* @since 1.0.0
|
|
44
|
+
* @category combinators
|
|
45
|
+
*/
|
|
46
|
+
export const hostExact = internal.hostExact;
|
|
47
|
+
/**
|
|
48
|
+
* @since 1.0.0
|
|
49
|
+
* @category combinators
|
|
50
|
+
*/
|
|
51
|
+
export const hostRegex = internal.hostRegex;
|
|
52
|
+
/**
|
|
53
|
+
* @since 1.0.0
|
|
54
|
+
* @category combinators
|
|
55
|
+
*/
|
|
56
|
+
export const hostStartsWith = internal.hostStartsWith;
|
|
57
|
+
/**
|
|
58
|
+
* @since 1.0.0
|
|
59
|
+
* @category combinators
|
|
60
|
+
*/
|
|
61
|
+
export const hostEndsWith = internal.hostEndsWith;
|
|
62
|
+
//# sourceMappingURL=Multiplex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Multiplex.js","names":["internal","TypeId","empty","make","add","headerExact","headerRegex","headerStartsWith","headerEndsWith","hostExact","hostRegex","hostStartsWith","hostEndsWith"],"sources":["../../../src/Http/Multiplex.ts"],"sourcesContent":[null],"mappings":"AAIA,OAAO,KAAKA,QAAQ,MAAM,+BAA+B;AAKzD;;;;AAIA,OAAO,MAAMC,MAAM,GAAkBD,QAAQ,CAACC,MAAM;AAsBpD;;;;AAIA,OAAO,MAAMC,KAAK,GAA4BF,QAAQ,CAACE,KAAK;AAE5D;;;;AAIA,OAAO,MAAMC,IAAI,GAIMH,QAAQ,CAACG,IAAI;AAEpC;;;;AAIA,OAAO,MAAMC,GAAG,GAUZJ,QAAQ,CAACI,GAAG;AAEhB;;;;AAIA,OAAO,MAAMC,WAAW,GAYpBL,QAAQ,CAACK,WAAW;AAExB;;;;AAIA,OAAO,MAAMC,WAAW,GAYpBN,QAAQ,CAACM,WAAW;AAExB;;;;AAIA,OAAO,MAAMC,gBAAgB,GAYzBP,QAAQ,CAACO,gBAAgB;AAE7B;;;;AAIA,OAAO,MAAMC,cAAc,GAYvBR,QAAQ,CAACQ,cAAc;AAE3B;;;;AAIA,OAAO,MAAMC,SAAS,GAGlBT,QAAQ,CAACS,SAAS;AAEtB;;;;AAIA,OAAO,MAAMC,SAAS,GAGlBV,QAAQ,CAACU,SAAS;AAEtB;;;;AAIA,OAAO,MAAMC,cAAc,GAGvBX,QAAQ,CAACW,cAAc;AAE3B;;;;AAIA,OAAO,MAAMC,YAAY,GAGrBZ,QAAQ,CAACY,YAAY"}
|
package/dist/esm/HttpServer.js
CHANGED
|
@@ -6,6 +6,7 @@ import * as body from "./Http/Body.js";
|
|
|
6
6
|
import * as headers from "./Http/Headers.js";
|
|
7
7
|
import * as middleware from "./Http/Middleware.js";
|
|
8
8
|
import * as multipart from "./Http/Multipart.js";
|
|
9
|
+
import * as multiplex from "./Http/Multiplex.js";
|
|
9
10
|
import * as router from "./Http/Router.js";
|
|
10
11
|
import * as error from "./Http/ServerError.js";
|
|
11
12
|
import * as request from "./Http/ServerRequest.js";
|
|
@@ -15,70 +16,77 @@ export {
|
|
|
15
16
|
/**
|
|
16
17
|
* @since 1.0.0
|
|
17
18
|
*
|
|
18
|
-
* - Docs: [Http/App](https://effect-ts.github.io/effect/platform/Http/App.html)
|
|
19
|
+
* - Docs: [Http/App](https://effect-ts.github.io/effect/platform/Http/App.ts.html)
|
|
19
20
|
* - Module: `@effect/platform/Http/App`
|
|
20
21
|
*/
|
|
21
22
|
app,
|
|
22
23
|
/**
|
|
23
24
|
* @since 1.0.0
|
|
24
25
|
*
|
|
25
|
-
* - Docs: [Http/Body](https://effect-ts.github.io/effect/platform/Http/Body.html)
|
|
26
|
+
* - Docs: [Http/Body](https://effect-ts.github.io/effect/platform/Http/Body.ts.html)
|
|
26
27
|
* - Module: `@effect/platform/Http/Body`
|
|
27
28
|
*/
|
|
28
29
|
body,
|
|
29
30
|
/**
|
|
30
31
|
* @since 1.0.0
|
|
31
32
|
*
|
|
32
|
-
* - Docs: [Http/ServerError](https://effect-ts.github.io/effect/platform/Http/ServerError.html)
|
|
33
|
+
* - Docs: [Http/ServerError](https://effect-ts.github.io/effect/platform/Http/ServerError.ts.html)
|
|
33
34
|
* - Module: `@effect/platform/Http/ServerError`
|
|
34
35
|
*/
|
|
35
36
|
error,
|
|
36
37
|
/**
|
|
37
38
|
* @since 1.0.0
|
|
38
39
|
*
|
|
39
|
-
* - Docs: [Http/Headers](https://effect-ts.github.io/effect/platform/Http/Headers.html)
|
|
40
|
+
* - Docs: [Http/Headers](https://effect-ts.github.io/effect/platform/Http/Headers.ts.html)
|
|
40
41
|
* - Module: `@effect/platform/Http/Headers`
|
|
41
42
|
*/
|
|
42
43
|
headers,
|
|
43
44
|
/**
|
|
44
45
|
* @since 1.0.0
|
|
45
46
|
*
|
|
46
|
-
* - Docs: [Http/Middleware](https://effect-ts.github.io/effect/platform/Http/Middleware.html)
|
|
47
|
+
* - Docs: [Http/Middleware](https://effect-ts.github.io/effect/platform/Http/Middleware.ts.html)
|
|
47
48
|
* - Module: `@effect/platform/Http/Middleware`
|
|
48
49
|
*/
|
|
49
50
|
middleware,
|
|
50
51
|
/**
|
|
51
52
|
* @since 1.0.0
|
|
52
53
|
*
|
|
53
|
-
* - Docs: [Http/Multipart](https://effect-ts.github.io/effect/platform/Http/Multipart.html)
|
|
54
|
+
* - Docs: [Http/Multipart](https://effect-ts.github.io/effect/platform/Http/Multipart.ts.html)
|
|
54
55
|
* - Module: `@effect/platform/Http/Multipart`
|
|
55
56
|
*/
|
|
56
57
|
multipart,
|
|
57
58
|
/**
|
|
58
59
|
* @since 1.0.0
|
|
59
60
|
*
|
|
60
|
-
* - Docs: [Http/
|
|
61
|
+
* - Docs: [Http/Multiplex](https://effect-ts.github.io/effect/platform/Http/Multiplex.ts.html)
|
|
62
|
+
* - Module: `@effect/platform/Http/Multiplex`
|
|
63
|
+
*/
|
|
64
|
+
multiplex,
|
|
65
|
+
/**
|
|
66
|
+
* @since 1.0.0
|
|
67
|
+
*
|
|
68
|
+
* - Docs: [Http/ServerRequest](https://effect-ts.github.io/effect/platform/Http/ServerRequest.ts.html)
|
|
61
69
|
* - Module: `@effect/platform/Http/ServerRequest`
|
|
62
70
|
*/
|
|
63
71
|
request,
|
|
64
72
|
/**
|
|
65
73
|
* @since 1.0.0
|
|
66
74
|
*
|
|
67
|
-
* - Docs: [Http/ServerResponse](https://effect-ts.github.io/effect/platform/Http/ServerResponse.html)
|
|
75
|
+
* - Docs: [Http/ServerResponse](https://effect-ts.github.io/effect/platform/Http/ServerResponse.ts.html)
|
|
68
76
|
* - Module: `@effect/platform/Http/ServerResponse`
|
|
69
77
|
*/
|
|
70
78
|
response,
|
|
71
79
|
/**
|
|
72
80
|
* @since 1.0.0
|
|
73
81
|
*
|
|
74
|
-
* - Docs: [Http/Router](https://effect-ts.github.io/effect/platform/Http/Router.html)
|
|
82
|
+
* - Docs: [Http/Router](https://effect-ts.github.io/effect/platform/Http/Router.ts.html)
|
|
75
83
|
* - Module: `@effect/platform/Http/Router`
|
|
76
84
|
*/
|
|
77
85
|
router,
|
|
78
86
|
/**
|
|
79
87
|
* @since 1.0.0
|
|
80
88
|
*
|
|
81
|
-
* - Docs: [Http/UrlParams](https://effect-ts.github.io/effect/platform/Http/UrlParams.html)
|
|
89
|
+
* - Docs: [Http/UrlParams](https://effect-ts.github.io/effect/platform/Http/UrlParams.ts.html)
|
|
82
90
|
* - Module: `@effect/platform/Http/UrlParams`
|
|
83
91
|
*/
|
|
84
92
|
urlParams };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpServer.js","names":["app","body","headers","middleware","multipart","router","error","request","response","urlParams"],"sources":["../../src/HttpServer.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,GAAG,MAAM,eAAe;AACpC,OAAO,KAAKC,IAAI,MAAM,gBAAgB;AACtC,OAAO,KAAKC,OAAO,MAAM,mBAAmB;AAC5C,OAAO,KAAKC,UAAU,MAAM,sBAAsB;AAClD,OAAO,KAAKC,SAAS,MAAM,qBAAqB;AAChD,OAAO,KAAKC,MAAM,MAAM,kBAAkB;AAC1C,OAAO,KAAKC,KAAK,MAAM,uBAAuB;AAC9C,OAAO,KAAKC,OAAO,MAAM,yBAAyB;AAClD,OAAO,KAAKC,QAAQ,MAAM,0BAA0B;AACpD,OAAO,KAAKC,SAAS,MAAM,qBAAqB;AAEhD;AACE;;;;;;
|
|
1
|
+
{"version":3,"file":"HttpServer.js","names":["app","body","headers","middleware","multipart","multiplex","router","error","request","response","urlParams"],"sources":["../../src/HttpServer.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,GAAG,MAAM,eAAe;AACpC,OAAO,KAAKC,IAAI,MAAM,gBAAgB;AACtC,OAAO,KAAKC,OAAO,MAAM,mBAAmB;AAC5C,OAAO,KAAKC,UAAU,MAAM,sBAAsB;AAClD,OAAO,KAAKC,SAAS,MAAM,qBAAqB;AAChD,OAAO,KAAKC,SAAS,MAAM,qBAAqB;AAChD,OAAO,KAAKC,MAAM,MAAM,kBAAkB;AAC1C,OAAO,KAAKC,KAAK,MAAM,uBAAuB;AAC9C,OAAO,KAAKC,OAAO,MAAM,yBAAyB;AAClD,OAAO,KAAKC,QAAQ,MAAM,0BAA0B;AACpD,OAAO,KAAKC,SAAS,MAAM,qBAAqB;AAEhD;AACE;;;;;;AAMAV,GAAG;AACH;;;;;;AAMAC,IAAI;AACJ;;;;;;AAMAM,KAAK;AACL;;;;;;AAMAL,OAAO;AACP;;;;;;AAMAC,UAAU;AACV;;;;;;AAMAC,SAAS;AACT;;;;;;AAMAC,SAAS;AACT;;;;;;AAMAG,OAAO;AACP;;;;;;AAMAC,QAAQ;AACR;;;;;;AAMAH,MAAM;AACN;;;;;;AAMAI,SAAS"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import * as Effectable from "effect/Effectable";
|
|
3
|
+
import { dual } from "effect/Function";
|
|
4
|
+
import * as ReadonlyArray from "effect/ReadonlyArray";
|
|
5
|
+
import * as Error from "../../Http/ServerError.js";
|
|
6
|
+
import * as ServerRequest from "../../Http/ServerRequest.js";
|
|
7
|
+
/** @internal */
|
|
8
|
+
export const TypeId = /*#__PURE__*/Symbol.for("@effect/platform/Http/Multiplex");
|
|
9
|
+
class MultiplexImpl extends Effectable.Class {
|
|
10
|
+
apps;
|
|
11
|
+
[TypeId];
|
|
12
|
+
constructor(apps) {
|
|
13
|
+
super();
|
|
14
|
+
this.apps = apps;
|
|
15
|
+
this[TypeId] = TypeId;
|
|
16
|
+
let execute = request => Effect.fail(Error.RouteNotFound({
|
|
17
|
+
request
|
|
18
|
+
}));
|
|
19
|
+
for (let i = apps.length - 1; i >= 0; i--) {
|
|
20
|
+
const [predicate, app] = apps[i];
|
|
21
|
+
const previous = execute;
|
|
22
|
+
execute = request => Effect.flatMap(predicate(request), match => match ? app : previous(request));
|
|
23
|
+
}
|
|
24
|
+
this.execute = Effect.flatMap(ServerRequest.ServerRequest, execute);
|
|
25
|
+
}
|
|
26
|
+
execute;
|
|
27
|
+
commit() {
|
|
28
|
+
return this.execute;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/** @internal */
|
|
32
|
+
export const empty = /*#__PURE__*/new MultiplexImpl([]);
|
|
33
|
+
/** @internal */
|
|
34
|
+
export const make = apps => new MultiplexImpl(ReadonlyArray.fromIterable(apps));
|
|
35
|
+
/** @internal */
|
|
36
|
+
export const add = /*#__PURE__*/dual(3, (self, predicate, app) => make([...self.apps, [predicate, app]]));
|
|
37
|
+
/** @internal */
|
|
38
|
+
export const headerExact = /*#__PURE__*/dual(4, (self, header, value, app) => add(self, req => req.headers[header] !== undefined ? Effect.succeed(req.headers[header] === value) : Effect.succeed(false), app));
|
|
39
|
+
/** @internal */
|
|
40
|
+
export const headerRegex = /*#__PURE__*/dual(4, (self, header, regex, app) => add(self, req => req.headers[header] !== undefined ? Effect.succeed(regex.test(req.headers[header])) : Effect.succeed(false), app));
|
|
41
|
+
/** @internal */
|
|
42
|
+
export const headerStartsWith = /*#__PURE__*/dual(4, (self, header, prefix, app) => add(self, req => req.headers[header] !== undefined ? Effect.succeed(req.headers[header].startsWith(prefix)) : Effect.succeed(false), app));
|
|
43
|
+
/** @internal */
|
|
44
|
+
export const headerEndsWith = /*#__PURE__*/dual(4, (self, header, suffix, app) => add(self, req => req.headers[header] !== undefined ? Effect.succeed(req.headers[header].endsWith(suffix)) : Effect.succeed(false), app));
|
|
45
|
+
/** @internal */
|
|
46
|
+
export const hostRegex = /*#__PURE__*/dual(3, (self, regex, app) => headerRegex(self, "host", regex, app));
|
|
47
|
+
/** @internal */
|
|
48
|
+
export const hostStartsWith = /*#__PURE__*/dual(3, (self, prefix, app) => headerStartsWith(self, "host", prefix, app));
|
|
49
|
+
/** @internal */
|
|
50
|
+
export const hostEndsWith = /*#__PURE__*/dual(3, (self, suffix, app) => headerEndsWith(self, "host", suffix, app));
|
|
51
|
+
/** @internal */
|
|
52
|
+
export const hostExact = /*#__PURE__*/dual(3, (self, host, app) => headerExact(self, "host", host, app));
|
|
53
|
+
//# sourceMappingURL=multiplex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multiplex.js","names":["Effect","Effectable","dual","ReadonlyArray","Error","ServerRequest","TypeId","Symbol","for","MultiplexImpl","Class","apps","constructor","execute","request","fail","RouteNotFound","i","length","predicate","app","previous","flatMap","match","commit","empty","make","fromIterable","add","self","headerExact","header","value","req","headers","undefined","succeed","headerRegex","regex","test","headerStartsWith","prefix","startsWith","headerEndsWith","suffix","endsWith","hostRegex","hostStartsWith","hostEndsWith","hostExact","host"],"sources":["../../../../src/internal/http/multiplex.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -48,12 +48,10 @@ class RouterImpl extends Effectable.StructuralClass {
|
|
|
48
48
|
this.routes = routes;
|
|
49
49
|
this.mounts = mounts;
|
|
50
50
|
this[TypeId] = TypeId;
|
|
51
|
+
this.httpApp = toHttpApp(this);
|
|
51
52
|
}
|
|
52
53
|
httpApp;
|
|
53
54
|
commit() {
|
|
54
|
-
if (this.httpApp === undefined) {
|
|
55
|
-
this.httpApp = toHttpApp(this);
|
|
56
|
-
}
|
|
57
55
|
return this.httpApp;
|
|
58
56
|
}
|
|
59
57
|
toJSON() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","names":["Schema","Chunk","Context","Effect","Effectable","dual","Inspectable","Option","FindMyWay","Error","ServerRequest","TypeId","Symbol","for","RouteTypeId","RouteContextTypeId","RouteContext","Tag","params","map","_","searchParams","schemaParams","schema","parse","flatMap","schemaPathParams","schemaSearchParams","RouterImpl","StructuralClass","routes","mounts","constructor","httpApp","commit","undefined","toHttpApp","toJSON","_id","toString","format","NodeInspectSymbol","self","router","make","toReadonlyArray","mountsLen","length","forEach","route","method","all","path","on","request","i","app","url","startsWith","provideService","sliceRequestUrl","result","find","fail","RouteNotFound","handler","prefix","_tag","value","mapInputContext","context","add","RouteContextImpl","prefexLen","modify","slice","RouteImpl","none","empty","fromIterable","makeRoute","concat","that","appendAll","removeTrailingSlash","endsWith","prefixAll","orElse","some","mount","mountApp","append","get","post","put","patch","del","head","options","use","f","catchAll","catchAllCause","catchTag","k","catchTags","cases","tag","service","provideServiceEffect","effect"],"sources":["../../../../src/internal/http/router.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"router.js","names":["Schema","Chunk","Context","Effect","Effectable","dual","Inspectable","Option","FindMyWay","Error","ServerRequest","TypeId","Symbol","for","RouteTypeId","RouteContextTypeId","RouteContext","Tag","params","map","_","searchParams","schemaParams","schema","parse","flatMap","schemaPathParams","schemaSearchParams","RouterImpl","StructuralClass","routes","mounts","constructor","httpApp","toHttpApp","commit","toJSON","_id","toString","format","NodeInspectSymbol","self","router","make","toReadonlyArray","mountsLen","length","forEach","route","method","all","path","on","request","i","app","url","startsWith","provideService","sliceRequestUrl","result","find","undefined","fail","RouteNotFound","handler","prefix","_tag","value","mapInputContext","context","add","RouteContextImpl","prefexLen","modify","slice","RouteImpl","none","empty","fromIterable","makeRoute","concat","that","appendAll","removeTrailingSlash","endsWith","prefixAll","orElse","some","mount","mountApp","append","get","post","put","patch","del","head","options","use","f","catchAll","catchAllCause","catchTag","k","catchTags","cases","tag","service","provideServiceEffect","effect"],"sources":["../../../../src/internal/http/router.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.40.
|
|
3
|
+
"version": "0.40.3",
|
|
4
4
|
"description": "Unified interfaces for common platform-specific services",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"path-browserify": "^1.0.1"
|
|
15
15
|
},
|
|
16
16
|
"peerDependencies": {
|
|
17
|
-
"@effect/schema": "^0.
|
|
17
|
+
"@effect/schema": "^0.58.0",
|
|
18
18
|
"effect": "^2.0.2"
|
|
19
19
|
},
|
|
20
20
|
"exports": {
|
|
@@ -104,6 +104,11 @@
|
|
|
104
104
|
"import": "./dist/esm/Http/Multipart.js",
|
|
105
105
|
"default": "./dist/cjs/Http/Multipart.js"
|
|
106
106
|
},
|
|
107
|
+
"./Http/Multiplex": {
|
|
108
|
+
"types": "./dist/dts/Http/Multiplex.d.ts",
|
|
109
|
+
"import": "./dist/esm/Http/Multiplex.js",
|
|
110
|
+
"default": "./dist/cjs/Http/Multiplex.js"
|
|
111
|
+
},
|
|
107
112
|
"./Http/Platform": {
|
|
108
113
|
"types": "./dist/dts/Http/Platform.d.ts",
|
|
109
114
|
"import": "./dist/esm/Http/Platform.js",
|
|
@@ -243,6 +248,9 @@
|
|
|
243
248
|
"Http/Multipart": [
|
|
244
249
|
"./dist/dts/Http/Multipart.d.ts"
|
|
245
250
|
],
|
|
251
|
+
"Http/Multiplex": [
|
|
252
|
+
"./dist/dts/Http/Multiplex.d.ts"
|
|
253
|
+
],
|
|
246
254
|
"Http/Platform": [
|
|
247
255
|
"./dist/dts/Http/Platform.d.ts"
|
|
248
256
|
],
|
|
@@ -89,8 +89,8 @@ export const schemaExternalSpan = flow(
|
|
|
89
89
|
b3: Schema.NonEmpty
|
|
90
90
|
}),
|
|
91
91
|
SpanSchema,
|
|
92
|
-
(_) => {
|
|
93
|
-
const parts =
|
|
92
|
+
(input, _, ast) => {
|
|
93
|
+
const parts = input.b3.split("-")
|
|
94
94
|
if (parts.length >= 2) {
|
|
95
95
|
return ParseResult.succeed({
|
|
96
96
|
traceId: parts[0],
|
|
@@ -99,7 +99,7 @@ export const schemaExternalSpan = flow(
|
|
|
99
99
|
parentSpanId: parts[3]
|
|
100
100
|
})
|
|
101
101
|
}
|
|
102
|
-
return ParseResult.fail(ParseResult.
|
|
102
|
+
return ParseResult.fail(ParseResult.type(ast, input))
|
|
103
103
|
},
|
|
104
104
|
(_) => ParseResult.succeed({ b3: "" })
|
|
105
105
|
),
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import type * as Effect from "effect/Effect"
|
|
5
|
+
import * as internal from "../internal/http/multiplex.js"
|
|
6
|
+
import type * as App from "./App.js"
|
|
7
|
+
import type * as Error from "./ServerError.js"
|
|
8
|
+
import type * as ServerRequest from "./ServerRequest.js"
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* @since 1.0.0
|
|
12
|
+
* @category type ids
|
|
13
|
+
*/
|
|
14
|
+
export const TypeId: unique symbol = internal.TypeId
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @since 1.0.0
|
|
18
|
+
* @category type ids
|
|
19
|
+
*/
|
|
20
|
+
export type TypeId = typeof TypeId
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* @since 1.0.0
|
|
24
|
+
* @category models
|
|
25
|
+
*/
|
|
26
|
+
export interface Multiplex<R, E> extends App.Default<R, E | Error.RouteNotFound> {
|
|
27
|
+
readonly [TypeId]: TypeId
|
|
28
|
+
readonly apps: ReadonlyArray<
|
|
29
|
+
readonly [
|
|
30
|
+
predicate: (request: ServerRequest.ServerRequest) => Effect.Effect<R, E, boolean>,
|
|
31
|
+
app: App.Default<R, E>
|
|
32
|
+
]
|
|
33
|
+
>
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* @since 1.0.0
|
|
38
|
+
* @category constructors
|
|
39
|
+
*/
|
|
40
|
+
export const empty: Multiplex<never, never> = internal.empty
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* @since 1.0.0
|
|
44
|
+
* @category constructors
|
|
45
|
+
*/
|
|
46
|
+
export const make: <R, E>(
|
|
47
|
+
apps: Iterable<
|
|
48
|
+
readonly [predicate: (request: ServerRequest.ServerRequest) => Effect.Effect<R, E, boolean>, app: App.Default<R, E>]
|
|
49
|
+
>
|
|
50
|
+
) => Multiplex<R, E> = internal.make
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* @since 1.0.0
|
|
54
|
+
* @category combinators
|
|
55
|
+
*/
|
|
56
|
+
export const add: {
|
|
57
|
+
<R2, E2, R3, E3>(
|
|
58
|
+
predicate: (request: ServerRequest.ServerRequest) => Effect.Effect<R2, E2, boolean>,
|
|
59
|
+
app: App.Default<R3, E3>
|
|
60
|
+
): <R, E>(self: Multiplex<R, E>) => Multiplex<R2 | R3 | R, E2 | E3 | E>
|
|
61
|
+
<R, E, R2, E2, R3, E3>(
|
|
62
|
+
self: Multiplex<R, E>,
|
|
63
|
+
predicate: (request: ServerRequest.ServerRequest) => Effect.Effect<R2, E2, boolean>,
|
|
64
|
+
app: App.Default<R3, E3>
|
|
65
|
+
): Multiplex<R | R2 | R3, E | E2 | E3>
|
|
66
|
+
} = internal.add
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* @since 1.0.0
|
|
70
|
+
* @category combinators
|
|
71
|
+
*/
|
|
72
|
+
export const headerExact: {
|
|
73
|
+
<R2, E2>(
|
|
74
|
+
header: string,
|
|
75
|
+
value: string,
|
|
76
|
+
app: App.Default<R2, E2>
|
|
77
|
+
): <R, E>(self: Multiplex<R, E>) => Multiplex<R2 | R, E2 | E>
|
|
78
|
+
<R, E, R2, E2>(
|
|
79
|
+
self: Multiplex<R, E>,
|
|
80
|
+
header: string,
|
|
81
|
+
value: string,
|
|
82
|
+
app: App.Default<R2, E2>
|
|
83
|
+
): Multiplex<R | R2, E | E2>
|
|
84
|
+
} = internal.headerExact
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* @since 1.0.0
|
|
88
|
+
* @category combinators
|
|
89
|
+
*/
|
|
90
|
+
export const headerRegex: {
|
|
91
|
+
<R2, E2>(
|
|
92
|
+
header: string,
|
|
93
|
+
regex: RegExp,
|
|
94
|
+
app: App.Default<R2, E2>
|
|
95
|
+
): <R, E>(self: Multiplex<R, E>) => Multiplex<R2 | R, E2 | E>
|
|
96
|
+
<R, E, R2, E2>(
|
|
97
|
+
self: Multiplex<R, E>,
|
|
98
|
+
header: string,
|
|
99
|
+
regex: RegExp,
|
|
100
|
+
app: App.Default<R2, E2>
|
|
101
|
+
): Multiplex<R | R2, E | E2>
|
|
102
|
+
} = internal.headerRegex
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* @since 1.0.0
|
|
106
|
+
* @category combinators
|
|
107
|
+
*/
|
|
108
|
+
export const headerStartsWith: {
|
|
109
|
+
<R2, E2>(
|
|
110
|
+
header: string,
|
|
111
|
+
prefix: string,
|
|
112
|
+
app: App.Default<R2, E2>
|
|
113
|
+
): <R, E>(self: Multiplex<R, E>) => Multiplex<R2 | R, E2 | E>
|
|
114
|
+
<R, E, R2, E2>(
|
|
115
|
+
self: Multiplex<R, E>,
|
|
116
|
+
header: string,
|
|
117
|
+
prefix: string,
|
|
118
|
+
app: App.Default<R2, E2>
|
|
119
|
+
): Multiplex<R | R2, E | E2>
|
|
120
|
+
} = internal.headerStartsWith
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* @since 1.0.0
|
|
124
|
+
* @category combinators
|
|
125
|
+
*/
|
|
126
|
+
export const headerEndsWith: {
|
|
127
|
+
<R2, E2>(
|
|
128
|
+
header: string,
|
|
129
|
+
suffix: string,
|
|
130
|
+
app: App.Default<R2, E2>
|
|
131
|
+
): <R, E>(self: Multiplex<R, E>) => Multiplex<R2 | R, E2 | E>
|
|
132
|
+
<R, E, R2, E2>(
|
|
133
|
+
self: Multiplex<R, E>,
|
|
134
|
+
header: string,
|
|
135
|
+
suffix: string,
|
|
136
|
+
app: App.Default<R2, E2>
|
|
137
|
+
): Multiplex<R | R2, E | E2>
|
|
138
|
+
} = internal.headerEndsWith
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* @since 1.0.0
|
|
142
|
+
* @category combinators
|
|
143
|
+
*/
|
|
144
|
+
export const hostExact: {
|
|
145
|
+
<R2, E2>(host: string, app: App.Default<R2, E2>): <R, E>(self: Multiplex<R, E>) => Multiplex<R2 | R, E2 | E>
|
|
146
|
+
<R, E, R2, E2>(self: Multiplex<R, E>, host: string, app: App.Default<R2, E2>): Multiplex<R | R2, E | E2>
|
|
147
|
+
} = internal.hostExact
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* @since 1.0.0
|
|
151
|
+
* @category combinators
|
|
152
|
+
*/
|
|
153
|
+
export const hostRegex: {
|
|
154
|
+
<R2, E2>(regex: RegExp, app: App.Default<R2, E2>): <R, E>(self: Multiplex<R, E>) => Multiplex<R2 | R, E2 | E>
|
|
155
|
+
<R, E, R2, E2>(self: Multiplex<R, E>, regex: RegExp, app: App.Default<R2, E2>): Multiplex<R | R2, E | E2>
|
|
156
|
+
} = internal.hostRegex
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* @since 1.0.0
|
|
160
|
+
* @category combinators
|
|
161
|
+
*/
|
|
162
|
+
export const hostStartsWith: {
|
|
163
|
+
<R2, E2>(prefix: string, app: App.Default<R2, E2>): <R, E>(self: Multiplex<R, E>) => Multiplex<R2 | R, E2 | E>
|
|
164
|
+
<R, E, R2, E2>(self: Multiplex<R, E>, prefix: string, app: App.Default<R2, E2>): Multiplex<R | R2, E | E2>
|
|
165
|
+
} = internal.hostStartsWith
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* @since 1.0.0
|
|
169
|
+
* @category combinators
|
|
170
|
+
*/
|
|
171
|
+
export const hostEndsWith: {
|
|
172
|
+
<R2, E2>(suffix: string, app: App.Default<R2, E2>): <R, E>(self: Multiplex<R, E>) => Multiplex<R2 | R, E2 | E>
|
|
173
|
+
<R, E, R2, E2>(self: Multiplex<R, E>, suffix: string, app: App.Default<R2, E2>): Multiplex<R | R2, E | E2>
|
|
174
|
+
} = internal.hostEndsWith
|