Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue 289; Adding country functionality #377

Conversation

adgrace
Copy link

@adgrace adgrace commented Sep 1, 2016

Added country functionality.

  • "grunt data" adds countries to packed and unpacked data from meta data
  • Now can parse either Zone or Country code, if country, will return an array with a moment for each zone within the country. Did consider adding all moments methods to array methods however decided not to because it is bad practice and the user can apply the moment methods to the array using .map . All of the moments within the array will be of different zones within the country however some of the zones may have the same time, it is for the user to filter the ones they want or find the unique times.
  • Added user endpoints added such as: tz._countries, tz.addCountry, tz.addZonetoCountry, tz.removeZonefromCountry, tz.country and tz.unpackCountry.
  • tz._countries is similar to tz._zones and is where all the country data can be accessed,
  • tz.addCountry is used to add a new country(should not be needed as all IANA countries exist),
  • tz.addZonetoCountry is to add a new zone to an existing country,
  • tz.removeZonefromCountry is to remove a Zone from a country,
  • tz.unpackCountry unpacks a packed country string into a country object,
  • tz.country (similar to tz.zone) gets the specified country information,
  • Country object contains country two letter ISO-3166 code, country full name and the zones in the country.
  • Have updated and added new tests to reflect the country functionality. All previous tests still work and there should be no compatibility issues.
  • Only accepts two letter country codes and not country full name.

For country codes see here: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2

If any more functionality is required, please do not hesitate to email or phone me and I will add it.

This is my first pull request and I appreciate any feedback.

Have fun using the country functionality and I hope it is useful and helpful 👍

@mattjohnsonpint
Copy link
Contributor

Thanks. I'll review tis as soon as I can.

@mattjohnsonpint
Copy link
Contributor

mattjohnsonpint commented Sep 19, 2016

There are multiple places where the following need to be cleaned up:

  • Use === and !== instead of == and != unless you expect and desire to work with truthy/falsy values, type coercions, etc. In most cases you won't.
  • Instead of if (typeof foo === "undefined"), you probably can use if (!foo) in most cases. (Here, falsiness works to your advantage). Likewise, if (foo) usually works for the opposite. Though watch out or anything where 0 or empty string could be a valid input.
  • In several places you build arrays from other arrays, by iterating over the first array and pushing to the second. These can be much cleaner if rewritten to use the map function.

More comments pending...

@mattjohnsonpint
Copy link
Contributor

Thanks for your contribution, but this is a little too much, and I'm not quite understanding the reasoning for all of the API additions here.

  • Why does moment.tz('US') return an array of 34 moment objects? We really cannot redefine how moment construction works. We do not need code that retrieves the current moment in all time zones within a country. If we supported a country code here, we'd also have to support it during conversion, as in moment().tz('US') - which clearly doesn't work because you can't mutate a single instance into an array.
  • It seems like the other main API is moment.tz.country('US'), which I would expect to return an array of time zone identifiers for the United States. Instead, I get an object back with an array of zones, but they're not in a usable form (america_chicgo instead of America/Chicago).
  • I don't want to use the full names of countries in this library, because they are in English only, and moment is supposed to be language-neutral. We don't have a lot of other display strings here, so the English names of the countries should not be part of the data.

Really, all we need is something that gets the time zone identifiers for the country, or tells you what country/countries a time zone ID is associated with. Anything else is extraneous. Keep a minimal footprint please.

I'd suggest a simplified API which is:

var zones = moment.tz.zonesForCountry('US'); // returns ['America/Chicago', ' America/New_York', etc...]
var country = moment.tz.zone('America/Los_Angeles').country; // Single country "US"

Also, for this purpose, it would be better to use the single country code from zone.tab rather than the array of countries in zone1970.tab.

Thanks, and I look forward to your revisions.

@adgrace
Copy link
Author

adgrace commented Sep 26, 2016

Hi Matt, thanks for the feedback, I will make these changes as soon as I have a little spare time! Hopefully within the next two weeks

…sing-country-codes-from-the-IANA-data

