Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Machine ¶
Machine is the interface representing the FSM
func NewMachine ¶
func NewMachine() Machine
NewMachine creates a new FSM able to parse RFC 2141 strings.
type URN ¶
type URN struct {
ID string // Namespace identifier
SS string // Namespace specific string
// contains filtered or unexported fields
}
URN represents an Uniform Resource Name.
The general form represented is:
urn:<id>:<ss>
Details at https://tools.ietf.org/html/rfc2141.
func Parse ¶
Parse is responsible to create an URN instance from a byte array matching the correct URN syntax.
func (URN) MarshalJSON ¶
MarshalJSON marshals the URN to JSON string form (e.g. `"urn:oid:1.2.3.4"`).
func (*URN) Normalize ¶
Normalize turns the receiving URN into its norm version.
Which means: lowercase prefix, lowercase namespace identifier, and immutate namespace specific string chars (except <hex> tokens which are lowercased).
func (*URN) String ¶
String reassembles the URN into a valid URN string.
This requires both ID and SS fields to be non-empty. Otherwise it returns an empty string.
Default URN prefix is "urn".
func (*URN) UnmarshalJSON ¶
MarshalJSON unmarshals a URN from JSON string form (e.g. `"urn:oid:1.2.3.4"`).