@fgv/ts-bcp47 0.5.0 → 0.5.1

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 (411) hide show
  1. package/data/unsd/m49.json +251 -0
  2. package/package.json +1 -1
  3. package/{bcp47 → src/bcp47}/bcp47Subtags/converters.d.ts +0 -0
  4. package/src/bcp47/bcp47Subtags/converters.d.ts.map +1 -0
  5. package/{bcp47 → src/bcp47}/bcp47Subtags/converters.js +1 -1
  6. package/{bcp47 → src/bcp47}/bcp47Subtags/index.d.ts +0 -0
  7. package/src/bcp47/bcp47Subtags/index.d.ts.map +1 -0
  8. package/{iana/jar/language-subtags/registry → src/bcp47/bcp47Subtags}/index.js +27 -28
  9. package/{bcp47 → src/bcp47}/bcp47Subtags/model.d.ts +0 -0
  10. package/src/bcp47/bcp47Subtags/model.d.ts.map +1 -0
  11. package/{iana/defaultRegistries.js → src/bcp47/bcp47Subtags/model.js} +1 -19
  12. package/{bcp47 → src/bcp47}/bcp47Subtags/validate.d.ts +0 -0
  13. package/src/bcp47/bcp47Subtags/validate.d.ts.map +1 -0
  14. package/src/bcp47/bcp47Subtags/validate.js +74 -0
  15. package/{bcp47 → src/bcp47}/common.d.ts +0 -0
  16. package/src/bcp47/common.d.ts.map +1 -0
  17. package/src/bcp47/common.js +59 -0
  18. package/{bcp47 → src/bcp47}/helpers.d.ts +0 -0
  19. package/src/bcp47/helpers.d.ts.map +1 -0
  20. package/src/bcp47/helpers.js +103 -0
  21. package/{bcp47 → src/bcp47}/index.d.ts +0 -0
  22. package/src/bcp47/index.d.ts.map +1 -0
  23. package/src/bcp47/index.js +27 -0
  24. package/{bcp47 → src/bcp47}/languageTag.d.ts +0 -0
  25. package/src/bcp47/languageTag.d.ts.map +1 -0
  26. package/src/bcp47/languageTag.js +342 -0
  27. package/{bcp47 → src/bcp47}/languageTagParser.d.ts +0 -0
  28. package/src/bcp47/languageTagParser.d.ts.map +1 -0
  29. package/src/bcp47/languageTagParser.js +310 -0
  30. package/{bcp47 → src/bcp47}/match/chooser.d.ts +0 -0
  31. package/src/bcp47/match/chooser.d.ts.map +1 -0
  32. package/src/bcp47/match/chooser.js +92 -0
  33. package/{bcp47 → src/bcp47}/match/common.d.ts +0 -0
  34. package/src/bcp47/match/common.d.ts.map +1 -0
  35. package/src/bcp47/match/common.js +42 -0
  36. package/{bcp47 → src/bcp47}/match/index.d.ts +0 -0
  37. package/src/bcp47/match/index.d.ts.map +1 -0
  38. package/src/bcp47/match/index.js +45 -0
  39. package/{bcp47 → src/bcp47}/match/similarity.d.ts +0 -0
  40. package/src/bcp47/match/similarity.d.ts.map +1 -0
  41. package/src/bcp47/match/similarity.js +230 -0
  42. package/{bcp47 → src/bcp47}/normalization/baseNormalizer.d.ts +0 -0
  43. package/src/bcp47/normalization/baseNormalizer.d.ts.map +1 -0
  44. package/src/bcp47/normalization/baseNormalizer.js +114 -0
  45. package/{bcp47 → src/bcp47}/normalization/canonicalNormalizer.d.ts +0 -0
  46. package/src/bcp47/normalization/canonicalNormalizer.d.ts.map +1 -0
  47. package/src/bcp47/normalization/canonicalNormalizer.js +110 -0
  48. package/{bcp47 → src/bcp47}/normalization/common.d.ts +0 -0
  49. package/src/bcp47/normalization/common.d.ts.map +1 -0
  50. package/src/bcp47/normalization/common.js +82 -0
  51. package/{bcp47 → src/bcp47}/normalization/index.d.ts +0 -0
  52. package/src/bcp47/normalization/index.d.ts.map +1 -0
  53. package/{bcp47 → src/bcp47}/normalization/index.js +1 -1
  54. package/{bcp47 → src/bcp47}/normalization/normalizeTag.d.ts +0 -0
  55. package/src/bcp47/normalization/normalizeTag.d.ts.map +1 -0
  56. package/src/bcp47/normalization/normalizeTag.js +105 -0
  57. package/{bcp47 → src/bcp47}/normalization/preferredTagNormalizer.d.ts +0 -0
  58. package/src/bcp47/normalization/preferredTagNormalizer.d.ts.map +1 -0
  59. package/src/bcp47/normalization/preferredTagNormalizer.js +178 -0
  60. package/{bcp47 → src/bcp47}/overrides/converters.d.ts +0 -0
  61. package/src/bcp47/overrides/converters.d.ts.map +1 -0
  62. package/src/bcp47/overrides/converters.js +75 -0
  63. package/{bcp47 → src/bcp47}/overrides/defaultRegistries.d.ts +0 -0
  64. package/src/bcp47/overrides/defaultRegistries.d.ts.map +1 -0
  65. package/{iana/language-tag-extensions/model.js → src/bcp47/overrides/defaultRegistries.js} +19 -1
  66. package/{bcp47 → src/bcp47}/overrides/index.d.ts +0 -0
  67. package/src/bcp47/overrides/index.d.ts.map +1 -0
  68. package/src/bcp47/overrides/index.js +30 -0
  69. package/{bcp47 → src/bcp47}/overrides/model.d.ts +0 -0
  70. package/src/bcp47/overrides/model.d.ts.map +1 -0
  71. package/{bcp47/bcp47Subtags → src/bcp47/overrides}/model.js +1 -1
  72. package/{bcp47 → src/bcp47}/overrides/overridesRegistry.d.ts +2 -0
  73. package/src/bcp47/overrides/overridesRegistry.d.ts.map +1 -0
  74. package/src/bcp47/overrides/overridesRegistry.js +112 -0
  75. package/{bcp47 → src/bcp47}/validation/baseValidator.d.ts +0 -0
  76. package/src/bcp47/validation/baseValidator.d.ts.map +1 -0
  77. package/src/bcp47/validation/baseValidator.js +111 -0
  78. package/{bcp47 → src/bcp47}/validation/common.d.ts +0 -0
  79. package/src/bcp47/validation/common.d.ts.map +1 -0
  80. package/src/bcp47/validation/common.js +84 -0
  81. package/{bcp47 → src/bcp47}/validation/index.d.ts +0 -0
  82. package/src/bcp47/validation/index.d.ts.map +1 -0
  83. package/src/bcp47/validation/index.js +51 -0
  84. package/{bcp47 → src/bcp47}/validation/isCanonical.d.ts +0 -0
  85. package/src/bcp47/validation/isCanonical.d.ts.map +1 -0
  86. package/src/bcp47/validation/isCanonical.js +101 -0
  87. package/{bcp47 → src/bcp47}/validation/isInPreferredForm.d.ts +0 -0
  88. package/src/bcp47/validation/isInPreferredForm.d.ts.map +1 -0
  89. package/src/bcp47/validation/isInPreferredForm.js +73 -0
  90. package/{bcp47 → src/bcp47}/validation/isStrictlyValid.d.ts +0 -0
  91. package/src/bcp47/validation/isStrictlyValid.d.ts.map +1 -0
  92. package/src/bcp47/validation/isStrictlyValid.js +98 -0
  93. package/{bcp47 → src/bcp47}/validation/isValid.d.ts +0 -0
  94. package/src/bcp47/validation/isValid.d.ts.map +1 -0
  95. package/src/bcp47/validation/isValid.js +115 -0
  96. package/{bcp47 → src/bcp47}/validation/isWellFormed.d.ts +0 -0
  97. package/src/bcp47/validation/isWellFormed.d.ts.map +1 -0
  98. package/src/bcp47/validation/isWellFormed.js +98 -0
  99. package/{bcp47 → src/bcp47}/validation/validateTag.d.ts +0 -0
  100. package/src/bcp47/validation/validateTag.d.ts.map +1 -0
  101. package/src/bcp47/validation/validateTag.js +159 -0
  102. package/{iana → src/iana}/common/converters.d.ts +0 -0
  103. package/src/iana/common/converters.d.ts.map +1 -0
  104. package/src/iana/common/converters.js +84 -0
  105. package/{iana → src/iana}/common/model.d.ts +0 -0
  106. package/src/iana/common/model.d.ts.map +1 -0
  107. package/{iana/jar/jarModel.js → src/iana/common/model.js} +1 -1
  108. package/{iana → src/iana}/common/registeredItems.d.ts +0 -0
  109. package/src/iana/common/registeredItems.d.ts.map +1 -0
  110. package/src/iana/common/registeredItems.js +124 -0
  111. package/{iana → src/iana}/common/utils.d.ts +0 -0
  112. package/src/iana/common/utils.d.ts.map +1 -0
  113. package/src/iana/common/utils.js +34 -0
  114. package/{iana → src/iana}/common/validate.d.ts +0 -0
  115. package/src/iana/common/validate.d.ts.map +1 -0
  116. package/src/iana/common/validate.js +61 -0
  117. package/{iana → src/iana}/converters.d.ts +0 -0
  118. package/src/iana/converters.d.ts.map +1 -0
  119. package/{iana/jar/language-subtags/tags/index.js → src/iana/converters.js} +8 -10
  120. package/{iana → src/iana}/defaultRegistries.d.ts +0 -0
  121. package/src/iana/defaultRegistries.d.ts.map +1 -0
  122. package/src/iana/defaultRegistries.js +42 -0
  123. package/{iana → src/iana}/index.d.ts +0 -0
  124. package/src/iana/index.d.ts.map +1 -0
  125. package/{iana → src/iana}/index.js +1 -1
  126. package/{iana → src/iana}/jar/converters.d.ts +0 -0
  127. package/src/iana/jar/converters.d.ts.map +1 -0
  128. package/{iana → src/iana}/jar/converters.js +1 -1
  129. package/{iana → src/iana}/jar/index.d.ts +0 -0
  130. package/src/iana/jar/index.d.ts.map +1 -0
  131. package/{iana/jar/language-subtags/tags/model.js → src/iana/jar/index.js} +29 -1
  132. package/{iana → src/iana}/jar/jarConverters.d.ts +0 -0
  133. package/src/iana/jar/jarConverters.d.ts.map +1 -0
  134. package/src/iana/jar/jarConverters.js +85 -0
  135. package/{iana → src/iana}/jar/jarModel.d.ts +0 -0
  136. package/src/iana/jar/jarModel.d.ts.map +1 -0
  137. package/src/iana/jar/jarModel.js +24 -0
  138. package/{iana → src/iana}/jar/language-subtags/converters.d.ts +0 -0
  139. package/src/iana/jar/language-subtags/converters.d.ts.map +1 -0
  140. package/{bcp47/bcp47Subtags/index.js → src/iana/jar/language-subtags/converters.js} +6 -8
  141. package/{iana → src/iana}/jar/language-subtags/index.d.ts +0 -0
  142. package/src/iana/jar/language-subtags/index.d.ts.map +1 -0
  143. package/{bcp47/validation → src/iana/jar/language-subtags}/index.js +17 -14
  144. package/{iana → src/iana}/jar/language-subtags/model.d.ts +0 -0
  145. package/src/iana/jar/language-subtags/model.d.ts.map +1 -0
  146. package/{iana/jar/language-subtags/converters.js → src/iana/jar/language-subtags/model.js} +3 -3
  147. package/{iana → src/iana}/jar/language-subtags/registry/converters.d.ts +0 -0
  148. package/src/iana/jar/language-subtags/registry/converters.d.ts.map +1 -0
  149. package/{bcp47/match/index.js → src/iana/jar/language-subtags/registry/converters.js} +23 -10
  150. package/{iana → src/iana}/jar/language-subtags/registry/index.d.ts +0 -0
  151. package/src/iana/jar/language-subtags/registry/index.d.ts.map +1 -0
  152. package/{iana/jar/model.js → src/iana/jar/language-subtags/registry/index.js} +27 -26
  153. package/{iana → src/iana}/jar/language-subtags/registry/model.d.ts +0 -0
  154. package/src/iana/jar/language-subtags/registry/model.d.ts.map +1 -0
  155. package/src/iana/jar/language-subtags/registry/model.js +41 -0
  156. package/{iana → src/iana}/jar/language-subtags/tags/converters.d.ts +0 -0
  157. package/src/iana/jar/language-subtags/tags/converters.d.ts.map +1 -0
  158. package/src/iana/jar/language-subtags/tags/converters.js +128 -0
  159. package/{iana → src/iana}/jar/language-subtags/tags/index.d.ts +0 -0
  160. package/src/iana/jar/language-subtags/tags/index.d.ts.map +1 -0
  161. package/{unsd/csv → src/iana/jar/language-subtags/tags}/index.js +8 -4
  162. package/{iana → src/iana}/jar/language-subtags/tags/model.d.ts +0 -0
  163. package/src/iana/jar/language-subtags/tags/model.d.ts.map +1 -0
  164. package/{utils/jsonHelpers.js → src/iana/jar/language-subtags/tags/model.js} +2 -7
  165. package/{iana → src/iana}/jar/language-subtags/tags/tagValidation.d.ts +0 -0
  166. package/src/iana/jar/language-subtags/tags/tagValidation.d.ts.map +1 -0
  167. package/src/iana/jar/language-subtags/tags/tagValidation.js +70 -0
  168. package/{iana → src/iana}/jar/language-subtags/tags/validate.d.ts +0 -0
  169. package/src/iana/jar/language-subtags/tags/validate.d.ts.map +1 -0
  170. package/src/iana/jar/language-subtags/tags/validate.js +87 -0
  171. package/{iana → src/iana}/jar/model.d.ts +0 -0
  172. package/src/iana/jar/model.d.ts.map +1 -0
  173. package/{iana/converters.js → src/iana/jar/model.js} +8 -8
  174. package/{iana → src/iana}/language-subtags/common.d.ts +0 -0
  175. package/src/iana/language-subtags/common.d.ts.map +1 -0
  176. package/{iana/jar/language-subtags/registry/converters.js → src/iana/language-subtags/common.js} +1 -35
  177. package/{iana → src/iana}/language-subtags/converters.d.ts +0 -0
  178. package/src/iana/language-subtags/converters.d.ts.map +1 -0
  179. package/src/iana/language-subtags/converters.js +200 -0
  180. package/{iana → src/iana}/language-subtags/index.d.ts +0 -0
  181. package/src/iana/language-subtags/index.d.ts.map +1 -0
  182. package/{iana → src/iana}/language-subtags/index.js +1 -1
  183. package/{iana → src/iana}/language-subtags/jarConverters.d.ts +0 -0
  184. package/src/iana/language-subtags/jarConverters.d.ts.map +1 -0
  185. package/src/iana/language-subtags/jarConverters.js +213 -0
  186. package/{iana → src/iana}/language-subtags/model.d.ts +0 -0
  187. package/src/iana/language-subtags/model.d.ts.map +1 -0
  188. package/src/iana/language-subtags/model.js +24 -0
  189. package/{iana → src/iana}/language-subtags/scope.d.ts +0 -0
  190. package/src/iana/language-subtags/scope.d.ts.map +1 -0
  191. package/src/iana/language-subtags/scope.js +179 -0
  192. package/{iana → src/iana}/language-subtags/subtagRegistry.d.ts +2 -0
  193. package/src/iana/language-subtags/subtagRegistry.d.ts.map +1 -0
  194. package/src/iana/language-subtags/subtagRegistry.js +149 -0
  195. package/{iana → src/iana}/language-subtags/validate.d.ts +0 -0
  196. package/src/iana/language-subtags/validate.d.ts.map +1 -0
  197. package/{iana → src/iana}/language-subtags/validate.js +1 -1
  198. package/{iana → src/iana}/language-tag-extensions/converters.d.ts +0 -0
  199. package/src/iana/language-tag-extensions/converters.d.ts.map +1 -0
  200. package/src/iana/language-tag-extensions/converters.js +87 -0
  201. package/{iana → src/iana}/language-tag-extensions/extensionsRegistry.d.ts +2 -0
  202. package/src/iana/language-tag-extensions/extensionsRegistry.d.ts.map +1 -0
  203. package/src/iana/language-tag-extensions/extensionsRegistry.js +104 -0
  204. package/{iana → src/iana}/language-tag-extensions/extensionsScope.d.ts +0 -0
  205. package/src/iana/language-tag-extensions/extensionsScope.d.ts.map +1 -0
  206. package/src/iana/language-tag-extensions/extensionsScope.js +77 -0
  207. package/{iana → src/iana}/language-tag-extensions/index.d.ts +0 -0
  208. package/src/iana/language-tag-extensions/index.d.ts.map +1 -0
  209. package/{iana → src/iana}/language-tag-extensions/index.js +1 -1
  210. package/{iana → src/iana}/language-tag-extensions/jarConverters.d.ts +0 -0
  211. package/src/iana/language-tag-extensions/jarConverters.d.ts.map +1 -0
  212. package/src/iana/language-tag-extensions/jarConverters.js +102 -0
  213. package/{iana → src/iana}/language-tag-extensions/model.d.ts +0 -0
  214. package/src/iana/language-tag-extensions/model.d.ts.map +1 -0
  215. package/src/iana/language-tag-extensions/model.js +24 -0
  216. package/{iana → src/iana}/language-tag-extensions/validate.d.ts +0 -0
  217. package/src/iana/language-tag-extensions/validate.d.ts.map +1 -0
  218. package/src/iana/language-tag-extensions/validate.js +36 -0
  219. package/{iana → src/iana}/languageRegistries.d.ts +1 -0
  220. package/src/iana/languageRegistries.d.ts.map +1 -0
  221. package/src/iana/languageRegistries.js +56 -0
  222. package/{iana → src/iana}/model.d.ts +0 -0
  223. package/src/iana/model.d.ts.map +1 -0
  224. package/{iana → src/iana}/model.js +1 -1
  225. package/{iana → src/iana}/validate.d.ts +0 -0
  226. package/src/iana/validate.d.ts.map +1 -0
  227. package/{bcp47/overrides/defaultRegistries.js → src/iana/validate.js} +17 -20
  228. package/{index.d.ts → src/index.d.ts} +0 -0
  229. package/src/index.d.ts.map +1 -0
  230. package/{index.js → src/index.js} +1 -1
  231. package/{unsd → src/unsd}/areas.d.ts +0 -0
  232. package/src/unsd/areas.d.ts.map +1 -0
  233. package/src/unsd/areas.js +96 -0
  234. package/{unsd → src/unsd}/common.d.ts +0 -0
  235. package/src/unsd/common.d.ts.map +1 -0
  236. package/{iana/jar/language-subtags/model.js → src/unsd/common.js} +1 -29
  237. package/{unsd → src/unsd}/csv/converters.d.ts +0 -0
  238. package/src/unsd/csv/converters.d.ts.map +1 -0
  239. package/src/unsd/csv/converters.js +70 -0
  240. package/{unsd → src/unsd}/csv/index.d.ts +0 -0
  241. package/src/unsd/csv/index.d.ts.map +1 -0
  242. package/{iana/jar → src/unsd/csv}/index.js +1 -1
  243. package/{unsd → src/unsd}/csv/model.d.ts +0 -0
  244. package/src/unsd/csv/model.d.ts.map +1 -0
  245. package/{iana/common → src/unsd/csv}/model.js +1 -1
  246. package/{unsd → src/unsd}/defaultRegistries.d.ts +0 -0
  247. package/src/unsd/defaultRegistries.d.ts.map +1 -0
  248. package/src/unsd/defaultRegistries.js +42 -0
  249. package/{unsd → src/unsd}/index.d.ts +0 -0
  250. package/src/unsd/index.d.ts.map +1 -0
  251. package/{unsd/csv/model.js → src/unsd/index.js} +21 -1
  252. package/{unsd → src/unsd}/regionCodes.d.ts +4 -2
  253. package/src/unsd/regionCodes.d.ts.map +1 -0
  254. package/src/unsd/regionCodes.js +121 -0
  255. package/{unsd → src/unsd}/regions.d.ts +0 -0
  256. package/src/unsd/regions.d.ts.map +1 -0
  257. package/src/unsd/regions.js +77 -0
  258. package/{utils → src/utils}/index.d.ts +0 -0
  259. package/src/utils/index.d.ts.map +1 -0
  260. package/{iana/jar/language-subtags → src/utils}/index.js +4 -18
  261. package/{utils → src/utils}/jsonHelpers.d.ts +0 -0
  262. package/src/utils/jsonHelpers.d.ts.map +1 -0
  263. package/{utils/index.js → src/utils/jsonHelpers.js} +6 -17
  264. package/{utils → src/utils}/validationHelpers.d.ts +0 -0
  265. package/src/utils/validationHelpers.d.ts.map +1 -0
  266. package/src/utils/validationHelpers.js +88 -0
  267. package/bcp47/bcp47Subtags/converters.d.ts.map +0 -1
  268. package/bcp47/bcp47Subtags/index.d.ts.map +0 -1
  269. package/bcp47/bcp47Subtags/model.d.ts.map +0 -1
  270. package/bcp47/bcp47Subtags/validate.d.ts.map +0 -1
  271. package/bcp47/bcp47Subtags/validate.js +0 -74
  272. package/bcp47/common.d.ts.map +0 -1
  273. package/bcp47/common.js +0 -59
  274. package/bcp47/helpers.d.ts.map +0 -1
  275. package/bcp47/helpers.js +0 -103
  276. package/bcp47/index.d.ts.map +0 -1
  277. package/bcp47/index.js +0 -27
  278. package/bcp47/languageTag.d.ts.map +0 -1
  279. package/bcp47/languageTag.js +0 -342
  280. package/bcp47/languageTagParser.d.ts.map +0 -1
  281. package/bcp47/languageTagParser.js +0 -310
  282. package/bcp47/match/chooser.d.ts.map +0 -1
  283. package/bcp47/match/chooser.js +0 -92
  284. package/bcp47/match/common.d.ts.map +0 -1
  285. package/bcp47/match/common.js +0 -42
  286. package/bcp47/match/index.d.ts.map +0 -1
  287. package/bcp47/match/similarity.d.ts.map +0 -1
  288. package/bcp47/match/similarity.js +0 -230
  289. package/bcp47/normalization/baseNormalizer.d.ts.map +0 -1
  290. package/bcp47/normalization/baseNormalizer.js +0 -114
  291. package/bcp47/normalization/canonicalNormalizer.d.ts.map +0 -1
  292. package/bcp47/normalization/canonicalNormalizer.js +0 -110
  293. package/bcp47/normalization/common.d.ts.map +0 -1
  294. package/bcp47/normalization/common.js +0 -82
  295. package/bcp47/normalization/index.d.ts.map +0 -1
  296. package/bcp47/normalization/normalizeTag.d.ts.map +0 -1
  297. package/bcp47/normalization/normalizeTag.js +0 -105
  298. package/bcp47/normalization/preferredTagNormalizer.d.ts.map +0 -1
  299. package/bcp47/normalization/preferredTagNormalizer.js +0 -178
  300. package/bcp47/overrides/converters.d.ts.map +0 -1
  301. package/bcp47/overrides/converters.js +0 -75
  302. package/bcp47/overrides/defaultRegistries.d.ts.map +0 -1
  303. package/bcp47/overrides/index.d.ts.map +0 -1
  304. package/bcp47/overrides/index.js +0 -30
  305. package/bcp47/overrides/model.d.ts.map +0 -1
  306. package/bcp47/overrides/model.js +0 -24
  307. package/bcp47/overrides/overridesRegistry.d.ts.map +0 -1
  308. package/bcp47/overrides/overridesRegistry.js +0 -101
  309. package/bcp47/validation/baseValidator.d.ts.map +0 -1
  310. package/bcp47/validation/baseValidator.js +0 -111
  311. package/bcp47/validation/common.d.ts.map +0 -1
  312. package/bcp47/validation/common.js +0 -84
  313. package/bcp47/validation/index.d.ts.map +0 -1
  314. package/bcp47/validation/isCanonical.d.ts.map +0 -1
  315. package/bcp47/validation/isCanonical.js +0 -101
  316. package/bcp47/validation/isInPreferredForm.d.ts.map +0 -1
  317. package/bcp47/validation/isInPreferredForm.js +0 -73
  318. package/bcp47/validation/isStrictlyValid.d.ts.map +0 -1
  319. package/bcp47/validation/isStrictlyValid.js +0 -98
  320. package/bcp47/validation/isValid.d.ts.map +0 -1
  321. package/bcp47/validation/isValid.js +0 -115
  322. package/bcp47/validation/isWellFormed.d.ts.map +0 -1
  323. package/bcp47/validation/isWellFormed.js +0 -98
  324. package/bcp47/validation/validateTag.d.ts.map +0 -1
  325. package/bcp47/validation/validateTag.js +0 -159
  326. package/data/unsd/m49.csv +0 -250
  327. package/iana/common/converters.d.ts.map +0 -1
  328. package/iana/common/converters.js +0 -84
  329. package/iana/common/model.d.ts.map +0 -1
  330. package/iana/common/registeredItems.d.ts.map +0 -1
  331. package/iana/common/registeredItems.js +0 -124
  332. package/iana/common/utils.d.ts.map +0 -1
  333. package/iana/common/utils.js +0 -34
  334. package/iana/common/validate.d.ts.map +0 -1
  335. package/iana/common/validate.js +0 -61
  336. package/iana/converters.d.ts.map +0 -1
  337. package/iana/defaultRegistries.d.ts.map +0 -1
  338. package/iana/index.d.ts.map +0 -1
  339. package/iana/jar/converters.d.ts.map +0 -1
  340. package/iana/jar/index.d.ts.map +0 -1
  341. package/iana/jar/jarConverters.d.ts.map +0 -1
  342. package/iana/jar/jarConverters.js +0 -85
  343. package/iana/jar/jarModel.d.ts.map +0 -1
  344. package/iana/jar/language-subtags/converters.d.ts.map +0 -1
  345. package/iana/jar/language-subtags/index.d.ts.map +0 -1
  346. package/iana/jar/language-subtags/model.d.ts.map +0 -1
  347. package/iana/jar/language-subtags/registry/converters.d.ts.map +0 -1
  348. package/iana/jar/language-subtags/registry/index.d.ts.map +0 -1
  349. package/iana/jar/language-subtags/registry/model.d.ts.map +0 -1
  350. package/iana/jar/language-subtags/registry/model.js +0 -41
  351. package/iana/jar/language-subtags/tags/converters.d.ts.map +0 -1
  352. package/iana/jar/language-subtags/tags/converters.js +0 -128
  353. package/iana/jar/language-subtags/tags/index.d.ts.map +0 -1
  354. package/iana/jar/language-subtags/tags/model.d.ts.map +0 -1
  355. package/iana/jar/language-subtags/tags/tagValidation.d.ts.map +0 -1
  356. package/iana/jar/language-subtags/tags/tagValidation.js +0 -70
  357. package/iana/jar/language-subtags/tags/validate.d.ts.map +0 -1
  358. package/iana/jar/language-subtags/tags/validate.js +0 -87
  359. package/iana/jar/model.d.ts.map +0 -1
  360. package/iana/language-subtags/common.d.ts.map +0 -1
  361. package/iana/language-subtags/common.js +0 -24
  362. package/iana/language-subtags/converters.d.ts.map +0 -1
  363. package/iana/language-subtags/converters.js +0 -200
  364. package/iana/language-subtags/index.d.ts.map +0 -1
  365. package/iana/language-subtags/jarConverters.d.ts.map +0 -1
  366. package/iana/language-subtags/jarConverters.js +0 -213
  367. package/iana/language-subtags/model.d.ts.map +0 -1
  368. package/iana/language-subtags/model.js +0 -24
  369. package/iana/language-subtags/scope.d.ts.map +0 -1
  370. package/iana/language-subtags/scope.js +0 -179
  371. package/iana/language-subtags/subtagRegistry.d.ts.map +0 -1
  372. package/iana/language-subtags/subtagRegistry.js +0 -139
  373. package/iana/language-subtags/validate.d.ts.map +0 -1
  374. package/iana/language-tag-extensions/converters.d.ts.map +0 -1
  375. package/iana/language-tag-extensions/converters.js +0 -87
  376. package/iana/language-tag-extensions/extensionsRegistry.d.ts.map +0 -1
  377. package/iana/language-tag-extensions/extensionsRegistry.js +0 -94
  378. package/iana/language-tag-extensions/extensionsScope.d.ts.map +0 -1
  379. package/iana/language-tag-extensions/extensionsScope.js +0 -77
  380. package/iana/language-tag-extensions/index.d.ts.map +0 -1
  381. package/iana/language-tag-extensions/jarConverters.d.ts.map +0 -1
  382. package/iana/language-tag-extensions/jarConverters.js +0 -102
  383. package/iana/language-tag-extensions/model.d.ts.map +0 -1
  384. package/iana/language-tag-extensions/validate.d.ts.map +0 -1
  385. package/iana/language-tag-extensions/validate.js +0 -36
  386. package/iana/languageRegistries.d.ts.map +0 -1
  387. package/iana/languageRegistries.js +0 -49
  388. package/iana/model.d.ts.map +0 -1
  389. package/iana/validate.d.ts.map +0 -1
  390. package/iana/validate.js +0 -39
  391. package/index.d.ts.map +0 -1
  392. package/unsd/areas.d.ts.map +0 -1
  393. package/unsd/areas.js +0 -96
  394. package/unsd/common.d.ts.map +0 -1
  395. package/unsd/common.js +0 -24
  396. package/unsd/csv/converters.d.ts.map +0 -1
  397. package/unsd/csv/converters.js +0 -70
  398. package/unsd/csv/index.d.ts.map +0 -1
  399. package/unsd/csv/model.d.ts.map +0 -1
  400. package/unsd/defaultRegistries.d.ts.map +0 -1
  401. package/unsd/defaultRegistries.js +0 -42
  402. package/unsd/index.d.ts.map +0 -1
  403. package/unsd/index.js +0 -44
  404. package/unsd/regionCodes.d.ts.map +0 -1
  405. package/unsd/regionCodes.js +0 -111
  406. package/unsd/regions.d.ts.map +0 -1
  407. package/unsd/regions.js +0 -77
  408. package/utils/index.d.ts.map +0 -1
  409. package/utils/jsonHelpers.d.ts.map +0 -1
  410. package/utils/validationHelpers.d.ts.map +0 -1
  411. package/utils/validationHelpers.js +0 -88
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2022 Erik Fortune
4
+ *
5
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ * of this software and associated documentation files (the "Software"), to deal
7
+ * in the Software without restriction, including without limitation the rights
8
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ * copies of the Software, and to permit persons to whom the Software is
10
+ * furnished to do so, subject to the following conditions:
11
+ *
12
+ * The above copyright notice and this permission notice shall be included in all
13
+ * copies or substantial portions of the Software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ * SOFTWARE.
22
+ */
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.Regions = exports.GlobalRegionCode = exports.GlobalRegionName = void 0;
25
+ const ts_utils_1 = require("@fgv/ts-utils");
26
+ /* eslint-disable @typescript-eslint/naming-convention */
27
+ exports.GlobalRegionName = 'World';
28
+ exports.GlobalRegionCode = '001';
29
+ /* eslint-enable @typescript-eslint/naming-convention */
30
+ /**
31
+ * @public
32
+ */
33
+ class Regions {
34
+ constructor() {
35
+ this.global = { name: exports.GlobalRegionName, code: exports.GlobalRegionCode, tier: 'global', regions: [], areas: [] };
36
+ this._regions = new Map();
37
+ }
38
+ tryGetRegion(from) {
39
+ return this._regions.get(from);
40
+ }
41
+ getRegion(from) {
42
+ const got = this._regions.get(from);
43
+ return got ? (0, ts_utils_1.succeed)(got) : (0, ts_utils_1.fail)(`${from}: region not found`);
44
+ }
45
+ getOrAddRegionChildRegion(tier, parent, code, name) {
46
+ if (!code && !name) {
47
+ return (0, ts_utils_1.succeed)(parent);
48
+ }
49
+ else if (!code || !name) {
50
+ return (0, ts_utils_1.fail)(`${code}(${name}): code and name must both be present`);
51
+ }
52
+ const existing = this._regions.get(code);
53
+ if (existing) {
54
+ if (existing.name !== name) {
55
+ return (0, ts_utils_1.fail)(`${code}: cannot add ${name} - already exists as ${existing.name}`);
56
+ }
57
+ if (existing.tier !== tier) {
58
+ return (0, ts_utils_1.fail)(`${code}: cannot add ${name} as tier ${tier} - already exists as tier ${existing.tier}`);
59
+ }
60
+ if (existing.parent !== parent) {
61
+ const haveParent = `${existing.parent.code}/${existing.parent.name}`;
62
+ const wantParent = `${parent.code}/${parent.name}`;
63
+ return (0, ts_utils_1.fail)(`${code}: cannot add ${name} with parent ${wantParent} - already exists with parent ${haveParent}`);
64
+ }
65
+ return (0, ts_utils_1.succeed)(existing);
66
+ }
67
+ const added = { name, code, tier, parent, regions: [], areas: [] };
68
+ this._regions.set(code, added);
69
+ parent.regions.push(added);
70
+ return (0, ts_utils_1.succeed)(added);
71
+ }
72
+ getAll() {
73
+ return Array.from(this._regions.values());
74
+ }
75
+ }
76
+ exports.Regions = Regions;
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91bnNkL3JlZ2lvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRzs7O0FBR0gsNENBQXNEO0FBR3RELHlEQUF5RDtBQUM1QyxRQUFBLGdCQUFnQixHQUFHLE9BQU8sQ0FBQztBQUMzQixRQUFBLGdCQUFnQixHQUFHLEtBQXdCLENBQUM7QUFDekQsd0RBQXdEO0FBRXhEOztHQUVHO0FBQ0gsTUFBYSxPQUFPO0lBT2hCO1FBQ0ksSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLElBQUksRUFBRSx3QkFBZ0IsRUFBRSxJQUFJLEVBQUUsd0JBQWdCLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUN6RyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVNLFlBQVksQ0FBQyxJQUFxQjtRQUNyQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTSxTQUFTLENBQUMsSUFBcUI7UUFDbEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUEsa0JBQU8sRUFBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBQSxlQUFJLEVBQUMsR0FBRyxJQUFJLG9CQUFvQixDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVNLHlCQUF5QixDQUM1QixJQUE0QixFQUM1QixNQUFjLEVBQ2QsSUFBaUMsRUFDakMsSUFBd0I7UUFFeEIsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNoQixPQUFPLElBQUEsa0JBQU8sRUFBQyxNQUFNLENBQUMsQ0FBQztTQUMxQjthQUFNLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDdkIsT0FBTyxJQUFBLGVBQUksRUFBQyxHQUFHLElBQUksSUFBSSxJQUFJLHVDQUF1QyxDQUFDLENBQUM7U0FDdkU7UUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QyxJQUFJLFFBQVEsRUFBRTtZQUNWLElBQUksUUFBUSxDQUFDLElBQUksS0FBSyxJQUFJLEVBQUU7Z0JBQ3hCLE9BQU8sSUFBQSxlQUFJLEVBQUMsR0FBRyxJQUFJLGdCQUFnQixJQUFJLHdCQUF3QixRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQzthQUNuRjtZQUNELElBQUksUUFBUSxDQUFDLElBQUksS0FBSyxJQUFJLEVBQUU7Z0JBQ3hCLE9BQU8sSUFBQSxlQUFJLEVBQUMsR0FBRyxJQUFJLGdCQUFnQixJQUFJLFlBQVksSUFBSSw2QkFBNkIsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7YUFDeEc7WUFDRCxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssTUFBTSxFQUFFO2dCQUM1QixNQUFNLFVBQVUsR0FBRyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3JFLE1BQU0sVUFBVSxHQUFHLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ25ELE9BQU8sSUFBQSxlQUFJLEVBQUMsR0FBRyxJQUFJLGdCQUFnQixJQUFJLGdCQUFnQixVQUFVLGlDQUFpQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO2FBQ25IO1lBQ0QsT0FBTyxJQUFBLGtCQUFPLEVBQUMsUUFBUSxDQUFDLENBQUM7U0FDNUI7UUFFRCxNQUFNLEtBQUssR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUNuRSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDL0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsT0FBTyxJQUFBLGtCQUFPLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVNLE1BQU07UUFDVCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7Q0FDSjtBQTFERCwwQkEwREMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIyIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuaW1wb3J0IHsgR2xvYmFsUmVnaW9uLCBJbnRlcm1lZGlhdGVSZWdpb25UaWVyLCBSZWdpb24gfSBmcm9tICcuL2NvbW1vbic7XG5pbXBvcnQgeyBSZXN1bHQsIGZhaWwsIHN1Y2NlZWQgfSBmcm9tICdAZmd2L3RzLXV0aWxzJztcbmltcG9ydCB7IFVuTTQ5UmVnaW9uQ29kZSB9IGZyb20gJy4uL2lhbmEvbW9kZWwnO1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cbmV4cG9ydCBjb25zdCBHbG9iYWxSZWdpb25OYW1lID0gJ1dvcmxkJztcbmV4cG9ydCBjb25zdCBHbG9iYWxSZWdpb25Db2RlID0gJzAwMScgYXMgVW5NNDlSZWdpb25Db2RlO1xuLyogZXNsaW50LWVuYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjbGFzcyBSZWdpb25zIHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgZ2xvYmFsOiBHbG9iYWxSZWdpb247XG4gICAgLyoqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IF9yZWdpb25zOiBNYXA8VW5NNDlSZWdpb25Db2RlLCBSZWdpb24+O1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmdsb2JhbCA9IHsgbmFtZTogR2xvYmFsUmVnaW9uTmFtZSwgY29kZTogR2xvYmFsUmVnaW9uQ29kZSwgdGllcjogJ2dsb2JhbCcsIHJlZ2lvbnM6IFtdLCBhcmVhczogW10gfTtcbiAgICAgICAgdGhpcy5fcmVnaW9ucyA9IG5ldyBNYXAoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdHJ5R2V0UmVnaW9uKGZyb206IFVuTTQ5UmVnaW9uQ29kZSk6IFJlZ2lvbiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZWdpb25zLmdldChmcm9tKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UmVnaW9uKGZyb206IFVuTTQ5UmVnaW9uQ29kZSk6IFJlc3VsdDxSZWdpb24+IHtcbiAgICAgICAgY29uc3QgZ290ID0gdGhpcy5fcmVnaW9ucy5nZXQoZnJvbSk7XG4gICAgICAgIHJldHVybiBnb3QgPyBzdWNjZWVkKGdvdCkgOiBmYWlsKGAke2Zyb219OiByZWdpb24gbm90IGZvdW5kYCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldE9yQWRkUmVnaW9uQ2hpbGRSZWdpb24oXG4gICAgICAgIHRpZXI6IEludGVybWVkaWF0ZVJlZ2lvblRpZXIsXG4gICAgICAgIHBhcmVudDogUmVnaW9uLFxuICAgICAgICBjb2RlOiBVbk00OVJlZ2lvbkNvZGUgfCB1bmRlZmluZWQsXG4gICAgICAgIG5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZFxuICAgICk6IFJlc3VsdDxSZWdpb24+IHtcbiAgICAgICAgaWYgKCFjb2RlICYmICFuYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4gc3VjY2VlZChwYXJlbnQpO1xuICAgICAgICB9IGVsc2UgaWYgKCFjb2RlIHx8ICFuYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFpbChgJHtjb2RlfSgke25hbWV9KTogY29kZSBhbmQgbmFtZSBtdXN0IGJvdGggYmUgcHJlc2VudGApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZXhpc3RpbmcgPSB0aGlzLl9yZWdpb25zLmdldChjb2RlKTtcbiAgICAgICAgaWYgKGV4aXN0aW5nKSB7XG4gICAgICAgICAgICBpZiAoZXhpc3RpbmcubmFtZSAhPT0gbmFtZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWlsKGAke2NvZGV9OiBjYW5ub3QgYWRkICR7bmFtZX0gLSBhbHJlYWR5IGV4aXN0cyBhcyAke2V4aXN0aW5nLm5hbWV9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZXhpc3RpbmcudGllciAhPT0gdGllcikge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWlsKGAke2NvZGV9OiBjYW5ub3QgYWRkICR7bmFtZX0gYXMgdGllciAke3RpZXJ9IC0gYWxyZWFkeSBleGlzdHMgYXMgdGllciAke2V4aXN0aW5nLnRpZXJ9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZXhpc3RpbmcucGFyZW50ICE9PSBwYXJlbnQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBoYXZlUGFyZW50ID0gYCR7ZXhpc3RpbmcucGFyZW50LmNvZGV9LyR7ZXhpc3RpbmcucGFyZW50Lm5hbWV9YDtcbiAgICAgICAgICAgICAgICBjb25zdCB3YW50UGFyZW50ID0gYCR7cGFyZW50LmNvZGV9LyR7cGFyZW50Lm5hbWV9YDtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFpbChgJHtjb2RlfTogY2Fubm90IGFkZCAke25hbWV9IHdpdGggcGFyZW50ICR7d2FudFBhcmVudH0gLSBhbHJlYWR5IGV4aXN0cyB3aXRoIHBhcmVudCAke2hhdmVQYXJlbnR9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gc3VjY2VlZChleGlzdGluZyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhZGRlZCA9IHsgbmFtZSwgY29kZSwgdGllciwgcGFyZW50LCByZWdpb25zOiBbXSwgYXJlYXM6IFtdIH07XG4gICAgICAgIHRoaXMuX3JlZ2lvbnMuc2V0KGNvZGUsIGFkZGVkKTtcbiAgICAgICAgcGFyZW50LnJlZ2lvbnMucHVzaChhZGRlZCk7XG4gICAgICAgIHJldHVybiBzdWNjZWVkKGFkZGVkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QWxsKCk6IFJlZ2lvbltdIHtcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5fcmVnaW9ucy52YWx1ZXMoKSk7XG4gICAgfVxufVxuIl19
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAsBA,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /*
3
- * Copyright (c) 2022 Erik Fortune
3
+ * Copyright (c) 2021 Erik Fortune
4
4
  *
5
5
  * Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  * of this software and associated documentation files (the "Software"), to deal
@@ -31,24 +31,10 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
31
31
  if (k2 === undefined) k2 = k;
32
32
  o[k2] = m[k];
33
33
  }));
34
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
35
- Object.defineProperty(o, "default", { enumerable: true, value: v });
36
- }) : function(o, v) {
37
- o["default"] = v;
38
- });
39
34
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
40
35
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
41
36
  };
42
- var __importStar = (this && this.__importStar) || function (mod) {
43
- if (mod && mod.__esModule) return mod;
44
- var result = {};
45
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
46
- __setModuleDefault(result, mod);
47
- return result;
48
- };
49
37
  Object.defineProperty(exports, "__esModule", { value: true });
50
- exports.Converters = void 0;
51
- __exportStar(require("./model"), exports);
52
- const Converters = __importStar(require("./converters"));
53
- exports.Converters = Converters;
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaWFuYS9qYXIvbGFuZ3VhZ2Utc3VidGFncy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVILDBDQUF3QjtBQUN4Qix5REFBMkM7QUFFbEMsZ0NBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIyIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbCc7XG5pbXBvcnQgKiBhcyBDb252ZXJ0ZXJzIGZyb20gJy4vY29udmVydGVycyc7XG5cbmV4cG9ydCB7IENvbnZlcnRlcnMgfTtcbiJdfQ==
38
+ __exportStar(require("./jsonHelpers"), exports);
39
+ __exportStar(require("./validationHelpers"), exports);
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRzs7Ozs7Ozs7Ozs7Ozs7OztBQUVILGdEQUE4QjtBQUM5QixzREFBb0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIxIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9qc29uSGVscGVycyc7XG5leHBvcnQgKiBmcm9tICcuL3ZhbGlkYXRpb25IZWxwZXJzJztcbiJdfQ==
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonHelpers.d.ts","sourceRoot":"","sources":["../../../src/utils/jsonHelpers.ts"],"names":[],"mappings":"AAsBA,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAE1C"}
@@ -20,21 +20,10 @@
20
20
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
21
  * SOFTWARE.
22
22
  */
