@djangocfg/api 2.1.484 → 2.1.487

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,12 @@ var cookieBackend = {
932
932
  }
933
933
  }
934
934
  };
935
- var _storage = localStorageBackend;
935
+ function backendFor(mode) {
936
+ return mode === "cookie" ? cookieBackend : mode === "sessionStorage" ? sessionStorageBackend : localStorageBackend;
937
+ }
938
+ __name(backendFor, "backendFor");
936
939
  var _storageMode = "localStorage";
940
+ var _storage = backendFor(_storageMode);
937
941
  function detectLocale() {
938
942
  try {
939
943
  if (typeof document !== "undefined") {
@@ -1087,9 +1091,12 @@ var auth = {
1087
1091
  getStorageMode() {
1088
1092
  return _storageMode;
1089
1093
  },
1094
+ /** Relocate the session backend. Call once at bootstrap, before any sign-in:
1095
+ * the mode is module state and resets on reload, so a later switch strands
1096
+ * whatever was written after it. */
1090
1097
  setStorageMode(mode) {
1091
1098
  _storageMode = mode;
1092
- _storage = mode === "cookie" ? cookieBackend : mode === "sessionStorage" ? sessionStorageBackend : localStorageBackend;
1099
+ _storage = backendFor(mode);
1093
1100
  notifySessionChanged();
1094
1101
  },
1095
1102
  // ── Bearer token ──────────────────────────────────────────────────
@@ -1108,8 +1115,10 @@ var auth = {
1108
1115
  notifySessionChanged();
1109
1116
  },
1110
1117
  clearTokens() {
1111
- _storage.set(ACCESS_KEY, null);
1112
- _storage.set(REFRESH_KEY, null);
1118
+ for (const backend of [localStorageBackend, sessionStorageBackend, cookieBackend]) {
1119
+ backend.set(ACCESS_KEY, null);
1120
+ backend.set(REFRESH_KEY, null);
1121
+ }
1113
1122
  notifySessionChanged();
1114
1123
  },
1115
1124
  /** Session-aware: token PRESENT and not past its `exp` (or a live refresh