UNPKG

ant-design-x-vue-next

Version:

Ant Design X for Vue — community continuation aligned with @ant-design/x

7 lines (5 loc) 4.85 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./interface.js"),T={image:[/^!\[[^\]\r\n]{0,1000}$/,/^!\[[^\r\n]{0,1000}\]\(*[^)\r\n]{0,1000}$/],link:[/^\[[^\]\r\n]{0,1000}$/,/^\[[^\r\n]{0,1000}\]\(*[^)\r\n]{0,1000}$/],html:[/^<\/$/,/^<\/?[a-zA-Z][a-zA-Z0-9-]{0,100}[^>\r\n]{0,1000}$/],commonEmphasis:[/^(\*{1,3}|_{1,3})(?!\s)(?!.*\1$)[^\r\n]{0,1000}$/],list:[/^[-+*]\s{0,3}$/,/^[-+*]\s{1,3}(\*{1,3}|_{1,3})(?!\s)(?!.*\1$)[^\r\n]{0,1000}$/],"inline-code":[/^`[^`\r\n]{0,300}$/]},f=e=>{if(e.includes(` `))return!1;const n=e.split(` `);if(n.length<=1)return!0;const[t,i]=n,s=t.trim();if(!/^\|.*\|$/.test(s))return!1;const r=i.trim().split("|").map(a=>a.trim()).filter(Boolean),m=/^:?-+:?$/;return r.every((a,p)=>p===r.length-1&&a===":"||m.test(a))},g={[o.StreamCacheTokenType.Link]:{tokenType:o.StreamCacheTokenType.Link,isStartOfToken:e=>e.startsWith("["),isStreamingValid:e=>T.link.some(n=>n.test(e))},[o.StreamCacheTokenType.Image]:{tokenType:o.StreamCacheTokenType.Image,isStartOfToken:e=>e.startsWith("!"),isStreamingValid:e=>T.image.some(n=>n.test(e))},[o.StreamCacheTokenType.Html]:{tokenType:o.StreamCacheTokenType.Html,isStartOfToken:e=>e.startsWith("<"),isStreamingValid:e=>T.html.some(n=>n.test(e))},[o.StreamCacheTokenType.Emphasis]:{tokenType:o.StreamCacheTokenType.Emphasis,isStartOfToken:e=>e.startsWith("*")||e.startsWith("_"),isStreamingValid:e=>T.commonEmphasis.some(n=>n.test(e))},[o.StreamCacheTokenType.List]:{tokenType:o.StreamCacheTokenType.List,isStartOfToken:e=>/^[-+*]/.test(e),isStreamingValid:e=>T.list.some(n=>n.test(e)),getCommitPrefix:e=>{var i;const n=(i=e.match(/^([-+*]\s{0,3})/))==null?void 0:i[1],t=n?e.slice(n.length):"";return n&&t.startsWith("`")?n:null}},[o.StreamCacheTokenType.Table]:{tokenType:o.StreamCacheTokenType.Table,isStartOfToken:e=>e.startsWith("|"),isStreamingValid:f},[o.StreamCacheTokenType.InlineCode]:{tokenType:o.StreamCacheTokenType.InlineCode,isStartOfToken:e=>e.startsWith("`"),isStreamingValid:e=>T["inline-code"].some(n=>n.test(e))}},h=(e,n)=>{var l;const t=g[n];if(!t)return;const{token:i,pending:s}=e;if(i===o.StreamCacheTokenType.Text&&t.isStartOfToken(s)){e.token=n;return}if(i===n&&!t.isStreamingValid(s)){const r=(l=t.getCommitPrefix)==null?void 0:l.call(t,s);if(r){e.completeMarkdown+=r,e.pending=s.slice(r.length),e.token=o.StreamCacheTokenType.Text;return}k(e)}},d=Object.values(g).map(e=>({tokenType:e.tokenType,recognize:n=>h(n,e.tokenType)})),u=()=>({inFenced:!1,fenceChar:"",fenceLen:0,lineFenceChar:"",lineFenceLen:0,lineFenceRunEnded:!1,lineTailBlank:!0}),c=()=>({pending:"",token:o.StreamCacheTokenType.Text,processedLength:0,completeMarkdown:"",fence:u()}),k=e=>{e.pending&&(e.completeMarkdown+=e.pending,e.pending=""),e.token=o.StreamCacheTokenType.Text},y=(e,n)=>{if(n===` `){e.lineFenceLen>=3&&(e.inFenced?e.lineFenceChar===e.fenceChar&&e.lineFenceLen>=e.fenceLen&&e.lineTailBlank&&(e.inFenced=!1,e.fenceChar="",e.fenceLen=0):(e.inFenced=!0,e.fenceChar=e.lineFenceChar,e.fenceLen=e.lineFenceLen)),e.lineFenceChar="",e.lineFenceLen=0,e.lineFenceRunEnded=!1,e.lineTailBlank=!0;return}e.lineFenceRunEnded?e.lineTailBlank=e.lineTailBlank&&/\s/.test(n):e.lineFenceLen===0&&(n==="`"||n==="~")?(e.lineFenceChar=n,e.lineFenceLen=1):e.lineFenceLen>0&&n===e.lineFenceChar?e.lineFenceLen+=1:(e.lineFenceRunEnded=!0,e.lineTailBlank=e.lineTailBlank&&/\s/.test(n))},F=e=>e.inFenced||e.lineFenceLen>=3,L=e=>{let n="";for(let t=0;t<e.length;t++){const i=e.charCodeAt(t);i>=55296&&i<=56319?t+1<e.length&&e.charCodeAt(t+1)>=56320&&e.charCodeAt(t+1)<=57343&&(n+=e[t]+e[t+1],t++):(i<56320||i>57343)&&(n+=e[t])}return n},S=e=>{try{return encodeURIComponent(e)}catch(n){return n instanceof URIError?encodeURIComponent(L(e)):""}};function C(e,n={}){const{token:t,pending:i}=e;if(t===o.StreamCacheTokenType.Text||t===o.StreamCacheTokenType.Image&&i==="!")return;if(t===o.StreamCacheTokenType.Table&&i.split(` `).length>2)return i;const l=(n.incompleteMarkdownComponentMap||{})[t]||`incomplete-${t}`,r=S(i);return(n.componentNames||[]).includes(l)?`<${l} data-raw="${r}" />`:void 0}function I(e,n,t={}){if(!n)return Object.assign(e,c()),"";const i=e.completeMarkdown+e.pending;n.startsWith(i)||Object.assign(e,c());const s=n.slice(e.processedLength);if(!s){const r=C(e,t);return e.completeMarkdown+(r||"")}e.processedLength+=s.length;for(const r of s){if(e.pending+=r,y(e.fence,r),F(e.fence)){k(e);continue}const m=e.token;if(m===o.StreamCacheTokenType.Text)for(const a of d)a.recognize(e);else{const a=d.find(p=>p.tokenType===m);if(a==null||a.recognize(e),e.token===o.StreamCacheTokenType.Text)for(const p of d)p.recognize(e)}e.token===o.StreamCacheTokenType.Text&&k(e)}const l=C(e,t);return e.completeMarkdown+(l||"")}exports.buildIncompletePlaceholder=C;exports.getInitialCache=c;exports.processStreamingText=I;exports.safeEncodeURIComponent=S;