on-zero 0.4.39 → 0.4.41

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.
@@ -23,16 +23,30 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
23
  var createUseQuery_exports = {};
24
24
  __export(createUseQuery_exports, {
25
25
  createUseQuery: () => createUseQuery,
26
+ emptyResponseFor: () => emptyResponseFor,
26
27
  parseUseQueryArgs: () => parseUseQueryArgs
27
28
  });
28
29
  module.exports = __toCommonJS(createUseQuery_exports);
29
30
  var import_react = require("@rocicorp/zero/react");
31
+ var import_bindings = require("@rocicorp/zero/bindings");
30
32
  var import_react2 = require("react");
31
33
  var import_useZeroDebug = require("./helpers/useZeroDebug.cjs");
32
34
  var import_resolveQuery = require("./resolveQuery.cjs");
33
- const EMPTY_RESPONSE = [null, {
35
+ const EMPTY_PLURAL = Object.freeze([]);
36
+ const RESULT_UNKNOWN = Object.freeze({
34
37
  type: "unknown"
35
- }];
38
+ });
39
+ const EMPTY_RESPONSE_PLURAL = Object.freeze([EMPTY_PLURAL, RESULT_UNKNOWN]);
40
+ const EMPTY_RESPONSE_SINGULAR = Object.freeze([void 0, RESULT_UNKNOWN]);
41
+ function emptyResponseFor(queryRequest) {
42
+ try {
43
+ const query = (0, import_bindings.addContextToQuery)(queryRequest, {});
44
+ const internals = (0, import_bindings.asQueryInternals)(query);
45
+ return internals.format.singular ? EMPTY_RESPONSE_SINGULAR : EMPTY_RESPONSE_PLURAL;
46
+ } catch {
47
+ return EMPTY_RESPONSE_PLURAL;
48
+ }
49
+ }
36
50
  function parseUseQueryArgs(paramsOrOptions, optionsArg) {
37
51
  const hasParams = optionsArg !== void 0 || paramsOrOptions && typeof paramsOrOptions === "object" && !("enabled" in paramsOrOptions) && !("ttl" in paramsOrOptions);
38
52
  return {
@@ -45,11 +59,11 @@ function createUseQuery({
45
59
  customQueries
46
60
  }) {
47
61
  if (typeof window === "undefined") {
48
- return () => EMPTY_RESPONSE;
62
+ return () => EMPTY_RESPONSE_PLURAL;
49
63
  }
50
64
  function useQuery(...args) {
51
65
  const disableMode = (0, import_react2.useContext)(DisabledContext);
52
- const lastRef = (0, import_react2.useRef)(EMPTY_RESPONSE);
66
+ const lastRef = (0, import_react2.useRef)(EMPTY_RESPONSE_PLURAL);
53
67
  const [fn, paramsOrOptions, optionsArg] = args;
54
68
  const {
55
69
  queryRequest,
@@ -82,9 +96,12 @@ function createUseQuery({
82
96
  return out;
83
97
  }
84
98
  if (disableMode === "last-value") {
99
+ if (lastRef.current === EMPTY_RESPONSE_PLURAL) {
100
+ return emptyResponseFor(queryRequest);
101
+ }
85
102
  return lastRef.current;
86
103
  }
87
- return EMPTY_RESPONSE;
104
+ return emptyResponseFor(queryRequest);
88
105
  }
89
106
  return useQuery;
90
107
  }
@@ -25,10 +25,12 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
25
25
  var createUseQuery_exports = {};
26
26
  __export(createUseQuery_exports, {
27
27
  createUseQuery: () => createUseQuery,
28
+ emptyResponseFor: () => emptyResponseFor,
28
29
  parseUseQueryArgs: () => parseUseQueryArgs
29
30
  });
30
31
  module.exports = __toCommonJS(createUseQuery_exports);
31
32
  var import_react = require("@rocicorp/zero/react");
33
+ var import_bindings = require("@rocicorp/zero/bindings");
32
34
  var import_react2 = require("react");
33
35
  var import_useZeroDebug = require("./helpers/useZeroDebug.native.js");
34
36
  var import_resolveQuery = require("./resolveQuery.native.js");
@@ -37,9 +39,21 @@ function _type_of(obj) {
37
39
 
38
40
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
39
41
  }
40
- var EMPTY_RESPONSE = [null, {
42
+ var EMPTY_PLURAL = Object.freeze([]);
43
+ var RESULT_UNKNOWN = Object.freeze({
41
44
  type: "unknown"
42
- }];
45
+ });
46
+ var EMPTY_RESPONSE_PLURAL = Object.freeze([EMPTY_PLURAL, RESULT_UNKNOWN]);
47
+ var EMPTY_RESPONSE_SINGULAR = Object.freeze([void 0, RESULT_UNKNOWN]);
48
+ function emptyResponseFor(queryRequest) {
49
+ try {
50
+ var query = (0, import_bindings.addContextToQuery)(queryRequest, {});
51
+ var internals = (0, import_bindings.asQueryInternals)(query);
52
+ return internals.format.singular ? EMPTY_RESPONSE_SINGULAR : EMPTY_RESPONSE_PLURAL;
53
+ } catch (e) {
54
+ return EMPTY_RESPONSE_PLURAL;
55
+ }
56
+ }
43
57
  function parseUseQueryArgs(paramsOrOptions, optionsArg) {
44
58
  var hasParams = optionsArg !== void 0 || paramsOrOptions && (typeof paramsOrOptions === "undefined" ? "undefined" : _type_of(paramsOrOptions)) === "object" && !("enabled" in paramsOrOptions) && !("ttl" in paramsOrOptions);
45
59
  return {
@@ -54,7 +68,7 @@ function createUseQuery(param) {
54
68
  } = param;
55
69
  if (typeof window === "undefined") {
56
70
  return function () {
57
- return EMPTY_RESPONSE;
71
+ return EMPTY_RESPONSE_PLURAL;
58
72
  };
59
73
  }
60
74
  function useQuery() {
@@ -62,7 +76,7 @@ function createUseQuery(param) {
62
76
  args[_key] = arguments[_key];
63
77
  }
64
78
  var disableMode = (0, import_react2.useContext)(DisabledContext);
65
- var lastRef = (0, import_react2.useRef)(EMPTY_RESPONSE);
79
+ var lastRef = (0, import_react2.useRef)(EMPTY_RESPONSE_PLURAL);
66
80
  var [fn, paramsOrOptions, optionsArg] = args;
67
81
  var {
68
82
  queryRequest,
@@ -95,9 +109,12 @@ function createUseQuery(param) {
95
109
  return out;
96
110
  }
97
111
  if (disableMode === "last-value") {
112
+ if (lastRef.current === EMPTY_RESPONSE_PLURAL) {
113
+ return emptyResponseFor(queryRequest);
114
+ }
98
115
  return lastRef.current;
99
116
  }
100
- return EMPTY_RESPONSE;
117
+ return emptyResponseFor(queryRequest);
101
118
  }
102
119
  return useQuery;
103
120
  }
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createUseQuery_exports","__export","createUseQuery","parseUseQueryArgs","module","exports","import_react","require","import_react2","import_useZeroDebug","import_resolveQuery","_type_of","obj","Symbol","constructor","EMPTY_RESPONSE","type","paramsOrOptions","optionsArg","hasParams","params","options","param","DisabledContext","customQueries","window","useQuery","_len","arguments","length","args","Array","_key","disableMode","useContext","lastRef","useRef","fn","queryRequest","useMemo","opts","queryRequest2","resolveQuery"],"sources":["../../src/createUseQuery.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,sBAAA;AAAAC,QAAA,CAAAD,sBAAA;EAAAE,cAAA,EAAAA,CAAA,KAAAA,cAAA;EAAAC,iBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAV,YAAyC,CAAAK,sBAAA;AACzC,IAAAM,YAAA,GAAAC,OAA0D;AAE1D,IAAAC,aAAA,GAAAD,OAA6B;AAC7B,IAAAE,mBAAA,GAAgDF,OAAA;AAqChD,IAAAG,mBAAuB,GAACH,OAAQ,2BAAiB;AAG1C,SAASI,SAAAC,GAAA;EACd,uBACE;;EAMF,OAAOA,GAAA,WAAAC,MAAA,oBAAAD,GAAA,CAAAE,WAAA,KAAAD,MAAA,qBAAAD,GAAA;AAAA;AACiC,IACtCG,cAAS,IACX,MACF;EAEOC,IAAA,EAAS;AACd;AAEF,SAGyBb,kBAAAc,eAAA,EAAAC,UAAA;EAOvB,IAAIC,SAAO,GAAAD,UAAW,UAAa,KAAAD,eAAA,YAAAA,eAAA,iCAAAN,QAAA,CAAAM,eAAA,kCAAAA,eAAA,gBAAAA,eAAA;EACjC;IACFG,MAAA,EAAAD,SAAA,GAAAF,eAAA;IAEAI,OAAS,EAAAF,SAAA,GAAYD,UAAkB,GAAAD;EACrC;AACA;AACA,SAAAf,cAAWA,CAAAoB,KAAA;EAEX;IAAAC,eAAQ;IAAAC;EAAsB,IAAIF,KAAA;EAChC,WAAMG,MAAE,KAAQ,WAAS,EAAK;IAC9B,mBAAM;MAEN,OAAOV,cAAE;IACX;EAQA;EAKA,SAAMW,SAAA,EAAM;IAEZ,KAAI,IAAAC,IAAQ,GAAIC,SAAA,CAAAC,MAAa,EAAAC,IAAA,OAAeC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAC1CF,IAAI,CAAAE,IAAA,IAAQJ,SAAI,CAAAI,IAAA;IAEd;IACJ,IAAAC,WAAA,OAAAzB,aAAA,CAAA0B,UAAA,EAAAX,eAAA;IAEA,IAAIY,OAAC,OAAa3B,aAAA,CAAA4B,MAAA,EAAArB,cAAA;IAChB,KAAAsB,EAAA,EAAApB,eAAkB,EAAAC,UAAA,IAAAY,IAAA;IAClB;MAAAQ,YAAO;MAAAjB;IAAA,QAAAb,aAAA,CAAA+B,OAAA;MACT;QAAAnB,MAAA;QAAAC,OAAA,EAAAmB;MAAA,IAAArC,iBAAA,CAAAc,eAAA,EAAAC,UAAA;MAEA,IAAIuB,aAAA,GAAgB,IAAA/B,mBAAc,CAAAgC,YAAA;QAChClB,aAAe;QACjBa,EAAA;QAEAjB;MACF;MAEA,OAAO;QACTkB,YAAA,EAAAG,aAAA","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createUseQuery_exports","__export","createUseQuery","emptyResponseFor","parseUseQueryArgs","module","exports","import_react","require","import_bindings","import_react2","import_useZeroDebug","import_resolveQuery","_type_of","obj","Symbol","constructor","EMPTY_PLURAL","Object","freeze","RESULT_UNKNOWN","type","EMPTY_RESPONSE_PLURAL","EMPTY_RESPONSE_SINGULAR","queryRequest","query","addContextToQuery","internals","asQueryInternals","format","singular","e","paramsOrOptions","optionsArg","hasParams","params","options","param","DisabledContext","customQueries","window","useQuery","_len","arguments","length","args","Array","_key","disableMode","useContext","lastRef","useRef","fn","useMemo","opts","queryRequest2","resolveQuery"],"sources":["../../src/createUseQuery.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -30,14 +30,7 @@ var import_helpers = require("@take-out/helpers");
30
30
  var import_react = require("react");
31
31
  var import_createUseQuery = require("./createUseQuery.cjs");
32
32
  var import_resolveQuery = require("./resolveQuery.cjs");
33
- const EMPTY_RESPONSE = [null, {
34
- type: "unknown"
35
- }];
36
33
  const DISABLED_SUBSCRIBE = () => () => {};
37
- const DISABLED_SNAPSHOT = [void 0, {
38
- type: "unknown"
39
- }];
40
- const getDisabledSnapshot = () => DISABLED_SNAPSHOT;
41
34
  const emptyArray = [];
42
35
  const resultTypeUnknown = {
43
36
  type: "unknown"
@@ -186,12 +179,11 @@ function createUseQueryDirect({
186
179
  zeroVersion
187
180
  }) {
188
181
  if (typeof window === "undefined") {
189
- return () => EMPTY_RESPONSE;
182
+ return _fn => (0, import_createUseQuery.emptyResponseFor)(void 0);
190
183
  }
191
184
  const directViewStore = new DirectViewStore();
192
185
  function useQueryDirect(...args) {
193
186
  const disableMode = (0, import_react.useContext)(DisabledContext);
194
- const lastRef = (0, import_react.useRef)(EMPTY_RESPONSE);
195
187
  const [fn, paramsOrOptions, optionsArg] = args;
196
188
  const version = (0, import_helpers.useEmitterValue)(zeroVersion);
197
189
  const {
@@ -207,17 +199,23 @@ function createUseQueryDirect({
207
199
  ttl = options.ttl ?? import_bindings.DEFAULT_TTL_MS;
208
200
  }
209
201
  const paramsKey = params === void 0 ? "" : JSON.stringify(params);
202
+ const queryRequest = (0, import_react.useMemo)(() => (0, import_resolveQuery.resolveQuery)({
203
+ customQueries,
204
+ fn,
205
+ params
206
+ }),
207
+ // params is keyed by paramsKey
208
+ // eslint-disable-next-line react-hooks/exhaustive-deps
209
+ [fn, paramsKey]);
210
+ const emptyForQuery = (0, import_react.useMemo)(() => (0, import_createUseQuery.emptyResponseFor)(queryRequest), [queryRequest]);
211
+ const lastRef = (0, import_react.useRef)(emptyForQuery);
210
212
  const view = (0, import_react.useMemo)(() => {
211
213
  const zero = getZero();
212
214
  if (!zero) return null;
213
- const queryRequest = (0, import_resolveQuery.resolveQuery)({
214
- customQueries,
215
- fn,
216
- params
217
- });
218
215
  return directViewStore.getView(zero, queryRequest, enabled, ttl);
219
- }, [fn, paramsKey, enabled, ttl, version]);
220
- const out = (0, import_react.useSyncExternalStore)(view ? view.subscribe : DISABLED_SUBSCRIBE, view ? view.getSnapshot : getDisabledSnapshot, view ? view.getSnapshot : getDisabledSnapshot);
216
+ }, [queryRequest, enabled, ttl, version]);
217
+ const getEmpty = () => emptyForQuery;
218
+ const out = (0, import_react.useSyncExternalStore)(view ? view.subscribe : DISABLED_SUBSCRIBE, view ? view.getSnapshot : getEmpty, view ? view.getSnapshot : getEmpty);
221
219
  if (!disableMode) {
222
220
  lastRef.current = out;
223
221
  return out;
@@ -225,7 +223,7 @@ function createUseQueryDirect({
225
223
  if (disableMode === "last-value") {
226
224
  return lastRef.current;
227
225
  }
228
- return EMPTY_RESPONSE;
226
+ return emptyForQuery;
229
227
  }
230
228
  return useQueryDirect;
231
229
  }
@@ -64,18 +64,9 @@ function _define_property(obj, key, value) {
64
64
  }
65
65
  return obj;
66
66
  }
67
- var EMPTY_RESPONSE = [null, {
68
- type: "unknown"
69
- }];
70
67
  var DISABLED_SUBSCRIBE = function () {
71
68
  return function () {};
72
69
  };
73
- var DISABLED_SNAPSHOT = [void 0, {
74
- type: "unknown"
75
- }];
76
- var getDisabledSnapshot = function () {
77
- return DISABLED_SNAPSHOT;
78
- };
79
70
  var emptyArray = [];
80
71
  var resultTypeUnknown = {
81
72
  type: "unknown"
@@ -284,8 +275,8 @@ function createUseQueryDirect(param) {
284
275
  zeroVersion
285
276
  } = param;
286
277
  if (typeof window === "undefined") {
287
- return function () {
288
- return EMPTY_RESPONSE;
278
+ return function (_fn) {
279
+ return (0, import_createUseQuery.emptyResponseFor)(void 0);
289
280
  };
290
281
  }
291
282
  var directViewStore = new DirectViewStore();
@@ -294,7 +285,6 @@ function createUseQueryDirect(param) {
294
285
  args[_key] = arguments[_key];
295
286
  }
296
287
  var disableMode = (0, import_react.useContext)(DisabledContext);
297
- var lastRef = (0, import_react.useRef)(EMPTY_RESPONSE);
298
288
  var [fn, paramsOrOptions, optionsArg] = args;
299
289
  var version = (0, import_helpers.useEmitterValue)(zeroVersion);
300
290
  var {
@@ -311,20 +301,32 @@ function createUseQueryDirect(param) {
311
301
  ttl = (_options_ttl = options.ttl) !== null && _options_ttl !== void 0 ? _options_ttl : import_bindings.DEFAULT_TTL_MS;
312
302
  }
313
303
  var paramsKey = params === void 0 ? "" : JSON.stringify(params);
314
- var view = (0, import_react.useMemo)(function () {
315
- var zero = getZero();
316
- if (!zero) return null;
317
- var queryRequest = (0, import_resolveQuery.resolveQuery)({
304
+ var queryRequest = (0, import_react.useMemo)(function () {
305
+ return (0, import_resolveQuery.resolveQuery)({
318
306
  customQueries,
319
307
  fn,
320
308
  params
321
309
  });
310
+ },
311
+ // params is keyed by paramsKey
312
+ // eslint-disable-next-line react-hooks/exhaustive-deps
313
+ [fn, paramsKey]);
314
+ var emptyForQuery = (0, import_react.useMemo)(function () {
315
+ return (0, import_createUseQuery.emptyResponseFor)(queryRequest);
316
+ }, [queryRequest]);
317
+ var lastRef = (0, import_react.useRef)(emptyForQuery);
318
+ var view = (0, import_react.useMemo)(function () {
319
+ var zero = getZero();
320
+ if (!zero) return null;
322
321
  return directViewStore.getView(zero, queryRequest, enabled, ttl);
323
322
  },
324
- // params is keyed by paramsKey; version re-materializes on a new zero
323
+ // version re-materializes on a new zero
325
324
  // eslint-disable-next-line react-hooks/exhaustive-deps
326
- [fn, paramsKey, enabled, ttl, version]);
327
- var out = (0, import_react.useSyncExternalStore)(view ? view.subscribe : DISABLED_SUBSCRIBE, view ? view.getSnapshot : getDisabledSnapshot, view ? view.getSnapshot : getDisabledSnapshot);
325
+ [queryRequest, enabled, ttl, version]);
326
+ var getEmpty = function () {
327
+ return emptyForQuery;
328
+ };
329
+ var out = (0, import_react.useSyncExternalStore)(view ? view.subscribe : DISABLED_SUBSCRIBE, view ? view.getSnapshot : getEmpty, view ? view.getSnapshot : getEmpty);
328
330
  if (!disableMode) {
329
331
  lastRef.current = out;
330
332
  return out;
@@ -332,7 +334,7 @@ function createUseQueryDirect(param) {
332
334
  if (disableMode === "last-value") {
333
335
  return lastRef.current;
334
336
  }
335
- return EMPTY_RESPONSE;
337
+ return emptyForQuery;
336
338
  }
337
339
  return useQueryDirect;
338
340
  }
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createUseQueryDirect_exports","__export","createUseQueryDirect","module","exports","import_bindings","require","import_helpers","import_react","import_createUseQuery","import_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","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","deepClone","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":["__toCommonJS","mod","__copyProps","__defProp","value","createUseQueryDirect_exports","__export","createUseQueryDirect","module","exports","import_bindings","require","import_helpers","import_react","import_createUseQuery","import_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","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","deepClone","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":[]}
@@ -0,0 +1,70 @@
1
+ var import_zero = require("@rocicorp/zero");
2
+ var import_react = require("react");
3
+ var import_client = require("react-dom/client");
4
+ var import_vitest = require("vitest");
5
+ var import_createZeroClient = require("./createZeroClient.cjs");
6
+ var import_zql = require("./zql.cjs");
7
+ var import_jsx_runtime = require("react/jsx-runtime");
8
+ globalThis.IS_REACT_ACT_ENVIRONMENT = true;
9
+ const todoTable = (0, import_zero.table)("todo").columns({
10
+ id: (0, import_zero.string)(),
11
+ title: (0, import_zero.string)(),
12
+ createdAt: (0, import_zero.number)()
13
+ }).primaryKey("id");
14
+ const schema = (0, import_zero.createSchema)({
15
+ tables: [todoTable]
16
+ });
17
+ const allTodos = _args => import_zql.zql.todo.orderBy("createdAt", "desc");
18
+ const oneTodo = args => import_zql.zql.todo.where("id", args.id).one();
19
+ const client = (0, import_createZeroClient.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
+ (0, import_vitest.beforeEach)(() => {
33
+ container = document.createElement("div");
34
+ root = (0, import_client.createRoot)(container);
35
+ });
36
+ (0, import_vitest.afterEach)(() => {
37
+ (0, import_react.act)(() => root.unmount());
38
+ });
39
+ function renderWithDisabled(useHook) {
40
+ let captured;
41
+ const Probe = () => {
42
+ captured = useHook();
43
+ return null;
44
+ };
45
+ (0, import_react.act)(() => {
46
+ root.render(/* @__PURE__ */(0, import_jsx_runtime.jsx)(client.ProvideZero, {
47
+ authData: {},
48
+ userID: "anon",
49
+ disable: true,
50
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(Probe, {})
51
+ }));
52
+ });
53
+ if (captured === void 0) throw new Error("Probe did not render");
54
+ return captured;
55
+ }
56
+ (0, import_vitest.test)("useQuery returns [] (not null) for plural queries under DisabledContext", () => {
57
+ const [data, info] = renderWithDisabled(() => client.useQuery(allTodos));
58
+ (0, import_vitest.expect)(Array.isArray(data)).toBe(true);
59
+ (0, import_vitest.expect)(data.length).toBe(0);
60
+ (0, import_vitest.expect)(data.filter(() => true)).toEqual([]);
61
+ (0, import_vitest.expect)(data.find(() => true)).toBeUndefined();
62
+ (0, import_vitest.expect)(info?.type).toBe("unknown");
63
+ });
64
+ (0, import_vitest.test)("useQuery returns undefined (not null) for singular queries under DisabledContext", () => {
65
+ const [data, info] = renderWithDisabled(() => client.useQuery(oneTodo, {
66
+ id: "x"
67
+ }));
68
+ (0, import_vitest.expect)(data).toBeUndefined();
69
+ (0, import_vitest.expect)(info?.type).toBe("unknown");
70
+ });
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+
3
+ var import_jsx_runtime = require("react/jsx-runtime");
4
+ var import_zero = require("@rocicorp/zero");
5
+ var import_react = require("react");
6
+ var import_client = require("react-dom/client");
7
+ var import_vitest = require("vitest");
8
+ var import_createZeroClient = require("./createZeroClient.native.js");
9
+ var import_zql = require("./zql.native.js");
10
+ globalThis.IS_REACT_ACT_ENVIRONMENT = true;
11
+ var todoTable = (0, import_zero.table)("todo").columns({
12
+ id: (0, import_zero.string)(),
13
+ title: (0, import_zero.string)(),
14
+ createdAt: (0, import_zero.number)()
15
+ }).primaryKey("id");
16
+ var schema = (0, import_zero.createSchema)({
17
+ tables: [todoTable]
18
+ });
19
+ var allTodos = function (_args) {
20
+ return import_zql.zql.todo.orderBy("createdAt", "desc");
21
+ };
22
+ var oneTodo = function (args) {
23
+ return import_zql.zql.todo.where("id", args.id).one();
24
+ };
25
+ var client = (0, import_createZeroClient.createZeroClient)({
26
+ schema,
27
+ models: {},
28
+ groupedQueries: {
29
+ todo: {
30
+ allTodos,
31
+ oneTodo
32
+ }
33
+ },
34
+ instanceName: "empty-shape-test"
35
+ });
36
+ var container;
37
+ var root;
38
+ (0, import_vitest.beforeEach)(function () {
39
+ container = document.createElement("div");
40
+ root = (0, import_client.createRoot)(container);
41
+ });
42
+ (0, import_vitest.afterEach)(function () {
43
+ (0, import_react.act)(function () {
44
+ return root.unmount();
45
+ });
46
+ });
47
+ function renderWithDisabled(useHook) {
48
+ var captured;
49
+ var Probe = function () {
50
+ captured = useHook();
51
+ return null;
52
+ };
53
+ (0, import_react.act)(function () {
54
+ root.render(/* @__PURE__ */(0, import_jsx_runtime.jsx)(client.ProvideZero, {
55
+ authData: {},
56
+ userID: "anon",
57
+ disable: true,
58
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(Probe, {})
59
+ }));
60
+ });
61
+ if (captured === void 0) throw new Error("Probe did not render");
62
+ return captured;
63
+ }
64
+ (0, import_vitest.test)("useQuery returns [] (not null) for plural queries under DisabledContext", function () {
65
+ var [data, info] = renderWithDisabled(function () {
66
+ return client.useQuery(allTodos);
67
+ });
68
+ (0, import_vitest.expect)(Array.isArray(data)).toBe(true);
69
+ (0, import_vitest.expect)(data.length).toBe(0);
70
+ (0, import_vitest.expect)(data.filter(function () {
71
+ return true;
72
+ })).toEqual([]);
73
+ (0, import_vitest.expect)(data.find(function () {
74
+ return true;
75
+ })).toBeUndefined();
76
+ (0, import_vitest.expect)(info === null || info === void 0 ? void 0 : info.type).toBe("unknown");
77
+ });
78
+ (0, import_vitest.test)("useQuery returns undefined (not null) for singular queries under DisabledContext", function () {
79
+ var [data, info] = renderWithDisabled(function () {
80
+ return client.useQuery(oneTodo, {
81
+ id: "x"
82
+ });
83
+ });
84
+ (0, import_vitest.expect)(data).toBeUndefined();
85
+ (0, import_vitest.expect)(info === null || info === void 0 ? void 0 : info.type).toBe("unknown");
86
+ });
87
+ //# sourceMappingURL=useQuery.empty.test.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["import_jsx_runtime","require","import_zero","import_react","import_client","import_vitest","import_createZeroClient","import_zql","globalThis","IS_REACT_ACT_ENVIRONMENT","todoTable","table","columns","id","string","title","createdAt","number","primaryKey","schema","createSchema","tables","allTodos","_args","zql","todo","orderBy","oneTodo","args","where","one","client","createZeroClient","models","groupedQueries","instanceName","container","root","beforeEach","document","createElement","createRoot","afterEach","act","unmount","renderWithDisabled","useHook","captured","Probe","render","jsx","ProvideZero","authData","userID","disable","children"],"sources":["../../src/useQuery.empty.test.tsx"],"sourcesContent":[null],"mappings":"AAQA;;AACA,IAAAA,kBAAoB,GAAAC,OAAA;AACpB,IAAAC,WAAA,GAAAD,OAAsC;AACtC,IAAAE,YAAA,GAAAF,OAAoD;AAEpD,IAAAG,aAAA,GAAAH,OAAA,mBAAiC;AACjC,IAAAI,aAAoB,GAAAJ,OAAA;AA0DZ,IAAAK,uBAAA,GAAAL,OAAA;AApDR,IAAAM,UAAW,GAAAN,OAAA;AAEXO,UAAM,CAAAC,wBAAY,OAAM;AAGxB,IAAAC,SAAM,OAASR,WAAA,CAAAS,KAAA,QAAa,EAAEC,OAAA,CAAQ;EAItCC,EAAA,EAAM,IAAAX,WAAY,CAAAY,MACf;EACCC,KAAA,MAAAb,WAAA,CAAAY,MAAA;EACAE,SAAA,MAAAd,WAAA,CAAAe,MAAA;AACF,GAAAC,UAAA;AACF,IAAAC,MAAM,OAAWjB,WACd,CAAAkB,YAAsE;EAIzEC,MAAM,GACJX,SAAA;AACS,EACT;AAAgB,IACdY,QAAQ,YAAAA,CAAUC,KAAA,EAAQ;EAC5B,OAAAhB,UAAA,CAAAiB,GAAA,CAAAC,IAAA,CAAAC,OAAA;AAAA;AAEF,IAACC,OAAA,YAAAA,CAAAC,IAAA;EAED,OAAIrB,UAAA,CAAAiB,GAAA,CAAAC,IAAA,CAAAI,KAAA,OAAAD,IAAA,CAAAf,EAAA,EAAAiB,GAAA;AACJ;AAAI,IAEJC,MAAA,OAAAzB,uBAAiB,CAAA0B,gBAAA;EACfb,MAAA;EACAc,MAAA;EACDC,cAAA;IAEDT,IAAA;MACEH,QAAA;MACDK;IAED;EACE;EACAQ,YAAM,EAAQ;AACZ;AACA,IAAAC,SAAO;AAAA,IACTC,IAAA;AACA,IAAAhC,aAAA,CAAAiC,UAAI,EAAM;EAIRF,SAAK,GAAAG,QAAA,CAAAC,aAAA;EAAAH,IACH,OAAAjC,aAAA,CAAAqC,UAAA,EAAAL,SAAA;AAEA;AACF,EACF,EAAC/B,aAAA,CAAAqC,SAAA;EACD,IAAIvC,YAAA,CAAawC,GAAA,cAAiB;IAClC,OAAON,IAAA,CAAAO,OAAA;EACT;AAAA;AAKE,SAAOC,kBAAcA,CAAAC,OAAA;EACrB,IAAAC,QAAA;EACA,IAAAC,KAAA,YAAAA,CAAA;IAEAD,QAAA,GAAAD,OAAA;IACA;EACA;EACD,IAAA3C,YAAA,CAAAwC,GAAA;IAEDN,IAAA,CAAAY,MAAA,gBAAK,IAAAjD,kBAAA,CAAAkD,GAAA,EAAAnB,MAAA,CAAAoB,WAAA;MACHC,QAAO,EAAM;MAEbC,MAAA;MACAC,OAAA;MACDC,QAAA,qBAAAvD,kBAAA,CAAAkD,GAAA,EAAAF,KAAA","ignoreList":[]}
@@ -1,10 +1,23 @@
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.mjs";
4
5
  import { resolveQuery } from "./resolveQuery.mjs";
5
- const EMPTY_RESPONSE = [null, {
6
+ const EMPTY_PLURAL = Object.freeze([]);
7
+ const RESULT_UNKNOWN = Object.freeze({
6
8
  type: "unknown"
7
- }];
9
+ });
10
+ const EMPTY_RESPONSE_PLURAL = Object.freeze([EMPTY_PLURAL, RESULT_UNKNOWN]);
11
+ const EMPTY_RESPONSE_SINGULAR = Object.freeze([void 0, RESULT_UNKNOWN]);
12
+ function emptyResponseFor(queryRequest) {
13
+ try {
14
+ const query = addContextToQuery(queryRequest, {});
15
+ const internals = asQueryInternals(query);
16
+ return internals.format.singular ? EMPTY_RESPONSE_SINGULAR : EMPTY_RESPONSE_PLURAL;
17
+ } catch {
18
+ return EMPTY_RESPONSE_PLURAL;
19
+ }
20
+ }
8
21
  function parseUseQueryArgs(paramsOrOptions, optionsArg) {
9
22
  const hasParams = optionsArg !== void 0 || paramsOrOptions && typeof paramsOrOptions === "object" && !("enabled" in paramsOrOptions) && !("ttl" in paramsOrOptions);
10
23
  return {
@@ -17,11 +30,11 @@ function createUseQuery({
17
30
  customQueries
18
31
  }) {
19
32
  if (typeof window === "undefined") {
20
- return () => EMPTY_RESPONSE;
33
+ return () => EMPTY_RESPONSE_PLURAL;
21
34
  }
22
35
  function useQuery(...args) {
23
36
  const disableMode = useContext(DisabledContext);
24
- const lastRef = useRef(EMPTY_RESPONSE);
37
+ const lastRef = useRef(EMPTY_RESPONSE_PLURAL);
25
38
  const [fn, paramsOrOptions, optionsArg] = args;
26
39
  const {
27
40
  queryRequest,
@@ -54,11 +67,14 @@ function createUseQuery({
54
67
  return out;
55
68
  }
56
69
  if (disableMode === "last-value") {
70
+ if (lastRef.current === EMPTY_RESPONSE_PLURAL) {
71
+ return emptyResponseFor(queryRequest);
72
+ }
57
73
  return lastRef.current;
58
74
  }
59
- return EMPTY_RESPONSE;
75
+ return emptyResponseFor(queryRequest);
60
76
  }
61
77
  return useQuery;
62
78
  }
63
- export { createUseQuery, parseUseQueryArgs };
79
+ export { createUseQuery, emptyResponseFor, parseUseQueryArgs };
64
80
  //# sourceMappingURL=createUseQuery.mjs.map
@@ -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","out","process","env","NODE_ENV","DEBUG_ZERO_QUERIES","current"],"sources":["../../src/createUseQuery.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}