@@ -27,75 +27,75 @@ using v8::MaybeLocal;
2727
2828template <typename ResourceType, typename TypeName>
2929class ExternString : public ResourceType {
30- public:
31- ~ExternString () override {
32- free (const_cast <TypeName*>(data_));
33- isolate ()->AdjustAmountOfExternalAllocatedMemory (-byte_length ());
34- }
35-
36- const TypeName* data () const override {
37- return data_;
38- }
30+ public:
31+ ~ExternString () override {
32+ free (const_cast <TypeName*>(data_));
33+ isolate ()->AdjustAmountOfExternalAllocatedMemory (-byte_length ());
34+ }
3935
40- size_t length () const override {
41- return length_ ;
42- }
36+ const TypeName* data () const override {
37+ return data_ ;
38+ }
4339
44- int64_t byte_length () const {
45- return length () * sizeof (* data ()) ;
46- }
40+ size_t length () const override {
41+ return length_ ;
42+ }
4743
48- static Local<String> NewFromCopy (Isolate* isolate,
49- const TypeName* data,
50- size_t length) {
51- EscapableHandleScope scope (isolate);
44+ int64_t byte_length () const {
45+ return length () * sizeof (*data ());
46+ }
5247
53- if (length == 0 )
54- return scope.Escape (String::Empty (isolate));
48+ static Local<String> NewFromCopy (Isolate* isolate,
49+ const TypeName* data,
50+ size_t length) {
51+ EscapableHandleScope scope (isolate);
5552
56- TypeName* new_data =
57- static_cast <TypeName*>(malloc (length * sizeof (*new_data)));
58- if (new_data == nullptr ) {
59- return Local<String>();
60- }
61- memcpy (new_data, data, length * sizeof (*new_data));
53+ if (length == 0 )
54+ return scope.Escape (String::Empty (isolate));
6255
63- return scope.Escape (ExternString<ResourceType, TypeName>::New (isolate,
64- new_data,
65- length));
56+ TypeName* new_data =
57+ static_cast <TypeName*>(malloc (length * sizeof (*new_data)));
58+ if (new_data == nullptr ) {
59+ return Local<String>();
6660 }
61+ memcpy (new_data, data, length * sizeof (*new_data));
6762
68- // uses "data" for external resource, and will be free'd on gc
69- static Local<String> New (Isolate* isolate,
70- const TypeName* data,
71- size_t length) {
72- EscapableHandleScope scope (isolate);
63+ return scope.Escape (ExternString<ResourceType, TypeName>::New (isolate,
64+ new_data,
65+ length));
66+ }
7367
74- if (length == 0 )
75- return scope.Escape (String::Empty (isolate));
68+ // uses "data" for external resource, and will be free'd on gc
69+ static Local<String> New (Isolate* isolate,
70+ const TypeName* data,
71+ size_t length) {
72+ EscapableHandleScope scope (isolate);
73+ if (length == 0 )
74+ return scope.Escape (String::Empty (isolate));
7675
77- ExternString* h_str = new ExternString<ResourceType, TypeName>(isolate,
78- data,
79- length);
80- MaybeLocal<String> str = String::NewExternal (isolate, h_str);
81- isolate->AdjustAmountOfExternalAllocatedMemory (h_str->byte_length ());
76+ ExternString* h_str = new ExternString<ResourceType, TypeName>(isolate,
77+ data,
78+ length);
79+ MaybeLocal<String> str = String::NewExternal (isolate, h_str);
80+ isolate->AdjustAmountOfExternalAllocatedMemory (h_str->byte_length ());
8281
83- if (str.IsEmpty ()) {
84- delete h_str;
85- return Local<String>();
86- }
8782
88- return scope.Escape (str.ToLocalChecked ());
83+ if (str.IsEmpty ()) {
84+ delete h_str;
85+ return Local<String>();
8986 }
9087
91- inline Isolate* isolate () const { return isolate_; }
88+ return scope.Escape (str.ToLocalChecked ());
89+ }
90+
91+ inline Isolate* isolate () const { return isolate_; }
9292
93- private:
94- ExternString (Isolate* isolate, const TypeName* data, size_t length)
95- : isolate_(isolate), data_(data), length_(length) { }
96- Isolate* isolate_;
97- const TypeName* data_;
98- size_t length_;
93+ private:
94+ ExternString (Isolate* isolate, const TypeName* data, size_t length)
95+ : isolate_(isolate), data_(data), length_(length) { }
96+ Isolate* isolate_;
97+ const TypeName* data_;
98+ size_t length_;
9999};
100100
101101
0 commit comments