@tc-libs/constant
v4.6.0
Published
Raccoglie costanti condivise usate dagli altri package del monorepo. Al momento espone enum per:
Readme
@tc-libs/constant
Raccoglie costanti condivise usate dagli altri package del monorepo. Al momento espone enum per:
- ambiente applicativo
- MIME type di file immagine, audio, video, excel e documenti testuali
- classificazione logica dei file
- formati tabellari esportabili
Questo package non registra moduli NestJS e non ha configurazione runtime: si importa direttamente dove serve.
Export pubblici
import {
ENUM_APP_ENVIRONMENT,
ENUM_FILE_IMAGE_MIME,
ENUM_FILE_EXCEL_MIME,
ENUM_FILE_AUDIO_MIME,
ENUM_FILE_TEXT_MIME,
ENUM_FILE_VIDEO_MIME,
ENUM_FILE_TYPE,
ENUM_TABLE_FILE_TYPE,
} from '@tc-libs/constant';Cosa contiene
ENUM_APP_ENVIRONMENT
Valori standard per distinguere il contesto applicativo:
ENUM_APP_ENVIRONMENT.PRODUCTION;
ENUM_APP_ENVIRONMENT.STAGING;
ENUM_APP_ENVIRONMENT.DEVELOPMENT;Utile per confronti espliciti in config, bootstrap e logica condizionale.
MIME type file
Gli enum MIME vengono usati soprattutto dai package file, doc, request e response per validazione upload ed export.
ENUM_FILE_IMAGE_MIME.PNG;
ENUM_FILE_EXCEL_MIME.XLSX;
ENUM_FILE_AUDIO_MIME.MP3;
ENUM_FILE_VIDEO_MIME.MP4;
ENUM_FILE_TEXT_MIME.PDF;ENUM_FILE_TEXT_MIME e un oggetto aggregato che unisce plain text, ODT, PDF, DOCX e PowerPoint.
ENUM_FILE_TYPE
Categoria logica del file, indipendente dal MIME specifico:
ENUM_FILE_TYPE.IMAGE;
ENUM_FILE_TYPE.AUDIO;
ENUM_FILE_TYPE.EXCEL;
ENUM_FILE_TYPE.VIDEO;Viene usato, ad esempio, per applicare limiti diversi ai file binari o per persistere il tipo in entita database.
ENUM_TABLE_FILE_TYPE
Formati tabellari supportati nelle esportazioni:
ENUM_TABLE_FILE_TYPE.CSV;
ENUM_TABLE_FILE_TYPE.XLS;
ENUM_TABLE_FILE_TYPE.XLSX;Esempi d'uso
Validare un MIME type in upload
import { ENUM_FILE_IMAGE_MIME } from '@tc-libs/constant';
const allowed = Object.values(ENUM_FILE_IMAGE_MIME);
if (!allowed.includes(file.mimetype as ENUM_FILE_IMAGE_MIME)) {
throw new Error('Unsupported image format');
}Gestire comportamenti per ambiente
import { ENUM_APP_ENVIRONMENT } from '@tc-libs/constant';
const isProd =
process.env.NODE_ENV === ENUM_APP_ENVIRONMENT.PRODUCTION;Tipizzare un'opzione di export
import { ENUM_TABLE_FILE_TYPE } from '@tc-libs/constant';
type ExportOptions = {
fileType: ENUM_TABLE_FILE_TYPE;
};Quando usarlo
Usa questo package quando vuoi:
- evitare stringhe duplicate per MIME type e ambienti
- condividere enum tipizzati tra piu librerie
- mantenere allineati validation pipe, DTO e modelli persistiti
Sviluppo
nx build constant
nx test constant