mirror of
https://gitee.com/openharmony/interface_sdk_c
synced 2024-11-27 00:41:01 +00:00
Add system standard JS engine API
issue:https://gitee.com/openharmony/interface_sdk_c/issues/I8PEK3 Signed-off-by: Chongwei Su <suchongwei@huawei.com>
This commit is contained in:
parent
fd70d7c525
commit
e826ac3762
34
ark_runtime/jsvm/BUILD.gn
Normal file
34
ark_runtime/jsvm/BUILD.gn
Normal file
@ -0,0 +1,34 @@
|
||||
# Copyright (c) 2023 Huawei Device Co., Ltd.
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
import("//build/ohos.gni")
|
||||
|
||||
ohos_ndk_library("libjsvm_ndk") {
|
||||
ndk_description_file = "./libjsvm.ndk.json"
|
||||
min_compact_version = "11"
|
||||
output_name = "jsvm"
|
||||
output_extension = "so"
|
||||
system_capability = "SystemCapability.ArkCompiler.JSVM"
|
||||
system_capability_headers = [
|
||||
"ark_runtime/jsvm/jsvm.h",
|
||||
"ark_runtime/jsvm/jsvm_types.h",
|
||||
]
|
||||
}
|
||||
|
||||
ohos_ndk_headers("jsvm_header") {
|
||||
dest_dir = "$ndk_headers_out_dir/ark_runtime"
|
||||
sources = [
|
||||
"./jsvm.h",
|
||||
"./jsvm_types.h",
|
||||
]
|
||||
}
|
2114
ark_runtime/jsvm/jsvm.h
Normal file
2114
ark_runtime/jsvm/jsvm.h
Normal file
File diff suppressed because it is too large
Load Diff
481
ark_runtime/jsvm/jsvm_types.h
Normal file
481
ark_runtime/jsvm/jsvm_types.h
Normal file
@ -0,0 +1,481 @@
|
||||
/*
|
||||
* Copyright (c) 2021 Huawei Device Co., Ltd.
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef ARK_RUNTIME_JSVM_JSVM_TYPE_H
|
||||
#define ARK_RUNTIME_JSVM_JSVM_TYPE_H
|
||||
|
||||
/**
|
||||
* @addtogroup JSVM
|
||||
* @{
|
||||
*
|
||||
* @brief Provides the standard JavaScript engine capabilities.
|
||||
*
|
||||
* Provides API to Provide independent, standard, and complete JavaScript engine capabilities for developers,
|
||||
* including managing the engine lifecycle, compiling and running JS code, implementing JS/C++ cross language calls,
|
||||
* and taking snapshots.
|
||||
*
|
||||
* @since 11
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file jsvm_types.h
|
||||
*
|
||||
* @brief Provides the JSVM API type define.
|
||||
*
|
||||
* Provides API to Provide independent, standard, and complete JavaScript engine capabilities for developers,
|
||||
* including managing the engine lifecycle, compiling and running JS code, implementing JS/C++ cross language calls,
|
||||
* and taking snapshots.
|
||||
* @library libjsvm.so
|
||||
* @syscap SystemCapability.ArkCompiler.JSVM
|
||||
* @since 11
|
||||
*/
|
||||
|
||||
#include <stddef.h> // NOLINT(modernize-deprecated-headers)
|
||||
#include <stdint.h> // NOLINT(modernize-deprecated-headers)
|
||||
|
||||
#if !defined __cplusplus || (defined(_MSC_VER) && _MSC_VER < 1900)
|
||||
typedef uint16_t char16_t;
|
||||
#endif
|
||||
|
||||
#ifndef JSVM_CDECL
|
||||
#ifdef _WIN32
|
||||
#define JSVM_CDECL __cdecl
|
||||
#else
|
||||
#define JSVM_CDECL
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief To represent a JavaScript VM instance.
|
||||
*
|
||||
* @since 11
|
||||
*/
|
||||
typedef struct JSVM_VM__* JSVM_VM;
|
||||
|
||||
/**
|
||||
* @brief To represent a JavaScript VM scope.
|
||||
*
|
||||
* @since 11
|
||||
*/
|
||||
typedef struct JSVM_VMScope__* JSVM_VMScope;
|
||||
|
||||
/**
|
||||
* @brief To represent a JavaScript VM environment scope.
|
||||
*
|
||||
* @since 11
|
||||
*/
|
||||
typedef struct JSVM_EnvScope__* JSVM_EnvScope;
|
||||
|
||||
/**
|
||||
* @brief To represent a JavaScript code.
|
||||
*
|
||||
* @since 11
|
||||
*/
|
||||
typedef struct JSVM_Script__* JSVM_Script;
|
||||
|
||||
/**
|
||||
* @brief To represent a JavaScript VM instance.
|
||||
*
|
||||
* @since 11
|
||||
*/
|
||||
typedef struct JSVM_Env__* JSVM_Env;
|
||||
|
||||
/**
|
||||
* @brief To represent a JavaScript VM environment.
|
||||
*
|
||||
* @since 11
|
||||
*/
|
||||
typedef struct JSVM_Value__* JSVM_Value;
|
||||
|
||||
/**
|
||||
* @brief To represent a JavaScript value references.
|
||||
*
|
||||
* @since 11
|
||||
*/
|
||||
typedef struct JSVM_Ref__* JSVM_Ref;
|
||||
|
||||
/**
|
||||
* @brief To represent a JavaScript VM handle scope.
|
||||
*
|
||||
* @since 11
|
||||
*/
|
||||
typedef struct JSVM_HandleScope__* JSVM_HandleScope;
|
||||
|
||||
/**
|
||||
* @brief To represent a JavaScript VM escapable handle scope.
|
||||
*
|
||||
* @since 11
|
||||
*/
|
||||
typedef struct JSVM_EscapableHandleScope__* JSVM_EscapableHandleScope;
|
||||
|
||||
/**
|
||||
* @brief To represent a JavaScript VM callback additional information.
|
||||
*
|
||||
* @since 11
|
||||
*/
|
||||
typedef struct JSVM_CallbackInfo__* JSVM_CallbackInfo;
|
||||
|
||||
/**
|
||||
* @brief To represent a JavaScript VM value deferred.
|
||||
*
|
||||
* @since 11
|
||||
*/
|
||||
typedef struct JSVM_Deferred__* JSVM_Deferred;
|
||||
|
||||
|
||||
/**
|
||||
* @brief Callback function pointer and data for user-provided native function which are to exposed to js via JSVM-API.
|
||||
*
|
||||
* @since 11
|
||||
*/
|
||||
typedef struct {
|
||||
JSVM_Value(JSVM_CDECL* callback)(JSVM_Env env,
|
||||
JSVM_CallbackInfo info);
|
||||
void* data;
|
||||
} JSVM_CallbackStruct;
|
||||
|
||||
/**
|
||||
* @brief Function pointer type for user-provided native function which are to exposed to js via JSVM-API.
|
||||
*
|
||||
* @since 11
|
||||
*/
|
||||
typedef JSVM_CallbackStruct* JSVM_Callback;
|
||||
|
||||
/**
|
||||
* @brief Function pointer type for add-on provided function that allow the user to be notified.
|
||||
*
|
||||
* @since 11
|
||||
*/
|
||||
typedef void(JSVM_CDECL* JSVM_Finalize)(JSVM_Env env,
|
||||
void* finalizeData,
|
||||
void* finalizeHint);
|
||||
|
||||
/**
|
||||
* @brief JSVM_PropertyAttributes are flag used to control the behavior of properties set on a js object.
|
||||
*
|
||||
* @since 11
|
||||
*/
|
||||
typedef enum {
|
||||
/** No explicit attributes are set on the property. */
|
||||
JSVM_DEFAULT = 0,
|
||||
/** The property is writable. */
|
||||
JSVM_WRITABLE = 1 << 0,
|
||||
/** The property is enumeable. */
|
||||
JSVM_ENUMERABLE = 1 << 1,
|
||||
/** The property is configurable. */
|
||||
JSVM_CONFIGURABLE = 1 << 2,
|
||||
/** Used with OH_JSVM_DefineClass to distinguish static properties from instance properties. */
|
||||
JSVM_STATIC = 1 << 10,
|
||||
/** Default for class methods. */
|
||||
JSVM_DEFAULT_METHOD = JSVM_WRITABLE | JSVM_CONFIGURABLE,
|
||||
/** Default for object properties, like in JS obj[prop]. */
|
||||
JSVM_DEFAULT_JSPROPERTY = JSVM_WRITABLE | JSVM_ENUMERABLE | JSVM_CONFIGURABLE,
|
||||
} JSVM_PropertyAttributes;
|
||||
|
||||
/**
|
||||
* @brief Describes the type of a JSVM_Value.
|
||||
*
|
||||
* @since 11
|
||||
*/
|
||||
typedef enum {
|
||||
/** undefined type. */
|
||||
JSVM_UNDEFINED,
|
||||
/** null type. */
|
||||
JSVM_NULL,
|
||||
/** boolean type. */
|
||||
JSVM_BOOLEAN,
|
||||
/** number type. */
|
||||
JSVM_NUMBER,
|
||||
/** string type. */
|
||||
JSVM_STRING,
|
||||
/** symbol type. */
|
||||
JSVM_SYMBOL,
|
||||
/** object type. */
|
||||
JSVM_OBJECT,
|
||||
/** function type. */
|
||||
JSVM_FUNCTION,
|
||||
/** external type. */
|
||||
JSVM_EXTERNAL,
|
||||
/** bigint type. */
|
||||
JSVM_BIGINT,
|
||||
} JSVM_ValueType;
|
||||
|
||||
/**
|
||||
* @brief Describes the type of a typedarray.
|
||||
*
|
||||
* @since 11
|
||||
*/
|
||||
typedef enum {
|
||||
/** int8 type. */
|
||||
JSVM_INT8_ARRAY,
|
||||
/** uint8 type. */
|
||||
JSVM_UINT8_ARRAY,
|
||||
/** uint8 clamped type. */
|
||||
JSVM_UINT8_CLAMPED_ARRAY,
|
||||
/** int16 type. */
|
||||
JSVM_INT16_ARRAY,
|
||||
/** uint16 type. */
|
||||
JSVM_UINT16_ARRAY,
|
||||
/** int32 type. */
|
||||
JSVM_INT32_ARRAY,
|
||||
/** uint32 type. */
|
||||
JSVM_UINT32_ARRAY,
|
||||
/** float32 type. */
|
||||
JSVM_FLOAT32_ARRAY,
|
||||
/** float64 type. */
|
||||
JSVM_FLOAT64_ARRAY,
|
||||
/** bigint64 type. */
|
||||
JSVM_BIGINT64_ARRAY,
|
||||
/** biguint64 type. */
|
||||
JSVM_BIGUINT64_ARRAY,
|
||||
} JSVM_TypedarrayType;
|
||||
|
||||
/**
|
||||
* @brief Integral status code indicating the success or failure of a JSVM-API call.
|
||||
*
|
||||
* @since 11
|
||||
*/
|
||||
typedef enum {
|
||||
/** success status. */
|
||||
JSVM_OK,
|
||||
/** invalidarg status. */
|
||||
JSVM_INVALID_ARG,
|
||||
/** object expected status. */
|
||||
JSVM_OBJECT_EXPECTED,
|
||||
/** string expected status. */
|
||||
JSVM_STRING_EXPECTED,
|
||||
/** name expected status. */
|
||||
JSVM_NAME_EXPECTED,
|
||||
/** function expected status. */
|
||||
JSVM_FUNCTION_EXPECTED,
|
||||
/** number expected status. */
|
||||
JSVM_NUMBER_EXPECTED,
|
||||
/** boolean expected status. */
|
||||
JSVM_BOOLEAN_EXPECTED,
|
||||
/** array expected status. */
|
||||
JSVM_ARRAY_EXPECTED,
|
||||
/** generic failure status. */
|
||||
JSVM_GENERIC_FAILURE,
|
||||
/** pending exception status. */
|
||||
JSVM_PENDING_EXCEPTION,
|
||||
/** cancelled status. */
|
||||
JSVM_CANCELLED,
|
||||
/** escape called twice status. */
|
||||
JSVM_ESCAPE_CALLED_TWICE,
|
||||
/** handle scope mismatch status. */
|
||||
JSVM_HANDLE_SCOPE_MISMATCH,
|
||||
/** callback scope mismatch status. */
|
||||
JSVM_CALLBACK_SCOPE_MISMATCH,
|
||||
/** queue full status. */
|
||||
JSVM_QUEUE_FULL,
|
||||
/** closing status. */
|
||||
JSVM_CLOSING,
|
||||
/** bigint expected status. */
|
||||
JSVM_BIGINT_EXPECTED,
|
||||
/** date expected status. */
|
||||
JSVM_DATE_EXPECTED,
|
||||
/** arraybuffer expected status. */
|
||||
JSVM_ARRAYBUFFER_EXPECTED,
|
||||
/** detachable arraybuffer expected status. */
|
||||
JSVM_DETACHABLE_ARRAYBUFFER_EXPECTED,
|
||||
/** would deadlock status. */
|
||||
JSVM_WOULD_DEADLOCK,
|
||||
/** no external buffers allowed status. */
|
||||
JSVM_NO_EXTERNAL_BUFFERS_ALLOWED,
|
||||
/** cannot run +js status. */
|
||||
JSVM_CANNOT_RUN_JS,
|
||||
} JSVM_Status;
|
||||
|
||||
/**
|
||||
* @brief limits the range of collected properties..
|
||||
*
|
||||
* @since 11
|
||||
*/
|
||||
typedef enum {
|
||||
/** will include all keys of the objects's prototype chain as well. */
|
||||
JSVM_KEY_INCLUDE_PROTOTYPES,
|
||||
/** limits the collected properties to the given object only. */
|
||||
JSVM_KEY_OWN_ONLY
|
||||
} JSVM_KeyCollectionMode;
|
||||
|
||||
/**
|
||||
* @brief Property filter bits. They can be or'ed to build a composite filter..
|
||||
*
|
||||
* @since 11
|
||||
*/
|
||||
typedef enum {
|
||||
/** key all properties. */
|
||||
JSVM_KEY_ALL_PROPERTIES = 0,
|
||||
/** key writable. */
|
||||
JSVM_KEY_WRITABLE = 1,
|
||||
/** key enumerable. */
|
||||
JSVM_KEY_ENUMERABLE = 1 << 1,
|
||||
/** key configurable. */
|
||||
JSVM_KEY_CONFIGURABLE = 1 << 2,
|
||||
/** key skip strings. */
|
||||
JSVM_KEY_SKIP_STRINGS = 1 << 3,
|
||||
/** key skip symbols. */
|
||||
JSVM_KEY_SKIP_SYMBOLS = 1 << 4
|
||||
} JSVM_KeyFilter;
|
||||
|
||||
/**
|
||||
* @brief key conversion select.
|
||||
*
|
||||
* @since 11
|
||||
*/
|
||||
typedef enum {
|
||||
/** will return numbers for integer indices. */
|
||||
JSVM_KEY_KEEP_NUMBERS,
|
||||
/** will convert integer indices to strings. */
|
||||
JSVM_KEY_NUMBERS_TO_STRINGS
|
||||
} JSVM_KeyConversion;
|
||||
|
||||
/**
|
||||
* @brief Memory pressure level.
|
||||
*
|
||||
* @since 11
|
||||
*/
|
||||
typedef enum {
|
||||
/** none pressure. */
|
||||
JSVM_MEMORY_PRESSURE_LEVEL_NONE,
|
||||
/** moderate pressure. */
|
||||
JSVM_MEMORY_PRESSURE_LEVEL_MODERATE,
|
||||
/** critical pressure. */
|
||||
JSVM_MEMORY_PRESSURE_LEVEL_CRITICAL,
|
||||
} JSVM_MemoryPressureLevel;
|
||||
|
||||
/**
|
||||
* @brief Init the JavaScript VM with init option.
|
||||
*
|
||||
* @since 11
|
||||
*/
|
||||
typedef struct {
|
||||
/**
|
||||
* Optional nullptr-terminated array of raw adddresses in the embedder that the
|
||||
* VM can match against during serialization and use for deserialization. This
|
||||
* array and its content must stay valid for the entire lifetime of the VM
|
||||
* instance.
|
||||
*/
|
||||
const intptr_t* externalReferences;
|
||||
|
||||
/**
|
||||
* Flags for the VM. IF removeFlags is true, recognized flags will be removed
|
||||
* from (argc, argv). Note that these flags are specific to VM.
|
||||
* They are mainly used for development. Do not include them in production as
|
||||
* they might not take effect if the VM is different from the development
|
||||
* environment.
|
||||
*/
|
||||
int* argc;
|
||||
/** argv . */
|
||||
char** argv;
|
||||
/** remove flags. */
|
||||
bool removeFlags;
|
||||
} JSVM_InitOptions;
|
||||
|
||||
/**
|
||||
* @brief Create the JavaScript VM with init option.
|
||||
*
|
||||
* @since 11
|
||||
*/
|
||||
typedef struct {
|
||||
/** optional limits of memory use of the vm. */
|
||||
size_t maxOldGenerationSize;
|
||||
/** optional limits of memory use of the vm. */
|
||||
size_t maxYoungGenerationSize;
|
||||
/** optional limits of memory use of the vm. */
|
||||
size_t initialOldGenerationSize;
|
||||
/** optional limits of memory use of the vm. */
|
||||
size_t initialYoungGenerationSize;
|
||||
/** Optional startup snapshot data. */
|
||||
const char* snapshotBlobData;
|
||||
/** Optional size of the startup snapshot data. */
|
||||
size_t snapshotBlobSize;
|
||||
/** Whether the VM is used for creating snapshot. */
|
||||
bool isForSnapshotting;
|
||||
} JSVM_CreateVMOptions;
|
||||
|
||||
/**
|
||||
* @brief JavaScript VM info.
|
||||
*
|
||||
* @since 11
|
||||
*/
|
||||
typedef struct {
|
||||
/** The highest API version this VM supports. */
|
||||
uint32_t apiVersion;
|
||||
/** The engine name implementing the VM. */
|
||||
const char* engine;
|
||||
/** The version of the VM. */
|
||||
const char* version;
|
||||
/** The cached data version tag. */
|
||||
uint32_t cachedDataVersionTag;
|
||||
} JSVM_VMInfo;
|
||||
|
||||
/**
|
||||
* @brief Property descriptor.
|
||||
*
|
||||
* @since 11
|
||||
*/
|
||||
typedef struct {
|
||||
/** Optional string describing the key for the property, encoded as UTF8.
|
||||
* One of utf8name or name must be provided for the property.
|
||||
*/
|
||||
const char* utf8name;
|
||||
/** Optional value that points to a JavaScript string or symbol to be used as the key for the property. */
|
||||
JSVM_Value name;
|
||||
/** Set this to make the property descriptor object's value property to be
|
||||
* a JavaScript function represented by method.
|
||||
*/
|
||||
JSVM_Callback method;
|
||||
/** A function to call when a get access of the property is performed. */
|
||||
JSVM_Callback getter;
|
||||
/** A function to call when a set access of the property is performed. */
|
||||
JSVM_Callback setter;
|
||||
/** The value that's retrieved by a get access of the property if the property is a data property. */
|
||||
JSVM_Value value;
|
||||
/** The attributes associated with the particular property. */
|
||||
JSVM_PropertyAttributes attributes;
|
||||
} JSVM_PropertyDescriptor;
|
||||
|
||||
/**
|
||||
* @brief JSVM-API uses both return values and JavaScript exceptions for error handling
|
||||
* @since 11
|
||||
*/
|
||||
typedef struct {
|
||||
/** UTF8-encoded string containing a VM-neutral description of the error. */
|
||||
const char* errorMessage;
|
||||
/** Reserved for VM-specific error details. This is currently not implemented for any VM. */
|
||||
void* engineReserved;
|
||||
/** VM-specific error code. This is currently not implemented for any VM. */
|
||||
uint32_t engineErrorCode;
|
||||
/** The JSVM-API status code that originated with the last error. */
|
||||
JSVM_Status errorCode;
|
||||
} JSVM_ExtendedErrorInfo;
|
||||
|
||||
/**
|
||||
* @brief A 128-bit value stored as two unsigned 64-bit integers.
|
||||
* It serves as a UUID with which JavaScript objects or externals can be "tagged"
|
||||
* in order to ensure that they are of a certain type.
|
||||
*
|
||||
* @since 11
|
||||
*/
|
||||
typedef struct {
|
||||
/** lower type. */
|
||||
uint64_t lower;
|
||||
/** upper type. */
|
||||
uint64_t upper;
|
||||
} JSVM_TypeTag;
|
||||
|
||||
/** @} */
|
||||
#endif /* ARK_RUNTIME_JSVM_JSVM_TYPE_H */
|
546
ark_runtime/jsvm/libjsvm.ndk.json
Normal file
546
ark_runtime/jsvm/libjsvm.ndk.json
Normal file
@ -0,0 +1,546 @@
|
||||
[
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_Init"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CreateVM"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_DestroyVM"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_OpenVMScope"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CloseVMScope"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CreateEnv"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CreateEnvFromSnapshot"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_DestroyEnv"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_OpenEnvScope"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CloseEnvScope"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CompileScript"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CreateCodeCache"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_RunScript"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_SetInstanceData"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_GetInstanceData"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_GetLastErrorInfo"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_Throw"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_ThrowError"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_ThrowTypeError"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_ThrowRangeError"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_ThrowSyntaxError"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_IsError"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CreateError"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CreateTypeError"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CreateRangeError"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CreateSyntaxError"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_GetAndClearLastException"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_IsExceptionPending"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_OpenHandleScope"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CloseHandleScope"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_OpenEscapableHandleScope"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CloseEscapableHandleScope"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_EscapeHandle"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CreateReference"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_DeleteReference"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_ReferenceRef"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_ReferenceUnref"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_GetReferenceValue"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CreateArray"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CreateArrayWithLength"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CreateArraybuffer"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CreateDate"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CreateExternal"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CreateExternalArraybuffer"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CreateObject"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CreateSymbol"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_SymbolFor"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CreateTypedarray"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CreateDataview"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CreateInt32"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CreateUint32"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CreateInt64"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CreateDouble"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CreateBigintInt64"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CreateBigintUint64"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CreateBigintWords"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CreateStringLatin1"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CreateStringUtf16"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CreateStringUtf8"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_GetArrayLength"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_GetArraybufferInfo"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_GetPrototype"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_GetTypedarrayInfo"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_GetDataviewInfo"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_GetDateValue"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_GetValueBool"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_GetValueDouble"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_GetValueBigintInt64"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_GetValueBigintUint64"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_GetValueBigintWords"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_GetValueExternal"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_GetValueInt32"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_GetValueInt64"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_GetValueStringLatin1"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_GetValueStringUtf8"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_GetValueStringUtf16"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_GetValueUint32"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_GetBoolean"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_GetGlobal"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_GetNull"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_GetUndefined"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CoerceToBool"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CoerceToNumber"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CoerceToObject"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CoerceToString"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_Typeof"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_Instanceof"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_IsArray"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_IsArraybuffer"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_IsDate"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_IsTypedarray"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_IsDataview"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_StrictEquals"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_DetachArraybuffer"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_IsDetachedArraybuffer"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_GetPropertyNames"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_GetAllPropertyNames"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_SetProperty"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_GetProperty"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_HasProperty"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_DeleteProperty"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_HasOwnProperty"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_SetNamedProperty"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_GetNamedProperty"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_HasNamedProperty"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_SetElement"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_GetElement"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_HasElement"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_DeleteElement"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_DefineProperties"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_ObjectFreeze"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_ObjectSeal"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CallFunction"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CreateFunction"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_GetCbInfo"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_GetNewTarget"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_NewInstance"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_DefineClass"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_Wrap"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_Unwrap"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_RemoveWrap"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_TypeTagObject"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CheckObjectTypeTag"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_AddFinalizer"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_PostFinalizer"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_GetVersion"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_GetVMInfo"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_AdjustExternalMemory"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_MemoryPressureNotification"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CreatePromise"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_ResolveDeferred"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_RejectDeferred"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_IsPromise"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_JsonParse"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_JsonStringify"
|
||||
},
|
||||
{
|
||||
"first_introduced": "11",
|
||||
"name": "OH_JSVM_CreateSnapshot"
|
||||
}
|
||||
]
|
Loading…
Reference in New Issue
Block a user