Some checks failed
No response / noResponse (push) Has been cancelled
CI / Continuous releases (push) Has been cancelled
CI / test-dev (macos-latest) (push) Has been cancelled
CI / test-dev (ubuntu-latest) (push) Has been cancelled
CI / test-dev (windows-latest) (push) Has been cancelled
Maintenance / main (push) Has been cancelled
Scorecards supply-chain security / Scorecards analysis (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
16 lines
557 B
TypeScript
16 lines
557 B
TypeScript
function escapePipesOutsideBackticks(value: string): string {
|
|
// Split into chunks that are either code spans or normal text.
|
|
// Capturing group keeps the code chunks in the array.
|
|
return value
|
|
.split(/(`[^`]*`)/g)
|
|
.map((chunk) => (chunk.startsWith('`') ? chunk : chunk.replace(/\|/g, '\\|')))
|
|
.join('');
|
|
}
|
|
|
|
export default function escapeCell(value: string): string {
|
|
// As the pipe is use for the table structure
|
|
const newValue = escapePipesOutsideBackticks(value);
|
|
|
|
return newValue.replace(/</g, '<').replace(/`</g, '`<');
|
|
}
|