# General Translation Platform: Diagnostica
URL: https://generaltranslation.com/it/docs/platform/core/reference/diagnostics.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Formatta il testo diagnostico senza registrarlo né segnalarlo. Riferimento API per createDiagnosticMessage e formatDiagnosticErrorDetails.

Importa queste funzioni e questi tipi da `generaltranslation/diagnostics`. Si limitano a produrre string: non scrivono log, non segnalano eccezioni, non inviano dati di telemetria e non oscurano i segreti.

| Export                                           | Descrizione                                                     |
| ------------------------------------------------ | --------------------------------------------------------------- |
| [`createDiagnosticMessage`](#create-message)     | Combina il testo diagnostico in un messaggio.                   |
| [`DiagnosticMessageInput`](#message-input)       | Campi del messaggio e contesto facoltativo.                     |
| [`DiagnosticSeverity`](#severity)                | Etichette di severità supportate.                                |
| [`formatDiagnosticErrorDetails`](#error-details) | Converte un errore di tipo sconosciuto in un testo facoltativo. |

## `createDiagnosticMessage` [#create-message]

**Firma** `(input: DiagnosticMessageInput) => string`

Combina i campi forniti in questo ordine: cosa è successo e perché, rassicurazione, correzione e via d&#39;uscita, dettagli e URL della documentazione. Rimuove gli spazi superflui dal testo delle frasi e aggiunge la punteggiatura dove necessario. La sorgente e la severità, se presenti, formano il prefisso; un `wayOut` che inizia con la minuscola può essere integrato nella frase della correzione.

```ts
import { createDiagnosticMessage } from 'generaltranslation/diagnostics';

const message = createDiagnosticMessage({
  source: 'Importer',
  severity: 'Warning',
  whatHappened: 'The file was skipped',
  fix: 'Choose a supported format',
});
// Restituisce una string; non viene scritto nulla nel log in automatico.
console.log(message);
```

## `DiagnosticMessageInput` [#message-input]

**Tipo** object · Input **obbligatorio** per il formattatore dei messaggi

| Campo          | Descrizione                                               | Tipo                 | Facoltativo | Predefinito |
| -------------- | --------------------------------------------------------- | -------------------- | ----------- | ----------- |
| `whatHappened` | Spiegazione principale.                                   | `string`             | No          | —           |
| `source`       | Prefisso che identifica il chiamante.                     | `string`             | Sì          | —           |
| `severity`     | Etichetta usata come prefisso.                            | `DiagnosticSeverity` | Sì          | —           |
| `reassurance`  | Cosa rimane sicuro o invariato.                           | `string`             | Sì          | —           |
| `why`          | Causa, collegata alla spiegazione principale.             | `string`             | Sì          | —           |
| `fix`          | Azione correttiva suggerita.                              | `string`             | Sì          | —           |
| `wayOut`       | Azione alternativa.                                       | `string`             | Sì          | —           |
| `details`      | Dettagli aggiuntivi; gli array vengono uniti con virgole. | `string \| string[]` | Sì          | —           |
| `docsUrl`      | URL della documentazione aggiunto in coda al messaggio.   | `string`             | Sì          | —           |

Solo `whatHappened` è obbligatorio; i campi facoltativi omessi non aggiungono testo. Fornisci le proposizioni con le maiuscole e minuscole che devono avere all&#39;interno della frase. Non includere segreti in `details` né in altri campi: il formattatore non oscura alcun dato.

```ts
import type { DiagnosticMessageInput } from 'generaltranslation/diagnostics';

const input: DiagnosticMessageInput = { whatHappened: 'No files matched' };
```

## `DiagnosticSeverity` [#severity]

**Tipo** `'Error' | 'Warning'`

Determina l&#39;etichetta di testo opzionale, non il livello di logging né il comportamento delle eccezioni. Se si omette la severità, non viene aggiunto alcun prefisso di severità.

```ts
import type { DiagnosticSeverity } from 'generaltranslation/diagnostics';

const severity: DiagnosticSeverity = 'Warning';
```

## `formatDiagnosticErrorDetails` [#error-details]

**Firma** `(error: unknown) => string | undefined`

Restituisce `undefined` per `null` o `undefined`; in caso contrario restituisce `String(error)`. Non estrae i campi strutturati dell&#39;errore né ne oscura il contenuto.

```ts
import { formatDiagnosticErrorDetails } from 'generaltranslation/diagnostics';

console.log(formatDiagnosticErrorDetails(new Error('Invalid file'))); // Error: Invalid file
console.log(formatDiagnosticErrorDetails(null)); // undefined
```

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
