]> git.kaiwu.me - njs.git/commitdiff
Parser: fixed async token as a property name of an object.
authorDmitry Volyntsev <xeioex@nginx.com>
Tue, 13 Sep 2022 00:56:44 +0000 (17:56 -0700)
committerDmitry Volyntsev <xeioex@nginx.com>
Tue, 13 Sep 2022 00:56:44 +0000 (17:56 -0700)
This closes #575 issue on Github.

src/njs_parser.c
src/test/njs_unit_test.c

index 5b45da578581fc5805daa0c0f6e6c0d78519b1f0..0964895518b3c9899257f561f4d88934597be1fe 100644 (file)
@@ -1983,6 +1983,10 @@ njs_parser_property_definition(njs_parser_t *parser, njs_lexer_token_t *token,
                                     njs_parser_computed_property_async_after);
         }
 
+        if (token->type == NJS_TOKEN_COLON) {
+            return njs_parser_property_name(parser, current, 2);
+        }
+
         if (!njs_lexer_token_is_identifier_name(token)) {
             return njs_parser_failed(parser);
         }
index 085f96b5fc60ea3178e61fe8429f5a668708f48d..b42d0123a4d4da232b4526a57766128b57926113 100644 (file)
@@ -3883,8 +3883,8 @@ static njs_unit_test_t  njs_test[] =
                  "[f.length, delete f.length, f.length, delete f.length]"),
       njs_str("2,true,0,true") },
 
-    { njs_str("njs.dump({break:1,3:2,'a':4,\"b\":2,true:1,null:0})"),
-      njs_str("{break:1,3:2,a:4,b:2,true:1,null:0}") },
+    { njs_str("njs.dump({break:1,3:2,'a':4,\"b\":2,true:1,null:0,async:2})"),
+      njs_str("{break:1,3:2,a:4,b:2,true:1,null:0,async:2}") },
 
     { njs_str("var o1 = {a:1,b:2}, o2 = {c:3}; o1.a + o2.c"),
       njs_str("4") },