toSize property
Interprets a string in various ways and transforms it into a Size
object.
Returns a Size
object.
Implementation
Size get toSize {
var text = this;
text = text.replaceMany(["px", ";", ":"], " ").toLowerCase().trimAll;
text = text.replaceMany(["largura", "width", "a "], "w ");
text = text.replaceMany(["altura", "height", "l "], "h ");
try {
if (text.isNumber) {
return Size(text.trimAll.toDoubleOrZero, text.trimAll.toDoubleOrZero);
} else if (text.isLike("width*") && !text.isLike("*height*")) {
return Size(text.after("width").trimAll.toDoubleOrZero, text.after("width").trimAll.toDoubleOrZero);
} else if (text.isLike("height*") && !text.isLike("*width*")) {
return Size(text.after("height").trimAll.toDoubleOrZero, text.after("height").trimAll.toDoubleOrZero);
} else if (text.isLike("w*") && !text.isLike("*h*")) {
return Size(text.after("w").trimAll.toDoubleOrZero, text.after("w").trimAll.toDoubleOrZero);
} else if (text.isLike("h*") && !text.isLike("*w*")) {
return Size(text.after("h").trimAll.toDoubleOrZero, text.after("h").trimAll.toDoubleOrZero);
} else if (text.isLike("width*height*")) {
return Size(text.between("width", "height").trimAll.toDoubleOrZero, text.after("height").trimAll.toDoubleOrZero);
} else if (text.isLike("height*width*")) {
return Size(text.between("height", "width").trimAll.toDoubleOrZero, text.after("width").trimAll.toDoubleOrZero);
} else if (text.isLike("w*h*")) {
return Size(text.between("w", "h").trimAll.toDoubleOrZero, text.after("h").trimAll.toDoubleOrZero);
} else if (text.isLike("h*w*")) {
return Size(text.between("h", "w").trimAll.toDoubleOrZero, text.after("w").trimAll.toDoubleOrZero);
} else if (text.isLike("*x*")) {
return Size(text.split("x").first.trimAll.toDoubleOrZero, text.split("x").last.trimAll.toDoubleOrZero);
} else if (text.isLike("*by*")) {
return Size(text.split("by").first.trimAll.toDoubleOrZero, text.split("by").last.trimAll.toDoubleOrZero);
} else if (text.isLike("*por*")) {
return Size(text.split("por").first.trimAll.toDoubleOrZero, text.split("por").last.trimAll.toDoubleOrZero);
} else if (text.isLike("*,*")) {
return Size(text.split(",").first.trimAll.toDoubleOrZero, text.split(",").last.toDoubleOrZero);
} else if (text.isLike("*-*")) {
return Size(text.split("-").first.trimAll.toDoubleOrZero, text.split("-").last.trimAll.toDoubleOrZero);
} else if (text.isLike("*_*")) {
return Size(text.split("_").first.trimAll.toDoubleOrZero, text.split("_").last.trimAll.toDoubleOrZero);
} else if (text.isLike("*:*")) {
return Size(text.split(":").first.trimAll.toDoubleOrZero, text.split(":").last.trimAll.toDoubleOrZero);
} else {
return Size(text.split(" ").first.trimAll.toDoubleOrZero, text.split(" ").last.trimAll.toDoubleOrZero);
}
} catch (e) {
return Size.zero;
}
}