1+ import { OPERATIONS } from './utils' ;
2+
13export default function ScrollBuffer ( elementRoutines , bufferSize , startIndex ) {
24 const buffer = Object . create ( Array . prototype ) ;
35
@@ -19,7 +21,7 @@ export default function ScrollBuffer(elementRoutines, bufferSize, startIndex) {
1921 append ( items ) {
2022 items . forEach ( ( item ) => {
2123 ++ buffer . next ;
22- buffer . insert ( 'append' , item ) ;
24+ buffer . insert ( OPERATIONS . APPEND , item ) ;
2325 } ) ;
2426 buffer . maxIndex = buffer . eof ? buffer . next - 1 : Math . max ( buffer . next - 1 , buffer . maxIndex ) ;
2527 } ,
@@ -32,7 +34,7 @@ export default function ScrollBuffer(elementRoutines, bufferSize, startIndex) {
3234 else {
3335 -- buffer . first ;
3436 }
35- buffer . insert ( 'prepend' , item ) ;
37+ buffer . insert ( OPERATIONS . PREPEND , item ) ;
3638 } ) ;
3739 buffer . minIndex = buffer . bof ? buffer . minIndex = buffer . first : Math . min ( buffer . first , buffer . minIndex ) ;
3840 } ,
@@ -41,15 +43,15 @@ export default function ScrollBuffer(elementRoutines, bufferSize, startIndex) {
4143 * inserts wrapped element in the buffer
4244 * the first argument is either operation keyword (see below) or a number for operation 'insert'
4345 * for insert the number is the index for the buffer element the new one have to be inserted after
44- * operations: 'append', 'prepend', 'insert', 'remove', 'update', ' none'
46+ * operations: 'append', 'prepend', 'insert', 'remove', 'none'
4547 */
4648 insert ( operation , item , isTop ) {
4749 const wrapper = {
4850 item : item
4951 } ;
5052
51- if ( operation % 1 === 0 ) { // it is an insert
52- wrapper . op = 'insert' ;
53+ if ( operation % 1 === 0 ) { // it is an insert
54+ wrapper . op = OPERATIONS . INSERT ;
5355 buffer . splice ( operation , 0 , wrapper ) ;
5456 if ( isTop ) {
5557 buffer . first -- ;
@@ -60,10 +62,10 @@ export default function ScrollBuffer(elementRoutines, bufferSize, startIndex) {
6062 } else {
6163 wrapper . op = operation ;
6264 switch ( operation ) {
63- case 'append' :
65+ case OPERATIONS . APPEND :
6466 buffer . push ( wrapper ) ;
6567 break ;
66- case 'prepend' :
68+ case OPERATIONS . PREPEND :
6769 buffer . unshift ( wrapper ) ;
6870 break ;
6971 }
@@ -152,7 +154,7 @@ export default function ScrollBuffer(elementRoutines, bufferSize, startIndex) {
152154 } ,
153155
154156 getItems ( ) {
155- return buffer . filter ( item => item . op === 'none' ) ;
157+ return buffer . filter ( item => item . op === OPERATIONS . NONE ) ;
156158 } ,
157159
158160 getFirstItem ( ) {
0 commit comments