1.0.5 • Published 2 years ago
nv-cli-napi-helper v1.0.5
nv-cli-napi-helper
- nv-cli-napi-helper
- simple cli tool,its a doc-util of https://nodejs.org/dist/latest/docs/api/n-api.html
- just convert it to a big-json AND provide some search/find functions
- for code-replace using IN automation test-bed
it convert the api to the following FORMAT
func
"napi_call_threadsafe_function", {type:"func",attr:"NAPI_EXTERN"}, [
"paramd",[
"func", {type:"napi_threadsafe_function"},
"data", {type:"void*"},
"is_blocking", {type:"napi_threadsafe_function_call_mode"}
],
"rtrn",{type:"napi_status"}
],
typedef
"napi_threadsafe_function_call_js",{type:"typedef",of:"func"},[
"paramd",[
"env", {type:"napi_env"},
"js_callback", {type:"napi_value"},
"context", {type:"void*"},
"data", {type:"void*"},
],
"rtrn", {type:"void"}
],
"napi_property_descriptor", {type:"typedef",of:"struct"},[
"paramd",[
"utf8name", {type:"const char*"},
"name", {type:"napi_value"},
"method", {type:"napi_callback"},
"getter", {type:"napi_callback"},
"setter", {type:"napi_callback"},
"value", {type:"napi_value"},
"attributes", {type:"napi_property_attributes"},
"data", {type:"void*"}
]
],
enum
"napi_typedarray_type",{type:"enum"} ,[
"napi_int8_array",{val:0}, //I8A
"napi_uint8_array",{val:1}, //U8A
"napi_uint8_clamped_array",{val:2}, //U8CA
"napi_int16_array",{val:3}, //I16A
"napi_uint16_array",{val:4}, //U16A
"napi_int32_array",{val:5}, //I32A
"napi_uint32_array",{val:6}, //U32A
"napi_float32_array",{val:7}, //F32A
"napi_float64_array",{val:8}, //F64A
"napi_bigint64_array",{val:9}, //BI64A
"napi_biguint64_array",{val:10} //BU64A
],
others such as opaque
"napi_value", //V
"napi_ref", //REF
"napi_env", //ENV
"napi_callback_info", //CBINFO
"napi_callback_scope", //CBSCP
"napi_threadsafe_function", //TSF
"napi_handle_scope", //HSCP
"napi_escapable_handle_scope", //EHSCP
"napi_async_cleanup_hook_handle", //ACLNHH
"napi_async_context", //ACTX
"napi_async_work", //AWK
"napi_deferred", //DFR
install
- npm install nv-cli-napi-helper -g
usage
list
sage: nv_cli_napi_help_list [options]
Options:
-f, --func list all function names
-E, --extern_func list only NAPI_EXTERN function names
-I, --intern_func list only non-NAPI_EXTERN function names
-d, --typedef list all typedef names
-S, --struct_typedef list only struct typedef names
-F, --func_typedef list only function typedef names
-t, --data_type list all data types
-r, --rtrn_type list rtrn type names
-e, --enum list enum names
-o, --other list other names
-h, --help usage
detail
Usage: nv_cli_napi_help_detail [options]
Options:
-f, --func show detail of function with func name
-d, --typedef show detail of typedef with typedef name
-e, --enum show detail of enum with enum name
-h, --help usage
search (multi)
Usage: nv_cli_napi_help_detail [options]
Options:
-f, --func search for func
-d, --typedef search for typedef
-e, --enum search for enum
-n, --name name regexp ptrn
-p, --param_ptrns some param regexp ptrns,ordered ,no-need continuous
-o, --of_ptrn struct OR func,only for typedef
-r, --rtrn_ptrn return regexp ptrn, only for func
-E, --extern is NAPI_EXTERN or NOT, only for func
-h, --help usage
show tac
Usage: nv_cli_napi_help_show_tac [options]
Options:
-h, --help show full big json
example
list
# nv_cli_napi_help_list -f | egrep coer
'napi_coerce_to_object',
'napi_coerce_to_bool',
'napi_coerce_to_number',
'napi_coerce_to_string',
#
detail (must exact match the name)
# nv_cli_napi_help_detail -f napi_coerce_to_object
/*napi_status R = */ napi_coerce_to_object(env,value,result)
--typedef--
napi_coerce_to_object
-type func
paramd
env
-type napi_env
value
-type napi_value
result
-type napi_value*
rtrn
-type napi_status
===================
#
search (loose match )
nv-cli-napi-helper# nv_cli_napi_help_srch -f -n coer
/*napi_status R = */ napi_coerce_to_object(env,value,result)
--typedef--
napi_coerce_to_object
-type func
paramd
env
-type napi_env
value
-type napi_value
result
-type napi_value*
rtrn
-type napi_status
===================
/*napi_status R = */ napi_coerce_to_bool(env,value,result)
--typedef--
napi_coerce_to_bool
-type func
-alias as_bl
paramd
env
-type napi_env
value
-type napi_value
result
-type napi_value*
rtrn
-type napi_status
===================
/*napi_status R = */ napi_coerce_to_number(env,value,result)
--typedef--
napi_coerce_to_number
-type func
-alias as_num
paramd
env
-type napi_env
value
-type napi_value
result
-type napi_value*
rtrn
-type napi_status
===================
/*napi_status R = */ napi_coerce_to_string(env,value,result)
--typedef--
napi_coerce_to_string
-type func
-alias as_str
paramd
env
-type napi_env
value
-type napi_value
result
-type napi_value*
rtrn
-type napi_status
===================
using param multi ptrn match
nv-string-basic# nv_cli_napi_help_srch -f -p o key key key
/*napi_status R = */ napi_get_all_property_names(env,object,key_mode,key_filter,key_conversion,result)
--typedef--
napi_get_all_property_names
-type func
paramd
env
-type napi_env
object
-type napi_value
key_mode
-type napi_key_collection_mode
key_filter
-type napi_key_filter
key_conversion
-type napi_key_conversion
result
-type napi_value*
rtrn
-type napi_status
===================
nv-string-basic#
nv-cli-napi-helper# nv_cli_napi_help_srch -f -p obj k
/*napi_status R = */ napi_get_all_property_names(env,object,key_mode,key_filter,key_conversion,result)
--typedef--
napi_get_all_property_names
-type func
paramd
env
-type napi_env
object
-type napi_value
key_mode
-type napi_key_collection_mode
key_filter
-type napi_key_filter
key_conversion
-type napi_key_conversion
result
-type napi_value*
rtrn
-type napi_status
===================
/*napi_status R = */ napi_set_property(env,object,key,value)
--typedef--
napi_set_property
-type func
paramd
env
-type napi_env
object
-type napi_value
key
-type napi_value
value
-type napi_value
rtrn
-type napi_status
===================
/*napi_status R = */ napi_has_property(env,object,key,result)
--typedef--
napi_has_property
-type func
paramd
env
-type napi_env
object
-type napi_value
key
-type napi_value
result
-type bool*
rtrn
-type napi_status
===================
/*napi_status R = */ napi_delete_property(env,object,key,result)
--typedef--
napi_delete_property
-type func
paramd
env
-type napi_env
object
-type napi_value
key
-type napi_value
result
-type bool*
rtrn
-type napi_status
===================
/*napi_status R = */ napi_has_own_property(env,object,key,result)
--typedef--
napi_has_own_property
-type func
paramd
env
-type napi_env
object
-type napi_value
key
-type napi_value
result
-type bool*
rtrn
-type napi_status
===================
/*napi_status R = */ napi_open_callback_scope(env,resource_object,context,result)
--typedef--
napi_open_callback_scope
-type func
-attr NAPI_EXTERN
paramd
env
-type napi_env
resource_object
-type napi_value
context
-type napi_async_context
result
-type napi_callback_scope*
rtrn
-type napi_status
===================
APIS
x.ALL x.ENUMS x.ENUM_NAMES x.EXTERN_FUNCS
x.EXTERN_FUNC_NAMES x.FUNCS x.FUNC_NAMES x.FUNC_TYPDEFS
x.FUNC_TYPDEF_NAMES x.INTERN_FUNC_NAMES x.OTHERS x.OTHER_NAMES
x.STRUCT_TYPDEFS x.STRUCT_TYPDEF_NAMES x.TAC x.TYPDEFS
x.TYPDEF_NAMES x.TYP_ARY x.TYP_MD x.TYP_NAME_ARY
x.call_func x.get_type x.get_type_name x.list_enum_name
x.list_extern_func_name x.list_func_name x.list_func_typdef_name x.list_intern_func_name
x.list_other_name x.list_struct_typdef_name x.list_typdef_name x.list_type
x.list_type_name x.show_enum x.show_func x.show_func_typdef
x.show_struct_typdef x.show_tac x.show_typdef x.srch_enum
x.srch_func x.srch_typdef
LICENSE
- ISC