Rozgrzewka: sprawdzenie wejścia
Sprawdzenie wejścia: otrzymujesz unknown. Napisz sprawdzenie, że jest obiektem, ma niepusty tekstowy identyfikator i nie jest null ani tablicą. Porównaj z parseLookupArgs dopiero po swojej próbie. Wyjaśnij, dlaczego as {id:string} nie jest takim sprawdzeniem.
Funkcja parseLookupArgs(value) zwraca { id } albo rzuca błąd.
Przećwiczysz
- Sprawdzić dane w czasie działania programu
- Odróżnić rzutowanie typu od walidacji
Testy (3)
Testy napisane na podstawie polecenia rozgrzewki. Implementacja referencyjna dodatkowo odrzuca nadmiarowe pola i id dłuższe niż 100 znaków — tego testy nie wymagają.
zwraca { id } dla poprawnego obiektu
assert.deepEqual(parseLookupArgs({ id: 'A' }), { id: 'A' });odrzuca null, tablicę i wartości prymitywne
for (const value of [null, [], ['A'], 'A', 7, undefined]) {
assert.throws(() => parseLookupArgs(value));
}odrzuca pusty, nietekstowy i brakujący identyfikator
for (const value of [{ id: '' }, { id: 7 }, {}]) {
assert.throws(() => parseLookupArgs(value));
}Powiązane pytania
Źródło: AI & Agents — ćwiczenia praktyczne — Autorskie ćwiczenie z programu nauki, nie potwierdzone zadanie rekrutacyjne.