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

Function CreateExternalBufferWithFinalizeHint

test/buffer.cc:76–106  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

74}
75
76Value CreateExternalBufferWithFinalizeHint(const CallbackInfo& info) {
77 finalizeCount = 0;
78
79 uint16_t* data = new uint16_t[testLength];
80
81 char* hint = nullptr;
82 Buffer<uint16_t> buffer = Buffer<uint16_t>::New(
83 info.Env(),
84 data,
85 testLength,
86 [](Env /*env*/, uint16_t* finalizeData, char* /*finalizeHint*/) {
87 delete[] finalizeData;
88 finalizeCount++;
89 },
90 hint);
91
92 if (buffer.Length() != testLength) {
93 Error::New(info.Env(), "Incorrect buffer length.")
94 .ThrowAsJavaScriptException();
95 return Value();
96 }
97
98 if (buffer.Data() != data) {
99 Error::New(info.Env(), "Incorrect buffer data.")
100 .ThrowAsJavaScriptException();
101 return Value();
102 }
103
104 InitData(data, testLength);
105 return buffer;
106}
107
108Value CreateBufferCopy(const CallbackInfo& info) {
109 InitData(testData, testLength);

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