code: function parseClassPattern (inp) {
      var match = inp.takeAPeek(CLASS);
      if (match) {
        var name = match[0];
    
        // Object-like destructuring.
        var res = parseObject(inp);
        if (res) return nodeClass(name, res);
    
        // Array-like destructuring, but uses parens instead of brackets so we 
        // need to use a custom wrapper instead of reusing the array helper.
        res = wrapped("(", ")", parseRestPatterns, nodeArray, inp);
        if (res) return nodeClass(name, res);
    
        // Just a class name.
        return nodeClass(name);
      }
    }
docs: Parses class names and class destructuring. Classes can either be destructured with object-like matching or array-like matching. Object matching uses the curly-brace notation, while array matching uses paren notation (this differs from array literals which use brackets).