UNPKG

jsx-slack

Version:

Build JSON object for Slack Block Kit surfaces from JSX

3 lines (2 loc) 858 B
function j(m){for(var p,d,i=arguments,s=1,e="",v="",g=[0],f=function(u){s===1&&(u||(e=e.replace(/^\s*\n\s*|\s*\n\s*$/g,"")))?g.push(u?i[u]:e):s===3&&(u||e)?(g[1]=u?i[u]:e,s=2):s===2&&e==="..."&&u?g[2]=Object.assign(g[2]||{},i[u]):s===2&&e&&!u?(g[2]=g[2]||{})[e]=!0:s>=5&&(s===5?((g[2]=g[2]||{})[d]=u?e?e+i[u]:i[u]:e,s=6):(u||e)&&(g[2][d]+=u?e+i[u]:e)),e=""},o=0;o<m.length;o++){o&&(s===1&&f(),f(o));for(var b=0;b<m[o].length;b++)p=m[o][b],s===1?p==="<"?(f(),g=[g,"",null],s=3):e+=p:s===4?e==="--"&&p===">"?(s=1,e=""):e=p+e[0]:v?p===v?v="":e+=p:p==='"'||p==="'"?v=p:p===">"?(f(),s=1):s&&(p==="="?(s=5,d=e,e=""):p==="/"&&(s<5||m[o][b+1]===">")?(f(),s===3&&(g=g[0]),s=g,(g=g[0]).push(this.apply(null,s.slice(1))),s=0):p===" "||p===" "||p===` `||p==="\r"?(f(),s=2):e+=p),s===3&&e==="!--"&&(s=4,g=g[0])}return f(),g.length>2?g.slice(1):g[1]}export{j as default};