Class QueryString

extends Object
A QueryString is a part of a uniform resource locator (URL) that assigns values to specified parameters. It fits between the resource parts and the fragment part in the URL encoding:
The query part starts at the '?' character and ends at the start of the fragment part (if any). The fragment part starts at the '#' character. The encoding of the query part uses the application/x-www-form-urlencoded content type.
For convenience, the QueryString collects any resource parts (scheme, authority, and path) as QueryString.resource and the fragment as QueryString.fragment.

Class summary


parse input/string -> QueryString
Parses an input string into a QueryString by following the steps from https://url.spec.whatwg.org/#urlencoded-parsing and collects the resource parts and the fragment part as part of the parsing.

Statics

Parses an input string into a QueryString by following the steps from https://url.spec.whatwg.org/#urlencoded-parsing and collects the resource parts and the fragment part as part of the parsing.
The resource parts (scheme, authority, and path) and the fragment part are left unparsed, so QueryString.parse supports partial URLs, like the ones where the the scheme and authority have been stripped.

Methods

operator == other/any -> bool
Whether this object is equal to the other.
By default, identical is used for equality.
Inheritance
Classes overwrite this operator to get an equality specific to their needs. Equality operators often compare the type and field contents. For example:

class Pin:
  number/int

  constructor .number:

  operator == other:
    if other is not Pin: return false
    return number == other.number
A class doesn't have to follow the above format, but it must keep the operator in sync with any hash-code method. That is, if a class has a hash-code member, then the equality and hash-code must agree. If two instances are equal (a == b), then their hash codes must also be equal (a.hash-code == b.hash-code).

Stringifies this object.
Inheritance
Objects that need a human-friendly string representation should overwrite this method. The default string is based on the internal class-ID.

Fields

The fragment of the input given to QueryString.parse.
The fragment is the part of the URL that follows a '#' character.
May be the empty string if the input ends with or does not contain a '#'.

The parsed and decoded query parameters.
If a query parameter appears only once, then the value for that key is a string.
If a query parameter appears multiple times, then the value for that key is a list of strings.

The resource of the input given to QueryString.parse.
The resource is the part of the URL that is before the first '?' character.
May be the empty string if the input starts with a '?'.