Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: markedjs/marked
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v2.0.1
Choose a base ref
...
head repository: markedjs/marked
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v2.0.2
Choose a head ref
Loading
Showing with 1,705 additions and 3,110 deletions.
  1. +18 −3 docs/demo/demo.js
  2. +2 −0 docs/demo/worker.js
  3. +190 −190 lib/marked.esm.js
  4. +145 −145 lib/marked.js
  5. +1 −1 marked.min.js
  6. +1,336 −2,758 package-lock.json
  7. +13 −13 package.json
21 changes: 18 additions & 3 deletions docs/demo/demo.js
Original file line number Diff line number Diff line change
@@ -166,7 +166,7 @@ function setInitialOptions() {
if ('options' in search) {
$optionsElem.value = search.options;
} else {
setDefaultOptions();
return setDefaultOptions();
}
}

@@ -283,7 +283,7 @@ function getPrCommit(pr) {

function setDefaultOptions() {
if (window.Worker) {
messageWorker({
return messageWorker({
task: 'defaults',
version: markedVersions[$markedVerElem.value]
});
@@ -499,6 +499,7 @@ function setParsed(parsed, lexed) {
$lexerElem.value = lexed;
}

var workerPromises = {};
function messageWorker(message) {
if (!markedWorker || markedWorker.working) {
if (markedWorker) {
@@ -526,6 +527,8 @@ function messageWorker(message) {
clearTimeout(checkChangeTimeout);
delayTime = 10;
checkForChanges();
workerPromises[e.data.id]();
delete workerPromises[e.data.id];
};
markedWorker.onerror = markedWorker.onmessageerror = function(err) {
clearTimeout(markedWorker.timeout);
@@ -549,7 +552,19 @@ function messageWorker(message) {
markedWorker.working = true;
workerTimeout(0);
}
markedWorker.postMessage(message);
return new Promise(function(resolve) {
message.id = uniqueWorkerMessageId();
workerPromises[message.id] = resolve;
markedWorker.postMessage(message);
});
}

function uniqueWorkerMessageId() {
var id;
do {
id = Math.random().toString(36);
} while (id in workerPromises);
return id;
}

function workerTimeout(seconds) {
2 changes: 2 additions & 0 deletions docs/demo/worker.js
Original file line number Diff line number Diff line change
@@ -42,6 +42,7 @@ function parse(e) {
}
}
postMessage({
id: e.data.id,
task: e.data.task,
defaults: defaults
});
@@ -53,6 +54,7 @@ function parse(e) {
var parsed = marked.parser(lexed, e.data.options);
var endTime = new Date();
postMessage({
id: e.data.id,
task: e.data.task,
lexed: lexedList,
parsed: parsed,
Loading