Skip to content

Commit

Permalink
chore(docs): Adjust formatting of examples
Browse files Browse the repository at this point in the history
  • Loading branch information
personalizedrefrigerator committed Mar 10, 2024
1 parent 38ad3ca commit c62a755
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 8 deletions.
35 changes: 27 additions & 8 deletions packages/typedoc-extensions/src/browser/iframe-preview-setup.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,16 @@ window.addEventListener('load', () => {
/** Creates an HTML element that contains the content of `message`. */
const createLogElementFor = (message: any[]) => {
const container = document.createElement('div');
container.classList.add('log-item');

for (const part of message) {
const wrapper = document.createElement('span');

if (typeof part === 'string') {
wrapper.classList.add('text');
wrapper.innerText = part;
}
else if (typeof part !== 'object') {
else if (typeof part !== 'object' || part === null) {
wrapper.innerText = JSON.stringify(part);
wrapper.classList.add(typeof part);
}
Expand All @@ -41,15 +43,30 @@ window.addEventListener('load', () => {
}
else {
const details = document.createElement('details');
details.style.display = 'inline-block';

const summary = document.createElement('summary');
summary.innerText = `${part}`;
summary.style.cursor = 'pointer';

const propertyList = document.createElement('ul');

for (const key in part) {
const addProperty = (key: string) => {
const item = document.createElement('li');
item.innerText = `${JSON.stringify(key)}: ${part[key]}`;
propertyList.appendChild(item);
};

for (const key in part) {
addProperty(key);
}

if (part instanceof Error) {
try {
addProperty('stack');
} catch (_err) {
// May fail
}
}

details.replaceChildren(summary, propertyList);
Expand Down Expand Up @@ -97,6 +114,8 @@ window.addEventListener('load', () => {
container.classList.add('error');
addLogElement(container);
};
} else {
document.documentElement.classList.add('html-view');
}

// Allows libraries included after this to require/include content.
Expand All @@ -117,17 +136,17 @@ window.addEventListener('load', () => {
(window as any).module = { exports: {} };
(window as any).exports = { };

const onError = (event: Event|string) => {
const onError = (event: Event|Error|string) => {
const errorElement = createLogElementFor(['Error: ', event]);
errorElement.classList.add('error');
addLogElement(errorElement);
};

window.onerror = (event) => {
onError(event);
};
window.addEventListener('error', event => {
onError(event.error ?? event.message);
});

window.onunhandledrejection = (event) => {
window.addEventListener('unhandledrejection', event => {
onError(event.reason ?? event);
};
});
})();
6 changes: 6 additions & 0 deletions packages/typedoc-extensions/src/browser/iframe.scss
Original file line number Diff line number Diff line change
Expand Up @@ -48,3 +48,9 @@
}
}

:root.html-view {
.log-item.error {
font-family: monospace;
color: red;
}
}

0 comments on commit c62a755

Please sign in to comment.