const uuid = require('uuid').v4 const Fuse = require('fuse-native') const fs = require('fs').promises const conn = require('./connector') const token = '0257387b959a4cbfa7b3a36fea7d8cfb97e435e2d6454a96992470e5ba107d29b35bed8c21dc4272b4d8d6eebc9a0f5f17b707c37e57442db9ab56775f449128' const ops = { readdir: require('./ops/readdir'), getattr: require('./ops/getattr'), mkdir: require('./ops/mkdir'), rmdir: require('./ops/rmdir'), open: require('./ops/open'), read: require('./ops/read'), release: require('./ops/release'), create: require('./ops/create'), unlink: require('./ops/unlink'), rename: require('./ops/rename'), write: require('./ops/write'), } ;(async () => { await conn.open() await conn.authenticate(token) const mnt = '/tmp/piedev-' + uuid() await fs.mkdir(mnt) const fuse = new Fuse(mnt, ops, {debug: true, displayFolder: true}) await new Promise((res, rej) => { fuse.mount(err => { if (err) { console.error(err) rej(err) } else res() }) }) console.log('Mounted at ' + mnt) await new Promise(res => { process.on('SIGINT', () => { res() }) }) await new Promise((res, rej) => { fuse.unmount(err => { if (err) { console.error(err) rej(err) } else { res() } }) }) console.log('Unmounted.') conn.close() })().catch((e) => { console.error(e) conn.close() })