aboutsummaryrefslogtreecommitdiffstats
path: root/util/datamapper.lua
Commit message (Collapse)AuthorAgeFilesLines
* util.datamapper: Fix to skip parsing wrapped arrays that aren't thereKim Alvefur2021-03-221-2/+0
| | | | Turns out the unreachable error is reachable :D
* util.datamapper: Complete array building supportKim Alvefur2021-03-201-12/+3
|
* util.datamapper: Factor out handling of object properties for array reuseKim Alvefur2021-03-201-79/+82
|
* util.datamapper: Finally implement support for parsing arraysKim Alvefur2021-03-201-13/+9
|
* util.datamapper: Factor out extraction of the XML part to useKim Alvefur2021-03-201-40/+42
| | | | | | | | So extract_value() takes an XML tag and details about which part we're interested in and returns that. Factoring this out will help with array implementation since this will be common behavior.
* util.datamapper: Only get element name if there's an elementKim Alvefur2021-03-191-1/+3
| | | | Fixes error due to attempting to index a nil value
* util.datamapper: Fix arrays nesting one level too deepKim Alvefur2021-03-191-9/+9
|
* util.datamapper: Deal with type name changes in util.jsonschemaKim Alvefur2021-03-191-1/+1
|
* util.datamapper: Limited support for unparsing simple arrays of stringsKim Alvefur2021-03-181-11/+41
|
* util.datamapper: Add initial support for parsing arraysKim Alvefur2021-03-181-9/+47
|
* util.datamapper: Factor out common schema unpackingKim Alvefur2021-03-141-80/+53
| | | | | This code extracts the bits from the schema that determines how the data is to be mapped to/from XML.
* util.datamapper: Separate extraction of xml from coercion to target typeKim Alvefur2021-03-141-34/+28
| | | | | | Now it gets the text, attribute or name first, then turns it into whatever the schema wants. This should be easier to further factor out into preparation for array support.
* util.datamapper: Use enum instead of mutually exclusive booleansKim Alvefur2021-03-141-20/+20
| | | | Cleaner and rules out invalid combinations.
* util.datamapper: Enumerated elementsKim Alvefur2021-03-121-1/+20
| | | | E.g. error conditions or chat states.
* util.datamapper: Add references with notesKim Alvefur2021-03-101-0/+3
|
* util.datamapper: Add support for mapping of elements where only one ↵Kim Alvefur2021-03-071-0/+34
| | | | | | | attribute matters E.g. <feature var='foo'/> in XEP-0030 and some other simple specifications.
* util.datamapper: Add logic for "boolean" tags here the presence means trueKim Alvefur2021-03-071-3/+9
|
* util.datamapper: Invent extension for using tag name as valueKim Alvefur2021-03-061-2/+15
| | | | | Useful for certain enum-like uses where the element name is the relevant information, e.g. chat states.
* util.datamapper: Add 'unparse' for turning tables into XMLKim Alvefur2021-03-071-1/+102
|
* util.datamapper: Library for extracting data from stanzasKim Alvefur2021-03-071-0/+96
Based on the XML support in the OpenAPI specification.