@effect/platform-node-shared 0.57.1 → 4.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (218) hide show
  1. package/README.md +3 -3
  2. package/dist/NodeChildProcessSpawner.d.ts +37 -0
  3. package/dist/NodeChildProcessSpawner.d.ts.map +1 -0
  4. package/dist/NodeChildProcessSpawner.js +567 -0
  5. package/dist/NodeChildProcessSpawner.js.map +1 -0
  6. package/dist/{dts/NodeClusterSocket.d.ts → NodeClusterSocket.d.ts} +4 -7
  7. package/dist/NodeClusterSocket.d.ts.map +1 -0
  8. package/dist/{esm/NodeClusterSocket.js → NodeClusterSocket.js} +9 -10
  9. package/dist/NodeClusterSocket.js.map +1 -0
  10. package/dist/NodeFileSystem.d.ts +8 -0
  11. package/dist/NodeFileSystem.d.ts.map +1 -0
  12. package/dist/{esm/internal/fileSystem.js → NodeFileSystem.js} +125 -96
  13. package/dist/NodeFileSystem.js.map +1 -0
  14. package/dist/NodePath.d.ts +18 -0
  15. package/dist/NodePath.d.ts.map +1 -0
  16. package/dist/NodePath.js +56 -0
  17. package/dist/NodePath.js.map +1 -0
  18. package/dist/NodeRuntime.d.ts +28 -0
  19. package/dist/NodeRuntime.d.ts.map +1 -0
  20. package/dist/{esm/internal/runtime.js → NodeRuntime.js} +8 -8
  21. package/dist/NodeRuntime.js.map +1 -0
  22. package/dist/NodeSink.d.ts +40 -0
  23. package/dist/NodeSink.d.ts.map +1 -0
  24. package/dist/NodeSink.js +50 -0
  25. package/dist/NodeSink.js.map +1 -0
  26. package/dist/{dts/NodeSocket.d.ts → NodeSocket.d.ts} +10 -10
  27. package/dist/NodeSocket.d.ts.map +1 -0
  28. package/dist/{esm/NodeSocket.js → NodeSocket.js} +51 -39
  29. package/dist/NodeSocket.js.map +1 -0
  30. package/dist/{dts/NodeSocketServer.d.ts → NodeSocketServer.d.ts} +8 -10
  31. package/dist/NodeSocketServer.d.ts.map +1 -0
  32. package/dist/NodeSocketServer.js +192 -0
  33. package/dist/NodeSocketServer.js.map +1 -0
  34. package/dist/NodeStdio.d.ts +11 -0
  35. package/dist/NodeStdio.d.ts.map +1 -0
  36. package/dist/NodeStdio.js +43 -0
  37. package/dist/NodeStdio.js.map +1 -0
  38. package/dist/NodeStream.d.ts +127 -0
  39. package/dist/NodeStream.d.ts.map +1 -0
  40. package/dist/NodeStream.js +249 -0
  41. package/dist/NodeStream.js.map +1 -0
  42. package/dist/NodeTerminal.d.ts +15 -0
  43. package/dist/NodeTerminal.d.ts.map +1 -0
  44. package/dist/{esm/internal/terminal.js → NodeTerminal.js} +28 -25
  45. package/dist/NodeTerminal.js.map +1 -0
  46. package/dist/internal/utils.d.ts +2 -0
  47. package/dist/internal/utils.d.ts.map +1 -0
  48. package/dist/{esm/internal/error.js → internal/utils.js} +4 -5
  49. package/dist/internal/utils.js.map +1 -0
  50. package/package.json +53 -124
  51. package/src/NodeChildProcessSpawner.ts +713 -0
  52. package/src/NodeClusterSocket.ts +12 -13
  53. package/src/NodeFileSystem.ts +632 -5
  54. package/src/NodePath.ts +48 -9
  55. package/src/NodeRuntime.ts +53 -4
  56. package/src/NodeSink.ts +65 -62
  57. package/src/NodeSocket.ts +65 -49
  58. package/src/NodeSocketServer.ts +108 -88
  59. package/src/NodeStdio.ts +49 -0
  60. package/src/NodeStream.ts +324 -83
  61. package/src/NodeTerminal.ts +100 -9
  62. package/src/internal/{error.ts → utils.ts} +6 -7
  63. package/NodeClusterSocket/package.json +0 -6
  64. package/NodeCommandExecutor/package.json +0 -6
  65. package/NodeFileSystem/ParcelWatcher/package.json +0 -6
  66. package/NodeFileSystem/package.json +0 -6
  67. package/NodeKeyValueStore/package.json +0 -6
  68. package/NodeMultipart/package.json +0 -6
  69. package/NodePath/package.json +0 -6
  70. package/NodeRuntime/package.json +0 -6
  71. package/NodeSink/package.json +0 -6
  72. package/NodeSocket/package.json +0 -6
  73. package/NodeSocketServer/package.json +0 -6
  74. package/NodeStream/package.json +0 -6
  75. package/NodeTerminal/package.json +0 -6
  76. package/dist/cjs/NodeClusterSocket.js +0 -50
  77. package/dist/cjs/NodeClusterSocket.js.map +0 -1
  78. package/dist/cjs/NodeCommandExecutor.js +0 -14
  79. package/dist/cjs/NodeCommandExecutor.js.map +0 -1
  80. package/dist/cjs/NodeFileSystem/ParcelWatcher.js +0 -20
  81. package/dist/cjs/NodeFileSystem/ParcelWatcher.js.map +0 -1
  82. package/dist/cjs/NodeFileSystem.js +0 -18
  83. package/dist/cjs/NodeFileSystem.js.map +0 -1
  84. package/dist/cjs/NodeKeyValueStore.js +0 -18
  85. package/dist/cjs/NodeKeyValueStore.js.map +0 -1
  86. package/dist/cjs/NodeMultipart.js +0 -24
  87. package/dist/cjs/NodeMultipart.js.map +0 -1
  88. package/dist/cjs/NodePath.js +0 -28
  89. package/dist/cjs/NodePath.js.map +0 -1
  90. package/dist/cjs/NodeRuntime.js +0 -14
  91. package/dist/cjs/NodeRuntime.js.map +0 -1
  92. package/dist/cjs/NodeSink.js +0 -50
  93. package/dist/cjs/NodeSink.js.map +0 -1
  94. package/dist/cjs/NodeSocket.js +0 -153
  95. package/dist/cjs/NodeSocket.js.map +0 -1
  96. package/dist/cjs/NodeSocketServer.js +0 -178
  97. package/dist/cjs/NodeSocketServer.js.map +0 -1
  98. package/dist/cjs/NodeStream.js +0 -76
  99. package/dist/cjs/NodeStream.js.map +0 -1
  100. package/dist/cjs/NodeTerminal.js +0 -19
  101. package/dist/cjs/NodeTerminal.js.map +0 -1
  102. package/dist/cjs/internal/commandExecutor.js +0 -153
  103. package/dist/cjs/internal/commandExecutor.js.map +0 -1
  104. package/dist/cjs/internal/error.js +0 -45
  105. package/dist/cjs/internal/error.js.map +0 -1
  106. package/dist/cjs/internal/fileSystem/parcelWatcher.js +0 -68
  107. package/dist/cjs/internal/fileSystem/parcelWatcher.js.map +0 -1
  108. package/dist/cjs/internal/fileSystem.js +0 -400
  109. package/dist/cjs/internal/fileSystem.js.map +0 -1
  110. package/dist/cjs/internal/multipart.js +0 -147
  111. package/dist/cjs/internal/multipart.js.map +0 -1
  112. package/dist/cjs/internal/path.js +0 -53
  113. package/dist/cjs/internal/path.js.map +0 -1
  114. package/dist/cjs/internal/runtime.js +0 -37
  115. package/dist/cjs/internal/runtime.js.map +0 -1
  116. package/dist/cjs/internal/sink.js +0 -28
  117. package/dist/cjs/internal/sink.js.map +0 -1
  118. package/dist/cjs/internal/stream.js +0 -233
  119. package/dist/cjs/internal/stream.js.map +0 -1
  120. package/dist/cjs/internal/terminal.js +0 -90
  121. package/dist/cjs/internal/terminal.js.map +0 -1
  122. package/dist/dts/NodeClusterSocket.d.ts.map +0 -1
  123. package/dist/dts/NodeCommandExecutor.d.ts +0 -12
  124. package/dist/dts/NodeCommandExecutor.d.ts.map +0 -1
  125. package/dist/dts/NodeFileSystem/ParcelWatcher.d.ts +0 -13
  126. package/dist/dts/NodeFileSystem/ParcelWatcher.d.ts.map +0 -1
  127. package/dist/dts/NodeFileSystem.d.ts +0 -11
  128. package/dist/dts/NodeFileSystem.d.ts.map +0 -1
  129. package/dist/dts/NodeKeyValueStore.d.ts +0 -12
  130. package/dist/dts/NodeKeyValueStore.d.ts.map +0 -1
  131. package/dist/dts/NodeMultipart.d.ts +0 -27
  132. package/dist/dts/NodeMultipart.d.ts.map +0 -1
  133. package/dist/dts/NodePath.d.ts +0 -21
  134. package/dist/dts/NodePath.d.ts.map +0 -1
  135. package/dist/dts/NodeRuntime.d.ts +0 -10
  136. package/dist/dts/NodeRuntime.d.ts.map +0 -1
  137. package/dist/dts/NodeSink.d.ts +0 -36
  138. package/dist/dts/NodeSink.d.ts.map +0 -1
  139. package/dist/dts/NodeSocket.d.ts.map +0 -1
  140. package/dist/dts/NodeSocketServer.d.ts.map +0 -1
  141. package/dist/dts/NodeStream.d.ts +0 -119
  142. package/dist/dts/NodeStream.d.ts.map +0 -1
  143. package/dist/dts/NodeTerminal.d.ts +0 -18
  144. package/dist/dts/NodeTerminal.d.ts.map +0 -1
  145. package/dist/dts/internal/commandExecutor.d.ts +0 -2
  146. package/dist/dts/internal/commandExecutor.d.ts.map +0 -1
  147. package/dist/dts/internal/error.d.ts +0 -2
  148. package/dist/dts/internal/error.d.ts.map +0 -1
  149. package/dist/dts/internal/fileSystem/parcelWatcher.d.ts +0 -4
  150. package/dist/dts/internal/fileSystem/parcelWatcher.d.ts.map +0 -1
  151. package/dist/dts/internal/fileSystem.d.ts +0 -2
  152. package/dist/dts/internal/fileSystem.d.ts.map +0 -1
  153. package/dist/dts/internal/multipart.d.ts +0 -2
  154. package/dist/dts/internal/multipart.d.ts.map +0 -1
  155. package/dist/dts/internal/path.d.ts +0 -2
  156. package/dist/dts/internal/path.d.ts.map +0 -1
  157. package/dist/dts/internal/runtime.d.ts +0 -2
  158. package/dist/dts/internal/runtime.d.ts.map +0 -1
  159. package/dist/dts/internal/sink.d.ts +0 -2
  160. package/dist/dts/internal/sink.d.ts.map +0 -1
  161. package/dist/dts/internal/stream.d.ts +0 -2
  162. package/dist/dts/internal/stream.d.ts.map +0 -1
  163. package/dist/dts/internal/terminal.d.ts +0 -2
  164. package/dist/dts/internal/terminal.d.ts.map +0 -1
  165. package/dist/esm/NodeClusterSocket.js.map +0 -1
  166. package/dist/esm/NodeCommandExecutor.js +0 -7
  167. package/dist/esm/NodeCommandExecutor.js.map +0 -1
  168. package/dist/esm/NodeFileSystem/ParcelWatcher.js +0 -12
  169. package/dist/esm/NodeFileSystem/ParcelWatcher.js.map +0 -1
  170. package/dist/esm/NodeFileSystem.js +0 -10
  171. package/dist/esm/NodeFileSystem.js.map +0 -1
  172. package/dist/esm/NodeKeyValueStore.js +0 -10
  173. package/dist/esm/NodeKeyValueStore.js.map +0 -1
  174. package/dist/esm/NodeMultipart.js +0 -17
  175. package/dist/esm/NodeMultipart.js.map +0 -1
  176. package/dist/esm/NodePath.js +0 -20
  177. package/dist/esm/NodePath.js.map +0 -1
  178. package/dist/esm/NodeRuntime.js +0 -7
  179. package/dist/esm/NodeRuntime.js.map +0 -1
  180. package/dist/esm/NodeSink.js +0 -43
  181. package/dist/esm/NodeSink.js.map +0 -1
  182. package/dist/esm/NodeSocket.js.map +0 -1
  183. package/dist/esm/NodeSocketServer.js +0 -167
  184. package/dist/esm/NodeSocketServer.js.map +0 -1
  185. package/dist/esm/NodeStream.js +0 -69
  186. package/dist/esm/NodeStream.js.map +0 -1
  187. package/dist/esm/NodeTerminal.js +0 -12
  188. package/dist/esm/NodeTerminal.js.map +0 -1
  189. package/dist/esm/internal/commandExecutor.js +0 -146
  190. package/dist/esm/internal/commandExecutor.js.map +0 -1
  191. package/dist/esm/internal/error.js.map +0 -1
  192. package/dist/esm/internal/fileSystem/parcelWatcher.js +0 -61
  193. package/dist/esm/internal/fileSystem/parcelWatcher.js.map +0 -1
  194. package/dist/esm/internal/fileSystem.js.map +0 -1
  195. package/dist/esm/internal/multipart.js +0 -137
  196. package/dist/esm/internal/multipart.js.map +0 -1
  197. package/dist/esm/internal/path.js +0 -46
  198. package/dist/esm/internal/path.js.map +0 -1
  199. package/dist/esm/internal/runtime.js.map +0 -1
  200. package/dist/esm/internal/sink.js +0 -19
  201. package/dist/esm/internal/sink.js.map +0 -1
  202. package/dist/esm/internal/stream.js +0 -217
  203. package/dist/esm/internal/stream.js.map +0 -1
  204. package/dist/esm/internal/terminal.js.map +0 -1
  205. package/dist/esm/package.json +0 -4
  206. package/src/NodeCommandExecutor.ts +0 -13
  207. package/src/NodeFileSystem/ParcelWatcher.ts +0 -15
  208. package/src/NodeKeyValueStore.ts +0 -20
  209. package/src/NodeMultipart.ts +0 -40
  210. package/src/internal/commandExecutor.ts +0 -251
  211. package/src/internal/fileSystem/parcelWatcher.ts +0 -64
  212. package/src/internal/fileSystem.ts +0 -648
  213. package/src/internal/multipart.ts +0 -141
  214. package/src/internal/path.ts +0 -63
  215. package/src/internal/runtime.ts +0 -34
  216. package/src/internal/sink.ts +0 -57
  217. package/src/internal/stream.ts +0 -375
  218. package/src/internal/terminal.ts +0 -104
