Add conversion API functions

JerryScript-DCO-1.0-Signed-off-by: László Langó llango.u-szeged@partner.samsung.com
This commit is contained in:
László Langó 2016-06-15 15:10:57 +02:00
parent 8e8504244b
commit 65542549af
2 changed files with 55 additions and 0 deletions

View File

@ -140,6 +140,9 @@ jerry_object_t *jerry_get_object_value (const jerry_value_t);
/**
* Converters of 'jerry_value_t'
*/
bool jerry_value_to_boolean (const jerry_value_t);
jerry_value_t jerry_value_to_number (const jerry_value_t);
jerry_value_t jerry_value_to_object (const jerry_value_t);
jerry_value_t jerry_value_to_string (const jerry_value_t);
/**

View File

@ -2059,9 +2059,61 @@ jerry_exec_snapshot (const void *snapshot_p, /**< snapshot */
#endif /* JERRY_ENABLE_SNAPSHOT_EXEC */
} /* jerry_exec_snapshot */
/**
* Call ToBoolean operation on the api value.
*
* @return true - if the logical value is true
* false - otherwise
*/
bool
jerry_value_to_boolean (const jerry_value_t value) /**< input value */
{
jerry_assert_api_available ();
return ecma_op_to_boolean (value);
} /* jerry_value_to_boolean */
/**
* Call ToNumber operation on the api value.
*
* Note:
* - Can throw error, so return value should be checked with 'jerry_value_is_error'.
* - Return value must be freed with 'jerry_release_value'.
*
* @return number value
*/
jerry_value_t
jerry_value_to_number (const jerry_value_t value) /**< input value */
{
jerry_assert_api_available ();
return ecma_op_to_number (value);
} /* jerry_value_to_number */
/**
* Call ToObject operation on the api value.
*
* Note:
* - Can throw error, so return value should be checked with 'jerry_value_is_error'.
* - Return value must be freed with 'jerry_release_value'.
*
* @return object value
*/
jerry_value_t
jerry_value_to_object (const jerry_value_t value) /**< input value */
{
jerry_assert_api_available ();
return ecma_op_to_object (value);
} /* jerry_value_to_object */
/**
* Call the ToString ecma builtin operation on the api value.
*
* Note:
* - Can throw error, so return value should be checked with 'jerry_value_is_error'.
* - Return value must be freed with 'jerry_release_value'.
*
* @return string value
*/
jerry_value_t