UNPKG

vn-units

Version:

A package helps get all VietNam administrative units

60 lines (50 loc) 1.6 kB
import { getUnitType, formatUnitName } from "./helpers"; type ProvinceRaw = { MaTinh: string; TenTinh: string; LoaiHinh: string; }; type DistrictRaw = ProvinceRaw & { MaQuanHuyen: string; TenQuanHuyen: string; }; type WardRaw = DistrictRaw & { MaPhuongXa: string; TenPhuongXa: string; }; export class ProvinceDto { protected type: string; protected typeVi: string; protected provinceCode: string; protected provinceName: string; protected provinceNameVi: string; constructor(raw: ProvinceRaw, normalizeVietnamese?: boolean) { this.type = getUnitType(raw.LoaiHinh); this.typeVi = raw.LoaiHinh; this.provinceCode = raw.MaTinh; this.provinceName = formatUnitName(raw.TenTinh, normalizeVietnamese); this.provinceNameVi = raw.TenTinh; } } export class DistrictDto extends ProvinceDto { protected districtCode: string; protected districtName: string; protected districtNameVi: string; constructor(raw: DistrictRaw, normalizeVietnamese?: boolean) { super(raw, normalizeVietnamese); this.districtCode = raw.MaQuanHuyen; this.districtName = formatUnitName(raw.TenQuanHuyen, normalizeVietnamese); this.districtNameVi = raw.TenQuanHuyen; } } export class WardDto extends DistrictDto { protected wardCode: string; protected wardName: string; protected wardNameVi: string; constructor(raw: WardRaw, normalizeVietnamese?: boolean) { super(raw, normalizeVietnamese); this.wardCode = raw.MaPhuongXa; this.wardName = formatUnitName(raw.TenPhuongXa, normalizeVietnamese); this.wardNameVi = raw.TenPhuongXa; } }