Skip to content

Commit f87ad0e

Browse files
committed
Add documentation for ccTLD
(re: #12)
1 parent 201e60c commit f87ad0e

File tree

1 file changed

+58
-0
lines changed

1 file changed

+58
-0
lines changed

README.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,8 @@ This package is kept intentionally minimal. However, if you find a bug or have a
110110
* [wikidataQIDs](#wikidataQIDs)(query: Location | Bbox): [string]
111111
* [emojiFlag](#emojiFlag)(query: Location | string | number, opts?: CodingOptions): string?
112112
* [emojiFlags](#emojiFlags)(query: Location | Bbox): [string]
113+
* [ccTLD](#ccTLD)(query: Location | string | number, opts?: CodingOptions): string?
114+
* [ccTLDs](#ccTLDs)(query: Location | Bbox): [string]
113115
* [featuresContaining](#featuresContaining)(query: Location | Bbox | string | number, strict: boolean): [RegionFeature]
114116
* [featuresIn](#featuresIn)(id: string | number, strict: boolean): [RegionFeature]
115117
* [aggregateFeature](#aggregateFeature)(id: string | number): [RegionFeature]
@@ -152,6 +154,7 @@ feature('826'); // returns {United Kingdom}
152154
feature(826); // returns {United Kingdom}
153155
feature('Q145'); // returns {United Kingdom}
154156
feature('🇬🇧'); // returns {United Kingdom}
157+
feature('.uk'); // returns {United Kingdom}
155158
feature('UK'); // returns {United Kingdom}
156159
feature('IM'); // returns {Isle of Man}
157160
feature('United Kingdom'); // returns {United Kingdom}
@@ -175,6 +178,7 @@ iso1A2Code('826'); // returns 'GB'
175178
iso1A2Code(826); // returns 'GB'
176179
iso1A2Code('Q145'); // returns 'GB'
177180
iso1A2Code('🇬🇧'); // returns 'GB'
181+
iso1A2Code('.uk'); // returns 'GB'
178182
iso1A2Code('UK'); // returns 'GB'
179183
iso1A2Code('IMN'); // returns 'IM'
180184
iso1A2Code('United Kingdom'); // returns 'GB'
@@ -212,6 +216,7 @@ iso1A3Code('826'); // returns 'GBR'
212216
iso1A3Code(826); // returns 'GBR'
213217
iso1A3Code('Q145'); // returns 'GBR'
214218
iso1A3Code('🇬🇧'); // returns 'GBR'
219+
iso1A3Code('.uk'); // returns 'GBR'
215220
iso1A3Code('UK'); // returns 'GBR'
216221
iso1A3Code('IM'); // returns 'IMN'
217222
iso1A3Code('United Kingdom'); // returns 'GBR'
@@ -248,6 +253,7 @@ iso1N3Code('GB'); // returns '826'
248253
iso1N3Code('GBR'); // returns '826'
249254
iso1N3Code('Q145'); // returns '826'
250255
iso1N3Code('🇬🇧'); // returns '826'
256+
iso1N3Code('.uk'); // returns '826'
251257
iso1N3Code('UK'); // returns '826'
252258
iso1N3Code('IM'); // returns '833'
253259
iso1N3Code('Q15'); // returns null (Africa)
@@ -285,6 +291,7 @@ m49Code('GB'); // returns '826'
285291
m49Code('GBR'); // returns '826'
286292
m49Code('Q145'); // returns '826'
287293
m49Code('🇬🇧'); // returns '826'
294+
m49Code('.uk'); // returns '826'
288295
m49Code('UK'); // returns '826'
289296
m49Code('IM'); // returns '833'
290297
m49Code('Q15'); // returns '002' (Africa)
@@ -323,6 +330,7 @@ wikidataQID('GBR'); // returns 'Q145'
323330
wikidataQID('826'); // returns 'Q145'
324331
wikidataQID(826); // returns 'Q145'
325332
wikidataQID('🇬🇧'); // returns 'Q145'
333+
wikidataQID('.uk'); // returns 'Q145'
326334
wikidataQID('UK'); // returns 'Q145'
327335
wikidataQID('IM'); // returns 'Q9676'
328336
wikidataQID('United Kingdom'); // returns 'Q145'
@@ -384,6 +392,43 @@ emojiFlags(pointGeoJSON.geometry); // returns ['🇮🇲', '🇬🇧', '🇺
384392
```
385393

386394

395+
<a name="ccTLD" href="#ccTLD">#</a> <b>ccTLD</b>(query: Location | string | number, opts?: CodingOptions): string?
396+
397+
Returns the country code top-level internet domain for the given location or identifier and options, if found.
398+
399+
```js
400+
ccTLD([-4.5, 54.2]); // returns '.uk'
401+
ccTLD([-4.5, 54.2], { level: 'territory' }); // returns '.im'
402+
ccTLD([0, 90]); // returns null
403+
ccTLD('GB'); // returns '.uk'
404+
ccTLD('GBR'); // returns '.uk'
405+
ccTLD('826'); // returns '.uk'
406+
ccTLD(826); // returns '.uk'
407+
ccTLD('Q145'); // returns '.uk'
408+
ccTLD('UK'); // returns '.uk'
409+
ccTLD('IM'); // returns '.im'
410+
ccTLD('United Kingdom'); // returns '.uk'
411+
412+
let pointGeoJSON = { type: 'Feature', geometry: { type: 'Point', coordinates: [-4.5, 54.2] } };
413+
ccTLD(pointGeoJSON); // returns '.uk'
414+
ccTLD(pointGeoJSON.geometry); // returns '.uk'
415+
```
416+
417+
418+
<a name="ccTLDs" href="#ccTLDs">#</a> <b>ccTLDs</b>(query: Location | Bbox): [string]
419+
420+
Returns all the country code top-level internet domains for the given location or bounding box, if any.
421+
422+
```js
423+
ccTLDs([-4.5, 54.2]); // returns ['.im', '.uk']
424+
ccTLDs([0, 90]); // returns []
425+
426+
let pointGeoJSON = { type: 'Feature', geometry: { type: 'Point', coordinates: [-4.5, 54.2] } };
427+
ccTLDs(pointGeoJSON); // returns ['.im', '.uk']
428+
ccTLDs(pointGeoJSON.geometry); // returns ['.im', '.uk']
429+
```
430+
431+
387432
<a name="featuresContaining" href="#featuresContaining">#</a> <b>featuresContaining</b>(query: Location | Bbox | string | number, strict: boolean): [RegionFeature]
388433

389434
Returns all the the features of any type that contain or match the given location, bounding box, or identifier, if any. If `strict` is `true` and `query` is an identifier, then only features that are strictly containing are returned.
@@ -399,6 +444,7 @@ featuresContaining('826'); // returns [{United Kingdom}, {United Nations
399444
featuresContaining(826); // returns [{United Kingdom}, {United Nations}, {World}]
400445
featuresContaining('Q145'); // returns [{United Kingdom}, {United Nations}, {World}]
401446
featuresContaining('🇬🇧'); // returns [{United Kingdom}, {United Nations}, {World}]
447+
featuresContaining('.uk'); // returns [{United Kingdom}, {United Nations}, {World}]
402448
featuresContaining('UK'); // returns [{United Kingdom}, {United Nations}, {World}]
403449
featuresContaining('154'); // returns [{Northern Europe}, {Europe}, {World}]
404450
featuresContaining('GB', true); // returns [{United Nations}, {World}]
@@ -421,6 +467,7 @@ featuresIn('156'); // returns [{China}, {Mainland China}, {Hong Kong}, {
421467
featuresIn(156); // returns [{China}, {Mainland China}, {Hong Kong}, {Macau}]
422468
featuresIn('Q148'); // returns [{China}, {Mainland China}, {Hong Kong}, {Macau}]
423469
featuresIn('🇨🇳'); // returns [{China}, {Mainland China}, {Hong Kong}, {Macau}]
470+
featuresIn('.cn'); // returns [{China}, {Mainland China}, {Hong Kong}, {Macau}]
424471
featuresIn('China'); // returns [{China}, {Mainland China}, {Hong Kong}, {Macau}]
425472
featuresIn('CN', true); // returns [{Mainland China}, {Hong Kong}, {Macau}]
426473
```
@@ -437,6 +484,7 @@ aggregateFeature('156'); // returns Mainland China, Hong Kong, and Macau
437484
aggregateFeature(156); // returns Mainland China, Hong Kong, and Macau as one feature
438485
aggregateFeature('Q148'); // returns Mainland China, Hong Kong, and Macau as one feature
439486
aggregateFeature('🇨🇳'); // returns Mainland China, Hong Kong, and Macau as one feature
487+
aggregateFeature('.cn'); // returns Mainland China, Hong Kong, and Macau as one feature
440488
aggregateFeature('China'); // returns Mainland China, Hong Kong, and Macau as one feature
441489
```
442490

@@ -457,6 +505,7 @@ isIn('GB', '150'); // returns true
457505
isIn('GBR', 150); // returns true
458506
isIn('826', 'Q46'); // returns true
459507
isIn('🇮🇲', '🇬🇧'); // returns true
508+
isIn('.im', '.uk'); // returns true
460509
isIn('United Kingdom', 'Europe'); // returns true
461510
isIn('United Kingdom', 'Africa'); // returns false
462511

@@ -483,9 +532,11 @@ isInEuropeanUnion('276'); // returns true
483532
isInEuropeanUnion(276); // returns true
484533
isInEuropeanUnion('Q183'); // returns true
485534
isInEuropeanUnion('🇩🇪'); // returns true
535+
isInEuropeanUnion('.de'); // returns true
486536
isInEuropeanUnion('Germany'); // returns true
487537
isInEuropeanUnion('GB'); // returns false
488538
isInEuropeanUnion('IM'); // returns false
539+
isInEuropeanUnion('.im'); // returns false
489540
isInEuropeanUnion('CH'); // returns false
490541

491542

@@ -512,9 +563,11 @@ isInUnitedNations('276'); // returns true
512563
isInUnitedNations(276); // returns true
513564
isInUnitedNations('Q183'); // returns true
514565
isInUnitedNations('🇩🇪'); // returns true
566+
isInUnitedNations('.de'); // returns true
515567
isInUnitedNations('Germany'); // returns true
516568
isInUnitedNations('GB'); // returns true
517569
isInUnitedNations('IM'); // returns true
570+
isInUnitedNations('.im'); // returns true
518571
isInUnitedNations('CH'); // returns true
519572
isInUnitedNations('XK'); // returns false (Kosovo)
520573
isInUnitedNations('PS'); // returns false (Palestine)
@@ -541,6 +594,7 @@ driveSide('826'); // returns 'left'
541594
driveSide(826); // returns 'left'
542595
driveSide('Q145'); // returns 'left'
543596
driveSide('🇬🇧'); // returns 'left'
597+
driveSide('.uk'); // returns 'left'
544598
driveSide('UK'); // returns 'left'
545599
driveSide('United Kingdom'); // returns 'left'
546600
driveSide('CH'); // returns 'right'
@@ -566,6 +620,7 @@ roadSpeedUnit('826'); // returns 'mph'
566620
roadSpeedUnit(826); // returns 'mph'
567621
roadSpeedUnit('Q145'); // returns 'mph'
568622
roadSpeedUnit('🇬🇧'); // returns 'mph'
623+
roadSpeedUnit('.uk'); // returns 'mph'
569624
roadSpeedUnit('UK'); // returns 'mph'
570625
roadSpeedUnit('United Kingdom'); // returns 'mph'
571626
roadSpeedUnit('CH'); // returns 'km/h'
@@ -591,6 +646,7 @@ roadHeightUnit('826'); // returns 'ft'
591646
roadHeightUnit(826); // returns 'ft'
592647
roadHeightUnit('Q145'); // returns 'ft'
593648
roadHeightUnit('🇬🇧'); // returns 'ft'
649+
roadHeightUnit('.uk'); // returns 'ft'
594650
roadHeightUnit('UK'); // returns 'ft'
595651
roadHeightUnit('United Kingdom'); // returns 'ft'
596652
roadHeightUnit('CH'); // returns 'm'
@@ -615,6 +671,7 @@ callingCodes('826'); // returns ['44']
615671
callingCodes(826); // returns ['44']
616672
callingCodes('Q145'); // returns ['44']
617673
callingCodes('🇬🇧'); // returns ['44']
674+
callingCodes('.uk'); // returns ['44']
618675
callingCodes('UK'); // returns ['44']
619676
callingCodes('United Kingdom'); // returns ['44']
620677
callingCodes('BS'); // returns ['1 242']
@@ -689,6 +746,7 @@ An object containing the attributes of a RegionFeature object.
689746
- `m49`: `string`, UN M49 code
690747
- `wikidata`: `string`, Wikidata QID
691748
- `emojiFlag`: `string`, the emoji flag sequence derived from this feature's ISO 3166-1 alpha-2 code
749+
- `ccTLD`: `string`, the ccTLD (country code top-level internet domain)
692750
- `nameEn`: `string`, common name in English
693751
- `aliases`: `[string]`, additional identifiers which can be used to look up this feature
694752
- `country`: `string`, for features entirely within a country, the id for that country

0 commit comments

Comments
 (0)