UNPKG

id-auto-formalizer

Version:

Konversi teks Bahasa Indonesia dari kasual ke formal untuk surat, email, dan laporan resmi

235 lines (201 loc) 5.21 kB
// TypeScript definitions for id-auto-formalizer declare module 'id-auto-formalizer' { /** * Options untuk proses formalisasi */ export interface FormalizeOptions { /** * Aktifkan auto kapitalisasi * @default true */ autoCapitalize?: boolean; /** * Aktifkan auto punctuation * @default true */ autoPunctuation?: boolean; } /** * Hasil analisis formalitas */ export interface FormalityAnalysis { /** * Skor formalitas (0-100) */ score: number; /** * Level formalitas dalam bahasa */ level: 'Sangat Informal' | 'Informal' | 'Semi Formal' | 'Formal' | 'Sangat Formal'; /** * Jumlah kata informal yang ditemukan */ informalWords: number; /** * Total kata dalam teks */ totalWords: number; } /** * Saran perbaikan untuk teks */ export interface ImprovementSuggestion { /** * Tipe saran */ type: 'word' | 'capitalization' | 'punctuation'; /** * Posisi dalam teks (index kata atau karakter) */ position: number; /** * Teks original */ original: string; /** * Saran pengganti */ suggestion: string; /** * Alasan saran */ reason: string; } /** * Hasil batch processing */ export interface BatchResult { /** * Teks original */ original: string; /** * Teks yang sudah diformalisasi */ formalized: string; /** * Analisis formalitas */ analysis: FormalityAnalysis; } /** * Statistik mapping */ export interface MappingStatistics { /** * Total jumlah mapping */ totalMappings: number; /** * Kategori mapping */ categories: { pronouns: number; verbs: number; adjectives: number; slang: number; }; } /** * Dictionary mapping informal ke formal */ export interface InformalToFormalMap { [key: string]: string; } /** * Class utama Indonesian Formalizer */ export class IndonesianFormalizer { constructor(); /** * Mapping kata informal ke formal */ informalToFormal: InformalToFormalMap; /** * Formalisasi teks * @param text - Teks yang akan diformalisasi * @param options - Opsi formalisasi * @returns Teks formal */ formalize(text: string, options?: FormalizeOptions): string; /** * Analisis tingkat formalitas teks * @param text - Teks yang akan dianalisis * @returns Hasil analisis */ analyzeFormalityLevel(text: string): FormalityAnalysis; /** * Dapatkan saran perbaikan * @param text - Teks untuk mendapat saran * @returns Array saran perbaikan */ suggestImprovements(text: string): ImprovementSuggestion[]; /** * Proses batch untuk multiple teks * @param texts - Array teks yang akan diproses * @param options - Opsi formalisasi * @returns Array hasil batch */ formalizeBatch(texts: string[], options?: FormalizeOptions): BatchResult[]; /** * Tambah mapping kata tunggal * @param informal - Kata informal * @param formal - Kata formal pengganti */ addMapping(informal: string, formal: string): void; /** * Tambah multiple mapping * @param mappings - Object berisi mapping */ addMappings(mappings: InformalToFormalMap): void; /** * Export semua mapping * @returns Copy dari semua mapping */ exportMappings(): InformalToFormalMap; /** * Dapatkan statistik mapping * @returns Statistik mapping */ getStatistics(): MappingStatistics; /** * Auto kapitalisasi teks * @param text - Teks input * @returns Teks dengan kapitalisasi yang benar */ autoCapitalize(text: string): string; /** * Auto punctuation teks * @param text - Teks input * @returns Teks dengan punctuation yang benar */ autoPunctuation(text: string): string; } /** * Fungsi helper untuk formalisasi cepat * @param text - Teks yang akan diformalisasi * @param options - Opsi formalisasi * @returns Teks formal */ export function formalize(text: string, options?: FormalizeOptions): string; /** * Fungsi helper untuk analisis * @param text - Teks yang akan dianalisis * @returns Hasil analisis formalitas */ export function analyze(text: string): FormalityAnalysis; /** * Fungsi helper untuk saran * @param text - Teks untuk mendapat saran * @returns Array saran perbaikan */ export function suggest(text: string): ImprovementSuggestion[]; /** * Fungsi helper untuk batch processing * @param texts - Array teks yang akan diproses * @param options - Opsi formalisasi * @returns Array hasil batch */ export function batch(texts: string[], options?: FormalizeOptions): BatchResult[]; export default IndonesianFormalizer; }