@fncts/http 0.0.12 → 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.
Files changed (143) hide show
  1. package/LICENSE +26 -0
  2. package/_cjs/Body/api.cjs +62 -65
  3. package/_cjs/Body/api.cjs.map +1 -1
  4. package/_cjs/Body/definition.cjs +66 -69
  5. package/_cjs/Body/definition.cjs.map +1 -1
  6. package/_cjs/Body.cjs +20 -28
  7. package/_cjs/BodyError.cjs +33 -36
  8. package/_cjs/BodyError.cjs.map +1 -1
  9. package/_cjs/Headers.cjs +70 -73
  10. package/_cjs/Headers.cjs.map +1 -1
  11. package/_cjs/HttpApp.cjs +102 -94
  12. package/_cjs/HttpApp.cjs.map +1 -1
  13. package/_cjs/IncomingMessage/api.cjs +24 -23
  14. package/_cjs/IncomingMessage/api.cjs.map +1 -1
  15. package/_cjs/IncomingMessage/definition.cjs +12 -13
  16. package/_cjs/IncomingMessage/definition.cjs.map +1 -1
  17. package/_cjs/IncomingMessage.cjs +8 -28
  18. package/_cjs/Method.cjs +6 -7
  19. package/_cjs/Method.cjs.map +1 -1
  20. package/_cjs/Middleware.cjs +11 -12
  21. package/_cjs/Middleware.cjs.map +1 -1
  22. package/_cjs/QueryParams.cjs +0 -2
  23. package/_cjs/RequestError.cjs +17 -18
  24. package/_cjs/RequestError.cjs.map +1 -1
  25. package/_cjs/ResponseError.cjs +26 -27
  26. package/_cjs/ResponseError.cjs.map +1 -1
  27. package/_cjs/Route/api.cjs +87 -74
  28. package/_cjs/Route/api.cjs.map +1 -1
  29. package/_cjs/Route/definition.cjs +28 -26
  30. package/_cjs/Route/definition.cjs.map +1 -1
  31. package/_cjs/Route/internal.cjs +33 -34
  32. package/_cjs/Route/internal.cjs.map +1 -1
  33. package/_cjs/Route.cjs +23 -28
  34. package/_cjs/RouteNotFound.cjs +16 -17
  35. package/_cjs/RouteNotFound.cjs.map +1 -1
  36. package/_cjs/Router/api.cjs +127 -119
  37. package/_cjs/Router/api.cjs.map +1 -1
  38. package/_cjs/Router/definition.cjs +14 -14
  39. package/_cjs/Router/definition.cjs.map +1 -1
  40. package/_cjs/Router/internal.cjs +75 -82
  41. package/_cjs/Router/internal.cjs.map +1 -1
  42. package/_cjs/Router.cjs +24 -28
  43. package/_cjs/Server.cjs +38 -34
  44. package/_cjs/Server.cjs.map +1 -1
  45. package/_cjs/ServerError.cjs +18 -18
  46. package/_cjs/ServerError.cjs.map +1 -1
  47. package/_cjs/ServerRequest/api.cjs +9 -10
  48. package/_cjs/ServerRequest/api.cjs.map +1 -1
  49. package/_cjs/ServerRequest/definition.cjs +20 -19
  50. package/_cjs/ServerRequest/definition.cjs.map +1 -1
  51. package/_cjs/ServerRequest/internal.cjs +77 -80
  52. package/_cjs/ServerRequest/internal.cjs.map +1 -1
  53. package/_cjs/ServerRequest.cjs +7 -28
  54. package/_cjs/ServerResponse/api.cjs +108 -116
  55. package/_cjs/ServerResponse/api.cjs.map +1 -1
  56. package/_cjs/ServerResponse/definition.cjs +36 -41
  57. package/_cjs/ServerResponse/definition.cjs.map +1 -1
  58. package/_cjs/ServerResponse.cjs +18 -28
  59. package/_cjs/Socket.cjs +213 -192
  60. package/_cjs/Socket.cjs.map +1 -1
  61. package/_cjs/UrlParams.cjs +23 -27
  62. package/_cjs/UrlParams.cjs.map +1 -1
  63. package/_cjs/chunk.cjs +28 -0
  64. package/_cjs/global.cjs +0 -2
  65. package/_mjs/Body/api.mjs +54 -56
  66. package/_mjs/Body/api.mjs.map +1 -1
  67. package/_mjs/Body/definition.mjs +61 -59
  68. package/_mjs/Body/definition.mjs.map +1 -1
  69. package/_mjs/Body.mjs +3 -4
  70. package/_mjs/BodyError.mjs +30 -28
  71. package/_mjs/BodyError.mjs.map +1 -1
  72. package/_mjs/Headers.mjs +61 -63
  73. package/_mjs/Headers.mjs.map +1 -1
  74. package/_mjs/HttpApp.mjs +74 -79
  75. package/_mjs/HttpApp.mjs.map +1 -1
  76. package/_mjs/IncomingMessage/api.mjs +21 -17
  77. package/_mjs/IncomingMessage/api.mjs.map +1 -1
  78. package/_mjs/IncomingMessage/definition.mjs +11 -7
  79. package/_mjs/IncomingMessage/definition.mjs.map +1 -1
  80. package/_mjs/IncomingMessage.mjs +3 -4
  81. package/_mjs/Method.mjs +6 -2
  82. package/_mjs/Method.mjs.map +1 -1
  83. package/_mjs/Middleware.mjs +10 -6
  84. package/_mjs/Middleware.mjs.map +1 -1
  85. package/_mjs/QueryParams.mjs +0 -2
  86. package/_mjs/RequestError.mjs +16 -12
  87. package/_mjs/RequestError.mjs.map +1 -1
  88. package/_mjs/ResponseError.mjs +25 -21
  89. package/_mjs/ResponseError.mjs.map +1 -1
  90. package/_mjs/Route/api.mjs +68 -64
  91. package/_mjs/Route/api.mjs.map +1 -1
  92. package/_mjs/Route/definition.mjs +21 -17
  93. package/_mjs/Route/definition.mjs.map +1 -1
  94. package/_mjs/Route/internal.mjs +30 -26
  95. package/_mjs/Route/internal.mjs.map +1 -1
  96. package/_mjs/Route.mjs +3 -4
  97. package/_mjs/RouteNotFound.mjs +15 -11
  98. package/_mjs/RouteNotFound.mjs.map +1 -1
  99. package/_mjs/Router/api.mjs +105 -107
  100. package/_mjs/Router/api.mjs.map +1 -1
  101. package/_mjs/Router/definition.mjs +11 -7
  102. package/_mjs/Router/definition.mjs.map +1 -1
  103. package/_mjs/Router/internal.mjs +55 -66
  104. package/_mjs/Router/internal.mjs.map +1 -1
  105. package/_mjs/Router.mjs +3 -4
  106. package/_mjs/Server.mjs +28 -24
  107. package/_mjs/Server.mjs.map +1 -1
  108. package/_mjs/ServerError.mjs +14 -10
  109. package/_mjs/ServerError.mjs.map +1 -1
  110. package/_mjs/ServerRequest/api.mjs +8 -4
  111. package/_mjs/ServerRequest/api.mjs.map +1 -1
  112. package/_mjs/ServerRequest/definition.mjs +15 -11
  113. package/_mjs/ServerRequest/definition.mjs.map +1 -1
  114. package/_mjs/ServerRequest/internal.mjs +65 -70
  115. package/_mjs/ServerRequest/internal.mjs.map +1 -1
  116. package/_mjs/ServerRequest.mjs +3 -4
  117. package/_mjs/ServerResponse/api.mjs +97 -106
  118. package/_mjs/ServerResponse/api.mjs.map +1 -1
  119. package/_mjs/ServerResponse/definition.mjs +30 -32
  120. package/_mjs/ServerResponse/definition.mjs.map +1 -1
  121. package/_mjs/ServerResponse.mjs +3 -4
  122. package/_mjs/Socket.mjs +152 -156
  123. package/_mjs/Socket.mjs.map +1 -1
  124. package/_mjs/UrlParams.mjs +22 -20
  125. package/_mjs/UrlParams.mjs.map +1 -1
  126. package/_mjs/global.mjs +0 -2
  127. package/package.json +10 -6
  128. package/_cjs/Body.cjs.map +0 -1
  129. package/_cjs/IncomingMessage.cjs.map +0 -1
  130. package/_cjs/QueryParams.cjs.map +0 -1
  131. package/_cjs/Route.cjs.map +0 -1
  132. package/_cjs/Router.cjs.map +0 -1
  133. package/_cjs/ServerRequest.cjs.map +0 -1
  134. package/_cjs/ServerResponse.cjs.map +0 -1
  135. package/_cjs/global.cjs.map +0 -1
  136. package/_mjs/Body.mjs.map +0 -1
  137. package/_mjs/IncomingMessage.mjs.map +0 -1
  138. package/_mjs/QueryParams.mjs.map +0 -1
  139. package/_mjs/Route.mjs.map +0 -1
  140. package/_mjs/Router.mjs.map +0 -1
  141. package/_mjs/ServerRequest.mjs.map +0 -1
  142. package/_mjs/ServerResponse.mjs.map +0 -1
  143. package/_mjs/global.mjs.map +0 -1
