void EscValue::MapSet(EscValue key, EscValue value) { LTIMING("MapSet"); if(IsVoid()) SetEmptyMap(); VectorMap<EscValue, EscValue>& m = CloneMap(); int q = m.Find(key); if(q >= 0) { if(value.IsVoid()) { m.Unlink(q); map->count--; } else m[q] = value; } else if(!value.IsVoid()) { map->count++; m.Add(key, value); } }
Color ColorEsc(EscValue v) { return v.IsVoid() ? Color(Null) : Color(v.GetFieldInt("r"), v.GetFieldInt("g"), v.GetFieldInt("b")); }