Skip to content

Commit 7146bc3

Browse files
committed
Removed String converters
1 parent 12878b3 commit 7146bc3

File tree

5 files changed

+3
-257
lines changed

5 files changed

+3
-257
lines changed

nan.h

Lines changed: 0 additions & 164 deletions
Original file line numberDiff line numberDiff line change
@@ -679,88 +679,6 @@ class NanEscapableScope {
679679
return static_cast<T*>(isolate->GetData(0));
680680
}
681681

682-
class NanAsciiString {
683-
public:
684-
NAN_INLINE explicit NanAsciiString(v8::Handle<v8::Value> from) {
685-
v8::Local<v8::String> toStr = from->ToString();
686-
size = toStr->Length();
687-
buf = new char[size + 1];
688-
size = toStr->WriteOneByte(reinterpret_cast<unsigned char*>(buf));
689-
}
690-
691-
NAN_INLINE int length() const {
692-
return size;
693-
}
694-
695-
696-
NAN_INLINE char* operator*() { return buf; }
697-
NAN_INLINE const char* operator*() const { return buf; }
698-
699-
NAN_INLINE ~NanAsciiString() {
700-
delete[] buf;
701-
}
702-
703-
private:
704-
NAN_DISALLOW_ASSIGN_COPY_MOVE(NanAsciiString)
705-
706-
char *buf;
707-
int size;
708-
};
709-
710-
class NanUtf8String {
711-
public:
712-
NAN_INLINE explicit NanUtf8String(v8::Handle<v8::Value> from) {
713-
v8::Local<v8::String> toStr = from->ToString();
714-
size = toStr->Utf8Length();
715-
buf = new char[size + 1];
716-
toStr->WriteUtf8(buf);
717-
}
718-
719-
NAN_INLINE int length() const {
720-
return size;
721-
}
722-
723-
NAN_INLINE char* operator*() { return buf; }
724-
NAN_INLINE const char* operator*() const { return buf; }
725-
726-
NAN_INLINE ~NanUtf8String() {
727-
delete[] buf;
728-
}
729-
730-
private:
731-
NAN_DISALLOW_ASSIGN_COPY_MOVE(NanUtf8String)
732-
733-
char *buf;
734-
int size;
735-
};
736-
737-
class NanUcs2String {
738-
public:
739-
NAN_INLINE explicit NanUcs2String(v8::Handle<v8::Value> from) {
740-
v8::Local<v8::String> toStr = from->ToString();
741-
size = toStr->Length();
742-
buf = new uint16_t[size + 1];
743-
toStr->Write(buf);
744-
}
745-
746-
NAN_INLINE int length() const {
747-
return size;
748-
}
749-
750-
NAN_INLINE uint16_t* operator*() { return buf; }
751-
NAN_INLINE const uint16_t* operator*() const { return buf; }
752-
753-
NAN_INLINE ~NanUcs2String() {
754-
delete[] buf;
755-
}
756-
757-
private:
758-
NAN_DISALLOW_ASSIGN_COPY_MOVE(NanUcs2String)
759-
760-
uint16_t *buf;
761-
int size;
762-
};
763-
764682
#else // Node 0.8 and 0.10
765683
typedef const v8::Arguments& NAN_METHOD_ARGS_TYPE;
766684
typedef v8::Handle<v8::Value> NAN_METHOD_RETURN_TYPE;
@@ -1049,88 +967,6 @@ class NanEscapableScope {
1049967
return static_cast<T*>(isolate->GetData());
1050968
}
1051969

