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
commit 68aeb4c1a6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

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