Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Parameters<Action> javítása #109

Open
2colours opened this issue Sep 9, 2022 · 2 comments
Open

Parameters<Action> javítása #109

2colours opened this issue Sep 9, 2022 · 2 comments
Assignees
Labels
enhancement New feature or request

Comments

@2colours
Copy link
Owner

2colours commented Sep 9, 2022

Az Action típus akármilyen függvényt tartalmazhat: a probléma az, hogy amikor ebből a Parameters builtinnel próbáltam a paramétereket kicsikarni, ami generikusoknál különösen indokolt - nevert adott vissza. Ezt arra tudom visszavezetni, hogy az ...args néha teljesen üres lista, és ezt nem tudja lekezelni.

Utána kell járni, hogy hogyan lehet vagy az Action definícióján, vagy a lekérésen javítani.

@2colours 2colours added the enhancement New feature or request label Sep 9, 2022
@2colours 2colours self-assigned this Sep 9, 2022
@2colours
Copy link
Owner Author

2colours commented Mar 6, 2024

Javítottam rajta valamennyit, de ez nem túl biztató, mert ennek egyszerűen működnie kéne:
image

@2colours
Copy link
Owner Author

2colours commented Mar 6, 2024

Végülis radikálisan javítottam rajta ezzel a trükkel (& Array<unknown>):

type ActionArgs<Key extends keyof CommandData> = MappedArgs<CommandData[Key]['params'], CommandData[keyof CommandData]['params']> & Array<unknown>;

A metszet második tényezőjére eddig sem kellett volna szükségnek lennie, és eddig is ezt próbálta biztosítani, csak éppen rosszul. Ez a megoldás ugyan nem tökéletes, de még mindig ad reportokat rossz függvényszignatúrákra, és any cast nélkül lehetővé teszi az ...args használatát a dekorátorokban.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant