hanzio 3.0.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/README.md +114 -3
  2. package/dist/api-wrapper/connection-auth.d.ts +61 -0
  3. package/dist/cli/fields.d.ts +30 -0
  4. package/dist/cli/index.d.ts +122 -0
  5. package/dist/format/index.d.ts +91 -0
  6. package/dist/format/phone.d.ts +19 -0
  7. package/dist/http/index.d.ts +14 -0
  8. package/dist/i18n/catalog.d.ts +47 -0
  9. package/dist/i18n/check.d.ts +45 -0
  10. package/dist/i18n/cli.d.ts +2 -0
  11. package/dist/i18n/content-rules.d.ts +55 -0
  12. package/dist/i18n/i18next.d.ts +39 -0
  13. package/dist/i18n/index.d.ts +16 -1
  14. package/dist/i18n/locales.d.ts +62 -0
  15. package/dist/i18n/vite.d.ts +16 -0
  16. package/dist/i18n/vue.d.ts +93 -0
  17. package/dist/{index-kj1phgrx.js → index-29mmh343.js} +24 -1
  18. package/dist/{index-zbj9s3s3.js → index-2kz392vw.js} +1 -1
  19. package/dist/index-5n2e326q.js +409 -0
  20. package/dist/{index-hy7kbb99.js → index-5tzqfmnj.js} +1 -1
  21. package/dist/{index-0zvtcbzy.js → index-6f2w90pp.js} +69 -1
  22. package/dist/index-6ragggbs.js +473 -0
  23. package/dist/index-mq2qgc20.js +116 -0
  24. package/dist/index-najbyzpr.js +99 -0
  25. package/dist/index-ww09bm49.js +250 -0
  26. package/dist/iso/countries.d.ts +262 -0
  27. package/dist/iso/currencies.d.ts +165 -0
  28. package/dist/iso/index.d.ts +4 -0
  29. package/dist/iso/languages.d.ts +195 -0
  30. package/dist/iso/phone-language.d.ts +5 -0
  31. package/dist/promise/index.d.ts +31 -0
  32. package/dist/redis/client.d.ts +49 -0
  33. package/dist/redis/concurrency-limit.d.ts +63 -0
  34. package/dist/redis/index.d.ts +3 -0
  35. package/dist/redis/lua-script.d.ts +13 -0
  36. package/dist/secrets/infisical-identity-file.d.ts +12 -0
  37. package/dist/src/api-wrapper/connection-auth.js +82 -0
  38. package/dist/src/api-wrapper/index.js +1 -1
  39. package/dist/src/cli/index.js +10 -0
  40. package/dist/src/format/index.js +79 -2
  41. package/dist/src/format/phone.js +21 -0
  42. package/dist/src/http/index.js +69 -0
  43. package/dist/src/i18n/check.js +15 -0
  44. package/dist/src/i18n/cli.js +71 -0
  45. package/dist/src/i18n/i18next.js +48 -0
  46. package/dist/src/i18n/index.js +16 -34
  47. package/dist/src/i18n/vite.js +25 -0
  48. package/dist/src/i18n/vue.js +51 -0
  49. package/dist/src/index.js +14 -4
  50. package/dist/src/iso/index.js +655 -0
  51. package/dist/src/redis/index.js +577 -0
  52. package/dist/src/secrets/index.js +78 -35
  53. package/dist/src/sitemap/index.js +1 -1
  54. package/dist/src/storage/index.js +8 -117
  55. package/dist/src/testing/index.js +348 -0
  56. package/dist/src/zod/index.js +20 -253
  57. package/dist/string/index.d.ts +21 -0
  58. package/dist/testing/connection-auth-contract.d.ts +43 -0
  59. package/dist/testing/helpers.d.ts +26 -0
  60. package/dist/testing/index.d.ts +5 -0
  61. package/dist/testing/module-mocker.d.ts +30 -0
  62. package/dist/testing/prisma.d.ts +30 -0
  63. package/dist/testing/window.d.ts +18 -0
  64. package/dist/zod/index.d.ts +10 -0
  65. package/dist/zod/introspect.d.ts +2 -1
  66. package/package.json +96 -2
  67. package/src/api-wrapper/README.md +52 -0
  68. package/src/api-wrapper/connection-auth.ts +142 -0
  69. package/src/cli/README.md +220 -0
  70. package/src/cli/fields.ts +213 -0
  71. package/src/cli/index.ts +532 -0
  72. package/src/format/README.md +82 -2
  73. package/src/format/index.ts +148 -0
  74. package/src/format/phone.ts +43 -0
  75. package/src/http/README.md +25 -0
  76. package/src/http/index.ts +94 -0
  77. package/src/i18n/README.md +206 -3
  78. package/src/i18n/catalog.ts +139 -0
  79. package/src/i18n/check.ts +376 -0
  80. package/src/i18n/cli.ts +90 -0
  81. package/src/i18n/content-rules.ts +179 -0
  82. package/src/i18n/i18next.ts +89 -0
  83. package/src/i18n/index.ts +34 -0
  84. package/src/i18n/locales.ts +135 -0
  85. package/src/i18n/vite.ts +40 -0
  86. package/src/i18n/vue.ts +82 -0
  87. package/src/index.ts +1 -1
  88. package/src/iso/README.md +44 -0
  89. package/src/iso/countries.ts +272 -0
  90. package/src/iso/currencies.ts +172 -0
  91. package/src/iso/index.ts +8 -0
  92. package/src/iso/languages.ts +208 -0
  93. package/src/iso/phone-language.ts +46 -0
  94. package/src/promise/index.ts +100 -0
  95. package/src/redis/README.md +112 -0
  96. package/src/redis/client.ts +239 -0
  97. package/src/redis/concurrency-limit.ts +591 -0
  98. package/src/redis/index.ts +15 -0
  99. package/src/redis/lua-script.ts +43 -0
  100. package/src/secrets/README.md +5 -1
  101. package/src/secrets/infisical-identity-file.ts +69 -0
  102. package/src/secrets/infisical.ts +18 -3
  103. package/src/string/index.ts +59 -0
  104. package/src/testing/README.md +119 -0
  105. package/src/testing/connection-auth-contract.ts +303 -0
  106. package/src/testing/helpers.ts +41 -0
  107. package/src/testing/index.ts +12 -0
  108. package/src/testing/module-mocker.ts +50 -0
  109. package/src/testing/prisma.ts +78 -0
  110. package/src/testing/window.ts +119 -0
  111. package/src/zod/index.ts +20 -0
  112. package/src/zod/introspect.ts +1 -1
