Files
outline/shared/utils/parseDocumentSlug.ts
codegen-sh[bot] 758d4edbb9 Upgrade @typescript-eslint dependencies to v8.33.0 (#9363)
* Upgrade @typescript-eslint dependencies from v6.21.0 to v8.33.0

- Updated @typescript-eslint/eslint-plugin from ^6.21.0 to ^8.33.0
- Updated @typescript-eslint/parser from ^6.21.0 to ^8.33.0
- Tested linting functionality to ensure compatibility
- This brings the latest TypeScript ESLint features and bug fixes

* lint

* tsc

---------

Co-authored-by: codegen-sh[bot] <131295404+codegen-sh[bot]@users.noreply.github.com>
Co-authored-by: Tom Moor <tom@getoutline.com>
2025-06-01 11:01:15 -04:00

26 lines
537 B
TypeScript

import sharedEnv from "../env";
/**
* Parse the likely document identifier from a given url.
*
* @param url The url to parse.
* @returns A document identifier or undefined if not found.
*/
export default function parseDocumentSlug(url: string) {
let parsed;
if (url[0] === "/") {
url = `${sharedEnv.URL}${url}`;
}
try {
parsed = new URL(url).pathname;
} catch (_err) {
return;
}
const split = parsed.split("/");
const indexOfDoc = split.indexOf("doc");
return split[indexOfDoc + 1] ?? undefined;
}