A simple Addon that contains the 6 following lists:
- all the countries in ISO2 (US), ISO3 (USA), ISO-Numeric (840) and English name (United States) formats.
- the countries without ZIP Code.
- the countries with states.
- the US states & military states
- the US states that require customs declaration
- the Canadian states
Here are a list of the main helpers:
- Country ISO2, ISO3 or ISO-Numeric to Country object.
- Is country with state.
- Is country without ZIP Code.
- State ISO2 to State object
You can find more information about ISO codes here:
ember install ember-countries
Here are all the information that you need to migrate from version 1.x.x to 2.0.0: Migrating from 1.x.x to 2.0.0
import { COUNTRIES_LIST, COUNTRIES_WITHOUT_ZIP_LIST, COUNTRIES_WITH_STATES_LIST } from 'ember-countries';
import { US_STATES_LIST, US_MILITARY_STATES_LIST, US_REQUIRING_CUSTOM_DECLARATION_STATES_LIST, CA_STATES_LIST, STATES_BY_COUNTRIES } from 'ember-countries';
import { getCountry, isCountryWithState, isCountryWithoutZip } from 'ember-countries';
import { getStatesForCountry, isCustomsDeclarationRequiredInUS, countryContainsState, getState } from 'ember-countries';
import defaultEmberCountries from 'ember-countries';
import Em from 'ember';
import { COUNTRIES_LIST } from 'ember-countries';
export default Em.Controller.extend({
COUNTRIES_LIST: COUNTRIES_LIST,
...
});
import Em from 'ember';
import { getCountry, isCountryWithState, isCountryWithoutZip } from 'ember-countries';
export default Em.Controller.extend({
countryHelper() {
let expect = {name: "United States", iso2: "US", iso3: "USA", isoNumeric: "840"}
let country1 = getCountry('US');
let country2 = getCountry('USA');
let country3 = getCountry('840');
country1 === expect // true
country2 === expect // true
country3 === expect // true
isCountryWithState('US') // true
isCountryWithoutZip('US') // false
},
...
});
import Em from 'ember';
import emberCountries from 'ember-countries';
export default Em.Controller.extend({
US_STATES: emberCountries.US_STATES_LIST,
...
});
import Em from 'ember';
import { getState, countryContainsState } from 'ember-countries';
export default Em.Controller.extend({
countryHelper() {
let expect = {name: "California", iso2: "CA"}
let state1 = getState('US', 'CA');
let state2 = getState('USA', 'CA');
let state3 = getState('840', 'CA');
state1 === expect // true
state2 === expect // true
state3 === expect // true
countryContainsState('US', 'CA') // true
},
...
});
npm test
(Runsember try:each
to test your addon against multiple Ember versions)ember test
ember test --server
ember build
For more information on using ember-cli, visit http://ember-cli.com/.
PRs welcome!