Files
scriptc/tests/fixtures/effect4/node-fs-operations.ts
Chris Tate e2d58f60d2 Expand static support for common Effect 4 patterns (#600)
* Expand static compilation for common Effect 4 patterns

* Run every Effect 4 fixture slice in CI

* Preserve existing corpus behavior across Effect 4 lowering

* Preserve Effect platform callbacks and native stream state

* Record new corpus baselines and retain child stdin refusals

* Retire the obsolete stateful regex diagnostic

* Preserve promise reference count layout for cycle collection
2026-10-01 17:36:29 -05:00

20 lines
914 B
TypeScript

import * as Effect from "effect/Effect";
import * as FileSystem from "effect/FileSystem";
import * as NodeFileSystem from "@effect/platform-node/NodeFileSystem";
const program = Effect.gen(function* () {
const fs = yield* FileSystem.FileSystem;
const directory = yield* fs.makeTempDirectoryScoped();
const original = directory + "/original.txt";
yield* fs.writeFileString(original, "hello");
yield* fs.access(original, { readable: true });
yield* fs.copyFile(original, directory + "/copy.txt");
yield* fs.rename(directory + "/copy.txt", directory + "/renamed.txt");
const info = yield* fs.stat(original);
const contents = yield* fs.readFileString(directory + "/renamed.txt");
const missing = yield* fs.exists(directory + "/missing.txt");
console.log(info.type, Number(info.size), contents, missing);
}).pipe(Effect.scoped, Effect.provide(NodeFileSystem.layer));
Effect.runPromise(program);