about summary refs log tree commit diff stats
path: root/src/js
diff options
context:
space:
mode:
Diffstat (limited to 'src/js')
-rw-r--r--src/js/module.nim4
-rw-r--r--src/js/tojs.nim1
2 files changed, 2 insertions, 3 deletions
diff --git a/src/js/module.nim b/src/js/module.nim
index 2e15ead3..636065b8 100644
--- a/src/js/module.nim
+++ b/src/js/module.nim
@@ -6,13 +6,11 @@ import js/tojs
 proc setImportMeta(ctx: JSContext; funcVal: JSValue; isMain: bool) =
   let m = cast[JSModuleDef](JS_VALUE_GET_PTR(funcVal))
   let moduleNameAtom = JS_GetModuleName(ctx, m)
-  let moduleName = JS_AtomToCString(ctx, moduleNameAtom)
   let metaObj = JS_GetImportMeta(ctx, m)
-  definePropertyCWE(ctx, metaObj, "url", moduleName)
+  definePropertyCWE(ctx, metaObj, "url", JS_AtomToValue(ctx, moduleNameAtom))
   definePropertyCWE(ctx, metaObj, "main", isMain)
   JS_FreeValue(ctx, metaObj)
   JS_FreeAtom(ctx, moduleNameAtom)
-  JS_FreeCString(ctx, moduleName)
 
 proc finishLoadModule*(ctx: JSContext; f: string; name: cstring): JSModuleDef =
   let funcVal = compileModule(ctx, f, name)
diff --git a/src/js/tojs.nim b/src/js/tojs.nim
index 4cbd2045..2ee8fd47 100644
--- a/src/js/tojs.nim
+++ b/src/js/tojs.nim
@@ -106,6 +106,7 @@ makeToJSP(Result)
 makeToJSP(JSValue)
 makeToJSP(JSDict)
 
+# Note: this consumes `prop'.
 proc defineProperty(ctx: JSContext; this: JSValue; name: JSAtom;
     prop: JSValue; flags = cint(0)) =
   if JS_DefinePropertyValue(ctx, this, name, prop, flags) <= 0: