@visulima/ansi
Version:
ANSI escape codes for some terminal swag.
2 lines (1 loc) • 1.2 kB
JavaScript
const v={animate:"a",compose:"c",delete:"d",display:"p",frame:"f",query:"q",transmit:"t","transmit-display":"T"},s={direct:"d",file:"f","shared-memory":"s","temp-file":"t"},m={png:100,rgb:24,rgba:32},n=e=>{const t=[],i=[["i",e.id],["p",e.placementId],["I",e.number],["s",e.imageWidth],["v",e.imageHeight]],l=[["S",e.size],["O",e.offset]],u=[["o=z",e.compressed],["U=1",e.virtualPlacement],["C=1",e.doNotMoveCursor]],h=[["P",e.parentId],["Q",e.parentPlacementId],["x",e.x],["y",e.y]],g=[["w",e.width],["h",e.height],["X",e.offsetX],["Y",e.offsetY],["c",e.columns],["r",e.rows]],c=r=>{for(const[a,d]of r)d!==void 0&&d>0&&t.push(`${a}=${String(d)}`)},f=(r,a,d)=>{a!==void 0&&a!==d&&t.push(`${r}=${String(a)}`)};f("f",e.format===void 0?void 0:m[e.format],m.rgba),f("q",e.quiet,0),c(i),f("t",e.transmission===void 0?void 0:s[e.transmission],s.direct),c(l);for(const[r,a]of u)a===!0&&t.push(r);if(c(h),e.z!==void 0&&e.z!==0&&t.push(`z=${String(e.z)}`),c(g),e.delete!==void 0||e.deleteResources===!0){const r=e.delete??"a";t.push(`d=${e.deleteResources===!0?r.toUpperCase():r}`)}return e.action!==void 0&&e.action!=="transmit"&&t.push(`a=${v[e.action]}`),t};export{n as default,n as kittyGraphicsOptions};