35 bool has_valid_version =
38 .ToLocal(&version_value) &&
39 version_value->IsUint32();
41 if (!has_valid_version || !version_value->Uint32Value(context).To(&version) ||
45 bool has_valid_sources =
48 .ToLocal(&sources_value) &&
49 sources_value->IsArray();
50 if (!has_valid_sources)
return;
59 uint32_t sources_len = 0;
60 if (!sources_len_value->Uint32Value(context).To(&sources_len))
return;
62 for (uint32_t
i = 0;
i < sources_len; ++
i) {
64 if (!sources_arr->Get(context,
i).ToLocal(&file_name_value) ||
65 !file_name_value->IsString())
69 size_t file_name_sz = file_name->Utf8LengthV2(v8_isolate) + 1;
70 std::unique_ptr<char[]> file_name_buf(
new char[file_name_sz]);
71 file_name->WriteUtf8V2(v8_isolate, file_name_buf.get(), file_name_sz,
73 filenames.emplace_back(file_name_buf.get());
76 bool has_valid_mappings =
79 .ToLocal(&mappings_value) &&
80 mappings_value->IsString();
81 if (!has_valid_mappings)
return;
84 size_t mappings_sz = mappings->Utf8LengthV2(v8_isolate) + 1;
85 std::unique_ptr<char[]> mappings_buf(
new char[mappings_sz]);
86 mappings->WriteUtf8V2(v8_isolate, mappings_buf.get(), mappings_sz,
124 size_t pos = 0, gen_col = 0, file_idx = 0, ori_line = 0;
127 while (
pos < s.size()) {
134 std::numeric_limits<int32_t>::min())
138 std::numeric_limits<int32_t>::min())
142 std::numeric_limits<int32_t>::min())
148 std::numeric_limits<int32_t>::min())
151 if (
pos < s.size() && s[
pos] !=
',')
return false;
static Local< Context > New(Isolate *isolate, ExtensionConfiguration *extensions=nullptr, MaybeLocal< ObjectTemplate > global_template=MaybeLocal< ObjectTemplate >(), MaybeLocal< Value > global_object=MaybeLocal< Value >(), DeserializeInternalFieldsCallback internal_fields_deserializer=DeserializeInternalFieldsCallback(), MicrotaskQueue *microtask_queue=nullptr, DeserializeContextDataCallback context_data_deserializer=DeserializeContextDataCallback(), DeserializeAPIWrapperCallback api_wrapper_deserializer=DeserializeAPIWrapperCallback())