on-zero 0.9.2 → 0.9.4

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.
Files changed (35) hide show
  1. package/dist/cjs/createZeroClient.cjs +176 -100
  2. package/dist/cjs/createZeroClient.connection.test.cjs +32 -0
  3. package/dist/cjs/createZeroClient.connection.test.native.js +34 -0
  4. package/dist/cjs/createZeroClient.connection.test.native.js.map +1 -1
  5. package/dist/cjs/createZeroClient.headless.test.cjs +33 -0
  6. package/dist/cjs/createZeroClient.headless.test.native.js +38 -0
  7. package/dist/cjs/createZeroClient.headless.test.native.js.map +1 -0
  8. package/dist/cjs/createZeroClient.native.js +207 -132
  9. package/dist/cjs/createZeroClient.native.js.map +1 -1
  10. package/dist/cjs/zeroRunner.cjs +1 -1
  11. package/dist/cjs/zeroRunner.native.js +1 -1
  12. package/dist/esm/createZeroClient.connection.test.mjs +32 -0
  13. package/dist/esm/createZeroClient.connection.test.mjs.map +1 -1
  14. package/dist/esm/createZeroClient.connection.test.native.js +34 -0
  15. package/dist/esm/createZeroClient.connection.test.native.js.map +1 -1
  16. package/dist/esm/createZeroClient.headless.test.mjs +34 -0
  17. package/dist/esm/createZeroClient.headless.test.mjs.map +1 -0
  18. package/dist/esm/createZeroClient.headless.test.native.js +36 -0
  19. package/dist/esm/createZeroClient.headless.test.native.js.map +1 -0
  20. package/dist/esm/createZeroClient.mjs +178 -102
  21. package/dist/esm/createZeroClient.mjs.map +1 -1
  22. package/dist/esm/createZeroClient.native.js +209 -134
  23. package/dist/esm/createZeroClient.native.js.map +1 -1
  24. package/dist/esm/zeroRunner.mjs +1 -1
  25. package/dist/esm/zeroRunner.mjs.map +1 -1
  26. package/dist/esm/zeroRunner.native.js +1 -1
  27. package/package.json +1 -1
  28. package/src/createZeroClient.connection.test.tsx +38 -0
  29. package/src/createZeroClient.headless.test.tsx +47 -0
  30. package/src/createZeroClient.tsx +323 -218
  31. package/src/zeroRunner.ts +1 -1
  32. package/types/createZeroClient.d.ts +24 -0
  33. package/types/createZeroClient.d.ts.map +1 -1
  34. package/types/createZeroClient.headless.test.d.ts +2 -0
  35. package/types/createZeroClient.headless.test.d.ts.map +1 -0
