Skip to content

Commit

Permalink
doc: clarify use of NAPI_EXPERIMENTAL
Browse files Browse the repository at this point in the history
We've had a few questions about APIs not being available which
were related to not having specified `NAPI_EXPERIMENTAL`.

Add some additional documentation to explain this common
issue:

Refs: nodejs/node-addon-api#810

Signed-off-by: Michael Dawson <mdawson@devrus.com>

PR-URL: nodejs#35195
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Gabriel Schulhof <gabriel.schulhof@intel.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
  • Loading branch information
mhdawson authored and joesepi committed Oct 22, 2020
1 parent de9ee1c commit d7b075e
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions doc/api/n-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -337,6 +337,18 @@ listed as supporting a later version.
version 1 but continued to evolve until Node.js 8.6.0. The API is different in
versions prior to Node.js 8.6.0. We recommend N-API version 3 or later.
Each API documented for N-API will have a header named `added in:`, and APIs
which are stable will have the additional header `N-API version:`.
APIs are directly usable when using a Node.js version which supports
the N-API version shown in `N-API version:` or higher.
When using a Node.js version that does not support the
`N-API version:` listed or if there is no `N-API version:` listed,
then the API will only be available if
`#define NAPI_EXPERIMENTAL` precedes the inclusion of `node_api.h`
or `js_native_api.h`. If an API appears not to be available on
a version of Node.js which is later than the one shown in `added in:` then
this is most likely the reason for the apparent absence.
The N-APIs associated strictly with accessing ECMAScript features from native
code can be found separately in `js_native_api.h` and `js_native_api_types.h`.
The APIs defined in these headers are included in `node_api.h` and
Expand Down

0 comments on commit d7b075e

Please sign in to comment.