@effect/platform-node 0.0.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/Console.d.ts +15 -0
- package/Console.d.ts.map +1 -0
- package/Console.js +19 -0
- package/Console.js.map +1 -0
- package/Effectify.d.ts +19 -0
- package/Effectify.d.ts.map +1 -0
- package/Effectify.js +13 -0
- package/Effectify.js.map +1 -0
- package/Error.d.ts +30 -0
- package/Error.d.ts.map +1 -0
- package/Error.js +25 -0
- package/Error.js.map +1 -0
- package/FileSystem.d.ts +68 -0
- package/FileSystem.d.ts.map +1 -0
- package/FileSystem.js +33 -0
- package/FileSystem.js.map +1 -0
- package/LICENSE +21 -0
- package/Runtime.d.ts +24 -0
- package/Runtime.d.ts.map +1 -0
- package/Runtime.js +27 -0
- package/Runtime.js.map +1 -0
- package/Sink.d.ts +22 -0
- package/Sink.d.ts.map +1 -0
- package/Sink.js +20 -0
- package/Sink.js.map +1 -0
- package/Stream.d.ts +22 -0
- package/Stream.d.ts.map +1 -0
- package/Stream.js +16 -0
- package/Stream.js.map +1 -0
- package/internal/fileSystem.d.ts +2 -0
- package/internal/fileSystem.d.ts.map +1 -0
- package/internal/fileSystem.js +322 -0
- package/internal/fileSystem.js.map +1 -0
- package/internal/runtime.d.ts +2 -0
- package/internal/runtime.d.ts.map +1 -0
- package/internal/runtime.js +35 -0
- package/internal/runtime.js.map +1 -0
- package/internal/sink.d.ts +2 -0
- package/internal/sink.d.ts.map +1 -0
- package/internal/sink.js +40 -0
- package/internal/sink.js.map +1 -0
- package/internal/stream.d.ts +2 -0
- package/internal/stream.d.ts.map +1 -0
- package/internal/stream.js +38 -0
- package/internal/stream.js.map +1 -0
- package/mjs/Console.mjs +15 -0
- package/mjs/Console.mjs.map +1 -0
- package/mjs/Effectify.mjs +10 -0
- package/mjs/Effectify.mjs.map +1 -0
- package/mjs/Error.mjs +20 -0
- package/mjs/Error.mjs.map +1 -0
- package/mjs/FileSystem.mjs +21 -0
- package/mjs/FileSystem.mjs.map +1 -0
- package/mjs/Runtime.mjs +16 -0
- package/mjs/Runtime.mjs.map +1 -0
- package/mjs/Sink.mjs +10 -0
- package/mjs/Sink.mjs.map +1 -0
- package/mjs/Stream.mjs +7 -0
- package/mjs/Stream.mjs.map +1 -0
- package/mjs/internal/fileSystem.mjs +313 -0
- package/mjs/internal/fileSystem.mjs.map +1 -0
- package/mjs/internal/runtime.mjs +26 -0
- package/mjs/internal/runtime.mjs.map +1 -0
- package/mjs/internal/sink.mjs +31 -0
- package/mjs/internal/sink.mjs.map +1 -0
- package/mjs/internal/stream.mjs +29 -0
- package/mjs/internal/stream.mjs.map +1 -0
- package/package.json +31 -0
- package/src/Console.ts +16 -0
- package/src/Effectify.ts +22 -0
- package/src/Error.ts +31 -0
- package/src/FileSystem.ts +74 -0
- package/src/Runtime.ts +32 -0
- package/src/Sink.ts +27 -0
- package/src/Stream.ts +27 -0
- package/src/internal/fileSystem.ts +527 -0
- package/src/internal/runtime.ts +39 -0
- package/src/internal/sink.ts +62 -0
- package/src/internal/stream.ts +57 -0
- package/tsconfig.build.json +11 -0
- package/tsconfig.examples.json +12 -0
- package/tsconfig.json +11 -0
- package/tsconfig.test.json +17 -0
package/mjs/Sink.mjs
ADDED
package/mjs/Sink.mjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Sink.mjs","names":["internal","fromWritable"],"sources":["../src/Sink.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAKA,OAAO,KAAKA,QAAQ,MAAM,qCAAqC;AAa/D;;;;AAIA,OAAO,MAAMC,YAAY,GAIaD,QAAQ,CAACC,YAAY"}
|
package/mjs/Stream.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Stream.mjs","names":["internal","fromReadable"],"sources":["../src/Stream.ts"],"sourcesContent":[null],"mappings":"AAIA,OAAO,KAAKA,QAAQ,MAAM,uCAAuC;AAcjE;;;;AAIA,OAAO,MAAMC,YAAY,GAIED,QAAQ,CAACC,YAAY"}
|
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
import * as Option from "@effect/data/Option";
|
|
2
|
+
import * as Effect from "@effect/io/Effect";
|
|
3
|
+
import * as Layer from "@effect/io/Layer";
|
|
4
|
+
import { effectify } from "@effect/platform/Effectify";
|
|
5
|
+
import * as Error from "@effect/platform/Error";
|
|
6
|
+
import * as FileSystem from "@effect/platform/FileSystem";
|
|
7
|
+
import * as File from "@effect/platform/FileSystem/File";
|
|
8
|
+
import * as Crypto from "node:crypto";
|
|
9
|
+
import * as NFS from "node:fs";
|
|
10
|
+
import * as OS from "node:os";
|
|
11
|
+
import * as Path from "node:path";
|
|
12
|
+
// == errors
|
|
13
|
+
const handleErrnoException = method => (err, [path]) => {
|
|
14
|
+
let reason = "Unknown";
|
|
15
|
+
switch (err.code) {
|
|
16
|
+
case "ENOENT":
|
|
17
|
+
reason = "NotFound";
|
|
18
|
+
break;
|
|
19
|
+
case "EACCES":
|
|
20
|
+
reason = "PermissionDenied";
|
|
21
|
+
break;
|
|
22
|
+
case "EEXIST":
|
|
23
|
+
reason = "AlreadyExists";
|
|
24
|
+
break;
|
|
25
|
+
case "EISDIR":
|
|
26
|
+
reason = "BadResource";
|
|
27
|
+
break;
|
|
28
|
+
case "ENOTDIR":
|
|
29
|
+
reason = "BadResource";
|
|
30
|
+
break;
|
|
31
|
+
case "EBUSY":
|
|
32
|
+
reason = "Busy";
|
|
33
|
+
break;
|
|
34
|
+
case "ELOOP":
|
|
35
|
+
reason = "BadResource";
|
|
36
|
+
break;
|
|
37
|
+
}
|
|
38
|
+
return Error.SystemError({
|
|
39
|
+
reason,
|
|
40
|
+
module: "FileSystem",
|
|
41
|
+
method,
|
|
42
|
+
pathOrDescriptor: path.toString(),
|
|
43
|
+
syscall: err.syscall,
|
|
44
|
+
message: err.message
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
const handleBadArgument = method => err => Error.BadArgument({
|
|
48
|
+
module: "FileSystem",
|
|
49
|
+
method,
|
|
50
|
+
message: err.message ?? String(err)
|
|
51
|
+
});
|
|
52
|
+
// == access
|
|
53
|
+
const access = /*#__PURE__*/(() => {
|
|
54
|
+
const nodeAccess = /*#__PURE__*/effectify(NFS.access, /*#__PURE__*/handleErrnoException("access"), /*#__PURE__*/handleBadArgument("access"));
|
|
55
|
+
return (path, options) => {
|
|
56
|
+
let mode = NFS.constants.F_OK;
|
|
57
|
+
if (options?.readable) {
|
|
58
|
+
mode |= NFS.constants.R_OK;
|
|
59
|
+
}
|
|
60
|
+
if (options?.writable) {
|
|
61
|
+
mode |= NFS.constants.W_OK;
|
|
62
|
+
}
|
|
63
|
+
return nodeAccess(path, mode);
|
|
64
|
+
};
|
|
65
|
+
})();
|
|
66
|
+
// == copyFile
|
|
67
|
+
const copyFile = /*#__PURE__*/(() => {
|
|
68
|
+
const nodeCopyFile = /*#__PURE__*/effectify(NFS.copyFile, /*#__PURE__*/handleErrnoException("copyFile"), /*#__PURE__*/handleBadArgument("copyFile"));
|
|
69
|
+
return (fromPath, toPath) => nodeCopyFile(fromPath, toPath);
|
|
70
|
+
})();
|
|
71
|
+
// == chmod
|
|
72
|
+
const chmod = /*#__PURE__*/(() => {
|
|
73
|
+
const nodeChmod = /*#__PURE__*/effectify(NFS.chmod, /*#__PURE__*/handleErrnoException("chmod"), /*#__PURE__*/handleBadArgument("chmod"));
|
|
74
|
+
return (path, mode) => nodeChmod(path, mode);
|
|
75
|
+
})();
|
|
76
|
+
// == chown
|
|
77
|
+
const chown = /*#__PURE__*/(() => {
|
|
78
|
+
const nodeChown = /*#__PURE__*/effectify(NFS.chown, /*#__PURE__*/handleErrnoException("chown"), /*#__PURE__*/handleBadArgument("chown"));
|
|
79
|
+
return (path, uid, gid) => nodeChown(path, uid, gid);
|
|
80
|
+
})();
|
|
81
|
+
// == link
|
|
82
|
+
const link = /*#__PURE__*/(() => {
|
|
83
|
+
const nodeLink = /*#__PURE__*/effectify(NFS.link, /*#__PURE__*/handleErrnoException("link"), /*#__PURE__*/handleBadArgument("link"));
|
|
84
|
+
return (existingPath, newPath) => nodeLink(existingPath, newPath);
|
|
85
|
+
})();
|
|
86
|
+
// == makeDirectory
|
|
87
|
+
const makeDirectory = /*#__PURE__*/(() => {
|
|
88
|
+
const nodeMkdir = /*#__PURE__*/effectify(NFS.mkdir, /*#__PURE__*/handleErrnoException("makeDirectory"), /*#__PURE__*/handleBadArgument("makeDirectory"));
|
|
89
|
+
return (path, options) => nodeMkdir(path, {
|
|
90
|
+
recursive: options?.recursive ?? false,
|
|
91
|
+
mode: options?.mode
|
|
92
|
+
});
|
|
93
|
+
})();
|
|
94
|
+
// == makeTempDirectory
|
|
95
|
+
const makeTempDirectoryFactory = method => {
|
|
96
|
+
const nodeMkdtemp = effectify(NFS.mkdtemp, handleErrnoException(method), handleBadArgument(method));
|
|
97
|
+
return options => Effect.suspend(() => {
|
|
98
|
+
const prefix = options?.prefix ?? "";
|
|
99
|
+
const directory = typeof options?.directory === "string" ? Path.join(options.directory, ".") : OS.tmpdir();
|
|
100
|
+
return nodeMkdtemp(prefix ? Path.join(directory, prefix) : directory);
|
|
101
|
+
});
|
|
102
|
+
};
|
|
103
|
+
const makeTempDirectory = /*#__PURE__*/makeTempDirectoryFactory("makeTempDirectory");
|
|
104
|
+
// == remove
|
|
105
|
+
const removeFactory = method => {
|
|
106
|
+
const nodeRm = effectify(NFS.rm, handleErrnoException(method), handleBadArgument(method));
|
|
107
|
+
return (path, options) => nodeRm(path, {
|
|
108
|
+
recursive: options?.recursive ?? false
|
|
109
|
+
});
|
|
110
|
+
};
|
|
111
|
+
const remove = /*#__PURE__*/removeFactory("remove");
|
|
112
|
+
// == makeTempDirectoryScoped
|
|
113
|
+
const makeTempDirectoryScoped = /*#__PURE__*/(() => {
|
|
114
|
+
const makeDirectory = /*#__PURE__*/makeTempDirectoryFactory("makeTempDirectoryScoped");
|
|
115
|
+
const removeDirectory = /*#__PURE__*/removeFactory("makeTempDirectoryScoped");
|
|
116
|
+
return options => Effect.acquireRelease(makeDirectory(options), directory => Effect.orDie(removeDirectory(directory, {
|
|
117
|
+
recursive: true
|
|
118
|
+
})));
|
|
119
|
+
})();
|
|
120
|
+
// == makeTempFile
|
|
121
|
+
const makeTempFile = /*#__PURE__*/(() => {
|
|
122
|
+
const makeDirectory = /*#__PURE__*/makeTempDirectoryFactory("makeTempFile");
|
|
123
|
+
const randomHexString = bytes => Effect.sync(() => Crypto.randomBytes(bytes).toString("hex"));
|
|
124
|
+
return options => Effect.flatMap(path => open(path, {
|
|
125
|
+
flag: "w+"
|
|
126
|
+
}))(Effect.map(([directory, random]) => Path.join(directory, random))(Effect.zip(makeDirectory(options), randomHexString(6))));
|
|
127
|
+
})();
|
|
128
|
+
// == open
|
|
129
|
+
const open = /*#__PURE__*/(() => {
|
|
130
|
+
const nodeOpen = /*#__PURE__*/effectify(NFS.open, /*#__PURE__*/handleErrnoException("open"), /*#__PURE__*/handleBadArgument("open"));
|
|
131
|
+
const nodeClose = /*#__PURE__*/effectify(NFS.close, /*#__PURE__*/handleErrnoException("open"), /*#__PURE__*/handleBadArgument("open"));
|
|
132
|
+
return (path, options) => Effect.map(fd => makeFile(File.Descriptor(fd)))(Effect.acquireRelease(nodeOpen(path, options?.flag ?? "r", options?.mode), fd => Effect.orDie(nodeClose(fd))));
|
|
133
|
+
})();
|
|
134
|
+
const makeFile = /*#__PURE__*/(() => {
|
|
135
|
+
var _a;
|
|
136
|
+
const nodeReadFactory = method => effectify(NFS.read, handleErrnoException(method), handleBadArgument(method));
|
|
137
|
+
const nodeRead = /*#__PURE__*/nodeReadFactory("read");
|
|
138
|
+
const nodeReadAlloc = /*#__PURE__*/nodeReadFactory("readAlloc");
|
|
139
|
+
const nodeStat = /*#__PURE__*/effectify(NFS.fstat, /*#__PURE__*/handleErrnoException("stat"), /*#__PURE__*/handleBadArgument("stat"));
|
|
140
|
+
const nodeTruncate = /*#__PURE__*/effectify(NFS.ftruncate, /*#__PURE__*/handleErrnoException("truncate"), /*#__PURE__*/handleBadArgument("truncate"));
|
|
141
|
+
const nodeWriteFactory = method => effectify(NFS.write, handleErrnoException(method), handleBadArgument(method));
|
|
142
|
+
const nodeWrite = /*#__PURE__*/nodeWriteFactory("write");
|
|
143
|
+
const nodeWriteAll = /*#__PURE__*/nodeWriteFactory("writeAll");
|
|
144
|
+
class FileImpl {
|
|
145
|
+
constructor(fd) {
|
|
146
|
+
this.fd = fd;
|
|
147
|
+
this[_a] = File.FileTypeId;
|
|
148
|
+
}
|
|
149
|
+
get stat() {
|
|
150
|
+
return Effect.map(nodeStat(this.fd), makeFileInfo);
|
|
151
|
+
}
|
|
152
|
+
read(buffer, options) {
|
|
153
|
+
return Effect.map(nodeRead(this.fd, {
|
|
154
|
+
buffer,
|
|
155
|
+
length: options?.length ? Number(options.length) : undefined,
|
|
156
|
+
offset: options?.offset ? Number(options.offset) : undefined
|
|
157
|
+
}), FileSystem.Size);
|
|
158
|
+
}
|
|
159
|
+
readAlloc(size, options) {
|
|
160
|
+
return Effect.flatMap(Effect.sync(() => Buffer.allocUnsafeSlow(Number(size))), buffer => Effect.map(nodeReadAlloc(this.fd, {
|
|
161
|
+
buffer,
|
|
162
|
+
length: options?.length ? Number(options.length) : undefined,
|
|
163
|
+
offset: options?.offset ? Number(options.offset) : undefined
|
|
164
|
+
}), bytesRead => {
|
|
165
|
+
if (bytesRead === 0) {
|
|
166
|
+
return Option.none();
|
|
167
|
+
}
|
|
168
|
+
if (bytesRead === Number(size)) {
|
|
169
|
+
return Option.some(buffer);
|
|
170
|
+
}
|
|
171
|
+
const dst = Buffer.allocUnsafeSlow(bytesRead);
|
|
172
|
+
buffer.copy(dst, 0, 0, bytesRead);
|
|
173
|
+
return Option.some(dst);
|
|
174
|
+
}));
|
|
175
|
+
}
|
|
176
|
+
truncate(length) {
|
|
177
|
+
return nodeTruncate(this.fd, Number(length));
|
|
178
|
+
}
|
|
179
|
+
write(buffer) {
|
|
180
|
+
return Effect.map(nodeWrite(this.fd, buffer), FileSystem.Size);
|
|
181
|
+
}
|
|
182
|
+
writeAll(buffer) {
|
|
183
|
+
return Effect.flatMap(nodeWriteAll(this.fd, buffer), bytesWritten => {
|
|
184
|
+
if (bytesWritten === buffer.length) {
|
|
185
|
+
return Effect.unit();
|
|
186
|
+
}
|
|
187
|
+
return this.writeAll(buffer.subarray(bytesWritten));
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
_a = File.FileTypeId;
|
|
192
|
+
return fd => new FileImpl(fd);
|
|
193
|
+
})();
|
|
194
|
+
// == readDirectory
|
|
195
|
+
const readDirectory = /*#__PURE__*/(() => {
|
|
196
|
+
const nodeReadDirectory = /*#__PURE__*/effectify(NFS.readdir, /*#__PURE__*/handleErrnoException("readDirectory"), /*#__PURE__*/handleBadArgument("readDirectory"));
|
|
197
|
+
return (path, options) => nodeReadDirectory(path, options);
|
|
198
|
+
})();
|
|
199
|
+
// == readFile
|
|
200
|
+
const readFile = path => Effect.asyncInterrupt(resume => {
|
|
201
|
+
const controller = new AbortController();
|
|
202
|
+
try {
|
|
203
|
+
NFS.readFile(path, {
|
|
204
|
+
signal: controller.signal
|
|
205
|
+
}, (err, data) => {
|
|
206
|
+
if (err) {
|
|
207
|
+
resume(Effect.fail(handleErrnoException("readFile")(err, [path])));
|
|
208
|
+
} else {
|
|
209
|
+
resume(Effect.succeed(data));
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
} catch (err) {
|
|
213
|
+
resume(Effect.fail(handleBadArgument("readFile")(err)));
|
|
214
|
+
}
|
|
215
|
+
return Effect.sync(() => controller.abort());
|
|
216
|
+
});
|
|
217
|
+
// == readLink
|
|
218
|
+
const readLink = /*#__PURE__*/(() => {
|
|
219
|
+
const nodeReadLink = /*#__PURE__*/effectify(NFS.readlink, /*#__PURE__*/handleErrnoException("readLink"), /*#__PURE__*/handleBadArgument("readLink"));
|
|
220
|
+
return path => nodeReadLink(path);
|
|
221
|
+
})();
|
|
222
|
+
// == realPath
|
|
223
|
+
const realPath = /*#__PURE__*/(() => {
|
|
224
|
+
const nodeRealPath = /*#__PURE__*/effectify(NFS.realpath, /*#__PURE__*/handleErrnoException("realPath"), /*#__PURE__*/handleBadArgument("realPath"));
|
|
225
|
+
return path => nodeRealPath(path);
|
|
226
|
+
})();
|
|
227
|
+
// == rename
|
|
228
|
+
const rename = /*#__PURE__*/(() => {
|
|
229
|
+
const nodeRename = /*#__PURE__*/effectify(NFS.rename, /*#__PURE__*/handleErrnoException("rename"), /*#__PURE__*/handleBadArgument("rename"));
|
|
230
|
+
return (oldPath, newPath) => nodeRename(oldPath, newPath);
|
|
231
|
+
})();
|
|
232
|
+
// == stat
|
|
233
|
+
const makeFileInfo = stat => ({
|
|
234
|
+
type: stat.isFile() ? "File" : stat.isDirectory() ? "Directory" : stat.isSymbolicLink() ? "SymbolicLink" : stat.isBlockDevice() ? "BlockDevice" : stat.isCharacterDevice() ? "CharacterDevice" : stat.isFIFO() ? "FIFO" : stat.isSocket() ? "Socket" : "Unknown",
|
|
235
|
+
mtime: Option.fromNullable(stat.mtime),
|
|
236
|
+
atime: Option.fromNullable(stat.atime),
|
|
237
|
+
birthtime: Option.fromNullable(stat.birthtime),
|
|
238
|
+
dev: stat.dev,
|
|
239
|
+
rdev: Option.fromNullable(stat.rdev),
|
|
240
|
+
ino: Option.fromNullable(stat.ino),
|
|
241
|
+
mode: stat.mode,
|
|
242
|
+
nlink: Option.fromNullable(stat.nlink),
|
|
243
|
+
uid: Option.fromNullable(stat.uid),
|
|
244
|
+
gid: Option.fromNullable(stat.gid),
|
|
245
|
+
size: FileSystem.Size(stat.size),
|
|
246
|
+
blksize: Option.fromNullable(FileSystem.Size(stat.blksize)),
|
|
247
|
+
blocks: Option.fromNullable(stat.blocks)
|
|
248
|
+
});
|
|
249
|
+
const stat = /*#__PURE__*/(() => {
|
|
250
|
+
const nodeStat = /*#__PURE__*/effectify(NFS.stat, /*#__PURE__*/handleErrnoException("stat"), /*#__PURE__*/handleBadArgument("stat"));
|
|
251
|
+
return path => Effect.map(nodeStat(path), makeFileInfo);
|
|
252
|
+
})();
|
|
253
|
+
// == symlink
|
|
254
|
+
const symlink = /*#__PURE__*/(() => {
|
|
255
|
+
const nodeSymlink = /*#__PURE__*/effectify(NFS.symlink, /*#__PURE__*/handleErrnoException("symlink"), /*#__PURE__*/handleBadArgument("symlink"));
|
|
256
|
+
return (target, path) => nodeSymlink(target, path);
|
|
257
|
+
})();
|
|
258
|
+
// == truncate
|
|
259
|
+
const truncate = /*#__PURE__*/(() => {
|
|
260
|
+
const nodeTruncate = /*#__PURE__*/effectify(NFS.truncate, /*#__PURE__*/handleErrnoException("truncate"), /*#__PURE__*/handleBadArgument("truncate"));
|
|
261
|
+
return (path, length) => nodeTruncate(path, Number(length));
|
|
262
|
+
})();
|
|
263
|
+
// == utime
|
|
264
|
+
const utime = /*#__PURE__*/(() => {
|
|
265
|
+
const nodeUtime = /*#__PURE__*/effectify(NFS.utimes, /*#__PURE__*/handleErrnoException("utime"), /*#__PURE__*/handleBadArgument("utime"));
|
|
266
|
+
return (path, atime, mtime) => nodeUtime(path, atime, mtime);
|
|
267
|
+
})();
|
|
268
|
+
// == writeFile
|
|
269
|
+
const writeFile = (path, data, options) => Effect.asyncInterrupt(resume => {
|
|
270
|
+
const controller = new AbortController();
|
|
271
|
+
try {
|
|
272
|
+
NFS.writeFile(path, data, {
|
|
273
|
+
signal: controller.signal,
|
|
274
|
+
flag: options?.flag,
|
|
275
|
+
mode: options?.mode
|
|
276
|
+
}, err => {
|
|
277
|
+
if (err) {
|
|
278
|
+
resume(Effect.fail(handleErrnoException("writeFile")(err, [path])));
|
|
279
|
+
} else {
|
|
280
|
+
resume(Effect.unit());
|
|
281
|
+
}
|
|
282
|
+
});
|
|
283
|
+
} catch (err) {
|
|
284
|
+
resume(Effect.fail(handleBadArgument("writeFile")(err)));
|
|
285
|
+
}
|
|
286
|
+
return Effect.sync(() => controller.abort());
|
|
287
|
+
});
|
|
288
|
+
const fileSystemImpl = /*#__PURE__*/FileSystem.make({
|
|
289
|
+
access,
|
|
290
|
+
copyFile,
|
|
291
|
+
chmod,
|
|
292
|
+
chown,
|
|
293
|
+
link,
|
|
294
|
+
makeDirectory,
|
|
295
|
+
makeTempDirectory,
|
|
296
|
+
makeTempDirectoryScoped,
|
|
297
|
+
makeTempFile,
|
|
298
|
+
open,
|
|
299
|
+
readDirectory,
|
|
300
|
+
readFile,
|
|
301
|
+
readLink,
|
|
302
|
+
realPath,
|
|
303
|
+
remove,
|
|
304
|
+
rename,
|
|
305
|
+
stat,
|
|
306
|
+
symlink,
|
|
307
|
+
truncate,
|
|
308
|
+
utime,
|
|
309
|
+
writeFile
|
|
310
|
+
});
|
|
311
|
+
/** @internal */
|
|
312
|
+
export const layer = /*#__PURE__*/Layer.succeed(FileSystem.FileSystem, fileSystemImpl);
|
|
313
|
+
//# sourceMappingURL=fileSystem.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileSystem.mjs","names":["Option","Effect","Layer","effectify","Error","FileSystem","File","Crypto","NFS","OS","Path","handleErrnoException","method","err","path","reason","code","SystemError","module","pathOrDescriptor","toString","syscall","message","handleBadArgument","BadArgument","String","access","nodeAccess","options","mode","constants","F_OK","readable","R_OK","writable","W_OK","copyFile","nodeCopyFile","fromPath","toPath","chmod","nodeChmod","chown","nodeChown","uid","gid","link","nodeLink","existingPath","newPath","makeDirectory","nodeMkdir","mkdir","recursive","makeTempDirectoryFactory","nodeMkdtemp","mkdtemp","suspend","prefix","directory","join","tmpdir","makeTempDirectory","removeFactory","nodeRm","rm","remove","makeTempDirectoryScoped","removeDirectory","acquireRelease","orDie","makeTempFile","randomHexString","bytes","sync","randomBytes","flatMap","open","flag","map","random","zip","nodeOpen","nodeClose","close","fd","makeFile","Descriptor","nodeReadFactory","read","nodeRead","nodeReadAlloc","nodeStat","fstat","nodeTruncate","ftruncate","nodeWriteFactory","write","nodeWrite","nodeWriteAll","FileImpl","constructor","_a","FileTypeId","stat","makeFileInfo","buffer","length","Number","undefined","offset","Size","readAlloc","size","Buffer","allocUnsafeSlow","bytesRead","none","some","dst","copy","truncate","writeAll","bytesWritten","unit","subarray","readDirectory","nodeReadDirectory","readdir","readFile","asyncInterrupt","resume","controller","AbortController","signal","data","fail","succeed","abort","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","utime","nodeUtime","utimes","writeFile","fileSystemImpl","make","layer"],"sources":["../../src/internal/fileSystem.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as Effect from "@effect/io/Effect";
|
|
2
|
+
import * as Fiber from "@effect/io/Fiber";
|
|
3
|
+
import { defaultTeardown } from "@effect/platform/Runtime";
|
|
4
|
+
/** @internal */
|
|
5
|
+
export const runMain = (effect, teardown = defaultTeardown) => {
|
|
6
|
+
const fiber = Effect.runFork(effect);
|
|
7
|
+
fiber.unsafeAddObserver(exit => teardown(exit, code => {
|
|
8
|
+
Effect.runCallback(interruptAll(fiber.id()), () => {
|
|
9
|
+
process.exit(code);
|
|
10
|
+
});
|
|
11
|
+
}));
|
|
12
|
+
function onSigint() {
|
|
13
|
+
process.removeListener("SIGINT", onSigint);
|
|
14
|
+
process.removeListener("SIGTERM", onSigint);
|
|
15
|
+
Effect.runFork(fiber.interruptAsFork(fiber.id()));
|
|
16
|
+
}
|
|
17
|
+
process.once("SIGINT", onSigint);
|
|
18
|
+
process.once("SIGTERM", onSigint);
|
|
19
|
+
};
|
|
20
|
+
const interruptAll = id => Effect.flatMap(Fiber.roots(), roots => {
|
|
21
|
+
if (roots.length === 0) {
|
|
22
|
+
return Effect.unit();
|
|
23
|
+
}
|
|
24
|
+
return Fiber.interruptAllAs(roots, id);
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=runtime.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.mjs","names":["Effect","Fiber","defaultTeardown","runMain","effect","teardown","fiber","runFork","unsafeAddObserver","exit","code","runCallback","interruptAll","id","process","onSigint","removeListener","interruptAsFork","once","flatMap","roots","length","unit","interruptAllAs"],"sources":["../../src/internal/runtime.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,MAAM,MAAM,mBAAmB;AAC3C,OAAO,KAAKC,KAAK,MAAM,kBAAkB;AAEzC,SAASC,eAAe,QAAsB,0BAA0B;AAExE;AACA,OAAO,MAAMC,OAAO,GAAYA,CAC9BC,MAAkC,EAClCC,QAAQ,GAAGH,eAAe,KACxB;EACF,MAAMI,KAAK,GAAGN,MAAM,CAACO,OAAO,CAACH,MAAM,CAAC;EAEpCE,KAAK,CAACE,iBAAiB,CAAEC,IAAI,IAC3BJ,QAAQ,CAACI,IAAI,EAAGC,IAAI,IAAI;IACtBV,MAAM,CAACW,WAAW,CAACC,YAAY,CAACN,KAAK,CAACO,EAAE,EAAE,CAAC,EAAE,MAAK;MAChDC,OAAO,CAACL,IAAI,CAACC,IAAI,CAAC;IACpB,CAAC,CAAC;EACJ,CAAC,CAAC,CACH;EAED,SAASK,QAAQA,CAAA;IACfD,OAAO,CAACE,cAAc,CAAC,QAAQ,EAAED,QAAQ,CAAC;IAC1CD,OAAO,CAACE,cAAc,CAAC,SAAS,EAAED,QAAQ,CAAC;IAE3Cf,MAAM,CAACO,OAAO,CAACD,KAAK,CAACW,eAAe,CAACX,KAAK,CAACO,EAAE,EAAE,CAAC,CAAC;EACnD;EAEAC,OAAO,CAACI,IAAI,CAAC,QAAQ,EAAEH,QAAQ,CAAC;EAChCD,OAAO,CAACI,IAAI,CAAC,SAAS,EAAEH,QAAQ,CAAC;AACnC,CAAC;AAED,MAAMH,YAAY,GAAIC,EAAmB,IACvCb,MAAM,CAACmB,OAAO,CAAClB,KAAK,CAACmB,KAAK,EAAE,EAAGA,KAAK,IAAI;EACtC,IAAIA,KAAK,CAACC,MAAM,KAAK,CAAC,EAAE;IACtB,OAAOrB,MAAM,CAACsB,IAAI,EAAE;;EAGtB,OAAOrB,KAAK,CAACsB,cAAc,CAACH,KAAK,EAAEP,EAAE,CAAC;AACxC,CAAC,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as Effect from "@effect/io/Effect";
|
|
2
|
+
import * as Sink from "@effect/stream/Sink";
|
|
3
|
+
/** @internal */
|
|
4
|
+
export const fromWritable = (evaluate, onError, {
|
|
5
|
+
encoding,
|
|
6
|
+
endOnClose = true
|
|
7
|
+
} = {}) => endOnClose ? makeSinkWithRelease(evaluate, onError, encoding) : makeSink(evaluate, onError, encoding);
|
|
8
|
+
const makeSink = (stream, onError, encoding) => Sink.unwrap(Effect.map(stream => Sink.forEach(write(stream, onError, encoding)))(Effect.sync(stream)));
|
|
9
|
+
const makeSinkWithRelease = (stream, onError, encoding) => Sink.unwrapScoped(Effect.map(stream => Sink.forEach(write(stream, onError, encoding)))(Effect.acquireRelease(Effect.sync(stream), endWritable)));
|
|
10
|
+
const endWritable = stream => Effect.async(resume => {
|
|
11
|
+
if (stream.closed) {
|
|
12
|
+
resume(Effect.unit());
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
stream.end(() => resume(Effect.unit()));
|
|
16
|
+
});
|
|
17
|
+
const write = (stream, onError, encoding) => _ => Effect.async(resume => {
|
|
18
|
+
const cb = err => {
|
|
19
|
+
if (err) {
|
|
20
|
+
resume(Effect.fail(onError(err)));
|
|
21
|
+
} else {
|
|
22
|
+
resume(Effect.unit());
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
if (encoding) {
|
|
26
|
+
stream.write(_, encoding, cb);
|
|
27
|
+
} else {
|
|
28
|
+
stream.write(_, cb);
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
//# sourceMappingURL=sink.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sink.mjs","names":["Effect","Sink","fromWritable","evaluate","onError","encoding","endOnClose","makeSinkWithRelease","makeSink","stream","unwrap","map","forEach","write","sync","unwrapScoped","acquireRelease","endWritable","async","resume","closed","unit","end","_","cb","err","fail"],"sources":["../../src/internal/sink.ts"],"sourcesContent":[null],"mappings":"AAEA,OAAO,KAAKA,MAAM,MAAM,mBAAmB;AAE3C,OAAO,KAAKC,IAAI,MAAM,qBAAqB;AAG3C;AACA,OAAO,MAAMC,YAAY,GAAGA,CAC1BC,QAA2B,EAC3BC,OAA8B,EAC9B;EAAEC,QAAQ;EAAEC,UAAU,GAAG;AAAI,IAA0B,EAAE,KAEzDA,UAAU,GACRC,mBAAmB,CAAOJ,QAAQ,EAAEC,OAAO,EAAEC,QAAQ,CAAC,GACtDG,QAAQ,CAAOL,QAAQ,EAAEC,OAAO,EAAEC,QAAQ,CAAC;AAE/C,MAAMG,QAAQ,GAAGA,CAAOC,MAAyB,EAAEL,OAA8B,EAAEC,QAAyB,KAIxGJ,IAAI,CAACS,MAAM,CADXV,MAAM,CAACW,GAAG,CAAEF,MAAM,IAAKR,IAAI,CAACW,OAAO,CAACC,KAAK,CAAOJ,MAAM,EAAEL,OAAO,EAAEC,QAAQ,CAAC,CAAC,CAAC,CAD5EL,MAAM,CAACc,IAAI,CAACL,MAAM,CAAC,EAGpB;AAEH,MAAMF,mBAAmB,GAAGA,CAC1BE,MAAyB,EACzBL,OAA8B,EAC9BC,QAAyB,KAKvBJ,IAAI,CAACc,YAAY,CADjBf,MAAM,CAACW,GAAG,CAAEF,MAAM,IAAKR,IAAI,CAACW,OAAO,CAACC,KAAK,CAAOJ,MAAM,EAAEL,OAAO,EAAEC,QAAQ,CAAC,CAAC,CAAC,CAD5EL,MAAM,CAACgB,cAAc,CAAChB,MAAM,CAACc,IAAI,CAACL,MAAM,CAAC,EAAEQ,WAAW,CAAC,EAGxD;AAEH,MAAMA,WAAW,GAAIR,MAAgB,IACnCT,MAAM,CAACkB,KAAK,CAAsBC,MAAM,IAAI;EAC1C,IAAIV,MAAM,CAACW,MAAM,EAAE;IACjBD,MAAM,CAACnB,MAAM,CAACqB,IAAI,EAAE,CAAC;IACrB;;EAGFZ,MAAM,CAACa,GAAG,CAAC,MAAMH,MAAM,CAACnB,MAAM,CAACqB,IAAI,EAAE,CAAC,CAAC;AACzC,CAAC,CAAC;AAEJ,MAAMR,KAAK,GAAGA,CAAOJ,MAAgB,EAAEL,OAA8B,EAAEC,QAAyB,KAC7FkB,CAAI,IACHvB,MAAM,CAACkB,KAAK,CAAkBC,MAAM,IAAI;EACtC,MAAMK,EAAE,GAAIC,GAAkB,IAAI;IAChC,IAAIA,GAAG,EAAE;MACPN,MAAM,CAACnB,MAAM,CAAC0B,IAAI,CAACtB,OAAO,CAACqB,GAAG,CAAC,CAAC,CAAC;KAClC,MAAM;MACLN,MAAM,CAACnB,MAAM,CAACqB,IAAI,EAAE,CAAC;;EAEzB,CAAC;EAED,IAAIhB,QAAQ,EAAE;IACZI,MAAM,CAACI,KAAK,CAACU,CAAC,EAAElB,QAAQ,EAAEmB,EAAE,CAAC;GAC9B,MAAM;IACLf,MAAM,CAACI,KAAK,CAACU,CAAC,EAAEC,EAAE,CAAC;;AAEvB,CAAC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import * as Option from "@effect/data/Option";
|
|
2
|
+
import * as Effect from "@effect/io/Effect";
|
|
3
|
+
import { Size } from "@effect/platform/FileSystem";
|
|
4
|
+
import * as Stream from "@effect/stream/Stream";
|
|
5
|
+
const DEFAULT_CHUNK_SIZE = /*#__PURE__*/Size(64 * 1024);
|
|
6
|
+
/** @internal */
|
|
7
|
+
export const fromReadable = (evaluate, onError, {
|
|
8
|
+
chunkSize = DEFAULT_CHUNK_SIZE
|
|
9
|
+
} = {}) => Stream.flatMap(_ => Stream.repeatEffectOption(readChunk(_, chunkSize)))(Stream.unwrapScoped(Effect.map(stream => Stream.async(emit => {
|
|
10
|
+
stream.once("error", err => {
|
|
11
|
+
emit.fail(onError(err));
|
|
12
|
+
});
|
|
13
|
+
stream.once("end", () => {
|
|
14
|
+
emit.end();
|
|
15
|
+
});
|
|
16
|
+
stream.on("readable", () => {
|
|
17
|
+
emit.single(stream);
|
|
18
|
+
});
|
|
19
|
+
if (stream.readable) {
|
|
20
|
+
emit.single(stream);
|
|
21
|
+
}
|
|
22
|
+
}, 0))(Effect.acquireRelease(Effect.sync(evaluate), stream => Effect.sync(() => {
|
|
23
|
+
stream.removeAllListeners();
|
|
24
|
+
if (!stream.closed) {
|
|
25
|
+
stream.destroy();
|
|
26
|
+
}
|
|
27
|
+
})))));
|
|
28
|
+
const readChunk = (stream, size) => Effect.flatMap(a => a ? Effect.succeed(a) : Effect.fail(Option.none()))(Effect.sync(() => stream.read(Number(size))));
|
|
29
|
+
//# sourceMappingURL=stream.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream.mjs","names":["Option","Effect","Size","Stream","DEFAULT_CHUNK_SIZE","fromReadable","evaluate","onError","chunkSize","flatMap","_","repeatEffectOption","readChunk","unwrapScoped","map","stream","async","emit","once","err","fail","end","on","single","readable","acquireRelease","sync","removeAllListeners","closed","destroy","size","a","succeed","none","read","Number"],"sources":["../../src/internal/stream.ts"],"sourcesContent":[null],"mappings":"AAEA,OAAO,KAAKA,MAAM,MAAM,qBAAqB;AAC7C,OAAO,KAAKC,MAAM,MAAM,mBAAmB;AAE3C,SAASC,IAAI,QAAQ,6BAA6B;AAClD,OAAO,KAAKC,MAAM,MAAM,uBAAuB;AAG/C,MAAMC,kBAAkB,gBAAGF,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;AAE1C;AACA,OAAO,MAAMG,YAAY,GAAGA,CAC1BC,QAA2B,EAC3BC,OAA8B,EAC9B;EAAEC,SAAS,GAAGJ;AAAkB,IAA0B,EAAE,KA+B1DD,MAAM,CAACM,OAAO,CAAEC,CAAC,IAAKP,MAAM,CAACQ,kBAAkB,CAACC,SAAS,CAAIF,CAAC,EAAEF,SAAS,CAAC,CAAC,CAAC,CAD5EL,MAAM,CAACU,YAAY,CAnBnBZ,MAAM,CAACa,GAAG,CAAEC,MAAM,IAChBZ,MAAM,CAACa,KAAK,CAAsBC,IAAI,IAAI;EACxCF,MAAM,CAACG,IAAI,CAAC,OAAO,EAAGC,GAAG,IAAI;IAC3BF,IAAI,CAACG,IAAI,CAACb,OAAO,CAACY,GAAG,CAAC,CAAC;EACzB,CAAC,CAAC;EAEFJ,MAAM,CAACG,IAAI,CAAC,KAAK,EAAE,MAAK;IACtBD,IAAI,CAACI,GAAG,EAAE;EACZ,CAAC,CAAC;EAEFN,MAAM,CAACO,EAAE,CAAC,UAAU,EAAE,MAAK;IACzBL,IAAI,CAACM,MAAM,CAACR,MAAM,CAAC;EACrB,CAAC,CAAC;EAEF,IAAIA,MAAM,CAACS,QAAQ,EAAE;IACnBP,IAAI,CAACM,MAAM,CAACR,MAAM,CAAC;;AAEvB,CAAC,EAAE,CAAC,CAAC,CACN,CA1BDd,MAAM,CAACwB,cAAc,CAACxB,MAAM,CAACyB,IAAI,CAACpB,QAAQ,CAAC,EAAGS,MAAM,IAClDd,MAAM,CAACyB,IAAI,CAAC,MAAK;EACfX,MAAM,CAACY,kBAAkB,EAAE;EAE3B,IAAI,CAACZ,MAAM,CAACa,MAAM,EAAE;IAClBb,MAAM,CAACc,OAAO,EAAE;;AAEpB,CAAC,CAAC,CAAC,GAsBN;AAEH,MAAMjB,SAAS,GAAGA,CAChBG,MAAgB,EAChBe,IAAU,KAIR7B,MAAM,CAACQ,OAAO,CAAEsB,CAAC,IAAMA,CAAC,GAAG9B,MAAM,CAAC+B,OAAO,CAACD,CAAC,CAAC,GAAG9B,MAAM,CAACmB,IAAI,CAACpB,MAAM,CAACiC,IAAI,EAAE,CAAE,CAAC,CAD3EhC,MAAM,CAACyB,IAAI,CAAC,MAAMX,MAAM,CAACmB,IAAI,CAACC,MAAM,CAACL,IAAI,CAAC,CAAa,CAAC,CAEzD"}
|
package/package.json
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@effect/platform-node",
|
|
3
|
+
"version": "0.0.0",
|
|
4
|
+
"license": "MIT",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "https://github.com/effect-ts/platform.git"
|
|
8
|
+
},
|
|
9
|
+
"dependencies": {
|
|
10
|
+
"@effect/data": "^0.12.5",
|
|
11
|
+
"@effect/io": "^0.26.0",
|
|
12
|
+
"@effect/stream": "^0.22.0",
|
|
13
|
+
"@effect/platform": "^0.0.0"
|
|
14
|
+
},
|
|
15
|
+
"publishConfig": {
|
|
16
|
+
"access": "public"
|
|
17
|
+
},
|
|
18
|
+
"sideEffects": [],
|
|
19
|
+
"exports": {
|
|
20
|
+
"./*": {
|
|
21
|
+
"import": {
|
|
22
|
+
"types": "./*.d.ts",
|
|
23
|
+
"default": "./mjs/*.mjs"
|
|
24
|
+
},
|
|
25
|
+
"require": {
|
|
26
|
+
"types": "./*.d.ts",
|
|
27
|
+
"default": "./*.js"
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
package/src/Console.ts
ADDED
package/src/Effectify.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
export type {
|
|
6
|
+
/**
|
|
7
|
+
* @since 1.0.0
|
|
8
|
+
*/
|
|
9
|
+
Effectify,
|
|
10
|
+
/**
|
|
11
|
+
* @since 1.0.0
|
|
12
|
+
*/
|
|
13
|
+
EffectifyError
|
|
14
|
+
} from "@effect/platform/Effectify"
|
|
15
|
+
|
|
16
|
+
export {
|
|
17
|
+
/**
|
|
18
|
+
* @since 1.0.0
|
|
19
|
+
* @category constructor
|
|
20
|
+
*/
|
|
21
|
+
effectify
|
|
22
|
+
} from "@effect/platform/Effectify"
|
package/src/Error.ts
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
export {
|
|
6
|
+
/**
|
|
7
|
+
* @since 1.0.0
|
|
8
|
+
* @category error
|
|
9
|
+
*/
|
|
10
|
+
BadArgument,
|
|
11
|
+
/**
|
|
12
|
+
* @since 1.0.0
|
|
13
|
+
* @category error
|
|
14
|
+
*/
|
|
15
|
+
PlatformError,
|
|
16
|
+
/**
|
|
17
|
+
* @since 1.0.0
|
|
18
|
+
* @category type id
|
|
19
|
+
*/
|
|
20
|
+
PlatformErrorTypeId,
|
|
21
|
+
/**
|
|
22
|
+
* @since 1.0.0
|
|
23
|
+
* @category error
|
|
24
|
+
*/
|
|
25
|
+
SystemError,
|
|
26
|
+
/**
|
|
27
|
+
* @since 1.0.0
|
|
28
|
+
* @category model
|
|
29
|
+
*/
|
|
30
|
+
SystemErrorReason
|
|
31
|
+
} from "@effect/platform/Error"
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import type { Layer } from "@effect/io/Layer"
|
|
6
|
+
import * as internal from "@effect/platform-node/internal/fileSystem"
|
|
7
|
+
import type { FileSystem } from "@effect/platform/FileSystem"
|
|
8
|
+
|
|
9
|
+
export type {
|
|
10
|
+
/**
|
|
11
|
+
* @since 1.0.0
|
|
12
|
+
* @category model
|
|
13
|
+
*/
|
|
14
|
+
MakeDirectoryOptions,
|
|
15
|
+
/**
|
|
16
|
+
* @since 1.0.0
|
|
17
|
+
* @category model
|
|
18
|
+
*/
|
|
19
|
+
MakeTempDirectoryOptions,
|
|
20
|
+
/**
|
|
21
|
+
* @since 1.0.0
|
|
22
|
+
* @category model
|
|
23
|
+
*/
|
|
24
|
+
MakeTempFileOptions,
|
|
25
|
+
/**
|
|
26
|
+
* @since 1.0.0
|
|
27
|
+
* @category model
|
|
28
|
+
*/
|
|
29
|
+
OpenFileOptions,
|
|
30
|
+
/**
|
|
31
|
+
* @since 1.0.0
|
|
32
|
+
* @category model
|
|
33
|
+
*/
|
|
34
|
+
ReadDirectoryOptions,
|
|
35
|
+
/**
|
|
36
|
+
* @since 1.0.0
|
|
37
|
+
* @category model
|
|
38
|
+
*/
|
|
39
|
+
RemoveOptions,
|
|
40
|
+
/**
|
|
41
|
+
* @since 1.0.0
|
|
42
|
+
* @category model
|
|
43
|
+
*/
|
|
44
|
+
SinkOptions,
|
|
45
|
+
/**
|
|
46
|
+
* @since 1.0.0
|
|
47
|
+
* @category model
|
|
48
|
+
*/
|
|
49
|
+
StreamOptions,
|
|
50
|
+
/**
|
|
51
|
+
* @since 1.0.0
|
|
52
|
+
* @category model
|
|
53
|
+
*/
|
|
54
|
+
WriteFileOptions
|
|
55
|
+
} from "@effect/platform/FileSystem"
|
|
56
|
+
|
|
57
|
+
export {
|
|
58
|
+
/**
|
|
59
|
+
* @since 1.0.0
|
|
60
|
+
* @category tag
|
|
61
|
+
*/
|
|
62
|
+
FileSystem,
|
|
63
|
+
/**
|
|
64
|
+
* @since 1.0.0
|
|
65
|
+
* @category constructor
|
|
66
|
+
*/
|
|
67
|
+
Size
|
|
68
|
+
} from "@effect/platform/FileSystem"
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* @since 1.0.0
|
|
72
|
+
* @category layer
|
|
73
|
+
*/
|
|
74
|
+
export const layer: Layer<never, never, FileSystem> = internal.layer
|