Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,5 @@ coverage
dist
node_modules
test/typings.test.js
yarn.lock
.idea
9,636 changes: 4,554 additions & 5,082 deletions package-lock.json

Large diffs are not rendered by default.

61 changes: 31 additions & 30 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -76,43 +76,44 @@
}
},
"dependencies": {
"date-fns": "^1.29.0",
"timezone-support": "^1.5.5"
"date-fns": "^1.30.1",
"timezone-support": "^2.0.2"
},
"devDependencies": {
"@babel/core": "^7.1.2",
"babel-core": "^7.0.0-bridge.0",
"babel-jest": "^23.6.0",
"@babel/core": "^7.5.4",
"@babel/preset-env": "^7.5.4",
"@types/jest": "^24.0.15",
"babel-jest": "^24.8.0",
"benchmark": "^2.1.4",
"connect": "^3.6.6",
"coveralls": "^3.0.2",
"connect": "^3.7.0",
"coveralls": "^3.0.5",
"cpy-cli": "^2.0.0",
"eslint-config-standard": "^12.0.0",
"eslint-plugin-import": "^2.14.0",
"eslint-plugin-node": "^7.0.1",
"eslint-plugin-promise": "^4.0.1",
"eslint-config-standard": "^13.0.1",
"eslint-plugin-import": "^2.18.0",
"eslint-plugin-node": "^9.1.0",
"eslint-plugin-promise": "^4.2.1",
"eslint-plugin-standard": "^4.0.0",
"fs-extra": "^7.0.0",
"jasmine-core": "^3.2.1",
"jest": "^23.6.0",
"jsdoc": "^3.5.5",
"fs-extra": "^8.1.0",
"jasmine-core": "^3.4.0",
"jest": "^24.8.0",
"jsdoc": "^3.6.2",
"minami": "^1.2.3",
"moment-timezone": "^0.5.21",
"npm-run-all": "^4.1.3",
"puppeteer": "^1.9.0",
"regenerator-runtime": "^0.12.1",
"rimraf": "^2.6.2",
"rollup": "^0.66.5",
"rollup-plugin-babel": "^4.0.3",
"rollup-plugin-uglify": "^6.0.0",
"semantic-release": "^15.9.17",
"serve-static": "^1.13.2",
"standard": "^12.0.1",
"tiny-glob": "^0.2.2",
"travis-deploy-once": "^5.0.9",
"tslint": "^5.11.0",
"moment-timezone": "^0.5.26",
"npm-run-all": "^4.1.5",
"puppeteer": "^1.18.1",
"regenerator-runtime": "^0.13.2",
"rimraf": "^2.6.3",
"rollup": "^1.16.7",
"rollup-plugin-babel": "^4.3.3",
"rollup-plugin-uglify": "^6.0.2",
"semantic-release": "^15.13.18",
"serve-static": "^1.14.1",
"standard": "^13.0.1",
"tiny-glob": "^0.2.6",
"travis-deploy-once": "^5.0.11",
"tslint": "^5.18.0",
"tslint-config-standard": "^8.0.1",
"typescript": "^3.1.2"
"typescript": "^3.5.3"
},
"keywords": [
"date-fns",
Expand Down
4 changes: 2 additions & 2 deletions perf/index.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
const { join } = require('path')
const { promisify } = require('util')
let { readdir } = require('fs')
let { exec } = require('child_process')
const { exec } = require('child_process')

readdir = promisify(readdir)

Expand Down Expand Up @@ -33,7 +33,7 @@ function runSuite (suite) {
(async function () {
try {
const suites = await listSuites()
for (let suite of suites) {
for (const suite of suites) {
await runSuite(suite)
console.log()
}
Expand Down
2 changes: 1 addition & 1 deletion src/convertToLocalTime.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ interface TimeZoneOptions {

declare function convertToLocalTime (dateInput: DateInput, options: TimeZoneOptions): Date

export { convertToLocalTime }
export default convertToLocalTime
4 changes: 2 additions & 2 deletions src/convertToLocalTime.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,11 @@ import { findTimeZone, getUTCOffset } from 'timezone-support'
* // The date will be "2018-09-02T16:00:00Z".
*/
function convertToLocalTime (argument, options) {
let date = parse(argument)
const date = parse(argument)
const timeZone = findTimeZone(options.timeZone)
let { offset } = getUTCOffset(date, timeZone)
offset = date.getTimezoneOffset() - offset
return new Date(date.getTime() - offset * 60 * 1000)
}

export { convertToLocalTime }
export default convertToLocalTime
7 changes: 5 additions & 2 deletions src/convertToTimeZone.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ interface TimeZoneOptions {
timeZone: string
}

declare function convertToTimeZone (dateInput: DateInput, options: TimeZoneOptions): Date
declare function convertToTimeZone (
dateInput: DateInput,
options: TimeZoneOptions
): Date

export { convertToTimeZone }
export default convertToTimeZone
4 changes: 2 additions & 2 deletions src/convertToTimeZone.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,11 @@ import { findTimeZone, getUTCOffset } from 'timezone-support'
* Returns { date: Date, zone: { abbreviation: 'EST', offset: -300 }
*/
function convertToTimeZone (argument, options) {
let date = parse(argument)
const date = parse(argument)
const timeZone = findTimeZone(options.timeZone)
let { offset } = getUTCOffset(date, timeZone)
offset -= date.getTimezoneOffset()
return new Date(date.getTime() - offset * 60 * 1000)
}

export { convertToTimeZone }
export default convertToTimeZone
10 changes: 6 additions & 4 deletions src/formatToTimeZone.d.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
type DateInput = string | number | Date
interface TimeZoneOptions {
interface FormatOptions {
locale?: Object
}
interface FormatTimeZoneOptions extends FormatOptions {
timeZone: string
}

declare function formatToTimeZone (dateInput: DateInput, format: string, options: TimeZoneOptions): string

export { formatToTimeZone }
declare function formatToTimeZone (dateInput: DateInput, format: string, options: FormatTimeZoneOptions): string
export default formatToTimeZone
5 changes: 3 additions & 2 deletions src/formatToTimeZone.js
Original file line number Diff line number Diff line change
Expand Up @@ -135,10 +135,11 @@ function formatTimeZoneTokens (format, timeZone) {
return `[${timeZone.abbreviation}]`
case 'Z':
return formatTimeZoneOffset(timeZone.offset, ':')
default: // 'ZZ'
default:
// 'ZZ'
return formatTimeZoneOffset(timeZone.offset, '')
}
})
}

export { formatToTimeZone }
export default formatToTimeZone
18 changes: 13 additions & 5 deletions src/index.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
export { convertToLocalTime } from './convertToLocalTime'
export { convertToTimeZone } from './convertToTimeZone'
export { parseFromString } from './parseFromString'
export { parseFromTimeZone } from './parseFromTimeZone'
export { formatToTimeZone } from './formatToTimeZone'
import convertToLocalTime from './convertToLocalTime'
import convertToTimeZone from './convertToTimeZone'
import parseFromString from './parseFromString'
import parseFromTimeZone from './parseFromTimeZone'
import formatToTimeZone from './formatToTimeZone'

export {
convertToLocalTime,
convertToTimeZone,
parseFromString,
parseFromTimeZone,
formatToTimeZone
}
2 changes: 1 addition & 1 deletion src/parseFromString.d.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
declare function parseFromString (dateString: string, format: string): Date

export { parseFromString }
export default parseFromString
2 changes: 1 addition & 1 deletion src/parseFromString.js
Original file line number Diff line number Diff line change
Expand Up @@ -59,4 +59,4 @@ function parseFromString (dateString, formatString) {
return convertTimeToDate(time)
}

export { parseFromString }
export default parseFromString
2 changes: 1 addition & 1 deletion src/parseFromTimeZone.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ interface TimeZoneOptions {
declare function parseFromTimeZone (dateString: string, format: string, options: TimeZoneOptions): Date
declare function parseFromTimeZone (dateString: string, options: TimeZoneOptions): Date

export { parseFromTimeZone }
export default parseFromTimeZone
2 changes: 1 addition & 1 deletion src/parseFromTimeZone.js
Original file line number Diff line number Diff line change
Expand Up @@ -88,4 +88,4 @@ function parseFromTimeZone (dateString, formatString, options) {
return new Date(date.getTime() + offset * 60 * 1000)
}

export { parseFromTimeZone }
export default parseFromTimeZone
2 changes: 1 addition & 1 deletion test/convertToLocalTime.test.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/* global describe, it, expect */

import { convertToLocalTime } from '../src/convertToLocalTime'
import convertToLocalTime from '../src/convertToLocalTime'

describe('convertToLocalTime', () => {
it('is a function', () => {
Expand Down
2 changes: 1 addition & 1 deletion test/convertToTimeZone.test.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/* global describe, it, expect */

import { convertToTimeZone } from '../src/convertToTimeZone'
import convertToTimeZone from '../src/convertToTimeZone'

describe('convertToTimeZone', () => {
it('is a function', () => {
Expand Down
7 changes: 5 additions & 2 deletions test/formatToTimeZone.test.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/* global describe, it, expect */

import { formatToTimeZone } from '../src/formatToTimeZone'
import formatToTimeZone from '../src/formatToTimeZone'

describe('formatToTimeZone', () => {
it('is a function', () => {
Expand All @@ -21,7 +21,10 @@ describe('formatToTimeZone', () => {
const format = 'MM/DD/YYYY h:mm:ss.SSS A [GMT]ZZ (z)'
const timeZone = 'Pacific/Honolulu'
const expectedString = '09/01/2018 6:01:36.386 PM GMT-1000 (HST)'
const actualString = formatToTimeZone(date, format, { timeZone, convertTimeZone: false })
const actualString = formatToTimeZone(date, format, {
timeZone,
convertTimeZone: false
})
expect(actualString).toEqual(expectedString)
})
})
2 changes: 1 addition & 1 deletion test/parseFromString.test.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/* global describe, it, expect */

import { parseFromString } from '../src/parseFromString'
import parseFromString from '../src/parseFromString'

describe('parseFromString', () => {
it('is a function', () => {
Expand Down
2 changes: 1 addition & 1 deletion test/parseFromTimeZone.test.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/* global describe, it, expect */

import { parseFromTimeZone } from '../src/parseFromTimeZone'
import parseFromTimeZone from '../src/parseFromTimeZone'

describe('parseFromTimeZone', () => {
it('is a function', () => {
Expand Down
8 changes: 5 additions & 3 deletions test/typings.test.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
import {
convertToLocalTime, convertToTimeZone, parseFromString, parseFromTimeZone, formatToTimeZone
convertToLocalTime,
convertToTimeZone,
parseFromString,
parseFromTimeZone,
formatToTimeZone
} from '../src'

declare function test (label: string, callback: Function)

test('Type declarations for TypeScript', () => {
const timestamp = 1538822326765
const date = new Date(timestamp)
Expand Down