Bug Description
In class methods, *args, **kwargs produces ...args, kwargs which is invalid TypeScript (rest parameter must be last).
Python Input
class MyClass:
def _init_stage_2(self, pyfunc, *args, **kwargs):
self.pyfunc = pyfunc
Current Output
class MyClass {
_init_stage_2(pyfunc, ...args, kwargs) { // ERROR: rest must be last
this.pyfunc = pyfunc
}
}
Expected Output
class MyClass {
_init_stage_2(pyfunc, kwargs: Record<string, unknown> = {}, ...args) {
this.pyfunc = pyfunc
}
}
Note
This works correctly for standalone functions, but not for class methods.
Context
Found in numpy/lib/_function_base_impl.py during NumPy migration.
Bug Description
In class methods,
*args, **kwargsproduces...args, kwargswhich is invalid TypeScript (rest parameter must be last).Python Input
Current Output
Expected Output
Note
This works correctly for standalone functions, but not for class methods.
Context
Found in
numpy/lib/_function_base_impl.pyduring NumPy migration.