@@ -262,6 +262,30 @@ def fmt_docstring(module_func):
262
262
return module_func
263
263
264
264
265
+ def insert_alias (module_func ):
266
+ """
267
+ Decorator insertings aliases into the signature of a method.
268
+ """
269
+
270
+ # Get current signature and parameters
271
+ sig = signature (module_func )
272
+ wrapped_params = list (sig .parameters .values ())
273
+ kwargs_param = wrapped_params .pop (- 1 )
274
+ # Add new parameters from aliases
275
+ for alias in module_func .aliases .values ():
276
+ if alias not in sig .parameters .keys ():
277
+ new_param = Parameter (
278
+ alias , kind = Parameter .POSITIONAL_OR_KEYWORD , default = None
279
+ )
280
+ wrapped_params = wrapped_params + [new_param ]
281
+ all_params = wrapped_params + [kwargs_param ]
282
+ # Update method signature
283
+ sig_new = sig .replace (parameters = all_params )
284
+ module_func .__signature__ = sig_new
285
+
286
+ return module_func
287
+
288
+
265
289
def use_alias (** aliases ):
266
290
"""
267
291
Decorator to add aliases to keyword arguments of a function.
@@ -323,35 +347,13 @@ def new_module(*args, **kwargs):
323
347
324
348
new_module .aliases = aliases
325
349
350
+ new_module = insert_alias (new_module )
351
+
326
352
return new_module
327
353
328
354
return alias_decorator
329
355
330
356
331
- def insert_alias (module_func ):
332
- """
333
- Decorator insertings aliases into the signature of a method.
334
- """
335
-
336
- # Get current signature and parameters
337
- sig = signature (module_func )
338
- wrapped_params = list (sig .parameters .values ())
339
- kwargs_param = wrapped_params .pop (- 1 )
340
- # Add new parameters from aliases
341
- for alias in module_func .aliases .values ():
342
- if alias not in sig .parameters .keys ():
343
- new_param = Parameter (
344
- alias , kind = Parameter .POSITIONAL_OR_KEYWORD , default = None
345
- )
346
- wrapped_params = wrapped_params + [new_param ]
347
- all_params = wrapped_params + [kwargs_param ]
348
- # Update method signature
349
- sig_new = sig .replace (parameters = all_params )
350
- module_func .__signature__ = sig_new
351
-
352
- return module_func
353
-
354
-
355
357
def kwargs_to_strings (** conversions ):
356
358
"""
357
359
Decorator to convert given keyword arguments to strings.
0 commit comments