Backwards-incompatible change in 10.0.9 types
Closed this issue · 5 comments
#172 appears to disallow passing an options object without also specifying an output property. This can be reproduced with the following code:
import { filesize } from 'filesize';
const size = filesize(12345, { base: 2 });
TypeScript playground link: https://www.typescriptlang.org/play?#code/JYWwDg9gTgLgBAbzgM2AGwKYGdgC8NwC+KUEIcA5KpjvhQNwCwAUCwMYQB2W8tBAvCnTY8GABQBGAEwBmACwBWADSI4AIwCGWDAC44UogEp6QA
If this was intentional, this should be released in a v11, as it was a breaking change. However, based on the docs, I can assume this was unintentional, as output is specified as having a default of string, and it isn't explicitly passed in the example at the top of the README. If this was indeed unintentional, I can open a PR making the following change to the types:
-export function filesize(byteCount: number, options: FileSizeOptionsString): string
+export function filesize(byteCount: number, options: FileSizeOptionsBase | FileSizeOptionsString): stringwhat's the best course of action for typescript users? i can revert, but I'm not going to produce a fix.
i've reverted 10.0.9 to produce 10.0.10 (equal to 10.0.8).
cc @tschlechtweg
I overlooked that case. @nwalters512 please go ahead and create a PR with the changes you proposed, please also don't forget to then change the overloads of the partial-function.
I've reverted 10.0.9 as 10.0.10/11 (ugh) so please correct and open a new PR.