jp-prefecture
Advanced tools
Comparing version 0.1.0 to 0.2.0
/*! | ||
* jp-prefecture | ||
* Utility library dealing with prefectures and regions in Japan. | ||
* @version 0.1.0 | ||
* | ||
* @version 0.2.0 | ||
* @license MIT | ||
* @author tsuyoshiwada | ||
* @url https://github.com/tsuyoshiwada/jp-prefecture | ||
*/;(function(){ | ||
*/ | ||
(function(global, factory) { | ||
"use strict"; | ||
typeof exports === "object" && typeof module !== "undefined" ? module.exports = factory() : | ||
typeof define === "function" && define.amd ? define(factory) : | ||
global.jpPrefecture = factory(); | ||
}(this, function() { | ||
"use strict"; | ||
var VERSION = "0.1.0", | ||
jp, | ||
root = this, | ||
undefined, | ||
previousJpPrefecture = root.jpPrefecture, | ||
var VERSION = "0.1.0"; | ||
var jp; | ||
var undefined; | ||
Type = { | ||
REGION: "region", | ||
PREF : "pref" | ||
}, | ||
var Type = { | ||
REGION: "region", | ||
PREF : "pref" | ||
}; | ||
// 区分は八地方区分を採用 | ||
regions = [ | ||
{id:1, name:"北海道", kana:"ホッカイドウ", en:"hokkaido", neighbor:[2]}, | ||
{id:2, name:"東北", kana:"トウホク", en:"tohoku", neighbor:[1]}, | ||
{id:3, name:"関東", kana:"カントウ", en:"kanto", neighbor:[2, 4]}, | ||
{id:4, name:"中部", kana:"チュウブ", en:"chubu", neighbor:[2, 3, 5]}, | ||
{id:5, name:"近畿", kana:"キンキ", en:"kinki", neighbor:[4, 6, 7]}, | ||
{id:6, name:"中国", kana:"チュウゴク", en:"chugoku", neighbor:[5, 7, 8]}, | ||
{id:7, name:"四国", kana:"シコク", en:"shikoku", neighbor:[5, 6, 8]}, | ||
{id:8, name:"九州", kana:"キュウシュウ", en:"kyusyu", neighbor:[6, 7]} | ||
], | ||
// Classification is adopted eight regional division | ||
var regions = [ | ||
{id:1, name:"北海道", kana:"ホッカイドウ", en:"hokkaido", neighbor:[2]}, | ||
{id:2, name:"東北", kana:"トウホク", en:"tohoku", neighbor:[1]}, | ||
{id:3, name:"関東", kana:"カントウ", en:"kanto", neighbor:[2, 4]}, | ||
{id:4, name:"中部", kana:"チュウブ", en:"chubu", neighbor:[2, 3, 5]}, | ||
{id:5, name:"近畿", kana:"キンキ", en:"kinki", neighbor:[4, 6, 7]}, | ||
{id:6, name:"中国", kana:"チュウゴク", en:"chugoku", neighbor:[5, 7, 8]}, | ||
{id:7, name:"四国", kana:"シコク", en:"shikoku", neighbor:[5, 6, 8]}, | ||
{id:8, name:"九州", kana:"キュウシュウ", en:"kyusyu", neighbor:[6, 7]} | ||
]; | ||
// 参照: http://ja.wikipedia.org/wiki/%E6%97%A5%E6%9C%AC%E3%81%AE%E5%9C%B0%E5%9F%9F | ||
// `neigbor`には海上隣接も含みます | ||
prefectures = [ | ||
{id:1, region:1, name:"北海道", short:"北海道", kana:"ホッカイドウ", en:"hokkaido", neighbor:[2]}, | ||
{id:2, region:2, name:"青森県", short:"青森", kana:"アオモリ", en:"aomori", neighbor:[1, 3, 5]}, | ||
{id:3, region:2, name:"岩手県", short:"岩手", kana:"イワテ", en:"iwate", neighbor:[2, 4, 5]}, | ||
{id:4, region:2, name:"宮城県", short:"宮城", kana:"ミヤギ", en:"miyagi", neighbor:[3, 5, 6, 7]}, | ||
{id:5, region:2, name:"秋田県", short:"秋田", kana:"アキタ", en:"akita", neighbor:[2, 3, 4, 6]}, | ||
{id:6, region:2, name:"山形県", short:"山形", kana:"ヤマガタ", en:"yamagata", neighbor:[4, 5, 7, 15]}, | ||
{id:7, region:2, name:"福島県", short:"福島", kana:"フクシマ", en:"fukushima", neighbor:[4, 6, 8, 9, 10, 15]}, | ||
{id:8, region:3, name:"茨城県", short:"茨城", kana:"イバラキ", en:"ibaraki", neighbor:[7, 9, 11, 12]}, | ||
{id:9, region:3, name:"栃木県", short:"栃木", kana:"トチギ", en:"tochigi", neighbor:[8, 7, 10, 11]}, | ||
{id:10, region:3, name:"群馬県", short:"群馬", kana:"グンマ", en:"gunma", neighbor:[7, 9, 11, 15, 20]}, | ||
{id:11, region:3, name:"埼玉県", short:"埼玉", kana:"サイタマ", en:"saitama", neighbor:[8, 9, 10, 12, 13, 19, 20]}, | ||
{id:12, region:3, name:"千葉県", short:"千葉", kana:"チバ", en:"chiba", neighbor:[8, 11, 13, 14]}, | ||
{id:13, region:3, name:"東京都", short:"東京", kana:"トウキョウ", en:"tokyo", neighbor:[11, 12, 14, 19]}, | ||
{id:14, region:3, name:"神奈川県", short:"神奈川", kana:"カナガワ", en:"kanagawa", neighbor:[12, 13, 19, 22]}, | ||
{id:15, region:4, name:"新潟県", short:"新潟", kana:"ニイガタ", en:"niigata", neighbor:[6, 7, 10, 16, 20]}, | ||
{id:16, region:4, name:"富山県", short:"富山", kana:"トヤマ", en:"toyama", neighbor:[15, 17, 20, 21]}, | ||
{id:17, region:4, name:"石川県", short:"石川", kana:"イシカワ", en:"ishikawa", neighbor:[16, 18, 21]}, | ||
{id:18, region:4, name:"福井県", short:"福井", kana:"フクイ", en:"fukui", neighbor:[17, 21, 25, 26]}, | ||
{id:19, region:4, name:"山梨県", short:"山梨", kana:"ヤマナシ", en:"yamanashi", neighbor:[11, 13, 14, 20, 22]}, | ||
{id:20, region:4, name:"長野県", short:"長野", kana:"ナガノ", en:"nagano", neighbor:[10, 11, 15, 16, 19, 21, 22, 23]}, | ||
{id:21, region:4, name:"岐阜県", short:"岐阜", kana:"ギフ", en:"gifu", neighbor:[16, 17, 18, 20, 23, 24, 25]}, | ||
{id:22, region:4, name:"静岡県", short:"静岡", kana:"シズオカ", en:"shizuoka", neighbor:[14, 19, 20, 23]}, | ||
{id:23, region:4, name:"愛知県", short:"愛知", kana:"アイチ", en:"aichi", neighbor:[20, 21, 22, 24]}, | ||
{id:24, region:5, name:"三重県", short:"三重", kana:"ミエ", en:"mie", neighbor:[21, 23, 25, 26, 29, 30]}, | ||
{id:25, region:5, name:"滋賀県", short:"滋賀", kana:"シガ", en:"shiga", neighbor:[18, 21, 24, 26]}, | ||
{id:26, region:5, name:"京都府", short:"京都", kana:"キョウト", en:"kyoto", neighbor:[18, 24, 25, 27, 28, 29]}, | ||
{id:27, region:5, name:"大阪府", short:"大阪", kana:"オオサカ", en:"osaka", neighbor:[26, 28, 29, 30]}, | ||
{id:28, region:5, name:"兵庫県", short:"兵庫", kana:"ヒョウゴ", en:"hyogo", neighbor:[26, 27, 30, 31, 33, 36, 37]}, | ||
{id:29, region:5, name:"奈良県", short:"奈良", kana:"ナラ", en:"nara", neighbor:[24, 26, 27, 30]}, | ||
{id:30, region:5, name:"和歌山県", short:"和歌山", kana:"ワカヤマ", en:"wakayama", neighbor:[24, 27, 28, 29, 36]}, | ||
{id:31, region:6, name:"鳥取県", short:"鳥取", kana:"トットリ", en:"tottori", neighbor:[28, 32, 33, 34]}, | ||
{id:32, region:6, name:"島根県", short:"島根", kana:"シマネ", en:"shimane", neighbor:[31, 34, 35]}, | ||
{id:33, region:6, name:"岡山県", short:"岡山", kana:"オカヤマ", en:"okayama", neighbor:[28, 31, 34, 37]}, | ||
{id:34, region:6, name:"広島県", short:"広島", kana:"ヒロシマ", en:"hiroshima", neighbor:[31, 32, 33, 35, 37, 38]}, | ||
{id:35, region:6, name:"山口県", short:"山口", kana:"ヤマグチ", en:"yamaguchi", neighbor:[32, 34, 38, 40, 44]}, | ||
{id:36, region:7, name:"徳島県", short:"徳島", kana:"トクシマ", en:"tokushima", neighbor:[28, 30, 37, 38, 39]}, | ||
{id:37, region:7, name:"香川県", short:"香川", kana:"カガワ", en:"kagawa", neighbor:[28, 33, 34, 36, 38]}, | ||
{id:38, region:7, name:"愛媛県", short:"愛媛", kana:"エヒメ", en:"ehime", neighbor:[33, 34, 35, 36, 37, 39, 44]}, | ||
{id:39, region:7, name:"高知県", short:"高知", kana:"コウチ", en:"kochi", neighbor:[36, 38]}, | ||
{id:40, region:8, name:"福岡県", short:"福岡", kana:"フクオカ", en:"fukuoka", neighbor:[35, 41, 42, 43, 44]}, | ||
{id:41, region:8, name:"佐賀県", short:"佐賀", kana:"サガ", en:"saga", neighbor:[40, 42]}, | ||
{id:42, region:8, name:"長崎県", short:"長崎", kana:"ナガサキ", en:"nagasaki", neighbor:[41, 43]}, | ||
{id:43, region:8, name:"熊本県", short:"熊本", kana:"クマモト", en:"kumamoto", neighbor:[40, 41, 42, 44, 45, 46]}, | ||
{id:44, region:8, name:"大分県", short:"大分", kana:"オオイタ", en:"oita", neighbor:[35, 38, 40, 43, 45]}, | ||
{id:45, region:8, name:"宮崎県", short:"宮城", kana:"ミヤザキ", en:"miyazaki", neighbor:[43, 44, 46]}, | ||
{id:46, region:8, name:"鹿児島県", short:"鹿児島", kana:"カゴシマ", en:"kagoshima", neighbor:[43, 45, 47]}, | ||
{id:47, region:8, name:"沖縄県", short:"沖縄", kana:"オキナワ", en:"okinawa", neighbor:[46]} | ||
]; | ||
// See: http://ja.wikipedia.org/wiki/%E6%97%A5%E6%9C%AC%E3%81%AE%E5%9C%B0%E5%9F%9F | ||
// Also it includes the sea adjacent to the neighbor | ||
var prefectures = [ | ||
{id:1, region:1, name:"北海道", short:"北海道", kana:"ホッカイドウ", en:"hokkaido", neighbor:[2]}, | ||
{id:2, region:2, name:"青森県", short:"青森", kana:"アオモリ", en:"aomori", neighbor:[1, 3, 5]}, | ||
{id:3, region:2, name:"岩手県", short:"岩手", kana:"イワテ", en:"iwate", neighbor:[2, 4, 5]}, | ||
{id:4, region:2, name:"宮城県", short:"宮城", kana:"ミヤギ", en:"miyagi", neighbor:[3, 5, 6, 7]}, | ||
{id:5, region:2, name:"秋田県", short:"秋田", kana:"アキタ", en:"akita", neighbor:[2, 3, 4, 6]}, | ||
{id:6, region:2, name:"山形県", short:"山形", kana:"ヤマガタ", en:"yamagata", neighbor:[4, 5, 7, 15]}, | ||
{id:7, region:2, name:"福島県", short:"福島", kana:"フクシマ", en:"fukushima", neighbor:[4, 6, 8, 9, 10, 15]}, | ||
{id:8, region:3, name:"茨城県", short:"茨城", kana:"イバラキ", en:"ibaraki", neighbor:[7, 9, 11, 12]}, | ||
{id:9, region:3, name:"栃木県", short:"栃木", kana:"トチギ", en:"tochigi", neighbor:[8, 7, 10, 11]}, | ||
{id:10, region:3, name:"群馬県", short:"群馬", kana:"グンマ", en:"gunma", neighbor:[7, 9, 11, 15, 20]}, | ||
{id:11, region:3, name:"埼玉県", short:"埼玉", kana:"サイタマ", en:"saitama", neighbor:[8, 9, 10, 12, 13, 19, 20]}, | ||
{id:12, region:3, name:"千葉県", short:"千葉", kana:"チバ", en:"chiba", neighbor:[8, 11, 13, 14]}, | ||
{id:13, region:3, name:"東京都", short:"東京", kana:"トウキョウ", en:"tokyo", neighbor:[11, 12, 14, 19]}, | ||
{id:14, region:3, name:"神奈川県", short:"神奈川", kana:"カナガワ", en:"kanagawa", neighbor:[12, 13, 19, 22]}, | ||
{id:15, region:4, name:"新潟県", short:"新潟", kana:"ニイガタ", en:"niigata", neighbor:[6, 7, 10, 16, 20]}, | ||
{id:16, region:4, name:"富山県", short:"富山", kana:"トヤマ", en:"toyama", neighbor:[15, 17, 20, 21]}, | ||
{id:17, region:4, name:"石川県", short:"石川", kana:"イシカワ", en:"ishikawa", neighbor:[16, 18, 21]}, | ||
{id:18, region:4, name:"福井県", short:"福井", kana:"フクイ", en:"fukui", neighbor:[17, 21, 25, 26]}, | ||
{id:19, region:4, name:"山梨県", short:"山梨", kana:"ヤマナシ", en:"yamanashi", neighbor:[11, 13, 14, 20, 22]}, | ||
{id:20, region:4, name:"長野県", short:"長野", kana:"ナガノ", en:"nagano", neighbor:[10, 11, 15, 16, 19, 21, 22, 23]}, | ||
{id:21, region:4, name:"岐阜県", short:"岐阜", kana:"ギフ", en:"gifu", neighbor:[16, 17, 18, 20, 23, 24, 25]}, | ||
{id:22, region:4, name:"静岡県", short:"静岡", kana:"シズオカ", en:"shizuoka", neighbor:[14, 19, 20, 23]}, | ||
{id:23, region:4, name:"愛知県", short:"愛知", kana:"アイチ", en:"aichi", neighbor:[20, 21, 22, 24]}, | ||
{id:24, region:5, name:"三重県", short:"三重", kana:"ミエ", en:"mie", neighbor:[21, 23, 25, 26, 29, 30]}, | ||
{id:25, region:5, name:"滋賀県", short:"滋賀", kana:"シガ", en:"shiga", neighbor:[18, 21, 24, 26]}, | ||
{id:26, region:5, name:"京都府", short:"京都", kana:"キョウト", en:"kyoto", neighbor:[18, 24, 25, 27, 28, 29]}, | ||
{id:27, region:5, name:"大阪府", short:"大阪", kana:"オオサカ", en:"osaka", neighbor:[26, 28, 29, 30]}, | ||
{id:28, region:5, name:"兵庫県", short:"兵庫", kana:"ヒョウゴ", en:"hyogo", neighbor:[26, 27, 30, 31, 33, 36, 37]}, | ||
{id:29, region:5, name:"奈良県", short:"奈良", kana:"ナラ", en:"nara", neighbor:[24, 26, 27, 30]}, | ||
{id:30, region:5, name:"和歌山県", short:"和歌山", kana:"ワカヤマ", en:"wakayama", neighbor:[24, 27, 28, 29, 36]}, | ||
{id:31, region:6, name:"鳥取県", short:"鳥取", kana:"トットリ", en:"tottori", neighbor:[28, 32, 33, 34]}, | ||
{id:32, region:6, name:"島根県", short:"島根", kana:"シマネ", en:"shimane", neighbor:[31, 34, 35]}, | ||
{id:33, region:6, name:"岡山県", short:"岡山", kana:"オカヤマ", en:"okayama", neighbor:[28, 31, 34, 37]}, | ||
{id:34, region:6, name:"広島県", short:"広島", kana:"ヒロシマ", en:"hiroshima", neighbor:[31, 32, 33, 35, 37, 38]}, | ||
{id:35, region:6, name:"山口県", short:"山口", kana:"ヤマグチ", en:"yamaguchi", neighbor:[32, 34, 38, 40, 44]}, | ||
{id:36, region:7, name:"徳島県", short:"徳島", kana:"トクシマ", en:"tokushima", neighbor:[28, 30, 37, 38, 39]}, | ||
{id:37, region:7, name:"香川県", short:"香川", kana:"カガワ", en:"kagawa", neighbor:[28, 33, 34, 36, 38]}, | ||
{id:38, region:7, name:"愛媛県", short:"愛媛", kana:"エヒメ", en:"ehime", neighbor:[33, 34, 35, 36, 37, 39, 44]}, | ||
{id:39, region:7, name:"高知県", short:"高知", kana:"コウチ", en:"kochi", neighbor:[36, 38]}, | ||
{id:40, region:8, name:"福岡県", short:"福岡", kana:"フクオカ", en:"fukuoka", neighbor:[35, 41, 42, 43, 44]}, | ||
{id:41, region:8, name:"佐賀県", short:"佐賀", kana:"サガ", en:"saga", neighbor:[40, 42]}, | ||
{id:42, region:8, name:"長崎県", short:"長崎", kana:"ナガサキ", en:"nagasaki", neighbor:[41, 43]}, | ||
{id:43, region:8, name:"熊本県", short:"熊本", kana:"クマモト", en:"kumamoto", neighbor:[40, 41, 42, 44, 45, 46]}, | ||
{id:44, region:8, name:"大分県", short:"大分", kana:"オオイタ", en:"oita", neighbor:[35, 38, 40, 43, 45]}, | ||
{id:45, region:8, name:"宮崎県", short:"宮城", kana:"ミヤザキ", en:"miyazaki", neighbor:[43, 44, 46]}, | ||
{id:46, region:8, name:"鹿児島県", short:"鹿児島", kana:"カゴシマ", en:"kagoshima", neighbor:[43, 45, 47]}, | ||
{id:47, region:8, name:"沖縄県", short:"沖縄", kana:"オキナワ", en:"okinawa", neighbor:[46]} | ||
]; | ||
@@ -98,20 +102,4 @@ | ||
// setting module | ||
if( typeof exports !== "undefined" ){ | ||
if( typeof module !== "undefined" && module.exports ){ | ||
exports = module.exports = jpPrefecture; | ||
} | ||
exports.jpPrefecture = jpPrefecture; | ||
}else{ | ||
root.jpPrefecture = jpPrefecture; | ||
} | ||
if( typeof define === "function" && define.amd ){ | ||
define("jp-prefecture", [], function(){ | ||
return jpPrefecture; | ||
}); | ||
} | ||
// 指定したタイプから配列を返す | ||
// Return an array from the specified type | ||
function getList(type){ | ||
@@ -125,17 +113,7 @@ if( type === Type.REGION ) return clone(regions); | ||
/** | ||
* 同じ名前のライブラリとの衝突を避ける | ||
* @return jpPrefecture | ||
* Get all regions or prefectures. | ||
* @param {String} | ||
* @param {String | Array} | ||
* @return {Array} | ||
*/ | ||
jp.noConflict = function(){ | ||
root.jpPrefecture = previousJpPrefecture; | ||
return this; | ||
}; | ||
/** | ||
* 全ての地域、または都道府県を取得 | ||
* @param string | ||
* @param string | array | ||
* @return array | ||
*/ | ||
jp.getAll = function(type, select){ | ||
@@ -149,5 +127,5 @@ var list = getList(type); | ||
/** | ||
* 全ての地域を取得 | ||
* @param string | array | ||
* @return array | ||
* Alias for getAll("region"). | ||
* @param {String | Array} | ||
* @return {Array} | ||
*/ | ||
@@ -160,5 +138,5 @@ jp.getAllRegion = function(select){ | ||
/** | ||
* 全ての都道府県を取得 | ||
* @param string | array | ||
* @return array | ||
* Alias for getAll("pref"). | ||
* @param {String | Array} | ||
* @return {Array} | ||
*/ | ||
@@ -171,7 +149,7 @@ jp.getAllPref = function(select){ | ||
/** | ||
* 地域または都道府県を取得 | ||
* @param string | ||
* @param object | mixed | ||
* @param string | array | ||
* @return object | mixed | ||
* Get the single object of regional or prefectures. | ||
* @param {String} | ||
* @param {Object | Any} | ||
* @param {String | Array} | ||
* @return {Object | Any} | ||
*/ | ||
@@ -193,6 +171,6 @@ jp.find = function(type, value, select){ | ||
/** | ||
* 地域を取得 | ||
* @param object | mixed | ||
* @param string | array | ||
* @return object | mixed | ||
* CGet the single object of regional. Alias for find("region"). | ||
* @param {Object | Any} | ||
* @param {String | Array} | ||
* @return {Object | Any} | ||
*/ | ||
@@ -205,6 +183,6 @@ jp.regionFind = function(value, select){ | ||
/** | ||
* 都道府県を取得 | ||
* @param object | mixed | ||
* @param string | array | ||
* @return object | mixed | ||
* Get the single object of prefectures. Alias for find("pref"). | ||
* @param {Object | Any} | ||
* @param {String | Array} | ||
* @return {Object | Any} | ||
*/ | ||
@@ -217,8 +195,8 @@ jp.prefFind = function(value, select){ | ||
/** | ||
* 地域または都道府県を、指定したキーと値から取得 | ||
* @param string | ||
* @param string | ||
* @param string | integer | ||
* @param string | array | ||
* @return object | mixed | ||
* By specifying the key and value, to get a single object of regional. | ||
* @param {String} | ||
* @param {String} | ||
* @param {String | Integer} | ||
* @param {String | Array} | ||
* @return {Object | Any} | ||
*/ | ||
@@ -233,7 +211,7 @@ jp.findBy = function(type, key, value, select){ | ||
/** | ||
* 地域または都道府県をIDから取得 | ||
* @param string | ||
* @param mixed | ||
* @param string | array | ||
* @return object | mixed | ||
* Alias for findBy("region"). | ||
* @param {String} | ||
* @param {Any} | ||
* @param {String | Array} | ||
* @return {Object | Any} | ||
*/ | ||
@@ -246,7 +224,7 @@ jp.regionFindBy = function(key, value, select){ | ||
/** | ||
* 地域または都道府県をIDから取得 | ||
* @param string | ||
* @param mixed | ||
* @param string | array | ||
* @return object | mixed | ||
* Alias for findBy("pref"). | ||
* @param {String} | ||
* @param {Any} | ||
* @param {String | Array} | ||
* @return {Object | Any} | ||
*/ | ||
@@ -259,6 +237,6 @@ jp.prefFindBy = function(key, value, select){ | ||
/** | ||
* 都道府県から該当する地域を取得 | ||
* @param mixed | ||
* @param string | array | ||
* @return obj | mixed | ||
* Get the region corresponding from prefectures. | ||
* @param {Any} | ||
* @param {String | Array} | ||
* @return {Object | Any} | ||
*/ | ||
@@ -273,6 +251,6 @@ jp.regionFindByPref = function(value, select){ | ||
/** | ||
* 地域から該当する都道府県一覧を取得 | ||
* @param mixed | ||
* @param string | array | ||
* @return array | ||
* Get the prefectures corresponding from region. | ||
* @param {Any} | ||
* @param {String | Array} | ||
* @return {Array} | ||
*/ | ||
@@ -282,3 +260,3 @@ jp.prefFindByRegion = function(value, select){ | ||
if( region === undefined ) return undefined; | ||
results = filter(prefectures, function(d, i){ | ||
results = filter(prefectures, function(d){ | ||
if( d.region === region.id ) return d; | ||
@@ -291,7 +269,8 @@ }); | ||
/** | ||
* 指定した条件に当てはまる地域または都道府県を取得 | ||
* @param string | ||
* @param object | ||
* @param string | array | ||
* @return array | ||
* Get the regional or province apply to the given conditions. | ||
* The return value is returned always an array. | ||
* @param {String} | ||
* @param {Object} | ||
* @param {String | Array} | ||
* @return {Array} | ||
*/ | ||
@@ -305,6 +284,6 @@ jp.where = function(type, attrs, select){ | ||
/** | ||
* 指定した条件に当てはまる地域を取得 | ||
* @param object | ||
* @param string | array | ||
* @return array | ||
* Alias for where("region"). | ||
* @param {Object} | ||
* @param {String | Array} | ||
* @return {Array} | ||
*/ | ||
@@ -317,6 +296,6 @@ jp.regionWhere = function(attrs, select){ | ||
/** | ||
* 指定した条件に当てはまる都道府県を取得 | ||
* @param object | ||
* @param string | array | ||
* @return array | ||
* Alias for where("pref"). | ||
* @param {Object} | ||
* @param {String | Array} | ||
* @return {Array} | ||
*/ | ||
@@ -329,7 +308,7 @@ jp.prefWhere = function(attrs, select){ | ||
/** | ||
* 地域または都道府県の指定した値から別のキーへ変換 | ||
* @param string | ||
* @param mixed | ||
* @param string | ||
* @return mixed | ||
* Conversion from the specified value of the region or province to another key. | ||
* @param {String} | ||
* @param {Any} | ||
* @param {String} | ||
* @return {Any} | ||
*/ | ||
@@ -346,6 +325,6 @@ jp.convert = function(type, value, key){ | ||
/** | ||
* 地域の指定した値から別のキーへ変換 | ||
* @param mixed | ||
* @param string | ||
* @return mixed | ||
* Alias for convert("region"). | ||
* @param {Any} | ||
* @param {String} | ||
* @return {Any} | ||
*/ | ||
@@ -358,6 +337,6 @@ jp.regionConvert = function(value, key){ | ||
/** | ||
* 都道府県の指定した値から別のキーへ変換 | ||
* @param mixed | ||
* @param string | ||
* @return mixed | ||
* Alias for convert("pref"). | ||
* @param {Any} | ||
* @param {String} | ||
* @return {Any} | ||
*/ | ||
@@ -370,7 +349,7 @@ jp.prefConvert = function(value, key){ | ||
/** | ||
* 指定した地域、または都道府県に隣接しているものを取得 | ||
* @param string | ||
* @param mixed | ||
* @param string | array | ||
* @return array | ||
* Get the ones that are adjacent to a given region or province. | ||
* @param {String} | ||
* @param {Any} | ||
* @param {String | Array} | ||
* @return {Array} | ||
*/ | ||
@@ -387,6 +366,6 @@ jp.getNeighbors = function(type, value, select){ | ||
/** | ||
* 指定した地域に隣接した地域を取得 | ||
* @param mixed | ||
* @param string | array | ||
* @return array | ||
* Alias for getNeighbors("region"). | ||
* @param {Any} | ||
* @param {String | Array} | ||
* @return {Array} | ||
*/ | ||
@@ -399,6 +378,6 @@ jp.getRegionNeighbors = function(value, select){ | ||
/** | ||
* 指定した地域に隣接した地域を取得 | ||
* @param mixed | ||
* @param string | array | ||
* @return array | ||
* Alias for getNeighbors("pref"). | ||
* @param {Any} | ||
* @param {String | Array} | ||
* @return {Array} | ||
*/ | ||
@@ -411,11 +390,11 @@ jp.getPrefNeighbors = function(value, select){ | ||
/** | ||
* 指定した2つの地域または都道府県が隣接しているか判定 | ||
* @param string | ||
* @param mixed | ||
* @param mixed | ||
* @return boolean | ||
* Determine if the specified two regions or prefectures were are adjacent. | ||
* @param {String} | ||
* @param {Any} | ||
* @param {Any} | ||
* @return {Boolean} | ||
*/ | ||
jp.isNeighbor = function(type, val1, val2){ | ||
var obj1 = jp.find(type, val1), | ||
obj2 = jp.find(type, val2); | ||
var obj1 = jp.find(type, val1); | ||
var obj2 = jp.find(type, val2); | ||
if( obj1 === undefined || obj2 === undefined ) return false; | ||
@@ -427,6 +406,6 @@ return contains(obj1.neighbor, obj2.id); | ||
/** | ||
* 指定した2つの地域が隣接しているか判定 | ||
* @param mixed | ||
* @param mixed | ||
* @return boolean | ||
* Alias for isNeighbor("region"). | ||
* @param {Any} | ||
* @param {Any} | ||
* @return {Boolean} | ||
*/ | ||
@@ -439,6 +418,6 @@ jp.isRegionNeighbor = function(val1, val2){ | ||
/** | ||
* 指定した2つの都道府県が隣接しているか判定 | ||
* @param mixed | ||
* @param mixed | ||
* @return boolean | ||
* Alias for isNeighbor("pref"). | ||
* @param {Any} | ||
* @param {Any} | ||
* @return {Boolean} | ||
*/ | ||
@@ -451,6 +430,6 @@ jp.isPrefNeighbor = function(val1, val2){ | ||
/** | ||
* 指定した地域または都道府県の隣接数を取得 | ||
* @param string | ||
* @param mixed | ||
* @return integer | ||
* Get the number of adjacent of the specified region. | ||
* @param {String} | ||
* @param {Any} | ||
* @return {Integer} | ||
*/ | ||
@@ -464,5 +443,5 @@ jp.neighborSize = function(type, value){ | ||
/** | ||
* 指定した地域の隣接数を取得 | ||
* @param mixed | ||
* @return integer | ||
* Alias for neighborSize("region"). | ||
* @param {Any} | ||
* @return {Integer} | ||
*/ | ||
@@ -475,5 +454,5 @@ jp.regionNeighborSize = function(value){ | ||
/** | ||
* 指定した都道府県の隣接数を取得 | ||
* @param mixed | ||
* @return integer | ||
* Alias for neighborSize("pref"). | ||
* @param {Any} | ||
* @return {Integer} | ||
*/ | ||
@@ -486,4 +465,5 @@ jp.prefNeighborSize = function(value){ | ||
/** | ||
* 地域に対応する都道府県が入った状態の一覧を多次元配列で取得 | ||
* @return array | ||
* Get a list of state that contains the prefectures corresponding to the region in the multidimensional array. | ||
* This is useful when the loop of the list was based on the regional. | ||
* @return {Array} | ||
*/ | ||
@@ -502,4 +482,2 @@ jp.getAllRegionInPref = function(){ | ||
/** | ||
@@ -531,4 +509,4 @@ * ------------------------------------------------------------- | ||
function clone(obj){ | ||
var _isArray = isArray(obj), | ||
_isObject = isObject(obj); | ||
var _isArray = isArray(obj); | ||
var _isObject = isObject(obj); | ||
if( !_isArray && !_isObject ) return undefined; | ||
@@ -583,14 +561,2 @@ var result = _isArray ? [] : {}, key, val; | ||
function some(obj, predicate){ | ||
if( obj == null ) return false; | ||
var k = !isArray(obj) && keys(obj), | ||
l = ( k || obj ).length, | ||
i, current; | ||
for( i = 0; i < l; i++ ){ | ||
current = k ? k[i] : i; | ||
if( predicate(obj[current], current, obj) ) return true; | ||
} | ||
return false; | ||
} | ||
function contains(obj, value, from){ | ||
@@ -683,6 +649,6 @@ if( obj == null ) return false; | ||
function values(obj){ | ||
var k = keys(obj), | ||
l = k.length, | ||
v = Array(l), | ||
i; | ||
var k = keys(obj); | ||
var l = k.length; | ||
var v = Array(l); | ||
var i; | ||
for( i = 0; i < l; i++ ){ | ||
@@ -694,2 +660,3 @@ v[i] = obj[k[i]]; | ||
}.call(this)); | ||
return jpPrefecture; | ||
})); |
/*! | ||
* jp-prefecture | ||
* Utility library dealing with prefectures and regions in Japan. | ||
* @version 0.1.0 | ||
* | ||
* @version 0.2.0 | ||
* @license MIT | ||
* @author tsuyoshiwada | ||
* @url https://github.com/tsuyoshiwada/jp-prefecture | ||
*/ | ||
(function(){"use strict";function n(){return this}function e(n){return n===F.REGION?a(P):n===F.PREF?a(O):y}function r(n){return"[object Array]"===Object.prototype.toString.call(n)}function i(n){var e=typeof n;return"function"===e||"object"===e&&!!n&&!r(n)}function o(n,e){var r=Object.prototype.toString.call(e).slice(8,-1);return e!==y&&null!==e&&r===n}function a(n){var e=r(n),o=i(n);if(!e&&!o)return y;var t,g,u=e?[]:{};for(t in n)g=n[t],(r(g)||i(g))&&(g=a(g)),u[t]=g;return u}function t(n,e,o){if(null==n)return n;if(o=o||n,i(n)){for(var a in n)if(e.call(o,n[a],a)===!1)break}else if(r(n)){var t,g=n.length;for(t=0;g>t&&e.call(o,n[t],t)!==!1;t++);}return n}function g(n,e,r){if(null==n)return[];var i,o=[];return t(n,function(n,a){i=e.call(r,n,a),null!==i&&(o[a]=i)}),o}function u(n,e){var r;return t(n,function(n,i){return e(n,i)?(r=n,!1):void 0}),r}function h(n,e,i){return null==n?!1:(r(n)||(n=v(n)),b(n,e,i)>=0)}function f(n){var e,r,i,o=m(n),a=o.length;return function(n){if(0===o.length)return!1;if(null==n)return!a;for(n=new Object(n),e=0;a>e;e++)if(r=o[e],i=r[0],r[1]!==n[i]||!(i in n))return!1;return!0}}function d(n,e){return k(n,f(e))}function c(n,e){return u(n,f(e))}function k(n,e){var r=[];return null==n?r:(t(n,function(n,i){e(n,i)&&r.push(n)}),r)}function s(n,e){var i,a,u=[];return null==n?u:(i=r(n),n=i?n:[n],o("String",e)?u=g(n,function(n){return null==n?y:n[e]}):r(e)&&(u=g(n,function(n){return a={},t(e,function(e){a[e]=n[e]}),a})),i?u:u[0])}function b(n,e,r){var i=0,o=n&&n.length;for(r=isNaN(r)?0:r,i=r;o>i;i++)if(n[i]===e)return i;return-1}function m(n){var e,r=l(n),i=r.length,o=Array(i);for(e=0;i>e;e++)o[e]=[r[e],n[r[e]]];return o}function l(n){var e=[];return(i(n)||r(n))&&t(n,function(n,r){e.push(r)}),e}function v(n){var e,r=l(n),i=r.length,o=Array(i);for(e=0;i>e;e++)o[e]=n[r[e]];return o}var p,y,R="0.1.0",N=this,E=N.jpPrefecture,F={REGION:"region",PREF:"pref"},P=[{id:1,name:"北海道",kana:"ホッカイドウ",en:"hokkaido",neighbor:[2]},{id:2,name:"東北",kana:"トウホク",en:"tohoku",neighbor:[1]},{id:3,name:"関東",kana:"カントウ",en:"kanto",neighbor:[2,4]},{id:4,name:"中部",kana:"チュウブ",en:"chubu",neighbor:[2,3,5]},{id:5,name:"近畿",kana:"キンキ",en:"kinki",neighbor:[4,6,7]},{id:6,name:"中国",kana:"チュウゴク",en:"chugoku",neighbor:[5,7,8]},{id:7,name:"四国",kana:"シコク",en:"shikoku",neighbor:[5,6,8]},{id:8,name:"九州",kana:"キュウシュウ",en:"kyusyu",neighbor:[6,7]}],O=[{id:1,region:1,name:"北海道","short":"北海道",kana:"ホッカイドウ",en:"hokkaido",neighbor:[2]},{id:2,region:2,name:"青森県","short":"青森",kana:"アオモリ",en:"aomori",neighbor:[1,3,5]},{id:3,region:2,name:"岩手県","short":"岩手",kana:"イワテ",en:"iwate",neighbor:[2,4,5]},{id:4,region:2,name:"宮城県","short":"宮城",kana:"ミヤギ",en:"miyagi",neighbor:[3,5,6,7]},{id:5,region:2,name:"秋田県","short":"秋田",kana:"アキタ",en:"akita",neighbor:[2,3,4,6]},{id:6,region:2,name:"山形県","short":"山形",kana:"ヤマガタ",en:"yamagata",neighbor:[4,5,7,15]},{id:7,region:2,name:"福島県","short":"福島",kana:"フクシマ",en:"fukushima",neighbor:[4,6,8,9,10,15]},{id:8,region:3,name:"茨城県","short":"茨城",kana:"イバラキ",en:"ibaraki",neighbor:[7,9,11,12]},{id:9,region:3,name:"栃木県","short":"栃木",kana:"トチギ",en:"tochigi",neighbor:[8,7,10,11]},{id:10,region:3,name:"群馬県","short":"群馬",kana:"グンマ",en:"gunma",neighbor:[7,9,11,15,20]},{id:11,region:3,name:"埼玉県","short":"埼玉",kana:"サイタマ",en:"saitama",neighbor:[8,9,10,12,13,19,20]},{id:12,region:3,name:"千葉県","short":"千葉",kana:"チバ",en:"chiba",neighbor:[8,11,13,14]},{id:13,region:3,name:"東京都","short":"東京",kana:"トウキョウ",en:"tokyo",neighbor:[11,12,14,19]},{id:14,region:3,name:"神奈川県","short":"神奈川",kana:"カナガワ",en:"kanagawa",neighbor:[12,13,19,22]},{id:15,region:4,name:"新潟県","short":"新潟",kana:"ニイガタ",en:"niigata",neighbor:[6,7,10,16,20]},{id:16,region:4,name:"富山県","short":"富山",kana:"トヤマ",en:"toyama",neighbor:[15,17,20,21]},{id:17,region:4,name:"石川県","short":"石川",kana:"イシカワ",en:"ishikawa",neighbor:[16,18,21]},{id:18,region:4,name:"福井県","short":"福井",kana:"フクイ",en:"fukui",neighbor:[17,21,25,26]},{id:19,region:4,name:"山梨県","short":"山梨",kana:"ヤマナシ",en:"yamanashi",neighbor:[11,13,14,20,22]},{id:20,region:4,name:"長野県","short":"長野",kana:"ナガノ",en:"nagano",neighbor:[10,11,15,16,19,21,22,23]},{id:21,region:4,name:"岐阜県","short":"岐阜",kana:"ギフ",en:"gifu",neighbor:[16,17,18,20,23,24,25]},{id:22,region:4,name:"静岡県","short":"静岡",kana:"シズオカ",en:"shizuoka",neighbor:[14,19,20,23]},{id:23,region:4,name:"愛知県","short":"愛知",kana:"アイチ",en:"aichi",neighbor:[20,21,22,24]},{id:24,region:5,name:"三重県","short":"三重",kana:"ミエ",en:"mie",neighbor:[21,23,25,26,29,30]},{id:25,region:5,name:"滋賀県","short":"滋賀",kana:"シガ",en:"shiga",neighbor:[18,21,24,26]},{id:26,region:5,name:"京都府","short":"京都",kana:"キョウト",en:"kyoto",neighbor:[18,24,25,27,28,29]},{id:27,region:5,name:"大阪府","short":"大阪",kana:"オオサカ",en:"osaka",neighbor:[26,28,29,30]},{id:28,region:5,name:"兵庫県","short":"兵庫",kana:"ヒョウゴ",en:"hyogo",neighbor:[26,27,30,31,33,36,37]},{id:29,region:5,name:"奈良県","short":"奈良",kana:"ナラ",en:"nara",neighbor:[24,26,27,30]},{id:30,region:5,name:"和歌山県","short":"和歌山",kana:"ワカヤマ",en:"wakayama",neighbor:[24,27,28,29,36]},{id:31,region:6,name:"鳥取県","short":"鳥取",kana:"トットリ",en:"tottori",neighbor:[28,32,33,34]},{id:32,region:6,name:"島根県","short":"島根",kana:"シマネ",en:"shimane",neighbor:[31,34,35]},{id:33,region:6,name:"岡山県","short":"岡山",kana:"オカヤマ",en:"okayama",neighbor:[28,31,34,37]},{id:34,region:6,name:"広島県","short":"広島",kana:"ヒロシマ",en:"hiroshima",neighbor:[31,32,33,35,37,38]},{id:35,region:6,name:"山口県","short":"山口",kana:"ヤマグチ",en:"yamaguchi",neighbor:[32,34,38,40,44]},{id:36,region:7,name:"徳島県","short":"徳島",kana:"トクシマ",en:"tokushima",neighbor:[28,30,37,38,39]},{id:37,region:7,name:"香川県","short":"香川",kana:"カガワ",en:"kagawa",neighbor:[28,33,34,36,38]},{id:38,region:7,name:"愛媛県","short":"愛媛",kana:"エヒメ",en:"ehime",neighbor:[33,34,35,36,37,39,44]},{id:39,region:7,name:"高知県","short":"高知",kana:"コウチ",en:"kochi",neighbor:[36,38]},{id:40,region:8,name:"福岡県","short":"福岡",kana:"フクオカ",en:"fukuoka",neighbor:[35,41,42,43,44]},{id:41,region:8,name:"佐賀県","short":"佐賀",kana:"サガ",en:"saga",neighbor:[40,42]},{id:42,region:8,name:"長崎県","short":"長崎",kana:"ナガサキ",en:"nagasaki",neighbor:[41,43]},{id:43,region:8,name:"熊本県","short":"熊本",kana:"クマモト",en:"kumamoto",neighbor:[40,41,42,44,45,46]},{id:44,region:8,name:"大分県","short":"大分",kana:"オオイタ",en:"oita",neighbor:[35,38,40,43,45]},{id:45,region:8,name:"宮崎県","short":"宮城",kana:"ミヤザキ",en:"miyazaki",neighbor:[43,44,46]},{id:46,region:8,name:"鹿児島県","short":"鹿児島",kana:"カゴシマ",en:"kagoshima",neighbor:[43,45,47]},{id:47,region:8,name:"沖縄県","short":"沖縄",kana:"オキナワ",en:"okinawa",neighbor:[46]}];p=n,p.VERSION=R,"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=n),exports.jpPrefecture=n):N.jpPrefecture=n,"function"==typeof define&&define.amd&&define("jp-prefecture",[],function(){return n}),p.noConflict=function(){return N.jpPrefecture=E,this},p.getAll=function(n,r){var i=e(n);return i===y||r===y?i:s(e(n),r)},p.getAllRegion=function(n){return p.getAll(F.REGION,n)},p.getAllPref=function(n){return p.getAll(F.PREF,n)},p.find=function(n,r,o){var a,t=e(n);return a=i(r)?c(t,r):u(t,function(n){return h(n,r)}),a===y?y:o===y?a:s(a,o)},p.regionFind=function(n,e){return p.find(F.REGION,n,e)},p.prefFind=function(n,e){return p.find(F.PREF,n,e)},p.findBy=function(n,e,r,i){var o={};return o[e]=r,p.find(n,o,i)},p.regionFindBy=function(n,e,r){return p.findBy(F.REGION,n,e,r)},p.prefFindBy=function(n,e,r){return p.findBy(F.PREF,n,e,r)},p.regionFindByPref=function(n,e){var r=p.prefFind(n);return r===y?y:p.regionFindBy("id",r.region,e)},p.prefFindByRegion=function(n,e){var r,i=p.regionFind(n);return i===y?y:(r=k(O,function(n,e){return n.region===i.id?n:void 0}),e===y?r:s(r,e))},p.where=function(n,r,i){var o=d(e(n),r);return i===y?o:s(o,i)},p.regionWhere=function(n,e){return p.where(F.REGION,n,e)},p.prefWhere=function(n,e){return p.where(F.PREF,n,e)},p.convert=function(n,e,i){return r(i)&&(i=v(i),i=i[0]),p.find(n,e,i)},p.regionConvert=function(n,e){return p.convert(F.REGION,n,e)},p.prefConvert=function(n,e){return p.convert(F.PREF,n,e)},p.getNeighbors=function(n,e,r){var i=p.find(n,e);return i===y?y:g(i.neighbor,function(e){return p.findBy(n,"id",e,r)})},p.getRegionNeighbors=function(n,e){return p.getNeighbors(F.REGION,n,e)},p.getPrefNeighbors=function(n,e){return p.getNeighbors(F.PREF,n,e)},p.isNeighbor=function(n,e,r){var i=p.find(n,e),o=p.find(n,r);return i===y||o===y?!1:h(i.neighbor,o.id)},p.isRegionNeighbor=function(n,e){return p.isNeighbor(F.REGION,n,e)},p.isPrefNeighbor=function(n,e){return p.isNeighbor(F.PREF,n,e)},p.neighborSize=function(n,e){var r=p.find(n,e);return r!==y?r.neighbor.length:0},p.regionNeighborSize=function(n){return p.neighborSize(F.REGION,n)},p.prefNeighborSize=function(n){return p.neighborSize(F.PREF,n)},p.getAllRegionInPref=function(){var n=[];return t(p.getAllRegion(),function(e){n.push({region:e,prefectures:p.prefWhere({region:e.id})})}),n}}).call(this); | ||
!function(global,factory){"use strict";"object"==typeof exports&&"undefined"!=typeof module?module.exports=factory():"function"==typeof define&&define.amd?define(factory):global.jpPrefecture=factory()}(this,function(){"use strict";function jpPrefecture(){return this}function getList(type){return type===Type.REGION?clone(regions):type===Type.PREF?clone(prefectures):undefined}function isArray(val){return"[object Array]"===Object.prototype.toString.call(val)}function isObject(obj){var type=typeof obj;return"function"===type||"object"===type&&!!obj&&!isArray(obj)}function is(type,obj){var clas=Object.prototype.toString.call(obj).slice(8,-1);return obj!==undefined&&null!==obj&&clas===type}function clone(obj){var _isArray=isArray(obj),_isObject=isObject(obj);if(!_isArray&&!_isObject)return undefined;var key,val,result=_isArray?[]:{};for(key in obj)val=obj[key],(isArray(val)||isObject(val))&&(val=clone(val)),result[key]=val;return result}function each(obj,iterate,context){if(null==obj)return obj;if(context=context||obj,isObject(obj)){for(var key in obj)if(iterate.call(context,obj[key],key)===!1)break}else if(isArray(obj)){var i,length=obj.length;for(i=0;length>i&&iterate.call(context,obj[i],i)!==!1;i++);}return obj}function map(obj,iterate,context){if(null==obj)return[];var val,results=[];return each(obj,function(d,i){val=iterate.call(context,d,i),null!==val&&(results[i]=val)}),results}function find(obj,predicate){var result;return each(obj,function(d,i){return predicate(d,i)?(result=d,!1):void 0}),result}function contains(obj,value,from){return null==obj?!1:(isArray(obj)||(obj=values(obj)),indexOf(obj,value,from)>=0)}function matches(attrs){var i,pair,key,p=pairs(attrs),l=p.length;return function(obj){if(0===p.length)return!1;if(null==obj)return!l;for(obj=new Object(obj),i=0;l>i;i++)if(pair=p[i],key=pair[0],pair[1]!==obj[key]||!(key in obj))return!1;return!0}}function where(obj,attrs){return filter(obj,matches(attrs))}function findWhere(obj,attrs){return find(obj,matches(attrs))}function filter(obj,predicate){var results=[];return null==obj?results:(each(obj,function(d,i){predicate(d,i)&&results.push(d)}),results)}function pluck(obj,key){var _isArray,o,results=[];return null==obj?results:(_isArray=isArray(obj),obj=_isArray?obj:[obj],is("String",key)?results=map(obj,function(d){return null==d?undefined:d[key]}):isArray(key)&&(results=map(obj,function(d){return o={},each(key,function(k){o[k]=d[k]}),o})),_isArray?results:results[0])}function indexOf(array,value,from){var i=0,l=array&&array.length;for(from=isNaN(from)?0:from,i=from;l>i;i++)if(array[i]===value)return i;return-1}function pairs(obj){var i,k=keys(obj),l=k.length,p=Array(l);for(i=0;l>i;i++)p[i]=[k[i],obj[k[i]]];return p}function keys(obj){var k=[];return(isObject(obj)||isArray(obj))&&each(obj,function(d,i){k.push(i)}),k}function values(obj){var i,k=keys(obj),l=k.length,v=Array(l);for(i=0;l>i;i++)v[i]=obj[k[i]];return v}var jp,undefined,VERSION="0.1.0",Type={REGION:"region",PREF:"pref"},regions=[{id:1,name:"北海道",kana:"ホッカイドウ",en:"hokkaido",neighbor:[2]},{id:2,name:"東北",kana:"トウホク",en:"tohoku",neighbor:[1]},{id:3,name:"関東",kana:"カントウ",en:"kanto",neighbor:[2,4]},{id:4,name:"中部",kana:"チュウブ",en:"chubu",neighbor:[2,3,5]},{id:5,name:"近畿",kana:"キンキ",en:"kinki",neighbor:[4,6,7]},{id:6,name:"中国",kana:"チュウゴク",en:"chugoku",neighbor:[5,7,8]},{id:7,name:"四国",kana:"シコク",en:"shikoku",neighbor:[5,6,8]},{id:8,name:"九州",kana:"キュウシュウ",en:"kyusyu",neighbor:[6,7]}],prefectures=[{id:1,region:1,name:"北海道","short":"北海道",kana:"ホッカイドウ",en:"hokkaido",neighbor:[2]},{id:2,region:2,name:"青森県","short":"青森",kana:"アオモリ",en:"aomori",neighbor:[1,3,5]},{id:3,region:2,name:"岩手県","short":"岩手",kana:"イワテ",en:"iwate",neighbor:[2,4,5]},{id:4,region:2,name:"宮城県","short":"宮城",kana:"ミヤギ",en:"miyagi",neighbor:[3,5,6,7]},{id:5,region:2,name:"秋田県","short":"秋田",kana:"アキタ",en:"akita",neighbor:[2,3,4,6]},{id:6,region:2,name:"山形県","short":"山形",kana:"ヤマガタ",en:"yamagata",neighbor:[4,5,7,15]},{id:7,region:2,name:"福島県","short":"福島",kana:"フクシマ",en:"fukushima",neighbor:[4,6,8,9,10,15]},{id:8,region:3,name:"茨城県","short":"茨城",kana:"イバラキ",en:"ibaraki",neighbor:[7,9,11,12]},{id:9,region:3,name:"栃木県","short":"栃木",kana:"トチギ",en:"tochigi",neighbor:[8,7,10,11]},{id:10,region:3,name:"群馬県","short":"群馬",kana:"グンマ",en:"gunma",neighbor:[7,9,11,15,20]},{id:11,region:3,name:"埼玉県","short":"埼玉",kana:"サイタマ",en:"saitama",neighbor:[8,9,10,12,13,19,20]},{id:12,region:3,name:"千葉県","short":"千葉",kana:"チバ",en:"chiba",neighbor:[8,11,13,14]},{id:13,region:3,name:"東京都","short":"東京",kana:"トウキョウ",en:"tokyo",neighbor:[11,12,14,19]},{id:14,region:3,name:"神奈川県","short":"神奈川",kana:"カナガワ",en:"kanagawa",neighbor:[12,13,19,22]},{id:15,region:4,name:"新潟県","short":"新潟",kana:"ニイガタ",en:"niigata",neighbor:[6,7,10,16,20]},{id:16,region:4,name:"富山県","short":"富山",kana:"トヤマ",en:"toyama",neighbor:[15,17,20,21]},{id:17,region:4,name:"石川県","short":"石川",kana:"イシカワ",en:"ishikawa",neighbor:[16,18,21]},{id:18,region:4,name:"福井県","short":"福井",kana:"フクイ",en:"fukui",neighbor:[17,21,25,26]},{id:19,region:4,name:"山梨県","short":"山梨",kana:"ヤマナシ",en:"yamanashi",neighbor:[11,13,14,20,22]},{id:20,region:4,name:"長野県","short":"長野",kana:"ナガノ",en:"nagano",neighbor:[10,11,15,16,19,21,22,23]},{id:21,region:4,name:"岐阜県","short":"岐阜",kana:"ギフ",en:"gifu",neighbor:[16,17,18,20,23,24,25]},{id:22,region:4,name:"静岡県","short":"静岡",kana:"シズオカ",en:"shizuoka",neighbor:[14,19,20,23]},{id:23,region:4,name:"愛知県","short":"愛知",kana:"アイチ",en:"aichi",neighbor:[20,21,22,24]},{id:24,region:5,name:"三重県","short":"三重",kana:"ミエ",en:"mie",neighbor:[21,23,25,26,29,30]},{id:25,region:5,name:"滋賀県","short":"滋賀",kana:"シガ",en:"shiga",neighbor:[18,21,24,26]},{id:26,region:5,name:"京都府","short":"京都",kana:"キョウト",en:"kyoto",neighbor:[18,24,25,27,28,29]},{id:27,region:5,name:"大阪府","short":"大阪",kana:"オオサカ",en:"osaka",neighbor:[26,28,29,30]},{id:28,region:5,name:"兵庫県","short":"兵庫",kana:"ヒョウゴ",en:"hyogo",neighbor:[26,27,30,31,33,36,37]},{id:29,region:5,name:"奈良県","short":"奈良",kana:"ナラ",en:"nara",neighbor:[24,26,27,30]},{id:30,region:5,name:"和歌山県","short":"和歌山",kana:"ワカヤマ",en:"wakayama",neighbor:[24,27,28,29,36]},{id:31,region:6,name:"鳥取県","short":"鳥取",kana:"トットリ",en:"tottori",neighbor:[28,32,33,34]},{id:32,region:6,name:"島根県","short":"島根",kana:"シマネ",en:"shimane",neighbor:[31,34,35]},{id:33,region:6,name:"岡山県","short":"岡山",kana:"オカヤマ",en:"okayama",neighbor:[28,31,34,37]},{id:34,region:6,name:"広島県","short":"広島",kana:"ヒロシマ",en:"hiroshima",neighbor:[31,32,33,35,37,38]},{id:35,region:6,name:"山口県","short":"山口",kana:"ヤマグチ",en:"yamaguchi",neighbor:[32,34,38,40,44]},{id:36,region:7,name:"徳島県","short":"徳島",kana:"トクシマ",en:"tokushima",neighbor:[28,30,37,38,39]},{id:37,region:7,name:"香川県","short":"香川",kana:"カガワ",en:"kagawa",neighbor:[28,33,34,36,38]},{id:38,region:7,name:"愛媛県","short":"愛媛",kana:"エヒメ",en:"ehime",neighbor:[33,34,35,36,37,39,44]},{id:39,region:7,name:"高知県","short":"高知",kana:"コウチ",en:"kochi",neighbor:[36,38]},{id:40,region:8,name:"福岡県","short":"福岡",kana:"フクオカ",en:"fukuoka",neighbor:[35,41,42,43,44]},{id:41,region:8,name:"佐賀県","short":"佐賀",kana:"サガ",en:"saga",neighbor:[40,42]},{id:42,region:8,name:"長崎県","short":"長崎",kana:"ナガサキ",en:"nagasaki",neighbor:[41,43]},{id:43,region:8,name:"熊本県","short":"熊本",kana:"クマモト",en:"kumamoto",neighbor:[40,41,42,44,45,46]},{id:44,region:8,name:"大分県","short":"大分",kana:"オオイタ",en:"oita",neighbor:[35,38,40,43,45]},{id:45,region:8,name:"宮崎県","short":"宮城",kana:"ミヤザキ",en:"miyazaki",neighbor:[43,44,46]},{id:46,region:8,name:"鹿児島県","short":"鹿児島",kana:"カゴシマ",en:"kagoshima",neighbor:[43,45,47]},{id:47,region:8,name:"沖縄県","short":"沖縄",kana:"オキナワ",en:"okinawa",neighbor:[46]}];return jp=jpPrefecture,jp.VERSION=VERSION,jp.getAll=function(type,select){var list=getList(type);return list===undefined||select===undefined?list:pluck(getList(type),select)},jp.getAllRegion=function(select){return jp.getAll(Type.REGION,select)},jp.getAllPref=function(select){return jp.getAll(Type.PREF,select)},jp.find=function(type,value,select){var result,list=getList(type);return result=isObject(value)?findWhere(list,value):find(list,function(obj){return contains(obj,value)}),result===undefined?undefined:select===undefined?result:pluck(result,select)},jp.regionFind=function(value,select){return jp.find(Type.REGION,value,select)},jp.prefFind=function(value,select){return jp.find(Type.PREF,value,select)},jp.findBy=function(type,key,value,select){var obj={};return obj[key]=value,jp.find(type,obj,select)},jp.regionFindBy=function(key,value,select){return jp.findBy(Type.REGION,key,value,select)},jp.prefFindBy=function(key,value,select){return jp.findBy(Type.PREF,key,value,select)},jp.regionFindByPref=function(value,select){var pref=jp.prefFind(value);return pref===undefined?undefined:jp.regionFindBy("id",pref.region,select)},jp.prefFindByRegion=function(value,select){var results,region=jp.regionFind(value);return region===undefined?undefined:(results=filter(prefectures,function(d){return d.region===region.id?d:void 0}),select===undefined?results:pluck(results,select))},jp.where=function(type,attrs,select){var results=where(getList(type),attrs);return select===undefined?results:pluck(results,select)},jp.regionWhere=function(attrs,select){return jp.where(Type.REGION,attrs,select)},jp.prefWhere=function(attrs,select){return jp.where(Type.PREF,attrs,select)},jp.convert=function(type,value,key){return isArray(key)&&(key=values(key),key=key[0]),jp.find(type,value,key)},jp.regionConvert=function(value,key){return jp.convert(Type.REGION,value,key)},jp.prefConvert=function(value,key){return jp.convert(Type.PREF,value,key)},jp.getNeighbors=function(type,value,select){var result=jp.find(type,value);return result===undefined?undefined:map(result.neighbor,function(id){return jp.findBy(type,"id",id,select)})},jp.getRegionNeighbors=function(value,select){return jp.getNeighbors(Type.REGION,value,select)},jp.getPrefNeighbors=function(value,select){return jp.getNeighbors(Type.PREF,value,select)},jp.isNeighbor=function(type,val1,val2){var obj1=jp.find(type,val1),obj2=jp.find(type,val2);return obj1===undefined||obj2===undefined?!1:contains(obj1.neighbor,obj2.id)},jp.isRegionNeighbor=function(val1,val2){return jp.isNeighbor(Type.REGION,val1,val2)},jp.isPrefNeighbor=function(val1,val2){return jp.isNeighbor(Type.PREF,val1,val2)},jp.neighborSize=function(type,value){var result=jp.find(type,value);return result!==undefined?result.neighbor.length:0},jp.regionNeighborSize=function(value){return jp.neighborSize(Type.REGION,value)},jp.prefNeighborSize=function(value){return jp.neighborSize(Type.PREF,value)},jp.getAllRegionInPref=function(){var results=[];return each(jp.getAllRegion(),function(region){results.push({region:region,prefectures:jp.prefWhere({region:region.id})})}),results},jpPrefecture}); |
{ | ||
"name": "jp-prefecture", | ||
"version": "0.1.0", | ||
"version": "0.2.0", | ||
"description": "Utility library dealing with prefectures and regions in Japan.", | ||
@@ -27,16 +27,16 @@ "keywords": [ | ||
"scripts": { | ||
"test": "gulp test" | ||
"start": "npm run lint:watch", | ||
"build": "npm run uglify", | ||
"uglify": "uglifyjs jp-prefecture.js -o jp-prefecture.min.js -c -v --comments", | ||
"test": "npm run lint && npm run qunit", | ||
"lint": "eslint jp-prefecture.js", | ||
"lint:watch": "onchange 'jp-prefecture.js' -- npm run lint", | ||
"qunit": "qunit-cli -c ./ test/test.js" | ||
}, | ||
"homepage": "https://github.com/tsuyoshiwada/jp-prefecture", | ||
"devDependencies": { | ||
"coffee-script": "^1.9.0", | ||
"gulp": "^3.8.10", | ||
"gulp-header": "^1.2.2", | ||
"gulp-jshint": "^1.9.2", | ||
"gulp-load-plugins": "^0.8.0", | ||
"gulp-plumber": "^0.6.6", | ||
"gulp-qunit": "^1.2.1", | ||
"gulp-rename": "^1.2.0", | ||
"gulp-uglify": "^1.1.0", | ||
"gulp-util": "^3.0.3" | ||
"eslint": "^2.4.0", | ||
"onchange": "^2.1.2", | ||
"qunit-cli": "^0.2.0", | ||
"uglify-js": "^2.6.2" | ||
}, | ||
@@ -43,0 +43,0 @@ "files": [ |
273
README.md
@@ -7,2 +7,3 @@ jp-prefecture | ||
[![Bower](https://img.shields.io/bower/v/jp-prefecture.svg?style=flat-square)](http://bower.io/search/?q=jp-prefecture) | ||
[![License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](https://raw.githubusercontent.com/tsuyoshiwada/jp-prefecture/master/LICENSE) | ||
@@ -14,38 +15,50 @@ Utility library dealing with prefectures and regions in Japan. | ||
### NPM | ||
### via NPM | ||
```bash | ||
$ npm install jp-prefecture --save | ||
``` | ||
$ npm install jp-prefecture | ||
``` | ||
#### use | ||
### Bower | ||
```javascript | ||
var jpPrefecture = require("jp-prefecture"); | ||
jpPrefecture.__METHOD__(); | ||
``` | ||
$ bower install jp-prefecture | ||
``` | ||
### CommonJS | ||
### via Bower | ||
```javascript | ||
require("jp-prefecture") | ||
```bash | ||
$ bower install jp-prefecture --save | ||
``` | ||
### Basic | ||
### via Manual | ||
1. Download the [jp-prefecture.min.js](https://raw.githubusercontent.com/tsuyoshiwada/jp-prefecture/master/jp-prefecture.min.js) | ||
2. Load it in the `script` tag. | ||
```html | ||
<script type="text/javascript" src="jp-prefecture.js"></script> | ||
<script type="text/javascript" src="jp-prefecture.min.js"></script> | ||
``` | ||
#### use | ||
```javascript | ||
jpPrefecture.__METHOD__(); | ||
``` | ||
## Methods | ||
### getAll | ||
#### jpPrefecture.getAll(type, [select]) | ||
**type: string("region" or "pref")** | ||
**select: string | array** | ||
**return: array** | ||
**type: {String}** | ||
**select: {String | Array}** | ||
**return: {Array}** | ||
Get all regions or prefectures. | ||
@@ -66,6 +79,8 @@ | ||
### getAllRegion | ||
#### jpPrefecture.getAllRegion([select]) | ||
**select: string | array** | ||
**return: array** | ||
**select: {String | Array}** | ||
**return: {Array}** | ||
Alias for `getAll("region")`. | ||
@@ -83,6 +98,8 @@ | ||
### getAllPref | ||
#### jpPrefecture.getAllPref([select]) | ||
**select: string | array** | ||
**return: array** | ||
**select: {String | Array}** | ||
**return: {Array}** | ||
Alias for `getAll("pref")`. | ||
@@ -100,8 +117,10 @@ | ||
### find | ||
#### jpPrefecture.find(type, value, [select]) | ||
**type: string("region" or "pref")** | ||
**value: mixed** | ||
**select: string | array** | ||
**return: object** | ||
**type: {String}** | ||
**value: {Any}** | ||
**select: {String | Array}** | ||
**return: {Object}** | ||
Get the single object of regional or prefectures. | ||
@@ -128,8 +147,10 @@ | ||
### regionFind | ||
#### jpPrefecture.regionFind(value, [select]) | ||
**type: string("region" or "pref")** | ||
**value: mixed** | ||
**select: string | array** | ||
**return: object** | ||
**type: {String}** | ||
**value: {Any}** | ||
**select: {String | Array}** | ||
**return: {Object}** | ||
Get the single object of regional. Alias for `find("region")`. | ||
@@ -144,8 +165,10 @@ | ||
### prefFind | ||
#### jpPrefecture.prefFind(value, [select]) | ||
**type: string("region" or "pref")** | ||
**value: mixed** | ||
**select: string | array** | ||
**return: object** | ||
**type: {String}** | ||
**value: {Any}** | ||
**select: {String | Array}** | ||
**return: {Object}** | ||
Get the single object of prefectures. Alias for `find("pref")`. | ||
@@ -160,9 +183,11 @@ | ||
### findBy | ||
#### jpPrefecture.findBy(type, key, value, [select]) | ||
**type: string("region" or "pref")** | ||
**key: string** | ||
**value: mixed** | ||
**select: string | array** | ||
**return: object** | ||
**type: {String}** | ||
**key: {String}** | ||
**value: {Any}** | ||
**select: {String | Array}** | ||
**return: {Object}** | ||
By specifying the key and value, to get a single object of regional. | ||
@@ -189,8 +214,10 @@ | ||
### regionFindBy | ||
#### jpPrefecture.regionFindBy(key, value, [select]) | ||
**key: string** | ||
**value: mixed** | ||
**select: string | array** | ||
**return: object** | ||
**key: {String}** | ||
**value: {Any}** | ||
**select: {String | Array}** | ||
**return: {Object}** | ||
Alias for `findBy("region")`. | ||
@@ -205,8 +232,10 @@ | ||
### prefFindBy | ||
#### jpPrefecture.prefFindBy(key, value, [select]) | ||
**key: string** | ||
**value: mixed** | ||
**select: string | array** | ||
**return: object** | ||
**key: {String}** | ||
**value: {Any}** | ||
**select: {String | Array}** | ||
**return: {Object}** | ||
Alias for `findBy("pref")`. | ||
@@ -221,7 +250,9 @@ | ||
### regionFindByPref | ||
#### jpPrefecture.regionFindByPref(value, [select]) | ||
**value: mixed** | ||
**select: string | array** | ||
**return: object** | ||
**value: {Any}** | ||
**select: {String | Array}** | ||
**return: {Object}** | ||
Get the region corresponding from prefectures. | ||
@@ -242,7 +273,9 @@ | ||
### prefFindByRegion | ||
#### jpPrefecture.prefFindByRegion(value, [select]) | ||
**value: mixed** | ||
**select: string | array** | ||
**return: array** | ||
**value: {Any}** | ||
**select: {String | Array}** | ||
**return: {Array}** | ||
Get the prefectures corresponding from region. | ||
@@ -263,8 +296,10 @@ | ||
### where | ||
#### jpPrefecture.where(type, attrs, [select]) | ||
**type: string("region" or "pref")** | ||
**attrs: object** | ||
**select: string | array** | ||
**return: array** | ||
**type: {String}** | ||
**attrs: {Object}** | ||
**select: {String | Array}** | ||
**return: {Array}** | ||
Get the regional or province apply to the given conditions. | ||
@@ -289,7 +324,9 @@ The return value is returned always an array. | ||
### regionWhere | ||
#### jpPrefecture.regionWhere(attrs, [select]) | ||
**attrs: object** | ||
**select: string | array** | ||
**return: array** | ||
**attrs: {Object}** | ||
**select: {String | Array}** | ||
**return: {Array}** | ||
Alias for `where("region")`. | ||
@@ -304,7 +341,9 @@ | ||
### prefWhere | ||
#### jpPrefecture.prefWhere(attrs, [select]) | ||
**attrs: object** | ||
**select: string | array** | ||
**return: array** | ||
**attrs: {Object}** | ||
**select: {String | Array}** | ||
**return: {Array}** | ||
Alias for `where("pref")`. | ||
@@ -319,8 +358,10 @@ | ||
### convert | ||
#### jpPrefecture.convert(type, value, key) | ||
**type: string("region" or "pref")** | ||
**value: mixed** | ||
**key: string** | ||
**return: mixed** | ||
**type: {String}** | ||
**value: {Any}** | ||
**key: {String}** | ||
**return: {Any}** | ||
Conversion from the specified value of the region or province to another key. | ||
@@ -344,6 +385,7 @@ | ||
### regionConvert | ||
#### jpPrefecture.regionConvert(value, key) | ||
**value: mixed** | ||
**key: string** | ||
**return: mixed** | ||
**value: {Any}** | ||
**key: {String}** | ||
**return: {Any}** | ||
@@ -362,7 +404,9 @@ Alias for `convert("region")`. | ||
### prefConvert | ||
#### jpPrefecture.prefConvert(value, key) | ||
**value: mixed** | ||
**key: string** | ||
**return: mixed** | ||
**value: {Any}** | ||
**key: {String}** | ||
**return: {Any}** | ||
Alias for `convert("pref")`. | ||
@@ -383,8 +427,10 @@ | ||
### getNeighbors | ||
#### jpPrefecture.getNeighbors(type, value, [select]) | ||
**type: string("region" or "pref")** | ||
**value: mixed** | ||
**select: string | array** | ||
**return: array** | ||
**type: {String}** | ||
**value: {Any}** | ||
**select: {String | Array}** | ||
**return: {Array}** | ||
Get the ones that are adjacent to a given region or province. | ||
@@ -408,7 +454,9 @@ | ||
### getRegionNeighbors | ||
#### jpPrefecture.getRegionNeighbors(value, [select]) | ||
**value: mixed** | ||
**select: string | array** | ||
**return: array** | ||
**value: {Any}** | ||
**select: {String | Array}** | ||
**return: {Array}** | ||
Alias for `getNeighbors("region")`. | ||
@@ -426,7 +474,9 @@ | ||
### getPrefNeighbors | ||
#### jpPrefecture.getPrefNeighbors(value, [select]) | ||
**value: mixed** | ||
**select: string | array** | ||
**return: array** | ||
**value: {Any}** | ||
**select: {String | Array}** | ||
**return: {Array}** | ||
Alias for `getNeighbors("pref")`. | ||
@@ -444,8 +494,10 @@ | ||
### isNeighbor | ||
#### jpPrefecture.isNeighbor(type, val1, val2) | ||
**type: string("region" or "pref")** | ||
**val1: mixed** | ||
**val2: mixed** | ||
**return: boolean** | ||
**type: {String}** | ||
**val1: {Any}** | ||
**val2: {Any}** | ||
**return: {Boolean}** | ||
Determine if the specified two regions or prefectures were are adjacent. | ||
@@ -469,7 +521,9 @@ | ||
### isRegionNeighbor | ||
#### jpPrefecture.isRegionNeighbor(val1, val2) | ||
**val1: mixed** | ||
**val2: mixed** | ||
**return: boolean** | ||
**val1: {Any}** | ||
**val2: {Any}** | ||
**return: {Boolean}** | ||
Alias for `isNeighbor("region")`. | ||
@@ -487,7 +541,9 @@ | ||
### isPrefNeighbor | ||
#### jpPrefecture.isPrefNeighbor(val1, val2) | ||
**val1: mixed** | ||
**val2: mixed** | ||
**return: boolean** | ||
**val1: {Any}** | ||
**val2: {Any}** | ||
**return: {Boolean}** | ||
Alias for `isNeighbor("pref")`. | ||
@@ -505,7 +561,9 @@ | ||
### neighborSize | ||
#### jpPrefecture.neighborSize(type, value) | ||
**type: string("region" or "pref")** | ||
**value: mixed** | ||
**return: integer** | ||
**type: {String}** | ||
**value: {Any}** | ||
**return: {Integer}** | ||
Get the number of adjacent of the specified region. | ||
@@ -529,6 +587,8 @@ | ||
### regionNeighborSize | ||
#### jpPrefecture.regionNeighborSize(value) | ||
**value: mixed** | ||
**return: integer** | ||
**value: {Any}** | ||
**return: {Integer}** | ||
Alias for `neighborSize("region")`. | ||
@@ -546,6 +606,8 @@ | ||
### prefNeighborSize | ||
#### jpPrefecture.prefNeighborSize(value) | ||
**value: mixed** | ||
**return: integer** | ||
**value: {Any}** | ||
**return: {Integer}** | ||
Alias for `neighborSize("pref")`. | ||
@@ -563,5 +625,7 @@ | ||
### getAllRegionInPref | ||
#### jpPrefecture.getAllRegionInPref() | ||
**return: array** | ||
**return: {Array}** | ||
Get a list of state that contains the prefectures corresponding to the region in the multidimensional array. | ||
@@ -601,2 +665,3 @@ This is useful when the loop of the list was based on the regional. | ||
## Use DataList | ||
Data regions and prefectures uses the following. | ||
@@ -685,10 +750,12 @@ Id prefectures correspond to those integer the region code of ISO. | ||
## Change Log | ||
## Author | ||
* Change Testing framework. `QUnit` from `mocha`. | ||
* Support Bower Install. | ||
* First Release. | ||
[tsuyoshi wada](https://github.com/tsuyoshiwada/) | ||
## Author | ||
[tsuyoshi wada](https://github.com/tsuyoshiwada/) | ||
------------- | ||
Bugs, feature requests and comments are more than welcome in the [issues](https://github.com/tsuyoshiwada/sequential-number/issues) |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
56815
4
732
549