@effect/platform-node 0.10.4 → 0.10.5

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/FileSystem.d.ts CHANGED
@@ -55,6 +55,11 @@ export {
55
55
  * @category tag
56
56
  */
57
57
  FileSystem,
58
+ /**
59
+ * @since 1.0.0
60
+ * @category model
61
+ */
62
+ SeekMode,
58
63
  /**
59
64
  * @since 1.0.0
60
65
  * @category constructor
@@ -1 +1 @@
1
- {"version":3,"file":"FileSystem.d.ts","sourceRoot":"","sources":["./src/FileSystem.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAE7D,YAAY;AACV;;;GAGG;AACH,oBAAoB;AACpB;;;GAGG;AACH,wBAAwB;AACxB;;;GAGG;AACH,mBAAmB;AACnB;;;GAGG;AACH,eAAe;AACf;;;GAGG;AACH,oBAAoB;AACpB;;;GAGG;AACH,aAAa;AACb;;;GAGG;AACH,WAAW;AACX;;;GAGG;AACH,aAAa;AACb;;;GAGG;AACH,gBAAgB,EACjB,MAAM,6BAA6B,CAAA;AAEpC,OAAO;AACL;;;GAGG;AACH,UAAU;AACV;;;GAGG;AACH,IAAI,EACL,MAAM,6BAA6B,CAAA;AAEpC;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAkB,CAAA"}
1
+ {"version":3,"file":"FileSystem.d.ts","sourceRoot":"","sources":["./src/FileSystem.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAE7D,YAAY;AACV;;;GAGG;AACH,oBAAoB;AACpB;;;GAGG;AACH,wBAAwB;AACxB;;;GAGG;AACH,mBAAmB;AACnB;;;GAGG;AACH,eAAe;AACf;;;GAGG;AACH,oBAAoB;AACpB;;;GAGG;AACH,aAAa;AACb;;;GAGG;AACH,WAAW;AACX;;;GAGG;AACH,aAAa;AACb;;;GAGG;AACH,gBAAgB,EACjB,MAAM,6BAA6B,CAAA;AAEpC,OAAO;AACL;;;GAGG;AACH,UAAU;AACV;;;GAGG;AACH,QAAQ;AACR;;;GAGG;AACH,IAAI,EACL,MAAM,6BAA6B,CAAA;AAEpC;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAkB,CAAA"}
package/FileSystem.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"FileSystem.js","names":["internal","_interopRequireWildcard","require","_FileSystem","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","layer","exports"],"sources":["./src/FileSystem.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;AAKA,IAAAA,QAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAmDA,IAAAC,WAAA,gBAAAD,OAAA;AAWoC,SAAAE,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAJ,wBAAAQ,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAnEpC;;;;AAqEA;;;;AAIO,MAAMW,KAAK,GAAoC1B,QAAQ,CAAC0B,KAAK;AAAAC,OAAA,CAAAD,KAAA,GAAAA,KAAA"}
1
+ {"version":3,"file":"FileSystem.js","names":["internal","_interopRequireWildcard","require","_FileSystem","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","layer","exports"],"sources":["./src/FileSystem.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;AAKA,IAAAA,QAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAmDA,IAAAC,WAAA,gBAAAD,OAAA;AAgBoC,SAAAE,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAJ,wBAAAQ,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAxEpC;;;;AA0EA;;;;AAIO,MAAMW,KAAK,GAAoC1B,QAAQ,CAAC0B,KAAK;AAAAC,OAAA,CAAAD,KAAA,GAAAA,KAAA"}
@@ -104,7 +104,7 @@ const makeTempDirectoryScoped = /*#__PURE__*/(() => {
104
104
  const openFactory = method => {
105
105
  const nodeOpen = (0, _Effectify.effectify)(NFS.open, (0, _error.handleErrnoException)("FileSystem", method), handleBadArgument(method));
106
106
  const nodeClose = (0, _Effectify.effectify)(NFS.close, (0, _error.handleErrnoException)("FileSystem", method), handleBadArgument(method));
107
- return (path, options) => Effect.map(fd => makeFile(FileSystem.FileDescriptor(fd)))(Effect.acquireRelease(nodeOpen(path, options?.flag ?? "r", options?.mode), fd => Effect.orDie(nodeClose(fd))));
107
+ return (path, options) => Effect.map(fd => makeFile(FileSystem.FileDescriptor(fd), options?.flag?.startsWith("a") ?? false))(Effect.acquireRelease(nodeOpen(path, options?.flag ?? "r", options?.mode), fd => Effect.orDie(nodeClose(fd))));
108
108
  };
109
109
  const open = /*#__PURE__*/openFactory("open");
110
110
  const makeFile = /*#__PURE__*/(() => {
@@ -118,45 +118,74 @@ const makeFile = /*#__PURE__*/(() => {
118
118
  const nodeWrite = /*#__PURE__*/nodeWriteFactory("write");
119
119
  const nodeWriteAll = /*#__PURE__*/nodeWriteFactory("writeAll");
120
120
  class FileImpl {
121
- constructor(fd) {
121
+ constructor(fd, append) {
122
122
  this.fd = fd;
123
+ this.append = append;
123
124
  this[_a] = _Function.identity;
125
+ this.semaphore = Effect.unsafeMakeSemaphore(1);
126
+ this.position = 0n;
124
127
  }
125
128
  get stat() {
126
129
  return Effect.map(nodeStat(this.fd), makeFileInfo);
127
130
  }
128
- read(buffer, options) {
129
- return Effect.map(nodeRead(this.fd, {
131
+ seek(offset, from) {
132
+ return this.semaphore.withPermits(1)(Effect.sync(() => {
133
+ if (from === "start") {
134
+ this.position = offset;
135
+ } else if (from === "current") {
136
+ this.position = this.position + offset;
137
+ }
138
+ return this.position;
139
+ }));
140
+ }
141
+ read(buffer) {
142
+ return this.semaphore.withPermits(1)(Effect.map(Effect.suspend(() => nodeRead(this.fd, {
130
143
  buffer,
131
- length: options?.length ? Number(options.length) : undefined,
132
- position: options?.offset
133
- }), FileSystem.Size);
144
+ position: this.position
145
+ })), bytesRead => {
146
+ const sizeRead = FileSystem.Size(bytesRead);
147
+ this.position = this.position + sizeRead;
148
+ return sizeRead;
149
+ }));
134
150
  }
135
- readAlloc(size, options) {
136
- return Effect.flatMap(Effect.sync(() => Buffer.allocUnsafeSlow(Number(size))), buffer => Effect.map(nodeReadAlloc(this.fd, {
151
+ readAlloc(size) {
152
+ return this.semaphore.withPermits(1)(Effect.flatMap(Effect.sync(() => Buffer.allocUnsafeSlow(Number(size))), buffer => Effect.map(nodeReadAlloc(this.fd, {
137
153
  buffer,
138
- length: options?.length ? Number(options.length) : undefined,
139
- position: options?.offset
154
+ position: this.position
140
155
  }), bytesRead => {
141
156
  if (bytesRead === 0) {
142
157
  return Option.none();
143
158
  }
159
+ this.position = this.position + BigInt(bytesRead);
144
160
  if (bytesRead === Number(size)) {
145
161
  return Option.some(buffer);
146
162
  }
147
163
  const dst = Buffer.allocUnsafeSlow(bytesRead);
148
164
  buffer.copy(dst, 0, 0, bytesRead);
149
165
  return Option.some(dst);
150
- }));
166
+ })));
151
167
  }
152
168
  truncate(length) {
153
- return nodeTruncate(this.fd, length ? Number(length) : undefined);
169
+ return this.semaphore.withPermits(1)(Effect.map(nodeTruncate(this.fd, length ? Number(length) : undefined), () => {
170
+ if (!this.append) {
171
+ const len = BigInt(length ?? 0);
172
+ if (this.position > len) {
173
+ this.position = len;
174
+ }
175
+ }
176
+ }));
154
177
  }
155
178
  write(buffer) {
156
- return Effect.map(nodeWrite(this.fd, buffer), FileSystem.Size);
179
+ return this.semaphore.withPermits(1)(Effect.map(Effect.suspend(() => nodeWrite(this.fd, buffer, undefined, undefined, this.append ? undefined : Number(this.position))), bytesWritten => {
180
+ const sizeWritten = FileSystem.Size(bytesWritten);
181
+ if (!this.append) {
182
+ this.position = this.position + sizeWritten;
183
+ }
184
+ return sizeWritten;
185
+ }));
157
186
  }
158
- writeAll(buffer) {
159
- return Effect.flatMap(nodeWriteAll(this.fd, buffer), bytesWritten => {
187
+ writeAllChunk(buffer) {
188
+ return Effect.flatMap(Effect.suspend(() => nodeWriteAll(this.fd, buffer, undefined, undefined, this.append ? undefined : Number(this.position))), bytesWritten => {
160
189
  if (bytesWritten === 0) {
161
190
  return Effect.fail(Error.SystemError({
162
191
  module: "FileSystem",
@@ -165,15 +194,19 @@ const makeFile = /*#__PURE__*/(() => {
165
194
  pathOrDescriptor: this.fd,
166
195
  message: "write returned 0 bytes written"
167
196
  }));
168
- } else if (bytesWritten < buffer.length) {
169
- return this.writeAll(buffer.subarray(bytesWritten));
170
197
  }
171
- return Effect.unit;
198
+ if (!this.append) {
199
+ this.position = this.position + BigInt(bytesWritten);
200
+ }
201
+ return bytesWritten < buffer.length ? this.writeAllChunk(buffer.subarray(bytesWritten)) : Effect.unit;
172
202
  });
173
203
  }
204
+ writeAll(buffer) {
205
+ return this.semaphore.withPermits(1)(this.writeAllChunk(buffer));
206
+ }
174
207
  }
175
208
  _a = FileSystem.FileTypeId;
176
- return fd => new FileImpl(fd);
209
+ return (fd, append) => new FileImpl(fd, append);
177
210
  })();
178
211
  // == makeTempFile
179
212
  const makeTempFileFactory = method => {
@@ -1 +1 @@
1
- {"version":3,"file":"fileSystem.js","names":["_Function","require","Option","_interopRequireWildcard","Effect","Layer","_error","_Effectify","Error","FileSystem","Crypto","NFS","OS","Path","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","handleBadArgument","method","err","BadArgument","module","message","String","access","nodeAccess","effectify","handleErrnoException","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","map","fd","makeFile","FileDescriptor","flag","nodeReadFactory","read","nodeRead","nodeReadAlloc","nodeStat","fstat","nodeTruncate","ftruncate","nodeWriteFactory","write","nodeWrite","nodeWriteAll","FileImpl","constructor","_a","identity","stat","makeFileInfo","buffer","length","Number","undefined","position","offset","Size","readAlloc","size","flatMap","sync","Buffer","allocUnsafeSlow","bytesRead","none","some","dst","truncate","writeAll","bytesWritten","fail","SystemError","reason","pathOrDescriptor","subarray","unit","FileTypeId","makeTempFileFactory","randomHexString","bytes","randomBytes","toString","tap","scoped","random","zip","makeTempFile","makeTempFileScoped","removeFile","file","readDirectory","nodeReadDirectory","readdir","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","writeFile","fileSystemImpl","make","layer","exports"],"sources":["../src/internal/fileSystem.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"fileSystem.js","names":["_Function","require","Option","_interopRequireWildcard","Effect","Layer","_error","_Effectify","Error","FileSystem","Crypto","NFS","OS","Path","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","handleBadArgument","method","err","BadArgument","module","message","String","access","nodeAccess","effectify","handleErrnoException","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","map","fd","makeFile","FileDescriptor","flag","startsWith","nodeReadFactory","read","nodeRead","nodeReadAlloc","nodeStat","fstat","nodeTruncate","ftruncate","nodeWriteFactory","write","nodeWrite","nodeWriteAll","FileImpl","constructor","append","_a","identity","semaphore","unsafeMakeSemaphore","position","stat","makeFileInfo","seek","offset","from","withPermits","sync","buffer","bytesRead","sizeRead","Size","readAlloc","size","flatMap","Buffer","allocUnsafeSlow","Number","none","BigInt","some","dst","truncate","length","undefined","len","bytesWritten","sizeWritten","writeAllChunk","fail","SystemError","reason","pathOrDescriptor","subarray","unit","writeAll","FileTypeId","makeTempFileFactory","randomHexString","bytes","randomBytes","toString","tap","scoped","random","zip","makeTempFile","makeTempFileScoped","removeFile","file","readDirectory","nodeReadDirectory","readdir","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","writeFile","fileSystemImpl","make","layer","exports"],"sources":["../src/internal/fileSystem.ts"],"sourcesContent":[null],"mappings":"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"}
package/internal/path.js CHANGED
@@ -3,18 +3,15 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.layerWin32 = exports.layerPosix = exports.layer = exports.Path = void 0;
7
- var _Context = /*#__PURE__*/require("@effect/data/Context");
6
+ exports.layerWin32 = exports.layerPosix = exports.layer = void 0;
8
7
  var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Effect"));
9
8
  var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Layer"));
10
9
  var _Error = /*#__PURE__*/require("@effect/platform/Error");
10
+ var _Path = /*#__PURE__*/require("@effect/platform/Path");
11
11
  var NodePath = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("node:path"));
12
12
  var NodeUrl = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("node:url"));
13
13
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
14
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
- /** @internal */
16
- const Path = /*#__PURE__*/(0, _Context.Tag)();
17
- exports.Path = Path;
18
15
  const fromFileUrl = url => Effect.try({
19
16
  try: () => NodeUrl.fileURLToPath(url),
20
17
  catch: error => (0, _Error.BadArgument)({
@@ -32,21 +29,21 @@ const toFileUrl = path => Effect.try({
32
29
  })
33
30
  });
34
31
  /** @internal */
35
- const layerPosix = /*#__PURE__*/Layer.succeed(Path, /*#__PURE__*/Path.of({
32
+ const layerPosix = /*#__PURE__*/Layer.succeed(_Path.Path, /*#__PURE__*/_Path.Path.of({
36
33
  ...NodePath.posix,
37
34
  fromFileUrl,
38
35
  toFileUrl
39
36
  }));
40
37
  /** @internal */
41
38
  exports.layerPosix = layerPosix;
42
- const layerWin32 = /*#__PURE__*/Layer.succeed(Path, /*#__PURE__*/Path.of({
39
+ const layerWin32 = /*#__PURE__*/Layer.succeed(_Path.Path, /*#__PURE__*/_Path.Path.of({
43
40
  ...NodePath.win32,
44
41
  fromFileUrl,
45
42
  toFileUrl
46
43
  }));
47
44
  /** @internal */
48
45
  exports.layerWin32 = layerWin32;
49
- const layer = /*#__PURE__*/Layer.succeed(Path, /*#__PURE__*/Path.of({
46
+ const layer = /*#__PURE__*/Layer.succeed(_Path.Path, /*#__PURE__*/_Path.Path.of({
50
47
  ...NodePath,
51
48
  fromFileUrl,
52
49
  toFileUrl
@@ -1 +1 @@
1
- {"version":3,"file":"path.js","names":["_Context","require","Effect","_interopRequireWildcard","Layer","_Error","NodePath","NodeUrl","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Path","Tag","exports","fromFileUrl","url","try","fileURLToPath","catch","error","BadArgument","module","method","message","toFileUrl","path","pathToFileURL","layerPosix","succeed","of","posix","layerWin32","win32","layer"],"sources":["../src/internal/path.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"path.js","names":["Effect","_interopRequireWildcard","require","Layer","_Error","_Path","NodePath","NodeUrl","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","fromFileUrl","url","try","fileURLToPath","catch","error","BadArgument","module","method","message","toFileUrl","path","pathToFileURL","layerPosix","succeed","Path","of","posix","exports","layerWin32","win32","layer"],"sources":["../src/internal/path.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FileSystem.mjs","names":["internal","FileSystem","Size","layer"],"sources":["../src/FileSystem.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAKA,OAAO,KAAKA,QAAQ,MAAM,2CAA2C;AAmDrE;AACE;;;;AAIAC,UAAU;AACV;;;;AAIAC,IAAI,QACC,6BAA6B;AAEpC;;;;AAIA,OAAO,MAAMC,KAAK,GAAoCH,QAAQ,CAACG,KAAK"}
1
+ {"version":3,"file":"FileSystem.mjs","names":["internal","FileSystem","Size","layer"],"sources":["../src/FileSystem.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAKA,OAAO,KAAKA,QAAQ,MAAM,2CAA2C;AAmDrE;AACE;;;;AAIAC,UAAU;AAMV;;;;AAIAC,IAAI,QACC,6BAA6B;AAEpC;;;;AAIA,OAAO,MAAMC,KAAK,GAAoCH,QAAQ,CAACG,KAAK"}
@@ -96,7 +96,7 @@ const makeTempDirectoryScoped = /*#__PURE__*/(() => {
96
96
  const openFactory = method => {
97
97
  const nodeOpen = effectify(NFS.open, handleErrnoException("FileSystem", method), handleBadArgument(method));
98
98
  const nodeClose = effectify(NFS.close, handleErrnoException("FileSystem", method), handleBadArgument(method));
99
- return (path, options) => Effect.map(fd => makeFile(FileSystem.FileDescriptor(fd)))(Effect.acquireRelease(nodeOpen(path, options?.flag ?? "r", options?.mode), fd => Effect.orDie(nodeClose(fd))));
99
+ return (path, options) => Effect.map(fd => makeFile(FileSystem.FileDescriptor(fd), options?.flag?.startsWith("a") ?? false))(Effect.acquireRelease(nodeOpen(path, options?.flag ?? "r", options?.mode), fd => Effect.orDie(nodeClose(fd))));
100
100
  };
101
101
  const open = /*#__PURE__*/openFactory("open");
102
102
  const makeFile = /*#__PURE__*/(() => {
@@ -110,45 +110,74 @@ const makeFile = /*#__PURE__*/(() => {
110
110
  const nodeWrite = /*#__PURE__*/nodeWriteFactory("write");
111
111
  const nodeWriteAll = /*#__PURE__*/nodeWriteFactory("writeAll");
112
112
  class FileImpl {
113
- constructor(fd) {
113
+ constructor(fd, append) {
114
114
  this.fd = fd;
115
+ this.append = append;
115
116
  this[_a] = identity;
117
+ this.semaphore = Effect.unsafeMakeSemaphore(1);
118
+ this.position = 0n;
116
119
  }
117
120
  get stat() {
118
121
  return Effect.map(nodeStat(this.fd), makeFileInfo);
119
122
  }
120
- read(buffer, options) {
121
- return Effect.map(nodeRead(this.fd, {
123
+ seek(offset, from) {
124
+ return this.semaphore.withPermits(1)(Effect.sync(() => {
125
+ if (from === "start") {
126
+ this.position = offset;
127
+ } else if (from === "current") {
128
+ this.position = this.position + offset;
129
+ }
130
+ return this.position;
131
+ }));
132
+ }
133
+ read(buffer) {
134
+ return this.semaphore.withPermits(1)(Effect.map(Effect.suspend(() => nodeRead(this.fd, {
122
135
  buffer,
123
- length: options?.length ? Number(options.length) : undefined,
124
- position: options?.offset
125
- }), FileSystem.Size);
136
+ position: this.position
137
+ })), bytesRead => {
138
+ const sizeRead = FileSystem.Size(bytesRead);
139
+ this.position = this.position + sizeRead;
140
+ return sizeRead;
141
+ }));
126
142
  }
127
- readAlloc(size, options) {
128
- return Effect.flatMap(Effect.sync(() => Buffer.allocUnsafeSlow(Number(size))), buffer => Effect.map(nodeReadAlloc(this.fd, {
143
+ readAlloc(size) {
144
+ return this.semaphore.withPermits(1)(Effect.flatMap(Effect.sync(() => Buffer.allocUnsafeSlow(Number(size))), buffer => Effect.map(nodeReadAlloc(this.fd, {
129
145
  buffer,
130
- length: options?.length ? Number(options.length) : undefined,
131
- position: options?.offset
146
+ position: this.position
132
147
  }), bytesRead => {
133
148
  if (bytesRead === 0) {
134
149
  return Option.none();
135
150
  }
151
+ this.position = this.position + BigInt(bytesRead);
136
152
  if (bytesRead === Number(size)) {
137
153
  return Option.some(buffer);
138
154
  }
139
155
  const dst = Buffer.allocUnsafeSlow(bytesRead);
140
156
  buffer.copy(dst, 0, 0, bytesRead);
141
157
  return Option.some(dst);
142
- }));
158
+ })));
143
159
  }
144
160
  truncate(length) {
145
- return nodeTruncate(this.fd, length ? Number(length) : undefined);
161
+ return this.semaphore.withPermits(1)(Effect.map(nodeTruncate(this.fd, length ? Number(length) : undefined), () => {
162
+ if (!this.append) {
163
+ const len = BigInt(length ?? 0);
164
+ if (this.position > len) {
165
+ this.position = len;
166
+ }
167
+ }
168
+ }));
146
169
  }
147
170
  write(buffer) {
148
- return Effect.map(nodeWrite(this.fd, buffer), FileSystem.Size);
171
+ return this.semaphore.withPermits(1)(Effect.map(Effect.suspend(() => nodeWrite(this.fd, buffer, undefined, undefined, this.append ? undefined : Number(this.position))), bytesWritten => {
172
+ const sizeWritten = FileSystem.Size(bytesWritten);
173
+ if (!this.append) {
174
+ this.position = this.position + sizeWritten;
175
+ }
176
+ return sizeWritten;
177
+ }));
149
178
  }
150
- writeAll(buffer) {
151
- return Effect.flatMap(nodeWriteAll(this.fd, buffer), bytesWritten => {
179
+ writeAllChunk(buffer) {
180
+ return Effect.flatMap(Effect.suspend(() => nodeWriteAll(this.fd, buffer, undefined, undefined, this.append ? undefined : Number(this.position))), bytesWritten => {
152
181
  if (bytesWritten === 0) {
153
182
  return Effect.fail(Error.SystemError({
154
183
  module: "FileSystem",
@@ -157,15 +186,19 @@ const makeFile = /*#__PURE__*/(() => {
157
186
  pathOrDescriptor: this.fd,
158
187
  message: "write returned 0 bytes written"
159
188
  }));
160
- } else if (bytesWritten < buffer.length) {
161
- return this.writeAll(buffer.subarray(bytesWritten));
162
189
  }
163
- return Effect.unit;
190
+ if (!this.append) {
191
+ this.position = this.position + BigInt(bytesWritten);
192
+ }
193
+ return bytesWritten < buffer.length ? this.writeAllChunk(buffer.subarray(bytesWritten)) : Effect.unit;
164
194
  });
165
195
  }
196
+ writeAll(buffer) {
197
+ return this.semaphore.withPermits(1)(this.writeAllChunk(buffer));
198
+ }
166
199
  }
167
200
  _a = FileSystem.FileTypeId;
168
- return fd => new FileImpl(fd);
201
+ return (fd, append) => new FileImpl(fd, append);
169
202
  })();
170
203
  // == makeTempFile
171
204
  const makeTempFileFactory = method => {
@@ -1 +1 @@
1
- {"version":3,"file":"fileSystem.mjs","names":["identity","Option","Effect","Layer","handleErrnoException","effectify","Error","FileSystem","Crypto","NFS","OS","Path","handleBadArgument","method","err","BadArgument","module","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","map","fd","makeFile","FileDescriptor","flag","nodeReadFactory","read","nodeRead","nodeReadAlloc","nodeStat","fstat","nodeTruncate","ftruncate","nodeWriteFactory","write","nodeWrite","nodeWriteAll","FileImpl","constructor","_a","stat","makeFileInfo","buffer","length","Number","undefined","position","offset","Size","readAlloc","size","flatMap","sync","Buffer","allocUnsafeSlow","bytesRead","none","some","dst","truncate","writeAll","bytesWritten","fail","SystemError","reason","pathOrDescriptor","subarray","unit","FileTypeId","makeTempFileFactory","randomHexString","bytes","randomBytes","toString","tap","scoped","random","zip","makeTempFile","makeTempFileScoped","removeFile","file","readDirectory","nodeReadDirectory","readdir","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","writeFile","fileSystemImpl","make","layer"],"sources":["../../src/internal/fileSystem.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"fileSystem.mjs","names":["identity","Option","Effect","Layer","handleErrnoException","effectify","Error","FileSystem","Crypto","NFS","OS","Path","handleBadArgument","method","err","BadArgument","module","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","map","fd","makeFile","FileDescriptor","flag","startsWith","nodeReadFactory","read","nodeRead","nodeReadAlloc","nodeStat","fstat","nodeTruncate","ftruncate","nodeWriteFactory","write","nodeWrite","nodeWriteAll","FileImpl","constructor","append","_a","semaphore","unsafeMakeSemaphore","position","stat","makeFileInfo","seek","offset","from","withPermits","sync","buffer","bytesRead","sizeRead","Size","readAlloc","size","flatMap","Buffer","allocUnsafeSlow","Number","none","BigInt","some","dst","truncate","length","undefined","len","bytesWritten","sizeWritten","writeAllChunk","fail","SystemError","reason","pathOrDescriptor","subarray","unit","writeAll","FileTypeId","makeTempFileFactory","randomHexString","bytes","randomBytes","toString","tap","scoped","random","zip","makeTempFile","makeTempFileScoped","removeFile","file","readDirectory","nodeReadDirectory","readdir","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","writeFile","fileSystemImpl","make","layer"],"sources":["../../src/internal/fileSystem.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1,11 +1,9 @@
1
- import { Tag } from "@effect/data/Context";
2
1
  import * as Effect from "@effect/io/Effect";
3
2
  import * as Layer from "@effect/io/Layer";
4
3
  import { BadArgument } from "@effect/platform/Error";
4
+ import { Path } from "@effect/platform/Path";
5
5
  import * as NodePath from "node:path";
6
6
  import * as NodeUrl from "node:url";
7
- /** @internal */
8
- export const Path = /*#__PURE__*/Tag();
9
7
  const fromFileUrl = url => Effect.try({
10
8
  try: () => NodeUrl.fileURLToPath(url),
11
9
  catch: error => BadArgument({
@@ -1 +1 @@
1
- {"version":3,"file":"path.mjs","names":["Tag","Effect","Layer","BadArgument","NodePath","NodeUrl","Path","fromFileUrl","url","try","fileURLToPath","catch","error","module","method","message","toFileUrl","path","pathToFileURL","layerPosix","succeed","of","posix","layerWin32","win32","layer"],"sources":["../../src/internal/path.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAG,QAAQ,sBAAsB;AAC1C,OAAO,KAAKC,MAAM,MAAM,mBAAmB;AAC3C,OAAO,KAAKC,KAAK,MAAM,kBAAkB;AACzC,SAASC,WAAW,QAAQ,wBAAwB;AAEpD,OAAO,KAAKC,QAAQ,MAAM,WAAW;AACrC,OAAO,KAAKC,OAAO,MAAM,UAAU;AAEnC;AACA,OAAO,MAAMC,IAAI,gBAAGN,GAAG,EAAS;AAEhC,MAAMO,WAAW,GAAIC,GAAQ,IAC3BP,MAAM,CAACQ,GAAG,CAAC;EACTA,GAAG,EAAEA,CAAA,KAAMJ,OAAO,CAACK,aAAa,CAACF,GAAG,CAAC;EACrCG,KAAK,EAAGC,KAAK,IACXT,WAAW,CAAC;IACVU,MAAM,EAAE,MAAM;IACdC,MAAM,EAAE,aAAa;IACrBC,OAAO,EAAE,GAAGH,KAAK;GAClB;CACJ,CAAC;AAEJ,MAAMI,SAAS,GAAIC,IAAY,IAC7BhB,MAAM,CAACQ,GAAG,CAAC;EACTA,GAAG,EAAEA,CAAA,KAAMJ,OAAO,CAACa,aAAa,CAACD,IAAI,CAAC;EACtCN,KAAK,EAAGC,KAAK,IACXT,WAAW,CAAC;IACVU,MAAM,EAAE,MAAM;IACdC,MAAM,EAAE,WAAW;IACnBC,OAAO,EAAE,GAAGH,KAAK;GAClB;CACJ,CAAC;AAEJ;AACA,OAAO,MAAMO,UAAU,gBAAGjB,KAAK,CAACkB,OAAO,CACrCd,IAAI,eACJA,IAAI,CAACe,EAAE,CAAC;EACN,GAAGjB,QAAQ,CAACkB,KAAK;EACjBf,WAAW;EACXS;CACD,CAAC,CACH;AAED;AACA,OAAO,MAAMO,UAAU,gBAAGrB,KAAK,CAACkB,OAAO,CACrCd,IAAI,eACJA,IAAI,CAACe,EAAE,CAAC;EACN,GAAGjB,QAAQ,CAACoB,KAAK;EACjBjB,WAAW;EACXS;CACD,CAAC,CACH;AAED;AACA,OAAO,MAAMS,KAAK,gBAAGvB,KAAK,CAACkB,OAAO,CAChCd,IAAI,eACJA,IAAI,CAACe,EAAE,CAAC;EACN,GAAGjB,QAAQ;EACXG,WAAW;EACXS;CACD,CAAC,CACH"}
1
+ {"version":3,"file":"path.mjs","names":["Effect","Layer","BadArgument","Path","NodePath","NodeUrl","fromFileUrl","url","try","fileURLToPath","catch","error","module","method","message","toFileUrl","path","pathToFileURL","layerPosix","succeed","of","posix","layerWin32","win32","layer"],"sources":["../../src/internal/path.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,MAAM,MAAM,mBAAmB;AAC3C,OAAO,KAAKC,KAAK,MAAM,kBAAkB;AACzC,SAASC,WAAW,QAAQ,wBAAwB;AACpD,SAASC,IAAI,QAAQ,uBAAuB;AAC5C,OAAO,KAAKC,QAAQ,MAAM,WAAW;AACrC,OAAO,KAAKC,OAAO,MAAM,UAAU;AAEnC,MAAMC,WAAW,GAAIC,GAAQ,IAC3BP,MAAM,CAACQ,GAAG,CAAC;EACTA,GAAG,EAAEA,CAAA,KAAMH,OAAO,CAACI,aAAa,CAACF,GAAG,CAAC;EACrCG,KAAK,EAAGC,KAAK,IACXT,WAAW,CAAC;IACVU,MAAM,EAAE,MAAM;IACdC,MAAM,EAAE,aAAa;IACrBC,OAAO,EAAE,GAAGH,KAAK;GAClB;CACJ,CAAC;AAEJ,MAAMI,SAAS,GAAIC,IAAY,IAC7BhB,MAAM,CAACQ,GAAG,CAAC;EACTA,GAAG,EAAEA,CAAA,KAAMH,OAAO,CAACY,aAAa,CAACD,IAAI,CAAC;EACtCN,KAAK,EAAGC,KAAK,IACXT,WAAW,CAAC;IACVU,MAAM,EAAE,MAAM;IACdC,MAAM,EAAE,WAAW;IACnBC,OAAO,EAAE,GAAGH,KAAK;GAClB;CACJ,CAAC;AAEJ;AACA,OAAO,MAAMO,UAAU,gBAAGjB,KAAK,CAACkB,OAAO,CACrChB,IAAI,eACJA,IAAI,CAACiB,EAAE,CAAC;EACN,GAAGhB,QAAQ,CAACiB,KAAK;EACjBf,WAAW;EACXS;CACD,CAAC,CACH;AAED;AACA,OAAO,MAAMO,UAAU,gBAAGrB,KAAK,CAACkB,OAAO,CACrChB,IAAI,eACJA,IAAI,CAACiB,EAAE,CAAC;EACN,GAAGhB,QAAQ,CAACmB,KAAK;EACjBjB,WAAW;EACXS;CACD,CAAC,CACH;AAED;AACA,OAAO,MAAMS,KAAK,gBAAGvB,KAAK,CAACkB,OAAO,CAChChB,IAAI,eACJA,IAAI,CAACiB,EAAE,CAAC;EACN,GAAGhB,QAAQ;EACXE,WAAW;EACXS;CACD,CAAC,CACH"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/platform-node",
3
- "version": "0.10.4",
3
+ "version": "0.10.5",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -10,7 +10,7 @@
10
10
  "@effect/data": "^0.17.1",
11
11
  "@effect/io": "^0.37.0",
12
12
  "@effect/stream": "^0.33.0",
13
- "@effect/platform": "^0.10.3"
13
+ "@effect/platform": "^0.10.4"
14
14
  },
15
15
  "publishConfig": {
16
16
  "access": "public"
package/src/FileSystem.ts CHANGED
@@ -60,6 +60,11 @@ export {
60
60
  * @category tag
61
61
  */
62
62
  FileSystem,
63
+ /**
64
+ * @since 1.0.0
65
+ * @category model
66
+ */
67
+ SeekMode,
63
68
  /**
64
69
  * @since 1.0.0
65
70
  * @category constructor
@@ -184,7 +184,7 @@ const openFactory = (method: string) => {
184
184
  nodeOpen(path, options?.flag ?? "r", options?.mode),
185
185
  (fd) => Effect.orDie(nodeClose(fd))
186
186
  ),
187
- Effect.map((fd) => makeFile(FileSystem.FileDescriptor(fd)))
187
+ Effect.map((fd) => makeFile(FileSystem.FileDescriptor(fd), options?.flag?.startsWith("a") ?? false))
188
188
  )
189
189
  }
190
190
  const open = openFactory("open")
@@ -221,43 +221,65 @@ const makeFile = (() => {
221
221
  class FileImpl implements FileSystem.File {
222
222
  readonly [FileSystem.FileTypeId] = identity
223
223
 
224
+ private readonly semaphore = Effect.unsafeMakeSemaphore(1)
225
+ private position: bigint = 0n
226
+
224
227
  constructor(
225
- readonly fd: FileSystem.File.Descriptor
228
+ readonly fd: FileSystem.File.Descriptor,
229
+ private readonly append: boolean
226
230
  ) {}
227
231
 
228
232
  get stat() {
229
233
  return Effect.map(nodeStat(this.fd), makeFileInfo)
230
234
  }
231
235
 
232
- read(
233
- buffer: Uint8Array,
234
- options?: FileSystem.FileReadOptions
235
- ) {
236
- return Effect.map(
237
- nodeRead(this.fd, {
238
- buffer,
239
- length: options?.length ? Number(options.length) : undefined,
240
- position: options?.offset
241
- }),
242
- FileSystem.Size
236
+ seek(offset: FileSystem.Size, from: FileSystem.SeekMode) {
237
+ return this.semaphore.withPermits(1)(
238
+ Effect.sync(() => {
239
+ if (from === "start") {
240
+ this.position = offset
241
+ } else if (from === "current") {
242
+ this.position = this.position + offset
243
+ }
244
+
245
+ return this.position
246
+ })
243
247
  )
244
248
  }
245
249
 
246
- readAlloc(size: FileSystem.Size, options?: FileSystem.FileReadOptions | undefined) {
247
- return Effect.flatMap(
250
+ read(buffer: Uint8Array) {
251
+ return this.semaphore.withPermits(1)(
252
+ Effect.map(
253
+ Effect.suspend(() =>
254
+ nodeRead(this.fd, {
255
+ buffer,
256
+ position: this.position
257
+ })
258
+ ),
259
+ (bytesRead) => {
260
+ const sizeRead = FileSystem.Size(bytesRead)
261
+ this.position = this.position + sizeRead
262
+ return sizeRead
263
+ }
264
+ )
265
+ )
266
+ }
267
+
268
+ readAlloc(size: FileSystem.Size) {
269
+ return this.semaphore.withPermits(1)(Effect.flatMap(
248
270
  Effect.sync(() => Buffer.allocUnsafeSlow(Number(size))),
249
271
  (buffer) =>
250
272
  Effect.map(
251
273
  nodeReadAlloc(this.fd, {
252
274
  buffer,
253
- length: options?.length ? Number(options.length) : undefined,
254
- position: options?.offset
275
+ position: this.position
255
276
  }),
256
- (bytesRead) => {
277
+ (bytesRead): Option.Option<Buffer> => {
257
278
  if (bytesRead === 0) {
258
279
  return Option.none()
259
280
  }
260
281
 
282
+ this.position = this.position + BigInt(bytesRead)
261
283
  if (bytesRead === Number(size)) {
262
284
  return Option.some(buffer)
263
285
  }
@@ -267,20 +289,45 @@ const makeFile = (() => {
267
289
  return Option.some(dst)
268
290
  }
269
291
  )
270
- )
292
+ ))
271
293
  }
272
294
 
273
295
  truncate(length?: FileSystem.Size) {
274
- return nodeTruncate(this.fd, length ? Number(length) : undefined)
296
+ return this.semaphore.withPermits(1)(
297
+ Effect.map(nodeTruncate(this.fd, length ? Number(length) : undefined), () => {
298
+ if (!this.append) {
299
+ const len = BigInt(length ?? 0)
300
+ if (this.position > len) {
301
+ this.position = len
302
+ }
303
+ }
304
+ })
305
+ )
275
306
  }
276
307
 
277
308
  write(buffer: Uint8Array) {
278
- return Effect.map(nodeWrite(this.fd, buffer), FileSystem.Size)
309
+ return this.semaphore.withPermits(1)(
310
+ Effect.map(
311
+ Effect.suspend(() =>
312
+ nodeWrite(this.fd, buffer, undefined, undefined, this.append ? undefined : Number(this.position))
313
+ ),
314
+ (bytesWritten) => {
315
+ const sizeWritten = FileSystem.Size(bytesWritten)
316
+ if (!this.append) {
317
+ this.position = this.position + sizeWritten
318
+ }
319
+
320
+ return sizeWritten
321
+ }
322
+ )
323
+ )
279
324
  }
280
325
 
281
- writeAll(buffer: Uint8Array): Effect.Effect<never, Error.PlatformError, void> {
326
+ private writeAllChunk(buffer: Uint8Array): Effect.Effect<never, Error.PlatformError, void> {
282
327
  return Effect.flatMap(
283
- nodeWriteAll(this.fd, buffer),
328
+ Effect.suspend(() =>
329
+ nodeWriteAll(this.fd, buffer, undefined, undefined, this.append ? undefined : Number(this.position))
330
+ ),
284
331
  (bytesWritten) => {
285
332
  if (bytesWritten === 0) {
286
333
  return Effect.fail(Error.SystemError({
@@ -290,16 +337,23 @@ const makeFile = (() => {
290
337
  pathOrDescriptor: this.fd,
291
338
  message: "write returned 0 bytes written"
292
339
  }))
293
- } else if (bytesWritten < buffer.length) {
294
- return this.writeAll(buffer.subarray(bytesWritten))
295
340
  }
296
- return Effect.unit
341
+
342
+ if (!this.append) {
343
+ this.position = this.position + BigInt(bytesWritten)
344
+ }
345
+
346
+ return bytesWritten < buffer.length ? this.writeAllChunk(buffer.subarray(bytesWritten)) : Effect.unit
297
347
  }
298
348
  )
299
349
  }
350
+
351
+ writeAll(buffer: Uint8Array) {
352
+ return this.semaphore.withPermits(1)(this.writeAllChunk(buffer))
353
+ }
300
354
  }
301
355
 
302
- return (fd: FileSystem.File.Descriptor): FileSystem.File => new FileImpl(fd)
356
+ return (fd: FileSystem.File.Descriptor, append: boolean): FileSystem.File => new FileImpl(fd, append)
303
357
  })()
304
358
 
305
359
  // == makeTempFile
@@ -1,14 +1,10 @@
1
- import { Tag } from "@effect/data/Context"
2
1
  import * as Effect from "@effect/io/Effect"
3
2
  import * as Layer from "@effect/io/Layer"
4
3
  import { BadArgument } from "@effect/platform/Error"
5
- import type { Path as _Path } from "@effect/platform/Path"
4
+ import { Path } from "@effect/platform/Path"
6
5
  import * as NodePath from "node:path"
7
6
  import * as NodeUrl from "node:url"
8
7
 
9
- /** @internal */
10
- export const Path = Tag<_Path>()
11
-
12
8
  const fromFileUrl = (url: URL): Effect.Effect<never, BadArgument, string> =>
13
9
  Effect.try({
14
10
  try: () => NodeUrl.fileURLToPath(url),