An insertion-ordered property list.
WordML property tags are emitted in the order they were defined, and the Ruby implementation relies on Ruby's ordered hashes for that. Property keys are intentionally a mix of strings (CSS properties, which still need conversion) and atoms (WordML properties, which are used as-is), so this module keeps both without normalising them.
Summary
Functions
Removes a key.
Returns true when there are no properties.
Fetches a value, returning default when the key is absent.
Returns true when the key is present, even if its value is nil.
All keys in order.
Merges other into props. Keys already present keep their position but
take the new value; unknown keys are appended.
Builds a property list from any enumerable of key/value pairs.
Sets a key, preserving its position when it already exists.
Types
Functions
Removes a key.
Returns true when there are no properties.
Fetches a value, returning default when the key is absent.
Returns true when the key is present, even if its value is nil.
All keys in order.
Merges other into props. Keys already present keep their position but
take the new value; unknown keys are appended.
@spec new(Enumerable.t()) :: t()
Builds a property list from any enumerable of key/value pairs.
Sets a key, preserving its position when it already exists.