andesine 0.0.1-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +163 -0
- package/dist/api.cjs +1 -0
- package/dist/api.d.cts +22 -0
- package/dist/api.d.mts +22 -0
- package/dist/api.d.ts +22 -0
- package/dist/api.mjs +1 -0
- package/dist/extensions.cjs +1 -0
- package/dist/extensions.d.cts +351 -0
- package/dist/extensions.d.mts +351 -0
- package/dist/extensions.d.ts +351 -0
- package/dist/extensions.mjs +1 -0
- package/dist/shared/andesine.3cb4e565.d.cts +458 -0
- package/dist/shared/andesine.5e4b2db8.d.cts +201 -0
- package/dist/shared/andesine.5e4b2db8.d.mts +201 -0
- package/dist/shared/andesine.5e4b2db8.d.ts +201 -0
- package/dist/shared/andesine.bcb7a57d.d.ts +458 -0
- package/dist/shared/andesine.e974d2fa.d.mts +458 -0
- package/dist/transformers.cjs +31 -0
- package/dist/transformers.d.cts +231 -0
- package/dist/transformers.d.mts +231 -0
- package/dist/transformers.d.ts +231 -0
- package/dist/transformers.mjs +31 -0
- package/package.json +75 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import{Marked as g}from"marked";const h=i=>{const s=(o,n,l)=>{const a={node:o,index:n,ancestors:l,get parent(){return l[l.length-1]||null},get children(){return"content"in o?o.content?.map((r,t)=>s(r,t,[...l,a]))||[]:[]},previousSibling(){return this.parent&&this.parent.children[this.index-1]||null},nextSibling(){return this.parent&&this.parent.children[this.index+1]||null}};return a};return s(i,0,[])},m=i=>i,y=m(i=>{const s=h(i),o=t=>{let e="";return t.node.type==="text"&&(e=t.node.text,t.node.marks?.forEach(c=>{switch(c.type){case"link":e=`[${e}](${c.attrs.href})`;break;case"bold":e=`**${e}**`;break;case"code":e=`\`${e}\``;break;case"italic":e=`_${e}_`;break;case"strike":e=`~~${e}~~`;break}})),e},n=t=>`${t.children.map(e=>e.node.type==="text"?o(e):`
|
|
2
|
+
`).join("")}`,l=t=>{let e="";return t.children.forEach((c,$)=>{let d=!1;const p=c.children.map(u=>(u.node.type==="tableHeader"&&(d=!0),a(u)));$===t.children.length-1?e+=`| ${p.map(u=>u.replace(/\n/g," ")).join(" | ")} |`:e+=`| ${p.map(u=>u.replace(/\n/g," ")).join(" | ")} |
|
|
3
|
+
`,d&&$===0&&(e+=`| ${p.map(()=>"---").join(" | ")} |
|
|
4
|
+
`)}),e},a=t=>t.children.map(e=>{const c=e.node.type,$=e.previousSibling(),d=["bulletList","orderedList","taskList"].includes($?.node.type||"");switch(c){case"paragraph":return`
|
|
5
|
+
${n(e)}
|
|
6
|
+
`;case"bulletList":case"orderedList":case"taskList":return`${d?`
|
|
7
|
+
`:""}${r(e)}
|
|
8
|
+
`;case"table":return`
|
|
9
|
+
${l(e)}
|
|
10
|
+
`;case"horizontalRule":return`
|
|
11
|
+
---
|
|
12
|
+
`;case"image":return`
|
|
13
|
+

|
|
14
|
+
`;case"heading":return`
|
|
15
|
+
${"#".repeat(e.node.attrs?.level||1)} ${n(e)}
|
|
16
|
+
`;case"codeBlock":return`
|
|
17
|
+
\`\`\`${e.node.attrs?.lang||""}
|
|
18
|
+
${n(e)}
|
|
19
|
+
\`\`\`
|
|
20
|
+
`;case"element":return`
|
|
21
|
+
${a(e)}
|
|
22
|
+
`;case"blockquote":return`
|
|
23
|
+
${a(e).split(`
|
|
24
|
+
`).map(p=>`> ${p}`).join(`
|
|
25
|
+
`)}
|
|
26
|
+
`;default:return""}}).join("").trim(),r=t=>t.children.map(e=>({content:a(e),node:e.node})).map(({content:e,node:c},$)=>{let d="",p=0;return t.node.type==="taskList"&&c.type==="taskItem"&&(d=`${c.attrs?.checked?"- [x] ":"- [ ] "} `,p=2),t.node.type==="orderedList"&&(d=`${(t.node.attrs?.start||1)+$}. `,p=d.length),t.node.type==="bulletList"&&(d="- ",p=d.length),e.split(`
|
|
27
|
+
`).map((u,k)=>k===0?`${d}${u}`:`${" ".repeat(p)}${u}`).join(`
|
|
28
|
+
`)}).join(`
|
|
29
|
+
`);return a(s).trim()}),f=m(i=>{const s=h(i),o=r=>r.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'"),n=r=>{const t=[];return Object.entries(r).forEach(([e,c])=>{if(typeof c=="boolean"){t.push(`${e}`);return}typeof c<"u"&&(`${c}`.includes('"')?t.push(`${e}='${c}'`):t.push(`${e}="${c}"`))}),t.join(" ")},l=r=>{let t="";return r.node.type==="text"&&(t=r.node.text,r.node.marks?.forEach(e=>{switch(e.type){case"link":t=`<a href="${e.attrs.href}">${t}</a>`;break;case"bold":t=`<strong>${t}</strong>`;break;case"code":t=`<code>${o(t)}</code>`;break;case"italic":t=`<em>${t}</em>`;break;case"strike":t=`<s>${t}</s>`;break;case"highlight":t=`<mark>${t}</mark>`;break;case"superscript":t=`<sup>${t}</sup>`;break;case"subscript":t=`<sub>${t}</sub>`;break}})),t},a=r=>{switch(r.node.type){case"doc":return r.children.map(a).join("");case"text":return l(r);case"paragraph":return`<p>${r.children.map(t=>t.node.type==="text"?l(t):"<br/>").join("")}</p>`;case"bulletList":return`<ul>${r.children.map(a).join("")}</ul>`;case"orderedList":return`<ol start="${r.node.attrs.start}">${r.children.map(a).join("")}</ol>`;case"taskList":return`<ul data-type="taskList">${r.children.map(a).join("")}</ul>`;case"listItem":return`<li>${r.children.map(a).join("")}</li>`;case"taskItem":return`<li data-type="taskItem"><label><input ${n({type:"checkbox",...r.node.attrs.checked&&{checked:!0}})} />${r.children.map(a).join("")}</label></li>`;case"element":return`<div ${n({"data-type":r.node.attrs?.type,"data-props":JSON.stringify(r.node.attrs?.props)})}>${r.children.map(a).join("")}</div>`;case"blockquote":return`<blockquote>${r.children.map(a).join("")}</blockquote>`;case"heading":return`<h${r.node.attrs.level}>${r.children.map(a).join("")}</h${r.node.attrs.level}>`;case"codeBlock":return`<pre ${n({lang:r.node.attrs?.lang})}><code>${o(r.children.map(a).join(""))}</code></pre>`;case"image":return`<img ${n({src:r.node.attrs?.src,alt:r.node.attrs?.alt})}/>`;case"embed":return`<iframe ${n({src:r.node.attrs?.src,"data-type":r.node.attrs?.embed})}></iframe>`;case"horizontalRule":return"<hr/>";case"table":return`<table>${r.children.map(a).join("")}</table>`;case"tableRow":return`<tr>${r.children.map(a).join("")}</tr>`;case"tableCell":return`<td>${r.children.flatMap(a).join("")}</td>`;case"tableHeader":return`<th>${r.children.flatMap(a).join("")}</th>`;default:return""}};return a(s)}),b=i=>i,j=b(i=>({content:new g({async:!1,renderer:{paragraph(s){return s.startsWith("<img")?`${s}
|
|
30
|
+
`:`<p>${s}</p>`},image(s,o,n){return`<img src="${(s||"").replace(/^(?:\[.*\]\((.*)\))|(?:(.*))$/,(l,a,r)=>a||r)}" alt="${n}">`},listitem(s,o,n){return`<li${o?' data-type="taskItem"':""}${n?' data-checked="true"':""}>${s.replace(/<br><(img|p|pre|blockquote|ul|ol|table)\s/g,"<$1 ")}</li>`},list(s,o,n){const l=o?"ol":"ul",a=o&&n!==1?` start="${n}"`:"",r=s.includes('data-type="taskItem"')?' data-type="taskList"':"";return`<${l}${a}${r}>${s}</${l}>
|
|
31
|
+
`}},gfm:!0,breaks:!0}).parse(i)}));export{h as createContentWalker,b as createInputTransformer,m as createOutputTransformer,j as gfmInputTransformer,y as gfmOutputTransformer,f as htmlOutputTransformer};
|
package/package.json
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "andesine",
|
|
3
|
+
"version": "0.0.1-alpha.0",
|
|
4
|
+
"private": false,
|
|
5
|
+
"description": "JavaScript SDK and API client for Vrite - open-source developer content platform",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"bugs": {
|
|
9
|
+
"url": "https://github.com/vriteio/vrite/issues"
|
|
10
|
+
},
|
|
11
|
+
"repository": {
|
|
12
|
+
"type": "git",
|
|
13
|
+
"url": "https://github.com/vriteio/vrite.git",
|
|
14
|
+
"directory": "packages/sdk"
|
|
15
|
+
},
|
|
16
|
+
"keywords": [
|
|
17
|
+
"vrite",
|
|
18
|
+
"headless cms",
|
|
19
|
+
"cms",
|
|
20
|
+
"typescript",
|
|
21
|
+
"javascript",
|
|
22
|
+
"sdk",
|
|
23
|
+
"client"
|
|
24
|
+
],
|
|
25
|
+
"typesVersions": {
|
|
26
|
+
"*": {
|
|
27
|
+
"api": [
|
|
28
|
+
"./dist/api.d.ts"
|
|
29
|
+
],
|
|
30
|
+
"transformers": [
|
|
31
|
+
"./dist/transformers.d.ts"
|
|
32
|
+
],
|
|
33
|
+
"extensions": [
|
|
34
|
+
"./dist/extensions.d.ts"
|
|
35
|
+
]
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"exports": {
|
|
39
|
+
".": {
|
|
40
|
+
"import": "./dist/api.mjs",
|
|
41
|
+
"require": "./dist/api.cjs"
|
|
42
|
+
},
|
|
43
|
+
"./api": {
|
|
44
|
+
"import": "./dist/api.mjs",
|
|
45
|
+
"require": "./dist/api.cjs"
|
|
46
|
+
},
|
|
47
|
+
"./extensions": {
|
|
48
|
+
"import": "./dist/extensions.mjs",
|
|
49
|
+
"require": "./dist/extensions.cjs"
|
|
50
|
+
},
|
|
51
|
+
"./transformers": {
|
|
52
|
+
"import": "./dist/transformers.mjs",
|
|
53
|
+
"require": "./dist/transformers.cjs"
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"main": "./dist/api.cjs",
|
|
57
|
+
"types": "./dist/api.d.ts",
|
|
58
|
+
"files": [
|
|
59
|
+
"dist"
|
|
60
|
+
],
|
|
61
|
+
"dependencies": {
|
|
62
|
+
"@sanity/eventsource": "^5.0.1",
|
|
63
|
+
"@types/marked": "^6.0.0",
|
|
64
|
+
"isomorphic-unfetch": "^3.1.0",
|
|
65
|
+
"marked": "^12.0.0"
|
|
66
|
+
},
|
|
67
|
+
"devDependencies": {
|
|
68
|
+
"unbuild": "^2.0.0",
|
|
69
|
+
"vite": "^5.0.12"
|
|
70
|
+
},
|
|
71
|
+
"scripts": {
|
|
72
|
+
"build": "unbuild",
|
|
73
|
+
"prepublish": "pnpm run build"
|
|
74
|
+
}
|
|
75
|
+
}
|