endojs / playground

Experimental caplets and plugins for the Endo Pet Dæmon
0 stars 2 forks source link

feat: file / directory watcher (WIP) #13

Open dckc opened 2 months ago

dckc commented 2 months ago

closes #12

dckc commented 2 months ago

demo so far:

~/projects/playground/packages/file-watcher
16:24 connolly@bldbox$ endo purge
Are you sure you want to erase all state? This irreversible action will permanently sever all peer connections. Continue? (y/n)
y
~/projects/playground/packages/file-watcher
16:24 connolly@bldbox$ endo make --UNCONFINED ./src/FileWatchingService.js -n fwf
Object [Alleged: FileWatcherFactory] {}
~/projects/playground/packages/file-watcher
16:24 connolly@bldbox$ endo eval "E(fwf).make('/home/connolly/Downloads')" fwf
Object [Alleged: FileWatcher] {}
~/projects/playground/packages/file-watcher
16:24 connolly@bldbox$ endo eval "E(fw).watch()" fw -n es
CapTP cli exception: (RemoteError(error:captp:Endo#20001)#1)
RemoteError(error:captp:Endo#20001)#1: Unknown pet name "fw"

  at decodeErrorCommon (packages/marshal/src/marshal.js:306:24)
  at decodeErrorFromCapData (packages/marshal/src/marshal.js:334:14)
  at decodeFromCapData (packages/marshal/src/encodeToCapData.js:384:27)
  at fromCapData (packages/marshal/src/marshal.js:396:23)
  at CTP_RETURN (packages/captp/src/captp.js:695:24)
  at dispatch (packages/captp/src/captp.js:774:7)
  at packages/daemon/src/connection.js:34:7

(RemoteError(error:captp:Endo#20001)#1)
~/projects/playground/packages/file-watcher
16:24 connolly@bldbox$ endo eval "E(fwf).make('/home/connolly/Downloads')" fwf -n fw
Object [Alleged: FileWatcher] {}
~/projects/playground/packages/file-watcher
16:25 connolly@bldbox$ endo eval "E(fw).watch()" fw -n es
Object [Alleged: FileEvents] {}
~/projects/playground/packages/file-watcher
16:25 connolly@bldbox$ endo eval "E(es).next()"
CapTP cli exception: (RemoteReferenceError(error:captp:Endo#20001)#1)
RemoteReferenceError(error:captp:Endo#20001)#1: es is not defined

  at decodeErrorCommon (packages/marshal/src/marshal.js:306:24)
  at decodeErrorFromCapData (packages/marshal/src/marshal.js:334:14)
  at decodeFromCapData (packages/marshal/src/encodeToCapData.js:384:27)
  at fromCapData (packages/marshal/src/marshal.js:396:23)
  at CTP_RETURN (packages/captp/src/captp.js:695:24)
  at dispatch (packages/captp/src/captp.js:774:7)
  at packages/daemon/src/connection.js:34:7

(RemoteReferenceError(error:captp:Endo#20001)#1)
~/projects/playground/packages/file-watcher
16:25 connolly@bldbox$ endo eval "E(es).next()" es
{ done: false, value: Object [Alleged: File] {} }
dckc commented 2 months ago

moar

~/projects/playground/packages/file-watcher
16:25 connolly@bldbox$ endo eval "E(es).next()"
CapTP cli exception: (RemoteReferenceError(error:captp:Endo#20001)#1)
RemoteReferenceError(error:captp:Endo#20001)#1: es is not defined

  at decodeErrorCommon (packages/marshal/src/marshal.js:306:24)
  at decodeErrorFromCapData (packages/marshal/src/marshal.js:334:14)
  at decodeFromCapData (packages/marshal/src/encodeToCapData.js:384:27)
  at fromCapData (packages/marshal/src/marshal.js:396:23)
  at CTP_RETURN (packages/captp/src/captp.js:695:24)
  at dispatch (packages/captp/src/captp.js:774:7)
  at packages/daemon/src/connection.js:34:7

(RemoteReferenceError(error:captp:Endo#20001)#1)
~/projects/playground/packages/file-watcher
16:25 connolly@bldbox$ endo eval "E(es).next()" es
{ done: false, value: Object [Alleged: File] {} }
~/projects/playground/packages/file-watcher
16:25 connolly@bldbox$ endo eval "E(es).next()" es -n f2
{ done: false, value: Object [Alleged: File] {} }
~/projects/playground/packages/file-watcher
16:28 connolly@bldbox$ endo eval "E(f2).getName()" f2
CapTP cli exception: (RemoteTypeError(error:captp:Endo#20001)#1)
RemoteTypeError(error:captp:Endo#20001)#1: target has no method "getName", has []

  at decodeErrorCommon (packages/marshal/src/marshal.js:306:24)
  at decodeErrorFromCapData (packages/marshal/src/marshal.js:334:14)
  at decodeFromCapData (packages/marshal/src/encodeToCapData.js:384:27)
  at fromCapData (packages/marshal/src/marshal.js:396:23)
  at CTP_RETURN (packages/captp/src/captp.js:695:24)
  at dispatch (packages/captp/src/captp.js:774:7)
  at packages/daemon/src/connection.js:34:7

(RemoteTypeError(error:captp:Endo#20001)#1)
~/projects/playground/packages/file-watcher
16:29 connolly@bldbox$ endo eval "E(f2.value).getName()" f2
hi5