From 90e6cb94e9c9a4d055a0983c9c7386daa48f61f9 Mon Sep 17 00:00:00 2001
From: HelenHuang <LinHuang@pollex.com.tw>
Date: 星期四, 09 六月 2022 15:45:03 +0800
Subject: [PATCH] TODO#139893 [ FAQ 常見問題 -我進行預約後,顧問會用甚麼方式聯繫我? ] 文案調整

---
 PAMapp/node_modules/uglify-js/lib/parse.js |   66 +++++++++++++++++++++------------
 1 files changed, 42 insertions(+), 24 deletions(-)

diff --git a/PAMapp/node_modules/uglify-js/lib/parse.js b/PAMapp/node_modules/uglify-js/lib/parse.js
index a80fcaf..6071029 100644
--- a/PAMapp/node_modules/uglify-js/lib/parse.js
+++ b/PAMapp/node_modules/uglify-js/lib/parse.js
@@ -44,10 +44,10 @@
 
 "use strict";
 
-var KEYWORDS = "break case catch class const continue debugger default delete do else extends finally for function if in instanceof let new return switch throw try typeof var void while with";
+var KEYWORDS = "break case catch class const continue debugger default delete do else extends finally for function if in instanceof new return switch throw try typeof var void while with";
 var KEYWORDS_ATOM = "false null true";
 var RESERVED_WORDS = [
-    "abstract async await boolean byte char double enum export final float goto implements import int interface long native package private protected public short static super synchronized this throws transient volatile yield",
+    "abstract async await boolean byte char double enum export final float goto implements import int interface let long native package private protected public short static super synchronized this throws transient volatile yield",
     KEYWORDS_ATOM,
     KEYWORDS,
 ].join(" ");
@@ -242,10 +242,10 @@
         read_template   : with_eof_error("Unterminated template literal", function(strings) {
             var s = "";
             for (;;) {
-                var ch = next(true, true);
+                var ch = read();
                 switch (ch) {
                   case "\\":
-                    ch += next(true, true);
+                    ch += read();
                     break;
                   case "`":
                     strings.push(s);
@@ -259,6 +259,11 @@
                     }
                 }
                 s += ch;
+            }
+
+            function read() {
+                var ch = next(true, true);
+                return ch == "\r" ? "\n" : ch;
             }
         }),
     };
@@ -862,6 +867,15 @@
                     next();
                     return import_();
                 }
+                break;
+              case "let":
+                if (is_vardefs()) {
+                    next();
+                    var node = let_();
+                    semicolon();
+                    return node;
+                }
+                break;
               case "yield":
                 if (S.in_generator) return simple_statement();
                 break;
@@ -946,12 +960,6 @@
               case "if":
                 next();
                 return if_();
-
-              case "let":
-                next();
-                var node = let_();
-                semicolon();
-                return node;
 
               case "return":
                 if (S.in_function == 0 && !options.bare_returns)
@@ -1186,19 +1194,19 @@
     }
 
     function for_() {
-        var await = is("name", "await") && next();
+        var await_token = is("name", "await") && next();
         expect("(");
         var init = null;
-        if (await || !is("punc", ";")) {
+        if (await_token || !is("punc", ";")) {
             init = is("keyword", "const")
                 ? (next(), const_(true))
-                : is("keyword", "let")
+                : is("name", "let") && is_vardefs()
                 ? (next(), let_(true))
                 : is("keyword", "var")
                 ? (next(), var_(true))
                 : expression(true);
             var ctor;
-            if (await) {
+            if (await_token) {
                 expect_token("name", "of");
                 ctor = AST_ForAwaitOf;
             } else if (is("operator", "in")) {
@@ -1308,6 +1316,11 @@
         }
         if (node instanceof AST_SymbolFunarg) return node;
         if (node instanceof AST_SymbolRef) return new AST_SymbolFunarg(node);
+        if (node instanceof AST_Yield) return new AST_SymbolFunarg({
+            start: node.start,
+            name: "yield",
+            end: node.end,
+        });
         token_error(node.start, "Invalid arrow parameter");
     }
 
@@ -1535,12 +1548,18 @@
     }
 
     var export_decl = embed_tokens(function() {
-        if (is("name", "async")) {
+        if (is("name")) switch (S.token.value) {
+          case "async":
             next();
             expect_token("keyword", "function");
             if (!is("operator", "*")) return function_(AST_AsyncDefun);
             next();
             return function_(AST_AsyncGeneratorDefun);
+          case "let":
+            next();
+            var node = let_();
+            semicolon();
+            return node;
         } else if (is("keyword")) switch (S.token.value) {
           case "class":
             next();
@@ -1555,11 +1574,6 @@
             if (!is("operator", "*")) return function_(AST_Defun);
             next();
             return function_(AST_GeneratorDefun);
-          case "let":
-            next();
-            var node = let_();
-            semicolon();
-            return node;
           case "var":
             next();
             var node = var_();
@@ -1718,6 +1732,11 @@
             next();
         }
         return a;
+    }
+
+    function is_vardefs() {
+        var token = peek();
+        return is_token(token, "name") || is_token(token, "punc", "[") || is_token(token, "punc", "{");
     }
 
     var const_ = function(no_in) {
@@ -2130,7 +2149,7 @@
     }
 
     function strict_verify_symbol(sym) {
-        if (sym.name == "arguments" || sym.name == "eval")
+        if (sym.name == "arguments" || sym.name == "eval" || sym.name == "let")
             token_error(sym.start, "Unexpected " + sym.name + " in strict mode");
     }
 
@@ -2297,9 +2316,8 @@
             var comments = start.comments_before;
             var i = HOP(start, "comments_before_length") ? start.comments_before_length : comments.length;
             while (--i >= 0) {
-                var match = /[@#]__PURE__/.exec(comments[i].value);
-                if (match) {
-                    expr.pure = match[0];
+                if (/[@#]__PURE__/.test(comments[i].value)) {
+                    expr.pure = true;
                     break;
                 }
             }

--
Gitblit v1.8.0