Files
hank/hank-godot/scripts/Extensions.gd
Nat Quayle Nelson 8caad092be
Some checks failed
/ test (push) Failing after 8s
Generate GDScript
2025-10-30 19:19:36 -05:00

65 lines
1.3 KiB
GDScript

class_name Extensions
func _init() -> void:
pass
static func unwrap(o: Variant):
match (o._index):
0:
var _g = o.v
var value = _g
return value
1:
assert(false, str("Tried to unwrap a None value."))
static func toIterable(i) -> Variant:
return {
"iterator": i
}
static func tokenize(s: String) -> Array[String]:
var tokenStartIndices: Array[int] = ([] as Array[int])
var whitespaceIndices: Array[Variant] = ([] as Array[Variant])
var lastWasChar: bool = false
s = StringTools.trim(s)
if true:
var _g: int = 0
var _g1: int = s.length()
while (_g < _g1):
var tempNumber
if true:
_g += 1
tempNumber = _g - 1
var i: int = tempNumber
if (StringTools.isSpace(s, i)):
lastWasChar = false
if (lastWasChar):
whitespaceIndices.push_back(i)
else:
if (!lastWasChar):
tokenStartIndices.push_back(i)
lastWasChar = true
whitespaceIndices.push_back(null)
var tempResult
if true:
var _g: Array[String] = ([] as Array[String])
if true:
var _g1: int = 0
var _g2: int = tokenStartIndices.size()
while (_g1 < _g2):
var tempNumber1
if true:
_g1 += 1
tempNumber1 = _g1 - 1
var i: int = tempNumber1
_g.push_back(s.substr(tokenStartIndices[i], whitespaceIndices[i]))
tempResult = _g
return tempResult