@@ -0,0 +1,250 @@
1
+ import {
2
+ isRecord2
3
+ } from "./index-8r2vdzjg.js";
4
+
5
+ // src/zod/zodToTypeString.ts
6
+ var visiting = new Set;
7
+ function walk(schema, onCycle, fn) {
8
+ if (visiting.has(schema))
9
+ return onCycle;
10
+ visiting.add(schema);
11
+ try {
12
+ return fn(defOf(schema));
13
+ } finally {
14
+ visiting.delete(schema);
15
+ }
16
+ }
17
+ function defOf(schema) {
18
+ return schema._zod.def;
19
+ }
20
+ function pipeTarget(def) {
21
+ return defOf(def.out).type === "transform" ? def.in : def.out;
22
+ }
23
+ function literal(value) {
24
+ if (typeof value === "string")
25
+ return JSON.stringify(value);
26
+ return typeof value === "bigint" ? `${value}n` : String(value);
27
+ }
28
+ function wrap(type) {
29
+ return /[|&]/.test(type) ? `(${type})` : type;
30
+ }
31
+ function zodToTypeString2(schema, indent = 0) {
32
+ return walk(schema, "unknown", (def) => {
33
+ const pad = " ".repeat(indent);
34
+ const innerPad = " ".repeat(indent + 1);
35
+ const render = (inner) => zodToTypeString2(inner, indent);
36
+ switch (def.type) {
37
+ case "object": {
38
+ const entries = Object.entries(def.shape);
39
+ if (entries.length === 0)
40
+ return "{}";
41
+ const fields = entries.map(([key, value]) => {
42
+ const valueDef = defOf(value);
43
+ const isOptional = valueDef.type === "optional";
44
+ const typeStr = zodToTypeString2(isOptional ? valueDef.innerType : value, indent + 1);
45
+ return `${innerPad}${key}${isOptional ? "?" : ""}: ${typeStr}`;
46
+ });
47
+ return `{
48
+ ${fields.join(`
49
+ `)}
50
+ ${pad}}`;
51
+ }
52
+ case "array":
53
+ return `${wrap(render(def.element))}[]`;
54
+ case "tuple": {
55
+ const items = def.items.map(render);
56
+ if (def.rest)
57
+ items.push(`...${wrap(render(def.rest))}[]`);
58
+ return `[${items.join(", ")}]`;
59
+ }
60
+ case "string":
61
+ case "number":
62
+ case "bigint":
63
+ case "boolean":
64
+ case "symbol":
65
+ case "null":
66
+ case "undefined":
67
+ case "void":
68
+ case "never":
69
+ case "any":
70
+ case "unknown":
71
+ return def.type;
72
+ case "date":
73
+ return "Date";
74
+ case "record":
75
+ return `Record<${render(def.keyType)}, ${render(def.valueType)}>`;
76
+ case "map":
77
+ return `Map<${render(def.keyType)}, ${render(def.valueType)}>`;
78
+ case "set":
79
+ return `Set<${render(def.valueType)}>`;
80
+ case "promise":
81
+ return `Promise<${render(def.innerType)}>`;
82
+ case "enum":
83
+ return Object.values(def.entries).map(literal).join(" | ");
84
+ case "literal":
85
+ return def.values.map(literal).join(" | ");
86
+ case "union":
87
+ return def.options.map(render).join(" | ");
88
+ case "intersection":
89
+ return `${wrap(render(def.left))} & ${wrap(render(def.right))}`;
90
+ case "optional":
91
+ return `${render(def.innerType)} | undefined`;
92
+ case "nullable":
93
+ return `${render(def.innerType)} | null`;
94
+ case "nonoptional": {
95
+ const innerDef = defOf(def.innerType);
96
+ return render(innerDef.type === "optional" ? innerDef.innerType : def.innerType);
97
+ }
98
+ case "default":
99
+ case "prefault":
100
+ case "catch":
101
+ case "readonly":
102
+ return render(def.innerType);
103
+ case "lazy":
104
+ return render(def.getter());
105
+ case "pipe":
106
+ return render(pipeTarget(def));
107
+ default:
108
+ return "unknown";
109
+ }
110
+ });
111
+ }
112
+ function zodToExample2(schema) {
113
+ return walk(schema, null, (def) => {
114
+ switch (def.type) {
115
+ case "object": {
116
+ const result = {};
117
+ for (const [key, value] of Object.entries(def.shape)) {
118
+ if (defOf(value).type !== "optional") {
119
+ result[key] = zodToExample2(value);
120
+ }
121
+ }
122
+ return result;
123
+ }
124
+ case "array":
125
+ return [zodToExample2(def.element)];
126
+ case "set":
127
+ return [zodToExample2(def.valueType)];
128
+ case "tuple":
129
+ return def.items.map(zodToExample2);
130
+ case "string":
131
+ return "";
132
+ case "number":
133
+ case "bigint":
134
+ return 0;
135
+ case "boolean":
136
+ return false;
137
+ case "date":
138
+ return new Date(0).toISOString();
139
+ case "enum":
140
+ return Object.values(def.entries)[0];
141
+ case "literal":
142
+ return def.values[0];
143
+ case "union":
144
+ return zodToExample2(def.options[0]);
145
+ case "intersection": {
146
+ const left = zodToExample2(def.left);
147
+ const right = zodToExample2(def.right);
148
+ return isRecord2(left) && isRecord2(right) ? { ...left, ...right } : left;
149
+ }
150
+ case "optional":
151
+ case "nullable":
152
+ case "nonoptional":
153
+ case "default":
154
+ case "prefault":
155
+ case "catch":
156
+ case "readonly":
157
+ case "promise":
158
+ return zodToExample2(def.innerType);
159
+ case "lazy":
160
+ return zodToExample2(def.getter());
161
+ case "pipe":
162
+ return zodToExample2(pipeTarget(def));
163
+ case "record":
164
+ case "map":
165
+ return {};
166
+ default:
167
+ return null;
168
+ }
169
+ });
170
+ }
171
+
172
+ // src/zod/introspect.ts
173
+ function pipeInput(def) {
174
+ return defOf(def.in).type === "transform" ? def.out : def.in;
175
+ }
176
+ function unwrapOnce(def) {
177
+ switch (def.type) {
178
+ case "optional":
179
+ case "nullable":
180
+ case "default":
181
+ case "prefault":
182
+ case "nonoptional":
183
+ case "catch":
184
+ case "readonly":
185
+ return def.innerType;
186
+ case "lazy":
187
+ return def.getter();
188
+ case "pipe":
189
+ return pipeInput(def);
190
+ default:
191
+ return;
192
+ }
193
+ }
194
+ function unwrapSchema2(schema) {
195
+ const inner = unwrapOnce(defOf(schema));
196
+ return inner ? unwrapSchema2(inner) : schema;
197
+ }
198
+ function getEnumValues2(schema) {
199
+ const def = defOf(unwrapSchema2(schema));
200
+ return def.type === "enum" ? Object.values(def.entries).map(String) : undefined;
201
+ }
202
+ function getObjectShape2(schema) {
203
+ const def = defOf(unwrapSchema2(schema));
204
+ return def.type === "object" ? def.shape : undefined;
205
+ }
206
+ function zodDefaults2(schema) {
207
+ return defaultFor(schema);
208
+ }
209
+ function defaultFor(schema) {
210
+ return walk(schema, undefined, (def) => {
211
+ switch (def.type) {
212
+ case "default":
213
+ case "prefault":
214
+ return def.defaultValue;
215
+ case "optional":
216
+ return;
217
+ case "nullable":
218
+ return null;
219
+ case "object": {
220
+ const result = {};
221
+ for (const [key, child] of Object.entries(def.shape)) {
222
+ result[key] = defaultFor(child);
223
+ }
224
+ return result;
225
+ }
226
+ case "array":
227
+ return [];
228
+ case "string":
229
+ return "";
230
+ case "number":
231
+ return 0;
232
+ case "bigint":
233
+ return 0n;
234
+ case "boolean":
235
+ return false;
236
+ case "enum":
237
+ return Object.values(def.entries)[0];
238
+ case "literal":
239
+ return def.values[0];
240
+ case "union":
241
+ return def.options[0] && defaultFor(def.options[0]);
242
+ default: {
243
+ const inner = unwrapOnce(def);
244
+ return inner && defaultFor(inner);
245
+ }
246
+ }
247
+ });
248
+ }
249
+
250
+ export { defOf, zodToTypeString2, zodToExample2, unwrapOnce, unwrapSchema2, getEnumValues2, getObjectShape2, zodDefaults2 };
@@ -0,0 +1,262 @@
1
+ /** ISO 3166-1 alpha-2 codes with English short names. */
2
+ export declare const countryNames: {
3
+ readonly AD: "Andorra";
4
+ readonly AE: "United Arab Emirates";
5
+ readonly AF: "Afghanistan";
6
+ readonly AG: "Antigua and Barbuda";
7
+ readonly AI: "Anguilla";
8
+ readonly AL: "Albania";
9
+ readonly AM: "Armenia";
10
+ readonly AO: "Angola";
11
+ readonly AQ: "Antarctica";
12
+ readonly AR: "Argentina";
13
+ readonly AS: "American Samoa";
14
+ readonly AT: "Austria";
15
+ readonly AU: "Australia";
16
+ readonly AW: "Aruba";
17
+ readonly AX: "Aland Islands";
18
+ readonly AZ: "Azerbaijan";
19
+ readonly BA: "Bosnia and Herzegovina";
20
+ readonly BB: "Barbados";
21
+ readonly BD: "Bangladesh";
22
+ readonly BE: "Belgium";
23
+ readonly BF: "Burkina Faso";
24
+ readonly BG: "Bulgaria";
25
+ readonly BH: "Bahrain";
26
+ readonly BI: "Burundi";
27
+ readonly BJ: "Benin";
28
+ readonly BL: "Saint Barthelemy";
29
+ readonly BM: "Bermuda";
30
+ readonly BN: "Brunei Darussalam";
31
+ readonly BO: "Bolivia";
32
+ readonly BQ: "Bonaire, Sint Eustatius and Saba";
33
+ readonly BR: "Brazil";
34
+ readonly BS: "Bahamas";
35
+ readonly BT: "Bhutan";
36
+ readonly BV: "Bouvet Island";
37
+ readonly BW: "Botswana";
38
+ readonly BY: "Belarus";
39
+ readonly BZ: "Belize";
40
+ readonly CA: "Canada";
41
+ readonly CC: "Cocos (Keeling) Islands";
42
+ readonly CD: "Congo, (Kinshasa)";
43
+ readonly CF: "Central African Republic";
44
+ readonly CG: "Congo (Brazzaville)";
45
+ readonly CH: "Switzerland";
46
+ readonly CI: "Ivory Coast";
47
+ readonly CK: "Cook Islands";
48
+ readonly CL: "Chile";
49
+ readonly CM: "Cameroon";
50
+ readonly CN: "China";
51
+ readonly CO: "Colombia";
52
+ readonly CR: "Costa Rica";
53
+ readonly CU: "Cuba";
54
+ readonly CV: "Cape Verde";
55
+ readonly CW: "Curaçao";
56
+ readonly CX: "Christmas Island";
57
+ readonly CY: "Cyprus";
58
+ readonly CZ: "Czech Republic";
59
+ readonly DE: "Germany";
60
+ readonly DJ: "Djibouti";
61
+ readonly DK: "Denmark";
62
+ readonly DM: "Dominica";
63
+ readonly DO: "Dominican Republic";
64
+ readonly DZ: "Algeria";
65
+ readonly EC: "Ecuador";
66
+ readonly EE: "Estonia";
67
+ readonly EG: "Egypt";
68
+ readonly EH: "Western Sahara";
69
+ readonly ER: "Eritrea";
70
+ readonly ES: "Spain";
71
+ readonly ET: "Ethiopia";
72
+ readonly FI: "Finland";
73
+ readonly FJ: "Fiji";
74
+ readonly FK: "Falkland Islands (Malvinas)";
75
+ readonly FM: "Micronesia, Federated States of";
76
+ readonly FO: "Faroe Islands";
77
+ readonly FR: "France";
78
+ readonly GA: "Gabon";
79
+ readonly GB: "United Kingdom";
80
+ readonly GD: "Grenada";
81
+ readonly GE: "Georgia";
82
+ readonly GF: "French Guiana";
83
+ readonly GG: "Guernsey";
84
+ readonly GH: "Ghana";
85
+ readonly GI: "Gibraltar";
86
+ readonly GL: "Greenland";
87
+ readonly GM: "Gambia";
88
+ readonly GN: "Guinea";
89
+ readonly GP: "Guadeloupe";
90
+ readonly GQ: "Equatorial Guinea";
91
+ readonly GR: "Greece";
92
+ readonly GS: "South Georgia and the South Sandwich Islands";
93
+ readonly GT: "Guatemala";
94
+ readonly GU: "Guam";
95
+ readonly GW: "Guinea-Bissau";
96
+ readonly GY: "Guyana";
97
+ readonly HK: "Hong Kong, SAR China";
98
+ readonly HM: "Heard and Mcdonald Islands";
99
+ readonly HN: "Honduras";
100
+ readonly HR: "Croatia";
101
+ readonly HT: "Haiti";
102
+ readonly HU: "Hungary";
103
+ readonly ID: "Indonesia";
104
+ readonly IE: "Ireland";
105
+ readonly IL: "Israel";
106
+ readonly IM: "Isle of Man";
107
+ readonly IN: "India";
108
+ readonly IO: "British Indian Ocean Territory";
109
+ readonly IQ: "Iraq";
110
+ readonly IR: "Iran, Islamic Republic of";
111
+ readonly IS: "Iceland";
112
+ readonly IT: "Italy";
113
+ readonly JE: "Jersey";
114
+ readonly JM: "Jamaica";
115
+ readonly JO: "Jordan";
116
+ readonly JP: "Japan";
117
+ readonly KE: "Kenya";
118
+ readonly KG: "Kyrgyzstan";
119
+ readonly KH: "Cambodia";
120
+ readonly KI: "Kiribati";
121
+ readonly KM: "Comoros";
122
+ readonly KN: "Saint Kitts and Nevis";
123
+ readonly KP: "North Korea";
124
+ readonly KR: "South Korea";
125
+ readonly KW: "Kuwait";
126
+ readonly KY: "Cayman Islands";
127
+ readonly KZ: "Kazakhstan";
128
+ readonly LA: "Lao PDR";
129
+ readonly LB: "Lebanon";
130
+ readonly LC: "Saint Lucia";
131
+ readonly LI: "Liechtenstein";
132
+ readonly LK: "Sri Lanka";
133
+ readonly LR: "Liberia";
134
+ readonly LS: "Lesotho";
135
+ readonly LT: "Lithuania";
136
+ readonly LU: "Luxembourg";
137
+ readonly LV: "Latvia";
138
+ readonly LY: "Libya";
139
+ readonly MA: "Morocco";
140
+ readonly MC: "Monaco";
141
+ readonly MD: "Moldova";
142
+ readonly ME: "Montenegro";
143
+ readonly MF: "Saint-Martin (French part)";
144
+ readonly MG: "Madagascar";
145
+ readonly MH: "Marshall Islands";
146
+ readonly MK: "Macedonia, Republic of";
147
+ readonly ML: "Mali";
148
+ readonly MM: "Myanmar";
149
+ readonly MN: "Mongolia";
150
+ readonly MO: "Macao, SAR China";
151
+ readonly MP: "Northern Mariana Islands";
152
+ readonly MQ: "Martinique";
153
+ readonly MR: "Mauritania";
154
+ readonly MS: "Montserrat";
155
+ readonly MT: "Malta";
156
+ readonly MU: "Mauritius";
157
+ readonly MV: "Maldives";
158
+ readonly MW: "Malawi";
159
+ readonly MX: "Mexico";
160
+ readonly MY: "Malaysia";
161
+ readonly MZ: "Mozambique";
162
+ readonly NA: "Namibia";
163
+ readonly NC: "New Caledonia";
164
+ readonly NE: "Niger";
165
+ readonly NF: "Norfolk Island";
166
+ readonly NG: "Nigeria";
167
+ readonly NI: "Nicaragua";
168
+ readonly NL: "Netherlands";
169
+ readonly NO: "Norway";
170
+ readonly NP: "Nepal";
171
+ readonly NR: "Nauru";
172
+ readonly NU: "Niue";
173
+ readonly NZ: "New Zealand";
174
+ readonly OM: "Oman";
175
+ readonly PA: "Panama";
176
+ readonly PE: "Peru";
177
+ readonly PF: "French Polynesia";
178
+ readonly PG: "Papua New Guinea";
179
+ readonly PH: "Philippines";
180
+ readonly PK: "Pakistan";
181
+ readonly PL: "Poland";
182
+ readonly PM: "Saint Pierre and Miquelon";
183
+ readonly PN: "Pitcairn";
184
+ readonly PR: "Puerto Rico";
185
+ readonly PS: "Palestinian Territory";
186
+ readonly PT: "Portugal";
187
+ readonly PW: "Palau";
188
+ readonly PY: "Paraguay";
189
+ readonly QA: "Qatar";
190
+ readonly RE: "Reunion";
191
+ readonly RO: "Romania";
192
+ readonly RS: "Serbia";
193
+ readonly RU: "Russian Federation";
194
+ readonly RW: "Rwanda";
195
+ readonly SA: "Saudi Arabia";
196
+ readonly SB: "Solomon Islands";
197
+ readonly SC: "Seychelles";
198
+ readonly SD: "Sudan";
199
+ readonly SE: "Sweden";
200
+ readonly SG: "Singapore";
201
+ readonly SH: "Saint Helena";
202
+ readonly SI: "Slovenia";
203
+ readonly SJ: "Svalbard and Jan Mayen Islands";
204
+ readonly SK: "Slovakia";
205
+ readonly SL: "Sierra Leone";
206
+ readonly SM: "San Marino";
207
+ readonly SN: "Senegal";
208
+ readonly SO: "Somalia";
209
+ readonly SR: "Suriname";
210
+ readonly SS: "South Sudan";
211
+ readonly ST: "Sao Tome and Principe";
212
+ readonly SV: "El Salvador";
213
+ readonly SX: "Sint Maarten (Dutch part)";
214
+ readonly SY: "Syria";
215
+ readonly SZ: "Swaziland";
216
+ readonly TC: "Turks and Caicos Islands";
217
+ readonly TD: "Chad";
218
+ readonly TF: "French Southern Territories";
219
+ readonly TG: "Togo";
220
+ readonly TH: "Thailand";
221
+ readonly TJ: "Tajikistan";
222
+ readonly TK: "Tokelau";
223
+ readonly TL: "Timor-Leste";
224
+ readonly TM: "Turkmenistan";
225
+ readonly TN: "Tunisia";
226
+ readonly TO: "Tonga";
227
+ readonly TR: "Turkey";
228
+ readonly TT: "Trinidad and Tobago";
229
+ readonly TV: "Tuvalu";
230
+ readonly TW: "Taiwan, Republic of China";
231
+ readonly TZ: "Tanzania, United Republic of";
232
+ readonly UA: "Ukraine";
233
+ readonly UG: "Uganda";
234
+ readonly UM: "US Minor Outlying Islands";
235
+ readonly US: "United States of America";
236
+ readonly UY: "Uruguay";
237
+ readonly UZ: "Uzbekistan";
238
+ readonly VA: "Holy See (Vatican City State)";
239
+ readonly VC: "Saint Vincent and Grenadines";
240
+ readonly VE: "Venezuela";
241
+ readonly VG: "British Virgin Islands";
242
+ readonly VI: "Virgin Islands, US";
243
+ readonly VN: "Viet Nam";
244
+ readonly VU: "Vanuatu";
245
+ readonly WF: "Wallis and Futuna Islands";
246
+ readonly WS: "Samoa";
247
+ readonly YE: "Yemen";
248
+ readonly YT: "Mayotte";
249
+ readonly ZA: "South Africa";
250
+ readonly ZM: "Zambia";
251
+ readonly ZW: "Zimbabwe";
252
+ };
253
+ export type CountryCode = keyof typeof countryNames;
254
+ /** All 249 ISO 3166-1 alpha-2 codes, sorted. */
255
+ export declare const countryCodes: readonly ("AD" | "AE" | "AF" | "AG" | "AI" | "AL" | "AM" | "AO" | "AQ" | "AR" | "AS" | "AT" | "AU" | "AW" | "AX" | "AZ" | "BA" | "BB" | "BD" | "BE" | "BF" | "BG" | "BH" | "BI" | "BJ" | "BL" | "BM" | "BN" | "BO" | "BQ" | "BR" | "BS" | "BT" | "BV" | "BW" | "BY" | "BZ" | "CA" | "CC" | "CD" | "CF" | "CG" | "CH" | "CI" | "CK" | "CL" | "CM" | "CN" | "CO" | "CR" | "CU" | "CV" | "CW" | "CX" | "CY" | "CZ" | "DE" | "DJ" | "DK" | "DM" | "DO" | "DZ" | "EC" | "EE" | "EG" | "EH" | "ER" | "ES" | "ET" | "FI" | "FJ" | "FK" | "FM" | "FO" | "FR" | "GA" | "GB" | "GD" | "GE" | "GF" | "GG" | "GH" | "GI" | "GL" | "GM" | "GN" | "GP" | "GQ" | "GR" | "GS" | "GT" | "GU" | "GW" | "GY" | "HK" | "HM" | "HN" | "HR" | "HT" | "HU" | "ID" | "IE" | "IL" | "IM" | "IN" | "IO" | "IQ" | "IR" | "IS" | "IT" | "JE" | "JM" | "JO" | "JP" | "KE" | "KG" | "KH" | "KI" | "KM" | "KN" | "KP" | "KR" | "KW" | "KY" | "KZ" | "LA" | "LB" | "LC" | "LI" | "LK" | "LR" | "LS" | "LT" | "LU" | "LV" | "LY" | "MA" | "MC" | "MD" | "ME" | "MF" | "MG" | "MH" | "MK" | "ML" | "MM" | "MN" | "MO" | "MP" | "MQ" | "MR" | "MS" | "MT" | "MU" | "MV" | "MW" | "MX" | "MY" | "MZ" | "NA" | "NC" | "NE" | "NF" | "NG" | "NI" | "NL" | "NO" | "NP" | "NR" | "NU" | "NZ" | "OM" | "PA" | "PE" | "PF" | "PG" | "PH" | "PK" | "PL" | "PM" | "PN" | "PR" | "PS" | "PT" | "PW" | "PY" | "QA" | "RE" | "RO" | "RS" | "RU" | "RW" | "SA" | "SB" | "SC" | "SD" | "SE" | "SG" | "SH" | "SI" | "SJ" | "SK" | "SL" | "SM" | "SN" | "SO" | "SR" | "SS" | "ST" | "SV" | "SX" | "SY" | "SZ" | "TC" | "TD" | "TF" | "TG" | "TH" | "TJ" | "TK" | "TL" | "TM" | "TN" | "TO" | "TR" | "TT" | "TV" | "TW" | "TZ" | "UA" | "UG" | "UM" | "US" | "UY" | "UZ" | "VA" | "VC" | "VE" | "VG" | "VI" | "VN" | "VU" | "WF" | "WS" | "YE" | "YT" | "ZA" | "ZM" | "ZW")[];
256
+ export declare function isCountryCode(value: unknown): value is CountryCode;
257
+ /**
258
+ * The flag emoji for a country code: `countryFlag('DK')` is `'🇩🇰'`. Built
259
+ * from regional-indicator letters, so platforms without a flag glyph show
260
+ * the two letters.
261
+ */
262
+ export declare function countryFlag(code: CountryCode): string;
@@ -0,0 +1,165 @@
1
+ /**
2
+ * ISO 4217 codes of circulating currencies (plus the CFA and CFP francs and
3
+ * the East Caribbean dollars), with English names. Historic codes, funds and
4
+ * precious metals are left out.
5
+ */
6
+ export declare const currencyNames: {
7
+ readonly AED: "United Arab Emirates Dirham";
8
+ readonly AFN: "Afghan Afghani";
9
+ readonly ALL: "Albanian Lek";
10
+ readonly AMD: "Armenian Dram";
11
+ readonly AOA: "Angolan Kwanza";
12
+ readonly ARS: "Argentine Peso";
13
+ readonly AUD: "Australian Dollar";
14
+ readonly AWG: "Aruban Florin";
15
+ readonly AZN: "Azerbaijani Manat";
16
+ readonly BAM: "Bosnia-Herzegovina Convertible Mark";
17
+ readonly BBD: "Barbadian Dollar";
18
+ readonly BDT: "Bangladeshi Taka";
19
+ readonly BHD: "Bahraini Dinar";
20
+ readonly BIF: "Burundian Franc";
21
+ readonly BMD: "Bermudan Dollar";
22
+ readonly BND: "Brunei Dollar";
23
+ readonly BOB: "Bolivian Boliviano";
24
+ readonly BRL: "Brazilian Real";
25
+ readonly BSD: "Bahamian Dollar";
26
+ readonly BTN: "Bhutanese Ngultrum";
27
+ readonly BWP: "Botswanan Pula";
28
+ readonly BYN: "Belarusian Ruble";
29
+ readonly BZD: "Belize Dollar";
30
+ readonly CAD: "Canadian Dollar";
31
+ readonly CDF: "Congolese Franc";
32
+ readonly CHF: "Swiss Franc";
33
+ readonly CLP: "Chilean Peso";
34
+ readonly CNY: "Chinese Yuan";
35
+ readonly COP: "Colombian Peso";
36
+ readonly CRC: "Costa Rican Colón";
37
+ readonly CUP: "Cuban Peso";
38
+ readonly CVE: "Cape Verdean Escudo";
39
+ readonly CZK: "Czech Koruna";
40
+ readonly DJF: "Djiboutian Franc";
41
+ readonly DKK: "Danish Krone";
42
+ readonly DOP: "Dominican Peso";
43
+ readonly DZD: "Algerian Dinar";
44
+ readonly EGP: "Egyptian Pound";
45
+ readonly ERN: "Eritrean Nakfa";
46
+ readonly ETB: "Ethiopian Birr";
47
+ readonly EUR: "Euro";
48
+ readonly FJD: "Fijian Dollar";
49
+ readonly FKP: "Falkland Islands Pound";
50
+ readonly GBP: "British Pound";
51
+ readonly GEL: "Georgian Lari";
52
+ readonly GHS: "Ghanaian Cedi";
53
+ readonly GIP: "Gibraltar Pound";
54
+ readonly GMD: "Gambian Dalasi";
55
+ readonly GNF: "Guinean Franc";
56
+ readonly GTQ: "Guatemalan Quetzal";
57
+ readonly GYD: "Guyanese Dollar";
58
+ readonly HKD: "Hong Kong Dollar";
59
+ readonly HNL: "Honduran Lempira";
60
+ readonly HTG: "Haitian Gourde";
61
+ readonly HUF: "Hungarian Forint";
62
+ readonly IDR: "Indonesian Rupiah";
63
+ readonly ILS: "Israeli New Shekel";
64
+ readonly INR: "Indian Rupee";
65
+ readonly IQD: "Iraqi Dinar";
66
+ readonly IRR: "Iranian Rial";
67
+ readonly ISK: "Icelandic Króna";
68
+ readonly JMD: "Jamaican Dollar";
69
+ readonly JOD: "Jordanian Dinar";
70
+ readonly JPY: "Japanese Yen";
71
+ readonly KES: "Kenyan Shilling";
72
+ readonly KGS: "Kyrgyz Som";
73
+ readonly KHR: "Cambodian Riel";
74
+ readonly KMF: "Comorian Franc";
75
+ readonly KPW: "North Korean Won";
76
+ readonly KRW: "South Korean Won";
77
+ readonly KWD: "Kuwaiti Dinar";
78
+ readonly KYD: "Cayman Islands Dollar";
79
+ readonly KZT: "Kazakhstani Tenge";
80
+ readonly LAK: "Laotian Kip";
81
+ readonly LBP: "Lebanese Pound";
82
+ readonly LKR: "Sri Lankan Rupee";
83
+ readonly LRD: "Liberian Dollar";
84
+ readonly LSL: "Lesotho Loti";
85
+ readonly LYD: "Libyan Dinar";
86
+ readonly MAD: "Moroccan Dirham";
87
+ readonly MDL: "Moldovan Leu";
88
+ readonly MGA: "Malagasy Ariary";
89
+ readonly MKD: "Macedonian Denar";
90
+ readonly MMK: "Myanmar Kyat";
91
+ readonly MNT: "Mongolian Tugrik";
92
+ readonly MOP: "Macanese Pataca";
93
+ readonly MRU: "Mauritanian Ouguiya";
94
+ readonly MUR: "Mauritian Rupee";
95
+ readonly MVR: "Maldivian Rufiyaa";
96
+ readonly MWK: "Malawian Kwacha";
97
+ readonly MXN: "Mexican Peso";
98
+ readonly MYR: "Malaysian Ringgit";
99
+ readonly MZN: "Mozambican Metical";
100
+ readonly NAD: "Namibian Dollar";
101
+ readonly NGN: "Nigerian Naira";
102
+ readonly NIO: "Nicaraguan Córdoba";
103
+ readonly NOK: "Norwegian Krone";
104
+ readonly NPR: "Nepalese Rupee";
105
+ readonly NZD: "New Zealand Dollar";
106
+ readonly OMR: "Omani Rial";
107
+ readonly PAB: "Panamanian Balboa";
108
+ readonly PEN: "Peruvian Sol";
109
+ readonly PGK: "Papua New Guinean Kina";
110
+ readonly PHP: "Philippine Peso";
111
+ readonly PKR: "Pakistani Rupee";
112
+ readonly PLN: "Polish Zloty";
113
+ readonly PYG: "Paraguayan Guarani";
114
+ readonly QAR: "Qatari Riyal";
115
+ readonly RON: "Romanian Leu";
116
+ readonly RSD: "Serbian Dinar";
117
+ readonly RUB: "Russian Ruble";
118
+ readonly RWF: "Rwandan Franc";
119
+ readonly SAR: "Saudi Riyal";
120
+ readonly SBD: "Solomon Islands Dollar";
121
+ readonly SCR: "Seychellois Rupee";
122
+ readonly SDG: "Sudanese Pound";
123
+ readonly SEK: "Swedish Krona";
124
+ readonly SGD: "Singapore Dollar";
125
+ readonly SHP: "St. Helena Pound";
126
+ readonly SLE: "Sierra Leonean Leone";
127
+ readonly SOS: "Somali Shilling";
128
+ readonly SRD: "Surinamese Dollar";
129
+ readonly SSP: "South Sudanese Pound";
130
+ readonly STN: "São Tomé & Príncipe Dobra";
131
+ readonly SVC: "Salvadoran Colón";
132
+ readonly SYP: "Syrian Pound";
133
+ readonly SZL: "Swazi Lilangeni";
134
+ readonly THB: "Thai Baht";
135
+ readonly TJS: "Tajikistani Somoni";
136
+ readonly TMT: "Turkmenistani Manat";
137
+ readonly TND: "Tunisian Dinar";
138
+ readonly TOP: "Tongan Paʻanga";
139
+ readonly TRY: "Turkish Lira";
140
+ readonly TTD: "Trinidad & Tobago Dollar";
141
+ readonly TWD: "New Taiwan Dollar";
142
+ readonly TZS: "Tanzanian Shilling";
143
+ readonly UAH: "Ukrainian Hryvnia";
144
+ readonly UGX: "Ugandan Shilling";
145
+ readonly USD: "US Dollar";
146
+ readonly UYU: "Uruguayan Peso";
147
+ readonly UZS: "Uzbekistani Som";
148
+ readonly VED: "Bolívar Soberano";
149
+ readonly VES: "Venezuelan Bolívar";
150
+ readonly VND: "Vietnamese Dong";
151
+ readonly VUV: "Vanuatu Vatu";
152
+ readonly WST: "Samoan Tala";
153
+ readonly XAF: "Central African CFA Franc";
154
+ readonly XCD: "East Caribbean Dollar";
155
+ readonly XCG: "Caribbean guilder";
156
+ readonly XOF: "West African CFA Franc";
157
+ readonly XPF: "CFP Franc";
158
+ readonly YER: "Yemeni Rial";
159
+ readonly ZAR: "South African Rand";
160
+ readonly ZMW: "Zambian Kwacha";
161
+ readonly ZWG: "Zimbabwean Gold";
162
+ };
163
+ export type CurrencyCode = keyof typeof currencyNames;
164
+ export declare const currencyCodes: readonly ("AED" | "AFN" | "ALL" | "AMD" | "AOA" | "ARS" | "AUD" | "AWG" | "AZN" | "BAM" | "BBD" | "BDT" | "BHD" | "BIF" | "BMD" | "BND" | "BOB" | "BRL" | "BSD" | "BTN" | "BWP" | "BYN" | "BZD" | "CAD" | "CDF" | "CHF" | "CLP" | "CNY" | "COP" | "CRC" | "CUP" | "CVE" | "CZK" | "DJF" | "DKK" | "DOP" | "DZD" | "EGP" | "ERN" | "ETB" | "EUR" | "FJD" | "FKP" | "GBP" | "GEL" | "GHS" | "GIP" | "GMD" | "GNF" | "GTQ" | "GYD" | "HKD" | "HNL" | "HTG" | "HUF" | "IDR" | "ILS" | "INR" | "IQD" | "IRR" | "ISK" | "JMD" | "JOD" | "JPY" | "KES" | "KGS" | "KHR" | "KMF" | "KPW" | "KRW" | "KWD" | "KYD" | "KZT" | "LAK" | "LBP" | "LKR" | "LRD" | "LSL" | "LYD" | "MAD" | "MDL" | "MGA" | "MKD" | "MMK" | "MNT" | "MOP" | "MRU" | "MUR" | "MVR" | "MWK" | "MXN" | "MYR" | "MZN" | "NAD" | "NGN" | "NIO" | "NOK" | "NPR" | "NZD" | "OMR" | "PAB" | "PEN" | "PGK" | "PHP" | "PKR" | "PLN" | "PYG" | "QAR" | "RON" | "RSD" | "RUB" | "RWF" | "SAR" | "SBD" | "SCR" | "SDG" | "SEK" | "SGD" | "SHP" | "SLE" | "SOS" | "SRD" | "SSP" | "STN" | "SVC" | "SYP" | "SZL" | "THB" | "TJS" | "TMT" | "TND" | "TOP" | "TRY" | "TTD" | "TWD" | "TZS" | "UAH" | "UGX" | "USD" | "UYU" | "UZS" | "VED" | "VES" | "VND" | "VUV" | "WST" | "XAF" | "XCD" | "XCG" | "XOF" | "XPF" | "YER" | "ZAR" | "ZMW" | "ZWG")[];
165
+ export declare function isCurrencyCode(value: unknown): value is CurrencyCode;
@@ -0,0 +1,4 @@
1
+ export * from './countries';
2
+ export * from './currencies';
3
+ export * from './languages';
4
+ export * from './phone-language';