MCPcopy Index your code
hub / github.com/nodejs/node-addon-api / CreateExternalBufferWithFinalize

Function CreateExternalBufferWithFinalize

test/buffer.cc:49–74  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

47}
48
49Value CreateExternalBufferWithFinalize(const CallbackInfo& info) {
50 finalizeCount = 0;
51
52 uint16_t* data = new uint16_t[testLength];
53
54 Buffer<uint16_t> buffer = Buffer<uint16_t>::New(
55 info.Env(), data, testLength, [](Env /*env*/, uint16_t* finalizeData) {
56 delete[] finalizeData;
57 finalizeCount++;
58 });
59
60 if (buffer.Length() != testLength) {
61 Error::New(info.Env(), "Incorrect buffer length.")
62 .ThrowAsJavaScriptException();
63 return Value();
64 }
65
66 if (buffer.Data() != data) {
67 Error::New(info.Env(), "Incorrect buffer data.")
68 .ThrowAsJavaScriptException();
69 return Value();
70 }
71
72 InitData(data, testLength);
73 return buffer;
74}
75
76Value CreateExternalBufferWithFinalizeHint(const CallbackInfo& info) {
77 finalizeCount = 0;

Callers

nothing calls this directly

Calls 6

EnvMethod · 0.80
LengthMethod · 0.80
DataMethod · 0.80
InitDataFunction · 0.70
ValueClass · 0.50

Tested by

no test coverage detected