Я запускаю некоторый код, который вводится пользователем в JSContext
, и оцениваю его.Я хотел бы иметь возможность получить тип оцениваемого результата.Я попробовал несколько вещей (см. Ниже), но это не похоже на работу.Любые предложения о том, как это сделать?Очень бы не хотелось разбирать строку и пытаться классифицировать ее таким образом, потому что я допускаю сложные структуры, например, array.length
будет Int
, а не Array
, поэтому потребуется совсем немного кода.
let context = JSContext()!
let ans = context.evaluateScript(value) // need type for this
if let typeCheck = ans as? String {
// always fails
}
let y = "1"
print(x is Int) // false
print(type(of: y) == type(of: 1)) // false