UNPKG

vietnam-address-converter

Version:

Thư viện JavaScript/TypeScript để tự động chuyển đổi địa chỉ hành chính Việt Nam từ cũ sang mới theo Nghị quyết 202/2025/QH15

96 lines (95 loc) 2.63 kB
import { FullAddress, ConversionResult, WardMapping, Province, Ward } from './types'; /** * Class chính để chuyển đổi địa chỉ hành chính Việt Nam từ cũ sang mới * Đã được tối ưu hóa với cache và batch processing */ export declare class VietnamAddressConverter { private dataLoader; private isInitialized; private conversionCache; private provinceCache; private wardCache; private stats; constructor(); /** * Khởi tạo với dữ liệu mặc định (Node.js) */ initialize(dataFilePath?: string): Promise<void>; /** * Khởi tạo với dữ liệu từ URL (Browser) */ initializeFromUrl(dataUrl?: string): Promise<void>; /** * Chuyển đổi địa chỉ với cache và optimization */ convertAddress(address: string | FullAddress): ConversionResult; /** * Batch conversion với optimizations */ convertAddresses(addresses: (string | FullAddress)[]): ConversionResult[]; /** * Cached province lookup */ private findNewProvinceCached; /** * Cached ward lookup */ private findNewWardCached; /** * Fast mapping selection với simplified scoring */ private findBestMappingFast; /** * Build converted address từ mapping */ private buildConvertedAddress; /** * Check if address has changes */ private hasAddressChanges; /** * Clear caches để giải phóng memory */ clearCache(): void; /** * Get performance statistics */ getPerformanceStats(): { cacheSize: number; provinceCacheSize: number; wardCacheSize: number; dataStats: { provinces: number; wards: number; mappings: number; provinceIndexSize: number; wardIndexSize: number; mappingIndexSize: number; }; totalConversions: number; cacheHits: number; avgConversionTime: number; }; getProvinces(): Province[]; getWards(): Ward[]; getWardMappings(): WardMapping[]; /** * Lấy thống kê dữ liệu */ getDataStats(): { provinces: number; wards: number; mappings: number; provinceIndexSize: number; wardIndexSize: number; mappingIndexSize: number; }; /** * Lấy danh sách phường/xã theo tỉnh */ getWardsByProvince(provinceCode: string): Ward[]; /** * Tìm kiếm mapping theo từ khóa */ searchMappings(keyword: string): WardMapping[]; }