23
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
24
- if (k2 === undefined) k2 = k;
25
- var desc = Object.getOwnPropertyDescriptor(m, k);
26
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
27
- desc = { enumerable: true, get: function() { return m[k]; } };
28
- }
29
- Object.defineProperty(o, k2, desc);
30
- }) : (function(o, m, k, k2) {
31
- if (k2 === undefined) k2 = k;
32
- o[k2] = m[k];
33
- }));
34
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
35
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
36
- };
37
23
  Object.defineProperty(exports, "__esModule", { value: true });
38
- __exportStar(require("./jsonHelpers"), exports);
39
- __exportStar(require("./validationHelpers"), exports);
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRzs7Ozs7Ozs7Ozs7Ozs7OztBQUVILGdEQUE4QjtBQUM5QixzREFBb0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIxIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9qc29uSGVscGVycyc7XG5leHBvcnQgKiBmcm9tICcuL3ZhbGlkYXRpb25IZWxwZXJzJztcbiJdfQ==
24
+ exports.sanitizeJson = void 0;
25
+ function sanitizeJson(from) {
26
+ return JSON.parse(JSON.stringify(from));
27
+ }
28
+ exports.sanitizeJson = sanitizeJson;
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbkhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvanNvbkhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRzs7O0FBRUgsU0FBZ0IsWUFBWSxDQUFJLElBQU87SUFDbkMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQU0sQ0FBQztBQUNqRCxDQUFDO0FBRkQsb0NBRUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIxIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuZXhwb3J0IGZ1bmN0aW9uIHNhbml0aXplSnNvbjxUPihmcm9tOiBUKTogVCB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZnJvbSkpIGFzIFQ7XG59XG4iXX0=
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validationHelpers.d.ts","sourceRoot":"","sources":["../../../src/utils/validationHelpers.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,SAAS,EAAc,MAAM,EAAE,UAAU,EAAiB,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC;AAE7F;;GAEG;AACH,MAAM,WAAW,kCAAkC,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,GAAG,OAAO;IAC9E,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,UAAU,CAAC,oBAAoB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrD,WAAW,EAAE,UAAU,CAAC,oBAAoB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpD,WAAW,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,qBAAa,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,GAAG,OAAO;IACzD,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAgB,SAAS,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5C,SAAgB,YAAY,EAAE,oBAAoB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1D,SAAgB,WAAW,EAAE,oBAAoB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEzD,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAEjC,IAAI,EAAE,kCAAkC,CAAC,CAAC,EAAE,EAAE,CAAC;IAQ3D,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;IAcnD,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;IAO1D,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;CAUnE;AAED;;GAEG;AACH,MAAM,WAAW,uCAAuC,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,GAAG,OAAO;IACnF,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,qBAAa,uBAAuB,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,GAAG,OAAO,CAAE,SAAQ,iBAAiB,CAAC,CAAC,EAAE,EAAE,CAAC;IACjG,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,SAAS,EAAE,MAAM,CAAC;gBAEf,MAAM,EAAE,uCAAuC,CAAC,CAAC,EAAE,EAAE,CAAC;CAc5E"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2021 Erik Fortune
4
+ *
5
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ * of this software and associated documentation files (the "Software"), to deal
7
+ * in the Software without restriction, including without limitation the rights
8
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ * copies of the Software, and to permit persons to whom the Software is
10
+ * furnished to do so, subject to the following conditions:
11
+ *
12
+ * The above copyright notice and this permission notice shall be included in all
13
+ * copies or substantial portions of the Software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ * SOFTWARE.
22
+ */
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.RegExpValidationHelpers = exports.ValidationHelpers = void 0;
25
+ const ts_utils_1 = require("@fgv/ts-utils");
26
+ /**
27
+ * @internal
28
+ */
29
+ class ValidationHelpers {
30
+ constructor(init) {
31
+ this.description = init.description;
32
+ this.isWellFormed = init.isWellFormed;
33
+ this.isCanonical = init.isCanonical;
34
+ this._toCanonical = init.toCanonical;
35
+ this.converter = ts_utils_1.Converters.isA(this.description, this.isWellFormed);
36
+ }
37
+ toCanonical(from, context) {
38
+ if (this.isWellFormed(from, context)) {
39
+ if (this._toCanonical) {
40
+ return this._toCanonical(from, context);
41
+ }
42
+ if (this.isCanonical(from, context)) {
43
+ return (0, ts_utils_1.succeed)(from);
44
+ }
45
+ // istanbul ignore next
46
+ return (0, ts_utils_1.fail)(`cannot convert "${from}" to canonical ${this.description}`);
47
+ }
48
+ return (0, ts_utils_1.fail)(`invalid ${this.description} ("${JSON.stringify(from)}")`);
49
+ }
50
+ verifyIsWellFormed(from, context) {
51
+ if (this.isWellFormed(from, context)) {
52
+ return (0, ts_utils_1.succeed)(from);
53
+ }
54
+ return (0, ts_utils_1.fail)(`malformed ${this.description}`);
55
+ }
56
+ verifyIsCanonical(from, context) {
57
+ if (this.isCanonical(from, context)) {
58
+ return (0, ts_utils_1.succeed)(from);
59
+ }
60
+ // istanbul ignore next - should never occur and very hard to test
61
+ if (!this.isWellFormed(from, context)) {
62
+ return (0, ts_utils_1.fail)(`malformed ${this.description}`);
63
+ }
64
+ return (0, ts_utils_1.fail)(`non-canonical ${this.description}`);
65
+ }
66
+ }
67
+ exports.ValidationHelpers = ValidationHelpers;
68
+ /**
69
+ * @internal
70
+ */
71
+ class RegExpValidationHelpers extends ValidationHelpers {
72
+ constructor(params) {
73
+ super({
74
+ description: params.description,
75
+ toCanonical: params.toCanonical,
76
+ isWellFormed: (from) => {
77
+ return typeof from === 'string' && this.wellFormed.test(from);
78
+ },
79
+ isCanonical: (from) => {
80
+ return typeof from === 'string' && this.canonical.test(from);
81
+ },
82
+ });
83
+ this.wellFormed = params.wellFormed;
84
+ this.canonical = params.canonical;
85
+ }
86
+ }
87
+ exports.RegExpValidationHelpers = RegExpValidationHelpers;
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbkhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvdmFsaWRhdGlvbkhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRzs7O0FBRUgsNENBQXlGO0FBa0J6Rjs7R0FFRztBQUNILE1BQWEsaUJBQWlCO0lBUTFCLFlBQW1CLElBQStDO1FBQzlELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNwQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNyQyxJQUFJLENBQUMsU0FBUyxHQUFHLHFCQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFTSxXQUFXLENBQUMsSUFBYSxFQUFFLE9BQVk7UUFDMUMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsRUFBRTtZQUNsQyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ25CLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDM0M7WUFDRCxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxFQUFFO2dCQUNqQyxPQUFPLElBQUEsa0JBQU8sRUFBQyxJQUFJLENBQUMsQ0FBQzthQUN4QjtZQUNELHVCQUF1QjtZQUN2QixPQUFPLElBQUEsZUFBSSxFQUFDLG1CQUFtQixJQUFJLGtCQUFrQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztTQUM1RTtRQUNELE9BQU8sSUFBQSxlQUFJLEVBQUMsV0FBVyxJQUFJLENBQUMsV0FBVyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxJQUFhLEVBQUUsT0FBWTtRQUNqRCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxFQUFFO1lBQ2xDLE9BQU8sSUFBQSxrQkFBTyxFQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3hCO1FBQ0QsT0FBTyxJQUFBLGVBQUksRUFBQyxhQUFhLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxJQUFhLEVBQUUsT0FBWTtRQUNoRCxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxFQUFFO1lBQ2pDLE9BQU8sSUFBQSxrQkFBTyxFQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3hCO1FBQ0Qsa0VBQWtFO1FBQ2xFLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsRUFBRTtZQUNuQyxPQUFPLElBQUEsZUFBSSxFQUFDLGFBQWEsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7U0FDaEQ7UUFDRCxPQUFPLElBQUEsZUFBSSxFQUFDLGlCQUFpQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO0NBQ0o7QUEvQ0QsOENBK0NDO0FBWUQ7O0dBRUc7QUFDSCxNQUFhLHVCQUF3RCxTQUFRLGlCQUF3QjtJQUlqRyxZQUFtQixNQUFzRDtRQUNyRSxLQUFLLENBQUM7WUFDRixXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVc7WUFDL0IsV0FBVyxFQUFFLE1BQU0sQ0FBQyxXQUFXO1lBQy9CLFlBQVksRUFBRSxDQUFDLElBQWEsRUFBYSxFQUFFO2dCQUN2QyxPQUFPLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsRSxDQUFDO1lBQ0QsV0FBVyxFQUFFLENBQUMsSUFBYSxFQUFhLEVBQUU7Z0JBQ3RDLE9BQU8sT0FBTyxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pFLENBQUM7U0FDSixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO0lBQ3RDLENBQUM7Q0FDSjtBQWxCRCwwREFrQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIxIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuaW1wb3J0IHsgQ29udmVydGVyLCBDb252ZXJ0ZXJzLCBSZXN1bHQsIFZhbGlkYXRpb24sIGZhaWwsIHN1Y2NlZWQgfSBmcm9tICdAZmd2L3RzLXV0aWxzJztcbmltcG9ydCB7IFR5cGVHdWFyZFdpdGhDb250ZXh0IH0gZnJvbSAnQGZndi90cy11dGlscy92YWxpZGF0aW9uJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IHR5cGUgTm9ybWFsaXplcjxUIGV4dGVuZHMgc3RyaW5nLCBUQyA9IHVua25vd24+ID0gKHZhbDogVCwgY29udGV4dD86IFRDKSA9PiBSZXN1bHQ8VD47XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdGlvbkhlbHBlcnNDb25zdHJ1Y3RvclBhcmFtczxUIGV4dGVuZHMgc3RyaW5nLCBUQyA9IHVua25vd24+IHtcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIGlzV2VsbEZvcm1lZDogVmFsaWRhdGlvbi5UeXBlR3VhcmRXaXRoQ29udGV4dDxULCBUQz47XG4gICAgaXNDYW5vbmljYWw6IFZhbGlkYXRpb24uVHlwZUd1YXJkV2l0aENvbnRleHQ8VCwgVEM+O1xuICAgIHRvQ2Fub25pY2FsPzogTm9ybWFsaXplcjxULCBUQz47XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBWYWxpZGF0aW9uSGVscGVyczxUIGV4dGVuZHMgc3RyaW5nLCBUQyA9IHVua25vd24+IHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29udmVydGVyOiBDb252ZXJ0ZXI8VCwgVEM+O1xuICAgIHB1YmxpYyByZWFkb25seSBpc1dlbGxGb3JtZWQ6IFR5cGVHdWFyZFdpdGhDb250ZXh0PFQsIFRDPjtcbiAgICBwdWJsaWMgcmVhZG9ubHkgaXNDYW5vbmljYWw6IFR5cGVHdWFyZFdpdGhDb250ZXh0PFQsIFRDPjtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBfdG9DYW5vbmljYWw/OiBOb3JtYWxpemVyPFQsIFRDPjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihpbml0OiBWYWxpZGF0aW9uSGVscGVyc0NvbnN0cnVjdG9yUGFyYW1zPFQsIFRDPikge1xuICAgICAgICB0aGlzLmRlc2NyaXB0aW9uID0gaW5pdC5kZXNjcmlwdGlvbjtcbiAgICAgICAgdGhpcy5pc1dlbGxGb3JtZWQgPSBpbml0LmlzV2VsbEZvcm1lZDtcbiAgICAgICAgdGhpcy5pc0Nhbm9uaWNhbCA9IGluaXQuaXNDYW5vbmljYWw7XG4gICAgICAgIHRoaXMuX3RvQ2Fub25pY2FsID0gaW5pdC50b0Nhbm9uaWNhbDtcbiAgICAgICAgdGhpcy5jb252ZXJ0ZXIgPSBDb252ZXJ0ZXJzLmlzQSh0aGlzLmRlc2NyaXB0aW9uLCB0aGlzLmlzV2VsbEZvcm1lZCk7XG4gICAgfVxuXG4gICAgcHVibGljIHRvQ2Fub25pY2FsKGZyb206IHVua25vd24sIGNvbnRleHQ/OiBUQyk6IFJlc3VsdDxUPiB7XG4gICAgICAgIGlmICh0aGlzLmlzV2VsbEZvcm1lZChmcm9tLCBjb250ZXh0KSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuX3RvQ2Fub25pY2FsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3RvQ2Fub25pY2FsKGZyb20sIGNvbnRleHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuaXNDYW5vbmljYWwoZnJvbSwgY29udGV4dCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc3VjY2VlZChmcm9tKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0XG4gICAgICAgICAgICByZXR1cm4gZmFpbChgY2Fubm90IGNvbnZlcnQgXCIke2Zyb219XCIgdG8gY2Fub25pY2FsICR7dGhpcy5kZXNjcmlwdGlvbn1gKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFpbChgaW52YWxpZCAke3RoaXMuZGVzY3JpcHRpb259IChcIiR7SlNPTi5zdHJpbmdpZnkoZnJvbSl9XCIpYCk7XG4gICAgfVxuXG4gICAgcHVibGljIHZlcmlmeUlzV2VsbEZvcm1lZChmcm9tOiB1bmtub3duLCBjb250ZXh0PzogVEMpOiBSZXN1bHQ8VD4ge1xuICAgICAgICBpZiAodGhpcy5pc1dlbGxGb3JtZWQoZnJvbSwgY29udGV4dCkpIHtcbiAgICAgICAgICAgIHJldHVybiBzdWNjZWVkKGZyb20pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWlsKGBtYWxmb3JtZWQgJHt0aGlzLmRlc2NyaXB0aW9ufWApO1xuICAgIH1cblxuICAgIHB1YmxpYyB2ZXJpZnlJc0Nhbm9uaWNhbChmcm9tOiB1bmtub3duLCBjb250ZXh0PzogVEMpOiBSZXN1bHQ8VD4ge1xuICAgICAgICBpZiAodGhpcy5pc0Nhbm9uaWNhbChmcm9tLCBjb250ZXh0KSkge1xuICAgICAgICAgICAgcmV0dXJuIHN1Y2NlZWQoZnJvbSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gaXN0YW5idWwgaWdub3JlIG5leHQgLSBzaG91bGQgbmV2ZXIgb2NjdXIgYW5kIHZlcnkgaGFyZCB0byB0ZXN0XG4gICAgICAgIGlmICghdGhpcy5pc1dlbGxGb3JtZWQoZnJvbSwgY29udGV4dCkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWlsKGBtYWxmb3JtZWQgJHt0aGlzLmRlc2NyaXB0aW9ufWApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWlsKGBub24tY2Fub25pY2FsICR7dGhpcy5kZXNjcmlwdGlvbn1gKTtcbiAgICB9XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVnRXhwVmFsaWRhdGlvbkhlbHBlckNvbnN0cnVjdG9yUGFyYW1zPFQgZXh0ZW5kcyBzdHJpbmcsIFRDID0gdW5rbm93bj4ge1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgd2VsbEZvcm1lZDogUmVnRXhwO1xuICAgIGNhbm9uaWNhbDogUmVnRXhwO1xuICAgIHRvQ2Fub25pY2FsPzogTm9ybWFsaXplcjxULCBUQz47XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBSZWdFeHBWYWxpZGF0aW9uSGVscGVyczxUIGV4dGVuZHMgc3RyaW5nLCBUQyA9IHVua25vd24+IGV4dGVuZHMgVmFsaWRhdGlvbkhlbHBlcnM8VCwgVEM+IHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgd2VsbEZvcm1lZDogUmVnRXhwO1xuICAgIHB1YmxpYyByZWFkb25seSBjYW5vbmljYWw6IFJlZ0V4cDtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihwYXJhbXM6IFJlZ0V4cFZhbGlkYXRpb25IZWxwZXJDb25zdHJ1Y3RvclBhcmFtczxULCBUQz4pIHtcbiAgICAgICAgc3VwZXIoe1xuICAgICAgICAgICAgZGVzY3JpcHRpb246IHBhcmFtcy5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgIHRvQ2Fub25pY2FsOiBwYXJhbXMudG9DYW5vbmljYWwsXG4gICAgICAgICAgICBpc1dlbGxGb3JtZWQ6IChmcm9tOiB1bmtub3duKTogZnJvbSBpcyBUID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHlwZW9mIGZyb20gPT09ICdzdHJpbmcnICYmIHRoaXMud2VsbEZvcm1lZC50ZXN0KGZyb20pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGlzQ2Fub25pY2FsOiAoZnJvbTogdW5rbm93bik6IGZyb20gaXMgVCA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiBmcm9tID09PSAnc3RyaW5nJyAmJiB0aGlzLmNhbm9uaWNhbC50ZXN0KGZyb20pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMud2VsbEZvcm1lZCA9IHBhcmFtcy53ZWxsRm9ybWVkO1xuICAgICAgICB0aGlzLmNhbm9uaWNhbCA9IHBhcmFtcy5jYW5vbmljYWw7XG4gICAgfVxufVxuIl19
@@ -1 +0,0 @@
1
- {"version":3,"file":"converters.d.ts","sourceRoot":"","sources":["../../../src/bcp47/bcp47Subtags/converters.ts"],"names":[],"mappings":"AAwBA;;GAEG;AACH,eAAO,MAAM,eAAe,+EAAqC,CAAC;AAClE;;GAEG;AACH,eAAO,MAAM,gBAAgB,gFAAsC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bcp47/bcp47Subtags/index.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/bcp47/bcp47Subtags/model.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAE/D;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AAEjE;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AAEjE;;GAEG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/bcp47/bcp47Subtags/validate.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,iBAAiB,MAAM,oCAAoC,CAAC;AACxE,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAKtD;;GAEG;AACH,eAAO,MAAM,kBAAkB,8EAAgD,CAAC;AAEhF;;GAEG;AACH,eAAO,MAAM,eAAe,2DAK1B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB,4DAK3B,CAAC"}
@@ -1,74 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2021 Erik Fortune
4
- *
5
- * Permission is hereby granted, free of charge, to any person obtaining a copy
6
- * of this software and associated documentation files (the "Software"), to deal
7
- * in the Software without restriction, including without limitation the rights
8
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- * copies of the Software, and to permit persons to whom the Software is
10
- * furnished to do so, subject to the following conditions:
11
- *
12
- * The above copyright notice and this permission notice shall be included in all
13
- * copies or substantial portions of the Software.
14
- *
15
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- * SOFTWARE.
22
- */
23
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
24
- if (k2 === undefined) k2 = k;
25
- var desc = Object.getOwnPropertyDescriptor(m, k);
26
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
27
- desc = { enumerable: true, get: function() { return m[k]; } };
28
- }
29
- Object.defineProperty(o, k2, desc);
30
- }) : (function(o, m, k, k2) {
31
- if (k2 === undefined) k2 = k;
32
- o[k2] = m[k];
33
- }));
34
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
35
- Object.defineProperty(o, "default", { enumerable: true, value: v });
36
- }) : function(o, v) {
37
- o["default"] = v;
38
- });
39
- var __importStar = (this && this.__importStar) || function (mod) {
40
- if (mod && mod.__esModule) return mod;
41
- var result = {};
42
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
43
- __setModuleDefault(result, mod);
44
- return result;
45
- };
46
- Object.defineProperty(exports, "__esModule", { value: true });
47
- exports.privateUsePrefix = exports.extensionSubtag = exports.extensionSingleton = void 0;
48
- const ExtensionRegistry = __importStar(require("../../iana/language-tag-extensions"));
49
- const utils_1 = require("../../utils");
50
- const tagValidation_1 = require("../../iana/jar/language-subtags/tags/tagValidation");
51
- const ts_utils_1 = require("@fgv/ts-utils");
52
- /**
53
- * @public
54
- */
55
- exports.extensionSingleton = ExtensionRegistry.Validate.extensionSingleton;
56
- /**
57
- * @public
58
- */
59
- exports.extensionSubtag = new utils_1.RegExpValidationHelpers({
60
- description: 'language tag extension subtag',
61
- wellFormed: /^([a-zA-Z0-9]{2,8})(-[a-zA-Z0-9]{2,8})*$/,
62
- canonical: /^([a-z0-9]{2,8})(-[a-z0-9]{2,8})*$/,
63
- toCanonical: (from) => tagValidation_1.TagValidationHelpers.toCanonicalTag(from),
64
- });
65
- /**
66
- * @public
67
- */
68
- exports.privateUsePrefix = new utils_1.RegExpValidationHelpers({
69
- description: 'language tag private-use prefix',
70
- wellFormed: /^[xX]$/,
71
- canonical: /^x$/,
72
- toCanonical: (from) => (0, ts_utils_1.succeed)(from.toLowerCase()),
73
- });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmNwNDcvYmNwNDdTdWJ0YWdzL3ZhbGlkYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUgsc0ZBQXdFO0FBR3hFLHVDQUFzRDtBQUN0RCxzRkFBMEY7QUFFMUYsNENBQXdDO0FBRXhDOztHQUVHO0FBQ1UsUUFBQSxrQkFBa0IsR0FBRyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUM7QUFFaEY7O0dBRUc7QUFDVSxRQUFBLGVBQWUsR0FBRyxJQUFJLCtCQUF1QixDQUEwQjtJQUNoRixXQUFXLEVBQUUsK0JBQStCO0lBQzVDLFVBQVUsRUFBRSwwQ0FBMEM7SUFDdEQsU0FBUyxFQUFFLG9DQUFvQztJQUMvQyxXQUFXLEVBQUUsQ0FBQyxJQUE2QixFQUFFLEVBQUUsQ0FBQyxvQ0FBb0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO0NBQzVGLENBQUMsQ0FBQztBQUVIOztHQUVHO0FBQ1UsUUFBQSxnQkFBZ0IsR0FBRyxJQUFJLCtCQUF1QixDQUEyQjtJQUNsRixXQUFXLEVBQUUsaUNBQWlDO0lBQzlDLFVBQVUsRUFBRSxRQUFRO0lBQ3BCLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLFdBQVcsRUFBRSxDQUFDLElBQThCLEVBQUUsRUFBRSxDQUFDLElBQUEsa0JBQU8sRUFBQyxJQUFJLENBQUMsV0FBVyxFQUE4QixDQUFDO0NBQzNHLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjEgRXJpayBGb3J0dW5lXG4gKlxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuICpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gKiBTT0ZUV0FSRS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBFeHRlbnNpb25SZWdpc3RyeSBmcm9tICcuLi8uLi9pYW5hL2xhbmd1YWdlLXRhZy1leHRlbnNpb25zJztcbmltcG9ydCAqIGFzIFN1YnRhZ3MgZnJvbSAnLi9tb2RlbCc7XG5cbmltcG9ydCB7IFJlZ0V4cFZhbGlkYXRpb25IZWxwZXJzIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgVGFnVmFsaWRhdGlvbkhlbHBlcnMgfSBmcm9tICcuLi8uLi9pYW5hL2phci9sYW5ndWFnZS1zdWJ0YWdzL3RhZ3MvdGFnVmFsaWRhdGlvbic7XG5cbmltcG9ydCB7IHN1Y2NlZWQgfSBmcm9tICdAZmd2L3RzLXV0aWxzJztcblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBleHRlbnNpb25TaW5nbGV0b24gPSBFeHRlbnNpb25SZWdpc3RyeS5WYWxpZGF0ZS5leHRlbnNpb25TaW5nbGV0b247XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgZXh0ZW5zaW9uU3VidGFnID0gbmV3IFJlZ0V4cFZhbGlkYXRpb25IZWxwZXJzPFN1YnRhZ3MuRXh0ZW5zaW9uU3VidGFnPih7XG4gICAgZGVzY3JpcHRpb246ICdsYW5ndWFnZSB0YWcgZXh0ZW5zaW9uIHN1YnRhZycsXG4gICAgd2VsbEZvcm1lZDogL14oW2EtekEtWjAtOV17Miw4fSkoLVthLXpBLVowLTldezIsOH0pKiQvLFxuICAgIGNhbm9uaWNhbDogL14oW2EtejAtOV17Miw4fSkoLVthLXowLTldezIsOH0pKiQvLFxuICAgIHRvQ2Fub25pY2FsOiAoZnJvbTogU3VidGFncy5FeHRlbnNpb25TdWJ0YWcpID0+IFRhZ1ZhbGlkYXRpb25IZWxwZXJzLnRvQ2Fub25pY2FsVGFnKGZyb20pLFxufSk7XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgcHJpdmF0ZVVzZVByZWZpeCA9IG5ldyBSZWdFeHBWYWxpZGF0aW9uSGVscGVyczxTdWJ0YWdzLlByaXZhdGVVc2VQcmVmaXg+KHtcbiAgICBkZXNjcmlwdGlvbjogJ2xhbmd1YWdlIHRhZyBwcml2YXRlLXVzZSBwcmVmaXgnLFxuICAgIHdlbGxGb3JtZWQ6IC9eW3hYXSQvLFxuICAgIGNhbm9uaWNhbDogL154JC8sXG4gICAgdG9DYW5vbmljYWw6IChmcm9tOiBTdWJ0YWdzLlByaXZhdGVVc2VQcmVmaXgpID0+IHN1Y2NlZWQoZnJvbS50b0xvd2VyQ2FzZSgpIGFzIFN1YnRhZ3MuUHJpdmF0ZVVzZVByZWZpeCksXG59KTtcbiJdfQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/bcp47/common.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,kBAAkB,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,eAAe,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACpB,eAAe,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC;IACtD,QAAQ,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;IAChD,MAAM,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;IAC3C,MAAM,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;IAC3C,QAAQ,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;IAChD,UAAU,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACpC,UAAU,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,qBAAqB,EAAE,CAAC;IAE1D,aAAa,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC;CACzD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAexD;AAED;;GAEG;AAEH,eAAO,MAAM,oBAAoB,qCAA+C,CAAC;AAEjF;;GAEG;AAEH,eAAO,MAAM,YAAY,mCAA6C,CAAC"}
package/bcp47/common.js DELETED
@@ -1,59 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2022 Erik Fortune
4
- *
5
- * Permission is hereby granted, free of charge, to any person obtaining a copy
6
- * of this software and associated documentation files (the "Software"), to deal
7
- * in the Software without restriction, including without limitation the rights
8
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- * copies of the Software, and to permit persons to whom the Software is
10
- * furnished to do so, subject to the following conditions:
11
- *
12
- * The above copyright notice and this permission notice shall be included in all
13
- * copies or substantial portions of the Software.
14
- *
15
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- * SOFTWARE.
22
- */
23
- Object.defineProperty(exports, "__esModule", { value: true });
24
- exports.GlobalRegion = exports.UndeterminedLanguage = exports.subtagsToString = void 0;
25
- /**
26
- * Converts {@link Bcp47.Subtags | subtags} to a string.
27
- * @param subtags - The {@link Bcp47.Subtags | subtags} to be converted.
28
- * @returns A string representing the supplied {@link Bcp47.Subtags | subtags}.
29
- * @public
30
- */
31
- function subtagsToString(subtags) {
32
- var _a, _b, _c, _d;
33
- if (subtags.grandfathered) {
34
- return subtags.grandfathered;
35
- }
36
- return [
37
- subtags.primaryLanguage,
38
- ...((_a = subtags.extlangs) !== null && _a !== void 0 ? _a : []),
39
- subtags.script,
40
- subtags.region,
41
- ...((_b = subtags.variants) !== null && _b !== void 0 ? _b : []),
42
- ...((_c = subtags.extensions) !== null && _c !== void 0 ? _c : []).map((e) => `${e.singleton}-${e.value}`),
43
- ...((_d = subtags.privateUse) !== null && _d !== void 0 ? _d : []).map((p) => `x-${p}`),
44
- ]
45
- .filter((s) => s !== undefined)
46
- .join('-');
47
- }
48
- exports.subtagsToString = subtagsToString;
49
- /**
50
- * @public
51
- */
52
- // eslint-disable-next-line @typescript-eslint/naming-convention
53
- exports.UndeterminedLanguage = 'und';
54
- /**
55
- * @public
56
- */
57
- // eslint-disable-next-line @typescript-eslint/naming-convention
58
- exports.GlobalRegion = '001';
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2JjcDQ3L2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHOzs7QUE2Qkg7Ozs7O0dBS0c7QUFDSCxTQUFnQixlQUFlLENBQUMsT0FBZ0I7O0lBQzVDLElBQUksT0FBTyxDQUFDLGFBQWEsRUFBRTtRQUN2QixPQUFPLE9BQU8sQ0FBQyxhQUFhLENBQUM7S0FDaEM7SUFDRCxPQUFPO1FBQ0gsT0FBTyxDQUFDLGVBQWU7UUFDdkIsR0FBRyxDQUFDLE1BQUEsT0FBTyxDQUFDLFFBQVEsbUNBQUksRUFBRSxDQUFDO1FBQzNCLE9BQU8sQ0FBQyxNQUFNO1FBQ2QsT0FBTyxDQUFDLE1BQU07UUFDZCxHQUFHLENBQUMsTUFBQSxPQUFPLENBQUMsUUFBUSxtQ0FBSSxFQUFFLENBQUM7UUFDM0IsR0FBRyxDQUFDLE1BQUEsT0FBTyxDQUFDLFVBQVUsbUNBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3JFLEdBQUcsQ0FBQyxNQUFBLE9BQU8sQ0FBQyxVQUFVLG1DQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztLQUNyRDtTQUNJLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBZSxFQUFFLENBQUMsQ0FBQyxLQUFLLFNBQVMsQ0FBQztTQUMzQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDbkIsQ0FBQztBQWZELDBDQWVDO0FBRUQ7O0dBRUc7QUFDSCxnRUFBZ0U7QUFDbkQsUUFBQSxvQkFBb0IsR0FBRyxLQUE0QyxDQUFDO0FBRWpGOztHQUVHO0FBQ0gsZ0VBQWdFO0FBQ25ELFFBQUEsWUFBWSxHQUFHLEtBQTBDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIyIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuaW1wb3J0ICogYXMgSWFuYSBmcm9tICcuLi9pYW5hJztcblxuaW1wb3J0IHsgTW9kZWwgfSBmcm9tICcuL2JjcDQ3U3VidGFncyc7XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEV4dGVuc2lvblN1YnRhZ1ZhbHVlIHtcbiAgICByZWFkb25seSBzaW5nbGV0b246IE1vZGVsLkV4dGVuc2lvblNpbmdsZXRvbjtcbiAgICByZWFkb25seSB2YWx1ZTogTW9kZWwuRXh0ZW5zaW9uU3VidGFnO1xufVxuXG4vKipcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdWJ0YWdzIHtcbiAgICBwcmltYXJ5TGFuZ3VhZ2U/OiBJYW5hLkxhbmd1YWdlU3VidGFncy5MYW5ndWFnZVN1YnRhZztcbiAgICBleHRsYW5ncz86IElhbmEuTGFuZ3VhZ2VTdWJ0YWdzLkV4dExhbmdTdWJ0YWdbXTtcbiAgICBzY3JpcHQ/OiBJYW5hLkxhbmd1YWdlU3VidGFncy5TY3JpcHRTdWJ0YWc7XG4gICAgcmVnaW9uPzogSWFuYS5MYW5ndWFnZVN1YnRhZ3MuUmVnaW9uU3VidGFnO1xuICAgIHZhcmlhbnRzPzogSWFuYS5MYW5ndWFnZVN1YnRhZ3MuVmFyaWFudFN1YnRhZ1tdO1xuICAgIGV4dGVuc2lvbnM/OiBFeHRlbnNpb25TdWJ0YWdWYWx1ZVtdO1xuICAgIHByaXZhdGVVc2U/OiBJYW5hLkxhbmd1YWdlU3VidGFncy5FeHRlbmRlZExhbmd1YWdlUmFuZ2VbXTtcblxuICAgIGdyYW5kZmF0aGVyZWQ/OiBJYW5hLkxhbmd1YWdlU3VidGFncy5HcmFuZGZhdGhlcmVkVGFnO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIHtAbGluayBCY3A0Ny5TdWJ0YWdzIHwgc3VidGFnc30gdG8gYSBzdHJpbmcuXG4gKiBAcGFyYW0gc3VidGFncyAtIFRoZSB7QGxpbmsgQmNwNDcuU3VidGFncyB8IHN1YnRhZ3N9IHRvIGJlIGNvbnZlcnRlZC5cbiAqIEByZXR1cm5zIEEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgc3VwcGxpZWQge0BsaW5rIEJjcDQ3LlN1YnRhZ3MgfCBzdWJ0YWdzfS5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN1YnRhZ3NUb1N0cmluZyhzdWJ0YWdzOiBTdWJ0YWdzKTogc3RyaW5nIHtcbiAgICBpZiAoc3VidGFncy5ncmFuZGZhdGhlcmVkKSB7XG4gICAgICAgIHJldHVybiBzdWJ0YWdzLmdyYW5kZmF0aGVyZWQ7XG4gICAgfVxuICAgIHJldHVybiBbXG4gICAgICAgIHN1YnRhZ3MucHJpbWFyeUxhbmd1YWdlLFxuICAgICAgICAuLi4oc3VidGFncy5leHRsYW5ncyA/PyBbXSksXG4gICAgICAgIHN1YnRhZ3Muc2NyaXB0LFxuICAgICAgICBzdWJ0YWdzLnJlZ2lvbixcbiAgICAgICAgLi4uKHN1YnRhZ3MudmFyaWFudHMgPz8gW10pLFxuICAgICAgICAuLi4oc3VidGFncy5leHRlbnNpb25zID8/IFtdKS5tYXAoKGUpID0+IGAke2Uuc2luZ2xldG9ufS0ke2UudmFsdWV9YCksXG4gICAgICAgIC4uLihzdWJ0YWdzLnByaXZhdGVVc2UgPz8gW10pLm1hcCgocCkgPT4gYHgtJHtwfWApLFxuICAgIF1cbiAgICAgICAgLmZpbHRlcigocyk6IHMgaXMgc3RyaW5nID0+IHMgIT09IHVuZGVmaW5lZClcbiAgICAgICAgLmpvaW4oJy0nKTtcbn1cblxuLyoqXG4gKiBAcHVibGljXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBVbmRldGVybWluZWRMYW5ndWFnZSA9ICd1bmQnIGFzIElhbmEuTGFuZ3VhZ2VTdWJ0YWdzLkxhbmd1YWdlU3VidGFnO1xuXG4vKipcbiAqIEBwdWJsaWNcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGNvbnN0IEdsb2JhbFJlZ2lvbiA9ICcwMDEnIGFzIElhbmEuTGFuZ3VhZ2VTdWJ0YWdzLlJlZ2lvblN1YnRhZztcbiJdfQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/bcp47/helpers.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAmB,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,MAAM,EAAuB,MAAM,eAAe,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC;AAE1D;;;;;;;;;;;;;;GAcG;AAEH,wBAAgB,GAAG,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,MAAM,CAAC,WAAW,CAAC,CAE7F;AAED;;;;;;;;;GASG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,CAElG;AAED;;;;;;;;;;;;;;GAcG;AAEH,wBAAgB,UAAU,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC,CAI/G;AAED;;;;;;;;;GASG;AACH,wBAAgB,MAAM,CAClB,OAAO,EAAE,YAAY,EAAE,EACvB,SAAS,EAAE,YAAY,EAAE,EACzB,OAAO,CAAC,EAAE,sBAAsB,GAAG,sBAAsB,GAC1D,MAAM,CAAC,WAAW,EAAE,CAAC,CAMvB"}
package/bcp47/helpers.js DELETED
@@ -1,103 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2022 Erik Fortune
4
- *
5
- * Permission is hereby granted, free of charge, to any person obtaining a copy
6
- * of this software and associated documentation files (the "Software"), to deal
7
- * in the Software without restriction, including without limitation the rights
8
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- * copies of the Software, and to permit persons to whom the Software is
10
- * furnished to do so, subject to the following conditions:
11
- *
12
- * The above copyright notice and this permission notice shall be included in all
13
- * copies or substantial portions of the Software.
14
- *
15
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- * SOFTWARE.
22
- */
23
- Object.defineProperty(exports, "__esModule", { value: true });
24
- exports.choose = exports.similarity = exports.tags = exports.tag = void 0;
25
- const chooser_1 = require("./match/chooser");
26
- const languageTag_1 = require("./languageTag");
27
- const ts_utils_1 = require("@fgv/ts-utils");
28
- const match_1 = require("./match");
29
- /**
30
- * Creates a new {@link Bcp47.LanguageTag | language tag} from a {@link Bcp47.LanguageSpec | language specifier}
31
- *
32
- * The supplied initializer must be at least
33
- * {@link https://www.rfc-editor.org/rfc/rfc5646.html#section-2.2.9 | well-formed according to RFC 5646}.
34
- * Higher degrees of validation along with any normalizations may be optionally specified.
35
- *
36
- * @param from - The {@link Bcp47.LanguageSpec | language specifier} from which the tag is to
37
- * be created.
38
- * @param options - (optional) The {@link Bcp47.LanguageTagInitOptions | options} used to construct
39
- * and validate the tag.
40
- * @returns `Success` with a valid {@link Bcp47.LanguageTag | language tag} or `Failure` with details
41
- * if an error occurs.
42
- * @public
43
- */
44
- // istanbul ignore next - tests applied for wrapped function
45
- function tag(from, options) {
46
- return from instanceof languageTag_1.LanguageTag ? (0, ts_utils_1.succeed)(from) : languageTag_1.LanguageTag.create(from, options);
47
- }
48
- exports.tag = tag;
49
- /**
50
- * Creates an array of {@link Bcp47.LanguageTag | language tags} from an incoming array of
51
- * {@link Bcp47.LanguageSpec | language specifiers}.
52
- * @param from - The array of {@link Bcp47.LanguageSpec} to be converted.
53
- * @param options - (optional) The {@link Bcp47.LanguageTagInitOptions | options} used to construct
54
- * and validate any created tags.
55
- * @returns `Success` with an array of {@link Bcp47.LanguageTag | language tags}, or `Failure`
56
- * with details if an error occurs.
57
- * @public
58
- */
59
- function tags(from, options) {
60
- return (0, ts_utils_1.mapResults)(from.map((f) => tag(f, options)));
61
- }
62
- exports.tags = tags;
63
- /**
64
- * Determine how similar two language tags are to each other.
65
- *
66
- * @param t1 - First tag to match, supplied as one of `string`, individual
67
- * {@link Bcp47.Subtags | subtags}, or constructed
68
- * {@link Bcp47.LanguageTag | language tag}.
69
- * @param t2 - Second tag to match, supplied as one of `string`, individual
70
- * {@link Bcp47.Subtags | subtags}, or constructed
71
- * {@link Bcp47.LanguageTag | language tag}.
72
- * @param options - (optional) A set of {@link Bcp47.LanguageTagInitOptions | language tag options}
73
- * which control any necessary conversion or parsing.
74
- * @returns A numeric value in the range 1.0 (exact match) to 0.0 (no match).
75
- * @see For a set of common levels of similarity, see {@link Bcp47.tagSimilarity | similarity}.
76
- * @public
77
- */
78
- // istanbul ignore next - tests applied for wrapped function
79
- function similarity(t1, t2, options) {
80
- return tags([t1, t2], options).onSuccess((tags) => {
81
- return (0, ts_utils_1.succeed)(new match_1.LanguageSimilarityMatcher().matchLanguageTags(tags[0], tags[1]));
82
- });
83
- }
84
- exports.similarity = similarity;
85
- /**
86
- * Matches a list of desired {@link Bcp47.LanguageSpec | languages} to a list of available {@link Bcp47.LanguageSpec | languages},
87
- * return a list of matching languages ordered from best to worst.
88
- * @param desired - An array of {@link Bcp47.LanguageSpec | language specifications} containing an ordered list of preferred languages.
89
- * @param available - An array of {@link Bcp47.LanguageSpec | language specifications} containing an unordered list of available languages.
90
- * @param options - (optional) Parameters to control language tag conversion or comparison
91
- * @returns `Success` with an ordered list of matching {@link Bcp47.LanguageTag | languages}, or `Failure` with details if
92
- * an error occurs.
93
- * @public
94
- */
95
- function choose(desired, available, options) {
96
- return tags(desired, options).onSuccess((w) => {
97
- return tags(available, options).onSuccess((h) => {
98
- return (0, ts_utils_1.succeed)(new chooser_1.LanguageChooser().filterLanguageTags(w, h, options));
99
- });
100
- });
101
- }
102
- exports.choose = choose;
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iY3A0Ny9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7OztBQUVILDZDQUEwRTtBQUMxRSwrQ0FBb0U7QUFDcEUsNENBQTREO0FBQzVELG1DQUFvRDtBQVdwRDs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILDREQUE0RDtBQUM1RCxTQUFnQixHQUFHLENBQUMsSUFBa0IsRUFBRSxPQUFnQztJQUNwRSxPQUFPLElBQUksWUFBWSx5QkFBVyxDQUFDLENBQUMsQ0FBQyxJQUFBLGtCQUFPLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLHlCQUFXLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztBQUMzRixDQUFDO0FBRkQsa0JBRUM7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxTQUFnQixJQUFJLENBQUMsSUFBb0IsRUFBRSxPQUFnQztJQUN2RSxPQUFPLElBQUEscUJBQVUsRUFBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4RCxDQUFDO0FBRkQsb0JBRUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILDREQUE0RDtBQUM1RCxTQUFnQixVQUFVLENBQUMsRUFBZ0IsRUFBRSxFQUFnQixFQUFFLE9BQWdDO0lBQzNGLE9BQU8sSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQzlDLE9BQU8sSUFBQSxrQkFBTyxFQUFDLElBQUksaUNBQXlCLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4RixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFKRCxnQ0FJQztBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILFNBQWdCLE1BQU0sQ0FDbEIsT0FBdUIsRUFDdkIsU0FBeUIsRUFDekIsT0FBeUQ7SUFFekQsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQzFDLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUM1QyxPQUFPLElBQUEsa0JBQU8sRUFBQyxJQUFJLHlCQUFlLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDNUUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFWRCx3QkFVQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjIgRXJpayBGb3J0dW5lXG4gKlxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuICpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gKiBTT0ZUV0FSRS5cbiAqL1xuXG5pbXBvcnQgeyBMYW5ndWFnZUNob29zZXIsIExhbmd1YWdlQ2hvb3Nlck9wdGlvbnMgfSBmcm9tICcuL21hdGNoL2Nob29zZXInO1xuaW1wb3J0IHsgTGFuZ3VhZ2VUYWcsIExhbmd1YWdlVGFnSW5pdE9wdGlvbnMgfSBmcm9tICcuL2xhbmd1YWdlVGFnJztcbmltcG9ydCB7IFJlc3VsdCwgbWFwUmVzdWx0cywgc3VjY2VlZCB9IGZyb20gJ0BmZ3YvdHMtdXRpbHMnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VTaW1pbGFyaXR5TWF0Y2hlciB9IGZyb20gJy4vbWF0Y2gnO1xuaW1wb3J0IHsgU3VidGFncyB9IGZyb20gJy4vY29tbW9uJztcblxuLyoqXG4gKiBBbnkgb2YgdGhlIHBvc3NpYmxlIHdheXMgdG8gcmVwcmVzZW50IGEgbGFuZ3VhZ2UgLSBhcyBhIGBzdHJpbmdgLFxuICogcGFyc2VkIHtAbGluayBCY3A0Ny5TdWJ0YWdzIHwgc3VidGFnc30gb3IgYW4gaW5zdGFudGlhdGVkXG4gKiB7QGxpbmsgQmNwNDcuTGFuZ3VhZ2VUYWcgfCBsYW5ndWFnZSB0YWd9LlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBMYW5ndWFnZVNwZWMgPSBzdHJpbmcgfCBTdWJ0YWdzIHwgTGFuZ3VhZ2VUYWc7XG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldyB7QGxpbmsgQmNwNDcuTGFuZ3VhZ2VUYWcgfCBsYW5ndWFnZSB0YWd9IGZyb20gYSB7QGxpbmsgQmNwNDcuTGFuZ3VhZ2VTcGVjIHwgbGFuZ3VhZ2Ugc3BlY2lmaWVyfVxuICpcbiAqIFRoZSBzdXBwbGllZCBpbml0aWFsaXplciBtdXN0IGJlIGF0IGxlYXN0XG4gKiB7QGxpbmsgaHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvcmZjL3JmYzU2NDYuaHRtbCNzZWN0aW9uLTIuMi45IHwgd2VsbC1mb3JtZWQgYWNjb3JkaW5nIHRvIFJGQyA1NjQ2fS5cbiAqIEhpZ2hlciBkZWdyZWVzIG9mIHZhbGlkYXRpb24gYWxvbmcgd2l0aCBhbnkgbm9ybWFsaXphdGlvbnMgbWF5IGJlIG9wdGlvbmFsbHkgc3BlY2lmaWVkLlxuICpcbiAqIEBwYXJhbSBmcm9tIC0gVGhlIHtAbGluayBCY3A0Ny5MYW5ndWFnZVNwZWMgfCBsYW5ndWFnZSBzcGVjaWZpZXJ9IGZyb20gd2hpY2ggdGhlIHRhZyBpcyB0b1xuICogYmUgY3JlYXRlZC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gKG9wdGlvbmFsKSBUaGUge0BsaW5rIEJjcDQ3Lkxhbmd1YWdlVGFnSW5pdE9wdGlvbnMgfCBvcHRpb25zfSB1c2VkIHRvIGNvbnN0cnVjdFxuICogYW5kIHZhbGlkYXRlIHRoZSB0YWcuXG4gKiBAcmV0dXJucyBgU3VjY2Vzc2Agd2l0aCBhIHZhbGlkIHtAbGluayBCY3A0Ny5MYW5ndWFnZVRhZyB8IGxhbmd1YWdlIHRhZ30gb3IgYEZhaWx1cmVgIHdpdGggZGV0YWlsc1xuICogaWYgYW4gZXJyb3Igb2NjdXJzLlxuICogQHB1YmxpY1xuICovXG4vLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAtIHRlc3RzIGFwcGxpZWQgZm9yIHdyYXBwZWQgZnVuY3Rpb25cbmV4cG9ydCBmdW5jdGlvbiB0YWcoZnJvbTogTGFuZ3VhZ2VTcGVjLCBvcHRpb25zPzogTGFuZ3VhZ2VUYWdJbml0T3B0aW9ucyk6IFJlc3VsdDxMYW5ndWFnZVRhZz4ge1xuICAgIHJldHVybiBmcm9tIGluc3RhbmNlb2YgTGFuZ3VhZ2VUYWcgPyBzdWNjZWVkKGZyb20pIDogTGFuZ3VhZ2VUYWcuY3JlYXRlKGZyb20sIG9wdGlvbnMpO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYW4gYXJyYXkgb2Yge0BsaW5rIEJjcDQ3Lkxhbmd1YWdlVGFnIHwgbGFuZ3VhZ2UgdGFnc30gZnJvbSBhbiBpbmNvbWluZyBhcnJheSBvZlxuICoge0BsaW5rIEJjcDQ3Lkxhbmd1YWdlU3BlYyB8IGxhbmd1YWdlIHNwZWNpZmllcnN9LlxuICogQHBhcmFtIGZyb20gLSBUaGUgYXJyYXkgb2Yge0BsaW5rIEJjcDQ3Lkxhbmd1YWdlU3BlY30gdG8gYmUgY29udmVydGVkLlxuICogQHBhcmFtIG9wdGlvbnMgLSAob3B0aW9uYWwpIFRoZSB7QGxpbmsgQmNwNDcuTGFuZ3VhZ2VUYWdJbml0T3B0aW9ucyB8IG9wdGlvbnN9IHVzZWQgdG8gY29uc3RydWN0XG4gKiBhbmQgdmFsaWRhdGUgYW55IGNyZWF0ZWQgdGFncy5cbiAqIEByZXR1cm5zIGBTdWNjZXNzYCB3aXRoIGFuIGFycmF5IG9mIHtAbGluayBCY3A0Ny5MYW5ndWFnZVRhZyB8IGxhbmd1YWdlIHRhZ3N9LCBvciBgRmFpbHVyZWBcbiAqIHdpdGggZGV0YWlscyBpZiBhbiBlcnJvciBvY2N1cnMuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0YWdzKGZyb206IExhbmd1YWdlU3BlY1tdLCBvcHRpb25zPzogTGFuZ3VhZ2VUYWdJbml0T3B0aW9ucyk6IFJlc3VsdDxMYW5ndWFnZVRhZ1tdPiB7XG4gICAgcmV0dXJuIG1hcFJlc3VsdHMoZnJvbS5tYXAoKGYpID0+IHRhZyhmLCBvcHRpb25zKSkpO1xufVxuXG4vKipcbiAqIERldGVybWluZSBob3cgc2ltaWxhciB0d28gbGFuZ3VhZ2UgdGFncyBhcmUgdG8gZWFjaCBvdGhlci5cbiAqXG4gKiBAcGFyYW0gdDEgLSBGaXJzdCB0YWcgdG8gbWF0Y2gsIHN1cHBsaWVkIGFzIG9uZSBvZiBgc3RyaW5nYCwgaW5kaXZpZHVhbFxuICoge0BsaW5rIEJjcDQ3LlN1YnRhZ3MgfCBzdWJ0YWdzfSwgb3IgY29uc3RydWN0ZWRcbiAqIHtAbGluayBCY3A0Ny5MYW5ndWFnZVRhZyB8IGxhbmd1YWdlIHRhZ30uXG4gKiBAcGFyYW0gdDIgLSBTZWNvbmQgdGFnIHRvIG1hdGNoLCBzdXBwbGllZCBhcyBvbmUgb2YgYHN0cmluZ2AsIGluZGl2aWR1YWxcbiAqIHtAbGluayBCY3A0Ny5TdWJ0YWdzIHwgc3VidGFnc30sIG9yIGNvbnN0cnVjdGVkXG4gKiB7QGxpbmsgQmNwNDcuTGFuZ3VhZ2VUYWcgfCBsYW5ndWFnZSB0YWd9LlxuICogQHBhcmFtIG9wdGlvbnMgLSAob3B0aW9uYWwpIEEgc2V0IG9mIHtAbGluayBCY3A0Ny5MYW5ndWFnZVRhZ0luaXRPcHRpb25zIHwgbGFuZ3VhZ2UgdGFnIG9wdGlvbnN9XG4gKiB3aGljaCBjb250cm9sIGFueSBuZWNlc3NhcnkgY29udmVyc2lvbiBvciBwYXJzaW5nLlxuICogQHJldHVybnMgQSBudW1lcmljIHZhbHVlIGluIHRoZSByYW5nZSAxLjAgKGV4YWN0IG1hdGNoKSB0byAwLjAgKG5vIG1hdGNoKS5cbiAqIEBzZWUgRm9yIGEgc2V0IG9mIGNvbW1vbiBsZXZlbHMgb2Ygc2ltaWxhcml0eSwgc2VlIHtAbGluayBCY3A0Ny50YWdTaW1pbGFyaXR5IHwgc2ltaWxhcml0eX0uXG4gKiBAcHVibGljXG4gKi9cbi8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0IC0gdGVzdHMgYXBwbGllZCBmb3Igd3JhcHBlZCBmdW5jdGlvblxuZXhwb3J0IGZ1bmN0aW9uIHNpbWlsYXJpdHkodDE6IExhbmd1YWdlU3BlYywgdDI6IExhbmd1YWdlU3BlYywgb3B0aW9ucz86IExhbmd1YWdlVGFnSW5pdE9wdGlvbnMpOiBSZXN1bHQ8bnVtYmVyPiB7XG4gICAgcmV0dXJuIHRhZ3MoW3QxLCB0Ml0sIG9wdGlvbnMpLm9uU3VjY2VzcygodGFncykgPT4ge1xuICAgICAgICByZXR1cm4gc3VjY2VlZChuZXcgTGFuZ3VhZ2VTaW1pbGFyaXR5TWF0Y2hlcigpLm1hdGNoTGFuZ3VhZ2VUYWdzKHRhZ3NbMF0sIHRhZ3NbMV0pKTtcbiAgICB9KTtcbn1cblxuLyoqXG4gKiBNYXRjaGVzIGEgbGlzdCBvZiBkZXNpcmVkIHtAbGluayBCY3A0Ny5MYW5ndWFnZVNwZWMgfCBsYW5ndWFnZXN9IHRvIGEgbGlzdCBvZiBhdmFpbGFibGUge0BsaW5rIEJjcDQ3Lkxhbmd1YWdlU3BlYyB8IGxhbmd1YWdlc30sXG4gKiByZXR1cm4gYSBsaXN0IG9mIG1hdGNoaW5nIGxhbmd1YWdlcyBvcmRlcmVkIGZyb20gYmVzdCB0byB3b3JzdC5cbiAqIEBwYXJhbSBkZXNpcmVkIC0gQW4gYXJyYXkgb2Yge0BsaW5rIEJjcDQ3Lkxhbmd1YWdlU3BlYyB8IGxhbmd1YWdlIHNwZWNpZmljYXRpb25zfSBjb250YWluaW5nIGFuIG9yZGVyZWQgbGlzdCBvZiBwcmVmZXJyZWQgbGFuZ3VhZ2VzLlxuICogQHBhcmFtIGF2YWlsYWJsZSAtIEFuIGFycmF5IG9mIHtAbGluayBCY3A0Ny5MYW5ndWFnZVNwZWMgfCBsYW5ndWFnZSBzcGVjaWZpY2F0aW9uc30gY29udGFpbmluZyBhbiB1bm9yZGVyZWQgbGlzdCBvZiBhdmFpbGFibGUgbGFuZ3VhZ2VzLlxuICogQHBhcmFtIG9wdGlvbnMgLSAob3B0aW9uYWwpIFBhcmFtZXRlcnMgdG8gY29udHJvbCBsYW5ndWFnZSB0YWcgY29udmVyc2lvbiBvciBjb21wYXJpc29uXG4gKiBAcmV0dXJucyBgU3VjY2Vzc2Agd2l0aCBhbiBvcmRlcmVkIGxpc3Qgb2YgbWF0Y2hpbmcge0BsaW5rIEJjcDQ3Lkxhbmd1YWdlVGFnIHwgbGFuZ3VhZ2VzfSwgb3IgYEZhaWx1cmVgIHdpdGggZGV0YWlscyBpZlxuICogYW4gZXJyb3Igb2NjdXJzLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gY2hvb3NlKFxuICAgIGRlc2lyZWQ6IExhbmd1YWdlU3BlY1tdLFxuICAgIGF2YWlsYWJsZTogTGFuZ3VhZ2VTcGVjW10sXG4gICAgb3B0aW9ucz86IExhbmd1YWdlVGFnSW5pdE9wdGlvbnMgJiBMYW5ndWFnZUNob29zZXJPcHRpb25zXG4pOiBSZXN1bHQ8TGFuZ3VhZ2VUYWdbXT4ge1xuICAgIHJldHVybiB0YWdzKGRlc2lyZWQsIG9wdGlvbnMpLm9uU3VjY2VzcygodykgPT4ge1xuICAgICAgICByZXR1cm4gdGFncyhhdmFpbGFibGUsIG9wdGlvbnMpLm9uU3VjY2VzcygoaCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHN1Y2NlZWQobmV3IExhbmd1YWdlQ2hvb3NlcigpLmZpbHRlckxhbmd1YWdlVGFncyh3LCBoLCBvcHRpb25zKSk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuIl19
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bcp47/index.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE9E,cAAc,WAAW,CAAC"}