UNPKG

jsx-slack

Version:

Build JSON object for Slack Block Kit surfaces from JSX

2 lines (1 loc) 663 B
import m from"../vendor/htm/mini/index.mjs";import*as s from"./components.mjs";import{createElementInternal as a}from"./jsx-internals.mjs";import{he as l}from"../vendor/he.ts.mjs";const p=Symbol("jsx-slack-subsitution"),i=t=>Object.prototype.toString.call(t)==="[object String]",n=(t,e=!1)=>i(t)?t[p]?t.toString():l.decode(t,{isAttributeValue:e}):t,b=t=>{const e=n(t);return typeof e=="string"&&Object.prototype.hasOwnProperty.call(s,e)?s[e]:e},u=m.bind((t,e,...o)=>a(b(t),e&&Object.keys(e).reduce((r,c)=>({...r,[c]:n(e[c],!0)}),{}),...o.map(r=>n(r)))),j=(t,...e)=>u(t,...e.map(o=>i(o)?Object.defineProperty(new String(o),p,{value:!0}):o));export{j as jsxslack};