diff --git a/site/development/local-storage.md b/site/development/local-storage.md index 699d723f3..ed1b51663 100644 --- a/site/development/local-storage.md +++ b/site/development/local-storage.md @@ -17,3 +17,7 @@ To enable local storage, use: `window.TypeDoc.enableLocalStorage();` **Note:** Local storage is enabled by default. + +To disable local storage without clearing it, use: + +`window.TypeDoc.disableWritingLocalStorage();` diff --git a/src/lib/output/themes/default/assets/typedoc/Application.ts b/src/lib/output/themes/default/assets/typedoc/Application.ts index b507a88ed..07e6940f1 100644 --- a/src/lib/output/themes/default/assets/typedoc/Application.ts +++ b/src/lib/output/themes/default/assets/typedoc/Application.ts @@ -17,6 +17,7 @@ declare global { [k: `kind_${number}`]: string; }; TypeDoc: { + disableWritingLocalStorage: () => void; disableLocalStorage: () => void; enableLocalStorage: () => void; }; @@ -24,6 +25,9 @@ declare global { } window.TypeDoc ||= { + disableWritingLocalStorage() { + storage.disableWritingLocalStorage(); + }, disableLocalStorage: () => { storage.disable(); }, diff --git a/src/lib/output/themes/default/assets/typedoc/utils/storage.ts b/src/lib/output/themes/default/assets/typedoc/utils/storage.ts index d35da5f9a..b68e566ae 100644 --- a/src/lib/output/themes/default/assets/typedoc/utils/storage.ts +++ b/src/lib/output/themes/default/assets/typedoc/utils/storage.ts @@ -29,6 +29,9 @@ try { export const storage = { getItem: (key: string) => _storage.getItem(key), setItem: (key: string, value: string) => _storage.setItem(key, value), + disableWritingLocalStorage() { + _storage = noOpStorageImpl; + }, disable() { localStorage.clear(); _storage = noOpStorageImpl;