summary refs log tree commit diff stats
path: root/lib
diff options
context:
space:
mode:
authorYuriy Glukhov <yuriy.glukhov@gmail.com>2015-08-14 12:57:07 +0300
committerYuriy Glukhov <yuriy.glukhov@gmail.com>2015-08-14 12:57:07 +0300
commit2f8d4c17d85357c8d7760f830f4da0e675da8fd0 (patch)
tree38fca35f24d4ff7ba0b6b6f55002d62164e4e610 /lib
parent134c44f3be373a94fd5ee144d98cd296ee967107 (diff)
downloadNim-2f8d4c17d85357c8d7760f830f4da0e675da8fd0.tar.gz
Fixed compilation of times module with JS.
Diffstat (limited to 'lib')
-rw-r--r--lib/pure/times.nim34
1 files changed, 18 insertions, 16 deletions
diff --git a/lib/pure/times.nim b/lib/pure/times.nim
index f7c3b59c5..6d45dc7f1 100644
--- a/lib/pure/times.nim
+++ b/lib/pure/times.nim
@@ -70,7 +70,7 @@ elif defined(windows):
 
   type
     Time* = distinct TimeImpl
-  
+
 
 elif defined(JS):
   type
@@ -548,11 +548,9 @@ elif defined(JS):
     ## get the milliseconds from the start of the program
     return int(getTime() - startMilsecs)
 
-  proc valueOf(time: Time): float {.importcpp: "getTime", tags:[]}
-
   proc fromSeconds(since1970: float): Time = result = newDate(since1970 * 1000)
 
-  proc toSeconds(time: Time): float = result = time.valueOf() / 1000
+  proc toSeconds(time: Time): float = result = time.getTime() / 1000
 
   proc getTimezone(): int = result = newDate().getTimezoneOffset()
 
@@ -1109,9 +1107,10 @@ proc getDayOfWeekJulian*(day, month, year: int): WeekDay =
 proc timeToTimeInfo*(t: Time): TimeInfo =
   ## Converts a Time to TimeInfo.
   let
-    daysSinceEpoch = t.int div secondsInDay
+    secs = t.toSeconds().int
+    daysSinceEpoch = secs div secondsInDay
     (yearsSinceEpoch, daysRemaining) = countYearsAndDays(daysSinceEpoch)
-    daySeconds = t.int mod secondsInDay
+    daySeconds = secs mod secondsInDay
 
     y = yearsSinceEpoch + epochStartYear
 
@@ -1137,12 +1136,14 @@ proc timeToTimeInfo*(t: Time): TimeInfo =
     s = daySeconds mod secondsInMin
   result = TimeInfo(year: y, yearday: yd, month: m, monthday: md, weekday: wd, hour: h, minute: mi, second: s)
 
-proc timetoTimeInterval*(t: Time): TimeInterval =
+proc timeToTimeInterval*(t: Time): TimeInterval =
   ## Converts a Time to a TimeInterval.
-  var
-    daysSinceEpoch = t.int div secondsInDay
+
+  let
+    secs = t.toSeconds().int
+    daysSinceEpoch = secs div secondsInDay
     (yearsSinceEpoch, daysRemaining) = countYearsAndDays(daysSinceEpoch)
-    daySeconds = t.int mod secondsInDay
+    daySeconds = secs mod secondsInDay
 
   result.years = yearsSinceEpoch + epochStartYear
 
@@ -1183,12 +1184,13 @@ when isMainModule:
     " ss t tt y yy yyy yyyy yyyyy z zz zzz ZZZ") ==
     "27 27 Mon Monday 4 04 16 16 6 06 1 01 Jan January 29 29 P PM 5 75 975 1975 01975 0 00 00:00 UTC"
 
-  when not defined(JS) and sizeof(Time) == 8:
-    var t3 = getGMTime(fromSeconds(889067643645)) # Fri  7 Jun 19:20:45 BST 30143
-    assert t3.format("d dd ddd dddd h hh H HH m mm M MM MMM MMMM s" &
-      " ss t tt y yy yyy yyyy yyyyy z zz zzz ZZZ") ==
-      "7 07 Fri Friday 6 06 18 18 20 20 6 06 Jun June 45 45 P PM 3 43 143 0143 30143 0 00 00:00 UTC"
-    assert t3.format(":,[]()-/") == ":,[]()-/"
+  when not defined(JS):
+    when sizeof(Time) == 8:
+      var t3 = getGMTime(fromSeconds(889067643645)) # Fri  7 Jun 19:20:45 BST 30143
+      assert t3.format("d dd ddd dddd h hh H HH m mm M MM MMM MMMM s" &
+        " ss t tt y yy yyy yyyy yyyyy z zz zzz ZZZ") ==
+        "7 07 Fri Friday 6 06 18 18 20 20 6 06 Jun June 45 45 P PM 3 43 143 0143 30143 0 00 00:00 UTC"
+      assert t3.format(":,[]()-/") == ":,[]()-/"
 
   var t4 = getGMTime(fromSeconds(876124714)) # Mon  6 Oct 08:58:34 BST 1997
   assert t4.format("M MM MMM MMMM") == "10 10 Oct October"