-
Notifications
You must be signed in to change notification settings - Fork 30.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
src: deprecate V8 date conversion helpers #23179
Conversation
These helpers provide no benefit over the existing V8 API, and at least one of them fetches the current `Isolate` through `Isolate::GetCurrent()` (which should be avoided).
1000 * static_cast<double>(t)) | ||
#define NODE_V8_UNIXTIME(v) (static_cast<double>((v)->NumberValue())/1000.0); | ||
NODE_DEPRECATED("Use v8::Date::New() directly", | ||
inline v8::Local<v8::Value> NODE_UNIXTIME_V8(double time) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not equivalent.
In this case I could imagine a user define time related struct, with no implicit cast to double
, e.g.
struct Timestamp {
double _val;
explicit operator double() { return _val; };
};
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While that’s true, I think it’s highly unlikely that such code which uses this method exists.
inline v8::Local<v8::Value> NODE_UNIXTIME_V8(double time) { | ||
return v8::Date::New(v8::Isolate::GetCurrent(), 1000 * time); | ||
}) | ||
#define NODE_UNIXTIME_V8 node::NODE_UNIXTIME_V8 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you explain why this is needed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Because NODE_UNIXTIME_V8
was previously as a macro, it wasn’t in any particular namespace; the inline function here is in the node
namespace, though, and can’t be used without some kind of namespace access.
Landed in ac54469. |
These helpers provide no benefit over the existing V8 API, and at least one of them fetches the current `Isolate` through `Isolate::GetCurrent()` (which should be avoided). PR-URL: #23179 Reviewed-By: Joyee Cheung <[email protected]> Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: James M Snell <[email protected]>
These helpers provide no benefit over the existing V8 API, and at least one of them fetches the current `Isolate` through `Isolate::GetCurrent()` (which should be avoided). PR-URL: #23179 Reviewed-By: Joyee Cheung <[email protected]> Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: James M Snell <[email protected]>
These helpers provide no benefit over the existing V8 API, and at least one of them fetches the current `Isolate` through `Isolate::GetCurrent()` (which should be avoided). PR-URL: #23179 Reviewed-By: Joyee Cheung <[email protected]> Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: James M Snell <[email protected]>
These helpers provide no benefit over the existing V8 API,
and at least one of them fetches the current
Isolate
throughIsolate::GetCurrent()
(which should be avoided).Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passes