Importaciones solo de tipos en TypeScript
Importar un tipo sin importar un valor, para que el import pueda desaparecer.
import type { Readable } from "node:stream";
import { createReadStream, type ReadStream } from "node:fs";
import * as path from "node:path";
export type { ReadStream };
export interface Source {
stream: Readable;
label: string;
}
export function open(file: string): Source {
return {
stream: createReadStream(file) as ReadStream,
label: path.basename(file),
};
}
const source = open(path.join("data", "runs.csv"));
console.log(source.label, typeof source.stream.pipe);
Cómo funciona
import typese borra por completo al compilar.- Un modificador
typeen línea mezcla ambos en una sola sentencia. export typereexporta sin emitir nada.
Palabras clave y builtins usados aquí
ReadableasconstcreateReadStreamexportfromfunctionimportinterfacereturnstringtype
El intento, en números
- Líneas
- 20
- Caracteres a escribir
- 472
- Tokens
- 107
- Ritmo de tres estrellas
- 110 tpm
Al ritmo de tres estrellas de 110 tokens por minuto, este intento toma unos 58 segundos.
Paso 1 de 3 en Módulos y declaraciones; paso 5 de 8 en Async y módulos.