on-zero 0.4.39 → 0.4.42

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.
@@ -1 +1 @@
1
- {"version":3,"names":["useQuery","zeroUseQuery","useContext","useMemo","useRef","useZeroDebug","resolveQuery","EMPTY_RESPONSE","type","parseUseQueryArgs","paramsOrOptions","optionsArg","hasParams","params","options","createUseQuery","DisabledContext","customQueries","window","args","disableMode","lastRef","fn","queryRequest","opts","queryRequest2","effectiveOptions","enabled","out","process","env","NODE_ENV","DEBUG_ZERO_QUERIES","current"],"sources":["../../src/createUseQuery.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,IAAYC,YAAA,QAAoB;AACzC,SAASC,UAAA,EAAYC,OAAA,EAASC,MAAA,QAA4B;AAE1D,SAASC,YAAA,QAAoB;AAC7B,SAASC,YAAA,QAAuC;AAqChD,MAAMC,cAAA,GAAiB,CAAC,MAAM;EAAEC,IAAA,EAAM;AAAU,CAAC;AAG1C,SAASC,kBAAkBC,eAAA,EAAsBC,UAAA,EAAiB;EACvE,MAAMC,SAAA,GACJD,UAAA,KAAe,UACdD,eAAA,IACC,OAAOA,eAAA,KAAoB,YAC3B,EAAE,aAAaA,eAAA,KACf,EAAE,SAASA,eAAA;EAEf,OAAO;IACLG,MAAA,EAAQD,SAAA,GAAYF,eAAA,GAAkB;IACtCI,OAAA,EAASF,SAAA,GAAYD,UAAA,GAAaD;EACpC;AACF;AAEO,SAASK,eAA0C;EACxDC,eAAA;EACAC;AACF,GAGyB;EAOvB,IAAI,OAAOC,MAAA,KAAW,aAAa;IACjC,OAAQ,MAAMX,cAAA;EAChB;EAEA,SAASP,SAAA,GAAYmB,IAAA,EAAkB;IACrC,MAAMC,WAAA,GAAclB,UAAA,CAAWc,eAAe;IAC9C,MAAMK,OAAA,GAAUjB,MAAA,CAAYG,cAAc;IAC1C,MAAM,CAACe,EAAA,EAAIZ,eAAA,EAAiBC,UAAU,IAAIQ,IAAA;IAE1C,MAAM;MAAEI,YAAA;MAAcT;IAAQ,IAAIX,OAAA,CAAQ,MAAM;MAC9C,MAAM;QAAEU,MAAA;QAAQC,OAAA,EAASU;MAAK,IAAIf,iBAAA,CAAkBC,eAAA,EAAiBC,UAAU;MAC/E,MAAMc,aAAA,GAAenB,YAAA,CAAa;QAAEW,aAAA;QAAeK,EAAA;QAAIT;MAAO,CAAC;MAE/D,OAAO;QAAEU,YAAA,EAAAE,aAAA;QAAcX,OAAA,EAASU;MAAK;IACvC,GAAG,CAACF,EAAA,EAAIZ,eAAA,EAAiBC,UAAU,CAAC;IAQpC,MAAMe,gBAAA,GAAmBN,WAAA,GACrB,OAAON,OAAA,KAAY,YACjB,QACA;MAAE,IAAIA,OAAA,IAAW,CAAC;MAAIa,OAAA,EAAS;IAAM,IACvCb,OAAA;IACJ,MAAMc,GAAA,GAAM3B,YAAA,CAAasB,YAAA,EAAcG,gBAAgB;IAEvD,IAAIG,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,eAAe;MAC1C,IAAIF,OAAA,CAAQC,GAAA,CAAIE,kBAAA,KAAuB,KAErC3B,YAAA,CAAakB,YAAA,EAAcT,OAAA,EAASc,GAAG;IAC3C;IAEA,IAAI,CAACR,WAAA,EAAa;MAChBC,OAAA,CAAQY,OAAA,GAAUL,GAAA;MAClB,OAAOA,GAAA;IACT;IAEA,IAAIR,WAAA,KAAgB,cAAc;MAChC,OAAOC,OAAA,CAAQY,OAAA;IACjB;IAEA,OAAO1B,cAAA;EACT;EAEA,OAAOP,QAAA;AACT","ignoreList":[]}
1
+ {"version":3,"names":["useQuery","zeroUseQuery","addContextToQuery","asQueryInternals","useContext","useMemo","useRef","useZeroDebug","resolveQuery","EMPTY_PLURAL","Object","freeze","RESULT_UNKNOWN","type","EMPTY_RESPONSE_PLURAL","EMPTY_RESPONSE_SINGULAR","emptyResponseFor","queryRequest","query","internals","format","singular","parseUseQueryArgs","paramsOrOptions","optionsArg","hasParams","params","options","createUseQuery","DisabledContext","customQueries","window","args","disableMode","lastRef","fn","opts","queryRequest2","effectiveOptions","enabled","rawOut","out","fallback","process","env","NODE_ENV","DEBUG_ZERO_QUERIES","current"],"sources":["../../src/createUseQuery.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  import { useQuery as zeroUseQuery } from "@rocicorp/zero/react";
2
+ import { addContextToQuery, asQueryInternals } from "@rocicorp/zero/bindings";
2
3
  import { useContext, useMemo, useRef } from "react";
3
4
  import { useZeroDebug } from "./helpers/useZeroDebug.native.js";
4
5
  import { resolveQuery } from "./resolveQuery.native.js";
@@ -7,9 +8,21 @@ function _type_of(obj) {
7
8
 
8
9
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
9
10
  }
10
- var EMPTY_RESPONSE = [null, {
11
+ var EMPTY_PLURAL = Object.freeze([]);
12
+ var RESULT_UNKNOWN = Object.freeze({
11
13
  type: "unknown"
12
- }];
14
+ });
15
+ var EMPTY_RESPONSE_PLURAL = Object.freeze([EMPTY_PLURAL, RESULT_UNKNOWN]);
16
+ var EMPTY_RESPONSE_SINGULAR = Object.freeze([void 0, RESULT_UNKNOWN]);
17
+ function emptyResponseFor(queryRequest) {
18
+ try {
19
+ var query = addContextToQuery(queryRequest, {});
20
+ var internals = asQueryInternals(query);
21
+ return internals.format.singular ? EMPTY_RESPONSE_SINGULAR : EMPTY_RESPONSE_PLURAL;
22
+ } catch (e) {
23
+ return EMPTY_RESPONSE_PLURAL;
24
+ }
25
+ }
13
26
  function parseUseQueryArgs(paramsOrOptions, optionsArg) {
14
27
  var hasParams = optionsArg !== void 0 || paramsOrOptions && (typeof paramsOrOptions === "undefined" ? "undefined" : _type_of(paramsOrOptions)) === "object" && !("enabled" in paramsOrOptions) && !("ttl" in paramsOrOptions);
15
28
  return {
@@ -24,7 +37,7 @@ function createUseQuery(param) {
24
37
  } = param;
25
38
  if (typeof window === "undefined") {
26
39
  return function () {
27
- return EMPTY_RESPONSE;
40
+ return EMPTY_RESPONSE_PLURAL;
28
41
  };
29
42
  }
30
43
  function useQuery() {
@@ -32,7 +45,7 @@ function createUseQuery(param) {
32
45
  args[_key] = arguments[_key];
33
46
  }
34
47
  var disableMode = useContext(DisabledContext);
35
- var lastRef = useRef(EMPTY_RESPONSE);
48
+ var lastRef = useRef(EMPTY_RESPONSE_PLURAL);
36
49
  var [fn, paramsOrOptions, optionsArg] = args;
37
50
  var {
38
51
  queryRequest,
@@ -56,7 +69,15 @@ function createUseQuery(param) {
56
69
  ...(options !== null && options !== void 0 ? options : {}),
57
70
  enabled: false
58
71
  } : options;
59
- var out = zeroUseQuery(queryRequest, effectiveOptions);
72
+ var rawOut = zeroUseQuery(queryRequest, effectiveOptions);
73
+ var out = rawOut;
74
+ if ((rawOut === null || rawOut === void 0 ? void 0 : rawOut[0]) === null) {
75
+ var fallback = emptyResponseFor(queryRequest);
76
+ if (fallback === EMPTY_RESPONSE_PLURAL) {
77
+ var _rawOut_;
78
+ out = [EMPTY_PLURAL, (_rawOut_ = rawOut[1]) !== null && _rawOut_ !== void 0 ? _rawOut_ : RESULT_UNKNOWN];
79
+ }
80
+ }
60
81
  if (process.env.NODE_ENV === "development") {
61
82
  if (process.env.DEBUG_ZERO_QUERIES === "1") useZeroDebug(queryRequest, options, out);
62
83
  }
@@ -65,11 +86,14 @@ function createUseQuery(param) {
65
86
  return out;
66
87
  }
67
88
  if (disableMode === "last-value") {
89
+ if (lastRef.current === EMPTY_RESPONSE_PLURAL) {
90
+ return emptyResponseFor(queryRequest);
91
+ }
68
92
  return lastRef.current;
69
93
  }
70
- return EMPTY_RESPONSE;
94
+ return emptyResponseFor(queryRequest);
71
95
  }
72
96
  return useQuery;
73
97
  }
74
- export { createUseQuery, parseUseQueryArgs };
98
+ export { createUseQuery, emptyResponseFor, parseUseQueryArgs };
75
99
  //# sourceMappingURL=createUseQuery.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useQuery","zeroUseQuery","useContext","useMemo","useRef","useZeroDebug","resolveQuery","_type_of","obj","Symbol","constructor","EMPTY_RESPONSE","type","parseUseQueryArgs","paramsOrOptions","optionsArg","hasParams","params","options","createUseQuery","param","DisabledContext","customQueries","window","_len","arguments","length","args","Array","_key","disableMode","lastRef","fn","queryRequest","opts","queryRequest2"],"sources":["../../src/createUseQuery.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,IAAYC,YAAA,QAAoB;AACzC,SAASC,UAAA,EAAYC,OAAA,EAASC,MAAA,QAA4B;AAE1D,SAASC,YAAA,QAAoB;AAC7B,SAASC,YAAA,QAAuC;AAqChD,SAAMC,SAAAC,GAAA,EAAiB;EAGhB,uBAAS;;EACd,OAAMA,GAAA,WACJC,MAAA,gBACC,IAAAD,GAAA,CAAAE,WACC,KAAAD,MAAO,qBAAoBD,GAAA;AAI/B;AAAO,IACLG,cAAQ,IAA8B,IACtC,EACF;EACFC,IAAA;AAEO,EAAmD;AACxD,SACAC,kBAAAC,eAAA,EAAAC,UAAA;EACF,IAGyBC,SAAA,GAAAD,UAAA,eAAAD,eAAA,YAAAA,eAAA,iCAAAP,QAAA,CAAAO,eAAA,kCAAAA,eAAA,gBAAAA,eAAA;EAOvB,OAAI;IACFG,MAAA,EAAQD,SAAM,GAAAF,eAAA;IAChBI,OAAA,EAAAF,SAAA,GAAAD,UAAA,GAAAD;EAEA;AACE;AACA,SAAAK,cAAgBA,CAAAC,KAAY;EAC5B;IAAAC,eAAW;IAAAC;EAAiB,IAAUF,KAAI;EAE1C,WAAQG,MAAA,gBAAsB;IAC5B,mBAAgB;MAChB,OAAMZ,cAAA;IAEN;EAAqC;EASvC,SAAMX,SAAA;IAKN,SAAMwB,IAAM,GAAAC,SAAa,CAAAC,MAAA,EAAAC,IAAA,GAAc,IAAAC,KAAA,CAAAJ,IAAgB,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAEvDF,IAAI,CAAAE,IAAA,CAAQ,GAAAJ,SAAI,CAAAI,IAAa;IAC3B;IAEE,IAAAC,WAAA,GAAa5B,UAAA,CAAAmB,eAA0B;IAC3C,IAAAU,OAAA,GAAA3B,MAAA,CAAAO,cAAA;IAEA,IAAI,CAACqB,EAAA,EAAAlB,eAAa,EAAAC,UAAA,IAAAY,IAAA;IAChB;MAAAM,YAAQ;MAAUf;IAAA,IAAAf,OAAA;MAClB;QAAAc,MAAO;QAAAC,OAAA,EAAAgB;MAAA,IAAArB,iBAAA,CAAAC,eAAA,EAAAC,UAAA;MACT,IAAAoB,aAAA,GAAA7B,YAAA;QAEIgB,aAAA;QACFU,EAAA;QACFf;MAEA;MACF;QAEAgB,YAAO,EAAAE,aAAA;QACTjB,OAAA,EAAAgB","ignoreList":[]}
1
+ {"version":3,"names":["useQuery","zeroUseQuery","addContextToQuery","asQueryInternals","useContext","useMemo","useRef","useZeroDebug","resolveQuery","_type_of","obj","Symbol","constructor","EMPTY_PLURAL","Object","freeze","RESULT_UNKNOWN","type","EMPTY_RESPONSE_PLURAL","EMPTY_RESPONSE_SINGULAR","emptyResponseFor","queryRequest","query","internals","format","singular","e","parseUseQueryArgs","paramsOrOptions","optionsArg","hasParams","params","options","createUseQuery","param","DisabledContext","customQueries","window","_len","arguments","length","args","Array","_key","disableMode","lastRef","fn","opts","queryRequest2","effectiveOptions"],"sources":["../../src/createUseQuery.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,IAAYC,YAAA,QAAoB;AACzC,SAASC,iBAAA,EAAmBC,gBAAA,QAAwB;AACpD,SAASC,UAAA,EAAYC,OAAA,EAASC,MAAA,QAA4B;AAE1D,SAASC,YAAA,QAAoB;AAC7B,SAASC,YAAA,QAAuC;AAyChD,SAAMC,SAAAC,GAAe;EACrB,uBAAuB;;EACvB,OAAMA,GAAA,WAAAC,MAAA,KAAwB,WAAe,IAAAD,GAAA,CAAAE,WAAc,KAAAD,MAAe,qBAAAD,GAAA;AAC1E;AAQO,IAAAG,YAAS,GAAAC,MAAA,CAAiBC,MAAA;AAC/B,IAAAC,cAAI,GAAAF,MAAA,CAAAC,MAAA;EACFE,IAAA;AACA;AACA,IAAAC,qBAAiB,GAAOJ,MAAA,CAAAC,MAAW,EACrCF,YAAQ,EAGNG,cAAO,EACT;AACF,IAAAG,uBAAA,GAAAL,MAAA,CAAAC,MAAA,EAGO,QACLC,cAAM,CAON;AAAO,SACLI,gBAAoBA,CAAAC,YAAA;EAAkB,IACtC;IACF,IAAAC,KAAA,GAAApB,iBAAA,CAAAmB,YAAA;IACF,IAAAE,SAAA,GAAApB,gBAAA,CAAAmB,KAAA;IAEO,OAASC,SAAA,CAAAC,MAA0C,CAAAC,QAAA,GAAAN,uBAAA,GAAAD,qBAAA;EACxD,SAAAQ,CAAA;IACA,OAAAR,qBAAA;EACF;AAaE;AACE,SAAAS,iBAAcA,CAAAC,eAAA,EAAAC,UAAA;EAChB,IAAAC,SAAA,GAAAD,UAAA,eAAAD,eAAA,YAAAA,eAAA,iCAAAnB,QAAA,CAAAmB,eAAA,kCAAAA,eAAA,gBAAAA,eAAA;EAEA;IACEG,MAAM,EAAAD,SAAA,GAAcF,eAAW;IAC/BI,OAAM,EAAAF,SAAU,GAAAD,UAAY,GAAAD;EAC5B;AAEA;AACE,SAAAK,cAAgBA,CAAAC,KAAA,EAAS;EACzB;IAAAC,eAAM;IAAAC;EAAe,IAAeF,KAAA;EAEpC,WAAOG,MAAE;IACX,OAAI,YAAI;MAQR,OAAMnB,qBAAmB;IAKzB;EASA;EACA,SAAIlB,QAAUA,CAAA;IACZ,SAAMsC,IAAA,GAAAC,SAAW,CAAAC,MAAA,EAAAC,IAAiB,OAAAC,KAAY,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAC9CF,IAAI,CAAAE,IAAA,IAAAJ,SAAa,CAAAI,IAAA;IACf;IAAgD,IAClDC,WAAA,GAAAxC,UAAA,CAAA+B,eAAA;IACF,IAAAU,OAAA,GAAAvC,MAAA,CAAAY,qBAAA;IAEA,IAAI,CAAA4B,EAAA,EAAAlB,eAAY,EAAAC,UAAa,IAAAY,IAAe;IAC1C;MAAIpB,YAAY;MAAAW;IAAA,IAAA3B,OAAA,aAAuB;MAErC;QAAA0B,MAAA;QAAAC,OAAa,EAAAe;MAAA,CAAc,GAAApB,iBAAY,CAAAC,eAAA,EAAAC,UAAA;MAC3C,IAAAmB,aAAA,GAAAxC,YAAA;QAEI4B,aAAC;QACHU,EAAA;QACAf;MACF;MAEA,OAAI;QAIFV,YAAY,EAAA2B,aAAY;QACtBhB,OAAO,EAAAe;MACT;IACA,IACFD,EAAA,EAEAlB,eAAO,EACTC,UAAA,CAEA;IACF,IAAAoB,gBAAA,GAAAL,WAAA,UAAAZ,OAAA","ignoreList":[]}
@@ -1,16 +1,9 @@
1
1
  import { addContextToQuery, asQueryInternals, DEFAULT_TTL_MS, deepClone } from "@rocicorp/zero/bindings";
2
2
  import { useEmitterValue } from "@take-out/helpers";
3
3
  import { useContext, useMemo, useRef, useSyncExternalStore } from "react";
4
- import { parseUseQueryArgs } from "./createUseQuery.mjs";
4
+ import { emptyResponseFor, parseUseQueryArgs } from "./createUseQuery.mjs";
5
5
  import { resolveQuery } from "./resolveQuery.mjs";
6
- const EMPTY_RESPONSE = [null, {
7
- type: "unknown"
8
- }];
9
6
  const DISABLED_SUBSCRIBE = () => () => {};
10
- const DISABLED_SNAPSHOT = [void 0, {
11
- type: "unknown"
12
- }];
13
- const getDisabledSnapshot = () => DISABLED_SNAPSHOT;
14
7
  const emptyArray = [];
15
8
  const resultTypeUnknown = {
16
9
  type: "unknown"
@@ -51,7 +44,7 @@ function getSnapshot(singular, data, resultType, retry, error) {
51
44
  if (resultType === "error") return error ? [void 0, makeError(retry, error)] : emptySnapshotSingularError;
52
45
  return emptySnapshotSingularUnknown;
53
46
  }
54
- if (!singular && Array.isArray(data) && data.length === 0) {
47
+ if (!singular && (data == null || Array.isArray(data) && data.length === 0)) {
55
48
  if (resultType === "complete") return emptySnapshotPluralComplete;
56
49
  if (resultType === "error") return error ? [emptyArray, makeError(retry, error)] : emptySnapshotPluralError;
57
50
  return emptySnapshotPluralUnknown;
@@ -159,12 +152,11 @@ function createUseQueryDirect({
159
152
  zeroVersion
160
153
  }) {
161
154
  if (typeof window === "undefined") {
162
- return () => EMPTY_RESPONSE;
155
+ return _fn => emptyResponseFor(void 0);
163
156
  }
164
157
  const directViewStore = new DirectViewStore();
165
158
  function useQueryDirect(...args) {
166
159
  const disableMode = useContext(DisabledContext);
167
- const lastRef = useRef(EMPTY_RESPONSE);
168
160
  const [fn, paramsOrOptions, optionsArg] = args;
169
161
  const version = useEmitterValue(zeroVersion);
170
162
  const {
@@ -180,17 +172,23 @@ function createUseQueryDirect({
180
172
  ttl = options.ttl ?? DEFAULT_TTL_MS;
181
173
  }
182
174
  const paramsKey = params === void 0 ? "" : JSON.stringify(params);
175
+ const queryRequest = useMemo(() => resolveQuery({
176
+ customQueries,
177
+ fn,
178
+ params
179
+ }),
180
+ // params is keyed by paramsKey
181
+ // eslint-disable-next-line react-hooks/exhaustive-deps
182
+ [fn, paramsKey]);
183
+ const emptyForQuery = useMemo(() => emptyResponseFor(queryRequest), [queryRequest]);
184
+ const lastRef = useRef(emptyForQuery);
183
185
  const view = useMemo(() => {
184
186
  const zero = getZero();
185
187
  if (!zero) return null;
186
- const queryRequest = resolveQuery({
187
- customQueries,
188
- fn,
189
- params
190
- });
191
188
  return directViewStore.getView(zero, queryRequest, enabled, ttl);
192
- }, [fn, paramsKey, enabled, ttl, version]);
193
- const out = useSyncExternalStore(view ? view.subscribe : DISABLED_SUBSCRIBE, view ? view.getSnapshot : getDisabledSnapshot, view ? view.getSnapshot : getDisabledSnapshot);
189
+ }, [queryRequest, enabled, ttl, version]);
190
+ const getEmpty = () => emptyForQuery;
191
+ const out = useSyncExternalStore(view ? view.subscribe : DISABLED_SUBSCRIBE, view ? view.getSnapshot : getEmpty, view ? view.getSnapshot : getEmpty);
194
192
  if (!disableMode) {
195
193
  lastRef.current = out;
196
194
  return out;
@@ -198,7 +196,7 @@ function createUseQueryDirect({
198
196
  if (disableMode === "last-value") {
199
197
  return lastRef.current;
200
198
  }
201
- return EMPTY_RESPONSE;
199
+ return emptyForQuery;
202
200
  }
203
201
  return useQueryDirect;
204
202
  }
@@ -1 +1 @@
1
- {"version":3,"names":["addContextToQuery","asQueryInternals","DEFAULT_TTL_MS","deepClone","useEmitterValue","useContext","useMemo","useRef","useSyncExternalStore","parseUseQueryArgs","resolveQuery","EMPTY_RESPONSE","type","DISABLED_SUBSCRIBE","DISABLED_SNAPSHOT","getDisabledSnapshot","emptyArray","resultTypeUnknown","resultTypeComplete","resultTypeError","emptySnapshotSingularUnknown","emptySnapshotSingularComplete","emptySnapshotSingularError","emptySnapshotPluralUnknown","emptySnapshotPluralComplete","emptySnapshotPluralError","getDefaultSnapshot","singular","makeError","retry","error","message","refetch","details","getSnapshot","data","resultType","Array","isArray","length","DirectViewWrapper","constructor","query","zero","ttl","onDematerialized","snapshot","materializeIfNeeded","view","listeners","Set","destroyTimer","onData","cloned","listener","destroyView","materialize","addListener","current","destroy","updateTTL","subscribe","notify","add","clearTimeout","delete","size","setTimeout","DirectViewStore","views","Map","getView","queryRequest","enabled","context","queryInternals","format","hash","clientID","get","dematerialized","set","createUseQueryDirect","DisabledContext","customQueries","getZero","zeroVersion","window","directViewStore","useQueryDirect","args","disableMode","lastRef","fn","paramsOrOptions","optionsArg","version","params","options","paramsKey","JSON","stringify","out"],"sources":["../../src/createUseQueryDirect.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["addContextToQuery","asQueryInternals","DEFAULT_TTL_MS","deepClone","useEmitterValue","useContext","useMemo","useRef","useSyncExternalStore","emptyResponseFor","parseUseQueryArgs","resolveQuery","DISABLED_SUBSCRIBE","emptyArray","resultTypeUnknown","type","resultTypeComplete","resultTypeError","emptySnapshotSingularUnknown","emptySnapshotSingularComplete","emptySnapshotSingularError","emptySnapshotPluralUnknown","emptySnapshotPluralComplete","emptySnapshotPluralError","getDefaultSnapshot","singular","makeError","retry","error","message","refetch","details","getSnapshot","data","resultType","Array","isArray","length","DirectViewWrapper","constructor","query","zero","ttl","onDematerialized","snapshot","materializeIfNeeded","view","listeners","Set","destroyTimer","onData","cloned","listener","destroyView","materialize","addListener","current","destroy","updateTTL","subscribe","notify","add","clearTimeout","delete","size","setTimeout","DirectViewStore","views","Map","getView","queryRequest","enabled","context","queryInternals","format","hash","clientID","get","dematerialized","set","createUseQueryDirect","DisabledContext","customQueries","getZero","zeroVersion","window","_fn","directViewStore","useQueryDirect","args","disableMode","fn","paramsOrOptions","optionsArg","version","params","options","paramsKey","JSON","stringify","emptyForQuery","lastRef","getEmpty","out"],"sources":["../../src/createUseQueryDirect.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import { addContextToQuery, asQueryInternals, DEFAULT_TTL_MS, deepClone } from "@rocicorp/zero/bindings";
2
2
  import { useEmitterValue } from "@take-out/helpers";
3
3
  import { useContext, useMemo, useRef, useSyncExternalStore } from "react";
4
- import { parseUseQueryArgs } from "./createUseQuery.native.js";
4
+ import { emptyResponseFor, parseUseQueryArgs } from "./createUseQuery.native.js";
5
5
  import { resolveQuery } from "./resolveQuery.native.js";
6
6
  function _class_call_check(instance, Constructor) {
7
7
  if (!(instance instanceof Constructor)) {
@@ -35,18 +35,9 @@ function _define_property(obj, key, value) {
35
35
  }
36
36
  return obj;
37
37
  }
38
- var EMPTY_RESPONSE = [null, {
39
- type: "unknown"
40
- }];
41
38
  var DISABLED_SUBSCRIBE = function () {
42
39
  return function () {};
43
40
  };
44
- var DISABLED_SNAPSHOT = [void 0, {
45
- type: "unknown"
46
- }];
47
- var getDisabledSnapshot = function () {
48
- return DISABLED_SNAPSHOT;
49
- };
50
41
  var emptyArray = [];
51
42
  var resultTypeUnknown = {
52
43
  type: "unknown"
@@ -89,7 +80,7 @@ function getSnapshot(singular, data, resultType, retry, error) {
89
80
  if (resultType === "error") return error ? [void 0, makeError(retry, error)] : emptySnapshotSingularError;
90
81
  return emptySnapshotSingularUnknown;
91
82
  }
92
- if (!singular && Array.isArray(data) && data.length === 0) {
83
+ if (!singular && (data == null || Array.isArray(data) && data.length === 0)) {
93
84
  if (resultType === "complete") return emptySnapshotPluralComplete;
94
85
  if (resultType === "error") return error ? [emptyArray, makeError(retry, error)] : emptySnapshotPluralError;
95
86
  return emptySnapshotPluralUnknown;
@@ -255,8 +246,8 @@ function createUseQueryDirect(param) {
255
246
  zeroVersion
256
247
  } = param;
257
248
  if (typeof window === "undefined") {
258
- return function () {
259
- return EMPTY_RESPONSE;
249
+ return function (_fn) {
250
+ return emptyResponseFor(void 0);
260
251
  };
261
252
  }
262
253
  var directViewStore = new DirectViewStore();
@@ -265,7 +256,6 @@ function createUseQueryDirect(param) {
265
256
  args[_key] = arguments[_key];
266
257
  }
267
258
  var disableMode = useContext(DisabledContext);
268
- var lastRef = useRef(EMPTY_RESPONSE);
269
259
  var [fn, paramsOrOptions, optionsArg] = args;
270
260
  var version = useEmitterValue(zeroVersion);
271
261
  var {
@@ -282,20 +272,32 @@ function createUseQueryDirect(param) {
282
272
  ttl = (_options_ttl = options.ttl) !== null && _options_ttl !== void 0 ? _options_ttl : DEFAULT_TTL_MS;
283
273
  }
284
274
  var paramsKey = params === void 0 ? "" : JSON.stringify(params);
285
- var view = useMemo(function () {
286
- var zero = getZero();
287
- if (!zero) return null;
288
- var queryRequest = resolveQuery({
275
+ var queryRequest = useMemo(function () {
276
+ return resolveQuery({
289
277
  customQueries,
290
278
  fn,
291
279
  params
292
280
  });
281
+ },
282
+ // params is keyed by paramsKey
283
+ // eslint-disable-next-line react-hooks/exhaustive-deps
284
+ [fn, paramsKey]);
285
+ var emptyForQuery = useMemo(function () {
286
+ return emptyResponseFor(queryRequest);
287
+ }, [queryRequest]);
288
+ var lastRef = useRef(emptyForQuery);
289
+ var view = useMemo(function () {
290
+ var zero = getZero();
291
+ if (!zero) return null;
293
292
  return directViewStore.getView(zero, queryRequest, enabled, ttl);
294
293
  },
295
- // params is keyed by paramsKey; version re-materializes on a new zero
294
+ // version re-materializes on a new zero
296
295
  // eslint-disable-next-line react-hooks/exhaustive-deps
297
- [fn, paramsKey, enabled, ttl, version]);
298
- var out = useSyncExternalStore(view ? view.subscribe : DISABLED_SUBSCRIBE, view ? view.getSnapshot : getDisabledSnapshot, view ? view.getSnapshot : getDisabledSnapshot);
296
+ [queryRequest, enabled, ttl, version]);
297
+ var getEmpty = function () {
298
+ return emptyForQuery;
299
+ };
300
+ var out = useSyncExternalStore(view ? view.subscribe : DISABLED_SUBSCRIBE, view ? view.getSnapshot : getEmpty, view ? view.getSnapshot : getEmpty);
299
301
  if (!disableMode) {
300
302
  lastRef.current = out;
301
303
  return out;
@@ -303,7 +305,7 @@ function createUseQueryDirect(param) {
303
305
  if (disableMode === "last-value") {
304
306
  return lastRef.current;
305
307
  }
306
- return EMPTY_RESPONSE;
308
+ return emptyForQuery;
307
309
  }
308
310
  return useQueryDirect;
309
311
  }
@@ -1 +1 @@
1
- {"version":3,"names":["addContextToQuery","asQueryInternals","DEFAULT_TTL_MS","deepClone","useEmitterValue","useContext","useMemo","useRef","useSyncExternalStore","parseUseQueryArgs","resolveQuery","_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","EMPTY_RESPONSE","type","DISABLED_SUBSCRIBE","DISABLED_SNAPSHOT","getDisabledSnapshot","emptyArray","resultTypeUnknown","resultTypeComplete","resultTypeError","emptySnapshotSingularUnknown","emptySnapshotSingularComplete","emptySnapshotSingularError","emptySnapshotPluralUnknown","emptySnapshotPluralComplete","emptySnapshotPluralError","getDefaultSnapshot","singular","makeError","retry","error","_error_message","message","_error_error","refetch","details","getSnapshot","data","resultType","Array","isArray","DirectViewWrapper","DirectViewWrapper2","query","zero","ttl","onDematerialized","_this","listeners","Set","onData","cloned","snapshot","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","listener","err","return","destroyView","materializeIfNeeded","subscribe","notify","add","destroyTimer","clearTimeout","delete","size","setTimeout"],"sources":["../../src/createUseQueryDirect.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["addContextToQuery","asQueryInternals","DEFAULT_TTL_MS","deepClone","useEmitterValue","useContext","useMemo","useRef","useSyncExternalStore","emptyResponseFor","parseUseQueryArgs","resolveQuery","_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","DISABLED_SUBSCRIBE","emptyArray","resultTypeUnknown","type","resultTypeComplete","resultTypeError","emptySnapshotSingularUnknown","emptySnapshotSingularComplete","emptySnapshotSingularError","emptySnapshotPluralUnknown","emptySnapshotPluralComplete","emptySnapshotPluralError","getDefaultSnapshot","singular","makeError","retry","error","_error_message","message","_error_error","refetch","details","getSnapshot","data","resultType","Array","isArray","DirectViewWrapper","DirectViewWrapper2","query","zero","ttl","onDematerialized","_this","listeners","Set","onData","cloned","snapshot","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","listener","err","return","destroyView","materializeIfNeeded","subscribe","notify","add","destroyTimer","clearTimeout","delete","size","setTimeout","view","materialize","addListener"],"sources":["../../src/createUseQueryDirect.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,71 @@
1
+ import { createSchema, number, string, table } from "@rocicorp/zero";
2
+ import { act } from "react";
3
+ import { createRoot } from "react-dom/client";
4
+ import { afterEach, beforeEach, expect, test } from "vitest";
5
+ import { createZeroClient } from "./createZeroClient.mjs";
6
+ import { zql } from "./zql.mjs";
7
+ import { jsx } from "react/jsx-runtime";
8
+ globalThis.IS_REACT_ACT_ENVIRONMENT = true;
9
+ const todoTable = table("todo").columns({
10
+ id: string(),
11
+ title: string(),
12
+ createdAt: number()
13
+ }).primaryKey("id");
14
+ const schema = createSchema({
15
+ tables: [todoTable]
16
+ });
17
+ const allTodos = _args => zql.todo.orderBy("createdAt", "desc");
18
+ const oneTodo = args => zql.todo.where("id", args.id).one();
19
+ const client = createZeroClient({
20
+ schema,
21
+ models: {},
22
+ groupedQueries: {
23
+ todo: {
24
+ allTodos,
25
+ oneTodo
26
+ }
27
+ },
28
+ instanceName: "empty-shape-test"
29
+ });
30
+ let container;
31
+ let root;
32
+ beforeEach(() => {
33
+ container = document.createElement("div");
34
+ root = createRoot(container);
35
+ });
36
+ afterEach(() => {
37
+ act(() => root.unmount());
38
+ });
39
+ function renderWithDisabled(useHook) {
40
+ let captured;
41
+ const Probe = () => {
42
+ captured = useHook();
43
+ return null;
44
+ };
45
+ act(() => {
46
+ root.render(/* @__PURE__ */jsx(client.ProvideZero, {
47
+ authData: {},
48
+ userID: "anon",
49
+ disable: true,
50
+ children: /* @__PURE__ */jsx(Probe, {})
51
+ }));
52
+ });
53
+ if (captured === void 0) throw new Error("Probe did not render");
54
+ return captured;
55
+ }
56
+ test("useQuery returns [] (not null) for plural queries under DisabledContext", () => {
57
+ const [data, info] = renderWithDisabled(() => client.useQuery(allTodos));
58
+ expect(Array.isArray(data)).toBe(true);
59
+ expect(data.length).toBe(0);
60
+ expect(data.filter(() => true)).toEqual([]);
61
+ expect(data.find(() => true)).toBeUndefined();
62
+ expect(info?.type).toBe("unknown");
63
+ });
64
+ test("useQuery returns undefined (not null) for singular queries under DisabledContext", () => {
65
+ const [data, info] = renderWithDisabled(() => client.useQuery(oneTodo, {
66
+ id: "x"
67
+ }));
68
+ expect(data).toBeUndefined();
69
+ expect(info?.type).toBe("unknown");
70
+ });
71
+ //# sourceMappingURL=useQuery.empty.test.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createSchema","number","string","table","act","createRoot","afterEach","beforeEach","expect","test","createZeroClient","zql","jsx","globalThis","IS_REACT_ACT_ENVIRONMENT","todoTable","columns","id","title","createdAt","primaryKey","schema","tables","allTodos","_args","todo","orderBy","oneTodo","args","where","one","client","models","groupedQueries","instanceName","container","root","document","createElement","unmount","renderWithDisabled","useHook","captured","Probe","render","ProvideZero","authData","userID","disable","children","Error","data","info","useQuery","Array","isArray","toBe","length","filter","toEqual","find","toBeUndefined","type"],"sources":["../../src/useQuery.empty.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,85 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createSchema, number, string, table } from "@rocicorp/zero";
3
+ import { act } from "react";
4
+ import { createRoot } from "react-dom/client";
5
+ import { afterEach, beforeEach, expect, test } from "vitest";
6
+ import { createZeroClient } from "./createZeroClient.native.js";
7
+ import { zql } from "./zql.native.js";
8
+ globalThis.IS_REACT_ACT_ENVIRONMENT = true;
9
+ var todoTable = table("todo").columns({
10
+ id: string(),
11
+ title: string(),
12
+ createdAt: number()
13
+ }).primaryKey("id");
14
+ var schema = createSchema({
15
+ tables: [todoTable]
16
+ });
17
+ var allTodos = function (_args) {
18
+ return zql.todo.orderBy("createdAt", "desc");
19
+ };
20
+ var oneTodo = function (args) {
21
+ return zql.todo.where("id", args.id).one();
22
+ };
23
+ var client = createZeroClient({
24
+ schema,
25
+ models: {},
26
+ groupedQueries: {
27
+ todo: {
28
+ allTodos,
29
+ oneTodo
30
+ }
31
+ },
32
+ instanceName: "empty-shape-test"
33
+ });
34
+ var container;
35
+ var root;
36
+ beforeEach(function () {
37
+ container = document.createElement("div");
38
+ root = createRoot(container);
39
+ });
40
+ afterEach(function () {
41
+ act(function () {
42
+ return root.unmount();
43
+ });
44
+ });
45
+ function renderWithDisabled(useHook) {
46
+ var captured;
47
+ var Probe = function () {
48
+ captured = useHook();
49
+ return null;
50
+ };
51
+ act(function () {
52
+ root.render(/* @__PURE__ */_jsx(client.ProvideZero, {
53
+ authData: {},
54
+ userID: "anon",
55
+ disable: true,
56
+ children: /* @__PURE__ */_jsx(Probe, {})
57
+ }));
58
+ });
59
+ if (captured === void 0) throw new Error("Probe did not render");
60
+ return captured;
61
+ }
62
+ test("useQuery returns [] (not null) for plural queries under DisabledContext", function () {
63
+ var [data, info] = renderWithDisabled(function () {
64
+ return client.useQuery(allTodos);
65
+ });
66
+ expect(Array.isArray(data)).toBe(true);
67
+ expect(data.length).toBe(0);
68
+ expect(data.filter(function () {
69
+ return true;
70
+ })).toEqual([]);
71
+ expect(data.find(function () {
72
+ return true;
73
+ })).toBeUndefined();
74
+ expect(info === null || info === void 0 ? void 0 : info.type).toBe("unknown");
75
+ });
76
+ test("useQuery returns undefined (not null) for singular queries under DisabledContext", function () {
77
+ var [data, info] = renderWithDisabled(function () {
78
+ return client.useQuery(oneTodo, {
79
+ id: "x"
80
+ });
81
+ });
82
+ expect(data).toBeUndefined();
83
+ expect(info === null || info === void 0 ? void 0 : info.type).toBe("unknown");
84
+ });
85
+ //# sourceMappingURL=useQuery.empty.test.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","createSchema","number","string","table","act","createRoot","afterEach","beforeEach","expect","test","createZeroClient","zql","globalThis","IS_REACT_ACT_ENVIRONMENT","todoTable","columns","id","title","createdAt","primaryKey","schema","tables","allTodos","_args","todo","orderBy","oneTodo","args","where","one","client","models","groupedQueries","instanceName","container","root","document","createElement","unmount","renderWithDisabled","useHook","captured","Probe","render","ProvideZero","authData","userID","disable","children"],"sources":["../../src/useQuery.empty.test.tsx"],"sourcesContent":[null],"mappings":"AAQA,SAASA,GAAA,IAAAC,IAAA,QAAc,mBAAgB;AACvC,SAASC,YAAW,EAAAC,MAAA,EAAAC,MAAA,EAAAC,KAAA;AACpB,SAASC,GAAA,eAA6B;AACtC,SAASC,UAAA,QAAW,kBAAoB;AAExC,SAASC,SAAA,EAAAC,UAAA,EAAAC,MAAwB,EAAAC,IAAA;AACjC,SAASC,gBAAW;AA0DZ,SAAAC,GAAA;AApDRC,UAAA,CAAWC,wBAAA,GAA2B;AAEtC,IAAAC,SAAM,GAAAX,KAAY,OAAM,EAAMY,OAC3B;EAEHC,EAAA,EAAMd,MAAA;EAINe,KAAM,EAAAf,MAAA,EAAW;EAEbgB,SAAA,EAAAjB,MAAA;AAAA,EACA,CAAAkB,UAAA;AACF,IAAAC,MAAA,GAAApB,YAAA;EACFqB,MAAM,GAKNP,SAAM;AACJ,EACA;AAAS,IACTQ,QAAA,YAAAA,CAAgBC,KAAA;EAAA,OACdZ,GAAQ,CAAAa,IAAA,CAAAC,OAAU,YAAQ;AAAA;AAC5B,IACAC,OAAA,YAAAA,CAAcC,IAAA;EACf,OAAAhB,GAAA,CAAAa,IAAA,CAAAI,KAAA,OAAAD,IAAA,CAAAX,EAAA,EAAAa,GAAA;AAED;AACA,IAAIC,MAAA,GAAApB,gBAAA;EAEJU,MAAA;EACEW,MAAA;EACAC,cAAO;IACRR,IAAA;MAEDF,QAAU;MACJI;IACL;EAED;EACEO,YAAI;AACJ;AACE,IAAAC,SAAA;AACA,IAAAC,IAAA;AAAO5B,UACT;EACA2B,SAAI,GAAME,QAAA,CAAAC,aAAA;EAIRF,IAAA,GAAK9B,UAAA,CAAA6B,SAAA;AAAA;AAGH5B,SACF;EACFF,GAAC;IACD,OAAI+B,IAAA,CAAAG,OAAa;EACjB;AACF;AAIA,SAAKC,mBAAAC,OAAA;EACH,IAAAC,QAAO;EACP,IAAAC,KAAO,YAAAA,CAAA,EAAc;IACrBD,QAAQ,GAAmBD,OAAQ;IAEnC,OAAQ,IAAmB;EAC3B;EACApC,GAAA,aAAa;IACd+B,IAAA,CAAAQ,MAAA,gBAAA5C,IAAA,CAAA+B,MAAA,CAAAc,WAAA;MAEIC,QAAA;MACHC,MAAO,QAAU;MAEjBC,OAAW,EAAE;MACbC,QAAO,EAAM,eAAWjD,IAAS,CAAA2C,KAAA;IAClC","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "on-zero",
3
- "version": "0.4.39",
3
+ "version": "0.4.42",
4
4
  "description": "A typed layer over @rocicorp/zero with queries, mutations, and permissions",
5
5
  "sideEffects": false,
6
6
  "source": "src/index.ts",
@@ -83,7 +83,7 @@
83
83
  }
84
84
  },
85
85
  "dependencies": {
86
- "@take-out/helpers": "0.4.39",
86
+ "@take-out/helpers": "0.4.37",
87
87
  "chokidar": "^4.0.3",
88
88
  "citty": "^0.1.6",
89
89
  "valibot": "^1.1.0"