Skip to content

Commit 4c3e722

Browse files
committed
Filter out extraneous items from Timezone.getAvailableTimezones().
1 parent 399aabb commit 4c3e722

4 files changed

Lines changed: 9 additions & 6 deletions

File tree

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@tubular/time",
3-
"version": "3.9.5",
3+
"version": "3.9.6",
44
"description": "Date/time, IANA timezones, leap seconds, TAI/UTC conversions, calendar with settable Julian/Gregorian switchover",
55
"main": "dist/cjs/index.js",
66
"module": "dist/fesm2015/index.js",

src/timezone.spec.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ describe('Timezone', () => {
5454
expect(Timezone.from('Europe/Paris').supportsCountry('JA')).to.be.false;
5555
expect(Array.from(Timezone.from('Pacific/Honolulu').countries).sort().join('')).to.equal('UMUS');
5656
expect(Timezone.getAvailableTimezones().length).to.be.greaterThan(200);
57+
expect(Timezone.getAvailableTimezones().includes('leapSeconds')).to.be.false;
5758

5859
const regions = Timezone.getRegionsAndSubzones();
5960

@@ -99,7 +100,7 @@ describe('Timezone', () => {
99100
'Atlantic/St_Helena', 'Iceland'
100101
]);
101102
expect(Timezone.getAliasesForZone('America/New_York')).to.deep.equal([
102-
'EST5EDT', 'SystemV/EST5EDT', 'US/Eastern'
103+
'EST5EDT', 'US/Eastern'
103104
]);
104105
expect(Timezone.getAliasesForZone('Antarctica/Mawson')).to.deep.equal([]);
105106
});

src/timezone.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -311,8 +311,10 @@ export class Timezone {
311311
static getAvailableTimezones(): string[] {
312312
const zones: string[] = [];
313313

314-
for (const zone of Object.keys(this.encodedTimezones))
315-
zones.push(zone);
314+
for (const zone of Object.keys(this.encodedTimezones)) {
315+
if (zone.includes('/') || /^[A-Z]/.test(zone)) // Filter out deltaTs, leapSeconds, etc.
316+
zones.push(zone);
317+
}
316318

317319
zones.sort();
318320

0 commit comments

Comments
 (0)