on-zero 0.4.38 → 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.
Files changed (47) hide show
  1. package/dist/cjs/createUseQuery.cjs +24 -5
  2. package/dist/cjs/createUseQuery.native.js +26 -5
  3. package/dist/cjs/createUseQuery.native.js.map +1 -1
  4. package/dist/cjs/createUseQueryDirect.cjs +17 -17
  5. package/dist/cjs/createUseQueryDirect.native.js +25 -19
  6. package/dist/cjs/createUseQueryDirect.native.js.map +1 -1
  7. package/dist/cjs/createZeroClient.cjs +34 -30
  8. package/dist/cjs/createZeroClient.native.js +5 -1
  9. package/dist/cjs/createZeroClient.native.js.map +1 -1
  10. package/dist/cjs/multiInstanceNested.test.cjs +1 -0
  11. package/dist/cjs/multiInstanceNested.test.native.js +1 -0
  12. package/dist/cjs/multiInstanceNested.test.native.js.map +1 -1
  13. package/dist/cjs/useQuery.empty.test.cjs +70 -0
  14. package/dist/cjs/useQuery.empty.test.native.js +87 -0
  15. package/dist/cjs/useQuery.empty.test.native.js.map +1 -0
  16. package/dist/esm/createUseQuery.mjs +24 -6
  17. package/dist/esm/createUseQuery.mjs.map +1 -1
  18. package/dist/esm/createUseQuery.native.js +26 -6
  19. package/dist/esm/createUseQuery.native.js.map +1 -1
  20. package/dist/esm/createUseQueryDirect.mjs +18 -18
  21. package/dist/esm/createUseQueryDirect.mjs.map +1 -1
  22. package/dist/esm/createUseQueryDirect.native.js +26 -20
  23. package/dist/esm/createUseQueryDirect.native.js.map +1 -1
  24. package/dist/esm/createZeroClient.mjs +34 -30
  25. package/dist/esm/createZeroClient.mjs.map +1 -1
  26. package/dist/esm/createZeroClient.native.js +5 -1
  27. package/dist/esm/createZeroClient.native.js.map +1 -1
  28. package/dist/esm/multiInstanceNested.test.mjs +1 -0
  29. package/dist/esm/multiInstanceNested.test.mjs.map +1 -1
  30. package/dist/esm/multiInstanceNested.test.native.js +1 -0
  31. package/dist/esm/multiInstanceNested.test.native.js.map +1 -1
  32. package/dist/esm/useQuery.empty.test.mjs +71 -0
  33. package/dist/esm/useQuery.empty.test.mjs.map +1 -0
  34. package/dist/esm/useQuery.empty.test.native.js +85 -0
  35. package/dist/esm/useQuery.empty.test.native.js.map +1 -0
  36. package/package.json +2 -2
  37. package/src/createUseQuery.tsx +49 -10
  38. package/src/createUseQueryDirect.tsx +30 -15
  39. package/src/createZeroClient.tsx +14 -4
  40. package/src/multiInstanceNested.test.tsx +3 -0
  41. package/src/useQuery.empty.test.tsx +98 -0
  42. package/types/createUseQuery.d.ts +3 -0
  43. package/types/createUseQuery.d.ts.map +1 -1
  44. package/types/createUseQueryDirect.d.ts.map +1 -1
  45. package/types/createZeroClient.d.ts.map +1 -1
  46. package/types/useQuery.empty.test.d.ts +5 -0
  47. package/types/useQuery.empty.test.d.ts.map +1 -0
