assetexec.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. const {AssetGuard} = require('./assetguard.js')
  2. const tracker = new AssetGuard(process.argv[2], process.argv[3], process.argv[4])
  3. console.log('AssetExec Started')
  4. // Temporary for debug purposes.
  5. process.on('unhandledRejection', r => console.log(r))
  6. tracker.on('assetVal', (data) => {
  7. process.send({task: 0, total: data.total, value: data.acc, content: 'validateAssets'})
  8. })
  9. tracker.on('totaldlprogress', (data) => {
  10. process.send({task: 0, total: data.total, value: data.acc, percent: parseInt((data.acc/data.total)*100), content: 'dl'})
  11. })
  12. tracker.on('extracting', () => {
  13. process.send({task: 0.7, content: 'dl'})
  14. })
  15. tracker.on('dlcomplete', () => {
  16. process.send({task: 1, content: 'dl'})
  17. })
  18. tracker.on('jExtracted', (jPath) => {
  19. process.send({task: 2, content: 'dl', jPath})
  20. })
  21. tracker.on('dlerror', (err) => {
  22. process.send({task: 0.9, content: 'dl', err})
  23. })
  24. process.on('message', (msg) => {
  25. if(msg.task === 0){
  26. const func = msg.content
  27. let nS = tracker[func]
  28. let iS = AssetGuard[func]
  29. if(typeof nS === 'function' || typeof iS === 'function'){
  30. const f = typeof nS === 'function' ? nS : iS
  31. const res = f.apply(f === nS ? tracker : null, msg.argsArr)
  32. if(res instanceof Promise){
  33. res.then((v) => {
  34. process.send({result: v, content: msg.content})
  35. }).catch((err) => {
  36. process.send({result: err, content: msg.content})
  37. })
  38. } else {
  39. process.send({result: res, content: msg.content})
  40. }
  41. }
  42. }
  43. })
  44. process.on('disconnect', () => {
  45. console.log('AssetExec Disconnected')
  46. process.exit(0)
  47. })