japan_prefecture 0.1.0
japan_prefecture: ^0.1.0 copied to clipboard
Type-safe Japanese prefecture data and utilities for Dart.
japan_prefecture #
日本語 | English
Type-safe Japanese prefecture data and utilities for Dart.
This package provides all 47 Japanese prefectures as Dart enhanced enum values, with JIS prefecture codes, Japanese names/readings, romaji names, prefectural capitals, region metadata, adjacency data, and collection helpers.
Usage #
import 'package:japan_prefecture/japan_prefecture.dart';
void main() {
final tokyo = JapanPrefecture.tokyo;
print(tokyo.code); // 13
print(tokyo.jisCode); // 13
print(tokyo.region); // Region.kanto
final osaka = JapanPrefecture.fromName('大阪');
print(osaka); // JapanPrefecture.osaka
final kantoNames = JapanPrefecture.all.whereRegion(Region.kanto).names;
print(kantoNames); // [茨城県, 栃木県, 群馬県, 埼玉県, 千葉県, 東京都, 神奈川県]
final prefectures = [1, 13, 47].toPrefectures();
print(prefectures); // [JapanPrefecture.hokkaido, JapanPrefecture.tokyo, JapanPrefecture.okinawa]
final data = <JapanPrefecture, int>{
JapanPrefecture.osaka: 10,
JapanPrefecture.hokkaido: 20,
JapanPrefecture.tokyo: 30,
};
final sorted = data.sortByJisCode();
print(sorted.keys); // (JapanPrefecture.hokkaido, JapanPrefecture.tokyo, JapanPrefecture.osaka)
}
API #
Prefecture data #
Each JapanPrefecture has:
code: JIS prefecture code as an integer from 1 to 47jisCode: zero-padded JIS prefecture code such as01name: Japanese name with suffix, such as東京都shortName: Japanese name without suffix, such as東京hiragana/shortHiraganakatakana/shortKatakanaromaji: common romaji name without suffix, such asTokyocapital: prefectural capital or government office locationregion: one of the eightRegionvaluesadjacentPrefectures: neighboring prefectures
Adjacency data treats prefectures as adjacent when they share a prefectural border, including island borders. Bridge- or tunnel-only connections without a shared border are not included.
Lookup #
JapanPrefecture.fromCode(13); // JapanPrefecture.tokyo
JapanPrefecture.tryFromCode(48); // null
JapanPrefecture.fromName('東京都'); // JapanPrefecture.tokyo
JapanPrefecture.fromName('東京'); // JapanPrefecture.tokyo
JapanPrefecture.fromName('とうきょう'); // JapanPrefecture.tokyo
JapanPrefecture.fromName('トウキョウト'); // JapanPrefecture.tokyo
JapanPrefecture.fromRomaji('Tokyo'); // JapanPrefecture.tokyo
JapanPrefecture.fromRomaji('tokyo-to'); // JapanPrefecture.tokyo
JapanPrefecture.fromRomaji('Toukyouto'); // JapanPrefecture.tokyo
Region #
Region.kanto.japaneseName; // 関東
Region.kanto.prefectures; // JIS code order
JapanPrefecture.byRegion(Region.kanto);
Collection extensions #
JapanPrefecture.all.names;
JapanPrefecture.all.codes;
JapanPrefecture.all.whereRegion(Region.kanto);
[1, 13, 47].toPrefectures();
['北海道', 'Tokyo', '大阪'].toPrefectures();
<JapanPrefecture, int>{}.sortByJisCode();
<JapanPrefecture, int>{}.sortByRegion();