v8 10.2.154 (node 18.16.0)
V8 is Google's open source JavaScript engine
Loading...
Searching...
No Matches
v8-proxy.h
Go to the documentation of this file.
1
2// Copyright 2021 the V8 project authors. All rights reserved.
3// Use of this source code is governed by a BSD-style license that can be
4// found in the LICENSE file.
5
6#ifndef INCLUDE_V8_PROXY_H_
7#define INCLUDE_V8_PROXY_H_
8
9#include "v8-context.h" // NOLINT(build/include_directory)
10#include "v8-local-handle.h" // NOLINT(build/include_directory)
11#include "v8-object.h" // NOLINT(build/include_directory)
12#include "v8config.h" // NOLINT(build/include_directory)
13
14namespace v8 {
15
16class Context;
17
22class V8_EXPORT Proxy : public Object {
23 public:
26 bool IsRevoked() const;
27 void Revoke();
28
33 Local<Object> local_target,
34 Local<Object> local_handler);
35
36 V8_INLINE static Proxy* Cast(Value* value) {
37#ifdef V8_ENABLE_CHECKS
38 CheckCast(value);
39#endif
40 return static_cast<Proxy*>(value);
41 }
42
43 private:
44 Proxy();
45 static void CheckCast(Value* obj);
46};
47
48} // namespace v8
49
50#endif // INCLUDE_V8_PROXY_H_
static V8_INLINE Proxy * Cast(Value *value)
Definition v8-proxy.h:36
Local< Value > GetHandler()
void Revoke()
Local< Value > GetTarget()
bool IsRevoked() const
static MaybeLocal< Proxy > New(Local< Context > context, Local< Object > local_target, Local< Object > local_handler)
#define V8_EXPORT
Definition v8config.h:578
#define V8_INLINE
Definition v8config.h:425