mirror of
https://github.com/nodejs/node.git
synced 2024-12-01 16:10:02 +01:00
e0395247c8
Currently, node.js depends on inspector_protocol indirectly through the dependency on v8. This is a dependency violation that will make it hard to roll V8 into Node if V8 gets a newer inspector protocol version with incompatible API. In fact, this surfaced on one of our bots when we tried to roll new inspector_protocol into V8. This patch adds inspector protocol and its required dependencies to node deps: - jinja2 - markupsafe PR-URL: https://github.com/nodejs/node/pull/21975 Reviewed-By: Eugene Ostroukhov <eostroukhov@google.com> Reviewed-By: Aleksei Koziatinskii <ak239spb@gmail.com>
56 lines
2.2 KiB
Plaintext
56 lines
2.2 KiB
Plaintext
// This file is generated
|
|
|
|
// Copyright (c) 2016 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#ifndef {{"_".join(config.protocol.namespace)}}_{{domain.domain}}_imported_h
|
|
#define {{"_".join(config.protocol.namespace)}}_{{domain.domain}}_imported_h
|
|
|
|
#include {{format_include(config.protocol.package, "Protocol")}}
|
|
{% if config.imported.header %}
|
|
#include {{format_include(config.imported.header)}}
|
|
{% else %}
|
|
#include {{format_include(config.imported.package, domain.domain)}}
|
|
{% endif %}
|
|
|
|
{% for namespace in config.protocol.namespace %}
|
|
namespace {{namespace}} {
|
|
{% endfor %}
|
|
{% for type in domain.types %}
|
|
{% if not (type.type == "object") or not ("properties" in type) or not protocol.is_imported(domain.domain, type.id) %}{% continue %}{% endif %}
|
|
|
|
template<>
|
|
struct ValueConversions<{{"::".join(config.imported.namespace)}}::{{domain.domain}}::API::{{type.id}}> {
|
|
static std::unique_ptr<{{"::".join(config.imported.namespace)}}::{{domain.domain}}::API::{{type.id}}> fromValue(protocol::Value* value, ErrorSupport* errors)
|
|
{
|
|
if (!value) {
|
|
errors->addError("value expected");
|
|
return nullptr;
|
|
}
|
|
String json = value->serialize();
|
|
auto result = {{"::".join(config.imported.namespace)}}::{{domain.domain}}::API::{{type.id}}::fromJSONString({{config.imported.to_imported_string % "json"}});
|
|
if (!result)
|
|
errors->addError("cannot parse");
|
|
return result;
|
|
}
|
|
|
|
static std::unique_ptr<protocol::Value> toValue(const {{"::".join(config.imported.namespace)}}::{{domain.domain}}::API::{{type.id}}* value)
|
|
{
|
|
auto json = value->toJSONString();
|
|
return SerializedValue::create({{config.imported.from_imported_string % "std::move(json)"}});
|
|
}
|
|
|
|
static std::unique_ptr<protocol::Value> toValue(const std::unique_ptr<{{"::".join(config.imported.namespace)}}::{{domain.domain}}::API::{{type.id}}>& value)
|
|
{
|
|
return toValue(value.get());
|
|
}
|
|
};
|
|
{% endfor %}
|
|
|
|
{% for namespace in config.protocol.namespace %}
|
|
} // namespace {{namespace}}
|
|
{% endfor %}
|
|
|
|
#endif // !defined({{"_".join(config.protocol.namespace)}}_{{domain.domain}}_imported_h)
|