@simoko/tw-zip
Version:
taiwan zip code
72 lines (70 loc) • 2.19 kB
text/typescript
interface IDistrict {
[key: string]: string;
}
interface ICity {
[key: string]: IDistrict;
}
/**
* 回傳所有資料
* @example
* getData()
* // { "台北市": { "中正區": "100", "大同區": "103", "中山區": "104", "松山區": "105", ... }, "基隆市": { "仁愛區": "200", "信義區": "201", "中正區": "202", ... }, ... }
*/
declare function getData(): ICity;
/**
* 回傳縣市陣列
* @example
* getCityArray()
* // [ "台北市", "基隆市", "新北市", ... ]
*/
declare function getCityArray(): string[];
/**
* 回傳行政區資料 - dist
* @param city 縣市名稱
* @example
* getDistricts("台北市")
* // { "中正區": "100", "大同區": "103", ... }
*/
declare function getDistricts(city?: string): IDistrict;
/**
* 回傳行政區資料 - array
* @param city 縣市名稱
* @param label 標籤名稱 (可選,預設 `label`)
* @param value 值名稱 (可選,預設 `value`)
* @example
* getDistrictArray("台北市", { label: "key" })
* // [ { key: "中正區", value: "100" }, { key: "大同區", value: "103" }, ... ]
*/
declare function getDistrictArray(city?: string | null, { label, value }?: {
label?: string | undefined;
value?: string | undefined;
}): {
[key: string]: string;
}[];
/**
* 回傳扁平化陣列資訊
* @param city 縣市名稱 (可選,預設回傳所有縣市)
* @param symbol 分隔符號 (可選,預設為 `空格符`)
* @example
* getFlatArray("台北市")
* // [ "100 台北市 中正區", "103 台北市 大同區", ... ]
*
* getFlatArray({ city: '嘉義市', symbol: '#' })
* // [ "600#嘉義市#東區", "600#嘉義市#西區" ]
*/
declare function getFlatArray({ city, symbol }?: {
city?: string | undefined;
symbol?: string | undefined;
}): string[];
/**
* 根據行政區回傳單筆資料
* @param district 行政區名稱
* @example
* getZipCode("中正區")
* // [ "100", "台北市", "中正區" ]
*
* getZipCode("100")
* // [ "100", "台北市", "中正區" ]
*/
declare function getZipCode(district: string): string[] | undefined;
export { ICity, IDistrict, getCityArray, getData, getDistrictArray, getDistricts, getFlatArray, getZipCode };