unified-doc
Version:
unified document APIs.
3 lines (2 loc) • 3.8 kB
JavaScript
import t from"unified-doc-search-micromatch";import e from"vfile";import n from"hast-util-raw";import r from"hast-util-to-html";import i from"hast-util-to-mdast";import o from"hast-util-to-xast";import s from"mdast-util-gfm";import u from"mdast-util-to-markdown";import a from"mime-types";import c from"xast-util-to-xml";import m from"hast-util-to-string";import f from"deepmerge";import l from"hast-util-sanitize";import p from"hast-util-sanitize/lib/github.json";import h from"rehype-parse";import d from"rehype-stringify";import g from"remark-parse";import x from"remark-rehype";import y from"unified";import v from"unified-doc-parse-code-block";import k from"unified-doc-parse-csv";import b from"unified-doc-util-mark";var P=w;function w(t){if("string"==typeof t)return function(t){return function(e){return Boolean(e&&e.type===t)}}(t);if(null==t)return A;if("object"==typeof t)return("length"in t?z:C)(t);if("function"==typeof t)return t;throw new Error("Expected function, string, or object as test")}function C(t){return function(e){var n;for(n in t)if(e[n]!==t[n])return!1;return!0}}function z(t){var e=function(t){for(var e=[],n=t.length,r=-1;++r<n;)e[r]=w(t[r]);return e}(t),n=e.length;return function(){for(var t=-1;++t<n;)if(e[t].apply(this,arguments))return!0;return!1}}function A(){return!0}function O(t){return"head"!==t.tagName}function S(t){return m((e=t,n=O,r||(r=n,n={}),o=null==(o=n.cascade)||o,i=P(r),function t(e,n,r){var s,u,a,c;return i(e,n,r)?(s=Object.keys(e).reduce(function(t,n){return"children"!==n&&(t[n]=e[n]),t},{}),e.children&&(s.children=(u=e.children,a=function(n,r){return t(n,r,e)},c=[],Array.isArray(u)?(u.forEach(function(t,e,n){var r=a.call(void 0,t,e,n);Array.isArray(r)?c.push.apply(c,r):null!=r&&c.push(r)}),c):c),o&&0!==e.children.length&&0===s.children.length)?null:s):null}(e,null,null)));var e,n,r,i,o}function j(t){return a.lookup(t)||"text/plain"}const E={"text/csv":[[k,{header:!0}]],"text/html":[h],"text/markdown":[g,x]},M=t=>(...e)=>n=>t(n,...e);function N(t,e){e.data.textContent=S(t)}export default function(a={}){const{compiler:m,content:h,filename:g,marks:x=[],parsers:k={},postPlugins:P=[],prePlugins:w=[],sanitizeSchema:C={},searchAlgorithm:z=t,searchOptions:A={}}=a,O=e({contents:h,basename:g}),R=function(t={}){const{compiler:e=d,marks:n=[],parsers:r=E,postPlugins:i=[],prePlugins:o=[],sanitizeSchema:s,vfile:u}=t,a={...E,...r},c=[[v,{language:u.extname.slice(1)}]],m=y(),h=j(u.basename);function g(){return m.processSync(u)}return m.use(a[h]||c),m.use(o),m.use(M(b),n),m.use(()=>N),m.use(i),s&&m.use(M(l),f(p,s)),m.use(e),{compile:g,parse:function(){return m.runSync(m.parse(u))},textContent:function(){return u.data.textContent||g(),u.data.textContent}}}({compiler:m,marks:x,parsers:k,postPlugins:P,prePlugins:w,sanitizeSchema:C,vfile:O});return{compile:function(){return R.compile()},file:function(t){return function({extension:t=null,hast:e=null,vfile:a}){let m,f=t;switch(t){case".html":m=r(e);break;case".md":m=u(i(e),{extensions:[s.toMarkdown()]});break;case".txt":m=S(e);break;case".xml":{const t=n({type:"element",tagName:"html",children:[e]});m=c(o(t));break}default:m=a.contents,f=a.extname}return{content:m,extension:f,name:`${a.stem}${f}`,stem:a.stem,type:j(f)}}({extension:t,hast:this.parse(),vfile:O})},parse:function(){return R.parse()},search:function(t,e={}){const{minQueryLength:n=1,snippetOffsetPadding:r=100}=A;if(t.length<n)return[];const i=this.textContent();return function({content:t,searchResults:e,snippetOffsetPadding:n}){return e.map(e=>{const{start:r,end:i,value:o}=e;return{...e,snippet:[t.slice(Math.max(0,r-n),r),o,t.slice(i,Math.min(t.length,i+n))]}})}({content:i,searchResults:z(i,t,e),snippetOffsetPadding:r})},textContent:function(){return R.textContent()}}}
//# sourceMappingURL=index.modern.js.map