1052-
class NanAsciiString {
1053-
public:
1054-
NAN_INLINE explicit NanAsciiString(v8::Handle<v8::Value> from) {
1055-
v8::Local<v8::String> toStr = from->ToString();
1056-
size = toStr->Length();
1057-
buf = new char[size + 1];
1058-
size = toStr->WriteAscii(buf);
1059-
}
1060-
1061-
NAN_INLINE int length() const {
1062-
return size;
1063-
}
1064-
1065-
1066-
NAN_INLINE char* operator*() { return buf; }
1067-
NAN_INLINE const char* operator*() const { return buf; }
1068-
1069-
NAN_INLINE ~NanAsciiString() {
1070-
delete[] buf;
1071-
}
1072-
1073-
private:
1074-
NAN_DISALLOW_ASSIGN_COPY_MOVE(NanAsciiString)
1075-
1076-
char *buf;
1077-
int size;
1078-
};
1079-
1080-
class NanUtf8String {
1081-
public:
1082-
NAN_INLINE explicit NanUtf8String(v8::Handle<v8::Value> from) {
1083-
v8::Local<v8::String> toStr = from->ToString();
1084-
size = toStr->Utf8Length();
1085-
buf = new char[size + 1];
1086-
toStr->WriteUtf8(buf);
1087-
}
1088-
1089-
NAN_INLINE int length() const {
1090-
return size;
1091-
}
1092-
1093-
NAN_INLINE char* operator*() { return buf; }
1094-
NAN_INLINE const char* operator*() const { return buf; }
1095-
1096-
NAN_INLINE ~NanUtf8String() {
1097-
delete[] buf;
1098-
}
1099-
1100-
private:
1101-
NAN_DISALLOW_ASSIGN_COPY_MOVE(NanUtf8String)
1102-
1103-
char *buf;
1104-
int size;
1105-
};
1106-
1107-
class NanUcs2String {
1108-
public:
1109-
NAN_INLINE explicit NanUcs2String(v8::Handle<v8::Value> from) {
1110-
v8::Local<v8::String> toStr = from->ToString();
1111-
size = toStr->Length();
1112-
buf = new uint16_t[size + 1];
1113-
toStr->Write(buf);
1114-
}
1115-
1116-
NAN_INLINE int length() const {
1117-
return size;
1118-
}
1119-
1120-
NAN_INLINE uint16_t* operator*() { return buf; }
1121-
NAN_INLINE const uint16_t* operator*() const { return buf; }
1122-
1123-
NAN_INLINE ~NanUcs2String() {
1124-
delete[] buf;
1125-
}
1126-
1127-
private:
1128-
NAN_DISALLOW_ASSIGN_COPY_MOVE(NanUcs2String)
1129-
1130-
uint16_t *buf;
1131-
int size;
1132-
};
1133-
1134970
#endif // NODE_MODULE_VERSION
1135971

1136972
typedef void (*NanFreeCallback)(char *data, void *hint);

test/cpp/multifile2.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@
99
#include <nan.h>
1010

1111
NAN_METHOD(ReturnString) {
12-
v8::Local<v8::String> s = NanNew<v8::String>(*NanUtf8String(args[0]));
12+
v8::Local<v8::String> s = NanNew<v8::String>(*v8::String::Utf8Value(args[0]));
1313
NanReturnValue(s);
1414
}

