node/deps/inspector_protocol/crdtp/json_platform.cc
Chengzhong Wu 0aa5874098 deps: move inspector_protocol to deps
The `crdtp` library in the inspector_protocol is compiled as a library
and linked to the node executable.

PR-URL: https://github.com/nodejs/node/pull/56649
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2025-01-26 23:20:09 +00:00

33 lines
992 B
C++

// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "json_platform.h"
#include <sstream>
// This is a reference implementation using the C++ standard library.
// Downstream projects may invoke their preferred routines instead,
// by modifying / replacing this file to call them.
// Examples of optimized string<->number conversion libraries:
// - https://github.com/google/double-conversion
// - https://github.com/abseil/abseil-cpp/blob/master/absl/strings/numbers.h
namespace crdtp {
namespace json {
namespace platform {
bool StrToD(const char* str, double* result) {
std::istringstream is(str);
is.imbue(std::locale::classic());
is >> *result;
return !is.fail() && is.eof();
}
std::string DToStr(double value) {
std::stringstream ss;
ss.imbue(std::locale::classic());
ss << value;
return ss.str();
}
} // namespace platform
} // namespace json
} // namespace crdtp