1+ #define NAPI_EXPERIMENTAL
12#include <js_native_api.h>
23#include "../common.h"
34
@@ -40,6 +41,11 @@ static napi_value throwTypeError(napi_env env, napi_callback_info info) {
4041 return NULL ;
4142}
4243
44+ static napi_value throwSyntaxError (napi_env env , napi_callback_info info ) {
45+ NODE_API_CALL (env , node_api_throw_syntax_error (env , NULL , "syntax error" ));
46+ return NULL ;
47+ }
48+
4349static napi_value throwErrorCode (napi_env env , napi_callback_info info ) {
4450 NODE_API_CALL (env , napi_throw_error (env , "ERR_TEST_CODE" , "Error [error]" ));
4551 return NULL ;
@@ -57,6 +63,11 @@ static napi_value throwTypeErrorCode(napi_env env, napi_callback_info info) {
5763 return NULL ;
5864}
5965
66+ static napi_value throwSyntaxErrorCode (napi_env env , napi_callback_info info ) {
67+ NODE_API_CALL (env ,
68+ node_api_throw_syntax_error (env , "ERR_TEST_CODE" , "SyntaxError [syntax error]" ));
69+ return NULL ;
70+ }
6071
6172static napi_value createError (napi_env env , napi_callback_info info ) {
6273 napi_value result ;
@@ -85,6 +96,15 @@ static napi_value createTypeError(napi_env env, napi_callback_info info) {
8596 return result ;
8697}
8798
99+ static napi_value createSyntaxError (napi_env env , napi_callback_info info ) {
100+ napi_value result ;
101+ napi_value message ;
102+ NODE_API_CALL (env , napi_create_string_utf8 (
103+ env , "syntax error" , NAPI_AUTO_LENGTH , & message ));
104+ NODE_API_CALL (env , node_api_create_syntax_error (env , NULL , message , & result ));
105+ return result ;
106+ }
107+
88108static napi_value createErrorCode (napi_env env , napi_callback_info info ) {
89109 napi_value result ;
90110 napi_value message ;
@@ -123,6 +143,19 @@ static napi_value createTypeErrorCode(napi_env env, napi_callback_info info) {
123143 return result ;
124144}
125145
146+ static napi_value createSyntaxErrorCode (napi_env env , napi_callback_info info ) {
147+ napi_value result ;
148+ napi_value message ;
149+ napi_value code ;
150+ NODE_API_CALL (env ,
151+ napi_create_string_utf8 (
152+ env , "SyntaxError [syntax error]" , NAPI_AUTO_LENGTH , & message ));
153+ NODE_API_CALL (env , napi_create_string_utf8 (
154+ env , "ERR_TEST_CODE" , NAPI_AUTO_LENGTH , & code ));
155+ NODE_API_CALL (env , node_api_create_syntax_error (env , code , message , & result ));
156+ return result ;
157+ }
158+
126159static napi_value throwArbitrary (napi_env env , napi_callback_info info ) {
127160 napi_value arbitrary ;
128161 size_t argc = 1 ;
@@ -139,16 +172,20 @@ napi_value Init(napi_env env, napi_value exports) {
139172 DECLARE_NODE_API_PROPERTY ("throwError" , throwError ),
140173 DECLARE_NODE_API_PROPERTY ("throwRangeError" , throwRangeError ),
141174 DECLARE_NODE_API_PROPERTY ("throwTypeError" , throwTypeError ),
175+ DECLARE_NODE_API_PROPERTY ("throwSyntaxError" , throwSyntaxError ),
142176 DECLARE_NODE_API_PROPERTY ("throwErrorCode" , throwErrorCode ),
143177 DECLARE_NODE_API_PROPERTY ("throwRangeErrorCode" , throwRangeErrorCode ),
144178 DECLARE_NODE_API_PROPERTY ("throwTypeErrorCode" , throwTypeErrorCode ),
179+ DECLARE_NODE_API_PROPERTY ("throwSyntaxErrorCode" , throwSyntaxErrorCode ),
145180 DECLARE_NODE_API_PROPERTY ("throwArbitrary" , throwArbitrary ),
146181 DECLARE_NODE_API_PROPERTY ("createError" , createError ),
147182 DECLARE_NODE_API_PROPERTY ("createRangeError" , createRangeError ),
148183 DECLARE_NODE_API_PROPERTY ("createTypeError" , createTypeError ),
184+ DECLARE_NODE_API_PROPERTY ("createSyntaxError" , createSyntaxError ),
149185 DECLARE_NODE_API_PROPERTY ("createErrorCode" , createErrorCode ),
150186 DECLARE_NODE_API_PROPERTY ("createRangeErrorCode" , createRangeErrorCode ),
151187 DECLARE_NODE_API_PROPERTY ("createTypeErrorCode" , createTypeErrorCode ),
188+ DECLARE_NODE_API_PROPERTY ("createSyntaxErrorCode" , createSyntaxErrorCode ),
152189 };
153190
154191 NODE_API_CALL (env , napi_define_properties (
0 commit comments