geolite
Version:
A lightweight geo data toolkit with countries, states, cities, timezones, currencies, and dialing codes. Works with Prisma and SQLite.
3 lines (2 loc) • 2.02 kB
JavaScript
"use server";var u=Object.defineProperty;var t=(e,i)=>u(e,"name",{value:i,configurable:!0});import n from"../utils/prisma";async function s(){return await n.country.findMany({orderBy:{name:"asc"},select:{code:!0,name:!0,iso3:!0,flagEmoji:!0}})}t(s,"getAllCountries");async function c(e){return e?await n.state.findMany({where:{countryCode:e},orderBy:{name:"asc"},select:{id:!0,name:!0,iso2:!0,iso3:!0}}):[]}t(c,"getStatesOfCountry");async function d(e,i){return e?await n.city.findMany({where:{countryCode:e,...i&&{stateId:parseInt(i.toString())}},orderBy:{name:"asc"},select:{id:!0,name:!0}}):[]}t(d,"getCitiesOfCountryAndState");async function l(e){return e?await n.country.findUnique({where:{code:e},select:{code:!0,name:!0,iso3:!0,flagEmoji:!0}}):null}t(l,"getCountryByCode");async function y(e){return e?await n.state.findUnique({where:{id:parseInt(e.toString())},select:{id:!0,name:!0,iso2:!0,iso3:!0,country:{select:{code:!0,name:!0}}}}):null}t(y,"getStateById");async function m(e){return e?await n.city.findUnique({where:{id:parseInt(e.toString())},select:{id:!0,name:!0,country:{select:{code:!0,name:!0}},state:{select:{id:!0,name:!0}}}}):null}t(m,"getCityById");async function f(e){return e?(await n.city.findMany({where:{name:{equals:e.toLowerCase()}},select:{id:!0,name:!0,country:{select:{code:!0,name:!0}},state:{select:{id:!0,name:!0}}},orderBy:{countryCode:"asc"}})).map(r=>({id:r.id,name:r.name,country:r.country||null,state:r?.state||null})):[]}t(f,"findStateAndCountryFromCity");async function C(e){return e?(await n.state.findMany({where:{name:{equals:e.toLowerCase()}},select:{id:!0,name:!0,country:{select:{code:!0,name:!0}}},orderBy:{countryCode:"asc"}})).map(r=>({id:r.id,name:r.name,country:r.country||null})):[]}t(C,"findCountryFromState");export{C as findCountryFromState,f as findStateAndCountryFromCity,s as getAllCountries,d as getCitiesOfCountryAndState,m as getCityById,l as getCountryByCode,y as getStateById,c as getStatesOfCountry};
//# sourceMappingURL=country-state-city.js.map