test/cpp/settergetter.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ NAN_SETTER(SetterGetter::SetProp2) {
129129
node::ObjectWrap::Unwrap<SetterGetter>(args.This());
130130
strncpy(
131131
settergetter->prop2
132-
, *NanUtf8String(value)
132+
, *v8::String::Utf8Value(value)
133133
, sizeof (settergetter->prop2));
134134
settergetter->prop2[sizeof (settergetter->prop2) - 1] = '\0';
135135
assert(strlen(settergetter->log) < sizeof (settergetter->log));

test/cpp/strings.cpp

Lines changed: 0 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -8,25 +8,6 @@
88

99
#include <nan.h>
1010

11-
NAN_METHOD(ReturnAsciiString) {
12-
NanReturnValue(NanNew(*NanAsciiString(args[0])));
13-
}
14-
15-
NAN_METHOD(ReturnUtf8String) {
16-
NanReturnValue(NanNew(*NanUtf8String(args[0])));
17-
}
18-
19-
NAN_METHOD(ReturnUcs2String) {
20-
NanReturnValue(NanNew(*NanUcs2String(args[0])));
21-
}
22-
23-
NAN_METHOD(HeapString) {
24-
NanUcs2String *s = new NanUcs2String(args[0]);
25-
v8::Local<v8::String> res = NanNew(**s);
26-
delete s;
27-
NanReturnValue(res);
28-
}
29-
3011
NAN_METHOD(EncodeHex) {
3112
NanReturnValue(NanEncode("hello", 5, Nan::HEX));
3213
}
@@ -35,66 +16,10 @@ NAN_METHOD(EncodeUCS2) {
3516
NanReturnValue(NanEncode("h\0e\0l\0l\0o\0", 10, Nan::UCS2));
3617
}
3718

38-
v8::Persistent<v8::FunctionTemplate> returnAsciiString_persistent;
39-
v8::Persistent<v8::FunctionTemplate> returnUtf8String_persistent;
40-
v8::Persistent<v8::FunctionTemplate> returnUcs2String_persistent;
41-
v8::Persistent<v8::FunctionTemplate> heapString_persistent;
4219
v8::Persistent<v8::FunctionTemplate> encodeHex_persistent;
4320
v8::Persistent<v8::FunctionTemplate> encodeUCS2_persistent;
4421

4522
void Init (v8::Handle<v8::Object> target) {
46-
v8::Local<v8::FunctionTemplate> returnAsciiString =
47-
NanNew<v8::FunctionTemplate>(ReturnAsciiString);
48-
49-
NanAssignPersistent(
50-
returnAsciiString_persistent
51-
, returnAsciiString
52-
);
53-
54-
target->Set(
55-
NanNew("returnAsciiString")
56-
, returnAsciiString->GetFunction()
57-
);
58-
59-
v8::Local<v8::FunctionTemplate> returnUtf8String =
60-
NanNew<v8::FunctionTemplate>(ReturnUtf8String);
61-
62-
NanAssignPersistent(
63-
returnUtf8String_persistent
64-
, returnUtf8String
65-
);
66-
67-
target->Set(
68-
NanNew("returnUtf8String")
69-
, returnUtf8String->GetFunction()
70-
);
71-
72-
v8::Local<v8::FunctionTemplate> returnUcs2String =
73-
NanNew<v8::FunctionTemplate>(ReturnUcs2String);
74-
75-
NanAssignPersistent(
76-
returnUcs2String_persistent
77-
, returnUcs2String
78-
);
79-
80-
target->Set(
81-
NanNew("returnUcs2String")
82-
, returnUcs2String->GetFunction()
83-
);
84-
85-
v8::Local<v8::FunctionTemplate> heapString =
86-
NanNew<v8::FunctionTemplate>(HeapString);
87-
88-
NanAssignPersistent(
89-
heapString_persistent
90-
, heapString
91-
);
92-
93-
target->Set(
94-
NanNew("heapString")
95-
, heapString->GetFunction()
96-
);
97-
9823
v8::Local<v8::FunctionTemplate> encodeHex =
9924
NanNew<v8::FunctionTemplate>(EncodeHex);
10025

test/js/strings-test.js

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -12,22 +12,7 @@ const test = require('tap').test
1212

1313

1414
test('FromV8String', function (t) {
15-
t.plan(10);
16-
17-
var a = bindings.returnAsciiString;
18-
var b = bindings.returnUtf8String;
19-
var c = bindings.returnUcs2String;
20-
var d = bindings.heapString;
21-
22-
t.type(a, 'function');
23-
t.type(b, 'function');
24-
t.type(c, 'function');
25-
t.type(d, 'function');
26-
27-
t.equal(a('an ascii string'), 'an ascii string');
28-
t.equal(b('an utf8 strïng'), 'an utf8 strïng');
29-
t.equal(c('an ucs2 strïng'), 'an ucs2 strïng');
30-
t.equal(d('an utf8 strïng'), 'an utf8 strïng');
15+
t.plan(2);
3116

3217
t.equal(bindings.encodeHex(), new Buffer('hello').toString('hex'));
3318
t.equal(bindings.encodeUCS2(), 'hello');

0 commit comments

Comments
 (0)