@visulima/ansi
Version:
ANSI escape codes for some terminal swag.
2 lines (1 loc) • 512 B
JavaScript
import{i as l,f as a,a as o,E as f}from"./packem_shared/sequence-walker-COPlxtCd.js";function*y(i){const{length:n}=i;let t=0,e=0;for(;e<n;){const s=i.codePointAt(e),c=s===f;if(!c&&!l(s)){e+=1;continue}const d=c?a(i,e):o(i,e);if(e>t&&(yield{index:t,type:"text",value:i.slice(t,e)}),d===void 0){yield{index:e,type:"partial",value:i.slice(e)};return}yield{index:e,kind:d.kind,type:"sequence",value:i.slice(e,d.end+1)},e=d.end+1,t=e}t<n&&(yield{index:t,type:"text",value:i.slice(t)})}export{y as default,y as scan};