[{"data":1,"prerenderedAt":1504},["ShallowReactive",2],{"content-ja-\u002Fusage":3},{"id":4,"title":5,"body":6,"description":1497,"extension":1498,"meta":1499,"navigation":73,"path":1500,"seo":1501,"stem":1502,"__hash__":1503},"content_ja\u002Fusage.md","使い方",{"type":7,"value":8,"toc":1485},"minimark",[9,12,16,20,315,320,331,401,412,525,528,531,539,546,557,561,582,761,799,803,819,1088,1124,1127,1130,1133,1136,1165,1172,1204,1207,1210,1302,1361,1370,1373,1376,1412,1415,1470,1481],[10,11,5],"h1",{"id":5},[13,14,15],"p",{},"まずは、一番シンプルな方法を例示します。",[17,18,19],"h2",{"id":19},"一番簡単な例",[21,22,27],"pre",{"className":23,"code":24,"language":25,"meta":26,"style":26},"language-ts shiki shiki-themes github-light github-dark","import { createLocalGovClient } from \"@b4moss\u002Fjp-local-gov-id\";\nimport dataset from \"@b4moss\u002Fjp-local-gov-id-data\";\n\nconst client = await createLocalGovClient({ data: dataset });\n\nclient.listPrefectures();\nclient.getPrefectureByCode(\"27\"); \u002F\u002F 大阪府\nclient.getPrefectureCodeByName(\"大阪府\"); \u002F\u002F \"27\"\nawait client.listMunicipalitiesByPrefecture(\"13\"); \u002F\u002F 東京都の市区町村等\nawait client.listMunicipalitiesByPrefecture(\"01\", { designatedCity: \"city\" }); \u002F\u002F 政令市本体のみ\nawait client.getMunicipalityByCode(\"131016\"); \u002F\u002F 千代田区\nawait client.getByCode(\"131016\");\nawait client.searchByText(\"中央\", { prefecture: \"01\", target: \"cities\" });\nawait client.searchByText(\"ちよだ\", { prefecture: \"13\", target: \"cities\" }); \u002F\u002F カナ／ひらがな可\nawait client.getLocalGovCodeByName(\"千代田区\"); \u002F\u002F \"131016\"\n","ts","",[28,29,30,53,68,75,98,103,115,136,154,176,202,222,239,268,295],"code",{"__ignoreMap":26},[31,32,35,39,43,46,50],"span",{"class":33,"line":34},"line",1,[31,36,38],{"class":37},"szBVR","import",[31,40,42],{"class":41},"sVt8B"," { createLocalGovClient } ",[31,44,45],{"class":37},"from",[31,47,49],{"class":48},"sZZnC"," \"@b4moss\u002Fjp-local-gov-id\"",[31,51,52],{"class":41},";\n",[31,54,56,58,61,63,66],{"class":33,"line":55},2,[31,57,38],{"class":37},[31,59,60],{"class":41}," dataset ",[31,62,45],{"class":37},[31,64,65],{"class":48}," \"@b4moss\u002Fjp-local-gov-id-data\"",[31,67,52],{"class":41},[31,69,71],{"class":33,"line":70},3,[31,72,74],{"emptyLinePlaceholder":73},true,"\n",[31,76,78,81,85,88,91,95],{"class":33,"line":77},4,[31,79,80],{"class":37},"const",[31,82,84],{"class":83},"sj4cs"," client",[31,86,87],{"class":37}," =",[31,89,90],{"class":37}," await",[31,92,94],{"class":93},"sScJk"," createLocalGovClient",[31,96,97],{"class":41},"({ data: dataset });\n",[31,99,101],{"class":33,"line":100},5,[31,102,74],{"emptyLinePlaceholder":73},[31,104,106,109,112],{"class":33,"line":105},6,[31,107,108],{"class":41},"client.",[31,110,111],{"class":93},"listPrefectures",[31,113,114],{"class":41},"();\n",[31,116,118,120,123,126,129,132],{"class":33,"line":117},7,[31,119,108],{"class":41},[31,121,122],{"class":93},"getPrefectureByCode",[31,124,125],{"class":41},"(",[31,127,128],{"class":48},"\"27\"",[31,130,131],{"class":41},"); ",[31,133,135],{"class":134},"sJ8bj","\u002F\u002F 大阪府\n",[31,137,139,141,144,146,149,151],{"class":33,"line":138},8,[31,140,108],{"class":41},[31,142,143],{"class":93},"getPrefectureCodeByName",[31,145,125],{"class":41},[31,147,148],{"class":48},"\"大阪府\"",[31,150,131],{"class":41},[31,152,153],{"class":134},"\u002F\u002F \"27\"\n",[31,155,157,160,163,166,168,171,173],{"class":33,"line":156},9,[31,158,159],{"class":37},"await",[31,161,162],{"class":41}," client.",[31,164,165],{"class":93},"listMunicipalitiesByPrefecture",[31,167,125],{"class":41},[31,169,170],{"class":48},"\"13\"",[31,172,131],{"class":41},[31,174,175],{"class":134},"\u002F\u002F 東京都の市区町村等\n",[31,177,179,181,183,185,187,190,193,196,199],{"class":33,"line":178},10,[31,180,159],{"class":37},[31,182,162],{"class":41},[31,184,165],{"class":93},[31,186,125],{"class":41},[31,188,189],{"class":48},"\"01\"",[31,191,192],{"class":41},", { designatedCity: ",[31,194,195],{"class":48},"\"city\"",[31,197,198],{"class":41}," }); ",[31,200,201],{"class":134},"\u002F\u002F 政令市本体のみ\n",[31,203,205,207,209,212,214,217,219],{"class":33,"line":204},11,[31,206,159],{"class":37},[31,208,162],{"class":41},[31,210,211],{"class":93},"getMunicipalityByCode",[31,213,125],{"class":41},[31,215,216],{"class":48},"\"131016\"",[31,218,131],{"class":41},[31,220,221],{"class":134},"\u002F\u002F 千代田区\n",[31,223,225,227,229,232,234,236],{"class":33,"line":224},12,[31,226,159],{"class":37},[31,228,162],{"class":41},[31,230,231],{"class":93},"getByCode",[31,233,125],{"class":41},[31,235,216],{"class":48},[31,237,238],{"class":41},");\n",[31,240,242,244,246,249,251,254,257,259,262,265],{"class":33,"line":241},13,[31,243,159],{"class":37},[31,245,162],{"class":41},[31,247,248],{"class":93},"searchByText",[31,250,125],{"class":41},[31,252,253],{"class":48},"\"中央\"",[31,255,256],{"class":41},", { prefecture: ",[31,258,189],{"class":48},[31,260,261],{"class":41},", target: ",[31,263,264],{"class":48},"\"cities\"",[31,266,267],{"class":41}," });\n",[31,269,271,273,275,277,279,282,284,286,288,290,292],{"class":33,"line":270},14,[31,272,159],{"class":37},[31,274,162],{"class":41},[31,276,248],{"class":93},[31,278,125],{"class":41},[31,280,281],{"class":48},"\"ちよだ\"",[31,283,256],{"class":41},[31,285,170],{"class":48},[31,287,261],{"class":41},[31,289,264],{"class":48},[31,291,198],{"class":41},[31,293,294],{"class":134},"\u002F\u002F カナ／ひらがな可\n",[31,296,298,300,302,305,307,310,312],{"class":33,"line":297},15,[31,299,159],{"class":37},[31,301,162],{"class":41},[31,303,304],{"class":93},"getLocalGovCodeByName",[31,306,125],{"class":41},[31,308,309],{"class":48},"\"千代田区\"",[31,311,131],{"class":41},[31,313,314],{"class":134},"\u002F\u002F \"131016\"\n",[316,317,319],"h3",{"id":318},"政令指定都市の市区フィルタ","政令指定都市の市\u002F区フィルタ",[13,321,322,323,326,327,330],{},"住所フォームで「市だけ選びたい」「区だけ選びたい」場合は ",[28,324,325],{},"designatedCity"," を使います（既定 ",[28,328,329],{},"\"both\"","）。",[332,333,334,350],"table",{},[335,336,337],"thead",{},[338,339,340,344,347],"tr",{},[341,342,343],"th",{},"値",[341,345,346],{},"意味",[341,348,349],{},"例（北海道）",[351,352,353,372,386],"tbody",{},[338,354,355,360,363],{},[356,357,358],"td",{},[28,359,329],{},[356,361,362],{},"市本体と区の両方",[356,364,365,368,369],{},[28,366,367],{},"札幌市"," と ",[28,370,371],{},"札幌市中央区",[338,373,374,378,381],{},[356,375,376],{},[28,377,195],{},[356,379,380],{},"市本体のみ",[356,382,383,385],{},[28,384,367],{}," のみ",[338,387,388,393,396],{},[356,389,390],{},[28,391,392],{},"\"ward\"",[356,394,395],{},"区のみ",[356,397,398,400],{},[28,399,371],{}," など",[13,402,403,404,406,407,406,409,411],{},"適用 API: ",[28,405,165],{}," \u002F ",[28,408,248],{},[28,410,304],{},"。東京特別区は対象外です。",[21,413,415],{"className":23,"code":414,"language":25,"meta":26,"style":26},"\u002F\u002F 住所セレクト: 市のみ\nawait client.listMunicipalitiesByPrefecture(\"01\", { designatedCity: \"city\" });\n\n\u002F\u002F 住所セレクト: 区のみ\nawait client.listMunicipalitiesByPrefecture(\"01\", { designatedCity: \"ward\" });\n\n\u002F\u002F 検索でも同じオプションが使える\nawait client.searchByText(\"札幌\", {\n  prefecture: \"01\",\n  target: \"cities\",\n  designatedCity: \"ward\",\n});\n",[28,416,417,422,440,444,449,467,471,476,492,502,511,520],{"__ignoreMap":26},[31,418,419],{"class":33,"line":34},[31,420,421],{"class":134},"\u002F\u002F 住所セレクト: 市のみ\n",[31,423,424,426,428,430,432,434,436,438],{"class":33,"line":55},[31,425,159],{"class":37},[31,427,162],{"class":41},[31,429,165],{"class":93},[31,431,125],{"class":41},[31,433,189],{"class":48},[31,435,192],{"class":41},[31,437,195],{"class":48},[31,439,267],{"class":41},[31,441,442],{"class":33,"line":70},[31,443,74],{"emptyLinePlaceholder":73},[31,445,446],{"class":33,"line":77},[31,447,448],{"class":134},"\u002F\u002F 住所セレクト: 区のみ\n",[31,450,451,453,455,457,459,461,463,465],{"class":33,"line":100},[31,452,159],{"class":37},[31,454,162],{"class":41},[31,456,165],{"class":93},[31,458,125],{"class":41},[31,460,189],{"class":48},[31,462,192],{"class":41},[31,464,392],{"class":48},[31,466,267],{"class":41},[31,468,469],{"class":33,"line":105},[31,470,74],{"emptyLinePlaceholder":73},[31,472,473],{"class":33,"line":117},[31,474,475],{"class":134},"\u002F\u002F 検索でも同じオプションが使える\n",[31,477,478,480,482,484,486,489],{"class":33,"line":138},[31,479,159],{"class":37},[31,481,162],{"class":41},[31,483,248],{"class":93},[31,485,125],{"class":41},[31,487,488],{"class":48},"\"札幌\"",[31,490,491],{"class":41},", {\n",[31,493,494,497,499],{"class":33,"line":156},[31,495,496],{"class":41},"  prefecture: ",[31,498,189],{"class":48},[31,500,501],{"class":41},",\n",[31,503,504,507,509],{"class":33,"line":178},[31,505,506],{"class":41},"  target: ",[31,508,264],{"class":48},[31,510,501],{"class":41},[31,512,513,516,518],{"class":33,"line":204},[31,514,515],{"class":41},"  designatedCity: ",[31,517,392],{"class":48},[31,519,501],{"class":41},[31,521,522],{"class":33,"line":224},[31,523,524],{"class":41},"});\n",[13,526,527],{},"このように、アプリケーションとデータをそれぞれ npm パッケージから呼び出し、読み込めば使用できます。",[17,529,530],{"id":530},"巨大なデータソースへの対処",[13,532,533,534,538],{},"一方で「",[535,536,537],"strong",{},"全国のデータをnpmから配信すると、巨大なのでは？","」という疑問もあるでしょう。",[13,540,541,542,545],{},"はい、この質問に対しては「",[535,543,544],{},"YES","」です。v0.1.0のデータソースは、400KBを超えています。",[13,547,548,549,552,553,556],{},"従って、パッケージマネージャーで、アプリ（",[28,550,551],{},"@b4moss\u002Fjp-local-gov-id","）と、データソース（",[28,554,555],{},"@b4moss\u002Fjp-local-gov-id-data","）を別々にビルドする方法をお勧めします。",[316,558,560],{"id":559},"viteの場合","Viteの場合",[21,562,566],{"className":563,"code":564,"language":565,"meta":26,"style":26},"language-shell shiki shiki-themes github-light github-dark","npm i -D vite-plugin-static-copy\n","shell",[28,567,568],{"__ignoreMap":26},[31,569,570,573,576,579],{"class":33,"line":34},[31,571,572],{"class":93},"npm",[31,574,575],{"class":48}," i",[31,577,578],{"class":83}," -D",[31,580,581],{"class":48}," vite-plugin-static-copy\n",[21,583,585],{"className":23,"code":584,"language":25,"meta":26,"style":26},"\u002F\u002F vite.config.ts\nimport { defineConfig } from \"vite\";\nimport { viteStaticCopy } from \"vite-plugin-static-copy\";\nexport default defineConfig({\n  plugins: [\n    viteStaticCopy({\n      targets: [\n        {\n          \u002F\u002F dataset.js はコピーしない（バンドル肥大化の元）\n          src: [\n            \"node_modules\u002F@b4moss\u002Fjp-local-gov-id-data\u002Findex.json\",\n            \"node_modules\u002F@b4moss\u002Fjp-local-gov-id-data\u002Fprefectures.json\",\n            \"node_modules\u002F@b4moss\u002Fjp-local-gov-id-data\u002Fprefectures\",\n          ],\n          dest: \"jp-local-gov-id-data\",\n        },\n      ],\n    }),\n  ],\n  \u002F\u002F 念のため optimize 対象から外す（誤って import しても警告しやすくする）\n  optimizeDeps: {\n    exclude: [\"@b4moss\u002Fjp-local-gov-id-data\"],\n  },\n});\n",[28,586,587,592,606,620,634,639,646,651,656,661,666,673,680,687,692,702,708,714,720,726,732,738,750,756],{"__ignoreMap":26},[31,588,589],{"class":33,"line":34},[31,590,591],{"class":134},"\u002F\u002F vite.config.ts\n",[31,593,594,596,599,601,604],{"class":33,"line":55},[31,595,38],{"class":37},[31,597,598],{"class":41}," { defineConfig } ",[31,600,45],{"class":37},[31,602,603],{"class":48}," \"vite\"",[31,605,52],{"class":41},[31,607,608,610,613,615,618],{"class":33,"line":70},[31,609,38],{"class":37},[31,611,612],{"class":41}," { viteStaticCopy } ",[31,614,45],{"class":37},[31,616,617],{"class":48}," \"vite-plugin-static-copy\"",[31,619,52],{"class":41},[31,621,622,625,628,631],{"class":33,"line":77},[31,623,624],{"class":37},"export",[31,626,627],{"class":37}," default",[31,629,630],{"class":93}," defineConfig",[31,632,633],{"class":41},"({\n",[31,635,636],{"class":33,"line":100},[31,637,638],{"class":41},"  plugins: [\n",[31,640,641,644],{"class":33,"line":105},[31,642,643],{"class":93},"    viteStaticCopy",[31,645,633],{"class":41},[31,647,648],{"class":33,"line":117},[31,649,650],{"class":41},"      targets: [\n",[31,652,653],{"class":33,"line":138},[31,654,655],{"class":41},"        {\n",[31,657,658],{"class":33,"line":156},[31,659,660],{"class":134},"          \u002F\u002F dataset.js はコピーしない（バンドル肥大化の元）\n",[31,662,663],{"class":33,"line":178},[31,664,665],{"class":41},"          src: [\n",[31,667,668,671],{"class":33,"line":204},[31,669,670],{"class":48},"            \"node_modules\u002F@b4moss\u002Fjp-local-gov-id-data\u002Findex.json\"",[31,672,501],{"class":41},[31,674,675,678],{"class":33,"line":224},[31,676,677],{"class":48},"            \"node_modules\u002F@b4moss\u002Fjp-local-gov-id-data\u002Fprefectures.json\"",[31,679,501],{"class":41},[31,681,682,685],{"class":33,"line":241},[31,683,684],{"class":48},"            \"node_modules\u002F@b4moss\u002Fjp-local-gov-id-data\u002Fprefectures\"",[31,686,501],{"class":41},[31,688,689],{"class":33,"line":270},[31,690,691],{"class":41},"          ],\n",[31,693,694,697,700],{"class":33,"line":297},[31,695,696],{"class":41},"          dest: ",[31,698,699],{"class":48},"\"jp-local-gov-id-data\"",[31,701,501],{"class":41},[31,703,705],{"class":33,"line":704},16,[31,706,707],{"class":41},"        },\n",[31,709,711],{"class":33,"line":710},17,[31,712,713],{"class":41},"      ],\n",[31,715,717],{"class":33,"line":716},18,[31,718,719],{"class":41},"    }),\n",[31,721,723],{"class":33,"line":722},19,[31,724,725],{"class":41},"  ],\n",[31,727,729],{"class":33,"line":728},20,[31,730,731],{"class":134},"  \u002F\u002F 念のため optimize 対象から外す（誤って import しても警告しやすくする）\n",[31,733,735],{"class":33,"line":734},21,[31,736,737],{"class":41},"  optimizeDeps: {\n",[31,739,741,744,747],{"class":33,"line":740},22,[31,742,743],{"class":41},"    exclude: [",[31,745,746],{"class":48},"\"@b4moss\u002Fjp-local-gov-id-data\"",[31,748,749],{"class":41},"],\n",[31,751,753],{"class":33,"line":752},23,[31,754,755],{"class":41},"  },\n",[31,757,759],{"class":33,"line":758},24,[31,760,524],{"class":41},[21,762,764],{"className":23,"code":763,"language":25,"meta":26,"style":26},"\u002F\u002F app.ts 等\nconst client = await createLocalGovClient({\n  url: \"\u002Fjp-local-gov-id-data\u002Findex.json\",\n});\n",[28,765,766,771,785,795],{"__ignoreMap":26},[31,767,768],{"class":33,"line":34},[31,769,770],{"class":134},"\u002F\u002F app.ts 等\n",[31,772,773,775,777,779,781,783],{"class":33,"line":55},[31,774,80],{"class":37},[31,776,84],{"class":83},[31,778,87],{"class":37},[31,780,90],{"class":37},[31,782,94],{"class":93},[31,784,633],{"class":41},[31,786,787,790,793],{"class":33,"line":70},[31,788,789],{"class":41},"  url: ",[31,791,792],{"class":48},"\"\u002Fjp-local-gov-id-data\u002Findex.json\"",[31,794,501],{"class":41},[31,796,797],{"class":33,"line":77},[31,798,524],{"class":41},[316,800,802],{"id":801},"webpackの場合","Webpackの場合",[21,804,806],{"className":563,"code":805,"language":565,"meta":26,"style":26},"npm i -D copy-webpack-plugin\n",[28,807,808],{"__ignoreMap":26},[31,809,810,812,814,816],{"class":33,"line":34},[31,811,572],{"class":93},[31,813,575],{"class":48},[31,815,578],{"class":83},[31,817,818],{"class":48}," copy-webpack-plugin\n",[21,820,824],{"className":821,"code":822,"language":823,"meta":26,"style":26},"language-js shiki shiki-themes github-light github-dark","\u002F\u002F webpack.config.js\nconst path = require(\"path\");\nconst CopyWebpackPlugin = require(\"copy-webpack-plugin\");\n\nmodule.exports = {\n  entry: \".\u002Fsrc\u002Fmain.js\",\n  output: {\n    path: path.resolve(__dirname, \"dist\"),\n    filename: \"app.js\",\n    clean: true,\n  },\n  plugins: [\n    new CopyWebpackPlugin({\n      patterns: [\n        {\n          from: \"node_modules\u002F@b4moss\u002Fjp-local-gov-id-data\u002Findex.json\",\n          to: \"jp-local-gov-id-data\u002Findex.json\",\n        },\n        {\n          from: \"node_modules\u002F@b4moss\u002Fjp-local-gov-id-data\u002Fprefectures.json\",\n          to: \"jp-local-gov-id-data\u002Fprefectures.json\",\n        },\n        {\n          from: \"node_modules\u002F@b4moss\u002Fjp-local-gov-id-data\u002Fprefectures\",\n          to: \"jp-local-gov-id-data\u002Fprefectures\",\n        },\n      ],\n    }),\n  ],\n  \u002F\u002F 誤って data パッケージを bundle しない\n  externals: {\n    \u002F\u002F 使う場合のみ。通常は単に import しないのが確実\n  },\n};\n","js",[28,825,826,831,850,868,872,888,898,903,920,930,940,944,948,957,962,966,976,986,990,994,1003,1012,1016,1020,1029,1039,1044,1049,1054,1059,1065,1071,1077,1082],{"__ignoreMap":26},[31,827,828],{"class":33,"line":34},[31,829,830],{"class":134},"\u002F\u002F webpack.config.js\n",[31,832,833,835,838,840,843,845,848],{"class":33,"line":55},[31,834,80],{"class":37},[31,836,837],{"class":83}," path",[31,839,87],{"class":37},[31,841,842],{"class":93}," require",[31,844,125],{"class":41},[31,846,847],{"class":48},"\"path\"",[31,849,238],{"class":41},[31,851,852,854,857,859,861,863,866],{"class":33,"line":70},[31,853,80],{"class":37},[31,855,856],{"class":83}," CopyWebpackPlugin",[31,858,87],{"class":37},[31,860,842],{"class":93},[31,862,125],{"class":41},[31,864,865],{"class":48},"\"copy-webpack-plugin\"",[31,867,238],{"class":41},[31,869,870],{"class":33,"line":77},[31,871,74],{"emptyLinePlaceholder":73},[31,873,874,877,880,883,885],{"class":33,"line":100},[31,875,876],{"class":83},"module",[31,878,879],{"class":41},".",[31,881,882],{"class":83},"exports",[31,884,87],{"class":37},[31,886,887],{"class":41}," {\n",[31,889,890,893,896],{"class":33,"line":105},[31,891,892],{"class":41},"  entry: ",[31,894,895],{"class":48},"\".\u002Fsrc\u002Fmain.js\"",[31,897,501],{"class":41},[31,899,900],{"class":33,"line":117},[31,901,902],{"class":41},"  output: {\n",[31,904,905,908,911,914,917],{"class":33,"line":138},[31,906,907],{"class":41},"    path: path.",[31,909,910],{"class":93},"resolve",[31,912,913],{"class":41},"(__dirname, ",[31,915,916],{"class":48},"\"dist\"",[31,918,919],{"class":41},"),\n",[31,921,922,925,928],{"class":33,"line":156},[31,923,924],{"class":41},"    filename: ",[31,926,927],{"class":48},"\"app.js\"",[31,929,501],{"class":41},[31,931,932,935,938],{"class":33,"line":178},[31,933,934],{"class":41},"    clean: ",[31,936,937],{"class":83},"true",[31,939,501],{"class":41},[31,941,942],{"class":33,"line":204},[31,943,755],{"class":41},[31,945,946],{"class":33,"line":224},[31,947,638],{"class":41},[31,949,950,953,955],{"class":33,"line":241},[31,951,952],{"class":37},"    new",[31,954,856],{"class":93},[31,956,633],{"class":41},[31,958,959],{"class":33,"line":270},[31,960,961],{"class":41},"      patterns: [\n",[31,963,964],{"class":33,"line":297},[31,965,655],{"class":41},[31,967,968,971,974],{"class":33,"line":704},[31,969,970],{"class":41},"          from: ",[31,972,973],{"class":48},"\"node_modules\u002F@b4moss\u002Fjp-local-gov-id-data\u002Findex.json\"",[31,975,501],{"class":41},[31,977,978,981,984],{"class":33,"line":710},[31,979,980],{"class":41},"          to: ",[31,982,983],{"class":48},"\"jp-local-gov-id-data\u002Findex.json\"",[31,985,501],{"class":41},[31,987,988],{"class":33,"line":716},[31,989,707],{"class":41},[31,991,992],{"class":33,"line":722},[31,993,655],{"class":41},[31,995,996,998,1001],{"class":33,"line":728},[31,997,970],{"class":41},[31,999,1000],{"class":48},"\"node_modules\u002F@b4moss\u002Fjp-local-gov-id-data\u002Fprefectures.json\"",[31,1002,501],{"class":41},[31,1004,1005,1007,1010],{"class":33,"line":734},[31,1006,980],{"class":41},[31,1008,1009],{"class":48},"\"jp-local-gov-id-data\u002Fprefectures.json\"",[31,1011,501],{"class":41},[31,1013,1014],{"class":33,"line":740},[31,1015,707],{"class":41},[31,1017,1018],{"class":33,"line":752},[31,1019,655],{"class":41},[31,1021,1022,1024,1027],{"class":33,"line":758},[31,1023,970],{"class":41},[31,1025,1026],{"class":48},"\"node_modules\u002F@b4moss\u002Fjp-local-gov-id-data\u002Fprefectures\"",[31,1028,501],{"class":41},[31,1030,1032,1034,1037],{"class":33,"line":1031},25,[31,1033,980],{"class":41},[31,1035,1036],{"class":48},"\"jp-local-gov-id-data\u002Fprefectures\"",[31,1038,501],{"class":41},[31,1040,1042],{"class":33,"line":1041},26,[31,1043,707],{"class":41},[31,1045,1047],{"class":33,"line":1046},27,[31,1048,713],{"class":41},[31,1050,1052],{"class":33,"line":1051},28,[31,1053,719],{"class":41},[31,1055,1057],{"class":33,"line":1056},29,[31,1058,725],{"class":41},[31,1060,1062],{"class":33,"line":1061},30,[31,1063,1064],{"class":134},"  \u002F\u002F 誤って data パッケージを bundle しない\n",[31,1066,1068],{"class":33,"line":1067},31,[31,1069,1070],{"class":41},"  externals: {\n",[31,1072,1074],{"class":33,"line":1073},32,[31,1075,1076],{"class":134},"    \u002F\u002F 使う場合のみ。通常は単に import しないのが確実\n",[31,1078,1080],{"class":33,"line":1079},33,[31,1081,755],{"class":41},[31,1083,1085],{"class":33,"line":1084},34,[31,1086,1087],{"class":41},"};\n",[21,1089,1091],{"className":821,"code":1090,"language":823,"meta":26,"style":26},"\u002F\u002F app.js 等\nconst client = await createLocalGovClient({\n  url: \"\u002Fjp-local-gov-id-data\u002Findex.json\",\n});\n",[28,1092,1093,1098,1112,1120],{"__ignoreMap":26},[31,1094,1095],{"class":33,"line":34},[31,1096,1097],{"class":134},"\u002F\u002F app.js 等\n",[31,1099,1100,1102,1104,1106,1108,1110],{"class":33,"line":55},[31,1101,80],{"class":37},[31,1103,84],{"class":83},[31,1105,87],{"class":37},[31,1107,90],{"class":37},[31,1109,94],{"class":93},[31,1111,633],{"class":41},[31,1113,1114,1116,1118],{"class":33,"line":70},[31,1115,789],{"class":41},[31,1117,792],{"class":48},[31,1119,501],{"class":41},[31,1121,1122],{"class":33,"line":77},[31,1123,524],{"class":41},[316,1125,1126],{"id":1126},"データソースを外部から読み込む",[13,1128,1129],{},"そもそも、データソースをセルフホストしたくない、という場合もあるでしょう。",[13,1131,1132],{},"その場合は、データソースを外部から読み込むことができます。",[13,1134,1135],{},"インストール時に、アプリだけインストールするようにします。データソースはインストールしません。",[21,1137,1139],{"className":563,"code":1138,"language":565,"meta":26,"style":26},"npm install @b4moss\u002Fjp-local-gov-id\n\n# もし既にデータソースをインストールしてしまっていたら、アンインストール\n# npm uninstall @b4moss\u002Fjp-local-gov-id-data\n",[28,1140,1141,1151,1155,1160],{"__ignoreMap":26},[31,1142,1143,1145,1148],{"class":33,"line":34},[31,1144,572],{"class":93},[31,1146,1147],{"class":48}," install",[31,1149,1150],{"class":48}," @b4moss\u002Fjp-local-gov-id\n",[31,1152,1153],{"class":33,"line":55},[31,1154,74],{"emptyLinePlaceholder":73},[31,1156,1157],{"class":33,"line":70},[31,1158,1159],{"class":134},"# もし既にデータソースをインストールしてしまっていたら、アンインストール\n",[31,1161,1162],{"class":33,"line":77},[31,1163,1164],{"class":134},"# npm uninstall @b4moss\u002Fjp-local-gov-id-data\n",[13,1166,1167,1168,1171],{},"その上で、クライアントを呼び出すときに、",[28,1169,1170],{},"url","オプションを指定してください。",[21,1173,1175],{"className":23,"code":1174,"language":25,"meta":26,"style":26},"const client = await createLocalGovClient({\n  url: \"https:\u002F\u002Fcdn.jsdelivr.net\u002Fnpm\u002F@b4moss\u002Fjp-local-gov-id-data@0.1.0\u002Findex.json\",\n});\n",[28,1176,1177,1191,1200],{"__ignoreMap":26},[31,1178,1179,1181,1183,1185,1187,1189],{"class":33,"line":34},[31,1180,80],{"class":37},[31,1182,84],{"class":83},[31,1184,87],{"class":37},[31,1186,90],{"class":37},[31,1188,94],{"class":93},[31,1190,633],{"class":41},[31,1192,1193,1195,1198],{"class":33,"line":55},[31,1194,789],{"class":41},[31,1196,1197],{"class":48},"\"https:\u002F\u002Fcdn.jsdelivr.net\u002Fnpm\u002F@b4moss\u002Fjp-local-gov-id-data@0.1.0\u002Findex.json\"",[31,1199,501],{"class":41},[31,1201,1202],{"class":33,"line":70},[31,1203,524],{"class":41},[13,1205,1206],{},"ここでは、jsDelivr の URL を指定していますが、セルフホストのデータソースを配信し、そこから読み取っても構いません。",[13,1208,1209],{},"その場合、URLにはversionを指定することをお勧めします。アプリにはキャッシュ機能があるため、データソースが更新された場合、URLが一意でないと、古いキャッシュが配信される可能性があります。",[21,1211,1213],{"className":23,"code":1212,"language":25,"meta":26,"style":26},"\u002F\u002F キャッシュ無効\nconst client = await createLocalGovClient({\n  url: \"https:\u002F\u002Fcdn.jsdelivr.net\u002Fnpm\u002F@b4moss\u002Fjp-local-gov-id-data@0.1.0\u002Findex.json\",\n  cache: false,\n});\n\n\u002F\u002F TTL を 1 時間に\nconst clientShortTtl = await createLocalGovClient({\n  url: \"https:\u002F\u002Fcdn.jsdelivr.net\u002Fnpm\u002F@b4moss\u002Fjp-local-gov-id-data@0.1.0\u002Findex.json\",\n  cacheTtlSeconds: 3600,\n});\n",[28,1214,1215,1220,1234,1242,1252,1256,1260,1265,1280,1288,1298],{"__ignoreMap":26},[31,1216,1217],{"class":33,"line":34},[31,1218,1219],{"class":134},"\u002F\u002F キャッシュ無効\n",[31,1221,1222,1224,1226,1228,1230,1232],{"class":33,"line":55},[31,1223,80],{"class":37},[31,1225,84],{"class":83},[31,1227,87],{"class":37},[31,1229,90],{"class":37},[31,1231,94],{"class":93},[31,1233,633],{"class":41},[31,1235,1236,1238,1240],{"class":33,"line":70},[31,1237,789],{"class":41},[31,1239,1197],{"class":48},[31,1241,501],{"class":41},[31,1243,1244,1247,1250],{"class":33,"line":77},[31,1245,1246],{"class":41},"  cache: ",[31,1248,1249],{"class":83},"false",[31,1251,501],{"class":41},[31,1253,1254],{"class":33,"line":100},[31,1255,524],{"class":41},[31,1257,1258],{"class":33,"line":105},[31,1259,74],{"emptyLinePlaceholder":73},[31,1261,1262],{"class":33,"line":117},[31,1263,1264],{"class":134},"\u002F\u002F TTL を 1 時間に\n",[31,1266,1267,1269,1272,1274,1276,1278],{"class":33,"line":138},[31,1268,80],{"class":37},[31,1270,1271],{"class":83}," clientShortTtl",[31,1273,87],{"class":37},[31,1275,90],{"class":37},[31,1277,94],{"class":93},[31,1279,633],{"class":41},[31,1281,1282,1284,1286],{"class":33,"line":156},[31,1283,789],{"class":41},[31,1285,1197],{"class":48},[31,1287,501],{"class":41},[31,1289,1290,1293,1296],{"class":33,"line":178},[31,1291,1292],{"class":41},"  cacheTtlSeconds: ",[31,1294,1295],{"class":83},"3600",[31,1297,501],{"class":41},[31,1299,1300],{"class":33,"line":204},[31,1301,524],{"class":41},[1303,1304,1305,1311,1325,1332,1335,1344,1351],"ul",{},[1306,1307,1308,1310],"li",{},[28,1309,1170],{}," 指定時、取得したファイルを localStorage にキャッシュします（既定 ON。キーは各ファイルの URL）",[1306,1312,1313,1316,1317,1320,1321,1324],{},[28,1314,1315],{},"cache: false"," で無効化、",[28,1318,1319],{},"cacheTtlSeconds"," で有効期限を秒単位で指定（既定 1 年 = ",[28,1322,1323],{},"31536000","）",[1306,1326,1327,1328,1331],{},"例外: ",[535,1329,1330],{},"全国対象","の文字列検索で取得した県別 JSON は localStorage に書かず、メモリのみ保持します（キャッシュの巨大化を避けるため）",[1306,1333,1334],{},"localStorage が無い環境（Node 等）ではキャッシュをスキップします",[1306,1336,1337,1338,1341,1342,1324],{},"文字列検索はひらがな／全角カナを半角カナへ正規化します（",[28,1339,1340],{},"matchField"," 既定: ",[28,1343,329],{},[1306,1345,1346,1347,1350],{},"スキーマ不一致・不正 JSON は ",[28,1348,1349],{},"LocalGovSchemaError","、ネットワーク \u002F HTTP エラーは通常の fetch エラーです",[1306,1352,1353,1354,406,1357,1360],{},"クエリで見つからない・同名衝突の場合は ",[28,1355,1356],{},"null",[28,1358,1359],{},"[]"," を返します（throw しません）",[13,1362,1363,1364,1369],{},"パッケージマネージャーなしで HTML から読み込む方法は ",[1365,1366,1368],"a",{"href":1367},"\u002Fja\u002Finstallation","インストール"," を参照してください。",[17,1371,1372],{"id":1372},"コード形式",[13,1374,1375],{},"以下のコードに対応しています",[1303,1377,1378,1401],{},[1306,1379,1380,1381],{},"都道府県コード\n",[1303,1382,1383,1386],{},[1306,1384,1385],{},"2桁の半角数字",[1306,1387,1388,1389],{},"1桁の場合、1桁でもゼロ埋め2桁でも同じ挙動\n",[1303,1390,1391],{},[1306,1392,1393,1396,1397,1400],{},[28,1394,1395],{},"01","と",[28,1398,1399],{},"1","は同じ挙動となる",[1306,1402,1403,1404],{},"地方公共団体コード\n",[1303,1405,1406,1409],{},[1306,1407,1408],{},"チェックデジット込みの6桁",[1306,1410,1411],{},"チェックデジット欠損時はエラーです",[17,1413,1414],{"id":1414},"データソースの構成",[332,1416,1417,1427],{},[335,1418,1419],{},[338,1420,1421,1424],{},[341,1422,1423],{},"ファイル",[341,1425,1426],{},"内容",[351,1428,1429,1447,1457],{},[338,1430,1431,1436],{},[356,1432,1433],{},[28,1434,1435],{},"index.json",[356,1437,1438,1439,1442,1443,1446],{},"パス・",[28,1440,1441],{},"schemaVersion","・",[28,1444,1445],{},"asOf"," などの索引",[338,1448,1449,1454],{},[356,1450,1451],{},[28,1452,1453],{},"prefectures.json",[356,1455,1456],{},"都道府県のみ",[338,1458,1459,1464],{},[356,1460,1461],{},[28,1462,1463],{},"prefectures\u002F{code}.json",[356,1465,1466,1467,1324],{},"当該県の市区町村（例: ",[28,1468,1469],{},"13.json",[13,1471,1472,1473,368,1477,1369],{},"より詳しい挙動は ",[1365,1474,1476],{"href":1475},"\u002Fja\u002Fapi","API",[1365,1478,1480],{"href":1479},"\u002Fja\u002Fplayground","Playground",[1482,1483,1484],"style",{},"html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":26,"searchDepth":55,"depth":55,"links":1486},[1487,1490,1495,1496],{"id":19,"depth":55,"text":19,"children":1488},[1489],{"id":318,"depth":70,"text":319},{"id":530,"depth":55,"text":530,"children":1491},[1492,1493,1494],{"id":559,"depth":70,"text":560},{"id":801,"depth":70,"text":802},{"id":1126,"depth":70,"text":1126},{"id":1372,"depth":55,"text":1372},{"id":1414,"depth":55,"text":1414},"クライアントの初期化と基本操作","md",{},"\u002Fusage",{"title":5,"description":1497},"usage","dOhITnndgXnAeCndt-ea8d-nFvHISygXYz-ptMLmqqw",1786532353793]