1 /* 2 * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef NAPITUTORIALS_JAVASCRIPTAPI_H 17 #define NAPITUTORIALS_JAVASCRIPTAPI_H 18 19 #include "common.h" 20 21 #include "hilog/log.h" 22 #undef LOG_DOMAIN 23 #undef LOG_TAG 24 #define LOG_DOMAIN 0x3200 25 #define LOG_TAG "[javascriptapi_property]" 26 #define OH_LOG_INFO(type, ...) ((void)OH_LOG_Print((type), LOG_INFO, LOG_DOMAIN, LOG_TAG, __VA_ARGS__)) 27 28 napi_value jsPropertyInit(napi_env env, napi_value exports); 29 napi_value testNapiGetPropertyNames(napi_env env, napi_callback_info info); 30 napi_value testNapiSetProperty(napi_env env, napi_callback_info info); 31 napi_value testNapiGetProperty(napi_env env, napi_callback_info info); 32 napi_value testNapiHasProperty(napi_env env, napi_callback_info info); 33 napi_value testNapiDeleteProperty(napi_env env, napi_callback_info info); 34 bool validateObjectProperty(napi_env &env, napi_value &obj, napi_value &propName, const char *tag); 35 napi_value testNapiSetNamedProperty(napi_env env, napi_callback_info info); 36 napi_value testNapiGetNamedProperty(napi_env env, napi_callback_info info); 37 napi_value testNapiHasNamedProperty(napi_env env, napi_callback_info info); 38 bool validateArrayObjProperty(napi_env &env, napi_value &obj, napi_value &propName, const char *tag); 39 napi_value testNapiSetElement(napi_env env, napi_callback_info info); 40 napi_value testNapiGetElement(napi_env env, napi_callback_info info); 41 napi_value testNapiHasElement(napi_env env, napi_callback_info info); 42 napi_value testNapiDeleteElement(napi_env env, napi_callback_info info); 43 44 napi_value testNapiCoerceToBool(napi_env env, napi_callback_info info); 45 napi_value testNapiCoerceToNumber(napi_env env, napi_callback_info info); 46 napi_value testNapiCoerceToObject(napi_env env, napi_callback_info info); 47 napi_value testNapiCoerceToString(napi_env env, napi_callback_info info); 48 napi_value testNapiTypeof(napi_env env, napi_callback_info info); 49 50 void jsAbstractOpsInit(napi_property_descriptor **origDescPtr, size_t *len); 51 52 napi_value jsValuesInit(napi_env env, napi_value exports); 53 napi_value testNapiCreateInt32(napi_env env, napi_callback_info info); 54 napi_value testNapiCreateUInt32(napi_env env, napi_callback_info info); 55 napi_value testNapiCreateInt64(napi_env env, napi_callback_info info); 56 57 #endif //NAPITUTORIALS_JAVASCRIPTAPI_H 58