Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

v0.8.0: Move/Copy improvements, removed path, improved names, new interfaces / extension methods #19

Merged
merged 22 commits into from
Feb 22, 2023

Conversation

Arlodotexe
Copy link
Owner

@Arlodotexe Arlodotexe commented Feb 18, 2023

Summary

Full release notes

--- 0.8.0 ---
THIS IS A BREAKING RELEASE
Update asap, and do not use older versions or implementations.

[Breaking]
Path was removed from IAddressableStorable. This was not spec'd or standardized, and simply exposed the "path" used by the underlying implementation, so we removed it. Additional tooling has been added to substitute any functionality gaps that removing this has caused.
Renamed IStorageProperties{T} to IStorageProperty{T}.
Renamed IAddressableStorable to IStorableChild, as the only thing on the interface is now GetParentAsync.
Renamed IAddressableFolder to IChildFolder.
Renamed IAddressableFile to IChildFile.
Renamed IFolderCanFastGetItem to IFastGetItem.
Renamed IFolderCanFastGetFirstItemByName to IFastGetFirstByName.
Renamed the extension method GetFirstItemByNameAsync to GetFirstByNameAsync.
IModifiableFolder no longer requires implementing copy/move operations. Please remove from your implementations, and implement the fastpath interfaces where appropriate.
HttpFile's constructor now only has 1 parameter - the Uri.
HttpFile has a new constructor that takes a string instead of a Uri, for convenience.
HttpFile.Name now has an init-only setter.
HttpFile.Id is no longer customizable, and is always created from the provided Uri instead.

[New]
Added IFastGetRoot interface.
Added IFastFileCopy{T} interface.
Added IFastFileMove{T} interface.
Added IFastGetItemRecursive interface.
Added GetRootAsync extension method.
Added ModifiableFolderExtensions.CreateCopyOfAsync{T} extension method.
Added ModifiableFolderExtensions.MoveFromAsync{T} extension method.
Added FolderExtensions.GetItemRecursiveAsync extension method.
Added FolderExtensions.GetRelativePathToAsync extension method, to generate a relative path from one item to another.
Added FolderExtensions.GetItemByRelativePathAsync extension method, to traverse a relative path from one item to another.
Added FolderExtensions.GetItemRecursiveAsync extension method, to recursively search a folder for an item with the provided ID.
SystemFolder now implements IFastGetRoot.
ZipArchiveFolder now implements IFastGetRoot.
ReadOnlyZipArchiveFolder now implements IFastGetRoot.

@Arlodotexe Arlodotexe added tasks::fixes::bug Something isn't working tasks::features::new New feature or request tasks::features::deprecated Features that may soon be obsolete labels Feb 18, 2023
@Arlodotexe Arlodotexe self-assigned this Feb 18, 2023
@Arlodotexe Arlodotexe merged commit 35104fd into main Feb 22, 2023
@Arlodotexe Arlodotexe deleted the refactor/0.8.0 branch February 22, 2023 15:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tasks::features::deprecated Features that may soon be obsolete tasks::features::new New feature or request tasks::fixes::bug Something isn't working
Projects
None yet
3 participants