{
const njs_value_t *name;
- static const njs_value_t *class_name[] = {
+ static const njs_value_t *class_name[NJS_TYPE_MAX] = {
/* Primitives. */
&njs_object_null_string,
&njs_object_undefined_string,
/* ECMAScript 5.1: null, array and regexp are objects. */
- static const njs_value_t *types[] = {
+ static const njs_value_t *types[NJS_TYPE_MAX] = {
&njs_string_object,
&njs_string_void,
&njs_string_boolean,
&njs_string_object,
&njs_string_object,
&njs_string_object,
+ &njs_string_object,
};
/* A zero index means non-declared variable. */
NJS_OBJECT_TYPE_ERROR = 0x1e,
NJS_OBJECT_URI_ERROR = 0x1f,
NJS_OBJECT_VALUE = 0x20,
+#define NJS_TYPE_MAX (NJS_OBJECT_VALUE + 1)
} njs_value_type_t;
"h.update('A').digest('hex'); h.update('B')"),
nxt_string("Error: Digest already called") },
- /* require('crypto').createHash() */
+ { nxt_string("typeof require('crypto').createHash('md5')"),
+ nxt_string("object") },
+
+ /* require('crypto').createHmac() */
{ nxt_string("require('crypto').createHmac('sha1', '')"),
nxt_string("[object Hmac]") },
"h.update('A').digest('hex'); h.update('B')"),
nxt_string("Error: Digest already called") },
+ { nxt_string("typeof require('crypto').createHmac('md5', 'a')"),
+ nxt_string("object") },
+
/* setTimeout(). */
{ nxt_string("setTimeout()"),