@stencitecnologia/constants
v0.1.0
Published
Shared constant collections and enums (Brazilian states, statuses, genders, document types, etc.).
Readme
@stencitecnologia/constants
Coleção compartilhada de constantes, enums e arrays de lookup (estados brasileiros, status de agendamento, gêneros, tipos de documento etc.). JavaScript puro, sem dependências e sem framework.
Instalação
npm install @stencitecnologia/constantsNão possui peer dependencies.
Uso
import {
STATES,
GENDERS,
getStatusLabel,
isFinalStatus,
} from '@stencitecnologia/constants';
// Opções para um dropdown
// <BaseSelect :options="STATES" option-label="label" option-value="value" />
// Label em português a partir da chave de status
const label = getStatusLabel(appointment.status); // "Confirmado"
// Verificação de grupo de status
if (isFinalStatus(appointment.status)) {
// Atendimento já finalizou (FINISHED, MISSED, UNSUCCESSFUL, ...)
}Referência
Status de agendamento
Constantes string canônicas para uso em todo o app:
AVAILABLE | BLOCKED | CONFIRMED | FINISHED | IN_ATTENDANCE | MISSED
PATIENT_CANCELED | PAYMENT | PROFESSIONAL_CANCELED | REPORT
RESCHEDULED | SCHEDULED | SCREENING | UNSUCCESSFUL | WAITING| Export | Tipo | Descrição |
|---|---|---|
| STATUS_LABELS | Record<string, string> | Mapa chave → label em português. |
| BOOKED_STATUSES | string[] | Status que indicam agendamento ativo (SCHEDULED, CONFIRMED, RESCHEDULED, ...). |
| CANCELLED_STATUSES | string[] | Status de cancelamento. |
| ACTIVE_STATUSES | string[] | Status em andamento (IN_ATTENDANCE, PAYMENT, SCREENING, ...). |
| FINAL_STATUSES | string[] | Status finais (FINISHED, MISSED, UNSUCCESSFUL, ...). |
Helpers:
| Função | Assinatura | Descrição |
|---|---|---|
| getStatusLabel | (status: string) => string | Label em português; retorna o próprio status se não encontrado. |
| isBookedStatus | (status: string) => boolean | Pertence a BOOKED_STATUSES. |
| isCancelledStatus | (status: string) => boolean | Pertence a CANCELLED_STATUSES. |
| isActiveStatus | (status: string) => boolean | Pertence a ACTIVE_STATUSES. |
| isFinalStatus | (status: string) => boolean | Pertence a FINAL_STATUSES. |
Arrays de lookup
Todos no formato Array<{ label: string, value: string }>, prontos para usar como options em selects. Todos são Object.freeze()d — não mute, espalhe (...) ou use .map para gerar uma cópia.
| Export | Conteúdo |
|---|---|
| ENTITY_TYPES | Pessoa física (person) / Pessoa jurídica (company). |
| GENDERS | Masculino (male) / Feminino (female). |
| IDENTITY_TYPES | CPF (cpf) / CNPJ (cnpj). |
| STATES | 27 UFs brasileiras (AC, AL, AP, ..., SP, SE, TO). |
Restrições
- Pacote sem dependências de runtime. Nunca adicionar imports de
vue,axios,dayjsou qualquer outra biblioteca. - Os arrays exportados são imutáveis (
Object.freeze). Para uma versão modificada, gere uma cópia comspreadou.map.
