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

Function CreateExternalBufferWithFinalize

test/array_buffer.cc:60–85  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

58}
59
60Value CreateExternalBufferWithFinalize(const CallbackInfo& info) {
61 finalizeCount = 0;
62
63 uint8_t* data = new uint8_t[testLength];
64
65 ArrayBuffer buffer = ArrayBuffer::New(
66 info.Env(), data, testLength, [](Env /*env*/, void* finalizeData) {
67 delete[] static_cast<uint8_t*>(finalizeData);
68 finalizeCount++;
69 });
70
71 if (buffer.ByteLength() != testLength) {
72 Error::New(info.Env(), "Incorrect buffer length.")
73 .ThrowAsJavaScriptException();
74 return Value();
75 }
76
77 if (buffer.Data() != data) {
78 Error::New(info.Env(), "Incorrect buffer data.")
79 .ThrowAsJavaScriptException();
80 return Value();
81 }
82
83 InitData(data, testLength);
84 return buffer;
85}
86
87Value CreateExternalBufferWithFinalizeHint(const CallbackInfo& info) {
88 finalizeCount = 0;

Callers

nothing calls this directly

Calls 6

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

Tested by

no test coverage detected