@simoko/tw-zip
Version:
台灣縣市、行政區、郵遞區號(3碼/6碼)查詢工具,支援 React/Vue/Svelte/SolidJS/Angular
88 lines (85 loc) • 2.61 kB
text/typescript
import * as _angular_core from '@angular/core';
export { clearCache, isCityCached, preloadCities } from '../zip6/loader.cjs';
interface SearchResult {
city: string;
area: string;
road: string;
}
interface Zip6Result {
zipcode: string;
zip3: string;
city: string;
area: string;
road: string;
}
interface TwZip6LazyServiceOptions {
/** 資料來源 URL(預設使用 jsDelivr CDN) */
baseUrl?: string;
/** 預載入的縣市列表 */
preload?: string[];
}
declare class TwZip6LazyService {
private readonly baseUrl;
private readonly zip3Map;
private readonly cityData;
private requestId;
readonly loading: _angular_core.WritableSignal<boolean>;
readonly cities: _angular_core.WritableSignal<string[]>;
readonly city: _angular_core.WritableSignal<string>;
readonly area: _angular_core.WritableSignal<string>;
readonly road: _angular_core.WritableSignal<string>;
readonly number: _angular_core.WritableSignal<number | undefined>;
readonly lane: _angular_core.WritableSignal<number | undefined>;
readonly alley: _angular_core.WritableSignal<number | undefined>;
readonly areas: _angular_core.WritableSignal<string[]>;
readonly roads: _angular_core.WritableSignal<string[]>;
readonly searchResults: _angular_core.WritableSignal<SearchResult[]>;
readonly result: _angular_core.Signal<Zip6Result | undefined>;
readonly zipCode: _angular_core.Signal<string>;
readonly zip3: _angular_core.Signal<string>;
/**
* 初始化服務(必須在使用前呼叫)
*/
init(options?: TwZip6LazyServiceOptions): Promise<void>;
/**
* 設定縣市(會觸發非同步載入)
*/
setCity(value: string): Promise<void>;
/**
* 設定行政區
*/
setArea(value: string): void;
/**
* 設定路名
*/
setRoad(value: string): void;
/**
* 設定門牌號碼
*/
setNumber(value: number | undefined): void;
/**
* 設定巷
*/
setLane(value: number | undefined): void;
/**
* 設定弄
*/
setAlley(value: number | undefined): void;
/**
* 搜尋路名(在目前縣市中搜尋)
*/
searchRoads(keyword: string): void;
/**
* 預載入縣市資料
*/
preloadCities(citiesToPreload: string[]): Promise<void>;
/**
* 檢查縣市是否已快取
*/
isCityCached(city: string): boolean;
/**
* 清除快取
*/
clearCache(): void;
}
export { type SearchResult, TwZip6LazyService, type TwZip6LazyServiceOptions, type Zip6Result };