@signalium/query 1.0.12 → 1.0.14
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/CHANGELOG.md +20 -0
- package/dist/cjs/development/index.js +2985 -0
- package/dist/cjs/development/index.js.map +1 -0
- package/dist/cjs/development/react/index.js +52 -0
- package/dist/cjs/development/react/index.js.map +1 -0
- package/dist/cjs/{stores/shared.js → development/shared-5acOO-tS.js} +11 -14
- package/dist/cjs/development/shared-5acOO-tS.js.map +1 -0
- package/dist/cjs/development/stores/async.js +304 -0
- package/dist/cjs/development/stores/async.js.map +1 -0
- package/dist/cjs/development/stores/sync.js +214 -0
- package/dist/cjs/development/stores/sync.js.map +1 -0
- package/dist/cjs/production/index.js +2985 -0
- package/dist/cjs/production/index.js.map +1 -0
- package/dist/cjs/production/package.json +3 -0
- package/dist/cjs/production/react/index.js +52 -0
- package/dist/cjs/production/react/index.js.map +1 -0
- package/dist/cjs/production/shared-5acOO-tS.js +20 -0
- package/dist/cjs/production/shared-5acOO-tS.js.map +1 -0
- package/dist/cjs/production/stores/async.js +304 -0
- package/dist/cjs/production/stores/async.js.map +1 -0
- package/dist/cjs/production/stores/sync.js +214 -0
- package/dist/cjs/production/stores/sync.js.map +1 -0
- package/dist/esm/EntityMap.d.ts +22 -0
- package/dist/esm/EntityMap.d.ts.map +1 -1
- package/dist/esm/MutationResult.d.ts +43 -0
- package/dist/esm/MutationResult.d.ts.map +1 -0
- package/dist/esm/QueryClient.d.ts +31 -2
- package/dist/esm/QueryClient.d.ts.map +1 -1
- package/dist/esm/development/index.js +2985 -0
- package/dist/esm/development/index.js.map +1 -0
- package/dist/esm/development/react/index.js +52 -0
- package/dist/esm/development/react/index.js.map +1 -0
- package/dist/esm/development/shared-Br5plsKm.js +21 -0
- package/dist/esm/development/shared-Br5plsKm.js.map +1 -0
- package/dist/esm/development/stores/async.js +304 -0
- package/dist/esm/development/stores/async.js.map +1 -0
- package/dist/esm/development/stores/sync.js +214 -0
- package/dist/esm/development/stores/sync.js.map +1 -0
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/mutation.d.ts +82 -0
- package/dist/esm/mutation.d.ts.map +1 -0
- package/dist/esm/parseEntities.d.ts.map +1 -1
- package/dist/esm/production/index.js +2985 -0
- package/dist/esm/production/index.js.map +1 -0
- package/dist/esm/production/react/index.js +52 -0
- package/dist/esm/production/react/index.js.map +1 -0
- package/dist/esm/production/shared-Br5plsKm.js +21 -0
- package/dist/esm/production/shared-Br5plsKm.js.map +1 -0
- package/dist/esm/production/stores/async.js +304 -0
- package/dist/esm/production/stores/async.js.map +1 -0
- package/dist/esm/production/stores/sync.js +214 -0
- package/dist/esm/production/stores/sync.js.map +1 -0
- package/dist/esm/proxy.d.ts +6 -5
- package/dist/esm/proxy.d.ts.map +1 -1
- package/dist/esm/query.d.ts +3 -1
- package/dist/esm/query.d.ts.map +1 -1
- package/dist/esm/typeDefs.d.ts +5 -3
- package/dist/esm/typeDefs.d.ts.map +1 -1
- package/dist/esm/types.d.ts +72 -5
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/utils.d.ts +35 -0
- package/dist/esm/utils.d.ts.map +1 -1
- package/package.json +55 -21
- package/stores/async.js +1 -1
- package/stores/sync.js +1 -1
- package/dist/cjs/EntityMap.js +0 -103
- package/dist/cjs/EntityMap.js.map +0 -1
- package/dist/cjs/MemoryEvictionManager.js +0 -56
- package/dist/cjs/MemoryEvictionManager.js.map +0 -1
- package/dist/cjs/NetworkManager.js +0 -125
- package/dist/cjs/NetworkManager.js.map +0 -1
- package/dist/cjs/QueryClient.js +0 -162
- package/dist/cjs/QueryClient.js.map +0 -1
- package/dist/cjs/QueryResult.js +0 -920
- package/dist/cjs/QueryResult.js.map +0 -1
- package/dist/cjs/RefetchManager.js +0 -88
- package/dist/cjs/RefetchManager.js.map +0 -1
- package/dist/cjs/errors.js +0 -129
- package/dist/cjs/errors.js.map +0 -1
- package/dist/cjs/index.js +0 -43
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/parseEntities.js +0 -142
- package/dist/cjs/parseEntities.js.map +0 -1
- package/dist/cjs/pathInterpolator.js +0 -69
- package/dist/cjs/pathInterpolator.js.map +0 -1
- package/dist/cjs/proxy.js +0 -263
- package/dist/cjs/proxy.js.map +0 -1
- package/dist/cjs/query.js +0 -184
- package/dist/cjs/query.js.map +0 -1
- package/dist/cjs/react/index.js +0 -6
- package/dist/cjs/react/index.js.map +0 -1
- package/dist/cjs/react/use-query.js +0 -56
- package/dist/cjs/react/use-query.js.map +0 -1
- package/dist/cjs/stores/async.js +0 -344
- package/dist/cjs/stores/async.js.map +0 -1
- package/dist/cjs/stores/shared.js.map +0 -1
- package/dist/cjs/stores/sync.js +0 -240
- package/dist/cjs/stores/sync.js.map +0 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +0 -1
- package/dist/cjs/type-utils.js +0 -3
- package/dist/cjs/type-utils.js.map +0 -1
- package/dist/cjs/typeDefs.js +0 -620
- package/dist/cjs/typeDefs.js.map +0 -1
- package/dist/cjs/types.js +0 -33
- package/dist/cjs/types.js.map +0 -1
- package/dist/cjs/utils.js +0 -23
- package/dist/cjs/utils.js.map +0 -1
- package/dist/esm/EntityMap.js +0 -99
- package/dist/esm/EntityMap.js.map +0 -1
- package/dist/esm/MemoryEvictionManager.js +0 -51
- package/dist/esm/MemoryEvictionManager.js.map +0 -1
- package/dist/esm/NetworkManager.js +0 -120
- package/dist/esm/NetworkManager.js.map +0 -1
- package/dist/esm/QueryClient.js +0 -154
- package/dist/esm/QueryClient.js.map +0 -1
- package/dist/esm/QueryResult.js +0 -916
- package/dist/esm/QueryResult.js.map +0 -1
- package/dist/esm/RefetchManager.js +0 -83
- package/dist/esm/RefetchManager.js.map +0 -1
- package/dist/esm/errors.js +0 -125
- package/dist/esm/errors.js.map +0 -1
- package/dist/esm/index.js +0 -8
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/parseEntities.js +0 -135
- package/dist/esm/parseEntities.js.map +0 -1
- package/dist/esm/pathInterpolator.js +0 -66
- package/dist/esm/pathInterpolator.js.map +0 -1
- package/dist/esm/proxy.js +0 -254
- package/dist/esm/proxy.js.map +0 -1
- package/dist/esm/query.js +0 -177
- package/dist/esm/query.js.map +0 -1
- package/dist/esm/react/index.js +0 -2
- package/dist/esm/react/index.js.map +0 -1
- package/dist/esm/react/use-query.js +0 -53
- package/dist/esm/react/use-query.js.map +0 -1
- package/dist/esm/stores/async.js +0 -340
- package/dist/esm/stores/async.js.map +0 -1
- package/dist/esm/stores/shared.js +0 -13
- package/dist/esm/stores/shared.js.map +0 -1
- package/dist/esm/stores/sync.js +0 -234
- package/dist/esm/stores/sync.js.map +0 -1
- package/dist/esm/type-utils.js +0 -2
- package/dist/esm/type-utils.js.map +0 -1
- package/dist/esm/typeDefs.js +0 -606
- package/dist/esm/typeDefs.js.map +0 -1
- package/dist/esm/types.js +0 -30
- package/dist/esm/types.js.map +0 -1
- package/dist/esm/utils.js +0 -20
- package/dist/esm/utils.js.map +0 -1
- /package/dist/cjs/{package.json → development/package.json} +0 -0
package/dist/cjs/proxy.js
DELETED
|
@@ -1,263 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseArrayValue = parseArrayValue;
|
|
4
|
-
exports.parseRecordValue = parseRecordValue;
|
|
5
|
-
exports.parseObjectValue = parseObjectValue;
|
|
6
|
-
exports.parseValue = parseValue;
|
|
7
|
-
exports.mergeValues = mergeValues;
|
|
8
|
-
exports.createEntityProxy = createEntityProxy;
|
|
9
|
-
exports.getProxyId = getProxyId;
|
|
10
|
-
const signalium_1 = require("signalium");
|
|
11
|
-
const errors_js_1 = require("./errors.js");
|
|
12
|
-
const typeDefs_js_1 = require("./typeDefs.js");
|
|
13
|
-
const types_js_1 = require("./types.js");
|
|
14
|
-
const utils_js_1 = require("./utils.js");
|
|
15
|
-
const entries = Object.entries;
|
|
16
|
-
const isArray = Array.isArray;
|
|
17
|
-
const PROXY_ID = new WeakMap();
|
|
18
|
-
function parseUnionValue(valueType, value, unionDef, path) {
|
|
19
|
-
if (valueType === 64 /* Mask.ARRAY */) {
|
|
20
|
-
const shape = unionDef.shape[types_js_1.ARRAY_KEY];
|
|
21
|
-
if (shape === undefined || typeof shape === 'number') {
|
|
22
|
-
return value;
|
|
23
|
-
}
|
|
24
|
-
return parseArrayValue(value, shape, path);
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
// Use the cached typename field from the union definition
|
|
28
|
-
const typenameField = unionDef.typenameField;
|
|
29
|
-
const typename = typenameField ? value[typenameField] : undefined;
|
|
30
|
-
if (typename === undefined || typeof typename !== 'string') {
|
|
31
|
-
const recordShape = unionDef.shape[types_js_1.RECORD_KEY];
|
|
32
|
-
if (recordShape === undefined || typeof recordShape === 'number') {
|
|
33
|
-
// Union of objects/entities requires typename for discrimination
|
|
34
|
-
throw new Error(`Typename field '${typenameField}' is required for union discrimination but was not found in the data`);
|
|
35
|
-
}
|
|
36
|
-
return parseRecordValue(value, recordShape, path);
|
|
37
|
-
}
|
|
38
|
-
const matchingDef = unionDef.shape[typename];
|
|
39
|
-
if (matchingDef === undefined || typeof matchingDef === 'number') {
|
|
40
|
-
return value;
|
|
41
|
-
}
|
|
42
|
-
return parseObjectValue(value, matchingDef, path);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
function parseArrayValue(array, arrayShape, path) {
|
|
46
|
-
for (let i = 0; i < array.length; i++) {
|
|
47
|
-
array[i] = parseValue(array[i], arrayShape, `${path}[${i}]`);
|
|
48
|
-
}
|
|
49
|
-
return array;
|
|
50
|
-
}
|
|
51
|
-
function parseRecordValue(record, recordShape, path) {
|
|
52
|
-
for (const [key, value] of entries(record)) {
|
|
53
|
-
record[key] = parseValue(value, recordShape, `${path}["${key}"]`);
|
|
54
|
-
}
|
|
55
|
-
return record;
|
|
56
|
-
}
|
|
57
|
-
function parseObjectValue(object, objectShape, path) {
|
|
58
|
-
if (PROXY_ID.has(object)) {
|
|
59
|
-
// Is an entity proxy, so return it directly
|
|
60
|
-
return object;
|
|
61
|
-
}
|
|
62
|
-
const shape = objectShape.shape;
|
|
63
|
-
for (const [key, propShape] of entries(shape)) {
|
|
64
|
-
// parse and replace the property in place
|
|
65
|
-
object[key] = parseValue(object[key], propShape, `${path}.${key}`);
|
|
66
|
-
}
|
|
67
|
-
return object;
|
|
68
|
-
}
|
|
69
|
-
function parseValue(value, propDef, path) {
|
|
70
|
-
// Handle case-insensitive enums
|
|
71
|
-
if (propDef instanceof typeDefs_js_1.CaseInsensitiveSet) {
|
|
72
|
-
const canonical = propDef.get(value);
|
|
73
|
-
if (canonical === undefined) {
|
|
74
|
-
throw (0, errors_js_1.typeError)(path, propDef, value);
|
|
75
|
-
}
|
|
76
|
-
return canonical; // Return the canonical casing
|
|
77
|
-
}
|
|
78
|
-
// Handle Set-based constants/enums
|
|
79
|
-
if (propDef instanceof Set) {
|
|
80
|
-
if (!propDef.has(value)) {
|
|
81
|
-
throw (0, errors_js_1.typeError)(path, propDef, value);
|
|
82
|
-
}
|
|
83
|
-
return value;
|
|
84
|
-
}
|
|
85
|
-
switch (typeof propDef) {
|
|
86
|
-
case 'string':
|
|
87
|
-
// If value is undefined/null, return the typename from definition
|
|
88
|
-
if (value === undefined || value === null) {
|
|
89
|
-
return propDef;
|
|
90
|
-
}
|
|
91
|
-
if (value !== propDef) {
|
|
92
|
-
throw (0, errors_js_1.typeError)(path, propDef, value);
|
|
93
|
-
}
|
|
94
|
-
return value;
|
|
95
|
-
// handle primitives
|
|
96
|
-
case 'number': {
|
|
97
|
-
let valueType = (0, utils_js_1.typeMaskOf)(value);
|
|
98
|
-
if ((propDef & valueType) === 0) {
|
|
99
|
-
throw (0, errors_js_1.typeError)(path, propDef, value);
|
|
100
|
-
}
|
|
101
|
-
// Check if this field has a format - if so, parse with the format parser
|
|
102
|
-
if ((propDef & (8192 /* Mask.HAS_STRING_FORMAT */ | 4096 /* Mask.HAS_NUMBER_FORMAT */)) !== 0) {
|
|
103
|
-
// Lazy format parsing: parse the raw value using the format parser
|
|
104
|
-
return (0, typeDefs_js_1.getFormat)(propDef)(value);
|
|
105
|
-
}
|
|
106
|
-
return value;
|
|
107
|
-
}
|
|
108
|
-
// handle complex objects
|
|
109
|
-
default: {
|
|
110
|
-
// Note: Keep in mind that at this point, we're using `valueType`
|
|
111
|
-
// primarily, so some of the logic is "reversed" from the above where
|
|
112
|
-
// we use the `propDef` type primarily
|
|
113
|
-
let valueType = (0, utils_js_1.typeMaskOf)(value);
|
|
114
|
-
const propMask = propDef.mask;
|
|
115
|
-
// Check if the value type is allowed by the propMask
|
|
116
|
-
// Also check if it's in a values set (for enums/constants stored in ValidatorDef)
|
|
117
|
-
if ((propMask & valueType) === 0 && !propDef.values?.has(value)) {
|
|
118
|
-
throw (0, errors_js_1.typeError)(path, propMask, value);
|
|
119
|
-
}
|
|
120
|
-
if (valueType < 32 /* Mask.OBJECT */) {
|
|
121
|
-
// Check if this field has a format - if so, parse with the format parser
|
|
122
|
-
if ((propMask & (8192 /* Mask.HAS_STRING_FORMAT */ | 4096 /* Mask.HAS_NUMBER_FORMAT */)) !== 0) {
|
|
123
|
-
return (0, typeDefs_js_1.getFormat)(propMask)(value);
|
|
124
|
-
}
|
|
125
|
-
// value is a primitive, it has already passed the mask so return it now
|
|
126
|
-
return value;
|
|
127
|
-
}
|
|
128
|
-
if ((valueType & 512 /* Mask.UNION */) !== 0) {
|
|
129
|
-
return parseUnionValue(valueType, value, propDef, path);
|
|
130
|
-
}
|
|
131
|
-
if (valueType === 64 /* Mask.ARRAY */) {
|
|
132
|
-
return parseArrayValue(value, propDef.shape, path);
|
|
133
|
-
}
|
|
134
|
-
return parseObjectValue(value, propDef, path);
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
/**
|
|
139
|
-
* Deep merge two objects, with the update object taking precedence.
|
|
140
|
-
* Arrays are replaced, not merged.
|
|
141
|
-
* Handles nested objects recursively.
|
|
142
|
-
*/
|
|
143
|
-
function mergeValues(target, update) {
|
|
144
|
-
// Iterate over update properties
|
|
145
|
-
for (const [key, value] of entries(update)) {
|
|
146
|
-
if (typeof value === 'object' && value !== null && !isArray(value) && !PROXY_ID.has(value)) {
|
|
147
|
-
mergeValues(target[key], value);
|
|
148
|
-
}
|
|
149
|
-
else {
|
|
150
|
-
target[key] = value;
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
return target;
|
|
154
|
-
}
|
|
155
|
-
const CustomNodeInspect = Symbol.for('nodejs.util.inspect.custom');
|
|
156
|
-
function createEntityProxy(id, entityRecord, def, entityRelay, scopeOwner, desc) {
|
|
157
|
-
// Cache for nested proxies - each proxy gets its own cache
|
|
158
|
-
const shape = def.shape;
|
|
159
|
-
// Get cached methods from the definition (evaluated once during reifyShape)
|
|
160
|
-
const methods = def.methods;
|
|
161
|
-
// Cache for wrapped reactive methods - each proxy gets its own bound methods
|
|
162
|
-
const wrappedMethods = new Map();
|
|
163
|
-
const toJSON = () => ({
|
|
164
|
-
__entityRef: id,
|
|
165
|
-
});
|
|
166
|
-
// We need to declare proxy first so we can reference it in the handler
|
|
167
|
-
let proxy;
|
|
168
|
-
const handler = {
|
|
169
|
-
get(target, prop) {
|
|
170
|
-
// Handle toJSON for serialization
|
|
171
|
-
if (prop === 'toJSON') {
|
|
172
|
-
return toJSON;
|
|
173
|
-
}
|
|
174
|
-
const { data, cache, notifier } = entityRecord;
|
|
175
|
-
// Access relay value if it exists - this will activate it when watched in reactive context
|
|
176
|
-
// The relay access happens here to establish tracking when signal.value is read
|
|
177
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
|
|
178
|
-
entityRelay?.value;
|
|
179
|
-
notifier.consume();
|
|
180
|
-
// Check cache first, BEFORE any expensive checks
|
|
181
|
-
if (cache.has(prop)) {
|
|
182
|
-
return cache.get(prop);
|
|
183
|
-
}
|
|
184
|
-
// Check for method access
|
|
185
|
-
if (methods && typeof prop === 'string' && prop in methods) {
|
|
186
|
-
let wrapped = wrappedMethods.get(prop);
|
|
187
|
-
if (!wrapped) {
|
|
188
|
-
// Create reactive method wrapper bound to the proxy
|
|
189
|
-
// Bind the method to the proxy so `this` refers to the entity
|
|
190
|
-
wrapped = (0, signalium_1.reactiveMethod)(proxy, methods[prop].bind(proxy));
|
|
191
|
-
wrappedMethods.set(prop, wrapped);
|
|
192
|
-
}
|
|
193
|
-
return wrapped;
|
|
194
|
-
}
|
|
195
|
-
const value = data[prop];
|
|
196
|
-
const propDef = shape[prop];
|
|
197
|
-
if (!Object.hasOwnProperty.call(shape, prop)) {
|
|
198
|
-
return value;
|
|
199
|
-
}
|
|
200
|
-
const parsed = parseValue(value, propDef, `[[${desc}]].${prop}`);
|
|
201
|
-
cache.set(prop, parsed);
|
|
202
|
-
return parsed;
|
|
203
|
-
},
|
|
204
|
-
has(target, prop) {
|
|
205
|
-
// Include methods in the "in" check
|
|
206
|
-
if (methods && typeof prop === 'string' && prop in methods) {
|
|
207
|
-
return true;
|
|
208
|
-
}
|
|
209
|
-
return prop in shape;
|
|
210
|
-
},
|
|
211
|
-
ownKeys(target) {
|
|
212
|
-
const keys = Object.keys(shape);
|
|
213
|
-
// Add typename field if it exists on the definition
|
|
214
|
-
const typenameField = def.typenameField;
|
|
215
|
-
if (typenameField && !keys.includes(typenameField)) {
|
|
216
|
-
keys.push(typenameField);
|
|
217
|
-
}
|
|
218
|
-
// Add method keys
|
|
219
|
-
if (methods) {
|
|
220
|
-
for (const methodKey of Object.keys(methods)) {
|
|
221
|
-
if (!keys.includes(methodKey)) {
|
|
222
|
-
keys.push(methodKey);
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
return keys;
|
|
227
|
-
},
|
|
228
|
-
getOwnPropertyDescriptor(target, prop) {
|
|
229
|
-
const typenameField = def.typenameField;
|
|
230
|
-
if (prop in shape || prop === typenameField) {
|
|
231
|
-
return {
|
|
232
|
-
enumerable: true,
|
|
233
|
-
configurable: true,
|
|
234
|
-
};
|
|
235
|
-
}
|
|
236
|
-
// Methods are non-enumerable (like regular object methods)
|
|
237
|
-
if (methods && typeof prop === 'string' && prop in methods) {
|
|
238
|
-
return {
|
|
239
|
-
enumerable: false,
|
|
240
|
-
configurable: true,
|
|
241
|
-
};
|
|
242
|
-
}
|
|
243
|
-
return undefined;
|
|
244
|
-
},
|
|
245
|
-
};
|
|
246
|
-
proxy = new Proxy({
|
|
247
|
-
[CustomNodeInspect]: () => {
|
|
248
|
-
return Object.keys(shape).reduce((acc, key) => {
|
|
249
|
-
acc[key] = proxy[key];
|
|
250
|
-
return acc;
|
|
251
|
-
}, {});
|
|
252
|
-
},
|
|
253
|
-
}, handler);
|
|
254
|
-
// Add the proxy to the proxy brand set so we can easily identify it later
|
|
255
|
-
PROXY_ID.set(proxy, id);
|
|
256
|
-
// Associate the proxy with a scope owner for reactive method caching
|
|
257
|
-
(0, signalium_1.setScopeOwner)(proxy, scopeOwner);
|
|
258
|
-
return proxy;
|
|
259
|
-
}
|
|
260
|
-
function getProxyId(object) {
|
|
261
|
-
return PROXY_ID.get(object);
|
|
262
|
-
}
|
|
263
|
-
//# sourceMappingURL=proxy.js.map
|
package/dist/cjs/proxy.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/proxy.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/query.js
DELETED
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.queryKeyForFn = void 0;
|
|
4
|
-
exports.query = query;
|
|
5
|
-
exports.infiniteQuery = infiniteQuery;
|
|
6
|
-
exports.streamQuery = streamQuery;
|
|
7
|
-
const signalium_1 = require("signalium");
|
|
8
|
-
const QueryClient_js_1 = require("./QueryClient.js");
|
|
9
|
-
const typeDefs_js_1 = require("./typeDefs.js");
|
|
10
|
-
const pathInterpolator_js_1 = require("./pathInterpolator.js");
|
|
11
|
-
const utils_1 = require("signalium/utils");
|
|
12
|
-
// Map for getting query definitions by function reference, for testing
|
|
13
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
|
|
14
|
-
const QUERY_DEFINITION_MAP = new Map();
|
|
15
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
|
|
16
|
-
const queryKeyForFn = (fn, params) => {
|
|
17
|
-
const queryDef = QUERY_DEFINITION_MAP.get(fn);
|
|
18
|
-
if (queryDef === undefined) {
|
|
19
|
-
throw new Error('Query definition not found');
|
|
20
|
-
}
|
|
21
|
-
return (0, QueryClient_js_1.queryKeyFor)(queryDef(), params);
|
|
22
|
-
};
|
|
23
|
-
exports.queryKeyForFn = queryKeyForFn;
|
|
24
|
-
function buildQueryFn(queryDefinitionBuilder) {
|
|
25
|
-
let queryDefinition;
|
|
26
|
-
const getQueryDefinition = () => {
|
|
27
|
-
if (queryDefinition === undefined) {
|
|
28
|
-
const { path, method = 'GET', response, cache, pagination, stream, optimisticInserts, debounce, } = queryDefinitionBuilder();
|
|
29
|
-
const id = `${method}:${path}`;
|
|
30
|
-
let shape;
|
|
31
|
-
let shapeKey;
|
|
32
|
-
if (typeof response === 'object') {
|
|
33
|
-
if (response instanceof typeDefs_js_1.ValidatorDef) {
|
|
34
|
-
shape = response;
|
|
35
|
-
shapeKey = response.shapeKey;
|
|
36
|
-
}
|
|
37
|
-
else if (response instanceof Set) {
|
|
38
|
-
shape = response;
|
|
39
|
-
shapeKey = (0, utils_1.hashValue)(response);
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
shape = typeDefs_js_1.t.object(response);
|
|
43
|
-
shapeKey = shape.shapeKey;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
shape = response;
|
|
48
|
-
shapeKey = (0, utils_1.hashValue)(shape);
|
|
49
|
-
}
|
|
50
|
-
// Create optimized path interpolator (parses template once)
|
|
51
|
-
const interpolatePath = (0, pathInterpolator_js_1.createPathInterpolator)(path);
|
|
52
|
-
const fetchFn = async (context, params) => {
|
|
53
|
-
// Interpolate path params and append search params automatically
|
|
54
|
-
const url = interpolatePath(params);
|
|
55
|
-
const response = await context.fetch(url, {
|
|
56
|
-
method,
|
|
57
|
-
});
|
|
58
|
-
return response.json();
|
|
59
|
-
};
|
|
60
|
-
// Process stream configuration if provided
|
|
61
|
-
let streamConfig = undefined;
|
|
62
|
-
if (stream) {
|
|
63
|
-
let streamShape;
|
|
64
|
-
let streamShapeKey;
|
|
65
|
-
const eventDef = stream.type;
|
|
66
|
-
if (typeof eventDef === 'object') {
|
|
67
|
-
if (eventDef instanceof typeDefs_js_1.ValidatorDef) {
|
|
68
|
-
streamShape = eventDef;
|
|
69
|
-
streamShapeKey = eventDef.shapeKey;
|
|
70
|
-
}
|
|
71
|
-
else if (eventDef instanceof Set) {
|
|
72
|
-
streamShape = eventDef;
|
|
73
|
-
streamShapeKey = (0, utils_1.hashValue)(eventDef);
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
streamShape = typeDefs_js_1.t.object(eventDef);
|
|
77
|
-
streamShapeKey = streamShape.shapeKey;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
streamShape = eventDef;
|
|
82
|
-
streamShapeKey = (0, utils_1.hashValue)(streamShape);
|
|
83
|
-
}
|
|
84
|
-
streamConfig = {
|
|
85
|
-
shape: streamShape,
|
|
86
|
-
shapeKey: streamShapeKey,
|
|
87
|
-
subscribeFn: (context, params, onUpdate) => {
|
|
88
|
-
return stream.subscribe(context, params, onUpdate);
|
|
89
|
-
},
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
// Process optimistic inserts configuration if provided
|
|
93
|
-
let optimisticInsertsConfig = undefined;
|
|
94
|
-
if (optimisticInserts) {
|
|
95
|
-
let insertShape;
|
|
96
|
-
let insertShapeKey;
|
|
97
|
-
const insertDef = optimisticInserts.type;
|
|
98
|
-
if (typeof insertDef === 'object') {
|
|
99
|
-
if (insertDef instanceof typeDefs_js_1.ValidatorDef) {
|
|
100
|
-
insertShape = insertDef;
|
|
101
|
-
insertShapeKey = insertDef.shapeKey;
|
|
102
|
-
}
|
|
103
|
-
else if (insertDef instanceof Set) {
|
|
104
|
-
insertShape = insertDef;
|
|
105
|
-
insertShapeKey = (0, utils_1.hashValue)(insertDef);
|
|
106
|
-
}
|
|
107
|
-
else {
|
|
108
|
-
insertShape = typeDefs_js_1.t.object(insertDef);
|
|
109
|
-
insertShapeKey = insertShape.shapeKey;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
113
|
-
insertShape = insertDef;
|
|
114
|
-
insertShapeKey = (0, utils_1.hashValue)(insertShape);
|
|
115
|
-
}
|
|
116
|
-
optimisticInsertsConfig = {
|
|
117
|
-
shape: insertShape,
|
|
118
|
-
shapeKey: insertShapeKey,
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
queryDefinition = {
|
|
122
|
-
type: pagination ? "infiniteQuery" /* QueryType.InfiniteQuery */ : "query" /* QueryType.Query */,
|
|
123
|
-
id,
|
|
124
|
-
shape,
|
|
125
|
-
shapeKey,
|
|
126
|
-
fetchFn,
|
|
127
|
-
pagination,
|
|
128
|
-
cache,
|
|
129
|
-
stream: streamConfig,
|
|
130
|
-
optimisticInserts: optimisticInsertsConfig,
|
|
131
|
-
debounce,
|
|
132
|
-
};
|
|
133
|
-
}
|
|
134
|
-
return queryDefinition;
|
|
135
|
-
};
|
|
136
|
-
const queryFn = (0, signalium_1.reactive)((params) => {
|
|
137
|
-
const queryClient = (0, signalium_1.getContext)(QueryClient_js_1.QueryClientContext);
|
|
138
|
-
if (queryClient === undefined) {
|
|
139
|
-
throw new Error('QueryClient not found');
|
|
140
|
-
}
|
|
141
|
-
return queryClient.getQuery(getQueryDefinition(), params);
|
|
142
|
-
});
|
|
143
|
-
QUERY_DEFINITION_MAP.set(queryFn, getQueryDefinition);
|
|
144
|
-
return queryFn;
|
|
145
|
-
}
|
|
146
|
-
function query(queryDefinitionBuilder) {
|
|
147
|
-
return buildQueryFn(queryDefinitionBuilder);
|
|
148
|
-
}
|
|
149
|
-
function infiniteQuery(queryDefinitionBuilder) {
|
|
150
|
-
return buildQueryFn(queryDefinitionBuilder);
|
|
151
|
-
}
|
|
152
|
-
function streamQuery(queryDefinitionBuilder) {
|
|
153
|
-
let streamDefinition;
|
|
154
|
-
const getStreamDefinition = () => {
|
|
155
|
-
if (streamDefinition === undefined) {
|
|
156
|
-
const { id, response, subscribe, cache } = queryDefinitionBuilder();
|
|
157
|
-
// Validate that response is an EntityDef
|
|
158
|
-
if (!(response instanceof typeDefs_js_1.ValidatorDef) || (response.mask & 1024 /* Mask.ENTITY */) === 0) {
|
|
159
|
-
throw new Error('Stream query response must be an EntityDef');
|
|
160
|
-
}
|
|
161
|
-
streamDefinition = {
|
|
162
|
-
type: "stream" /* QueryType.Stream */,
|
|
163
|
-
id,
|
|
164
|
-
shape: response,
|
|
165
|
-
shapeKey: response.shapeKey,
|
|
166
|
-
subscribeFn: (context, params, onUpdate) => {
|
|
167
|
-
return subscribe(params, onUpdate);
|
|
168
|
-
},
|
|
169
|
-
cache,
|
|
170
|
-
};
|
|
171
|
-
}
|
|
172
|
-
return streamDefinition;
|
|
173
|
-
};
|
|
174
|
-
const streamFn = (0, signalium_1.reactive)((params) => {
|
|
175
|
-
const queryClient = (0, signalium_1.getContext)(QueryClient_js_1.QueryClientContext);
|
|
176
|
-
if (queryClient === undefined) {
|
|
177
|
-
throw new Error('QueryClient not found');
|
|
178
|
-
}
|
|
179
|
-
return queryClient.getQuery(getStreamDefinition(), params);
|
|
180
|
-
});
|
|
181
|
-
QUERY_DEFINITION_MAP.set(streamFn, getStreamDefinition);
|
|
182
|
-
return streamFn;
|
|
183
|
-
}
|
|
184
|
-
//# sourceMappingURL=query.js.map
|
package/dist/cjs/query.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/query.ts"],"names":[],"mappings":";;;AA0TA,sBAUC;AAED,sCAgBC;AAED,kCA8CC;AAtYD,yCAAiD;AAajD,qDAS0B;AAC1B,+CAAwD;AACxD,+DAA+D;AAC/D,2CAA4C;AAiC5C,uEAAuE;AACvE,sEAAsE;AACtE,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAkD,CAAC;AAEvF,sEAAsE;AAC/D,MAAM,aAAa,GAAG,CAAC,EAAY,EAAE,MAAe,EAAU,EAAE;IACrE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAE9C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,IAAA,4BAAW,EAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC,CAAC;AARW,QAAA,aAAa,iBAQxB;AA8EF,SAAS,YAAY,CACnB,sBAYK;IAEL,IAAI,eAAgC,CAAC;IAErC,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC9B,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,EACJ,IAAI,EACJ,MAAM,GAAG,KAAK,EACd,QAAQ,EACR,KAAK,EACL,UAAU,EACV,MAAM,EACN,iBAAiB,EACjB,QAAQ,GACT,GAAG,sBAAsB,EAA0D,CAAC;YAErF,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC;YAE/B,IAAI,KAAc,CAAC;YACnB,IAAI,QAAgB,CAAC;YAErB,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACjC,IAAI,QAAQ,YAAY,0BAAY,EAAE,CAAC;oBACrC,KAAK,GAAG,QAAmB,CAAC;oBAC5B,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;gBAC/B,CAAC;qBAAM,IAAI,QAAQ,YAAY,GAAG,EAAE,CAAC;oBACnC,KAAK,GAAG,QAAQ,CAAC;oBACjB,QAAQ,GAAG,IAAA,iBAAS,EAAC,QAAQ,CAAC,CAAC;gBACjC,CAAC;qBAAM,CAAC;oBACN,KAAK,GAAG,eAAC,CAAC,MAAM,CAAC,QAA8C,CAAC,CAAC;oBACjE,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;gBAC5B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,QAAgB,CAAC;gBACzB,QAAQ,GAAG,IAAA,iBAAS,EAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;YAED,4DAA4D;YAC5D,MAAM,eAAe,GAAG,IAAA,4CAAsB,EAAC,IAAI,CAAC,CAAC;YAErD,MAAM,OAAO,GAAG,KAAK,EAAE,OAAqB,EAAE,MAAmB,EAAE,EAAE;gBACnE,iEAAiE;gBACjE,MAAM,GAAG,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;gBAEpC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE;oBACxC,MAAM;iBACP,CAAC,CAAC;gBAEH,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;YACzB,CAAC,CAAC;YAEF,2CAA2C;YAC3C,IAAI,YAAY,GAAQ,SAAS,CAAC;YAClC,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,WAAoB,CAAC;gBACzB,IAAI,cAAsB,CAAC;gBAE3B,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;gBAE7B,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBACjC,IAAI,QAAQ,YAAY,0BAAY,EAAE,CAAC;wBACrC,WAAW,GAAG,QAAmB,CAAC;wBAClC,cAAc,GAAG,QAAQ,CAAC,QAAQ,CAAC;oBACrC,CAAC;yBAAM,IAAI,QAAQ,YAAY,GAAG,EAAE,CAAC;wBACnC,WAAW,GAAG,QAAQ,CAAC;wBACvB,cAAc,GAAG,IAAA,iBAAS,EAAC,QAAQ,CAAC,CAAC;oBACvC,CAAC;yBAAM,CAAC;wBACN,WAAW,GAAG,eAAC,CAAC,MAAM,CAAC,QAA8C,CAAC,CAAC;wBACvE,cAAc,GAAG,WAAW,CAAC,QAAQ,CAAC;oBACxC,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,WAAW,GAAG,QAAgB,CAAC;oBAC/B,cAAc,GAAG,IAAA,iBAAS,EAAC,WAAW,CAAC,CAAC;gBAC1C,CAAC;gBAED,YAAY,GAAG;oBACb,KAAK,EAAE,WAAW;oBAClB,QAAQ,EAAE,cAAc;oBACxB,WAAW,EAAE,CAAC,OAAqB,EAAE,MAA+B,EAAE,QAAa,EAAE,EAAE;wBACrF,OAAQ,MAAM,CAAC,SAAiB,CAAC,OAAO,EAAE,MAAa,EAAE,QAAQ,CAAC,CAAC;oBACrE,CAAC;iBACF,CAAC;YACJ,CAAC;YAED,uDAAuD;YACvD,IAAI,uBAAuB,GAAQ,SAAS,CAAC;YAC7C,IAAI,iBAAiB,EAAE,CAAC;gBACtB,IAAI,WAAoB,CAAC;gBACzB,IAAI,cAAsB,CAAC;gBAE3B,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC;gBAEzC,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;oBAClC,IAAI,SAAS,YAAY,0BAAY,EAAE,CAAC;wBACtC,WAAW,GAAG,SAAoB,CAAC;wBACnC,cAAc,GAAG,SAAS,CAAC,QAAQ,CAAC;oBACtC,CAAC;yBAAM,IAAI,SAAS,YAAY,GAAG,EAAE,CAAC;wBACpC,WAAW,GAAG,SAAS,CAAC;wBACxB,cAAc,GAAG,IAAA,iBAAS,EAAC,SAAS,CAAC,CAAC;oBACxC,CAAC;yBAAM,CAAC;wBACN,WAAW,GAAG,eAAC,CAAC,MAAM,CAAC,SAA+C,CAAC,CAAC;wBACxE,cAAc,GAAG,WAAW,CAAC,QAAQ,CAAC;oBACxC,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,WAAW,GAAG,SAAiB,CAAC;oBAChC,cAAc,GAAG,IAAA,iBAAS,EAAC,WAAW,CAAC,CAAC;gBAC1C,CAAC;gBAED,uBAAuB,GAAG;oBACxB,KAAK,EAAE,WAAW;oBAClB,QAAQ,EAAE,cAAc;iBACzB,CAAC;YACJ,CAAC;YAED,eAAe,GAAG;gBAChB,IAAI,EAAE,UAAU,CAAC,CAAC,+CAAyB,CAAC,8BAAgB;gBAC5D,EAAE;gBACF,KAAK;gBACL,QAAQ;gBACR,OAAO;gBACP,UAAU;gBACV,KAAK;gBACL,MAAM,EAAE,YAAY;gBACpB,iBAAiB,EAAE,uBAAuB;gBAC1C,QAAQ;aACT,CAAC;QACJ,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,IAAA,oBAAQ,EACtB,CAAC,MAA+B,EAA0C,EAAE;QAC1E,MAAM,WAAW,GAAG,IAAA,sBAAU,EAAC,mCAAkB,CAAC,CAAC;QAEnD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,WAAW,CAAC,QAAQ,CAAU,kBAAkB,EAAE,EAAE,MAAM,CAAC,CAAC;IACrE,CAAC,CAIK,CAAC;IAET,oBAAoB,CAAC,GAAG,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAEtD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAgB,KAAK,CAOnB,sBAA8G;IAE9G,OAAO,YAAY,CAAC,sBAA6B,CAAQ,CAAC;AAC5D,CAAC;AAED,SAAgB,aAAa,CAO3B,sBAMC;IAED,OAAO,YAAY,CAAC,sBAA6B,CAAQ,CAAC;AAC5D,CAAC;AAED,SAAgB,WAAW,CAMzB,sBAA4E;IAE5E,IAAI,gBAAiC,CAAC;IAEtC,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC/B,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,sBAAsB,EAAE,CAAC;YAEpE,yCAAyC;YACzC,IAAI,CAAC,CAAC,QAAQ,YAAY,0BAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,yBAAc,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/E,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAChE,CAAC;YAED,gBAAgB,GAAG;gBACjB,IAAI,iCAAkB;gBACtB,EAAE;gBACF,KAAK,EAAE,QAAqB;gBAC5B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,WAAW,EAAE,CAAC,OAAqB,EAAE,MAA+B,EAAE,QAAa,EAAE,EAAE;oBACrF,OAAQ,SAAiB,CAAC,MAAa,EAAE,QAAQ,CAAC,CAAC;gBACrD,CAAC;gBACD,KAAK;aACN,CAAC;QACJ,CAAC;QACD,OAAO,gBAAgB,CAAC;IAC1B,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,IAAA,oBAAQ,EAAC,CAAC,MAA+B,EAA0C,EAAE;QACpG,MAAM,WAAW,GAAG,IAAA,sBAAU,EAAC,mCAAkB,CAAC,CAAC;QAEnD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,WAAW,CAAC,QAAQ,CAAU,mBAAmB,EAAE,EAAE,MAAM,CAAC,CAAC;IACtE,CAAC,CAAQ,CAAC;IAEV,oBAAoB,CAAC,GAAG,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IAExD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
package/dist/cjs/react/index.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useQuery = void 0;
|
|
4
|
-
var use_query_js_1 = require("./use-query.js");
|
|
5
|
-
Object.defineProperty(exports, "useQuery", { enumerable: true, get: function () { return use_query_js_1.useQuery; } });
|
|
6
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/react/index.ts"],"names":[],"mappings":";;;AAAA,+CAA0C;AAAjC,wGAAA,QAAQ,OAAA"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useQuery = useQuery;
|
|
4
|
-
const react_1 = require("signalium/react");
|
|
5
|
-
const signalium_1 = require("signalium");
|
|
6
|
-
function cloneDeep(value) {
|
|
7
|
-
if (Array.isArray(value)) {
|
|
8
|
-
return value.map(cloneDeep);
|
|
9
|
-
}
|
|
10
|
-
if (value && typeof value === 'object') {
|
|
11
|
-
// Handle Date
|
|
12
|
-
if (value instanceof Date) {
|
|
13
|
-
return new Date(value);
|
|
14
|
-
}
|
|
15
|
-
// Handle RegExp
|
|
16
|
-
if (value instanceof RegExp) {
|
|
17
|
-
return new RegExp(value);
|
|
18
|
-
}
|
|
19
|
-
// Handle Map
|
|
20
|
-
if (value instanceof Map) {
|
|
21
|
-
return new Map(Array.from(value.entries()).map(([k, v]) => [cloneDeep(k), cloneDeep(v)]));
|
|
22
|
-
}
|
|
23
|
-
// Handle Set
|
|
24
|
-
if (value instanceof Set) {
|
|
25
|
-
return new Set(Array.from(value).map(cloneDeep));
|
|
26
|
-
}
|
|
27
|
-
// Handle plain objects
|
|
28
|
-
const result = Object.create(Object.getPrototypeOf(value));
|
|
29
|
-
for (const key of Object.keys(value)) {
|
|
30
|
-
result[key] = cloneDeep(value[key]);
|
|
31
|
-
}
|
|
32
|
-
return result;
|
|
33
|
-
}
|
|
34
|
-
return value;
|
|
35
|
-
}
|
|
36
|
-
const clonedResult = (0, signalium_1.reactive)((result) => cloneDeep(result.value));
|
|
37
|
-
const riefiedQuery = (0, signalium_1.reactive)((fn, ...args) => {
|
|
38
|
-
const queryResult = fn(...args);
|
|
39
|
-
return new Proxy(queryResult, {
|
|
40
|
-
get(target, prop, receiver) {
|
|
41
|
-
// Clone the value property when accessed
|
|
42
|
-
if (prop === 'value') {
|
|
43
|
-
return clonedResult(target);
|
|
44
|
-
}
|
|
45
|
-
// Forward all other properties/methods to the original query result
|
|
46
|
-
return Reflect.get(target, prop, receiver);
|
|
47
|
-
},
|
|
48
|
-
});
|
|
49
|
-
});
|
|
50
|
-
// Implementation
|
|
51
|
-
function useQuery(fn, ...args) {
|
|
52
|
-
const result = (0, react_1.useReactive)(riefiedQuery, fn, ...args);
|
|
53
|
-
(0, react_1.useReactive)(() => result.value);
|
|
54
|
-
return result;
|
|
55
|
-
}
|
|
56
|
-
//# sourceMappingURL=use-query.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-query.js","sourceRoot":"","sources":["../../../src/react/use-query.ts"],"names":[],"mappings":";;AAyFA,4BAoBC;AA7GD,2CAA8C;AAC9C,yCAAqC;AAMrC,SAAS,SAAS,CAAI,KAAQ;IAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAiB,CAAC;IAC9C,CAAC;IACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,cAAc;QACd,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;YAC1B,OAAO,IAAI,IAAI,CAAC,KAAK,CAAiB,CAAC;QACzC,CAAC;QACD,gBAAgB;QAChB,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;YAC5B,OAAO,IAAI,MAAM,CAAC,KAAK,CAAiB,CAAC;QAC3C,CAAC;QACD,aAAa;QACb,IAAI,KAAK,YAAY,GAAG,EAAE,CAAC;YACzB,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAiB,CAAC;QAC5G,CAAC;QACD,aAAa;QACb,IAAI,KAAK,YAAY,GAAG,EAAE,CAAC;YACzB,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAiB,CAAC;QACnE,CAAC;QACD,uBAAuB;QACvB,MAAM,MAAM,GAAQ,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAE,KAAa,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,MAAW,CAAC;IACrB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,YAAY,GAAG,IAAA,oBAAQ,EAC3B,CACE,MAG8B,EAC9B,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAC7B,CAAC;AAEF,MAAM,YAAY,GAAG,IAAA,oBAAQ,EAC3B,CACE,EAEuG,EACvG,GAAG,IAAU,EACuF,EAAE;IACtG,MAAM,WAAW,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IAEhC,OAAO,IAAI,KAAK,CAAC,WAAW,EAAE;QAC5B,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;YACxB,yCAAyC;YACzC,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACrB,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC;YAED,oEAAoE;YACpE,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7C,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CACF,CAAC;AAoBF,iBAAiB;AACjB,SAAgB,QAAQ,CACtB,EAKwB,EACxB,GAAG,IAAU;IAKb,MAAM,MAAM,GAAG,IAAA,mBAAW,EAAC,YAAY,EAAE,EAAE,EAAE,GAAG,IAAI,CAG5B,CAAC;IAEzB,IAAA,mBAAW,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEhC,OAAO,MAAM,CAAC;AAChB,CAAC"}
|