importjs symbol (#12218)
* importjs symbol * importjs warning message, minor warning fixes
This commit is contained in:
parent
7bc5bf8334
commit
38ab51c445
7 changed files with 388 additions and 24 deletions
|
|
@ -32,7 +32,7 @@ true
|
|||
'''
|
||||
"""
|
||||
|
||||
import macros, jsffi, jsconsole
|
||||
import jsffi, jsconsole
|
||||
|
||||
# Tests for JsObject
|
||||
# Test JsObject []= and []
|
||||
|
|
@ -127,7 +127,7 @@ block:
|
|||
block:
|
||||
proc test(): bool =
|
||||
{. emit: "var comparison = {a: 22, b: 'test'};" .}
|
||||
var comparison {. importc, nodecl .}: JsObject
|
||||
var comparison {. importjs, nodecl .}: JsObject
|
||||
let obj = newJsObject()
|
||||
obj.a = 22
|
||||
obj.b = "test".cstring
|
||||
|
|
@ -138,7 +138,7 @@ block:
|
|||
block:
|
||||
proc test(): bool =
|
||||
{. emit: "var comparison = {a: 22, b: 'test'};" .}
|
||||
var comparison {. importc, nodecl .}: JsObject
|
||||
var comparison {. importjs, nodecl .}: JsObject
|
||||
let obj = JsObject{ a: 22, b: "test".cstring }
|
||||
obj.a == comparison.a and obj.b == comparison.b
|
||||
echo test()
|
||||
|
|
@ -233,7 +233,7 @@ block:
|
|||
block:
|
||||
proc test(): bool =
|
||||
{. emit: "var comparison = {a: 22, b: 55};" .}
|
||||
var comparison {. importcpp, nodecl .}: JsAssoc[cstring, int]
|
||||
var comparison {. importjs, nodecl .}: JsAssoc[cstring, int]
|
||||
let obj = newJsAssoc[cstring, int]()
|
||||
obj.a = 22
|
||||
obj.b = 55
|
||||
|
|
@ -244,7 +244,7 @@ block:
|
|||
block:
|
||||
proc test(): bool =
|
||||
{. emit: "var comparison = {a: 22, b: 55};" .}
|
||||
var comparison {. importcpp, nodecl .}: JsAssoc[cstring, int]
|
||||
var comparison {. importjs, nodecl .}: JsAssoc[cstring, int]
|
||||
let obj = JsAssoc[cstring, int]{ a: 22, b: 55 }
|
||||
var working = true
|
||||
working = working and
|
||||
|
|
@ -264,7 +264,7 @@ block:
|
|||
b: cstring
|
||||
proc test(): bool =
|
||||
{. emit: "var comparison = {a: 1};" .}
|
||||
var comparison {. importc, nodecl .}: TestObject
|
||||
var comparison {. importjs, nodecl .}: TestObject
|
||||
let obj = TestObject{ a: 1 }
|
||||
obj == comparison
|
||||
echo test()
|
||||
|
|
@ -283,7 +283,7 @@ block:
|
|||
|
||||
block:
|
||||
{.emit: "function jsProc(n) { return n; }" .}
|
||||
proc jsProc(x: int32): JsObject {.importc: "jsProc".}
|
||||
proc jsProc(x: int32): JsObject {.importjs: "jsProc(#)".}
|
||||
|
||||
proc test() =
|
||||
var x = jsProc(1)
|
||||
|
|
@ -296,8 +296,6 @@ block:
|
|||
|
||||
test()
|
||||
|
||||
import macros
|
||||
|
||||
block:
|
||||
{.emit:
|
||||
"""
|
||||
|
|
@ -310,8 +308,8 @@ block:
|
|||
type Event = object
|
||||
name: cstring
|
||||
|
||||
proc on(event: cstring, handler: proc) {.importc: "on".}
|
||||
var jslib {.importc: "jslib", nodecl.}: JsObject
|
||||
proc on(event: cstring, handler: proc) {.importjs: "on(#,#)".}
|
||||
var jslib {.importjs: "jslib", nodecl.}: JsObject
|
||||
|
||||
on("click") do (e: Event):
|
||||
console.log e
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue