change the type of mangleJsName; fixes CStringConv warnings (#19852)

change the type of mangleJsName

since mangleJsName is used in macros, there is no need to use cstring. Using cstring may increase conversions and cause warnings.
This commit is contained in:
flywind
2022-06-01 21:01:17 +08:00
committed by GitHub
parent 4e3eb7414c
commit 68aeb4c1a6

View File

@@ -64,7 +64,7 @@ proc validJsName(name: string): bool =
if chr notin {'A'..'Z','a'..'z','_','$','0'..'9'}:
return false
template mangleJsName(name: cstring): cstring =
template mangleJsName(name: string): string =
inc nameCounter
"mangledName" & $nameCounter
@@ -233,7 +233,7 @@ macro `.`*(obj: JsObject, field: untyped): JsObject =
helper(`obj`)
else:
if not mangledNames.hasKey($field):
mangledNames[$field] = $mangleJsName($field)
mangledNames[$field] = mangleJsName($field)
let importString = "#." & mangledNames[$field]
result = quote do:
proc helper(o: JsObject): JsObject
@@ -251,7 +251,7 @@ macro `.=`*(obj: JsObject, field, value: untyped): untyped =
helper(`obj`, `value`)
else:
if not mangledNames.hasKey($field):
mangledNames[$field] = $mangleJsName($field)
mangledNames[$field] = mangleJsName($field)
let importString = "#." & mangledNames[$field] & " = #"
result = quote do:
proc helper(o: JsObject, v: auto)
@@ -282,7 +282,7 @@ macro `.()`*(obj: JsObject,
importString = "#." & $field & "(@)"
else:
if not mangledNames.hasKey($field):
mangledNames[$field] = $mangleJsName($field)
mangledNames[$field] = mangleJsName($field)
importString = "#." & mangledNames[$field] & "(@)"
result = quote:
proc helper(o: JsObject): JsObject
@@ -302,7 +302,7 @@ macro `.`*[K: cstring, V](obj: JsAssoc[K, V],
importString = "#." & $field
else:
if not mangledNames.hasKey($field):
mangledNames[$field] = $mangleJsName($field)
mangledNames[$field] = mangleJsName($field)
importString = "#." & mangledNames[$field]
result = quote do:
proc helper(o: type(`obj`)): `obj`.V
@@ -319,7 +319,7 @@ macro `.=`*[K: cstring, V](obj: JsAssoc[K, V],
importString = "#." & $field & " = #"
else:
if not mangledNames.hasKey($field):
mangledNames[$field] = $mangleJsName($field)
mangledNames[$field] = mangleJsName($field)
importString = "#." & mangledNames[$field] & " = #"
result = quote do:
proc helper(o: type(`obj`), v: `obj`.V)