@@ -1,45 +1,40 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.ServerResponseTypeId = exports.ServerResponse = void 0;
7
- exports.isServerResponse = isServerResponse;
8
- var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/collection/immutable/HashMap/api"));
9
- var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/util/predicates"));
10
- var _Headers = /*#__PURE__*/require("../Headers.cjs");
11
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
12
- const ServerResponseTypeId = exports.ServerResponseTypeId = /*#__PURE__*/Symbol.for("fncts.http.ServerResponse");
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_chunk = require("../chunk.cjs");
3
+ const require_Headers = require("../Headers.cjs");
4
+ let _fncts_base_util_predicates = require("@fncts/base/util/predicates");
5
+ _fncts_base_util_predicates = require_chunk.__toESM(_fncts_base_util_predicates, 1);
6
+ let _fncts_base_collection_immutable_HashMap_api = require("@fncts/base/collection/immutable/HashMap/api");
7
+ _fncts_base_collection_immutable_HashMap_api = require_chunk.__toESM(_fncts_base_collection_immutable_HashMap_api, 1);
8
+ //#region build/esm/ServerResponse/definition.js
9
+ const ServerResponseTypeId = Symbol.for("fncts.http.ServerResponse");
13
10
  /**
14
- * @tsplus type fncts.http.ServerResponse
15
- * @tsplus companion fncts.http.ServerResponseOps
16
- */
17
- class ServerResponse {
18
- status;
19
- statusText;
20
- body;
21
- [ServerResponseTypeId] = ServerResponseTypeId;
22
- headers;
23
- constructor(status, statusText, headers, body) {
24
- this.status = status;
25
- this.statusText = statusText;
26
- this.body = body;
27
- if (body.contentType || body.contentLength) {
28
- const newHeaders = tsplus_module_1.beginMutation(headers.backing);
29
- if (body.contentType) {
30
- tsplus_module_1.set("content-type", body.contentType)(newHeaders);
31
- }
32
- if (body.contentLength) {
33
- tsplus_module_1.set("content-length", body.contentLength.toString())(newHeaders);
34
- }
35
- this.headers = new _Headers.Headers(tsplus_module_1.endMutation(newHeaders));
36
- } else {
37
- this.headers = headers;
38
- }
39
- }
40
- }
41
- exports.ServerResponse = ServerResponse;
11
+ * @tsplus type fncts.http.ServerResponse
12
+ * @tsplus companion fncts.http.ServerResponseOps
13
+ */
14
+ var ServerResponse = class {
15
+ status;
16
+ statusText;
17
+ body;
18
+ [ServerResponseTypeId] = ServerResponseTypeId;
19
+ headers;
20
+ constructor(status, statusText, headers, body) {
21
+ this.status = status;
22
+ this.statusText = statusText;
23
+ this.body = body;
24
+ if (body.contentType || body.contentLength) {
25
+ const newHeaders = _fncts_base_collection_immutable_HashMap_api.beginMutation(headers.backing);
26
+ if (body.contentType) _fncts_base_collection_immutable_HashMap_api.set("content-type", body.contentType)(newHeaders);
27
+ if (body.contentLength) _fncts_base_collection_immutable_HashMap_api.set("content-length", body.contentLength.toString())(newHeaders);
28
+ this.headers = new require_Headers.Headers(_fncts_base_collection_immutable_HashMap_api.endMutation(newHeaders));
29
+ } else this.headers = headers;
30
+ }
31
+ };
42
32
  function isServerResponse(u) {
43
- return tsplus_module_2.isObject(u) && ServerResponseTypeId in u;
33
+ return _fncts_base_util_predicates.isObject(u) && ServerResponseTypeId in u;
44
34
  }
35
+ //#endregion
36
+ exports.ServerResponse = ServerResponse;
37
+ exports.ServerResponseTypeId = ServerResponseTypeId;
38
+ exports.isServerResponse = isServerResponse;
39
+
45
40
  //# sourceMappingURL=definition.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition.cjs","names":["_Headers","require","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ServerResponseTypeId","exports","Symbol","for","ServerResponse","status","statusText","body","headers","constructor","contentType","contentLength","newHeaders","tsplus_module_1","beginMutation","backing","toString","Headers","endMutation","isServerResponse","u","tsplus_module_2","isObject"],"sources":["../../_src/ServerResponse/definition.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;AAEA,IAAAA,QAAA,gBAAAC,OAAA;AAAwC,SAAAC,wBAAAC,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAH,uBAAA,YAAAA,CAAAC,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAEjC,MAAMkB,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,gBAAGE,MAAM,CAACC,GAAG,CAAC,2BAA2B,CAAC;AAG3E;;;;AAIM,MAAOC,cAAc;EAIdC,MAAA;EACAC,UAAA;EAEAC,IAAA;EANF,CAACP,oBAAoB,IAA0BA,oBAAoB;EACnEQ,OAAO;EAChBC,YACWJ,MAAc,EACdC,UAA8B,EACvCE,OAAgB,EACPD,IAAU;IAHV,KAAAF,MAAM,GAANA,MAAM;IACN,KAAAC,UAAU,GAAVA,UAAU;IAEV,KAAAC,IAAI,GAAJA,IAAI;IAEb,IAAIA,IAAI,CAACG,WAAW,IAAIH,IAAI,CAACI,aAAa,EAAE;MAC1C,MAAMC,UAAU,GAAAC,eAAA,CAAAC,aAAA,CAAGN,OAAO,CAACO,OAAO,CAAc;MAChD,IAAIR,IAAI,CAACG,WAAW,EAAE;QACpBG,eAAA,CAAAnB,GAAA,CAAe,cAAc,EAAEa,IAAI,CAACG,WAAW,EAA/CE,UAAU,CAAsC;MAClD;MACA,IAAIL,IAAI,CAACI,aAAa,EAAE;QACtBE,eAAA,CAAAnB,GAAA,CAAe,gBAAgB,EAAEa,IAAI,CAACI,aAAa,CAACK,QAAQ,EAAE,EAA9DJ,UAAU,CAAqD;MACjE;MACA,IAAI,CAACJ,OAAO,GAAG,IAAIS,gBAAO,CAAAJ,eAAA,CAAAK,WAAA,CAACN,UAAU,EAAa;IACpD,CAAC,MAAM;MACL,IAAI,CAACJ,OAAO,GAAGA,OAAO;IACxB;EACF;;AACDP,OAAA,CAAAG,cAAA,GAAAA,cAAA;AAeK,SAAUe,gBAAgBA,CAACC,CAAU;EACzC,OAAOC,eAAA,CAAAC,QAAQ,CAACF,CAAC,CAAC,IAAIpB,oBAAoB,IAAIoB,CAAC;AACjD","ignoreList":[]}
