Szukam rozwiązania wanilii JavaScript.Argumenty funkcji JavaScript: pozycyjna -> zmiana mapy
Say Mam funkcji z następującym nagłówkiem:
generateEmail(firstName, lastname, provider)
trzeba uruchomić go tak:
generateEmail("John","Smith","gmail.com");
Chciałbym, aby móc nazwać argumentem z odwzorowanie zamiast argumentów pozycyjnych:, tj.
generateEmail({
"firstName":"John",
"lastname": "Smith",
"provider": "gmail.com"
});
I szukam już napisanego rozwiązania, aby zrobić to w JavaScript, ponieważ mam do dyspozycji nieograniczoną liczbę funkcji, takich jak generateEmail. Czy taka biblioteka istnieje?
Widziałem https://github.com/kilianc/node-introspect, który obsługuje introspekcję funkcji (zwracanie informacji o abstrakcyjnych parametrach funkcji). Ale brakuje drugiej części - mapowanie wywołania mapy na wywołanie pozycyjne.
Proszę mi powiedzieć, czy coś takiego istnieje.
edytuj: jeśli nie wyraziłem się jasno: nie chcę modyfikować oryginalnej funkcji argumentu pozycyjnego. Dostaję takie funkcje od zewnętrznego dostawcy, który może zaktualizować swój kod. Wolałabym mieć opakowanie, które może wywoływać oryginalną funkcję pod spodem i udostępniać API map-argumentów na zewnątrz.
Można sprawdzić, czy 'firstName' jest obiektem, a następnie ponownie wywołać' generateEmail' z właściwymi argumentami. –
@GaurangTandon to jest całkowicie to czego ** nie potrzebuję **.Potrzebuję ogólnej funkcji otoki, która obsługuje to, co napisałem. Mogę sam to napisać, ale najpierw chcę sprawdzić, czy coś takiego już istnieje. – ducin
Powiedziałbym, używając kombinacji tego http://stackoverflow.com/questions/914968/inspect-the-names-values-of-arguments-in-definition-execution-of-a-javascrip i '. zastosuj "byłoby to możliwe. –