(...e)
| 1981 | return n; |
| 1982 | } |
| 1983 | use(...e) { |
| 1984 | let t = this.defaults.extensions || { renderers: {}, childTokens: {} }; |
| 1985 | return ( |
| 1986 | e.forEach((n) => { |
| 1987 | let s = { ...n }; |
| 1988 | if ( |
| 1989 | ((s.async = this.defaults.async || s.async || !1), |
| 1990 | n.extensions && |
| 1991 | (n.extensions.forEach((i) => { |
| 1992 | if (!i.name) throw new Error("extension name required"); |
| 1993 | if ("renderer" in i) { |
| 1994 | let r = t.renderers[i.name]; |
| 1995 | r |
| 1996 | ? (t.renderers[i.name] = function (...o) { |
| 1997 | let a = i.renderer.apply(this, o); |
| 1998 | return (a === !1 && (a = r.apply(this, o)), a); |
| 1999 | }) |
| 2000 | : (t.renderers[i.name] = i.renderer); |
| 2001 | } |
| 2002 | if ("tokenizer" in i) { |
| 2003 | if ( |
| 2004 | !i.level || |
| 2005 | (i.level !== "block" && i.level !== "inline") |
| 2006 | ) |
| 2007 | throw new Error( |
| 2008 | "extension level must be 'block' or 'inline'", |
| 2009 | ); |
| 2010 | let r = t[i.level]; |
| 2011 | (r ? r.unshift(i.tokenizer) : (t[i.level] = [i.tokenizer]), |
| 2012 | i.start && |
| 2013 | (i.level === "block" |
| 2014 | ? t.startBlock |
| 2015 | ? t.startBlock.push(i.start) |
| 2016 | : (t.startBlock = [i.start]) |
| 2017 | : i.level === "inline" && |
| 2018 | (t.startInline |
| 2019 | ? t.startInline.push(i.start) |
| 2020 | : (t.startInline = [i.start])))); |
| 2021 | } |
| 2022 | "childTokens" in i && |
| 2023 | i.childTokens && |
| 2024 | (t.childTokens[i.name] = i.childTokens); |
| 2025 | }), |
| 2026 | (s.extensions = t)), |
| 2027 | n.renderer) |
| 2028 | ) { |
| 2029 | let i = this.defaults.renderer || new $(this.defaults); |
| 2030 | for (let r in n.renderer) { |
| 2031 | if (!(r in i)) |
| 2032 | throw new Error(`renderer '${r}' does not exist`); |
| 2033 | if (["options", "parser"].includes(r)) continue; |
| 2034 | let o = r, |
| 2035 | a = n.renderer[o], |
| 2036 | c = i[o]; |
| 2037 | i[o] = (...p) => { |
| 2038 | let u = a.apply(i, p); |
| 2039 | return (u === !1 && (u = c.apply(i, p)), u || ""); |
| 2040 | }; |
no outgoing calls
no test coverage detected