{"version":3,"sources":["jsdelivr-header.js","/npm/genuinex-screen-sync-server@1.0.1/src/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACHA,aAEA,MAAM,KAAO,QAAQ,QACf,QAAU,QAAQ,WAClB,KAAO,QAAQ,QACf,UAAY,QAAQ,MACpB,OAAS,QAAQ,YAGjB,KAAO,QAAQ,IAAI,WAAa,KAChC,IAAM,UACN,OAAS,KAAK,aAAa,KAG3B,IAAM,IAAI,UAAU,OAAO,CAC/B,cAAQ,KAAM,eAGhB,IAAI,UAAa,IACf,MAAM,EAAM,KAAK,UAAU,GAE3B,IAAI,QAAQ,SAAQ,IACd,EAAO,aAAe,UAAU,MAClC,EAAO,KAAK,EACd,GACA,EAIJ,IAAI,IAAI,QAAQ,QAChB,IAAI,IAAI,KAAK,CAAE,QAAQ,KACvB,IAAI,KAAI,CAAC,EAAK,EAAK,KACjB,EAAI,GAAK,IACF,OAIT,IAAI,IAAI,QAER,OAAO,OAAO,MAAM,KAClB,QAAQ,IAAI,gBAAkB,KAAK","file":"/npm/genuinex-screen-sync-server@1.0.1/src/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/genuinex-screen-sync-server@1.0.1/src/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","/**\n * @format\n */\n'use strict';\n\nconst http = require('http');\nconst express = require('express');\nconst cors = require('cors');\nconst WebSocket = require('ws');\nconst router = require('./router');\n\n// Config\nconst port = process.env.NODE_PORT || 8080;\nconst app = express();\nconst server = http.createServer(app);\n\n// Setup WebSocket\nconst wss = new WebSocket.Server({\n  server, path: '/subscribe'\n});\n\nwss.broadcast = (data) => {\n  const str = JSON.stringify(data);\n\n  wss.clients.forEach(client => {\n    if (client.readyState === WebSocket.OPEN) {\n      client.send(str);\n    }\n  });\n}\n\n// Express middlware\napp.use(express.json());\napp.use(cors({ origin: true }));\napp.use((req, res, next) => {\n  req.ws = wss;\n  return next();\n});\n\n// Install router\napp.use(router);\n\nserver.listen(port, () => {\n  console.log('listening on ' + port);\n});"]}