Skip to content

Conversation

@miguelramos
Copy link
Member

No description provided.

Implement the FileType enum as the first component of the types module:

- Add FileType enum with File, Dir, Symlink variants (FR-5.2.1)
- Implement is_file(), is_dir(), is_symlink() methods (FR-5.2.2-FR-5.2.4)
- Add derives: Debug, Clone, Copy, PartialEq, Eq (FR-5.2.5)
- Implement From<std::fs::FileType> conversion
- Add FileType to public re-exports
- Add comprehensive unit tests (14 tests)
- All clippy, fmt, and doc checks pass

Closes: workspace-node-tools-3q8.1
Implement the Metadata struct as the second component of the types module:

- Add Metadata struct with file_type and len fields
- Implement new(), len(), is_empty(), file_type() methods (FR-5.3.1-FR-5.3.5)
- Implement is_file(), is_dir(), is_symlink() convenience methods
- Add derives: Debug, Clone (FR-5.3.6)
- Implement From<std::fs::Metadata> conversion
- Add Metadata to public re-exports
- Add comprehensive unit tests (28 tests)
- All clippy, fmt, and doc checks pass

Closes: workspace-node-tools-3q8.2
Implement the DirEntry struct as the third component of the types module:

- Add DirEntry struct with path and file_type fields
- Implement new(), path(), file_name(), file_type() methods (FR-5.1.1-FR-5.1.3)
- Add derives: Debug, Clone (FR-5.1.4)
- Handle edge cases: empty paths, root paths, parent directory (..)
- Add DirEntry to public re-exports
- Add comprehensive unit tests (25 tests)
- All clippy, fmt, and doc checks pass

Closes: workspace-node-tools-3q8.3
@miguelramos miguelramos self-assigned this Jan 13, 2026
@miguelramos miguelramos added ♨️ ACTION: pull request Pull request ❤️‍🔥 TYPE: Feature New feature or request 🧨 BREAKING CHANGE No previous compatibility labels Jan 13, 2026
@miguelramos miguelramos merged commit 694807b into feat/next-evolution Jan 13, 2026
5 checks passed
@miguelramos miguelramos deleted the feature/workspace-node-tools-3q8-types-module branch January 13, 2026 17:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

♨️ ACTION: pull request Pull request 🧨 BREAKING CHANGE No previous compatibility ❤️‍🔥 TYPE: Feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants