@abuhasanrumi/timezone-to-country
v2.0.1
Published
Tiny library to get country info by timezone
Maintainers
Readme
A tiny (~18KB) JavaScript utility to get country information from a given timezone. Most existing timezone packages are bulky — I needed something lightweight and focused for my office work. This package gives you exactly what you need, and nothing more.
📦 Installation
npm install @abuhasanrumi/timezone-to-country🔍 Usage
import getTimezoneInfo from '@abuhasanrumi/timezone-to-country'
const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone
const info = getTimezoneInfo(timezone)
console.log(info)🧠 Why I Built This
While working on an internal project at my office, I needed to map a given timezone to its corresponding country info. Every library I found was oversized for this small task — many were 70KB+ or came with unused data. So, I built this micro-library with minimal JSON and no dependencies, optimized for performance and size.
✅ Features
- 🌍 Maps IANA timezones to country details
- 🪶 Tiny footprint (~18KB)
- 📦 Zero dependencies
- 📁 Pure JSON + single function
- ⚡️ Fast lookup (O(1) via object key)
🗂 Data Format
Each timezone entry maps to:
{
countryCode: 'XX', // ISO country code
countryName: 'Country Name',
continentName: 'Continent'
}🛠 Development
git clone https://github.com/abuhasanrumi/timezone-to-country.git
cd timezone-to-country
npm install
npm run build🤝 Contributing
Feel free to submit issues or PRs!
- Fork the repo
- Create your feature branch:
git checkout -b feature/your-feature - Commit your changes:
git commit -m 'Add your feature' - Push to the branch:
git push origin feature/your-feature - Open a pull request
📄 License
MIT © Abu Hasan Rumi
🔗 Related Packages
@abuhasanrumi/state-sync: A tiny utility (~1KB) to sync state across tabs usingBroadcastChannelandlocalStorage.@abuhasanrumi/micro-flow: Tiny debounce, throttle, and rate-limiting (~364B).
