@@ -15,9 +15,64 @@ napi_value checkError(napi_env env, napi_callback_info info) {
1515 return result;
1616}
1717
18+ napi_value throwExistingError (napi_env env, napi_callback_info info) {
19+ napi_value message;
20+ napi_value error;
21+ NAPI_CALL (env, napi_create_string_utf8 (env, " existing error" , -1 , &message));
22+ NAPI_CALL (env, napi_create_error (env, message, &error));
23+ NAPI_CALL (env, napi_throw (env, error));
24+ return nullptr ;
25+ }
26+
27+ napi_value throwError (napi_env env, napi_callback_info info) {
28+ NAPI_CALL (env, napi_throw_error (env, " error" ));
29+ return nullptr ;
30+ }
31+
32+ napi_value throwRangeError (napi_env env, napi_callback_info info) {
33+ NAPI_CALL (env, napi_throw_range_error (env, " range error" ));
34+ return nullptr ;
35+ }
36+
37+ napi_value throwTypeError (napi_env env, napi_callback_info info) {
38+ NAPI_CALL (env, napi_throw_type_error (env, " type error" ));
39+ return nullptr ;
40+ }
41+
42+ napi_value createError (napi_env env, napi_callback_info info) {
43+ napi_value result;
44+ napi_value message;
45+ NAPI_CALL (env, napi_create_string_utf8 (env, " error" , -1 , &message));
46+ NAPI_CALL (env, napi_create_error (env, message, &result));
47+ return result;
48+ }
49+
50+ napi_value createRangeError (napi_env env, napi_callback_info info) {
51+ napi_value result;
52+ napi_value message;
53+ NAPI_CALL (env, napi_create_string_utf8 (env, " range error" , -1 , &message));
54+ NAPI_CALL (env, napi_create_range_error (env, message, &result));
55+ return result;
56+ }
57+
58+ napi_value createTypeError (napi_env env, napi_callback_info info) {
59+ napi_value result;
60+ napi_value message;
61+ NAPI_CALL (env, napi_create_string_utf8 (env, " type error" , -1 , &message));
62+ NAPI_CALL (env, napi_create_type_error (env, message, &result));
63+ return result;
64+ }
65+
1866void Init (napi_env env, napi_value exports, napi_value module , void * priv) {
1967 napi_property_descriptor descriptors[] = {
2068 DECLARE_NAPI_PROPERTY (" checkError" , checkError),
69+ DECLARE_NAPI_PROPERTY (" throwExistingError" , throwExistingError),
70+ DECLARE_NAPI_PROPERTY (" throwError" , throwError),
71+ DECLARE_NAPI_PROPERTY (" throwRangeError" , throwRangeError),
72+ DECLARE_NAPI_PROPERTY (" throwTypeError" , throwTypeError),
73+ DECLARE_NAPI_PROPERTY (" createError" , createError),
74+ DECLARE_NAPI_PROPERTY (" createRangeError" , createRangeError),
75+ DECLARE_NAPI_PROPERTY (" createTypeError" , createTypeError),
2176 };
2277
2378 NAPI_CALL_RETURN_VOID (env, napi_define_properties (
0 commit comments