Explorar o código

Fix Observable.reduce;

bjorn %!s(int64=9) %!d(string=hai) anos
pai
achega
4c7eb354cc
Modificáronse 1 ficheiros con 8 adicións e 3 borrados
  1. 8 3
      rx.lua

+ 8 - 3
rx.lua

@@ -540,11 +540,16 @@ end
 -- @returns {Observable}
 function Observable:reduce(accumulator, seed)
   return Observable.create(function(observer)
-    local result
+    local result = seed
+    local first = true
 
     local function onNext(...)
-      result = result or seed or (...)
-      result = accumulator(result, ...)
+      if first and seed == nil then
+        result = ...
+        first = false
+      else
+        result = accumulator(result, ...)
+      end
     end
 
     local function onError(e)