From 38cc0a1d9b4b146af7110c681389378fd26761fa Mon Sep 17 00:00:00 2001 From: RblSb Date: Wed, 14 Aug 2024 19:54:25 +0300 Subject: Seamless reconnection for first 5 seconds --- src/utils/ArrayKeyValueReverseIterator.hx | 19 +++++++++++++++++++ src/utils/ArrayReverseIterator.hx | 19 +++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 src/utils/ArrayKeyValueReverseIterator.hx create mode 100644 src/utils/ArrayReverseIterator.hx (limited to 'src/utils') diff --git a/src/utils/ArrayKeyValueReverseIterator.hx b/src/utils/ArrayKeyValueReverseIterator.hx new file mode 100644 index 0000000..ad84e73 --- /dev/null +++ b/src/utils/ArrayKeyValueReverseIterator.hx @@ -0,0 +1,19 @@ +package utils; + +class ArrayKeyValueReverseIterator { + final arr:Array; + var i:Int; + + public inline function new(arr:Array) { + this.arr = arr; + this.i = this.arr.length - 1; + } + + public inline function hasNext() { + return i > -1; + } + + public inline function next() { + return {value: arr[i], key: i--}; + } +} diff --git a/src/utils/ArrayReverseIterator.hx b/src/utils/ArrayReverseIterator.hx new file mode 100644 index 0000000..9976c6a --- /dev/null +++ b/src/utils/ArrayReverseIterator.hx @@ -0,0 +1,19 @@ +package utils; + +class ArrayReverseIterator { + final arr:Array; + var i:Int; + + public inline function new(arr:Array) { + this.arr = arr; + this.i = this.arr.length - 1; + } + + public inline function hasNext() { + return i > -1; + } + + public inline function next() { + return arr[i--]; + } +} -- cgit v1.2.3