on-zero 0.4.24 → 0.4.26

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.
@@ -87,27 +87,44 @@ const DISABLED_SNAPSHOT = [void 0, {
87
87
  type: "unknown"
88
88
  }];
89
89
  const getDisabledSnapshot = () => DISABLED_SNAPSHOT;
90
- function createDirectView(zero, queryRequest, ttl) {
90
+ function createDirectView(getZero, queryRequest, ttl) {
91
91
  let snapshot = DISABLED_SNAPSHOT;
92
92
  const listeners = /* @__PURE__ */new Set();
93
- const view = zero.materialize(queryRequest, ttl === void 0 ? void 0 : {
94
- ttl
95
- });
96
- view.addListener((data, resultType) => {
97
- snapshot = [data === void 0 ? void 0 : structuredClone(data), {
98
- type: resultType
99
- }];
100
- for (const listener of listeners) {
101
- listener();
102
- }
103
- });
93
+ let view = null;
94
+ const materialize = () => {
95
+ const zero = getZero();
96
+ if (!zero) return;
97
+ const next = zero.materialize(queryRequest, ttl === void 0 ? void 0 : {
98
+ ttl
99
+ });
100
+ view = next;
101
+ next.addListener((data, resultType) => {
102
+ snapshot = [data === void 0 ? void 0 : structuredClone(data), {
103
+ type: resultType
104
+ }];
105
+ for (const listener of listeners) {
106
+ listener();
107
+ }
108
+ });
109
+ };
110
+ materialize();
104
111
  return {
105
112
  subscribe: notify => {
106
113
  listeners.add(notify);
114
+ if (view === null) {
115
+ materialize();
116
+ }
107
117
  return () => listeners.delete(notify);
108
118
  },
109
119
  getSnapshot: () => snapshot,
110
- destroy: () => view.destroy()
120
+ destroy: () => {
121
+ const current = view;
122
+ view = null;
123
+ if (!current) return;
124
+ try {
125
+ current.destroy();
126
+ } catch {}
127
+ }
111
128
  };
112
129
  }
113
130
  function createUseQueryDirect({
@@ -135,14 +152,13 @@ function createUseQueryDirect({
135
152
  }
136
153
  const paramsKey = params === void 0 ? "" : JSON.stringify(params);
137
154
  const view = (0, import_react2.useMemo)(() => {
138
- const zero = getZero();
139
- if (!enabled || !zero) return null;
155
+ if (!enabled || !getZero()) return null;
140
156
  const queryRequest = (0, import_resolveQuery.resolveQuery)({
141
157
  customQueries,
142
158
  fn,
143
159
  params
144
160
  });
145
- return createDirectView(zero, queryRequest, ttl);
161
+ return createDirectView(getZero, queryRequest, ttl);
146
162
  }, [fn, paramsKey, enabled, ttl, version]);
147
163
  (0, import_react2.useEffect)(() => {
148
164
  if (!view) return;
@@ -102,42 +102,52 @@ var DISABLED_SNAPSHOT = [void 0, {
102
102
  var getDisabledSnapshot = function () {
103
103
  return DISABLED_SNAPSHOT;
104
104
  };
105
- function createDirectView(zero, queryRequest, ttl) {
105
+ function createDirectView(getZero, queryRequest, ttl) {
106
106
  var snapshot = DISABLED_SNAPSHOT;
107
107
  var listeners = /* @__PURE__ */new Set();
108
- var view = zero.materialize(queryRequest, ttl === void 0 ? void 0 : {
109
- ttl
110
- });
111
- view.addListener(function (data, resultType) {
112
- snapshot = [data === void 0 ? void 0 : structuredClone(data), {
113
- type: resultType
114
- }];
115
- var _iteratorNormalCompletion = true,
116
- _didIteratorError = false,
117
- _iteratorError = void 0;
118
- try {
119
- for (var _iterator = listeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
120
- var listener = _step.value;
121
- listener();
122
- }
123
- } catch (err) {
124
- _didIteratorError = true;
125
- _iteratorError = err;
126
- } finally {
108
+ var view = null;
109
+ var materialize = function () {
110
+ var zero = getZero();
111
+ if (!zero) return;
112
+ var next = zero.materialize(queryRequest, ttl === void 0 ? void 0 : {
113
+ ttl
114
+ });
115
+ view = next;
116
+ next.addListener(function (data, resultType) {
117
+ snapshot = [data === void 0 ? void 0 : structuredClone(data), {
118
+ type: resultType
119
+ }];
120
+ var _iteratorNormalCompletion = true,
121
+ _didIteratorError = false,
122
+ _iteratorError = void 0;
127
123
  try {
128
- if (!_iteratorNormalCompletion && _iterator.return != null) {
129
- _iterator.return();
124
+ for (var _iterator = listeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
125
+ var listener = _step.value;
126
+ listener();
130
127
  }
128
+ } catch (err) {
129
+ _didIteratorError = true;
130
+ _iteratorError = err;
131
131
  } finally {
132
- if (_didIteratorError) {
133
- throw _iteratorError;
132
+ try {
133
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
134
+ _iterator.return();
135
+ }
136
+ } finally {
137
+ if (_didIteratorError) {
138
+ throw _iteratorError;
139
+ }
134
140
  }
135
141
  }
136
- }
137
- });
142
+ });
143
+ };
144
+ materialize();
138
145
  return {
139
146
  subscribe: function (notify) {
140
147
  listeners.add(notify);
148
+ if (view === null) {
149
+ materialize();
150
+ }
141
151
  return function () {
142
152
  return listeners.delete(notify);
143
153
  };
@@ -146,7 +156,12 @@ function createDirectView(zero, queryRequest, ttl) {
146
156
  return snapshot;
147
157
  },
148
158
  destroy: function () {
149
- return view.destroy();
159
+ var current = view;
160
+ view = null;
161
+ if (!current) return;
162
+ try {
163
+ current.destroy();
164
+ } catch (e) {}
150
165
  }
151
166
  };
152
167
  }
@@ -179,14 +194,13 @@ function createUseQueryDirect(param) {
179
194
  }
180
195
  var paramsKey = params === void 0 ? "" : JSON.stringify(params);
181
196
  var view = (0, import_react2.useMemo)(function () {
182
- var zero = getZero();
183
- if (!enabled || !zero) return null;
197
+ if (!enabled || !getZero()) return null;
184
198
  var queryRequest = (0, import_resolveQuery.resolveQuery)({
185
199
  customQueries,
186
200
  fn,
187
201
  params
188
202
  });
189
- return createDirectView(zero, queryRequest, ttl);
203
+ return createDirectView(getZero, queryRequest, ttl);
190
204
  },
191
205
  // params is keyed by paramsKey; version re-materializes on a new zero
192
206
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createUseQuery_exports","__export","createUseQuery","createUseQueryDirect","module","exports","import_react","require","import_helpers","import_react2","import_useZeroDebug","import_resolveQuery","_type_of","obj","Symbol","constructor","EMPTY_RESPONSE","type","parseUseQueryArgs","paramsOrOptions","optionsArg","hasParams","params","options","param","DisabledContext","customQueries","useQuery","_len","arguments","length","args","Array","_key","disableMode","useContext","lastRef","useRef","fn","queryRequest","useMemo","opts","queryRequest2","resolveQuery","out","process","env","NODE_ENV","DEBUG_ZERO_QUERIES","useZeroDebug","current","DISABLED_SUBSCRIBE","DISABLED_SNAPSHOT","getDisabledSnapshot","createDirectView","zero","ttl","snapshot","listeners","Set","view","materialize","addListener","data","resultType","structuredClone","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","listener","err","return","subscribe","notify","add","delete"],"sources":["../../src/createUseQuery.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createUseQuery_exports","__export","createUseQuery","createUseQueryDirect","module","exports","import_react","require","import_helpers","import_react2","import_useZeroDebug","import_resolveQuery","_type_of","obj","Symbol","constructor","EMPTY_RESPONSE","type","parseUseQueryArgs","paramsOrOptions","optionsArg","hasParams","params","options","param","DisabledContext","customQueries","useQuery","_len","arguments","length","args","Array","_key","disableMode","useContext","lastRef","useRef","fn","queryRequest","useMemo","opts","queryRequest2","resolveQuery","out","process","env","NODE_ENV","DEBUG_ZERO_QUERIES","useZeroDebug","current","DISABLED_SUBSCRIBE","DISABLED_SNAPSHOT","getDisabledSnapshot","createDirectView","getZero","ttl","snapshot","listeners","Set","view","materialize","zero","next","addListener","data","resultType","structuredClone","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","done","listener","err","return","subscribe","notify","add","delete","getSnapshot","destroy"],"sources":["../../src/createUseQuery.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -175,6 +175,32 @@ const seedProject = async row => {
175
175
  });
176
176
  await waitFor(() => probe.data?.name === "v3", "v3 visible after inner remount");
177
177
  });
178
+ (0, import_vitest.test)("StrictMode: direct views survive the effect double-invoke", async () => {
179
+ await render(/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.StrictMode, {
180
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(control.ProvideZero, {
181
+ server: null,
182
+ userID: "t4-ctl",
183
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(project.ProvideZero, {
184
+ server: null,
185
+ userID: "t4-prj",
186
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(ControlUserProbe, {
187
+ id: "u4"
188
+ })
189
+ })
190
+ })
191
+ }));
192
+ await waitFor(() => probe.renders > 0, "probe mount");
193
+ await seedControl({
194
+ id: "u4",
195
+ name: "strict-v1"
196
+ });
197
+ await waitFor(() => probe.data?.name === "strict-v1", "update visible under StrictMode");
198
+ await seedControl({
199
+ id: "u4",
200
+ name: "strict-v2"
201
+ });
202
+ await waitFor(() => probe.data?.name === "strict-v2", "second update still live");
203
+ });
178
204
  (0, import_vitest.test)("direct-path views re-materialize when the owning instance rotates", async () => {
179
205
  const App = ({
180
206
  userID
@@ -209,6 +209,40 @@ var seedProject = async function (row) {
209
209
  return ((_probe_data = probe.data) === null || _probe_data === void 0 ? void 0 : _probe_data.name) === "v3";
210
210
  }, "v3 visible after inner remount");
211
211
  });
212
+ (0, import_vitest.test)("StrictMode: direct views survive the effect double-invoke", async function () {
213
+ await render(/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.StrictMode, {
214
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(control.ProvideZero, {
215
+ server: null,
216
+ userID: "t4-ctl",
217
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(project.ProvideZero, {
218
+ server: null,
219
+ userID: "t4-prj",
220
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(ControlUserProbe, {
221
+ id: "u4"
222
+ })
223
+ })
224
+ })
225
+ }));
226
+ await waitFor(function () {
227
+ return probe.renders > 0;
228
+ }, "probe mount");
229
+ await seedControl({
230
+ id: "u4",
231
+ name: "strict-v1"
232
+ });
233
+ await waitFor(function () {
234
+ var _probe_data;
235
+ return ((_probe_data = probe.data) === null || _probe_data === void 0 ? void 0 : _probe_data.name) === "strict-v1";
236
+ }, "update visible under StrictMode");
237
+ await seedControl({
238
+ id: "u4",
239
+ name: "strict-v2"
240
+ });
241
+ await waitFor(function () {
242
+ var _probe_data;
243
+ return ((_probe_data = probe.data) === null || _probe_data === void 0 ? void 0 : _probe_data.name) === "strict-v2";
244
+ }, "second update still live");
245
+ });
212
246
  (0, import_vitest.test)("direct-path views re-materialize when the owning instance rotates", async function () {
213
247
  var App = function (param) {
214
248
  var {
@@ -1 +1 @@
1
- {"version":3,"names":["import_jsx_runtime","require","import_zero","import_react","import_client","import_vitest","import_combineZeroClients","import_createZeroClient","import_zql","globalThis","IS_REACT_ACT_ENVIRONMENT","userTable","table","columns","id","string","name","primaryKey","taskTable","title","schema","createSchema","tables","controlModels","user","mutate","seed","ctx","row","tx","upsert","ctlUserById","args","zql","where","one","control","createZeroClient","models","groupedQueries","ctlUser","byId","instanceName","projectModels","prjSeed","seedUser","prjTaskById","task","project","prjTask","combined","combineZeroClients","root","container","beforeEach","resetProbe","document","createElement","body","appendChild","createRoot","afterEach","act","unmount","remove","render","ui","waitFor","condition","what","i","Promise","resolve","setTimeout","Error","probe","data","renders","ControlUserProbe","param","useQuery","seedControl","zero","client","seedProject"],"sources":["../../src/multiInstanceNested.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["import_jsx_runtime","require","import_zero","import_react","import_client","import_vitest","import_combineZeroClients","import_createZeroClient","import_zql","globalThis","IS_REACT_ACT_ENVIRONMENT","userTable","table","columns","id","string","name","primaryKey","taskTable","title","schema","createSchema","tables","controlModels","user","mutate","seed","ctx","row","tx","upsert","ctlUserById","args","zql","where","one","control","createZeroClient","models","groupedQueries","ctlUser","byId","instanceName","projectModels","prjSeed","seedUser","prjTaskById","task","project","prjTask","combined","combineZeroClients","root","container","beforeEach","resetProbe","document","createElement","body","appendChild","createRoot","afterEach","act","unmount","remove","render","ui","waitFor","condition","what","i","Promise","resolve","setTimeout","Error","probe","data","renders","ControlUserProbe","param","useQuery","seedControl","zero","client","seedProject","test","_probe_data","jsx","ProvideZero","server","userID","children"],"sources":["../../src/multiInstanceNested.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -59,27 +59,44 @@ const DISABLED_SNAPSHOT = [void 0, {
59
59
  type: "unknown"
60
60
  }];
61
61
  const getDisabledSnapshot = () => DISABLED_SNAPSHOT;
62
- function createDirectView(zero, queryRequest, ttl) {
62
+ function createDirectView(getZero, queryRequest, ttl) {
63
63
  let snapshot = DISABLED_SNAPSHOT;
64
64
  const listeners = /* @__PURE__ */new Set();
65
- const view = zero.materialize(queryRequest, ttl === void 0 ? void 0 : {
66
- ttl
67
- });
68
- view.addListener((data, resultType) => {
69
- snapshot = [data === void 0 ? void 0 : structuredClone(data), {
70
- type: resultType
71
- }];
72
- for (const listener of listeners) {
73
- listener();
74
- }
75
- });
65
+ let view = null;
66
+ const materialize = () => {
67
+ const zero = getZero();
68
+ if (!zero) return;
69
+ const next = zero.materialize(queryRequest, ttl === void 0 ? void 0 : {
70
+ ttl
71
+ });
72
+ view = next;
73
+ next.addListener((data, resultType) => {
74
+ snapshot = [data === void 0 ? void 0 : structuredClone(data), {
75
+ type: resultType
76
+ }];
77
+ for (const listener of listeners) {
78
+ listener();
79
+ }
80
+ });
81
+ };
82
+ materialize();
76
83
  return {
77
84
  subscribe: notify => {
78
85
  listeners.add(notify);
86
+ if (view === null) {
87
+ materialize();
88
+ }
79
89
  return () => listeners.delete(notify);
80
90
  },
81
91
  getSnapshot: () => snapshot,
82
- destroy: () => view.destroy()
92
+ destroy: () => {
93
+ const current = view;
94
+ view = null;
95
+ if (!current) return;
96
+ try {
97
+ current.destroy();
98
+ } catch {}
99
+ }
83
100
  };
84
101
  }
85
102
  function createUseQueryDirect({
@@ -107,14 +124,13 @@ function createUseQueryDirect({
107
124
  }
108
125
  const paramsKey = params === void 0 ? "" : JSON.stringify(params);
109
126
  const view = useMemo(() => {
110
- const zero = getZero();
111
- if (!enabled || !zero) return null;
127
+ if (!enabled || !getZero()) return null;
112
128
  const queryRequest = resolveQuery({
113
129
  customQueries,
114
130
  fn,
115
131
  params
116
132
  });
117
- return createDirectView(zero, queryRequest, ttl);
133
+ return createDirectView(getZero, queryRequest, ttl);
118
134
  }, [fn, paramsKey, enabled, ttl, version]);
119
135
  useEffect(() => {
120
136
  if (!view) return;
@@ -1 +1 @@
1
- {"version":3,"names":["useQuery","zeroUseQuery","useEmitterValue","useContext","useEffect","useMemo","useRef","useSyncExternalStore","useZeroDebug","resolveQuery","EMPTY_RESPONSE","type","parseUseQueryArgs","paramsOrOptions","optionsArg","hasParams","params","options","createUseQuery","DisabledContext","customQueries","args","disableMode","lastRef","fn","queryRequest","opts","queryRequest2","out","process","env","NODE_ENV","DEBUG_ZERO_QUERIES","current","DISABLED_SUBSCRIBE","DISABLED_SNAPSHOT","getDisabledSnapshot","createDirectView","zero","ttl","snapshot","listeners","Set","view","materialize","addListener","data","resultType","structuredClone","listener","subscribe","notify","add","delete","getSnapshot","destroy","createUseQueryDirect","getZero","zeroVersion","useQueryDirect","version","enabled","paramsKey","JSON","stringify"],"sources":["../../src/createUseQuery.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useQuery","zeroUseQuery","useEmitterValue","useContext","useEffect","useMemo","useRef","useSyncExternalStore","useZeroDebug","resolveQuery","EMPTY_RESPONSE","type","parseUseQueryArgs","paramsOrOptions","optionsArg","hasParams","params","options","createUseQuery","DisabledContext","customQueries","args","disableMode","lastRef","fn","queryRequest","opts","queryRequest2","out","process","env","NODE_ENV","DEBUG_ZERO_QUERIES","current","DISABLED_SUBSCRIBE","DISABLED_SNAPSHOT","getDisabledSnapshot","createDirectView","getZero","ttl","snapshot","listeners","Set","view","materialize","zero","next","addListener","data","resultType","structuredClone","listener","subscribe","notify","add","delete","getSnapshot","destroy","createUseQueryDirect","zeroVersion","useQueryDirect","version","enabled","paramsKey","JSON","stringify"],"sources":["../../src/createUseQuery.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -72,42 +72,52 @@ var DISABLED_SNAPSHOT = [void 0, {
72
72
  var getDisabledSnapshot = function () {
73
73
  return DISABLED_SNAPSHOT;
74
74
  };
75
- function createDirectView(zero, queryRequest, ttl) {
75
+ function createDirectView(getZero, queryRequest, ttl) {
76
76
  var snapshot = DISABLED_SNAPSHOT;
77
77
  var listeners = /* @__PURE__ */new Set();
78
- var view = zero.materialize(queryRequest, ttl === void 0 ? void 0 : {
79
- ttl
80
- });
81
- view.addListener(function (data, resultType) {
82
- snapshot = [data === void 0 ? void 0 : structuredClone(data), {
83
- type: resultType
84
- }];
85
- var _iteratorNormalCompletion = true,
86
- _didIteratorError = false,
87
- _iteratorError = void 0;
88
- try {
89
- for (var _iterator = listeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
90
- var listener = _step.value;
91
- listener();
92
- }
93
- } catch (err) {
94
- _didIteratorError = true;
95
- _iteratorError = err;
96
- } finally {
78
+ var view = null;
79
+ var materialize = function () {
80
+ var zero = getZero();
81
+ if (!zero) return;
82
+ var next = zero.materialize(queryRequest, ttl === void 0 ? void 0 : {
83
+ ttl
84
+ });
85
+ view = next;
86
+ next.addListener(function (data, resultType) {
87
+ snapshot = [data === void 0 ? void 0 : structuredClone(data), {
88
+ type: resultType
89
+ }];
90
+ var _iteratorNormalCompletion = true,
91
+ _didIteratorError = false,
92
+ _iteratorError = void 0;
97
93
  try {
98
- if (!_iteratorNormalCompletion && _iterator.return != null) {
99
- _iterator.return();
94
+ for (var _iterator = listeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
95
+ var listener = _step.value;
96
+ listener();
100
97
  }
98
+ } catch (err) {
99
+ _didIteratorError = true;
100
+ _iteratorError = err;
101
101
  } finally {
102
- if (_didIteratorError) {
103
- throw _iteratorError;
102
+ try {
103
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
104
+ _iterator.return();
105
+ }
106
+ } finally {
107
+ if (_didIteratorError) {
108
+ throw _iteratorError;
109
+ }
104
110
  }
105
111
  }
106
- }
107
- });
112
+ });
113
+ };
114
+ materialize();
108
115
  return {
109
116
  subscribe: function (notify) {
110
117
  listeners.add(notify);
118
+ if (view === null) {
119
+ materialize();
120
+ }
111
121
  return function () {
112
122
  return listeners.delete(notify);
113
123
  };
@@ -116,7 +126,12 @@ function createDirectView(zero, queryRequest, ttl) {
116
126
  return snapshot;
117
127
  },
118
128
  destroy: function () {
119
- return view.destroy();
129
+ var current = view;
130
+ view = null;
131
+ if (!current) return;
132
+ try {
133
+ current.destroy();
134
+ } catch (e) {}
120
135
  }
121
136
  };
122
137
  }
@@ -149,14 +164,13 @@ function createUseQueryDirect(param) {
149
164
  }
150
165
  var paramsKey = params === void 0 ? "" : JSON.stringify(params);
151
166
  var view = useMemo(function () {
152
- var zero = getZero();
153
- if (!enabled || !zero) return null;
167
+ if (!enabled || !getZero()) return null;
154
168
  var queryRequest = resolveQuery({
155
169
  customQueries,
156
170
  fn,
157
171
  params
158
172
  });
159
- return createDirectView(zero, queryRequest, ttl);
173
+ return createDirectView(getZero, queryRequest, ttl);
160
174
  },
161
175
  // params is keyed by paramsKey; version re-materializes on a new zero
162
176
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -1 +1 @@
1
- {"version":3,"names":["useQuery","zeroUseQuery","useEmitterValue","useContext","useEffect","useMemo","useRef","useSyncExternalStore","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","disableMode","lastRef","fn","queryRequest","opts","queryRequest2","out","process","env","NODE_ENV","DEBUG_ZERO_QUERIES","current","DISABLED_SUBSCRIBE","DISABLED_SNAPSHOT","getDisabledSnapshot","createDirectView","zero","ttl","snapshot","listeners","Set","view","materialize","addListener","data","resultType","structuredClone","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","listener","value","err","return","subscribe","notify","add","delete","getSnapshot","destroy"],"sources":["../../src/createUseQuery.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useQuery","zeroUseQuery","useEmitterValue","useContext","useEffect","useMemo","useRef","useSyncExternalStore","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","disableMode","lastRef","fn","queryRequest","opts","queryRequest2","out","process","env","NODE_ENV","DEBUG_ZERO_QUERIES","current","DISABLED_SUBSCRIBE","DISABLED_SNAPSHOT","getDisabledSnapshot","createDirectView","getZero","ttl","snapshot","listeners","Set","view","materialize","zero","next","addListener","data","resultType","structuredClone","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","done","listener","value","err","return","subscribe","notify","add","delete","getSnapshot","destroy","e"],"sources":["../../src/createUseQuery.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import { createSchema, string, table } from "@rocicorp/zero";
2
- import { act } from "react";
2
+ import { act, StrictMode } from "react";
3
3
  import { createRoot } from "react-dom/client";
4
4
  import { afterEach, beforeEach, expect, test } from "vitest";
5
5
  import { combineZeroClients } from "./combineZeroClients.mjs";
@@ -175,6 +175,32 @@ test("inner provider unmount/remount does not break outer-instance subscriptions
175
175
  });
176
176
  await waitFor(() => probe.data?.name === "v3", "v3 visible after inner remount");
177
177
  });
178
+ test("StrictMode: direct views survive the effect double-invoke", async () => {
179
+ await render(/* @__PURE__ */jsx(StrictMode, {
180
+ children: /* @__PURE__ */jsx(control.ProvideZero, {
181
+ server: null,
182
+ userID: "t4-ctl",
183
+ children: /* @__PURE__ */jsx(project.ProvideZero, {
184
+ server: null,
185
+ userID: "t4-prj",
186
+ children: /* @__PURE__ */jsx(ControlUserProbe, {
187
+ id: "u4"
188
+ })
189
+ })
190
+ })
191
+ }));
192
+ await waitFor(() => probe.renders > 0, "probe mount");
193
+ await seedControl({
194
+ id: "u4",
195
+ name: "strict-v1"
196
+ });
197
+ await waitFor(() => probe.data?.name === "strict-v1", "update visible under StrictMode");
198
+ await seedControl({
199
+ id: "u4",
200
+ name: "strict-v2"
201
+ });
202
+ await waitFor(() => probe.data?.name === "strict-v2", "second update still live");
203
+ });
178
204
  test("direct-path views re-materialize when the owning instance rotates", async () => {
179
205
  const App = ({
180
206
  userID
@@ -1 +1 @@
1
- {"version":3,"names":["createSchema","string","table","act","createRoot","afterEach","beforeEach","expect","test","combineZeroClients","createZeroClient","zql","jsx","globalThis","IS_REACT_ACT_ENVIRONMENT","userTable","columns","id","name","primaryKey","taskTable","title","schema","tables","controlModels","user","mutate","seed","ctx","row","tx","upsert","ctlUserById","args","where","one","control","models","groupedQueries","ctlUser","byId","instanceName","projectModels","prjSeed","seedUser","prjTaskById","task","project","prjTask","combined","root","container","resetProbe","document","createElement","body","appendChild","unmount","remove","render","ui","waitFor","condition","what","i","Promise","resolve","setTimeout","Error","probe","data","renders","ControlUserProbe","useQuery","seedControl","zero","client","seedProject","ProvideZero","server","userID","children","toBe","App","showInner"],"sources":["../../src/multiInstanceNested.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createSchema","string","table","act","StrictMode","createRoot","afterEach","beforeEach","expect","test","combineZeroClients","createZeroClient","zql","jsx","globalThis","IS_REACT_ACT_ENVIRONMENT","userTable","columns","id","name","primaryKey","taskTable","title","schema","tables","controlModels","user","mutate","seed","ctx","row","tx","upsert","ctlUserById","args","where","one","control","models","groupedQueries","ctlUser","byId","instanceName","projectModels","prjSeed","seedUser","prjTaskById","task","project","prjTask","combined","root","container","resetProbe","document","createElement","body","appendChild","unmount","remove","render","ui","waitFor","condition","what","i","Promise","resolve","setTimeout","Error","probe","data","renders","ControlUserProbe","useQuery","seedControl","zero","client","seedProject","ProvideZero","server","userID","children","toBe","App","showInner"],"sources":["../../src/multiInstanceNested.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { createSchema, string, table } from "@rocicorp/zero";
3
- import { act } from "react";
3
+ import { act, StrictMode } from "react";
4
4
  import { createRoot } from "react-dom/client";
5
5
  import { afterEach, beforeEach, expect, test } from "vitest";
6
6
  import { combineZeroClients } from "./combineZeroClients.native.js";
@@ -207,6 +207,40 @@ test("inner provider unmount/remount does not break outer-instance subscriptions
207
207
  return ((_probe_data = probe.data) === null || _probe_data === void 0 ? void 0 : _probe_data.name) === "v3";
208
208
  }, "v3 visible after inner remount");
209
209
  });
210
+ test("StrictMode: direct views survive the effect double-invoke", async function () {
211
+ await render(/* @__PURE__ */_jsx(StrictMode, {
212
+ children: /* @__PURE__ */_jsx(control.ProvideZero, {
213
+ server: null,
214
+ userID: "t4-ctl",
215
+ children: /* @__PURE__ */_jsx(project.ProvideZero, {
216
+ server: null,
217
+ userID: "t4-prj",
218
+ children: /* @__PURE__ */_jsx(ControlUserProbe, {
219
+ id: "u4"
220
+ })
221
+ })
222
+ })
223
+ }));
224
+ await waitFor(function () {
225
+ return probe.renders > 0;
226
+ }, "probe mount");
227
+ await seedControl({
228
+ id: "u4",
229
+ name: "strict-v1"
230
+ });
231
+ await waitFor(function () {
232
+ var _probe_data;
233
+ return ((_probe_data = probe.data) === null || _probe_data === void 0 ? void 0 : _probe_data.name) === "strict-v1";
234
+ }, "update visible under StrictMode");
235
+ await seedControl({
236
+ id: "u4",
237
+ name: "strict-v2"
238
+ });
239
+ await waitFor(function () {
240
+ var _probe_data;
241
+ return ((_probe_data = probe.data) === null || _probe_data === void 0 ? void 0 : _probe_data.name) === "strict-v2";
242
+ }, "second update still live");
243
+ });
210
244
  test("direct-path views re-materialize when the owning instance rotates", async function () {
211
245
  var App = function (param) {
212
246
  var {
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","createSchema","string","table","act","createRoot","afterEach","beforeEach","expect","test","combineZeroClients","createZeroClient","zql","globalThis","IS_REACT_ACT_ENVIRONMENT","userTable","columns","id","name","primaryKey","taskTable","title","schema","tables","controlModels","user","mutate","seed","ctx","row","tx","upsert","ctlUserById","args","where","one","control","models","groupedQueries","ctlUser","byId","instanceName","projectModels","prjSeed","seedUser","prjTaskById","task","project","prjTask","combined","root","container","resetProbe","document","createElement","body","appendChild","unmount","remove","render","ui","waitFor","condition","what","i","Promise","resolve","setTimeout","Error","probe","data","renders","ControlUserProbe","param","useQuery","seedControl","zero","client","seedProject"],"sources":["../../src/multiInstanceNested.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","createSchema","string","table","act","StrictMode","createRoot","afterEach","beforeEach","expect","test","combineZeroClients","createZeroClient","zql","globalThis","IS_REACT_ACT_ENVIRONMENT","userTable","columns","id","name","primaryKey","taskTable","title","schema","tables","controlModels","user","mutate","seed","ctx","row","tx","upsert","ctlUserById","args","where","one","control","models","groupedQueries","ctlUser","byId","instanceName","projectModels","prjSeed","seedUser","prjTaskById","task","project","prjTask","combined","root","container","resetProbe","document","createElement","body","appendChild","unmount","remove","render","ui","waitFor","condition","what","i","Promise","resolve","setTimeout","Error","probe","data","renders","ControlUserProbe","param","useQuery","seedControl","zero","client","seedProject","_probe_data","ProvideZero","server","userID","children"],"sources":["../../src/multiInstanceNested.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "on-zero",
3
- "version": "0.4.24",
3
+ "version": "0.4.26",
4
4
  "description": "A typed layer over @rocicorp/zero with queries, mutations, and permissions",
5
5
  "sideEffects": false,
6
6
  "source": "src/index.ts",
@@ -77,7 +77,7 @@
77
77
  }
78
78
  },
79
79
  "dependencies": {
80
- "@take-out/helpers": "0.4.24",
80
+ "@take-out/helpers": "0.4.26",
81
81
  "chokidar": "^4.0.3",
82
82
  "citty": "^0.1.6",
83
83
  "valibot": "^1.1.0"
@@ -151,38 +151,68 @@ type MaterializableZero = {
151
151
  }
152
152
 
153
153
  function createDirectView(
154
- zero: MaterializableZero,
154
+ getZero: () => MaterializableZero | null,
155
155
  queryRequest: unknown,
156
156
  ttl: UseQueryOptions['ttl'],
157
157
  ): DirectView {
158
158
  let snapshot: readonly [unknown, { type: string }] = DISABLED_SNAPSHOT
159
159
  const listeners = new Set<() => void>()
160
+ let view: { destroy(): void } | null = null
161
+
162
+ const materialize = () => {
163
+ const zero = getZero()
164
+ if (!zero) return
165
+ // zero.materialize accepts a QueryRequest (it applies the instance context
166
+ // itself) — the same public api the upstream ViewWrapper uses
167
+ const next = zero.materialize(queryRequest, ttl === undefined ? undefined : { ttl })
168
+ view = next
169
+
170
+ // addListener fires immediately with current data, so the snapshot is
171
+ // populated before react's first getSnapshot. data must be cloned: the
172
+ // underlying view mutates it in place, and useSyncExternalStore requires
173
+ // immutable snapshots to detect changes.
174
+ next.addListener((data, resultType) => {
175
+ snapshot = [
176
+ data === undefined ? undefined : structuredClone(data),
177
+ { type: resultType },
178
+ ]
179
+ for (const listener of listeners) {
180
+ listener()
181
+ }
182
+ })
183
+ }
160
184
 
161
- // zero.materialize accepts a QueryRequest (it applies the instance context
162
- // itself) — the same public api the upstream ViewWrapper uses
163
- const view = zero.materialize(queryRequest, ttl === undefined ? undefined : { ttl })
164
-
165
- // addListener fires immediately with current data, so the snapshot is
166
- // populated before react's first getSnapshot. data must be cloned: the
167
- // underlying view mutates it in place, and useSyncExternalStore requires
168
- // immutable snapshots to detect changes.
169
- view.addListener((data, resultType) => {
170
- snapshot = [
171
- data === undefined ? undefined : structuredClone(data),
172
- { type: resultType },
173
- ]
174
- for (const listener of listeners) {
175
- listener()
176
- }
177
- })
185
+ // eager: snapshot is warm before react's first getSnapshot
186
+ materialize()
178
187
 
179
188
  return {
180
189
  subscribe: (notify) => {
181
190
  listeners.add(notify)
191
+ // react runs effect cleanup + re-setup with unchanged deps under
192
+ // StrictMode double-invoke and suspense hide/reveal — the cleanup
193
+ // destroyed the view while this memoized store survived, so the
194
+ // resubscribe must re-materialize or the snapshot freezes forever
195
+ if (view === null) {
196
+ materialize()
197
+ }
182
198
  return () => listeners.delete(notify)
183
199
  },
184
200
  getSnapshot: () => snapshot,
185
- destroy: () => view.destroy(),
201
+ destroy: () => {
202
+ const current = view
203
+ view = null
204
+ if (!current) return
205
+ // identity rotation closes the owning zero before react runs this
206
+ // cleanup (the version bump that swaps the view is post-commit) — the
207
+ // closed instance already removed the view's ttl connection record, so
208
+ // zero's destroy asserts ("Connection not found"). destroy-after-close
209
+ // is semantically a no-op; swallow it instead of killing the route.
210
+ try {
211
+ current.destroy()
212
+ } catch {
213
+ // instance closed first — nothing left to tear down
214
+ }
215
+ },
186
216
  }
187
217
  }
188
218
 
@@ -222,10 +252,9 @@ export function createUseQueryDirect<Schema extends ZeroSchema>({
222
252
  const paramsKey = params === undefined ? '' : JSON.stringify(params)
223
253
 
224
254
  const view = useMemo((): DirectView | null => {
225
- const zero = getZero()
226
- if (!enabled || !zero) return null
255
+ if (!enabled || !getZero()) return null
227
256
  const queryRequest = resolveQuery({ customQueries, fn, params })
228
- return createDirectView(zero, queryRequest, ttl)
257
+ return createDirectView(getZero, queryRequest, ttl)
229
258
  // params is keyed by paramsKey; version re-materializes on a new zero
230
259
  // eslint-disable-next-line react-hooks/exhaustive-deps
231
260
  }, [fn, paramsKey, enabled, ttl, version])
@@ -6,7 +6,7 @@
6
6
  // path — they must materialize directly on the owning instance.
7
7
 
8
8
  import { createSchema, string, table } from '@rocicorp/zero'
9
- import { act } from 'react'
9
+ import { act, StrictMode } from 'react'
10
10
  import { createRoot, type Root } from 'react-dom/client'
11
11
  import { afterEach, beforeEach, expect, test } from 'vitest'
12
12
 
@@ -182,6 +182,30 @@ test('inner provider unmount/remount does not break outer-instance subscriptions
182
182
  await waitFor(() => probe.data?.name === 'v3', 'v3 visible after inner remount')
183
183
  })
184
184
 
185
+ test('StrictMode: direct views survive the effect double-invoke', async () => {
186
+ // StrictMode (and any suspense hide/reveal) runs effect cleanup + re-setup
187
+ // with unchanged deps: the cleanup destroys the materialized view while the
188
+ // memoized store identity survives, so without re-materialization on
189
+ // resubscribe the snapshot freezes at its mount-time value forever — the
190
+ // "control queries strand at result type unknown" bug (soot 3e6ecd10a)
191
+ await render(
192
+ <StrictMode>
193
+ <control.ProvideZero server={null} userID="t4-ctl">
194
+ <project.ProvideZero server={null} userID="t4-prj">
195
+ <ControlUserProbe id="u4" />
196
+ </project.ProvideZero>
197
+ </control.ProvideZero>
198
+ </StrictMode>,
199
+ )
200
+ await waitFor(() => probe.renders > 0, 'probe mount')
201
+
202
+ await seedControl({ id: 'u4', name: 'strict-v1' })
203
+ await waitFor(() => probe.data?.name === 'strict-v1', 'update visible under StrictMode')
204
+
205
+ await seedControl({ id: 'u4', name: 'strict-v2' })
206
+ await waitFor(() => probe.data?.name === 'strict-v2', 'second update still live')
207
+ })
208
+
185
209
  test('direct-path views re-materialize when the owning instance rotates', async () => {
186
210
  const App = ({ userID }: { userID: string }) => (
187
211
  <control.ProvideZero server={null} userID={userID}>
@@ -1 +1 @@
1
- {"version":3,"file":"createUseQuery.d.ts","sourceRoot":"","sources":["../src/createUseQuery.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,EAAmB,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AACjE,OAAO,EAML,KAAK,OAAO,EACb,MAAM,OAAO,CAAA;AAGd,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAEhE,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,KAAK,EACL,MAAM,IAAI,UAAU,EACrB,MAAM,gBAAgB,CAAA;AAGvB,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,OAAO,GAAG,YAAY,CAAA;AAE7D,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,GAAG,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAA;CAC9C,CAAA;AAED,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;AAC5D,MAAM,MAAM,WAAW,CAAC,OAAO,IAAI,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAA;AAExF,YAAY,EAAE,YAAY,EAAE,CAAA;AAE5B,MAAM,MAAM,YAAY,CAAC,MAAM,SAAS,UAAU,IAAI;IAEpD,CAAC,IAAI,EAAE,MAAM,SAAS,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,EAAE,OAAO,EAC5D,EAAE,EAAE,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,EACtD,MAAM,EAAE,IAAI,EACZ,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,GAClC,WAAW,CAAC,OAAO,CAAC,CAAC;IAGxB,CAAC,MAAM,SAAS,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,EAAE,OAAO,EACtD,EAAE,EAAE,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,EACtD,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,GAClC,WAAW,CAAC,OAAO,CAAC,CAAA;CACxB,CAAA;AAmBD,wBAAgB,cAAc,CAAC,MAAM,SAAS,UAAU,EAAE,EACxD,eAAe,EACf,aAAa,GACd,EAAE;IACD,eAAe,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC1C,aAAa,EAAE,gBAAgB,CAAA;CAChC,GAAG,YAAY,CAAC,MAAM,CAAC,CAkCvB;AAoCD,KAAK,kBAAkB,GAAG;IACxB,WAAW,CACT,KAAK,EAAE,GAAG,EACV,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,GACtB;QACD,WAAW,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAA;QAC9D,OAAO,IAAI,IAAI,CAAA;KAChB,CAAA;CACF,CAAA;AAsCD,wBAAgB,oBAAoB,CAAC,MAAM,SAAS,UAAU,EAAE,EAC9D,eAAe,EACf,aAAa,EACb,OAAO,EACP,WAAW,GACZ,EAAE;IACD,eAAe,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC1C,aAAa,EAAE,gBAAgB,CAAA;IAE/B,OAAO,EAAE,MAAM,kBAAkB,GAAG,IAAI,CAAA;IAExC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;CAC7B,GAAG,YAAY,CAAC,MAAM,CAAC,CAwDvB"}
1
+ {"version":3,"file":"createUseQuery.d.ts","sourceRoot":"","sources":["../src/createUseQuery.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,EAAmB,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AACjE,OAAO,EAML,KAAK,OAAO,EACb,MAAM,OAAO,CAAA;AAGd,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAEhE,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,KAAK,EACL,MAAM,IAAI,UAAU,EACrB,MAAM,gBAAgB,CAAA;AAGvB,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,OAAO,GAAG,YAAY,CAAA;AAE7D,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,GAAG,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAA;CAC9C,CAAA;AAED,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;AAC5D,MAAM,MAAM,WAAW,CAAC,OAAO,IAAI,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAA;AAExF,YAAY,EAAE,YAAY,EAAE,CAAA;AAE5B,MAAM,MAAM,YAAY,CAAC,MAAM,SAAS,UAAU,IAAI;IAEpD,CAAC,IAAI,EAAE,MAAM,SAAS,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,EAAE,OAAO,EAC5D,EAAE,EAAE,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,EACtD,MAAM,EAAE,IAAI,EACZ,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,GAClC,WAAW,CAAC,OAAO,CAAC,CAAC;IAGxB,CAAC,MAAM,SAAS,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,EAAE,OAAO,EACtD,EAAE,EAAE,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,EACtD,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,GAClC,WAAW,CAAC,OAAO,CAAC,CAAA;CACxB,CAAA;AAmBD,wBAAgB,cAAc,CAAC,MAAM,SAAS,UAAU,EAAE,EACxD,eAAe,EACf,aAAa,GACd,EAAE;IACD,eAAe,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC1C,aAAa,EAAE,gBAAgB,CAAA;CAChC,GAAG,YAAY,CAAC,MAAM,CAAC,CAkCvB;AAoCD,KAAK,kBAAkB,GAAG;IACxB,WAAW,CACT,KAAK,EAAE,GAAG,EACV,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,GACtB;QACD,WAAW,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAA;QAC9D,OAAO,IAAI,IAAI,CAAA;KAChB,CAAA;CACF,CAAA;AAoED,wBAAgB,oBAAoB,CAAC,MAAM,SAAS,UAAU,EAAE,EAC9D,eAAe,EACf,aAAa,EACb,OAAO,EACP,WAAW,GACZ,EAAE;IACD,eAAe,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC1C,aAAa,EAAE,gBAAgB,CAAA;IAE/B,OAAO,EAAE,MAAM,kBAAkB,GAAG,IAAI,CAAA;IAExC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;CAC7B,GAAG,YAAY,CAAC,MAAM,CAAC,CAuDvB"}