code: func parseObject(parser *Parser, isConst bool) (*ast.ObjectValue, error) {
  	start := parser.Token.Start
  	if _, err := expect(parser, lexer.BRACE_L); err != nil {
  		return nil, err
  	}
  	fields := []*ast.ObjectField{}
  	for {
  		if skp, err := skip(parser, lexer.BRACE_R); err != nil {
  			return nil, err
  		} else if skp {
  			break
  		}
  		if field, err := parseObjectField(parser, isConst); err != nil {
  			return nil, err
  		} else {
  			fields = append(fields, field)
  		}
  	}
  	return ast.NewObjectValue(&ast.ObjectValue{
  		Fields: fields,
  		Loc:    loc(parser, start),
  	}), nil
  }
docs: /**
   * ObjectValue[Const] :
   *   - { }
   *   - { ObjectField[?Const]+ }
   */