From d502d4aac73706e4b23a2aef7447e5ee6a9104df Mon Sep 17 00:00:00 2001 From: Mayukha Vadari Date: Tue, 19 Oct 2021 11:53:10 -0400 Subject: [PATCH] refactor: rename `ISOTimeToRippleTime` to `isoTimeToRippleTime` (#1754) * rename `ISOTimeToRippleTime` to avoid triggering linters * add tests for time conversion --- src/utils/index.ts | 4 +-- src/utils/timeConversion.ts | 9 ++++--- test/utils/timeConversion.ts | 48 ++++++++++++++++++++++++++++++++++++ 3 files changed, 55 insertions(+), 6 deletions(-) create mode 100644 test/utils/timeConversion.ts diff --git a/src/utils/index.ts b/src/utils/index.ts index 4fbd0051..abd209e9 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -48,7 +48,7 @@ import { import signPaymentChannelClaim from './signPaymentChannelClaim' import { rippleTimeToISOTime, - ISOTimeToRippleTime, + isoTimeToRippleTime, rippleTimeToUnixTime, unixTimeToRippleTime, } from './timeConversion' @@ -186,7 +186,7 @@ export { xrpToDrops, hasNextPage, rippleTimeToISOTime, - ISOTimeToRippleTime, + isoTimeToRippleTime, rippleTimeToUnixTime, unixTimeToRippleTime, percentToQuality, diff --git a/src/utils/timeConversion.ts b/src/utils/timeConversion.ts index 16f14b57..121197fe 100644 --- a/src/utils/timeConversion.ts +++ b/src/utils/timeConversion.ts @@ -34,19 +34,20 @@ function rippleTimeToISOTime(rippleTime: number): string { } /** - * Convert an Iso8601 timestmap to a ripple timestamp. + * Convert an ISO8601 timestmap to a ripple timestamp. * * @param iso8601 - International standard date format. * @returns Seconds since ripple epoch (1/1/2000 GMT). * @category Utilities */ -function ISOTimeToRippleTime(iso8601: string): number { - return unixTimeToRippleTime(Date.parse(iso8601)) +function isoTimeToRippleTime(iso8601: string | Date): number { + const isoDate = typeof iso8601 === 'string' ? new Date(iso8601) : iso8601 + return unixTimeToRippleTime(isoDate.getTime()) } export { rippleTimeToUnixTime, unixTimeToRippleTime, rippleTimeToISOTime, - ISOTimeToRippleTime, + isoTimeToRippleTime, } diff --git a/test/utils/timeConversion.ts b/test/utils/timeConversion.ts new file mode 100644 index 00000000..ec3140fe --- /dev/null +++ b/test/utils/timeConversion.ts @@ -0,0 +1,48 @@ +import { assert } from 'chai' + +import { + rippleTimeToISOTime, + isoTimeToRippleTime, + unixTimeToRippleTime, + rippleTimeToUnixTime, +} from '../../src' + +describe('time conversion', function () { + describe('rippleTimeToISOTime', function () { + it('converts ripple time to ISO time', function () { + const rippleTime = 0 + const isoTime = '2000-01-01T00:00:00.000Z' + assert.equal(rippleTimeToISOTime(rippleTime), isoTime) + }) + }) + + describe('isoTimeToRippleTime', function () { + it('converts ISO time to ripple time', function () { + const rippleTime = 0 + const isoTime = '2000-01-01T00:00:00.000Z' + assert.equal(isoTimeToRippleTime(isoTime), rippleTime) + }) + + it('converts from Date', function () { + const rippleTime = 0 + const isoTime = '2000-01-01T00:00:00.000Z' + assert.equal(isoTimeToRippleTime(new Date(isoTime)), rippleTime) + }) + }) + + describe('unixTimeToRippleTime', function () { + it('converts unix time to ripple time', function () { + const unixTime = 946684801000 + const rippleTime = 1 + assert.equal(unixTimeToRippleTime(unixTime), rippleTime) + }) + }) + + describe('rippleTimeToUnixTime', function () { + it('converts ripple time to unix time', function () { + const unixTime = 946684801000 + const rippleTime = 1 + assert.equal(rippleTimeToUnixTime(rippleTime), unixTime) + }) + }) +})