yubin 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +125 -0
- package/dist/cjs/__generated__/chunks.d.ts +2 -0
- package/dist/cjs/__generated__/chunks.d.ts.map +1 -0
- package/dist/cjs/__generated__/chunks.js +6 -0
- package/dist/cjs/__generated__/chunks.js.map +1 -0
- package/dist/cjs/get-address.d.ts +9 -0
- package/dist/cjs/get-address.d.ts.map +1 -0
- package/dist/cjs/get-address.js +41 -0
- package/dist/cjs/get-address.js.map +1 -0
- package/dist/cjs/index.d.ts +4 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +8 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/normalize.d.ts +11 -0
- package/dist/cjs/normalize.d.ts.map +1 -0
- package/dist/cjs/normalize.js +23 -0
- package/dist/cjs/normalize.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/parse-chunk.d.ts +6 -0
- package/dist/cjs/parse-chunk.d.ts.map +1 -0
- package/dist/cjs/parse-chunk.js +71 -0
- package/dist/cjs/parse-chunk.js.map +1 -0
- package/dist/cjs/types.d.ts +34 -0
- package/dist/cjs/types.d.ts.map +1 -0
- package/dist/cjs/types.js +3 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/esm/__generated__/chunks.d.ts +2 -0
- package/dist/esm/__generated__/chunks.d.ts.map +1 -0
- package/dist/esm/__generated__/chunks.js +1 -0
- package/dist/esm/get-address.d.ts +9 -0
- package/dist/esm/get-address.d.ts.map +1 -0
- package/dist/esm/get-address.js +38 -0
- package/dist/esm/get-address.js.map +1 -0
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/normalize.d.ts +11 -0
- package/dist/esm/normalize.d.ts.map +1 -0
- package/dist/esm/normalize.js +20 -0
- package/dist/esm/normalize.js.map +1 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/parse-chunk.d.ts +6 -0
- package/dist/esm/parse-chunk.d.ts.map +1 -0
- package/dist/esm/parse-chunk.js +67 -0
- package/dist/esm/parse-chunk.js.map +1 -0
- package/dist/esm/types.d.ts +34 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/package.json +51 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 tk1024
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# yubin
|
|
2
|
+
|
|
3
|
+
Japanese postal code to address lookup. Offline, sync API. Node.js / browser.
|
|
4
|
+
|
|
5
|
+
- 標準郵便番号(ken_all)と事業所個別郵便番号(JIGYOSYO)の両方に対応
|
|
6
|
+
- 同期 API — `await` 不要
|
|
7
|
+
- Node.js / ブラウザ両対応
|
|
8
|
+
- データは npm パッケージに同梱(オフライン動作)
|
|
9
|
+
|
|
10
|
+
## Install
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npm install yubin
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Usage
|
|
17
|
+
|
|
18
|
+
```ts
|
|
19
|
+
import { getAddress } from "yubin";
|
|
20
|
+
|
|
21
|
+
// 標準郵便番号
|
|
22
|
+
const address = getAddress("150-0001");
|
|
23
|
+
// => {
|
|
24
|
+
// source: "ken_all",
|
|
25
|
+
// postalCode: "1500001",
|
|
26
|
+
// prefecture: "東京都",
|
|
27
|
+
// city: "渋谷区",
|
|
28
|
+
// town: "神宮前",
|
|
29
|
+
// ...
|
|
30
|
+
// }
|
|
31
|
+
|
|
32
|
+
// 事業所郵便番号
|
|
33
|
+
const biz = getAddress("060-8621");
|
|
34
|
+
// => {
|
|
35
|
+
// source: "jigyosyo",
|
|
36
|
+
// postalCode: "0608621",
|
|
37
|
+
// prefecture: "北海道",
|
|
38
|
+
// city: "札幌市中央区",
|
|
39
|
+
// town: "北一条西",
|
|
40
|
+
// companyName: "日本経済新聞社 北海道支社",
|
|
41
|
+
// ...
|
|
42
|
+
// }
|
|
43
|
+
|
|
44
|
+
// 見つからない場合
|
|
45
|
+
const notFound = getAddress("0000000");
|
|
46
|
+
// => null
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
ハイフンあり/なし、全角数字、`〒` 付きなど、さまざまな入力形式に対応しています。
|
|
50
|
+
|
|
51
|
+
```ts
|
|
52
|
+
getAddress("1500001"); // OK
|
|
53
|
+
getAddress("150-0001"); // OK
|
|
54
|
+
getAddress("150ー0001"); // OK
|
|
55
|
+
getAddress("〒150-0001"); // OK
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## API
|
|
59
|
+
|
|
60
|
+
### `getAddress(postalCode: string): Address | null`
|
|
61
|
+
|
|
62
|
+
郵便番号から住所情報を取得します。
|
|
63
|
+
|
|
64
|
+
- 見つかった場合: `KenAllAddress | JigyosyoAddress`
|
|
65
|
+
- 見つからない場合: `null`
|
|
66
|
+
- 同一郵便番号が両データに存在する場合は事業所データを優先
|
|
67
|
+
|
|
68
|
+
### `normalizePostalCode(input: string): string | null`
|
|
69
|
+
|
|
70
|
+
郵便番号を正規化します(ハイフン除去・全角→半角変換・`〒` 除去)。
|
|
71
|
+
正規化後に7桁の数字でない場合は `null` を返します。
|
|
72
|
+
|
|
73
|
+
## Types
|
|
74
|
+
|
|
75
|
+
```ts
|
|
76
|
+
type KenAllAddress = {
|
|
77
|
+
source: "ken_all";
|
|
78
|
+
postalCode: string; // 郵便番号(7桁)
|
|
79
|
+
oldPostalCode: string; // 旧郵便番号(5桁)
|
|
80
|
+
jisCode: string; // 全国地方公共団体コード
|
|
81
|
+
prefecture: string; // 都道府県名
|
|
82
|
+
prefectureKana: string; // 都道府県名カナ
|
|
83
|
+
city: string; // 市区町村名
|
|
84
|
+
cityKana: string; // 市区町村名カナ
|
|
85
|
+
town: string; // 町域名
|
|
86
|
+
townKana: string; // 町域名カナ
|
|
87
|
+
multiPostalCode: boolean; // 一町域が二以上の郵便番号で表される
|
|
88
|
+
koazabanchi: boolean; // 小字毎に番地が起番されている町域
|
|
89
|
+
chome: boolean; // 丁目を有する町域
|
|
90
|
+
multiTown: boolean; // 一つの郵便番号で二以上の町域を表す
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
type JigyosyoAddress = {
|
|
94
|
+
source: "jigyosyo";
|
|
95
|
+
postalCode: string; // 郵便番号(7桁)
|
|
96
|
+
oldPostalCode: string; // 旧郵便番号(5桁)
|
|
97
|
+
jisCode: string; // 全国地方公共団体コード
|
|
98
|
+
prefecture: string; // 都道府県名
|
|
99
|
+
city: string; // 市区町村名
|
|
100
|
+
town: string; // 町域名
|
|
101
|
+
streetAddress: string; // 小字名・丁目・番地
|
|
102
|
+
companyName: string; // 事業所名
|
|
103
|
+
companyNameKana: string; // 事業所名カナ
|
|
104
|
+
postOffice: string; // 取扱局
|
|
105
|
+
codeType: 0 | 1; // 0=大口事業所, 1=私書箱
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
type Address = KenAllAddress | JigyosyoAddress;
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## Data Source
|
|
112
|
+
|
|
113
|
+
[日本郵便](https://www.post.japanpost.jp/zipcode/)が無償公開している以下のデータを使用しています。
|
|
114
|
+
|
|
115
|
+
| ファイル | 内容 |
|
|
116
|
+
|---|---|
|
|
117
|
+
| utf_ken_all.csv | 標準郵便番号(約12万件) |
|
|
118
|
+
| JIGYOSYO.CSV | 事業所個別郵便番号(約2万件) |
|
|
119
|
+
|
|
120
|
+
データはビルド時に deflate 圧縮してパッケージに同梱されます。
|
|
121
|
+
データの更新はパッケージのバージョンアップで反映されます。
|
|
122
|
+
|
|
123
|
+
## License
|
|
124
|
+
|
|
125
|
+
MIT
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks.d.ts","sourceRoot":"","sources":["../../../src/__generated__/chunks.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAo0kxI,CAAC"}
|