1
+ {"version":3,"file":"definition.cjs","names":["tsplus_module_1","Headers","tsplus_module_2"],"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,aAAaA,6CAAgB,cAAc,QAAQ,QAAQ;AACjE,OAAI,KAAK,YACL,8CAAgB,IAAI,gBAAgB,KAAK,YAAY,CAAC,WAAW;AAErE,OAAI,KAAK,cACL,8CAAgB,IAAI,kBAAkB,KAAK,cAAc,UAAU,CAAC,CAAC,WAAW;AAEpF,QAAK,UAAU,IAAIC,gBAAAA,QAAQD,6CAAgB,YAAY,WAAW,CAAC;QAGnE,MAAK,UAAU;;;AAI3B,SAAgB,iBAAiB,GAAG;AAChC,QAAOE,4BAAgB,SAAS,EAAE,IAAI,wBAAwB"}
@@ -1,28 +1,18 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _api = /*#__PURE__*/require("./ServerResponse/api.cjs");
7
- Object.keys(_api).forEach(function (key) {
8
- if (key === "default" || key === "__esModule") return;
9
- if (key in exports && exports[key] === _api[key]) return;
10
- Object.defineProperty(exports, key, {
11
- enumerable: true,
12
- get: function () {
13
- return _api[key];
14
- }
15
- });
16
- });
17
- var _definition = /*#__PURE__*/require("./ServerResponse/definition.cjs");
18
- Object.keys(_definition).forEach(function (key) {
19
- if (key === "default" || key === "__esModule") return;
20
- if (key in exports && exports[key] === _definition[key]) return;
21
- Object.defineProperty(exports, key, {
22
- enumerable: true,
23
- get: function () {
24
- return _definition[key];
25
- }
26
- });
27
- });
28
- //# sourceMappingURL=ServerResponse.cjs.map
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_ServerResponse_definition = require("./ServerResponse/definition.cjs");
3
+ const require_ServerResponse_api = require("./ServerResponse/api.cjs");
4
+ exports.ServerResponse = require_ServerResponse_definition.ServerResponse;
5
+ exports.ServerResponseTypeId = require_ServerResponse_definition.ServerResponseTypeId;
6
+ exports.empty = require_ServerResponse_api.empty;
7
+ exports.isServerResponse = require_ServerResponse_definition.isServerResponse;
8
+ exports.json = require_ServerResponse_api.json;
9
+ exports.schemaJson = require_ServerResponse_api.schemaJson;
10
+ exports.setBody = require_ServerResponse_api.setBody;
11
+ exports.setHeader = require_ServerResponse_api.setHeader;
12
+ exports.setHeaders = require_ServerResponse_api.setHeaders;
13
+ exports.setStatus = require_ServerResponse_api.setStatus;
14
+ exports.stream = require_ServerResponse_api.stream;
15
+ exports.text = require_ServerResponse_api.text;
16
+ exports.toWeb = require_ServerResponse_api.toWeb;
17
+ exports.uint8Array = require_ServerResponse_api.uint8Array;
18
+ exports.urlParams = require_ServerResponse_api.urlParams;
package/_cjs/Socket.cjs CHANGED
@@ -1,219 +1,240 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.fromWebSocket = exports.WebSocketTag = exports.SocketTypeId = exports.SocketTag = exports.SocketGenericErrorTypeId = exports.SocketGenericError = exports.SocketCloseErrorTypeId = exports.SocketCloseError = exports.Socket = exports.CloseEventTypeId = exports.CloseEvent = void 0;
7
- exports.isCloseEvent = isCloseEvent;
8
- exports.isSocketCloseError = isSocketCloseError;
9
- exports.live = live;
10
- exports.makeWebSocket = void 0;
11
- exports.makeWebSocketChannel = makeWebSocketChannel;
12
- exports.toChannel = void 0;
13
- exports.toChannelWith = toChannelWith;
14
- var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Tag/constructors"));
15
- var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/util/predicates"));
16
- var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/Channel/api"));
17
- var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/Channel/core-api"));
18
- var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Exit/api"));
19
- var tsplus_module_6 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/Queue/api/operations"));
20
- var tsplus_module_7 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Cause/api"));
21
- var tsplus_module_8 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api"));
22
- var tsplus_module_9 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/collection/immutable/Conc/constructors"));
23
- var tsplus_module_10 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Exit/constructors"));
24
- var tsplus_module_11 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api/fork"));
25
- var tsplus_module_12 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api/interrupt"));
26
- var tsplus_module_13 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/Queue/constructors"));
27
- var tsplus_module_14 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/Scope/api"));
28
- var tsplus_module_15 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api/acquireRelease"));
29
- var tsplus_module_16 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Maybe/constructors"));
30
- var tsplus_module_17 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/FiberSet"));
31
- var tsplus_module_18 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Duration/api"));
32
- var tsplus_module_19 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api/timeout"));
33
- var tsplus_module_20 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api/raceFirst"));
34
- var tsplus_module_21 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/Future/api"));
35
- var tsplus_module_22 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api/environment"));
36
- var tsplus_module_23 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api/scoped"));
37
- var tsplus_module_24 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/Layer/api"));
38
- var _isows = /*#__PURE__*/require("isows");
39
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_chunk = require("./chunk.cjs");
3
+ let _fncts_base_data_Tag_constructors = require("@fncts/base/data/Tag/constructors");
4
+ _fncts_base_data_Tag_constructors = require_chunk.__toESM(_fncts_base_data_Tag_constructors, 1);
5
+ let _fncts_base_util_predicates = require("@fncts/base/util/predicates");
6
+ _fncts_base_util_predicates = require_chunk.__toESM(_fncts_base_util_predicates, 1);
7
+ let _fncts_io_Channel_api = require("@fncts/io/Channel/api");
8
+ _fncts_io_Channel_api = require_chunk.__toESM(_fncts_io_Channel_api, 1);
9
+ let _fncts_io_Channel_core_api = require("@fncts/io/Channel/core-api");
10
+ _fncts_io_Channel_core_api = require_chunk.__toESM(_fncts_io_Channel_core_api, 1);
11
+ let _fncts_base_data_Exit_api = require("@fncts/base/data/Exit/api");
12
+ _fncts_base_data_Exit_api = require_chunk.__toESM(_fncts_base_data_Exit_api, 1);
13
+ let _fncts_io_Queue_api_operations = require("@fncts/io/Queue/api/operations");
14
+ _fncts_io_Queue_api_operations = require_chunk.__toESM(_fncts_io_Queue_api_operations, 1);
15
+ let _fncts_base_data_Cause_api = require("@fncts/base/data/Cause/api");
16
+ _fncts_base_data_Cause_api = require_chunk.__toESM(_fncts_base_data_Cause_api, 1);
17
+ let _fncts_io_IO_api = require("@fncts/io/IO/api");
18
+ _fncts_io_IO_api = require_chunk.__toESM(_fncts_io_IO_api, 1);
19
+ let _fncts_base_collection_immutable_Conc_constructors = require("@fncts/base/collection/immutable/Conc/constructors");
20
+ _fncts_base_collection_immutable_Conc_constructors = require_chunk.__toESM(_fncts_base_collection_immutable_Conc_constructors, 1);
21
+ let _fncts_base_data_Exit_constructors = require("@fncts/base/data/Exit/constructors");
22
+ _fncts_base_data_Exit_constructors = require_chunk.__toESM(_fncts_base_data_Exit_constructors, 1);
23
+ let _fncts_io_IO_api_fork = require("@fncts/io/IO/api/fork");
24
+ _fncts_io_IO_api_fork = require_chunk.__toESM(_fncts_io_IO_api_fork, 1);
25
+ let _fncts_io_IO_api_interrupt = require("@fncts/io/IO/api/interrupt");
26
+ _fncts_io_IO_api_interrupt = require_chunk.__toESM(_fncts_io_IO_api_interrupt, 1);
27
+ let _fncts_io_Queue_constructors = require("@fncts/io/Queue/constructors");
28
+ _fncts_io_Queue_constructors = require_chunk.__toESM(_fncts_io_Queue_constructors, 1);
29
+ let _fncts_io_Scope_api = require("@fncts/io/Scope/api");
30
+ _fncts_io_Scope_api = require_chunk.__toESM(_fncts_io_Scope_api, 1);
31
+ let _fncts_io_IO_api_acquireRelease = require("@fncts/io/IO/api/acquireRelease");
32
+ _fncts_io_IO_api_acquireRelease = require_chunk.__toESM(_fncts_io_IO_api_acquireRelease, 1);
33
+ let _fncts_base_data_Maybe_constructors = require("@fncts/base/data/Maybe/constructors");
34
+ _fncts_base_data_Maybe_constructors = require_chunk.__toESM(_fncts_base_data_Maybe_constructors, 1);
35
+ let _fncts_io_FiberSet = require("@fncts/io/FiberSet");
36
+ _fncts_io_FiberSet = require_chunk.__toESM(_fncts_io_FiberSet, 1);
37
+ let _fncts_base_data_Duration_api = require("@fncts/base/data/Duration/api");
38
+ _fncts_base_data_Duration_api = require_chunk.__toESM(_fncts_base_data_Duration_api, 1);
39
+ let _fncts_io_IO_api_timeout = require("@fncts/io/IO/api/timeout");
40
+ _fncts_io_IO_api_timeout = require_chunk.__toESM(_fncts_io_IO_api_timeout, 1);
41
+ let _fncts_io_IO_api_raceFirst = require("@fncts/io/IO/api/raceFirst");
42
+ _fncts_io_IO_api_raceFirst = require_chunk.__toESM(_fncts_io_IO_api_raceFirst, 1);
43
+ let _fncts_io_Future_api = require("@fncts/io/Future/api");
44
+ _fncts_io_Future_api = require_chunk.__toESM(_fncts_io_Future_api, 1);
45
+ let _fncts_io_IO_api_environment = require("@fncts/io/IO/api/environment");
46
+ _fncts_io_IO_api_environment = require_chunk.__toESM(_fncts_io_IO_api_environment, 1);
47
+ let _fncts_io_IO_api_scoped = require("@fncts/io/IO/api/scoped");
48
+ _fncts_io_IO_api_scoped = require_chunk.__toESM(_fncts_io_IO_api_scoped, 1);
49
+ let _fncts_io_Layer_api = require("@fncts/io/Layer/api");
50
+ _fncts_io_Layer_api = require_chunk.__toESM(_fncts_io_Layer_api, 1);
51
+ let isows = require("isows");
52
+ //#region build/esm/Socket.js
40
53
  const fileName_1 = "(@fncts/http) src/Socket.ts";
