about summary refs log tree commit diff stats
path: root/src/js/fromjs.nim
diff options
context:
space:
mode:
Diffstat (limited to 'src/js/fromjs.nim')
-rw-r--r--src/js/fromjs.nim5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/js/fromjs.nim b/src/js/fromjs.nim
index b2e1cc91..80fdc1cd 100644
--- a/src/js/fromjs.nim
+++ b/src/js/fromjs.nim
@@ -54,6 +54,9 @@ func fromJSString(ctx: JSContext, val: JSValue): JSResult[string] =
   JS_FreeCString(ctx, outp)
   return ok(ret)
 
+func fromJSString2(ctx: JSContext, val: JSValue): JSResult[JSString] =
+  return ok(JS_VALUE_GET_STRING(val))
+
 func fromJSInt[T: SomeInteger](ctx: JSContext, val: JSValue):
     JSResult[T] =
   if not JS_IsNumber(val):
@@ -449,6 +452,8 @@ type FromJSAllowedT = (object and not (Result|Option|Table|JSValue|JSDict))
 proc fromJS*[T](ctx: JSContext, val: JSValue): JSResult[T] =
   when T is string:
     return fromJSString(ctx, val)
+  elif T is JSString:
+    return fromJSString2(ctx, val)
   elif T is char:
     return fromJSChar(ctx, val)
   elif T is Rune: