perry-mitchell / webdav-fs

Node fs wrapper for WebDAV
MIT License
94 stars 21 forks source link

readdir: change arguments order #66

Closed artemkloko closed 5 years ago

artemkloko commented 5 years ago

[Issue #40]

perry-mitchell commented 5 years ago

Thanks! This is an API-breaking change, so merging this will have to be timed correctly. I would suggest that it be updated for #65, which is v2, and that's in pre-release. Seeing as it's not yet stable this could be released with version 2 safely.

artemkloko commented 5 years ago

Ok makes sense. Should I make a pr against branch webdav2 then?

Also, can't we use the internal functions of nodeJs? I am asking because the official fs uses an internal utils module that contains functions like getOptions. The usage of that function would be very suitable instead of re-writing a way to parse the options argument. https://github.com/nodejs/node/blob/master/lib/internal/fs/utils.js#L167

perry-mitchell commented 5 years ago

Ok makes sense. Should I make a pr against branch webdav2 then?

That'd be super!

internal utils module that contains functions like getOptions

I couldn't find it from taking a quick look at the public docs.. Could you link it?

The usage of that function would be very suitable instead of re-writing a way to parse the options argument.

Sounds good to me. Webdav-fs should be as close to the Node API as possible, but obviously it'll never be 1-to-1. If someone is willing to contribute such changes I'm all for it!

perry-mitchell commented 5 years ago

If you wish to look in to any other adjustments, please open an issue 👍

artemkloko commented 5 years ago

Closing in favor of https://github.com/perry-mitchell/webdav-fs/pull/67

artemkloko commented 5 years ago

Regarding Node.js Internal Modules that would be quite helpful in this situation: https://github.com/nodejs/node/tree/master/lib/internal

The modules in lib/internal are intended for internal use in Node.js core only, and are not accessible with require() from user modules. These modules can be changed at any time. Reliance on these modules outside of core is not supported in any way.