@simoko/tw-zip
Version:
台灣縣市、行政區、郵遞區號(3碼/6碼)查詢工具,支援 React/Vue/Svelte/SolidJS/Angular
48 lines (45 loc) • 1.64 kB
TypeScript
import * as solid_js from 'solid-js';
import { isCityCached, clearCache } from '../zip6/loader.js';
interface SearchResult {
city: string;
area: string;
road: string;
}
interface Zip6Result {
zipcode: string;
zip3: string;
city: string;
area: string;
road: string;
}
interface UseTwZip6Options {
baseUrl?: string;
preload?: string[];
}
declare function useTwZip6(options?: UseTwZip6Options): {
loading: solid_js.Accessor<boolean>;
cities: solid_js.Accessor<string[]>;
areas: solid_js.Accessor<string[]>;
roads: solid_js.Accessor<string[]>;
city: solid_js.Accessor<string>;
area: solid_js.Accessor<string>;
road: solid_js.Accessor<string>;
number: solid_js.Accessor<number | undefined>;
lane: solid_js.Accessor<number | undefined>;
alley: solid_js.Accessor<number | undefined>;
setCity: (value: string) => Promise<void>;
setArea: (value: string) => void;
setRoad: (value: string) => void;
setNumber: solid_js.Setter<number | undefined>;
setLane: solid_js.Setter<number | undefined>;
setAlley: solid_js.Setter<number | undefined>;
searchRoads: (keyword: string) => void;
searchResults: solid_js.Accessor<SearchResult[]>;
zipCode: solid_js.Accessor<string>;
zip3: solid_js.Accessor<string>;
result: solid_js.Accessor<Zip6Result | undefined>;
preloadCities: (citiesToPreload: string[]) => Promise<void>;
isCityCached: typeof isCityCached;
clearCache: typeof clearCache;
};
export { type SearchResult, type UseTwZip6Options, type Zip6Result, clearCache, useTwZip6 as default, isCityCached, useTwZip6 };