@take-out/helpers 0.4.11 → 0.4.12

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.
@@ -41,7 +41,7 @@ var import_constants2 = require("@tamagui/constants");
41
41
  const isTauri = typeof window !== "undefined" && "__TAURI__" in window;
42
42
  const isNative = !import_constants.isWeb && !isTauri;
43
43
  const IS_MAC_DESKTOP = typeof navigator !== "undefined" && /Macintosh|MacIntel/.test(navigator.platform);
44
- const IS_SAFARI = isTauri || typeof navigator !== "undefined" && /Version\/[\d.]+.*Safari/.test(navigator.userAgent) && navigator.vendor.includes("Apple Computer");
44
+ const IS_SAFARI = isTauri || typeof navigator !== "undefined" && /Version\/[\d.]+.*Safari/.test(navigator.userAgent) && typeof navigator.vendor === "string" && navigator.vendor.includes("Apple Computer");
45
45
  const EMPTY_ARRAY = [];
46
46
  const EMPTY_OBJECT = {};
47
47
  const getDebugLevelFromUrl = () => {
@@ -43,7 +43,7 @@ var import_constants2 = require("@tamagui/constants");
43
43
  var isTauri = typeof window !== "undefined" && "__TAURI__" in window;
44
44
  var isNative = !import_constants.isWeb && !isTauri;
45
45
  var IS_MAC_DESKTOP = typeof navigator !== "undefined" && /Macintosh|MacIntel/.test(navigator.platform);
46
- var IS_SAFARI = isTauri || typeof navigator !== "undefined" && /Version\/[\d.]+.*Safari/.test(navigator.userAgent) && navigator.vendor.includes("Apple Computer");
46
+ var IS_SAFARI = isTauri || typeof navigator !== "undefined" && /Version\/[\d.]+.*Safari/.test(navigator.userAgent) && typeof navigator.vendor === "string" && navigator.vendor.includes("Apple Computer");
47
47
  var EMPTY_ARRAY = [];
48
48
  var EMPTY_OBJECT = {};
49
49
  var getDebugLevelFromUrl = function () {
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","constants_exports","__export","DEBUG_LEVEL","EMPTY_ARRAY","EMPTY_OBJECT","IS_MAC_DESKTOP","IS_SAFARI","isAndroid","import_constants2","isBrowser","isIos","isNative","isServer","isTauri","isWeb","module","exports","import_constants","require","window","navigator","test","platform","userAgent","vendor","includes","getDebugLevelFromUrl","_window_location_search","_window_location","match","location","search","parseInt"],"sources":["../../src/constants.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,iBAAA;AAAAC,QAAA,CAAAD,iBAAA;EAAAE,WAAA,EAAAA,CAAA,KAAAA,WAAA;EAAAC,WAAA,EAAAA,CAAA,KAAAA,WAAA;EAAAC,YAAA,EAAAA,CAAA,KAAAA,YAAA;EAAAC,cAAA,EAAAA,CAAA,KAAAA,cAAA;EAAAC,SAAA,EAAAA,CAAA,KAAAA,SAAA;EAAAC,SAAA,EAAAA,CAAA,KAAAC,iBAAA,CAAAD,SAAA;EAAAE,SAAA,EAAAA,CAAA,KAAAD,iBAAA,CAAAC,SAAA;EAAAC,KAAA,EAAAA,CAAA,KAAAF,iBAAA,CAAAE,KAAA;EAAAC,QAAA,EAAAA,CAAA,KAAAA,QAAA;EAAAC,QAAA,EAAAA,CAAA,KAAAJ,iBAAA,CAAAI,QAAA;EAAAC,OAAA,EAAAA,CAAA,KAAAA,OAAA;EAAAC,KAAA,EAAAA,CAAA,KAAAN,iBAAA,CAAAM;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAArB,YAAsB,CAAAK,iBAAA;AAiBtB,IAAAiB,gBAAA,GAAAC,OAA6D;AAftD,IAAAV,iBAAyB,GAAOU,OAAA,qBAA0B;AAE1D,IAAAL,OAAM,UAAqBM,MAAA,oBAAU,eAAAA,MAAA;AAIrC,IAAAR,QAAM,IAAAM,gBACJ,CAAAH,KAAA,KAAAD,OAAc;AAEhB,IAAAR,cACL,UAAAe,SACQ,gBAAc,wBACpB,CAAAC,IAAA,CAAAD,SAA0B,CAAAE,QAAK;AAK5B,IAAAhB,SAAM,GAAAO,OAAe,WAAAO,SAAA,8CAAAC,IAAA,CAAAD,SAAA,CAAAG,SAAA,KAAAH,SAAA,CAAAI,MAAA,CAAAC,QAAA;AACrB,IAAAtB,WAAM;AAEb,IAAAC,YAAM;AACJ,IAAAsB,oBAAsB,YAAAA,CAAA,EAAa;EACnC,IAAAC,uBAAqB,EAAAC,gBAAwB;EAC7C,WAAOT,MAAS,KAAI,WAAS,EAAM,OAAM,IAAI;EAC/C,IAAAU,KAAA,IAAAD,gBAAA,GAAAT,MAAA,CAAAW,QAAA,cAAAF,gBAAA,wBAAAD,uBAAA,GAAAC,gBAAA,CAAAG,MAAA,cAAAJ,uBAAA,uBAAAA,uBAAA,CAAAE,KAAA;EAEO,OAAM,CAAAA,KAAA,KAAsB,QAAQA,KAAI,cAC1C,SAAQA,KAAI,OAAAG,QACZ,CAAAH,KAAA,eAAqB","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","constants_exports","__export","DEBUG_LEVEL","EMPTY_ARRAY","EMPTY_OBJECT","IS_MAC_DESKTOP","IS_SAFARI","isAndroid","import_constants2","isBrowser","isIos","isNative","isServer","isTauri","isWeb","module","exports","import_constants","require","window","navigator","test","platform","userAgent","vendor","includes","getDebugLevelFromUrl","_window_location_search","_window_location","match","location","search","parseInt"],"sources":["../../src/constants.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,iBAAA;AAAAC,QAAA,CAAAD,iBAAA;EAAAE,WAAA,EAAAA,CAAA,KAAAA,WAAA;EAAAC,WAAA,EAAAA,CAAA,KAAAA,WAAA;EAAAC,YAAA,EAAAA,CAAA,KAAAA,YAAA;EAAAC,cAAA,EAAAA,CAAA,KAAAA,cAAA;EAAAC,SAAA,EAAAA,CAAA,KAAAA,SAAA;EAAAC,SAAA,EAAAA,CAAA,KAAAC,iBAAA,CAAAD,SAAA;EAAAE,SAAA,EAAAA,CAAA,KAAAD,iBAAA,CAAAC,SAAA;EAAAC,KAAA,EAAAA,CAAA,KAAAF,iBAAA,CAAAE,KAAA;EAAAC,QAAA,EAAAA,CAAA,KAAAA,QAAA;EAAAC,QAAA,EAAAA,CAAA,KAAAJ,iBAAA,CAAAI,QAAA;EAAAC,OAAA,EAAAA,CAAA,KAAAA,OAAA;EAAAC,KAAA,EAAAA,CAAA,KAAAN,iBAAA,CAAAM;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAArB,YAAsB,CAAAK,iBAAA;AAkBtB,IAAAiB,gBAAA,GAAAC,OAA6D;AAhBtD,IAAAV,iBAAyB,GAAOU,OAAA,qBAA0B;AAE1D,IAAAL,OAAM,UAAqBM,MAAA,oBAAU,eAAAA,MAAA;AAIrC,IAAAR,QAAM,IAAAM,gBACJ,CAAAH,KAAA,KAAAD,OAAc;AAEhB,IAAAR,cACL,UAAAe,SACQ,gBAAc,wBACpB,CAAAC,IAAA,CAAAD,SAA0B,CAAAE,QAAK;AAM5B,IAAAhB,SAAM,GAAAO,OAAe,WAAAO,SAAA,8CAAAC,IAAA,CAAAD,SAAA,CAAAG,SAAA,YAAAH,SAAA,CAAAI,MAAA,iBAAAJ,SAAA,CAAAI,MAAA,CAAAC,QAAA;AACrB,IAAAtB,WAAM;AAEb,IAAAC,YAAM;AACJ,IAAAsB,oBAAsB,YAAAA,CAAA,EAAa;EACnC,IAAAC,uBAAqB,EAAAC,gBAAwB;EAC7C,WAAOT,MAAS,KAAI,WAAS,EAAM,OAAM,IAAI;EAC/C,IAAAU,KAAA,IAAAD,gBAAA,GAAAT,MAAA,CAAAW,QAAA,cAAAF,gBAAA,wBAAAD,uBAAA,GAAAC,gBAAA,CAAAG,MAAA,cAAAJ,uBAAA,uBAAAA,uBAAA,CAAAE,KAAA;EAEO,OAAM,CAAAA,KAAA,KAAsB,QAAQA,KAAI,cAC1C,SAAQA,KAAI,OAAAG,QACZ,CAAAH,KAAA,eAAqB","ignoreList":[]}
@@ -22,6 +22,7 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
22
22
  }), mod);
23
23
  var driver_exports = {};
24
24
  __export(driver_exports, {
25
+ clearStorageDriver: () => clearStorageDriver,
25
26
  getStorageDriver: () => getStorageDriver,
26
27
  setStorageDriver: () => setStorageDriver
27
28
  });
@@ -30,6 +31,9 @@ let driver = null;
30
31
  function setStorageDriver(d) {
31
32
  driver = d;
32
33
  }
34
+ function clearStorageDriver() {
35
+ driver = null;
36
+ }
33
37
  function getStorageDriver() {
34
38
  if (driver) return driver;
35
39
  if (typeof localStorage !== "undefined" && typeof localStorage.getItem === "function") {
@@ -24,6 +24,7 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
24
24
  }), mod);
25
25
  var driver_exports = {};
26
26
  __export(driver_exports, {
27
+ clearStorageDriver: () => clearStorageDriver,
27
28
  getStorageDriver: () => getStorageDriver,
28
29
  setStorageDriver: () => setStorageDriver
29
30
  });
@@ -32,6 +33,9 @@ var driver = null;
32
33
  function setStorageDriver(d) {
33
34
  driver = d;
34
35
  }
36
+ function clearStorageDriver() {
37
+ driver = null;
38
+ }
35
39
  function getStorageDriver() {
36
40
  if (driver) return driver;
37
41
  if (typeof localStorage !== "undefined" && typeof localStorage.getItem === "function") {
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","driver_exports","__export","getStorageDriver","setStorageDriver","module","exports","driver","d","localStorage","getItem","key","setItem","removeItem"],"sources":["../../../src/storage/driver.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,cAAA;AAAAC,QAAA,CAAAD,cAAA;EAAAE,gBAAA,EAAAA,CAAA,KAAAA,gBAAA;EAAAC,gBAAA,EAAAA,CAAA,KAAAA;AAAA;AAEAC,MAAI,CAAAC,OAA+B,GAAAV,YAAA,CAAAK,cAAA;AAE5B,IAAAM,MAAS;AACd,SAAAH,gBAASA,CAAAI,CAAA;EACXD,MAAA,GAAAC,CAAA;AAEO;AACL,SAAIL,gBAAeA,CAAA;EACnB,IAAII,MAAA,EAAO,OAAAA,MAAA;EACT,WAAOE,YAAA,2BAAAA,YAAA,CAAAC,OAAA;IAAA,OACL;MACAA,OAAA,EAAS,SAAAA,CAAMC,GAAA;QACf,OAAAF,YAAqB,CAAAC,OAAA,CAAAC,GAAA,CAAa;MAClC;MACFC,OAAA,WAAAA,CAAAD,GAAA,EAAAX,KAAA;QACF,OAAAS,YAAA,CAAAG,OAAA,CAAAD,GAAA,EAAAX,KAAA;MACA;MACFa,UAAA,WAAAA,CAAAF,GAAA","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","driver_exports","__export","clearStorageDriver","getStorageDriver","setStorageDriver","module","exports","driver","d","localStorage","getItem","key","setItem","removeItem"],"sources":["../../../src/storage/driver.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,cAAA;AAAAC,QAAA,CAAAD,cAAA;EAAAE,kBAAA,EAAAA,CAAA,KAAAA,kBAAA;EAAAC,gBAAA,EAAAA,CAAA,KAAAA,gBAAA;EAAAC,gBAAA,EAAAA,CAAA,KAAAA;AAAA;AAEAC,MAAI,CAAAC,OAA+B,GAAAX,YAAA,CAAAK,cAAA;AAE5B,IAAAO,MAAS;AACd,SAAAH,gBAASA,CAAAI,CAAA;EACXD,MAAA,GAAAC,CAAA;AAEO;AACL,SAAAN,kBAASA,CAAA;EACXK,MAAA;AAEO;AACL,SAAIJ,gBAAeA,CAAA;EACnB,IAAII,MAAA,EAAO,OAAAA,MAAA;EACT,WAAOE,YAAA,2BAAAA,YAAA,CAAAC,OAAA;IAAA,OACL;MACAA,OAAA,EAAS,SAAAA,CAAMC,GAAA;QACf,OAAAF,YAAqB,CAAAC,OAAA,CAAAC,GAAA,CAAa;MAClC;MACFC,OAAA,WAAAA,CAAAD,GAAA,EAAAZ,KAAA;QACF,OAAAU,YAAA,CAAAG,OAAA,CAAAD,GAAA,EAAAZ,KAAA;MACA;MACFc,UAAA,WAAAA,CAAAF,GAAA","ignoreList":[]}
@@ -2,11 +2,17 @@ var import_vitest = require("vitest");
2
2
  var import_createStorage = require("./createStorage.cjs");
3
3
  var import_driver = require("./driver.cjs");
4
4
  (0, import_vitest.describe)("storage driver system", () => {
5
+ (0, import_vitest.beforeEach)(() => {
6
+ (0, import_driver.clearStorageDriver)();
7
+ });
5
8
  (0, import_vitest.describe)("driver initialization", () => {
6
9
  (0, import_vitest.it)("getStorageDriver should return localStorage fallback on web", () => {
7
10
  const driver = (0, import_driver.getStorageDriver)();
8
- if (typeof localStorage !== "undefined") {
11
+ const hasUsableLocalStorage = typeof globalThis.localStorage !== "undefined" && typeof globalThis.localStorage.getItem === "function";
12
+ if (hasUsableLocalStorage) {
9
13
  (0, import_vitest.expect)(driver).toBeTruthy();
14
+ } else {
15
+ (0, import_vitest.expect)(driver).toBeNull();
10
16
  }
11
17
  });
12
18
  (0, import_vitest.it)("should use custom driver when set", () => {
@@ -4,11 +4,17 @@ var import_vitest = require("vitest");
4
4
  var import_createStorage = require("./createStorage.native.js");
5
5
  var import_driver = require("./driver.native.js");
6
6
  (0, import_vitest.describe)("storage driver system", function () {
7
+ (0, import_vitest.beforeEach)(function () {
8
+ (0, import_driver.clearStorageDriver)();
9
+ });
7
10
  (0, import_vitest.describe)("driver initialization", function () {
8
11
  (0, import_vitest.it)("getStorageDriver should return localStorage fallback on web", function () {
9
12
  var driver = (0, import_driver.getStorageDriver)();
10
- if (typeof localStorage !== "undefined") {
13
+ var hasUsableLocalStorage = typeof globalThis.localStorage !== "undefined" && typeof globalThis.localStorage.getItem === "function";
14
+ if (hasUsableLocalStorage) {
11
15
  (0, import_vitest.expect)(driver).toBeTruthy();
16
+ } else {
17
+ (0, import_vitest.expect)(driver).toBeNull();
12
18
  }
13
19
  });
14
20
  (0, import_vitest.it)("should use custom driver when set", function () {
@@ -1 +1 @@
1
- {"version":3,"names":["import_vitest","require","import_createStorage","import_driver","describe","it","driver","getStorageDriver","localStorage","expect","toBeTruthy","mockStorage","Map","mockDriver","getItem","key","_mockStorage_get","get","setItem","value","set","removeItem","delete","getAllKeys","Array","from","keys","setStorageDriver","toBe","beforeEach","storage","createStorage","Date","now","namespace","has","obj","name","count","toEqual","toBeUndefined","remove","sort","ns1","ns2","storage1","storage2","clear"],"sources":["../../../src/storage/storage.test.ts"],"sourcesContent":[null],"mappings":"AAAA;;AAEA,IAAAA,aAAA,GAAAC,OAA8B;AAC9B,IAAAC,oBAAmD,GAAAD,OAAA;AAAA,IAMnDE,aAAA,GAAAF,OAAA,CAAS;AACP,IAAAD,aAAA,CAAAI,QAAA,yBAAS,cAA+B;EACtC,IAAAJ,aAAA,CAAAI,QAAG;IAED,IAAAJ,aAAM,CAAAK,EAAA,EAAS,6DAAiB;MAGhC,IAAIC,MAAA,GAAO,IAAAH,aAAiB,CAAAI,gBAAa;MACvC,WAAAC,YAAA,KAAO,WAAQ;QACjB,IAAAR,aAAA,CAAAS,MAAA,EAAAH,MAAA,EAAAI,UAAA;MACD;IAED;IACE,IAAAV,aAAM,CAAAK,EAAA,EAAc,mCAAwB;MAC5C,IAAAM,WAAM,kBAAa,IAAAC,GAAA;MAAA,IACjBC,UAAU;QACVC,OAAA,EAAS,SAAAA,CAAcC,GAAA;UACvB,IAAAC,gBAA6B;UAC7B,QAAAA,gBAAwB,GAAKL,WAAA,CAAYM,GAAA,CAAAF,GAAM,eAAAC,gBAAA,cAAAA,gBAAA;QACjD;QAEAE,OAAA,WAAAA,CAAAH,GAAA,EAAAI,KAAA;UACA,OAAMR,WAAS,CAAAS,GAAA,CAAAL,GAAA,EAAAI,KAAA;QACf;QACDE,UAAA,WAAAA,CAAAN,GAAA;UACF,OAAAJ,WAAA,CAAAW,MAAA,CAAAP,GAAA;QAED;QACMQ,UAAA,WAAAA,CAAA;UAEJ,OAAAC,KAAA,CAAAC,IAAA,CAAAd,WAAW,CAAMe,IAAA;QACf;MACA;MAAmB,EACjB,EAAAvB,aAAU,CAAAwB,gBAA4B,EAAId,UAAQ;MAAA,IAClDP,MAAA,GAAU,IAAaH,aAAkB,CAAAI,gBAAgB,EAAK;MAAK,EACnE,EAAAP,aAAa,CAAAS,MAAgB,EAAAH,MAAA,EAAAsB,IAAY,CAAAf,UAAU;IAAA;EACJ;EAEjD,IAAAb,aAAA,CAAAI,QAAA,6BAA2B;IAC7B,IAACO,WAAA;IAED,IAAAX,aAAA,CAAA6B,UAAG;MACDlB,WAAM,kBAAU,IAAAC,GAAA;MAChB,IAAAC,UAAY;QACZC,OAAA,WAAAA,CAAAC,GAAA;UACD,IAAAC,gBAAA;UAED,QAAAA,gBAAG,GAAAL,WAAA,CAAAM,GAAA,CAAAF,GAAA,CAA+B,MAAM,QAAAC,gBAAA,cAAAA,gBAAA;QACtC;QACAE,OAAM,WAAAA,CAAUH,GAAA,EAAAI,KAAA;UAChB,OAAQR,WAAW,CAAAS,GAAO,CAAAL,GAAA,EAAAI,KAAA;QAG1B;QACDE,UAAA,WAAAA,CAAAN,GAAA;UAED,OAAAJ,WAAG,CAAAW,MAAA,CAAAP,GAAA;QACD;QACEQ,UAAQ,WAAAA,CAAA,EAAU;UACpB,OAAAC,KAAA,CAAAC,IAAA,CAAAd,WAAA,CAAAe,IAAA;QACA;MACA;MACA,IAAAvB,aAAA,CAAAwB,gBAAe,EAAAd,UAAY;IAC7B,CAAC;IAED,IAAAb,aAAA,CAAAK,EAAA,EAAG,gDAA8C;MAC/C,IAAAyB,OAAM,OAAA5B,oBAAU,CAAA6B,aAAA,UAA6BC,IAAQ,CAAAC,GAAK,MAAK;MAC/DH,OAAA,CAAQV,GAAA,QAAQ,cAAO,CAAW;MAClC,IAAApB,aAAA,CAAAS,MAAA,EAAOqB,OAAA,CAAQb,GAAA,QAAQ,EAAK,CAACW,IAAE,aAAK,CAAW;IACjD,CAAC;IAED,IAAA5B,aAAA,CAAAK,EAAA,EAAG;MACD,IAAA6B,SAAM,WAAUF,IAAA,CAAAC,GAAA;MAChB,IAAAH,OAAA,OAAA5B,oBAAmB,CAAA6B,aAAY,EAAAG,SAAA,CAAc;MAC9CJ,OAAA,CAAAV,GAAA;MAED,IAAApB,aAAA,CAAAS,MAAG,EAAAE,WAAA,CAAAwB,GAAA,IAAAD,SAA8B,MAAM,GAAAN,IAAA;IACrC;IACA,IAAA5B,aAAA,CAAAK,EAAA,oCAAmC,cAAK;MACxC,IAAAyB,OAAQ,GAAI,IAAA5B,oBAAiB,CAAA6B,aAAA,UAAAC,IAAA,CAAAC,GAAA;MAC7B,IAAAG,GAAA;QACDC,IAAA;QAEDC,KAAA;MACE;MACAR,OAAA,CAAQV,GAAA,CAAI,OAAAgB,GAAA;MACZ,IAAApC,aAAA,CAAAS,MAAA,EAAOqB,OAAA,CAAQb,GAAA,CAAI,QAAAsB,OAAc,CAAAH,GAAK;IACtC;IACA,IAAApC,aAAA,CAAAK,EAAA,wCAAsC,cAAK;MAC5C,IAAAyB,OAAA,OAAA5B,oBAAA,CAAA6B,aAAA,UAAAC,IAAA,CAAAC,GAAA;MAEDH,OAAA,CAAAZ,OAAA,MAAG;MACD,IAAAlB,aAAM,CAAAS,MAAU,EAAAqB,OAAA,CAAAhB,OAAA,SAAAc,IAAA,YAA+C;IAC/D;IACA,IAAA5B,aAAY,CAAAK,EAAK,EAAG;MACpB,IAAAyB,OAAQ,GAAI,IAAK5B,oBAAG,CAAA6B,aAAA,UAAAC,IAAA,CAAAC,GAAA;MACpB,IAAAjC,aAAA,CAAAS,MAAA,EAAOqB,OAAA,CAAQb,GAAA,UAAa,EAAE,CAAAuB,aAAc;IAC9C,CAAC;IAED,IAAAxC,aAAA,CAAAK,EAAA,EAAG,0CAAoC;MACrC,IAAAyB,OAAM,GAAM,IAAA5B,oBAAkB,CAAA6B,aAAA,UAAAC,IAAA,CAAAC,GAAA;MAC9B,IAAAjC,aAAY,CAAAS,MAAQ,EAAKqB,OAAK,CAAAK,GAAA,YAAAP,IAAA;MAC9BE,OAAM,CAAAV,GAAA,WAAW;MACjB,IAAApB,aAAM,CAAAS,MAAW,EAAAqB,OAAA,CAAAK,GAAA,YAAAP,IAAA,KAA6B;IAE9C;IACA,IAAA5B,aAAa,CAAAK,EAAA,EAAO,yBAAQ;MAE5B,IAAAyB,OAAS,IAAM,GAAA5B,oBAAA,CAAA6B,aAAA,UAAAC,IAAA,CAAAC,GAAA;MAEfH,OAAA,CAAAV,GAAA,qBAAO;MACP,IAAApB,aAAA,CAAAS,MAAA,EAAOqB,OAAA,CAAAK,GAAS,YAAY,GAAKP,IAAI;MACtCE,OAAA,CAAAW,MAAA;MACF,IAAAzC,aAAA,CAAAS,MAAA,EAAAqB,OAAA,CAAAK,GAAA,eAAAP,IAAA;IAED;IAIE,IAAA5B,aAAA,CAAAK,EAAA,EAAG;MAID,IAAAyB,OAAM,OAAA5B,oBAAU,CAAA6B,aAAA,UAA6BC,IAAA,CAAAC,GAAA,MAAkB;MAG/DH,OAAA,CAAAV,GAAA;MACAU,OAAA,CAAAV,GAAA;MACAU,OAAA,CAAAV,GAAA;MACA,IAAApB,aAAA,CAAAS,MAAA,EAAOqB,OAAM,CAAAJ,IAAA,EAAQ,CAAAgB,IAAI,IAAKH,OAAO,EACrC,KACA,KACA,IACA;IACF,CAAC;IACF,IAAAvC,aAAA,CAAAK,EAAA;MACF,IAAAsC,GAAA,WAAAX,IAAA,CAAAC,GAAA;MAED,IAAAW,GAAA,WAAAZ,IAAS,CAAAC,GAAA;MAGP,IAAAY,QAAA,OAAG3C,oBAAA,CAAA6B,aAAA,EAAAY,GAAA;MAQD,IAAAG,QAAA,OAAA5C,oBAAsB,CAAA6B,aAAA,EAAAa,GAAA;MACvBC,QAAA,CAAAzB,GAAA;MAED0B,QAAA,CAAA1B,GAAA,MAAG;MAQDyB,QAAA,CAAAE,KAAA;MACD,IAAA/C,aAAA,CAAAS,MAAA,EAAAoC,QAAA,CAAAV,GAAA,SAAAP,IAAA;MACF,IAAA5B,aAAA,CAAAS,MAAA,EAAAqC,QAAA,CAAAX,GAAA,SAAAP,IAAA","ignoreList":[]}
1
+ {"version":3,"names":["import_vitest","require","import_createStorage","import_driver","describe","beforeEach","clearStorageDriver","it","driver","getStorageDriver","hasUsableLocalStorage","globalThis","localStorage","getItem","expect","toBeTruthy","toBeNull","mockStorage","Map","mockDriver","key","_mockStorage_get","get","setItem","value","set","removeItem","delete","getAllKeys","Array","from","keys","setStorageDriver","toBe","storage","createStorage","Date","now","namespace","has","obj","name","count","toEqual","toBeUndefined","remove","sort","ns1","ns2","storage1","storage2","clear"],"sources":["../../../src/storage/storage.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@ import { isAndroid, isBrowser, isIos, isServer, isWeb as isWeb2 } from "@tamagui
3
3
  const isTauri = typeof window !== "undefined" && "__TAURI__" in window;
4
4
  const isNative = !isWeb && !isTauri;
5
5
  const IS_MAC_DESKTOP = typeof navigator !== "undefined" && /Macintosh|MacIntel/.test(navigator.platform);
6
- const IS_SAFARI = isTauri || typeof navigator !== "undefined" && /Version\/[\d.]+.*Safari/.test(navigator.userAgent) && navigator.vendor.includes("Apple Computer");
6
+ const IS_SAFARI = isTauri || typeof navigator !== "undefined" && /Version\/[\d.]+.*Safari/.test(navigator.userAgent) && typeof navigator.vendor === "string" && navigator.vendor.includes("Apple Computer");
7
7
  const EMPTY_ARRAY = [];
8
8
  const EMPTY_OBJECT = {};
9
9
  const getDebugLevelFromUrl = () => {
@@ -1 +1 @@
1
- {"version":3,"names":["isWeb","isAndroid","isBrowser","isIos","isServer","isWeb2","isTauri","window","isNative","IS_MAC_DESKTOP","navigator","test","platform","IS_SAFARI","userAgent","vendor","includes","EMPTY_ARRAY","EMPTY_OBJECT","getDebugLevelFromUrl","match","location","search","parseInt","DEBUG_LEVEL","process","env","NODE_ENV"],"sources":["../../src/constants.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAA,QAAa;AAiBtB,SAASC,SAAA,EAAWC,SAAA,EAAWC,KAAA,EAAOC,QAAA,EAAUJ,KAAA,IAAAK,MAAA,QAAa;AAftD,MAAMC,OAAA,GAAmB,OAAOC,MAAA,KAAW,eAAe,eAAeA,MAAA;AAEzE,MAAMC,QAAA,GAAoB,CAACR,KAAA,IAAS,CAACM,OAAA;AAIrC,MAAMG,cAAA,GACX,OAAOC,SAAA,KAAc,eAAe,qBAAqBC,IAAA,CAAKD,SAAA,CAAUE,QAAQ;AAE3E,MAAMC,SAAA,GACXP,OAAA,IACC,OAAOI,SAAA,KAAc,eACpB,0BAA0BC,IAAA,CAAKD,SAAA,CAAUI,SAAS,KAClDJ,SAAA,CAAUK,MAAA,CAAOC,QAAA,CAAS,gBAAgB;AAIvC,MAAMC,WAAA,GAAc,EAAC;AACrB,MAAMC,YAAA,GAAe,CAAC;AAE7B,MAAMC,oBAAA,GAAuBA,CAAA,KAAqB;EAChD,IAAI,OAAOZ,MAAA,KAAW,aAAa,OAAO;EAC1C,MAAMa,KAAA,GAAQb,MAAA,CAAOc,QAAA,EAAUC,MAAA,EAAQF,KAAA,CAAM,aAAa;EAC1D,OAAOA,KAAA,GAAQ,CAAC,IAAIG,QAAA,CAASH,KAAA,CAAM,CAAC,GAAG,EAAE,IAAI;AAC/C;AAEO,MAAMI,WAAA,GAAsBC,OAAA,CAAQC,GAAA,CAAIF,WAAA,GAC3C,CAACC,OAAA,CAAQC,GAAA,CAAIF,WAAA,GACZL,oBAAA,CAAqB,MAAMM,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,gBAAgB,IAAI","ignoreList":[]}
1
+ {"version":3,"names":["isWeb","isAndroid","isBrowser","isIos","isServer","isWeb2","isTauri","window","isNative","IS_MAC_DESKTOP","navigator","test","platform","IS_SAFARI","userAgent","vendor","includes","EMPTY_ARRAY","EMPTY_OBJECT","getDebugLevelFromUrl","match","location","search","parseInt","DEBUG_LEVEL","process","env","NODE_ENV"],"sources":["../../src/constants.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAA,QAAa;AAkBtB,SAASC,SAAA,EAAWC,SAAA,EAAWC,KAAA,EAAOC,QAAA,EAAUJ,KAAA,IAAAK,MAAA,QAAa;AAhBtD,MAAMC,OAAA,GAAmB,OAAOC,MAAA,KAAW,eAAe,eAAeA,MAAA;AAEzE,MAAMC,QAAA,GAAoB,CAACR,KAAA,IAAS,CAACM,OAAA;AAIrC,MAAMG,cAAA,GACX,OAAOC,SAAA,KAAc,eAAe,qBAAqBC,IAAA,CAAKD,SAAA,CAAUE,QAAQ;AAE3E,MAAMC,SAAA,GACXP,OAAA,IACC,OAAOI,SAAA,KAAc,eACpB,0BAA0BC,IAAA,CAAKD,SAAA,CAAUI,SAAS,KAClD,OAAOJ,SAAA,CAAUK,MAAA,KAAW,YAC5BL,SAAA,CAAUK,MAAA,CAAOC,QAAA,CAAS,gBAAgB;AAIvC,MAAMC,WAAA,GAAc,EAAC;AACrB,MAAMC,YAAA,GAAe,CAAC;AAE7B,MAAMC,oBAAA,GAAuBA,CAAA,KAAqB;EAChD,IAAI,OAAOZ,MAAA,KAAW,aAAa,OAAO;EAC1C,MAAMa,KAAA,GAAQb,MAAA,CAAOc,QAAA,EAAUC,MAAA,EAAQF,KAAA,CAAM,aAAa;EAC1D,OAAOA,KAAA,GAAQ,CAAC,IAAIG,QAAA,CAASH,KAAA,CAAM,CAAC,GAAG,EAAE,IAAI;AAC/C;AAEO,MAAMI,WAAA,GAAsBC,OAAA,CAAQC,GAAA,CAAIF,WAAA,GAC3C,CAACC,OAAA,CAAQC,GAAA,CAAIF,WAAA,GACZL,oBAAA,CAAqB,MAAMM,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,gBAAgB,IAAI","ignoreList":[]}
@@ -3,7 +3,7 @@ import { isAndroid, isBrowser, isIos, isServer, isWeb as isWeb2 } from "@tamagui
3
3
  var isTauri = typeof window !== "undefined" && "__TAURI__" in window;
4
4
  var isNative = !isWeb && !isTauri;
5
5
  var IS_MAC_DESKTOP = typeof navigator !== "undefined" && /Macintosh|MacIntel/.test(navigator.platform);
6
- var IS_SAFARI = isTauri || typeof navigator !== "undefined" && /Version\/[\d.]+.*Safari/.test(navigator.userAgent) && navigator.vendor.includes("Apple Computer");
6
+ var IS_SAFARI = isTauri || typeof navigator !== "undefined" && /Version\/[\d.]+.*Safari/.test(navigator.userAgent) && typeof navigator.vendor === "string" && navigator.vendor.includes("Apple Computer");
7
7
  var EMPTY_ARRAY = [];
8
8
  var EMPTY_OBJECT = {};
9
9
  var getDebugLevelFromUrl = function () {
@@ -1 +1 @@
1
- {"version":3,"names":["isWeb","isAndroid","isBrowser","isIos","isServer","isWeb2","isTauri","window","isNative","IS_MAC_DESKTOP","navigator","test","platform","IS_SAFARI","userAgent","vendor","includes","EMPTY_ARRAY","EMPTY_OBJECT","getDebugLevelFromUrl","_window_location_search","_window_location","match","location","search","parseInt"],"sources":["../../src/constants.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAA,QAAa;AAiBtB,SAASC,SAAA,EAAWC,SAAA,EAAWC,KAAA,EAAOC,QAAA,EAAUJ,KAAA,IAAAK,MAAA,QAAa;AAftD,IAAAC,OAAM,UAAmBC,MAAO,gBAAW,eAAe,IAAAA,MAAe;AAEzE,IAAAC,QAAM,IAAAR,KAAqB,KAAAM,OAAU;AAIrC,IAAAG,cAAM,UACXC,SAAO,gBAAc,wBAAe,CAAAC,IAAqB,CAAAD,SAAK,CAAAE,QAAU;AAEnE,IAAAC,SAAM,GAAAP,OACX,WACCI,SAAO,gBAAc,6BACpB,CAAAC,IAA0B,CAAAD,SAAK,CAAAI,SAAU,KAASJ,SAClD,CAAAK,MAAU,CAAAC,QAAO,iBAAS;AAIvB,IAAAC,WAAM,KAAc;AACpB,IAAAC,YAAM,KAAe;AAE5B,IAAAC,oBAAM,YAAAA,CAAA,EAA4C;EAChD,IAAIC,uBAAkB,EAAAC,gBAAoB;EAC1C,WAAMd,MAAQ,KAAO,WAAU,SAAQ,IAAM;EAC7C,IAAAe,KAAO,IAAAD,gBAAsB,GAAAd,MAAO,CAAGgB,QAAM,cAAAF,gBAAA,wBAAAD,uBAAA,GAAAC,gBAAA,CAAAG,MAAA,cAAAJ,uBAAA,uBAAAA,uBAAA,CAAAE,KAAA;EAC/C,QAAAA,KAAA,aAAAA,KAAA,uBAAAA,KAAA,OAAAG,QAAA,CAAAH,KAAA;AAEO","ignoreList":[]}
1
+ {"version":3,"names":["isWeb","isAndroid","isBrowser","isIos","isServer","isWeb2","isTauri","window","isNative","IS_MAC_DESKTOP","navigator","test","platform","IS_SAFARI","userAgent","vendor","includes","EMPTY_ARRAY","EMPTY_OBJECT","getDebugLevelFromUrl","_window_location_search","_window_location","match","location","search","parseInt"],"sources":["../../src/constants.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAA,QAAa;AAkBtB,SAASC,SAAA,EAAWC,SAAA,EAAWC,KAAA,EAAOC,QAAA,EAAUJ,KAAA,IAAAK,MAAA,QAAa;AAhBtD,IAAAC,OAAM,UAAmBC,MAAO,gBAAW,eAAe,IAAAA,MAAe;AAEzE,IAAAC,QAAM,IAAAR,KAAqB,KAAAM,OAAU;AAIrC,IAAAG,cAAM,UACXC,SAAO,gBAAc,wBAAe,CAAAC,IAAqB,CAAAD,SAAK,CAAAE,QAAU;AAEnE,IAAAC,SAAM,GAAAP,OACX,WACCI,SAAO,gBAAc,6BACpB,CAAAC,IAA0B,CAAAD,SAAK,CAAAI,SAAU,KAAS,OAClDJ,SAAO,CAAAK,MAAU,aAAW,IAAAL,SAC5B,CAAAK,MAAU,CAAAC,QAAO,iBAAS;AAIvB,IAAAC,WAAM,KAAc;AACpB,IAAAC,YAAM,KAAe;AAE5B,IAAAC,oBAAM,YAAAA,CAAA,EAA4C;EAChD,IAAIC,uBAAkB,EAAAC,gBAAoB;EAC1C,WAAMd,MAAQ,KAAO,WAAU,SAAQ,IAAM;EAC7C,IAAAe,KAAO,IAAAD,gBAAsB,GAAAd,MAAO,CAAGgB,QAAM,cAAAF,gBAAA,wBAAAD,uBAAA,GAAAC,gBAAA,CAAAG,MAAA,cAAAJ,uBAAA,uBAAAA,uBAAA,CAAAE,KAAA;EAC/C,QAAAA,KAAA,aAAAA,KAAA,uBAAAA,KAAA,OAAAG,QAAA,CAAAH,KAAA;AAEO","ignoreList":[]}
@@ -2,6 +2,9 @@ let driver = null;
2
2
  function setStorageDriver(d) {
3
3
  driver = d;
4
4
  }
5
+ function clearStorageDriver() {
6
+ driver = null;
7
+ }
5
8
  function getStorageDriver() {
6
9
  if (driver) return driver;
7
10
  if (typeof localStorage !== "undefined" && typeof localStorage.getItem === "function") {
@@ -14,5 +17,5 @@ function getStorageDriver() {
14
17
  }
15
18
  return null;
16
19
  }
17
- export { getStorageDriver, setStorageDriver };
20
+ export { clearStorageDriver, getStorageDriver, setStorageDriver };
18
21
  //# sourceMappingURL=driver.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["driver","setStorageDriver","d","getStorageDriver","localStorage","getItem","key","setItem","value","removeItem","getAllKeys","Object","keys"],"sources":["../../../src/storage/driver.ts"],"sourcesContent":[null],"mappings":"AAEA,IAAIA,MAAA,GAA+B;AAE5B,SAASC,iBAAiBC,CAAA,EAAwB;EACvDF,MAAA,GAASE,CAAA;AACX;AAEO,SAASC,iBAAA,EAAyC;EACvD,IAAIH,MAAA,EAAQ,OAAOA,MAAA;EACnB,IAAI,OAAOI,YAAA,KAAiB,eAAe,OAAOA,YAAA,CAAaC,OAAA,KAAY,YAAY;IACrF,OAAO;MACLA,OAAA,EAAUC,GAAA,IAAQF,YAAA,CAAaC,OAAA,CAAQC,GAAG;MAC1CC,OAAA,EAASA,CAACD,GAAA,EAAKE,KAAA,KAAUJ,YAAA,CAAaG,OAAA,CAAQD,GAAA,EAAKE,KAAK;MACxDC,UAAA,EAAaH,GAAA,IAAQF,YAAA,CAAaK,UAAA,CAAWH,GAAG;MAChDI,UAAA,EAAYA,CAAA,KAAMC,MAAA,CAAOC,IAAA,CAAKR,YAAY;IAC5C;EACF;EACA,OAAO;AACT","ignoreList":[]}
1
+ {"version":3,"names":["driver","setStorageDriver","d","clearStorageDriver","getStorageDriver","localStorage","getItem","key","setItem","value","removeItem","getAllKeys","Object","keys"],"sources":["../../../src/storage/driver.ts"],"sourcesContent":[null],"mappings":"AAEA,IAAIA,MAAA,GAA+B;AAE5B,SAASC,iBAAiBC,CAAA,EAAwB;EACvDF,MAAA,GAASE,CAAA;AACX;AAEO,SAASC,mBAAA,EAA2B;EACzCH,MAAA,GAAS;AACX;AAEO,SAASI,iBAAA,EAAyC;EACvD,IAAIJ,MAAA,EAAQ,OAAOA,MAAA;EACnB,IAAI,OAAOK,YAAA,KAAiB,eAAe,OAAOA,YAAA,CAAaC,OAAA,KAAY,YAAY;IACrF,OAAO;MACLA,OAAA,EAAUC,GAAA,IAAQF,YAAA,CAAaC,OAAA,CAAQC,GAAG;MAC1CC,OAAA,EAASA,CAACD,GAAA,EAAKE,KAAA,KAAUJ,YAAA,CAAaG,OAAA,CAAQD,GAAA,EAAKE,KAAK;MACxDC,UAAA,EAAaH,GAAA,IAAQF,YAAA,CAAaK,UAAA,CAAWH,GAAG;MAChDI,UAAA,EAAYA,CAAA,KAAMC,MAAA,CAAOC,IAAA,CAAKR,YAAY;IAC5C;EACF;EACA,OAAO;AACT","ignoreList":[]}
@@ -2,6 +2,9 @@ var driver = null;
2
2
  function setStorageDriver(d) {
3
3
  driver = d;
4
4
  }
5
+ function clearStorageDriver() {
6
+ driver = null;
7
+ }
5
8
  function getStorageDriver() {
6
9
  if (driver) return driver;
7
10
  if (typeof localStorage !== "undefined" && typeof localStorage.getItem === "function") {
@@ -22,5 +25,5 @@ function getStorageDriver() {
22
25
  }
23
26
  return null;
24
27
  }
25
- export { getStorageDriver, setStorageDriver };
28
+ export { clearStorageDriver, getStorageDriver, setStorageDriver };
26
29
  //# sourceMappingURL=driver.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["driver","setStorageDriver","d","getStorageDriver","localStorage","getItem","key","setItem","value","removeItem"],"sources":["../../../src/storage/driver.ts"],"sourcesContent":[null],"mappings":"AAEA,IAAIA,MAAA,GAA+B;AAE5B,SAASC,iBAAiBC,CAAA,EAAwB;EACvDF,MAAA,GAASE,CAAA;AACX;AAEO,SAASC,iBAAA,EAAyC;EACvD,IAAIH,MAAA,EAAQ,OAAOA,MAAA;EACnB,IAAI,OAAOI,YAAA,KAAiB,eAAe,OAAOA,YAAA,CAAaC,OAAA,KAAY,YAAY;IACrF,OAAO;MACLA,OAAA,EAAS,SAAAA,CAASC,GAAA;QAClB,OAASF,YAAM,CAAAC,OAAU,CAAAC,GAAA;MACzB;MACAC,OAAA,WAAAA,CAAkBD,GAAA,EAAAE,KAAO,EAAK;QAChC,OAAAJ,YAAA,CAAAG,OAAA,CAAAD,GAAA,EAAAE,KAAA;MACF;MACAC,UAAO,WAAAA,CAAAH,GAAA;QACT,OAAAF,YAAA,CAAAK,UAAA,CAAAH,GAAA","ignoreList":[]}
1
+ {"version":3,"names":["driver","setStorageDriver","d","clearStorageDriver","getStorageDriver","localStorage","getItem","key","setItem","value","removeItem"],"sources":["../../../src/storage/driver.ts"],"sourcesContent":[null],"mappings":"AAEA,IAAIA,MAAA,GAA+B;AAE5B,SAASC,iBAAiBC,CAAA,EAAwB;EACvDF,MAAA,GAASE,CAAA;AACX;AAEO,SAASC,mBAAA,EAA2B;EACzCH,MAAA,GAAS;AACX;AAEO,SAASI,iBAAA,EAAyC;EACvD,IAAIJ,MAAA,EAAQ,OAAOA,MAAA;EACnB,IAAI,OAAOK,YAAA,KAAiB,eAAe,OAAOA,YAAA,CAAaC,OAAA,KAAY,YAAY;IACrF,OAAO;MACLA,OAAA,EAAS,SAAAA,CAASC,GAAA;QAClB,OAASF,YAAM,CAAAC,OAAU,CAAAC,GAAA;MACzB;MACAC,OAAA,WAAAA,CAAkBD,GAAA,EAAAE,KAAO,EAAK;QAChC,OAAAJ,YAAA,CAAAG,OAAA,CAAAD,GAAA,EAAAE,KAAA;MACF;MACAC,UAAO,WAAAA,CAAAH,GAAA;QACT,OAAAF,YAAA,CAAAK,UAAA,CAAAH,GAAA","ignoreList":[]}
@@ -1,12 +1,18 @@
1
1
  import { beforeEach, describe, expect, it } from "vitest";
2
2
  import { createStorage } from "./createStorage.mjs";
3
- import { getStorageDriver, setStorageDriver } from "./driver.mjs";
3
+ import { clearStorageDriver, getStorageDriver, setStorageDriver } from "./driver.mjs";
4
4
  describe("storage driver system", () => {
5
+ beforeEach(() => {
6
+ clearStorageDriver();
7
+ });
5
8
  describe("driver initialization", () => {
6
9
  it("getStorageDriver should return localStorage fallback on web", () => {
7
10
  const driver = getStorageDriver();
8
- if (typeof localStorage !== "undefined") {
11
+ const hasUsableLocalStorage = typeof globalThis.localStorage !== "undefined" && typeof globalThis.localStorage.getItem === "function";
12
+ if (hasUsableLocalStorage) {
9
13
  expect(driver).toBeTruthy();
14
+ } else {
15
+ expect(driver).toBeNull();
10
16
  }
11
17
  });
12
18
  it("should use custom driver when set", () => {
@@ -1 +1 @@
1
- {"version":3,"names":["beforeEach","describe","expect","it","createStorage","getStorageDriver","setStorageDriver","driver","localStorage","toBeTruthy","mockStorage","Map","mockDriver","getItem","key","get","setItem","value","set","removeItem","delete","getAllKeys","Array","from","keys","toBe","storage","Date","now","namespace","has","obj","name","count","toEqual","toBeUndefined","remove","sort","ns1","ns2","storage1","storage2","clear","not","toThrow"],"sources":["../../../src/storage/storage.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["beforeEach","describe","expect","it","createStorage","clearStorageDriver","getStorageDriver","setStorageDriver","driver","hasUsableLocalStorage","globalThis","localStorage","getItem","toBeTruthy","toBeNull","mockStorage","Map","mockDriver","key","get","setItem","value","set","removeItem","delete","getAllKeys","Array","from","keys","toBe","storage","Date","now","namespace","has","obj","name","count","toEqual","toBeUndefined","remove","sort","ns1","ns2","storage1","storage2","clear","not","toThrow"],"sources":["../../../src/storage/storage.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,12 +1,18 @@
1
1
  import { beforeEach, describe, expect, it } from "vitest";
2
2
  import { createStorage } from "./createStorage.native.js";
3
- import { getStorageDriver, setStorageDriver } from "./driver.native.js";
3
+ import { clearStorageDriver, getStorageDriver, setStorageDriver } from "./driver.native.js";
4
4
  describe("storage driver system", function () {
5
+ beforeEach(function () {
6
+ clearStorageDriver();
7
+ });
5
8
  describe("driver initialization", function () {
6
9
  it("getStorageDriver should return localStorage fallback on web", function () {
7
10
  var driver = getStorageDriver();
8
- if (typeof localStorage !== "undefined") {
11
+ var hasUsableLocalStorage = typeof globalThis.localStorage !== "undefined" && typeof globalThis.localStorage.getItem === "function";
12
+ if (hasUsableLocalStorage) {
9
13
  expect(driver).toBeTruthy();
14
+ } else {
15
+ expect(driver).toBeNull();
10
16
  }
11
17
  });
12
18
  it("should use custom driver when set", function () {
@@ -1 +1 @@
1
- {"version":3,"names":["beforeEach","describe","expect","it","createStorage","getStorageDriver","setStorageDriver","driver","localStorage","toBeTruthy","mockStorage","Map","mockDriver","getItem","key","_mockStorage_get","get","setItem","value","set","removeItem","delete","getAllKeys","Array","from","keys","toBe","storage","Date","now","namespace","has","obj","name","count","toEqual","toBeUndefined","remove","sort","ns1","ns2","storage1","storage2","clear"],"sources":["../../../src/storage/storage.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["beforeEach","describe","expect","it","createStorage","clearStorageDriver","getStorageDriver","setStorageDriver","driver","hasUsableLocalStorage","globalThis","localStorage","getItem","toBeTruthy","toBeNull","mockStorage","Map","mockDriver","key","_mockStorage_get","get","setItem","value","set","removeItem","delete","getAllKeys","Array","from","keys","toBe","storage","Date","now","namespace","has","obj","name","count","toEqual","toBeUndefined","remove","sort","ns1","ns2","storage1","storage2","clear"],"sources":["../../../src/storage/storage.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,EAAYC,QAAA,EAAUC,MAAA,EAAQC,EAAA,QAAU;AAEjD,SAASC,aAAA,QAAqB;AAC9B,SAASC,kBAAA,EAAoBC,gBAAA,EAAkBC,gBAAA,QAAwB;AAMvEN,QAAA,CAAS,yBAAyB,YAAM;EACtCD,UAAA,CAAW,YAAM;IACfK,kBAAA,CAAmB;EACrB,CAAC;EAEDJ,QAAA,CAAS,yBAAyB,YAAM;IACtCE,EAAA,CAAG,+DAA+D,YAAM;MACtE,IAAAK,MAAM,GAAAF,gBAAS;MACf,IAAAG,qBAAM,UACJC,UAAO,CAAAC,YAAW,gBAAiB,WACnCD,UAAO,CAAAC,YAAW,CAAAC,OAAa,eAAY;MAE7C,IAAIH,qBAAA,EAAuB;QACzBP,MAAA,CAAOM,MAAM,EAAEK,UAAA,CAAW;MAC5B,OAAO;QACLX,MAAA,CAAOM,MAAM,EAAEM,QAAA,CAAS;MAC1B;IACF,CAAC;IAEDX,EAAA,CAAG,qCAAqC,YAAM;MAC5C,IAAAY,WAAM,kBAAc,IAAAC,GAAI;MACxB,IAAAC,UAAM;QACJL,OAAA,EAAS,SAAAA,CAAiBM,GAAA;UAC1B,IAAAC,gBAAuB;UACvB,QAAAA,gBAA6B,GAAAJ,WAAmB,CAAAK,GAAG,CAAAF,GAAA,eAAAC,gBAAA,cAAAA,gBAAA;QACnD;QACFE,OAAA,WAAAA,CAAAH,GAAA,EAAAI,KAAA;UAEA,OAAAP,WAAiB,CAAAQ,GAAA,CAAUL,GAAA,EAAAI,KAAA;QAC3B;QACAE,UAAO,EAAM,SAAAA,CAAON,GAAA;UACrB,OAAAH,WAAA,CAAAU,MAAA,CAAAP,GAAA;QACF;QAEDQ,UAAS,WAAAA,CAAA;UACH,OAAAC,KAAA,CAAAC,IAAA,CAAAb,WAAA,CAAAc,IAAA;QAEJ;MACE;MACAtB,gBAAM,CAAAU,UAAa;MAAA,IACjBT,MAAA,GAAUF,gBAAgB;MAAwBJ,MAClD,CAAAM,MAAU,EAAAsB,IAAa,CAAAb,UAAkB;IAA0B;EAChB;EACJhB,QACjD;IACA,IAAAc,WAAA;IACFf,UAAC;MAEDe,WAAG,sBAAAC,GAAoC;MACrC,IAAAC,UAAM,GAAU;QAChBL,OAAQ,WAAAA,CAAIM,GAAS;UACrB,IAAOC,gBAAY;UACpB,QAAAA,gBAAA,GAAAJ,WAAA,CAAAK,GAAA,CAAAF,GAAA,eAAAC,gBAAA,cAAAA,gBAAA;QAEE;QACDE,OAAM,WAAAA,CAAYH,GAAA,EAAAI,KAAQ,EAAK;UAC/B,OAAMP,WAAU,CAAAQ,GAAA,CAAAL,GAA6B,EAAAI,KAAA;QAC7C;QAGAE,UAAO,WAAAA,CAAgBN,GAAG;UAC3B,OAAAH,WAAA,CAAAU,MAAA,CAAAP,GAAA;QAEE;QACDQ,UAAM,WAAAA,CAAA,EAAU;UACd,OAAQC,KAAK,CAAAC,IAAK,CAAAb,WAAA,CAAAc,IAAA;QACpB;MACA;MACAtB,gBAAY,CAAAU,UAAU;IACtB;IACFd,EAAC;MAED,IAAG4B,OAAA,GAAA3B,aAAA,SAAA4B,IAAA,CAAwCC,GAAA,MAAM;MAC/CF,OAAM,CAAAR,GAAA,QAAU,cAA6B;MAC7CrB,MAAA,CAAA6B,OAAQ,CAAAX,GAAQ,QAAO,GAAAU,IAAA,CAAW;IAClC;IACF3B,EAAC;MAED,IAAG+B,SAAA,WAAAF,IAAA,CAAAC,GAAA;MACD,IAAAF,OAAM,GAAA3B,aAAU,CAAA8B,SAAiC,CAAQ;MACzDH,OAAO,CAAAR,GAAA,MAAQ,EAAI;MACpBrB,MAAA,CAAAa,WAAA,CAAAoB,GAAA,IAAAD,SAAA,SAAAJ,IAAA;IAED;IACE3B,EAAA,mCAAgD,cAAkB;MAClE,IAAA4B,OAAO,GAAA3B,aAAoB,CAAC,QAAO4B,IAAK,CAAAC,GAAA;MACxC,IAAAG,GAAA,GAAQ;QACRC,IAAA,EAAO;QACRC,KAAA;MAED,CAAG;MACDP,OAAM,CAAAR,GAAA,MAAU,EAAAa,GAAA;MAChBlC,MAAA,CAAA6B,OAAY,CAAAX,GAAA,OAAa,EAAAmB,OAAO,CAAAH,GAAA;IAChC;IACAjC,EAAA,uCAA0B;MAC1B,IAAA4B,OAAO,GAAA3B,aAAY,SAAc4B,IAAK,CAAAC,GAAK;MAC5CF,OAAA,CAAAV,OAAA;MAEDnB,MAAG,CAAA6B,OAAA,CAAAnB,OAAA,SAAAkB,IAAiC,YAAM;IACxC;IACA3B,EAAA,2CAAoB;MACpB,IAAA4B,OAAQ,GAAI3B,aAAQ,SAAA4B,IAAA,CAAAC,GAAA;MACpB/B,MAAA,CAAA6B,OAAY,CAAAX,GAAK,UAAG,GAAAoB,aAAA;IACpB;IACFrC,EAAC;MAED,IAAG4B,OAAA,GAAA3B,aAAA,SAAA4B,IAAoC,CAAAC,GAAM;MAC3C/B,MAAM,CAAA6B,OAAM,CAAAI,GAAA,SAAa,EAAI,CAACL,IAAA;MAC9BC,OAAM,CAAAR,GAAA,CAAM,QAAQ,SAAS,CAAC;MAC9BrB,MAAM,CAAA6B,OAAA,CAAAI,GAAW,YAAAL,IAAgC;IACjD;IAEA3B,EAAA,0BAAoB,EAAQ;MAC5B,IAAA4B,OAAS,GAAI3B,aAAO,CAAQ,QAAA4B,IAAA,CAAAC,GAAA;MAE5BF,OAAA,CAAAR,GAAS,YAAM;MAEfrB,MAAA,CAAO6B,OAAA,CAAAI,GAAS,YAAY,GAAKL,IAAA,CAAK;MACtCC,OAAO,CAAAU,MAAA,YAAmB;MAC3BvC,MAAA,CAAA6B,OAAA,CAAAI,GAAA,eAAAL,IAAA;IACF;IAED3B,EAAA,gCAAS;MAIP,IAAG4B,OAAA,GAAA3B,aAAA,SAAA4B,IAAA,CAAAC,GAAA,MAAiD;MAIlDF,OAAM,CAAAR,GAAA,MAAU;MAGhBQ,OAAO,CAAAR,GAAA,IAAM,MAAQ;MACrBQ,OAAO,CAAAR,GAAA,IAAM,MAAQ;MACrBrB,MAAA,CAAO6B,OAAM,CAAAF,IAAA,EAAQ,CAAAa,IAAA,EAAO,EAAAH,OAAQ,EACpC,KACA,KACA,IACA;IACA;IACFpC,EAAC;MACF,IAAAwC,GAAA,WAAAX,IAAA,CAAAC,GAAA;MACF,IAAAW,GAAA,WAAAZ,IAAA,CAAAC,GAAA;MAED,IAASY,QAAA,GAAAzC,aAAA,CAAAuC,GAA6B;MAGjC,IAAAG,QAAA,GAAA1C,aAAA,CAAAwC,GAAA;MAQDC,QAAO,CAAItB,GAAE,MAAK,EAAI;MACvBuB,QAAA,CAAAvB,GAAA;MAEEsB,QAAA,CAAAE,KAAA;MAQD7C,MAAO,CAAA2C,QAAM,CAAKV,GAAA,CAAI,QAAAL,IAAA;MACvB5B,MAAA,CAAA4C,QAAA,CAAAX,GAAA,SAAAL,IAAA;IACF","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@take-out/helpers",
3
- "version": "0.4.11",
3
+ "version": "0.4.12",
4
4
  "sideEffects": false,
5
5
  "type": "module",
6
6
  "source": "src/index.ts",
package/src/constants.ts CHANGED
@@ -13,6 +13,7 @@ export const IS_SAFARI: boolean =
13
13
  isTauri ||
14
14
  (typeof navigator !== 'undefined' &&
15
15
  /Version\/[\d.]+.*Safari/.test(navigator.userAgent) &&
16
+ typeof navigator.vendor === 'string' &&
16
17
  navigator.vendor.includes('Apple Computer'))
17
18
 
18
19
  export { isAndroid, isBrowser, isIos, isServer, isWeb } from '@tamagui/constants'
@@ -6,6 +6,10 @@ export function setStorageDriver(d: StorageDriver): void {
6
6
  driver = d
7
7
  }
8
8
 
9
+ export function clearStorageDriver(): void {
10
+ driver = null
11
+ }
12
+
9
13
  export function getStorageDriver(): StorageDriver | null {
10
14
  if (driver) return driver
11
15
  if (typeof localStorage !== 'undefined' && typeof localStorage.getItem === 'function') {
@@ -1,21 +1,28 @@
1
1
  import { beforeEach, describe, expect, it } from 'vitest'
2
2
 
3
3
  import { createStorage } from './createStorage'
4
- import { getStorageDriver, setStorageDriver } from './driver'
4
+ import { clearStorageDriver, getStorageDriver, setStorageDriver } from './driver'
5
5
 
6
6
  // test the storage driver system to ensure it works correctly
7
7
  // this regression test validates that the storage system initializes properly
8
8
  // which is critical for native auth to work
9
9
 
10
10
  describe('storage driver system', () => {
11
+ beforeEach(() => {
12
+ clearStorageDriver()
13
+ })
14
+
11
15
  describe('driver initialization', () => {
12
16
  it('getStorageDriver should return localStorage fallback on web', () => {
13
- // web environment has localStorage which should be used as fallback
14
17
  const driver = getStorageDriver()
15
- // in node/vitest environment, localStorage might not exist
16
- // but if it does, the driver should work
17
- if (typeof localStorage !== 'undefined') {
18
+ const hasUsableLocalStorage =
19
+ typeof globalThis.localStorage !== 'undefined' &&
20
+ typeof globalThis.localStorage.getItem === 'function'
21
+
22
+ if (hasUsableLocalStorage) {
18
23
  expect(driver).toBeTruthy()
24
+ } else {
25
+ expect(driver).toBeNull()
19
26
  }
20
27
  })
21
28
 
@@ -1,11 +1,11 @@
1
1
  {
2
- "mappings": "AAEA,OAAO,cAAM;AAEb,OAAO,cAAM;AAIb,OAAO,cAAM;AAGb,OAAO,cAAM;AAMb,SAAS,WAAW,WAAW,OAAO,UAAU,aAAa;AAE7D,OAAO,cAAM;AACb,OAAO,cAAM;AAQb,OAAO,cAAM",
2
+ "mappings": "AAEA,OAAO,cAAM;AAEb,OAAO,cAAM;AAIb,OAAO,cAAM;AAGb,OAAO,cAAM;AAOb,SAAS,WAAW,WAAW,OAAO,UAAU,aAAa;AAE7D,OAAO,cAAM;AACb,OAAO,cAAM;AAQb,OAAO,cAAM",
3
3
  "names": [],
4
4
  "sources": [
5
5
  "src/constants.ts"
6
6
  ],
7
7
  "version": 3,
8
8
  "sourcesContent": [
9
- "import { isWeb } from '@tamagui/constants'\n\nexport const isTauri: boolean = typeof window !== 'undefined' && '__TAURI__' in window\n\nexport const isNative: boolean = !isWeb && !isTauri\n\n// TODO move to probably ~/interface/constants\n\nexport const IS_MAC_DESKTOP: boolean =\n typeof navigator !== 'undefined' && /Macintosh|MacIntel/.test(navigator.platform)\n\nexport const IS_SAFARI: boolean =\n isTauri ||\n (typeof navigator !== 'undefined' &&\n /Version\\/[\\d.]+.*Safari/.test(navigator.userAgent) &&\n navigator.vendor.includes('Apple Computer'))\n\nexport { isAndroid, isBrowser, isIos, isServer, isWeb } from '@tamagui/constants'\n\nexport const EMPTY_ARRAY = [] as never\nexport const EMPTY_OBJECT = {} as never\n\nconst getDebugLevelFromUrl = (): number | null => {\n if (typeof window === 'undefined') return null\n const match = window.location?.search?.match(/debug=(\\d+)/)\n return match?.[1] ? parseInt(match[1], 10) : null\n}\n\nexport const DEBUG_LEVEL: number = process.env.DEBUG_LEVEL\n ? +process.env.DEBUG_LEVEL\n : (getDebugLevelFromUrl() ?? (process.env.NODE_ENV === 'development' ? 1 : 0))\n"
9
+ "import { isWeb } from '@tamagui/constants'\n\nexport const isTauri: boolean = typeof window !== 'undefined' && '__TAURI__' in window\n\nexport const isNative: boolean = !isWeb && !isTauri\n\n// TODO move to probably ~/interface/constants\n\nexport const IS_MAC_DESKTOP: boolean =\n typeof navigator !== 'undefined' && /Macintosh|MacIntel/.test(navigator.platform)\n\nexport const IS_SAFARI: boolean =\n isTauri ||\n (typeof navigator !== 'undefined' &&\n /Version\\/[\\d.]+.*Safari/.test(navigator.userAgent) &&\n typeof navigator.vendor === 'string' &&\n navigator.vendor.includes('Apple Computer'))\n\nexport { isAndroid, isBrowser, isIos, isServer, isWeb } from '@tamagui/constants'\n\nexport const EMPTY_ARRAY = [] as never\nexport const EMPTY_OBJECT = {} as never\n\nconst getDebugLevelFromUrl = (): number | null => {\n if (typeof window === 'undefined') return null\n const match = window.location?.search?.match(/debug=(\\d+)/)\n return match?.[1] ? parseInt(match[1], 10) : null\n}\n\nexport const DEBUG_LEVEL: number = process.env.DEBUG_LEVEL\n ? +process.env.DEBUG_LEVEL\n : (getDebugLevelFromUrl() ?? (process.env.NODE_ENV === 'development' ? 1 : 0))\n"
10
10
  ]
11
11
  }
@@ -1,5 +1,6 @@
1
1
  import type { StorageDriver } from "./types";
2
2
  export declare function setStorageDriver(d: StorageDriver): void;
3
+ export declare function clearStorageDriver(): void;
3
4
  export declare function getStorageDriver(): StorageDriver | null;
4
5
 
5
6
  //# sourceMappingURL=driver.d.ts.map
@@ -1,11 +1,11 @@
1
1
  {
2
- "mappings": "AAAA,cAAc,qBAAqB;AAInC,OAAO,iBAAS,iBAAiB,GAAG;AAIpC,OAAO,iBAAS,oBAAoB",
2
+ "mappings": "AAAA,cAAc,qBAAqB;AAInC,OAAO,iBAAS,iBAAiB,GAAG;AAIpC,OAAO,iBAAS;AAIhB,OAAO,iBAAS,oBAAoB",
3
3
  "names": [],
4
4
  "sources": [
5
5
  "src/storage/driver.ts"
6
6
  ],
7
7
  "version": 3,
8
8
  "sourcesContent": [
9
- "import type { StorageDriver } from './types'\n\nlet driver: StorageDriver | null = null\n\nexport function setStorageDriver(d: StorageDriver): void {\n driver = d\n}\n\nexport function getStorageDriver(): StorageDriver | null {\n if (driver) return driver\n if (typeof localStorage !== 'undefined' && typeof localStorage.getItem === 'function') {\n return {\n getItem: (key) => localStorage.getItem(key),\n setItem: (key, value) => localStorage.setItem(key, value),\n removeItem: (key) => localStorage.removeItem(key),\n getAllKeys: () => Object.keys(localStorage),\n }\n }\n return null\n}\n"
9
+ "import type { StorageDriver } from './types'\n\nlet driver: StorageDriver | null = null\n\nexport function setStorageDriver(d: StorageDriver): void {\n driver = d\n}\n\nexport function clearStorageDriver(): void {\n driver = null\n}\n\nexport function getStorageDriver(): StorageDriver | null {\n if (driver) return driver\n if (typeof localStorage !== 'undefined' && typeof localStorage.getItem === 'function') {\n return {\n getItem: (key) => localStorage.getItem(key),\n setItem: (key, value) => localStorage.setItem(key, value),\n removeItem: (key) => localStorage.removeItem(key),\n getAllKeys: () => Object.keys(localStorage),\n }\n }\n return null\n}\n"
10
10
  ]
11
11
  }
@@ -6,6 +6,6 @@
6
6
  ],
7
7
  "version": 3,
8
8
  "sourcesContent": [
9
- "import { beforeEach, describe, expect, it } from 'vitest'\n\nimport { createStorage } from './createStorage'\nimport { getStorageDriver, setStorageDriver } from './driver'\n\n// test the storage driver system to ensure it works correctly\n// this regression test validates that the storage system initializes properly\n// which is critical for native auth to work\n\ndescribe('storage driver system', () => {\n describe('driver initialization', () => {\n it('getStorageDriver should return localStorage fallback on web', () => {\n // web environment has localStorage which should be used as fallback\n const driver = getStorageDriver()\n // in node/vitest environment, localStorage might not exist\n // but if it does, the driver should work\n if (typeof localStorage !== 'undefined') {\n expect(driver).toBeTruthy()\n }\n })\n\n it('should use custom driver when set', () => {\n const mockStorage = new Map<string, string>()\n const mockDriver = {\n getItem: (key: string) => mockStorage.get(key) ?? null,\n setItem: (key: string, value: string) => mockStorage.set(key, value),\n removeItem: (key: string) => mockStorage.delete(key),\n getAllKeys: () => Array.from(mockStorage.keys()),\n }\n\n setStorageDriver(mockDriver)\n const driver = getStorageDriver()\n expect(driver).toBe(mockDriver)\n })\n })\n\n describe('createStorage with driver', () => {\n let mockStorage: Map<string, string>\n\n beforeEach(() => {\n mockStorage = new Map<string, string>()\n const mockDriver = {\n getItem: (key: string) => mockStorage.get(key) ?? null,\n setItem: (key: string, value: string) => mockStorage.set(key, value),\n removeItem: (key: string) => mockStorage.delete(key),\n getAllKeys: () => Array.from(mockStorage.keys()),\n }\n setStorageDriver(mockDriver)\n })\n\n it('should store and retrieve values', () => {\n const storage = createStorage<'token', string>(`test-${Date.now()}-1`)\n storage.set('token', 'test-value')\n expect(storage.get('token')).toBe('test-value')\n })\n\n it('should use namespace prefix', () => {\n const namespace = `test-${Date.now()}-2`\n const storage = createStorage<'key', string>(namespace)\n storage.set('key', 'value')\n\n // verify the key in the underlying storage has the namespace prefix\n expect(mockStorage.has(`${namespace}:key`)).toBe(true)\n })\n\n it('should handle JSON serialization', () => {\n const storage = createStorage<'obj', { name: string; count: number }>(\n `test-${Date.now()}-3`,\n )\n const obj = { name: 'test', count: 42 }\n storage.set('obj', obj)\n expect(storage.get('obj')).toEqual(obj)\n })\n\n it('should support raw string operations', () => {\n const storage = createStorage<'raw', string>(`test-${Date.now()}-4`)\n storage.setItem('raw', 'raw-value')\n expect(storage.getItem('raw')).toBe('raw-value')\n })\n\n it('should return undefined for missing keys', () => {\n const storage = createStorage<'missing', string>(`test-${Date.now()}-5`)\n expect(storage.get('missing')).toBeUndefined()\n })\n\n it('should support has() check', () => {\n const storage = createStorage<'exists', string>(`test-${Date.now()}-6`)\n expect(storage.has('exists')).toBe(false)\n storage.set('exists', 'value')\n expect(storage.has('exists')).toBe(true)\n })\n\n it('should support remove()', () => {\n const storage = createStorage<'removable', string>(`test-${Date.now()}-7`)\n storage.set('removable', 'value')\n expect(storage.has('removable')).toBe(true)\n storage.remove('removable')\n expect(storage.has('removable')).toBe(false)\n })\n\n it('should list keys in namespace', () => {\n const storage = createStorage<'a' | 'b' | 'c', string>(`test-${Date.now()}-8`)\n storage.set('a', '1')\n storage.set('b', '2')\n storage.set('c', '3')\n expect(storage.keys().sort()).toEqual(['a', 'b', 'c'])\n })\n\n it('should clear only namespace keys', () => {\n const ns1 = `test-${Date.now()}-9a`\n const ns2 = `test-${Date.now()}-9b`\n const storage1 = createStorage<'key', string>(ns1)\n const storage2 = createStorage<'key', string>(ns2)\n\n storage1.set('key', 'value1')\n storage2.set('key', 'value2')\n\n storage1.clear()\n\n expect(storage1.has('key')).toBe(false)\n expect(storage2.has('key')).toBe(true)\n })\n })\n\n describe('createStorage without driver (simulates native without setup)', () => {\n // this test simulates what happens on native when setupStorage.native.ts\n // is not imported before auth initialization\n\n it('should handle gracefully when operations fail', () => {\n // when driver returns null, operations should not throw\n // they should just silently fail (return undefined, do nothing)\n // this is the current behavior but we want to document it\n const storage = createStorage<'key', string>(`test-no-driver-${Date.now()}`)\n\n // these should not throw even without a driver\n expect(() => storage.get('key')).not.toThrow()\n expect(() => storage.set('key', 'value')).not.toThrow()\n expect(() => storage.remove('key')).not.toThrow()\n expect(() => storage.has('key')).not.toThrow()\n expect(() => storage.keys()).not.toThrow()\n expect(() => storage.clear()).not.toThrow()\n expect(() => storage.getItem('key')).not.toThrow()\n expect(() => storage.setItem('key', 'value')).not.toThrow()\n })\n })\n})\n\ndescribe('auth storage requirements', () => {\n // these tests document the requirements for auth storage to work correctly\n\n it('storage must be initialized before auth client creates storage instances', () => {\n // the expo auth client creates storage at module load time:\n // const expoStorage = createStorage('expo-auth-client')\n //\n // if setStorageDriver is not called before this, storage operations will fail\n // this is why setupClient.ts must run before any auth code\n\n // we verify this requirement is documented and understood\n expect(true).toBe(true)\n })\n\n it('native platforms require explicit storage driver setup', () => {\n // unlike web which has localStorage fallback, native platforms need\n // MMKV or AsyncStorage to be configured via setStorageDriver()\n //\n // this happens in setupStorage.native.ts which must be imported\n // before platformClient.native.ts creates its storage instance\n\n // we verify this requirement is documented and understood\n expect(true).toBe(true)\n })\n})\n"
9
+ "import { beforeEach, describe, expect, it } from 'vitest'\n\nimport { createStorage } from './createStorage'\nimport { clearStorageDriver, getStorageDriver, setStorageDriver } from './driver'\n\n// test the storage driver system to ensure it works correctly\n// this regression test validates that the storage system initializes properly\n// which is critical for native auth to work\n\ndescribe('storage driver system', () => {\n beforeEach(() => {\n clearStorageDriver()\n })\n\n describe('driver initialization', () => {\n it('getStorageDriver should return localStorage fallback on web', () => {\n const driver = getStorageDriver()\n const hasUsableLocalStorage =\n typeof globalThis.localStorage !== 'undefined' &&\n typeof globalThis.localStorage.getItem === 'function'\n\n if (hasUsableLocalStorage) {\n expect(driver).toBeTruthy()\n } else {\n expect(driver).toBeNull()\n }\n })\n\n it('should use custom driver when set', () => {\n const mockStorage = new Map<string, string>()\n const mockDriver = {\n getItem: (key: string) => mockStorage.get(key) ?? null,\n setItem: (key: string, value: string) => mockStorage.set(key, value),\n removeItem: (key: string) => mockStorage.delete(key),\n getAllKeys: () => Array.from(mockStorage.keys()),\n }\n\n setStorageDriver(mockDriver)\n const driver = getStorageDriver()\n expect(driver).toBe(mockDriver)\n })\n })\n\n describe('createStorage with driver', () => {\n let mockStorage: Map<string, string>\n\n beforeEach(() => {\n mockStorage = new Map<string, string>()\n const mockDriver = {\n getItem: (key: string) => mockStorage.get(key) ?? null,\n setItem: (key: string, value: string) => mockStorage.set(key, value),\n removeItem: (key: string) => mockStorage.delete(key),\n getAllKeys: () => Array.from(mockStorage.keys()),\n }\n setStorageDriver(mockDriver)\n })\n\n it('should store and retrieve values', () => {\n const storage = createStorage<'token', string>(`test-${Date.now()}-1`)\n storage.set('token', 'test-value')\n expect(storage.get('token')).toBe('test-value')\n })\n\n it('should use namespace prefix', () => {\n const namespace = `test-${Date.now()}-2`\n const storage = createStorage<'key', string>(namespace)\n storage.set('key', 'value')\n\n // verify the key in the underlying storage has the namespace prefix\n expect(mockStorage.has(`${namespace}:key`)).toBe(true)\n })\n\n it('should handle JSON serialization', () => {\n const storage = createStorage<'obj', { name: string; count: number }>(\n `test-${Date.now()}-3`,\n )\n const obj = { name: 'test', count: 42 }\n storage.set('obj', obj)\n expect(storage.get('obj')).toEqual(obj)\n })\n\n it('should support raw string operations', () => {\n const storage = createStorage<'raw', string>(`test-${Date.now()}-4`)\n storage.setItem('raw', 'raw-value')\n expect(storage.getItem('raw')).toBe('raw-value')\n })\n\n it('should return undefined for missing keys', () => {\n const storage = createStorage<'missing', string>(`test-${Date.now()}-5`)\n expect(storage.get('missing')).toBeUndefined()\n })\n\n it('should support has() check', () => {\n const storage = createStorage<'exists', string>(`test-${Date.now()}-6`)\n expect(storage.has('exists')).toBe(false)\n storage.set('exists', 'value')\n expect(storage.has('exists')).toBe(true)\n })\n\n it('should support remove()', () => {\n const storage = createStorage<'removable', string>(`test-${Date.now()}-7`)\n storage.set('removable', 'value')\n expect(storage.has('removable')).toBe(true)\n storage.remove('removable')\n expect(storage.has('removable')).toBe(false)\n })\n\n it('should list keys in namespace', () => {\n const storage = createStorage<'a' | 'b' | 'c', string>(`test-${Date.now()}-8`)\n storage.set('a', '1')\n storage.set('b', '2')\n storage.set('c', '3')\n expect(storage.keys().sort()).toEqual(['a', 'b', 'c'])\n })\n\n it('should clear only namespace keys', () => {\n const ns1 = `test-${Date.now()}-9a`\n const ns2 = `test-${Date.now()}-9b`\n const storage1 = createStorage<'key', string>(ns1)\n const storage2 = createStorage<'key', string>(ns2)\n\n storage1.set('key', 'value1')\n storage2.set('key', 'value2')\n\n storage1.clear()\n\n expect(storage1.has('key')).toBe(false)\n expect(storage2.has('key')).toBe(true)\n })\n })\n\n describe('createStorage without driver (simulates native without setup)', () => {\n // this test simulates what happens on native when setupStorage.native.ts\n // is not imported before auth initialization\n\n it('should handle gracefully when operations fail', () => {\n // when driver returns null, operations should not throw\n // they should just silently fail (return undefined, do nothing)\n // this is the current behavior but we want to document it\n const storage = createStorage<'key', string>(`test-no-driver-${Date.now()}`)\n\n // these should not throw even without a driver\n expect(() => storage.get('key')).not.toThrow()\n expect(() => storage.set('key', 'value')).not.toThrow()\n expect(() => storage.remove('key')).not.toThrow()\n expect(() => storage.has('key')).not.toThrow()\n expect(() => storage.keys()).not.toThrow()\n expect(() => storage.clear()).not.toThrow()\n expect(() => storage.getItem('key')).not.toThrow()\n expect(() => storage.setItem('key', 'value')).not.toThrow()\n })\n })\n})\n\ndescribe('auth storage requirements', () => {\n // these tests document the requirements for auth storage to work correctly\n\n it('storage must be initialized before auth client creates storage instances', () => {\n // the expo auth client creates storage at module load time:\n // const expoStorage = createStorage('expo-auth-client')\n //\n // if setStorageDriver is not called before this, storage operations will fail\n // this is why setupClient.ts must run before any auth code\n\n // we verify this requirement is documented and understood\n expect(true).toBe(true)\n })\n\n it('native platforms require explicit storage driver setup', () => {\n // unlike web which has localStorage fallback, native platforms need\n // MMKV or AsyncStorage to be configured via setStorageDriver()\n //\n // this happens in setupStorage.native.ts which must be imported\n // before platformClient.native.ts creates its storage instance\n\n // we verify this requirement is documented and understood\n expect(true).toBe(true)\n })\n})\n"
10
10
  ]
11
11
  }