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)
Return the ending version if versionRange:
Optional
index: numberTwo Depends are equal if they have same normalized string representation.
Return a hash code based on the normalized string representation.
Return if the constraint at the specified index is a versionPlus:
Optional
index: numberReturn if the constraint at the specified index is a versionRange:
Optional
index: numberReturn if the constraint at the specified index is neither a plus nor a range:
Optional
index: numberReturn if the specified version is a match against this dependency's constraints. See class header for matching rules.
Get the pod name of the dependency.
Get the number of version constraints. There is always at least one constraint.
Get an immutable representation of this instance or throw NotImmutableErr if this object cannot be represented as an immutable:
Get the normalized string format of this dependency. Normalized dependency strings do not contain any optional spaces. See class header for specification of the format.
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.
Get the version constraint at specified index:
Optional
index: numberThis 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
fromParse the string accordingly into a dependency. See class header for specification of the format. If invalid format and checked is false return null, otherwise throw ParseErr.
Optional
checked: boolean
Depend models a dependency as a pod name and a version constraint. Convention for Fantom pods is a four part version format of
major.minor.build.patch
.The string format for Depend:
Note a simple version constraint such as "foo 1.2" really means "1.2.*" - it will match all build numbers and patch numbers within "1.2". Likewise "foo 1.2.64" will match all patch numbers within the "1.2.64" build. The "+" plus sign is used to specify a given version and anything greater. The "-" dash is used to specify an inclusive range. When using a range, the end version is matched using the same rules as a simple version - for example "4", "4.2", and "4.0.99" are all matches for "foo 1.2-4". You may specify a list of potential constraints separated by commas - a match for the entire dependency is made if any one constraint is matched.
Examples: