@djangocfg/api 2.1.484 → 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.cjs CHANGED
@@ -966,8 +966,23 @@ var cookieBackend = {
966
966
  }
967
967
  }
968
968
  };
969
- var _storage = localStorageBackend;
970
- var _storageMode = "localStorage";
969
+ function backendFor(mode) {
970
+ return mode === "cookie" ? cookieBackend : mode === "sessionStorage" ? sessionStorageBackend : localStorageBackend;
971
+ }
972
+ __name(backendFor, "backendFor");
973
+ var STORAGE_MODE_KEY = "cfg.access_token.storage_mode";
974
+ function readPersistedMode() {
975
+ if (!isBrowser) return "localStorage";
976
+ try {
977
+ const raw = window.localStorage.getItem(STORAGE_MODE_KEY);
978
+ return raw === "sessionStorage" || raw === "cookie" || raw === "localStorage" ? raw : "localStorage";
979
+ } catch {
980
+ return "localStorage";
981
+ }
982
+ }
983
+ __name(readPersistedMode, "readPersistedMode");
984
+ var _storageMode = readPersistedMode();
985
+ var _storage = backendFor(_storageMode);
971
986
  function detectLocale() {
972
987
  try {
973
988
  if (typeof document !== "undefined") {
@@ -1123,7 +1138,13 @@ var auth = {
1123
1138
  },
1124
1139
  setStorageMode(mode) {
1125
1140
  _storageMode = mode;
1126
- _storage = mode === "cookie" ? cookieBackend : mode === "sessionStorage" ? sessionStorageBackend : localStorageBackend;
1141
+ _storage = backendFor(mode);
1142
+ if (isBrowser) {
1143
+ try {
1144
+ window.localStorage.setItem(STORAGE_MODE_KEY, mode);
1145
+ } catch {
1146
+ }
1147
+ }
1127
1148
  notifySessionChanged();
1128
1149
  },
1129
1150
  // ── Bearer token ──────────────────────────────────────────────────
@@ -1142,8 +1163,18 @@ var auth = {
1142
1163
  notifySessionChanged();
1143
1164
  },
1144
1165
  clearTokens() {
1145
- _storage.set(ACCESS_KEY, null);
1146
- _storage.set(REFRESH_KEY, null);
1166
+ for (const backend of [localStorageBackend, sessionStorageBackend, cookieBackend]) {
1167
+ backend.set(ACCESS_KEY, null);
1168
+ backend.set(REFRESH_KEY, null);
1169
+ }
1170
+ _storageMode = "localStorage";
1171
+ _storage = localStorageBackend;
1172
+ if (isBrowser) {
1173
+ try {
1174
+ window.localStorage.removeItem(STORAGE_MODE_KEY);
1175
+ } catch {
1176
+ }
1177
+ }
1147
1178
  notifySessionChanged();
1148
1179
  },
1149
1180
  /** Session-aware: token PRESENT and not past its `exp` (or a live refresh