koffi 2.7.2 → 2.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/build/koffi/darwin_arm64/koffi.node +0 -0
- package/build/koffi/darwin_x64/koffi.node +0 -0
- package/build/koffi/freebsd_arm64/koffi.node +0 -0
- package/build/koffi/freebsd_ia32/koffi.node +0 -0
- package/build/koffi/freebsd_x64/koffi.node +0 -0
- package/build/koffi/linux_arm32hf/koffi.node +0 -0
- package/build/koffi/linux_arm64/koffi.node +0 -0
- package/build/koffi/linux_ia32/koffi.node +0 -0
- package/build/koffi/linux_riscv64hf64/koffi.node +0 -0
- package/build/koffi/linux_x64/koffi.node +0 -0
- package/build/koffi/openbsd_ia32/koffi.node +0 -0
- package/build/koffi/openbsd_x64/koffi.node +0 -0
- package/build/koffi/win32_arm64/koffi.node +0 -0
- package/build/koffi/win32_ia32/koffi.node +0 -0
- package/build/koffi/win32_x64/koffi.node +0 -0
- package/doc/misc.md +1 -1
- package/index.js +2 -2
- package/indirect.js +2 -2
- package/package.json +2 -2
- package/src/koffi/src/call.cc +1 -1
- package/src/koffi/src/util.cc +7 -13
- package/src/koffi/src/util.hh +9 -1
- package/vendor/node-addon-api/CHANGELOG.md +76 -0
- package/vendor/node-addon-api/LICENSE.md +2 -6
- package/vendor/node-addon-api/README.md +10 -9
- package/vendor/node-addon-api/benchmark/binding.gyp +4 -4
- package/vendor/node-addon-api/common.gypi +1 -2
- package/vendor/node-addon-api/doc/array.md +1 -1
- package/vendor/node-addon-api/doc/async_worker_variants.md +16 -16
- package/vendor/node-addon-api/doc/cmake-js.md +1 -1
- package/vendor/node-addon-api/doc/env.md +11 -0
- package/vendor/node-addon-api/doc/hierarchy.md +2 -0
- package/vendor/node-addon-api/doc/setup.md +53 -71
- package/vendor/node-addon-api/doc/syntax_error.md +66 -0
- package/vendor/node-addon-api/doc/value.md +2 -0
- package/vendor/node-addon-api/index.js +2 -1
- package/vendor/node-addon-api/napi-inl.h +68 -65
- package/vendor/node-addon-api/napi.h +15 -5
- package/vendor/node-addon-api/node_addon_api.gyp +32 -0
- package/vendor/node-addon-api/package.json +14 -3
- package/vendor/node-addon-api/test/addon.cc +7 -1
- package/vendor/node-addon-api/test/addon.js +5 -9
- package/vendor/node-addon-api/test/addon_data.cc +3 -3
- package/vendor/node-addon-api/test/addon_data.js +16 -38
- package/vendor/node-addon-api/test/bigint.cc +0 -1
- package/vendor/node-addon-api/test/binding.cc +12 -1
- package/vendor/node-addon-api/test/binding.gyp +10 -8
- package/vendor/node-addon-api/test/child_processes/addon.js +11 -0
- package/vendor/node-addon-api/test/child_processes/addon_data.js +24 -0
- package/vendor/node-addon-api/test/child_processes/objectwrap_function.js +22 -0
- package/vendor/node-addon-api/test/child_processes/threadsafe_function_exception.js +33 -0
- package/vendor/node-addon-api/test/child_processes/typed_threadsafe_function_exception.js +19 -0
- package/vendor/node-addon-api/test/common/index.js +57 -3
- package/vendor/node-addon-api/test/env_misc.cc +25 -0
- package/vendor/node-addon-api/test/env_misc.js +12 -0
- package/vendor/node-addon-api/test/error.cc +47 -0
- package/vendor/node-addon-api/test/error.js +16 -0
- package/vendor/node-addon-api/test/index.js +5 -0
- package/vendor/node-addon-api/test/objectwrap_function.cc +10 -12
- package/vendor/node-addon-api/test/objectwrap_function.js +4 -20
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_exception.cc +50 -0
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_exception.js +20 -0
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_exception.cc +39 -0
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_exception.js +13 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
#include <cstdlib>
|
|
2
|
+
#include "napi.h"
|
|
3
|
+
#include "test_helper.h"
|
|
4
|
+
|
|
5
|
+
#if (NAPI_VERSION > 3)
|
|
6
|
+
|
|
7
|
+
using namespace Napi;
|
|
8
|
+
|
|
9
|
+
namespace {
|
|
10
|
+
|
|
11
|
+
void CallJS(napi_env env, napi_value /* callback */, void* /*data*/) {
|
|
12
|
+
Napi::Error error = Napi::Error::New(env, "test-from-native");
|
|
13
|
+
NAPI_THROW_VOID(error);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
void TestCall(const CallbackInfo& info) {
|
|
17
|
+
Napi::Env env = info.Env();
|
|
18
|
+
|
|
19
|
+
ThreadSafeFunction wrapped =
|
|
20
|
+
ThreadSafeFunction::New(env,
|
|
21
|
+
info[0].As<Napi::Function>(),
|
|
22
|
+
Object::New(env),
|
|
23
|
+
String::New(env, "Test"),
|
|
24
|
+
0,
|
|
25
|
+
1);
|
|
26
|
+
wrapped.BlockingCall(static_cast<void*>(nullptr));
|
|
27
|
+
wrapped.Release();
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
void TestCallWithNativeCallback(const CallbackInfo& info) {
|
|
31
|
+
Napi::Env env = info.Env();
|
|
32
|
+
|
|
33
|
+
ThreadSafeFunction wrapped = ThreadSafeFunction::New(
|
|
34
|
+
env, Napi::Function(), Object::New(env), String::New(env, "Test"), 0, 1);
|
|
35
|
+
wrapped.BlockingCall(static_cast<void*>(nullptr), CallJS);
|
|
36
|
+
wrapped.Release();
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
} // namespace
|
|
40
|
+
|
|
41
|
+
Object InitThreadSafeFunctionException(Env env) {
|
|
42
|
+
Object exports = Object::New(env);
|
|
43
|
+
exports["testCall"] = Function::New(env, TestCall);
|
|
44
|
+
exports["testCallWithNativeCallback"] =
|
|
45
|
+
Function::New(env, TestCallWithNativeCallback);
|
|
46
|
+
|
|
47
|
+
return exports;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
#endif
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const common = require('../common');
|
|
4
|
+
|
|
5
|
+
module.exports = common.runTest(test);
|
|
6
|
+
|
|
7
|
+
const execArgv = ['--force-node-api-uncaught-exceptions-policy=true'];
|
|
8
|
+
async function test () {
|
|
9
|
+
await common.runTestInChildProcess({
|
|
10
|
+
suite: 'threadsafe_function_exception',
|
|
11
|
+
testName: 'testCall',
|
|
12
|
+
execArgv
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
await common.runTestInChildProcess({
|
|
16
|
+
suite: 'threadsafe_function_exception',
|
|
17
|
+
testName: 'testCallWithNativeCallback',
|
|
18
|
+
execArgv
|
|
19
|
+
});
|
|
20
|
+
}
|
package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_exception.cc
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
#include <cstdlib>
|
|
2
|
+
#include "napi.h"
|
|
3
|
+
#include "test_helper.h"
|
|
4
|
+
|
|
5
|
+
#if (NAPI_VERSION > 3)
|
|
6
|
+
|
|
7
|
+
using namespace Napi;
|
|
8
|
+
|
|
9
|
+
namespace {
|
|
10
|
+
|
|
11
|
+
void CallJS(Napi::Env env,
|
|
12
|
+
Napi::Function /* callback */,
|
|
13
|
+
std::nullptr_t* /* context */,
|
|
14
|
+
void* /*data*/) {
|
|
15
|
+
Napi::Error error = Napi::Error::New(env, "test-from-native");
|
|
16
|
+
NAPI_THROW_VOID(error);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
using TSFN = TypedThreadSafeFunction<std::nullptr_t, void, CallJS>;
|
|
20
|
+
|
|
21
|
+
void TestCall(const CallbackInfo& info) {
|
|
22
|
+
Napi::Env env = info.Env();
|
|
23
|
+
|
|
24
|
+
TSFN wrapped = TSFN::New(
|
|
25
|
+
env, Napi::Function(), Object::New(env), String::New(env, "Test"), 0, 1);
|
|
26
|
+
wrapped.BlockingCall(static_cast<void*>(nullptr));
|
|
27
|
+
wrapped.Release();
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
} // namespace
|
|
31
|
+
|
|
32
|
+
Object InitTypedThreadSafeFunctionException(Env env) {
|
|
33
|
+
Object exports = Object::New(env);
|
|
34
|
+
exports["testCall"] = Function::New(env, TestCall);
|
|
35
|
+
|
|
36
|
+
return exports;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
#endif
|
package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_exception.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const common = require('../common');
|
|
4
|
+
|
|
5
|
+
module.exports = common.runTest(test);
|
|
6
|
+
|
|
7
|
+
async function test () {
|
|
8
|
+
await common.runTestInChildProcess({
|
|
9
|
+
suite: 'typed_threadsafe_function_exception',
|
|
10
|
+
testName: 'testCall',
|
|
11
|
+
execArgv: ['--force-node-api-uncaught-exceptions-policy=true']
|
|
12
|
+
});
|
|
13
|
+
}
|