mirror of
https://github.com/chenasraf/mudblock.git
synced 2026-05-18 01:48:57 +00:00
34 lines
463 B
Dart
34 lines
463 B
Dart
import 'interfaces.dart';
|
|
|
|
class StringReader implements IReader<String> {
|
|
final String input;
|
|
|
|
@override
|
|
int index = 0;
|
|
|
|
StringReader(this.input);
|
|
|
|
@override
|
|
int get length => input.length;
|
|
|
|
@override
|
|
bool get isDone => index >= length;
|
|
|
|
@override
|
|
String? peek() {
|
|
if (isDone) {
|
|
return null;
|
|
}
|
|
return input[index];
|
|
}
|
|
|
|
@override
|
|
String? read() {
|
|
if (isDone) {
|
|
return null;
|
|
}
|
|
return input[index++];
|
|
}
|
|
}
|
|
|