@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.
Files changed (151) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/cjs/development/index.js +2985 -0
  3. package/dist/cjs/development/index.js.map +1 -0
  4. package/dist/cjs/development/react/index.js +52 -0
  5. package/dist/cjs/development/react/index.js.map +1 -0
  6. package/dist/cjs/{stores/shared.js → development/shared-5acOO-tS.js} +11 -14
  7. package/dist/cjs/development/shared-5acOO-tS.js.map +1 -0
  8. package/dist/cjs/development/stores/async.js +304 -0
  9. package/dist/cjs/development/stores/async.js.map +1 -0
  10. package/dist/cjs/development/stores/sync.js +214 -0
  11. package/dist/cjs/development/stores/sync.js.map +1 -0
  12. package/dist/cjs/production/index.js +2985 -0
  13. package/dist/cjs/production/index.js.map +1 -0
  14. package/dist/cjs/production/package.json +3 -0
  15. package/dist/cjs/production/react/index.js +52 -0
  16. package/dist/cjs/production/react/index.js.map +1 -0
  17. package/dist/cjs/production/shared-5acOO-tS.js +20 -0
  18. package/dist/cjs/production/shared-5acOO-tS.js.map +1 -0
  19. package/dist/cjs/production/stores/async.js +304 -0
  20. package/dist/cjs/production/stores/async.js.map +1 -0
  21. package/dist/cjs/production/stores/sync.js +214 -0
  22. package/dist/cjs/production/stores/sync.js.map +1 -0
  23. package/dist/esm/EntityMap.d.ts +22 -0
  24. package/dist/esm/EntityMap.d.ts.map +1 -1
  25. package/dist/esm/MutationResult.d.ts +43 -0
  26. package/dist/esm/MutationResult.d.ts.map +1 -0
  27. package/dist/esm/QueryClient.d.ts +31 -2
  28. package/dist/esm/QueryClient.d.ts.map +1 -1
  29. package/dist/esm/development/index.js +2985 -0
  30. package/dist/esm/development/index.js.map +1 -0
  31. package/dist/esm/development/react/index.js +52 -0
  32. package/dist/esm/development/react/index.js.map +1 -0
  33. package/dist/esm/development/shared-Br5plsKm.js +21 -0
  34. package/dist/esm/development/shared-Br5plsKm.js.map +1 -0
  35. package/dist/esm/development/stores/async.js +304 -0
  36. package/dist/esm/development/stores/async.js.map +1 -0
  37. package/dist/esm/development/stores/sync.js +214 -0
  38. package/dist/esm/development/stores/sync.js.map +1 -0
  39. package/dist/esm/index.d.ts +4 -0
  40. package/dist/esm/index.d.ts.map +1 -1
  41. package/dist/esm/mutation.d.ts +82 -0
  42. package/dist/esm/mutation.d.ts.map +1 -0
  43. package/dist/esm/parseEntities.d.ts.map +1 -1
  44. package/dist/esm/production/index.js +2985 -0
  45. package/dist/esm/production/index.js.map +1 -0
  46. package/dist/esm/production/react/index.js +52 -0
  47. package/dist/esm/production/react/index.js.map +1 -0
  48. package/dist/esm/production/shared-Br5plsKm.js +21 -0
  49. package/dist/esm/production/shared-Br5plsKm.js.map +1 -0
  50. package/dist/esm/production/stores/async.js +304 -0
  51. package/dist/esm/production/stores/async.js.map +1 -0
  52. package/dist/esm/production/stores/sync.js +214 -0
  53. package/dist/esm/production/stores/sync.js.map +1 -0
  54. package/dist/esm/proxy.d.ts +6 -5
  55. package/dist/esm/proxy.d.ts.map +1 -1
  56. package/dist/esm/query.d.ts +3 -1
  57. package/dist/esm/query.d.ts.map +1 -1
  58. package/dist/esm/typeDefs.d.ts +5 -3
  59. package/dist/esm/typeDefs.d.ts.map +1 -1
  60. package/dist/esm/types.d.ts +72 -5
  61. package/dist/esm/types.d.ts.map +1 -1
  62. package/dist/esm/utils.d.ts +35 -0
  63. package/dist/esm/utils.d.ts.map +1 -1
  64. package/package.json +55 -21
  65. package/stores/async.js +1 -1
  66. package/stores/sync.js +1 -1
  67. package/dist/cjs/EntityMap.js +0 -103
  68. package/dist/cjs/EntityMap.js.map +0 -1
  69. package/dist/cjs/MemoryEvictionManager.js +0 -56
  70. package/dist/cjs/MemoryEvictionManager.js.map +0 -1
  71. package/dist/cjs/NetworkManager.js +0 -125
  72. package/dist/cjs/NetworkManager.js.map +0 -1
  73. package/dist/cjs/QueryClient.js +0 -162
  74. package/dist/cjs/QueryClient.js.map +0 -1
  75. package/dist/cjs/QueryResult.js +0 -920
  76. package/dist/cjs/QueryResult.js.map +0 -1
  77. package/dist/cjs/RefetchManager.js +0 -88
  78. package/dist/cjs/RefetchManager.js.map +0 -1
  79. package/dist/cjs/errors.js +0 -129
  80. package/dist/cjs/errors.js.map +0 -1
  81. package/dist/cjs/index.js +0 -43
  82. package/dist/cjs/index.js.map +0 -1
  83. package/dist/cjs/parseEntities.js +0 -142
  84. package/dist/cjs/parseEntities.js.map +0 -1
  85. package/dist/cjs/pathInterpolator.js +0 -69
  86. package/dist/cjs/pathInterpolator.js.map +0 -1
  87. package/dist/cjs/proxy.js +0 -263
  88. package/dist/cjs/proxy.js.map +0 -1
  89. package/dist/cjs/query.js +0 -184
  90. package/dist/cjs/query.js.map +0 -1
  91. package/dist/cjs/react/index.js +0 -6
  92. package/dist/cjs/react/index.js.map +0 -1
  93. package/dist/cjs/react/use-query.js +0 -56
  94. package/dist/cjs/react/use-query.js.map +0 -1
  95. package/dist/cjs/stores/async.js +0 -344
  96. package/dist/cjs/stores/async.js.map +0 -1
  97. package/dist/cjs/stores/shared.js.map +0 -1
  98. package/dist/cjs/stores/sync.js +0 -240
  99. package/dist/cjs/stores/sync.js.map +0 -1
  100. package/dist/cjs/tsconfig.cjs.tsbuildinfo +0 -1
  101. package/dist/cjs/type-utils.js +0 -3
  102. package/dist/cjs/type-utils.js.map +0 -1
  103. package/dist/cjs/typeDefs.js +0 -620
  104. package/dist/cjs/typeDefs.js.map +0 -1
  105. package/dist/cjs/types.js +0 -33
  106. package/dist/cjs/types.js.map +0 -1
  107. package/dist/cjs/utils.js +0 -23
  108. package/dist/cjs/utils.js.map +0 -1
  109. package/dist/esm/EntityMap.js +0 -99
  110. package/dist/esm/EntityMap.js.map +0 -1
  111. package/dist/esm/MemoryEvictionManager.js +0 -51
  112. package/dist/esm/MemoryEvictionManager.js.map +0 -1
  113. package/dist/esm/NetworkManager.js +0 -120
  114. package/dist/esm/NetworkManager.js.map +0 -1
  115. package/dist/esm/QueryClient.js +0 -154
  116. package/dist/esm/QueryClient.js.map +0 -1
  117. package/dist/esm/QueryResult.js +0 -916
  118. package/dist/esm/QueryResult.js.map +0 -1
  119. package/dist/esm/RefetchManager.js +0 -83
  120. package/dist/esm/RefetchManager.js.map +0 -1
  121. package/dist/esm/errors.js +0 -125
  122. package/dist/esm/errors.js.map +0 -1
  123. package/dist/esm/index.js +0 -8
  124. package/dist/esm/index.js.map +0 -1
  125. package/dist/esm/parseEntities.js +0 -135
  126. package/dist/esm/parseEntities.js.map +0 -1
  127. package/dist/esm/pathInterpolator.js +0 -66
  128. package/dist/esm/pathInterpolator.js.map +0 -1
  129. package/dist/esm/proxy.js +0 -254
  130. package/dist/esm/proxy.js.map +0 -1
  131. package/dist/esm/query.js +0 -177
  132. package/dist/esm/query.js.map +0 -1
  133. package/dist/esm/react/index.js +0 -2
  134. package/dist/esm/react/index.js.map +0 -1
  135. package/dist/esm/react/use-query.js +0 -53
  136. package/dist/esm/react/use-query.js.map +0 -1
  137. package/dist/esm/stores/async.js +0 -340
  138. package/dist/esm/stores/async.js.map +0 -1
  139. package/dist/esm/stores/shared.js +0 -13
  140. package/dist/esm/stores/shared.js.map +0 -1
  141. package/dist/esm/stores/sync.js +0 -234
  142. package/dist/esm/stores/sync.js.map +0 -1
  143. package/dist/esm/type-utils.js +0 -2
  144. package/dist/esm/type-utils.js.map +0 -1
  145. package/dist/esm/typeDefs.js +0 -606
  146. package/dist/esm/typeDefs.js.map +0 -1
  147. package/dist/esm/types.js +0 -30
  148. package/dist/esm/types.js.map +0 -1
  149. package/dist/esm/utils.js +0 -20
  150. package/dist/esm/utils.js.map +0 -1
  151. /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
@@ -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
@@ -1 +0,0 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/query.ts"],"names":[],"mappings":"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"}
@@ -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"}