New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@effect/platform-node

Package Overview
Dependencies
Maintainers
3
Versions
447
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@effect/platform-node - npm Package Compare versions

Comparing version 0.0.0-snapshot-189d4cae80e186661241002ad9d729628096520f to 0.0.0-snapshot-27f0443ffcce4f230f5d485826d1b79976d1307e

dist/cjs/NodeFileSystem/ParcelWatcher.js

14

dist/cjs/internal/http/client.js

@@ -12,3 +12,2 @@ "use strict";

var IncomingMessage = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/IncomingMessage"));
var UrlParams = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/UrlParams"));
var Context = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Context"));

@@ -66,8 +65,3 @@ var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));

const agentLayer = exports.agentLayer = /*#__PURE__*/makeAgentLayer();
const makeAbortController = /*#__PURE__*/Effect.acquireRelease( /*#__PURE__*/Effect.sync(() => new AbortController()), controller => Effect.sync(() => controller.abort()));
const fromAgent = agent => Client.makeDefault(request => Effect.flatMap(UrlParams.makeUrl(request.url, request.urlParams, _ => new Error.RequestError({
request,
reason: "InvalidUrl",
error: _
})), url => Effect.flatMap(makeAbortController, controller => {
const fromAgent = agent => Client.makeDefault((request, url, signal) => {
const nodeRequest = url.protocol === "https:" ? Https.request(url, {

@@ -77,3 +71,3 @@ agent: agent.https,

headers: request.headers,
signal: controller.signal
signal
}) : Http.request(url, {

@@ -83,3 +77,3 @@ agent: agent.http,

headers: request.headers,
signal: controller.signal
signal
});

@@ -89,3 +83,3 @@ return (0, _Function.pipe)(Effect.zipRight(sendBody(nodeRequest, request, request.body), waitForResponse(nodeRequest, request), {

}), Effect.map(_ => new ClientResponseImpl(request, _)));
})));
});
const sendBody = (nodeRequest, request, body) => Effect.suspend(() => {

@@ -92,0 +86,0 @@ switch (body._tag) {

@@ -57,3 +57,2 @@ "use strict";

const dispatcherLayerGlobal = exports.dispatcherLayerGlobal = /*#__PURE__*/Layer.sync(Dispatcher, () => Undici.getGlobalDispatcher());
const makeAbortSignal = /*#__PURE__*/Effect.map( /*#__PURE__*/Effect.acquireRelease( /*#__PURE__*/Effect.sync(() => new AbortController()), controller => Effect.sync(() => controller.abort())), _ => _.signal);
/** @internal */

@@ -64,11 +63,3 @@ const currentUndiciOptions = exports.currentUndiciOptions = /*#__PURE__*/(0, _GlobalValue.globalValue)( /*#__PURE__*/Symbol.for("@effect/platform-node/NodeHttpClient/currentUndici"), () => FiberRef.unsafeMake({}));

/** @internal */
const make = dispatcher => Client.makeDefault((request, fiber) => Effect.Do.pipe(Effect.bind("url", () => UrlParams.makeUrl(request.url, request.urlParams, _ => new Error.RequestError({
request,
reason: "InvalidUrl",
error: _
}))), Effect.bind("body", () => convertBody(request.body)), Effect.bind("signal", () => makeAbortSignal), Effect.flatMap(({
body,
signal,
url
}) => Effect.tryPromise({
const make = dispatcher => Client.makeDefault((request, url, signal, fiber) => convertBody(request.body).pipe(Effect.flatMap(body => Effect.tryPromise({
try: () => dispatcher.request({

@@ -75,0 +66,0 @@ ...fiber.getFiberRef(currentUndiciOptions),

@@ -60,4 +60,7 @@ "use strict";

const make = (evaluate, options) => Effect.gen(function* (_) {
const scope = yield* _(Effect.scope);
const server = yield* _(Effect.acquireRelease(Effect.sync(evaluate), server => Effect.async(resume => {
const scope = yield* Effect.scope;
const server = yield* Effect.acquireRelease(Effect.sync(evaluate), server => Effect.async(resume => {
if (!server.listening) {
return resume(Effect.void);
}
server.close(error => {

@@ -70,13 +73,15 @@ if (error) {

});
})));
yield* _(Effect.async(resume => {
server.on("error", error => {
}));
yield* Effect.async(resume => {
function onError(error) {
resume(Effect.fail(new Error.ServeError({
error
})));
});
}
server.on("error", onError);
server.listen(options, () => {
server.off("error", onError);
resume(Effect.void);
});
}));
});
const address = server.address();

@@ -274,4 +279,5 @@ const wss = yield* _(Effect.acquireRelease(Effect.sync(() => new WS.WebSocketServer({

nodeResponse.writeHead(response.status, headers);
nodeResponse.end();
return Effect.void;
return Effect.async(resume => {
nodeResponse.end(() => resume(Effect.void));
});
}

@@ -283,4 +289,5 @@ const body = response.body;

nodeResponse.writeHead(response.status, headers);
nodeResponse.end();
return Effect.void;
return Effect.async(resume => {
nodeResponse.end(() => resume(Effect.void));
});
}

@@ -304,4 +311,5 @@ case "Raw":

}
nodeResponse.end(body.body);
return Effect.void;
return Effect.async(resume => {
nodeResponse.end(body.body, () => resume(Effect.void));
});
}

@@ -311,8 +319,9 @@ case "Uint8Array":

nodeResponse.writeHead(response.status, headers);
nodeResponse.end(body.body);
return Effect.void;
return Effect.async(resume => {
nodeResponse.end(body.body, () => resume(Effect.void));
});
}
case "FormData":
{
return Effect.async(resume => {
return Effect.suspend(() => {
const r = new Response(body.formData);

@@ -323,12 +332,16 @@ nodeResponse.writeHead(response.status, {

});
_nodeStream.Readable.fromWeb(r.body).pipe(nodeResponse).on("error", error => {
resume(Effect.fail(new Error.ResponseError({
request,
response,
reason: "Decode",
error
})));
}).once("finish", () => {
resume(Effect.void);
});
return Effect.async((resume, signal) => {
_nodeStream.Readable.fromWeb(r.body, {
signal
}).pipe(nodeResponse).on("error", error => {
resume(Effect.fail(new Error.ResponseError({
request,
response,
reason: "Decode",
error
})));
}).once("finish", () => {
resume(Effect.void);
});
}).pipe(Effect.interruptible);
});

@@ -349,3 +362,3 @@ }

error
})));
}))).pipe(Effect.interruptible);
}

@@ -352,0 +365,0 @@ }

@@ -6,5 +6,14 @@ "use strict";

});
var _exportNames = {
layerWebSocket: true,
layerWebSocketConstructor: true
};
exports.layerWebSocketConstructor = exports.layerWebSocket = void 0;
var Socket = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Socket"));
var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Layer"));
var WS = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("ws"));
var _NodeSocket = /*#__PURE__*/require("@effect/platform-node-shared/NodeSocket");
Object.keys(_NodeSocket).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _NodeSocket[key]) return;

@@ -18,2 +27,51 @@ Object.defineProperty(exports, key, {

});
function _getRequireWildcardCache(e) {
if ("function" != typeof WeakMap) return null;
var r = new WeakMap(),
t = new WeakMap();
return (_getRequireWildcardCache = function (e) {
return e ? t : r;
})(e);
}
function _interopRequireWildcard(e, r) {
if (!r && e && e.__esModule) return e;
if (null === e || "object" != typeof e && "function" != typeof e) return {
default: e
};
var t = _getRequireWildcardCache(r);
if (t && t.has(e)) return t.get(e);
var n = {
__proto__: null
},
a = Object.defineProperty && Object.getOwnPropertyDescriptor;
for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
}
return n.default = e, t && t.set(e, n), n;
}
/**
* @since 1.0.0
*/
/**
* @since 1.0.0
*/
/**
* @since 1.0.0
* @category layers
*/
const layerWebSocket = (url, options) => Layer.scoped(Socket.Socket, Socket.makeWebSocket(url, options)).pipe(Layer.provide(layerWebSocketConstructor));
/**
* @since 1.0.0
* @category layers
*/
exports.layerWebSocket = layerWebSocket;
const layerWebSocketConstructor = exports.layerWebSocketConstructor = /*#__PURE__*/Layer.sync(Socket.WebSocketConstructor, () => {
if ("WebSocket" in globalThis) {
return url => new globalThis.WebSocket(url);
}
return url => new WS.WebSocket(url);
});
//# sourceMappingURL=NodeSocket.js.map
/**
* @since 1.0.0
*/
import * as Socket from "@effect/platform/Socket";
import * as Layer from "effect/Layer";
/**
* @category models
* @since 1.0.0
*/
export * from "@effect/platform-node-shared/NodeSocket";
/**
* @since 1.0.0
* @category layers
*/
export declare const layerWebSocket: (url: string, options?: {
readonly closeCodeIsError?: (code: number) => boolean;
}) => Layer.Layer<Socket.Socket>;
/**
* @since 1.0.0
* @category layers
*/
export declare const layerWebSocketConstructor: Layer.Layer<Socket.WebSocketConstructor>;
//# sourceMappingURL=NodeSocket.d.ts.map

@@ -6,3 +6,2 @@ import * as Client from "@effect/platform/Http/Client";

import * as IncomingMessage from "@effect/platform/Http/IncomingMessage";
import * as UrlParams from "@effect/platform/Http/UrlParams";
import * as Context from "effect/Context";

@@ -33,8 +32,3 @@ import * as Effect from "effect/Effect";

export const agentLayer = /*#__PURE__*/makeAgentLayer();
const makeAbortController = /*#__PURE__*/Effect.acquireRelease( /*#__PURE__*/Effect.sync(() => new AbortController()), controller => Effect.sync(() => controller.abort()));
const fromAgent = agent => Client.makeDefault(request => Effect.flatMap(UrlParams.makeUrl(request.url, request.urlParams, _ => new Error.RequestError({
request,
reason: "InvalidUrl",
error: _
})), url => Effect.flatMap(makeAbortController, controller => {
const fromAgent = agent => Client.makeDefault((request, url, signal) => {
const nodeRequest = url.protocol === "https:" ? Https.request(url, {

@@ -44,3 +38,3 @@ agent: agent.https,

headers: request.headers,
signal: controller.signal
signal
}) : Http.request(url, {

@@ -50,3 +44,3 @@ agent: agent.http,

headers: request.headers,
signal: controller.signal
signal
});

@@ -56,3 +50,3 @@ return pipe(Effect.zipRight(sendBody(nodeRequest, request, request.body), waitForResponse(nodeRequest, request), {

}), Effect.map(_ => new ClientResponseImpl(request, _)));
})));
});
const sendBody = (nodeRequest, request, body) => Effect.suspend(() => {

@@ -59,0 +53,0 @@ switch (body._tag) {

@@ -26,3 +26,2 @@ import * as Client from "@effect/platform/Http/Client";

export const dispatcherLayerGlobal = /*#__PURE__*/Layer.sync(Dispatcher, () => Undici.getGlobalDispatcher());
const makeAbortSignal = /*#__PURE__*/Effect.map( /*#__PURE__*/Effect.acquireRelease( /*#__PURE__*/Effect.sync(() => new AbortController()), controller => Effect.sync(() => controller.abort())), _ => _.signal);
/** @internal */

@@ -33,11 +32,3 @@ export const currentUndiciOptions = /*#__PURE__*/globalValue( /*#__PURE__*/Symbol.for("@effect/platform-node/NodeHttpClient/currentUndici"), () => FiberRef.unsafeMake({}));

/** @internal */
export const make = dispatcher => Client.makeDefault((request, fiber) => Effect.Do.pipe(Effect.bind("url", () => UrlParams.makeUrl(request.url, request.urlParams, _ => new Error.RequestError({
request,
reason: "InvalidUrl",
error: _
}))), Effect.bind("body", () => convertBody(request.body)), Effect.bind("signal", () => makeAbortSignal), Effect.flatMap(({
body,
signal,
url
}) => Effect.tryPromise({
export const make = dispatcher => Client.makeDefault((request, url, signal, fiber) => convertBody(request.body).pipe(Effect.flatMap(body => Effect.tryPromise({
try: () => dispatcher.request({

@@ -44,0 +35,0 @@ ...fiber.getFiberRef(currentUndiciOptions),

@@ -29,4 +29,7 @@ import * as Etag from "@effect/platform-node-shared/Http/Etag";

export const make = (evaluate, options) => Effect.gen(function* (_) {
const scope = yield* _(Effect.scope);
const server = yield* _(Effect.acquireRelease(Effect.sync(evaluate), server => Effect.async(resume => {
const scope = yield* Effect.scope;
const server = yield* Effect.acquireRelease(Effect.sync(evaluate), server => Effect.async(resume => {
if (!server.listening) {
return resume(Effect.void);
}
server.close(error => {

@@ -39,13 +42,15 @@ if (error) {

});
})));
yield* _(Effect.async(resume => {
server.on("error", error => {
}));
yield* Effect.async(resume => {
function onError(error) {
resume(Effect.fail(new Error.ServeError({
error
})));
});
}
server.on("error", onError);
server.listen(options, () => {
server.off("error", onError);
resume(Effect.void);
});
}));
});
const address = server.address();

@@ -237,4 +242,5 @@ const wss = yield* _(Effect.acquireRelease(Effect.sync(() => new WS.WebSocketServer({

nodeResponse.writeHead(response.status, headers);
nodeResponse.end();
return Effect.void;
return Effect.async(resume => {
nodeResponse.end(() => resume(Effect.void));
});
}

@@ -246,4 +252,5 @@ const body = response.body;

nodeResponse.writeHead(response.status, headers);
nodeResponse.end();
return Effect.void;
return Effect.async(resume => {
nodeResponse.end(() => resume(Effect.void));
});
}

@@ -267,4 +274,5 @@ case "Raw":

}
nodeResponse.end(body.body);
return Effect.void;
return Effect.async(resume => {
nodeResponse.end(body.body, () => resume(Effect.void));
});
}

@@ -274,8 +282,9 @@ case "Uint8Array":

nodeResponse.writeHead(response.status, headers);
nodeResponse.end(body.body);
return Effect.void;
return Effect.async(resume => {
nodeResponse.end(body.body, () => resume(Effect.void));
});
}
case "FormData":
{
return Effect.async(resume => {
return Effect.suspend(() => {
const r = new Response(body.formData);

@@ -286,12 +295,16 @@ nodeResponse.writeHead(response.status, {

});
Readable.fromWeb(r.body).pipe(nodeResponse).on("error", error => {
resume(Effect.fail(new Error.ResponseError({
request,
response,
reason: "Decode",
error
})));
}).once("finish", () => {
resume(Effect.void);
});
return Effect.async((resume, signal) => {
Readable.fromWeb(r.body, {
signal
}).pipe(nodeResponse).on("error", error => {
resume(Effect.fail(new Error.ResponseError({
request,
response,
reason: "Decode",
error
})));
}).once("finish", () => {
resume(Effect.void);
});
}).pipe(Effect.interruptible);
});

@@ -312,3 +325,3 @@ }

error
})));
}))).pipe(Effect.interruptible);
}

@@ -315,0 +328,0 @@ }

/**
* @since 1.0.0
*/
import * as Socket from "@effect/platform/Socket";
import * as Layer from "effect/Layer";
import * as WS from "ws";
/**
* @category models
* @since 1.0.0
*/
export * from "@effect/platform-node-shared/NodeSocket";
/**
* @since 1.0.0
* @category layers
*/
export const layerWebSocket = (url, options) => Layer.scoped(Socket.Socket, Socket.makeWebSocket(url, options)).pipe(Layer.provide(layerWebSocketConstructor));
/**
* @since 1.0.0
* @category layers
*/
export const layerWebSocketConstructor = /*#__PURE__*/Layer.sync(Socket.WebSocketConstructor, () => {
if ("WebSocket" in globalThis) {
return url => new globalThis.WebSocket(url);
}
return url => new WS.WebSocket(url);
});
//# sourceMappingURL=NodeSocket.js.map
{
"name": "@effect/platform-node",
"version": "0.0.0-snapshot-189d4cae80e186661241002ad9d729628096520f",
"description": "Unified interfaces for common platform-specific services",
"version": "0.0.0-snapshot-27f0443ffcce4f230f5d485826d1b79976d1307e",
"description": "Platform specific implementations for the Node.js runtime",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/effect-ts/effect.git",
"url": "https://github.com/Effect-TS/effect.git",
"directory": "packages/platform-node"

@@ -14,10 +14,13 @@ },

"mime": "^3.0.0",
"undici": "^6.10.1",
"ws": "^8.16.0",
"@effect/platform-node-shared": "^0.0.0-snapshot-189d4cae80e186661241002ad9d729628096520f"
"undici": "^6.18.0",
"ws": "^8.17.0",
"@effect/platform-node-shared": "^0.0.0-snapshot-27f0443ffcce4f230f5d485826d1b79976d1307e"
},
"peerDependencies": {
"@effect/platform": "^0.0.0-snapshot-189d4cae80e186661241002ad9d729628096520f",
"effect": "^0.0.0-snapshot-189d4cae80e186661241002ad9d729628096520f"
"@effect/platform": "^0.0.0-snapshot-27f0443ffcce4f230f5d485826d1b79976d1307e",
"effect": "^0.0.0-snapshot-27f0443ffcce4f230f5d485826d1b79976d1307e"
},
"publishConfig": {
"provenance": true
},
"main": "./dist/cjs/index.js",

@@ -24,0 +27,0 @@ "module": "./dist/esm/index.js",

@@ -8,3 +8,2 @@ import type * as Body from "@effect/platform/Http/Body"

import * as IncomingMessage from "@effect/platform/Http/IncomingMessage"
import * as UrlParams from "@effect/platform/Http/UrlParams"
import * as Context from "effect/Context"

@@ -59,40 +58,24 @@ import * as Effect from "effect/Effect"

const makeAbortController = Effect.acquireRelease(
Effect.sync(() => new AbortController()),
(controller) => Effect.sync(() => controller.abort())
)
const fromAgent = (agent: NodeClient.HttpAgent): Client.Client.Default =>
Client.makeDefault((request) =>
Effect.flatMap(
UrlParams.makeUrl(request.url, request.urlParams, (_) =>
new Error.RequestError({
request,
reason: "InvalidUrl",
error: _
})),
(url) =>
Effect.flatMap(makeAbortController, (controller) => {
const nodeRequest = url.protocol === "https:" ?
Https.request(url, {
agent: agent.https,
method: request.method,
headers: request.headers,
signal: controller.signal
}) :
Http.request(url, {
agent: agent.http,
method: request.method,
headers: request.headers,
signal: controller.signal
})
return pipe(
Effect.zipRight(sendBody(nodeRequest, request, request.body), waitForResponse(nodeRequest, request), {
concurrent: true
}),
Effect.map((_) => new ClientResponseImpl(request, _))
)
})
Client.makeDefault((request, url, signal) => {
const nodeRequest = url.protocol === "https:" ?
Https.request(url, {
agent: agent.https,
method: request.method,
headers: request.headers,
signal
}) :
Http.request(url, {
agent: agent.http,
method: request.method,
headers: request.headers,
signal
})
return pipe(
Effect.zipRight(sendBody(nodeRequest, request, request.body), waitForResponse(nodeRequest, request), {
concurrent: true
}),
Effect.map((_) => new ClientResponseImpl(request, _))
)
)
})

@@ -99,0 +82,0 @@ const sendBody = (

@@ -41,10 +41,2 @@ import type * as Body from "@effect/platform/Http/Body"

const makeAbortSignal = Effect.map(
Effect.acquireRelease(
Effect.sync(() => new AbortController()),
(controller) => Effect.sync(() => controller.abort())
),
(_) => _.signal
)
/** @internal */

@@ -69,14 +61,5 @@ export const currentUndiciOptions = globalValue(

export const make = (dispatcher: Undici.Dispatcher): Client.Client.Default =>
Client.makeDefault((request, fiber) =>
Effect.Do.pipe(
Effect.bind("url", () =>
UrlParams.makeUrl(request.url, request.urlParams, (_) =>
new Error.RequestError({
request,
reason: "InvalidUrl",
error: _
}))),
Effect.bind("body", () => convertBody(request.body)),
Effect.bind("signal", () => makeAbortSignal),
Effect.flatMap(({ body, signal, url }) =>
Client.makeDefault((request, url, signal, fiber) =>
convertBody(request.body).pipe(
Effect.flatMap((body) =>
Effect.tryPromise({

@@ -83,0 +66,0 @@ try: () =>

@@ -24,3 +24,3 @@ import * as Etag from "@effect/platform-node-shared/Http/Etag"

import * as Option from "effect/Option"
import type { ReadonlyRecord } from "effect/ReadonlyRecord"
import type { ReadonlyRecord } from "effect/Record"
import * as Scope from "effect/Scope"

@@ -45,8 +45,10 @@ import * as Stream from "effect/Stream"

Effect.gen(function*(_) {
const scope = yield* _(Effect.scope)
const server = yield* _(Effect.acquireRelease(
const scope = yield* Effect.scope
const server = yield* Effect.acquireRelease(
Effect.sync(evaluate),
(server) =>
Effect.async<void>((resume) => {
if (!server.listening) {
return resume(Effect.void)
}
server.close((error) => {

@@ -60,12 +62,14 @@ if (error) {

})
))
)
yield* _(Effect.async<void, Error.ServeError>((resume) => {
server.on("error", (error) => {
yield* Effect.async<void, Error.ServeError>((resume) => {
function onError(error: Error) {
resume(Effect.fail(new Error.ServeError({ error })))
})
}
server.on("error", onError)
server.listen(options, () => {
server.off("error", onError)
resume(Effect.void)
})
}))
})

@@ -401,4 +405,5 @@ const address = server.address()!

nodeResponse.writeHead(response.status, headers)
nodeResponse.end()
return Effect.void
return Effect.async<void>((resume) => {
nodeResponse.end(() => resume(Effect.void))
})
}

@@ -409,4 +414,5 @@ const body = response.body

nodeResponse.writeHead(response.status, headers)
nodeResponse.end()
return Effect.void
return Effect.async<void>((resume) => {
nodeResponse.end(() => resume(Effect.void))
})
}

@@ -430,12 +436,14 @@ case "Raw": {

}
nodeResponse.end(body.body)
return Effect.void
return Effect.async<void>((resume) => {
nodeResponse.end(body.body, () => resume(Effect.void))
})
}
case "Uint8Array": {
nodeResponse.writeHead(response.status, headers)
nodeResponse.end(body.body)
return Effect.void
return Effect.async<void>((resume) => {
nodeResponse.end(body.body, () => resume(Effect.void))
})
}
case "FormData": {
return Effect.async<void, Error.ResponseError>((resume) => {
return Effect.suspend(() => {
const r = new Response(body.formData)

@@ -446,17 +454,19 @@ nodeResponse.writeHead(response.status, {

})
Readable.fromWeb(r.body as any)
.pipe(nodeResponse)
.on("error", (error) => {
resume(Effect.fail(
new Error.ResponseError({
request,
response,
reason: "Decode",
error
})
))
})
.once("finish", () => {
resume(Effect.void)
})
return Effect.async<void, Error.ResponseError>((resume, signal) => {
Readable.fromWeb(r.body as any, { signal })
.pipe(nodeResponse)
.on("error", (error) => {
resume(Effect.fail(
new Error.ResponseError({
request,
response,
reason: "Decode",
error
})
))
})
.once("finish", () => {
resume(Effect.void)
})
}).pipe(Effect.interruptible)
})

@@ -484,3 +494,3 @@ }

}))
)
).pipe(Effect.interruptible)
}

@@ -487,0 +497,0 @@ }

/**
* @since 1.0.0
*/
import * as Socket from "@effect/platform/Socket"
import * as Layer from "effect/Layer"
import * as WS from "ws"
/**
* @category models
* @since 1.0.0
*/
export * from "@effect/platform-node-shared/NodeSocket"
/**
* @since 1.0.0
* @category layers
*/
export const layerWebSocket = (url: string, options?: {
readonly closeCodeIsError?: (code: number) => boolean
}): Layer.Layer<Socket.Socket> =>
Layer.scoped(Socket.Socket, Socket.makeWebSocket(url, options)).pipe(
Layer.provide(layerWebSocketConstructor)
)
/**
* @since 1.0.0
* @category layers
*/
export const layerWebSocketConstructor: Layer.Layer<Socket.WebSocketConstructor> = Layer.sync(
Socket.WebSocketConstructor,
() => {
if ("WebSocket" in globalThis) {
return (url) => new globalThis.WebSocket(url)
}
return (url) => new WS.WebSocket(url) as unknown as globalThis.WebSocket
}
)

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc