UNPKG

@simoko/tw-zip

Version:

台灣縣市、行政區、郵遞區號(3碼/6碼)查詢工具,支援 React/Vue/Svelte/SolidJS/Angular

2 lines 2.51 kB
import {a as a$1,d as d$2,b as b$2,c as c$2,f as f$1}from'../chunk-XG72AOTY.js';import {b as b$1,d as d$1}from'../chunk-DHQAPW76.js';import {a,c as c$1,b}from'../chunk-VAKBHZJJ.js';import {Injectable,signal,computed}from'@angular/core';var C,c;C=[Injectable({providedIn:"root"})];var n=class{constructor(){this.cities=b$1();this.city=signal(this.cities[0]??"");this.districts=signal(d$1(this.city()));this.zipCode=signal(this.districts()[0]?.value??"");this.district=computed(()=>this.districts().find(t=>t.value===this.zipCode())?.label??"");}setCity(t){this.city.set(t);let e=d$1(t);this.districts.set(e),this.zipCode.set(e[0]?.value??"");}setDistrict(t){let e=this.districts().find(i=>i.label===t);e&&this.zipCode.set(e.value);}setZipCode(t){this.zipCode.set(t);}};c=a(null),n=c$1(c,0,"TwZipService",C,n),b(c,1,n);var z,f;z=[Injectable({providedIn:"root"})];var d=class{constructor(){this.cities=a$1();this.city=signal(this.cities[0]??"");this.area=signal("");this.road=signal("");this.number=signal(void 0);this.lane=signal(void 0);this.alley=signal(void 0);this.areas=signal([]);this.roads=signal([]);this.searchResults=signal([]);this.result=computed(()=>{if(!(!this.city()||!this.area()||!this.road()))return d$2({city:this.city(),area:this.area(),road:this.road(),number:this.number(),lane:this.lane(),alley:this.alley()})});this.zipCode=computed(()=>this.result()?.zipcode??"");this.zip3=computed(()=>this.result()?.zip3??"");let t=b$2(this.city());if(this.areas.set(t),this.area.set(t[0]??""),t[0]){let e=c$2(this.city(),t[0]);this.roads.set(e),this.road.set(e[0]??"");}}setCity(t){this.city.set(t);let e=b$2(t);this.areas.set(e);let i=e[0]??"";if(this.area.set(i),i){let m=c$2(t,i);this.roads.set(m),this.road.set(m[0]??"");}else this.roads.set([]),this.road.set("");this.number.set(void 0),this.lane.set(void 0),this.alley.set(void 0);}setArea(t){this.area.set(t);let e=c$2(this.city(),t);this.roads.set(e),this.road.set(e[0]??""),this.number.set(void 0),this.lane.set(void 0),this.alley.set(void 0);}setRoad(t){this.road.set(t),this.number.set(void 0),this.lane.set(void 0),this.alley.set(void 0);}setNumber(t){this.number.set(t);}setLane(t){this.lane.set(t);}setAlley(t){this.alley.set(t);}searchRoads(t){if(!t.trim()){this.searchResults.set([]);return}let e=f$1(t,this.city()||void 0,this.area()||void 0);this.searchResults.set(e);}};f=a(null),d=c$1(f,0,"TwZip6Service",z,d),b(f,1,d);export{d as TwZip6Service,n as TwZipService};//# sourceMappingURL=index.js.map //# sourceMappingURL=index.js.map