@mailwoman/codex 9.3.0 → 9.4.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/lib/jp/index.ts CHANGED
@@ -9,5 +9,6 @@
9
9
  */
10
10
 
11
11
  export * from "#jp/address-unit"
12
+ export * from "#jp/municipality-register"
12
13
  export * from "#jp/postal-code"
13
14
  export * from "#jp/prefecture"
@@ -0,0 +1,62 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * The towns whose own name carries the city marker 市 (shi) before the town suffix 町 / 村 (chō / son).
7
+ *
8
+ * A Japanese municipality span closes at 市 in the ordinary case (`富山市`, `神戸市西区`), and a character model
9
+ * learns that boundary from 1,700 cities. A town whose NAME contains 市 defeats it: `中新川郡上市町` reads as the
10
+ * city `上市` plus a district beginning with 町. Over the 1,892 municipalities in Japan Post's KEN_ALL list the
11
+ * shape has six members, so the boundary is stated here rather than learned — a positive attestation from the
12
+ * postal register, consumed after decode by `@mailwoman/neural`'s JP municipality repair. Two of the six (`上市町`,
13
+ * `下市町`) put 市 immediately before the suffix, the boundary the model closes at; the other four are listed for the same
14
+ * repair so an early close inside them is also repaired.
15
+ */
16
+
17
+ import { completeFromRegister } from "#register-completion"
18
+
19
+ /**
20
+ * One town from Japan Post's KEN_ALL municipality list whose own name contains 市.
21
+ */
22
+ export interface JapaneseInnerShiTown {
23
+ /**
24
+ * The prefecture, as written (`富山県`).
25
+ */
26
+ prefecture: string
27
+ /**
28
+ * The county (郡) the town belongs to, as the postal form writes it before the town.
29
+ */
30
+ county: string
31
+ /**
32
+ * The town's own name with its suffix (`上市町`).
33
+ */
34
+ town: string
35
+ }
36
+
37
+ /**
38
+ * The six towns, from KEN_ALL (1,892 municipalities). Ordered by prefecture code.
39
+ */
40
+ export const JP_INNER_SHI_TOWNS: readonly JapaneseInnerShiTown[] = [
41
+ { prefecture: "北海道", county: "余市郡", town: "余市町" },
42
+ { prefecture: "栃木県", county: "芳賀郡", town: "市貝町" },
43
+ { prefecture: "富山県", county: "中新川郡", town: "上市町" },
44
+ { prefecture: "山梨県", county: "西八代郡", town: "市川三郷町" },
45
+ { prefecture: "奈良県", county: "吉野郡", town: "下市町" },
46
+ { prefecture: "兵庫県", county: "神崎郡", town: "市川町" },
47
+ ]
48
+
49
+ /**
50
+ * Every surface a municipality span may legitimately close on for these towns: the postal form with the county
51
+ * (`中新川郡上市町`) and the bare town (`上市町`).
52
+ */
53
+ export const JP_INNER_SHI_TOWN_NAMES: readonly string[] = JP_INNER_SHI_TOWNS.flatMap((t) => [t.county + t.town, t.town])
54
+
55
+ /**
56
+ * The characters a municipality surface must absorb from what follows it to become one of the register's names, or null
57
+ * when no name extends it. `following` is the text after the surface; the answer is a prefix of it. A surface that
58
+ * already IS a register name answers null: nothing to absorb.
59
+ */
60
+ export function jpMunicipalityCompletion(surface: string, following: string): string | null {
61
+ return completeFromRegister(JP_INNER_SHI_TOWN_NAMES, surface, following)
62
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * The Korean address system as the road-name address register (도로명주소) writes it: the 시군구 register the
7
+ * decode-time boundary repair reads.
8
+ */
9
+
10
+ export * from "#kr/sigungu-register"
@@ -0,0 +1,294 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * The Korean 시군구 (si / gun / gu: the second administrative tier) as the road-name address register writes them,
7
+ * each under its 시/도 (the first tier). 249 pairs over 226 distinct names; a compound city is
8
+ * one name (`성남시분당구`), the way the register keys it. 세종특별자치시 has no second tier and is absent.
9
+ *
10
+ * Why a register: a character model closes a `subregion` span where the training set taught it names end, and a
11
+ * name it never saw (`해운대구`, held out of the training corpus by the board's design and unseen by the shipped
12
+ * model for the same reason) closes early, at `해` or `해운대`. The register states every boundary outright, so the
13
+ * decode-time repair in `@mailwoman/neural` extends a run to the one name the following characters spell.
14
+ *
15
+ * Source: 행정안전부 (Ministry of the Interior and Safety), 도로명주소 (juso.go.kr), 공공누리 제1유형 (KOGL Type 1):
16
+ * attribution required; commercial use, derivatives and redistribution permitted.
17
+ */
18
+
19
+ import { completeFromRegister } from "#register-completion"
20
+
21
+ /**
22
+ * One second-tier unit under its first-tier region, both as the register writes them.
23
+ */
24
+ export interface KoreanSigungu {
25
+ region: string
26
+ city: string
27
+ }
28
+
29
+ /**
30
+ * The register: every (시/도, 시군구) pair the road-name address register carries, in register order.
31
+ */
32
+ export const KR_SIGUNGU: readonly KoreanSigungu[] = [
33
+ { region: "강원도", city: "강릉시" },
34
+ { region: "강원도", city: "고성군" },
35
+ { region: "강원도", city: "동해시" },
36
+ { region: "강원도", city: "삼척시" },
37
+ { region: "강원도", city: "속초시" },
38
+ { region: "강원도", city: "양구군" },
39
+ { region: "강원도", city: "양양군" },
40
+ { region: "강원도", city: "영월군" },
41
+ { region: "강원도", city: "원주시" },
42
+ { region: "강원도", city: "인제군" },
43
+ { region: "강원도", city: "정선군" },
44
+ { region: "강원도", city: "철원군" },
45
+ { region: "강원도", city: "춘천시" },
46
+ { region: "강원도", city: "태백시" },
47
+ { region: "강원도", city: "평창군" },
48
+ { region: "강원도", city: "홍천군" },
49
+ { region: "강원도", city: "화천군" },
50
+ { region: "강원도", city: "횡성군" },
51
+ { region: "경기도", city: "가평군" },
52
+ { region: "경기도", city: "고양시덕양구" },
53
+ { region: "경기도", city: "고양시일산동구" },
54
+ { region: "경기도", city: "고양시일산서구" },
55
+ { region: "경기도", city: "과천시" },
56
+ { region: "경기도", city: "광명시" },
57
+ { region: "경기도", city: "광주시" },
58
+ { region: "경기도", city: "구리시" },
59
+ { region: "경기도", city: "군포시" },
60
+ { region: "경기도", city: "김포시" },
61
+ { region: "경기도", city: "남양주시" },
62
+ { region: "경기도", city: "동두천시" },
63
+ { region: "경기도", city: "부천시" },
64
+ { region: "경기도", city: "성남시분당구" },
65
+ { region: "경기도", city: "성남시수정구" },
66
+ { region: "경기도", city: "성남시중원구" },
67
+ { region: "경기도", city: "수원시권선구" },
68
+ { region: "경기도", city: "수원시영통구" },
69
+ { region: "경기도", city: "수원시장안구" },
70
+ { region: "경기도", city: "수원시팔달구" },
71
+ { region: "경기도", city: "시흥시" },
72
+ { region: "경기도", city: "안산시단원구" },
73
+ { region: "경기도", city: "안산시상록구" },
74
+ { region: "경기도", city: "안성시" },
75
+ { region: "경기도", city: "안양시동안구" },
76
+ { region: "경기도", city: "안양시만안구" },
77
+ { region: "경기도", city: "양주시" },
78
+ { region: "경기도", city: "양평군" },
79
+ { region: "경기도", city: "여주시" },
80
+ { region: "경기도", city: "연천군" },
81
+ { region: "경기도", city: "오산시" },
82
+ { region: "경기도", city: "용인시기흥구" },
83
+ { region: "경기도", city: "용인시수지구" },
84
+ { region: "경기도", city: "용인시처인구" },
85
+ { region: "경기도", city: "의왕시" },
86
+ { region: "경기도", city: "의정부시" },
87
+ { region: "경기도", city: "이천시" },
88
+ { region: "경기도", city: "파주시" },
89
+ { region: "경기도", city: "평택시" },
90
+ { region: "경기도", city: "포천시" },
91
+ { region: "경기도", city: "하남시" },
92
+ { region: "경기도", city: "화성시" },
93
+ { region: "경상남도", city: "거제시" },
94
+ { region: "경상남도", city: "거창군" },
95
+ { region: "경상남도", city: "고성군" },
96
+ { region: "경상남도", city: "김해시" },
97
+ { region: "경상남도", city: "남해군" },
98
+ { region: "경상남도", city: "밀양시" },
99
+ { region: "경상남도", city: "사천시" },
100
+ { region: "경상남도", city: "산청군" },
101
+ { region: "경상남도", city: "양산시" },
102
+ { region: "경상남도", city: "의령군" },
103
+ { region: "경상남도", city: "진주시" },
104
+ { region: "경상남도", city: "창녕군" },
105
+ { region: "경상남도", city: "창원시마산합포구" },
106
+ { region: "경상남도", city: "창원시마산회원구" },
107
+ { region: "경상남도", city: "창원시성산구" },
108
+ { region: "경상남도", city: "창원시의창구" },
109
+ { region: "경상남도", city: "창원시진해구" },
110
+ { region: "경상남도", city: "통영시" },
111
+ { region: "경상남도", city: "하동군" },
112
+ { region: "경상남도", city: "함안군" },
113
+ { region: "경상남도", city: "함양군" },
114
+ { region: "경상남도", city: "합천군" },
115
+ { region: "경상북도", city: "경산시" },
116
+ { region: "경상북도", city: "경주시" },
117
+ { region: "경상북도", city: "고령군" },
118
+ { region: "경상북도", city: "구미시" },
119
+ { region: "경상북도", city: "군위군" },
120
+ { region: "경상북도", city: "김천시" },
121
+ { region: "경상북도", city: "문경시" },
122
+ { region: "경상북도", city: "봉화군" },
123
+ { region: "경상북도", city: "상주시" },
124
+ { region: "경상북도", city: "성주군" },
125
+ { region: "경상북도", city: "안동시" },
126
+ { region: "경상북도", city: "영덕군" },
127
+ { region: "경상북도", city: "영양군" },
128
+ { region: "경상북도", city: "영주시" },
129
+ { region: "경상북도", city: "영천시" },
130
+ { region: "경상북도", city: "예천군" },
131
+ { region: "경상북도", city: "울릉군" },
132
+ { region: "경상북도", city: "울진군" },
133
+ { region: "경상북도", city: "의성군" },
134
+ { region: "경상북도", city: "청도군" },
135
+ { region: "경상북도", city: "청송군" },
136
+ { region: "경상북도", city: "칠곡군" },
137
+ { region: "경상북도", city: "포항시남구" },
138
+ { region: "경상북도", city: "포항시북구" },
139
+ { region: "광주광역시", city: "광산구" },
140
+ { region: "광주광역시", city: "남구" },
141
+ { region: "광주광역시", city: "동구" },
142
+ { region: "광주광역시", city: "북구" },
143
+ { region: "광주광역시", city: "서구" },
144
+ { region: "대구광역시", city: "남구" },
145
+ { region: "대구광역시", city: "달서구" },
146
+ { region: "대구광역시", city: "달성군" },
147
+ { region: "대구광역시", city: "동구" },
148
+ { region: "대구광역시", city: "북구" },
149
+ { region: "대구광역시", city: "서구" },
150
+ { region: "대구광역시", city: "수성구" },
151
+ { region: "대구광역시", city: "중구" },
152
+ { region: "대전광역시", city: "대덕구" },
153
+ { region: "대전광역시", city: "동구" },
154
+ { region: "대전광역시", city: "서구" },
155
+ { region: "대전광역시", city: "유성구" },
156
+ { region: "대전광역시", city: "중구" },
157
+ { region: "부산광역시", city: "강서구" },
158
+ { region: "부산광역시", city: "금정구" },
159
+ { region: "부산광역시", city: "기장군" },
160
+ { region: "부산광역시", city: "남구" },
161
+ { region: "부산광역시", city: "동구" },
162
+ { region: "부산광역시", city: "동래구" },
163
+ { region: "부산광역시", city: "부산진구" },
164
+ { region: "부산광역시", city: "북구" },
165
+ { region: "부산광역시", city: "사상구" },
166
+ { region: "부산광역시", city: "사하구" },
167
+ { region: "부산광역시", city: "서구" },
168
+ { region: "부산광역시", city: "수영구" },
169
+ { region: "부산광역시", city: "연제구" },
170
+ { region: "부산광역시", city: "영도구" },
171
+ { region: "부산광역시", city: "중구" },
172
+ { region: "부산광역시", city: "해운대구" },
173
+ { region: "서울특별시", city: "강남구" },
174
+ { region: "서울특별시", city: "강동구" },
175
+ { region: "서울특별시", city: "강북구" },
176
+ { region: "서울특별시", city: "강서구" },
177
+ { region: "서울특별시", city: "관악구" },
178
+ { region: "서울특별시", city: "광진구" },
179
+ { region: "서울특별시", city: "구로구" },
180
+ { region: "서울특별시", city: "금천구" },
181
+ { region: "서울특별시", city: "노원구" },
182
+ { region: "서울특별시", city: "도봉구" },
183
+ { region: "서울특별시", city: "동대문구" },
184
+ { region: "서울특별시", city: "동작구" },
185
+ { region: "서울특별시", city: "마포구" },
186
+ { region: "서울특별시", city: "서대문구" },
187
+ { region: "서울특별시", city: "서초구" },
188
+ { region: "서울특별시", city: "성동구" },
189
+ { region: "서울특별시", city: "성북구" },
190
+ { region: "서울특별시", city: "송파구" },
191
+ { region: "서울특별시", city: "양천구" },
192
+ { region: "서울특별시", city: "영등포구" },
193
+ { region: "서울특별시", city: "용산구" },
194
+ { region: "서울특별시", city: "은평구" },
195
+ { region: "서울특별시", city: "종로구" },
196
+ { region: "서울특별시", city: "중구" },
197
+ { region: "서울특별시", city: "중랑구" },
198
+ { region: "울산광역시", city: "남구" },
199
+ { region: "울산광역시", city: "동구" },
200
+ { region: "울산광역시", city: "북구" },
201
+ { region: "울산광역시", city: "울주군" },
202
+ { region: "울산광역시", city: "중구" },
203
+ { region: "인천광역시", city: "강화군" },
204
+ { region: "인천광역시", city: "계양구" },
205
+ { region: "인천광역시", city: "남구" },
206
+ { region: "인천광역시", city: "남동구" },
207
+ { region: "인천광역시", city: "동구" },
208
+ { region: "인천광역시", city: "부평구" },
209
+ { region: "인천광역시", city: "서구" },
210
+ { region: "인천광역시", city: "연수구" },
211
+ { region: "인천광역시", city: "옹진군" },
212
+ { region: "인천광역시", city: "중구" },
213
+ { region: "전라남도", city: "강진군" },
214
+ { region: "전라남도", city: "고흥군" },
215
+ { region: "전라남도", city: "곡성군" },
216
+ { region: "전라남도", city: "광양시" },
217
+ { region: "전라남도", city: "구례군" },
218
+ { region: "전라남도", city: "나주시" },
219
+ { region: "전라남도", city: "담양군" },
220
+ { region: "전라남도", city: "목포시" },
221
+ { region: "전라남도", city: "무안군" },
222
+ { region: "전라남도", city: "보성군" },
223
+ { region: "전라남도", city: "순천시" },
224
+ { region: "전라남도", city: "신안군" },
225
+ { region: "전라남도", city: "여수시" },
226
+ { region: "전라남도", city: "영광군" },
227
+ { region: "전라남도", city: "영암군" },
228
+ { region: "전라남도", city: "완도군" },
229
+ { region: "전라남도", city: "장성군" },
230
+ { region: "전라남도", city: "장흥군" },
231
+ { region: "전라남도", city: "진도군" },
232
+ { region: "전라남도", city: "함평군" },
233
+ { region: "전라남도", city: "해남군" },
234
+ { region: "전라남도", city: "화순군" },
235
+ { region: "전라북도", city: "고창군" },
236
+ { region: "전라북도", city: "군산시" },
237
+ { region: "전라북도", city: "김제시" },
238
+ { region: "전라북도", city: "남원시" },
239
+ { region: "전라북도", city: "무주군" },
240
+ { region: "전라북도", city: "부안군" },
241
+ { region: "전라북도", city: "순창군" },
242
+ { region: "전라북도", city: "완주군" },
243
+ { region: "전라북도", city: "익산시" },
244
+ { region: "전라북도", city: "임실군" },
245
+ { region: "전라북도", city: "장수군" },
246
+ { region: "전라북도", city: "전주시덕진구" },
247
+ { region: "전라북도", city: "전주시완산구" },
248
+ { region: "전라북도", city: "정읍시" },
249
+ { region: "전라북도", city: "진안군" },
250
+ { region: "제주특별자치도", city: "서귀포시" },
251
+ { region: "제주특별자치도", city: "제주시" },
252
+ { region: "충청남도", city: "계룡시" },
253
+ { region: "충청남도", city: "공주시" },
254
+ { region: "충청남도", city: "금산군" },
255
+ { region: "충청남도", city: "논산시" },
256
+ { region: "충청남도", city: "당진시" },
257
+ { region: "충청남도", city: "보령시" },
258
+ { region: "충청남도", city: "부여군" },
259
+ { region: "충청남도", city: "서산시" },
260
+ { region: "충청남도", city: "서천군" },
261
+ { region: "충청남도", city: "아산시" },
262
+ { region: "충청남도", city: "예산군" },
263
+ { region: "충청남도", city: "천안시동남구" },
264
+ { region: "충청남도", city: "천안시서북구" },
265
+ { region: "충청남도", city: "청양군" },
266
+ { region: "충청남도", city: "태안군" },
267
+ { region: "충청남도", city: "홍성군" },
268
+ { region: "충청북도", city: "괴산군" },
269
+ { region: "충청북도", city: "단양군" },
270
+ { region: "충청북도", city: "보은군" },
271
+ { region: "충청북도", city: "영동군" },
272
+ { region: "충청북도", city: "옥천군" },
273
+ { region: "충청북도", city: "음성군" },
274
+ { region: "충청북도", city: "제천시" },
275
+ { region: "충청북도", city: "증평군" },
276
+ { region: "충청북도", city: "진천군" },
277
+ { region: "충청북도", city: "청주시상당구" },
278
+ { region: "충청북도", city: "청주시서원구" },
279
+ { region: "충청북도", city: "청주시청원구" },
280
+ { region: "충청북도", city: "청주시흥덕구" },
281
+ { region: "충청북도", city: "충주시" },
282
+ ]
283
+
284
+ /**
285
+ * Every 시군구 name a `subregion` span may close on.
286
+ */
287
+ export const KR_SIGUNGU_NAMES: readonly string[] = [...new Set(KR_SIGUNGU.map((s) => s.city))]
288
+
289
+ /**
290
+ * The characters a `subregion` surface must absorb from what follows it to become a register name, or null.
291
+ */
292
+ export function krSubregionCompletion(surface: string, following: string): string | null {
293
+ return completeFromRegister(KR_SIGUNGU_NAMES, surface, following)
294
+ }
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * The one read every name register offers a decode-time repair: given the surface a model closed a span on and the
7
+ * text that follows, the characters that would extend the surface to a register name. A surface that already IS a
8
+ * name and is not the prefix of a longer one answers null.
9
+ */
10
+
11
+ /**
12
+ * The remainder of the first register name that begins with `surface` and continues into `following`, or null.
13
+ */
14
+ export function completeFromRegister(names: readonly string[], surface: string, following: string): string | null {
15
+ for (const name of names) {
16
+ if (name.length > surface.length && name.startsWith(surface)) {
17
+ const remainder = name.slice(surface.length)
18
+
19
+ if (following.startsWith(remainder)) return remainder
20
+ }
21
+ }
22
+
23
+ return null
24
+ }
package/out/jp/index.d.ts CHANGED
@@ -8,6 +8,7 @@
8
8
  * in for the street names Japan does not use.
9
9
  */
10
10
  export * from "#jp/address-unit";
11
+ export * from "#jp/municipality-register";
11
12
  export * from "#jp/postal-code";
12
13
  export * from "#jp/prefecture";
13
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/jp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/jp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,cAAc,kBAAkB,CAAA;AAChC,cAAc,2BAA2B,CAAA;AACzC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA"}
package/out/jp/index.js CHANGED
@@ -8,6 +8,7 @@
8
8
  * in for the street names Japan does not use.
9
9
  */
10
10
  export * from "#jp/address-unit";
11
+ export * from "#jp/municipality-register";
11
12
  export * from "#jp/postal-code";
12
13
  export * from "#jp/prefecture";
13
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/jp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/jp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,cAAc,kBAAkB,CAAA;AAChC,cAAc,2BAA2B,CAAA;AACzC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * The towns whose own name carries the city marker 市 (shi) before the town suffix 町 / 村 (chō / son).
7
+ *
8
+ * A Japanese municipality span closes at 市 in the ordinary case (`富山市`, `神戸市西区`), and a character model
9
+ * learns that boundary from 1,700 cities. A town whose NAME contains 市 defeats it: `中新川郡上市町` reads as the
10
+ * city `上市` plus a district beginning with 町. Over the 1,892 municipalities in Japan Post's KEN_ALL list the
11
+ * shape has six members, so the boundary is stated here rather than learned — a positive attestation from the
12
+ * postal register, consumed after decode by `@mailwoman/neural`'s JP municipality repair. Two of the six (`上市町`,
13
+ * `下市町`) put 市 immediately before the suffix, the boundary the model closes at; the other four are listed for the same
14
+ * repair so an early close inside them is also repaired.
15
+ */
16
+ /**
17
+ * One town from Japan Post's KEN_ALL municipality list whose own name contains 市.
18
+ */
19
+ export interface JapaneseInnerShiTown {
20
+ /**
21
+ * The prefecture, as written (`富山県`).
22
+ */
23
+ prefecture: string;
24
+ /**
25
+ * The county (郡) the town belongs to, as the postal form writes it before the town.
26
+ */
27
+ county: string;
28
+ /**
29
+ * The town's own name with its suffix (`上市町`).
30
+ */
31
+ town: string;
32
+ }
33
+ /**
34
+ * The six towns, from KEN_ALL (1,892 municipalities). Ordered by prefecture code.
35
+ */
36
+ export declare const JP_INNER_SHI_TOWNS: readonly JapaneseInnerShiTown[];
37
+ /**
38
+ * Every surface a municipality span may legitimately close on for these towns: the postal form with the county
39
+ * (`中新川郡上市町`) and the bare town (`上市町`).
40
+ */
41
+ export declare const JP_INNER_SHI_TOWN_NAMES: readonly string[];
42
+ /**
43
+ * The characters a municipality surface must absorb from what follows it to become one of the register's names, or null
44
+ * when no name extends it. `following` is the text after the surface; the answer is a prefix of it. A surface that
45
+ * already IS a register name answers null: nothing to absorb.
46
+ */
47
+ export declare function jpMunicipalityCompletion(surface: string, following: string): string | null;
48
+ //# sourceMappingURL=municipality-register.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"municipality-register.d.ts","sourceRoot":"","sources":["../../lib/jp/municipality-register.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;CACZ;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,oBAAoB,EAO7D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAAmE,CAAA;AAExH;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE1F"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * The towns whose own name carries the city marker 市 (shi) before the town suffix 町 / 村 (chō / son).
7
+ *
8
+ * A Japanese municipality span closes at 市 in the ordinary case (`富山市`, `神戸市西区`), and a character model
9
+ * learns that boundary from 1,700 cities. A town whose NAME contains 市 defeats it: `中新川郡上市町` reads as the
10
+ * city `上市` plus a district beginning with 町. Over the 1,892 municipalities in Japan Post's KEN_ALL list the
11
+ * shape has six members, so the boundary is stated here rather than learned — a positive attestation from the
12
+ * postal register, consumed after decode by `@mailwoman/neural`'s JP municipality repair. Two of the six (`上市町`,
13
+ * `下市町`) put 市 immediately before the suffix, the boundary the model closes at; the other four are listed for the same
14
+ * repair so an early close inside them is also repaired.
15
+ */
16
+ import { completeFromRegister } from "#register-completion";
17
+ /**
18
+ * The six towns, from KEN_ALL (1,892 municipalities). Ordered by prefecture code.
19
+ */
20
+ export const JP_INNER_SHI_TOWNS = [
21
+ { prefecture: "北海道", county: "余市郡", town: "余市町" },
22
+ { prefecture: "栃木県", county: "芳賀郡", town: "市貝町" },
23
+ { prefecture: "富山県", county: "中新川郡", town: "上市町" },
24
+ { prefecture: "山梨県", county: "西八代郡", town: "市川三郷町" },
25
+ { prefecture: "奈良県", county: "吉野郡", town: "下市町" },
26
+ { prefecture: "兵庫県", county: "神崎郡", town: "市川町" },
27
+ ];
28
+ /**
29
+ * Every surface a municipality span may legitimately close on for these towns: the postal form with the county
30
+ * (`中新川郡上市町`) and the bare town (`上市町`).
31
+ */
32
+ export const JP_INNER_SHI_TOWN_NAMES = JP_INNER_SHI_TOWNS.flatMap((t) => [t.county + t.town, t.town]);
33
+ /**
34
+ * The characters a municipality surface must absorb from what follows it to become one of the register's names, or null
35
+ * when no name extends it. `following` is the text after the surface; the answer is a prefix of it. A surface that
36
+ * already IS a register name answers null: nothing to absorb.
37
+ */
38
+ export function jpMunicipalityCompletion(surface, following) {
39
+ return completeFromRegister(JP_INNER_SHI_TOWN_NAMES, surface, following);
40
+ }
41
+ //# sourceMappingURL=municipality-register.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"municipality-register.js","sourceRoot":"","sources":["../../lib/jp/municipality-register.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAoB3D;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAoC;IAClE,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;IACjD,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;IACjD,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAClD,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;IACpD,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;IACjD,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;CACjD,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAsB,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;AAExH;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAe,EAAE,SAAiB;IAC1E,OAAO,oBAAoB,CAAC,uBAAuB,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;AACzE,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * The Korean address system as the road-name address register (도로명주소) writes it: the 시군구 register the
7
+ * decode-time boundary repair reads.
8
+ */
9
+ export * from "#kr/sigungu-register";
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/kr/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,sBAAsB,CAAA"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * The Korean address system as the road-name address register (도로명주소) writes it: the 시군구 register the
7
+ * decode-time boundary repair reads.
8
+ */
9
+ export * from "#kr/sigungu-register";
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/kr/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,sBAAsB,CAAA"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * The Korean 시군구 (si / gun / gu: the second administrative tier) as the road-name address register writes them,
7
+ * each under its 시/도 (the first tier). 249 pairs over 226 distinct names; a compound city is
8
+ * one name (`성남시분당구`), the way the register keys it. 세종특별자치시 has no second tier and is absent.
9
+ *
10
+ * Why a register: a character model closes a `subregion` span where the training set taught it names end, and a
11
+ * name it never saw (`해운대구`, held out of the training corpus by the board's design and unseen by the shipped
12
+ * model for the same reason) closes early, at `해` or `해운대`. The register states every boundary outright, so the
13
+ * decode-time repair in `@mailwoman/neural` extends a run to the one name the following characters spell.
14
+ *
15
+ * Source: 행정안전부 (Ministry of the Interior and Safety), 도로명주소 (juso.go.kr), 공공누리 제1유형 (KOGL Type 1):
16
+ * attribution required; commercial use, derivatives and redistribution permitted.
17
+ */
18
+ /**
19
+ * One second-tier unit under its first-tier region, both as the register writes them.
20
+ */
21
+ export interface KoreanSigungu {
22
+ region: string;
23
+ city: string;
24
+ }
25
+ /**
26
+ * The register: every (시/도, 시군구) pair the road-name address register carries, in register order.
27
+ */
28
+ export declare const KR_SIGUNGU: readonly KoreanSigungu[];
29
+ /**
30
+ * Every 시군구 name a `subregion` span may close on.
31
+ */
32
+ export declare const KR_SIGUNGU_NAMES: readonly string[];
33
+ /**
34
+ * The characters a `subregion` surface must absorb from what follows it to become a register name, or null.
35
+ */
36
+ export declare function krSubregionCompletion(surface: string, following: string): string | null;
37
+ //# sourceMappingURL=sigungu-register.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sigungu-register.d.ts","sourceRoot":"","sources":["../../lib/kr/sigungu-register.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;CACZ;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,SAAS,aAAa,EA0P9C,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAAgD,CAAA;AAE9F;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEvF"}
@@ -0,0 +1,283 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * The Korean 시군구 (si / gun / gu: the second administrative tier) as the road-name address register writes them,
7
+ * each under its 시/도 (the first tier). 249 pairs over 226 distinct names; a compound city is
8
+ * one name (`성남시분당구`), the way the register keys it. 세종특별자치시 has no second tier and is absent.
9
+ *
10
+ * Why a register: a character model closes a `subregion` span where the training set taught it names end, and a
11
+ * name it never saw (`해운대구`, held out of the training corpus by the board's design and unseen by the shipped
12
+ * model for the same reason) closes early, at `해` or `해운대`. The register states every boundary outright, so the
13
+ * decode-time repair in `@mailwoman/neural` extends a run to the one name the following characters spell.
14
+ *
15
+ * Source: 행정안전부 (Ministry of the Interior and Safety), 도로명주소 (juso.go.kr), 공공누리 제1유형 (KOGL Type 1):
16
+ * attribution required; commercial use, derivatives and redistribution permitted.
17
+ */
18
+ import { completeFromRegister } from "#register-completion";
19
+ /**
20
+ * The register: every (시/도, 시군구) pair the road-name address register carries, in register order.
21
+ */
22
+ export const KR_SIGUNGU = [
23
+ { region: "강원도", city: "강릉시" },
24
+ { region: "강원도", city: "고성군" },
25
+ { region: "강원도", city: "동해시" },
26
+ { region: "강원도", city: "삼척시" },
27
+ { region: "강원도", city: "속초시" },
28
+ { region: "강원도", city: "양구군" },
29
+ { region: "강원도", city: "양양군" },
30
+ { region: "강원도", city: "영월군" },
31
+ { region: "강원도", city: "원주시" },
32
+ { region: "강원도", city: "인제군" },
33
+ { region: "강원도", city: "정선군" },
34
+ { region: "강원도", city: "철원군" },
35
+ { region: "강원도", city: "춘천시" },
36
+ { region: "강원도", city: "태백시" },
37
+ { region: "강원도", city: "평창군" },
38
+ { region: "강원도", city: "홍천군" },
39
+ { region: "강원도", city: "화천군" },
40
+ { region: "강원도", city: "횡성군" },
41
+ { region: "경기도", city: "가평군" },
42
+ { region: "경기도", city: "고양시덕양구" },
43
+ { region: "경기도", city: "고양시일산동구" },
44
+ { region: "경기도", city: "고양시일산서구" },
45
+ { region: "경기도", city: "과천시" },
46
+ { region: "경기도", city: "광명시" },
47
+ { region: "경기도", city: "광주시" },
48
+ { region: "경기도", city: "구리시" },
49
+ { region: "경기도", city: "군포시" },
50
+ { region: "경기도", city: "김포시" },
51
+ { region: "경기도", city: "남양주시" },
52
+ { region: "경기도", city: "동두천시" },
53
+ { region: "경기도", city: "부천시" },
54
+ { region: "경기도", city: "성남시분당구" },
55
+ { region: "경기도", city: "성남시수정구" },
56
+ { region: "경기도", city: "성남시중원구" },
57
+ { region: "경기도", city: "수원시권선구" },
58
+ { region: "경기도", city: "수원시영통구" },
59
+ { region: "경기도", city: "수원시장안구" },
60
+ { region: "경기도", city: "수원시팔달구" },
61
+ { region: "경기도", city: "시흥시" },
62
+ { region: "경기도", city: "안산시단원구" },
63
+ { region: "경기도", city: "안산시상록구" },
64
+ { region: "경기도", city: "안성시" },
65
+ { region: "경기도", city: "안양시동안구" },
66
+ { region: "경기도", city: "안양시만안구" },
67
+ { region: "경기도", city: "양주시" },
68
+ { region: "경기도", city: "양평군" },
69
+ { region: "경기도", city: "여주시" },
70
+ { region: "경기도", city: "연천군" },
71
+ { region: "경기도", city: "오산시" },
72
+ { region: "경기도", city: "용인시기흥구" },
73
+ { region: "경기도", city: "용인시수지구" },
74
+ { region: "경기도", city: "용인시처인구" },
75
+ { region: "경기도", city: "의왕시" },
76
+ { region: "경기도", city: "의정부시" },
77
+ { region: "경기도", city: "이천시" },
78
+ { region: "경기도", city: "파주시" },
79
+ { region: "경기도", city: "평택시" },
80
+ { region: "경기도", city: "포천시" },
81
+ { region: "경기도", city: "하남시" },
82
+ { region: "경기도", city: "화성시" },
83
+ { region: "경상남도", city: "거제시" },
84
+ { region: "경상남도", city: "거창군" },
85
+ { region: "경상남도", city: "고성군" },
86
+ { region: "경상남도", city: "김해시" },
87
+ { region: "경상남도", city: "남해군" },
88
+ { region: "경상남도", city: "밀양시" },
89
+ { region: "경상남도", city: "사천시" },
90
+ { region: "경상남도", city: "산청군" },
91
+ { region: "경상남도", city: "양산시" },
92
+ { region: "경상남도", city: "의령군" },
93
+ { region: "경상남도", city: "진주시" },
94
+ { region: "경상남도", city: "창녕군" },
95
+ { region: "경상남도", city: "창원시마산합포구" },
96
+ { region: "경상남도", city: "창원시마산회원구" },
97
+ { region: "경상남도", city: "창원시성산구" },
98
+ { region: "경상남도", city: "창원시의창구" },
99
+ { region: "경상남도", city: "창원시진해구" },
100
+ { region: "경상남도", city: "통영시" },
101
+ { region: "경상남도", city: "하동군" },
102
+ { region: "경상남도", city: "함안군" },
103
+ { region: "경상남도", city: "함양군" },
104
+ { region: "경상남도", city: "합천군" },
105
+ { region: "경상북도", city: "경산시" },
106
+ { region: "경상북도", city: "경주시" },
107
+ { region: "경상북도", city: "고령군" },
108
+ { region: "경상북도", city: "구미시" },
109
+ { region: "경상북도", city: "군위군" },
110
+ { region: "경상북도", city: "김천시" },
111
+ { region: "경상북도", city: "문경시" },
112
+ { region: "경상북도", city: "봉화군" },
113
+ { region: "경상북도", city: "상주시" },
114
+ { region: "경상북도", city: "성주군" },
115
+ { region: "경상북도", city: "안동시" },
116
+ { region: "경상북도", city: "영덕군" },
117
+ { region: "경상북도", city: "영양군" },
118
+ { region: "경상북도", city: "영주시" },
119
+ { region: "경상북도", city: "영천시" },
120
+ { region: "경상북도", city: "예천군" },
121
+ { region: "경상북도", city: "울릉군" },
122
+ { region: "경상북도", city: "울진군" },
123
+ { region: "경상북도", city: "의성군" },
124
+ { region: "경상북도", city: "청도군" },
125
+ { region: "경상북도", city: "청송군" },
126
+ { region: "경상북도", city: "칠곡군" },
127
+ { region: "경상북도", city: "포항시남구" },
128
+ { region: "경상북도", city: "포항시북구" },
129
+ { region: "광주광역시", city: "광산구" },
130
+ { region: "광주광역시", city: "남구" },
131
+ { region: "광주광역시", city: "동구" },
132
+ { region: "광주광역시", city: "북구" },
133
+ { region: "광주광역시", city: "서구" },
134
+ { region: "대구광역시", city: "남구" },
135
+ { region: "대구광역시", city: "달서구" },
136
+ { region: "대구광역시", city: "달성군" },
137
+ { region: "대구광역시", city: "동구" },
138
+ { region: "대구광역시", city: "북구" },
139
+ { region: "대구광역시", city: "서구" },
140
+ { region: "대구광역시", city: "수성구" },
141
+ { region: "대구광역시", city: "중구" },
142
+ { region: "대전광역시", city: "대덕구" },
143
+ { region: "대전광역시", city: "동구" },
144
+ { region: "대전광역시", city: "서구" },
145
+ { region: "대전광역시", city: "유성구" },
146
+ { region: "대전광역시", city: "중구" },
147
+ { region: "부산광역시", city: "강서구" },
148
+ { region: "부산광역시", city: "금정구" },
149
+ { region: "부산광역시", city: "기장군" },
150
+ { region: "부산광역시", city: "남구" },
151
+ { region: "부산광역시", city: "동구" },
152
+ { region: "부산광역시", city: "동래구" },
153
+ { region: "부산광역시", city: "부산진구" },
154
+ { region: "부산광역시", city: "북구" },
155
+ { region: "부산광역시", city: "사상구" },
156
+ { region: "부산광역시", city: "사하구" },
157
+ { region: "부산광역시", city: "서구" },
158
+ { region: "부산광역시", city: "수영구" },
159
+ { region: "부산광역시", city: "연제구" },
160
+ { region: "부산광역시", city: "영도구" },
161
+ { region: "부산광역시", city: "중구" },
162
+ { region: "부산광역시", city: "해운대구" },
163
+ { region: "서울특별시", city: "강남구" },
164
+ { region: "서울특별시", city: "강동구" },
165
+ { region: "서울특별시", city: "강북구" },
166
+ { region: "서울특별시", city: "강서구" },
167
+ { region: "서울특별시", city: "관악구" },
168
+ { region: "서울특별시", city: "광진구" },
169
+ { region: "서울특별시", city: "구로구" },
170
+ { region: "서울특별시", city: "금천구" },
171
+ { region: "서울특별시", city: "노원구" },
172
+ { region: "서울특별시", city: "도봉구" },
173
+ { region: "서울특별시", city: "동대문구" },
174
+ { region: "서울특별시", city: "동작구" },
175
+ { region: "서울특별시", city: "마포구" },
176
+ { region: "서울특별시", city: "서대문구" },
177
+ { region: "서울특별시", city: "서초구" },
178
+ { region: "서울특별시", city: "성동구" },
179
+ { region: "서울특별시", city: "성북구" },
180
+ { region: "서울특별시", city: "송파구" },
181
+ { region: "서울특별시", city: "양천구" },
182
+ { region: "서울특별시", city: "영등포구" },
183
+ { region: "서울특별시", city: "용산구" },
184
+ { region: "서울특별시", city: "은평구" },
185
+ { region: "서울특별시", city: "종로구" },
186
+ { region: "서울특별시", city: "중구" },
187
+ { region: "서울특별시", city: "중랑구" },
188
+ { region: "울산광역시", city: "남구" },
189
+ { region: "울산광역시", city: "동구" },
190
+ { region: "울산광역시", city: "북구" },
191
+ { region: "울산광역시", city: "울주군" },
192
+ { region: "울산광역시", city: "중구" },
193
+ { region: "인천광역시", city: "강화군" },
194
+ { region: "인천광역시", city: "계양구" },
195
+ { region: "인천광역시", city: "남구" },
196
+ { region: "인천광역시", city: "남동구" },
197
+ { region: "인천광역시", city: "동구" },
198
+ { region: "인천광역시", city: "부평구" },
199
+ { region: "인천광역시", city: "서구" },
200
+ { region: "인천광역시", city: "연수구" },
201
+ { region: "인천광역시", city: "옹진군" },
202
+ { region: "인천광역시", city: "중구" },
203
+ { region: "전라남도", city: "강진군" },
204
+ { region: "전라남도", city: "고흥군" },
205
+ { region: "전라남도", city: "곡성군" },
206
+ { region: "전라남도", city: "광양시" },
207
+ { region: "전라남도", city: "구례군" },
208
+ { region: "전라남도", city: "나주시" },
209
+ { region: "전라남도", city: "담양군" },
210
+ { region: "전라남도", city: "목포시" },
211
+ { region: "전라남도", city: "무안군" },
212
+ { region: "전라남도", city: "보성군" },
213
+ { region: "전라남도", city: "순천시" },
214
+ { region: "전라남도", city: "신안군" },
215
+ { region: "전라남도", city: "여수시" },
216
+ { region: "전라남도", city: "영광군" },
217
+ { region: "전라남도", city: "영암군" },
218
+ { region: "전라남도", city: "완도군" },
219
+ { region: "전라남도", city: "장성군" },
220
+ { region: "전라남도", city: "장흥군" },
221
+ { region: "전라남도", city: "진도군" },
222
+ { region: "전라남도", city: "함평군" },
223
+ { region: "전라남도", city: "해남군" },
224
+ { region: "전라남도", city: "화순군" },
225
+ { region: "전라북도", city: "고창군" },
226
+ { region: "전라북도", city: "군산시" },
227
+ { region: "전라북도", city: "김제시" },
228
+ { region: "전라북도", city: "남원시" },
229
+ { region: "전라북도", city: "무주군" },
230
+ { region: "전라북도", city: "부안군" },
231
+ { region: "전라북도", city: "순창군" },
232
+ { region: "전라북도", city: "완주군" },
233
+ { region: "전라북도", city: "익산시" },
234
+ { region: "전라북도", city: "임실군" },
235
+ { region: "전라북도", city: "장수군" },
236
+ { region: "전라북도", city: "전주시덕진구" },
237
+ { region: "전라북도", city: "전주시완산구" },
238
+ { region: "전라북도", city: "정읍시" },
239
+ { region: "전라북도", city: "진안군" },
240
+ { region: "제주특별자치도", city: "서귀포시" },
241
+ { region: "제주특별자치도", city: "제주시" },
242
+ { region: "충청남도", city: "계룡시" },
243
+ { region: "충청남도", city: "공주시" },
244
+ { region: "충청남도", city: "금산군" },
245
+ { region: "충청남도", city: "논산시" },
246
+ { region: "충청남도", city: "당진시" },
247
+ { region: "충청남도", city: "보령시" },
248
+ { region: "충청남도", city: "부여군" },
249
+ { region: "충청남도", city: "서산시" },
250
+ { region: "충청남도", city: "서천군" },
251
+ { region: "충청남도", city: "아산시" },
252
+ { region: "충청남도", city: "예산군" },
253
+ { region: "충청남도", city: "천안시동남구" },
254
+ { region: "충청남도", city: "천안시서북구" },
255
+ { region: "충청남도", city: "청양군" },
256
+ { region: "충청남도", city: "태안군" },
257
+ { region: "충청남도", city: "홍성군" },
258
+ { region: "충청북도", city: "괴산군" },
259
+ { region: "충청북도", city: "단양군" },
260
+ { region: "충청북도", city: "보은군" },
261
+ { region: "충청북도", city: "영동군" },
262
+ { region: "충청북도", city: "옥천군" },
263
+ { region: "충청북도", city: "음성군" },
264
+ { region: "충청북도", city: "제천시" },
265
+ { region: "충청북도", city: "증평군" },
266
+ { region: "충청북도", city: "진천군" },
267
+ { region: "충청북도", city: "청주시상당구" },
268
+ { region: "충청북도", city: "청주시서원구" },
269
+ { region: "충청북도", city: "청주시청원구" },
270
+ { region: "충청북도", city: "청주시흥덕구" },
271
+ { region: "충청북도", city: "충주시" },
272
+ ];
273
+ /**
274
+ * Every 시군구 name a `subregion` span may close on.
275
+ */
276
+ export const KR_SIGUNGU_NAMES = [...new Set(KR_SIGUNGU.map((s) => s.city))];
277
+ /**
278
+ * The characters a `subregion` surface must absorb from what follows it to become a register name, or null.
279
+ */
280
+ export function krSubregionCompletion(surface, following) {
281
+ return completeFromRegister(KR_SIGUNGU_NAMES, surface, following);
282
+ }
283
+ //# sourceMappingURL=sigungu-register.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sigungu-register.js","sourceRoot":"","sources":["../../lib/kr/sigungu-register.ts"],"names":[],"mappings":"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AK,EAAE;IAC9B,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;IAC9B,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;IAC9B,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;IAC9B,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;IAC9B,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;IACjC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;IACjC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;IACjC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;IAC9B,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE;IAC/B,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;IAC9B,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;IAC9B,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;IAC9B,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;IAC9B,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;IAC9B,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;IAC9B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE;IACpC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE;IACpC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;IAClC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;IAClC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;IAClC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;IACjC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;IACjC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;IAC/B,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;IAC/B,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;IAC/B,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;IAC/B,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;IAC/B,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;IAC/B,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;IAC/B,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;IAC/B,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;IAC/B,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;IAC/B,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;IAC/B,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;IAC/B,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;IAC/B,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;IAC/B,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;IACjC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;IAC/B,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;IAC/B,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;IAC/B,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;IACjC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;IACjC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;IACjC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;IACjC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;IAC/B,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;IAC/B,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;IAC/B,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;IAC/B,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;IAC/B,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;IAC/B,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;IAC/B,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;IAC/B,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;IAClC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;IAClC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;IACnC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE;IAClC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;IAClC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;IAClC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;IAClC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;IAClC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;IAClC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;IAClC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;CAC/B,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAsB,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAE9F;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe,EAAE,SAAiB;IACvE,OAAO,oBAAoB,CAAC,gBAAgB,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;AAClE,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * The one read every name register offers a decode-time repair: given the surface a model closed a span on and the
7
+ * text that follows, the characters that would extend the surface to a register name. A surface that already IS a
8
+ * name and is not the prefix of a longer one answers null.
9
+ */
10
+ /**
11
+ * The remainder of the first register name that begins with `surface` and continues into `following`, or null.
12
+ */
13
+ export declare function completeFromRegister(names: readonly string[], surface: string, following: string): string | null;
14
+ //# sourceMappingURL=register-completion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-completion.d.ts","sourceRoot":"","sources":["../lib/register-completion.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUhH"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * The one read every name register offers a decode-time repair: given the surface a model closed a span on and the
7
+ * text that follows, the characters that would extend the surface to a register name. A surface that already IS a
8
+ * name and is not the prefix of a longer one answers null.
9
+ */
10
+ /**
11
+ * The remainder of the first register name that begins with `surface` and continues into `following`, or null.
12
+ */
13
+ export function completeFromRegister(names, surface, following) {
14
+ for (const name of names) {
15
+ if (name.length > surface.length && name.startsWith(surface)) {
16
+ const remainder = name.slice(surface.length);
17
+ if (following.startsWith(remainder))
18
+ return remainder;
19
+ }
20
+ }
21
+ return null;
22
+ }
23
+ //# sourceMappingURL=register-completion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-completion.js","sourceRoot":"","sources":["../lib/register-completion.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAwB,EAAE,OAAe,EAAE,SAAiB;IAChG,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAE5C,IAAI,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC;gBAAE,OAAO,SAAS,CAAA;QACtD,CAAC;IACF,CAAC;IAED,OAAO,IAAI,CAAA;AACZ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mailwoman/codex",
3
- "version": "9.3.0",
3
+ "version": "9.4.0",
4
4
  "description": "Per-address-system postal reference data + branded types (USPS street suffixes, US ZIP codes). Pure, zero-runtime-dep — the shared canonical home for postal-system primitives the parser, resolver, and synthesis layers all reach for.",
