Proper array typemaps in Javascript

https://github.com/swig/swig/issues/865
This commit is contained in:
Nickolay Shmyrev 2017-01-12 15:53:44 +01:00
commit cf7811b178
9 changed files with 115 additions and 125 deletions

View file

@ -0,0 +1,3 @@
SRCS =
include $(SRCDIR)../example.mk

View file

@ -0,0 +1,9 @@
{
"targets": [
{
"target_name": "example",
"sources": [ "example_wrap.cxx" ],
"include_dirs": ["$srcdir"]
}
]
}

View file

@ -0,0 +1,31 @@
/* File : example.i */
%module example
%include <arrays_javascript.i>
%apply int[] {int *data1}
%apply int[3] {int data2[3]}
%apply int[4] {int data3[4]}
%inline %{
int sum1(int *data1, int size) {
int sum = 0;
for (int i = 0; i < size; i++) {
sum += data1[i];
}
return sum;
}
int sum2(int data2[3]) {
int sum = 0;
for (int i = 0; i < 3; i++) {
sum += data2[i];
}
return sum;
}
int data3[4] = {1, 2, 3, 4};
%}

View file

@ -0,0 +1 @@
module.exports = require("build/Release/example");

View file

@ -0,0 +1,7 @@
var example = require("example");
var arr = [1, 2, 3, 4, 5];
console.log(example.sum1(arr, arr.length));
console.log(example.sum2(arr));
console.log(example.data3)