add transform functions for integer in jerryx/arg (#1883)
JerryScript-DCO-1.0-Signed-off-by: Zidong Jiang zidong.jiang@intel.com
This commit is contained in:
@@ -122,6 +122,42 @@ Enum that indicates whether an argument is optional or required.
|
||||
- [jerryx_arg_function](#jerryx_arg_function)
|
||||
- [jerryx_arg_native_pointer](#jerryx_arg_native_pointer)
|
||||
|
||||
## jerryx_arg_round_t
|
||||
|
||||
Enum that indicates the rounding policy which will be chosen to transform an integer.
|
||||
|
||||
- JERRYX_ARG_ROUND - use round() method.
|
||||
- JERRYX_ARG_FLOOR - use floor() method.
|
||||
- JERRYX_ARG_CEIL - use ceil() method.
|
||||
|
||||
**See also**
|
||||
|
||||
- [jerryx_arg_uint8](#jerryx_arg_uint8)
|
||||
- [jerryx_arg_uint16](#jerryx_arg_uint16)
|
||||
- [jerryx_arg_uint32](#jerryx_arg_uint32)
|
||||
- [jerryx_arg_int8](#jerryx_arg_int8)
|
||||
- [jerryx_arg_int16](#jerryx_arg_int16)
|
||||
- [jerryx_arg_int32](#jerryx_arg_int32)
|
||||
|
||||
|
||||
## jerryx_arg_clamp_t
|
||||
|
||||
Indicates the clamping policy which will be chosen to transform an integer.
|
||||
If the policy is NO_CLAMP, and the number is out of range,
|
||||
then the transformer will throw a range error.
|
||||
|
||||
- JERRYX_ARG_CLAMP - clamp the number when it is out of range
|
||||
- JERRYX_ARG_NO_CLAMP - throw a range error
|
||||
|
||||
**See also**
|
||||
|
||||
- [jerryx_arg_uint8](#jerryx_arg_uint8)
|
||||
- [jerryx_arg_uint16](#jerryx_arg_uint16)
|
||||
- [jerryx_arg_uint32](#jerryx_arg_uint32)
|
||||
- [jerryx_arg_int8](#jerryx_arg_int8)
|
||||
- [jerryx_arg_int16](#jerryx_arg_int16)
|
||||
- [jerryx_arg_int32](#jerryx_arg_int32)
|
||||
|
||||
# Main functions
|
||||
|
||||
## jerryx_arg_transform_this_and_args
|
||||
@@ -270,6 +306,49 @@ jerryx_arg_transform_object_properties (const jerry_value_t obj_val,
|
||||
|
||||
# Helpers for commonly used validations
|
||||
|
||||
## jerryx_arg_uint8
|
||||
|
||||
## jerryx_arg_uint16
|
||||
|
||||
## jerryx_arg_uint32
|
||||
|
||||
## jerryx_arg_int8
|
||||
|
||||
## jerryx_arg_int16
|
||||
|
||||
## jerryx_arg_int32
|
||||
|
||||
**Summary**
|
||||
|
||||
All above jerryx_arg_[u]intX functions are used to create a validation/transformation step
|
||||
(`jerryx_arg_t`) that expects to consume one `number` JS argument
|
||||
and stores it into a C integer (uint8, int8, uint16, ...)
|
||||
|
||||
**Prototype**
|
||||
|
||||
Take jerryx_arg_int32 as an example
|
||||
|
||||
```c
|
||||
static inline jerryx_arg_t
|
||||
jerryx_arg_int32 (int32_t *dest,
|
||||
jerryx_arg_round_t round_flag,
|
||||
jerryx_arg_clamp_t clamp_flag,
|
||||
jerryx_arg_coerce_t coerce_flag,
|
||||
jerryx_arg_optional_t opt_flag);
|
||||
```
|
||||
|
||||
- return value - the created `jerryx_arg_t` instance.
|
||||
- `dest` - pointer to the `int32_t` where the result should be stored.
|
||||
- `round_flag` - the rounding policy.
|
||||
- `clamp_flag` - the clamping policy.
|
||||
- `coerce_flag` - whether type coercion is allowed.
|
||||
- `opt_flag` - whether the argument is optional.
|
||||
|
||||
**See also**
|
||||
|
||||
- [jerryx_arg_transform_this_and_args](#jerryx_arg_transform_this_and_args)
|
||||
|
||||
|
||||
## jerryx_arg_number
|
||||
|
||||
**Summary**
|
||||
|
||||
Reference in New Issue
Block a user