Make javascript 'nspace' conform to corresponding lua example.
This commit is contained in:
parent
9149f5953b
commit
b30c6a452f
10 changed files with 78 additions and 71 deletions
3
Examples/javascript/nspace/Makefile
Executable file
3
Examples/javascript/nspace/Makefile
Executable file
|
|
@ -0,0 +1,3 @@
|
|||
SRCS =
|
||||
|
||||
include ../example.mk
|
||||
8
Examples/javascript/nspace/binding.gyp
Normal file
8
Examples/javascript/nspace/binding.gyp
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"targets": [
|
||||
{
|
||||
"target_name": "example",
|
||||
"sources": [ "example_wrap.cxx" ]
|
||||
}
|
||||
]
|
||||
}
|
||||
23
Examples/javascript/nspace/example.h
Normal file
23
Examples/javascript/nspace/example.h
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
#ifndef _example_guardian_
|
||||
#define _example_guardian_
|
||||
|
||||
int module_function() { return 7; }
|
||||
int module_variable = 9;
|
||||
|
||||
namespace MyWorld {
|
||||
class World {
|
||||
public:
|
||||
World() : world_max_count(9) {}
|
||||
int create_world() { return 17; }
|
||||
const int world_max_count; // = 9
|
||||
};
|
||||
namespace Nested {
|
||||
class Dweller {
|
||||
public:
|
||||
enum Gender { MALE = 0, FEMALE = 1 };
|
||||
static int count() { return 19; }
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
10
Examples/javascript/nspace/example.i
Normal file
10
Examples/javascript/nspace/example.i
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
%module example
|
||||
|
||||
%{
|
||||
#include "example.h"
|
||||
%}
|
||||
|
||||
%nspace MyWorld::Nested::Dweller;
|
||||
%nspace MyWorld::World;
|
||||
|
||||
%include "example.h"
|
||||
1
Examples/javascript/nspace/example.js
Normal file
1
Examples/javascript/nspace/example.js
Normal file
|
|
@ -0,0 +1 @@
|
|||
module.exports = require("./build/Release/example");
|
||||
50
Examples/javascript/nspace/runme.js
Normal file
50
Examples/javascript/nspace/runme.js
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
// File: runme.js
|
||||
|
||||
// This file illustrates class C++ interface generated
|
||||
// by SWIG.
|
||||
|
||||
var example = require("./example");
|
||||
|
||||
// Calling a module function ( aka global function )
|
||||
if (example.module_function() !== 7) {
|
||||
throw new Error("example.module_function() should equal 7");
|
||||
}
|
||||
console.log("example.module_function(): " + example.module_function());
|
||||
|
||||
// Accessing a module (aka global) variable
|
||||
if (example.module_variable !== 9) {
|
||||
throw new Error("example.module_variable should equal 9");
|
||||
}
|
||||
console.log("example.module_variable: " + example.module_variable);
|
||||
|
||||
// Creating an instance of the class
|
||||
var w1 = new example.MyWorld.World();
|
||||
console.log("Creating class instance: w1 = new example.MyWorld.World(): " + w1);
|
||||
|
||||
// Accessing class members
|
||||
if (w1.create_world() !== 17) {
|
||||
throw new Error("w1.create_world() should equal 17");
|
||||
}
|
||||
console.log("w1.create_world() = " + w1.create_world());
|
||||
|
||||
if (w1.world_max_count !== 9) {
|
||||
throw new Error("w1.world_max_count should equal 9");
|
||||
}
|
||||
console.log("w1.world_max_count = " + w1.world_max_count);
|
||||
|
||||
// Accessing enums from class within namespace
|
||||
if (example.MyWorld.Nested.Dweller.MALE !== 0) {
|
||||
throw new Error("example.MyWorld.Nested.Dweller.MALE should equal 0");
|
||||
}
|
||||
console.log("Accessing enums: ex.MyWorld.Nested.Dweller.MALE = " + example.MyWorld.Nested.Dweller.MALE);
|
||||
|
||||
if (example.MyWorld.Nested.Dweller.FEMALE !== 1) {
|
||||
throw new Error("example.MyWorld.Nested.Dweller.FEMALE should equal 1");
|
||||
}
|
||||
console.log("Accessing enums: ex.MyWorld.Nested.Dweller.FEMALE = " + example.MyWorld.Nested.Dweller.FEMALE);
|
||||
|
||||
// Accessing static member function
|
||||
if (example.MyWorld.Nested.Dweller.count() !== 19) {
|
||||
throw new Error("example.MyWorld.Nested.Dweller.count() should equal 19");
|
||||
}
|
||||
console.log("Accessing static member function: ex.MyWorld.Nested.Dweller.count() = " + example.MyWorld.Nested.Dweller.count());
|
||||
Loading…
Add table
Add a link
Reference in a new issue