Ich habe eine Reihe von Konstanten, die aussehen wieÜberprüfen Sie, ob irgendwo im Code eine nicht vorhandene Eigenschaft
let codes = {
OPEN_ACCOUNT: 1000,
CLOSE_ACCOUNT: 1001,
DEPOSIT_FUNDS: 3000
...
}
Manchmal werden die Schlüssel umbenannt oder hinzugefügt oder entfernt werden, so dass die Struktur der codes
Objekt ändert sich. Da die App recht groß ist, würde ich glücklich sein, statisch den Code mit einigen Tool wie JSLint/TSLint für Fälle zu analysieren, wenn Funktionen mit dem Code ausführen, der nicht mehr verfügbar ist:
runServerRequest(codes.DEPOSIT_FUNDS_SPECIAL_CASE, 500)
Im Beispiel oben DEPOSIT_FUNDS_SPECIAL_CASE
ist nicht im Code-Objekt vorhanden, so wäre es toll, eine Warnung vom Analysator zu haben. In allen möglichen Fällen sollte es keine Fälle geben, in denen ein nicht existierendes Feld angefordert wird.
Wie gehe ich diese Aufgabe am einfachsten an?
Das Problem ist, dass Codes Objekt erzeugt wird automatisch vom Server Team Jungs und an den Repo geschoben. –
Wenn Sie Typoskript verwenden, sollte der Compiler darüber beschweren, [wie hier] (https://www.typescriptlang.org/play/#src=let%20codes%20%3D%20%7B%0A%09 % 09OPEN_KONTO% 3A% 201000% 2C% 0A% 09% 09CLOSE_ACCOUNT% 3A% 201001% 2C% 0A% 09% 09DEPOSIT_FUNDS% 3A% 203000% 0A% 09% 7D% 0A% 0A% 09console.log (codes.OPEN_KONTEN)% 3B) –
Ja, die App ist in der Mitte der Migration zu TypeScript, so dass Codebase jetzt eine Mischung aus JS + TS ist, wahrscheinlich wird es behoben, wenn der gesamte Code in TypeScript ist. –