Περιγραφή εργαλείου

Μετατρέψτε αυτόματα τύπο TypeScript σε σχήμα Zod. Μετασχηματίστε οποιαδήποτε διεπαφή σε σχήμα επικύρωσης Zod ή δημιουργήστε Zod από ορισμούς διεπαφής χωρίς χειροκίνητη ξαναγραφή. Ιδανικό για μετατροπή τύπου TS σε Zod σε δευτερόλεπτα.

Χαρακτηριστικά

  • Μετατρέπει αυτόματα τη διεπαφή σε μορφή σχήματος Zod με αντίστοιχους κανόνες επικύρωσης.
  • Μετασχηματίζει τύπο TypeScript σε σχήμα Zod συμπεριλαμβανομένων πρωτόγονων τύπων, ένθετων αντικειμένων, πινάκων, πλειάδων, κυριολεκτικών ενώσεων και προαιρετικών ιδιοτήτων.
  • Ανιχνεύει πολλαπλές διεπαφές και ψευδώνυμα τύπων σε ένα μόνο απόσπασμα και δημιουργεί αντίστοιχες σταθερές Zod.
  • Επιλύει διασταυρούμενα αναφερόμενους τύπους με z.lazy και επισημαίνει εναλλακτικές λύσεις σε z.any().
  • Παρουσιάζει δομημένες προειδοποιήσεις για μη υποστηριζόμενες κατασκευές ή ελλιπείς σχολιασμούς.

Περιπτώσεις χρήσης

  • Δημιουργήστε Zod από ορισμούς διεπαφής για να εκκινήσετε στρώματα επικύρωσης από υπάρχοντα μοντέλα TypeScript.
  • Μετατρέψτε τύπο TS σε Zod κατά τη μετανάστευση από μοντέλα μόνο TypeScript σε επικύρωση χρόνου εκτέλεσης.
  • Μετασχηματίστε διεπαφή σε Zod για να μοιράσετε ορισμούς συμβολαίου μεταξύ frontend και backend χωρίς χειροκίνητη διπλοτυπία.
  • Πειραματιστείτε με μετατροπές τύπου TypeScript σε σχήμα Zod κατά τη μετανάστευση από άλλες βιβλιοθήκες επικύρωσης.

Λεπτομέρειες μετατροπής

  • Αντιστοιχίζει κοινούς πρωτόγονους τύπους σε z.string(), z.number(), z.boolean(), z.null(), z.undefined() και z.unknown().
  • Μετατρέπει κυριολεκτικές ενώσεις σε z.enum([...]) όταν όλα τα μέλη είναι συμβολοσειρές, διαφορετικά επιστρέφει σε z.union([...]).
  • Δημιουργεί z.object({...}) για ένθετα κυριολεκτικά αντικείμενα και αλυσιδώνει .catchall() για υπογραφές ευρετηρίου.
  • Παράγει δράσιμες προειδοποιήσεις όποτε ο μετατροπέας πρέπει να επιστρέψει σε z.any() ή να παραλείψει μια επέκταση διεπαφής.