summary refs log tree commit diff stats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/pure/json.nim5
-rw-r--r--lib/std/private/jsutils.nim1
2 files changed, 3 insertions, 3 deletions
diff --git a/lib/pure/json.nim b/lib/pure/json.nim
index 1d2b20176..b556f7ccf 100644
--- a/lib/pure/json.nim
+++ b/lib/pure/json.nim
@@ -908,14 +908,13 @@ proc parseJson*(s: Stream, filename: string = ""; rawIntegers = false, rawFloats
 
 when defined(js):
   from std/math import `mod`
-  import std/jsffi
+  from std/jsffi import JSObject, `[]`, to
+  from std/private/jsutils import getProtoName
 
   proc parseNativeJson(x: cstring): JSObject {.importjs: "JSON.parse(#)".}
 
   proc getVarType(x: JSObject): JsonNodeKind =
     result = JNull
-    proc getProtoName(y: JSObject): cstring
-      {.importjs: "Object.prototype.toString.call(#)".}
     case $getProtoName(x) # TODO: Implicit returns fail here.
     of "[object Array]": return JArray
     of "[object Object]": return JObject
diff --git a/lib/std/private/jsutils.nim b/lib/std/private/jsutils.nim
index 14104261e..b858e150e 100644
--- a/lib/std/private/jsutils.nim
+++ b/lib/std/private/jsutils.nim
@@ -36,3 +36,4 @@ when defined(js):
   proc hasBigUint64Array*(): bool =
     asm """`result` = typeof BigUint64Array != 'undefined'"""
 
+  proc getProtoName*[T](a: T): cstring {.importjs: "Object.prototype.toString.call(#)".}