@effect/platform-node-shared 0.57.0 → 4.0.0-beta.0
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/README.md +3 -3
- package/dist/NodeChildProcessSpawner.d.ts +37 -0
- package/dist/NodeChildProcessSpawner.d.ts.map +1 -0
- package/dist/NodeChildProcessSpawner.js +567 -0
- package/dist/NodeChildProcessSpawner.js.map +1 -0
- package/dist/{dts/NodeClusterSocket.d.ts → NodeClusterSocket.d.ts} +4 -7
- package/dist/NodeClusterSocket.d.ts.map +1 -0
- package/dist/{esm/NodeClusterSocket.js → NodeClusterSocket.js} +9 -10
- package/dist/NodeClusterSocket.js.map +1 -0
- package/dist/NodeFileSystem.d.ts +8 -0
- package/dist/NodeFileSystem.d.ts.map +1 -0
- package/dist/{esm/internal/fileSystem.js → NodeFileSystem.js} +125 -96
- package/dist/NodeFileSystem.js.map +1 -0
- package/dist/NodePath.d.ts +18 -0
- package/dist/NodePath.d.ts.map +1 -0
- package/dist/NodePath.js +56 -0
- package/dist/NodePath.js.map +1 -0
- package/dist/NodeRuntime.d.ts +28 -0
- package/dist/NodeRuntime.d.ts.map +1 -0
- package/dist/{esm/internal/runtime.js → NodeRuntime.js} +8 -8
- package/dist/NodeRuntime.js.map +1 -0
- package/dist/NodeSink.d.ts +40 -0
- package/dist/NodeSink.d.ts.map +1 -0
- package/dist/NodeSink.js +50 -0
- package/dist/NodeSink.js.map +1 -0
- package/dist/{dts/NodeSocket.d.ts → NodeSocket.d.ts} +10 -10
- package/dist/NodeSocket.d.ts.map +1 -0
- package/dist/{esm/NodeSocket.js → NodeSocket.js} +51 -39
- package/dist/NodeSocket.js.map +1 -0
- package/dist/{dts/NodeSocketServer.d.ts → NodeSocketServer.d.ts} +8 -10
- package/dist/NodeSocketServer.d.ts.map +1 -0
- package/dist/NodeSocketServer.js +192 -0
- package/dist/NodeSocketServer.js.map +1 -0
- package/dist/NodeStdio.d.ts +11 -0
- package/dist/NodeStdio.d.ts.map +1 -0
- package/dist/NodeStdio.js +43 -0
- package/dist/NodeStdio.js.map +1 -0
- package/dist/NodeStream.d.ts +127 -0
- package/dist/NodeStream.d.ts.map +1 -0
- package/dist/NodeStream.js +249 -0
- package/dist/NodeStream.js.map +1 -0
- package/dist/NodeTerminal.d.ts +15 -0
- package/dist/NodeTerminal.d.ts.map +1 -0
- package/dist/{esm/internal/terminal.js → NodeTerminal.js} +28 -21
- package/dist/NodeTerminal.js.map +1 -0
- package/dist/internal/utils.d.ts +2 -0
- package/dist/internal/utils.d.ts.map +1 -0
- package/dist/{esm/internal/error.js → internal/utils.js} +4 -5
- package/dist/internal/utils.js.map +1 -0
- package/package.json +53 -124
- package/src/NodeChildProcessSpawner.ts +713 -0
- package/src/NodeClusterSocket.ts +12 -13
- package/src/NodeFileSystem.ts +632 -5
- package/src/NodePath.ts +48 -9
- package/src/NodeRuntime.ts +53 -4
- package/src/NodeSink.ts +65 -62
- package/src/NodeSocket.ts +65 -49
- package/src/NodeSocketServer.ts +108 -88
- package/src/NodeStdio.ts +49 -0
- package/src/NodeStream.ts +324 -83
- package/src/NodeTerminal.ts +100 -9
- package/src/internal/{error.ts → utils.ts} +6 -7
- package/NodeClusterSocket/package.json +0 -6
- package/NodeCommandExecutor/package.json +0 -6
- package/NodeFileSystem/ParcelWatcher/package.json +0 -6
- package/NodeFileSystem/package.json +0 -6
- package/NodeKeyValueStore/package.json +0 -6
- package/NodeMultipart/package.json +0 -6
- package/NodePath/package.json +0 -6
- package/NodeRuntime/package.json +0 -6
- package/NodeSink/package.json +0 -6
- package/NodeSocket/package.json +0 -6
- package/NodeSocketServer/package.json +0 -6
- package/NodeStream/package.json +0 -6
- package/NodeTerminal/package.json +0 -6
- package/dist/cjs/NodeClusterSocket.js +0 -50
- package/dist/cjs/NodeClusterSocket.js.map +0 -1
- package/dist/cjs/NodeCommandExecutor.js +0 -14
- package/dist/cjs/NodeCommandExecutor.js.map +0 -1
- package/dist/cjs/NodeFileSystem/ParcelWatcher.js +0 -20
- package/dist/cjs/NodeFileSystem/ParcelWatcher.js.map +0 -1
- package/dist/cjs/NodeFileSystem.js +0 -18
- package/dist/cjs/NodeFileSystem.js.map +0 -1
- package/dist/cjs/NodeKeyValueStore.js +0 -18
- package/dist/cjs/NodeKeyValueStore.js.map +0 -1
- package/dist/cjs/NodeMultipart.js +0 -24
- package/dist/cjs/NodeMultipart.js.map +0 -1
- package/dist/cjs/NodePath.js +0 -28
- package/dist/cjs/NodePath.js.map +0 -1
- package/dist/cjs/NodeRuntime.js +0 -14
- package/dist/cjs/NodeRuntime.js.map +0 -1
- package/dist/cjs/NodeSink.js +0 -50
- package/dist/cjs/NodeSink.js.map +0 -1
- package/dist/cjs/NodeSocket.js +0 -153
- package/dist/cjs/NodeSocket.js.map +0 -1
- package/dist/cjs/NodeSocketServer.js +0 -178
- package/dist/cjs/NodeSocketServer.js.map +0 -1
- package/dist/cjs/NodeStream.js +0 -76
- package/dist/cjs/NodeStream.js.map +0 -1
- package/dist/cjs/NodeTerminal.js +0 -19
- package/dist/cjs/NodeTerminal.js.map +0 -1
- package/dist/cjs/internal/commandExecutor.js +0 -153
- package/dist/cjs/internal/commandExecutor.js.map +0 -1
- package/dist/cjs/internal/error.js +0 -45
- package/dist/cjs/internal/error.js.map +0 -1
- package/dist/cjs/internal/fileSystem/parcelWatcher.js +0 -68
- package/dist/cjs/internal/fileSystem/parcelWatcher.js.map +0 -1
- package/dist/cjs/internal/fileSystem.js +0 -400
- package/dist/cjs/internal/fileSystem.js.map +0 -1
- package/dist/cjs/internal/multipart.js +0 -147
- package/dist/cjs/internal/multipart.js.map +0 -1
- package/dist/cjs/internal/path.js +0 -53
- package/dist/cjs/internal/path.js.map +0 -1
- package/dist/cjs/internal/runtime.js +0 -37
- package/dist/cjs/internal/runtime.js.map +0 -1
- package/dist/cjs/internal/sink.js +0 -28
- package/dist/cjs/internal/sink.js.map +0 -1
- package/dist/cjs/internal/stream.js +0 -233
- package/dist/cjs/internal/stream.js.map +0 -1
- package/dist/cjs/internal/terminal.js +0 -86
- package/dist/cjs/internal/terminal.js.map +0 -1
- package/dist/dts/NodeClusterSocket.d.ts.map +0 -1
- package/dist/dts/NodeCommandExecutor.d.ts +0 -12
- package/dist/dts/NodeCommandExecutor.d.ts.map +0 -1
- package/dist/dts/NodeFileSystem/ParcelWatcher.d.ts +0 -13
- package/dist/dts/NodeFileSystem/ParcelWatcher.d.ts.map +0 -1
- package/dist/dts/NodeFileSystem.d.ts +0 -11
- package/dist/dts/NodeFileSystem.d.ts.map +0 -1
- package/dist/dts/NodeKeyValueStore.d.ts +0 -12
- package/dist/dts/NodeKeyValueStore.d.ts.map +0 -1
- package/dist/dts/NodeMultipart.d.ts +0 -27
- package/dist/dts/NodeMultipart.d.ts.map +0 -1
- package/dist/dts/NodePath.d.ts +0 -21
- package/dist/dts/NodePath.d.ts.map +0 -1
- package/dist/dts/NodeRuntime.d.ts +0 -10
- package/dist/dts/NodeRuntime.d.ts.map +0 -1
- package/dist/dts/NodeSink.d.ts +0 -36
- package/dist/dts/NodeSink.d.ts.map +0 -1
- package/dist/dts/NodeSocket.d.ts.map +0 -1
- package/dist/dts/NodeSocketServer.d.ts.map +0 -1
- package/dist/dts/NodeStream.d.ts +0 -119
- package/dist/dts/NodeStream.d.ts.map +0 -1
- package/dist/dts/NodeTerminal.d.ts +0 -18
- package/dist/dts/NodeTerminal.d.ts.map +0 -1
- package/dist/dts/internal/commandExecutor.d.ts +0 -2
- package/dist/dts/internal/commandExecutor.d.ts.map +0 -1
- package/dist/dts/internal/error.d.ts +0 -2
- package/dist/dts/internal/error.d.ts.map +0 -1
- package/dist/dts/internal/fileSystem/parcelWatcher.d.ts +0 -4
- package/dist/dts/internal/fileSystem/parcelWatcher.d.ts.map +0 -1
- package/dist/dts/internal/fileSystem.d.ts +0 -2
- package/dist/dts/internal/fileSystem.d.ts.map +0 -1
- package/dist/dts/internal/multipart.d.ts +0 -2
- package/dist/dts/internal/multipart.d.ts.map +0 -1
- package/dist/dts/internal/path.d.ts +0 -2
- package/dist/dts/internal/path.d.ts.map +0 -1
- package/dist/dts/internal/runtime.d.ts +0 -2
- package/dist/dts/internal/runtime.d.ts.map +0 -1
- package/dist/dts/internal/sink.d.ts +0 -2
- package/dist/dts/internal/sink.d.ts.map +0 -1
- package/dist/dts/internal/stream.d.ts +0 -2
- package/dist/dts/internal/stream.d.ts.map +0 -1
- package/dist/dts/internal/terminal.d.ts +0 -2
- package/dist/dts/internal/terminal.d.ts.map +0 -1
- package/dist/esm/NodeClusterSocket.js.map +0 -1
- package/dist/esm/NodeCommandExecutor.js +0 -7
- package/dist/esm/NodeCommandExecutor.js.map +0 -1
- package/dist/esm/NodeFileSystem/ParcelWatcher.js +0 -12
- package/dist/esm/NodeFileSystem/ParcelWatcher.js.map +0 -1
- package/dist/esm/NodeFileSystem.js +0 -10
- package/dist/esm/NodeFileSystem.js.map +0 -1
- package/dist/esm/NodeKeyValueStore.js +0 -10
- package/dist/esm/NodeKeyValueStore.js.map +0 -1
- package/dist/esm/NodeMultipart.js +0 -17
- package/dist/esm/NodeMultipart.js.map +0 -1
- package/dist/esm/NodePath.js +0 -20
- package/dist/esm/NodePath.js.map +0 -1
- package/dist/esm/NodeRuntime.js +0 -7
- package/dist/esm/NodeRuntime.js.map +0 -1
- package/dist/esm/NodeSink.js +0 -43
- package/dist/esm/NodeSink.js.map +0 -1
- package/dist/esm/NodeSocket.js.map +0 -1
- package/dist/esm/NodeSocketServer.js +0 -167
- package/dist/esm/NodeSocketServer.js.map +0 -1
- package/dist/esm/NodeStream.js +0 -69
- package/dist/esm/NodeStream.js.map +0 -1
- package/dist/esm/NodeTerminal.js +0 -12
- package/dist/esm/NodeTerminal.js.map +0 -1
- package/dist/esm/internal/commandExecutor.js +0 -146
- package/dist/esm/internal/commandExecutor.js.map +0 -1
- package/dist/esm/internal/error.js.map +0 -1
- package/dist/esm/internal/fileSystem/parcelWatcher.js +0 -61
- package/dist/esm/internal/fileSystem/parcelWatcher.js.map +0 -1
- package/dist/esm/internal/fileSystem.js.map +0 -1
- package/dist/esm/internal/multipart.js +0 -137
- package/dist/esm/internal/multipart.js.map +0 -1
- package/dist/esm/internal/path.js +0 -46
- package/dist/esm/internal/path.js.map +0 -1
- package/dist/esm/internal/runtime.js.map +0 -1
- package/dist/esm/internal/sink.js +0 -19
- package/dist/esm/internal/sink.js.map +0 -1
- package/dist/esm/internal/stream.js +0 -217
- package/dist/esm/internal/stream.js.map +0 -1
- package/dist/esm/internal/terminal.js.map +0 -1
- package/dist/esm/package.json +0 -4
- package/src/NodeCommandExecutor.ts +0 -13
- package/src/NodeFileSystem/ParcelWatcher.ts +0 -15
- package/src/NodeKeyValueStore.ts +0 -20
- package/src/NodeMultipart.ts +0 -40
- package/src/internal/commandExecutor.ts +0 -251
- package/src/internal/fileSystem/parcelWatcher.ts +0 -64
- package/src/internal/fileSystem.ts +0 -648
- package/src/internal/multipart.ts +0 -141
- package/src/internal/path.ts +0 -63
- package/src/internal/runtime.ts +0 -34
- package/src/internal/sink.ts +0 -57
- package/src/internal/stream.ts +0 -375
- package/src/internal/terminal.ts +0 -100
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @since 1.0.0
|
|
3
|
-
*/
|
|
4
|
-
import * as Runners from "@effect/cluster/Runners";
|
|
5
|
-
import * as ShardingConfig from "@effect/cluster/ShardingConfig";
|
|
6
|
-
import type * as SocketServer from "@effect/platform/SocketServer";
|
|
7
|
-
import * as RpcSerialization from "@effect/rpc/RpcSerialization";
|
|
8
1
|
import * as Layer from "effect/Layer";
|
|
2
|
+
import * as Runners from "effect/unstable/cluster/Runners";
|
|
3
|
+
import * as ShardingConfig from "effect/unstable/cluster/ShardingConfig";
|
|
4
|
+
import * as RpcSerialization from "effect/unstable/rpc/RpcSerialization";
|
|
5
|
+
import type * as SocketServer from "effect/unstable/socket/SocketServer";
|
|
9
6
|
/**
|
|
10
7
|
* @since 1.0.0
|
|
11
8
|
* @category Layers
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeClusterSocket.d.ts","sourceRoot":"","sources":["../src/NodeClusterSocket.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,iCAAiC,CAAA;AAC1D,OAAO,KAAK,cAAc,MAAM,wCAAwC,CAAA;AAExE,OAAO,KAAK,gBAAgB,MAAM,sCAAsC,CAAA;AAExE,OAAO,KAAK,KAAK,YAAY,MAAM,qCAAqC,CAAA;AAIxE;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,KAAK,CAC3C,OAAO,CAAC,iBAAiB,EACzB,KAAK,EACL,gBAAgB,CAAC,gBAAgB,CAiBlC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,KAAK,CACzC,YAAY,CAAC,YAAY,EACzB,YAAY,CAAC,iBAAiB,EAC9B,cAAc,CAAC,cAAc,CAQV,CAAA"}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
|
-
import * as Runners from "@effect/cluster/Runners";
|
|
5
|
-
import * as ShardingConfig from "@effect/cluster/ShardingConfig";
|
|
6
|
-
import { Socket } from "@effect/platform/Socket";
|
|
7
|
-
import * as RpcClient from "@effect/rpc/RpcClient";
|
|
8
|
-
import * as RpcSerialization from "@effect/rpc/RpcSerialization";
|
|
9
4
|
import * as Effect from "effect/Effect";
|
|
10
5
|
import * as Layer from "effect/Layer";
|
|
11
|
-
import * as
|
|
6
|
+
import * as Runners from "effect/unstable/cluster/Runners";
|
|
7
|
+
import * as ShardingConfig from "effect/unstable/cluster/ShardingConfig";
|
|
8
|
+
import * as RpcClient from "effect/unstable/rpc/RpcClient";
|
|
9
|
+
import * as RpcSerialization from "effect/unstable/rpc/RpcSerialization";
|
|
10
|
+
import { Socket } from "effect/unstable/socket/Socket";
|
|
12
11
|
import * as NodeSocket from "./NodeSocket.js";
|
|
13
12
|
import * as NodeSocketServer from "./NodeSocketServer.js";
|
|
14
13
|
/**
|
|
@@ -33,10 +32,10 @@ export const layerClientProtocol = /*#__PURE__*/Layer.effect(Runners.RpcClientPr
|
|
|
33
32
|
*/
|
|
34
33
|
export const layerSocketServer = /*#__PURE__*/Effect.gen(function* () {
|
|
35
34
|
const config = yield* ShardingConfig.ShardingConfig;
|
|
36
|
-
const listenAddress =
|
|
37
|
-
if (listenAddress
|
|
35
|
+
const listenAddress = config.runnerListenAddress ?? config.runnerAddress;
|
|
36
|
+
if (listenAddress === undefined) {
|
|
38
37
|
return yield* Effect.die("layerSocketServer: ShardingConfig.runnerListenAddress is None");
|
|
39
38
|
}
|
|
40
|
-
return NodeSocketServer.layer(listenAddress
|
|
41
|
-
}).pipe(Layer.
|
|
39
|
+
return NodeSocketServer.layer(listenAddress);
|
|
40
|
+
}).pipe(Layer.unwrap);
|
|
42
41
|
//# sourceMappingURL=NodeClusterSocket.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeClusterSocket.js","names":["Effect","Layer","Runners","ShardingConfig","RpcClient","RpcSerialization","Socket","NodeSocket","NodeSocketServer","layerClientProtocol","effect","RpcClientProtocol","gen","serialization","fnUntraced","address","socket","makeNet","openTimeout","timeout","host","port","makeProtocolSocket","pipe","provideService","orDie","layerSocketServer","config","listenAddress","runnerListenAddress","runnerAddress","undefined","die","layer","unwrap"],"sources":["../src/NodeClusterSocket.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,OAAO,MAAM,iCAAiC;AAC1D,OAAO,KAAKC,cAAc,MAAM,wCAAwC;AACxE,OAAO,KAAKC,SAAS,MAAM,+BAA+B;AAC1D,OAAO,KAAKC,gBAAgB,MAAM,sCAAsC;AACxE,SAASC,MAAM,QAAQ,+BAA+B;AAEtD,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAC7C,OAAO,KAAKC,gBAAgB,MAAM,uBAAuB;AAEzD;;;;AAIA,OAAO,MAAMC,mBAAmB,gBAI5BR,KAAK,CAACS,MAAM,CAACR,OAAO,CAACS,iBAAiB,CAAC,cACzCX,MAAM,CAACY,GAAG,CAAC,aAAS;EAClB,MAAMC,aAAa,GAAG,OAAOR,gBAAgB,CAACA,gBAAgB;EAC9D,OAAOL,MAAM,CAACc,UAAU,CAAC,WAAUC,OAAO;IACxC,MAAMC,MAAM,GAAG,OAAOT,UAAU,CAACU,OAAO,CAAC;MACvCC,WAAW,EAAE,IAAI;MACjBC,OAAO,EAAE,IAAI;MACbC,IAAI,EAAEL,OAAO,CAACK,IAAI;MAClBC,IAAI,EAAEN,OAAO,CAACM;KACf,CAAC;IACF,OAAO,OAAOjB,SAAS,CAACkB,kBAAkB,EAAE,CAACC,IAAI,CAC/CvB,MAAM,CAACwB,cAAc,CAAClB,MAAM,EAAEU,MAAM,CAAC,EACrChB,MAAM,CAACwB,cAAc,CAACnB,gBAAgB,CAACA,gBAAgB,EAAEQ,aAAa,CAAC,CACxE;EACH,CAAC,EAAEb,MAAM,CAACyB,KAAK,CAAC;AAClB,CAAC,CAAC,CACH;AAED;;;;AAIA,OAAO,MAAMC,iBAAiB,gBAI1B1B,MAAM,CAACY,GAAG,CAAC,aAAS;EACtB,MAAMe,MAAM,GAAG,OAAOxB,cAAc,CAACA,cAAc;EACnD,MAAMyB,aAAa,GAAGD,MAAM,CAACE,mBAAmB,IAAIF,MAAM,CAACG,aAAa;EACxE,IAAIF,aAAa,KAAKG,SAAS,EAAE;IAC/B,OAAO,OAAO/B,MAAM,CAACgC,GAAG,CAAC,+DAA+D,CAAC;EAC3F;EACA,OAAOxB,gBAAgB,CAACyB,KAAK,CAACL,aAAa,CAAC;AAC9C,CAAC,CAAC,CAACL,IAAI,CAACtB,KAAK,CAACiC,MAAM,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeFileSystem.d.ts","sourceRoot":"","sources":["../src/NodeFileSystem.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAmnBrC;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAuD,CAAA"}
|
|
@@ -1,20 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import * as Cause from "effect/Cause";
|
|
4
5
|
import * as Effect from "effect/Effect";
|
|
6
|
+
import { effectify } from "effect/Effect";
|
|
7
|
+
import * as FileSystem from "effect/FileSystem";
|
|
5
8
|
import { pipe } from "effect/Function";
|
|
6
9
|
import * as Layer from "effect/Layer";
|
|
7
10
|
import * as Option from "effect/Option";
|
|
11
|
+
import * as Error from "effect/PlatformError";
|
|
12
|
+
import * as Queue from "effect/Queue";
|
|
8
13
|
import * as Stream from "effect/Stream";
|
|
9
14
|
import * as Crypto from "node:crypto";
|
|
10
15
|
import * as NFS from "node:fs";
|
|
11
16
|
import * as OS from "node:os";
|
|
12
17
|
import * as Path from "node:path";
|
|
13
|
-
import { handleErrnoException } from "./
|
|
14
|
-
const handleBadArgument = method =>
|
|
18
|
+
import { handleErrnoException } from "./internal/utils.js";
|
|
19
|
+
const handleBadArgument = method => err => Error.badArgument({
|
|
15
20
|
module: "FileSystem",
|
|
16
21
|
method,
|
|
17
|
-
|
|
22
|
+
description: err.message ?? String(err)
|
|
18
23
|
});
|
|
19
24
|
// == access
|
|
20
25
|
const access = /*#__PURE__*/(() => {
|
|
@@ -112,15 +117,14 @@ const makeFile = /*#__PURE__*/(() => {
|
|
|
112
117
|
const nodeWrite = /*#__PURE__*/nodeWriteFactory("write");
|
|
113
118
|
const nodeWriteAll = /*#__PURE__*/nodeWriteFactory("writeAll");
|
|
114
119
|
class FileImpl {
|
|
120
|
+
[FileSystem.FileTypeId];
|
|
115
121
|
fd;
|
|
116
122
|
append;
|
|
117
|
-
[FileSystem.FileTypeId];
|
|
118
|
-
semaphore = /*#__PURE__*/Effect.unsafeMakeSemaphore(1);
|
|
119
123
|
position = 0n;
|
|
120
124
|
constructor(fd, append) {
|
|
125
|
+
this[FileSystem.FileTypeId] = FileSystem.FileTypeId;
|
|
121
126
|
this.fd = fd;
|
|
122
127
|
this.append = append;
|
|
123
|
-
this[FileSystem.FileTypeId] = FileSystem.FileTypeId;
|
|
124
128
|
}
|
|
125
129
|
get stat() {
|
|
126
130
|
return Effect.map(nodeStat(this.fd), makeFileInfo);
|
|
@@ -130,81 +134,94 @@ const makeFile = /*#__PURE__*/(() => {
|
|
|
130
134
|
}
|
|
131
135
|
seek(offset, from) {
|
|
132
136
|
const offsetSize = FileSystem.Size(offset);
|
|
133
|
-
return
|
|
137
|
+
return Effect.sync(() => {
|
|
134
138
|
if (from === "start") {
|
|
135
139
|
this.position = offsetSize;
|
|
136
140
|
} else if (from === "current") {
|
|
137
141
|
this.position = this.position + offsetSize;
|
|
138
142
|
}
|
|
139
143
|
return this.position;
|
|
140
|
-
})
|
|
144
|
+
});
|
|
141
145
|
}
|
|
142
146
|
read(buffer) {
|
|
143
|
-
return
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
147
|
+
return Effect.suspend(() => {
|
|
148
|
+
const position = this.position;
|
|
149
|
+
return Effect.map(nodeRead(this.fd, {
|
|
150
|
+
buffer,
|
|
151
|
+
position
|
|
152
|
+
}), bytesRead => {
|
|
153
|
+
const sizeRead = FileSystem.Size(bytesRead);
|
|
154
|
+
this.position = position + sizeRead;
|
|
155
|
+
return sizeRead;
|
|
156
|
+
});
|
|
157
|
+
});
|
|
151
158
|
}
|
|
152
159
|
readAlloc(size) {
|
|
153
160
|
const sizeNumber = Number(size);
|
|
154
|
-
return
|
|
155
|
-
buffer
|
|
156
|
-
position
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
161
|
+
return Effect.suspend(() => {
|
|
162
|
+
const buffer = Buffer.allocUnsafeSlow(sizeNumber);
|
|
163
|
+
const position = this.position;
|
|
164
|
+
return Effect.map(nodeReadAlloc(this.fd, {
|
|
165
|
+
buffer,
|
|
166
|
+
position
|
|
167
|
+
}), bytesRead => {
|
|
168
|
+
if (bytesRead === 0) {
|
|
169
|
+
return undefined;
|
|
170
|
+
}
|
|
171
|
+
this.position = position + BigInt(bytesRead);
|
|
172
|
+
if (bytesRead === sizeNumber) {
|
|
173
|
+
return buffer;
|
|
174
|
+
}
|
|
175
|
+
const dst = Buffer.allocUnsafeSlow(bytesRead);
|
|
176
|
+
buffer.copy(dst, 0, 0, bytesRead);
|
|
177
|
+
return dst;
|
|
178
|
+
});
|
|
179
|
+
});
|
|
169
180
|
}
|
|
170
181
|
truncate(length) {
|
|
171
|
-
return
|
|
182
|
+
return Effect.map(nodeTruncate(this.fd, length ? Number(length) : undefined), () => {
|
|
172
183
|
if (!this.append) {
|
|
173
184
|
const len = BigInt(length ?? 0);
|
|
174
185
|
if (this.position > len) {
|
|
175
186
|
this.position = len;
|
|
176
187
|
}
|
|
177
188
|
}
|
|
178
|
-
})
|
|
189
|
+
});
|
|
179
190
|
}
|
|
180
191
|
write(buffer) {
|
|
181
|
-
return
|
|
182
|
-
const
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
192
|
+
return Effect.suspend(() => {
|
|
193
|
+
const position = this.position;
|
|
194
|
+
return Effect.map(nodeWrite(this.fd, buffer, undefined, undefined, this.append ? undefined : Number(position)), bytesWritten => {
|
|
195
|
+
const sizeWritten = FileSystem.Size(bytesWritten);
|
|
196
|
+
if (!this.append) {
|
|
197
|
+
this.position = position + sizeWritten;
|
|
198
|
+
}
|
|
199
|
+
return sizeWritten;
|
|
200
|
+
});
|
|
201
|
+
});
|
|
188
202
|
}
|
|
189
203
|
writeAllChunk(buffer) {
|
|
190
|
-
return Effect.
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
+
return Effect.suspend(() => {
|
|
205
|
+
const position = this.position;
|
|
206
|
+
return Effect.flatMap(nodeWriteAll(this.fd, buffer, undefined, undefined, this.append ? undefined : Number(position)), bytesWritten => {
|
|
207
|
+
if (bytesWritten === 0) {
|
|
208
|
+
return Effect.fail(Error.systemError({
|
|
209
|
+
module: "FileSystem",
|
|
210
|
+
method: "writeAll",
|
|
211
|
+
kind: "WriteZero",
|
|
212
|
+
pathOrDescriptor: this.fd,
|
|
213
|
+
description: "write returned 0 bytes written"
|
|
214
|
+
}));
|
|
215
|
+
}
|
|
216
|
+
if (!this.append) {
|
|
217
|
+
this.position = position + BigInt(bytesWritten);
|
|
218
|
+
}
|
|
219
|
+
return bytesWritten < buffer.length ? this.writeAllChunk(buffer.subarray(bytesWritten)) : Effect.void;
|
|
220
|
+
});
|
|
204
221
|
});
|
|
205
222
|
}
|
|
206
223
|
writeAll(buffer) {
|
|
207
|
-
return this.
|
|
224
|
+
return this.writeAllChunk(buffer);
|
|
208
225
|
}
|
|
209
226
|
}
|
|
210
227
|
return (fd, append) => new FileImpl(fd, append);
|
|
@@ -212,11 +229,13 @@ const makeFile = /*#__PURE__*/(() => {
|
|
|
212
229
|
// == makeTempFile
|
|
213
230
|
const makeTempFileFactory = method => {
|
|
214
231
|
const makeDirectory = makeTempDirectoryFactory(method);
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
232
|
+
return Effect.fnUntraced(function* (options) {
|
|
233
|
+
const directory = yield* makeDirectory(options);
|
|
234
|
+
const random = Crypto.randomBytes(6).toString("hex");
|
|
235
|
+
const name = Path.join(directory, options?.suffix ? `${random}${options.suffix}` : random);
|
|
236
|
+
yield* writeFile(name, new Uint8Array(0));
|
|
237
|
+
return name;
|
|
238
|
+
});
|
|
220
239
|
};
|
|
221
240
|
const makeTempFile = /*#__PURE__*/makeTempFileFactory("makeTempFile");
|
|
222
241
|
// == makeTempFileScoped
|
|
@@ -233,7 +252,7 @@ const readDirectory = (path, options) => Effect.tryPromise({
|
|
|
233
252
|
catch: err => handleErrnoException("FileSystem", "readDirectory")(err, [path])
|
|
234
253
|
});
|
|
235
254
|
// == readFile
|
|
236
|
-
const readFile = path => Effect.
|
|
255
|
+
const readFile = path => Effect.callback((resume, signal) => {
|
|
237
256
|
try {
|
|
238
257
|
NFS.readFile(path, {
|
|
239
258
|
signal
|
|
@@ -266,19 +285,19 @@ const rename = /*#__PURE__*/(() => {
|
|
|
266
285
|
// == stat
|
|
267
286
|
const makeFileInfo = stat => ({
|
|
268
287
|
type: stat.isFile() ? "File" : stat.isDirectory() ? "Directory" : stat.isSymbolicLink() ? "SymbolicLink" : stat.isBlockDevice() ? "BlockDevice" : stat.isCharacterDevice() ? "CharacterDevice" : stat.isFIFO() ? "FIFO" : stat.isSocket() ? "Socket" : "Unknown",
|
|
269
|
-
mtime:
|
|
270
|
-
atime:
|
|
271
|
-
birthtime:
|
|
288
|
+
mtime: stat.mtime,
|
|
289
|
+
atime: stat.atime,
|
|
290
|
+
birthtime: stat.birthtime,
|
|
272
291
|
dev: stat.dev,
|
|
273
|
-
rdev:
|
|
274
|
-
ino:
|
|
292
|
+
rdev: stat.rdev,
|
|
293
|
+
ino: stat.ino,
|
|
275
294
|
mode: stat.mode,
|
|
276
|
-
nlink:
|
|
277
|
-
uid:
|
|
278
|
-
gid:
|
|
295
|
+
nlink: stat.nlink,
|
|
296
|
+
uid: stat.uid,
|
|
297
|
+
gid: stat.gid,
|
|
279
298
|
size: FileSystem.Size(stat.size),
|
|
280
|
-
blksize:
|
|
281
|
-
blocks:
|
|
299
|
+
blksize: FileSystem.Size(stat.blksize),
|
|
300
|
+
blocks: stat.blocks
|
|
282
301
|
});
|
|
283
302
|
const stat = /*#__PURE__*/(() => {
|
|
284
303
|
const nodeStat = /*#__PURE__*/effectify(NFS.stat, /*#__PURE__*/handleErrnoException("FileSystem", "stat"), /*#__PURE__*/handleBadArgument("stat"));
|
|
@@ -300,50 +319,57 @@ const utimes = /*#__PURE__*/(() => {
|
|
|
300
319
|
return (path, atime, mtime) => nodeUtimes(path, atime, mtime);
|
|
301
320
|
})();
|
|
302
321
|
// == watch
|
|
303
|
-
const watchNode =
|
|
304
|
-
const watcher = NFS.watch(path, {
|
|
305
|
-
recursive: options?.recursive
|
|
306
|
-
}, (event, path) => {
|
|
322
|
+
const watchNode = path => Stream.callback(queue => Effect.acquireRelease(Effect.sync(() => {
|
|
323
|
+
const watcher = NFS.watch(path, {}, (event, path) => {
|
|
307
324
|
if (!path) return;
|
|
308
325
|
switch (event) {
|
|
309
326
|
case "rename":
|
|
310
327
|
{
|
|
311
|
-
|
|
312
|
-
onSuccess: _ =>
|
|
328
|
+
Effect.runFork(Effect.matchEffect(stat(path), {
|
|
329
|
+
onSuccess: _ => Queue.offer(queue, {
|
|
330
|
+
_tag: "Create",
|
|
313
331
|
path
|
|
314
|
-
})
|
|
315
|
-
onFailure:
|
|
332
|
+
}),
|
|
333
|
+
onFailure: _ => Queue.offer(queue, {
|
|
334
|
+
_tag: "Remove",
|
|
316
335
|
path
|
|
317
|
-
})
|
|
336
|
+
})
|
|
318
337
|
}));
|
|
319
338
|
return;
|
|
320
339
|
}
|
|
321
340
|
case "change":
|
|
322
341
|
{
|
|
323
|
-
|
|
342
|
+
Queue.offerUnsafe(queue, {
|
|
343
|
+
_tag: "Update",
|
|
324
344
|
path
|
|
325
|
-
})
|
|
345
|
+
});
|
|
326
346
|
return;
|
|
327
347
|
}
|
|
328
348
|
}
|
|
329
349
|
});
|
|
330
350
|
watcher.on("error", error => {
|
|
331
|
-
|
|
351
|
+
Queue.failCauseUnsafe(queue, Cause.fail(Error.systemError({
|
|
332
352
|
module: "FileSystem",
|
|
333
|
-
|
|
353
|
+
kind: "Unknown",
|
|
334
354
|
method: "watch",
|
|
335
355
|
pathOrDescriptor: path,
|
|
336
356
|
cause: error
|
|
337
|
-
}));
|
|
357
|
+
})));
|
|
338
358
|
});
|
|
339
359
|
watcher.on("close", () => {
|
|
340
|
-
|
|
360
|
+
Queue.endUnsafe(queue);
|
|
341
361
|
});
|
|
342
362
|
return watcher;
|
|
343
363
|
}), watcher => Effect.sync(() => watcher.close())));
|
|
344
|
-
const watch = (backend, path
|
|
364
|
+
const watch = (backend, path) => stat(path).pipe(Effect.map(stat => {
|
|
365
|
+
if (backend) {
|
|
366
|
+
const stream = backend.register(path, stat);
|
|
367
|
+
if (stream) return stream;
|
|
368
|
+
}
|
|
369
|
+
return watchNode(path);
|
|
370
|
+
}), Stream.unwrap);
|
|
345
371
|
// == writeFile
|
|
346
|
-
const writeFile = (path, data, options) => Effect.
|
|
372
|
+
const writeFile = (path, data, options) => Effect.callback((resume, signal) => {
|
|
347
373
|
try {
|
|
348
374
|
NFS.writeFile(path, data, {
|
|
349
375
|
signal,
|
|
@@ -383,11 +409,14 @@ const makeFileSystem = /*#__PURE__*/Effect.map(/*#__PURE__*/Effect.serviceOption
|
|
|
383
409
|
symlink,
|
|
384
410
|
truncate,
|
|
385
411
|
utimes,
|
|
386
|
-
watch(path
|
|
387
|
-
return watch(backend, path
|
|
412
|
+
watch(path) {
|
|
413
|
+
return watch(Option.getOrUndefined(backend), path);
|
|
388
414
|
},
|
|
389
415
|
writeFile
|
|
390
416
|
}));
|
|
391
|
-
/**
|
|
392
|
-
|
|
393
|
-
|
|
417
|
+
/**
|
|
418
|
+
* @since 1.0.0
|
|
419
|
+
* @category Layers
|
|
420
|
+
*/
|
|
421
|
+
export const layer = /*#__PURE__*/Layer.effect(FileSystem.FileSystem)(makeFileSystem);
|
|
422
|
+
//# sourceMappingURL=NodeFileSystem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeFileSystem.js","names":["Cause","Effect","effectify","FileSystem","pipe","Layer","Option","Error","Queue","Stream","Crypto","NFS","OS","Path","handleErrnoException","handleBadArgument","method","err","badArgument","module","description","message","String","access","nodeAccess","path","options","mode","constants","F_OK","readable","R_OK","writable","W_OK","copy","nodeCp","cp","fromPath","toPath","force","overwrite","preserveTimestamps","recursive","copyFile","nodeCopyFile","chmod","nodeChmod","chown","nodeChown","uid","gid","link","nodeLink","existingPath","newPath","makeDirectory","nodeMkdir","mkdir","makeTempDirectoryFactory","nodeMkdtemp","mkdtemp","suspend","prefix","directory","join","tmpdir","makeTempDirectory","removeFactory","nodeRm","rm","remove","makeTempDirectoryScoped","removeDirectory","acquireRelease","orDie","openFactory","nodeOpen","open","nodeClose","close","flag","fd","map","makeFile","FileDescriptor","startsWith","nodeReadFactory","read","nodeRead","nodeReadAlloc","nodeStat","fstat","nodeTruncate","ftruncate","nodeSync","fsync","nodeWriteFactory","write","nodeWrite","nodeWriteAll","FileImpl","FileTypeId","append","position","constructor","stat","makeFileInfo","sync","seek","offset","from","offsetSize","Size","buffer","bytesRead","sizeRead","readAlloc","size","sizeNumber","Number","Buffer","allocUnsafeSlow","undefined","BigInt","dst","truncate","length","len","bytesWritten","sizeWritten","writeAllChunk","flatMap","fail","systemError","kind","pathOrDescriptor","subarray","void","writeAll","makeTempFileFactory","fnUntraced","random","randomBytes","toString","name","suffix","writeFile","Uint8Array","makeTempFile","makeTempFileScoped","file","dirname","readDirectory","tryPromise","try","promises","readdir","catch","readFile","callback","resume","signal","data","succeed","readLink","nodeReadLink","readlink","realPath","nodeRealPath","realpath","rename","nodeRename","oldPath","type","isFile","isDirectory","isSymbolicLink","isBlockDevice","isCharacterDevice","isFIFO","isSocket","mtime","atime","birthtime","dev","rdev","ino","nlink","blksize","blocks","symlink","nodeSymlink","target","utimes","nodeUtimes","watchNode","queue","watcher","watch","event","runFork","matchEffect","onSuccess","_","offer","_tag","onFailure","offerUnsafe","on","error","failCauseUnsafe","cause","endUnsafe","backend","stream","register","unwrap","makeFileSystem","serviceOption","WatchBackend","make","getOrUndefined","layer","effect"],"sources":["../src/NodeFileSystem.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as Layer from "effect/Layer";
|
|
2
|
+
import { Path } from "effect/Path";
|
|
3
|
+
/**
|
|
4
|
+
* @since 1.0.0
|
|
5
|
+
* @category Layers
|
|
6
|
+
*/
|
|
7
|
+
export declare const layerPosix: Layer.Layer<Path>;
|
|
8
|
+
/**
|
|
9
|
+
* @since 1.0.0
|
|
10
|
+
* @category Layers
|
|
11
|
+
*/
|
|
12
|
+
export declare const layerWin32: Layer.Layer<Path>;
|
|
13
|
+
/**
|
|
14
|
+
* @since 1.0.0
|
|
15
|
+
* @category Layers
|
|
16
|
+
*/
|
|
17
|
+
export declare const layer: Layer.Layer<Path>;
|
|
18
|
+
//# sourceMappingURL=NodePath.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodePath.d.ts","sourceRoot":"","sources":["../src/NodePath.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,IAAI,EAAU,MAAM,aAAa,CAAA;AA2B1C;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAKvC,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAKvC,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAKlC,CAAA"}
|
package/dist/NodePath.js
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import * as Effect from "effect/Effect";
|
|
5
|
+
import * as Layer from "effect/Layer";
|
|
6
|
+
import { Path, TypeId } from "effect/Path";
|
|
7
|
+
import { BadArgument } from "effect/PlatformError";
|
|
8
|
+
import * as NodePath from "node:path";
|
|
9
|
+
import * as NodeUrl from "node:url";
|
|
10
|
+
const fromFileUrl = url => Effect.try({
|
|
11
|
+
try: () => NodeUrl.fileURLToPath(url),
|
|
12
|
+
catch: cause => new BadArgument({
|
|
13
|
+
module: "Path",
|
|
14
|
+
method: "fromFileUrl",
|
|
15
|
+
cause
|
|
16
|
+
})
|
|
17
|
+
});
|
|
18
|
+
const toFileUrl = path => Effect.try({
|
|
19
|
+
try: () => NodeUrl.pathToFileURL(path),
|
|
20
|
+
catch: cause => new BadArgument({
|
|
21
|
+
module: "Path",
|
|
22
|
+
method: "toFileUrl",
|
|
23
|
+
cause
|
|
24
|
+
})
|
|
25
|
+
});
|
|
26
|
+
/**
|
|
27
|
+
* @since 1.0.0
|
|
28
|
+
* @category Layers
|
|
29
|
+
*/
|
|
30
|
+
export const layerPosix = /*#__PURE__*/Layer.succeed(Path)({
|
|
31
|
+
[TypeId]: TypeId,
|
|
32
|
+
...NodePath.posix,
|
|
33
|
+
fromFileUrl,
|
|
34
|
+
toFileUrl
|
|
35
|
+
});
|
|
36
|
+
/**
|
|
37
|
+
* @since 1.0.0
|
|
38
|
+
* @category Layers
|
|
39
|
+
*/
|
|
40
|
+
export const layerWin32 = /*#__PURE__*/Layer.succeed(Path)({
|
|
41
|
+
[TypeId]: TypeId,
|
|
42
|
+
...NodePath.win32,
|
|
43
|
+
fromFileUrl,
|
|
44
|
+
toFileUrl
|
|
45
|
+
});
|
|
46
|
+
/**
|
|
47
|
+
* @since 1.0.0
|
|
48
|
+
* @category Layers
|
|
49
|
+
*/
|
|
50
|
+
export const layer = /*#__PURE__*/Layer.succeed(Path)({
|
|
51
|
+
[TypeId]: TypeId,
|
|
52
|
+
...NodePath,
|
|
53
|
+
fromFileUrl,
|
|
54
|
+
toFileUrl
|
|
55
|
+
});
|
|
56
|
+
//# sourceMappingURL=NodePath.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodePath.js","names":["Effect","Layer","Path","TypeId","BadArgument","NodePath","NodeUrl","fromFileUrl","url","try","fileURLToPath","catch","cause","module","method","toFileUrl","path","pathToFileURL","layerPosix","succeed","posix","layerWin32","win32","layer"],"sources":["../src/NodePath.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,SAASC,IAAI,EAAEC,MAAM,QAAQ,aAAa;AAC1C,SAASC,WAAW,QAAQ,sBAAsB;AAClD,OAAO,KAAKC,QAAQ,MAAM,WAAW;AACrC,OAAO,KAAKC,OAAO,MAAM,UAAU;AAEnC,MAAMC,WAAW,GAAIC,GAAQ,IAC3BR,MAAM,CAACS,GAAG,CAAC;EACTA,GAAG,EAAEA,CAAA,KAAMH,OAAO,CAACI,aAAa,CAACF,GAAG,CAAC;EACrCG,KAAK,EAAGC,KAAK,IACX,IAAIR,WAAW,CAAC;IACdS,MAAM,EAAE,MAAM;IACdC,MAAM,EAAE,aAAa;IACrBF;GACD;CACJ,CAAC;AAEJ,MAAMG,SAAS,GAAIC,IAAY,IAC7BhB,MAAM,CAACS,GAAG,CAAC;EACTA,GAAG,EAAEA,CAAA,KAAMH,OAAO,CAACW,aAAa,CAACD,IAAI,CAAC;EACtCL,KAAK,EAAGC,KAAK,IACX,IAAIR,WAAW,CAAC;IACdS,MAAM,EAAE,MAAM;IACdC,MAAM,EAAE,WAAW;IACnBF;GACD;CACJ,CAAC;AAEJ;;;;AAIA,OAAO,MAAMM,UAAU,gBAAsBjB,KAAK,CAACkB,OAAO,CAACjB,IAAI,CAAC,CAAC;EAC/D,CAACC,MAAM,GAAGA,MAAM;EAChB,GAAGE,QAAQ,CAACe,KAAK;EACjBb,WAAW;EACXQ;CACD,CAAC;AAEF;;;;AAIA,OAAO,MAAMM,UAAU,gBAAsBpB,KAAK,CAACkB,OAAO,CAACjB,IAAI,CAAC,CAAC;EAC/D,CAACC,MAAM,GAAGA,MAAM;EAChB,GAAGE,QAAQ,CAACiB,KAAK;EACjBf,WAAW;EACXQ;CACD,CAAC;AAEF;;;;AAIA,OAAO,MAAMQ,KAAK,gBAAsBtB,KAAK,CAACkB,OAAO,CAACjB,IAAI,CAAC,CAAC;EAC1D,CAACC,MAAM,GAAGA,MAAM;EAChB,GAAGE,QAAQ;EACXE,WAAW;EACXQ;CACD,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import type { Effect } from "effect/Effect";
|
|
5
|
+
import * as Runtime from "effect/Runtime";
|
|
6
|
+
/**
|
|
7
|
+
* @since 1.0.0
|
|
8
|
+
* @category Run main
|
|
9
|
+
*/
|
|
10
|
+
export declare const runMain: {
|
|
11
|
+
/**
|
|
12
|
+
* @since 1.0.0
|
|
13
|
+
* @category Run main
|
|
14
|
+
*/
|
|
15
|
+
(options?: {
|
|
16
|
+
readonly disableErrorReporting?: boolean | undefined;
|
|
17
|
+
readonly teardown?: Runtime.Teardown | undefined;
|
|
18
|
+
}): <E, A>(effect: Effect<A, E>) => void;
|
|
19
|
+
/**
|
|
20
|
+
* @since 1.0.0
|
|
21
|
+
* @category Run main
|
|
22
|
+
*/
|
|
23
|
+
<E, A>(effect: Effect<A, E>, options?: {
|
|
24
|
+
readonly disableErrorReporting?: boolean | undefined;
|
|
25
|
+
readonly teardown?: Runtime.Teardown | undefined;
|
|
26
|
+
}): void;
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=NodeRuntime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeRuntime.d.ts","sourceRoot":"","sources":["../src/NodeRuntime.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAEzC;;;GAGG;AACH,eAAO,MAAM,OAAO,EAAE;IACpB;;;OAGG;IACH,CACE,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACpD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAA;KACjD,GACA,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAA;IACvC;;;OAGG;IACH,CAAC,CAAC,EAAE,CAAC,EACH,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACpD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAA;KACjD,GACA,IAAI,CAAA;CA4BP,CAAA"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import * as Runtime from "effect/Runtime";
|
|
2
|
+
/**
|
|
3
|
+
* @since 1.0.0
|
|
4
|
+
* @category Run main
|
|
5
|
+
*/
|
|
6
|
+
export const runMain = /*#__PURE__*/Runtime.makeRunMain(({
|
|
5
7
|
fiber,
|
|
6
8
|
teardown
|
|
7
9
|
}) => {
|
|
8
|
-
const keepAlive = setInterval(constVoid, 2 ** 31 - 1);
|
|
9
10
|
let receivedSignal = false;
|
|
10
11
|
fiber.addObserver(exit => {
|
|
11
12
|
if (!receivedSignal) {
|
|
12
13
|
process.removeListener("SIGINT", onSigint);
|
|
13
14
|
process.removeListener("SIGTERM", onSigint);
|
|
14
15
|
}
|
|
15
|
-
clearInterval(keepAlive);
|
|
16
16
|
teardown(exit, code => {
|
|
17
17
|
if (receivedSignal || code !== 0) {
|
|
18
18
|
process.exit(code);
|
|
@@ -23,9 +23,9 @@ export const runMain = /*#__PURE__*/makeRunMain(({
|
|
|
23
23
|
receivedSignal = true;
|
|
24
24
|
process.removeListener("SIGINT", onSigint);
|
|
25
25
|
process.removeListener("SIGTERM", onSigint);
|
|
26
|
-
fiber.
|
|
26
|
+
fiber.interruptUnsafe(fiber.id);
|
|
27
27
|
}
|
|
28
28
|
process.on("SIGINT", onSigint);
|
|
29
29
|
process.on("SIGTERM", onSigint);
|
|
30
30
|
});
|
|
31
|
-
//# sourceMappingURL=
|
|
31
|
+
//# sourceMappingURL=NodeRuntime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeRuntime.js","names":["Runtime","runMain","makeRunMain","fiber","teardown","receivedSignal","addObserver","exit","process","removeListener","onSigint","code","interruptUnsafe","id","on"],"sources":["../src/NodeRuntime.ts"],"sourcesContent":[null],"mappings":"AAIA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AAEzC;;;;AAIA,OAAO,MAAMC,OAAO,gBAsBhBD,OAAO,CAACE,WAAW,CAAC,CAAC;EACvBC,KAAK;EACLC;AAAQ,CACT,KAAI;EACH,IAAIC,cAAc,GAAG,KAAK;EAE1BF,KAAK,CAACG,WAAW,CAAEC,IAAI,IAAI;IACzB,IAAI,CAACF,cAAc,EAAE;MACnBG,OAAO,CAACC,cAAc,CAAC,QAAQ,EAAEC,QAAQ,CAAC;MAC1CF,OAAO,CAACC,cAAc,CAAC,SAAS,EAAEC,QAAQ,CAAC;IAC7C;IACAN,QAAQ,CAACG,IAAI,EAAGI,IAAI,IAAI;MACtB,IAAIN,cAAc,IAAIM,IAAI,KAAK,CAAC,EAAE;QAChCH,OAAO,CAACD,IAAI,CAACI,IAAI,CAAC;MACpB;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,SAASD,QAAQA,CAAA;IACfL,cAAc,GAAG,IAAI;IACrBG,OAAO,CAACC,cAAc,CAAC,QAAQ,EAAEC,QAAQ,CAAC;IAC1CF,OAAO,CAACC,cAAc,CAAC,SAAS,EAAEC,QAAQ,CAAC;IAC3CP,KAAK,CAACS,eAAe,CAACT,KAAK,CAACU,EAAE,CAAC;EACjC;EAEAL,OAAO,CAACM,EAAE,CAAC,QAAQ,EAAEJ,QAAQ,CAAC;EAC9BF,OAAO,CAACM,EAAE,CAAC,SAAS,EAAEJ,QAAQ,CAAC;AACjC,CAAC,CAAC","ignoreList":[]}
|