Value StdValueFromEsc(const EscValue& v) { if(v.IsNumber()) return v.GetNumber(); if(v.IsArray()) return (WString)v; if(IsTime(v)) return Time(v.GetFieldInt("year"), v.GetFieldInt("month"), v.GetFieldInt("day"), v.GetFieldInt("hour"), v.GetFieldInt("minute"), v.GetFieldInt("second")); if(IsDate(v)) return Date(v.GetFieldInt("year"), v.GetFieldInt("month"), v.GetFieldInt("day")); return Value(); }
Point PointEsc(EscValue v) { return Point(v.GetFieldInt("x"), v.GetFieldInt("y")); }
Rect RectEsc(EscValue v) { return Rect(v.GetFieldInt("left"), v.GetFieldInt("top"), v.GetFieldInt("right"), v.GetFieldInt("bottom")); }
Size SizeEsc(EscValue v) { return Size(v.GetFieldInt("cx"), v.GetFieldInt("cy")); }
Color ColorEsc(EscValue v) { return v.IsVoid() ? Color(Null) : Color(v.GetFieldInt("r"), v.GetFieldInt("g"), v.GetFieldInt("b")); }