@fgv/ts-bcp47 5.0.0-9 → 5.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.
Files changed (227) hide show
  1. package/CHANGELOG.json +8 -5
  2. package/dist/ts-bcp47.d.ts +342 -47
  3. package/dist/tsdoc-metadata.json +1 -1
  4. package/eslint.config.js +16 -0
  5. package/lib/data/bcp/overrides.json +2 -1
  6. package/lib/index.browser.d.ts +6 -0
  7. package/lib/index.browser.js +69 -0
  8. package/lib/packlets/bcp47/common.js +0 -2
  9. package/lib/packlets/bcp47/languageTagParser.js +0 -1
  10. package/lib/packlets/bcp47/match/similarity.js +5 -3
  11. package/lib/packlets/bcp47/validation/common.js +0 -2
  12. package/lib/packlets/bcp47/validation/validateTag.js +0 -2
  13. package/lib/packlets/iana/iana-data-embedded.d.ts +24 -0
  14. package/lib/packlets/iana/iana-data-embedded.js +63 -0
  15. package/lib/packlets/iana/index.browser.d.ts +11 -0
  16. package/lib/packlets/iana/index.browser.js +79 -0
  17. package/lib/packlets/iana/index.d.ts +1 -0
  18. package/lib/packlets/iana/index.js +2 -0
  19. package/lib/packlets/iana/jar/jarConverters.js +2 -1
  20. package/lib/packlets/iana/jar/language-subtags/registry/converters.d.ts +40 -0
  21. package/lib/packlets/iana/jar/language-subtags/registry/converters.js +148 -1
  22. package/lib/packlets/iana/jar/language-subtags/registry/model.d.ts +80 -9
  23. package/lib/packlets/iana/jar/language-subtags/tags/converters.js +2 -0
  24. package/lib/packlets/iana/language-subtags/index.browser.d.ts +7 -0
  25. package/lib/packlets/iana/language-subtags/index.browser.js +71 -0
  26. package/lib/packlets/iana/language-subtags/jarConverters.d.ts +26 -0
  27. package/lib/packlets/iana/language-subtags/jarConverters.js +83 -2
  28. package/lib/packlets/iana/language-subtags/subtagRegistry.d.ts +1 -0
  29. package/lib/packlets/iana/language-subtags/subtagRegistry.js +10 -6
  30. package/lib/packlets/iana/language-tag-extensions/extensionsRegistry.d.ts +1 -0
  31. package/lib/packlets/iana/language-tag-extensions/extensionsRegistry.js +10 -6
  32. package/lib/packlets/iana/language-tag-extensions/jarConverters.d.ts +25 -0
  33. package/lib/packlets/iana/language-tag-extensions/jarConverters.js +71 -0
  34. package/lib/packlets/iana/language-tag-extensions/model.d.ts +5 -0
  35. package/lib/packlets/iana/languageRegistries.d.ts +37 -1
  36. package/lib/packlets/iana/languageRegistries.js +85 -15
  37. package/lib/packlets/iana/languageRegistriesLoader.d.ts +52 -0
  38. package/lib/packlets/iana/languageRegistriesLoader.js +164 -0
  39. package/lib/packlets/unsd/regions.js +0 -2
  40. package/lib/packlets/utils/validationHelpers.js +1 -0
  41. package/package.json +44 -28
  42. package/scripts/generate-embedded-data.js +99 -0
  43. package/scripts/normalize-data.js +95 -0
  44. package/scripts/update-iana-data.js +527 -0
  45. package/CHANGELOG.md +0 -109
  46. package/lib/data/iana/language-subtags.json +0 -57439
  47. package/lib/data/iana/language-tag-extensions.json +0 -38
  48. package/lib/index.d.ts.map +0 -1
  49. package/lib/index.js.map +0 -1
  50. package/lib/packlets/bcp47/bcp47Subtags/converters.d.ts.map +0 -1
  51. package/lib/packlets/bcp47/bcp47Subtags/converters.js.map +0 -1
  52. package/lib/packlets/bcp47/bcp47Subtags/index.d.ts.map +0 -1
  53. package/lib/packlets/bcp47/bcp47Subtags/index.js.map +0 -1
  54. package/lib/packlets/bcp47/bcp47Subtags/model.d.ts.map +0 -1
  55. package/lib/packlets/bcp47/bcp47Subtags/model.js.map +0 -1
  56. package/lib/packlets/bcp47/bcp47Subtags/validate.d.ts.map +0 -1
  57. package/lib/packlets/bcp47/bcp47Subtags/validate.js.map +0 -1
  58. package/lib/packlets/bcp47/common.d.ts.map +0 -1
  59. package/lib/packlets/bcp47/common.js.map +0 -1
  60. package/lib/packlets/bcp47/helpers.d.ts.map +0 -1
  61. package/lib/packlets/bcp47/helpers.js.map +0 -1
  62. package/lib/packlets/bcp47/index.d.ts.map +0 -1
  63. package/lib/packlets/bcp47/index.js.map +0 -1
  64. package/lib/packlets/bcp47/languageRegistryData.d.ts.map +0 -1
  65. package/lib/packlets/bcp47/languageRegistryData.js.map +0 -1
  66. package/lib/packlets/bcp47/languageTag.d.ts.map +0 -1
  67. package/lib/packlets/bcp47/languageTag.js.map +0 -1
  68. package/lib/packlets/bcp47/languageTagParser.d.ts.map +0 -1
  69. package/lib/packlets/bcp47/languageTagParser.js.map +0 -1
  70. package/lib/packlets/bcp47/match/chooser.d.ts.map +0 -1
  71. package/lib/packlets/bcp47/match/chooser.js.map +0 -1
  72. package/lib/packlets/bcp47/match/common.d.ts.map +0 -1
  73. package/lib/packlets/bcp47/match/common.js.map +0 -1
  74. package/lib/packlets/bcp47/match/index.d.ts.map +0 -1
  75. package/lib/packlets/bcp47/match/index.js.map +0 -1
  76. package/lib/packlets/bcp47/match/similarity.d.ts.map +0 -1
  77. package/lib/packlets/bcp47/match/similarity.js.map +0 -1
  78. package/lib/packlets/bcp47/normalization/baseNormalizer.d.ts.map +0 -1
  79. package/lib/packlets/bcp47/normalization/baseNormalizer.js.map +0 -1
  80. package/lib/packlets/bcp47/normalization/canonicalNormalizer.d.ts.map +0 -1
  81. package/lib/packlets/bcp47/normalization/canonicalNormalizer.js.map +0 -1
  82. package/lib/packlets/bcp47/normalization/common.d.ts.map +0 -1
  83. package/lib/packlets/bcp47/normalization/common.js.map +0 -1
  84. package/lib/packlets/bcp47/normalization/index.d.ts.map +0 -1
  85. package/lib/packlets/bcp47/normalization/index.js.map +0 -1
  86. package/lib/packlets/bcp47/normalization/normalizeTag.d.ts.map +0 -1
  87. package/lib/packlets/bcp47/normalization/normalizeTag.js.map +0 -1
  88. package/lib/packlets/bcp47/normalization/preferredTagNormalizer.d.ts.map +0 -1
  89. package/lib/packlets/bcp47/normalization/preferredTagNormalizer.js.map +0 -1
  90. package/lib/packlets/bcp47/overrides/converters.d.ts.map +0 -1
  91. package/lib/packlets/bcp47/overrides/converters.js.map +0 -1
  92. package/lib/packlets/bcp47/overrides/defaultRegistries.d.ts.map +0 -1
  93. package/lib/packlets/bcp47/overrides/defaultRegistries.js.map +0 -1
  94. package/lib/packlets/bcp47/overrides/index.d.ts.map +0 -1
  95. package/lib/packlets/bcp47/overrides/index.js.map +0 -1
  96. package/lib/packlets/bcp47/overrides/model.d.ts.map +0 -1
  97. package/lib/packlets/bcp47/overrides/model.js.map +0 -1
  98. package/lib/packlets/bcp47/overrides/overridesRegistry.d.ts.map +0 -1
  99. package/lib/packlets/bcp47/overrides/overridesRegistry.js.map +0 -1
  100. package/lib/packlets/bcp47/validation/baseValidator.d.ts.map +0 -1
  101. package/lib/packlets/bcp47/validation/baseValidator.js.map +0 -1
  102. package/lib/packlets/bcp47/validation/common.d.ts.map +0 -1
  103. package/lib/packlets/bcp47/validation/common.js.map +0 -1
  104. package/lib/packlets/bcp47/validation/index.d.ts.map +0 -1
  105. package/lib/packlets/bcp47/validation/index.js.map +0 -1
  106. package/lib/packlets/bcp47/validation/isCanonical.d.ts.map +0 -1
  107. package/lib/packlets/bcp47/validation/isCanonical.js.map +0 -1
  108. package/lib/packlets/bcp47/validation/isInPreferredForm.d.ts.map +0 -1
  109. package/lib/packlets/bcp47/validation/isInPreferredForm.js.map +0 -1
  110. package/lib/packlets/bcp47/validation/isStrictlyValid.d.ts.map +0 -1
  111. package/lib/packlets/bcp47/validation/isStrictlyValid.js.map +0 -1
  112. package/lib/packlets/bcp47/validation/isValid.d.ts.map +0 -1
  113. package/lib/packlets/bcp47/validation/isValid.js.map +0 -1
  114. package/lib/packlets/bcp47/validation/isWellFormed.d.ts.map +0 -1
  115. package/lib/packlets/bcp47/validation/isWellFormed.js.map +0 -1
  116. package/lib/packlets/bcp47/validation/validateTag.d.ts.map +0 -1
  117. package/lib/packlets/bcp47/validation/validateTag.js.map +0 -1
  118. package/lib/packlets/iana/common/converters.d.ts.map +0 -1
  119. package/lib/packlets/iana/common/converters.js.map +0 -1
  120. package/lib/packlets/iana/common/model.d.ts.map +0 -1
  121. package/lib/packlets/iana/common/model.js.map +0 -1
  122. package/lib/packlets/iana/common/registeredItems.d.ts.map +0 -1
  123. package/lib/packlets/iana/common/registeredItems.js.map +0 -1
  124. package/lib/packlets/iana/common/utils.d.ts.map +0 -1
  125. package/lib/packlets/iana/common/utils.js.map +0 -1
  126. package/lib/packlets/iana/common/validate.d.ts.map +0 -1
  127. package/lib/packlets/iana/common/validate.js.map +0 -1
  128. package/lib/packlets/iana/converters.d.ts.map +0 -1
  129. package/lib/packlets/iana/converters.js.map +0 -1
  130. package/lib/packlets/iana/defaultRegistries.d.ts.map +0 -1
  131. package/lib/packlets/iana/defaultRegistries.js.map +0 -1
  132. package/lib/packlets/iana/index.d.ts.map +0 -1
  133. package/lib/packlets/iana/index.js.map +0 -1
  134. package/lib/packlets/iana/jar/converters.d.ts.map +0 -1
  135. package/lib/packlets/iana/jar/converters.js.map +0 -1
  136. package/lib/packlets/iana/jar/index.d.ts.map +0 -1
  137. package/lib/packlets/iana/jar/index.js.map +0 -1
  138. package/lib/packlets/iana/jar/jarConverters.d.ts.map +0 -1
  139. package/lib/packlets/iana/jar/jarConverters.js.map +0 -1
  140. package/lib/packlets/iana/jar/jarModel.d.ts.map +0 -1
  141. package/lib/packlets/iana/jar/jarModel.js.map +0 -1
  142. package/lib/packlets/iana/jar/language-subtags/converters.d.ts.map +0 -1
  143. package/lib/packlets/iana/jar/language-subtags/converters.js.map +0 -1
  144. package/lib/packlets/iana/jar/language-subtags/index.d.ts.map +0 -1
  145. package/lib/packlets/iana/jar/language-subtags/index.js.map +0 -1
  146. package/lib/packlets/iana/jar/language-subtags/model.d.ts.map +0 -1
  147. package/lib/packlets/iana/jar/language-subtags/model.js.map +0 -1
  148. package/lib/packlets/iana/jar/language-subtags/registry/converters.d.ts.map +0 -1
  149. package/lib/packlets/iana/jar/language-subtags/registry/converters.js.map +0 -1
  150. package/lib/packlets/iana/jar/language-subtags/registry/index.d.ts.map +0 -1
  151. package/lib/packlets/iana/jar/language-subtags/registry/index.js.map +0 -1
  152. package/lib/packlets/iana/jar/language-subtags/registry/model.d.ts.map +0 -1
  153. package/lib/packlets/iana/jar/language-subtags/registry/model.js.map +0 -1
  154. package/lib/packlets/iana/jar/language-subtags/tags/converters.d.ts.map +0 -1
  155. package/lib/packlets/iana/jar/language-subtags/tags/converters.js.map +0 -1
  156. package/lib/packlets/iana/jar/language-subtags/tags/index.d.ts.map +0 -1
  157. package/lib/packlets/iana/jar/language-subtags/tags/index.js.map +0 -1
  158. package/lib/packlets/iana/jar/language-subtags/tags/model.d.ts.map +0 -1
  159. package/lib/packlets/iana/jar/language-subtags/tags/model.js.map +0 -1
  160. package/lib/packlets/iana/jar/language-subtags/tags/tagValidation.d.ts.map +0 -1
  161. package/lib/packlets/iana/jar/language-subtags/tags/tagValidation.js.map +0 -1
  162. package/lib/packlets/iana/jar/language-subtags/tags/validate.d.ts.map +0 -1
  163. package/lib/packlets/iana/jar/language-subtags/tags/validate.js.map +0 -1
  164. package/lib/packlets/iana/jar/model.d.ts.map +0 -1
  165. package/lib/packlets/iana/jar/model.js.map +0 -1
  166. package/lib/packlets/iana/language-subtags/common.d.ts.map +0 -1
  167. package/lib/packlets/iana/language-subtags/common.js.map +0 -1
  168. package/lib/packlets/iana/language-subtags/converters.d.ts.map +0 -1
  169. package/lib/packlets/iana/language-subtags/converters.js.map +0 -1
  170. package/lib/packlets/iana/language-subtags/index.d.ts.map +0 -1
  171. package/lib/packlets/iana/language-subtags/index.js.map +0 -1
  172. package/lib/packlets/iana/language-subtags/jarConverters.d.ts.map +0 -1
  173. package/lib/packlets/iana/language-subtags/jarConverters.js.map +0 -1
  174. package/lib/packlets/iana/language-subtags/model.d.ts.map +0 -1
  175. package/lib/packlets/iana/language-subtags/model.js.map +0 -1
  176. package/lib/packlets/iana/language-subtags/scope.d.ts.map +0 -1
  177. package/lib/packlets/iana/language-subtags/scope.js.map +0 -1
  178. package/lib/packlets/iana/language-subtags/subtagRegistry.d.ts.map +0 -1
  179. package/lib/packlets/iana/language-subtags/subtagRegistry.js.map +0 -1
  180. package/lib/packlets/iana/language-subtags/validate.d.ts.map +0 -1
  181. package/lib/packlets/iana/language-subtags/validate.js.map +0 -1
  182. package/lib/packlets/iana/language-tag-extensions/converters.d.ts.map +0 -1
  183. package/lib/packlets/iana/language-tag-extensions/converters.js.map +0 -1
  184. package/lib/packlets/iana/language-tag-extensions/extensionsRegistry.d.ts.map +0 -1
  185. package/lib/packlets/iana/language-tag-extensions/extensionsRegistry.js.map +0 -1
  186. package/lib/packlets/iana/language-tag-extensions/extensionsScope.d.ts.map +0 -1
  187. package/lib/packlets/iana/language-tag-extensions/extensionsScope.js.map +0 -1
  188. package/lib/packlets/iana/language-tag-extensions/index.d.ts.map +0 -1
  189. package/lib/packlets/iana/language-tag-extensions/index.js.map +0 -1
  190. package/lib/packlets/iana/language-tag-extensions/jarConverters.d.ts.map +0 -1
  191. package/lib/packlets/iana/language-tag-extensions/jarConverters.js.map +0 -1
  192. package/lib/packlets/iana/language-tag-extensions/model.d.ts.map +0 -1
  193. package/lib/packlets/iana/language-tag-extensions/model.js.map +0 -1
  194. package/lib/packlets/iana/language-tag-extensions/validate.d.ts.map +0 -1
  195. package/lib/packlets/iana/language-tag-extensions/validate.js.map +0 -1
  196. package/lib/packlets/iana/languageRegistries.d.ts.map +0 -1
  197. package/lib/packlets/iana/languageRegistries.js.map +0 -1
  198. package/lib/packlets/iana/model.d.ts.map +0 -1
  199. package/lib/packlets/iana/model.js.map +0 -1
  200. package/lib/packlets/iana/validate.d.ts.map +0 -1
  201. package/lib/packlets/iana/validate.js.map +0 -1
  202. package/lib/packlets/unsd/areas.d.ts.map +0 -1
  203. package/lib/packlets/unsd/areas.js.map +0 -1
  204. package/lib/packlets/unsd/common.d.ts.map +0 -1
  205. package/lib/packlets/unsd/common.js.map +0 -1
  206. package/lib/packlets/unsd/csv/converters.d.ts.map +0 -1
  207. package/lib/packlets/unsd/csv/converters.js.map +0 -1
  208. package/lib/packlets/unsd/csv/index.d.ts.map +0 -1
  209. package/lib/packlets/unsd/csv/index.js.map +0 -1
  210. package/lib/packlets/unsd/csv/model.d.ts.map +0 -1
  211. package/lib/packlets/unsd/csv/model.js.map +0 -1
  212. package/lib/packlets/unsd/defaultRegistries.d.ts.map +0 -1
  213. package/lib/packlets/unsd/defaultRegistries.js.map +0 -1
  214. package/lib/packlets/unsd/index.d.ts.map +0 -1
  215. package/lib/packlets/unsd/index.js.map +0 -1
  216. package/lib/packlets/unsd/regionCodes.d.ts.map +0 -1
  217. package/lib/packlets/unsd/regionCodes.js.map +0 -1
  218. package/lib/packlets/unsd/regions.d.ts.map +0 -1
  219. package/lib/packlets/unsd/regions.js.map +0 -1
  220. package/lib/packlets/utils/index.d.ts.map +0 -1
  221. package/lib/packlets/utils/index.js.map +0 -1
  222. package/lib/packlets/utils/jsonHelpers.d.ts.map +0 -1
  223. package/lib/packlets/utils/jsonHelpers.js.map +0 -1
  224. package/lib/packlets/utils/public.d.ts.map +0 -1
  225. package/lib/packlets/utils/public.js.map +0 -1
  226. package/lib/packlets/utils/validationHelpers.d.ts.map +0 -1
  227. package/lib/packlets/utils/validationHelpers.js.map +0 -1