41
- const toChannel = exports.toChannel = toChannel_1;
42
- const makeWebSocket = exports.makeWebSocket = makeWebSocket_1;
43
- const fromWebSocket = exports.fromWebSocket = fromWebSocket_1;
44
- const SocketTypeId = exports.SocketTypeId = /*#__PURE__*/Symbol.for("fncts.http.Socket");
54
+ const toChannel = toChannel_1;
55
+ const makeWebSocket = makeWebSocket_1;
56
+ const fromWebSocket = fromWebSocket_1;
57
+ const SocketTypeId = Symbol.for("fncts.http.Socket");
45
58
  /**
46
- * @tsplus type fncts.http.Socket
47
- * @tsplus companion fncts.http.SocketOps
48
- */
49
- class Socket {
50
- [SocketTypeId] = SocketTypeId;
51
- }
59
+ * @tsplus type fncts.http.Socket
60
+ * @tsplus companion fncts.http.SocketOps
61
+ */
62
+ var Socket = class {
63
+ [SocketTypeId] = SocketTypeId;
64
+ };
52
65
  /**
53
- * @tsplus static fncts.http.SocketOps Tag
54
- */
55
- exports.Socket = Socket;
56
- const SocketTag_1 = /*#__PURE__*/tsplus_module_1.makeTag();
57
- const SocketTag = exports.SocketTag = SocketTag_1;
58
- const SocketGenericErrorTypeId = exports.SocketGenericErrorTypeId = /*#__PURE__*/Symbol.for("fncts.http.Socket.SocketGenericError");
59
- class SocketGenericError extends Error {
60
- reason;
61
- error;
62
- [SocketGenericErrorTypeId] = SocketGenericErrorTypeId;
63
- constructor(reason, error) {
64
- super();
65
- this.reason = reason;
66
- this.error = error;
67
- }
68
- }
69
- exports.SocketGenericError = SocketGenericError;
70
- const SocketCloseErrorTypeId = exports.SocketCloseErrorTypeId = /*#__PURE__*/Symbol.for("fncts.http.Socket.SocketCloseError");
71
- class SocketCloseError extends Error {
72
- reason;
73
- code;
74
- closeReason;
75
- error;
76
- [SocketCloseErrorTypeId] = SocketCloseErrorTypeId;
77
- constructor(reason, code, closeReason, error) {
78
- super();
79
- this.reason = reason;
80
- this.code = code;
81
- this.closeReason = closeReason;
82
- this.error = error;
83
- }
84
- static isClean(isClean) {
85
- return u => {
86
- return isSocketCloseError(u) && isClean(u.code);
87
- };
88
- }
89
- }
90
- exports.SocketCloseError = SocketCloseError;
66
+ * @tsplus static fncts.http.SocketOps Tag
67
+ */
68
+ const SocketTag_1 = _fncts_base_data_Tag_constructors.makeTag();
69
+ const SocketTag = SocketTag_1;
70
+ const SocketGenericErrorTypeId = Symbol.for("fncts.http.Socket.SocketGenericError");
71
+ var SocketGenericError = class extends Error {
72
+ reason;
73
+ error;
74
+ [SocketGenericErrorTypeId] = SocketGenericErrorTypeId;
75
+ constructor(reason, error) {
76
+ super();
77
+ this.reason = reason;
78
+ this.error = error;
79
+ }
80
+ };
81
+ const SocketCloseErrorTypeId = Symbol.for("fncts.http.Socket.SocketCloseError");
82
+ var SocketCloseError = class extends Error {
83
+ reason;
84
+ code;
85
+ closeReason;
86
+ error;
87
+ [SocketCloseErrorTypeId] = SocketCloseErrorTypeId;
88
+ constructor(reason, code, closeReason, error) {
89
+ super();
90
+ this.reason = reason;
91
+ this.code = code;
92
+ this.closeReason = closeReason;
93
+ this.error = error;
94
+ }
95
+ static isClean(isClean) {
96
+ return (u) => {
97
+ return isSocketCloseError(u) && isClean(u.code);
98
+ };
99
+ }
100
+ };
91
101
  function isSocketCloseError(u) {
92
- return tsplus_module_2.isObject(u) && SocketCloseErrorTypeId in u;
102
+ return _fncts_base_util_predicates.isObject(u) && SocketCloseErrorTypeId in u;
93
103
  }
94
- const CloseEventTypeId = exports.CloseEventTypeId = /*#__PURE__*/Symbol.for("fncts.http.Socket.CloseEvent");
95
- class CloseEvent {
96
- code;
97
- reason;
98
- [CloseEventTypeId] = CloseEventTypeId;
99
- constructor(code = 1000, reason) {
100
- this.code = code;
101
- this.reason = reason;
102
- }
103
- }
104
- exports.CloseEvent = CloseEvent;
104
+ const CloseEventTypeId = Symbol.for("fncts.http.Socket.CloseEvent");
105
+ var CloseEvent = class {
106
+ code;
107
+ reason;
108
+ [CloseEventTypeId] = CloseEventTypeId;
109
+ constructor(code = 1e3, reason) {
110
+ this.code = code;
111
+ this.reason = reason;
112
+ }
113
+ };
105
114
  function isCloseEvent(u) {
106
- return tsplus_module_2.isObject(u) && CloseEventTypeId in u;
115
+ return _fncts_base_util_predicates.isObject(u) && CloseEventTypeId in u;
107
116
  }
108
117
  /**
109
- * @tsplus fluent fncts.http.Socket toChannel
110
- */
118
+ * @tsplus fluent fncts.http.Socket toChannel
119
+ */
111
120
  function toChannel_1(self) {
112
- return tsplus_module_3.unwrap(() => tsplus_module_8.flatMap(writeScope => tsplus_module_8.flatMap(write => tsplus_module_8.flatMap(exitQueue => {
113
- const input = {
114
- awaitRead: tsplus_module_8.unit,
115
- emit(chunk) {
116
- 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"));
117
- },
118
- error(error) {
119
- 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));
120
- },
121
- done() {
122
- return writeScope.close(() => tsplus_module_10.unit);
123
- }
124
- };
125
- return tsplus_module_8.map(() => {
126
- 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")));
127
- return tsplus_module_3.embedInput(input)(loop);
128
- }, 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"));
129
- }, 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));
121
+ return _fncts_io_Channel_api.unwrap(() => _fncts_io_IO_api.flatMap((writeScope) => _fncts_io_IO_api.flatMap((write) => _fncts_io_IO_api.flatMap((exitQueue) => {
122
+ const input = {
123
+ awaitRead: _fncts_io_IO_api.unit,
124
+ emit(chunk) {
125
+ return _fncts_io_IO_api.catchAllCause((cause) => _fncts_io_Queue_api_operations.offer(_fncts_base_data_Exit_constructors.failCause(cause, fileName_1 + ":94:105"), fileName_1 + ":94:90")(exitQueue), fileName_1 + ":94:63")(_fncts_io_IO_api.foreachDiscard(chunk, write, fileName_1 + ":94:35"));
126
+ },
127
+ error(error) {
128
+ return _fncts_io_IO_api.zipRight(_fncts_io_Queue_api_operations.offer(_fncts_base_data_Exit_constructors.failCause(error, fileName_1 + ":97:78"), fileName_1 + ":97:63")(exitQueue), fileName_1 + ":97:47")(writeScope.close(() => _fncts_base_data_Exit_constructors.unit));
129
+ },
130
+ done() {
131
+ return writeScope.close(() => _fncts_base_data_Exit_constructors.unit);
132
+ }
133
+ };
134
+ return _fncts_io_IO_api.map(() => {
135
+ const loop = _fncts_io_Channel_core_api.flatMap((exit) => _fncts_base_data_Exit_api.match((cause) => cause._tag === "Empty" ? _fncts_io_Channel_api.unit : _fncts_io_Channel_core_api.failCause(() => cause), (chunk) => _fncts_io_Channel_core_api.zipRight(loop)(_fncts_io_Channel_api.write(() => chunk)))(exit))(_fncts_io_Channel_api.fromIO(() => _fncts_io_Queue_api_operations.take(exitQueue, fileName_1 + ":112:18")));
136
+ return _fncts_io_Channel_api.embedInput(input)(loop);
137
+ }, fileName_1 + ":104:8")(_fncts_io_IO_api_interrupt.interruptible(_fncts_io_IO_api_fork.fork(_fncts_io_IO_api.tap((exit) => _fncts_io_Queue_api_operations.offer(exit, fileName_1 + ":108:48")(exitQueue), fileName_1 + ":108:22")(_fncts_io_IO_api.result(_fncts_io_IO_api.zipRight(_fncts_io_IO_api.failCauseNow(_fncts_base_data_Cause_api.empty(), fileName_1 + ":107:36"), fileName_1 + ":107:20")(self.run((data) => _fncts_io_Queue_api_operations.offer(_fncts_base_data_Exit_constructors.succeed(_fncts_base_collection_immutable_Conc_constructors.single(data), fileName_1 + ":106:54"), fileName_1 + ":106:41")(exitQueue))), fileName_1 + ":107:70")), fileName_1 + ":108:55"), fileName_1 + ":108:60"));
138
+ }, fileName_1 + ":89:27")(_fncts_io_Queue_constructors.makeUnbounded(fileName_1 + ":89:47")), fileName_1 + ":88:27")(_fncts_io_Scope_api.extend(() => self.writer, fileName_1 + ":88:45")(writeScope)), fileName_1 + ":87:27")(_fncts_io_Scope_api.make));
130
139
  }
131
140
  /**
132
- * @tsplus fluent fncts.http.Socket toChannelWith
133
- */
141
+ * @tsplus fluent fncts.http.Socket toChannelWith
142
+ */
134
143
  function toChannelWith(self) {
135
- return toChannel_1(self);
144
+ return toChannel_1(self);
136
145
  }
137
146
  /**
138
- * @tsplus static fncts.http.WebSocketOps Tag
139
- */
140
- const WebSocketTag_1 = /*#__PURE__*/tsplus_module_1.makeTag();
141
- const WebSocketTag = exports.WebSocketTag = WebSocketTag_1;
147
+ * @tsplus static fncts.http.WebSocketOps Tag
148
+ */
149
+ const WebSocketTag_1 = _fncts_base_data_Tag_constructors.makeTag();
150
+ const WebSocketTag = WebSocketTag_1;
142
151
  /**
143
- * @tsplus static fncts.http.SocketOps makeWebSocket
144
- * @tsplus static fncts.http.WebSocketOps __call
145
- */
152
+ * @tsplus static fncts.http.SocketOps makeWebSocket
153
+ * @tsplus static fncts.http.WebSocketOps __call
154
+ */
146
155
  function makeWebSocket_1(url, options) {
147
- return fromWebSocket_1(tsplus_module_15.acquireRelease(() => tsplus_module_8.succeed(() => {
148
- if ("WebSocket" in globalThis) {
149
- return new globalThis.WebSocket(url);
150
- }
151
- return new _isows.WebSocket(url);
152
- }, fileName_1 + ":159:9"), ws => tsplus_module_8.succeed(() => ws.close(), fileName_1 + ":165:17"), fileName_1 + ":158:22"), options);
156
+ return fromWebSocket_1(_fncts_io_IO_api_acquireRelease.acquireRelease(() => _fncts_io_IO_api.succeed(() => {
157
+ if ("WebSocket" in globalThis) return new globalThis.WebSocket(url);
158
+ return new isows.WebSocket(url);
159
+ }, fileName_1 + ":159:9"), (ws) => _fncts_io_IO_api.succeed(() => ws.close(), fileName_1 + ":165:17"), fileName_1 + ":158:22"), options);
153
160
  }
154
161
  /**
155
- * @tsplus static fncts.http.SocketOps fromWebSocket
156
- */
162
+ * @tsplus static fncts.http.SocketOps fromWebSocket
163
+ */
157
164
  function fromWebSocket_1(acquire, options) {
158
- return (() => {
159
- const closeCodeIsError = options?.closeCodeIsError ?? (code => code !== 1000 && code !== 1006);
160
- return tsplus_module_8.map(sendQueue => {
161
- const run = handler => tsplus_module_12.interruptible(tsplus_module_23.scoped(tsplus_module_8.flatMap(ws => {
162
- const encoder = new TextEncoder();
163
- return tsplus_module_8.flatMap(fiberSet => tsplus_module_8.flatMap(run => {
164
- let open = false;
165
- ws.onmessage = event => {
166
- run(handler(event.data instanceof Uint8Array ? event.data : typeof event.data === "string" ? encoder.encode(event.data) : new Uint8Array(event.data)));
167
- };
168
- ws.onclose = event => {
169
- 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);
170
- };
171
- ws.onerror = error => {
172
- tsplus_module_21.unsafeDone(tsplus_module_8.fail(() => new SocketGenericError(open ? "Read" : "Open", error), fileName_1 + ":210:45"), fileName_1 + ":210:37")(fiberSet.future);
173
- };
174
- 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 => {
175
- if (isCloseEvent(chunk)) {
176
- return tsplus_module_8.fail(() => {
177
- ws.close(chunk.code, chunk.reason);
178
- return new SocketCloseError("Close", chunk.code, chunk.reason, chunk);
179
- }, fileName_1 + ":238:31");
180
- } else {
181
- // @ts-expect-error -- tsplus-6.0.0
182
- return tsplus_module_8.tryCatch(() => ws.send(chunk), error => new SocketGenericError("Write", error), fileName_1 + ":244:35");
183
- }
184
- }, 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(() => {
185
- if (ws.readyState !== 1) {
186
- 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 => {
187
- ws.onopen = () => {
188
- resume(tsplus_module_8.unit);
189
- };
190
- })));
191
- }
192
- return tsplus_module_8.unit;
193
- }, fileName_1 + ":214:19"));
194
- }, 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());
195
- }, fileName_1 + ":186:27")(acquire), fileName_1 + ":258:9"), fileName_1 + ":258:16");
196
- const write = chunk => tsplus_module_6.offer(chunk, fileName_1 + ":260:70")(sendQueue);
197
- const writer = tsplus_module_8.succeed(() => write, fileName_1 + ":262:22");
198
- return new class extends Socket {
199
- writer = writer;
200
- run = run;
201
- }();
202
- }, fileName_1 + ":183:31")(tsplus_module_13.makeUnbounded(fileName_1 + ":183:51"));
203
- })();
165
+ return (() => {
166
+ const closeCodeIsError = options?.closeCodeIsError ?? ((code) => code !== 1e3 && code !== 1006);
167
+ return _fncts_io_IO_api.map((sendQueue) => {
168
+ const run = (handler) => _fncts_io_IO_api_interrupt.interruptible(_fncts_io_IO_api_scoped.scoped(_fncts_io_IO_api.flatMap((ws) => {
169
+ const encoder = new TextEncoder();
170
+ return _fncts_io_IO_api.flatMap((fiberSet) => _fncts_io_IO_api.flatMap((run) => {
171
+ let open = false;
172
+ ws.onmessage = (event) => {
173
+ run(handler(event.data instanceof Uint8Array ? event.data : typeof event.data === "string" ? encoder.encode(event.data) : new Uint8Array(event.data)));
174
+ };
175
+ ws.onclose = (event) => {
176
+ _fncts_io_Future_api.unsafeDone(_fncts_io_IO_api.fail(() => new SocketCloseError("Close", event.code, event.reason, void 0), fileName_1 + ":206:45"), fileName_1 + ":206:37")(fiberSet.future);
177
+ };
178
+ ws.onerror = (error) => {
179
+ _fncts_io_Future_api.unsafeDone(_fncts_io_IO_api.fail(() => new SocketGenericError(open ? "Read" : "Open", error), fileName_1 + ":210:45"), fileName_1 + ":210:37")(fiberSet.future);
180
+ };
181
+ return _fncts_io_IO_api.flatMap(() => _fncts_io_IO_api.flatMap(() => _fncts_io_IO_api.flatMap(() => _fncts_io_IO_api.map(() => void 0, fileName_1 + ":250:10")(_fncts_io_IO_api.catchJust(_fncts_base_data_Maybe_constructors.partial((miss) => (error) => SocketCloseError.isClean((code) => !closeCodeIsError(code))(error) ? _fncts_io_IO_api.unit : miss()), fileName_1 + ":251:34")(_fncts_io_FiberSet.join(fiberSet))), fileName_1 + ":234:10")(_fncts_io_FiberSet.run(_fncts_io_IO_api.forever(_fncts_io_IO_api.tap((chunk) => {
182
+ if (isCloseEvent(chunk)) return _fncts_io_IO_api.fail(() => {
183
+ ws.close(chunk.code, chunk.reason);
184
+ return new SocketCloseError("Close", chunk.code, chunk.reason, chunk);
185
+ }, fileName_1 + ":238:31");
186
+ else return _fncts_io_IO_api.tryCatch(() => ws.send(chunk), (error) => new SocketGenericError("Write", error), fileName_1 + ":244:35");
187
+ }, fileName_1 + ":236:31")(_fncts_io_Queue_api_operations.take(sendQueue, fileName_1 + ":236:22")), fileName_1 + ":246:15"))(fiberSet)), fileName_1 + ":232:10")(_fncts_io_IO_api.succeed(() => open = true, fileName_1 + ":232:13")), fileName_1 + ":213:10")(_fncts_io_IO_api.defer(() => {
188
+ if (ws.readyState !== 1) return _fncts_io_IO_api_raceFirst.raceFirst(_fncts_io_FiberSet.join(fiberSet), fileName_1 + ":225:27")(_fncts_io_IO_api_timeout.timeoutFail(() => options?.openTimeout ?? _fncts_base_data_Duration_api.seconds(10), () => new SocketGenericError("OpenTimeout", "timeout waiting for \"open\""))(_fncts_io_IO_api.async((resume) => {
189
+ ws.onopen = () => {
190
+ resume(_fncts_io_IO_api.unit);
191
+ };
192
+ })));
193
+ return _fncts_io_IO_api.unit;
194
+ }, fileName_1 + ":214:19"));
195
+ }, fileName_1 + ":189:27")(_fncts_io_IO_api_environment.provideSomeService(ws, WebSocketTag_1, fileName_1 + ":190:73")(_fncts_io_FiberSet.runtime()(fiberSet))), fileName_1 + ":188:27")(_fncts_io_FiberSet.make());
196
+ }, fileName_1 + ":186:27")(acquire), fileName_1 + ":258:9"), fileName_1 + ":258:16");
197
+ const write = (chunk) => _fncts_io_Queue_api_operations.offer(chunk, fileName_1 + ":260:70")(sendQueue);
198
+ const writer = _fncts_io_IO_api.succeed(() => write, fileName_1 + ":262:22");
199
+ return new class extends Socket {
200
+ writer = writer;
201
+ run = run;
202
+ }();
203
+ }, fileName_1 + ":183:31")(_fncts_io_Queue_constructors.makeUnbounded(fileName_1 + ":183:51"));
204
+ })();
204
205
  }
