storage.js 873 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. // Default storage backend using localStorage with "cdk:" prefix
  2. let backend = {
  3. get(key) {
  4. try {
  5. return localStorage.getItem("cdk:" + key);
  6. } catch (_) {
  7. return null;
  8. }
  9. },
  10. set(key, value) {
  11. try {
  12. localStorage.setItem("cdk:" + key, value);
  13. } catch (_) {}
  14. },
  15. remove(key) {
  16. try {
  17. localStorage.removeItem("cdk:" + key);
  18. } catch (_) {}
  19. },
  20. };
  21. export function storageGet(key) {
  22. return backend.get(key);
  23. }
  24. export function storageSet(key, value) {
  25. backend.set(key, value);
  26. }
  27. export function storageRemove(key) {
  28. backend.remove(key);
  29. }
  30. // Swap the default backend at runtime.
  31. // `newBackend` must implement { get(key)->string|null, set(key,value), remove(key) }
  32. export function setStorageBackend(newBackend) {
  33. backend = newBackend;
  34. }