Changed visibility getter to throw instead of returning an "empty" FileAttributes instance #97
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.
The current implementation of the
visibility
method in the adapter returns an instance ofFileAttributes
with itsvisibility
field set tonull
since visibility isn't supported. The problem is that Flysystem v3'svisibility
method's signature only allows for astring
to be returned, notnull
. This causes aTypeError: League\Flysystem\Filesystem::visibility(): Return value must be of type string, null returned
, when invoking thevisibility
method on aFilesystem
instance that uses this adapter.Although the changed code still aligns with the public API and documentation, this should be considered a breaking change. Previously, the visibility method ALWAYS returned a
FileAttributes
instance, but now it will ALWAYS throw an exception.EDIT: I've also noticed an essentially identical problem with the
mimeType
method. The MIME type detector will return null in case it cannot determine the MIME Type. However, this causes aTypeError
when called from theFilesystem::mimeType
method, because it may only return astring
.