]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/io/streams/throwing/throwing.factor
Implement and document stream-peek
[factor.git] / basis / io / streams / throwing / throwing.factor
index 0b1f214d07de92c0fec8083e676c692e7cd74826..d66df6b4ee7b2c0d206b19cd619caaef67fc089d 100644 (file)
@@ -20,10 +20,18 @@ M:: throws-on-eof-stream stream-read1 ( stream -- obj )
     stream stream>> stream-read1
     [ 1 stream \ read1 stream-exhausted ] unless* ;
 
+M:: throws-on-eof-stream stream-peek1 ( stream -- obj )
+    stream stream>> stream-peek1
+    [ 1 stream \ peek1 stream-exhausted ] unless* ;
+
 M:: throws-on-eof-stream stream-read ( n stream -- seq )
     n stream stream>> stream-read
     dup length n = [ n stream \ read stream-exhausted ] unless ;
 
+M:: throws-on-eof-stream stream-peek ( n stream -- seq )
+    n stream stream>> stream-peek
+    dup length n = [ n stream \ peek stream-exhausted ] unless ;
+
 M:: throws-on-eof-stream stream-read-partial ( n stream -- seq )
     n stream stream>> stream-read-partial
     [ n stream \ read-partial stream-exhausted ] unless* ;