2467b7139b
* napi procedural macro for basic rust/JavaScript types * introduce the `compat-mode` for `napi` and `napi-derive` crates for backward compatible * remove #[inline] and let compiler to decide the inline behavior * cli now can produce the `.d.ts` file for native binding * many tests and example for the new procedural macro Co-authored-by: LongYinan <lynweklm@gmail.com>
22 lines
570 B
TypeScript
22 lines
570 B
TypeScript
import test from 'ava'
|
|
|
|
const bindings = require('../index.node')
|
|
|
|
test('should call the function', (t) => {
|
|
bindings.testCallFunction((arg1: string, arg2: string) => {
|
|
t.is(`${arg1} ${arg2}`, 'hello world')
|
|
})
|
|
})
|
|
|
|
test('should call function with ref args', (t) => {
|
|
bindings.testCallFunctionWithRefArguments((arg1: string, arg2: string) => {
|
|
t.is(`${arg1} ${arg2}`, 'hello world')
|
|
})
|
|
})
|
|
|
|
test('should set "this" properly', (t) => {
|
|
const obj = {}
|
|
bindings.testCallFunctionWithThis.call(obj, function (this: typeof obj) {
|
|
t.is(this, obj)
|
|
})
|
|
})
|