marked 11.0.0 → 11.1.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/lib/marked.cjs +31 -6
- package/lib/marked.cjs.map +1 -1
- package/lib/marked.d.cts +29 -20
- package/lib/marked.d.ts +29 -20
- package/lib/marked.esm.js +31 -6
- package/lib/marked.esm.js.map +1 -1
- package/lib/marked.umd.js +31 -6
- package/lib/marked.umd.js.map +1 -1
- package/man/marked.1 +1 -1
- package/marked.min.js +2 -2
- package/package.json +9 -9
package/lib/marked.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* marked v11.
|
|
2
|
+
* marked v11.1.0 - a markdown parser
|
|
3
3
|
* Copyright (c) 2011-2023, Christopher Jeffrey. (MIT Licensed)
|
|
4
4
|
* https://github.com/markedjs/marked
|
|
5
5
|
*/
|
|
@@ -2024,7 +2024,8 @@ class _Hooks {
|
|
|
2024
2024
|
}
|
|
2025
2025
|
static passThroughHooks = new Set([
|
|
2026
2026
|
'preprocess',
|
|
2027
|
-
'postprocess'
|
|
2027
|
+
'postprocess',
|
|
2028
|
+
'processAllTokens'
|
|
2028
2029
|
]);
|
|
2029
2030
|
/**
|
|
2030
2031
|
* Process markdown before marked
|
|
@@ -2038,6 +2039,12 @@ class _Hooks {
|
|
|
2038
2039
|
postprocess(html) {
|
|
2039
2040
|
return html;
|
|
2040
2041
|
}
|
|
2042
|
+
/**
|
|
2043
|
+
* Process all tokens before walk tokens
|
|
2044
|
+
*/
|
|
2045
|
+
processAllTokens(tokens) {
|
|
2046
|
+
return tokens;
|
|
2047
|
+
}
|
|
2041
2048
|
}
|
|
2042
2049
|
|
|
2043
2050
|
class Marked {
|
|
@@ -2163,9 +2170,13 @@ class Marked {
|
|
|
2163
2170
|
if (pack.renderer) {
|
|
2164
2171
|
const renderer = this.defaults.renderer || new _Renderer(this.defaults);
|
|
2165
2172
|
for (const prop in pack.renderer) {
|
|
2166
|
-
if (!(prop in renderer)
|
|
2173
|
+
if (!(prop in renderer)) {
|
|
2167
2174
|
throw new Error(`renderer '${prop}' does not exist`);
|
|
2168
2175
|
}
|
|
2176
|
+
if (prop === 'options') {
|
|
2177
|
+
// ignore options property
|
|
2178
|
+
continue;
|
|
2179
|
+
}
|
|
2169
2180
|
const rendererProp = prop;
|
|
2170
2181
|
const rendererFunc = pack.renderer[rendererProp];
|
|
2171
2182
|
const prevRenderer = renderer[rendererProp];
|
|
@@ -2183,9 +2194,13 @@ class Marked {
|
|
|
2183
2194
|
if (pack.tokenizer) {
|
|
2184
2195
|
const tokenizer = this.defaults.tokenizer || new _Tokenizer(this.defaults);
|
|
2185
2196
|
for (const prop in pack.tokenizer) {
|
|
2186
|
-
if (!(prop in tokenizer)
|
|
2197
|
+
if (!(prop in tokenizer)) {
|
|
2187
2198
|
throw new Error(`tokenizer '${prop}' does not exist`);
|
|
2188
2199
|
}
|
|
2200
|
+
if (['options', 'rules', 'lexer'].includes(prop)) {
|
|
2201
|
+
// ignore options, rules, and lexer properties
|
|
2202
|
+
continue;
|
|
2203
|
+
}
|
|
2189
2204
|
const tokenizerProp = prop;
|
|
2190
2205
|
const tokenizerFunc = pack.tokenizer[tokenizerProp];
|
|
2191
2206
|
const prevTokenizer = tokenizer[tokenizerProp];
|
|
@@ -2205,13 +2220,18 @@ class Marked {
|
|
|
2205
2220
|
if (pack.hooks) {
|
|
2206
2221
|
const hooks = this.defaults.hooks || new _Hooks();
|
|
2207
2222
|
for (const prop in pack.hooks) {
|
|
2208
|
-
if (!(prop in hooks)
|
|
2223
|
+
if (!(prop in hooks)) {
|
|
2209
2224
|
throw new Error(`hook '${prop}' does not exist`);
|
|
2210
2225
|
}
|
|
2226
|
+
if (prop === 'options') {
|
|
2227
|
+
// ignore options property
|
|
2228
|
+
continue;
|
|
2229
|
+
}
|
|
2211
2230
|
const hooksProp = prop;
|
|
2212
2231
|
const hooksFunc = pack.hooks[hooksProp];
|
|
2213
2232
|
const prevHook = hooks[hooksProp];
|
|
2214
2233
|
if (_Hooks.passThroughHooks.has(prop)) {
|
|
2234
|
+
// @ts-expect-error cannot type hook function dynamically
|
|
2215
2235
|
hooks[hooksProp] = (arg) => {
|
|
2216
2236
|
if (this.defaults.async) {
|
|
2217
2237
|
return Promise.resolve(hooksFunc.call(hooks, arg)).then(ret => {
|
|
@@ -2223,6 +2243,7 @@ class Marked {
|
|
|
2223
2243
|
};
|
|
2224
2244
|
}
|
|
2225
2245
|
else {
|
|
2246
|
+
// @ts-expect-error cannot type hook function dynamically
|
|
2226
2247
|
hooks[hooksProp] = (...args) => {
|
|
2227
2248
|
let ret = hooksFunc.apply(hooks, args);
|
|
2228
2249
|
if (ret === false) {
|
|
@@ -2287,6 +2308,7 @@ class Marked {
|
|
|
2287
2308
|
if (opt.async) {
|
|
2288
2309
|
return Promise.resolve(opt.hooks ? opt.hooks.preprocess(src) : src)
|
|
2289
2310
|
.then(src => lexer(src, opt))
|
|
2311
|
+
.then(tokens => opt.hooks ? opt.hooks.processAllTokens(tokens) : tokens)
|
|
2290
2312
|
.then(tokens => opt.walkTokens ? Promise.all(this.walkTokens(tokens, opt.walkTokens)).then(() => tokens) : tokens)
|
|
2291
2313
|
.then(tokens => parser(tokens, opt))
|
|
2292
2314
|
.then(html => opt.hooks ? opt.hooks.postprocess(html) : html)
|
|
@@ -2296,7 +2318,10 @@ class Marked {
|
|
|
2296
2318
|
if (opt.hooks) {
|
|
2297
2319
|
src = opt.hooks.preprocess(src);
|
|
2298
2320
|
}
|
|
2299
|
-
|
|
2321
|
+
let tokens = lexer(src, opt);
|
|
2322
|
+
if (opt.hooks) {
|
|
2323
|
+
tokens = opt.hooks.processAllTokens(tokens);
|
|
2324
|
+
}
|
|
2300
2325
|
if (opt.walkTokens) {
|
|
2301
2326
|
this.walkTokens(tokens, opt.walkTokens);
|
|
2302
2327
|
}
|