@@ -1 +1 @@
1
- {"version":3,"names":["createSchema","string","table","act","createRoot","afterEach","beforeEach","expect","test","vi","createZeroClient","jsx","fakeZero","hoisted","FakeConnectionState","current","listeners","Set","constructor","initial","subscribe","cb","add","delete","set","next","FakeZero","context","connection","state","name","connect","fn","errors","close","run","preload","cleanup","complete","Promise","resolve","instances","push","mock","importOriginal","actual","Zero","globalThis","IS_REACT_ACT_ENVIRONMENT","noteTable","columns","id","body","primaryKey","schema","tables","client","models","groupedQueries","instanceName","container","root","length","document","createElement","dataset","zeroState","zeroConnected","zeroReason","unmount","mount","extraProps","userID","render","ProvideZero","cacheURL","children","at","readinessClient","ready","waitForZero","toBe","install","transport","toHaveBeenCalledOnce","toHaveBeenCalledWith","refreshAuth","events","off","zeroEvents","listen","event","instance","reason","toHaveBeenCalledTimes","auth","toContainEqual","type","reasonKey","message","some","status","not","toHaveBeenCalled","connectionDataset","zeroCacheUrl","toBeUndefined","useFakeTimers","advanceTimersByTime","useRealTimers"],"sources":["../../src/createZeroClient.connection.test.tsx"],"sourcesContent":[null],"mappings":"AAEA,SAASA,YAAA,EAAcC,MAAA,EAAQC,KAAA,QAAa;AAC5C,SAASC,GAAA,QAAW;AACpB,SAASC,UAAA,QAA6B;AACtC,SAASC,SAAA,EAAWC,UAAA,EAAYC,MAAA,EAAQC,IAAA,EAAMC,EAAA,QAAU;AAgDxD,SAASC,gBAAA,QAAwB;AA2CzB,SAAAC,GAAA;AAvFR,MAAMC,QAAA,GAAWH,EAAA,CAAGI,OAAA,CAAQ,MAAM;EAChC,MAAMC,mBAAA,CAAoB;IACxBC,OAAA;IACAC,SAAA,GAAY,mBAAIC,GAAA,CAAgB;IAChCC,YAAYC,OAAA,EAA4C;MACtD,KAAKJ,OAAA,GAAUI,OAAA;IACjB;IACAC,SAAA,GAAaC,EAAA,IAAmB;MAC9B,KAAKL,SAAA,CAAUM,GAAA,CAAID,EAAE;MACrB,OAAO,MAAM;QACX,KAAKL,SAAA,CAAUO,MAAA,CAAOF,EAAE;MAC1B;IACF;IACAG,IAAIC,IAAA,EAAyC;MAC3C,KAAKV,OAAA,GAAUU,IAAA;MACf,WAAWJ,EAAA,IAAM,KAAKL,SAAA,EAAWK,EAAA,CAAG;IACtC;EACF;EAEA,MAAMK,QAAA,CAAS;IACJC,OAAA,GAAU,CAAC;IACXC,UAAA,GAAa;MACpBC,KAAA,EAAO,IAAIf,mBAAA,CAAoB;QAAEgB,IAAA,EAAM;MAAa,CAAC;MACrDC,OAAA,EAAStB,EAAA,CAAGuB,EAAA,CAAG,YAAY,CAAC,CAAC;IAC/B;IACST,MAAA,GAASd,EAAA,CAAGuB,EAAA,CAAG,aAAa;MAAEC,MAAA,EAAQ;IAAG,EAAE;IAC3CC,KAAA,GAAQzB,EAAA,CAAGuB,EAAA,CAAG;IACdG,GAAA,GAAM1B,EAAA,CAAGuB,EAAA,CAAG,YAAY,EAAE;IAC1BI,OAAA,GAAU3B,EAAA,CAAGuB,EAAA,CAAG,OAAO;MAAEK,OAAA,EAASA,CAAA,KAAM,CAAC;MAAGC,QAAA,EAAUC,OAAA,CAAQC,OAAA,CAAQ;IAAE,EAAE;IAEnFtB,YAAA,EAAc;MACZuB,SAAA,CAAUC,IAAA,CAAK,IAAI;IACrB;EACF;EAEA,MAAMD,SAAA,GAAwB,EAAC;EAC/B,OAAO;IAAEf,QAAA;IAAUZ,mBAAA;IAAqB2B;EAAU;AACpD,CAAC;AAEDhC,EAAA,CAAGkC,IAAA,CAAK,kBAAkB,MAAOC,cAAA,IAAmB;EAClD,MAAMC,MAAA,GAAS,MAAMD,cAAA,CAAgD;EACrE,OAAO;IAAE,GAAGC,MAAA;IAAQC,IAAA,EAAMlC,QAAA,CAASc;EAAS;AAC9C,CAAC;AAQDqB,UAAA,CAAWC,wBAAA,GAA2B;AAEtC,MAAMC,SAAA,GAAY/C,KAAA,CAAM,MAAM,EAAEgD,OAAA,CAAQ;EAAEC,EAAA,EAAIlD,MAAA,CAAO;EAAGmD,IAAA,EAAMnD,MAAA,CAAO;AAAE,CAAC,EAAEoD,UAAA,CAAW,IAAI;AACzF,MAAMC,MAAA,GAAStD,YAAA,CAAa;EAAEuD,MAAA,EAAQ,CAACN,SAAS;AAAE,CAAC;AAEnD,MAAMO,MAAA,GAAS9C,gBAAA,CAAiB;EAC9B4C,MAAA;EACAG,MAAA,EAAQ,CAAC;EACTC,cAAA,EAAgB,CAAC;EACjBC,YAAA,EAAc;AAChB,CAAC;AAED,IAAIC,SAAA;AACJ,IAAIC,IAAA;AAEJvD,UAAA,CAAW,MAAM;EACfM,QAAA,CAAS6B,SAAA,CAAUqB,MAAA,GAAS;EAC5BF,SAAA,GAAYG,QAAA,CAASC,aAAA,CAAc,KAAK;EACxCH,IAAA,GAAO;EACP,OAAOE,QAAA,CAASX,IAAA,CAAKa,OAAA,CAAQC,SAAA;EAC7B,OAAOH,QAAA,CAASX,IAAA,CAAKa,OAAA,CAAQE,aAAA;EAC7B,OAAOJ,QAAA,CAASX,IAAA,CAAKa,OAAA,CAAQG,UAAA;AAC/B,CAAC;AAED/D,SAAA,CAAU,MAAM;EACd,IAAIwD,IAAA,EAAM1D,GAAA,CAAI,MAAM0D,IAAA,EAAMQ,OAAA,CAAQ,CAAC;AACrC,CAAC;AAED,eAAeC,MAAMC,UAAA,GAAsC,CAAC,GAAGC,MAAA,GAAS,QAAQ;EAC9EX,IAAA,GAAOzD,UAAA,CAAWwD,SAAS;EAC3B,MAAMzD,GAAA,CAAI,YAAY;IACpB0D,IAAA,EAAMY,MAAA,CACJ,eAAA9D,GAAA,CAAC6C,MAAA,CAAOkB,WAAA,EAAP;MACCC,QAAA,EAAS;MACTH,MAAA;MACC,GAAGD,UAAA;MAEJK,QAAA,iBAAAjE,GAAA,CAAC;QAAKiE,QAAA;MAAA,CAAE;IAAA,CACV,CACF;IACA,MAAMrC,OAAA,CAAQC,OAAA,CAAQ;EACxB,CAAC;EACD,OAAO5B,QAAA,CAAS6B,SAAA,CAAUoC,EAAA,CAAG,EAAE;AACjC;AAEArE,IAAA,CAAK,wEAAwE,YAAY;EACvF,MAAMsE,eAAA,GAAkBpE,gBAAA,CAAiB;IACvC4C,MAAA;IACAG,MAAA,EAAQ,CAAC;IACTC,cAAA,EAAgB,CAAC;IACjBC,YAAA,EAAc;EAChB,CAAC;EACD,MAAMoB,KAAA,GAAQD,eAAA,CAAgBE,WAAA,CAAY;EAE1CnB,IAAA,GAAOzD,UAAA,CAAWwD,SAAS;EAC3B,MAAMzD,GAAA,CAAI,YAAY;IACpB0D,IAAA,EAAMY,MAAA,CACJ,eAAA9D,GAAA,CAACmE,eAAA,CAAgBJ,WAAA,EAAhB;MACCC,QAAA,EAAS;MACTH,MAAA,EAAO;MAEPI,QAAA,iBAAAjE,GAAA,CAAC;QAAKiE,QAAA;MAAA,CAAE;IAAA,CACV,CACF;IACA,MAAMrC,OAAA,CAAQC,OAAA,CAAQ;EACxB,CAAC;EAEDjC,MAAA,CAAO,MAAMwE,KAAK,EAAEE,IAAA,CAAKrE,QAAA,CAAS6B,SAAA,CAAUoC,EAAA,CAAG,EAAE,CAAC;AACpD,CAAC;AAEDrE,IAAA,CAAK,kEAAkE,YAAY;EACjF,MAAM0E,OAAA,GAAUzE,EAAA,CAAGuB,EAAA,CAAG;EAEtB,MAAMsC,KAAA,CAAM;IAAEa,SAAA,EAAW;MAAED;IAAQ;EAAE,GAAG,gBAAgB;EAExD3E,MAAA,CAAO2E,OAAO,EAAEE,oBAAA,CAAqB;EACrC7E,MAAA,CAAO2E,OAAO,EAAEG,oBAAA,CAAqB,4BAA4B;AACnE,CAAC;AAED7E,IAAA,CAAK,sEAAsE,YAAY;EACrF,MAAM8E,WAAA,GAAc7E,EAAA,CAAGuB,EAAA,CAAG,YAAY,aAAa;EACnD,MAAMuD,MAAA,GAAsD,EAAC;EAC7D,MAAMC,GAAA,GAAMhC,MAAA,CAAOiC,UAAA,CAAWC,MAAA,CAAQC,KAAA,IAAU;IAC9C,IAAIA,KAAA,EAAOJ,MAAA,CAAO7C,IAAA,CAAKiD,KAAK;EAC9B,CAAC;EACD,MAAMC,QAAA,GAAW,MAAMtB,KAAA,CAAM;IAAEgB;EAAY,GAAG,WAAW;EAEzD,MAAMnF,GAAA,CAAI,YAAY;IACpByF,QAAA,CAAShE,UAAA,CAAWC,KAAA,CAAML,GAAA,CAAI;MAAEM,IAAA,EAAM;MAAc+D,MAAA,EAAQ;IAAgB,CAAC;IAC7E,MAAMtD,OAAA,CAAQC,OAAA,CAAQ;EACxB,CAAC;EAEDjC,MAAA,CAAO+E,WAAW,EAAEQ,qBAAA,CAAsB,CAAC;EAC3C,MAAM3F,GAAA,CAAI,YAAY;IACpB,MAAMoC,OAAA,CAAQC,OAAA,CAAQ;EACxB,CAAC;EACDjC,MAAA,CAAOqF,QAAA,CAAShE,UAAA,CAAWG,OAAO,EAAEsD,oBAAA,CAAqB;IAAEU,IAAA,EAAM;EAAc,CAAC;EAChFxF,MAAA,CAAOgF,MAAM,EAAES,cAAA,CAAe;IAC5BC,IAAA,EAAM;IACNC,SAAA,EAAW;IACXC,OAAA,EAAS;EACX,CAAC;EACDX,GAAA,CAAI;AACN,CAAC;AAEDhF,IAAA,CAAK,kEAAkE,YAAY;EACjF,MAAM+E,MAAA,GAAkC,EAAC;EACzC,MAAMC,GAAA,GAAMhC,MAAA,CAAOiC,UAAA,CAAWC,MAAA,CAAQC,KAAA,IAAU;IAC9C,IAAIA,KAAA,EAAOJ,MAAA,CAAO7C,IAAA,CAAKiD,KAAK;EAC9B,CAAC;EACD,MAAMC,QAAA,GAAW,MAAMtB,KAAA,CAAM,CAAC,GAAG,YAAY;EAE7C,MAAMnE,GAAA,CAAI,YAAY;IACpByF,QAAA,CAAShE,UAAA,CAAWC,KAAA,CAAML,GAAA,CAAI;MAC5BM,IAAA,EAAM;MACN+D,MAAA,EAAQ;IACV,CAAC;IACD,MAAMtD,OAAA,CAAQC,OAAA,CAAQ;EACxB,CAAC;EAGDjC,MAAA,CAAOqF,QAAA,CAAShE,UAAA,CAAWG,OAAO,EAAE+D,qBAAA,CAAsB,CAAC;EAC3DvF,MAAA,CAAOqF,QAAA,CAAShE,UAAA,CAAWG,OAAO,EAAEsD,oBAAA,CAAqB;EAEzD9E,MAAA,CAAOgF,MAAA,CAAOa,IAAA,CAAMT,KAAA,IAAUA,KAAA,CAAMM,IAAA,KAAS,OAAO,CAAC,EAAEhB,IAAA,CAAK,KAAK;EACjEO,GAAA,CAAI;AACN,CAAC;AAEDhF,IAAA,CAAK,mEAAmE,YAAY;EAClF,MAAM+E,MAAA,GAAuE,EAAC;EAC9E,MAAMC,GAAA,GAAMhC,MAAA,CAAOiC,UAAA,CAAWC,MAAA,CAAQC,KAAA,IAAU;IAC9C,IAAIA,KAAA,EAAOJ,MAAA,CAAO7C,IAAA,CAAKiD,KAAK;EAC9B,CAAC;EACD,MAAMC,QAAA,GAAW,MAAMtB,KAAA,CAAM,CAAC,GAAG,gBAAgB;EAEjD,MAAMnE,GAAA,CAAI,YAAY;IACpByF,QAAA,CAAShE,UAAA,CAAWC,KAAA,CAAML,GAAA,CAAI;MAC5BM,IAAA,EAAM;MACN+D,MAAA,EAAQ;IACV,CAAC;IACD,MAAMtD,OAAA,CAAQC,OAAA,CAAQ;EACxB,CAAC;EAEDjC,MAAA,CAAOqF,QAAA,CAAShE,UAAA,CAAWG,OAAO,EAAE+D,qBAAA,CAAsB,CAAC;EAC3DvF,MAAA,CAAOgF,MAAM,EAAES,cAAA,CAAe;IAC5BC,IAAA,EAAM;IACNI,MAAA,EAAQ;IACRH,SAAA,EAAW;IACXL,MAAA,EAAQ;EACV,CAAC;EACDtF,MAAA,CAAOgF,MAAA,CAAOa,IAAA,CAAMT,KAAA,IAAUA,KAAA,CAAMM,IAAA,KAAS,OAAO,CAAC,EAAEhB,IAAA,CAAK,KAAK;EACjE,MAAM9E,GAAA,CAAI,YAAY;IACpByF,QAAA,CAAShE,UAAA,CAAWC,KAAA,CAAML,GAAA,CAAI;MAAEM,IAAA,EAAM;IAAY,CAAC;IACnD,MAAMS,OAAA,CAAQC,OAAA,CAAQ;EACxB,CAAC;EACDjC,MAAA,CAAOgF,MAAM,EAAES,cAAA,CAAe;IAAEC,IAAA,EAAM;IAAaI,MAAA,EAAQ;EAAY,CAAC;EACxEb,GAAA,CAAI;AACN,CAAC;AAEDhF,IAAA,CAAK,0EAA0E,YAAY;EACzF,MAAM+E,MAAA,GAAuE,EAAC;EAC9E,MAAMC,GAAA,GAAMhC,MAAA,CAAOiC,UAAA,CAAWC,MAAA,CAAQC,KAAA,IAAU;IAC9C,IAAIA,KAAA,EAAOJ,MAAA,CAAO7C,IAAA,CAAKiD,KAAK;EAC9B,CAAC;EACD,MAAMC,QAAA,GAAW,MAAMtB,KAAA,CAAM,CAAC,GAAG,eAAe;EAEhD,MAAMnE,GAAA,CAAI,YAAY;IACpByF,QAAA,CAAShE,UAAA,CAAWC,KAAA,CAAML,GAAA,CAAI;MAC5BM,IAAA,EAAM;MACN+D,MAAA,EAAQ;IACV,CAAC;IACD,MAAMtD,OAAA,CAAQC,OAAA,CAAQ;EACxB,CAAC;EAEDjC,MAAA,CAAOqF,QAAA,CAAShE,UAAA,CAAWG,OAAO,EAAEuE,GAAA,CAAIC,gBAAA,CAAiB;EACzDhG,MAAA,CAAOgF,MAAM,EAAES,cAAA,CAAe;IAC5BC,IAAA,EAAM;IACNI,MAAA,EAAQ;IACRH,SAAA,EAAW;IACXL,MAAA,EAAQ;EACV,CAAC;EACD,MAAM1F,GAAA,CAAI,YAAY;IACpByF,QAAA,CAAShE,UAAA,CAAWC,KAAA,CAAML,GAAA,CAAI;MAAEM,IAAA,EAAM;IAAa,CAAC;IACpD,MAAMS,OAAA,CAAQC,OAAA,CAAQ;EACxB,CAAC;EACDjC,MAAA,CAAOgF,MAAM,EAAES,cAAA,CAAe;IAC5BC,IAAA,EAAM;IACNI,MAAA,EAAQ;IACRH,SAAA,EAAW;IACXL,MAAA,EAAQ;EACV,CAAC;EACDL,GAAA,CAAI;AACN,CAAC;AAEDhF,IAAA,CAAK,oEAAoE,YAAY;EACnF,MAAMoF,QAAA,GAAW,MAAMtB,KAAA,CAAM;IAAEkC,iBAAA,EAAmB;EAAK,GAAG,cAAc;EAExE,MAAMrG,GAAA,CAAI,YAAY;IACpByF,QAAA,CAAShE,UAAA,CAAWC,KAAA,CAAML,GAAA,CAAI;MAAEM,IAAA,EAAM;IAAY,CAAC;IACnD,MAAMS,OAAA,CAAQC,OAAA,CAAQ;EACxB,CAAC;EACDjC,MAAA,CAAOwD,QAAA,CAASX,IAAA,CAAKa,OAAA,CAAQC,SAAS,EAAEe,IAAA,CAAK,WAAW;EACxD1E,MAAA,CAAOwD,QAAA,CAASX,IAAA,CAAKa,OAAA,CAAQE,aAAa,EAAEc,IAAA,CAAK,MAAM;EACvD1E,MAAA,CAAOwD,QAAA,CAASX,IAAA,CAAKa,OAAA,CAAQwC,YAAY,EAAExB,IAAA,CAAK,4BAA4B;EAE5E,MAAM9E,GAAA,CAAI,YAAY;IACpByF,QAAA,CAAShE,UAAA,CAAWC,KAAA,CAAML,GAAA,CAAI;MAAEM,IAAA,EAAM;MAAS+D,MAAA,EAAQ;IAAO,CAAC;IAC/D,MAAMtD,OAAA,CAAQC,OAAA,CAAQ;EACxB,CAAC;EACDjC,MAAA,CAAOwD,QAAA,CAASX,IAAA,CAAKa,OAAA,CAAQC,SAAS,EAAEe,IAAA,CAAK,OAAO;EACpD1E,MAAA,CAAOwD,QAAA,CAASX,IAAA,CAAKa,OAAA,CAAQE,aAAa,EAAEuC,aAAA,CAAc;EAC1DnG,MAAA,CAAOwD,QAAA,CAASX,IAAA,CAAKa,OAAA,CAAQG,UAAU,EAAEa,IAAA,CAAK,MAAM;AACtD,CAAC;AAEDzE,IAAA,CAAK,2DAA2D,YAAY;EAC1EC,EAAA,CAAGkG,aAAA,CAAc;EACjB,IAAI;IACF,MAAMf,QAAA,GAAW,MAAMtB,KAAA,CAAM,CAAC,GAAG,YAAY;IAC7C,MAAMiB,MAAA,GAAoD,EAAC;IAC3D,MAAMC,GAAA,GAAMhC,MAAA,CAAOiC,UAAA,CAAWC,MAAA,CAAQC,KAAA,IAAU;MAC9C,IAAIA,KAAA,EAAOJ,MAAA,CAAO7C,IAAA,CAAKiD,KAAK;IAC9B,CAAC;IAED,MAAMxF,GAAA,CAAI,YAAY;MACpByF,QAAA,CAAShE,UAAA,CAAWC,KAAA,CAAML,GAAA,CAAI;QAC5BM,IAAA,EAAM;QACN+D,MAAA,EAAQ;MACV,CAAC;MACD,MAAMtD,OAAA,CAAQC,OAAA,CAAQ;IACxB,CAAC;IAED,MAAMrC,GAAA,CAAI,YAAY;MACpBM,EAAA,CAAGmG,mBAAA,CAAoB,GAAM;MAC7B,MAAMrE,OAAA,CAAQC,OAAA,CAAQ;IACxB,CAAC;IACDjC,MAAA,CAAOqF,QAAA,CAAShE,UAAA,CAAWG,OAAO,EAAEuE,GAAA,CAAIC,gBAAA,CAAiB;IACzDhG,MAAA,CAAOgF,MAAM,EAAES,cAAA,CAAe;MAC5BC,IAAA,EAAM;MACNC,SAAA,EAAW;MACXC,OAAA,EAAS;IACX,CAAC;IACDX,GAAA,CAAI;EACN,UAAE;IACA/E,EAAA,CAAGoG,aAAA,CAAc;EACnB;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createSchema","string","table","act","createRoot","afterEach","beforeEach","expect","test","vi","createZeroClient","jsx","fakeZero","hoisted","FakeConnectionState","current","listeners","Set","constructor","initial","subscribe","cb","add","delete","set","next","FakeZero","context","connection","state","name","connect","fn","errors","close","run","preload","cleanup","complete","Promise","resolve","instances","push","mock","importOriginal","actual","Zero","globalThis","IS_REACT_ACT_ENVIRONMENT","noteTable","columns","id","body","primaryKey","schema","tables","client","models","groupedQueries","instanceName","container","root","length","document","createElement","dataset","zeroState","zeroConnected","zeroReason","unmount","mount","extraProps","userID","render","ProvideZero","cacheURL","children","at","readinessClient","ready","waitForZero","toBe","install","transport","toHaveBeenCalledOnce","toHaveBeenCalledWith","refreshAuth","events","off","zeroEvents","listen","event","instance","reason","toHaveBeenCalledTimes","auth","toContainEqual","type","reasonKey","message","some","status","not","toHaveBeenCalled","connectionDataset","zeroCacheUrl","toBeUndefined","useFakeTimers","advanceTimersByTime","useRealTimers","headlessClient","connectHeadless"],"sources":["../../src/createZeroClient.connection.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -373,4 +373,38 @@ test("fatal error state stays terminal and reports the reason", async function (
373
373
  vi.useRealTimers();
374
374
  }
375
375
  });
376
+ test("connectHeadless refreshes auth on needs-auth with no react tree", async function () {
377
+ var headlessClient = createZeroClient({
378
+ schema,
379
+ models: {},
380
+ groupedQueries: {},
381
+ instanceName: "headless-auth-test"
382
+ });
383
+ var refreshAuth = vi.fn(async function () {
384
+ return "headless-fresh-token";
385
+ });
386
+ var connection = headlessClient.connectHeadless({
387
+ userID: "headless-auth",
388
+ cacheURL: "http://127.0.0.1:7788/zero",
389
+ refreshAuth
390
+ });
391
+ var instance = fakeZero.instances.at(-1);
392
+ instance.connection.state.set({
393
+ name: "needs-auth",
394
+ reason: "token expired"
395
+ });
396
+ await Promise.resolve();
397
+ expect(refreshAuth).toHaveBeenCalledTimes(1);
398
+ await Promise.resolve();
399
+ expect(instance.connection.connect).toHaveBeenCalledWith({
400
+ auth: "headless-fresh-token"
401
+ });
402
+ instance.connection.state.set({
403
+ name: "needs-auth",
404
+ reason: "token expired again"
405
+ });
406
+ await Promise.resolve();
407
+ expect(refreshAuth).toHaveBeenCalledTimes(1);
408
+ await connection.close();
409
+ });
376
410
  //# sourceMappingURL=createZeroClient.connection.test.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","createSchema","string","table","act","createRoot","afterEach","beforeEach","expect","test","vi","createZeroClient","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","fakeZero","hoisted","FakeConnectionState","FakeConnectionState2","initial","_this","Set","cb","listeners","add","delete","current","set","next","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","done","err","return","FakeZero","FakeZero2","state","name","connect","fn","errors","cleanup","complete","Promise","resolve","instances","push","mock","importOriginal","actual","Zero","globalThis","IS_REACT_ACT_ENVIRONMENT","noteTable","columns","id","body","primaryKey","schema","tables","client","models","groupedQueries","instanceName","container","root","document","createElement","dataset","zeroState","zeroConnected","zeroReason","unmount","mount","extraProps","arguments","userID","render","ProvideZero","cacheURL","children","at","readinessClient","ready","waitForZero","toBe","install","transport","toHaveBeenCalledOnce","toHaveBeenCalledWith","refreshAuth","events","off","zeroEvents","listen","event","connection","reason","toHaveBeenCalledTimes","auth","toContainEqual","type","reasonKey","message","some"],"sources":["../../src/createZeroClient.connection.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","createSchema","string","table","act","createRoot","afterEach","beforeEach","expect","test","vi","createZeroClient","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","fakeZero","hoisted","FakeConnectionState","FakeConnectionState2","initial","_this","Set","cb","listeners","add","delete","current","set","next","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","done","err","return","FakeZero","FakeZero2","state","name","connect","fn","errors","cleanup","complete","Promise","resolve","instances","push","mock","importOriginal","actual","Zero","globalThis","IS_REACT_ACT_ENVIRONMENT","noteTable","columns","id","body","primaryKey","schema","tables","client","models","groupedQueries","instanceName","container","root","document","createElement","dataset","zeroState","zeroConnected","zeroReason","unmount","mount","extraProps","arguments","userID","render","ProvideZero","cacheURL","children","at","readinessClient","ready","waitForZero","toBe","install","transport","toHaveBeenCalledOnce","toHaveBeenCalledWith","refreshAuth","events","off","zeroEvents","listen","event","connection","reason","toHaveBeenCalledTimes","auth","toContainEqual","type","reasonKey","message","some","status"],"sources":["../../src/createZeroClient.connection.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ import { createSchema, string, table } from "@rocicorp/zero";
