@platformos/pos-cli
Version:
Manage your platformOS application
2 lines (1 loc) • 892 B
JavaScript
const p={array:"value_array",boolean:"value_boolean",date:"value",datetime:"value",float:"value_float",integer:"value_int",string:"value",text:"value",upload:"value",json:"value_json"},c={string:"String",integer:"Int",float:"Float",boolean:"Boolean",array:"[String!]",json:"JSONPayload",range:"RangeFilter"},g=l=>{const s=l.entries();let n="",o={},i="",t={};function f(e,r){return r===""?null:e==="integer"?parseInt(r):e==="float"?parseFloat(r):e==="boolean"?r==="true":e==="array"||e==="json"?JSON.parse(r):r}for(const[e,r]of s)if(e.indexOf("[")>=0){let a=e.slice(0,e.indexOf("[")),u=e.slice(e.indexOf("[")+1,e.indexOf("]"));(t[a]??(t[a]={}))[u]=r}for(const e in t)n+=`, $${e}: ${c[t[e].type]||"String"}`,o[e]=f(t[e].type,t[e].value),i+=`{ name: "${e}", ${p[t[e].type]}: $${e} }`;return n.length&&(n=n.slice(2),n=`(${n})`),{variablesDefinition:n,variables:o,properties:i}};export{g as b,c};