File: version_management.cc

package info (click to toggle)
node-addon-api 8.3.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,248 kB
  • sloc: cpp: 15,431; javascript: 5,631; ansic: 157; makefile: 7
file content (28 lines) | stat: -rw-r--r-- 941 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include "napi.h"

using namespace Napi;

Value getNapiVersion(const CallbackInfo& info) {
  Napi::Env env = info.Env();
  uint32_t napi_version = VersionManagement::GetNapiVersion(env);
  return Number::New(env, napi_version);
}

Value getNodeVersion(const CallbackInfo& info) {
  Napi::Env env = info.Env();
  const napi_node_version* node_version =
      VersionManagement::GetNodeVersion(env);
  Object version = Object::New(env);
  version.Set("major", Number::New(env, node_version->major));
  version.Set("minor", Number::New(env, node_version->minor));
  version.Set("patch", Number::New(env, node_version->patch));
  version.Set("release", String::New(env, node_version->release));
  return version;
}

Object InitVersionManagement(Env env) {
  Object exports = Object::New(env);
  exports["getNapiVersion"] = Function::New(env, getNapiVersion);
  exports["getNodeVersion"] = Function::New(env, getNodeVersion);
  return exports;
}