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
TypeScript
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[];
}