in Sources/Common/RangeHelper.swift [25:38]
func bky_rangeFromNSRange(_ nsRange: NSRange, forString string: String) -> Range<String.Index>? {
// Get the start/end indices within `string` based on `nsRange`
if let fromUTF16 = string.utf16.index(string.utf16.startIndex,
offsetBy: nsRange.location, limitedBy: string.utf16.endIndex),
let toUTF16 = string.utf16.index(fromUTF16,
offsetBy: nsRange.length, limitedBy: string.utf16.endIndex),
let from = String.Index(fromUTF16, within: string),
let to = String.Index(toUTF16, within: string)
{
return from ..< to
}
return nil
}