Procházet zdrojové kódy

change order of moment/luxon plugins

Adam Shaw před 7 roky
rodič
revize
bca1ecd8c2

+ 12 - 2
plugins/luxon/main.ts

@@ -2,14 +2,24 @@ import { DateTime, Duration } from 'luxon'
 import * as fc from 'fullcalendar'
 
 
-export function toDateTime(calendar: fc.Calendar, date: Date): DateTime {
+export function toDateTime(date: Date, calendar: fc.Calendar): DateTime {
+
+  if (!(calendar instanceof fc.Calendar)) {
+    throw new Error('must supply a Calendar instance')
+  }
+
   return DateTime.fromJSDate(date, {
     zone: calendar.dateEnv.timeZone,
     locale: calendar.dateEnv.locale.codes[0]
   })
 }
 
-export function toDuration(calendar: fc.Calendar, duration: fc.Duration): Duration {
+export function toDuration(duration: fc.Duration, calendar: fc.Calendar): Duration {
+
+  if (!(calendar instanceof fc.Calendar)) {
+    throw new Error('must supply a Calendar instance')
+  }
+
   return Duration.fromObject(
     fc.assignTo({}, duration, {
       locale: calendar.dateEnv.locale.codes[0]

+ 6 - 1
plugins/moment/main.ts

@@ -2,7 +2,12 @@ import * as moment from 'moment'
 import * as fc from 'fullcalendar'
 
 
-export function toMoment(calendar: fc.Calendar, date: Date): moment.Moment {
+export function toMoment(date: Date, calendar: fc.Calendar): moment.Moment {
+
+  if (!(calendar instanceof fc.Calendar)) {
+    throw new Error('must supply a Calendar instance')
+  }
+
   return convertToMoment(
     date,
     calendar.dateEnv.timeZone,

+ 10 - 10
tests/automated/datelib/luxon.js

@@ -23,8 +23,8 @@ describe('luxon plugin', function() {
           timeZone: 'UTC'
         })
         let event = calendar.getEvents()[0]
-        var start = toDateTime(calendar, event.start)
-        var end = toDateTime(calendar, event.end)
+        var start = toDateTime(event.start, calendar)
+        var end = toDateTime(event.end, calendar)
         expect(start.toISO()).toBe('2018-09-05T12:00:00.000Z')
         expect(start.zoneName).toBe('UTC')
         expect(end.toISO()).toBe('2018-09-05T18:00:00.000Z')
@@ -37,8 +37,8 @@ describe('luxon plugin', function() {
           timeZone: 'local'
         })
         let event = calendar.getEvents()[0]
-        var start = toDateTime(calendar, event.start)
-        var end = toDateTime(calendar, event.end)
+        var start = toDateTime(event.start, calendar)
+        var end = toDateTime(event.end, calendar)
         expect(start.toJSDate()).toEqualDate('2018-09-05T12:00:00') // compare to local
         expect(start.zoneName).toMatch('/') // has a named timezone
         expect(end.toJSDate()).toEqualDate('2018-09-05T18:00:00') // compare to local
@@ -51,8 +51,8 @@ describe('luxon plugin', function() {
           timeZone: 'Europe/Moscow'
         })
         let event = calendar.getEvents()[0]
-        var start = toDateTime(calendar, event.start)
-        var end = toDateTime(calendar, event.end)
+        var start = toDateTime(event.start, calendar)
+        var end = toDateTime(event.end, calendar)
         expect(start.toJSDate()).toEqualDate('2018-09-05T12:00:00Z') // not using timeZoneImpl, so fake-UTC
         expect(start.zoneName).toMatch('Europe/Moscow')
         expect(end.toJSDate()).toEqualDate('2018-09-05T18:00:00Z') // not using timeZoneImpl, so fake-UTC
@@ -67,7 +67,7 @@ describe('luxon plugin', function() {
         locale: 'es'
       })
       let event = calendar.getEvents()[0]
-      var datetime = toDateTime(calendar, event.start)
+      var datetime = toDateTime(event.start, calendar)
       expect(datetime.locale).toEqual('es')
     })
 
@@ -82,8 +82,8 @@ describe('luxon plugin', function() {
       })
 
       // hacky way to have a duration parsed
-      let timedDuration = toDuration(calendar, calendar.defaultTimedEventDuration)
-      let allDayDuration = toDuration(calendar, calendar.defaultAllDayEventDuration)
+      let timedDuration = toDuration(calendar.defaultTimedEventDuration, calendar)
+      let allDayDuration = toDuration(calendar.defaultAllDayEventDuration, calendar)
 
       expect(timedDuration.as('hours')).toBe(5)
       expect(allDayDuration.as('days')).toBe(3)
@@ -96,7 +96,7 @@ describe('luxon plugin', function() {
       })
 
       // hacky way to have a duration parsed
-      let timedDuration = toDuration(calendar, calendar.defaultTimedEventDuration)
+      let timedDuration = toDuration(calendar.defaultTimedEventDuration, calendar)
 
       expect(timedDuration.locale).toBe('es')
     })

+ 5 - 5
tests/automated/datelib/moment.js

@@ -14,8 +14,8 @@ describe('moment plugin', function() {
           timeZone: 'UTC'
         })
         let event = calendar.getEvents()[0]
-        var startMom = toMoment(calendar, event.start)
-        var endMom = toMoment(calendar, event.end)
+        var startMom = toMoment(event.start, calendar)
+        var endMom = toMoment(event.end, calendar)
         expect(startMom.format()).toEqual('2018-09-05T12:00:00Z')
         expect(endMom.format()).toEqual('2018-09-05T18:00:00Z')
       })
@@ -26,8 +26,8 @@ describe('moment plugin', function() {
           timeZone: 'local'
         })
         let event = calendar.getEvents()[0]
-        var startMom = toMoment(calendar, event.start)
-        var endMom = toMoment(calendar, event.end)
+        var startMom = toMoment(event.start, calendar)
+        var endMom = toMoment(event.end, calendar)
         expect(startMom.toDate()).toEqualDate('2018-09-05T12:00:00') // compare to local
         expect(endMom.toDate()).toEqualDate('2018-09-05T18:00:00') // compare to local
       })
@@ -40,7 +40,7 @@ describe('moment plugin', function() {
         locale: 'es'
       })
       let event = calendar.getEvents()[0]
-      var mom = toMoment(calendar, event.start)
+      var mom = toMoment(event.start, calendar)
       expect(mom.locale()).toEqual('es')
     })