package/CHANGELOG.json CHANGED
@@ -1,17 +1,20 @@
1
1
  {
2
2
  "name": "@fgv/ts-bcp47",
3
3
  "entries": [
4
+ {
5
+ "version": "5.0.1",
6
+ "tag": "@fgv/ts-bcp47_v5.0.1",
7
+ "date": "Tue, 23 Sep 2025 03:13:55 GMT",
8
+ "comments": {}
9
+ },
4
10
  {
5
11
  "version": "5.0.0",
6
12
  "tag": "@fgv/ts-bcp47_v5.0.0",
7
- "date": "Thu, 17 Jul 2025 00:13:24 GMT",
13
+ "date": "Tue, 23 Sep 2025 02:54:20 GMT",
8
14
  "comments": {
9
15
  "none": [
10
16
  {
11
- "comment": "ugrade dependences"
12
- },
13
- {
14
- "comment": "bump version"
17
+ "comment": "Use compressed iana data. Update iana data."
15
18
  }
16
19
  ]
17
20
  }
@@ -1,6 +1,7 @@
1
1
  import { Brand } from '@fgv/ts-utils';
2
2
  import { Conversion } from '@fgv/ts-utils';
3
3
  import { Converter } from '@fgv/ts-utils';
4
+ import { FileTree } from '@fgv/ts-json-base';
4
5
  import { RecordJar } from '@fgv/ts-extras';
5
6
  import { Result } from '@fgv/ts-utils';
6
7
  import { Validation } from '@fgv/ts-utils';
@@ -294,11 +295,6 @@ declare const extlangSubtag: Conversion.Converter<ExtLangSubtag, unknown>;
294
295
  */
295
296
  declare const extlangSubtag_2: RegExpValidationHelpers<ExtLangSubtag, unknown>;
296
297
 
297
- /**
298
- * @internal
299
- */
300
- declare type ExtLangSubtagRegistryEntry = IRegistrySubtagEntry<'extlang', ExtLangSubtag>;
301
-
302
298
  /**
303
299
  * @public
304
300
  */
@@ -328,11 +324,6 @@ declare const grandfatheredTag: Conversion.Converter<GrandfatheredTag, unknown>;
328
324
  */
329
325
  declare const grandfatheredTag_2: TagValidationHelpers<GrandfatheredTag, unknown>;
330
326
 
331
- /**
332
- * @internal
333
- */
334
- declare type GrandfatheredTagRegistryEntry = IRegistryTagEntry<'grandfathered', GrandfatheredTag>;
335
-
336
327
  /**
337
328
  * @public
338
329
  */
@@ -356,7 +347,13 @@ declare namespace Iana {
356
347
  LanguageTagExtensions_2 as LanguageTagExtensions,
357
348
  Validate_3 as Validate,
358
349
  nowAsYearMonthDay,
359
- LanguageRegistries
350
+ LanguageRegistries,
351
+ loadLanguageRegistries,
352
+ loadLanguageRegistriesFromTree,
353
+ loadLanguageRegistriesFromZip,
354
+ loadLanguageRegistriesFromZipBuffer,
355
+ loadLanguageRegistriesFromIanaOrg,
356
+ loadLanguageRegistriesFromUrls
360
357
  }
361
358
  }
362
359
  export { Iana }
@@ -393,6 +390,24 @@ declare interface IExtensionSubtagValue {
393
390
  readonly value: ExtensionSubtag;
394
391
  }
395
392
 
393
+ /**
394
+ * Strongly-typed JAR format extlang subtag entry
395
+ * @internal
396
+ */
397
+ declare interface IExtLangSubtagRegistryEntry {
398
+ Type: 'extlang';
399
+ Subtag: ExtLangSubtag;
400
+ 'Preferred-Value': ExtendedLanguageRange;
401
+ Prefix: LanguageSubtag[];
402
+ Description: string[];
403
+ Added: YearMonthDaySpec;
404
+ Comments?: string[];
405
+ Deprecated?: YearMonthDaySpec;
406
+ Macrolanguage?: LanguageSubtag;
407
+ Scope?: RegistryEntryScope;
408
+ 'Suppress-Script'?: ScriptSubtag;
409
+ }
410
+
396
411
  /**
397
412
  * File date record entry typically placed at the head of a registry
398
413
  * file.
@@ -413,6 +428,20 @@ declare interface IGlobalRegion {
413
428
  areas: ICountryOrArea[];
414
429
  }
415
430
 
431
+ /**
432
+ * Strongly-typed JAR format grandfathered tag entry
433
+ * @internal
434
+ */
435
+ declare interface IGrandfatheredTagRegistryEntry {
436
+ Type: 'grandfathered';
437
+ Tag: GrandfatheredTag;
438
+ Description: string[];
439
+ Added: YearMonthDaySpec;
440
+ Comments?: string[];
441
+ Deprecated?: YearMonthDaySpec;
442
+ 'Preferred-Value'?: ExtendedLanguageRange;
443
+ }
444
+
416
445
  /**
417
446
  * @public
418
447
  */
@@ -471,6 +500,23 @@ declare interface ILanguageOverrideRecord {
471
500
  affinity?: Record<string, Iana.LanguageSubtags.RegionSubtag[]>;
472
501
  }
473
502
 
503
+ /**
504
+ * Strongly-typed JAR format language subtag entry
505
+ * @internal
506
+ */
507
+ declare interface ILanguageSubtagRegistryEntry {
508
+ Type: 'language';
509
+ Subtag: LanguageSubtag | LanguageSubtag[];
510
+ Description: string[];
511
+ Added: YearMonthDaySpec;
512
+ Comments?: string[];
513
+ Deprecated?: YearMonthDaySpec;
514
+ Macrolanguage?: LanguageSubtag;
515
+ 'Preferred-Value'?: LanguageSubtag;
516
+ Scope?: RegistryEntryScope;
517
+ 'Suppress-Script'?: ScriptSubtag;
518
+ }
519
+
474
520
  /**
475
521
  * @internal
476
522
  */
@@ -532,6 +578,20 @@ declare interface IM49CsvRow {
532
578
  */
533
579
  declare type IntermediateRegionTier = 'region' | 'subRegion' | 'intermediateRegion';
534
580
 
581
+ /**
582
+ * Strongly-typed JAR format redundant tag entry
583
+ * @internal
584
+ */
585
+ declare interface IRedundantTagRegistryEntry {
586
+ Type: 'redundant';
587
+ Tag: RedundantTag;
588
+ Description: string[];
589
+ Added: YearMonthDaySpec;
590
+ Comments?: string[];
591
+ Deprecated?: YearMonthDaySpec;
592
+ 'Preferred-Value'?: ExtendedLanguageRange;
593
+ }
594
+
535
595
  /**
536
596
  * @internal
537
597
  */
@@ -542,6 +602,20 @@ declare interface IRegExpValidationHelperConstructorParams<T extends string, TC
542
602
  toCanonical?: Normalizer<T, TC>;
543
603
  }
544
604
 
605
+ /**
606
+ * Strongly-typed JAR format region subtag entry
607
+ * @internal
608
+ */
609
+ declare interface IRegionSubtagRegistryEntry {
610
+ Type: 'region';
611
+ Subtag: RegionSubtag | RegionSubtag[];
612
+ Description: string[];
613
+ Added: YearMonthDaySpec;
614
+ Comments?: string[];
615
+ Deprecated?: YearMonthDaySpec;
616
+ 'Preferred-Value'?: RegionSubtag;
617
+ }
618
+
545
619
  /**
546
620
  * Represents a single extension subtag with corresponding registry data,
547
621
  * if present.
@@ -751,6 +825,20 @@ declare interface IRegistryTagEntry<TTYPE extends RegistryEntryType = RegistryEn
751
825
  Tag: TTAG | TTAG[];
752
826
  }
753
827
 
828
+ /**
829
+ * Strongly-typed JAR format script subtag entry
830
+ * @internal
831
+ */
832
+ declare interface IScriptSubtagRegistryEntry {
833
+ Type: 'script';
834
+ Subtag: ScriptSubtag | ScriptSubtag[];
835
+ Description: string[];
836
+ Added: YearMonthDaySpec;
837
+ Comments?: string[];
838
+ Deprecated?: YearMonthDaySpec;
839
+ 'Preferred-Value'?: ScriptSubtag;
840
+ }
841
+
754
842
  /**
755
843
  * Represents an ISO 3166 Alpha-2 region code.
756
844
  * @public
@@ -846,6 +934,21 @@ declare interface IValidationHelpersConstructorParams<T extends string, TC = unk
846
934
  toCanonical?: Normalizer<T, TC>;
847
935
  }
848
936
 
937
+ /**
938
+ * Strongly-typed JAR format variant subtag entry
939
+ * @internal
940
+ */
941
+ declare interface IVariantSubtagRegistryEntry {
942
+ Type: 'variant';
943
+ Subtag: VariantSubtag;
944
+ Description: string[];
945
+ Added: YearMonthDaySpec;
946
+ Comments?: string[];
947
+ Deprecated?: YearMonthDaySpec;
948
+ 'Preferred-Value'?: VariantSubtag;
949
+ Prefix?: ExtendedLanguageRange[];
950
+ }
951
+
849
952
  declare namespace Jar {
850
953
  export {
851
954
  datedRegistryFromJarRecords,
@@ -871,6 +974,9 @@ declare namespace JarConverters {
871
974
  export {
872
975
  loadJsonSubtagRegistryFileSync,
873
976
  loadTxtSubtagRegistryFileSync,
977
+ loadTxtSubtagRegistryFromString,
978
+ loadRawSubtagRegistryFileSync,
979
+ loadRawSubtagRegistryFromString,
874
980
  registeredLanguage_2 as registeredLanguage,
875
981
  registeredExtLang_2 as registeredExtLang,
876
982
  registeredScript_2 as registeredScript,
@@ -887,11 +993,62 @@ declare namespace JarConverters_2 {
887
993
  export {
888
994
  loadJsonLanguageTagExtensionsRegistryFileSync,
889
995
  loadTxtLanguageTagExtensionsRegistryFileSync,
996
+ loadTxtLanguageTagExtensionsRegistryFromString,
997
+ loadRawLanguageTagExtensionsRegistryFileSync,
998
+ loadRawLanguageTagExtensionsRegistryFromString,
890
999
  languageTagExtension_2 as languageTagExtension,
891
1000
  languageTagExtensions_2 as languageTagExtensions
892
1001
  }
893
1002
  }
894
1003
 
1004
+ /**
1005
+ * JAR format converter for extlang subtag entries
1006
+ * @internal
1007
+ */
1008
+ declare const jarExtLangSubtagEntry: Converter<Model.IExtLangSubtagRegistryEntry, unknown>;
1009
+
1010
+ /**
1011
+ * JAR format converter for grandfathered tag entries
1012
+ * @internal
1013
+ */
1014
+ declare const jarGrandfatheredTagEntry: Converter<Model.IGrandfatheredTagRegistryEntry, unknown>;
1015
+
1016
+ /**
1017
+ * JAR format converter for language subtag entries (preserves hyphenated field names)
1018
+ * @internal
1019
+ */
1020
+ declare const jarLanguageSubtagEntry: Converter<Model.ILanguageSubtagRegistryEntry, unknown>;
1021
+
1022
+ /**
1023
+ * JAR format converter for redundant tag entries
1024
+ * @internal
1025
+ */
1026
+ declare const jarRedundantTagEntry: Converter<Model.IRedundantTagRegistryEntry, unknown>;
1027
+
1028
+ /**
1029
+ * JAR format converter for region subtag entries
1030
+ * @internal
1031
+ */
1032
+ declare const jarRegionSubtagEntry: Converter<Model.IRegionSubtagRegistryEntry, unknown>;
1033
+
1034
+ /**
1035
+ * JAR format discriminated converter for all registry entries
1036
+ * @internal
1037
+ */
1038
+ declare const jarRegistryEntry: Converter<Model.RegistryEntry, unknown>;
1039
+
1040
+ /**
1041
+ * JAR format converter for script subtag entries
1042
+ * @internal
1043
+ */
1044
+ declare const jarScriptSubtagEntry: Converter<Model.IScriptSubtagRegistryEntry, unknown>;
1045
+
1046
+ /**
1047
+ * JAR format converter for variant subtag entries
1048
+ * @internal
1049
+ */
1050
+ declare const jarVariantSubtagEntry: Converter<Model.IVariantSubtagRegistryEntry, unknown>;
1051
+
895
1052
  /**
896
1053
  * @public
897
1054
  */
@@ -899,8 +1056,44 @@ declare class LanguageRegistries {
899
1056
  readonly subtags: LanguageSubtagRegistry;
900
1057
  readonly extensions: LanguageTagExtensionRegistry;
901
1058
  private constructor();
902
- static load(root: string): Result<LanguageRegistries>;
1059
+ static create(subtags: LanguageSubtagRegistry, extensions: LanguageTagExtensionRegistry): Result<LanguageRegistries>;
903
1060
  static loadDefault(): Result<LanguageRegistries>;
1061
+ /**
1062
+ * Loads language registries from embedded compressed data.
1063
+ * This method uses embedded compressed ZIP data that works in both Node.js and browser environments
1064
+ * without requiring polyfills. This is the preferred loading method for published packages.
1065
+ * @returns A Result containing the loaded LanguageRegistries or an error.
1066
+ * @public
1067
+ */
1068
+ static loadDefaultCompressed(): Result<LanguageRegistries>;
1069
+ /**
1070
+ * Loads language registries from the IANA.org online registries.
1071
+ * @returns A Promise with a Result containing the loaded LanguageRegistries or an error.
1072
+ * @public
1073
+ */
1074
+ static loadFromIanaOrg(): Promise<Result<LanguageRegistries>>;
1075
+ /**
1076
+ * Loads language registries from custom URLs.
1077
+ * @param subtagsUrl - URL to the language subtags registry.
1078
+ * @param extensionsUrl - URL to the language tag extensions registry.
1079
+ * @returns A Promise with a Result containing the loaded LanguageRegistries or an error.
1080
+ * @public
1081
+ */
1082
+ static loadFromUrls(subtagsUrl: string, extensionsUrl: string): Promise<Result<LanguageRegistries>>;
1083
+ /**
1084
+ * Loads language registries from a compressed ZIP file.
1085
+ * @param zipPath - Path to the ZIP file containing the registry data.
1086
+ * @returns A Result containing the loaded LanguageRegistries or an error.
1087
+ * @public
1088
+ */
1089
+ static loadFromZip(zipPath: string): Result<LanguageRegistries>;
1090
+ /**
1091
+ * Loads language registries from a compressed ZIP buffer (web-compatible).
1092
+ * @param zipBuffer - ArrayBuffer or Uint8Array containing the ZIP file data.
1093
+ * @returns A Result containing the loaded LanguageRegistries or an error.
1094
+ * @public
1095
+ */
1096
+ static loadFromZipBuffer(zipBuffer: ArrayBuffer | Uint8Array): Result<LanguageRegistries>;
904
1097
  }
905
1098
 
906
1099
  /**
@@ -1099,13 +1292,9 @@ declare class LanguageSubtagRegistry {
1099
1292
  static load(root: string): Result<LanguageSubtagRegistry>;
1100
1293
  static loadJsonRegistryFile(root: string): Result<LanguageSubtagRegistry>;
1101
1294
  static loadTxtRegistryFile(root: string): Result<LanguageSubtagRegistry>;
1295
+ static createFromTxtContent(content: string): Result<LanguageSubtagRegistry>;
1102
1296
  }
1103
1297
 
1104
- /**
1105
- * @internal
1106
- */
1107
- declare type LanguageSubtagRegistryEntry = IRegistrySubtagEntry<'language', LanguageSubtag>;
1108
-
1109
1298
  declare namespace LanguageSubtags {
1110
1299
  export {
1111
1300
  rangeOfTags,
@@ -1394,6 +1583,7 @@ declare class LanguageTagExtensionRegistry {
1394
1583
  static load(path: string): Result<LanguageTagExtensionRegistry>;
1395
1584
  static loadJsonRegistryFile(path: string): Result<LanguageTagExtensionRegistry>;
1396
1585
  static loadTxtRegistryFile(path: string): Result<LanguageTagExtensionRegistry>;
1586
+ static createFromTxtContent(content: string): Result<LanguageTagExtensionRegistry>;
1397
1587
  }
1398
1588
 
1399
1589
  /**
@@ -1411,6 +1601,12 @@ declare interface LanguageTagExtensionRegistryEntry {
1411
1601
  URL: string;
1412
1602
  }
1413
1603
 
1604
+ /**
1605
+ * Raw JAR format registry file for language tag extensions (with original field names like "Contact_Email")
1606
+ * @internal
1607
+ */
1608
+ declare type LanguageTagExtensionRegistryFile = IDatedRegistry<LanguageTagExtensionRegistryEntry>;
1609
+
1414
1610
  /**
1415
1611
  * @internal
1416
1612
  */
@@ -1454,6 +1650,60 @@ declare function loadJsonLanguageTagExtensionsRegistryFileSync(path: string): Re
1454
1650
  */
1455
1651
  declare function loadJsonSubtagRegistryFileSync(path: string): Result<Items.RegistryFile>;
1456
1652
 
1653
+ /**
1654
+ * Loads language registries from filesystem.
1655
+ * @param root - The root directory containing the registry JSON files or path to a ZIP file.
1656
+ * @returns A Result containing the loaded LanguageRegistries or an error.
1657
+ * @public
1658
+ */
1659
+ declare function loadLanguageRegistries(root: string): Result<LanguageRegistries>;
1660
+
1661
+ /**
1662
+ * Loads language registries from the IANA.org online registries.
1663
+ * @returns A Promise with a Result containing the loaded LanguageRegistries or an error.
1664
+ * @public
1665
+ */
1666
+ declare function loadLanguageRegistriesFromIanaOrg(): Promise<Result<LanguageRegistries>>;
1667
+
1668
+ /**
1669
+ * Loads language registries from a FileTree (web-compatible).
1670
+ * @param fileTree - The FileTree containing the registry JSON files.
1671
+ * @param subtagsPath - Path to the language-subtags.json file within the tree.
1672
+ * @param extensionsPath - Path to the language-tag-extensions.json file within the tree.
1673
+ * @returns A Result containing the loaded LanguageRegistries or an error.
1674
+ * @public
1675
+ */
1676
+ declare function loadLanguageRegistriesFromTree(fileTree: FileTree.FileTree, subtagsPath?: string, extensionsPath?: string): Result<LanguageRegistries>;
1677
+
1678
+ /**
1679
+ * Loads language registries from custom URLs.
1680
+ * @param subtagsUrl - URL to the language subtags registry.
1681
+ * @param extensionsUrl - URL to the language tag extensions registry.
1682
+ * @returns A Promise with a Result containing the loaded LanguageRegistries or an error.
1683
+ * @public
1684
+ */
1685
+ declare function loadLanguageRegistriesFromUrls(subtagsUrl: string, extensionsUrl: string): Promise<Result<LanguageRegistries>>;
1686
+
1687
+ /**
1688
+ * Loads language registries from a ZIP file containing the registry JSON files.
1689
+ * @param zipPath - Path to the ZIP file containing language-subtags.json and language-tag-extensions.json.
1690
+ * @param subtagsPath - Path to the language-subtags.json file within the ZIP (default: 'language-subtags.json').
1691
+ * @param extensionsPath - Path to the language-tag-extensions.json file within the ZIP (default: 'language-tag-extensions.json').
1692
+ * @returns A Result containing the loaded LanguageRegistries or an error.
1693
+ * @public
1694
+ */
1695
+ declare function loadLanguageRegistriesFromZip(zipPath: string, subtagsPath?: string, extensionsPath?: string): Result<LanguageRegistries>;
1696
+
1697
+ /**
1698
+ * Loads language registries from a ZIP buffer containing the registry JSON files (web-compatible).
1699
+ * @param zipBuffer - ArrayBuffer or Uint8Array containing the ZIP file data.
1700
+ * @param subtagsPath - Path to the language-subtags.json file within the ZIP (default: 'language-subtags.json').
1701
+ * @param extensionsPath - Path to the language-tag-extensions.json file within the ZIP (default: 'language-tag-extensions.json').
1702
+ * @returns A Result containing the loaded LanguageRegistries or an error.
1703
+ * @public
1704
+ */
1705
+ declare function loadLanguageRegistriesFromZipBuffer(zipBuffer: ArrayBuffer | Uint8Array, subtagsPath?: string, extensionsPath?: string): Result<LanguageRegistries>;
1706
+
1457
1707
  /**
1458
1708
  * @public
1459
1709
  * @param path - String path from which file is to be loaded.
@@ -1479,6 +1729,44 @@ declare function loadLanguageTagExtensionsJsonFileSync(path: string): Result<Mod
1479
1729
  */
1480
1730
  declare function loadM49csvFileSync(csvPath: string): Result<Model_6.IM49CsvRow[]>;
1481
1731
 
1732
+ /**
1733
+ * Loads a text (JAR) format language tag extensions registry file and returns the registry format
1734
+ * with field names matching legacy test JSON format ("Contact_Email", "Mailing_List") suitable for
1735
+ * creating test JSON files that work with JAR converters.
1736
+ * @param path - The string path from which the registry is to be loaded.
1737
+ * @returns `Success` with the transformed registry format or `Failure` with details if an error occurs.
1738
+ * @public
1739
+ */
1740
+ declare function loadRawLanguageTagExtensionsRegistryFileSync(path: string): Result<Model_2.LanguageTagExtensionRegistryFile>;
1741
+
1742
+ /**
1743
+ * Parses a text (JAR) format language tag extensions registry from string content and returns the registry format
1744
+ * with field names matching legacy test JSON format ("Contact_Email", "Mailing_List").
1745
+ * @param content - The string content of the registry file to be parsed.
1746
+ * @returns `Success` with the transformed registry format or `Failure` with details if an error occurs.
1747
+ * @public
1748
+ */
1749
+ declare function loadRawLanguageTagExtensionsRegistryFromString(content: string): Result<Model_2.LanguageTagExtensionRegistryFile>;
1750
+
1751
+ /**
1752
+ * Loads a text (JAR) format language subtag registry file and returns the registry format
1753
+ * with field names matching legacy test JSON format ("Suppress-Script", "Preferred-Value")
1754
+ * suitable for creating test JSON files that work with JAR converters.
1755
+ * @param path - The string path from which the registry is to be loaded.
1756
+ * @returns `Success` with the transformed registry format or `Failure` with details if an error occurs.
1757
+ * @public
1758
+ */
1759
+ declare function loadRawSubtagRegistryFileSync(path: string): Result<Model.RegistryFile>;
1760
+
1761
+ /**
1762
+ * Parses a text (JAR) format language subtag registry from string content and returns the registry format
1763
+ * with field names matching legacy test JSON format ("Suppress-Script", "Preferred-Value").
1764
+ * @param content - The string content of the registry file to be parsed.
1765
+ * @returns `Success` with the transformed registry format or `Failure` with details if an error occurs.
1766
+ * @public
1767
+ */
1768
+ declare function loadRawSubtagRegistryFromString(content: string): Result<Model.RegistryFile>;
1769
+
1482
1770
  /**
1483
1771
  * Loads language tag extensions registry data from a text (JAR-formatted) file.
1484
1772
  * @param path - String path from which registry data is to be read.
@@ -1488,6 +1776,15 @@ declare function loadM49csvFileSync(csvPath: string): Result<Model_6.IM49CsvRow[
1488
1776
  */
1489
1777
  declare function loadTxtLanguageTagExtensionsRegistryFileSync(path: string): Result<Model_2.LanguageTagExtensions>;
1490
1778
 
1779
+ /**
1780
+ * Parses language tag extensions registry data from string content.
1781
+ * @param content - The string content of the registry file to be parsed.
1782
+ * @returns `Success` with the loaded language tag extension data
1783
+ * or `Failure` with details if an error occurs.
1784
+ * @public
1785
+ */
1786
+ declare function loadTxtLanguageTagExtensionsRegistryFromString(content: string): Result<Model_2.LanguageTagExtensions>;
1787
+
1491
1788
  /**
1492
1789
  * Loads a text (JAR) format language subtag registry file.
1493
1790
  * @param path - The string path from which the registry is to be loaded.
@@ -1497,6 +1794,15 @@ declare function loadTxtLanguageTagExtensionsRegistryFileSync(path: string): Res
1497
1794
  */
1498
1795
  declare function loadTxtSubtagRegistryFileSync(path: string): Result<Items.RegistryFile>;
1499
1796
 
1797
+ /**
1798
+ * Parses a text (JAR) format language subtag registry from string content.
1799
+ * @param content - The string content of the registry file to be parsed.
1800
+ * @returns `Success` with the resulting {@link Iana.LanguageSubtags.Model.RegistryFile | registry file}
1801
+ * or `Failure` with details if an error occurs.
1802
+ * @public
1803
+ */
1804
+ declare function loadTxtSubtagRegistryFromString(content: string): Result<Items.RegistryFile>;
1805
+
1500
1806
  /**
1501
1807
  * @internal
1502
1808
  */
@@ -1516,13 +1822,13 @@ declare namespace Model {
1516
1822
  YearMonthDaySpec,
1517
1823
  IRegistrySubtagEntry,
1518
1824
  IRegistryTagEntry,
1519
- LanguageSubtagRegistryEntry,
1520
- ExtLangSubtagRegistryEntry,
1521
- ScriptSubtagRegistryEntry,
1522
- RegionSubtagRegistryEntry,
1523
- VariantSubtagRegistryEntry,
1524
- GrandfatheredTagRegistryEntry,
1525
- RedundantTagRegistryEntry,
1825
+ ILanguageSubtagRegistryEntry,
1826
+ IExtLangSubtagRegistryEntry,
1827
+ IScriptSubtagRegistryEntry,
1828
+ IRegionSubtagRegistryEntry,
1829
+ IVariantSubtagRegistryEntry,
1830
+ IGrandfatheredTagRegistryEntry,
1831
+ IRedundantTagRegistryEntry,
1526
1832
  RegistryEntry,
1527
1833
  RegistryFile
1528
1834
  }
@@ -1533,7 +1839,8 @@ declare namespace Model_2 {
1533
1839
  ExtensionSingleton_2 as ExtensionSingleton,
1534
1840
  LanguageTagExtensionRegistryEntry,
1535
1841
  ILanguageTagExtension,
1536
- LanguageTagExtensions
1842
+ LanguageTagExtensions,
1843
+ LanguageTagExtensionRegistryFile
1537
1844
  }
1538
1845
  }
1539
1846
 
@@ -1724,11 +2031,6 @@ declare const redundantTag: Conversion.Converter<RedundantTag, unknown>;
1724
2031
  */
1725
2032
  declare const redundantTag_2: TagValidationHelpers<RedundantTag, unknown>;
1726
2033
 
1727
- /**
1728
- * @internal
1729
- */
1730
- declare type RedundantTagRegistryEntry = IRegistryTagEntry<'redundant', RedundantTag>;
1731
-
1732
2034
  /**
1733
2035
  * @public
1734
2036
  */
@@ -1816,11 +2118,6 @@ declare const regionSubtag: Conversion.Converter<RegionSubtag, unknown>;
1816
2118
  */
1817
2119
  declare const regionSubtag_2: RegExpValidationHelpers<RegionSubtag, unknown>;
1818
2120
 
1819
- /**
1820
- * @internal
1821
- */
1822
- declare type RegionSubtagRegistryEntry = IRegistrySubtagEntry<'region', RegionSubtag>;
1823
-
1824
2121
  /**
1825
2122
  * @public
1826
2123
  */
@@ -1969,14 +2266,22 @@ declare const registeredVariant_2: Converter<Items.IRegisteredVariant, unknown>;
1969
2266
  declare namespace Registry {
1970
2267
  export {
1971
2268
  registryEntryType,
1972
- registryScopeType
2269
+ registryScopeType,
2270
+ jarLanguageSubtagEntry,
2271
+ jarExtLangSubtagEntry,
2272
+ jarScriptSubtagEntry,
2273
+ jarRegionSubtagEntry,
2274
+ jarVariantSubtagEntry,
2275
+ jarGrandfatheredTagEntry,
2276
+ jarRedundantTagEntry,
2277
+ jarRegistryEntry
1973
2278
  }
1974
2279
  }
1975
2280
 
1976
2281
  /**
1977
2282
  * @internal
1978
2283
  */
1979
- declare type RegistryEntry = LanguageSubtagRegistryEntry | ExtLangSubtagRegistryEntry | ScriptSubtagRegistryEntry | RegionSubtagRegistryEntry | VariantSubtagRegistryEntry | GrandfatheredTagRegistryEntry | RedundantTagRegistryEntry;
2284
+ declare type RegistryEntry = ILanguageSubtagRegistryEntry | IExtLangSubtagRegistryEntry | IScriptSubtagRegistryEntry | IRegionSubtagRegistryEntry | IVariantSubtagRegistryEntry | IGrandfatheredTagRegistryEntry | IRedundantTagRegistryEntry;
1980
2285
 
1981
2286
  /**
1982
2287
  * @internal
@@ -2046,11 +2351,6 @@ declare const scriptSubtag: Conversion.Converter<ScriptSubtag, unknown>;
2046
2351
  */
2047
2352
  declare const scriptSubtag_2: RegExpValidationHelpers<ScriptSubtag, unknown>;
2048
2353
 
2049
- /**
2050
- * @internal
2051
- */
2052
- declare type ScriptSubtagRegistryEntry = IRegistrySubtagEntry<'script', ScriptSubtag>;
2053
-
2054
2354
  /**
2055
2355
  * @public
2056
2356
  */
@@ -2517,11 +2817,6 @@ declare const variantSubtag: Conversion.Converter<VariantSubtag, unknown>;
2517
2817
  */
2518
2818
  declare const variantSubtag_2: RegExpValidationHelpers<VariantSubtag, unknown>;
2519
2819
 
2520
- /**
2521
- * @internal
2522
- */
2523
- declare type VariantSubtagRegistryEntry = IRegistrySubtagEntry<'variant', VariantSubtag>;
2524
-
2525
2820
  /**
2526
2821
  * @public
2527
2822
  */
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.49.1"
8
+ "packageVersion": "7.52.12"
9
9
  }
10
10
  ]
11
11
  }
@@ -0,0 +1,16 @@
1
+ // ESLint 9 flat config
2
+ const nodeProfile = require('@rushstack/eslint-config/flat/profile/node');
3
+ const packletsPlugin = require('@rushstack/eslint-config/flat/mixins/packlets');
4
+ const tsdocPlugin = require('@rushstack/eslint-config/flat/mixins/tsdoc');
5
+
6
+ module.exports = [
7
+ ...nodeProfile,
8
+ packletsPlugin,
9
+ ...tsdocPlugin,
10
+ {
11
+ // Override specific rules if needed
12
+ rules: {
13
+ '@rushstack/packlets/mechanics': 'warn'
14
+ }
15
+ }
16
+ ];
@@ -3,7 +3,8 @@
3
3
  "language": "en",
4
4
  "defaultAffinity": "GB",
5
5
  "affinity": {
6
- "us": ["GU", "PH", "PR", "UM", "US", "VI"]
6
+ "us": ["AS", "GU", "MP", "PH", "PR", "UM", "US", "VI"],
7
+ "au": ["NZ"]
7
8
  }
8
9
  },
9
10
  {
@@ -0,0 +1,6 @@
1
+ import * as Bcp47 from './packlets/bcp47';
2
+ import * as Iana from './packlets/iana/index.browser';
3
+ import * as Unsd from './packlets/unsd';
4
+ import * as Utils from './packlets/utils/public';
5
+ export { Bcp47, Iana, Unsd, Utils };
6
+ //# sourceMappingURL=index.browser.d.ts.map