MCPcopy Create free account
hub / github.com/OpenWebCAD/node-occ / makeTypedArray

Function makeTypedArray

src/Util.h:126–152  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

124
125
126inline v8::Local<v8::Object> makeTypedArray(ArrayType type, uint32_t length) {
127
128 const char *name = ArrayTypeToString(type);
129 if (!name) {
130 Nan::ThrowError("Unsupported array type");
131 return Nan::New<v8::Object>();
132 }
133
134 auto typedArrayConstructor = Nan::Get(Nan::GetCurrentContext()->Global(),Nan::New(name).ToLocalChecked()).ToLocalChecked();
135
136 if (typedArrayConstructor.IsEmpty() || !typedArrayConstructor->IsFunction()) {
137 Nan::ThrowError("Error getting typed array constructor");
138 return Nan::New<v8::Object>();
139 }
140
141 v8::Local<v8::Function> constructor = Nan::To<v8::Function>(typedArrayConstructor).ToLocalChecked();
142
143 const int argc = 1;
144 v8::Local<v8::Value> argv[1] = { Nan::New(length) };
145 v8::Local<v8::Object> array = constructor->NewInstance(Nan::GetCurrentContext(),argc, argv).ToLocalChecked();
146
147 if (array.IsEmpty() || !array->IsObject()) {
148 Nan::ThrowError("Error creating TypedArray");
149 return v8::Local<v8::Object>();
150 }
151 return array;
152}
153
154
155inline v8::Local<v8::Object> makeFloat32Array(const float* data, uint32_t length) {

Callers 5

makeFloat32ArrayFunction · 0.85
makeInt32ArrayFunction · 0.85
makeUint32ArrayFunction · 0.85
makeUint16ArrayFunction · 0.85
makeUint8ArrayFunction · 0.85

Calls 2

ArrayTypeToStringFunction · 0.85
NewInstanceMethod · 0.45

Tested by

no test coverage detected