remark-shiki-twoslash
Advanced tools
Comparing version 1.4.8 to 1.5.0
@@ -939,74 +939,43 @@ 'use strict'; | ||
var highlighterCache = /*#__PURE__*/new WeakMap(); | ||
var highlighterCache = /*#__PURE__*/new Map(); | ||
/** Sets up the highlighters, and cache's for recalls */ | ||
var highlightersFromSettings = /*#__PURE__*/function () { | ||
var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2(settings) { | ||
var themes, highlighters; | ||
return runtime_1.wrap(function _callee2$(_context2) { | ||
while (1) { | ||
switch (_context2.prev = _context2.next) { | ||
case 0: | ||
themes = settings.themes || (settings.theme ? [settings.theme] : ["light-plus"]); | ||
if (!highlighterCache.has(settings)) { | ||
_context2.next = 3; | ||
break; | ||
} | ||
return _context2.abrupt("return", highlighterCache.get(settings)); | ||
case 3: | ||
_context2.next = 5; | ||
return Promise.all(themes.map( /*#__PURE__*/function () { | ||
var _ref2 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(theme) { | ||
var themeName, highlighter; | ||
return runtime_1.wrap(function _callee$(_context) { | ||
while (1) { | ||
switch (_context.prev = _context.next) { | ||
case 0: | ||
// You can put a string, a path, or the JSON theme obj | ||
themeName = theme.name || theme; | ||
_context.next = 3; | ||
return shiki.getHighlighter(_extends({}, settings, { | ||
theme: theme, | ||
themes: undefined | ||
})); | ||
case 3: | ||
highlighter = _context.sent; | ||
// @ts-ignore - https://github.com/shikijs/shiki/pull/162 will fix this | ||
highlighter.customName = themeName; | ||
return _context.abrupt("return", highlighter); | ||
case 6: | ||
case "end": | ||
return _context.stop(); | ||
} | ||
} | ||
}, _callee); | ||
var highlightersFromSettings = function highlightersFromSettings(settings) { | ||
// console.log("i should only log once per theme") | ||
// ^ uncomment this to debug if required | ||
var themes = settings.themes || (settings.theme ? [settings.theme] : ["light-plus"]); | ||
return Promise.all(themes.map( /*#__PURE__*/function () { | ||
var _ref = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(theme) { | ||
var themeName, highlighter; | ||
return runtime_1.wrap(function _callee$(_context) { | ||
while (1) { | ||
switch (_context.prev = _context.next) { | ||
case 0: | ||
// You can put a string, a path, or the JSON theme obj | ||
themeName = theme.name || theme; | ||
_context.next = 3; | ||
return shiki.getHighlighter(_extends({}, settings, { | ||
theme: theme, | ||
themes: undefined | ||
})); | ||
return function (_x2) { | ||
return _ref2.apply(this, arguments); | ||
}; | ||
}())); | ||
case 3: | ||
highlighter = _context.sent; | ||
// @ts-ignore - https://github.com/shikijs/shiki/pull/162 will fix this | ||
highlighter.customName = themeName; | ||
return _context.abrupt("return", highlighter); | ||
case 5: | ||
highlighters = _context2.sent; | ||
highlighterCache.set(settings, highlighters); | ||
return _context2.abrupt("return", highlighters); | ||
case 8: | ||
case "end": | ||
return _context2.stop(); | ||
case 6: | ||
case "end": | ||
return _context.stop(); | ||
} | ||
} | ||
} | ||
}, _callee2); | ||
})); | ||
}, _callee); | ||
})); | ||
return function highlightersFromSettings(_x) { | ||
return _ref.apply(this, arguments); | ||
}; | ||
}(); | ||
return function (_x) { | ||
return _ref.apply(this, arguments); | ||
}; | ||
}())); | ||
}; | ||
@@ -1040,14 +1009,18 @@ var amendSettingsForDefaults = function amendSettingsForDefaults(settings) { | ||
if (!highlighterCache.has(settings)) { | ||
highlighterCache.set(settings, highlightersFromSettings(settings)); | ||
} | ||
var transform = /*#__PURE__*/function () { | ||
var _ref3 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee3(markdownAST) { | ||
var _ref2 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2(markdownAST) { | ||
var highlighters; | ||
return runtime_1.wrap(function _callee3$(_context3) { | ||
return runtime_1.wrap(function _callee2$(_context2) { | ||
while (1) { | ||
switch (_context3.prev = _context3.next) { | ||
switch (_context2.prev = _context2.next) { | ||
case 0: | ||
_context3.next = 2; | ||
return highlightersFromSettings(settings); | ||
_context2.next = 2; | ||
return highlighterCache.get(settings); | ||
case 2: | ||
highlighters = _context3.sent; | ||
highlighters = _context2.sent; | ||
parsingNewFile(); | ||
@@ -1058,10 +1031,10 @@ visit(markdownAST, "code", remarkVisitor(highlighters, settings)); | ||
case "end": | ||
return _context3.stop(); | ||
return _context2.stop(); | ||
} | ||
} | ||
}, _callee3); | ||
}, _callee2); | ||
})); | ||
return function transform(_x3) { | ||
return _ref3.apply(this, arguments); | ||
return function transform(_x2) { | ||
return _ref2.apply(this, arguments); | ||
}; | ||
@@ -1105,7 +1078,7 @@ }(); | ||
var setupForFile = /*#__PURE__*/function () { | ||
var _ref4 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee4(settings) { | ||
var _ref3 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee3(settings) { | ||
var highlighters; | ||
return runtime_1.wrap(function _callee4$(_context4) { | ||
return runtime_1.wrap(function _callee3$(_context3) { | ||
while (1) { | ||
switch (_context4.prev = _context4.next) { | ||
switch (_context3.prev = _context3.next) { | ||
case 0: | ||
@@ -1118,8 +1091,13 @@ if (settings === void 0) { | ||
parsingNewFile(); | ||
_context4.next = 5; | ||
return highlightersFromSettings(settings); | ||
case 5: | ||
highlighters = _context4.sent; | ||
return _context4.abrupt("return", { | ||
if (!highlighterCache.has(settings)) { | ||
highlighterCache.set(settings, highlightersFromSettings(settings)); | ||
} | ||
_context3.next = 6; | ||
return highlighterCache.get(settings); | ||
case 6: | ||
highlighters = _context3.sent; | ||
return _context3.abrupt("return", { | ||
settings: settings, | ||
@@ -1129,12 +1107,12 @@ highlighters: highlighters | ||
case 7: | ||
case 8: | ||
case "end": | ||
return _context4.stop(); | ||
return _context3.stop(); | ||
} | ||
} | ||
}, _callee4); | ||
}, _callee3); | ||
})); | ||
return function setupForFile(_x4) { | ||
return _ref4.apply(this, arguments); | ||
return function setupForFile(_x3) { | ||
return _ref3.apply(this, arguments); | ||
}; | ||
@@ -1141,0 +1119,0 @@ }(); |
@@ -1,2 +0,2 @@ | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t,r=require("shiki-twoslash"),e=require("shiki"),n=(t=require("unist-util-visit"))&&"object"==typeof t&&"default"in t?t.default:t;function o(t,r,e,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void e(t)}u.done?r(c):Promise.resolve(c).then(n,o)}function i(t){return function(){var r=this,e=arguments;return new Promise((function(n,i){var a=t.apply(r,e);function u(t){o(a,n,i,u,c,"next",t)}function c(t){o(a,n,i,u,c,"throw",t)}u(void 0)}))}}function a(){return(a=Object.assign||function(t){for(var r=1;r<arguments.length;r++){var e=arguments[r];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])}return t}).apply(this,arguments)}function u(t,r){return t(r={exports:{}},r.exports),r.exports}var c=u((function(t){var r=function(t){var r=Object.prototype,e=r.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},o=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",a=n.toStringTag||"@@toStringTag";function u(t,r,e){return Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{u({},"")}catch(t){u=function(t,r,e){return t[r]=e}}function c(t,r,e,n){var o=Object.create((r&&r.prototype instanceof f?r:f).prototype),i=new E(n||[]);return o._invoke=function(t,r,e){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return{value:void 0,done:!0}}for(e.method=o,e.arg=i;;){var a=e.delegate;if(a){var u=x(a,e);if(u){if(u===h)continue;return u}}if("next"===e.method)e.sent=e._sent=e.arg;else if("throw"===e.method){if("suspendedStart"===n)throw n="completed",e.arg;e.dispatchException(e.arg)}else"return"===e.method&&e.abrupt("return",e.arg);n="executing";var c=s(t,r,e);if("normal"===c.type){if(n=e.done?"completed":"suspendedYield",c.arg===h)continue;return{value:c.arg,done:e.done}}"throw"===c.type&&(n="completed",e.method="throw",e.arg=c.arg)}}}(t,e,i),o}function s(t,r,e){try{return{type:"normal",arg:t.call(r,e)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var h={};function f(){}function l(){}function p(){}var v={};v[o]=function(){return this};var d=Object.getPrototypeOf,y=d&&d(d(j([])));y&&y!==r&&e.call(y,o)&&(v=y);var m=p.prototype=f.prototype=Object.create(v);function g(t){["next","throw","return"].forEach((function(r){u(t,r,(function(t){return this._invoke(r,t)}))}))}function w(t,r){var n;this._invoke=function(o,i){function a(){return new r((function(n,a){!function n(o,i,a,u){var c=s(t[o],t,i);if("throw"!==c.type){var h=c.arg,f=h.value;return f&&"object"==typeof f&&e.call(f,"__await")?r.resolve(f.__await).then((function(t){n("next",t,a,u)}),(function(t){n("throw",t,a,u)})):r.resolve(f).then((function(t){h.value=t,a(h)}),(function(t){return n("throw",t,a,u)}))}u(c.arg)}(o,i,n,a)}))}return n=n?n.then(a,a):a()}}function x(t,r){var e=t.iterator[r.method];if(void 0===e){if(r.delegate=null,"throw"===r.method){if(t.iterator.return&&(r.method="return",r.arg=void 0,x(t,r),"throw"===r.method))return h;r.method="throw",r.arg=new TypeError("The iterator does not provide a 'throw' method")}return h}var n=s(e,t.iterator,r.arg);if("throw"===n.type)return r.method="throw",r.arg=n.arg,r.delegate=null,h;var o=n.arg;return o?o.done?(r[t.resultName]=o.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=void 0),r.delegate=null,h):o:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,h)}function b(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function L(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(b,this),this.reset(!0)}function j(t){if(t){var r=t[o];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,i=function r(){for(;++n<t.length;)if(e.call(t,n))return r.value=t[n],r.done=!1,r;return r.value=void 0,r.done=!0,r};return i.next=i}}return{next:k}}function k(){return{value:void 0,done:!0}}return l.prototype=m.constructor=p,p.constructor=l,l.displayName=u(p,a,"GeneratorFunction"),t.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===l||"GeneratorFunction"===(r.displayName||r.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,p):(t.__proto__=p,u(t,a,"GeneratorFunction")),t.prototype=Object.create(m),t},t.awrap=function(t){return{__await:t}},g(w.prototype),w.prototype[i]=function(){return this},t.AsyncIterator=w,t.async=function(r,e,n,o,i){void 0===i&&(i=Promise);var a=new w(c(r,e,n,o),i);return t.isGeneratorFunction(e)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},g(m),u(m,a,"Generator"),m[o]=function(){return this},m.toString=function(){return"[object Generator]"},t.keys=function(t){var r=[];for(var e in t)r.push(e);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=j,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(L),!t)for(var r in this)"t"===r.charAt(0)&&e.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function n(e,n){return a.type="throw",a.arg=t,r.next=e,n&&(r.method="next",r.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var u=e.call(i,"catchLoc"),c=e.call(i,"finallyLoc");if(u&&c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&e.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=r&&r<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=r,i?(this.method="next",this.next=i.finallyLoc,h):this.complete(a)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),h},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.finallyLoc===t)return this.complete(e.completion,e.afterLoc),L(e),h}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.tryLoc===t){var n=e.completion;if("throw"===n.type){var o=n.arg;L(e)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,e){return this.delegate={iterator:j(t),resultName:r,nextLoc:e},"next"===this.method&&(this.arg=void 0),h}},t}(t.exports);try{regeneratorRuntime=r}catch(t){Function("r","regeneratorRuntime = r")(r)}})),s=new Map;function h(t,e,n,o,i){var a,u={json5:"json"};if(u[e]&&(e=u[e]),"twoslash"===e){if(!n)throw new Error("A twoslash code block needs a pragma like 'twoslash include [name]'");!function(t,r,e){var n=e.split(" ")[1],o=[];r.split("\n").forEach((function(r,e){var i=r.trim();if(i.startsWith("// - ")){var a=i.split("// - ")[1].split(" ")[0];t.set(n+"-"+a,o.join("\n"))}else o.push(r)})),t.set(n,o.join("\n"))}(s,t,n),a=""}else a=o.map((function(o){var a=o.customName.split("/").pop().replace(".json","");return r.renderCodeToHTML(t,e,n.split(" "),{themeName:a},o,i)})).join("\n");return a}var f=function(t,e,n,o){if(void 0===o&&(o={}),!(process&&process.env&&process.env.TWOSLASH_DISABLE)&&n&&n.includes("twoslash"))return function(t,e,n){try{require("crypto")}catch(o){return r.runTwoSlash(t,e,n)}var o=require("crypto").createHash,i=require("fs"),a=i.readFileSync,u=i.existsSync,c=i.mkdirSync,s=i.writeFileSync,h=require("path").join,f=o("sha1").update(t).digest("hex"),l=h(__dirname,"..","..",".cache","twoslash"),p=h(l,f+".json");if(u(p))return JSON.parse(a(p,"utf8"));var v=r.runTwoSlash(t,e,n);return u(l)||c(l,{recursive:!0}),s(p,JSON.stringify(v),"utf8"),v}(function(t,r){for(var e,n=/\/\/ @include: (.*)$/gm,o=[];null!==(e=n.exec(r));){e.index===n.lastIndex&&n.lastIndex++;var i=e[1],a=t.get(i);if(!a){var u="Could not find an includes with the key: '"+i+"'.\nThere is: "+[].concat(t.keys())+".";throw new Error(u)}o.push([e.index,e[0].length,a])}var c=r.toString();return o.reverse().forEach((function(t){c=c.substring(0,t[0])+t[2]+c.substring(t[0]+t[1])})),c}(s,t),e,o)},l=new WeakMap,p=function(){var t=i(c.mark((function t(r){var n,o;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=r.themes||(r.theme?[r.theme]:["light-plus"]),!l.has(r)){t.next=3;break}return t.abrupt("return",l.get(r));case 3:return t.next=5,Promise.all(n.map(function(){var t=i(c.mark((function t(n){var o,i;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=n.name||n,t.next=3,e.getHighlighter(a({},r,{theme:n,themes:void 0}));case 3:return(i=t.sent).customName=o,t.abrupt("return",i);case 6:case"end":return t.stop()}}),t)})));return function(r){return t.apply(this,arguments)}}()));case 5:return l.set(r,o=t.sent),t.abrupt("return",o);case 8:case"end":return t.stop()}}),t)})));return function(r){return t.apply(this,arguments)}}(),v=function(t){if(!t.vfsRoot)try{t.vfsRoot=require("path").join(__dirname,"..","..","..")}catch(t){}},d=function(){return s.clear()},y=function(t,r){return void 0===r&&(r={}),function(e){var n=e.lang,o=e.meta?"string"==typeof e.meta?e.meta:e.meta.join(" "):"",i=f(e.value,n,o,r);i&&(e.value=i.code,e.lang=i.extension,e.twoslash=i);var a=h(e.value,n,o,t,i);e.type="html",e.value=a,e.children=[]}},m=function(){var t=i(c.mark((function t(r){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===r&&(r={}),v(r),d(),t.next=5,p(r);case 5:return t.abrupt("return",{settings:r,highlighters:t.sent});case 7:case"end":return t.stop()}}),t)})));return function(r){return t.apply(this,arguments)}}();exports.default=function(t){return void 0===t&&(t={}),v(t),function(){var r=i(c.mark((function r(e){var o;return c.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,p(t);case 2:o=r.sent,d(),n(e,"code",y(o,t));case 5:case"end":return r.stop()}}),r)})));return function(t){return r.apply(this,arguments)}}()},exports.highlightersFromSettings=p,exports.remarkVisitor=y,exports.runTwoSlashOnNode=f,exports.setupForFile=m,exports.transformAttributesToHTML=function(t,r,e,n,o){var i=f(t,r,e,o);return h(i&&i.code||t,r,e,n,i)}; | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t,r=require("shiki-twoslash"),e=require("shiki"),n=(t=require("unist-util-visit"))&&"object"==typeof t&&"default"in t?t.default:t;function o(t,r,e,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void e(t)}u.done?r(c):Promise.resolve(c).then(n,o)}function i(t){return function(){var r=this,e=arguments;return new Promise((function(n,i){var a=t.apply(r,e);function u(t){o(a,n,i,u,c,"next",t)}function c(t){o(a,n,i,u,c,"throw",t)}u(void 0)}))}}function a(){return(a=Object.assign||function(t){for(var r=1;r<arguments.length;r++){var e=arguments[r];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])}return t}).apply(this,arguments)}function u(t,r){return t(r={exports:{}},r.exports),r.exports}var c=u((function(t){var r=function(t){var r=Object.prototype,e=r.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},o=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",a=n.toStringTag||"@@toStringTag";function u(t,r,e){return Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{u({},"")}catch(t){u=function(t,r,e){return t[r]=e}}function c(t,r,e,n){var o=Object.create((r&&r.prototype instanceof f?r:f).prototype),i=new E(n||[]);return o._invoke=function(t,r,e){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return{value:void 0,done:!0}}for(e.method=o,e.arg=i;;){var a=e.delegate;if(a){var u=x(a,e);if(u){if(u===h)continue;return u}}if("next"===e.method)e.sent=e._sent=e.arg;else if("throw"===e.method){if("suspendedStart"===n)throw n="completed",e.arg;e.dispatchException(e.arg)}else"return"===e.method&&e.abrupt("return",e.arg);n="executing";var c=s(t,r,e);if("normal"===c.type){if(n=e.done?"completed":"suspendedYield",c.arg===h)continue;return{value:c.arg,done:e.done}}"throw"===c.type&&(n="completed",e.method="throw",e.arg=c.arg)}}}(t,e,i),o}function s(t,r,e){try{return{type:"normal",arg:t.call(r,e)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var h={};function f(){}function l(){}function p(){}var v={};v[o]=function(){return this};var d=Object.getPrototypeOf,y=d&&d(d(j([])));y&&y!==r&&e.call(y,o)&&(v=y);var g=p.prototype=f.prototype=Object.create(v);function m(t){["next","throw","return"].forEach((function(r){u(t,r,(function(t){return this._invoke(r,t)}))}))}function w(t,r){var n;this._invoke=function(o,i){function a(){return new r((function(n,a){!function n(o,i,a,u){var c=s(t[o],t,i);if("throw"!==c.type){var h=c.arg,f=h.value;return f&&"object"==typeof f&&e.call(f,"__await")?r.resolve(f.__await).then((function(t){n("next",t,a,u)}),(function(t){n("throw",t,a,u)})):r.resolve(f).then((function(t){h.value=t,a(h)}),(function(t){return n("throw",t,a,u)}))}u(c.arg)}(o,i,n,a)}))}return n=n?n.then(a,a):a()}}function x(t,r){var e=t.iterator[r.method];if(void 0===e){if(r.delegate=null,"throw"===r.method){if(t.iterator.return&&(r.method="return",r.arg=void 0,x(t,r),"throw"===r.method))return h;r.method="throw",r.arg=new TypeError("The iterator does not provide a 'throw' method")}return h}var n=s(e,t.iterator,r.arg);if("throw"===n.type)return r.method="throw",r.arg=n.arg,r.delegate=null,h;var o=n.arg;return o?o.done?(r[t.resultName]=o.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=void 0),r.delegate=null,h):o:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,h)}function L(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function b(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(L,this),this.reset(!0)}function j(t){if(t){var r=t[o];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,i=function r(){for(;++n<t.length;)if(e.call(t,n))return r.value=t[n],r.done=!1,r;return r.value=void 0,r.done=!0,r};return i.next=i}}return{next:_}}function _(){return{value:void 0,done:!0}}return l.prototype=g.constructor=p,p.constructor=l,l.displayName=u(p,a,"GeneratorFunction"),t.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===l||"GeneratorFunction"===(r.displayName||r.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,p):(t.__proto__=p,u(t,a,"GeneratorFunction")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},m(w.prototype),w.prototype[i]=function(){return this},t.AsyncIterator=w,t.async=function(r,e,n,o,i){void 0===i&&(i=Promise);var a=new w(c(r,e,n,o),i);return t.isGeneratorFunction(e)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},m(g),u(g,a,"Generator"),g[o]=function(){return this},g.toString=function(){return"[object Generator]"},t.keys=function(t){var r=[];for(var e in t)r.push(e);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=j,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(b),!t)for(var r in this)"t"===r.charAt(0)&&e.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function n(e,n){return a.type="throw",a.arg=t,r.next=e,n&&(r.method="next",r.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var u=e.call(i,"catchLoc"),c=e.call(i,"finallyLoc");if(u&&c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&e.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=r&&r<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=r,i?(this.method="next",this.next=i.finallyLoc,h):this.complete(a)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),h},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.finallyLoc===t)return this.complete(e.completion,e.afterLoc),b(e),h}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.tryLoc===t){var n=e.completion;if("throw"===n.type){var o=n.arg;b(e)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,e){return this.delegate={iterator:j(t),resultName:r,nextLoc:e},"next"===this.method&&(this.arg=void 0),h}},t}(t.exports);try{regeneratorRuntime=r}catch(t){Function("r","regeneratorRuntime = r")(r)}})),s=new Map;function h(t,e,n,o,i){var a,u={json5:"json"};if(u[e]&&(e=u[e]),"twoslash"===e){if(!n)throw new Error("A twoslash code block needs a pragma like 'twoslash include [name]'");!function(t,r,e){var n=e.split(" ")[1],o=[];r.split("\n").forEach((function(r,e){var i=r.trim();if(i.startsWith("// - ")){var a=i.split("// - ")[1].split(" ")[0];t.set(n+"-"+a,o.join("\n"))}else o.push(r)})),t.set(n,o.join("\n"))}(s,t,n),a=""}else a=o.map((function(o){var a=o.customName.split("/").pop().replace(".json","");return r.renderCodeToHTML(t,e,n.split(" "),{themeName:a},o,i)})).join("\n");return a}var f=function(t,e,n,o){if(void 0===o&&(o={}),!(process&&process.env&&process.env.TWOSLASH_DISABLE)&&n&&n.includes("twoslash"))return function(t,e,n){try{require("crypto")}catch(o){return r.runTwoSlash(t,e,n)}var o=require("crypto").createHash,i=require("fs"),a=i.readFileSync,u=i.existsSync,c=i.mkdirSync,s=i.writeFileSync,h=require("path").join,f=o("sha1").update(t).digest("hex"),l=h(__dirname,"..","..",".cache","twoslash"),p=h(l,f+".json");if(u(p))return JSON.parse(a(p,"utf8"));var v=r.runTwoSlash(t,e,n);return u(l)||c(l,{recursive:!0}),s(p,JSON.stringify(v),"utf8"),v}(function(t,r){for(var e,n=/\/\/ @include: (.*)$/gm,o=[];null!==(e=n.exec(r));){e.index===n.lastIndex&&n.lastIndex++;var i=e[1],a=t.get(i);if(!a){var u="Could not find an includes with the key: '"+i+"'.\nThere is: "+[].concat(t.keys())+".";throw new Error(u)}o.push([e.index,e[0].length,a])}var c=r.toString();return o.reverse().forEach((function(t){c=c.substring(0,t[0])+t[2]+c.substring(t[0]+t[1])})),c}(s,t),e,o)},l=new Map,p=function(t){return Promise.all((t.themes||(t.theme?[t.theme]:["light-plus"])).map(function(){var r=i(c.mark((function r(n){var o,i;return c.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return o=n.name||n,r.next=3,e.getHighlighter(a({},t,{theme:n,themes:void 0}));case 3:return(i=r.sent).customName=o,r.abrupt("return",i);case 6:case"end":return r.stop()}}),r)})));return function(t){return r.apply(this,arguments)}}()))},v=function(t){if(!t.vfsRoot)try{t.vfsRoot=require("path").join(__dirname,"..","..","..")}catch(t){}},d=function(){return s.clear()},y=function(t,r){return void 0===r&&(r={}),function(e){var n=e.lang,o=e.meta?"string"==typeof e.meta?e.meta:e.meta.join(" "):"",i=f(e.value,n,o,r);i&&(e.value=i.code,e.lang=i.extension,e.twoslash=i);var a=h(e.value,n,o,t,i);e.type="html",e.value=a,e.children=[]}},g=function(){var t=i(c.mark((function t(r){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===r&&(r={}),v(r),d(),l.has(r)||l.set(r,p(r)),t.next=6,l.get(r);case 6:return t.abrupt("return",{settings:r,highlighters:t.sent});case 8:case"end":return t.stop()}}),t)})));return function(r){return t.apply(this,arguments)}}();exports.default=function(t){return void 0===t&&(t={}),v(t),l.has(t)||l.set(t,p(t)),function(){var r=i(c.mark((function r(e){var o;return c.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,l.get(t);case 2:o=r.sent,d(),n(e,"code",y(o,t));case 5:case"end":return r.stop()}}),r)})));return function(t){return r.apply(this,arguments)}}()},exports.highlightersFromSettings=p,exports.remarkVisitor=y,exports.runTwoSlashOnNode=f,exports.setupForFile=g,exports.transformAttributesToHTML=function(t,r,e,n,o){var i=f(t,r,e,o);return h(i&&i.code||t,r,e,n,i)}; | ||
//# sourceMappingURL=remark-shiki-twoslash.cjs.production.min.js.map |
@@ -933,74 +933,43 @@ import { runTwoSlash, renderCodeToHTML } from 'shiki-twoslash'; | ||
var highlighterCache = /*#__PURE__*/new WeakMap(); | ||
var highlighterCache = /*#__PURE__*/new Map(); | ||
/** Sets up the highlighters, and cache's for recalls */ | ||
var highlightersFromSettings = /*#__PURE__*/function () { | ||
var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2(settings) { | ||
var themes, highlighters; | ||
return runtime_1.wrap(function _callee2$(_context2) { | ||
while (1) { | ||
switch (_context2.prev = _context2.next) { | ||
case 0: | ||
themes = settings.themes || (settings.theme ? [settings.theme] : ["light-plus"]); | ||
if (!highlighterCache.has(settings)) { | ||
_context2.next = 3; | ||
break; | ||
} | ||
return _context2.abrupt("return", highlighterCache.get(settings)); | ||
case 3: | ||
_context2.next = 5; | ||
return Promise.all(themes.map( /*#__PURE__*/function () { | ||
var _ref2 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(theme) { | ||
var themeName, highlighter; | ||
return runtime_1.wrap(function _callee$(_context) { | ||
while (1) { | ||
switch (_context.prev = _context.next) { | ||
case 0: | ||
// You can put a string, a path, or the JSON theme obj | ||
themeName = theme.name || theme; | ||
_context.next = 3; | ||
return getHighlighter(_extends({}, settings, { | ||
theme: theme, | ||
themes: undefined | ||
})); | ||
case 3: | ||
highlighter = _context.sent; | ||
// @ts-ignore - https://github.com/shikijs/shiki/pull/162 will fix this | ||
highlighter.customName = themeName; | ||
return _context.abrupt("return", highlighter); | ||
case 6: | ||
case "end": | ||
return _context.stop(); | ||
} | ||
} | ||
}, _callee); | ||
var highlightersFromSettings = function highlightersFromSettings(settings) { | ||
// console.log("i should only log once per theme") | ||
// ^ uncomment this to debug if required | ||
var themes = settings.themes || (settings.theme ? [settings.theme] : ["light-plus"]); | ||
return Promise.all(themes.map( /*#__PURE__*/function () { | ||
var _ref = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(theme) { | ||
var themeName, highlighter; | ||
return runtime_1.wrap(function _callee$(_context) { | ||
while (1) { | ||
switch (_context.prev = _context.next) { | ||
case 0: | ||
// You can put a string, a path, or the JSON theme obj | ||
themeName = theme.name || theme; | ||
_context.next = 3; | ||
return getHighlighter(_extends({}, settings, { | ||
theme: theme, | ||
themes: undefined | ||
})); | ||
return function (_x2) { | ||
return _ref2.apply(this, arguments); | ||
}; | ||
}())); | ||
case 3: | ||
highlighter = _context.sent; | ||
// @ts-ignore - https://github.com/shikijs/shiki/pull/162 will fix this | ||
highlighter.customName = themeName; | ||
return _context.abrupt("return", highlighter); | ||
case 5: | ||
highlighters = _context2.sent; | ||
highlighterCache.set(settings, highlighters); | ||
return _context2.abrupt("return", highlighters); | ||
case 8: | ||
case "end": | ||
return _context2.stop(); | ||
case 6: | ||
case "end": | ||
return _context.stop(); | ||
} | ||
} | ||
} | ||
}, _callee2); | ||
})); | ||
}, _callee); | ||
})); | ||
return function highlightersFromSettings(_x) { | ||
return _ref.apply(this, arguments); | ||
}; | ||
}(); | ||
return function (_x) { | ||
return _ref.apply(this, arguments); | ||
}; | ||
}())); | ||
}; | ||
@@ -1034,14 +1003,18 @@ var amendSettingsForDefaults = function amendSettingsForDefaults(settings) { | ||
if (!highlighterCache.has(settings)) { | ||
highlighterCache.set(settings, highlightersFromSettings(settings)); | ||
} | ||
var transform = /*#__PURE__*/function () { | ||
var _ref3 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee3(markdownAST) { | ||
var _ref2 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2(markdownAST) { | ||
var highlighters; | ||
return runtime_1.wrap(function _callee3$(_context3) { | ||
return runtime_1.wrap(function _callee2$(_context2) { | ||
while (1) { | ||
switch (_context3.prev = _context3.next) { | ||
switch (_context2.prev = _context2.next) { | ||
case 0: | ||
_context3.next = 2; | ||
return highlightersFromSettings(settings); | ||
_context2.next = 2; | ||
return highlighterCache.get(settings); | ||
case 2: | ||
highlighters = _context3.sent; | ||
highlighters = _context2.sent; | ||
parsingNewFile(); | ||
@@ -1052,10 +1025,10 @@ visit(markdownAST, "code", remarkVisitor(highlighters, settings)); | ||
case "end": | ||
return _context3.stop(); | ||
return _context2.stop(); | ||
} | ||
} | ||
}, _callee3); | ||
}, _callee2); | ||
})); | ||
return function transform(_x3) { | ||
return _ref3.apply(this, arguments); | ||
return function transform(_x2) { | ||
return _ref2.apply(this, arguments); | ||
}; | ||
@@ -1099,7 +1072,7 @@ }(); | ||
var setupForFile = /*#__PURE__*/function () { | ||
var _ref4 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee4(settings) { | ||
var _ref3 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee3(settings) { | ||
var highlighters; | ||
return runtime_1.wrap(function _callee4$(_context4) { | ||
return runtime_1.wrap(function _callee3$(_context3) { | ||
while (1) { | ||
switch (_context4.prev = _context4.next) { | ||
switch (_context3.prev = _context3.next) { | ||
case 0: | ||
@@ -1112,8 +1085,13 @@ if (settings === void 0) { | ||
parsingNewFile(); | ||
_context4.next = 5; | ||
return highlightersFromSettings(settings); | ||
case 5: | ||
highlighters = _context4.sent; | ||
return _context4.abrupt("return", { | ||
if (!highlighterCache.has(settings)) { | ||
highlighterCache.set(settings, highlightersFromSettings(settings)); | ||
} | ||
_context3.next = 6; | ||
return highlighterCache.get(settings); | ||
case 6: | ||
highlighters = _context3.sent; | ||
return _context3.abrupt("return", { | ||
settings: settings, | ||
@@ -1123,12 +1101,12 @@ highlighters: highlighters | ||
case 7: | ||
case 8: | ||
case "end": | ||
return _context4.stop(); | ||
return _context3.stop(); | ||
} | ||
} | ||
}, _callee4); | ||
}, _callee3); | ||
})); | ||
return function setupForFile(_x4) { | ||
return _ref4.apply(this, arguments); | ||
return function setupForFile(_x3) { | ||
return _ref3.apply(this, arguments); | ||
}; | ||
@@ -1135,0 +1113,0 @@ }(); |
{ | ||
"name": "remark-shiki-twoslash", | ||
"version": "1.4.8", | ||
"version": "1.5.0", | ||
"license": "MIT", | ||
@@ -5,0 +5,0 @@ "homepage": "https://github.com/shikijs/twoslash", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
277004
1940