Skip to content

Commit c2329ae

Browse files
committed
default_bootstrap didn't make it
1 parent 9cefaa7 commit c2329ae

8 files changed

+45
-29
lines changed

src/js_native_api.h

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -101,33 +101,35 @@ node_api_symbol_for(napi_env env,
101101
const char* utf8description,
102102
size_t length,
103103
napi_value* result);
104+
#endif // NAPI_EXPERIMENTAL
104105

105-
napi_status NAPI_CDECL napi_create_platform(int argc,
106-
char** argv,
107-
int exec_argc,
108-
char** exec_argv,
109-
char*** errors,
110-
int thread_pool_size,
111-
napi_platform* result);
112-
113-
napi_status NAPI_CDECL napi_destroy_platform(napi_platform platform);
114-
115-
napi_status NAPI_CDECL napi_create_environment(napi_platform platform,
116-
char*** errors,
117-
const char* main_script,
118-
napi_env* result);
106+
#ifdef NAPI_EMBEDDING
107+
NAPI_EXTERN napi_status NAPI_CDECL napi_create_platform(int argc,
108+
char** argv,
109+
int exec_argc,
110+
char** exec_argv,
111+
char*** errors,
112+
int thread_pool_size,
113+
napi_platform* result);
119114

120-
const char* NAPI_CDECL napi_default_bootstrap();
115+
NAPI_EXTERN napi_status NAPI_CDECL
116+
napi_destroy_platform(napi_platform platform);
121117

122-
napi_status NAPI_CDECL napi_run_environment(napi_env env);
118+
NAPI_EXTERN napi_status NAPI_CDECL
119+
napi_create_environment(napi_platform platform,
120+
char*** errors,
121+
const char* main_script,
122+
napi_env* result);
123123

124-
napi_status NAPI_CDECL napi_await_promise(napi_env env,
125-
napi_value promise,
126-
napi_value* result);
124+
NAPI_EXTERN napi_status NAPI_CDECL napi_run_environment(napi_env env);
127125

128-
napi_status NAPI_CDECL napi_destroy_environment(napi_env env, int* exit_code);
126+
NAPI_EXTERN napi_status NAPI_CDECL napi_await_promise(napi_env env,
127+
napi_value promise,
128+
napi_value* result);
129129

130-
#endif // NAPI_EXPERIMENTAL
130+
NAPI_EXTERN napi_status NAPI_CDECL napi_destroy_environment(napi_env env,
131+
int* exit_code);
132+
#endif // NAPI_EMBEDDING
131133
NAPI_EXTERN napi_status NAPI_CDECL napi_create_function(napi_env env,
132134
const char* utf8name,
133135
size_t length,

src/js_native_api_v8.cc

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
#include <climits> // INT_MAX
33
#include <cmath>
44
#define NAPI_EXPERIMENTAL
5+
#define NAPI_EMBEDDING
56
#include "env-inl.h"
67
#include "js_native_api.h"
78
#include "js_native_api_v8.h"
@@ -986,11 +987,12 @@ napi_status napi_await_promise(napi_env env,
986987
});
987988

988989
if (!r) return napi_closing;
989-
if (promise_object->State() == v8::Promise::PromiseState::kRejected)
990-
return napi_pending_exception;
991990

992991
*result =
993992
v8impl::JsValueFromV8LocalValue(scope.Escape(promise_object->Result()));
993+
if (promise_object->State() == v8::Promise::PromiseState::kRejected)
994+
return napi_pending_exception;
995+
994996
return napi_ok;
995997
}
996998

src/node_api.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#include "async_wrap-inl.h"
22
#include "env-inl.h"
33
#define NAPI_EXPERIMENTAL
4+
#define NAPI_EMBEDDING
45
#include "js_native_api_v8.h"
56
#include "memory_tracker-inl.h"
67
#include "node_api.h"

src/node_api_internals.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
#include "v8.h"
55
#define NAPI_EXPERIMENTAL
6+
#define NAPI_EMBEDDING
67
#include "env-inl.h"
78
#include "js_native_api_v8.h"
89
#include "node_api.h"

src/node_binding.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
#include "node.h"
1111
#define NAPI_EXPERIMENTAL
12+
#define NAPI_EMBEDDING
1213
#include "node_api.h"
1314
#include "uv.h"
1415

test/embedding/napi_embedding.c

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#define NAPI_EXPERIMENTAL
2+
#define NAPI_EMBEDDING
23
#include <assert.h>
34
#include <node_api.h>
45

@@ -207,14 +208,21 @@ int waitMeWithCheese(napi_env env) {
207208
goto fail;
208209
}
209210

210-
if (napi_await_promise(env, promise, &result) != napi_ok) {
211-
fprintf(stderr, "Failed awaiting promise\n");
211+
napi_status r = napi_await_promise(env, promise, &result);
212+
if (r != napi_ok && r != napi_pending_exception) {
213+
fprintf(stderr, "Failed awaiting promise: %d\n", r);
212214
goto fail;
213215
}
214216

215-
napi_get_value_string_utf8(env, result, callback_buf, 32, &callback_buf_len);
216-
if (strncmp(
217-
callback_buf, "waited with cheese", strlen("waited with cheese"))) {
217+
const char* expected;
218+
if (r == napi_ok)
219+
expected = "waited with cheese";
220+
else
221+
expected = "waited without cheese";
222+
223+
napi_get_value_string_utf8(
224+
env, result, callback_buf, 32, &callback_buf_len);
225+
if (strncmp(callback_buf, expected, strlen(expected))) {
218226
fprintf(stderr, "Invalid value received: %s\n", callback_buf);
219227
goto fail;
220228
}

test/embedding/napi_modules.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#include <stdio.h>
22
#include <string.h>
33
#define NAPI_EXPERIMENTAL
4+
#define NAPI_EMBEDDING
45
#include <node_api.h>
56

67
#define CHECK(op, msg) \

test/embedding/test-napi-embedding.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ assert.strictEqual(
5757
assert.strictEqual(
5858
child_process.spawnSync(binary,
5959
['function waitPromise(text)' +
60-
'{ return new Promise((res) => setTimeout(() => res(text + " with cheese"), 1)); }'])
60+
'{ return new Promise((res) => setTimeout(() => res(text + " with cheese"), 1)); }'])
6161
.stdout.toString().trim(),
6262
'waited with cheese');
6363

0 commit comments

Comments
 (0)