205
206
  /**
206
- * @tsplus static fncts.http.SocketOps makeWebSocketChannel
207
- * @tsplus static fncts.http.WebSocketOps makeChannel
208
- */
207
+ * @tsplus static fncts.http.SocketOps makeWebSocketChannel
208
+ * @tsplus static fncts.http.WebSocketOps makeChannel
209
+ */
209
210
  function makeWebSocketChannel(url, options) {
210
- return tsplus_module_3.unwrap(() => tsplus_module_8.map(socket => toChannel_1(socket), fileName_1 + ":281:56")(makeWebSocket_1(url, options)));
211
+ return _fncts_io_Channel_api.unwrap(() => _fncts_io_IO_api.map((socket) => toChannel_1(socket), fileName_1 + ":281:56")(makeWebSocket_1(url, options)));
211
212
  }
212
213
  /**
213
- * @tsplus static fncts.http.SocketOps liveWebSocket
214
- * @tsplus static fncts.http.WebSocketOps live
215
- */
214
+ * @tsplus static fncts.http.SocketOps liveWebSocket
215
+ * @tsplus static fncts.http.WebSocketOps live
216
+ */
216
217
  function live(url, options) {
217
- return tsplus_module_24.scoped(() => makeWebSocket_1(url, options), SocketTag_1, fileName_1 + ":294:22");
218
+ return _fncts_io_Layer_api.scoped(() => makeWebSocket_1(url, options), SocketTag_1, fileName_1 + ":294:22");
218
219
  }
220
+ //#endregion
221
+ exports.CloseEvent = CloseEvent;
222
+ exports.CloseEventTypeId = CloseEventTypeId;
223
+ exports.Socket = Socket;
224
+ exports.SocketCloseError = SocketCloseError;
225
+ exports.SocketCloseErrorTypeId = SocketCloseErrorTypeId;
226
+ exports.SocketGenericError = SocketGenericError;
227
+ exports.SocketGenericErrorTypeId = SocketGenericErrorTypeId;
228
+ exports.SocketTag = SocketTag;
229
+ exports.SocketTypeId = SocketTypeId;
230
+ exports.WebSocketTag = WebSocketTag;
231
+ exports.fromWebSocket = fromWebSocket;
232
+ exports.isCloseEvent = isCloseEvent;
233
+ exports.isSocketCloseError = isSocketCloseError;
234
+ exports.live = live;
235
+ exports.makeWebSocket = makeWebSocket;
236
+ exports.makeWebSocketChannel = makeWebSocketChannel;
237
+ exports.toChannel = toChannel;
238
+ exports.toChannelWith = toChannelWith;
239
+
219
240
  //# sourceMappingURL=Socket.cjs.map