5
5
  "license": "AGPL-3.0-only OR LicenseRef-Commercial",
6
6
  "repository": {
@@ -139,6 +139,11 @@
139
139
  "types": "./out/us/unit-designator.d.ts",
140
140
  "node": "./out/us/unit-designator.js",
141
141
  "default": "./out/us/unit-designator.js"
142
+ },
143
+ "./kr": {
144
+ "types": "./out/kr/index.d.ts",
145
+ "node": "./out/kr/index.js",
146
+ "default": "./out/kr/index.js"
142
147
  }
143
148
  },
144
149
  "publishConfig": {
@@ -249,6 +254,11 @@
249
254
  "types": "./out/us/unit-designator.d.ts",
250
255
  "node": "./out/us/unit-designator.js",
251
256
  "default": "./out/us/unit-designator.js"
257
+ },
258
+ "./kr": {
259
+ "types": "./out/kr/index.d.ts",
260
+ "node": "./out/kr/index.js",
261
+ "default": "./out/kr/index.js"
252
262
  }
253
263
  },
254
264
  "imports": {
@@ -263,8 +273,8 @@
263
273
  "type-fest": "^5.9.0"
264
274
  },
265
275
  "devDependencies": {
266
- "@mailwoman/annotations": "9.3.0",
267
- "@mailwoman/core": "9.3.0",
276
+ "@mailwoman/annotations": "9.4.0",
277
+ "@mailwoman/core": "9.4.0",
268
278
  "path-ts": "^2.3.0"
269
279
  }
270
280
  }