If a charset parameter is specified, then map it to the Charset
instance, otherwise return Charset.utf8
.
Return a negative integer, zero, or a positive integer if this object is less than, equal to, or greater than the specified object:
this < that => <0
this == that => 0
this > that => >0
This method may also be accessed via the <
<=
<=>
>=
and >
shortcut operators. If not overridden the default
implementation compares the toStr
representations. Also see docLang.
Examples:
3.compare(8) => -1
8.compare(3) => 1
8.compare(8) => 0
3 <=> 8 => -1 // shortcut for 3.compare(8)
Equality is based on the case insensitive mediaType and subType, and params (keys are case insensitive and values are case sensitive).
Hash code is derived from the mediaType, subType, and params hashes.
Return if this mime type is known to be text. This includes all "text/*" mime types along with special cases like "application/json".
The primary media type always in lowercase:
text/html => text
Return an instance with this mediaType and subType, but strip any parameters.
Additional parameters stored in case-insensitive map. If no parameters, then this is an empty map.
text/html; charset=utf-8 => [charset:utf-8]
text/html; charset="utf-8" => [charset:utf-8]
The subtype always in lowercase:
text/html => html
Get an immutable representation of this instance or throw NotImmutableErr if this object cannot be represented as an immutable:
Encode as a MIME message according to RFC 822. This is always the exact same string passed to fromStr.
Trap a dynamic call for handling. Dynamic calls are invoked with the -> shortcut operator:
a->x a.trap("x", null)
a->x() a.trap("x", null)
a->x = b a.trap("x", [b])
a->x(b) a.trap("x", [b])
a->x(b, c) a.trap("x", [b, c])
The default implementation provided by Obj attempts to use reflection. If name maps to a method, it is invoked with the specified arguments. If name maps to a field and args.size is zero, get the field. If name maps to a field and args.size is one, set the field and return args[0]. Otherwise throw UnknownSlotErr.
This method called whenever an it-block is applied to an
object. The default implementation calls the function with this
,
and then returns this
.
Static
echoWrite x.toStr
to standard output followed by newline. If x
is null then print "null". If no argument is provided then
print an empty line.
Optional
x: JsObjStatic
forMap a case insensitive file extension to a MimeType. This mapping is configured via "etc/sys/ext2mime.props". If no mapping is available return null.
Static
fromParse from string format. If invalid format and checked is false return null, otherwise throw ParseErr. Parenthesis comments are treated as part of the value.
Optional
checked: booleanStatic
parseParse a set of attribute-value parameters where the values may be tokens or quoted-strings. The resulting map is case insensitive. If invalid format return null or raise ParseErr based on checked flag. Parenthesis comments are not supported. If a value pair is missing "= value", then the value is defaulted to "".
Examples:
a=b; c="d" => ["a":"b", "c"="d"]
foo=bar; secure => ["foo":"bar", "secure":""]
Optional
checked: boolean
MimeType represents the parsed value of a Content-Type header per RFC 2045 section 5.1.