-
Notifications
You must be signed in to change notification settings - Fork 160
Expand file tree
/
Copy pathIV8Object.cs
More file actions
42 lines (33 loc) · 1.34 KB
/
IV8Object.cs
File metadata and controls
42 lines (33 loc) · 1.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.
using System;
using Microsoft.ClearScript.JavaScript;
namespace Microsoft.ClearScript.V8
{
internal interface IV8Object : IDisposable
{
JavaScriptObjectKind ObjectKind { get; }
JavaScriptObjectFlags ObjectFlags { get; }
int IdentityHash { get; }
object GetProperty(string name);
bool TryGetProperty(string name, out object value);
void SetProperty(string name, object value);
bool DeleteProperty(string name);
string[] GetPropertyNames(bool includeIndices);
object GetProperty(int index);
void SetProperty(int index, object value);
bool DeleteProperty(int index);
int[] GetPropertyIndices();
object Invoke(bool asConstructor, object[] args);
object InvokeMethod(string name, object[] args);
bool IsPromise { get; }
bool IsArray { get; }
bool IsShared { get; }
bool IsArrayBufferOrView { get; }
V8ArrayBufferOrViewKind ArrayBufferOrViewKind { get; }
V8ArrayBufferOrViewInfo GetArrayBufferOrViewInfo();
void InvokeWithArrayBufferOrViewData(Action<IntPtr> action);
void InvokeWithArrayBufferOrViewData<TArg>(Action<IntPtr, TArg> action, in TArg arg);
void Update();
}
}