Skip to content

feat(io_file): Add POSIX implementation for createTemporaryDirectory #216

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

brianquinlan
Copy link
Contributor

Adds the createTemporaryDirectory(String template) method to the FileSystem interface.

Implements this method for the PosixFileSystem using the POSIX mkdtemp function via dart:ffi and package:stdlibc. This allows creating unique temporary directories based on a provided template string ending in "XXXXXX".

Includes unit tests for the POSIX implementation, verifying:

  • Successful directory creation and path generation.

  • Error handling for invalid templates (non-existent parent path, missing "XXXXXX" suffix).

  • Thanks for your contribution! Please replace this text with a description of what this PR is changing or adding and why, list any relevant issues, and review the contribution guidelines below.


  • I’ve reviewed the contributor guide and applied the relevant portions to this PR.
Contribution guidelines:

Note that many Dart repos have a weekly cadence for reviewing PRs - please allow for some latency before initial review feedback.

Adds the `createTemporaryDirectory(String template)` method to the `FileSystem` interface.

Implements this method for the `PosixFileSystem` using the POSIX `mkdtemp` function via `dart:ffi` and `package:stdlibc`. This allows creating unique temporary directories based on a provided template string ending in "XXXXXX".

Includes unit tests for the POSIX implementation, verifying:
- Successful directory creation and path generation.
- Error handling for invalid templates (non-existent parent path, missing "XXXXXX" suffix).
@brianquinlan brianquinlan marked this pull request as draft April 22, 2025 17:11
# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant