DEV Community

Cover image for Country Phone Extension Search Javascript package.
Mayank
Mayank

Posted on

Country Phone Extension Search Javascript package.

Country Detail

Purpose to provide SVG Flags, Unicode flag (emojis), Country code, Phone extension

Install using npm

npm i country-code-flag-phone-extension-json
Enter fullscreen mode Exit fullscreen mode

Methods & Options

const country = require("country-code-flag-phone-extension-json");

// Get all countries.
country.all();


const options  = {
    filter: "", // If pass as string then full text search on db (name, subregion, region, currency)
    filter: [], // if pass as array filter by ISO2 codes 
    keys: [], // define object keys to minify records,
    sortBy: [], // sort by priortiy of mentioned ISO2 code.
    limit: 5 // limit the returned object
}
Enter fullscreen mode Exit fullscreen mode

Usage

Get all Countries

List all the countries with details object

const country = require("country-code-flag-phone-extension-json");

country.all();

// Return all the country with full detailed object
Enter fullscreen mode Exit fullscreen mode

Filter Countries by ISO2 Code

Filter country by country codes

const country = require("country-code-flag-phone-extension-json");

country.all({
  filter: ["IN", "US"],
});

// Return only two records filter by India and United States
Enter fullscreen mode Exit fullscreen mode

Filter Countries by plain text search

Quick search in database

const country = require("country-code-flag-phone-extension-json");

country.all({
  filter: "india",
});

// Return only one records filter search by india
// It search on name, region, subregion, currency name
Enter fullscreen mode Exit fullscreen mode

Sort by Country

In some case, we want specific country to be on top of the dropdown and followed by all others.

const country = require("country-code-flag-phone-extension-json");

country.all({
  sortBy: ["US", "IN"],
});

// Return all countried sort by US, IN and
// all remaining countries ..
Enter fullscreen mode Exit fullscreen mode

Limit the record by Country

Top 5 records

const country = require("country-code-flag-phone-extension-json");

country.all({
    limit: 5
})
// Return top 5 countries from DB

country.all({
    limit: 5,
    sortBy: ["US", "IN"]
})
// Return top 5 followed by - US, IN
// and reminaing 3 countries from DB

country.all({
    filter: ["IN", "US", "ZW", "YE", "AD"]
    limit: 5,
    sortBy: ["US", "IN"]
})

// Return  5 records followed by - US, IN
// and reminaing 3 filtered (AD, YE, ZW) countries from DB

Enter fullscreen mode Exit fullscreen mode

Minified the filted object or all countried from DV

const country = require("country-code-flag-phone-extension-json");

country.all({
    keys: ["id", "name", "dail_code", "mask", "emoji", "translations.kr"],
    limit: 5
})
// output
/*
{
    "rows": [
        {
            "id": 1,
            "name": "Afghanistan",
            "dail_code": "+93",
            "mask": "+93-##-###-####",
            "emoji": "πŸ‡¦πŸ‡«",
            "translations": {
                "kr": "μ•„ν”„κ°€λ‹ˆμŠ€νƒ„"
            }
        },
        {
            "id": 2,
            "name": "Aland Islands",
            "dail_code": "+358",
            "emoji": "πŸ‡¦πŸ‡½",
            "translations": {
                "kr": "μ˜¬λž€λ“œ μ œλ„"
            }
        },
        {
            "id": 3,
            "name": "Albania",
            "dail_code": "+355",
            "mask": "+355(###)###-###",
            "emoji": "πŸ‡¦πŸ‡±",
            "translations": {
                "kr": "μ•Œλ°”λ‹ˆμ•„"
            }
        },
        {
            "id": 4,
            "name": "Algeria",
            "dail_code": "+213",
            "mask": "+213-##-###-####",
            "emoji": "πŸ‡©πŸ‡Ώ",
            "translations": {
                "kr": "μ•Œμ œλ¦¬"
            }
        },
        {
            "id": 5,
            "name": "American Samoa",
            "dail_code": "+1684",
            "mask": "+1(684)###-####",
            "emoji": "πŸ‡¦πŸ‡Έ",
            "translations": {
                "kr": "아메리칸사λͺ¨μ•„"
            }
        }
    ],
    "count": 5
}
*/

country.all({
    limit: 5,
    sortBy: ["US", "IN"]
})
// Return top 5 followed by - US, IN
// and reminaing 3 countries from DB

country.all({
    filter: ["IN", "US", "ZW", "YE", "AD"]
    limit: 5,
    sortBy: ["US", "IN"]
})

// Return  5 records followed by - US, IN
// and reminaing 3 filtered (AD, YE, ZW) countries from DB

Enter fullscreen mode Exit fullscreen mode

If you like it

You can buy me coffee
https://www.buymeacoffee.com/mayankjhawar

Support me at Patreon
https://patreon.com/mayank120

License

MIT

Top comments (3)

Collapse
 
anujjhawar28 profile image
Anuj

Awesome Really helpful.

Thanks :)

Collapse
 
mayank30 profile image
Mayank

Guys

you can also download the json from here
cdn.jsdelivr.net/npm/country-code-...

Collapse
 
amedalen profile image
Aj • Edited

Thank you for this wonderful post I got really inspired so I created a web app in python to retrieve time of any city

dev.to/amedalen/time-finder-of-any...

Thank you so much.