File tree Expand file tree Collapse file tree 2 files changed +18
-0
lines changed
Expand file tree Collapse file tree 2 files changed +18
-0
lines changed Original file line number Diff line number Diff line change 2020#endif // NAPI_HAS_THREADS
2121#include < type_traits>
2222#include < utility>
23+ #if __cplusplus >= 201103L
24+ #include < chrono>
25+ #endif
2326
2427#if defined(__clang__) || defined(__GNUC__)
2528#define NAPI_NO_SANITIZE_VPTR __attribute__ ((no_sanitize(" vptr" )))
@@ -1199,6 +1202,15 @@ inline Date Date::New(napi_env env, double val) {
11991202 return Date (env, value);
12001203}
12011204
1205+ #if __cplusplus >= 201103L
1206+ inline Date Date::New (napi_env env, std::chrono::system_clock::time_point tp) {
1207+ using namespace std ::chrono;
1208+ auto ms = static_cast <double >(
1209+ duration_cast<milliseconds>(tp.time_since_epoch ()).count ());
1210+ return Date::New (env, ms);
1211+ }
1212+ #endif
1213+
12021214inline void Date::CheckCast (napi_env env, napi_value value) {
12031215 NAPI_CHECK (value != nullptr , " Date::CheckCast" , " empty value" );
12041216
Original file line number Diff line number Diff line change @@ -685,6 +685,12 @@ class Date : public Value {
685685 double value // /< Number value
686686 );
687687
688+ // / Creates a new Date value from a std::chrono::system_clock::time_point.
689+ static Date New (
690+ napi_env env, // /< Node-API environment
691+ std::chrono::system_clock::time_point tp // /< Time point value
692+ );
693+
688694 static void CheckCast (napi_env env, napi_value value);
689695
690696 Date (); // /< Creates a new _empty_ Date instance.
You can’t perform that action at this time.
0 commit comments