Software / code / prosody
Comparison
util/datamapper.lua @ 11438:b7807583de34
util.datamapper: Add logic for "boolean" tags here the presence means true
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sun, 07 Mar 2021 01:41:39 +0100 |
| parent | 11437:87a684df4b65 |
| child | 11439:9abcdfdcdb01 |
comparison
equal
deleted
inserted
replaced
| 11437:87a684df4b65 | 11438:b7807583de34 |
|---|---|
| 46 end | 46 end |
| 47 end | 47 end |
| 48 | 48 |
| 49 if name_is_value then | 49 if name_is_value then |
| 50 local c = s:get_child(nil, namespace); | 50 local c = s:get_child(nil, namespace); |
| 51 if c then | 51 if c and proptype == "string" then |
| 52 out[prop] = c.name; | 52 out[prop] = c.name; |
| 53 elseif proptype == "boolean" and c then | |
| 54 out[prop] = true; | |
| 53 end | 55 end |
| 54 elseif is_attribute then | 56 elseif is_attribute then |
| 55 local attr = name | 57 local attr = name |
| 56 if prefix then | 58 if prefix then |
| 57 attr = prefix .. ":" .. name | 59 attr = prefix .. ":" .. name |
| 180 else | 182 else |
| 181 local propattr | 183 local propattr |
| 182 if namespace ~= current_ns then | 184 if namespace ~= current_ns then |
| 183 propattr = {xmlns = namespace} | 185 propattr = {xmlns = namespace} |
| 184 end | 186 end |
| 185 if name_is_value and type(v) == "string" then | 187 if name_is_value then |
| 186 out:tag(v, propattr):up(); | 188 if proptype == "string" and type(v) == "string" then |
| 189 out:tag(v, propattr):up(); | |
| 190 elseif proptype == "boolean" and v == true then | |
| 191 out:tag(name, propattr):up(); | |
| 192 end | |
| 187 elseif proptype == "string" and type(v) == "string" then | 193 elseif proptype == "string" and type(v) == "string" then |
| 188 out:text_tag(name, v, propattr) | 194 out:text_tag(name, v, propattr) |
| 189 elseif proptype == "number" and type(v) == "number" then | 195 elseif proptype == "number" and type(v) == "number" then |
| 190 out:text_tag(name, string.format("%g", v), propattr) | 196 out:text_tag(name, string.format("%g", v), propattr) |
| 191 elseif proptype == "integer" and type(v) == "number" then | 197 elseif proptype == "integer" and type(v) == "number" then |