@lowlighter/markdown 1.2.2 → 2.0.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.
@@ -2,7 +2,7 @@ import { expect, test } from "@libs/testing"
2
2
  import { Renderer } from "../renderer.ts"
3
3
  import plugin from "./highlighting.ts"
4
4
 
5
- test("deno")("Plugin.highlighting renders syntax highlighted code blocks", async () => {
5
+ test("deno")("`Plugin.highlighting` renders syntax highlighted code blocks", async () => {
6
6
  const markdown = new Renderer({ plugins: [plugin] })
7
7
  await expect(markdown.render("```ts\nconst foo = 'bar'\n```")).resolves.toMatch(/<pre><code class=".*language-ts">[\s\S]+<\/code><\/pre>/)
8
8
  })
@@ -1 +1 @@
1
- var n=function(r){if(null==r)return e;if("function"==typeof r)return t(r);if("object"==typeof r)return Array.isArray(r)?function(e){const r=[];let o=-1;for(;++o<e.length;)r[o]=n(e[o]);return t(i);function i(...n){let t=-1;for(;++t<r.length;)if(r[t].apply(this,n))return!0;return!1}}(r):function(n){const e=n;return t(r);function r(t){const r=t;let o;for(o in n)if(r[o]!==e[o])return!1;return!0}}(r);if("string"==typeof r)return function(n){return t(e);function e(t){return t&&t.type===n}}(r);throw new Error("Expected function, string, or object as test")};function t(n){return function(t,e,r){return Boolean(function(n){return null!==n&&"object"==typeof n&&"type"in n}(t)&&n.call(this,t,"number"==typeof e?e:void 0,r||void 0))}}function e(){return!0}var r=[],o=!0,i=!1,u="skip";function f(t,e,f,c){let l;"function"==typeof e&&"function"!=typeof f?(c=f,f=e):l=e;const s=n(l),p=c?-1:1;!function n(t,l,a){const y=t&&"object"==typeof t?t:{};if("string"==typeof y.type){const n="string"==typeof y.tagName?y.tagName:"string"==typeof y.name?y.name:void 0;Object.defineProperty(d,"name",{value:"node ("+t.type+(n?"<"+n+">":"")+")"})}return d;function d(){let y,d,h,g=r;if((!e||s(t,l,a[a.length-1]||void 0))&&(g=function(n){if(Array.isArray(n))return n;if("number"==typeof n)return[o,n];return null==n?r:[n]}(f(t,a)),g[0]===i))return g;if("children"in t&&t.children){const e=t;if(e.children&&g[0]!==u)for(d=(c?e.children.length:-1)+p,h=a.concat(e);d>-1&&d<e.children.length;){const t=e.children[d];if(y=n(t,d,h)(),y[0]===i)return y;d="number"==typeof y[1]?y[1]:d+p}}return g}}(t,void 0,[])()}function c(t,e,r){const o=n((r||{}).ignore||[]),i=function(n){const t=[];if(!Array.isArray(n))throw new TypeError("Expected find and replace tuple or list of tuples");const e=!n[0]||Array.isArray(n[0])?n:[n];let r=-1;for(;++r<e.length;){const n=e[r];t.push([l(n[0]),s(n[1])])}return t}(e);let u=-1;for(;++u<i.length;)f(t,"text",c);function c(n,t){let e,r=-1;for(;++r<t.length;){const n=t[r],i=e?e.children:void 0;if(o(n,i?i.indexOf(n):void 0,e))return;e=n}if(e)return function(n,t){const e=t[t.length-1],r=i[u][0],o=i[u][1];let f=0;const c=e.children.indexOf(n);let l=!1,s=[];r.lastIndex=0;let p=r.exec(n.value);for(;p;){const e=p.index,i={index:p.index,input:p.input,stack:[...t,n]};let u=o(...p,i);if("string"==typeof u&&(u=u.length>0?{type:"text",value:u}:void 0),!1===u?r.lastIndex=e+1:(f!==e&&s.push({type:"text",value:n.value.slice(f,e)}),Array.isArray(u)?s.push(...u):u&&s.push(u),f=e+p[0].length,l=!0),!r.global)break;p=r.exec(n.value)}l?(f<n.value.length&&s.push({type:"text",value:n.value.slice(f)}),e.children.splice(c,1,...s)):s=[n];return c+s.length}(n,t)}}function l(n){return"string"==typeof n?new RegExp(function(n){if("string"!=typeof n)throw new TypeError("Expected a string");return n.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}(n),"g"):n}function s(n){return"function"==typeof n?n:function(){return n}}function p(){return{type:"break"}}function a(){return function(n){!function(n){c(n,[/\r?\n|\r/g,p])}(n)}}var y={remark:n=>n.use(a)};export{y as default};
1
+ var n=function(r){if(null==r)return e;if("function"==typeof r)return t(r);if("object"==typeof r)return Array.isArray(r)?function(e){const r=[];let o=-1;for(;++o<e.length;)r[o]=n(e[o]);return t(i);function i(...n){let t=-1;for(;++t<r.length;)if(r[t].apply(this,n))return!0;return!1}}(r):function(n){const e=n;return t(r);function r(t){const r=t;let o;for(o in n)if(r[o]!==e[o])return!1;return!0}}(r);if("string"==typeof r)return function(n){return t(e);function e(t){return t&&t.type===n}}(r);throw new Error("Expected function, string, or object as test")};function t(n){return function(t,e,r){return Boolean(function(n){return null!==n&&"object"==typeof n&&"type"in n}(t)&&n.call(this,t,"number"==typeof e?e:void 0,r||void 0))}}function e(){return!0}var r=[],o=!0,i=!1;function u(t,e,u,f){let c;"function"==typeof e&&"function"!=typeof u?(f=u,u=e):c=e;const l=n(c),s=f?-1:1;!function n(t,c,p){const a=t&&"object"==typeof t?t:{};if("string"==typeof a.type){const n="string"==typeof a.tagName?a.tagName:"string"==typeof a.name?a.name:void 0;Object.defineProperty(y,"name",{value:"node ("+t.type+(n?"<"+n+">":"")+")"})}return y;function y(){let a,y,d,h=r;if((!e||l(t,c,p[p.length-1]||void 0))&&(h=function(n){if(Array.isArray(n))return n;if("number"==typeof n)return[o,n];return null==n?r:[n]}(u(t,p)),h[0]===i))return h;if("children"in t&&t.children){const e=t;if(e.children&&"skip"!==h[0])for(y=(f?e.children.length:-1)+s,d=p.concat(e);y>-1&&y<e.children.length;){const t=e.children[y];if(a=n(t,y,d)(),a[0]===i)return a;y="number"==typeof a[1]?a[1]:y+s}}return h}}(t,void 0,[])()}function f(t,e,r){const o=n((r||{}).ignore||[]),i=function(n){const t=[];if(!Array.isArray(n))throw new TypeError("Expected find and replace tuple or list of tuples");const e=!n[0]||Array.isArray(n[0])?n:[n];let r=-1;for(;++r<e.length;){const n=e[r];t.push([c(n[0]),l(n[1])])}return t}(e);let f=-1;for(;++f<i.length;)u(t,"text",s);function s(n,t){let e,r=-1;for(;++r<t.length;){const n=t[r],i=e?e.children:void 0;if(o(n,i?i.indexOf(n):void 0,e))return;e=n}if(e)return function(n,t){const e=t[t.length-1],r=i[f][0],o=i[f][1];let u=0;const c=e.children.indexOf(n);let l=!1,s=[];r.lastIndex=0;let p=r.exec(n.value);for(;p;){const e=p.index,i={index:p.index,input:p.input,stack:[...t,n]};let f=o(...p,i);if("string"==typeof f&&(f=f.length>0?{type:"text",value:f}:void 0),!1===f?r.lastIndex=e+1:(u!==e&&s.push({type:"text",value:n.value.slice(u,e)}),Array.isArray(f)?s.push(...f):f&&s.push(f),u=e+p[0].length,l=!0),!r.global)break;p=r.exec(n.value)}l?(u<n.value.length&&s.push({type:"text",value:n.value.slice(u)}),e.children.splice(c,1,...s)):s=[n];return c+s.length}(n,t)}}function c(n){return"string"==typeof n?new RegExp(function(n){if("string"!=typeof n)throw new TypeError("Expected a string");return n.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}(n),"g"):n}function l(n){return"function"==typeof n?n:function(){return n}}function s(){return{type:"break"}}function p(){return function(n){!function(n){f(n,[/\r?\n|\r/g,s])}(n)}}var a={remark:n=>n.use(p)};export{a as default};
@@ -2,7 +2,7 @@ import { expect, test } from "@libs/testing"
2
2
  import { Renderer } from "../renderer.ts"
3
3
  import plugin from "./linebreaks.ts"
4
4
 
5
- test("deno")("Plugin.linebreaks renders hard linebreaks", async () => {
5
+ test("deno")("`Plugin.linebreaks` renders hard linebreaks", async () => {
6
6
  const markdown = new Renderer({ plugins: [plugin] })
7
7
  await expect(markdown.render("foo\nbar")).resolves.toMatch(/foo<br>\nbar/)
8
8
  })
@@ -2,12 +2,12 @@ import { expect, test } from "@libs/testing"
2
2
  import { Renderer } from "../renderer.ts"
3
3
  import plugin from "./markers.ts"
4
4
 
5
- test("deno")("Plugin.markers renders markers", async () => {
5
+ test("deno")("`Plugin.markers` renders markers", async () => {
6
6
  const markdown = new Renderer({ plugins: [plugin] })
7
7
  await expect(markdown.render("==foo==")).resolves.toMatch(/<mark class="">foo<\/mark>/)
8
8
  })
9
9
 
10
- test("deno")("Plugin.markers renders colored markers", async () => {
10
+ test("deno")("`Plugin.markers` renders colored markers", async () => {
11
11
  const markdown = new Renderer({ plugins: [plugin] })
12
12
  await expect(markdown.render("=r=foo==")).resolves.toMatch(/<mark class="" r="">foo<\/mark>/)
13
13
  })