on-zero 0.4.36 → 0.4.38
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.
- package/dist/cjs/combineZeroClients.native.js.map +1 -1
- package/dist/cjs/createUseQuery.cjs +7 -97
- package/dist/cjs/createUseQuery.native.js +7 -133
- package/dist/cjs/createUseQuery.native.js.map +1 -1
- package/dist/cjs/createUseQueryDirect.cjs +229 -0
- package/dist/cjs/createUseQueryDirect.native.js +335 -0
- package/dist/cjs/createUseQueryDirect.native.js.map +1 -0
- package/dist/cjs/createZeroClient.cjs +61 -17
- package/dist/cjs/createZeroClient.native.js +65 -17
- package/dist/cjs/createZeroClient.native.js.map +1 -1
- package/dist/cjs/helpers/recoverZeroClient.test.native.js.map +1 -1
- package/dist/cjs/index.cjs +2 -2
- package/dist/cjs/index.native.js +2 -2
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/multi.cjs +38 -0
- package/dist/cjs/multi.native.js +41 -0
- package/dist/cjs/multi.native.js.map +1 -0
- package/dist/cjs/multiInstanceNested.test.cjs +92 -12
- package/dist/cjs/multiInstanceNested.test.native.js +108 -12
- package/dist/cjs/multiInstanceNested.test.native.js.map +1 -1
- package/dist/cjs/testSetup.cjs +26 -0
- package/dist/cjs/testSetup.native.js +32 -0
- package/dist/cjs/testSetup.native.js.map +1 -0
- package/dist/esm/combineZeroClients.mjs.map +1 -1
- package/dist/esm/combineZeroClients.native.js.map +1 -1
- package/dist/esm/createUseQuery.mjs +8 -98
- package/dist/esm/createUseQuery.mjs.map +1 -1
- package/dist/esm/createUseQuery.native.js +8 -134
- package/dist/esm/createUseQuery.native.js.map +1 -1
- package/dist/esm/createUseQueryDirect.mjs +204 -0
- package/dist/esm/createUseQueryDirect.mjs.map +1 -0
- package/dist/esm/createUseQueryDirect.native.js +307 -0
- package/dist/esm/createUseQueryDirect.native.js.map +1 -0
- package/dist/esm/createZeroClient.mjs +62 -19
- package/dist/esm/createZeroClient.mjs.map +1 -1
- package/dist/esm/createZeroClient.native.js +66 -19
- package/dist/esm/createZeroClient.native.js.map +1 -1
- package/dist/esm/helpers/recoverZeroClient.test.mjs.map +1 -1
- package/dist/esm/helpers/recoverZeroClient.test.native.js.map +1 -1
- package/dist/esm/index.js +2 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +2 -3
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +2 -3
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/multi.mjs +12 -0
- package/dist/esm/multi.mjs.map +1 -0
- package/dist/esm/multi.native.js +12 -0
- package/dist/esm/multi.native.js.map +1 -0
- package/dist/esm/multiInstanceNested.test.mjs +85 -5
- package/dist/esm/multiInstanceNested.test.mjs.map +1 -1
- package/dist/esm/multiInstanceNested.test.native.js +101 -5
- package/dist/esm/multiInstanceNested.test.native.js.map +1 -1
- package/dist/esm/testSetup.mjs +27 -0
- package/dist/esm/testSetup.mjs.map +1 -0
- package/dist/esm/testSetup.native.js +30 -0
- package/dist/esm/testSetup.native.js.map +1 -0
- package/package.json +9 -3
- package/readme.md +10 -8
- package/src/combineZeroClients.tsx +4 -6
- package/src/createUseQuery.tsx +20 -190
- package/src/createUseQueryDirect.tsx +309 -0
- package/src/createZeroClient.tsx +158 -54
- package/src/helpers/recoverZeroClient.test.ts +8 -2
- package/src/index.ts +6 -2
- package/src/multi.ts +24 -0
- package/src/multiInstanceNested.test.tsx +79 -4
- package/src/testSetup.ts +26 -0
- package/types/combineZeroClients.d.ts.map +1 -1
- package/types/createUseQuery.d.ts +4 -15
- package/types/createUseQuery.d.ts.map +1 -1
- package/types/createUseQueryDirect.d.ts +29 -0
- package/types/createUseQueryDirect.d.ts.map +1 -0
- package/types/createZeroClient.d.ts +53 -7
- package/types/createZeroClient.d.ts.map +1 -1
- package/types/index.d.ts +1 -2
- package/types/index.d.ts.map +1 -1
- package/types/multi.d.ts +6 -0
- package/types/multi.d.ts.map +1 -0
- package/types/multiInstanceNested.test.d.ts.map +1 -1
- package/types/testSetup.d.ts +1 -0
- package/types/testSetup.d.ts.map +1 -0
- package/vitest.config.ts +1 -0
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
23
|
+
value: true
|
|
24
|
+
}), mod);
|
|
25
|
+
var createUseQueryDirect_exports = {};
|
|
26
|
+
__export(createUseQueryDirect_exports, {
|
|
27
|
+
createUseQueryDirect: () => createUseQueryDirect
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(createUseQueryDirect_exports);
|
|
30
|
+
var import_bindings = require("@rocicorp/zero/bindings");
|
|
31
|
+
var import_helpers = require("@take-out/helpers");
|
|
32
|
+
var import_react = require("react");
|
|
33
|
+
var import_createUseQuery = require("./createUseQuery.native.js");
|
|
34
|
+
var import_resolveQuery = require("./resolveQuery.native.js");
|
|
35
|
+
function _class_call_check(instance, Constructor) {
|
|
36
|
+
if (!(instance instanceof Constructor)) {
|
|
37
|
+
throw new TypeError("Cannot call a class as a function");
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
function _defineProperties(target, props) {
|
|
41
|
+
for (var i = 0; i < props.length; i++) {
|
|
42
|
+
var descriptor = props[i];
|
|
43
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
44
|
+
descriptor.configurable = true;
|
|
45
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
46
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
50
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
51
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
52
|
+
return Constructor;
|
|
53
|
+
}
|
|
54
|
+
function _define_property(obj, key, value) {
|
|
55
|
+
if (key in obj) {
|
|
56
|
+
Object.defineProperty(obj, key, {
|
|
57
|
+
value,
|
|
58
|
+
enumerable: true,
|
|
59
|
+
configurable: true,
|
|
60
|
+
writable: true
|
|
61
|
+
});
|
|
62
|
+
} else {
|
|
63
|
+
obj[key] = value;
|
|
64
|
+
}
|
|
65
|
+
return obj;
|
|
66
|
+
}
|
|
67
|
+
var EMPTY_RESPONSE = [null, {
|
|
68
|
+
type: "unknown"
|
|
69
|
+
}];
|
|
70
|
+
var DISABLED_SUBSCRIBE = function () {
|
|
71
|
+
return function () {};
|
|
72
|
+
};
|
|
73
|
+
var DISABLED_SNAPSHOT = [void 0, {
|
|
74
|
+
type: "unknown"
|
|
75
|
+
}];
|
|
76
|
+
var getDisabledSnapshot = function () {
|
|
77
|
+
return DISABLED_SNAPSHOT;
|
|
78
|
+
};
|
|
79
|
+
var emptyArray = [];
|
|
80
|
+
var resultTypeUnknown = {
|
|
81
|
+
type: "unknown"
|
|
82
|
+
};
|
|
83
|
+
var resultTypeComplete = {
|
|
84
|
+
type: "complete"
|
|
85
|
+
};
|
|
86
|
+
var resultTypeError = {
|
|
87
|
+
type: "error"
|
|
88
|
+
};
|
|
89
|
+
var emptySnapshotSingularUnknown = [void 0, resultTypeUnknown];
|
|
90
|
+
var emptySnapshotSingularComplete = [void 0, resultTypeComplete];
|
|
91
|
+
var emptySnapshotSingularError = [void 0, resultTypeError];
|
|
92
|
+
var emptySnapshotPluralUnknown = [emptyArray, resultTypeUnknown];
|
|
93
|
+
var emptySnapshotPluralComplete = [emptyArray, resultTypeComplete];
|
|
94
|
+
var emptySnapshotPluralError = [emptyArray, resultTypeError];
|
|
95
|
+
function getDefaultSnapshot(singular) {
|
|
96
|
+
return singular ? emptySnapshotSingularUnknown : emptySnapshotPluralUnknown;
|
|
97
|
+
}
|
|
98
|
+
function makeError(retry, error) {
|
|
99
|
+
var _error_message;
|
|
100
|
+
var message = (_error_message = error === null || error === void 0 ? void 0 : error.message) !== null && _error_message !== void 0 ? _error_message : "An unknown error occurred";
|
|
101
|
+
var _error_error;
|
|
102
|
+
return {
|
|
103
|
+
type: "error",
|
|
104
|
+
retry,
|
|
105
|
+
refetch: retry,
|
|
106
|
+
error: {
|
|
107
|
+
type: (_error_error = error === null || error === void 0 ? void 0 : error.error) !== null && _error_error !== void 0 ? _error_error : "app",
|
|
108
|
+
message,
|
|
109
|
+
...((error === null || error === void 0 ? void 0 : error.details) ? {
|
|
110
|
+
details: error.details
|
|
111
|
+
} : {})
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
function getSnapshot(singular, data, resultType, retry, error) {
|
|
116
|
+
if (singular && data === void 0) {
|
|
117
|
+
if (resultType === "complete") return emptySnapshotSingularComplete;
|
|
118
|
+
if (resultType === "error") return error ? [void 0, makeError(retry, error)] : emptySnapshotSingularError;
|
|
119
|
+
return emptySnapshotSingularUnknown;
|
|
120
|
+
}
|
|
121
|
+
if (!singular && Array.isArray(data) && data.length === 0) {
|
|
122
|
+
if (resultType === "complete") return emptySnapshotPluralComplete;
|
|
123
|
+
if (resultType === "error") return error ? [emptyArray, makeError(retry, error)] : emptySnapshotPluralError;
|
|
124
|
+
return emptySnapshotPluralUnknown;
|
|
125
|
+
}
|
|
126
|
+
if (resultType === "complete") return [data, resultTypeComplete];
|
|
127
|
+
if (resultType === "error") return [data, makeError(retry, error)];
|
|
128
|
+
return [data, resultTypeUnknown];
|
|
129
|
+
}
|
|
130
|
+
var DirectViewWrapper = /* @__PURE__ */function () {
|
|
131
|
+
"use strict";
|
|
132
|
+
|
|
133
|
+
function DirectViewWrapper2(query, zero, ttl, singular, onDematerialized) {
|
|
134
|
+
var _this = this;
|
|
135
|
+
_class_call_check(this, DirectViewWrapper2);
|
|
136
|
+
_define_property(this, "query", void 0);
|
|
137
|
+
_define_property(this, "zero", void 0);
|
|
138
|
+
_define_property(this, "ttl", void 0);
|
|
139
|
+
_define_property(this, "singular", void 0);
|
|
140
|
+
_define_property(this, "onDematerialized", void 0);
|
|
141
|
+
_define_property(this, "view", void 0);
|
|
142
|
+
_define_property(this, "snapshot", void 0);
|
|
143
|
+
_define_property(this, "listeners", void 0);
|
|
144
|
+
_define_property(this, "destroyTimer", void 0);
|
|
145
|
+
_define_property(this, "onData", void 0);
|
|
146
|
+
_define_property(this, "retry", void 0);
|
|
147
|
+
_define_property(this, "subscribe", void 0);
|
|
148
|
+
_define_property(this, "getSnapshot", void 0);
|
|
149
|
+
this.query = query;
|
|
150
|
+
this.zero = zero;
|
|
151
|
+
this.ttl = ttl;
|
|
152
|
+
this.singular = singular;
|
|
153
|
+
this.onDematerialized = onDematerialized;
|
|
154
|
+
this.listeners = /* @__PURE__ */new Set();
|
|
155
|
+
this.onData = function (data, resultType, error) {
|
|
156
|
+
var cloned = data === void 0 ? void 0 : (0, import_bindings.deepClone)(data);
|
|
157
|
+
_this.snapshot = getSnapshot(_this.singular, cloned, resultType, _this.retry, error);
|
|
158
|
+
var _iteratorNormalCompletion = true,
|
|
159
|
+
_didIteratorError = false,
|
|
160
|
+
_iteratorError = void 0;
|
|
161
|
+
try {
|
|
162
|
+
for (var _iterator = _this.listeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
163
|
+
var listener = _step.value;
|
|
164
|
+
listener();
|
|
165
|
+
}
|
|
166
|
+
} catch (err) {
|
|
167
|
+
_didIteratorError = true;
|
|
168
|
+
_iteratorError = err;
|
|
169
|
+
} finally {
|
|
170
|
+
try {
|
|
171
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
172
|
+
_iterator.return();
|
|
173
|
+
}
|
|
174
|
+
} finally {
|
|
175
|
+
if (_didIteratorError) {
|
|
176
|
+
throw _iteratorError;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
};
|
|
181
|
+
this.retry = function () {
|
|
182
|
+
_this.destroyView();
|
|
183
|
+
_this.materializeIfNeeded();
|
|
184
|
+
};
|
|
185
|
+
this.subscribe = function (notify) {
|
|
186
|
+
_this.listeners.add(notify);
|
|
187
|
+
if (_this.destroyTimer !== void 0) {
|
|
188
|
+
clearTimeout(_this.destroyTimer);
|
|
189
|
+
_this.destroyTimer = void 0;
|
|
190
|
+
}
|
|
191
|
+
_this.materializeIfNeeded();
|
|
192
|
+
return function () {
|
|
193
|
+
_this.listeners.delete(notify);
|
|
194
|
+
if (_this.listeners.size === 0) {
|
|
195
|
+
_this.destroyTimer = setTimeout(function () {
|
|
196
|
+
_this.destroyTimer = void 0;
|
|
197
|
+
if (_this.listeners.size > 0) return;
|
|
198
|
+
_this.destroyView();
|
|
199
|
+
_this.onDematerialized(_this);
|
|
200
|
+
}, 10);
|
|
201
|
+
}
|
|
202
|
+
};
|
|
203
|
+
};
|
|
204
|
+
this.getSnapshot = function () {
|
|
205
|
+
return _this.snapshot;
|
|
206
|
+
};
|
|
207
|
+
this.snapshot = getDefaultSnapshot(singular);
|
|
208
|
+
this.materializeIfNeeded();
|
|
209
|
+
}
|
|
210
|
+
_create_class(DirectViewWrapper2, [{
|
|
211
|
+
key: "materializeIfNeeded",
|
|
212
|
+
value: function materializeIfNeeded() {
|
|
213
|
+
if (this.view) return;
|
|
214
|
+
this.view = this.zero.materialize(this.query, {
|
|
215
|
+
ttl: this.ttl
|
|
216
|
+
});
|
|
217
|
+
this.view.addListener(this.onData);
|
|
218
|
+
}
|
|
219
|
+
}, {
|
|
220
|
+
key: "destroyView",
|
|
221
|
+
value: function destroyView() {
|
|
222
|
+
var current = this.view;
|
|
223
|
+
this.view = void 0;
|
|
224
|
+
if (!current) return;
|
|
225
|
+
try {
|
|
226
|
+
current.destroy();
|
|
227
|
+
} catch (e) {}
|
|
228
|
+
}
|
|
229
|
+
}, {
|
|
230
|
+
// the owning zero can close before react unsubscribes during rotation
|
|
231
|
+
key: "updateTTL",
|
|
232
|
+
value: function updateTTL(ttl) {
|
|
233
|
+
var _this_view;
|
|
234
|
+
this.ttl = ttl;
|
|
235
|
+
(_this_view = this.view) === null || _this_view === void 0 ? void 0 : _this_view.updateTTL(ttl);
|
|
236
|
+
}
|
|
237
|
+
}]);
|
|
238
|
+
return DirectViewWrapper2;
|
|
239
|
+
}();
|
|
240
|
+
var DirectViewStore = /* @__PURE__ */function () {
|
|
241
|
+
"use strict";
|
|
242
|
+
|
|
243
|
+
function DirectViewStore2() {
|
|
244
|
+
_class_call_check(this, DirectViewStore2);
|
|
245
|
+
_define_property(this, "views", /* @__PURE__ */new Map());
|
|
246
|
+
}
|
|
247
|
+
_create_class(DirectViewStore2, [{
|
|
248
|
+
key: "getView",
|
|
249
|
+
value: function getView(zero, queryRequest, enabled, ttl) {
|
|
250
|
+
var _this = this;
|
|
251
|
+
var query = (0, import_bindings.addContextToQuery)(queryRequest, zero.context);
|
|
252
|
+
var queryInternals = (0, import_bindings.asQueryInternals)(query);
|
|
253
|
+
if (!enabled) {
|
|
254
|
+
var snapshot = getDefaultSnapshot(queryInternals.format.singular);
|
|
255
|
+
return {
|
|
256
|
+
subscribe: DISABLED_SUBSCRIBE,
|
|
257
|
+
getSnapshot: function () {
|
|
258
|
+
return snapshot;
|
|
259
|
+
}
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
var hash = `${zero.clientID}:${queryInternals.hash()}`;
|
|
263
|
+
var view = this.views.get(hash);
|
|
264
|
+
if (!view) {
|
|
265
|
+
view = new DirectViewWrapper(query, zero, ttl, queryInternals.format.singular, function (dematerialized) {
|
|
266
|
+
if (_this.views.get(hash) === dematerialized) {
|
|
267
|
+
_this.views.delete(hash);
|
|
268
|
+
}
|
|
269
|
+
});
|
|
270
|
+
this.views.set(hash, view);
|
|
271
|
+
} else {
|
|
272
|
+
view.updateTTL(ttl);
|
|
273
|
+
}
|
|
274
|
+
return view;
|
|
275
|
+
}
|
|
276
|
+
}]);
|
|
277
|
+
return DirectViewStore2;
|
|
278
|
+
}();
|
|
279
|
+
function createUseQueryDirect(param) {
|
|
280
|
+
var {
|
|
281
|
+
DisabledContext,
|
|
282
|
+
customQueries,
|
|
283
|
+
getZero,
|
|
284
|
+
zeroVersion
|
|
285
|
+
} = param;
|
|
286
|
+
var directViewStore = new DirectViewStore();
|
|
287
|
+
function useQueryDirect() {
|
|
288
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
289
|
+
args[_key] = arguments[_key];
|
|
290
|
+
}
|
|
291
|
+
if (typeof window === "undefined") return EMPTY_RESPONSE;
|
|
292
|
+
var disableMode = (0, import_react.useContext)(DisabledContext);
|
|
293
|
+
var lastRef = (0, import_react.useRef)(EMPTY_RESPONSE);
|
|
294
|
+
var [fn, paramsOrOptions, optionsArg] = args;
|
|
295
|
+
var version = (0, import_helpers.useEmitterValue)(zeroVersion);
|
|
296
|
+
var {
|
|
297
|
+
params,
|
|
298
|
+
options
|
|
299
|
+
} = (0, import_createUseQuery.parseUseQueryArgs)(paramsOrOptions, optionsArg);
|
|
300
|
+
var enabled = true;
|
|
301
|
+
var ttl = import_bindings.DEFAULT_TTL_MS;
|
|
302
|
+
if (typeof options === "boolean") {
|
|
303
|
+
enabled = options;
|
|
304
|
+
} else if (options) {
|
|
305
|
+
enabled = options.enabled !== false;
|
|
306
|
+
var _options_ttl;
|
|
307
|
+
ttl = (_options_ttl = options.ttl) !== null && _options_ttl !== void 0 ? _options_ttl : import_bindings.DEFAULT_TTL_MS;
|
|
308
|
+
}
|
|
309
|
+
var paramsKey = params === void 0 ? "" : JSON.stringify(params);
|
|
310
|
+
var view = (0, import_react.useMemo)(function () {
|
|
311
|
+
var zero = getZero();
|
|
312
|
+
if (!zero) return null;
|
|
313
|
+
var queryRequest = (0, import_resolveQuery.resolveQuery)({
|
|
314
|
+
customQueries,
|
|
315
|
+
fn,
|
|
316
|
+
params
|
|
317
|
+
});
|
|
318
|
+
return directViewStore.getView(zero, queryRequest, enabled, ttl);
|
|
319
|
+
},
|
|
320
|
+
// params is keyed by paramsKey; version re-materializes on a new zero
|
|
321
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
322
|
+
[fn, paramsKey, enabled, ttl, version]);
|
|
323
|
+
var out = (0, import_react.useSyncExternalStore)(view ? view.subscribe : DISABLED_SUBSCRIBE, view ? view.getSnapshot : getDisabledSnapshot, view ? view.getSnapshot : getDisabledSnapshot);
|
|
324
|
+
if (!disableMode) {
|
|
325
|
+
lastRef.current = out;
|
|
326
|
+
return out;
|
|
327
|
+
}
|
|
328
|
+
if (disableMode === "last-value") {
|
|
329
|
+
return lastRef.current;
|
|
330
|
+
}
|
|
331
|
+
return EMPTY_RESPONSE;
|
|
332
|
+
}
|
|
333
|
+
return useQueryDirect;
|
|
334
|
+
}
|
|
335
|
+
//# sourceMappingURL=createUseQueryDirect.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createUseQueryDirect_exports","__export","createUseQueryDirect","module","exports","import_bindings","require","import_helpers","import_react","import_createUseQuery","import_resolveQuery","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","EMPTY_RESPONSE","type","DISABLED_SUBSCRIBE","DISABLED_SNAPSHOT","getDisabledSnapshot","emptyArray","resultTypeUnknown","resultTypeComplete","resultTypeError","emptySnapshotSingularUnknown","emptySnapshotSingularComplete","emptySnapshotSingularError","emptySnapshotPluralUnknown","emptySnapshotPluralComplete","emptySnapshotPluralError","getDefaultSnapshot","singular","makeError","retry","error","_error_message","message","_error_error","refetch","details","getSnapshot","data","resultType","Array","isArray","DirectViewWrapper","DirectViewWrapper2","query","zero","ttl","onDematerialized","_this","listeners","Set","onData","cloned","deepClone","snapshot","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","listener","err","return","destroyView","materializeIfNeeded","subscribe","notify","add","destroyTimer","clearTimeout","delete","size","setTimeout"],"sources":["../../src/createUseQueryDirect.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -22,7 +22,8 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
|
22
22
|
}), mod);
|
|
23
23
|
var createZeroClient_exports = {};
|
|
24
24
|
__export(createZeroClient_exports, {
|
|
25
|
-
createZeroClient: () => createZeroClient
|
|
25
|
+
createZeroClient: () => createZeroClient,
|
|
26
|
+
createZeroClientInternal: () => createZeroClientInternal
|
|
26
27
|
});
|
|
27
28
|
module.exports = __toCommonJS(createZeroClient_exports);
|
|
28
29
|
var import_zero = require("@rocicorp/zero");
|
|
@@ -60,12 +61,22 @@ function getZeroProxyValue(instance, key) {
|
|
|
60
61
|
}
|
|
61
62
|
return bound;
|
|
62
63
|
}
|
|
63
|
-
function
|
|
64
|
+
function createUnavailableDirectUseQuery() {
|
|
65
|
+
function useQueryDirect() {
|
|
66
|
+
throw new Error(`[on-zero] direct queries are optional. Import createZeroClientWithDirectQueries from 'on-zero/multi' for clients used outside the innermost ZeroProvider.`);
|
|
67
|
+
}
|
|
68
|
+
return useQueryDirect;
|
|
69
|
+
}
|
|
70
|
+
function createZeroClient(options) {
|
|
71
|
+
return createZeroClientInternal(options);
|
|
72
|
+
}
|
|
73
|
+
function createZeroClientInternal({
|
|
64
74
|
schema,
|
|
65
75
|
models,
|
|
66
76
|
groupedQueries,
|
|
67
77
|
permissionStrategy = "optimistic",
|
|
68
|
-
instanceName = "default"
|
|
78
|
+
instanceName = "default",
|
|
79
|
+
createDirectUseQuery
|
|
69
80
|
}) {
|
|
70
81
|
(0, import_state.setSchema)(schema);
|
|
71
82
|
if ((0, import_state.getEnvironment)() === null) {
|
|
@@ -144,19 +155,20 @@ function createZeroClient({
|
|
|
144
155
|
});
|
|
145
156
|
const emitterScope = instanceName === "default" ? "" : `:${instanceName}`;
|
|
146
157
|
const zeroEvents = (0, import_helpers.createEmitter)(`zero${emitterScope}`, null);
|
|
147
|
-
const zeroInstanceVersion = (0, import_helpers.createEmitter)(`zero-instance-version${emitterScope}`, 0);
|
|
158
|
+
const zeroInstanceVersion = createDirectUseQuery ? (0, import_helpers.createEmitter)(`zero-instance-version${emitterScope}`, 0) : null;
|
|
148
159
|
const AuthDataContext = (0, import_react2.createContext)({});
|
|
149
160
|
const useQuery = (0, import_createUseQuery.createUseQuery)({
|
|
150
161
|
DisabledContext,
|
|
151
162
|
customQueries
|
|
152
163
|
});
|
|
153
|
-
const useQueryDirect =
|
|
164
|
+
const useQueryDirect = createDirectUseQuery ? createDirectUseQuery({
|
|
154
165
|
DisabledContext,
|
|
155
166
|
customQueries,
|
|
156
167
|
getZero: () => latestZeroInstance,
|
|
157
168
|
zeroVersion: zeroInstanceVersion
|
|
158
|
-
});
|
|
169
|
+
}) : createUnavailableDirectUseQuery();
|
|
159
170
|
const createUsePermission = useQueryImpl => function usePermission2(table, objOrId, enabled = typeof objOrId !== "undefined", debug = false) {
|
|
171
|
+
if (typeof window === "undefined") return null;
|
|
160
172
|
const disableMode = (0, import_react2.useContext)(DisabledContext);
|
|
161
173
|
const lastRef = (0, import_react2.useRef)(null);
|
|
162
174
|
const tableStr = table;
|
|
@@ -191,10 +203,42 @@ function createZeroClient({
|
|
|
191
203
|
const usePermission = createUsePermission(useQuery);
|
|
192
204
|
const usePermissionDirect = createUsePermission(useQueryDirect);
|
|
193
205
|
let cachedZero = null;
|
|
206
|
+
const DISABLED_ZERO_STUB_CONNECTION_STATE = {
|
|
207
|
+
current: {
|
|
208
|
+
name: "closed"
|
|
209
|
+
},
|
|
210
|
+
subscribe: () => () => {}
|
|
211
|
+
};
|
|
212
|
+
const DISABLED_ZERO_STUB = {
|
|
213
|
+
context: {},
|
|
214
|
+
connection: {
|
|
215
|
+
state: DISABLED_ZERO_STUB_CONNECTION_STATE
|
|
216
|
+
}
|
|
217
|
+
};
|
|
194
218
|
const ProvideZero = ({
|
|
219
|
+
children,
|
|
220
|
+
...props
|
|
221
|
+
}) => {
|
|
222
|
+
if (typeof window === "undefined" || props.disable) {
|
|
223
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(AuthDataContext.Provider, {
|
|
224
|
+
value: props.authData ?? {},
|
|
225
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(DisabledContext.Provider, {
|
|
226
|
+
value: "empty",
|
|
227
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.ZeroContext.Provider, {
|
|
228
|
+
value: DISABLED_ZERO_STUB,
|
|
229
|
+
children
|
|
230
|
+
})
|
|
231
|
+
})
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(ProvideZeroActive, {
|
|
235
|
+
...props,
|
|
236
|
+
children
|
|
237
|
+
});
|
|
238
|
+
};
|
|
239
|
+
const ProvideZeroActive = ({
|
|
195
240
|
children,
|
|
196
241
|
authData: authDataIn,
|
|
197
|
-
disable,
|
|
198
242
|
transport,
|
|
199
243
|
pullIntervalMs = 3e4,
|
|
200
244
|
beforeReload,
|
|
@@ -284,17 +328,17 @@ function createZeroClient({
|
|
|
284
328
|
});
|
|
285
329
|
}
|
|
286
330
|
}, [instance2, auth]);
|
|
287
|
-
if (disable) {
|
|
288
|
-
return children;
|
|
289
|
-
}
|
|
290
331
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(AuthDataContext.Provider, {
|
|
291
332
|
value: authData,
|
|
292
|
-
children:
|
|
293
|
-
|
|
294
|
-
children:
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
333
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(DisabledContext.Provider, {
|
|
334
|
+
value: instance2 ? false : "empty",
|
|
335
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_react.ZeroContext.Provider, {
|
|
336
|
+
value: instance2 ?? DISABLED_ZERO_STUB,
|
|
337
|
+
children: [instance2 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(SetZeroInstance, {}) : null, instance2 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(ConnectionMonitor, {
|
|
338
|
+
zeroEvents
|
|
339
|
+
}) : null, children]
|
|
340
|
+
})
|
|
341
|
+
})
|
|
298
342
|
});
|
|
299
343
|
};
|
|
300
344
|
const SetZeroInstance = () => {
|
|
@@ -306,7 +350,7 @@ function createZeroClient({
|
|
|
306
350
|
(0, import_zeroRunner.setRunner)(runner);
|
|
307
351
|
}
|
|
308
352
|
(0, import_react2.useEffect)(() => {
|
|
309
|
-
zeroInstanceVersion
|
|
353
|
+
zeroInstanceVersion?.emit(zeroInstanceVersion.value + 1);
|
|
310
354
|
}, [zeroInstance]);
|
|
311
355
|
return null;
|
|
312
356
|
};
|
|
@@ -24,7 +24,8 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
|
24
24
|
}), mod);
|
|
25
25
|
var createZeroClient_exports = {};
|
|
26
26
|
__export(createZeroClient_exports, {
|
|
27
|
-
createZeroClient: () => createZeroClient
|
|
27
|
+
createZeroClient: () => createZeroClient,
|
|
28
|
+
createZeroClientInternal: () => createZeroClientInternal
|
|
28
29
|
});
|
|
29
30
|
module.exports = __toCommonJS(createZeroClient_exports);
|
|
30
31
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -81,13 +82,23 @@ function getZeroProxyValue(instance, key) {
|
|
|
81
82
|
}
|
|
82
83
|
return bound;
|
|
83
84
|
}
|
|
84
|
-
function
|
|
85
|
+
function createUnavailableDirectUseQuery() {
|
|
86
|
+
function useQueryDirect() {
|
|
87
|
+
throw new Error(`[on-zero] direct queries are optional. Import createZeroClientWithDirectQueries from 'on-zero/multi' for clients used outside the innermost ZeroProvider.`);
|
|
88
|
+
}
|
|
89
|
+
return useQueryDirect;
|
|
90
|
+
}
|
|
91
|
+
function createZeroClient(options) {
|
|
92
|
+
return createZeroClientInternal(options);
|
|
93
|
+
}
|
|
94
|
+
function createZeroClientInternal(param) {
|
|
85
95
|
var {
|
|
86
96
|
schema,
|
|
87
97
|
models,
|
|
88
98
|
groupedQueries,
|
|
89
99
|
permissionStrategy = "optimistic",
|
|
90
|
-
instanceName = "default"
|
|
100
|
+
instanceName = "default",
|
|
101
|
+
createDirectUseQuery
|
|
91
102
|
} = param;
|
|
92
103
|
(0, import_state.setSchema)(schema);
|
|
93
104
|
if ((0, import_state.getEnvironment)() === null) {
|
|
@@ -239,24 +250,25 @@ function createZeroClient(param) {
|
|
|
239
250
|
});
|
|
240
251
|
var emitterScope = instanceName === "default" ? "" : `:${instanceName}`;
|
|
241
252
|
var zeroEvents = (0, import_helpers.createEmitter)(`zero${emitterScope}`, null);
|
|
242
|
-
var zeroInstanceVersion = (0, import_helpers.createEmitter)(`zero-instance-version${emitterScope}`, 0);
|
|
253
|
+
var zeroInstanceVersion = createDirectUseQuery ? (0, import_helpers.createEmitter)(`zero-instance-version${emitterScope}`, 0) : null;
|
|
243
254
|
var AuthDataContext = /* @__PURE__ */(0, import_react2.createContext)({});
|
|
244
255
|
var useQuery = (0, import_createUseQuery.createUseQuery)({
|
|
245
256
|
DisabledContext,
|
|
246
257
|
customQueries
|
|
247
258
|
});
|
|
248
|
-
var useQueryDirect =
|
|
259
|
+
var useQueryDirect = createDirectUseQuery ? createDirectUseQuery({
|
|
249
260
|
DisabledContext,
|
|
250
261
|
customQueries,
|
|
251
262
|
getZero: function () {
|
|
252
263
|
return latestZeroInstance;
|
|
253
264
|
},
|
|
254
265
|
zeroVersion: zeroInstanceVersion
|
|
255
|
-
});
|
|
266
|
+
}) : createUnavailableDirectUseQuery();
|
|
256
267
|
var createUsePermission = function (useQueryImpl) {
|
|
257
268
|
return function usePermission2(table, objOrId) {
|
|
258
269
|
var enabled = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : typeof objOrId !== "undefined",
|
|
259
270
|
debug = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false;
|
|
271
|
+
if (typeof window === "undefined") return null;
|
|
260
272
|
var disableMode = (0, import_react2.useContext)(DisabledContext);
|
|
261
273
|
var lastRef = (0, import_react2.useRef)(null);
|
|
262
274
|
var tableStr = table;
|
|
@@ -292,11 +304,47 @@ function createZeroClient(param) {
|
|
|
292
304
|
var usePermission = createUsePermission(useQuery);
|
|
293
305
|
var usePermissionDirect = createUsePermission(useQueryDirect);
|
|
294
306
|
var cachedZero = null;
|
|
307
|
+
var DISABLED_ZERO_STUB_CONNECTION_STATE = {
|
|
308
|
+
current: {
|
|
309
|
+
name: "closed"
|
|
310
|
+
},
|
|
311
|
+
subscribe: function () {
|
|
312
|
+
return function () {};
|
|
313
|
+
}
|
|
314
|
+
};
|
|
315
|
+
var DISABLED_ZERO_STUB = {
|
|
316
|
+
context: {},
|
|
317
|
+
connection: {
|
|
318
|
+
state: DISABLED_ZERO_STUB_CONNECTION_STATE
|
|
319
|
+
}
|
|
320
|
+
};
|
|
295
321
|
var ProvideZero = function (param2) {
|
|
322
|
+
var {
|
|
323
|
+
children,
|
|
324
|
+
...props
|
|
325
|
+
} = param2;
|
|
326
|
+
if (typeof window === "undefined" || props.disable) {
|
|
327
|
+
var _props_authData;
|
|
328
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(AuthDataContext.Provider, {
|
|
329
|
+
value: (_props_authData = props.authData) !== null && _props_authData !== void 0 ? _props_authData : {},
|
|
330
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(DisabledContext.Provider, {
|
|
331
|
+
value: "empty",
|
|
332
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.ZeroContext.Provider, {
|
|
333
|
+
value: DISABLED_ZERO_STUB,
|
|
334
|
+
children
|
|
335
|
+
})
|
|
336
|
+
})
|
|
337
|
+
});
|
|
338
|
+
}
|
|
339
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(ProvideZeroActive, {
|
|
340
|
+
...props,
|
|
341
|
+
children
|
|
342
|
+
});
|
|
343
|
+
};
|
|
344
|
+
var ProvideZeroActive = function (param2) {
|
|
296
345
|
var {
|
|
297
346
|
children,
|
|
298
347
|
authData: authDataIn,
|
|
299
|
-
disable,
|
|
300
348
|
transport,
|
|
301
349
|
pullIntervalMs = 3e4,
|
|
302
350
|
beforeReload,
|
|
@@ -406,17 +454,17 @@ function createZeroClient(param) {
|
|
|
406
454
|
});
|
|
407
455
|
}
|
|
408
456
|
}, [instance2, auth]);
|
|
409
|
-
if (disable) {
|
|
410
|
-
return children;
|
|
411
|
-
}
|
|
412
457
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(AuthDataContext.Provider, {
|
|
413
458
|
value: authData,
|
|
414
|
-
children:
|
|
415
|
-
|
|
416
|
-
children:
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
459
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(DisabledContext.Provider, {
|
|
460
|
+
value: instance2 ? false : "empty",
|
|
461
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_react.ZeroContext.Provider, {
|
|
462
|
+
value: instance2 !== null && instance2 !== void 0 ? instance2 : DISABLED_ZERO_STUB,
|
|
463
|
+
children: [instance2 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(SetZeroInstance, {}) : null, instance2 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(ConnectionMonitor, {
|
|
464
|
+
zeroEvents
|
|
465
|
+
}) : null, children]
|
|
466
|
+
})
|
|
467
|
+
})
|
|
420
468
|
});
|
|
421
469
|
};
|
|
422
470
|
var SetZeroInstance = function () {
|
|
@@ -430,7 +478,7 @@ function createZeroClient(param) {
|
|
|
430
478
|
(0, import_zeroRunner.setRunner)(runner);
|
|
431
479
|
}
|
|
432
480
|
(0, import_react2.useEffect)(function () {
|
|
433
|
-
zeroInstanceVersion.emit(zeroInstanceVersion.value + 1);
|
|
481
|
+
zeroInstanceVersion === null || zeroInstanceVersion === void 0 ? void 0 : zeroInstanceVersion.emit(zeroInstanceVersion.value + 1);
|
|
434
482
|
}, [zeroInstance]);
|
|
435
483
|
return null;
|
|
436
484
|
};
|