Simplification step 1. One last piece of gunk to clear out.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
This commit is contained in:
parent
09469628e3
commit
379b3d576c
|
@ -57,28 +57,17 @@ extension Data {
|
||||||
}
|
}
|
||||||
|
|
||||||
func lastIndex(of data: Data) -> Index? {
|
func lastIndex(of data: Data) -> Index? {
|
||||||
var lastIndexOfData: Index? = index(of: data)
|
return lastIndex(of: data, from: self.startIndex)
|
||||||
while lastIndexOfData != nil {
|
|
||||||
guard let currentIndexOfData = index(
|
|
||||||
of: data,
|
|
||||||
from: self.index(after: lastIndexOfData!)
|
|
||||||
) else {
|
|
||||||
return lastIndexOfData
|
|
||||||
}
|
|
||||||
lastIndexOfData = currentIndexOfData
|
|
||||||
}
|
|
||||||
return lastIndexOfData
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func lastIndex(of data: Data, from: Index) -> Index? {
|
func lastIndex(of data: Data, from: Index) -> Index? {
|
||||||
var lastIndexOfData: Index? = from
|
var lastIndexOfData: Index? = from
|
||||||
while lastIndexOfData != nil {
|
while lastIndexOfData != nil {
|
||||||
if !self.indices.contains(self.index(after: lastIndexOfData!)) {
|
let upcomingIndex = self.index(after: lastIndexOfData!)
|
||||||
return nil
|
if !self.indices.contains(upcomingIndex) { return lastIndexOfData == from ? nil : lastIndexOfData }
|
||||||
}
|
|
||||||
guard let currentIndexOfData = index(
|
guard let currentIndexOfData = index(
|
||||||
of: data,
|
of: data,
|
||||||
from: self.index(after: lastIndexOfData!)
|
from: upcomingIndex
|
||||||
) else {
|
) else {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue