@@ -28,31 +28,43 @@ class FSReqBase;
28
28
29
29
namespace permission {
30
30
31
- #define THROW_IF_INSUFFICIENT_PERMISSIONS (env, perm_, resource_ , ...) \
31
+ #define THROW_IF_INSUFFICIENT_PERMISSIONS (env, perm, resource , ...) \
32
32
do { \
33
- if (!env->permission ()->is_granted (env, perm_, resource_)) [[unlikely]] { \
33
+ node::Environment* env__ = (env); \
34
+ const node::permission::PermissionScope perm__ = (perm); \
35
+ const auto resource__ = (resource); \
36
+ if (!env__->permission ()->is_granted (env__, perm__, resource__)) \
37
+ [[unlikely]] { \
34
38
node::permission::Permission::ThrowAccessDenied ( \
35
- (env), perm_, resource_); \
39
+ env__, perm__, resource__); \
36
40
return __VA_ARGS__; \
37
41
} \
38
42
} while (0 )
39
43
40
44
#define ASYNC_THROW_IF_INSUFFICIENT_PERMISSIONS ( \
41
- env, wrap, perm_, resource_ , ...) \
45
+ env, wrap, perm, resource , ...) \
42
46
do { \
43
- if (!env->permission ()->is_granted (env, perm_, resource_)) [[unlikely]] { \
47
+ node::Environment* env__ = (env); \
48
+ const node::permission::PermissionScope perm__ = (perm); \
49
+ const auto resource__ = (resource); \
50
+ if (!env__->permission ()->is_granted (env__, perm__, resource__)) \
51
+ [[unlikely]] { \
44
52
node::permission::Permission::AsyncThrowAccessDenied ( \
45
- (env), wrap, perm_, resource_); \
53
+ env__, ( wrap), perm__, resource__); \
46
54
return __VA_ARGS__; \
47
55
} \
48
56
} while (0 )
49
57
50
58
#define ERR_ACCESS_DENIED_IF_INSUFFICIENT_PERMISSIONS ( \
51
- env, perm_, resource_ , args, ...) \
59
+ env, perm, resource , args, ...) \
52
60
do { \
53
- if (!env->permission ()->is_granted (env, perm_, resource_)) [[unlikely]] { \
61
+ node::Environment* env__ = (env); \
62
+ const node::permission::PermissionScope perm__ = (perm); \
63
+ const auto resource__ = (resource); \
64
+ if (!env__->permission ()->is_granted (env__, perm__, resource__)) \
65
+ [[unlikely]] { \
54
66
Local<Value> err_access; \
55
- if (permission::CreateAccessDeniedError (env, perm_, resource_) \
67
+ if (node:: permission::CreateAccessDeniedError (env__, perm__, resource__) \
56
68
.ToLocal (&err_access)) { \
57
69
args.GetReturnValue ().Set (err_access); \
58
70
} else { \
@@ -63,11 +75,11 @@ namespace permission {
63
75
} while (0 )
64
76
65
77
#define SET_INSUFFICIENT_PERMISSION_ERROR_CALLBACK (scope ) \
66
- void InsufficientPermissionError (const std::string resource) { \
78
+ void InsufficientPermissionError (std::string_view resource) { \
67
79
v8::HandleScope handle_scope (env ()->isolate ()); \
68
80
v8::Context::Scope context_scope (env ()->context ()); \
69
81
v8::Local<v8::Value> arg; \
70
- if (!permission::CreateAccessDeniedError (env (), scope, resource) \
82
+ if (!permission::CreateAccessDeniedError (env (), ( scope) , resource) \
71
83
.ToLocal (&arg)) { \
72
84
} \
73
85
MakeCallback (env ()->oncomplete_string (), 1 , &arg); \
0 commit comments