@@ -55,7 +55,7 @@ export class JsonDB {
5555 */
5656 query ( query_json : string ) : any ;
5757 /**
58- * Query documents with options (sort, projection, etc.)
58+ * Query documents with options (sort, projection, etc.) - optimized version
5959 */
6060 query_with_options ( query_json : string , options_json : string ) : any ;
6161 /**
@@ -89,157 +89,6 @@ export class JsonDB {
8989 */
9090 clear ( ) : any ;
9191}
92- /**
93- * Query subscription for reactive updates
94- */
95- export class QuerySubscription {
96- free ( ) : void ;
97- /**
98- * Create a new subscription
99- */
100- constructor ( query : string ) ;
101- /**
102- * Pause the subscription
103- */
104- pause ( ) : void ;
105- /**
106- * Resume the subscription
107- */
108- resume ( ) : void ;
109- /**
110- * Set update callback
111- */
112- on_update ( callback : Function ) : void ;
113- /**
114- * Trigger an update
115- */
116- notify ( update : any ) : void ;
117- /**
118- * Get subscription ID
119- */
120- readonly id : string ;
121- /**
122- * Check if subscription is active
123- */
124- readonly active : boolean ;
125- }
126- /**
127- * Reactive database with real-time updates
128- */
129- export class ReactiveDB {
130- free ( ) : void ;
131- /**
132- * Create a new reactive database
133- */
134- constructor ( ) ;
135- /**
136- * Enable cross-tab synchronization
137- */
138- enable_cross_tab_sync ( channel_name : string ) : void ;
139- /**
140- * Create a reactive view
141- */
142- create_view ( query : string ) : ReactiveView ;
143- /**
144- * Subscribe to query changes
145- */
146- subscribe ( query : string , callback : Function ) : QuerySubscription ;
147- /**
148- * Broadcast a change to all tabs
149- */
150- broadcast_change ( change : any ) : void ;
151- /**
152- * Process a local change and notify subscribers
153- */
154- process_change ( change : any ) : void ;
155- }
156- /**
157- * Utilities for working with reactive features
158- */
159- export class ReactiveUtils {
160- private constructor ( ) ;
161- free ( ) : void ;
162- /**
163- * Check if SharedArrayBuffer is available
164- */
165- static is_shared_memory_available ( ) : boolean ;
166- /**
167- * Check if BroadcastChannel is available
168- */
169- static is_broadcast_channel_available ( ) : boolean ;
170- /**
171- * Create a change event
172- */
173- static create_change_event ( change_type : string , document_id : string , document : any ) : any ;
174- /**
175- * Create an update notification
176- */
177- static create_update ( added : Array < any > , removed : Array < any > , updated : Array < any > ) : any ;
178- }
179- /**
180- * JavaScript-friendly reactive view
181- */
182- export class ReactiveView {
183- free ( ) : void ;
184- /**
185- * Create a new reactive view with a query
186- */
187- constructor ( query : string ) ;
188- /**
189- * Set callback for updates
190- */
191- on_update ( callback : Function ) : void ;
192- /**
193- * Enable cross-tab synchronization
194- */
195- enable_cross_tab ( channel_name : string ) : void ;
196- /**
197- * Broadcast an update to other tabs
198- */
199- broadcast_update ( data : any ) : void ;
200- /**
201- * Get the view ID
202- */
203- readonly id : string ;
204- /**
205- * Get the query
206- */
207- readonly query : string ;
208- }
209- /**
210- * SharedArrayBuffer wrapper for zero-copy data transfer
211- */
212- export class SharedBuffer {
213- free ( ) : void ;
214- /**
215- * Create a new shared buffer
216- */
217- constructor ( size : number ) ;
218- /**
219- * Write data to the buffer
220- */
221- write ( data : Uint8Array ) : number ;
222- /**
223- * Read data from the buffer
224- */
225- read ( length : number ) : Uint8Array ;
226- /**
227- * Reset the buffer position
228- */
229- reset ( ) : void ;
230- /**
231- * Get the underlying SharedArrayBuffer
232- */
233- readonly buffer : SharedArrayBuffer ;
234- /**
235- * Get current position
236- */
237- readonly position : number ;
238- /**
239- * Get buffer size
240- */
241- readonly size : number ;
242- }
24392/**
24493 * WASM bindings for SharedArrayBuffer
24594 */
@@ -275,41 +124,6 @@ export interface InitOutput {
275124 readonly jsondb_list_indexes : ( a : number , b : number ) => void ;
276125 readonly jsondb_aggregate : ( a : number , b : number , c : number , d : number ) => void ;
277126 readonly jsondb_clear : ( a : number , b : number ) => void ;
278- readonly __wbg_reactiveview_free : ( a : number , b : number ) => void ;
279- readonly reactiveview_new : ( a : number , b : number , c : number ) => void ;
280- readonly reactiveview_id : ( a : number , b : number ) => void ;
281- readonly reactiveview_query : ( a : number , b : number ) => void ;
282- readonly reactiveview_on_update : ( a : number , b : number ) => void ;
283- readonly reactiveview_enable_cross_tab : ( a : number , b : number , c : number , d : number ) => void ;
284- readonly reactiveview_broadcast_update : ( a : number , b : number , c : number ) => void ;
285- readonly __wbg_querysubscription_free : ( a : number , b : number ) => void ;
286- readonly querysubscription_new : ( a : number , b : number ) => number ;
287- readonly querysubscription_id : ( a : number , b : number ) => void ;
288- readonly querysubscription_active : ( a : number ) => number ;
289- readonly querysubscription_pause : ( a : number ) => void ;
290- readonly querysubscription_resume : ( a : number ) => void ;
291- readonly querysubscription_on_update : ( a : number , b : number ) => void ;
292- readonly querysubscription_notify : ( a : number , b : number , c : number ) => void ;
293- readonly __wbg_reactivedb_free : ( a : number , b : number ) => void ;
294- readonly reactivedb_new : ( ) => number ;
295- readonly reactivedb_enable_cross_tab_sync : ( a : number , b : number , c : number , d : number ) => void ;
296- readonly reactivedb_create_view : ( a : number , b : number , c : number , d : number ) => void ;
297- readonly reactivedb_subscribe : ( a : number , b : number , c : number , d : number ) => number ;
298- readonly reactivedb_broadcast_change : ( a : number , b : number , c : number ) => void ;
299- readonly reactivedb_process_change : ( a : number , b : number , c : number ) => void ;
300- readonly __wbg_sharedbuffer_free : ( a : number , b : number ) => void ;
301- readonly sharedbuffer_new : ( a : number , b : number ) => void ;
302- readonly sharedbuffer_buffer : ( a : number ) => number ;
303- readonly sharedbuffer_write : ( a : number , b : number , c : number , d : number ) => void ;
304- readonly sharedbuffer_read : ( a : number , b : number , c : number ) => void ;
305- readonly sharedbuffer_reset : ( a : number ) => void ;
306- readonly sharedbuffer_position : ( a : number ) => number ;
307- readonly sharedbuffer_size : ( a : number ) => number ;
308- readonly __wbg_reactiveutils_free : ( a : number , b : number ) => void ;
309- readonly reactiveutils_is_shared_memory_available : ( ) => number ;
310- readonly reactiveutils_is_broadcast_channel_available : ( ) => number ;
311- readonly reactiveutils_create_change_event : ( a : number , b : number , c : number , d : number , e : number , f : number ) => void ;
312- readonly reactiveutils_create_update : ( a : number , b : number , c : number , d : number ) => void ;
313127 readonly init : ( ) => void ;
314128 readonly __wbg_wasmsharedbuffer_free : ( a : number , b : number ) => void ;
315129 readonly wasmsharedbuffer_new : ( a : number ) => number ;
@@ -320,11 +134,9 @@ export interface InitOutput {
320134 readonly wasmsharedbuffer_reset : ( a : number ) => void ;
321135 readonly __wbindgen_export_0 : ( a : number , b : number ) => number ;
322136 readonly __wbindgen_export_1 : ( a : number , b : number , c : number , d : number ) => number ;
323- readonly __wbindgen_export_2 : ( a : number ) => void ;
324- readonly __wbindgen_export_3 : ( a : number , b : number , c : number ) => void ;
325- readonly __wbindgen_export_4 : WebAssembly . Table ;
137+ readonly __wbindgen_export_2 : ( a : number , b : number , c : number ) => void ;
138+ readonly __wbindgen_export_3 : ( a : number ) => void ;
326139 readonly __wbindgen_add_to_stack_pointer : ( a : number ) => number ;
327- readonly __wbindgen_export_5 : ( a : number , b : number , c : number ) => void ;
328140}
329141
330142export type SyncInitInput = BufferSource | WebAssembly . Module ;
0 commit comments