Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit3d0b233

Browse files
gabrielschulhofrichardlau
authored andcommitted
node-api: introduce experimental feature flags
Add a flag for each experimental feature to indicate its presence.That way, if we compile with `NAPI_EXPERIMENTAL` turned on, we'll beable to distinguish between what `NAPI_EXPERIMENTAL` used to mean on anold version of the headers when compiling against such an old version,and what it means on a new version of Node.js.PR-URL:#50991Reviewed-By: Michael Dawson <midawson@redhat.com>Reviewed-By: Vladimir Morozov <vmorozov@microsoft.com>Reviewed-By: Chengzhong Wu <legendecas@gmail.com>Backport-PR-URL:#51804(cherry picked from commit727dd28)
1 parent931d02f commit3d0b233

File tree

3 files changed

+8
-0
lines changed

3 files changed

+8
-0
lines changed

‎doc/contributing/adding-new-napi-api.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ Node-API.
3434
* Experimental APIs**must** be documented as such.
3535
* Experimental APIs**must** require an explicit compile-time flag
3636
(`#define`) to be set to opt-in.
37+
* A feature flag of the form`NODE_API_EXPERIMENTAL_HAS_<FEATURE>`**must**
38+
be added with each experimental feature in order to allow code to
39+
distinguish between experimental features as present in one version of
40+
Node.js versus another.
3741
* Experimental APIs**must** be considered for backport.
3842
* Experimental status exit criteria**must** involve at least the
3943
following:

‎doc/contributing/releases-node-api.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,8 @@ and update the define version guards with the release version:
100100
+ #endif // NAPI_VERSION >= 10
101101
```
102102
103+
Remove any feature flags of the form `NODE_API_EXPERIMENTAL_HAS_<FEATURE>`.
104+
103105
Also, update the Node-API version value of the `napi_get_version` test in
104106
`test/js-native-api/test_general/test.js` with the release version `x`:
105107

‎src/js_native_api.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_create_string_utf16(napi_env env,
9393
size_tlength,
9494
napi_value*result);
9595
#ifdefNAPI_EXPERIMENTAL
96+
#defineNODE_API_EXPERIMENTAL_HAS_EXTERNAL_STRINGS
9697
NAPI_EXTERNnapi_statusNAPI_CDECL
9798
node_api_create_external_string_latin1(napi_envenv,
9899
char*str,
@@ -518,6 +519,7 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_add_finalizer(napi_env env,
518519
#endif// NAPI_VERSION >= 5
519520

520521
#ifdefNAPI_EXPERIMENTAL
522+
#defineNODE_API_EXPERIMENTAL_HAS_POST_FINALIZER
521523

522524
NAPI_EXTERNnapi_statusNAPI_CDECL
523525
node_api_post_finalizer(napi_envenv,

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp