Data Store CRUD
Observing Data Changes
a store observer is a dql query that runs continuously and triggers a callback when a change to the store impacts the results of the query store observers are useful when you want to monitor changes from your local ditto store and react to them immediately for instance, when your end user updates their profile, asynchronously display changes in realtime setting up store observers using the registerobserver method, set up an observer within the store namespace enclosed with a query that specifies the collection to watch for changes, as well as your logic to handle the incoming changes let observer = ditto store registerobserver( query "select from cars"){ result in / handle change / };val observer = ditto store registerobserver("select from cars") { result > / handle change / };const changehandler = (result) => { // handle change } const observer = ditto store registerobserver( "select from cars", changehandler);dittostoreobserver observer = ditto store registerobserver( "select from cars", result > { // handle change } );// without arguments var result = await ditto store registerobserver( "select from cars", (result) => { // handle change }); // with arguments var result = ditto store registerobserver( "select from cars", (result) => { // handle change }); auto observer = ditto get store() register observer( "select from cars", \[&]\(queryresult result) { / handle change / });let observer = ditto store() register observer( "select from cars", none, move |result queryresult| { // handle change })final observer = await ditto store registerobserver("select from cars"); observer changes listen((result) { // handle change }); // or final observer = await ditto store registerobserver("select from cars", onchange (result) { // handle change }); store observer with query arguments o associate arguments with your query add them as a paramater let observer = ditto store registerobserver( query "select from cars where color = \ color", argumets \[ "color" "blue" ]){ result in / handle change / };ditto store registerobserver( "select from cars where color = \ color", mapof("color" to "blue")) { result > / handle change / };const changehandler = (result) => { // handle change } const observer = ditto store registerobserver( "select from cars where color = \ color", changehandler, { color 'blue' });dittostoreobserver observer = ditto store registerobserver( "select from cars where color = \ color", collections singletonmap("color", "blue"), result > { // handle change } );// without arguments var result = await ditto store registerobserver( "select from cars", (result) => { // handle change }); // with arguments var result = ditto store registerobserver( "select from cars where color = \ color", new dictionary\<string, object> { "color", "blue" }, (result) => { // handle change }); auto observer = ditto get store() register observer( "select from cars", {{"color", "blue"}}), \[&]\(queryresult result) { / handle change / });struct args { color string, } // let args = args { color "blue" to string(), } let observer = ditto store() register observer( "select from cars where color = \ color", args, move |result queryresult| { // handle change })final observer = ditto store registerobserver( "select from cars where color = \ color", arguments { color "blue" }, onchange (queryresult) { // handle change }, ); canceling a store observer to cancel a store observer, call cancel on the observer object once canceled, the store observer will stop processing in the background and will no longer call the provided callback observer cancel()observer cancel()observer cancel()observer cancel();observer cancel()observer cancel();observer cancel()await observer cancel(); accessing store observers to access store observers from the local ditto store ditto store observersditto store observersditto store observersditto store observers;ditto store observersditto get store() observers()ditto store() observers()// coming soon