@effect/platform 0.69.13 → 0.69.15
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/dist/cjs/HttpApiBuilder.js +27 -25
- package/dist/cjs/HttpApiBuilder.js.map +1 -1
- package/dist/cjs/HttpApiClient.js +5 -1
- package/dist/cjs/HttpApiClient.js.map +1 -1
- package/dist/cjs/HttpApiEndpoint.js.map +1 -1
- package/dist/cjs/Socket.js +96 -116
- package/dist/cjs/Socket.js.map +1 -1
- package/dist/cjs/internal/multipart.js +50 -64
- package/dist/cjs/internal/multipart.js.map +1 -1
- package/dist/dts/HttpApiBuilder.d.ts.map +1 -1
- package/dist/dts/HttpApiClient.d.ts +2 -1
- package/dist/dts/HttpApiClient.d.ts.map +1 -1
- package/dist/dts/HttpApiEndpoint.d.ts +6 -2
- package/dist/dts/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/dts/Socket.d.ts +2 -2
- package/dist/dts/Socket.d.ts.map +1 -1
- package/dist/esm/HttpApiBuilder.js +27 -25
- package/dist/esm/HttpApiBuilder.js.map +1 -1
- package/dist/esm/HttpApiClient.js +5 -1
- package/dist/esm/HttpApiClient.js.map +1 -1
- package/dist/esm/HttpApiEndpoint.js.map +1 -1
- package/dist/esm/Socket.js +96 -116
- package/dist/esm/Socket.js.map +1 -1
- package/dist/esm/internal/multipart.js +50 -64
- package/dist/esm/internal/multipart.js.map +1 -1
- package/package.json +2 -2
- package/src/HttpApiBuilder.ts +35 -56
- package/src/HttpApiClient.ts +11 -5
- package/src/HttpApiEndpoint.ts +4 -2
- package/src/Socket.ts +245 -263
- package/src/internal/multipart.ts +120 -150
|
@@ -8,7 +8,7 @@ var Chunk = _interopRequireWildcard(require("effect/Chunk"));
|
|
|
8
8
|
var Context = _interopRequireWildcard(require("effect/Context"));
|
|
9
9
|
var Effect = _interopRequireWildcard(require("effect/Effect"));
|
|
10
10
|
var Encoding = _interopRequireWildcard(require("effect/Encoding"));
|
|
11
|
-
var
|
|
11
|
+
var Fiber = _interopRequireWildcard(require("effect/Fiber"));
|
|
12
12
|
var _Function = require("effect/Function");
|
|
13
13
|
var _GlobalValue = require("effect/GlobalValue");
|
|
14
14
|
var HashMap = _interopRequireWildcard(require("effect/HashMap"));
|
|
@@ -116,12 +116,13 @@ const httpApp = exports.httpApp = /*#__PURE__*/Effect.gen(function* () {
|
|
|
116
116
|
const toWebHandler = (layer, options) => {
|
|
117
117
|
const runtime = ManagedRuntime.make(Layer.merge(layer, Router.Live), options?.memoMap);
|
|
118
118
|
let handlerCached;
|
|
119
|
-
const handlerPromise =
|
|
120
|
-
httpApp
|
|
121
|
-
runtime
|
|
122
|
-
|
|
119
|
+
const handlerPromise = Effect.gen(function* () {
|
|
120
|
+
const app = yield* httpApp;
|
|
121
|
+
const rt = yield* runtime.runtimeEffect;
|
|
122
|
+
const handler = HttpApp.toWebHandlerRuntime(rt)(options?.middleware ? options.middleware(app) : app);
|
|
123
123
|
handlerCached = handler;
|
|
124
|
-
|
|
124
|
+
return handler;
|
|
125
|
+
}).pipe(runtime.runPromise);
|
|
125
126
|
function handler(request) {
|
|
126
127
|
if (handlerCached !== undefined) {
|
|
127
128
|
return handlerCached(request);
|
|
@@ -233,27 +234,28 @@ const handlerToRoute = (endpoint_, middleware, handler, isFullResponse) => {
|
|
|
233
234
|
const decodeHeaders = Option.map(endpoint.headersSchema, Schema.decodeUnknown);
|
|
234
235
|
const decodeUrlParams = Option.map(endpoint.urlParamsSchema, Schema.decodeUnknown);
|
|
235
236
|
const encodeSuccess = Schema.encode(makeSuccessSchema(endpoint.successSchema));
|
|
236
|
-
return HttpRouter.makeRoute(endpoint.method, endpoint.path, applyMiddleware(middleware, Effect.
|
|
237
|
-
const
|
|
238
|
-
const
|
|
237
|
+
return HttpRouter.makeRoute(endpoint.method, endpoint.path, applyMiddleware(middleware, Effect.gen(function* () {
|
|
238
|
+
const fiber = Option.getOrThrow(Fiber.getCurrentFiber());
|
|
239
|
+
const context = fiber.currentContext;
|
|
240
|
+
const httpRequest = Context.unsafeGet(context, HttpServerRequest.HttpServerRequest);
|
|
239
241
|
const routeContext = Context.unsafeGet(context, HttpRouter.RouteContext);
|
|
240
242
|
const urlParams = Context.unsafeGet(context, HttpServerRequest.ParsedSearchParams);
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
})));
|
|
243
|
+
const request = {};
|
|
244
|
+
if (decodePath._tag === "Some") {
|
|
245
|
+
request.path = yield* decodePath.value(routeContext.params);
|
|
246
|
+
}
|
|
247
|
+
if (decodePayload._tag === "Some") {
|
|
248
|
+
request.payload = yield* Effect.flatMap(requestPayload(httpRequest, urlParams, isMultipart), decodePayload.value);
|
|
249
|
+
}
|
|
250
|
+
if (decodeHeaders._tag === "Some") {
|
|
251
|
+
request.headers = yield* decodeHeaders.value(httpRequest.headers);
|
|
252
|
+
}
|
|
253
|
+
if (decodeUrlParams._tag === "Some") {
|
|
254
|
+
request.urlParams = yield* decodeUrlParams.value(urlParams);
|
|
255
|
+
}
|
|
256
|
+
const response = isFullResponse ? yield* handler(request) : yield* Effect.flatMap(handler(request), encodeSuccess);
|
|
257
|
+
return response;
|
|
258
|
+
}).pipe(Effect.catchIf(ParseResult.isParseError, _HttpApiError.HttpApiDecodeError.refailParseError))));
|
|
257
259
|
};
|
|
258
260
|
const applyMiddleware = (middleware, handler) => {
|
|
259
261
|
for (const entry of middleware.values()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpApiBuilder.js","names":["Chunk","_interopRequireWildcard","require","Context","Effect","Encoding","FiberRef","_Function","_GlobalValue","HashMap","HashSet","Layer","ManagedRuntime","Option","ParseResult","_Pipeable","Redacted","Schema","_Unify","HttpApi","_HttpApiError","HttpApiMiddleware","HttpApiSchema","HttpApp","HttpMethod","HttpMiddleware","HttpRouter","HttpServer","HttpServerRequest","HttpServerResponse","OpenApi","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Router","Tag","exports","api","effect","Api","map","context","serve","middleware","httpApp","pipe","app","unwrapEffect","provide","Live","gen","makeMiddlewareMap","middlewares","router","applyMiddleware","apiMiddleware","serviceOption","Middleware","errorSchema","makeErrorSchema","encodeError","encodeUnknown","_tag","value","identity","catchAll","error","matchEffect","onFailure","die","onSuccess","succeed","toWebHandler","layer","options","runtime","make","merge","memoMap","handlerCached","handlerPromise","bindTo","bind","runtimeEffect","toWebHandlerRuntime","tap","handler","runPromise","request","undefined","then","dispose","HandlersTypeId","Symbol","for","HandlersProto","_Endpoints","pipeArguments","arguments","handle","name","endpoint","unsafeGet","group","endpoints","makeHandlers","handlers","append","withFullResponse","handleRaw","self","create","groupName","build","use","groups","result","empty","isEffect","groupMiddleware","routes","item","push","handlerToRoute","mapInputContext","input","concat","fromIterable","_api","_groupName","_name","f","requestPayload","urlParams","isMultipart","hasBody","method","orDie","multipart","json","initial","Map","forEach","tag","key","endpoint_","isFullResponse","decodePath","pathSchema","decodeUnknown","payloadSchema","schema","getMultipart","ast","getOrElse","decodePayload","decodeHeaders","headersSchema","decodeUrlParams","urlParamsSchema","encodeSuccess","encode","makeSuccessSchema","successSchema","makeRoute","path","withFiberRuntime","fiber","getFiberRef","currentContext","routeContext","RouteContext","ParsedSearchParams","params","_","flatMap","headers","pathParams","payload","catchIf","isParseError","HttpApiDecodeError","refailParseError","entry","values","SecurityTypeId","makeSecurityMiddleware","optional","previous","provides","provideService","provideServiceEffect","zipRight","securityMiddlewareCache","globalValue","security","entries","decode","securityDecode","void","responseSchema","declare","isServerResponse","schemas","Set","deunionize","Union","Array","from","toResponseSuccess","toResponseError","decodeForbidden","__","fail","Forbidden","toResponseSchema","getStatus","cache","schemaToResponse","data","isEmpty","isVoid","to","status","encoding","getEncoding","kind","mapError","contentType","Type","text","uint8Array","transform","transformOrFail","getStatusSuccessAST","getStatusErrorAST","middlewareAdd","current","getOption","withContext","middlewareAddNoContext","args","apiFirst","isHttpApi","add","middlewareScoped","scoped","middlewareCors","cors","middlewareOpenApi","spec","fromApi","response","bearerLen","length","authorization","slice","Struct","String","unify","in","schemaSearchParams","schemaCookies","schemaHeaders","match","username","password","decodeBase64String","header","parts","split","securitySetCookie","stringValue","appendPreResponseHandler","_req","setCookie","secure","httpOnly"],"sources":["../../src/HttpApiBuilder.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"HttpApiBuilder.js","names":["Chunk","_interopRequireWildcard","require","Context","Effect","Encoding","Fiber","_Function","_GlobalValue","HashMap","HashSet","Layer","ManagedRuntime","Option","ParseResult","_Pipeable","Redacted","Schema","_Unify","HttpApi","_HttpApiError","HttpApiMiddleware","HttpApiSchema","HttpApp","HttpMethod","HttpMiddleware","HttpRouter","HttpServer","HttpServerRequest","HttpServerResponse","OpenApi","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Router","Tag","exports","api","effect","Api","map","context","serve","middleware","httpApp","pipe","app","unwrapEffect","provide","Live","gen","makeMiddlewareMap","middlewares","router","applyMiddleware","apiMiddleware","serviceOption","Middleware","errorSchema","makeErrorSchema","encodeError","encodeUnknown","_tag","value","identity","catchAll","error","matchEffect","onFailure","die","onSuccess","succeed","toWebHandler","layer","options","runtime","make","merge","memoMap","handlerCached","handlerPromise","rt","runtimeEffect","handler","toWebHandlerRuntime","runPromise","request","undefined","then","dispose","HandlersTypeId","Symbol","for","HandlersProto","_Endpoints","pipeArguments","arguments","handle","name","endpoint","unsafeGet","group","endpoints","makeHandlers","handlers","append","withFullResponse","handleRaw","self","create","groupName","build","use","groups","result","empty","isEffect","groupMiddleware","routes","item","push","handlerToRoute","mapInputContext","input","concat","fromIterable","_api","_groupName","_name","f","requestPayload","urlParams","isMultipart","hasBody","method","orDie","multipart","json","initial","Map","forEach","tag","key","endpoint_","isFullResponse","decodePath","pathSchema","decodeUnknown","payloadSchema","schema","getMultipart","ast","getOrElse","decodePayload","decodeHeaders","headersSchema","decodeUrlParams","urlParamsSchema","encodeSuccess","encode","makeSuccessSchema","successSchema","makeRoute","path","fiber","getOrThrow","getCurrentFiber","currentContext","httpRequest","routeContext","RouteContext","ParsedSearchParams","params","payload","flatMap","headers","response","catchIf","isParseError","HttpApiDecodeError","refailParseError","entry","values","SecurityTypeId","makeSecurityMiddleware","optional","previous","provides","provideService","_","provideServiceEffect","zipRight","securityMiddlewareCache","globalValue","security","entries","decode","securityDecode","void","responseSchema","declare","isServerResponse","schemas","Set","deunionize","Union","Array","from","toResponseSuccess","toResponseError","decodeForbidden","__","fail","Forbidden","toResponseSchema","getStatus","cache","schemaToResponse","data","isEmpty","isVoid","to","status","encoding","getEncoding","kind","mapError","contentType","Type","text","uint8Array","transform","transformOrFail","getStatusSuccessAST","getStatusErrorAST","middlewareAdd","current","getOption","withContext","middlewareAddNoContext","args","apiFirst","isHttpApi","add","middlewareScoped","scoped","middlewareCors","cors","middlewareOpenApi","spec","fromApi","bearerLen","length","authorization","slice","Struct","String","unify","in","schemaSearchParams","schemaCookies","schemaHeaders","match","username","password","decodeBase64String","header","parts","split","securitySetCookie","stringValue","appendPreResponseHandler","_req","setCookie","secure","httpOnly"],"sources":["../../src/HttpApiBuilder.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -48,6 +48,7 @@ const make = (api, options) => Effect.gen(function* () {
|
|
|
48
48
|
const decodeMap = {
|
|
49
49
|
orElse: statusOrElse
|
|
50
50
|
};
|
|
51
|
+
const decodeResponse = HttpClientResponse.matchStatus(decodeMap);
|
|
51
52
|
errors.forEach((ast, status) => {
|
|
52
53
|
if (ast._tag === "None") {
|
|
53
54
|
decodeMap[status] = statusCodeError;
|
|
@@ -66,7 +67,10 @@ const make = (api, options) => Effect.gen(function* () {
|
|
|
66
67
|
(group.topLevel ? client : client[group.identifier])[endpoint.name] = request => {
|
|
67
68
|
const url = request && request.path ? makeUrl(request.path) : endpoint.path;
|
|
68
69
|
const baseRequest = HttpClientRequest.make(endpoint.method)(url);
|
|
69
|
-
return (isMultipart ? Effect.succeed(baseRequest.pipe(HttpClientRequest.bodyFormData(request.payload))) : encodePayload._tag === "Some" ? encodePayload.value(request.payload).pipe(Effect.flatMap(payload => HttpMethod.hasBody(endpoint.method) ? HttpClientRequest.bodyJson(baseRequest, payload) : Effect.succeed(HttpClientRequest.setUrlParams(baseRequest, payload))), Effect.orDie) : Effect.succeed(baseRequest)).pipe(encodeHeaders._tag === "Some" ? Effect.flatMap(httpRequest => encodeHeaders.value(request.headers).pipe(Effect.orDie, Effect.map(headers => HttpClientRequest.setHeaders(httpRequest, headers)))) : _Function.identity, encodeUrlParams._tag === "Some" ? Effect.flatMap(httpRequest => encodeUrlParams.value(request.urlParams).pipe(Effect.orDie, Effect.map(params => HttpClientRequest.appendUrlParams(httpRequest, params)))) : _Function.identity, Effect.flatMap(httpClient.execute), Effect.flatMap(
|
|
70
|
+
return (isMultipart ? Effect.succeed(baseRequest.pipe(HttpClientRequest.bodyFormData(request.payload))) : encodePayload._tag === "Some" ? encodePayload.value(request.payload).pipe(Effect.flatMap(payload => HttpMethod.hasBody(endpoint.method) ? HttpClientRequest.bodyJson(baseRequest, payload) : Effect.succeed(HttpClientRequest.setUrlParams(baseRequest, payload))), Effect.orDie) : Effect.succeed(baseRequest)).pipe(encodeHeaders._tag === "Some" ? Effect.flatMap(httpRequest => encodeHeaders.value(request.headers).pipe(Effect.orDie, Effect.map(headers => HttpClientRequest.setHeaders(httpRequest, headers)))) : _Function.identity, encodeUrlParams._tag === "Some" ? Effect.flatMap(httpRequest => encodeUrlParams.value(request.urlParams).pipe(Effect.orDie, Effect.map(params => HttpClientRequest.appendUrlParams(httpRequest, params)))) : _Function.identity, Effect.flatMap(httpClient.execute), Effect.flatMap(response => {
|
|
71
|
+
const value = options?.transformResponse === undefined ? decodeResponse(response) : options.transformResponse(decodeResponse(response));
|
|
72
|
+
return request?.withResponse === true ? Effect.map(value, value => [value, response]) : value;
|
|
73
|
+
}), Effect.scoped, Effect.catchIf(ParseResult.isParseError, Effect.die), Effect.mapInputContext(input => Context.merge(context, input)));
|
|
70
74
|
};
|
|
71
75
|
}
|
|
72
76
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpApiClient.js","names":["Context","_interopRequireWildcard","require","Effect","_Function","Option","ParseResult","Schema","HttpApi","HttpApiSchema","HttpClient","HttpClientError","HttpClientRequest","HttpClientResponse","HttpMethod","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","make","api","options","gen","context","httpClient","pipe","baseUrl","undefined","identity","mapRequest","prependUrl","transformClient","client","reflect","onGroup","group","topLevel","identifier","onEndpoint","endpoint","errors","successes","makeUrl","compilePath","path","decodeMap","orElse","statusOrElse","forEach","ast","status","_tag","statusCodeError","decode","schemaToResponse","value","response","flatMap","fail","responseAsVoid","isMultipart","payloadSchema","map","schema","getMultipart","getOrElse","encodePayload","filter","encodeUnknown","encodeHeaders","headersSchema","encodeUrlParams","urlParamsSchema","name","request","url","baseRequest","method","succeed","bodyFormData","payload","hasBody","bodyJson","setUrlParams","orDie","httpRequest","headers","setHeaders","urlParams","params","appendUrlParams","execute","
|
|
1
|
+
{"version":3,"file":"HttpApiClient.js","names":["Context","_interopRequireWildcard","require","Effect","_Function","Option","ParseResult","Schema","HttpApi","HttpApiSchema","HttpClient","HttpClientError","HttpClientRequest","HttpClientResponse","HttpMethod","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","make","api","options","gen","context","httpClient","pipe","baseUrl","undefined","identity","mapRequest","prependUrl","transformClient","client","reflect","onGroup","group","topLevel","identifier","onEndpoint","endpoint","errors","successes","makeUrl","compilePath","path","decodeMap","orElse","statusOrElse","decodeResponse","matchStatus","forEach","ast","status","_tag","statusCodeError","decode","schemaToResponse","value","response","flatMap","fail","responseAsVoid","isMultipart","payloadSchema","map","schema","getMultipart","getOrElse","encodePayload","filter","encodeUnknown","encodeHeaders","headersSchema","encodeUrlParams","urlParamsSchema","name","request","url","baseRequest","method","succeed","bodyFormData","payload","hasBody","bodyJson","setUrlParams","orDie","httpRequest","headers","setHeaders","urlParams","params","appendUrlParams","execute","transformResponse","withResponse","scoped","catchIf","isParseError","die","mapInputContext","input","merge","exports","paramsRegex","segments","split","len","length","_","encoding","getEncoding","decodeUnknown","kind","responseJson","schemaBodyUrlParams","arrayBuffer","buffer","Uint8Array","text","void","try","JSON","parse","catch","cause","ResponseError","reason","_response"],"sources":["../../src/HttpApiClient.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,OAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,uBAAA,CAAAC,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAJ,uBAAA,CAAAC,OAAA;AACA,IAAAI,WAAA,GAAAL,uBAAA,CAAAC,OAAA;AACA,IAAAK,MAAA,GAAAN,uBAAA,CAAAC,OAAA;AAIA,IAAAM,OAAA,GAAAP,uBAAA,CAAAC,OAAA;AAGA,IAAAO,aAAA,GAAAR,uBAAA,CAAAC,OAAA;AACA,IAAAQ,UAAA,GAAAT,uBAAA,CAAAC,OAAA;AACA,IAAAS,eAAA,GAAAV,uBAAA,CAAAC,OAAA;AACA,IAAAU,iBAAA,GAAAX,uBAAA,CAAAC,OAAA;AACA,IAAAW,kBAAA,GAAAZ,uBAAA,CAAAC,OAAA;AACA,IAAAY,UAAA,GAAAb,uBAAA,CAAAC,OAAA;AAA6C,SAAAa,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAf,wBAAAe,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AApB7C;;;;AAsFA;;;;AAIO,MAAMW,IAAI,GAAGA,CAClBC,GAA4C,EAC5CC,OAMC,KAMDlC,MAAM,CAACmC,GAAG,CAAC,aAAS;EAClB,MAAMC,OAAO,GAAG,OAAOpC,MAAM,CAACoC,OAAO,EAAO;EAC5C,MAAMC,UAAU,GAAG,CAAC,OAAO9B,UAAU,CAACA,UAAU,EAAE+B,IAAI,CACpDJ,OAAO,EAAEK,OAAO,KAAKC,SAAS,GAAGC,kBAAQ,GAAGlC,UAAU,CAACmC,UAAU,CAACjC,iBAAiB,CAACkC,UAAU,CAACT,OAAO,CAACK,OAAO,CAAC,CAAC,EAChHL,OAAO,EAAEU,eAAe,KAAKJ,SAAS,GAAGC,kBAAQ,GAAGP,OAAO,CAACU,eAAe,CAC5E;EACD,MAAMC,MAAM,GAAwC,EAAE;EACtDxC,OAAO,CAACyC,OAAO,CAACb,GAAU,EAAE;IAC1Bc,OAAOA,CAAC;MAAEC;IAAK,CAAE;MACf,IAAIA,KAAK,CAACC,QAAQ,EAAE;MACpBJ,MAAM,CAACG,KAAK,CAACE,UAAU,CAAC,GAAG,EAAE;IAC/B,CAAC;IACDC,UAAUA,CAAC;MAAEC,QAAQ;MAAEC,MAAM;MAAEL,KAAK;MAAEM;IAAS,CAAE;MAC/C,MAAMC,OAAO,GAAGC,WAAW,CAACJ,QAAQ,CAACK,IAAI,CAAC;MAC1C,MAAMC,SAAS,GAGX;QAAEC,MAAM,EAAEC;MAAY,CAAE;MAC5B,MAAMC,cAAc,GAAGnD,kBAAkB,CAACoD,WAAW,CAACJ,SAAS,CAAC;MAChEL,MAAM,CAACU,OAAO,CAAC,CAACC,GAAG,EAAEC,MAAM,KAAI;QAC7B,IAAID,GAAG,CAACE,IAAI,KAAK,MAAM,EAAE;UACvBR,SAAS,CAACO,MAAM,CAAC,GAAGE,eAAe;UACnC;QACF;QACA,MAAMC,MAAM,GAAGC,gBAAgB,CAACL,GAAG,CAACM,KAAK,CAAC;QAC1CZ,SAAS,CAACO,MAAM,CAAC,GAAIM,QAAQ,IAAKvE,MAAM,CAACwE,OAAO,CAACJ,MAAM,CAACG,QAAQ,CAAC,EAAEvE,MAAM,CAACyE,IAAI,CAAC;MACjF,CAAC,CAAC;MACFnB,SAAS,CAACS,OAAO,CAAC,CAACC,GAAG,EAAEC,MAAM,KAAI;QAChCP,SAAS,CAACO,MAAM,CAAC,GAAGD,GAAG,CAACE,IAAI,KAAK,MAAM,GAAGQ,cAAc,GAAGL,gBAAgB,CAACL,GAAG,CAACM,KAAK,CAAC;MACxF,CAAC,CAAC;MACF,MAAMK,WAAW,GAAGvB,QAAQ,CAACwB,aAAa,CAACtC,IAAI,CAC7CpC,MAAM,CAAC2E,GAAG,CAAEC,MAAM,IAAKxE,aAAa,CAACyE,YAAY,CAACD,MAAM,CAACd,GAAG,CAAC,CAAC,EAC9D9D,MAAM,CAAC8E,SAAS,CAAC,MAAM,KAAK,CAAC,CAC9B;MACD,MAAMC,aAAa,GAAG7B,QAAQ,CAACwB,aAAa,CAACtC,IAAI,CAC/CpC,MAAM,CAACgF,MAAM,CAAC,MAAM,CAACP,WAAW,CAAC,EACjCzE,MAAM,CAAC2E,GAAG,CAACzE,MAAM,CAAC+E,aAAa,CAAC,CACjC;MACD,MAAMC,aAAa,GAAGhC,QAAQ,CAACiC,aAAa,CAAC/C,IAAI,CAC/CpC,MAAM,CAAC2E,GAAG,CAACzE,MAAM,CAAC+E,aAAa,CAAC,CACjC;MACD,MAAMG,eAAe,GAAGlC,QAAQ,CAACmC,eAAe,CAACjD,IAAI,CACnDpC,MAAM,CAAC2E,GAAG,CAACzE,MAAM,CAAC+E,aAAa,CAAC,CACjC;MACA,CAACnC,KAAK,CAACC,QAAQ,GAAGJ,MAAM,GAAGA,MAAM,CAACG,KAAK,CAACE,UAAU,CAAC,EAAEE,QAAQ,CAACoC,IAAI,CAAC,GAAIC,OAMvE,IAAI;QACH,MAAMC,GAAG,GAAGD,OAAO,IAAIA,OAAO,CAAChC,IAAI,GAAGF,OAAO,CAACkC,OAAO,CAAChC,IAAI,CAAC,GAAGL,QAAQ,CAACK,IAAI;QAC3E,MAAMkC,WAAW,GAAGlF,iBAAiB,CAACuB,IAAI,CAACoB,QAAQ,CAACwC,MAAM,CAAC,CAACF,GAAG,CAAC;QAChE,OAAO,CAACf,WAAW,GACjB3E,MAAM,CAAC6F,OAAO,CAACF,WAAW,CAACrD,IAAI,CAC7B7B,iBAAiB,CAACqF,YAAY,CAACL,OAAO,CAACM,OAAO,CAAC,CAChD,CAAC,GACAd,aAAa,CAACf,IAAI,KAAK,MAAM,GAC7Be,aAAa,CAACX,KAAK,CAACmB,OAAO,CAACM,OAAO,CAAC,CAACzD,IAAI,CACzCtC,MAAM,CAACwE,OAAO,CAAEuB,OAAO,IACrBpF,UAAU,CAACqF,OAAO,CAAC5C,QAAQ,CAACwC,MAAM,CAAC,GAC/BnF,iBAAiB,CAACwF,QAAQ,CAACN,WAAW,EAAEI,OAAO,CAAC,GAChD/F,MAAM,CAAC6F,OAAO,CAACpF,iBAAiB,CAACyF,YAAY,CAACP,WAAW,EAAEI,OAAc,CAAC,CAAC,CAChF,EACD/F,MAAM,CAACmG,KAAK,CACb,GACCnG,MAAM,CAAC6F,OAAO,CAACF,WAAW,CAAC,EAAErD,IAAI,CACjC8C,aAAa,CAAClB,IAAI,KAAK,MAAM,GACzBlE,MAAM,CAACwE,OAAO,CAAE4B,WAAW,IAC3BhB,aAAa,CAACd,KAAK,CAACmB,OAAO,CAACY,OAAO,CAAC,CAAC/D,IAAI,CACvCtC,MAAM,CAACmG,KAAK,EACZnG,MAAM,CAAC6E,GAAG,CAAEwB,OAAO,IAAK5F,iBAAiB,CAAC6F,UAAU,CAACF,WAAW,EAAEC,OAAc,CAAC,CAAC,CACnF,CACF,GACC5D,kBAAQ,EACZ6C,eAAe,CAACpB,IAAI,KAAK,MAAM,GAC3BlE,MAAM,CAACwE,OAAO,CAAE4B,WAAW,IAC3Bd,eAAe,CAAChB,KAAK,CAACmB,OAAO,CAACc,SAAS,CAAC,CAACjE,IAAI,CAC3CtC,MAAM,CAACmG,KAAK,EACZnG,MAAM,CAAC6E,GAAG,CAAE2B,MAAM,IAAK/F,iBAAiB,CAACgG,eAAe,CAACL,WAAW,EAAEI,MAAa,CAAC,CAAC,CACtF,CACF,GACC/D,kBAAQ,EACZzC,MAAM,CAACwE,OAAO,CAACnC,UAAU,CAACqE,OAAO,CAAC,EAClC1G,MAAM,CAACwE,OAAO,CAAED,QAAQ,IAAI;UAC1B,MAAMD,KAAK,GAAGpC,OAAO,EAAEyE,iBAAiB,KAAKnE,SAAS,GAClDqB,cAAc,CAACU,QAAQ,CAAC,GACxBrC,OAAO,CAACyE,iBAAiB,CAAC9C,cAAc,CAACU,QAAQ,CAAC,CAAC;UACvD,OAAOkB,OAAO,EAAEmB,YAAY,KAAK,IAAI,GAAG5G,MAAM,CAAC6E,GAAG,CAACP,KAAK,EAAGA,KAAK,IAAK,CAACA,KAAK,EAAEC,QAAQ,CAAC,CAAC,GAAGD,KAAK;QACjG,CAAC,CAAC,EACFtE,MAAM,CAAC6G,MAAM,EACb7G,MAAM,CAAC8G,OAAO,CAAC3G,WAAW,CAAC4G,YAAY,EAAE/G,MAAM,CAACgH,GAAG,CAAC,EACpDhH,MAAM,CAACiH,eAAe,CAAEC,KAAK,IAAKrH,OAAO,CAACsH,KAAK,CAAC/E,OAAO,EAAE8E,KAAK,CAAC,CAAC,CACjE;MACL,CAAC;IACH;GACD,CAAC;EACF,OAAOrE,MAAa;AACtB,CAAC,CAAC;AAEJ;AAAAuE,OAAA,CAAApF,IAAA,GAAAA,IAAA;AAEA,MAAMqF,WAAW,GAAG,cAAc;AAElC,MAAM7D,WAAW,GAAIC,IAAY,IAAI;EACnC,MAAM6D,QAAQ,GAAG7D,IAAI,CAAC8D,KAAK,CAACF,WAAW,CAAC;EACxC,MAAMG,GAAG,GAAGF,QAAQ,CAACG,MAAM;EAC3B,IAAID,GAAG,KAAK,CAAC,EAAE;IACb,OAAQE,CAAM,IAAKjE,IAAI;EACzB;EACA,OAAQ+C,MAA8B,IAAI;IACxC,IAAId,GAAG,GAAG4B,QAAQ,CAAC,CAAC,CAAC;IACrB,KAAK,IAAIxF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG0F,GAAG,EAAE1F,CAAC,EAAE,EAAE;MAC5B,IAAIA,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QACf4D,GAAG,IAAI4B,QAAQ,CAACxF,CAAC,CAAC;MACpB,CAAC,MAAM;QACL4D,GAAG,IAAIc,MAAM,CAACc,QAAQ,CAACxF,CAAC,CAAC,CAAC;MAC5B;IACF;IACA,OAAO4D,GAAG;EACZ,CAAC;AACH,CAAC;AAED,MAAMrB,gBAAgB,GACpBL,GAAY,IACoE;EAChF,MAAMc,MAAM,GAAG1E,MAAM,CAAC4B,IAAI,CAACgC,GAAG,CAAC;EAC/B,MAAM2D,QAAQ,GAAGrH,aAAa,CAACsH,WAAW,CAAC5D,GAAG,CAAC;EAC/C,MAAMI,MAAM,GAAGhE,MAAM,CAACyH,aAAa,CAAC/C,MAAM,CAAC;EAC3C,QAAQ6C,QAAQ,CAACG,IAAI;IACnB,KAAK,MAAM;MAAE;QACX,OAAQvD,QAAQ,IAAKvE,MAAM,CAACwE,OAAO,CAACuD,YAAY,CAACxD,QAAQ,CAAC,EAAEH,MAAM,CAAC;MACrE;IACA,KAAK,WAAW;MAAE;QAChB,OAAO1D,kBAAkB,CAACsH,mBAAmB,CAAClD,MAAa,CAAC;MAC9D;IACA,KAAK,YAAY;MAAE;QACjB,OAAQP,QAA+C,IACrDA,QAAQ,CAAC0D,WAAW,CAAC3F,IAAI,CACvBtC,MAAM,CAAC6E,GAAG,CAAEqD,MAAM,IAAK,IAAIC,UAAU,CAACD,MAAM,CAAC,CAAC,EAC9ClI,MAAM,CAACwE,OAAO,CAACJ,MAAM,CAAC,CACvB;MACL;IACA,KAAK,MAAM;MAAE;QACX,OAAQG,QAAQ,IAAKvE,MAAM,CAACwE,OAAO,CAACD,QAAQ,CAAC6D,IAAI,EAAEhE,MAAM,CAAC;MAC5D;EACF;AACF,CAAC;AAED,MAAM2D,YAAY,GAAIxD,QAA+C,IACnEvE,MAAM,CAACwE,OAAO,CAACD,QAAQ,CAAC6D,IAAI,EAAGA,IAAI,IACjCA,IAAI,KAAK,EAAE,GAAGpI,MAAM,CAACqI,IAAI,GAAGrI,MAAM,CAACsI,GAAG,CAAC;EACrCA,GAAG,EAAEA,CAAA,KAAMC,IAAI,CAACC,KAAK,CAACJ,IAAI,CAAC;EAC3BK,KAAK,EAAGC,KAAK,IACX,IAAIlI,eAAe,CAACmI,aAAa,CAAC;IAChCC,MAAM,EAAE,QAAQ;IAChBnD,OAAO,EAAElB,QAAQ,CAACkB,OAAO;IACzBlB,QAAQ;IACRmE;GACD;CACJ,CAAC,CAAC;AAEP,MAAM9E,YAAY,GAAIW,QAA+C,IACnEvE,MAAM,CAACyE,IAAI,CACT,IAAIjE,eAAe,CAACmI,aAAa,CAAC;EAChCC,MAAM,EAAE,QAAQ;EAChBnD,OAAO,EAAElB,QAAQ,CAACkB,OAAO;EACzBlB;CACD,CAAC,CACH;AAEH,MAAMJ,eAAe,GAAII,QAA+C,IACtEvE,MAAM,CAACyE,IAAI,CACT,IAAIjE,eAAe,CAACmI,aAAa,CAAC;EAChCC,MAAM,EAAE,YAAY;EACpBnD,OAAO,EAAElB,QAAQ,CAACkB,OAAO;EACzBlB;CACD,CAAC,CACH;AAEH,MAAMG,cAAc,GAAImE,SAAgD,IAAK7I,MAAM,CAACqI,IAAI","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpApiEndpoint.js","names":["Context","_interopRequireWildcard","require","HashSet","Option","_Pipeable","Predicate","Schema","HttpApiSchema","HttpRouter","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TypeId","exports","Symbol","for","isHttpApiEndpoint","hasProperty","Proto","pipe","pipeArguments","arguments","addSuccess","schema","annotations","status","getStatusSuccess","makeProto","successSchema","NoContent","UnionUnify","addError","errorSchema","getStatusError","setPayload","payloadSchema","some","setPath","pathSchema","setUrlParams","urlParamsSchema","setHeaders","headersSchema","prefix","path","prefixPath","middleware","failure","middlewares","add","annotate","tag","value","annotateContext","context","merge","options","assign","create","make","method","name","none","Never","empty","post","put","patch","del"],"sources":["../../src/HttpApiEndpoint.ts"],"sourcesContent":[null],"mappings":";;;;;;AAIA,IAAAA,OAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAF,uBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAH,uBAAA,CAAAC,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAL,uBAAA,CAAAC,OAAA;AACA,IAAAK,MAAA,GAAAN,uBAAA,CAAAC,OAAA;AAGA,IAAAM,aAAA,GAAAP,uBAAA,CAAAC,OAAA;AAEA,IAAAO,UAAA,GAAAR,uBAAA,CAAAC,OAAA;AAA6C,SAAAQ,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAV,wBAAAU,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAG7C;;;;AAIO,MAAMW,MAAM,GAAAC,OAAA,CAAAD,MAAA,gBAAkBE,MAAM,CAACC,GAAG,CAAC,kCAAkC,CAAC;AAQnF;;;;AAIO,MAAMC,iBAAiB,GAAIT,CAAU,IAA0CnB,SAAS,CAAC6B,WAAW,CAACV,CAAC,EAAEK,MAAM,CAAC;AAAAC,OAAA,CAAAG,iBAAA,GAAAA,iBAAA;
|
|
1
|
+
{"version":3,"file":"HttpApiEndpoint.js","names":["Context","_interopRequireWildcard","require","HashSet","Option","_Pipeable","Predicate","Schema","HttpApiSchema","HttpRouter","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TypeId","exports","Symbol","for","isHttpApiEndpoint","hasProperty","Proto","pipe","pipeArguments","arguments","addSuccess","schema","annotations","status","getStatusSuccess","makeProto","successSchema","NoContent","UnionUnify","addError","errorSchema","getStatusError","setPayload","payloadSchema","some","setPath","pathSchema","setUrlParams","urlParamsSchema","setHeaders","headersSchema","prefix","path","prefixPath","middleware","failure","middlewares","add","annotate","tag","value","annotateContext","context","merge","options","assign","create","make","method","name","none","Never","empty","post","put","patch","del"],"sources":["../../src/HttpApiEndpoint.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/cjs/Socket.js
CHANGED
|
@@ -129,36 +129,30 @@ class SocketCloseError extends /*#__PURE__*/(0, _Error.TypeIdError)(SocketErrorT
|
|
|
129
129
|
* @category combinators
|
|
130
130
|
*/
|
|
131
131
|
exports.SocketCloseError = SocketCloseError;
|
|
132
|
-
const toChannelMap = (self, f) => Effect.
|
|
133
|
-
scope
|
|
134
|
-
|
|
135
|
-
writeScope
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
})), Effect.
|
|
154
|
-
mailbox,
|
|
155
|
-
|
|
156
|
-
}) => self.runRaw(data => {
|
|
157
|
-
mailbox.unsafeOffer(f(data));
|
|
158
|
-
}).pipe(Mailbox.into(mailbox), Effect.forkIn(scope), Effect.interruptible)), Effect.map(({
|
|
159
|
-
input,
|
|
160
|
-
mailbox
|
|
161
|
-
}) => Channel.embedInput(Mailbox.toChannel(mailbox), input)), Channel.unwrapScoped);
|
|
132
|
+
const toChannelMap = (self, f) => Effect.gen(function* () {
|
|
133
|
+
const scope = yield* Effect.scope;
|
|
134
|
+
const mailbox = yield* Mailbox.make();
|
|
135
|
+
const writeScope = yield* Scope.fork(scope, ExecutionStrategy.sequential);
|
|
136
|
+
const write = yield* Scope.extend(self.writer, writeScope);
|
|
137
|
+
const input = {
|
|
138
|
+
awaitRead: () => Effect.void,
|
|
139
|
+
emit(chunk) {
|
|
140
|
+
return Effect.catchAllCause(Effect.forEach(chunk, write, {
|
|
141
|
+
discard: true
|
|
142
|
+
}), cause => mailbox.failCause(cause));
|
|
143
|
+
},
|
|
144
|
+
error(error) {
|
|
145
|
+
return Effect.zipRight(Scope.close(writeScope, Exit.void), mailbox.failCause(error));
|
|
146
|
+
},
|
|
147
|
+
done() {
|
|
148
|
+
return Scope.close(writeScope, Exit.void);
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
yield* self.runRaw(data => {
|
|
152
|
+
mailbox.unsafeOffer(f(data));
|
|
153
|
+
}).pipe(Mailbox.into(mailbox), Effect.forkIn(scope), Effect.interruptible);
|
|
154
|
+
return Channel.embedInput(Mailbox.toChannel(mailbox), input);
|
|
155
|
+
}).pipe(Channel.unwrapScoped);
|
|
162
156
|
/**
|
|
163
157
|
* @since 1.0.0
|
|
164
158
|
* @category combinators
|
|
@@ -219,17 +213,14 @@ const makeWebSocket = (url, options) => fromWebSocket(Effect.acquireRelease((typ
|
|
|
219
213
|
* @category constructors
|
|
220
214
|
*/
|
|
221
215
|
exports.makeWebSocket = makeWebSocket;
|
|
222
|
-
const fromWebSocket = (acquire, options) => Effect.withFiberRuntime(fiber => Effect.
|
|
223
|
-
const
|
|
216
|
+
const fromWebSocket = (acquire, options) => Effect.withFiberRuntime(fiber => Effect.gen(function* () {
|
|
217
|
+
const sendQueue = yield* Queue.dropping(fiber.getFiberRef(currentSendQueueCapacity));
|
|
218
|
+
const acquireContext = fiber.currentContext;
|
|
224
219
|
const closeCodeIsError = options?.closeCodeIsError ?? defaultCloseCodeIsError;
|
|
225
|
-
const runRaw = handler =>
|
|
226
|
-
fiberSet
|
|
227
|
-
ws
|
|
228
|
-
|
|
229
|
-
fiberSet,
|
|
230
|
-
run,
|
|
231
|
-
ws
|
|
232
|
-
}) => {
|
|
220
|
+
const runRaw = handler => Effect.gen(function* () {
|
|
221
|
+
const fiberSet = yield* FiberSet.make();
|
|
222
|
+
const ws = yield* acquire;
|
|
223
|
+
const run = yield* Effect.provideService(FiberSet.runtime(fiberSet)(), WebSocket, ws);
|
|
233
224
|
let open = false;
|
|
234
225
|
function onMessage(event) {
|
|
235
226
|
if (event.data instanceof Blob) {
|
|
@@ -272,7 +263,7 @@ const fromWebSocket = (acquire, options) => Effect.withFiberRuntime(fiber => Eff
|
|
|
272
263
|
}, {
|
|
273
264
|
once: true
|
|
274
265
|
});
|
|
275
|
-
|
|
266
|
+
yield* Deferred.await(openDeferred).pipe(Effect.timeoutFail({
|
|
276
267
|
duration: options?.openTimeout ?? 10000,
|
|
277
268
|
onTimeout: () => new SocketGenericError({
|
|
278
269
|
reason: "OpenTimeout",
|
|
@@ -281,26 +272,22 @@ const fromWebSocket = (acquire, options) => Effect.withFiberRuntime(fiber => Eff
|
|
|
281
272
|
}), Effect.raceFirst(FiberSet.join(fiberSet)));
|
|
282
273
|
}
|
|
283
274
|
open = true;
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
})
|
|
301
|
-
})), Effect.forever, FiberSet.run(fiberSet))), Effect.tap(({
|
|
302
|
-
fiberSet
|
|
303
|
-
}) => Effect.catchIf(FiberSet.join(fiberSet), SocketCloseError.isClean(_ => !closeCodeIsError(_)), _ => Effect.void)), Effect.mapInputContext(input => Context.merge(acquireContext, input)), Effect.scoped, Effect.interruptible);
|
|
275
|
+
yield* Queue.take(sendQueue).pipe(Effect.tap(chunk => isCloseEvent(chunk) ? Effect.failSync(() => {
|
|
276
|
+
ws.close(chunk.code, chunk.reason);
|
|
277
|
+
return new SocketCloseError({
|
|
278
|
+
reason: "Close",
|
|
279
|
+
code: chunk.code,
|
|
280
|
+
closeReason: chunk.reason
|
|
281
|
+
});
|
|
282
|
+
}) : Effect.try({
|
|
283
|
+
try: () => ws.send(chunk),
|
|
284
|
+
catch: cause => new SocketGenericError({
|
|
285
|
+
reason: "Write",
|
|
286
|
+
cause
|
|
287
|
+
})
|
|
288
|
+
})), Effect.forever, FiberSet.run(fiberSet));
|
|
289
|
+
return yield* FiberSet.join(fiberSet).pipe(Effect.catchIf(SocketCloseError.isClean(_ => !closeCodeIsError(_)), _ => Effect.void));
|
|
290
|
+
}).pipe(Effect.mapInputContext(input => Context.merge(acquireContext, input)), Effect.scoped, Effect.interruptible);
|
|
304
291
|
const encoder = new TextEncoder();
|
|
305
292
|
const run = handler => runRaw(data => typeof data === "string" ? handler(encoder.encode(data)) : handler(data));
|
|
306
293
|
const write = chunk => Queue.offer(sendQueue, chunk);
|
|
@@ -334,48 +321,42 @@ const currentSendQueueCapacity = exports.currentSendQueueCapacity = /*#__PURE__*
|
|
|
334
321
|
* @since 1.0.0
|
|
335
322
|
* @category constructors
|
|
336
323
|
*/
|
|
337
|
-
const fromTransformStream = (acquire, options) => {
|
|
324
|
+
const fromTransformStream = (acquire, options) => Effect.withFiberRuntime(fiber => Effect.gen(function* () {
|
|
338
325
|
const EOF = Symbol();
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
326
|
+
const sendQueue = yield* Queue.dropping(fiber.getFiberRef(currentSendQueueCapacity));
|
|
327
|
+
const acquireContext = fiber.currentContext;
|
|
328
|
+
const closeCodeIsError = options?.closeCodeIsError ?? defaultCloseCodeIsError;
|
|
329
|
+
const runRaw = handler => Effect.gen(function* () {
|
|
330
|
+
const stream = yield* acquire;
|
|
331
|
+
const reader = yield* Effect.acquireRelease(Effect.sync(() => stream.readable.getReader()), reader => Effect.promise(() => reader.cancel()).pipe(Effect.tap(() => {
|
|
345
332
|
reader.releaseLock();
|
|
346
|
-
})))
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
});
|
|
374
|
-
}), Effect.forever, FiberSet.run(fiberSet));
|
|
375
|
-
}), Effect.tap(({
|
|
376
|
-
fiberSet,
|
|
377
|
-
reader
|
|
378
|
-
}) => Effect.tryPromise({
|
|
333
|
+
})));
|
|
334
|
+
const writer = yield* Effect.acquireRelease(Effect.sync(() => stream.writable.getWriter()), reader => Effect.sync(() => reader.releaseLock()));
|
|
335
|
+
const fiberSet = yield* FiberSet.make();
|
|
336
|
+
const encoder = new TextEncoder();
|
|
337
|
+
yield* Queue.take(sendQueue).pipe(Effect.tap(chunk => {
|
|
338
|
+
if (chunk === EOF || isCloseEvent(chunk)) {
|
|
339
|
+
return Effect.zipRight(Effect.promise(() => writer.close()), chunk === EOF ? Effect.interrupt : Effect.fail(new SocketCloseError({
|
|
340
|
+
reason: "Close",
|
|
341
|
+
code: chunk.code,
|
|
342
|
+
closeReason: chunk.reason
|
|
343
|
+
})));
|
|
344
|
+
}
|
|
345
|
+
return Effect.try({
|
|
346
|
+
try: () => {
|
|
347
|
+
if (typeof chunk === "string") {
|
|
348
|
+
writer.write(encoder.encode(chunk));
|
|
349
|
+
} else {
|
|
350
|
+
writer.write(chunk);
|
|
351
|
+
}
|
|
352
|
+
},
|
|
353
|
+
catch: cause => new SocketGenericError({
|
|
354
|
+
reason: "Write",
|
|
355
|
+
cause
|
|
356
|
+
})
|
|
357
|
+
});
|
|
358
|
+
}), Effect.forever, FiberSet.run(fiberSet));
|
|
359
|
+
yield* Effect.tryPromise({
|
|
379
360
|
try: () => reader.read(),
|
|
380
361
|
catch: cause => new SocketGenericError({
|
|
381
362
|
reason: "Read",
|
|
@@ -389,20 +370,19 @@ const fromTransformStream = (acquire, options) => {
|
|
|
389
370
|
}));
|
|
390
371
|
}
|
|
391
372
|
return handler(result.value);
|
|
392
|
-
}), Effect.forever, FiberSet.run(fiberSet))
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
};
|
|
373
|
+
}), Effect.forever, FiberSet.run(fiberSet));
|
|
374
|
+
return yield* FiberSet.join(fiberSet).pipe(Effect.catchIf(SocketCloseError.isClean(_ => !closeCodeIsError(_)), _ => Effect.void));
|
|
375
|
+
}).pipe(Effect.mapInputContext(input => Context.merge(acquireContext, input)), Effect.scoped, Effect.interruptible);
|
|
376
|
+
const encoder = new TextEncoder();
|
|
377
|
+
const run = handler => runRaw(data => typeof data === "string" ? handler(encoder.encode(data)) : handler(data));
|
|
378
|
+
const write = chunk => Queue.offer(sendQueue, chunk);
|
|
379
|
+
const writer = Effect.acquireRelease(Effect.succeed(write), () => Queue.offer(sendQueue, EOF));
|
|
380
|
+
return Socket.of({
|
|
381
|
+
[TypeId]: TypeId,
|
|
382
|
+
run,
|
|
383
|
+
runRaw,
|
|
384
|
+
writer
|
|
385
|
+
});
|
|
386
|
+
}));
|
|
407
387
|
exports.fromTransformStream = fromTransformStream;
|
|
408
388
|
//# sourceMappingURL=Socket.js.map
|