Documentação detalhada de todas as classes, métodos e tipos da Circle Text Library.
- TextLibrary
- Validator
- Extractor
- SentimentExtractor
- DateFormatter
- Conversor
- RichText
- Timezone
- Tipos TypeScript
Classe principal que agrupa todos os módulos da biblioteca.
new TextLibrary(config: CircleTextProps)| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
config |
CircleTextProps |
Sim | Objeto de configuração |
| Nome | Tipo | Descrição |
|---|---|---|
validator |
Validator |
Instância do validador |
extractor |
Extractor |
Instância do extrator |
sentiment |
SentimentExtractor |
Instância do analisador de sentimento |
conversor |
Conversor |
Instância do conversor |
date |
DateFormatter |
Instância do formatador de datas |
rich |
RichText |
Instância do formatador de rich text |
timezone |
Timezone |
Instância do gerenciador de timezone |
Módulo de validação com regras configuráveis.
username(value: string, customRules?: UsernameValidationRules): ValidationResultValida um username.
Retorno: { isValid: boolean, errors: string[] }
password(value: string, customRules?: PasswordValidationRules): ValidationResultValida uma senha.
Retorno: { isValid: boolean, errors: string[] }
hashtag(value: string, customRules?: HashtagValidationRules): ValidationResultValida uma hashtag.
Retorno: { isValid: boolean, errors: string[] }
url(value: string, customRules?: UrlValidationRules): ValidationResultValida uma URL.
Retorno: { isValid: boolean, errors: string[] }
name(value: string, customRules?: NameValidationRules): ValidationResultValida um nome de pessoa.
Retorno: { isValid: boolean, errors: string[] }
description(value: string, customRules?: DescriptionValidationRules): ValidationResultValida uma descrição.
Retorno: { isValid: boolean, errors: string[] }
Módulo de extração de entidades e keywords.
setText(text: string): voidDefine o texto a ser analisado.
entities(options: ExtractOptions): PartialExtractResultExtrai entidades do texto.
Parâmetros:
options.mentions(boolean): Extrair mençõesoptions.hashtags(boolean): Extrair hashtagsoptions.urls(boolean): Extrair URLs
Retorno: Objeto com arrays de entidades extraídas.
keywords(): string[]Extrai keywords do texto.
Retorno: Array de strings com as keywords.
Módulo de análise de sentimento.
analyze(text: string): SentimentReturnPropsAnalisa o sentimento de um texto.
Retorno:
{
sentiment: 'positive' | 'negative' | 'neutral',
intensity: number // 0.0 a 1.0
}Módulo de formatação de datas.
new DateFormatter(config?: DateFormatterConfig)toRelativeTime(date: Date): stringConverte data para texto relativo.
Retorno: String com tempo relativo ("10 minutos atrás", "2h", etc.)
Lança: Erro se data for inválida ou futura.
toFullDate(date: Date): stringFormata data por extenso.
Retorno: String com data completa ("15 de janeiro de 2024")
toShortDate(date: Date): stringFormata data em formato curto.
Retorno: String com data curta ("15/01/2024")
toTimeString(date: Date): stringFormata apenas a hora.
Retorno: String com hora ("14:30")
toFullDateTime(date: Date): stringFormata data e hora completa.
Retorno: String com data e hora ("15 de janeiro de 2024 às 14:30")
isPast(date: Date): booleanVerifica se data está no passado.
isFuture(date: Date): booleanVerifica se data está no futuro.
isToday(date: Date): booleanVerifica se data é hoje.
isYesterday(date: Date): booleanVerifica se data foi ontem.
daysBetween(date1: Date, date2?: Date): numberCalcula diferença em dias entre datas.
setStyle(style: DateFormatStyle): voidDefine estilo de formatação ('full', 'short', 'abbreviated').
setLocale(locale: DateFormatLocale): voidDefine locale ('pt-BR', 'en-US').
setUsePrefix(usePrefix: boolean): voidDefine uso do prefixo "há".
setUseSuffix(useSuffix: boolean): voidDefine uso do sufixo "atrás".
setCapitalize(capitalize: boolean): voidDefine capitalização da primeira letra.
setUseApproximateTime(useApproximateTime: boolean): voidDefine uso de tempo aproximado.
setRecentTimeThreshold(threshold: number): voidDefine threshold em segundos para tempo recente.
setRecentTimeLabel(label: string): voidDefine label customizado para tempo recente.
getStyle(): DateFormatStyleRetorna estilo atual.
getLocale(): DateFormatLocaleRetorna locale atual.
Módulo de conversão e formatação de números e textos.
sliceWithDots(options: { text: string, size?: number }): stringCorta texto adicionando sufixo.
Retorno: Texto cortado com sufixo.
capitalizeFirstLetter(text: string): stringCapitaliza primeira letra.
Retorno: Texto com primeira letra maiúscula.
invertStr(text: string): stringInverte uma string.
Retorno: String invertida.
formatNumWithDots(num: number): stringFormata número com separadores de milhares.
Retorno: String com número formatado ("1.000.000").
convertNumToShort(num: number): stringConverte número para formato curto.
Retorno: String com número abreviado ("1.5 M", "500 K").
Módulo de formatação de texto enriquecido.
setText(text: string, entityMappings?: EntityMapping): voidDefine texto e mapeamento de IDs de entidades.
getEnrichedText(): stringRetorna texto em formato enriquecido.
formatToNormal(): stringConverte texto enriquecido para normal.
formatToUI(): RichTextUIFormatFormata para renderização em UI.
Retorno:
{
text: string,
entities: Array<{
type: 'text' | 'mention' | 'hashtag' | 'url',
text: string,
id?: string,
start: number,
end: number
}>
}extractEntities(): {
mentions: Array<{ text: string, id?: string }>,
hashtags: Array<{ text: string, id?: string }>,
urls: Array<{ text: string }>
}Extrai entidades do texto enriquecido.
Módulo de gerenciamento de fusos horários.
new Timezone(timezoneCode?: TimezoneCode)UTCToLocal(utcDate: Date): DateConverte data UTC para timezone local.
localToUTC(localDate: Date): DateConverte data local para UTC.
getOffset(): numberRetorna offset em horas.
getCode(): TimezoneCodeRetorna código do timezone.
setLocalTimezone(code: TimezoneCode): voidDefine timezone local.
getCodeFromOffset(offset: number): TimezoneCodeRetorna código do timezone a partir do offset.
getOffsetFromCode(code: TimezoneCode): numberRetorna offset a partir do código.
interface CircleTextProps {
validationRules: ValidationConfig
extractorConfig?: ExtractorConfig
sentimentConfig?: SentimentExtractorConfig
conversorConfig?: ConversorConfig
dateFormatterConfig?: DateFormatterConfig
richTextConfig?: RichTextConfig
}interface ValidationResult {
isValid: boolean
errors: string[]
}interface ExtractOptions {
mentions?: boolean
hashtags?: boolean
urls?: boolean
}interface PartialExtractResult {
mentions?: string[]
hashtags?: string[]
urls?: string[]
}interface SentimentReturnProps {
sentiment: "positive" | "negative" | "neutral"
intensity: number
}interface DateFormatterConfig {
style?: "full" | "short" | "abbreviated"
locale?: "pt-BR" | "en-US"
usePrefix?: boolean
useSuffix?: boolean
capitalize?: boolean
useApproximateTime?: boolean
recentTimeThreshold?: number
recentTimeLabel?: string
}enum TimezoneCode {
UTC = "UTC",
BRT = "BRT",
BRST = "BRST",
EST = "EST",
EDT = "EDT",
CST = "CST",
CDT = "CDT",
MST = "MST",
MDT = "MDT",
PST = "PST",
PDT = "PDT",
AKST = "AKST",
AKDT = "AKDT",
HST = "HST"
}