in src/lib/crosslink.ts [25:47]
export function generateCrosslink(code: string, options?: LinkOptions) {
const opts: { code: string } & LinkOptions = {
code: code
.replace(new RegExp(escapeRegExp(MARK_PLACEHOLDER_OPEN), 'g'), '')
.replace(new RegExp(escapeRegExp(MARK_PLACEHOLDER_CLOSE), 'g'), '')
.replace(new RegExp(escapeRegExp(SAMPLE_START), 'g'), '')
.replace(new RegExp(escapeRegExp(SAMPLE_END), 'g'), ''),
};
if (options && options.targetPlatform) {
const target =
options.targetPlatform && getTargetById(options.targetPlatform);
if (!target) throw new Error('Invalid target platform');
opts.targetPlatform = options.targetPlatform;
}
if (options && options.compilerVersion)
opts.compilerVersion = options.compilerVersion;
return `https://play.kotlinlang.org/editor/v1/${encodeURIComponent(
compressToBase64(JSON.stringify(opts)),
)}`;
}