Skip to content

Instantly share code, notes, and snippets.

@bundle-js
Created October 31, 2023 18:52
Show Gist options
  • Save bundle-js/55c14ba2ac837792866c39c739cc58d5 to your computer and use it in GitHub Desktop.
Save bundle-js/55c14ba2ac837792866c39c739cc58d5 to your computer and use it in GitHub Desktop.
var U=Object.create;var S=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var K=Object.getPrototypeOf,X=Object.prototype.hasOwnProperty;var B=(t,n)=>()=>(n||t((n={exports:{}}).exports,n),n.exports);var V=(t,n,e,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of C(n))!X.call(t,o)&&o!==e&&S(t,o,{get:()=>n[o],enumerable:!(r=D(n,o))||r.enumerable});return t};var Y=(t,n,e)=>(e=t!=null?U(K(t)):{},V(n||!t||!t.__esModule?S(e,"default",{value:t,enumerable:!0}):e,t));var R=B((ut,N)=>{N.exports=Z;var J=/^(?:\w+:)?\/\/(\S+)$/,M=/^localhost[\:?\d]*(?:[^\:?\d]\S*)?$/,Q=/^[^\s\.]+\.\S{2,}$/;function Z(t){if(typeof t!="string")return!1;var n=t.match(J);if(!n)return!1;var e=n[1];return e?!!(M.test(e)||Q.test(e)):!1}});var _=/\s+/g,q=/[\t\n\v\f\r ]+/g;function A(t,n){n?typeof n=="string"&&(n={style:n}):n={};let e=n.preserveLineEndings?z:G;return String(t).replace(n.style==="html"?q:_,n.trim?H(e):e)}function z(t){let n=/\r?\n|\r/.exec(t);return n?n[0]:" "}function G(){return" "}function H(t){return n;function n(e,r,o){return r===0||r+e.length===o.length?"":t(e)}}var W=Y(R());var j=v("end"),P=v("start");function v(t){return n;function n(e){let r=e&&e.position&&e.position[t]||{};if(typeof r.line=="number"&&r.line>0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function g(t){let n=P(t),e=j(t);if(n&&e)return{start:n,end:e}}var x=function(t){if(t==null)return rt;if(typeof t=="function")return E(t);if(typeof t=="object")return Array.isArray(t)?tt(t):nt(t);if(typeof t=="string")return et(t);throw new Error("Expected function, string, or object as test")};function tt(t){let n=[],e=-1;for(;++e<t.length;)n[e]=x(t[e]);return E(r);function r(...o){let i=-1;for(;++i<n.length;)if(n[i].apply(this,o))return!0;return!1}}function nt(t){let n=t;return E(e);function e(r){let o=r,i;for(i in t)if(o[i]!==n[i])return!1;return!0}}function et(t){return E(n);function n(e){return e&&e.type===t}}function E(t){return n;function n(e,r,o){return!!(ot(e)&&t.call(this,e,typeof r=="number"?r:void 0,o||void 0))}}function rt(){return!0}function ot(t){return t!==null&&typeof t=="object"&&"type"in t}var O=[],F=!0,b=!1,T="skip";function w(t,n,e,r){let o;typeof n=="function"&&typeof e!="function"?(r=e,e=n):o=n;let i=x(o),s=r?-1:1;c(t,void 0,[])();function c(f,d,u){let a=f&&typeof f=="object"?f:{};if(typeof a.type=="string"){let l=typeof a.tagName=="string"?a.tagName:typeof a.name=="string"?a.name:void 0;Object.defineProperty(m,"name",{value:"node ("+(f.type+(l?"<"+l+">":""))+")"})}return m;function m(){let l=O,h,p,I;if((!n||i(f,d,u[u.length-1]||void 0))&&(l=it(e(f,u)),l[0]===b))return l;if("children"in f&&f.children){let y=f;if(y.children&&l[0]!==T)for(p=(r?y.children.length:-1)+s,I=u.concat(y);p>-1&&p<y.children.length;){let L=y.children[p];if(h=c(L,p,I)(),h[0]===b)return h;p=typeof h[1]=="number"?h[1]:p+s}}return l}}}function it(t){return Array.isArray(t)?t:typeof t=="number"?[F,t]:t==null?O:[t]}var ft={};function k(t){let e=(t||ft).imageExtensions||$,r=new RegExp(`\\.(${e.join("|")})$`);return function(o){w(o,"text",function(i,s){let c=A(i.value,{style:"html",trim:!0});if(!c.includes(" ")&&((0,W.default)(c)||c.startsWith("/")||c.startsWith("./")||c.startsWith("../"))&&r.test(c)){let f=!1,d=s.length;for(;d--;){let l=s[d];if(l.type==="link"||l.type==="linkReference"){f=!0;break}}let u={type:"image",url:c,title:null,alt:"",position:g(i)};f||(u={type:"link",url:c,title:null,children:[u],position:g(i)});let m=s[s.length-1].children;m[m.indexOf(i)]=u}})}}var $=["avif","gif","jpeg","jpg","png","svg","webp"];export{k as default,$ as defaultImageExtensions};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment