on-zero 0.4.25 → 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,29 +87,42 @@ 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
120
  destroy: () => {
121
+ const current = view;
122
+ view = null;
123
+ if (!current) return;
111
124
  try {
112
- view.destroy();
125
+ current.destroy();
113
126
  } catch {}
114
127
  }
115
128
  };
@@ -139,14 +152,13 @@ function createUseQueryDirect({
139
152
  }
140
153
  const paramsKey = params === void 0 ? "" : JSON.stringify(params);
141
154
  const view = (0, import_react2.useMemo)(() => {
142
- const zero = getZero();
143
- if (!enabled || !zero) return null;
155
+ if (!enabled || !getZero()) return null;
144
156
  const queryRequest = (0, import_resolveQuery.resolveQuery)({
145
157
  customQueries,
146
158
  fn,
147
159
  params
148
160
  });
149
- return createDirectView(zero, queryRequest, ttl);
161
+ return createDirectView(getZero, queryRequest, ttl);
150
162
  }, [fn, paramsKey, enabled, ttl, version]);
151
163
  (0, import_react2.useEffect)(() => {
152
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,8 +156,11 @@ function createDirectView(zero, queryRequest, ttl) {
146
156
  return snapshot;
147
157
  },
148
158
  destroy: function () {
159
+ var current = view;
160
+ view = null;
161
+ if (!current) return;
149
162
  try {
150
- view.destroy();
163
+ current.destroy();
151
164
  } catch (e) {}
152
165
  }
153
166
  };
@@ -181,14 +194,13 @@ function createUseQueryDirect(param) {
181
194
  }
182
195
  var paramsKey = params === void 0 ? "" : JSON.stringify(params);
183
196
  var view = (0, import_react2.useMemo)(function () {
184
- var zero = getZero();
185
- if (!enabled || !zero) return null;
197
+ if (!enabled || !getZero()) return null;
186
198
  var queryRequest = (0, import_resolveQuery.resolveQuery)({
187
199
  customQueries,
188
200
  fn,
189
201
  params
190
202
  });
191
- return createDirectView(zero, queryRequest, ttl);
203
+ return createDirectView(getZero, queryRequest, ttl);
192
204
  },
193
205
  // params is keyed by paramsKey; version re-materializes on a new zero
194
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","getSnapshot","destroy"],"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,29 +59,42 @@ 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
92
  destroy: () => {
93
+ const current = view;
94
+ view = null;
95
+ if (!current) return;
83
96
  try {
84
- view.destroy();
97
+ current.destroy();
85
98
  } catch {}
86
99
  }
87
100
  };
@@ -111,14 +124,13 @@ function createUseQueryDirect({
111
124
  }
112
125
  const paramsKey = params === void 0 ? "" : JSON.stringify(params);
113
126
  const view = useMemo(() => {
114
- const zero = getZero();
115
- if (!enabled || !zero) return null;
127
+ if (!enabled || !getZero()) return null;
116
128
  const queryRequest = resolveQuery({
117
129
  customQueries,
118
130
  fn,
119
131
  params
120
132
  });
121
- return createDirectView(zero, queryRequest, ttl);
133
+ return createDirectView(getZero, queryRequest, ttl);
122
134
  }, [fn, paramsKey, enabled, ttl, version]);
123
135
  useEffect(() => {
124
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,8 +126,11 @@ function createDirectView(zero, queryRequest, ttl) {
116
126
  return snapshot;
117
127
  },
118
128
  destroy: function () {
129
+ var current = view;
130
+ view = null;
131
+ if (!current) return;
119
132
  try {
120
- view.destroy();
133
+ current.destroy();
121
134
  } catch (e) {}
122
135
  }
123
136
  };
@@ -151,14 +164,13 @@ function createUseQueryDirect(param) {
151
164
  }
152
165
  var paramsKey = params === void 0 ? "" : JSON.stringify(params);
153
166
  var view = useMemo(function () {
154
- var zero = getZero();
155
- if (!enabled || !zero) return null;
167
+ if (!enabled || !getZero()) return null;
156
168
  var queryRequest = resolveQuery({
157
169
  customQueries,
158
170
  fn,
159
171
  params
160
172
  });
161
- return createDirectView(zero, queryRequest, ttl);
173
+ return createDirectView(getZero, queryRequest, ttl);
162
174
  },
163
175
  // params is keyed by paramsKey; version re-materializes on a new zero
164
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","e","createUseQueryDirect"],"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.25",
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.25",
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,45 +151,64 @@ 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
201
  destroy: () => {
202
+ const current = view
203
+ view = null
204
+ if (!current) return
186
205
  // identity rotation closes the owning zero before react runs this
187
206
  // cleanup (the version bump that swaps the view is post-commit) — the
188
207
  // closed instance already removed the view's ttl connection record, so
189
208
  // zero's destroy asserts ("Connection not found"). destroy-after-close
190
209
  // is semantically a no-op; swallow it instead of killing the route.
191
210
  try {
192
- view.destroy()
211
+ current.destroy()
193
212
  } catch {
194
213
  // instance closed first — nothing left to tear down
195
214
  }
@@ -233,10 +252,9 @@ export function createUseQueryDirect<Schema extends ZeroSchema>({
233
252
  const paramsKey = params === undefined ? '' : JSON.stringify(params)
234
253
 
235
254
  const view = useMemo((): DirectView | null => {
236
- const zero = getZero()
237
- if (!enabled || !zero) return null
255
+ if (!enabled || !getZero()) return null
238
256
  const queryRequest = resolveQuery({ customQueries, fn, params })
239
- return createDirectView(zero, queryRequest, ttl)
257
+ return createDirectView(getZero, queryRequest, ttl)
240
258
  // params is keyed by paramsKey; version re-materializes on a new zero
241
259
  // eslint-disable-next-line react-hooks/exhaustive-deps
242
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;AAiDD,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"}