japan_prefecture 0.1.0 copy "japan_prefecture: ^0.1.0" to clipboard
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 47
  • jisCode: zero-padded JIS prefecture code such as 01
  • name: Japanese name with suffix, such as 東京都
  • shortName: Japanese name without suffix, such as 東京
  • hiragana / shortHiragana
  • katakana / shortKatakana
  • romaji: common romaji name without suffix, such as Tokyo
  • capital: prefectural capital or government office location
  • region: one of the eight Region values
  • adjacentPrefectures: 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();
0
likes
150
points
1.72k
downloads

Documentation

API reference

Publisher

verified publishersotaatos.dev

Weekly Downloads

Type-safe Japanese prefecture data and utilities for Dart.

License

MIT (license)

More

Packages that depend on japan_prefecture