|
@@ -260,6 +260,26 @@ function Observable:dump(name, formatter)
|
|
|
return self:subscribe(onNext, onError, onCompleted)
|
|
|
end
|
|
|
|
|
|
+--- Creates an Observable that produces values from a file, line by line.
|
|
|
+-- @arg {string} filename - The name of the file used to create the Observable
|
|
|
+-- @returns {Observable}
|
|
|
+function Observable.fromFileByLine(filename)
|
|
|
+ return Observable.create(function(observer)
|
|
|
+ local f = io.open(filename, "rb")
|
|
|
+ if f
|
|
|
+ then
|
|
|
+ f:close()
|
|
|
+ for line in io.lines(filename) do
|
|
|
+ observer:onNext(line)
|
|
|
+ end
|
|
|
+
|
|
|
+ return observer:onCompleted()
|
|
|
+ else
|
|
|
+ return observer:onError(filename)
|
|
|
+ end
|
|
|
+ end)
|
|
|
+end
|
|
|
+
|
|
|
--- Determine whether all items emitted by an Observable meet some criteria.
|
|
|
-- @arg {function=identity} predicate - The predicate used to evaluate objects.
|
|
|
function Observable:all(predicate)
|
|
@@ -2200,4 +2220,4 @@ return {
|
|
|
AsyncSubject = AsyncSubject,
|
|
|
BehaviorSubject = BehaviorSubject,
|
|
|
ReplaySubject = ReplaySubject
|
|
|
-}
|
|
|
+}
|