@djangocfg/api 2.1.483 → 2.1.486

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/hooks.mjs CHANGED
@@ -932,8 +932,23 @@ var cookieBackend = {
932
932
  }
933
933
  }
934
934
  };
935
- var _storage = localStorageBackend;
936
- var _storageMode = "localStorage";
935
+ function backendFor(mode) {
936
+ return mode === "cookie" ? cookieBackend : mode === "sessionStorage" ? sessionStorageBackend : localStorageBackend;
937
+ }
938
+ __name(backendFor, "backendFor");
939
+ var STORAGE_MODE_KEY = "cfg.access_token.storage_mode";
940
+ function readPersistedMode() {
941
+ if (!isBrowser) return "localStorage";
942
+ try {
943
+ const raw = window.localStorage.getItem(STORAGE_MODE_KEY);
944
+ return raw === "sessionStorage" || raw === "cookie" || raw === "localStorage" ? raw : "localStorage";
945
+ } catch {
946
+ return "localStorage";
947
+ }
948
+ }
949
+ __name(readPersistedMode, "readPersistedMode");
950
+ var _storageMode = readPersistedMode();
951
+ var _storage = backendFor(_storageMode);
937
952
  function detectLocale() {
938
953
  try {
939
954
  if (typeof document !== "undefined") {
@@ -1089,7 +1104,13 @@ var auth = {
1089
1104
  },
1090
1105
  setStorageMode(mode) {
1091
1106
  _storageMode = mode;
1092
- _storage = mode === "cookie" ? cookieBackend : mode === "sessionStorage" ? sessionStorageBackend : localStorageBackend;
1107
+ _storage = backendFor(mode);
1108
+ if (isBrowser) {
1109
+ try {
1110
+ window.localStorage.setItem(STORAGE_MODE_KEY, mode);
1111
+ } catch {
1112
+ }
1113
+ }
1093
1114
  notifySessionChanged();
1094
1115
  },
1095
1116
  // ── Bearer token ──────────────────────────────────────────────────
@@ -1108,8 +1129,18 @@ var auth = {
1108
1129
  notifySessionChanged();
1109
1130
  },
1110
1131
  clearTokens() {
1111
- _storage.set(ACCESS_KEY, null);
1112
- _storage.set(REFRESH_KEY, null);
1132
+ for (const backend of [localStorageBackend, sessionStorageBackend, cookieBackend]) {
1133
+ backend.set(ACCESS_KEY, null);
1134
+ backend.set(REFRESH_KEY, null);
1135
+ }
1136
+ _storageMode = "localStorage";
1137
+ _storage = localStorageBackend;
1138
+ if (isBrowser) {
1139
+ try {
1140
+ window.localStorage.removeItem(STORAGE_MODE_KEY);
1141
+ } catch {
1142
+ }
1143
+ }
1113
1144
  notifySessionChanged();
1114
1145
  },
1115
1146
  /** Session-aware: token PRESENT and not past its `exp` (or a live refresh