@simoko/tw-zip
Version:
台灣縣市、行政區、郵遞區號(3碼/6碼)查詢工具,支援 React/Vue/Svelte/SolidJS/Angular
70 lines (67 loc) • 2.85 kB
TypeScript
import * as svelte_store from 'svelte/store';
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 CreateTwZip6Options {
baseUrl?: string;
preload?: string[];
}
declare function createTwZip6(options?: CreateTwZip6Options): {
loading: {
subscribe: (this: void, run: svelte_store.Subscriber<boolean>, invalidate?: () => void) => svelte_store.Unsubscriber;
};
cities: {
subscribe: (this: void, run: svelte_store.Subscriber<string[]>, invalidate?: () => void) => svelte_store.Unsubscriber;
};
areas: {
subscribe: (this: void, run: svelte_store.Subscriber<string[]>, invalidate?: () => void) => svelte_store.Unsubscriber;
};
roads: {
subscribe: (this: void, run: svelte_store.Subscriber<string[]>, invalidate?: () => void) => svelte_store.Unsubscriber;
};
city: {
subscribe: (this: void, run: svelte_store.Subscriber<string>, invalidate?: () => void) => svelte_store.Unsubscriber;
};
area: {
subscribe: (this: void, run: svelte_store.Subscriber<string>, invalidate?: () => void) => svelte_store.Unsubscriber;
};
road: {
subscribe: (this: void, run: svelte_store.Subscriber<string>, invalidate?: () => void) => svelte_store.Unsubscriber;
};
number: {
subscribe: (this: void, run: svelte_store.Subscriber<number | undefined>, invalidate?: () => void) => svelte_store.Unsubscriber;
};
lane: {
subscribe: (this: void, run: svelte_store.Subscriber<number | undefined>, invalidate?: () => void) => svelte_store.Unsubscriber;
};
alley: {
subscribe: (this: void, run: svelte_store.Subscriber<number | undefined>, invalidate?: () => void) => svelte_store.Unsubscriber;
};
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;
searchResults: {
subscribe: (this: void, run: svelte_store.Subscriber<SearchResult[]>, invalidate?: () => void) => svelte_store.Unsubscriber;
};
zipCode: svelte_store.Readable<string>;
zip3: svelte_store.Readable<string>;
result: svelte_store.Readable<Zip6Result | undefined>;
preloadCities: (citiesToPreload: string[]) => Promise<void>;
isCityCached: typeof isCityCached;
clearCache: typeof clearCache;
};
export { type CreateTwZip6Options, type SearchResult, type Zip6Result, clearCache, createTwZip6, createTwZip6 as default, isCityCached };