Skip to content

Commit 6554254

Browse files
committed
Add conversion API functions
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
1 parent 8e85042 commit 6554254

File tree

2 files changed

+55
-0
lines changed

2 files changed

+55
-0
lines changed

jerry-core/jerry-api.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,9 @@ jerry_object_t *jerry_get_object_value (const jerry_value_t);
140140
/**
141141
* Converters of 'jerry_value_t'
142142
*/
143+
bool jerry_value_to_boolean (const jerry_value_t);
144+
jerry_value_t jerry_value_to_number (const jerry_value_t);
145+
jerry_value_t jerry_value_to_object (const jerry_value_t);
143146
jerry_value_t jerry_value_to_string (const jerry_value_t);
144147

145148
/**

jerry-core/jerry.c

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2059,9 +2059,61 @@ jerry_exec_snapshot (const void *snapshot_p, /**< snapshot */
20592059
#endif /* JERRY_ENABLE_SNAPSHOT_EXEC */
20602060
} /* jerry_exec_snapshot */
20612061

2062+
/**
2063+
* Call ToBoolean operation on the api value.
2064+
*
2065+
* @return true - if the logical value is true
2066+
* false - otherwise
2067+
*/
2068+
bool
2069+
jerry_value_to_boolean (const jerry_value_t value) /**< input value */
2070+
{
2071+
jerry_assert_api_available ();
2072+
2073+
return ecma_op_to_boolean (value);
2074+
} /* jerry_value_to_boolean */
2075+
2076+
/**
2077+
* Call ToNumber operation on the api value.
2078+
*
2079+
* Note:
2080+
* - Can throw error, so return value should be checked with 'jerry_value_is_error'.
2081+
* - Return value must be freed with 'jerry_release_value'.
2082+
*
2083+
* @return number value
2084+
*/
2085+
jerry_value_t
2086+
jerry_value_to_number (const jerry_value_t value) /**< input value */
2087+
{
2088+
jerry_assert_api_available ();
2089+
2090+
return ecma_op_to_number (value);
2091+
} /* jerry_value_to_number */
2092+
2093+
/**
2094+
* Call ToObject operation on the api value.
2095+
*
2096+
* Note:
2097+
* - Can throw error, so return value should be checked with 'jerry_value_is_error'.
2098+
* - Return value must be freed with 'jerry_release_value'.
2099+
*
2100+
* @return object value
2101+
*/
2102+
jerry_value_t
2103+
jerry_value_to_object (const jerry_value_t value) /**< input value */
2104+
{
2105+
jerry_assert_api_available ();
2106+
2107+
return ecma_op_to_object (value);
2108+
} /* jerry_value_to_object */
2109+
20622110
/**
20632111
* Call the ToString ecma builtin operation on the api value.
20642112
*
2113+
* Note:
2114+
* - Can throw error, so return value should be checked with 'jerry_value_is_error'.
2115+
* - Return value must be freed with 'jerry_release_value'.
2116+
*
20652117
* @return string value
20662118
*/
20672119
jerry_value_t

0 commit comments

Comments
 (0)