Effect's Approach to Runtime-Specific APIs and Wrappers

I see FileSystem exposes readDirectory as a wrapper for fs.readdir in @effect/platform but it only allow a subset of arguments

I believe is because passing withFileTypes: true changes the return type from string[] to a nodejs specific fs.Dirent

What is the general Effect philosophy when it comes to runtime specific api? To create wrappers in userland?

https://github.com/Effect-TS/effect/blob/main/packages/platform/src/FileSystem.ts#L137
https://github.com/Effect-TS/effect/blob/main/packages/platform/src/FileSystem.ts#L381
Was this page helpful?