# Conflicts:
#	.gitignore
#	.jshintrc
#	.npmignore
#	.travis.yml
#	Gruntfile.js
#	LICENSE
#	README.md
#	bower.json
#	builds/moment-timezone-with-data-2010-2020.js
#	builds/moment-timezone-with-data-2010-2020.min.js
#	builds/moment-timezone-with-data.js
#	builds/moment-timezone-with-data.min.js
#	builds/moment-timezone.min.js
#	changelog.md
#	composer.json
#	contributing.md
#	data/meta/2014a.json
#	data/meta/2014b.json
#	data/meta/2014c.json
#	data/meta/2014d.json
#	data/meta/2014e.json
#	data/meta/2014f.json
#	data/meta/2014g.json
#	data/meta/2014h.json
#	data/meta/2014i.json
#	data/meta/2014j.json
#	data/meta/2015a.json
#	data/meta/2015b.json
#	data/meta/2015c.json
#	data/meta/2015d.json
#	data/meta/2015e.json
#	data/meta/2015f.json
#	data/meta/2015g.json
#	data/meta/2016a.json
#	data/meta/2016b.json
#	data/meta/2016c.json
#	data/meta/2016d.json
#	data/meta/latest.json
#	data/packed/2014a.json
#	data/packed/2014b.json
#	data/packed/2014c.json
#	data/packed/2014d.json
#	data/packed/2014e.json
#	data/packed/2014f.json
#	data/packed/2014g.json
#	data/packed/2014h.json
#	data/packed/2014i.json
#	data/packed/2014j.json
#	data/packed/2015a.json
#	data/packed/2015b.json
#	data/packed/2015c.json
#	data/packed/2015d.json
#	data/packed/2015e.json
#	data/packed/2015f.json
#	data/packed/2015g.json
#	data/packed/2016a.json
#	data/packed/2016b.json
#	data/packed/2016c.json
#	data/packed/2016d.json
#	data/packed/latest.json
#	data/unpacked/2014a.json
#	data/unpacked/2014b.json
#	data/unpacked/2014c.json
#	data/unpacked/2014d.json
#	data/unpacked/2014e.json
#	data/unpacked/2014f.json
#	data/unpacked/2014g.json
#	data/unpacked/2014h.json
#	data/unpacked/2014i.json
#	data/unpacked/2014j.json
#	data/unpacked/2015a.json
#	data/unpacked/2015b.json
#	data/unpacked/2015c.json
#	data/unpacked/2015d.json
#	data/unpacked/2015e.json
#	data/unpacked/2015f.json
#	data/unpacked/2015g.json
#	data/unpacked/2016a.json
#	data/unpacked/2016b.json
#	data/unpacked/2016c.json
#	data/unpacked/2016d.json
#	data/unpacked/latest.json
#	index.js
#	moment-timezone-utils.js
#	moment-timezone.js
#	package.json
#	tasks/builds.js
#	tasks/data-collect.js
#	tasks/data-dedupe.js
#	tasks/data-download.js
#	tasks/data-meta.js
#	tasks/data-pack.js
#	tasks/data-tests.js
#	tasks/data-zdump.js
#	tasks/data-zic.js
#	tasks/data.js
#	tasks/population.json
#	tests/helpers/helpers.js
#	tests/moment-timezone/add.js
#	tests/moment-timezone/countries.js
#	tests/moment-timezone/create-links.js
#	tests/moment-timezone/default.js
#	tests/moment-timezone/filter-link-pack.js
#	tests/moment-timezone/filter-years.js
#	tests/moment-timezone/guess.js
#	tests/moment-timezone/link.js
#	tests/moment-timezone/load.js
#	tests/moment-timezone/manipulate.js
#	tests/moment-timezone/names.js
#	tests/moment-timezone/needs-offset.js
#	tests/moment-timezone/pack-base-60.js
#	tests/moment-timezone/pack.js
#	tests/moment-timezone/parse.js
#	tests/moment-timezone/unpack-base-60.js
#	tests/moment-timezone/unpack.js
#	tests/moment-timezone/utc.js
#	tests/moment-timezone/zone.js
#	tests/zones/africa/abidjan.js
#	tests/zones/africa/accra.js
#	tests/zones/africa/addis_ababa.js
#	tests/zones/africa/algiers.js
#	tests/zones/africa/asmara.js
#	tests/zones/africa/asmera.js
#	tests/zones/africa/bamako.js
#	tests/zones/africa/bangui.js
#	tests/zones/africa/banjul.js
#	tests/zones/africa/bissau.js
#	tests/zones/africa/blantyre.js
#	tests/zones/africa/brazzaville.js
#	tests/zones/africa/bujumbura.js
#	tests/zones/africa/cairo.js
#	tests/zones/africa/casablanca.js
#	tests/zones/africa/ceuta.js
#	tests/zones/africa/conakry.js
#	tests/zones/africa/dakar.js
#	tests/zones/africa/dar_es_salaam.js
#	tests/zones/africa/djibouti.js
#	tests/zones/africa/douala.js
#	tests/zones/africa/el_aaiun.js
#	tests/zones/africa/freetown.js
#	tests/zones/africa/gaborone.js
#	tests/zones/africa/harare.js
#	tests/zones/africa/johannesburg.js
#	tests/zones/africa/juba.js
#	tests/zones/africa/kampala.js
#	tests/zones/africa/khartoum.js
#	tests/zones/africa/kigali.js
#	tests/zones/africa/kinshasa.js
#	tests/zones/africa/lagos.js
#	tests/zones/africa/libreville.js
#	tests/zones/africa/lome.js
#	tests/zones/africa/luanda.js
#	tests/zones/africa/lubumbashi.js
#	tests/zones/africa/lusaka.js
#	tests/zones/africa/malabo.js
#	tests/zones/africa/maputo.js
#	tests/zones/africa/maseru.js
#	tests/zones/africa/mbabane.js
#	tests/zones/africa/mogadishu.js
#	tests/zones/africa/monrovia.js
#	tests/zones/africa/nairobi.js
#	tests/zones/africa/ndjamena.js
#	tests/zones/africa/niamey.js
#	tests/zones/africa/nouakchott.js
#	tests/zones/africa/ouagadougou.js
#	tests/zones/africa/porto-novo.js
#	tests/zones/africa/sao_tome.js
#	tests/zones/africa/timbuktu.js
#	tests/zones/africa/tripoli.js
#	tests/zones/africa/tunis.js
#	tests/zones/africa/windhoek.js
#	tests/zones/america/adak.js
#	tests/zones/america/anchorage.js
#	tests/zones/america/anguilla.js
#	tests/zones/america/antigua.js
#	tests/zones/america/araguaina.js
#	tests/zones/america/argentina/buenos_aires.js
#	tests/zones/america/argentina/catamarca.js
#	tests/zones/america/argentina/comodrivadavia.js
#	tests/zones/america/argentina/cordoba.js
#	tests/zones/america/argentina/jujuy.js
#	tests/zones/america/argentina/la_rioja.js
#	tests/zones/america/argentina/mendoza.js
#	tests/zones/america/argentina/rio_gallegos.js
#	tests/zones/america/argentina/salta.js
#	tests/zones/america/argentina/san_juan.js
#	tests/zones/america/argentina/san_luis.js
#	tests/zones/america/argentina/tucuman.js
#	tests/zones/america/argentina/ushuaia.js
#	tests/zones/america/aruba.js
#	tests/zones/america/asuncion.js
#	tests/zones/america/atikokan.js
#	tests/zones/america/atka.js
#	tests/zones/america/bahia.js
#	tests/zones/america/bahia_banderas.js
#	tests/zones/america/barbados.js
#	tests/zones/america/belem.js
#	tests/zones/america/belize.js
#	tests/zones/america/blanc-sablon.js
#	tests/zones/america/boa_vista.js
#	tests/zones/america/bogota.js
#	tests/zones/america/boise.js
#	tests/zones/america/buenos_aires.js
#	tests/zones/america/cambridge_bay.js
#	tests/zones/america/campo_grande.js
#	tests/zones/america/cancun.js
#	tests/zones/america/caracas.js
#	tests/zones/america/catamarca.js
#	tests/zones/america/cayenne.js
#	tests/zones/america/cayman.js
#	tests/zones/america/chicago.js
#	tests/zones/america/chihuahua.js
#	tests/zones/america/coral_harbour.js
#	tests/zones/america/cordoba.js
#	tests/zones/america/costa_rica.js
#	tests/zones/america/creston.js
#	tests/zones/america/cuiaba.js
#	tests/zones/america/curacao.js
#	tests/zones/america/danmarkshavn.js
#	tests/zones/america/dawson.js
#	tests/zones/america/dawson_creek.js
#	tests/zones/america/denver.js
#	tests/zones/america/detroit.js
#	tests/zones/america/dominica.js
#	tests/zones/america/edmonton.js
#	tests/zones/america/eirunepe.js
#	tests/zones/america/el_salvador.js
#	tests/zones/america/ensenada.js
#	tests/zones/america/fort_nelson.js
#	tests/zones/america/fort_wayne.js
#	tests/zones/america/fortaleza.js
#	tests/zones/america/glace_bay.js
#	tests/zones/america/godthab.js
#	tests/zones/america/goose_bay.js
#	tests/zones/america/grand_turk.js
#	tests/zones/america/grenada.js
#	tests/zones/america/guadeloupe.js
#	tests/zones/america/guatemala.js
#	tests/zones/america/guayaquil.js
#	tests/zones/america/guyana.js
#	tests/zones/america/halifax.js
#	tests/zones/america/havana.js
#	tests/zones/america/hermosillo.js
#	tests/zones/america/indiana/indianapolis.js
#	tests/zones/america/indiana/knox.js
#	tests/zones/america/indiana/marengo.js
#	tests/zones/america/indiana/petersburg.js
#	tests/zones/america/indiana/tell_city.js
#	tests/zones/america/indiana/vevay.js
#	tests/zones/america/indiana/vincennes.js
#	tests/zones/america/indiana/winamac.js
#	tests/zones/america/indianapolis.js
#	tests/zones/america/inuvik.js
#	tests/zones/america/iqaluit.js
#	tests/zones/america/jamaica.js
#	tests/zones/america/jujuy.js
#	tests/zones/america/juneau.js
#	tests/zones/america/kentucky/louisville.js
#	tests/zones/america/kentucky/monticello.js
#	tests/zones/america/knox_in.js
#	tests/zones/america/kralendijk.js
#	tests/zones/america/la_paz.js
#	tests/zones/america/lima.js
#	tests/zones/america/los_angeles.js
#	tests/zones/america/louisville.js
#	tests/zones/america/lower_princes.js
#	tests/zones/america/maceio.js
#	tests/zones/america/managua.js
#	tests/zones/america/manaus.js
#	tests/zones/america/marigot.js
#	tests/zones/america/martinique.js
#	tests/zones/america/matamoros.js
#	tests/zones/america/mazatlan.js
#	tests/zones/america/mendoza.js
#	tests/zones/america/menominee.js
#	tests/zones/america/merida.js
#	tests/zones/america/metlakatla.js
#	tests/zones/america/mexico_city.js
#	tests/zones/america/miquelon.js
#	tests/zones/america/moncton.js
#	tests/zones/america/monterrey.js
#	tests/zones/america/montevideo.js
#	tests/zones/america/montreal.js
#	tests/zones/america/montserrat.js
#	tests/zones/america/nassau.js
#	tests/zones/america/new_york.js
#	tests/zones/america/nipigon.js
#	tests/zones/america/nome.js
#	tests/zones/america/noronha.js
#	tests/zones/america/north_dakota/beulah.js
#	tests/zones/america/north_dakota/center.js
#	tests/zones/america/north_dakota/new_salem.js
#	tests/zones/america/ojinaga.js
#	tests/zones/america/panama.js
#	tests/zones/america/pangnirtung.js
#	tests/zones/america/paramaribo.js
#	tests/zones/america/phoenix.js
#	tests/zones/america/port-au-prince.js
#	tests/zones/america/port_of_spain.js
#	tests/zones/america/porto_acre.js
#	tests/zones/america/porto_velho.js
#	tests/zones/america/puerto_rico.js
#	tests/zones/america/rainy_river.js
#	tests/zones/america/rankin_inlet.js
#	tests/zones/america/recife.js
#	tests/zones/america/regina.js
#	tests/zones/america/resolute.js
#	tests/zones/america/rio_branco.js
#	tests/zones/america/rosario.js
#	tests/zones/america/santa_isabel.js
#	tests/zones/america/santarem.js
#	tests/zones/america/santiago.js
#	tests/zones/america/santo_domingo.js
#	tests/zones/america/sao_paulo.js
#	tests/zones/america/scoresbysund.js
#	tests/zones/america/shiprock.js
#	tests/zones/america/sitka.js
#	tests/zones/america/st_barthelemy.js
#	tests/zones/america/st_johns.js
#	tests/zones/america/st_kitts.js
#	tests/zones/america/st_lucia.js
#	tests/zones/america/st_thomas.js
#	tests/zones/america/st_vincent.js
#	tests/zones/america/swift_current.js
#	tests/zones/america/tegucigalpa.js
#	tests/zones/america/thule.js
#	tests/zones/america/thunder_bay.js
#	tests/zones/america/tijuana.js
#	tests/zones/america/toronto.js
#	tests/zones/america/tortola.js
#	tests/zones/america/vancouver.js
#	tests/zones/america/virgin.js
#	tests/zones/america/whitehorse.js
#	tests/zones/america/winnipeg.js
#	tests/zones/america/yakutat.js
#	tests/zones/america/yellowknife.js
#	tests/zones/antarctica/casey.js
#	tests/zones/antarctica/davis.js
#	tests/zones/antarctica/dumontdurville.js
#	tests/zones/antarctica/macquarie.js
#	tests/zones/antarctica/mawson.js
#	tests/zones/antarctica/mcmurdo.js
#	tests/zones/antarctica/palmer.js
#	tests/zones/antarctica/rothera.js
#	tests/zones/antarctica/south_pole.js
#	tests/zones/antarctica/syowa.js
#	tests/zones/antarctica/troll.js
#	tests/zones/antarctica/vostok.js
#	tests/zones/arctic/longyearbyen.js
#	tests/zones/asia/aden.js
#	tests/zones/asia/almaty.js
#	tests/zones/asia/amman.js
#	tests/zones/asia/anadyr.js
#	tests/zones/asia/aqtau.js
#	tests/zones/asia/aqtobe.js
#	tests/zones/asia/ashgabat.js
#	tests/zones/asia/ashkhabad.js
#	tests/zones/asia/baghdad.js
#	tests/zones/asia/bahrain.js
#	tests/zones/asia/baku.js
#	tests/zones/asia/bangkok.js
#	tests/zones/asia/barnaul.js
#	tests/zones/asia/beirut.js
#	tests/zones/asia/bishkek.js
#	tests/zones/asia/brunei.js
#	tests/zones/asia/calcutta.js
#	tests/zones/asia/chita.js
#	tests/zones/asia/choibalsan.js
#	tests/zones/asia/chongqing.js
#	tests/zones/asia/chungking.js
#	tests/zones/asia/colombo.js
#	tests/zones/asia/dacca.js
#	tests/zones/asia/damascus.js
#	tests/zones/asia/dhaka.js
#	tests/zones/asia/dili.js
#	tests/zones/asia/dubai.js
#	tests/zones/asia/dushanbe.js
#	tests/zones/asia/gaza.js
#	tests/zones/asia/harbin.js
#	tests/zones/asia/hebron.js
#	tests/zones/asia/ho_chi_minh.js
#	tests/zones/asia/hong_kong.js
#	tests/zones/asia/hovd.js
#	tests/zones/asia/irkutsk.js
#	tests/zones/asia/istanbul.js
#	tests/zones/asia/jakarta.js
#	tests/zones/asia/jayapura.js
#	tests/zones/asia/jerusalem.js
#	tests/zones/asia/kabul.js
#	tests/zones/asia/kamchatka.js
#	tests/zones/asia/karachi.js
#	tests/zones/asia/kashgar.js
#	tests/zones/asia/kathmandu.js
#	tests/zones/asia/katmandu.js
#	tests/zones/asia/khandyga.js
#	tests/zones/asia/kolkata.js
#	tests/zones/asia/krasnoyarsk.js
#	tests/zones/asia/kuala_lumpur.js
#	tests/zones/asia/kuching.js
#	tests/zones/asia/kuwait.js
#	tests/zones/asia/macao.js
#	tests/zones/asia/macau.js
#	tests/zones/asia/magadan.js
#	tests/zones/asia/makassar.js
#	tests/zones/asia/manila.js
#	tests/zones/asia/muscat.js
#	tests/zones/asia/nicosia.js
#	tests/zones/asia/novokuznetsk.js
#	tests/zones/asia/novosibirsk.js
#	tests/zones/asia/omsk.js
#	tests/zones/asia/oral.js
#	tests/zones/asia/phnom_penh.js
#	tests/zones/asia/pontianak.js
#	tests/zones/asia/pyongyang.js
#	tests/zones/asia/qatar.js
#	tests/zones/asia/qyzylorda.js
#	tests/zones/asia/rangoon.js
#	tests/zones/asia/riyadh.js
#	tests/zones/asia/saigon.js
#	tests/zones/asia/sakhalin.js
#	tests/zones/asia/samarkand.js
#	tests/zones/asia/seoul.js
#	tests/zones/asia/shanghai.js
#	tests/zones/asia/singapore.js
#	tests/zones/asia/srednekolymsk.js
#	tests/zones/asia/taipei.js
#	tests/zones/asia/tashkent.js
#	tests/zones/asia/tbilisi.js
#	tests/zones/asia/tehran.js
#	tests/zones/asia/tel_aviv.js
#	tests/zones/asia/thimbu.js
#	tests/zones/asia/thimphu.js
#	tests/zones/asia/tokyo.js
#	tests/zones/asia/tomsk.js
#	tests/zones/asia/ujung_pandang.js
#	tests/zones/asia/ulaanbaatar.js
#	tests/zones/asia/ulan_bator.js
#	tests/zones/asia/urumqi.js
#	tests/zones/asia/ust-nera.js
#	tests/zones/asia/vientiane.js
#	tests/zones/asia/vladivostok.js
#	tests/zones/asia/yakutsk.js
#	tests/zones/asia/yekaterinburg.js
#	tests/zones/asia/yerevan.js
#	tests/zones/atlantic/azores.js
#	tests/zones/atlantic/bermuda.js
#	tests/zones/atlantic/canary.js
#	tests/zones/atlantic/cape_verde.js
#	tests/zones/atlantic/faeroe.js
#	tests/zones/atlantic/faroe.js
#	tests/zones/atlantic/jan_mayen.js
#	tests/zones/atlantic/madeira.js
#	tests/zones/atlantic/reykjavik.js
#	tests/zones/atlantic/south_georgia.js
#	tests/zones/atlantic/st_helena.js
#	tests/zones/atlantic/stanley.js
#	tests/zones/australia/act.js
#	tests/zones/australia/adelaide.js
#	tests/zones/australia/brisbane.js
#	tests/zones/australia/broken_hill.js
#	tests/zones/australia/canberra.js
#	tests/zones/australia/currie.js
#	tests/zones/australia/darwin.js
#	tests/zones/australia/eucla.js
#	tests/zones/australia/hobart.js
#	tests/zones/australia/lhi.js
#	tests/zones/australia/lindeman.js
#	tests/zones/australia/lord_howe.js
#	tests/zones/australia/melbourne.js
#	tests/zones/australia/north.js
#	tests/zones/australia/nsw.js
#	tests/zones/australia/perth.js
#	tests/zones/australia/queensland.js
#	tests/zones/australia/south.js
#	tests/zones/australia/sydney.js
#	tests/zones/australia/tasmania.js
#	tests/zones/australia/victoria.js
#	tests/zones/australia/west.js
#	tests/zones/australia/yancowinna.js
#	tests/zones/brazil/acre.js
#	tests/zones/brazil/denoronha.js
#	tests/zones/brazil/east.js
#	tests/zones/brazil/west.js
#	tests/zones/canada/atlantic.js
#	tests/zones/canada/central.js
#	tests/zones/canada/east-saskatchewan.js
#	tests/zones/canada/eastern.js
#	tests/zones/canada/mountain.js
#	tests/zones/canada/newfoundland.js
#	tests/zones/canada/pacific.js
#	tests/zones/canada/saskatchewan.js
#	tests/zones/canada/yukon.js
#	tests/zones/cet.js
#	tests/zones/chile/continental.js
#	tests/zones/chile/easterisland.js
#	tests/zones/cst6cdt.js
#	tests/zones/cuba.js
#	tests/zones/eet.js
#	tests/zones/egypt.js
#	tests/zones/eire.js
#	tests/zones/est.js
#	tests/zones/est5edt.js
#	tests/zones/etc/gmt+0.js
#	tests/zones/etc/gmt+1.js
#	tests/zones/etc/gmt+10.js
#	tests/zones/etc/gmt+11.js
#	tests/zones/etc/gmt+12.js
#	tests/zones/etc/gmt+2.js
#	tests/zones/etc/gmt+3.js
#	tests/zones/etc/gmt+4.js
#	tests/zones/etc/gmt+5.js
#	tests/zones/etc/gmt+6.js
#	tests/zones/etc/gmt+7.js
#	tests/zones/etc/gmt+8.js
#	tests/zones/etc/gmt+9.js
#	tests/zones/etc/gmt-0.js
#	tests/zones/etc/gmt-1.js
#	tests/zones/etc/gmt-10.js
#	tests/zones/etc/gmt-11.js
#	tests/zones/etc/gmt-12.js
#	tests/zones/etc/gmt-13.js
#	tests/zones/etc/gmt-14.js
#	tests/zones/etc/gmt-2.js
#	tests/zones/etc/gmt-3.js
#	tests/zones/etc/gmt-4.js
#	tests/zones/etc/gmt-5.js
#	tests/zones/etc/gmt-6.js
#	tests/zones/etc/gmt-7.js
#	tests/zones/etc/gmt-8.js
#	tests/zones/etc/gmt-9.js
#	tests/zones/etc/gmt.js
#	tests/zones/etc/gmt0.js
#	tests/zones/etc/greenwich.js
#	tests/zones/etc/uct.js
#	tests/zones/etc/universal.js
#	tests/zones/etc/utc.js
#	tests/zones/etc/zulu.js
#	tests/zones/europe/amsterdam.js
#	tests/zones/europe/andorra.js
#	tests/zones/europe/astrakhan.js
#	tests/zones/europe/athens.js
#	tests/zones/europe/belfast.js
#	tests/zones/europe/belgrade.js
#	tests/zones/europe/berlin.js
#	tests/zones/europe/bratislava.js
#	tests/zones/europe/brussels.js
#	tests/zones/europe/bucharest.js
#	tests/zones/europe/budapest.js
#	tests/zones/europe/busingen.js
#	tests/zones/europe/chisinau.js
#	tests/zones/europe/copenhagen.js
#	tests/zones/europe/dublin.js
#	tests/zones/europe/gibraltar.js
#	tests/zones/europe/guernsey.js
#	tests/zones/europe/helsinki.js
#	tests/zones/europe/isle_of_man.js
#	tests/zones/europe/istanbul.js
#	tests/zones/europe/jersey.js
#	tests/zones/europe/kaliningrad.js
#	tests/zones/europe/kiev.js
#	tests/zones/europe/kirov.js
#	tests/zones/europe/lisbon.js
#	tests/zones/europe/ljubljana.js
#	tests/zones/europe/london.js
#	tests/zones/europe/luxembourg.js
#	tests/zones/europe/madrid.js
#	tests/zones/europe/malta.js
#	tests/zones/europe/mariehamn.js
#	tests/zones/europe/minsk.js
#	tests/zones/europe/monaco.js
#	tests/zones/europe/moscow.js
#	tests/zones/europe/nicosia.js
#	tests/zones/europe/oslo.js
#	tests/zones/europe/paris.js
#	tests/zones/europe/podgorica.js
#	tests/zones/europe/prague.js
#	tests/zones/europe/riga.js
#	tests/zones/europe/rome.js
#	tests/zones/europe/samara.js
#	tests/zones/europe/san_marino.js
#	tests/zones/europe/sarajevo.js
#	tests/zones/europe/simferopol.js
#	tests/zones/europe/skopje.js
#	tests/zones/europe/sofia.js
#	tests/zones/europe/stockholm.js
#	tests/zones/europe/tallinn.js
#	tests/zones/europe/tirane.js
#	tests/zones/europe/tiraspol.js
#	tests/zones/europe/ulyanovsk.js
#	tests/zones/europe/uzhgorod.js
#	tests/zones/europe/vaduz.js
#	tests/zones/europe/vatican.js
#	tests/zones/europe/vienna.js
#	tests/zones/europe/vilnius.js
#	tests/zones/europe/volgograd.js
#	tests/zones/europe/warsaw.js
#	tests/zones/europe/zagreb.js
#	tests/zones/europe/zaporozhye.js
#	tests/zones/europe/zurich.js
#	tests/zones/gb-eire.js
#	tests/zones/gb.js
#	tests/zones/gmt+0.js
#	tests/zones/gmt-0.js
#	tests/zones/gmt.js
#	tests/zones/gmt0.js
#	tests/zones/greenwich.js
#	tests/zones/hongkong.js
#	tests/zones/hst.js
#	tests/zones/iceland.js
#	tests/zones/indian/antananarivo.js
#	tests/zones/indian/chagos.js
#	tests/zones/indian/christmas.js
#	tests/zones/indian/cocos.js
#	tests/zones/indian/comoro.js
#	tests/zones/indian/kerguelen.js
#	tests/zones/indian/mahe.js
#	tests/zones/indian/maldives.js
#	tests/zones/indian/mauritius.js
#	tests/zones/indian/mayotte.js
#	tests/zones/indian/reunion.js
#	tests/zones/iran.js
#	tests/zones/israel.js
#	tests/zones/jamaica.js
#	tests/zones/japan.js
#	tests/zones/kwajalein.js
#	tests/zones/libya.js
#	tests/zones/met.js
#	tests/zones/mexico/bajanorte.js
#	tests/zones/mexico/bajasur.js
#	tests/zones/mexico/general.js
#	tests/zones/mst.js
#	tests/zones/mst7mdt.js
#	tests/zones/navajo.js
#	tests/zones/nz-chat.js
#	tests/zones/nz.js
#	tests/zones/pacific/apia.js
#	tests/zones/pacific/auckland.js
#	tests/zones/pacific/bougainville.js
#	tests/zones/pacific/chatham.js
#	tests/zones/pacific/chuuk.js
#	tests/zones/pacific/easter.js
#	tests/zones/pacific/efate.js
#	tests/zones/pacific/enderbury.js
#	tests/zones/pacific/fakaofo.js
#	tests/zones/pacific/fiji.js
#	tests/zones/pacific/funafuti.js
#	tests/zones/pacific/galapagos.js
#	tests/zones/pacific/gambier.js
#	tests/zones/pacific/guadalcanal.js
#	tests/zones/pacific/guam.js
#	tests/zones/pacific/honolulu.js
#	tests/zones/pacific/johnston.js
#	tests/zones/pacific/kiritimati.js
#	tests/zones/pacific/kosrae.js
#	tests/zones/pacific/kwajalein.js
#	tests/zones/pacific/majuro.js
#	tests/zones/pacific/marquesas.js
#	tests/zones/pacific/midway.js
#	tests/zones/pacific/nauru.js
#	tests/zones/pacific/niue.js
#	tests/zones/pacific/norfolk.js
#	tests/zones/pacific/noumea.js
#	tests/zones/pacific/pago_pago.js
#	tests/zones/pacific/palau.js
#	tests/zones/pacific/pitcairn.js
#	tests/zones/pacific/pohnpei.js
#	tests/zones/pacific/ponape.js
#	tests/zones/pacific/port_moresby.js
#	tests/zones/pacific/rarotonga.js
#	tests/zones/pacific/saipan.js
#	tests/zones/pacific/samoa.js
#	tests/zones/pacific/tahiti.js
#	tests/zones/pacific/tarawa.js
#	tests/zones/pacific/tongatapu.js
#	tests/zones/pacific/truk.js
#	tests/zones/pacific/wake.js
#	tests/zones/pacific/wallis.js
#	tests/zones/pacific/yap.js
#	tests/zones/poland.js
#	tests/zones/portugal.js
#	tests/zones/prc.js
#	tests/zones/pst8pdt.js
#	tests/zones/roc.js
#	tests/zones/rok.js
#	tests/zones/singapore.js
#	tests/zones/turkey.js
#	tests/zones/uct.js
#	tests/zones/universal.js
#	tests/zones/us/alaska.js
#	tests/zones/us/aleutian.js
#	tests/zones/us/arizona.js
#	tests/zones/us/central.js
#	tests/zones/us/east-indiana.js
#	tests/zones/us/eastern.js
#	tests/zones/us/hawaii.js
#	tests/zones/us/indiana-starke.js
#	tests/zones/us/michigan.js
#	tests/zones/us/mountain.js
#	tests/zones/us/pacific-new.js
#	tests/zones/us/pacific.js
#	tests/zones/us/samoa.js
#	tests/zones/utc.js
#	tests/zones/w-su.js
#	tests/zones/wet.js
#	tests/zones/zulu.js
@adgrace adgrace closed this Nov 1, 2016
@adgrace adgrace deleted the Issue-289-using-country-codes-from-the-IANA-data branch November 1, 2016 10:55
@adgrace
Copy link
Author

adgrace commented Nov 1, 2016

Pull Request has been submitted and is passing all checks:
#410

Appreciate any feedback!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants