Implement asInteger, asUint32 and asInt32 jerry api methods (#4325)

JerryScript-DCO-1.0-Signed-off-by: bence gabor kis kisbg@inf.u-szeged.hu
This commit is contained in:
kisbg
2020-11-18 07:37:56 +01:00
committed by GitHub
parent 5d916fb8d4
commit 7de7c2168e
4 changed files with 304 additions and 0 deletions
+86
View File
@@ -3777,6 +3777,92 @@ jerry_value_to_bigint (const jerry_value_t value);
- [jerry_value_is_bigint](#jerry_value_is_bigint)
- [jerry_get_bigint_digits](#jerry_get_bigint_digits)
## jerry_value_as_integer
**Summary**
Convert any number to integer number. Returns 0 if value is not number.
Based on ECMA 262 v11 7.1.5
**Prototype**
```c
double
jerry_value_as_integer (const jerry_value_t value);
```
- `value` - api value
- return
- 0, if value is not a number
- integer representation of the number, otherwise
**Example**
```c
{
jerry_value_t number_val = jerry_create_number (123321);
double number = jerry_value_as_integer (number_val);
jerry_release_value (number_val);
}
```
## jerry_value_as_int32
**Summary**
Convert any number to int32 number. Returns 0 if value is not number.
Based on ECMA 262 v11 7.1.6
**Prototype**
```c
int32_t
jerry_value_as_int32 (const jerry_value_t value);
```
- `value` - api value
- return
- 0, if value is not a number
- int32 representation of the number, otherwise
**Example**
```c
{
jerry_value_t number_val = jerry_create_number (123321);
int32_t number = jerry_value_as_int32 (number_val);
jerry_release_value (number_val);
}
```
## jerry_value_as_uint32
**Summary**
Convert any number to uint32 number. Returns 0 if value is not number.
Based on ECMA 262 v11 7.1.7
**Prototype**
```c
uint32_t
jerry_value_as_uint32 (const jerry_value_t value);
```
- `value` - api value
- return
- 0, if value is not a number
- uint32 representation of the number, otherwise
**Example**
```c
{
jerry_value_t number_val = jerry_create_number (123321);
uint32_t number = jerry_value_as_uint32 (number_val);
jerry_release_value (number_val);
}
```
# Functions for promise objects