summaryrefslogtreecommitdiff
path: root/node_modules/node-addon-api/index.js
diff options
context:
space:
mode:
author8cy <[email protected]>2020-04-03 02:37:42 -0700
committer8cy <[email protected]>2020-04-03 02:37:42 -0700
commit60867fb030bae582082340ead7dbc7efdc2f5398 (patch)
tree4c6a7356351be2e4914e15c4703172597c45656e /node_modules/node-addon-api/index.js
parentcommenting (diff)
downloads5nical-60867fb030bae582082340ead7dbc7efdc2f5398.tar.xz
s5nical-60867fb030bae582082340ead7dbc7efdc2f5398.zip
2020/04/03, 02:34, v1.2.0
Diffstat (limited to 'node_modules/node-addon-api/index.js')
-rw-r--r--node_modules/node-addon-api/index.js45
1 files changed, 45 insertions, 0 deletions
diff --git a/node_modules/node-addon-api/index.js b/node_modules/node-addon-api/index.js
new file mode 100644
index 0000000..74e90e8
--- /dev/null
+++ b/node_modules/node-addon-api/index.js
@@ -0,0 +1,45 @@
+var path = require('path');
+
+var versionArray = process.version
+ .substr(1)
+ .replace(/-.*$/, '')
+ .split('.')
+ .map(function(item) {
+ return +item;
+ });
+
+// TODO: Check if the main node semantic version is within multiple ranges,
+// or detect presence of built-in N-API by some other mechanism TBD.
+
+// We know which version of Node.js first shipped the incarnation of the API
+// available in *this* package. So, if we find that the Node.js version is below
+// that, we indicate that the API is missing from Node.js.
+var isNodeApiBuiltin = (
+ versionArray[0] > 8 ||
+ (versionArray[0] == 8 && versionArray[1] >= 6) ||
+ (versionArray[0] == 6 && versionArray[1] >= 15) ||
+ (versionArray[0] == 6 && versionArray[1] >= 14 && versionArray[2] >= 2));
+
+// The flag is not needed when the Node version is not 8, nor if the API is
+// built-in, because we removed the flag at the same time as creating the final
+// incarnation of the built-in API.
+var needsFlag = (!isNodeApiBuiltin && versionArray[0] == 8);
+
+var include = [__dirname];
+var gyp = path.join(__dirname, 'src', 'node_api.gyp');
+
+if (isNodeApiBuiltin) {
+ gyp += ':nothing';
+} else {
+ gyp += ':node-api';
+ include.unshift(path.join(__dirname, 'external-napi'));
+}
+
+module.exports = {
+ include: include.map(function(item) {
+ return '"' + item + '"';
+ }).join(' '),
+ gyp: gyp,
+ isNodeApiBuiltin: isNodeApiBuiltin,
+ needsFlag: needsFlag
+};