Coverage Report

Created: 2025-10-31 09:06

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/node/deps/v8/include/v8-proxy.h
Line
Count
Source
1
// Copyright 2021 the V8 project authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
4
5
#ifndef INCLUDE_V8_PROXY_H_
6
#define INCLUDE_V8_PROXY_H_
7
8
#include "v8-context.h"       // NOLINT(build/include_directory)
9
#include "v8-local-handle.h"  // NOLINT(build/include_directory)
10
#include "v8-object.h"        // NOLINT(build/include_directory)
11
#include "v8config.h"         // NOLINT(build/include_directory)
12
13
namespace v8 {
14
15
class Context;
16
17
/**
18
 * An instance of the built-in Proxy constructor (ECMA-262, 6th Edition,
19
 * 26.2.1).
20
 */
21
class V8_EXPORT Proxy : public Object {
22
 public:
23
  Local<Value> GetTarget();
24
  Local<Value> GetHandler();
25
  bool IsRevoked() const;
26
  void Revoke();
27
28
  /**
29
   * Creates a new Proxy for the target object.
30
   */
31
  static MaybeLocal<Proxy> New(Local<Context> context,
32
                               Local<Object> local_target,
33
                               Local<Object> local_handler);
34
35
0
  V8_INLINE static Proxy* Cast(Value* value) {
36
0
#ifdef V8_ENABLE_CHECKS
37
0
    CheckCast(value);
38
0
#endif
39
0
    return static_cast<Proxy*>(value);
40
0
  }
41
42
 private:
43
  Proxy();
44
  static void CheckCast(Value* obj);
45
};
46
47
}  // namespace v8
48
49
#endif  // INCLUDE_V8_PROXY_H_