Skip to content

Commit

Permalink
n-api: mark version 5 N-APIs as stable
Browse files Browse the repository at this point in the history
PR-URL: #29401
Backport-PR-URL: #29458
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
  • Loading branch information
Gabriel Schulhof authored and BethGriggs committed Oct 1, 2019
1 parent 7735824 commit c74c6a5
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 21 deletions.
8 changes: 0 additions & 8 deletions doc/api/n-api.md
Expand Up @@ -1476,8 +1476,6 @@ added: REPLACEME
napiVersion: 4
-->
> Stability: 1 - Experimental
```C
napi_status napi_create_date(napi_env env,
double time,
Expand Down Expand Up @@ -2121,8 +2119,6 @@ added: REPLACEME
napiVersion: 4
-->
> Stability: 1 - Experimental
```C
napi_status napi_get_date_value(napi_env env,
napi_value value,
Expand Down Expand Up @@ -2730,8 +2726,6 @@ added: REPLACEME
napiVersion: 4
-->
> Stability: 1 - Experimental
```C
napi_status napi_is_date(napi_env env, napi_value value, bool* result)
```
Expand Down Expand Up @@ -3823,8 +3817,6 @@ JavaScript object becomes garbage-collected.
### napi_add_finalizer
> Stability: 1 - Experimental
<!-- YAML
added: v8.0.0
napiVersion: 1
Expand Down
22 changes: 14 additions & 8 deletions src/node_api.h
Expand Up @@ -10,7 +10,7 @@
#define NAPI_VERSION 2147483647
#else
// The baseline version for N-API
#define NAPI_VERSION 4
#define NAPI_VERSION 5
#endif
#endif

Expand Down Expand Up @@ -674,7 +674,7 @@ napi_ref_threadsafe_function(napi_env env, napi_threadsafe_function func);

#endif // NAPI_VERSION >= 4

#ifdef NAPI_EXPERIMENTAL
#if NAPI_VERSION >= 5

// Dates
NAPI_EXTERN napi_status napi_create_date(napi_env env,
Expand All @@ -689,6 +689,18 @@ NAPI_EXTERN napi_status napi_get_date_value(napi_env env,
napi_value value,
double* result);

// Add finalizer for pointer
NAPI_EXTERN napi_status napi_add_finalizer(napi_env env,
napi_value js_object,
void* native_object,
napi_finalize finalize_cb,
void* finalize_hint,
napi_ref* result);

#endif // NAPI_VERSION >= 5

#ifdef NAPI_EXPERIMENTAL

// BigInt
NAPI_EXTERN napi_status napi_create_bigint_int64(napi_env env,
int64_t value,
Expand All @@ -714,12 +726,6 @@ NAPI_EXTERN napi_status napi_get_value_bigint_words(napi_env env,
int* sign_bit,
size_t* word_count,
uint64_t* words);
NAPI_EXTERN napi_status napi_add_finalizer(napi_env env,
napi_value js_object,
void* native_object,
napi_finalize finalize_cb,
void* finalize_hint,
napi_ref* result);
#endif // NAPI_EXPERIMENTAL

EXTERN_C_END
Expand Down
2 changes: 1 addition & 1 deletion src/node_version.h
Expand Up @@ -114,6 +114,6 @@
#define NODE_MODULE_VERSION 64

// the NAPI_VERSION provided by this version of the runtime
#define NAPI_VERSION 4
#define NAPI_VERSION 5

#endif // SRC_NODE_VERSION_H_
2 changes: 0 additions & 2 deletions test/addons-napi/test_date/test_date.c
@@ -1,5 +1,3 @@
#define NAPI_EXPERIMENTAL

#include <node_api.h>
#include "../common.h"

Expand Down
2 changes: 1 addition & 1 deletion test/addons-napi/test_general/test.js
Expand Up @@ -34,7 +34,7 @@ assert.notStrictEqual(test_general.testGetPrototype(baseObject),

// test version management functions
// expected version is currently 4
assert.strictEqual(test_general.testGetVersion(), 4);
assert.strictEqual(test_general.testGetVersion(), 5);

const [ major, minor, patch, release ] = test_general.testGetNodeVersion();
assert.strictEqual(process.version.split('-')[0],
Expand Down
1 change: 0 additions & 1 deletion test/addons-napi/test_general/test_general.c
@@ -1,4 +1,3 @@
#define NAPI_EXPERIMENTAL
#include <node_api.h>
#include <stdlib.h>
#include "../common.h"
Expand Down

0 comments on commit c74c6a5

Please sign in to comment.