22 #ifndef SRC_STRING_BYTES_H_ 23 #define SRC_STRING_BYTES_H_ 25 #if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS 39 class InlineDecoder :
public MaybeStackBuffer<char> {
41 inline bool Decode(Environment* env,
42 v8::Local<v8::String>
string,
44 enum encoding _default) {
46 if (!StringBytes::IsValidString(
string, enc)) {
47 env->ThrowTypeError(
"Bad input string");
51 const size_t storage = StringBytes::StorageSize(env->isolate(),
54 AllocateSufficientStorage(storage);
55 const size_t length = StringBytes::Write(env->isolate(),
66 inline size_t size()
const {
return length(); }
72 static bool IsValidString(v8::Local<v8::String>
string,
77 static size_t StorageSize(v8::Isolate* isolate,
78 v8::Local<v8::Value> val,
83 static size_t Size(v8::Isolate* isolate,
84 v8::Local<v8::Value> val,
89 static bool GetExternalParts(v8::Local<v8::Value> val,
97 static size_t Write(v8::Isolate* isolate,
100 v8::Local<v8::Value> val,
102 int* chars_written =
nullptr);
106 static v8::MaybeLocal<v8::Value>
Encode(v8::Isolate* isolate,
109 enum encoding encoding,
110 v8::Local<v8::Value>* error);
113 static v8::MaybeLocal<v8::Value>
Encode(v8::Isolate* isolate,
116 v8::Local<v8::Value>* error);
118 static v8::MaybeLocal<v8::Value>
Encode(v8::Isolate* isolate,
120 enum encoding encoding,
121 v8::Local<v8::Value>* error);
124 static size_t WriteUCS2(
char*
buf,
126 v8::Local<v8::String> str,
128 size_t* chars_written);
133 #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS 135 #endif // SRC_STRING_BYTES_H_
union node::cares_wrap::@8::CaresAsyncData::@0 data
enum encoding ParseEncoding(const char *encoding, enum encoding default_encoding)
NODE_DEPRECATED("Use ParseEncoding(isolate, ...)", inline enum encoding ParseEncoding(v8::Local< v8::Value > encoding_v, enum encoding default_encoding=LATIN1) { return ParseEncoding(v8::Isolate::GetCurrent(), encoding_v, default_encoding);}) NODE_EXTERN void FatalException(v8 NODE_DEPRECATED("Use FatalException(isolate, ...)", inline void FatalException(const v8::TryCatch &try_catch) { return FatalException(v8::Isolate::GetCurrent(), try_catch);}) NODE_EXTERN v8 NODE_EXTERN v8::Local< v8::Value > Encode(v8::Isolate *isolate, const uint16_t *buf, size_t len)