kenya-locations
Version:
A comprehensive and intuitive TypeScript package for working with Kenyan administrative divisions (counties, sub-counties, constituencies, and wards)
2 lines (1 loc) • 2.36 kB
JavaScript
;var h=Object.defineProperty;var m=(e,t,o)=>t in e?h(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o;var d=(e,t,o)=>m(e,typeof t!="symbol"?t+"":t,o);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./counties-D9ZfM1Ad.cjs"),u=require("./constituencies-HrhCXHyg.cjs"),w=require("./area-zfFmEagr.cjs"),f=require("./wards-BHJ3nhLv.cjs"),n=require("./maps-B_hwSl98.cjs"),p=require("./LocationErrors-B_UyK2xz.cjs"),c=require("./constituencies.cjs"),y=require("./localities.cjs"),g=n.buildLookupMap(s.counties,e=>e.code),r=n.buildLookupMap(s.counties,e=>e.name.toLowerCase()),_=n.buildLookupMap(u.constituencies,e=>e.code),b=n.buildLookupMap(u.constituencies,e=>e.name.toLowerCase()),l=n.buildGroupMap(u.constituencies,e=>{var t;return(t=r.get(e.county.toLowerCase()))==null?void 0:t.code}),C=n.buildGroupMap(w.localities,e=>e.county),q=n.buildGroupMap(w.areas,e=>e.county),W=n.buildGroupMap(f.wards,e=>{var o;const t=b.get(e.constituency.toLowerCase());return t?(o=r.get(t.county.toLowerCase()))==null?void 0:o.code:void 0});class L{constructor(t){d(this,"_data");this._data=t}get code(){return this._data.code}get name(){return this._data.name}get data(){return{...this._data}}constituencies(){return(l.get(this._data.code)??[]).map(t=>new c.ConstituencyWrapper(t))}constituency(t){const o=l.get(this._data.code)??[],a=_.get(t);if((a==null?void 0:a.county)===this._data.name)return new c.ConstituencyWrapper(a);const i=o.find(M=>M.name.toLowerCase()===t.toLowerCase());if(i)return new c.ConstituencyWrapper(i);throw new p.LocationNotFoundError("Constituency",t)}localities(){return(C.get(this._data.name)??[]).map(t=>new y.LocalityWrapper(t))}locality(t){const o=(C.get(this._data.name)??[]).find(a=>a.name.toLowerCase()===t.toLowerCase());if(o)return new y.LocalityWrapper(o);throw new p.LocationNotFoundError("Locality",t)}areas(){return q.get(this._data.name)??[]}wards(){return W.get(this._data.code)??[]}areasByLocality(t){return this.areas().filter(o=>o.locality.toLowerCase()===t.toLowerCase())}}function N(){return s.counties}function B(e){return g.get(e)}function T(e){return r.get(e.toLowerCase())}function k(e){const t=g.get(e)??r.get(e.toLowerCase());return t?new L(t):void 0}exports.CountyWrapper=L;exports.county=k;exports.getCounties=N;exports.getCountyByCode=B;exports.getCountyByName=T;