@@ -4,6 +4,15 @@ const WRTC = require('wrtc')
44const BouncerModel = require ( '@dataparty/bouncer-model/dist/bouncer-model.json' )
55const Dataparty = require ( '../src' )
66
7+
8+ async function getUser ( party , name ) {
9+ return ( await party . find ( )
10+ . type ( 'user' )
11+ . where ( 'name' ) . equals ( name )
12+ . exec ( ) ) [ 0 ]
13+ }
14+
15+
716async function main ( ) {
817 const dbPath = await fs . mkdtemp ( '/tmp/tingo-party' )
918 const configPath = await fs . mkdtemp ( '/tmp/tingo-party-config' )
@@ -18,11 +27,13 @@ async function main(){
1827 config
1928 } )
2029
30+ hostLocal . topics = new Dataparty . LocalTopicHost ( )
31+
2132 let loopback = new Dataparty . Comms . LoopbackChannel ( )
2233
2334 let comms1 = new Dataparty . Comms . LoopbackComms ( {
2435 host : true ,
25- channel : loopback . peer1
36+ channel : loopback . port1
2637 } )
2738
2839 let peer1 = new Dataparty . PeerParty ( {
@@ -33,7 +44,9 @@ async function main(){
3344 } )
3445
3546
36- let comms2 = new Dataparty . Comms . LoopbackComms ( { channel : loopback . peer2 , session : 'foobar' } )
47+
48+
49+ let comms2 = new Dataparty . Comms . LoopbackComms ( { channel : loopback . port2 , session : 'foobar' } )
3750
3851 let peer2 = new Dataparty . PeerParty ( {
3952 comms : comms2 ,
@@ -71,16 +84,36 @@ async function main(){
7184
7285
7386 if ( ! user ) {
74- debug ( ' creating document')
87+ console . log ( 'peer2 creating document')
7588 user = await peer2 . createDocument ( 'user' , { name : 'tester' , created : ( new Date ( ) ) . toISOString ( ) } )
7689 }
7790 else {
78- debug ( ' loaded document')
91+ console . log ( 'peer2 loaded document')
7992 }
80-
93+
94+ console . log ( user . data )
95+ console . log ( 'hash' , user . hash )
96+
97+ console . log ( 'peer1 find document by new field value' )
98+ let userFind = await getUser ( peer1 , 'tester' )
99+ console . log ( userFind . data )
100+ console . log ( 'hash' , userFind . hash )
101+
102+ user . on ( 'change' , ( obj ) => { console . log ( 'peer2 remote event [document.on(change)]' , obj ) } )
103+ user . on ( 'update' , ( obj ) => { console . log ( 'peer2 event [document.on(update)]' ) } )
104+ user . on ( 'value' , ( doc ) => { console . log ( 'peer2 event [document.on(value)]' ) } )
105+ user . on ( 'remove' , ( obj ) => { console . log ( 'peer2 event [document.on(remove)]' ) } )
106+
107+ await user . watch ( )
108+
109+ console . log ( '\npeer1 changing document field' )
110+ userFind . data . name = 'renamed-tester'
111+ await userFind . save ( )
112+
113+ console . log ( userFind . data )
114+ console . log ( 'hash' , userFind . hash )
81115
82- console . log ( user . data )
83- process . exit ( )
116+ await userFind . remove ( )
84117}
85118
86119
0 commit comments