JsiRuntime
种类:class
实验性
这是一个实验性 API。请勿直接使用它。它可能会在未来的版本中被删除或更改。相反,请使用内部使用此 API 的 JSI API。请参阅 Microsoft.ReactNative.Cxx 共享项目中的 JsiApiContext.h 文件中的 ExecuteJsi 方法,或 Microsoft.ReactNative.IntegrationTests 项目中基于 JSI 的 TurboModules 示例。请注意,JSI 仅适用于 C++ 代码。我们计划在未来添加 .Net 支持。
属性
描述
readonly string Description
实验性
全局
readonly JsiObjectRef Global
实验性
可检查
readonly bool IsInspectable
实验性
方法
BigIntStrictEquals
bool BigIntStrictEquals(JsiBigIntRef left, JsiBigIntRef right)
实验性
BigintIsInt64
bool BigintIsInt64(JsiBigIntRef bigInt)
实验性
BigintIsUint64
bool BigintIsUint64(JsiBigIntRef bigInt)
实验性
BigintToString
JsiStringRef BigintToString(JsiBigIntRef bigInt, int val)
实验性
调用
JsiValueRef Call(JsiObjectRef func, JsiValueRef thisArg, JsiValueRef args)
实验性
作为构造函数调用
JsiValueRef CallAsConstructor(JsiObjectRef func, JsiValueRef args)
实验性
克隆大整数
JsiBigIntRef CloneBigInt(JsiBigIntRef bigInt)
实验性
克隆对象
JsiObjectRef CloneObject(JsiObjectRef obj)
实验性
克隆属性ID
JsiPropertyIdRef ClonePropertyId(JsiPropertyIdRef propertyId)
实验性
克隆字符串
JsiStringRef CloneString(JsiStringRef str)
实验性
克隆符号
JsiSymbolRef CloneSymbol(JsiSymbolRef symbol)
实验性
创建数组
JsiObjectRef CreateArray(uint32_t size)
实验性
创建数组缓冲区
JsiObjectRef CreateArrayBuffer(JsiObjectRef buffer)
实验性
从Int64创建BigInt
JsiBigIntRef CreateBigIntFromInt64(int64_t val)
实验性
从Uint64创建BigInt
JsiBigIntRef CreateBigIntFromUint64(uint64_t val)
实验性
从主机函数创建函数
JsiObjectRef CreateFunctionFromHostFunction(JsiPropertyIdRef funcName, uint32_t paramCount, JsiHostFunction hostFunc)
实验性
创建对象
JsiObjectRef CreateObject()
实验性
使用主机对象创建对象
JsiObjectRef CreateObjectWithHostObject(IJsiHostObject hostObject)
实验性
创建属性ID
JsiPropertyIdRef CreatePropertyId(string name)
实验性
从Ascii创建属性ID
JsiPropertyIdRef CreatePropertyIdFromAscii(uint8_t ascii)
实验性
从字符串创建属性ID
JsiPropertyIdRef CreatePropertyIdFromString(JsiStringRef str)
实验性
从符号创建属性ID
JsiPropertyIdRef CreatePropertyIdFromSymbol(JsiSymbolRef sym)
实验性
从Utf8创建属性ID
JsiPropertyIdRef CreatePropertyIdFromUtf8(uint8_t utf8)
实验性
创建字符串
JsiStringRef CreateString(string value)
实验性
从Ascii创建字符串
JsiStringRef CreateStringFromAscii(uint8_t ascii)
实验性
从Utf8创建字符串
JsiStringRef CreateStringFromUtf8(uint8_t utf8)
实验性
从Json创建值
JsiValueRef CreateValueFromJson(string json)
实验性
从JsonUtf8创建值
JsiValueRef CreateValueFromJsonUtf8(uint8_t json)
实验性
创建弱对象
JsiWeakObjectRef CreateWeakObject(JsiObjectRef obj)
实验性
清空微任务
bool DrainMicrotasks(int maxMicrotasksHint)
实验性
评估JavaScript
JsiValueRef EvaluateJavaScript(IJsiByteBuffer buffer, string sourceUrl)
实验性
评估预准备JavaScript
JsiValueRef EvaluatePreparedJavaScript(JsiPreparedJavaScript js)
实验性
获取并清除错误
JsiError GetAndClearError()
实验性
获取数组缓冲区数据
void GetArrayBufferData(JsiObjectRef arrayBuffer, JsiByteArrayUser useArrayBytes)
实验性
获取数组缓冲区大小
uint32_t GetArrayBufferSize(JsiObjectRef arrayBuffer)
实验性
获取数组大小
uint32_t GetArraySize(JsiObjectRef arr)
实验性
获取主机函数
JsiHostFunction GetHostFunction(JsiObjectRef func)
实验性
获取主机对象
IJsiHostObject GetHostObject(JsiObjectRef obj)
实验性
获取原生状态
IReactNonAbiValue GetNativeState(JsiObjectRef obj)
实验性
获取属性
JsiValueRef GetProperty(JsiObjectRef obj, JsiPropertyIdRef propertyId)
实验性
获取属性ID数组
JsiObjectRef GetPropertyIdArray(JsiObjectRef obj)
实验性
获取索引处的值
JsiValueRef GetValueAtIndex(JsiObjectRef arr, uint32_t index)
实验性
拥有原生状态
bool HasNativeState(JsiObjectRef obj)
实验性
拥有属性
bool HasProperty(JsiObjectRef obj, JsiPropertyIdRef propertyId)
实验性
InstanceOf
bool InstanceOf(JsiObjectRef obj, JsiObjectRef constructor)
实验性
是数组
bool IsArray(JsiObjectRef obj)
实验性
是数组缓冲区
bool IsArrayBuffer(JsiObjectRef obj)
实验性
是函数
bool IsFunction(JsiObjectRef obj)
实验性
是主机函数
bool IsHostFunction(JsiObjectRef obj)
实验性
是主机对象
bool IsHostObject(JsiObjectRef obj)
实验性
锁定弱对象
JsiValueRef LockWeakObject(JsiWeakObjectRef weakObject)
实验性
创建Chakra运行时
static JsiRuntime MakeChakraRuntime()
实验性
对象严格相等
bool ObjectStrictEquals(JsiObjectRef left, JsiObjectRef right)
实验性
弹出作用域
void PopScope(JsiScopeState scopeState)
实验性
准备JavaScript
JsiPreparedJavaScript PrepareJavaScript(IJsiByteBuffer buffer, string sourceUrl)
实验性
属性ID相等
bool PropertyIdEquals(JsiPropertyIdRef left, JsiPropertyIdRef right)
实验性
属性ID转字符串
string PropertyIdToString(JsiPropertyIdRef propertyId)
实验性
属性ID转Utf8
void PropertyIdToUtf8(JsiPropertyIdRef propertyId, JsiByteArrayUser useUtf8String)
实验性
压入作用域
JsiScopeState PushScope()
实验性
队列微任务
void QueueMicrotask(JsiObjectRef callback)
实验性
释放大整数
void ReleaseBigInt(JsiBigIntRef bigInt)
实验性
释放对象
void ReleaseObject(JsiObjectRef obj)
实验性
释放属性ID
void ReleasePropertyId(JsiPropertyIdRef propertyId)
实验性
释放字符串
void ReleaseString(JsiStringRef str)
实验性
释放符号
void ReleaseSymbol(JsiSymbolRef symbol)
实验性
设置错误
void SetError(JsiErrorType errorType, string errorDetails, JsiValueRef value)
实验性
设置原生状态
void SetNativeState(JsiObjectRef obj, IReactNonAbiValue state)
实验性
设置属性
void SetProperty(JsiObjectRef obj, JsiPropertyIdRef propertyId, JsiValueRef value)
实验性
在索引处设置值
void SetValueAtIndex(JsiObjectRef arr, uint32_t index, JsiValueRef value)
实验性
字符串严格相等
bool StringStrictEquals(JsiStringRef left, JsiStringRef right)
实验性
字符串转字符串
string StringToString(JsiStringRef str)
实验性
字符串转Utf8
void StringToUtf8(JsiStringRef str, JsiByteArrayUser useUtf8String)
实验性
符号严格相等
bool SymbolStrictEquals(JsiSymbolRef left, JsiSymbolRef right)
实验性
符号转字符串
string SymbolToString(JsiSymbolRef symbol)
实验性
符号转Utf8
void SymbolToUtf8(JsiSymbolRef symbol, JsiByteArrayUser useUtf8String)
实验性
截断
uint64_t Truncate(JsiBigIntRef bigInt)
实验性