export function generateCrosslink()

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)),
  )}`;
}