fix: remove IFileAccessor and add FileAccessor#13
Merged
kochounoyume merged 2 commits intomainfrom Jun 12, 2025
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR removes the IFileAccessor interface and replaces it with an abstract FileAccessor class that standardizes file system operations for local preferences. Key changes include:
- Removal of IFileAccessor and its associated default implementation.
- Introduction of FileAccessor as an abstract base class with a nested DefaultFileAccessor.
- Updates in LSAccessor, MessagePackLocalPrefs, and JsonLocalPrefs to use FileAccessor instead of IFileAccessor.
Reviewed Changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| src/LocalPrefs/IFileAccessor.cs | Removed the obsolete interface in favor of an abstract class. |
| src/LocalPrefs/FileAccessor.cs | Introduced a new abstract class with a nested default implementation. |
| src/LocalPrefs.Unity/Packages/jp.andantetribe.localprefs/Runtime/LocalPrefs.cs | Updated file accessor instantiation to reference the new implementations. |
| src/LocalPrefs.Unity/Packages/jp.andantetribe.localprefs/Runtime/LSAccessor.cs | Changed the base class from IFileAccessor to FileAccessor. |
| src/LocalPrefs.MessagePack/MessagePackLocalPrefs.cs | Updated constructor parameters and property types from IFileAccessor to FileAccessor. |
| src/LocalPrefs.Json/JsonLocalPrefs.cs | Updated constructor parameters and property types from IFileAccessor to FileAccessor. |
Comments suppressed due to low confidence (2)
src/LocalPrefs/FileAccessor.cs:7
- [nitpick] Consider expanding the XML documentation for FileAccessor to clearly explain its role as a replacement for IFileAccessor and to aid users during migration.
public abstract class FileAccessor(string savePath)
src/LocalPrefs.MessagePack/MessagePackLocalPrefs.cs:32
- Ensure that the change from IFileAccessor to FileAccessor, which may be a breaking change for consumers, is clearly documented in the migration guide and any related dependency injection registrations.
: this(FileAccessor.Create(savePath), resolver == null ? null : MessagePackSerializer.DefaultOptions.WithResolver(resolver))
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.