2
+ import { expect, test } from "vitest";
3
+ import { createZeroClient } from "./createZeroClient.mjs";
4
+ const userTable = table("user").columns({
5
+ id: string(),
6
+ name: string()
7
+ }).primaryKey("id");
8
+ const schema = createSchema({
9
+ tables: [userTable]
10
+ });
11
+ const byId = args => args;
12
+ test("connectHeadless publishes the instance with no react tree", async () => {
13
+ const client = createZeroClient({
14
+ schema,
15
+ models: {},
16
+ groupedQueries: {
17
+ headlessTest: {
18
+ byId
19
+ }
20
+ },
21
+ instanceName: "headless-test"
22
+ });
23
+ const pending = /* @__PURE__ */Symbol("pending");
24
+ const before = await Promise.race([client.waitForZero(), Promise.resolve(pending)]);
25
+ expect(before).toBe(pending);
26
+ const connection = client.connectHeadless({
27
+ userID: "user-headless",
28
+ kvStore: "mem",
29
+ storageKey: "headless-test"
30
+ });
31
+ expect(await client.waitForZero()).toBe(connection.zero);
32
+ await connection.close();
33
+ });
34
+ //# sourceMappingURL=createZeroClient.headless.test.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createSchema","string","table","expect","test","createZeroClient","userTable","columns","id","name","primaryKey","schema","tables","byId","args","client","models","groupedQueries","headlessTest","instanceName","pending","Symbol","before","Promise","race","waitForZero","resolve","toBe","connection","connectHeadless","userID","kvStore","storageKey","zero","close"],"sources":["../../src/createZeroClient.headless.test.tsx"],"sourcesContent":[null],"mappings":"AAEA,SAASA,YAAA,EAAcC,MAAA,EAAQC,KAAA,QAAa;AAC5C,SAASC,MAAA,EAAQC,IAAA,QAAY;AAE7B,SAASC,gBAAA,QAAwB;AAIjC,MAAMC,SAAA,GAAYJ,KAAA,CAAM,MAAM,EAAEK,OAAA,CAAQ;EAAEC,EAAA,EAAIP,MAAA,CAAO;EAAGQ,IAAA,EAAMR,MAAA,CAAO;AAAE,CAAC,EAAES,UAAA,CAAW,IAAI;AACzF,MAAMC,MAAA,GAASX,YAAA,CAAa;EAAEY,MAAA,EAAQ,CAACN,SAAS;AAAE,CAAC;AAEnD,MAAMO,IAAA,GAAQC,IAAA,IAAyBA,IAAA;AAOvCV,IAAA,CAAK,6DAA6D,YAAY;EAC5E,MAAMW,MAAA,GAASV,gBAAA,CAAiB;IAC9BM,MAAA;IACAK,MAAA,EAAQ,CAAC;IACTC,cAAA,EAAgB;MAAEC,YAAA,EAAc;QAAEL;MAAK;IAAE;IACzCM,YAAA,EAAc;EAChB,CAAC;EAKD,MAAMC,OAAA,GAAU,eAAAC,MAAA,CAAO,SAAS;EAChC,MAAMC,MAAA,GAAS,MAAMC,OAAA,CAAQC,IAAA,CAAK,CAChCT,MAAA,CAAOU,WAAA,CAAY,GACnBF,OAAA,CAAQG,OAAA,CAAQN,OAA2B,EAC5C;EACDjB,MAAA,CAAOmB,MAAM,EAAEK,IAAA,CAAKP,OAAO;EAE3B,MAAMQ,UAAA,GAAab,MAAA,CAAOc,eAAA,CAAgB;IACxCC,MAAA,EAAQ;IACRC,OAAA,EAAS;IACTC,UAAA,EAAY;EACd,CAAC;EAED7B,MAAA,CAAO,MAAMY,MAAA,CAAOU,WAAA,CAAY,CAAC,EAAEE,IAAA,CAAKC,UAAA,CAAWK,IAAI;EAEvD,MAAML,UAAA,CAAWM,KAAA,CAAM;AACzB,CAAC","ignoreList":[]}
@@ -0,0 +1,36 @@
1
+ import { createSchema, string, table } from "@rocicorp/zero";
2
+ import { expect, test } from "vitest";
3
+ import { createZeroClient } from "./createZeroClient.native.js";
4
+ var userTable = table("user").columns({
5
+ id: string(),
6
+ name: string()
7
+ }).primaryKey("id");
8
+ var schema = createSchema({
9
+ tables: [userTable]
10
+ });
11
+ var byId = function byId2(args) {
12
+ return args;
13
+ };
14
+ test("connectHeadless publishes the instance with no react tree", async function () {
15
+ var client = createZeroClient({
16
+ schema,
17
+ models: {},
18
+ groupedQueries: {
19
+ headlessTest: {
20
+ byId
21
+ }
22
+ },
23
+ instanceName: "headless-test"
24
+ });
25
+ var pending = /* @__PURE__ */Symbol("pending");
26
+ var before = await Promise.race([client.waitForZero(), Promise.resolve(pending)]);
27
+ expect(before).toBe(pending);
28
+ var connection = client.connectHeadless({
29
+ userID: "user-headless",
30
+ kvStore: "mem",
31
+ storageKey: "headless-test"
32
+ });
33
+ expect(await client.waitForZero()).toBe(connection.zero);
34
+ await connection.close();
35
+ });
36
+ //# sourceMappingURL=createZeroClient.headless.test.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createSchema","string","table","expect","test","createZeroClient","userTable","columns","id","name","primaryKey","schema","tables","byId","byId2","args","client","models","groupedQueries","headlessTest","instanceName","pending","Symbol"],"sources":["../../src/createZeroClient.headless.test.tsx"],"sourcesContent":[null],"mappings":"AAEA,SAASA,YAAA,EAAcC,MAAA,EAAQC,KAAA,QAAa;AAC5C,SAASC,MAAA,EAAQC,IAAA,QAAY;AAE7B,SAASC,gBAAA,QAAwB;AAIjC,IAAAC,SAAM,GAAAJ,KAAY,OAAM,EAAMK,OAAE;EAChCC,EAAA,EAAMP,MAAA;EAENQ,IAAM,EAAAR,MAAQ;AAOd,GAAAS,UAAK;AACH,IAAAC,MAAM,GAAAX,YAAS;EAAiBY,MAC9B,GACAN,SAAS;AACgC;AAC3B,IACfO,IAAA,YAAAC,MAAAC,IAAA;EAKD,OAAMA,IAAA;AACN;AAAkCX,IAChC,4DAAmB;EAAA,IACnBY,MAAQ,GAAAX,gBAAmC;IAC5CM,MAAA;IACDM,MAAO;IAEPC,cAAM;MACJC,YAAQ;QACRN;MACA;IACD;IAEDO,YAAa;EAEb;EACD,IAAAC,OAAA,kBAAAC,MAAA","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import { createBuilder, defineQueries, defineQuery, Zero as ZeroClient } from "@rocicorp/zero";
2
- import { useConnectionState, useZero, ZeroContext } from "@rocicorp/zero/react";
3
- import { createContext, memo, useContext, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
2
+ import { useZero, ZeroContext } from "@rocicorp/zero/react";
3
+ import { createContext, memo, useContext, useEffect, useLayoutEffect, useRef, useState } from "react";
4
4
  import { createPermissions } from "./createPermissions.mjs";
5
5
  import { createUseQuery } from "./createUseQuery.mjs";
6
6
  import { clearZeroClientData } from "./helpers/clearZeroClientData.mjs";
@@ -118,8 +118,79 @@ function createZeroClientInternal({
118
118
  });
119
119
  setCustomQueries(customQueries);
120
120
  const DisabledContext = createContext(false);
121
+ let clientMutators = null;
122
+ function getClientMutators() {
123
+ clientMutators ??= createMutators({
124
+ models,
125
+ environment: "client",
126
+ authData: null,
127
+ can: permissionsHelpers.can
128
+ });
129
+ return clientMutators;
130
+ }
131
+ function constructZeroInstance({
132
+ options,
133
+ transport,
134
+ beforeReload,
135
+ scheduleReload,
136
+ guardStorage,
137
+ benignLogPatterns
138
+ }) {
139
+ if (transport) {
140
+ const serverURL = options.cacheURL ?? options.server;
141
+ if (typeof serverURL !== "string") {
142
+ throw new Error(`client transport requires a server URL`);
143
+ }
144
+ transport.install(serverURL);
145
+ }
146
+ const instanceRef = {
147
+ current: null
148
+ };
149
+ const recoveryDeps = {
150
+ deleteLocalState: () => deleteZeroInstance(instanceRef.current),
151
+ zeroEvents,
152
+ beforeReload,
153
+ scheduleReload,
154
+ guardStorage,
155
+ benignLogPatterns: [...(transport?.logClassifications?.benign ?? []), ...(benignLogPatterns ?? [])],
156
+ onRecovery: () => mutationLifecycle.fence()
157
+ };
158
+ const recovery = makeZeroRecovery(recoveryDeps);
159
+ const createdInstance = new ZeroClient({
160
+ kvStore: "mem",
161
+ ...options,
162
+ schema,
163
+ // @ts-expect-error same erasure ZeroProvider needed
164
+ mutators: getClientMutators(),
165
+ // when the consumer brings no logSink, install ours: it preserves Zero's
166
+ // console output AND watches for the local-store-lost signature. a
167
+ // consumer with its own logSink owns log-based recovery (no double-fire
168
+ // with e.g. soot's origin-gated recovery).
169
+ logSink: options.logSink ?? composeRecoveryLogSink(recoveryDeps),
170
+ // consumer handlers win; otherwise on-zero's default self-healing
171
+ // recovery covers EVERY reason (drop local state + reload, guarded) —
172
+ // passing these to Zero disables its built-in reload, so any reason we
173
+ // left unhandled would fatal-blank the app forever.
174
+ onUpdateNeeded: options.onUpdateNeeded ?? recovery.onUpdateNeeded,
175
+ onClientStateNotFound: options.onClientStateNotFound ?? recovery.onClientStateNotFound
176
+ });
177
+ instanceRef.current = createdInstance;
178
+ return createdInstance;
179
+ }
121
180
  let latestZeroInstance = null;
122
181
  const zeroReadyWaiters = /* @__PURE__ */new Set();
182
+ function publishZeroInstance(zeroInstance) {
183
+ if (zeroInstance === latestZeroInstance) return false;
184
+ latestZeroInstance = zeroInstance;
185
+ mutationLifecycle.activate();
186
+ const runner = (query, options) => zeroInstance.run(query, options);
187
+ instance.runner = runner;
188
+ setRunner(runner);
189
+ const waiters = [...zeroReadyWaiters];
190
+ zeroReadyWaiters.clear();
191
+ for (const onReady of waiters) onReady(zeroInstance);
192
+ return true;
193
+ }
123
194
  function waitForZero({
124
195
  signal
125
196
  } = {}) {
@@ -374,14 +445,6 @@ function createZeroClientInternal({
374
445
  }
375
446
  const authData = authDataIn ?? stableAuthDataRef.current ?? null;
376
447
  setAuthData(authData);
377
- const mutators = useMemo(() => {
378
- return createMutators({
379
- models,
380
- environment: "client",
381
- authData: null,
382
- can: permissionsHelpers.can
383
- });
384
- }, []);
385
448
  const hostScope = readHostStorageScope();
386
449
  const scopedProps = hostScope ? {
387
450
  ...props,
@@ -425,54 +488,22 @@ function createZeroClientInternal({
425
488
  }
426
489
  let cached = cachedZero;
427
490
  const options = scopedProps;
428
- if (transport) {
429
- const serverURL = options.cacheURL ?? options.server;
430
- if (typeof serverURL !== "string") {
431
- throw new Error(`client transport requires a server URL`);
432
- }
433
- transport.install(serverURL);
434
- }
435
491
  if (cached?.key !== instanceKey) {
436
492
  if (cached) {
437
493
  clearZeroInstanceReferences(cached.instance);
438
494
  mutationLifecycle.fence();
439
495
  cached.instance.close();
440
496
  }
441
- const instanceRef = {
442
- current: null
443
- };
444
- const recoveryDeps = {
445
- deleteLocalState: () => deleteZeroInstance(instanceRef.current),
446
- zeroEvents,
447
- beforeReload,
448
- scheduleReload,
449
- guardStorage,
450
- benignLogPatterns: [...(transport?.logClassifications?.benign ?? []), ...(benignLogPatterns ?? [])],
451
- onRecovery: () => mutationLifecycle.fence()
452
- };
453
- const recovery = makeZeroRecovery(recoveryDeps);
454
- const createdInstance = new ZeroClient({
455
- kvStore: "mem",
456
- ...options,
457
- schema,
458
- // @ts-expect-error same erasure ZeroProvider needed
459
- mutators,
460
- // when the consumer brings no logSink, install ours: it preserves
461
- // Zero's console output AND watches for the local-store-lost signature.
462
- // a consumer with its own logSink owns log-based recovery (no
463
- // double-fire with e.g. soot's origin-gated recovery).
464
- logSink: options.logSink ?? composeRecoveryLogSink(recoveryDeps),
465
- // consumer handlers win; otherwise on-zero's default self-healing
466
- // recovery covers EVERY reason (drop local state + reload, guarded) —
467
- // passing these to Zero disables its built-in reload, so any reason we
468
- // left unhandled would fatal-blank the app forever.
469
- onUpdateNeeded: options.onUpdateNeeded ?? recovery.onUpdateNeeded,
470
- onClientStateNotFound: options.onClientStateNotFound ?? recovery.onClientStateNotFound
471
- });
472
- instanceRef.current = createdInstance;
473
497
  cached = {
474
498
  key: instanceKey,
475
- instance: createdInstance
499
+ instance: constructZeroInstance({
500
+ options,
501
+ transport,
502
+ beforeReload,
503
+ scheduleReload,
504
+ guardStorage,
505
+ benignLogPatterns
506
+ })
476
507
  };
477
508
  cachedZero = cached;
478
509
  }
@@ -508,39 +539,66 @@ function createZeroClientInternal({
508
539
  const ProvideZero = IS_SERVER_RUNTIME ? ProvideZeroServer : ProvideZeroClient;
509
540
  const SetZeroInstance = () => {
510
541
  const zeroInstance = useZero();
511
- if (zeroInstance !== latestZeroInstance) {
512
- latestZeroInstance = zeroInstance;
513
- mutationLifecycle.activate();
514
- const runner = (query, options) => zeroInstance.run(query, options);
515
- instance.runner = runner;
516
- setRunner(runner);
517
- const waiters = [...zeroReadyWaiters];
518
- zeroReadyWaiters.clear();
519
- for (const onReady of waiters) onReady(zeroInstance);
520
- }
542
+ publishZeroInstance(zeroInstance);
521
543
  useEffect(() => {
522
544
  zeroInstanceVersion?.emit(zeroInstanceVersion.value + 1);
523
545
  }, [zeroInstance]);
524
546
  return null;
525
547
  };
526
- const ConnectionMonitor = memo(({
527
- zeroEvents: zeroEvents2,
528
- refreshAuth,
529
- exposeDataset,
530
- datasetCacheUrl
531
- }) => {
532
- const zeroInstance = useZero();
533
- const state = useConnectionState();
534
- const prevState = useRef(state.name);
535
- const hasConnectedRef = useRef(false);
536
- const currentReconnect = zeroEvents2.value?.type === "reconnect" && zeroEvents2.value.status !== "connected" ? zeroEvents2.value : null;
537
- const reconnectRef = useRef(currentReconnect ? {
548
+ function connectHeadless(props) {
549
+ const {
550
+ authData,
551
+ transport,
552
+ beforeReload,
553
+ scheduleReload,
554
+ guardStorage,
555
+ benignLogPatterns,
556
+ refreshAuth,
557
+ ...options
558
+ } = props;
559
+ setAuthData(authData ?? null);
560
+ const zeroInstance = constructZeroInstance({
561
+ options,
562
+ transport,
563
+ beforeReload,
564
+ scheduleReload,
565
+ guardStorage,
566
+ benignLogPatterns
567
+ });
568
+ publishZeroInstance(zeroInstance);
569
+ zeroInstanceVersion?.emit(zeroInstanceVersion.value + 1);
570
+ const unwatch = watchZeroConnection({
571
+ zeroInstance,
572
+ refreshAuth
573
+ });
574
+ return {
575
+ zero: zeroInstance,
576
+ close: async () => {
577
+ unwatch();
578
+ clearZeroInstanceReferences(zeroInstance);
579
+ mutationLifecycle.fence();
580
+ await zeroInstance.close();
581
+ }
582
+ };
583
+ }
584
+ function watchZeroConnection(args) {
585
+ const {
586
+ zeroInstance,
587
+ refreshAuth,
588
+ exposeDataset,
589
+ datasetCacheUrl
590
+ } = args;
591
+ let prevState = zeroInstance.connection.state.current.name;
592
+ let hasConnected = false;
593
+ const currentReconnect = zeroEvents.value?.type === "reconnect" && zeroEvents.value.status !== "connected" ? zeroEvents.value : null;
594
+ let reconnect = currentReconnect ? {
538
595
  reasonKey: currentReconnect.reasonKey,
539
596
  reason: currentReconnect.reason
540
- } : null);
541
- const recoverableErrorRef = useRef(null);
542
- const needsAuthRef = useRef(false);
543
- useEffect(() => {
597
+ } : null;
598
+ let recoverableError = null;
599
+ let needsAuth = false;
600
+ const handle = () => {
601
+ const state = zeroInstance.connection.state.current;
544
602
  const name = state.name;
545
603
  const reason = "reason" in state && typeof state.reason === "string" ? state.reason : "";
546
604
  if (exposeDataset && typeof document !== "undefined" && document.body) {
@@ -550,10 +608,10 @@ function createZeroClientInternal({
550
608
  if (name === "connected") document.body.dataset.zeroConnected = "true";else delete document.body.dataset.zeroConnected;
551
609
  }
552
610
  if (name === "connected") {
553
- hasConnectedRef.current = true;
554
- recoverableErrorRef.current = null;
555
- if (reconnectRef.current) {
556
- reconnectRef.current = null;
611
+ hasConnected = true;
612
+ recoverableError = null;
613
+ if (reconnect) {
614
+ reconnect = null;
557
615
  emitReconnectStatus({
558
616
  type: "reconnect",
559
617
  status: "connected"
@@ -562,46 +620,46 @@ function createZeroClientInternal({
562
620
  }
563
621
  const reconnectReasonKey = reason.includes("ServerOverloaded") ? "server-overloaded" : reason.includes("Failed to fetch") || reason.includes("fetch failed") || reason.includes("NetworkError when attempting to fetch resource") || reason.includes("Network request failed") || reason.includes("Load failed") ? "transport" : void 0;
564
622
  if (name === "error" && (isRecoverableZeroStalePokeMessage(reason) || reconnectReasonKey)) {
565
- if (recoverableErrorRef.current !== reason) {
566
- recoverableErrorRef.current = reason;
567
- reconnectRef.current = {
623
+ if (recoverableError !== reason) {
624
+ recoverableError = reason;
625
+ reconnect = {
568
626
  reasonKey: reconnectReasonKey ?? "transport",
569
627
  reason
570
628
  };
571
629
  emitReconnectStatus({
572
630
  type: "reconnect",
573
631
  status: "trying",
574
- ...reconnectRef.current
632
+ ...reconnect
575
633
  });
576
634
  void Promise.resolve(zeroInstance.connection?.connect?.()).catch(() => {});
577
635
  }
578
636
  return;
579
637
  }
580
- if (name !== "error") recoverableErrorRef.current = null;
581
- if (name === "connecting" && (reconnectRef.current || hasConnectedRef.current || Boolean(reason))) {
582
- reconnectRef.current = {
583
- reasonKey: reconnectReasonKey ?? reconnectRef.current?.reasonKey ?? "transport",
584
- reason: reason || reconnectRef.current?.reason || "connection interrupted"
638
+ if (name !== "error") recoverableError = null;
639
+ if (name === "connecting" && (reconnect || hasConnected || Boolean(reason))) {
640
+ reconnect = {
641
+ reasonKey: reconnectReasonKey ?? reconnect?.reasonKey ?? "transport",
642
+ reason: reason || reconnect?.reason || "connection interrupted"
585
643
  };
586
644
  emitReconnectStatus({
587
645
  type: "reconnect",
588
646
  status: reason ? "waiting" : "trying",
589
- ...reconnectRef.current
647
+ ...reconnect
590
648
  });
591
- } else if (name === "disconnected" && (reconnectRef.current || hasConnectedRef.current)) {
592
- reconnectRef.current = {
593
- reasonKey: reconnectRef.current?.reasonKey ?? "transport",
594
- reason: reason || reconnectRef.current?.reason || "connection interrupted"
649
+ } else if (name === "disconnected" && (reconnect || hasConnected)) {
650
+ reconnect = {
651
+ reasonKey: reconnect?.reasonKey ?? "transport",
652
+ reason: reason || reconnect?.reason || "connection interrupted"
595
653
  };
596
654
  emitReconnectStatus({
597
655
  type: "reconnect",
598
656
  status: "waiting",
599
- ...reconnectRef.current
657
+ ...reconnect
600
658
  });
601
659
  }
602
660
  if (name === "needs-auth") {
603
- if (refreshAuth && !needsAuthRef.current) {
604
- needsAuthRef.current = true;
661
+ if (refreshAuth && !needsAuth) {
662
+ needsAuth = true;
605
663
  void refreshAuth().then(token => {
606
664
  if (token) zeroInstance.connection?.connect?.({
607
665
  auth: token
@@ -609,19 +667,36 @@ function createZeroClientInternal({
609
667
  }).catch(() => {});
610
668
  }
611
669
  } else {
612
- needsAuthRef.current = false;
670
+ needsAuth = false;
613
671
  }
614
- if (name !== prevState.current) {
615
- prevState.current = name;
672
+ if (name !== prevState) {
673
+ prevState = name;
616
674
  if (name === "error" || name === "needs-auth") {
617
- zeroEvents2.emit({
675
+ zeroEvents.emit({
618
676
  type: "error",
619
677
  reasonKey: name === "needs-auth" ? "connection-needs-auth" : "connection-error",
620
678
  message: reason || name
621
679
  });
622
680
  }
623
681
  }
624
- }, [state, zeroEvents2, zeroInstance, refreshAuth, exposeDataset, datasetCacheUrl]);
682
+ };
683
+ const unsubscribe = zeroInstance.connection.state.subscribe(handle);
684
+ handle();
685
+ return unsubscribe;
686
+ }
687
+ const ConnectionMonitor = memo(({
688
+ zeroEvents: _zeroEvents,
689
+ refreshAuth,
690
+ exposeDataset,
691
+ datasetCacheUrl
692
+ }) => {
693
+ const zeroInstance = useZero();
694
+ useEffect(() => watchZeroConnection({
695
+ zeroInstance,
696
+ refreshAuth,
697
+ exposeDataset,
698
+ datasetCacheUrl
699
+ }), [zeroInstance, refreshAuth, exposeDataset, datasetCacheUrl]);
625
700
  return null;
626
701
  });
627
702
  function preload(fnArg, paramsOrOptions, optionsArg) {
@@ -658,6 +733,7 @@ function createZeroClientInternal({
658
733
  zeroEvents,
659
734
  reloadPage,
660
735
  ProvideZero,
736
+ connectHeadless,
661
737
  ControlQueries,
662
738
  useQuery,
663
739
  useQueryDirect,