static njs_webcrypto_key_format_t
njs_key_format(njs_vm_t *vm, njs_value_t *value, njs_str_t *format)
{
- njs_int_t ret;
- njs_uint_t fmt;
+ njs_int_t ret;
+ njs_uint_t fmt;
+ njs_value_t string;
static const struct {
njs_str_t name;
{ njs_str("jwk"), NJS_KEY_FORMAT_JWK },
};
- ret = njs_value_to_string(vm, value, value);
+ ret = njs_value_to_string(vm, &string, value);
if (njs_slow_path(ret != NJS_OK)) {
return NJS_ERROR;
}
- njs_string_get(value, format);
+ njs_string_get(&string, format);
fmt = 0;
int32_t radix;
njs_int_t ret;
njs_bool_t minus, test_prefix;
- njs_value_t *value;
+ njs_value_t *value, lvalue;
const u_char *p, *end;
njs_string_prop_t string;
num = NAN;
- value = njs_arg(args, nargs, 1);
+ value = njs_lvalue_arg(&lvalue, args, nargs, 1);
ret = njs_value_to_string(vm, value, value);
if (njs_slow_path(ret != NJS_OK)) {
njs_index_t unused)
{
njs_int_t ret;
- njs_value_t *value;
+ njs_value_t *value, lvalue;
- value = njs_arg(args, nargs, 1);
+ value = njs_lvalue_arg(&lvalue, args, nargs, 1);
ret = njs_value_to_string(vm, value, value);
if (njs_slow_path(ret != NJS_OK)) {
{
uint64_t key;
njs_int_t ret;
- njs_value_t *value;
+ njs_value_t *value, lvalue;
njs_rbtree_node_t *rb_node;
njs_rb_symbol_node_t *node;
- value = njs_arg(args, nargs, 1);
+ value = njs_lvalue_arg(&lvalue, args, nargs, 1);
if (njs_slow_path(!njs_is_string(value))) {
ret = njs_value_to_string(vm, value, value);
{ njs_str("Symbol.for({toString: () => 'desc'}).description"),
njs_str("desc") },
+ { njs_str("Symbol.for().toString()"),
+ njs_str("Symbol(undefined)") },
+
{ njs_str("Symbol.for('desc') === Symbol.for('desc')"),
njs_str("true") },
{ njs_str("parseInt.length"),
njs_str("2") },
+ { njs_str("parseInt()"),
+ njs_str("NaN") },
+
{ njs_str("parseInt('12345abc')"),
njs_str("12345") },
{ njs_str("parseFloat('12345abc')"),
njs_str("12345") },
+ { njs_str("parseFloat()"),
+ njs_str("NaN") },
+
{ njs_str("parseFloat('')"),
njs_str("NaN") },