Qual è il convertitore da JS a TypeScript?

Il convertitore da JSON a TypeScript legge un valore JSON di esempio - una risposta API, un file di configurazione, un record di database - e scrive le interfacce TypeScript che lo descrivono Gli oggetti nidificati diventano le loro interfacce con nome, gli array di oggetti vengono uniti in un'interfaccia a elemento singolo anziché in un'unione estesa e le chiavi nulle o mancanti in alcuni record sono contrassegnate come opzionali Incolli i dati che hai già; ottieni tipi che altrimenti scriveresti a mano.
Digitando a mano una risposta API è noioso e soggetto a errori in un modo specifico: si digita ciò che *pensi* restituisce l'endpoint, non quello che effettivamente restituito. I campi che non hai mai notato vengono omessi, un numero intero che a volte viene digitato come `numero` e l'errore emerge in fase di esecuzione in fase di produzione anziché nel tuo editor. La generazione di tipi direttamente da un carico utile reale chiude quel divario, perché la forma su cui si compila è la forma effettivamente inviata dal server.
Tutto viene eseguito nel tuo browser Il motore di inferenza è TypeScript senza dipendenze, non un wrapper attorno a un servizio remoto, quindi i payload - che trasportano abitualmente token di accesso, record dei clienti e ID interni - non lasciano mai la pagina Scegli interfacce o digita alias, attiva/disattiva la parola chiave `export`` e i modificatori `readonly`, scegli la larghezza del rientro, quindi copia l'output o scarica un file.ts.
Le interfacce generate descrivono il campione fornito, non l'API che stai chiamando, e quella distinzione è l'intero rischio Un campo che capita di essere presente in ogni oggetto del tuo campione è contrassegnato richiesto anche se il server lo omette a volte, e un campo che è nullo nel campione non può essere distinto da uno che è sempre nullo Gli array vuoti sono il caso più chiaro: un array senza elementi non dà informazioni su ciò che contiene L'unione dell'array aiuta qui combinando ogni oggetto in un elenco in un'unica interfaccia e contrassegnando le chiavi che mancano da alcune voci come facoltative, quindi un campione più grande e vario produce un tipo più onesto Dove l'API ha uno schema o un documento OpenAPI, genera da quello invece e usa questo per esplorare una risposta non documentata.
Come utilizzare il convertitore da JS a TypeScript?
Incolla il tuo JSON
Elimina una risposta API, un file di fixture o qualsiasi valore JSON. Carica prima l'esempio se vuoi vedere come vengono gestiti gli oggetti nidificati, gli array e i campi nulli.
Assegna un nome al tipo di radice
Imposta il nome del tipo root, solitamente la risorsa, come Utente o Fattura. Le interfacce nidificate vengono denominate automaticamente dalla loro chiave, con i nomi degli elementi dell'array singolarizzati (le versioni diventano Release).
Scegli il tuo stile di output
Scegli Interfaccia o Digita alias, decidi se esportare ogni dichiarazione, aggiungi modificatori di sola lettura se la tua base di codice preferisce forme immutabili e imposta il rientro su 2 o 4 spazi.
generare, quindi copiare o scaricare
premere genera. Esamina gli optional e le unioni dedotti, quindi copia il codice negli appunti o scaricalo come file .ts pronto per essere inserito nella cartella dei tipi.
Caratteristiche principali
Estrazione interfaccia annidata
Ogni oggetto nidificato diventa la propria interfaccia denominata e riutilizzabile invece di una forma anonima inline, quindi puoi importare e fare riferimento ai tipi interni in modo indipendente.
fusione di array intelligente
Una matrice di oggetti viene unita in un'interfaccia di un elemento. Le chiavi presenti in alcuni record ma non in altri diventano facoltative, che è esattamente il comportamento reale dei dati API impaginati.
Gestione nullabile che controlli
Scegli se un valore null significa che la chiave è facoltativa o se null appartiene all'unione. Entrambe le convenzioni sono comuni; lo strumento non ne impone una sulla base di codice.
interfacce o tipo alias
emetti `interface user {}` o `type user = {}` per abbinare le tue regole di lint esistenti, con i modificatori opzionali `export` e `readonly` applicati in modo coerente su ogni dichiarazione.
Frequently Asked Questions
Related Tools
JSON Flattener
Flatten nested JSON into single-level dot-notation keys, or unflatten dotted keys back into nested objects and arrays. Lossless round trip. 100% client-side.
JSON Schema Generator
Generate a JSON Schema from any JSON sample. Infers types, merges arrays of objects into one item schema, derives required fields, and detects date-time, email, uri, and uuid formats. Draft-07 and 2020-12 output. 100% client-side.
JSON to Go Struct
Convert JSON into Go struct definitions with json tags. Nested objects become inline structs, arrays of objects are merged, and field names follow Go conventions. Runs client-side.
JSONPath Tester
Test JSONPath expressions against any JSON and see the matched values and their paths instantly. Supports wildcards, recursive descent, slices, and filters. 100% client-side.
Comments
0 comments
No comments yet. Be the first to share your thoughts!