From fc8b701ef2511848a0854020b1575882a8ad26b7 Mon Sep 17 00:00:00 2001
From: Jaeger <JaegerCode@gmail.com>
Date: Sun, 15 Mar 2020 13:44:22 +0800
Subject: [PATCH] feat: optimize range results

---
 src/Dom/Query.php | 20 ++++++++------------
 1 file changed, 8 insertions(+), 12 deletions(-)

diff --git a/src/Dom/Query.php b/src/Dom/Query.php
index 06616de..4283756 100644
--- a/src/Dom/Query.php
+++ b/src/Dom/Query.php
@@ -145,7 +145,13 @@ class Query
     protected function getList()
     {
         $data = [];
-        if (!empty($this->range)) {
+        if (empty($this->range)) {
+            foreach ($this->rules as $key => $reg_value){
+                $rule = $this->parseRule($reg_value);
+                $contentElements = $this->document->find($rule['selector']);
+                $data[$key] = $this->extractContent($contentElements, $key, $rule);
+            }
+        } else {
             $rangeElements  = $this->document->find($this->range);
             $i = 0;
             foreach ($rangeElements as $element) {
@@ -156,16 +162,6 @@ class Query
                 }
                 $i++;
             }
-        } else {
-            foreach ($this->rules as $key => $reg_value){
-                $rule = $this->parseRule($reg_value);
-                $contentElements = $this->document->find($rule['selector']);
-                $i = 0;
-                foreach ($contentElements as $element) {
-                    $data[$i][$key] = $this->extractContent(pq($element), $key, $rule);
-                    $i++;
-                }
-            }
         }
 
         return collect($data);
@@ -203,7 +199,7 @@ class Query
                 break;
         }
 
-        if($rule['handle_callback']){
+        if(is_callable($rule['handle_callback'])){
             $content = call_user_func($rule['handle_callback'], $content, $ruleName);
         }