@@ -1,167 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import * as Socket from "@effect/platform/Socket";
5
- import * as SocketServer from "@effect/platform/SocketServer";
6
- import * as Context from "effect/Context";
7
- import * as Deferred from "effect/Deferred";
8
- import * as Effect from "effect/Effect";
9
- import * as Exit from "effect/Exit";
10
- import * as FiberRef from "effect/FiberRef";
11
- import * as FiberSet from "effect/FiberSet";
12
- import { pipe } from "effect/Function";
13
- import * as Layer from "effect/Layer";
14
- import * as Scope from "effect/Scope";
15
- import * as Net from "node:net";
16
- import * as WS from "ws";
17
- import * as NodeSocket from "./NodeSocket.js";
18
- /**
19
- * @since 1.0.0
20
- * @category tags
21
- */
22
- export class IncomingMessage extends /*#__PURE__*/Context.Tag("@effect/platform-node-shared/NodeSocketServer/IncomingMessage")() {}
23
- /**
24
- * @since 1.0.0
25
- * @category constructors
26
- */
27
- export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
28
- const errorDeferred = yield* Deferred.make();
29
- const pending = [];
30
- const defaultOnConnection = socket => {
31
- pending.push(socket);
32
- };
33
- let onConnection = defaultOnConnection;
34
- yield* Effect.addFinalizer(() => Effect.async(resume => {
35
- server.close(() => resume(Effect.void));
36
- }));
37
- const server = Net.createServer(options, conn => onConnection(conn));
38
- server.on("error", cause => Deferred.unsafeDone(errorDeferred, Exit.fail(cause)));
39
- yield* Effect.async(resume => {
40
- server.listen(options, () => {
41
- resume(Effect.void);
42
- });
43
- }).pipe(Effect.raceFirst(Effect.mapError(Deferred.await(errorDeferred), cause => new SocketServer.SocketServerError({
44
- reason: "Open",
45
- cause
46
- }))));
47
- const run = Effect.fnUntraced(function* (handler) {
48
- const scope = yield* Scope.make();
49
- const fiberSet = yield* FiberSet.make().pipe(Scope.extend(scope));
50
- const run = yield* FiberSet.runtime(fiberSet)();
51
- function onConnection_(conn) {
52
- let error;
53
- conn.on("error", err => {
54
- error = err;
55
- });
56
- pipe(NodeSocket.fromDuplex(Effect.acquireRelease(Effect.suspend(() => {
57
- if (error) {
58
- return Effect.fail(new Socket.SocketGenericError({
59
- reason: "Open",
60
- cause: error
61
- }));
62
- } else if (conn.closed) {
63
- return Effect.fail(new Socket.SocketCloseError({
64
- reason: "Close",
65
- code: 1000
66
- }));
67
- }
68
- return Effect.succeed(conn);
69
- }), conn => Effect.sync(() => {
70
- if (conn.closed === false) {
71
- conn.destroySoon();
72
- }
73
- }))), Effect.flatMap(handler), Effect.catchAllCause(reportUnhandledError), Effect.provideService(NodeSocket.NetSocket, conn), run);
74
- }
75
- return yield* Effect.async(_resume => {
76
- const prev = onConnection;
77
- onConnection = onConnection_;
78
- pending.forEach(onConnection);
79
- pending.length = 0;
80
- return Effect.suspend(() => {
81
- onConnection = prev;
82
- return Scope.close(scope, Exit.void);
83
- });
84
- }).pipe(Effect.raceFirst(Effect.mapError(Deferred.await(errorDeferred), cause => new SocketServer.SocketServerError({
85
- reason: "Unknown",
86
- cause
87
- }))));
88
- });
89
- const address = server.address();
90
- return SocketServer.SocketServer.of({
91
- address: typeof address === "string" ? {
92
- _tag: "UnixAddress",
93
- path: address
94
- } : {
95
- _tag: "TcpAddress",
96
- hostname: address.address,
97
- port: address.port
98
- },
99
- run
100
- });
101
- });
102
- /**
103
- * @since 1.0.0
104
- * @category layers
105
- */
106
- export const layer = options => Layer.scoped(SocketServer.SocketServer, make(options));
107
- /**
108
- * @since 1.0.0
109
- * @category constructors
110
- */
111
- export const makeWebSocket = /*#__PURE__*/Effect.fnUntraced(function* (options) {
112
- const server = yield* Effect.acquireRelease(Effect.sync(() => new WS.WebSocketServer(options)), server => Effect.async(resume => {
113
- server.close(() => resume(Effect.void));
114
- }));
115
- yield* Effect.async(resume => {
116
- server.once("error", error => {
117
- resume(Effect.fail(new SocketServer.SocketServerError({
118
- reason: "Open",
119
- cause: error
120
- })));
121
- });
122
- server.once("listening", () => {
123
- resume(Effect.void);
124
- });
125
- });
126
- const run = Effect.fnUntraced(function* (handler) {
127
- const scope = yield* Scope.make();
128
- const fiberSet = yield* FiberSet.make().pipe(Scope.extend(scope));
129
- const run = yield* FiberSet.runtime(fiberSet)();
130
- function onConnection(conn, req) {
131
- pipe(Socket.fromWebSocket(Effect.acquireRelease(Effect.succeed(conn), conn => Effect.sync(() => {
132
- conn.close();
133
- }))), Effect.flatMap(handler), Effect.catchAllCause(reportUnhandledError), Effect.provideService(Socket.WebSocket, conn), Effect.provideService(IncomingMessage, req), run);
134
- }
135
- return yield* Effect.async(_resume => {
136
- server.on("connection", onConnection);
137
- return Effect.sync(() => {
138
- server.off("connection", onConnection);
139
- });
140
- }).pipe(Effect.ensuring(Scope.close(scope, Exit.void)));
141
- });
142
- const address = server.address();
143
- return SocketServer.SocketServer.of({
144
- address: typeof address === "string" ? {
145
- _tag: "UnixAddress",
146
- path: address
147
- } : {
148
- _tag: "TcpAddress",
149
- hostname: address.address,
150
- port: address.port
151
- },
152
- run
153
- });
154
- });
155
- /**
156
- * @since 1.0.0
157
- * @category layers
158
- */
159
- export const layerWebSocket = options => Layer.scoped(SocketServer.SocketServer, makeWebSocket(options));
160
- const reportUnhandledError = cause => Effect.withFiberRuntime(fiber => {
161
- const unhandledLogLevel = fiber.getFiberRef(FiberRef.unhandledErrorLogLevel);
162
- if (unhandledLogLevel._tag === "Some") {
163
- return Effect.logWithLevel(unhandledLogLevel.value, cause, "Unhandled error in SocketServer");
164
- }
165
- return Effect.void;
166
- });
167
- //# sourceMappingURL=NodeSocketServer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NodeSocketServer.js","names":["Socket","SocketServer","Context","Deferred","Effect","Exit","FiberRef","FiberSet","pipe","Layer","Scope","Net","WS","NodeSocket","IncomingMessage","Tag","make","fnUntraced","options","errorDeferred","pending","defaultOnConnection","socket","push","onConnection","addFinalizer","async","resume","server","close","void","createServer","conn","on","cause","unsafeDone","fail","listen","raceFirst","mapError","await","SocketServerError","reason","run","handler","scope","fiberSet","extend","runtime","onConnection_","error","err","fromDuplex","acquireRelease","suspend","SocketGenericError","closed","SocketCloseError","code","succeed","sync","destroySoon","flatMap","catchAllCause","reportUnhandledError","provideService","NetSocket","_resume","prev","forEach","length","address","of","_tag","path","hostname","port","layer","scoped","makeWebSocket","WebSocketServer","once","req","fromWebSocket","WebSocket","off","ensuring","layerWebSocket","withFiberRuntime","fiber","unhandledLogLevel","getFiberRef","unhandledErrorLogLevel","logWithLevel","value"],"sources":["../../src/NodeSocketServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,69 +0,0 @@
1
- import * as Stream from "effect/Stream";
2
- import * as internal from "./internal/stream.js";
3
- /**
4
- * @category constructors
5
- * @since 1.0.0
6
- */
7
- export const fromReadable = internal.fromReadable;
8
- /**
9
- * @category constructors
10
- * @since 1.0.0
11
- */
12
- export const fromReadableChannel = internal.fromReadableChannel;
13
- /**
14
- * @category constructors
15
- * @since 1.0.0
16
- */
17
- export const fromDuplex = internal.fromDuplex;
18
- /**
19
- * @category combinators
20
- * @since 1.0.0
21
- */
22
- export const pipeThroughDuplex = internal.pipeThroughDuplex;
23
- /**
24
- * @category combinators
25
- * @since 1.0.0
26
- */
27
- export const pipeThroughSimple = internal.pipeThroughSimple;
28
- /**
29
- * @since 1.0.0
30
- * @category conversions
31
- */
32
- export const toReadable = internal.toReadable;
33
- /**
34
- * @since 1.0.0
35
- * @category conversions
36
- */
37
- export const toReadableNever = internal.toReadableNever;
38
- /**
39
- * @since 1.0.0
40
- * @category conversions
41
- */
42
- export const toString = internal.toString;
43
- /**
44
- * @since 1.0.0
45
- * @category conversions
46
- */
47
- export const toUint8Array = internal.toUint8Array;
48
- /**
49
- * @since 1.0.0
50
- * @category stdio
51
- */
52
- export const stdin = /*#__PURE__*/internal.fromReadable(() => process.stdin, err => err, {
53
- closeOnDone: false
54
- }).pipe(Stream.orDie);
55
- /**
56
- * @since 1.0.0
57
- * @category stdio
58
- */
59
- export const stdout = /*#__PURE__*/internal.fromReadable(() => process.stdout, err => err, {
60
- closeOnDone: false
61
- }).pipe(Stream.orDie);
62
- /**
63
- * @since 1.0.0
64
- * @category stdio
65
- */
66
- export const stderr = /*#__PURE__*/internal.fromReadable(() => process.stderr, err => err, {
67
- closeOnDone: false
68
- }).pipe(Stream.orDie);
69
- //# sourceMappingURL=NodeStream.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NodeStream.js","names":["Stream","internal","fromReadable","fromReadableChannel","fromDuplex","pipeThroughDuplex","pipeThroughSimple","toReadable","toReadableNever","toString","toUint8Array","stdin","process","err","closeOnDone","pipe","orDie","stdout","stderr"],"sources":["../../src/NodeStream.ts"],"sourcesContent":[null],"mappings":"AASA,OAAO,KAAKA,MAAM,MAAM,eAAe;AAEvC,OAAO,KAAKC,QAAQ,MAAM,sBAAsB;AAsBhD;;;;AAIA,OAAO,MAAMC,YAAY,GAIED,QAAQ,CAACC,YAAY;AAEhD;;;;AAIA,OAAO,MAAMC,mBAAmB,GAIKF,QAAQ,CAACE,mBAAmB;AAEjE;;;;AAIA,OAAO,MAAMC,UAAU,GAIuCH,QAAQ,CAACG,UAAU;AAEjF;;;;AAIA,OAAO,MAAMC,iBAAiB,GAoB1BJ,QAAQ,CAACI,iBAAiB;AAE9B;;;;AAIA,OAAO,MAAMC,iBAAiB,GAW1BL,QAAQ,CAACK,iBAAiB;AAE9B;;;;AAIA,OAAO,MAAMC,UAAU,GACrBN,QAAQ,CAACM,UAAU;AAErB;;;;AAIA,OAAO,MAAMC,eAAe,GAC1BP,QAAQ,CAACO,eAAe;AAE1B;;;;AAIA,OAAO,MAAMC,QAAQ,GAOIR,QAAQ,CAACQ,QAAQ;AAE1C;;;;AAIA,OAAO,MAAMC,YAAY,GAGIT,QAAQ,CAACS,YAAY;AAElD;;;;AAIA,OAAO,MAAMC,KAAK,gBAA8BV,QAAQ,CAACC,YAAY,CAAC,MAAMU,OAAO,CAACD,KAAK,EAAGE,GAAG,IAAKA,GAAG,EAAE;EACvGC,WAAW,EAAE;CACd,CAAC,CAACC,IAAI,CAACf,MAAM,CAACgB,KAAK,CAAC;AAErB;;;;AAIA,OAAO,MAAMC,MAAM,gBAA8BhB,QAAQ,CAACC,YAAY,CAAC,MAAMU,OAAO,CAACK,MAAM,EAAGJ,GAAG,IAAKA,GAAG,EAAE;EACzGC,WAAW,EAAE;CACd,CAAC,CAACC,IAAI,CAACf,MAAM,CAACgB,KAAK,CAAC;AAErB;;;;AAIA,OAAO,MAAME,MAAM,gBAA8BjB,QAAQ,CAACC,YAAY,CAAC,MAAMU,OAAO,CAACM,MAAM,EAAGL,GAAG,IAAKA,GAAG,EAAE;EACzGC,WAAW,EAAE;CACd,CAAC,CAACC,IAAI,CAACf,MAAM,CAACgB,KAAK,CAAC","ignoreList":[]}
@@ -1,12 +0,0 @@
1
- import * as InternalTerminal from "./internal/terminal.js";
2
- /**
3
- * @since 1.0.0
4
- * @category constructors
5
- */
6
- export const make = InternalTerminal.make;
7
- /**
8
- * @since 1.0.0
9
- * @category layer
10
- */
11
- export const layer = InternalTerminal.layer;
12
- //# sourceMappingURL=NodeTerminal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NodeTerminal.js","names":["InternalTerminal","make","layer"],"sources":["../../src/NodeTerminal.ts"],"sourcesContent":[null],"mappings":"AAOA,OAAO,KAAKA,gBAAgB,MAAM,wBAAwB;AAC1D;;;;AAIA,OAAO,MAAMC,IAAI,GACfD,gBAAgB,CAACC,IAAI;AAEvB;;;;AAIA,OAAO,MAAMC,KAAK,GAAoBF,gBAAgB,CAACE,KAAK","ignoreList":[]}
@@ -1,146 +0,0 @@
1
- import * as Command from "@effect/platform/Command";
2
- import * as CommandExecutor from "@effect/platform/CommandExecutor";
3
- import * as FileSystem from "@effect/platform/FileSystem";
4
- import * as Deferred from "effect/Deferred";
5
- import * as Effect from "effect/Effect";
6
- import { constUndefined, identity, pipe } from "effect/Function";
7
- import * as Inspectable from "effect/Inspectable";
8
- import * as Layer from "effect/Layer";
9
- import * as Option from "effect/Option";
10
- import * as Sink from "effect/Sink";
11
- import * as Stream from "effect/Stream";
12
- import * as ChildProcess from "node:child_process";
13
- import { handleErrnoException } from "./error.js";
14
- import { fromWritable } from "./sink.js";
15
- import { fromReadable } from "./stream.js";
16
- const inputToStdioOption = stdin => typeof stdin === "string" ? stdin : "pipe";
17
- const outputToStdioOption = output => typeof output === "string" ? output : "pipe";
18
- const toError = err => err instanceof globalThis.Error ? err : new globalThis.Error(String(err));
19
- const toPlatformError = (method, error, command) => {
20
- const flattened = Command.flatten(command).reduce((acc, curr) => {
21
- const command = `${curr.command} ${curr.args.join(" ")}`;
22
- return acc.length === 0 ? command : `${acc} | ${command}`;
23
- }, "");
24
- return handleErrnoException("Command", method)(error, [flattened]);
25
- };
26
- const ProcessProto = {
27
- [CommandExecutor.ProcessTypeId]: CommandExecutor.ProcessTypeId,
28
- ...Inspectable.BaseProto,
29
- toJSON() {
30
- return {
31
- _id: "@effect/platform/CommandExecutor/Process",
32
- pid: this.pid
33
- };
34
- }
35
- };
36
- const runCommand = fileSystem => command => {
37
- switch (command._tag) {
38
- case "StandardCommand":
39
- {
40
- const spawn = Effect.flatMap(Deferred.make(), exitCode => Effect.async(resume => {
41
- const handle = ChildProcess.spawn(command.command, command.args, {
42
- stdio: [inputToStdioOption(command.stdin), outputToStdioOption(command.stdout), outputToStdioOption(command.stderr)],
43
- cwd: Option.getOrElse(command.cwd, constUndefined),
44
- shell: command.shell,
45
- env: {
46
- ...process.env,
47
- ...Object.fromEntries(command.env)
48
- },
49
- detached: process.platform !== "win32"
50
- });
51
- handle.on("error", err => {
52
- resume(Effect.fail(toPlatformError("spawn", err, command)));
53
- });
54
- handle.on("exit", (...args) => {
55
- Deferred.unsafeDone(exitCode, Effect.succeed(args));
56
- });
57
- handle.on("spawn", () => {
58
- resume(Effect.succeed([handle, exitCode]));
59
- });
60
- return Effect.sync(() => {
61
- handle.kill("SIGTERM");
62
- });
63
- }));
64
- const killProcessGroup = process.platform === "win32" ? (handle, _) => Effect.async(resume => {
65
- ChildProcess.exec(`taskkill /pid ${handle.pid} /T /F`, error => {
66
- if (error) {
67
- resume(Effect.fail(toPlatformError("kill", toError(error), command)));
68
- } else {
69
- resume(Effect.void);
70
- }
71
- });
72
- }) : (handle, signal) => Effect.try({
73
- try: () => process.kill(-handle.pid, signal),
74
- catch: error => toPlatformError("kill", toError(error), command)
75
- });
76
- const killProcess = (handle, signal) => Effect.suspend(() => handle.kill(signal) ? Effect.void : Effect.fail(toPlatformError("kill", new globalThis.Error("Failed to kill process"), command)));
77
- return pipe(
78
- // Validate that the directory is accessible
79
- Option.match(command.cwd, {
80
- onNone: () => Effect.void,
81
- onSome: dir => fileSystem.access(dir)
82
- }), Effect.zipRight(Effect.acquireRelease(spawn, ([handle, exitCode]) => Effect.flatMap(Deferred.isDone(exitCode), done => {
83
- if (!done) {
84
- // Process is still running, kill it
85
- return killProcessGroup(handle, "SIGTERM").pipe(Effect.orElse(() => killProcess(handle, "SIGTERM")), Effect.zipRight(Deferred.await(exitCode)), Effect.ignore);
86
- }
87
- // Process has already exited, check if we need to clean up children
88
- return Effect.flatMap(Deferred.await(exitCode), ([code]) => {
89
- if (code !== 0 && code !== null) {
90
- // Non-zero exit code, attempt to clean up process group
91
- return killProcessGroup(handle, "SIGTERM").pipe(Effect.ignore);
92
- }
93
- return Effect.void;
94
- });
95
- }))), Effect.map(([handle, exitCodeDeferred]) => {
96
- let stdin = Sink.drain;
97
- if (handle.stdin !== null) {
98
- stdin = fromWritable(() => handle.stdin, err => toPlatformError("toWritable", toError(err), command));
99
- }
100
- const exitCode = Effect.flatMap(Deferred.await(exitCodeDeferred), ([code, signal]) => {
101
- if (code !== null) {
102
- return Effect.succeed(CommandExecutor.ExitCode(code));
103
- }
104
- // If code is `null`, then `signal` must be defined. See the NodeJS
105
- // documentation for the `"exit"` event on a `child_process`.
106
- // https://nodejs.org/api/child_process.html#child_process_event_exit
107
- return Effect.fail(toPlatformError("exitCode", new globalThis.Error(`Process interrupted due to receipt of signal: ${signal}`), command));
108
- });
109
- const isRunning = Effect.negate(Deferred.isDone(exitCodeDeferred));
110
- const kill = (signal = "SIGTERM") => killProcessGroup(handle, signal).pipe(Effect.orElse(() => killProcess(handle, signal)), Effect.zipRight(Effect.asVoid(Deferred.await(exitCodeDeferred))));
111
- const pid = CommandExecutor.ProcessId(handle.pid);
112
- const stderr = fromReadable(() => handle.stderr, err => toPlatformError("fromReadable(stderr)", toError(err), command));
113
- let stdout = fromReadable(() => handle.stdout, err => toPlatformError("fromReadable(stdout)", toError(err), command));
114
- // TODO: add Sink.isSink
115
- if (typeof command.stdout !== "string") {
116
- stdout = Stream.transduce(stdout, command.stdout);
117
- }
118
- return Object.assign(Object.create(ProcessProto), {
119
- pid,
120
- exitCode,
121
- isRunning,
122
- kill,
123
- stdin,
124
- stderr,
125
- stdout
126
- });
127
- }), typeof command.stdin === "string" ? identity : Effect.tap(process => Effect.forkDaemon(Stream.run(command.stdin, process.stdin))));
128
- }
129
- case "PipedCommand":
130
- {
131
- const flattened = Command.flatten(command);
132
- if (flattened.length === 1) {
133
- return pipe(flattened[0], runCommand(fileSystem));
134
- }
135
- const head = flattened[0];
136
- const tail = flattened.slice(1);
137
- const initial = tail.slice(0, tail.length - 1);
138
- const last = tail[tail.length - 1];
139
- const stream = initial.reduce((stdin, command) => pipe(Command.stdin(command, stdin), runCommand(fileSystem), Effect.map(process => process.stdout), Stream.unwrapScoped), pipe(runCommand(fileSystem)(head), Effect.map(process => process.stdout), Stream.unwrapScoped));
140
- return pipe(Command.stdin(last, stream), runCommand(fileSystem));
141
- }
142
- }
143
- };
144
- /** @internal */
145
- export const layer = /*#__PURE__*/Layer.effect(CommandExecutor.CommandExecutor, /*#__PURE__*/pipe(FileSystem.FileSystem, /*#__PURE__*/Effect.map(fileSystem => CommandExecutor.makeExecutor(runCommand(fileSystem)))));
146
- //# sourceMappingURL=commandExecutor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commandExecutor.js","names":["Command","CommandExecutor","FileSystem","Deferred","Effect","constUndefined","identity","pipe","Inspectable","Layer","Option","Sink","Stream","ChildProcess","handleErrnoException","fromWritable","fromReadable","inputToStdioOption","stdin","outputToStdioOption","output","toError","err","globalThis","Error","String","toPlatformError","method","error","command","flattened","flatten","reduce","acc","curr","args","join","length","ProcessProto","ProcessTypeId","BaseProto","toJSON","_id","pid","runCommand","fileSystem","_tag","spawn","flatMap","make","exitCode","async","resume","handle","stdio","stdout","stderr","cwd","getOrElse","shell","env","process","Object","fromEntries","detached","platform","on","fail","unsafeDone","succeed","sync","kill","killProcessGroup","_","exec","void","signal","try","catch","killProcess","suspend","match","onNone","onSome","dir","access","zipRight","acquireRelease","isDone","done","orElse","await","ignore","code","map","exitCodeDeferred","drain","ExitCode","isRunning","negate","asVoid","ProcessId","transduce","assign","create","tap","forkDaemon","run","head","tail","slice","initial","last","stream","unwrapScoped","layer","effect","makeExecutor"],"sources":["../../../src/internal/commandExecutor.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"error.js","names":["SystemError","handleErrnoException","module","method","err","path","reason","code","pathOrDescriptor","syscall","description","message","cause"],"sources":["../../../src/internal/error.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,WAAW,QAAQ,wBAAwB;AAGpD;AACA,OAAO,MAAMC,oBAAoB,GAAGA,CAACC,MAA6B,EAAEC,MAAc,KAClF,CACEC,GAA0B,EAC1B,CAACC,IAAI,CAAiD,KACrC;EACjB,IAAIC,MAAM,GAAsB,SAAS;EAEzC,QAAQF,GAAG,CAACG,IAAI;IACd,KAAK,QAAQ;MACXD,MAAM,GAAG,UAAU;MACnB;IAEF,KAAK,QAAQ;MACXA,MAAM,GAAG,kBAAkB;MAC3B;IAEF,KAAK,QAAQ;MACXA,MAAM,GAAG,eAAe;MACxB;IAEF,KAAK,QAAQ;MACXA,MAAM,GAAG,aAAa;MACtB;IAEF,KAAK,SAAS;MACZA,MAAM,GAAG,aAAa;MACtB;IAEF,KAAK,OAAO;MACVA,MAAM,GAAG,MAAM;MACf;IAEF,KAAK,OAAO;MACVA,MAAM,GAAG,aAAa;MACtB;EACJ;EAEA,OAAO,IAAIN,WAAW,CAAC;IACrBM,MAAM;IACNJ,MAAM;IACNC,MAAM;IACNK,gBAAgB,EAAEH,IAAuB;IACzCI,OAAO,EAAEL,GAAG,CAACK,OAAO;IACpBC,WAAW,EAAEN,GAAG,CAACO,OAAO;IACxBC,KAAK,EAAER;GACR,CAAC;AACJ,CAAC","ignoreList":[]}
@@ -1,61 +0,0 @@
1
- import * as Error from "@effect/platform/Error";
2
- import * as FileSystem from "@effect/platform/FileSystem";
3
- import * as ParcelWatcher from "@parcel/watcher";
4
- import * as Chunk from "effect/Chunk";
5
- import * as Effect from "effect/Effect";
6
- import * as Layer from "effect/Layer";
7
- import * as Option from "effect/Option";
8
- import * as Stream from "effect/Stream";
9
- const watchParcel = path => Stream.asyncScoped(emit => Effect.acquireRelease(Effect.tryPromise({
10
- try: () => ParcelWatcher.subscribe(path, (cause, events) => {
11
- if (cause) {
12
- emit.fail(new Error.SystemError({
13
- reason: "Unknown",
14
- module: "FileSystem",
15
- method: "watch",
16
- pathOrDescriptor: path,
17
- cause
18
- }));
19
- } else {
20
- emit.chunk(Chunk.unsafeFromArray(events.map(event => {
21
- switch (event.type) {
22
- case "create":
23
- {
24
- return FileSystem.WatchEventCreate({
25
- path: event.path
26
- });
27
- }
28
- case "update":
29
- {
30
- return FileSystem.WatchEventUpdate({
31
- path: event.path
32
- });
33
- }
34
- case "delete":
35
- {
36
- return FileSystem.WatchEventRemove({
37
- path: event.path
38
- });
39
- }
40
- }
41
- })));
42
- }
43
- }),
44
- catch: cause => new Error.SystemError({
45
- reason: "Unknown",
46
- module: "FileSystem",
47
- method: "watch",
48
- pathOrDescriptor: path,
49
- cause
50
- })
51
- }), sub => Effect.promise(() => sub.unsubscribe())));
52
- const backend = /*#__PURE__*/FileSystem.WatchBackend.of({
53
- register(path, stat, _options) {
54
- if (stat.type !== "Directory") {
55
- return Option.none();
56
- }
57
- return Option.some(watchParcel(path));
58
- }
59
- });
60
- export const layer = /*#__PURE__*/Layer.succeed(FileSystem.WatchBackend, backend);
61
- //# sourceMappingURL=parcelWatcher.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parcelWatcher.js","names":["Error","FileSystem","ParcelWatcher","Chunk","Effect","Layer","Option","Stream","watchParcel","path","asyncScoped","emit","acquireRelease","tryPromise","try","subscribe","cause","events","fail","SystemError","reason","module","method","pathOrDescriptor","chunk","unsafeFromArray","map","event","type","WatchEventCreate","WatchEventUpdate","WatchEventRemove","catch","sub","promise","unsubscribe","backend","WatchBackend","of","register","stat","_options","none","some","layer","succeed"],"sources":["../../../../src/internal/fileSystem/parcelWatcher.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,wBAAwB;AAC/C,OAAO,KAAKC,UAAU,MAAM,6BAA6B;AACzD,OAAO,KAAKC,aAAa,MAAM,iBAAiB;AAChD,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,MAAMC,WAAW,GAAIC,IAAY,IAC/BF,MAAM,CAACG,WAAW,CAA8CC,IAAI,IAClEP,MAAM,CAACQ,cAAc,CACnBR,MAAM,CAACS,UAAU,CAAC;EAChBC,GAAG,EAAEA,CAAA,KACHZ,aAAa,CAACa,SAAS,CAACN,IAAI,EAAE,CAACO,KAAK,EAAEC,MAAM,KAAI;IAC9C,IAAID,KAAK,EAAE;MACTL,IAAI,CAACO,IAAI,CACP,IAAIlB,KAAK,CAACmB,WAAW,CAAC;QACpBC,MAAM,EAAE,SAAS;QACjBC,MAAM,EAAE,YAAY;QACpBC,MAAM,EAAE,OAAO;QACfC,gBAAgB,EAAEd,IAAI;QACtBO;OACD,CAAC,CACH;IACH,CAAC,MAAM;MACLL,IAAI,CAACa,KAAK,CAACrB,KAAK,CAACsB,eAAe,CAACR,MAAM,CAACS,GAAG,CAAEC,KAAK,IAAI;QACpD,QAAQA,KAAK,CAACC,IAAI;UAChB,KAAK,QAAQ;YAAE;cACb,OAAO3B,UAAU,CAAC4B,gBAAgB,CAAC;gBAAEpB,IAAI,EAAEkB,KAAK,CAAClB;cAAI,CAAE,CAAC;YAC1D;UACA,KAAK,QAAQ;YAAE;cACb,OAAOR,UAAU,CAAC6B,gBAAgB,CAAC;gBAAErB,IAAI,EAAEkB,KAAK,CAAClB;cAAI,CAAE,CAAC;YAC1D;UACA,KAAK,QAAQ;YAAE;cACb,OAAOR,UAAU,CAAC8B,gBAAgB,CAAC;gBAAEtB,IAAI,EAAEkB,KAAK,CAAClB;cAAI,CAAE,CAAC;YAC1D;QACF;MACF,CAAC,CAAC,CAAC,CAAC;IACN;EACF,CAAC,CAAC;EACJuB,KAAK,EAAGhB,KAAK,IACX,IAAIhB,KAAK,CAACmB,WAAW,CAAC;IACpBC,MAAM,EAAE,SAAS;IACjBC,MAAM,EAAE,YAAY;IACpBC,MAAM,EAAE,OAAO;IACfC,gBAAgB,EAAEd,IAAI;IACtBO;GACD;CACJ,CAAC,EACDiB,GAAG,IAAK7B,MAAM,CAAC8B,OAAO,CAAC,MAAMD,GAAG,CAACE,WAAW,EAAE,CAAC,CACjD,CACF;AAEH,MAAMC,OAAO,gBAAGnC,UAAU,CAACoC,YAAY,CAACC,EAAE,CAAC;EACzCC,QAAQA,CAAC9B,IAAI,EAAE+B,IAAI,EAAEC,QAAQ;IAC3B,IAAID,IAAI,CAACZ,IAAI,KAAK,WAAW,EAAE;MAC7B,OAAOtB,MAAM,CAACoC,IAAI,EAAE;IACtB;IACA,OAAOpC,MAAM,CAACqC,IAAI,CAACnC,WAAW,CAACC,IAAI,CAAC,CAAC;EACvC;CACD,CAAC;AAEF,OAAO,MAAMmC,KAAK,gBAAGvC,KAAK,CAACwC,OAAO,CAAC5C,UAAU,CAACoC,YAAY,EAAED,OAAO,CAAC","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fileSystem.js","names":["effectify","Error","FileSystem","Effect","pipe","Layer","Option","Stream","Crypto","NFS","OS","Path","handleErrnoException","handleBadArgument","method","cause","BadArgument","module","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","append","FileTypeId","semaphore","unsafeMakeSemaphore","position","constructor","stat","makeFileInfo","sync","seek","offset","from","offsetSize","Size","withPermits","buffer","bytesRead","sizeRead","readAlloc","size","sizeNumber","Number","flatMap","Buffer","allocUnsafeSlow","none","BigInt","some","dst","truncate","length","undefined","len","bytesWritten","sizeWritten","writeAllChunk","fail","SystemError","reason","pathOrDescriptor","description","subarray","void","writeAll","makeTempFileFactory","randomHexString","bytes","randomBytes","toString","zip","random","suffix","tap","scoped","makeTempFile","makeTempFileScoped","file","dirname","readDirectory","tryPromise","try","promises","readdir","catch","err","readFile","async","resume","signal","data","succeed","readLink","nodeReadLink","readlink","realPath","nodeRealPath","realpath","rename","nodeRename","oldPath","type","isFile","isDirectory","isSymbolicLink","isBlockDevice","isCharacterDevice","isFIFO","isSocket","mtime","fromNullable","atime","birthtime","dev","rdev","ino","nlink","blksize","blocks","symlink","nodeSymlink","target","utimes","nodeUtimes","watchNode","asyncScoped","emit","watcher","watch","event","fromEffect","matchEffect","onSuccess","_","WatchEventCreate","onFailure","_tag","WatchEventRemove","single","WatchEventUpdate","on","error","end","backend","register","getOrElse","unwrap","writeFile","makeFileSystem","serviceOption","WatchBackend","make","layer","effect"],"sources":["../../../src/internal/fileSystem.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}