diff options
Diffstat (limited to 'src/js/fromjs.nim')
-rw-r--r-- | src/js/fromjs.nim | 5 |
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: |