-
-
Notifications
You must be signed in to change notification settings - Fork 497
Expand file tree
/
Copy pathboolean.cc
More file actions
40 lines (32 loc) · 1.26 KB
/
boolean.cc
File metadata and controls
40 lines (32 loc) · 1.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include "napi.h"
using namespace Napi;
Value CreateBoolean(const CallbackInfo& info) {
return Boolean::New(info.Env(), info[0].As<Boolean>().Value());
}
Value CreateEmptyBoolean(const CallbackInfo& info) {
Boolean* boolean = new Boolean();
return Boolean::New(info.Env(), boolean->IsEmpty());
}
Value CreateBooleanFromExistingValue(const CallbackInfo& info) {
Boolean boolean(info.Env(), info[0].As<Boolean>());
return Boolean::New(info.Env(), boolean.Value());
}
Value CreateBooleanFromPrimitive(const CallbackInfo& info) {
bool boolean = info[0].As<Boolean>();
return Boolean::New(info.Env(), boolean);
}
Value OperatorBool(const CallbackInfo& info) {
Boolean boolean(info.Env(), info[0].As<Boolean>());
return Boolean::New(info.Env(), static_cast<bool>(boolean));
}
Object InitBasicTypesBoolean(Env env) {
Object exports = Object::New(env);
exports["createBoolean"] = Function::New(env, CreateBoolean);
exports["createEmptyBoolean"] = Function::New(env, CreateEmptyBoolean);
exports["createBooleanFromExistingValue"] =
Function::New(env, CreateBooleanFromExistingValue);
exports["createBooleanFromPrimitive"] =
Function::New(env, CreateBooleanFromPrimitive);
exports["operatorBool"] = Function::New(env, OperatorBool);
return exports;
}