@@ -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 {
@@ -16,10 +29,12 @@ function createUseQuery({
16
29
  DisabledContext,
17
30
  customQueries
18
31
  }) {
32
+ if (typeof window === "undefined") {
33
+ return () => EMPTY_RESPONSE_PLURAL;
34
+ }
19
35
  function useQuery(...args) {
20
- if (typeof window === "undefined") return EMPTY_RESPONSE;
21
36
  const disableMode = useContext(DisabledContext);
22
- const lastRef = useRef(EMPTY_RESPONSE);
37
+ const lastRef = useRef(EMPTY_RESPONSE_PLURAL);
23
38
  const [fn, paramsOrOptions, optionsArg] = args;
24
39
  const {
25
40
  queryRequest,
@@ -52,11 +67,14 @@ function createUseQuery({
52
67
  return out;
53
68
  }
54
69
  if (disableMode === "last-value") {
70
+ if (lastRef.current === EMPTY_RESPONSE_PLURAL) {
71
+ return emptyResponseFor(queryRequest);
72
+ }
55
73
  return lastRef.current;
56
74
  }
57
- return EMPTY_RESPONSE;
75
+ return emptyResponseFor(queryRequest);
58
76
  }
59
77
  return useQuery;
60
78
  }
61
- export { createUseQuery, parseUseQueryArgs };
79
+ export { createUseQuery, emptyResponseFor, parseUseQueryArgs };
62
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","args","window","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;EACvB,SAASjB,SAAA,GAAYkB,IAAA,EAAkB;IAMrC,IAAI,OAAOC,MAAA,KAAW,aAAa,OAAOZ,cAAA;IAC1C,MAAMa,WAAA,GAAclB,UAAA,CAAWc,eAAe;IAC9C,MAAMK,OAAA,GAAUjB,MAAA,CAAYG,cAAc;IAC1C,MAAM,CAACe,EAAA,EAAIZ,eAAA,EAAiBC,UAAU,IAAIO,IAAA;IAE1C,MAAM;MAAEK,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":[]}
@@ -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 {
@@ -22,13 +35,17 @@ function createUseQuery(param) {
22
35
  DisabledContext,
23
36
  customQueries
24
37
  } = param;
38
+ if (typeof window === "undefined") {
39
+ return function () {
40
+ return EMPTY_RESPONSE_PLURAL;
41
+ };
42
+ }
25
43
  function useQuery() {
26
44
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
27
45
  args[_key] = arguments[_key];
28
46
  }
29
- if (typeof window === "undefined") return EMPTY_RESPONSE;
30
47
  var disableMode = useContext(DisabledContext);
31
- var lastRef = useRef(EMPTY_RESPONSE);
48
+ var lastRef = useRef(EMPTY_RESPONSE_PLURAL);
32
49
  var [fn, paramsOrOptions, optionsArg] = args;
33
50
  var {
34
51
  queryRequest,
@@ -61,11 +78,14 @@ function createUseQuery(param) {
61
78
  return out;
62
79
  }
63
80
  if (disableMode === "last-value") {
81
+ if (lastRef.current === EMPTY_RESPONSE_PLURAL) {
82
+ return emptyResponseFor(queryRequest);
83
+ }
64
84
  return lastRef.current;
65
85
  }
66
- return EMPTY_RESPONSE;
86
+ return emptyResponseFor(queryRequest);
67
87
  }
68
88
  return useQuery;
69
89
  }
70
- export { createUseQuery, parseUseQueryArgs };
90
+ export { createUseQuery, emptyResponseFor, parseUseQueryArgs };
71
91
  //# 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","_len","arguments","length","args","Array","_key","window","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;EACvB;IAMEG,MAAI,EAAAD,SAAO,GAAAF,eAAwB,QAAO;IAC1CI,OAAM,EAAAF,SAAA,GAAcD,UAAW,GAAAD;EAC/B;AACA;AAEA,SAAAK,cAAQA,CAAAC,KAAc;EACpB;IAAAC,eAAgB;IAAAC;EAAc,CAAI,GAAAF,KAAA;EAClC,SAAApB,QAAMA,CAAA;IAEN,SAAOuB,IAAE,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,GAAc,IAAAC,KAAS,CAAAJ,IAAK,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MACvCF,IAAI,CAAAE,IAAI,IAAAJ,SAAA,CAAiBI,IAAA;IAQzB;IAKA,WAAMC,MAAM,gBAAa,SAAclB,cAAgB;IAEvD,IAAImB,WAAQ,GAAI5B,UAAA,CAAamB,eAAe;IAC1C,IAAAU,OAAI,GAAQ3B,MAAI,CAAAO,cAAA;IAEd,KAAAqB,EAAA,EAAAlB,eAAa,EAAAC,UAAc,IAASW,IAAG;IAC3C;MAAAO,YAAA;MAAAf;IAAA,IAAAf,OAAA;MAEA,IAAK;QAAAc,MAAA;QAAAC,OAAa,EAAAgB;MAAA,IAAArB,iBAAA,CAAAC,eAAA,EAAAC,UAAA;MAChB,IAAAoB,aAAQ,GAAU7B,YAAA;QAClBgB,aAAO;QACTU,EAAA;QAEIf;MACF;MACF;QAEAgB,YAAO,EAAAE,aAAA;QACTjB,OAAA,EAAAgB;MAEA;IACF,I","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"],"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;EAEA;EACE,SAAIlB,QAAQA,CAAA,EAAI;IAEd,SAAAsC,IAAA,GAAAC,SAAa,CAAAC,MAAc,EAAAC,IAAA,GAAS,IAAGC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAC3CF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAEA;IACE,IAAAC,WAAQ,GAAAxC,UAAU,CAAA+B,eAAA;IAClB,IAAAU,OAAO,GAAAvC,MAAA,CAAAY,qBAAA;IACT,KAAA4B,EAAA,EAAAlB,eAAA,EAAAC,UAAA,IAAAY,IAAA;IAEA,IAAI;MAAApB,YAAA;MAAgBW;IAAA,IAAA3B,OAAc;MAIhC,IAAI;QAAA0B,MAAQ;QAAAC,OAAA,EAAAe;MAAY,IAAApB,iBAAuB,CAAAC,eAAA,EAAAC,UAAA;MAC7C,IAAAmB,aAAO,GAAAxC,YAAiB;QAC1B4B,aAAA;QACAU,EAAA;QACFf;MAEA;MACF;QAEAV,YAAO,EAAA2B,aAAA;QACThB,OAAA,EAAAe","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"
@@ -158,11 +151,12 @@ function createUseQueryDirect({
158
151
  getZero,
159
152
  zeroVersion
160
153
  }) {
154
+ if (typeof window === "undefined") {
155
+ return _fn => emptyResponseFor(void 0);
156
+ }
161
157
  const directViewStore = new DirectViewStore();
162
158
  function useQueryDirect(...args) {
163
- if (typeof window === "undefined") return EMPTY_RESPONSE;
164
159
  const disableMode = useContext(DisabledContext);
165
- const lastRef = useRef(EMPTY_RESPONSE);
166
160
  const [fn, paramsOrOptions, optionsArg] = args;
167
161
  const version = useEmitterValue(zeroVersion);
168
162
  const {
@@ -178,17 +172,23 @@ function createUseQueryDirect({
178
172
  ttl = options.ttl ?? DEFAULT_TTL_MS;
179
173
  }
180
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);
181
185
  const view = useMemo(() => {
182
186
  const zero = getZero();
183
187
  if (!zero) return null;
184
- const queryRequest = resolveQuery({
185
- customQueries,
186
- fn,
187
- params
188
- });
189
188
  return directViewStore.getView(zero, queryRequest, enabled, ttl);
190
- }, [fn, paramsKey, enabled, ttl, version]);
191
- 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);
192
192
  if (!disableMode) {
193
193
  lastRef.current = out;
194
194
  return out;
@@ -196,7 +196,7 @@ function createUseQueryDirect({
196
196
  if (disableMode === "last-value") {
197
197
  return lastRef.current;
198
198
  }
199
- return EMPTY_RESPONSE;
199
+ return emptyForQuery;
200
200
  }
201
201
  return useQueryDirect;
202
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","directViewStore","useQueryDirect","args","window","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"
@@ -254,14 +245,17 @@ function createUseQueryDirect(param) {
254
245
  getZero,
255
246
  zeroVersion
256
247
  } = param;
248
+ if (typeof window === "undefined") {
249
+ return function (_fn) {
250
+ return emptyResponseFor(void 0);
251
+ };
252
+ }
257
253
  var directViewStore = new DirectViewStore();
258
254
  function useQueryDirect() {
259
255
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
260
256
  args[_key] = arguments[_key];
261
257
  }
262
- if (typeof window === "undefined") return EMPTY_RESPONSE;
263
258
  var disableMode = useContext(DisabledContext);
264
- var lastRef = useRef(EMPTY_RESPONSE);
265
259
  var [fn, paramsOrOptions, optionsArg] = args;
266
260
  var version = useEmitterValue(zeroVersion);
267
261
  var {
@@ -278,20 +272,32 @@ function createUseQueryDirect(param) {
278
272
  ttl = (_options_ttl = options.ttl) !== null && _options_ttl !== void 0 ? _options_ttl : DEFAULT_TTL_MS;
279
273
  }
280
274
  var paramsKey = params === void 0 ? "" : JSON.stringify(params);
281
- var view = useMemo(function () {
282
- var zero = getZero();
283
- if (!zero) return null;
284
- var queryRequest = resolveQuery({
275
+ var queryRequest = useMemo(function () {
276
+ return resolveQuery({
285
277
  customQueries,
286
278
  fn,
287
279
  params
288
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;
289
292
  return directViewStore.getView(zero, queryRequest, enabled, ttl);
290
293
  },
291
- // params is keyed by paramsKey; version re-materializes on a new zero
294
+ // version re-materializes on a new zero
292
295
  // eslint-disable-next-line react-hooks/exhaustive-deps
293
- [fn, paramsKey, enabled, ttl, version]);
294
- 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);
295
301
  if (!disableMode) {
296
302
  lastRef.current = out;
297
303
  return out;
@@ -299,7 +305,7 @@ function createUseQueryDirect(param) {
299
305
  if (disableMode === "last-value") {
300
306
  return lastRef.current;
301
307
  }
302
- return EMPTY_RESPONSE;
308
+ return emptyForQuery;
303
309
  }
304
310
  return useQueryDirect;
305
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":[]}