Skip to content

Commit

Permalink
Added TimeZone.browser() and improved coverage
Browse files Browse the repository at this point in the history
  • Loading branch information
DavidDuwaer committed Dec 3, 2021
1 parent 09fcd85 commit 631b014
Show file tree
Hide file tree
Showing 7 changed files with 25 additions and 6 deletions.
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "globol",
"version": "0.6.0",
"version": "0.7.0",
"description": "Javascript/Typescript date/time as it should be: immutable, fluent, multi-zone, intuitive. Inspired by the masterful java.time library which suddenly made dates easy.",
"keywords": [
"time",
Expand Down
8 changes: 7 additions & 1 deletion src/TimeZone.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
export interface TimeZone
import {ZoneId} from './ZoneId';

export abstract class TimeZone
{
public static browser()
{
return ZoneId.browser();
}
}
3 changes: 2 additions & 1 deletion src/ZoneId.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,13 @@ import {TimeZone} from './TimeZone';

export type ZoneIdString = 'Europe/Amsterdam' | 'UTC' | 'America/New_York'; // todo: add all other IDs that occur in tz database

export class ZoneId implements TimeZone
export class ZoneId extends TimeZone
{
private readonly zoneId: ZoneIdString;

private constructor(zoneId: ZoneIdString)
{
super();
this.zoneId = requireValidZoneIdString(zoneId);
}

Expand Down
3 changes: 2 additions & 1 deletion src/ZoneOffset.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
import {TimeZone} from './TimeZone';

export class ZoneOffset implements TimeZone
export class ZoneOffset extends TimeZone
{
private readonly nrOfSeconds: number;

constructor(nrOfSeconds: number)
{
super();
this.nrOfSeconds = nrOfSeconds;
}
}
3 changes: 2 additions & 1 deletion src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,5 @@ export {LocalDateTime} from './LocalDateTime';
export {LocalTime, HourNumber, MinuteNumber} from './LocalTime';
export {ZonedDateTime} from './ZonedDateTime';
export {ZoneId, ZoneIdString} from './ZoneId';
export {ZoneOffset} from './ZoneOffset';
export {ZoneOffset} from './ZoneOffset';
export {TimeZone} from './TimeZone';
10 changes: 10 additions & 0 deletions tests/TimeZone.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import {assert} from "chai";
import {TimeZone, ZoneId} from "../src";

describe('TimeZone', () => {
describe('.browser()', () => {
it('is the same as ZoneId.browser()', () => {
assert.isTrue(ZoneId.browser().equals(TimeZone.browser()))
})
});
});

0 comments on commit 631b014

Please sign in to comment.