github.com/brandur/modulir@v0.0.0-20240305213423-94ee82929cbd/js.go (about) 1 // 2 // 3 // Code generated by: scripts/embed_js/main.go 4 // DO NOT EDIT. Run go generate instead. 5 // 6 // 7 8 package modulir 9 10 // Source: websocket.js 11 const websocketJS = "function connect() {\n" + 12 " var url = \"ws://localhost:{{.Port}}/websocket\";\n" + 13 "\n" + 14 " console.log(`Connecting to Modulir: ${url}`);\n" + 15 " var socket = new WebSocket(url);\n" + 16 "\n" + 17 " socket.onclose = function(event) {\n" + 18 " console.log(\"Websocket connection closed or unable to connect; starting reconnect timeout\");\n" + 19 "\n" + 20 " // Allow the last socket to be cleaned up.\n" + 21 " socket = null;\n" + 22 "\n" + 23 " // Set an interval to continue trying to reconnect periodically until we\n" + 24 " // succeed.\n" + 25 " setTimeout(function() {\n" + 26 " connect();\n" + 27 " }, 5000)\n" + 28 " }\n" + 29 "\n" + 30 " socket.onmessage = function(event) {\n" + 31 " console.log(`Received event of type '${event.type}' data: ${event.data}`);\n" + 32 "\n" + 33 " var data = JSON.parse(event.data);\n" + 34 "\n" + 35 " switch(data.type) {\n" + 36 " case \"build_complete\":\n" + 37 " // 1000 = \"Normal closure\" and the second parameter is a human-readable\n" + 38 " // reason.\n" + 39 " socket.close(1000, \"Reloading page after receiving build_complete\");\n" + 40 "\n" + 41 " console.log(\"Reloading page after receiving build_complete\");\n" + 42 " location.reload(true);\n" + 43 "\n" + 44 " break;\n" + 45 "\n" + 46 " default:\n" + 47 " console.log(`Don't know how to handle type '${data.type}'`);\n" + 48 " }\n" + 49 " }\n" + 50 "\n" + 51 " socket.onopen = function(event) {\n" + 52 " console.log(\"Websocket connected\");\n" + 53 " }\n" + 54 "}\n" + 55 "\n" + 56 "connect();\n" + 57 ""