From 782ba8d8286dae9e8a98e9882efd2d06486fc26e Mon Sep 17 00:00:00 2001 From: David Bird Date: Thu, 28 Sep 2017 02:54:36 +1000 Subject: [PATCH] Add declarations for 'countries-and-timezones' (#20055) --- .../countries-and-timezones-tests.ts | 6 +++++ types/countries-and-timezones/index.d.ts | 25 +++++++++++++++++++ types/countries-and-timezones/tsconfig.json | 22 ++++++++++++++++ types/countries-and-timezones/tslint.json | 1 + 4 files changed, 54 insertions(+) create mode 100644 types/countries-and-timezones/countries-and-timezones-tests.ts create mode 100644 types/countries-and-timezones/index.d.ts create mode 100644 types/countries-and-timezones/tsconfig.json create mode 100644 types/countries-and-timezones/tslint.json diff --git a/types/countries-and-timezones/countries-and-timezones-tests.ts b/types/countries-and-timezones/countries-and-timezones-tests.ts new file mode 100644 index 0000000000..a73344aa88 --- /dev/null +++ b/types/countries-and-timezones/countries-and-timezones-tests.ts @@ -0,0 +1,6 @@ +import * as lib from 'countries-and-timezones'; + +lib.getAllCountries(); +lib.getAllTimezones(); +lib.getCountriesForTimezone('Europe/London'); +lib.getTimezonesForCountry('GB'); diff --git a/types/countries-and-timezones/index.d.ts b/types/countries-and-timezones/index.d.ts new file mode 100644 index 0000000000..1012133d8e --- /dev/null +++ b/types/countries-and-timezones/index.d.ts @@ -0,0 +1,25 @@ +// Type definitions for countries-and-timezones 1.0 +// Project: https://github.com/manuelmhtr/countries-and-timezones#readme +// Definitions by: David Bird +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +export interface Country { + id: string; + name: string; + timezones: string[]; +} + +export interface Timezone { + name: string; + utcOffset: number; + offsetStr: string; + countries: string[]; +} + +export function getAllCountries(): Country[]; + +export function getAllTimezones(): Timezone[]; + +export function getCountriesForTimezone(timezoneId: string): Country[]; + +export function getTimezonesForCountry(countryId: string): Timezone[]; diff --git a/types/countries-and-timezones/tsconfig.json b/types/countries-and-timezones/tsconfig.json new file mode 100644 index 0000000000..8a5b341368 --- /dev/null +++ b/types/countries-and-timezones/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "countries-and-timezones-tests.ts" + ] +} diff --git a/types/countries-and-timezones/tslint.json b/types/countries-and-timezones/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/countries-and-timezones/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" }