@fncts/http 0.0.11 → 0.0.13
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/LICENSE +26 -0
- package/_cjs/Body/api.cjs +62 -65
- package/_cjs/Body/api.cjs.map +1 -1
- package/_cjs/Body/definition.cjs +66 -65
- package/_cjs/Body/definition.cjs.map +1 -1
- package/_cjs/Body.cjs +20 -28
- package/_cjs/BodyError.cjs +33 -38
- package/_cjs/BodyError.cjs.map +1 -1
- package/_cjs/Headers.cjs +70 -74
- package/_cjs/Headers.cjs.map +1 -1
- package/_cjs/HttpApp.cjs +102 -94
- package/_cjs/HttpApp.cjs.map +1 -1
- package/_cjs/IncomingMessage/api.cjs +24 -23
- package/_cjs/IncomingMessage/api.cjs.map +1 -1
- package/_cjs/IncomingMessage/definition.cjs +12 -17
- package/_cjs/IncomingMessage/definition.cjs.map +1 -1
- package/_cjs/IncomingMessage.cjs +8 -28
- package/_cjs/Method.cjs +6 -7
- package/_cjs/Method.cjs.map +1 -1
- package/_cjs/Middleware.cjs +11 -12
- package/_cjs/Middleware.cjs.map +1 -1
- package/_cjs/QueryParams.cjs +0 -2
- package/_cjs/RequestError.cjs +17 -17
- package/_cjs/RequestError.cjs.map +1 -1
- package/_cjs/ResponseError.cjs +26 -25
- package/_cjs/ResponseError.cjs.map +1 -1
- package/_cjs/Route/api.cjs +87 -74
- package/_cjs/Route/api.cjs.map +1 -1
- package/_cjs/Route/definition.cjs +29 -34
- package/_cjs/Route/definition.cjs.map +1 -1
- package/_cjs/Route/internal.cjs +33 -27
- package/_cjs/Route/internal.cjs.map +1 -1
- package/_cjs/Route.cjs +23 -28
- package/_cjs/RouteNotFound.cjs +16 -16
- package/_cjs/RouteNotFound.cjs.map +1 -1
- package/_cjs/Router/api.cjs +127 -119
- package/_cjs/Router/api.cjs.map +1 -1
- package/_cjs/Router/definition.cjs +14 -19
- package/_cjs/Router/definition.cjs.map +1 -1
- package/_cjs/Router/internal.cjs +75 -79
- package/_cjs/Router/internal.cjs.map +1 -1
- package/_cjs/Router.cjs +24 -28
- package/_cjs/Server.cjs +38 -41
- package/_cjs/Server.cjs.map +1 -1
- package/_cjs/ServerError.cjs +18 -19
- package/_cjs/ServerError.cjs.map +1 -1
- package/_cjs/ServerRequest/api.cjs +9 -10
- package/_cjs/ServerRequest/api.cjs.map +1 -1
- package/_cjs/ServerRequest/definition.cjs +21 -25
- package/_cjs/ServerRequest/definition.cjs.map +1 -1
- package/_cjs/ServerRequest/internal.cjs +77 -74
- package/_cjs/ServerRequest/internal.cjs.map +1 -1
- package/_cjs/ServerRequest.cjs +7 -28
- package/_cjs/ServerResponse/api.cjs +108 -116
- package/_cjs/ServerResponse/api.cjs.map +1 -1
- package/_cjs/ServerResponse/definition.cjs +36 -39
- package/_cjs/ServerResponse/definition.cjs.map +1 -1
- package/_cjs/ServerResponse.cjs +18 -28
- package/_cjs/Socket.cjs +213 -193
- package/_cjs/Socket.cjs.map +1 -1
- package/_cjs/UrlParams.cjs +23 -26
- package/_cjs/UrlParams.cjs.map +1 -1
- package/_cjs/chunk.cjs +28 -0
- package/_cjs/global.cjs +0 -2
- package/_mjs/Body/api.mjs +54 -56
- package/_mjs/Body/api.mjs.map +1 -1
- package/_mjs/Body/definition.mjs +61 -55
- package/_mjs/Body/definition.mjs.map +1 -1
- package/_mjs/Body.mjs +3 -4
- package/_mjs/BodyError.mjs +30 -30
- package/_mjs/BodyError.mjs.map +1 -1
- package/_mjs/Headers.mjs +61 -64
- package/_mjs/Headers.mjs.map +1 -1
- package/_mjs/HttpApp.mjs +74 -79
- package/_mjs/HttpApp.mjs.map +1 -1
- package/_mjs/IncomingMessage/api.mjs +21 -17
- package/_mjs/IncomingMessage/api.mjs.map +1 -1
- package/_mjs/IncomingMessage/definition.mjs +11 -11
- package/_mjs/IncomingMessage/definition.mjs.map +1 -1
- package/_mjs/IncomingMessage.mjs +3 -4
- package/_mjs/Method.mjs +6 -2
- package/_mjs/Method.mjs.map +1 -1
- package/_mjs/Middleware.mjs +10 -6
- package/_mjs/Middleware.mjs.map +1 -1
- package/_mjs/QueryParams.mjs +0 -2
- package/_mjs/RequestError.mjs +16 -11
- package/_mjs/RequestError.mjs.map +1 -1
- package/_mjs/ResponseError.mjs +25 -19
- package/_mjs/ResponseError.mjs.map +1 -1
- package/_mjs/Route/api.mjs +68 -64
- package/_mjs/Route/api.mjs.map +1 -1
- package/_mjs/Route/definition.mjs +21 -24
- package/_mjs/Route/definition.mjs.map +1 -1
- package/_mjs/Route/internal.mjs +30 -19
- package/_mjs/Route/internal.mjs.map +1 -1
- package/_mjs/Route.mjs +3 -4
- package/_mjs/RouteNotFound.mjs +15 -10
- package/_mjs/RouteNotFound.mjs.map +1 -1
- package/_mjs/Router/api.mjs +105 -107
- package/_mjs/Router/api.mjs.map +1 -1
- package/_mjs/Router/definition.mjs +11 -12
- package/_mjs/Router/definition.mjs.map +1 -1
- package/_mjs/Router/internal.mjs +55 -63
- package/_mjs/Router/internal.mjs.map +1 -1
- package/_mjs/Router.mjs +3 -4
- package/_mjs/Server.mjs +28 -31
- package/_mjs/Server.mjs.map +1 -1
- package/_mjs/ServerError.mjs +14 -11
- package/_mjs/ServerError.mjs.map +1 -1
- package/_mjs/ServerRequest/api.mjs +8 -4
- package/_mjs/ServerRequest/api.mjs.map +1 -1
- package/_mjs/ServerRequest/definition.mjs +15 -16
- package/_mjs/ServerRequest/definition.mjs.map +1 -1
- package/_mjs/ServerRequest/internal.mjs +65 -64
- package/_mjs/ServerRequest/internal.mjs.map +1 -1
- package/_mjs/ServerRequest.mjs +3 -4
- package/_mjs/ServerResponse/api.mjs +97 -106
- package/_mjs/ServerResponse/api.mjs.map +1 -1
- package/_mjs/ServerResponse/definition.mjs +30 -30
- package/_mjs/ServerResponse/definition.mjs.map +1 -1
- package/_mjs/ServerResponse.mjs +3 -4
- package/_mjs/Socket.mjs +152 -157
- package/_mjs/Socket.mjs.map +1 -1
- package/_mjs/UrlParams.mjs +22 -19
- package/_mjs/UrlParams.mjs.map +1 -1
- package/_mjs/global.mjs +0 -2
- package/_src/Headers.ts +1 -1
- package/_src/Socket.ts +1 -0
- package/_src/UrlParams.ts +1 -1
- package/package.json +10 -6
- package/_cjs/Body.cjs.map +0 -1
- package/_cjs/IncomingMessage.cjs.map +0 -1
- package/_cjs/QueryParams.cjs.map +0 -1
- package/_cjs/Route.cjs.map +0 -1
- package/_cjs/Router.cjs.map +0 -1
- package/_cjs/ServerRequest.cjs.map +0 -1
- package/_cjs/ServerResponse.cjs.map +0 -1
- package/_cjs/global.cjs.map +0 -1
- package/_mjs/Body.mjs.map +0 -1
- package/_mjs/IncomingMessage.mjs.map +0 -1
- package/_mjs/QueryParams.mjs.map +0 -1
- package/_mjs/Route.mjs.map +0 -1
- package/_mjs/Router.mjs.map +0 -1
- package/_mjs/ServerRequest.mjs.map +0 -1
- package/_mjs/ServerResponse.mjs.map +0 -1
- package/_mjs/global.mjs.map +0 -1
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
var _a;
|
|
2
|
-
import * as tsplus_module_1 from "@fncts/base/collection/immutable/HashMap/api";
|
|
3
|
-
import * as tsplus_module_2 from "@fncts/base/util/predicates";
|
|
4
1
|
import { Headers } from "../Headers.mjs";
|
|
5
|
-
|
|
2
|
+
import * as tsplus_module_2 from "@fncts/base/util/predicates";
|
|
3
|
+
import * as tsplus_module_1 from "@fncts/base/collection/immutable/HashMap/api";
|
|
4
|
+
//#region build/esm/ServerResponse/definition.js
|
|
5
|
+
const ServerResponseTypeId = Symbol.for("fncts.http.ServerResponse");
|
|
6
6
|
/**
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
_a = ServerResponseTypeId;
|
|
31
|
-
export function isServerResponse(u) {
|
|
32
|
-
return tsplus_module_2.isObject(u) && ServerResponseTypeId in u;
|
|
7
|
+
* @tsplus type fncts.http.ServerResponse
|
|
8
|
+
* @tsplus companion fncts.http.ServerResponseOps
|
|
9
|
+
*/
|
|
10
|
+
var ServerResponse = class {
|
|
11
|
+
status;
|
|
12
|
+
statusText;
|
|
13
|
+
body;
|
|
14
|
+
[ServerResponseTypeId] = ServerResponseTypeId;
|
|
15
|
+
headers;
|
|
16
|
+
constructor(status, statusText, headers, body) {
|
|
17
|
+
this.status = status;
|
|
18
|
+
this.statusText = statusText;
|
|
19
|
+
this.body = body;
|
|
20
|
+
if (body.contentType || body.contentLength) {
|
|
21
|
+
const newHeaders = tsplus_module_1.beginMutation(headers.backing);
|
|
22
|
+
if (body.contentType) tsplus_module_1.set("content-type", body.contentType)(newHeaders);
|
|
23
|
+
if (body.contentLength) tsplus_module_1.set("content-length", body.contentLength.toString())(newHeaders);
|
|
24
|
+
this.headers = new Headers(tsplus_module_1.endMutation(newHeaders));
|
|
25
|
+
} else this.headers = headers;
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
function isServerResponse(u) {
|
|
29
|
+
return tsplus_module_2.isObject(u) && ServerResponseTypeId in u;
|
|
33
30
|
}
|
|
31
|
+
//#endregion
|
|
32
|
+
export { ServerResponse, ServerResponseTypeId, isServerResponse };
|
|
33
|
+
|
|
34
34
|
//# sourceMappingURL=definition.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.mjs","names":["
|
|
1
|
+
{"version":3,"file":"definition.mjs","names":[],"sources":["../../esm/ServerResponse/definition.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/base/collection/immutable/HashMap/api\";\nimport * as tsplus_module_2 from \"@fncts/base/util/predicates\";\nimport { Headers } from \"../Headers.js\";\nexport const ServerResponseTypeId = Symbol.for(\"fncts.http.ServerResponse\");\n/**\n * @tsplus type fncts.http.ServerResponse\n * @tsplus companion fncts.http.ServerResponseOps\n */\nexport class ServerResponse {\n status;\n statusText;\n body;\n [ServerResponseTypeId] = ServerResponseTypeId;\n headers;\n constructor(status, statusText, headers, body) {\n this.status = status;\n this.statusText = statusText;\n this.body = body;\n if (body.contentType || body.contentLength) {\n const newHeaders = tsplus_module_1.beginMutation(headers.backing);\n if (body.contentType) {\n tsplus_module_1.set(\"content-type\", body.contentType)(newHeaders);\n }\n if (body.contentLength) {\n tsplus_module_1.set(\"content-length\", body.contentLength.toString())(newHeaders);\n }\n this.headers = new Headers(tsplus_module_1.endMutation(newHeaders));\n }\n else {\n this.headers = headers;\n }\n }\n}\nexport function isServerResponse(u) {\n return tsplus_module_2.isObject(u) && ServerResponseTypeId in u;\n}\n//# sourceMappingURL=definition.js.map"],"mappings":";;;;AAGA,MAAa,uBAAuB,OAAO,IAAI,4BAA4B;;;;;AAK3E,IAAa,iBAAb,MAA4B;CACxB;CACA;CACA;CACA,CAAC,wBAAwB;CACzB;CACA,YAAY,QAAQ,YAAY,SAAS,MAAM;AAC3C,OAAK,SAAS;AACd,OAAK,aAAa;AAClB,OAAK,OAAO;AACZ,MAAI,KAAK,eAAe,KAAK,eAAe;GACxC,MAAM,aAAa,gBAAgB,cAAc,QAAQ,QAAQ;AACjE,OAAI,KAAK,YACL,iBAAgB,IAAI,gBAAgB,KAAK,YAAY,CAAC,WAAW;AAErE,OAAI,KAAK,cACL,iBAAgB,IAAI,kBAAkB,KAAK,cAAc,UAAU,CAAC,CAAC,WAAW;AAEpF,QAAK,UAAU,IAAI,QAAQ,gBAAgB,YAAY,WAAW,CAAC;QAGnE,MAAK,UAAU;;;AAI3B,SAAgB,iBAAiB,GAAG;AAChC,QAAO,gBAAgB,SAAS,EAAE,IAAI,wBAAwB"}
|
package/_mjs/ServerResponse.mjs
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export
|
|
4
|
-
//# sourceMappingURL=ServerResponse.mjs.map
|
|
1
|
+
import { ServerResponse, ServerResponseTypeId, isServerResponse } from "./ServerResponse/definition.mjs";
|
|
2
|
+
import { empty, json, schemaJson, setBody, setHeader, setHeaders, setStatus, stream, text, toWeb, uint8Array, urlParams } from "./ServerResponse/api.mjs";
|
|
3
|
+
export { ServerResponse, ServerResponseTypeId, empty, isServerResponse, json, schemaJson, setBody, setHeader, setHeaders, setStatus, stream, text, toWeb, uint8Array, urlParams };
|
package/_mjs/Socket.mjs
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
var _a, _b, _c, _d;
|
|
2
|
-
const fileName_1 = "(@fncts/http) src/Socket.ts";
|
|
3
1
|
import * as tsplus_module_1 from "@fncts/base/data/Tag/constructors";
|
|
4
2
|
import * as tsplus_module_2 from "@fncts/base/util/predicates";
|
|
5
3
|
import * as tsplus_module_3 from "@fncts/io/Channel/api";
|
|
@@ -24,179 +22,176 @@ import * as tsplus_module_21 from "@fncts/io/Future/api";
|
|
|
24
22
|
import * as tsplus_module_22 from "@fncts/io/IO/api/environment";
|
|
25
23
|
import * as tsplus_module_23 from "@fncts/io/IO/api/scoped";
|
|
26
24
|
import * as tsplus_module_24 from "@fncts/io/Layer/api";
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
25
|
+
import { WebSocket } from "isows";
|
|
26
|
+
//#region build/esm/Socket.js
|
|
27
|
+
const fileName_1 = "(@fncts/http) src/Socket.ts";
|
|
28
|
+
const toChannel = toChannel_1;
|
|
29
|
+
const makeWebSocket = makeWebSocket_1;
|
|
30
|
+
const fromWebSocket = fromWebSocket_1;
|
|
31
|
+
const SocketTypeId = Symbol.for("fncts.http.Socket");
|
|
32
32
|
/**
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
_a = SocketTypeId;
|
|
33
|
+
* @tsplus type fncts.http.Socket
|
|
34
|
+
* @tsplus companion fncts.http.SocketOps
|
|
35
|
+
*/
|
|
36
|
+
var Socket = class {
|
|
37
|
+
[SocketTypeId] = SocketTypeId;
|
|
38
|
+
};
|
|
42
39
|
/**
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
const SocketTag_1 =
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
this.code = code;
|
|
81
|
-
this.reason = reason;
|
|
82
|
-
this[_d] = CloseEventTypeId;
|
|
83
|
-
}
|
|
40
|
+
* @tsplus static fncts.http.SocketOps Tag
|
|
41
|
+
*/
|
|
42
|
+
const SocketTag_1 = tsplus_module_1.makeTag();
|
|
43
|
+
const SocketTag = SocketTag_1;
|
|
44
|
+
const SocketGenericErrorTypeId = Symbol.for("fncts.http.Socket.SocketGenericError");
|
|
45
|
+
var SocketGenericError = class extends Error {
|
|
46
|
+
reason;
|
|
47
|
+
error;
|
|
48
|
+
[SocketGenericErrorTypeId] = SocketGenericErrorTypeId;
|
|
49
|
+
constructor(reason, error) {
|
|
50
|
+
super();
|
|
51
|
+
this.reason = reason;
|
|
52
|
+
this.error = error;
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
const SocketCloseErrorTypeId = Symbol.for("fncts.http.Socket.SocketCloseError");
|
|
56
|
+
var SocketCloseError = class extends Error {
|
|
57
|
+
reason;
|
|
58
|
+
code;
|
|
59
|
+
closeReason;
|
|
60
|
+
error;
|
|
61
|
+
[SocketCloseErrorTypeId] = SocketCloseErrorTypeId;
|
|
62
|
+
constructor(reason, code, closeReason, error) {
|
|
63
|
+
super();
|
|
64
|
+
this.reason = reason;
|
|
65
|
+
this.code = code;
|
|
66
|
+
this.closeReason = closeReason;
|
|
67
|
+
this.error = error;
|
|
68
|
+
}
|
|
69
|
+
static isClean(isClean) {
|
|
70
|
+
return (u) => {
|
|
71
|
+
return isSocketCloseError(u) && isClean(u.code);
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
function isSocketCloseError(u) {
|
|
76
|
+
return tsplus_module_2.isObject(u) && SocketCloseErrorTypeId in u;
|
|
84
77
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
78
|
+
const CloseEventTypeId = Symbol.for("fncts.http.Socket.CloseEvent");
|
|
79
|
+
var CloseEvent = class {
|
|
80
|
+
code;
|
|
81
|
+
reason;
|
|
82
|
+
[CloseEventTypeId] = CloseEventTypeId;
|
|
83
|
+
constructor(code = 1e3, reason) {
|
|
84
|
+
this.code = code;
|
|
85
|
+
this.reason = reason;
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
function isCloseEvent(u) {
|
|
89
|
+
return tsplus_module_2.isObject(u) && CloseEventTypeId in u;
|
|
88
90
|
}
|
|
89
91
|
/**
|
|
90
|
-
|
|
91
|
-
|
|
92
|
+
* @tsplus fluent fncts.http.Socket toChannel
|
|
93
|
+
*/
|
|
92
94
|
function toChannel_1(self) {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
95
|
+
return tsplus_module_3.unwrap(() => tsplus_module_8.flatMap((writeScope) => tsplus_module_8.flatMap((write) => tsplus_module_8.flatMap((exitQueue) => {
|
|
96
|
+
const input = {
|
|
97
|
+
awaitRead: tsplus_module_8.unit,
|
|
98
|
+
emit(chunk) {
|
|
99
|
+
return tsplus_module_8.catchAllCause((cause) => tsplus_module_6.offer(tsplus_module_10.failCause(cause, fileName_1 + ":94:105"), fileName_1 + ":94:90")(exitQueue), fileName_1 + ":94:63")(tsplus_module_8.foreachDiscard(chunk, write, fileName_1 + ":94:35"));
|
|
100
|
+
},
|
|
101
|
+
error(error) {
|
|
102
|
+
return tsplus_module_8.zipRight(tsplus_module_6.offer(tsplus_module_10.failCause(error, fileName_1 + ":97:78"), fileName_1 + ":97:63")(exitQueue), fileName_1 + ":97:47")(writeScope.close(() => tsplus_module_10.unit));
|
|
103
|
+
},
|
|
104
|
+
done() {
|
|
105
|
+
return writeScope.close(() => tsplus_module_10.unit);
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
return tsplus_module_8.map(() => {
|
|
109
|
+
const loop = tsplus_module_4.flatMap((exit) => tsplus_module_5.match((cause) => cause._tag === "Empty" ? tsplus_module_3.unit : tsplus_module_4.failCause(() => cause), (chunk) => tsplus_module_4.zipRight(loop)(tsplus_module_3.write(() => chunk)))(exit))(tsplus_module_3.fromIO(() => tsplus_module_6.take(exitQueue, fileName_1 + ":112:18")));
|
|
110
|
+
return tsplus_module_3.embedInput(input)(loop);
|
|
111
|
+
}, fileName_1 + ":104:8")(tsplus_module_12.interruptible(tsplus_module_11.fork(tsplus_module_8.tap((exit) => tsplus_module_6.offer(exit, fileName_1 + ":108:48")(exitQueue), fileName_1 + ":108:22")(tsplus_module_8.result(tsplus_module_8.zipRight(tsplus_module_8.failCauseNow(tsplus_module_7.empty(), fileName_1 + ":107:36"), fileName_1 + ":107:20")(self.run((data) => tsplus_module_6.offer(tsplus_module_10.succeed(tsplus_module_9.single(data), fileName_1 + ":106:54"), fileName_1 + ":106:41")(exitQueue))), fileName_1 + ":107:70")), fileName_1 + ":108:55"), fileName_1 + ":108:60"));
|
|
112
|
+
}, fileName_1 + ":89:27")(tsplus_module_13.makeUnbounded(fileName_1 + ":89:47")), fileName_1 + ":88:27")(tsplus_module_14.extend(() => self.writer, fileName_1 + ":88:45")(writeScope)), fileName_1 + ":87:27")(tsplus_module_14.make));
|
|
111
113
|
}
|
|
112
114
|
/**
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
115
|
+
* @tsplus fluent fncts.http.Socket toChannelWith
|
|
116
|
+
*/
|
|
117
|
+
function toChannelWith(self) {
|
|
118
|
+
return toChannel_1(self);
|
|
117
119
|
}
|
|
118
120
|
/**
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
const WebSocketTag_1 =
|
|
122
|
-
|
|
121
|
+
* @tsplus static fncts.http.WebSocketOps Tag
|
|
122
|
+
*/
|
|
123
|
+
const WebSocketTag_1 = tsplus_module_1.makeTag();
|
|
124
|
+
const WebSocketTag = WebSocketTag_1;
|
|
123
125
|
/**
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
126
|
+
* @tsplus static fncts.http.SocketOps makeWebSocket
|
|
127
|
+
* @tsplus static fncts.http.WebSocketOps __call
|
|
128
|
+
*/
|
|
127
129
|
function makeWebSocket_1(url, options) {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
return new IsoWs(url);
|
|
133
|
-
}, fileName_1 + ":159:9"), ws => tsplus_module_8.succeed(() => ws.close(), fileName_1 + ":165:17"), fileName_1 + ":158:22"), options);
|
|
130
|
+
return fromWebSocket_1(tsplus_module_15.acquireRelease(() => tsplus_module_8.succeed(() => {
|
|
131
|
+
if ("WebSocket" in globalThis) return new globalThis.WebSocket(url);
|
|
132
|
+
return new WebSocket(url);
|
|
133
|
+
}, fileName_1 + ":159:9"), (ws) => tsplus_module_8.succeed(() => ws.close(), fileName_1 + ":165:17"), fileName_1 + ":158:22"), options);
|
|
134
134
|
}
|
|
135
135
|
/**
|
|
136
|
-
|
|
137
|
-
|
|
136
|
+
* @tsplus static fncts.http.SocketOps fromWebSocket
|
|
137
|
+
*/
|
|
138
138
|
function fromWebSocket_1(acquire, options) {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
constructor() {
|
|
180
|
-
super(...arguments);
|
|
181
|
-
this.writer = writer;
|
|
182
|
-
this.run = run;
|
|
183
|
-
}
|
|
184
|
-
}();
|
|
185
|
-
}, fileName_1 + ":183:31")(tsplus_module_13.makeUnbounded(fileName_1 + ":183:51"));
|
|
186
|
-
})();
|
|
139
|
+
return (() => {
|
|
140
|
+
const closeCodeIsError = options?.closeCodeIsError ?? ((code) => code !== 1e3 && code !== 1006);
|
|
141
|
+
return tsplus_module_8.map((sendQueue) => {
|
|
142
|
+
const run = (handler) => tsplus_module_12.interruptible(tsplus_module_23.scoped(tsplus_module_8.flatMap((ws) => {
|
|
143
|
+
const encoder = new TextEncoder();
|
|
144
|
+
return tsplus_module_8.flatMap((fiberSet) => tsplus_module_8.flatMap((run) => {
|
|
145
|
+
let open = false;
|
|
146
|
+
ws.onmessage = (event) => {
|
|
147
|
+
run(handler(event.data instanceof Uint8Array ? event.data : typeof event.data === "string" ? encoder.encode(event.data) : new Uint8Array(event.data)));
|
|
148
|
+
};
|
|
149
|
+
ws.onclose = (event) => {
|
|
150
|
+
tsplus_module_21.unsafeDone(tsplus_module_8.fail(() => new SocketCloseError("Close", event.code, event.reason, void 0), fileName_1 + ":206:45"), fileName_1 + ":206:37")(fiberSet.future);
|
|
151
|
+
};
|
|
152
|
+
ws.onerror = (error) => {
|
|
153
|
+
tsplus_module_21.unsafeDone(tsplus_module_8.fail(() => new SocketGenericError(open ? "Read" : "Open", error), fileName_1 + ":210:45"), fileName_1 + ":210:37")(fiberSet.future);
|
|
154
|
+
};
|
|
155
|
+
return tsplus_module_8.flatMap(() => tsplus_module_8.flatMap(() => tsplus_module_8.flatMap(() => tsplus_module_8.map(() => void 0, fileName_1 + ":250:10")(tsplus_module_8.catchJust(tsplus_module_16.partial((miss) => (error) => SocketCloseError.isClean((code) => !closeCodeIsError(code))(error) ? tsplus_module_8.unit : miss()), fileName_1 + ":251:34")(tsplus_module_17.join(fiberSet))), fileName_1 + ":234:10")(tsplus_module_17.run(tsplus_module_8.forever(tsplus_module_8.tap((chunk) => {
|
|
156
|
+
if (isCloseEvent(chunk)) return tsplus_module_8.fail(() => {
|
|
157
|
+
ws.close(chunk.code, chunk.reason);
|
|
158
|
+
return new SocketCloseError("Close", chunk.code, chunk.reason, chunk);
|
|
159
|
+
}, fileName_1 + ":238:31");
|
|
160
|
+
else return tsplus_module_8.tryCatch(() => ws.send(chunk), (error) => new SocketGenericError("Write", error), fileName_1 + ":244:35");
|
|
161
|
+
}, fileName_1 + ":236:31")(tsplus_module_6.take(sendQueue, fileName_1 + ":236:22")), fileName_1 + ":246:15"))(fiberSet)), fileName_1 + ":232:10")(tsplus_module_8.succeed(() => open = true, fileName_1 + ":232:13")), fileName_1 + ":213:10")(tsplus_module_8.defer(() => {
|
|
162
|
+
if (ws.readyState !== 1) return tsplus_module_20.raceFirst(tsplus_module_17.join(fiberSet), fileName_1 + ":225:27")(tsplus_module_19.timeoutFail(() => options?.openTimeout ?? tsplus_module_18.seconds(10), () => new SocketGenericError("OpenTimeout", "timeout waiting for \"open\""))(tsplus_module_8.async((resume) => {
|
|
163
|
+
ws.onopen = () => {
|
|
164
|
+
resume(tsplus_module_8.unit);
|
|
165
|
+
};
|
|
166
|
+
})));
|
|
167
|
+
return tsplus_module_8.unit;
|
|
168
|
+
}, fileName_1 + ":214:19"));
|
|
169
|
+
}, fileName_1 + ":189:27")(tsplus_module_22.provideSomeService(ws, WebSocketTag_1, fileName_1 + ":190:73")(tsplus_module_17.runtime()(fiberSet))), fileName_1 + ":188:27")(tsplus_module_17.make());
|
|
170
|
+
}, fileName_1 + ":186:27")(acquire), fileName_1 + ":258:9"), fileName_1 + ":258:16");
|
|
171
|
+
const write = (chunk) => tsplus_module_6.offer(chunk, fileName_1 + ":260:70")(sendQueue);
|
|
172
|
+
const writer = tsplus_module_8.succeed(() => write, fileName_1 + ":262:22");
|
|
173
|
+
return new class extends Socket {
|
|
174
|
+
writer = writer;
|
|
175
|
+
run = run;
|
|
176
|
+
}();
|
|
177
|
+
}, fileName_1 + ":183:31")(tsplus_module_13.makeUnbounded(fileName_1 + ":183:51"));
|
|
178
|
+
})();
|
|
187
179
|
}
|
|
188
180
|
/**
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
181
|
+
* @tsplus static fncts.http.SocketOps makeWebSocketChannel
|
|
182
|
+
* @tsplus static fncts.http.WebSocketOps makeChannel
|
|
183
|
+
*/
|
|
184
|
+
function makeWebSocketChannel(url, options) {
|
|
185
|
+
return tsplus_module_3.unwrap(() => tsplus_module_8.map((socket) => toChannel_1(socket), fileName_1 + ":281:56")(makeWebSocket_1(url, options)));
|
|
194
186
|
}
|
|
195
187
|
/**
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
188
|
+
* @tsplus static fncts.http.SocketOps liveWebSocket
|
|
189
|
+
* @tsplus static fncts.http.WebSocketOps live
|
|
190
|
+
*/
|
|
191
|
+
function live(url, options) {
|
|
192
|
+
return tsplus_module_24.scoped(() => makeWebSocket_1(url, options), SocketTag_1, fileName_1 + ":294:22");
|
|
201
193
|
}
|
|
194
|
+
//#endregion
|
|
195
|
+
export { CloseEvent, CloseEventTypeId, Socket, SocketCloseError, SocketCloseErrorTypeId, SocketGenericError, SocketGenericErrorTypeId, SocketTag, SocketTypeId, WebSocketTag, fromWebSocket, isCloseEvent, isSocketCloseError, live, makeWebSocket, makeWebSocketChannel, toChannel, toChannelWith };
|
|
196
|
+
|
|
202
197
|
//# sourceMappingURL=Socket.mjs.map
|
package/_mjs/Socket.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Socket.mjs","names":["toChannel","toChannel_1","makeWebSocket","makeWebSocket_1","fromWebSocket","fromWebSocket_1","WebSocket","IsoWs","SocketTypeId","Symbol","for","Socket","constructor","_a","SocketTag_1","tsplus_module_1","makeTag","SocketTag","SocketGenericErrorTypeId","SocketGenericError","Error","reason","error","_b","SocketCloseErrorTypeId","SocketCloseError","code","closeReason","_c","isClean","u","isSocketCloseError","tsplus_module_2","isObject","CloseEventTypeId","CloseEvent","_d","isCloseEvent","self","tsplus_module_3","unwrap","tsplus_module_8","flatMap","writeScope","write","exitQueue","input","awaitRead","unit","emit","chunk","catchAllCause","cause","tsplus_module_6","offer","tsplus_module_10","failCause","fileName_1","foreachDiscard","zipRight","close","done","loop","tsplus_module_4","exit","tsplus_module_5","match","_tag","fromIO","take","embedInput","tap","result","failCauseNow","tsplus_module_7","empty","run","data","succeed","tsplus_module_9","single","tsplus_module_13","makeUnbounded","tsplus_module_14","extend","writer","make","toChannelWith","WebSocketTag_1","WebSocketTag","url","options","tsplus_module_15","acquireRelease","globalThis","ws","acquire","closeCodeIsError","sendQueue","handler","tsplus_module_12","interruptible","tsplus_module_23","scoped","encoder","TextEncoder","fiberSet","open","onmessage","event","Uint8Array","encode","onclose","tsplus_module_21","unsafeDone","fail","undefined","future","onerror","catchJust","tsplus_module_16","partial","miss","tsplus_module_17","join","forever","tryCatch","send","defer","readyState","tsplus_module_20","raceFirst","tsplus_module_19","timeoutFail","openTimeout","tsplus_module_18","seconds","async","resume","onopen","tsplus_module_22","provideSomeService","runtime","makeWebSocketChannel","map","socket","live","tsplus_module_24"],"sources":["../_src/Socket.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;aAiFgBA,SAAS,GAAAC,WAAA;aAoETC,aAAa,GAAAC,eAAA;aAwBbC,aAAa,GAAAC,eAAA;AA1K7B,SAASC,SAAS,IAAIC,KAAK,QAAQ,OAAO;AAE1C,OAAO,MAAMC,YAAY,gBAAGC,MAAM,CAACC,GAAG,CAAC,mBAAmB,CAAC;AAG3D;;;;AAIA,OAAM,MAAgBC,MAAM;EAA5BC,YAAA;IACW,KAAAC,EAAA,CAAc,GAAiBL,YAAY;EAGtD;;KAHYA,YAAY;AAKxB;;;AAGO,MAAMM,WAAA,gBAAYC,eAAA,CAAAC,OAAA,EAAa;aAAzBC,SAAS,GAAAH,WAAA;AAEtB,OAAO,MAAMI,wBAAwB,gBAAGT,MAAM,CAACC,GAAG,CAAC,sCAAsC,CAAC;AAG1F,OAAM,MAAOS,kBAAmB,SAAQC,KAAK;EAE3CR,YACWS,MAAiD,EACjDC,KAAc;IAEvB,KAAK,EAAE;IAHE,KAAAD,MAAM,GAANA,MAAM;IACN,KAAAC,KAAK,GAALA,KAAK;IAHP,KAAAC,EAAA,CAA0B,GAA6BL,wBAAwB;EAMxF;;KANUA,wBAAwB;AASpC,OAAO,MAAMM,sBAAsB,gBAAGf,MAAM,CAACC,GAAG,CAAC,oCAAoC,CAAC;AAGtF,OAAM,MAAOe,gBAAiB,SAAQL,KAAK;EAEzCR,YACWS,MAAe,EACfK,IAAY,EACZC,WAA+B,EAC/BL,KAAc;IAEvB,KAAK,EAAE;IALE,KAAAD,MAAM,GAANA,MAAM;IACN,KAAAK,IAAI,GAAJA,IAAI;IACJ,KAAAC,WAAW,GAAXA,WAAW;IACX,KAAAL,KAAK,GAALA,KAAK;IALP,KAAAM,EAAA,CAAwB,GAA2BJ,sBAAsB;EAQlF;EAEA,OAAOK,OAAOA,CAACA,OAAkC;IAC/C,OAAQC,CAAU,IAA2B;MAC3C,OAAOC,kBAAkB,CAACD,CAAC,CAAC,IAAID,OAAO,CAACC,CAAC,CAACJ,IAAI,CAAC;IACjD,CAAC;EACH;;KAdUF,sBAAsB;AAiBlC,OAAM,SAAUO,kBAAkBA,CAACD,CAAU;EAC3C,OAAOE,eAAA,CAAAC,QAAQ,CAACH,CAAC,CAAC,IAAIN,sBAAsB,IAAIM,CAAC;AACnD;AAIA,OAAO,MAAMI,gBAAgB,gBAAGzB,MAAM,CAACC,GAAG,CAAC,8BAA8B,CAAC;AAG1E,OAAM,MAAOyB,UAAU;EAErBvB,YACWc,IAAA,GAAO,IAAI,EACXL,MAAe;IADf,KAAAK,IAAI,GAAJA,IAAI;IACJ,KAAAL,MAAM,GAANA,MAAM;IAHR,KAAAe,EAAA,CAAkB,GAAqBF,gBAAgB;EAI7D;;KAJOA,gBAAgB;AAO5B,OAAM,SAAUG,YAAYA,CAACP,CAAU;EACrC,OAAOE,eAAA,CAAAC,QAAQ,CAACH,CAAC,CAAC,IAAII,gBAAgB,IAAIJ,CAAC;AAC7C;AAEA;;;AAGA,SAAA7B,YACEqC,IAAY;EAEZ,OAAOC,eAAA,CAAAC,MAAA,OAAAC,eAAA,CAAAC,OAAA,CAEGC,UAAU,IAAAF,eAAA,CAAAC,OAAA,CACVE,KAAK,IAAAH,eAAA,CAAAC,OAAA,CACLG,SAAS;IAEf,MAAMC,KAAK,GAAmE;MAC5EC,SAAS,EAAAN,eAAA,CAAAO,IAAS;MAClBC,IAAIA,CAACC,KAAK;QACR,OAAOT,eAAA,CAAAU,aAAA,CAA+CC,KAAK,IAAKC,eAAA,CAAAC,KAAA,CAAgBC,gBAAA,CAAAC,SAAA,CAAeJ,KAAK,EAAAK,UAAA,aAAC,EAAAA,UAAA,aAArCZ,SAAS,CAA6B,EAAAY,UAAA,aAA/FhB,eAAA,CAAAiB,cAAA,CAAkBR,KAAK,EAAEN,KAAK,EAAAa,UAAA,YAAC,CAAiE;MACzG,CAAC;MACDnC,KAAKA,CAACA,KAAK;QACT,OAAAmB,eAAA,CAAAkB,QAAA,CAAqCN,eAAA,CAAAC,KAAA,CAAgBC,gBAAA,CAAAC,SAAA,CAAelC,KAAK,EAAAmC,UAAA,YAAC,EAAAA,UAAA,aAArCZ,SAAS,CAA6B,EAAAY,UAAA,aAApEd,UAAU,CAACiB,KAAK,OAAAL,gBAAA,CAAAP,IAAA,CAAW;MACpC,CAAC;MACDa,IAAIA,CAAA;QACF,OAAOlB,UAAU,CAACiB,KAAK,OAAAL,gBAAA,CAAAP,IAAA,CAAW;MACpC;KACD;;MASD,MAAMc,IAAI,GAAwFC,eAAA,CAAArB,OAAA,CAEvFsB,IAAI,IACbC,eAAA,CAAAC,KAAA,CACGd,KAAK,IAAMA,KAAK,CAACe,IAAI,oCAAqB5B,eAAA,CAAAS,IAAA,GAAgBe,eAAA,CAAAP,SAAA,OAAkBJ,KAAK,CAAE,EACnFF,KAAK,IAAIa,eAAA,CAAAJ,QAAA,CAAwBG,IAAI,EAA3BvB,eAAA,CAAAK,KAAA,OAAcM,KAAK,CAAC,CAAO,EAFxCc,IAAI,CAGH,EAN+FzB,eAAA,CAAA6B,MAAA,OAAAf,eAAA,CAAAgB,IAAA,CAChGxB,SAAS,EAAAY,UAAA,cACV,CAKA;MAED,OAAOlB,eAAA,CAAA+B,UAAA,CAAgBxB,KAAK,EAArBgB,IAAI,CAAkB;mFAf3BrB,eAAA,CAAA8B,GAAA,CAGeP,IAAI,IAAKX,eAAA,CAAAC,KAAA,CAAgBU,IAAI,EAAAP,UAAA,cAApBZ,SAAS,CAAY,EAAAY,UAAA,cAAAhB,eAAA,CAAA+B,MAAA,CAH7C/B,eAAA,CAAAkB,QAAA,CAEYlB,eAAA,CAAAgC,YAAA,CAAgBC,eAAA,CAAAC,KAAA,EAA+B,EAAAlB,UAAA,aAAC,EAAAA,UAAA,cAF5DnB,IAAI,CACDsC,GAAG,CAAEC,IAAI,IAAKxB,eAAA,CAAAC,KAAA,CAAgBC,gBAAA,CAAAuB,OAAA,CAAaC,eAAA,CAAAC,MAAA,CAAYH,IAAI,CAAC,EAAApB,UAAA,aAAC,EAAAA,UAAA,cAA/CZ,SAAS,CAAuC,CAAC,CACL,EAAAY,UAAA,cACf,EAAAA,UAAA,eAAAA,UAAA;4BAnB3BwB,gBAAA,CAAAC,aAAA,CAAAzB,UAAA,YAA+D,GAAAA,UAAA,aAD/D0B,gBAAA,CAAAC,MAAA,OAAkB9C,IAAI,CAAC+C,MAAM,EAAA5B,UAAA,aAA7Bd,UAAU,CAAoB,GAAAc,UAAA,aAAA0B,gBAAA,CAAAG,IAAA,EAkCtD;AACH;AAEA;;;AAGA,OAAM,SAAUC,aAAaA,CAC3BjD,IAAY;EAEZ,OAAOrC,WAAA,CAAAqC,IAAI,CAAgB;AAC7B;AASA;;;AAGO,MAAMkD,cAAA,gBAAezE,eAAA,CAAAC,OAAA,EAAgB;aAA/ByE,YAAY,GAAAD,cAAA;AAEzB;;;;AAIA,SAAArF,gBACEuF,GAAW,EACXC,OAGC;EAED,OAAOtF,eAAA,CACLuF,gBAAA,CAAAC,cAAA,OACEpD,eAAA,CAAAqC,OAAA,CAAG,MAAK;IACN,IAAI,WAAW,IAAIgB,UAAU,EAAE;MAC7B,OAAO,IAAIA,UAAU,CAACxF,SAAS,CAACoF,GAAG,CAAC;IACtC;IACA,OAAO,IAAInF,KAAK,CAACmF,GAAG,CAAC;EACvB,CAAC,EAAAjC,UAAA,YAAC,EACDsC,EAAE,IAAKtD,eAAA,CAAAqC,OAAA,OAAGiB,EAAE,CAACnC,KAAK,EAAE,EAAAH,UAAA,aAAC,EAAAA,UAAA,aACvB,EACDkC,OAAO,CACR;AACH;AAEA;;;AAGA,SAAAtF,gBACE2F,OAAqD,EACrDL,OAGC;EAED;IACE,MAAMM,gBAAgB,GAAGN,OAAO,EAAEM,gBAAgB,KAAMvE,IAAI,IAAKA,IAAI,KAAK,IAAI,IAAIA,IAAI,KAAK,IAAI,CAAC;+BAC1FwE,SAAS;MACf,MAAMtB,GAAG,GAAuBuB,OAAyC,IAAIC,gBAAA,CAAAC,aAAA,CAAAC,gBAAA,CAAAC,MAAA,CAAA9D,eAAA,CAAAC,OAAA,CAEnEqD,EAAE;QACR,MAAMS,OAAO,GAAI,IAAIC,WAAW,EAAE;uCAC5BC,QAAQ,IAAAjE,eAAA,CAAAC,OAAA,CACRkC,GAAG;UAGT,IAAI+B,IAAI,GAAO,KAAK;UACpBZ,EAAE,CAACa,SAAS,GAAIC,KAAK,IAAI;YACvBjC,GAAG,CACDuB,OAAO,CACLU,KAAK,CAAChC,IAAI,YAAYiC,UAAU,GAC5BD,KAAK,CAAChC,IAAI,GACV,OAAOgC,KAAK,CAAChC,IAAI,KAAK,QAAQ,GAC5B2B,OAAO,CAACO,MAAM,CAACF,KAAK,CAAChC,IAAI,CAAC,GAC1B,IAAIiC,UAAU,CAACD,KAAK,CAAChC,IAAI,CAAC,CACjC,CACF;UACH,CAAC;UAEDkB,EAAE,CAACiB,OAAO,GAAIH,KAAK,IAAI;YACrBI,gBAAA,CAAAC,UAAA,CAA2BzE,eAAA,CAAA0E,IAAA,OAAQ,IAAI1F,gBAAgB,CAAC,OAAO,EAAEoF,KAAK,CAACnF,IAAI,EAAEmF,KAAK,CAACxF,MAAM,EAAE+F,SAAS,CAAC,EAAA3D,UAAA,aAAC,EAAAA,UAAA,cAAtGiD,QAAQ,CAACW,MAAM,CAAwF;UACzG,CAAC;UAEDtB,EAAE,CAACuB,OAAO,GAAIhG,KAAK,IAAI;YACrB2F,gBAAA,CAAAC,UAAA,CAA2BzE,eAAA,CAAA0E,IAAA,OAAQ,IAAIhG,kBAAkB,CAACwF,IAAI,GAAG,MAAM,GAAG,MAAM,EAAErF,KAAK,CAAC,EAAAmC,UAAA,aAAC,EAAAA,UAAA,cAAzFiD,QAAQ,CAACW,MAAM,CAA2E;UAC5F,CAAC;qKAuCC5E,eAAA,CAAA8E,SAAA,CACEC,gBAAA,CAAAC,OAAA,CACGC,IAAI,IAAMpG,KAAK,IACdG,gBAAgB,CAACI,OAAO,CAAEH,IAAI,IAAK,CAACuE,gBAAgB,CAACvE,IAAI,CAAC,CAAC,CAACJ,KAAK,CAAC,GAAEmB,eAAA,CAAAO,IAAA,GAAW0E,IAAI,EAAE,CACxF,EAAAjE,UAAA,cAAAkE,gBAAA,CAAAC,IAAA,CAJHlB,QAAQ,EAKP,GAAAjD,UAAA,cApBDkE,gBAAA,CAAA/C,GAAA,CAAAnC,eAAA,CAAAoF,OAAA,CACEpF,eAAA,CAAA8B,GAAA,CAAoBrB,KAAK,IAAI;YAC3B,IAAIb,YAAY,CAACa,KAAK,CAAC,EAAE;cACvB,OAAOT,eAAA,CAAA0E,IAAA,CAAQ,MAAK;gBAClBpB,EAAE,CAACnC,KAAK,CAACV,KAAK,CAACxB,IAAI,EAAEwB,KAAK,CAAC7B,MAAM,CAAC;gBAClC,OAAO,IAAII,gBAAgB,CAAC,OAAO,EAAEyB,KAAK,CAACxB,IAAI,EAAEwB,KAAK,CAAC7B,MAAM,EAAE6B,KAAK,CAAC;cACvE,CAAC,EAAAO,UAAA,aAAC;YACJ,CAAC,MAAM;cACL,OAAOhB,eAAA,CAAAqF,QAAA,OAAY/B,EAAE,CAACgC,IAAI,CAAC7E,KAAK,CAAC,EAAG5B,KAAK,IAAK,IAAIH,kBAAkB,CAAC,OAAO,EAAEG,KAAK,CAAC,EAAAmC,UAAA,aAAC;YACvF;UACF,CAAC,EAAAA,UAAA,cAAAJ,eAAA,CAAAgB,IAAA,CATD6B,SAAS,EAAAzC,UAAA,cASP,EAAAA,UAAA,eAVJiD,QAAQ,CAWP,GAAAjD,UAAA,cAdDhB,eAAA,CAAAqC,OAAA,OAAI6B,IAAI,GAAG,IAAK,EAAAlD,UAAA,aAAC,GAAAA,UAAA,cAlBjBhB,eAAA,CAAAuF,KAAA,CAAS,MAAK;YACZ,IAAIjC,EAAE,CAACkC,UAAU,KAAK,CAAC,EAAE;cACvB,OAAOC,gBAAA,CAAAC,SAAA,CAAAR,gBAAA,CAAAC,IAAA,CASMlB,QAAQ,GAAAjD,UAAA,cATd2E,gBAAA,CAAAC,WAAA,OAMH1C,OAAO,EAAE2C,WAAW,IAAAC,gBAAA,CAAAC,OAAA,CAAK,EAAE,CAAS,QACpC,IAAIrH,kBAAkB,CAAC,aAAa,EAAE,4BAA4B,CAAC,EAPhEsB,eAAA,CAAAgG,KAAA,CAAoCC,MAAM,IAAI;gBACnD3C,EAAE,CAAC4C,MAAM,GAAG,MAAK;kBACfD,MAAM,CAAAjG,eAAA,CAAAO,IAAA,CAAS;gBACjB,CAAC;cACH,CAAC,CAAC,CAIC,CACwB;YAC7B;YAEA,OAAAP,eAAA,CAAAO,IAAA;UACF,CAAC,EAAAS,UAAA,aAAC;mCAvCFmF,gBAAA,CAAAC,kBAAA,CAA+D9C,EAA0B,EAAAP,cAAA,EAAA/B,UAAA,cAAzFkE,gBAAA,CAAAmB,OAAA,GAAApC,QAAQ,CAAmC,CAA8D,GAAAjD,UAAA,cAFxFkE,gBAAA,CAAArC,IAAA,EAAqC;iCAFrCU,OAAO,GAAAvC,UAAA,cAAAA,UAAA,aAuEL;MAEzB,MAAMb,KAAK,GAAIM,KAA8B,IAAKG,eAAA,CAAAC,KAAA,CAAgBJ,KAAK,EAAAO,UAAA,cAArByC,SAAS,CAAa;MAExE,MAAMb,MAAM,GAAG5C,eAAA,CAAAqC,OAAA,CAAG,MAAMlC,KAAK,EAAAa,UAAA,aAAC;MAE9B,OAAO,IAAK,cAAc9C,MAAM;QAApBC,YAAA;;UACV,KAAAyE,MAAM,GAAGA,MAAM;UACf,KAAAT,GAAG,GAAGA,GAAG;QACX;OAAC,CAAC,CAAE;+BAnFuBK,gBAAA,CAAAC,aAAA,CAAAzB,UAAA,aAA8C;;AAqF7E;AAEA;;;;AAIA,OAAM,SAAUsF,oBAAoBA,CAClCrD,GAAW,EACXC,OAEC;EAED,OAAOpD,eAAA,CAAAC,MAAA,OAAeC,eAAA,CAAAuG,GAAA,CAAiCC,MAAM,IAAKhJ,WAAA,CAAAgJ,MAAM,CAAgB,EAAAxF,UAAA,cAAlEtD,eAAA,CAAcuF,GAAG,EAAEC,OAAO,CAAC,CAAwC,CAAC;AAC5F;AAEA;;;;AAIA,OAAM,SAAUuD,IAAIA,CAClBxD,GAAW,EACXC,OAEC;EAED,OAAOwD,gBAAA,CAAA5C,MAAA,OAAapG,eAAA,CAAUuF,GAAG,EAAEC,OAAO,CAAC,EAAA7E,WAAA,EAAA2C,UAAA,aAAa;AAC1D","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Socket.mjs","names":["IsoWs"],"sources":["../esm/Socket.js"],"sourcesContent":["const fileName_1 = \"(@fncts/http) src/Socket.ts\";\nimport * as tsplus_module_1 from \"@fncts/base/data/Tag/constructors\";\nimport * as tsplus_module_2 from \"@fncts/base/util/predicates\";\nimport * as tsplus_module_3 from \"@fncts/io/Channel/api\";\nimport * as tsplus_module_4 from \"@fncts/io/Channel/core-api\";\nimport * as tsplus_module_5 from \"@fncts/base/data/Exit/api\";\nimport * as tsplus_module_6 from \"@fncts/io/Queue/api/operations\";\nimport * as tsplus_module_7 from \"@fncts/base/data/Cause/api\";\nimport * as tsplus_module_8 from \"@fncts/io/IO/api\";\nimport * as tsplus_module_9 from \"@fncts/base/collection/immutable/Conc/constructors\";\nimport * as tsplus_module_10 from \"@fncts/base/data/Exit/constructors\";\nimport * as tsplus_module_11 from \"@fncts/io/IO/api/fork\";\nimport * as tsplus_module_12 from \"@fncts/io/IO/api/interrupt\";\nimport * as tsplus_module_13 from \"@fncts/io/Queue/constructors\";\nimport * as tsplus_module_14 from \"@fncts/io/Scope/api\";\nimport * as tsplus_module_15 from \"@fncts/io/IO/api/acquireRelease\";\nimport * as tsplus_module_16 from \"@fncts/base/data/Maybe/constructors\";\nimport * as tsplus_module_17 from \"@fncts/io/FiberSet\";\nimport * as tsplus_module_18 from \"@fncts/base/data/Duration/api\";\nimport * as tsplus_module_19 from \"@fncts/io/IO/api/timeout\";\nimport * as tsplus_module_20 from \"@fncts/io/IO/api/raceFirst\";\nimport * as tsplus_module_21 from \"@fncts/io/Future/api\";\nimport * as tsplus_module_22 from \"@fncts/io/IO/api/environment\";\nimport * as tsplus_module_23 from \"@fncts/io/IO/api/scoped\";\nimport * as tsplus_module_24 from \"@fncts/io/Layer/api\";\nexport const toChannel = toChannel_1;\nexport const makeWebSocket = makeWebSocket_1;\nexport const fromWebSocket = fromWebSocket_1;\nimport { WebSocket as IsoWs } from \"isows\";\nexport const SocketTypeId = Symbol.for(\"fncts.http.Socket\");\n/**\n * @tsplus type fncts.http.Socket\n * @tsplus companion fncts.http.SocketOps\n */\nexport class Socket {\n [SocketTypeId] = SocketTypeId;\n}\n/**\n * @tsplus static fncts.http.SocketOps Tag\n */\nconst SocketTag_1 = tsplus_module_1.makeTag();\nexport const SocketTag = SocketTag_1;\nexport const SocketGenericErrorTypeId = Symbol.for(\"fncts.http.Socket.SocketGenericError\");\nexport class SocketGenericError extends Error {\n reason;\n error;\n [SocketGenericErrorTypeId] = SocketGenericErrorTypeId;\n constructor(reason, error) {\n super();\n this.reason = reason;\n this.error = error;\n }\n}\nexport const SocketCloseErrorTypeId = Symbol.for(\"fncts.http.Socket.SocketCloseError\");\nexport class SocketCloseError extends Error {\n reason;\n code;\n closeReason;\n error;\n [SocketCloseErrorTypeId] = SocketCloseErrorTypeId;\n constructor(reason, code, closeReason, error) {\n super();\n this.reason = reason;\n this.code = code;\n this.closeReason = closeReason;\n this.error = error;\n }\n static isClean(isClean) {\n return (u) => {\n return isSocketCloseError(u) && isClean(u.code);\n };\n }\n}\nexport function isSocketCloseError(u) {\n return tsplus_module_2.isObject(u) && SocketCloseErrorTypeId in u;\n}\nexport const CloseEventTypeId = Symbol.for(\"fncts.http.Socket.CloseEvent\");\nexport class CloseEvent {\n code;\n reason;\n [CloseEventTypeId] = CloseEventTypeId;\n constructor(code = 1000, reason) {\n this.code = code;\n this.reason = reason;\n }\n}\nexport function isCloseEvent(u) {\n return tsplus_module_2.isObject(u) && CloseEventTypeId in u;\n}\n/**\n * @tsplus fluent fncts.http.Socket toChannel\n */\nfunction toChannel_1(self) {\n return tsplus_module_3.unwrap(() => tsplus_module_8.flatMap(writeScope => tsplus_module_8.flatMap(write => tsplus_module_8.flatMap(exitQueue => {\n const input = {\n awaitRead: tsplus_module_8.unit,\n emit(chunk) {\n return tsplus_module_8.catchAllCause((cause) => tsplus_module_6.offer(tsplus_module_10.failCause(cause, fileName_1 + \":94:105\"), fileName_1 + \":94:90\")(exitQueue), fileName_1 + \":94:63\")(tsplus_module_8.foreachDiscard(chunk, write, fileName_1 + \":94:35\"));\n },\n error(error) {\n return tsplus_module_8.zipRight(tsplus_module_6.offer(tsplus_module_10.failCause(error, fileName_1 + \":97:78\"), fileName_1 + \":97:63\")(exitQueue), fileName_1 + \":97:47\")(writeScope.close(() => tsplus_module_10.unit));\n },\n done() {\n return writeScope.close(() => tsplus_module_10.unit);\n },\n };\n return tsplus_module_8.map(() => {\n const loop = tsplus_module_4.flatMap((exit) => tsplus_module_5.match((cause) => (cause._tag === \"Empty\" /* CauseTag.Empty */ ? tsplus_module_3.unit : tsplus_module_4.failCause(() => cause)), (chunk) => tsplus_module_4.zipRight(loop)(tsplus_module_3.write(() => chunk)))(exit))(tsplus_module_3.fromIO(() => tsplus_module_6.take(exitQueue, fileName_1 + \":112:18\")));\n return tsplus_module_3.embedInput(input)(loop);\n }, fileName_1 + \":104:8\")(tsplus_module_12.interruptible(tsplus_module_11.fork(tsplus_module_8.tap((exit) => tsplus_module_6.offer(exit, fileName_1 + \":108:48\")(exitQueue), fileName_1 + \":108:22\")(tsplus_module_8.result(tsplus_module_8.zipRight(tsplus_module_8.failCauseNow(tsplus_module_7.empty(), fileName_1 + \":107:36\"), fileName_1 + \":107:20\")(self\n .run((data) => tsplus_module_6.offer(tsplus_module_10.succeed(tsplus_module_9.single(data), fileName_1 + \":106:54\"), fileName_1 + \":106:41\")(exitQueue))), fileName_1 + \":107:70\")), fileName_1 + \":108:55\"), fileName_1 + \":108:60\"));\n }, fileName_1 + \":89:27\")(tsplus_module_13.makeUnbounded(fileName_1 + \":89:47\")), fileName_1 + \":88:27\")(tsplus_module_14.extend(() => self.writer, fileName_1 + \":88:45\")(writeScope)), fileName_1 + \":87:27\")(tsplus_module_14.make));\n}\n/**\n * @tsplus fluent fncts.http.Socket toChannelWith\n */\nexport function toChannelWith(self) {\n return toChannel_1(self);\n}\n/**\n * @tsplus static fncts.http.WebSocketOps Tag\n */\nconst WebSocketTag_1 = tsplus_module_1.makeTag();\nexport const WebSocketTag = WebSocketTag_1;\n/**\n * @tsplus static fncts.http.SocketOps makeWebSocket\n * @tsplus static fncts.http.WebSocketOps __call\n */\nfunction makeWebSocket_1(url, options) {\n return fromWebSocket_1(tsplus_module_15.acquireRelease(() => tsplus_module_8.succeed(() => {\n if (\"WebSocket\" in globalThis) {\n return new globalThis.WebSocket(url);\n }\n return new IsoWs(url);\n }, fileName_1 + \":159:9\"), (ws) => tsplus_module_8.succeed(() => ws.close(), fileName_1 + \":165:17\"), fileName_1 + \":158:22\"), options);\n}\n/**\n * @tsplus static fncts.http.SocketOps fromWebSocket\n */\nfunction fromWebSocket_1(acquire, options) {\n return (() => {\n const closeCodeIsError = options?.closeCodeIsError ?? ((code) => code !== 1000 && code !== 1006);\n return tsplus_module_8.map(sendQueue => {\n const run = (handler) => tsplus_module_12.interruptible(tsplus_module_23.scoped(tsplus_module_8.flatMap(ws => {\n const encoder = new TextEncoder();\n return tsplus_module_8.flatMap(fiberSet => tsplus_module_8.flatMap(run => {\n let open = false;\n ws.onmessage = (event) => {\n run(handler(event.data instanceof Uint8Array\n ? event.data\n : typeof event.data === \"string\"\n ? encoder.encode(event.data)\n : new Uint8Array(event.data)));\n };\n ws.onclose = (event) => {\n tsplus_module_21.unsafeDone(tsplus_module_8.fail(() => new SocketCloseError(\"Close\", event.code, event.reason, undefined), fileName_1 + \":206:45\"), fileName_1 + \":206:37\")(fiberSet.future);\n };\n ws.onerror = (error) => {\n tsplus_module_21.unsafeDone(tsplus_module_8.fail(() => new SocketGenericError(open ? \"Read\" : \"Open\", error), fileName_1 + \":210:45\"), fileName_1 + \":210:37\")(fiberSet.future);\n };\n return tsplus_module_8.flatMap(() => tsplus_module_8.flatMap(() => tsplus_module_8.flatMap(() => tsplus_module_8.map(() => void 0, fileName_1 + \":250:10\")(tsplus_module_8.catchJust(tsplus_module_16.partial((miss) => (error) => SocketCloseError.isClean((code) => !closeCodeIsError(code))(error) ? tsplus_module_8.unit : miss()), fileName_1 + \":251:34\")(tsplus_module_17.join(fiberSet))), fileName_1 + \":234:10\")(tsplus_module_17.run(tsplus_module_8.forever(tsplus_module_8.tap((chunk) => {\n if (isCloseEvent(chunk)) {\n return tsplus_module_8.fail(() => {\n ws.close(chunk.code, chunk.reason);\n return new SocketCloseError(\"Close\", chunk.code, chunk.reason, chunk);\n }, fileName_1 + \":238:31\");\n }\n else {\n // @ts-expect-error -- tsplus-6.0.0\n return tsplus_module_8.tryCatch(() => ws.send(chunk), (error) => new SocketGenericError(\"Write\", error), fileName_1 + \":244:35\");\n }\n }, fileName_1 + \":236:31\")(tsplus_module_6.take(sendQueue, fileName_1 + \":236:22\")), fileName_1 + \":246:15\"))(fiberSet)), fileName_1 + \":232:10\")(tsplus_module_8.succeed(() => (open = true), fileName_1 + \":232:13\")), fileName_1 + \":213:10\")(tsplus_module_8.defer(() => {\n if (ws.readyState !== 1) {\n return tsplus_module_20.raceFirst(tsplus_module_17.join(fiberSet), fileName_1 + \":225:27\")(tsplus_module_19.timeoutFail(() => options?.openTimeout ?? tsplus_module_18.seconds(10), () => new SocketGenericError(\"OpenTimeout\", 'timeout waiting for \"open\"'))(tsplus_module_8.async((resume) => {\n ws.onopen = () => {\n resume(tsplus_module_8.unit);\n };\n })));\n }\n return tsplus_module_8.unit;\n }, fileName_1 + \":214:19\"));\n }, fileName_1 + \":189:27\")(tsplus_module_22.provideSomeService(ws, WebSocketTag_1, fileName_1 + \":190:73\")(tsplus_module_17.runtime()(fiberSet))), fileName_1 + \":188:27\")(tsplus_module_17.make());\n }, fileName_1 + \":186:27\")(acquire), fileName_1 + \":258:9\"), fileName_1 + \":258:16\");\n const write = (chunk) => tsplus_module_6.offer(chunk, fileName_1 + \":260:70\")(sendQueue);\n const writer = tsplus_module_8.succeed(() => write, fileName_1 + \":262:22\");\n return new (class extends Socket {\n writer = writer;\n run = run;\n })();\n }, fileName_1 + \":183:31\")(tsplus_module_13.makeUnbounded(fileName_1 + \":183:51\"));\n })();\n}\n/**\n * @tsplus static fncts.http.SocketOps makeWebSocketChannel\n * @tsplus static fncts.http.WebSocketOps makeChannel\n */\nexport function makeWebSocketChannel(url, options) {\n return tsplus_module_3.unwrap(() => tsplus_module_8.map((socket) => toChannel_1(socket), fileName_1 + \":281:56\")(makeWebSocket_1(url, options)));\n}\n/**\n * @tsplus static fncts.http.SocketOps liveWebSocket\n * @tsplus static fncts.http.WebSocketOps live\n */\nexport function live(url, options) {\n return tsplus_module_24.scoped(() => makeWebSocket_1(url, options), SocketTag_1, fileName_1 + \":294:22\");\n}\n//# sourceMappingURL=Socket.js.map"],"mappings":"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"}
|
package/_mjs/UrlParams.mjs
CHANGED
|
@@ -1,25 +1,28 @@
|
|
|
1
|
+
//#region build/esm/UrlParams.js
|
|
1
2
|
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
3
|
+
* @tsplus type fncts.http.UrlParams
|
|
4
|
+
* @tsplus type fncts.http.UrlParamsOps
|
|
5
|
+
*/
|
|
6
|
+
var UrlParams = class {
|
|
7
|
+
backing;
|
|
8
|
+
constructor(backing) {
|
|
9
|
+
this.backing = backing;
|
|
10
|
+
}
|
|
11
|
+
};
|
|
10
12
|
/**
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
17
|
-
return new UrlParams(Array.from(Object.entries(input)));
|
|
13
|
+
* @tsplus static fncts.http.UrlParamsOps __call
|
|
14
|
+
*/
|
|
15
|
+
function make(input) {
|
|
16
|
+
if (Symbol.iterator in input) return new UrlParams(Array.from(input));
|
|
17
|
+
return new UrlParams(Array.from(Object.entries(input)));
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
* @tsplus fluent fncts.http.UrlParams toString
|
|
21
|
+
*/
|
|
22
|
+
function toString(self) {
|
|
23
|
+
return new URLSearchParams(self.backing).toString();
|
|
24
24
|
}
|
|
25
|
+
//#endregion
|
|
26
|
+
export { UrlParams, make, toString };
|
|
27
|
+
|
|
25
28
|
//# sourceMappingURL=UrlParams.mjs.map
|
package/_mjs/UrlParams.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UrlParams.mjs","names":["UrlParams","
|
|
1
|
+
{"version":3,"file":"UrlParams.mjs","names":[],"sources":["../esm/UrlParams.js"],"sourcesContent":["/**\n * @tsplus type fncts.http.UrlParams\n * @tsplus type fncts.http.UrlParamsOps\n */\nexport class UrlParams {\n backing;\n constructor(backing) {\n this.backing = backing;\n }\n}\n/**\n * @tsplus static fncts.http.UrlParamsOps __call\n */\nexport function make(input) {\n if (Symbol.iterator in input) {\n return new UrlParams(Array.from(input));\n }\n return new UrlParams(Array.from(Object.entries(input)));\n}\n/**\n * @tsplus fluent fncts.http.UrlParams toString\n */\nexport function toString(self) {\n return new URLSearchParams(self.backing).toString();\n}\n//# sourceMappingURL=UrlParams.js.map"],"mappings":";;;;;AAIA,IAAa,YAAb,MAAuB;CACnB;CACA,YAAY,SAAS;AACjB,OAAK,UAAU;;;;;;AAMvB,SAAgB,KAAK,OAAO;AACxB,KAAI,OAAO,YAAY,MACnB,QAAO,IAAI,UAAU,MAAM,KAAK,MAAM,CAAC;AAE3C,QAAO,IAAI,UAAU,MAAM,KAAK,OAAO,QAAQ,MAAM,CAAC,CAAC;;;;;AAK3D,SAAgB,SAAS,MAAM;AAC3B,QAAO,IAAI,gBAAgB,KAAK,QAAQ,CAAC,UAAU"}
|
package/_mjs/global.mjs
CHANGED
package/_src/Headers.ts
CHANGED
package/_src/Socket.ts
CHANGED
|
@@ -240,6 +240,7 @@ export function fromWebSocket(
|
|
|
240
240
|
return new SocketCloseError("Close", chunk.code, chunk.reason, chunk);
|
|
241
241
|
});
|
|
242
242
|
} else {
|
|
243
|
+
// @ts-expect-error -- tsplus-6.0.0
|
|
243
244
|
return IO.tryCatch(ws.send(chunk), (error) => new SocketGenericError("Write", error));
|
|
244
245
|
}
|
|
245
246
|
}).forever,
|
package/_src/UrlParams.ts
CHANGED
|
@@ -6,7 +6,7 @@ export class UrlParams {
|
|
|
6
6
|
constructor(readonly backing: ReadonlyArray<readonly [string, string]>) {}
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
-
export declare
|
|
9
|
+
export declare namespace UrlParams {
|
|
10
10
|
export type Input = Readonly<Record<string, string>> | Iterable<readonly [string, string]> | URLSearchParams;
|
|
11
11
|
}
|
|
12
12
|
|