Created
January 25, 2022 13:30
-
-
Save sionyx/1d2476ca2cd88a16a119e6dd17a5c89e to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { FoxgloveServer } from "@foxglove/ws-protocol"; | |
import Debug from "debug"; | |
import { WebSocketServer } from "ws"; | |
const log = Debug("foxglove:sysmon"); | |
Debug.enable("foxglove:*"); | |
// eslint-disable-next-line @typescript-eslint/promise-function-async | |
function delay(durationSec: number) { | |
return new Promise((resolve) => setTimeout(resolve, durationSec * 1000)); | |
} | |
async function main() { | |
const server = new FoxgloveServer({ name: "marker" }); | |
const port = 8765; | |
const ws = new WebSocketServer({ | |
port, | |
handleProtocols: (protocols) => server.handleProtocols(protocols), | |
}); | |
ws.on("listening", () => { | |
console.log(`📡 Server listening on localhost:${port}`); | |
}); | |
ws.on("connection", (conn, req) => { | |
const name = `${req.socket.remoteAddress!}:${req.socket.remotePort!}`; | |
server.handleConnection(conn, name); | |
}); | |
const ch0 = server.addChannel({ | |
topic: "/tf", | |
encoding: "protobuf", | |
schemaName: "ros.tf2_msgs.TFMessage", | |
schema: "CokBCjhtb2R1bGVzL2NvbnRyaWIvY3liZXJfcm9zYnJpZGdlL3Jvcy9wcm90by9idWlsdGlucy5wcm90bxIDcm9zIiEKBFRpbWUSCwoDc2VjGAEgAigHEgwKBG5zZWMYAiACKAciJQoIRHVyYXRpb24SCwoDc2VjGAEgAigHEgwKBG5zZWMYAiACKAcK4AIKOG1vZHVsZXMvY29udHJpYi9jeWJlcl9yb3NicmlkZ2Uvcm9zL3Byb3RvL3N0ZF9tc2dzLnByb3RvEgxyb3Muc3RkX21zZ3MaOG1vZHVsZXMvY29udHJpYi9jeWJlcl9yb3NicmlkZ2Uvcm9zL3Byb3RvL2J1aWx0aW5zLnByb3RvIjcKCUNvbG9yUkdCQRIJCgFyGAEgAigCEgkKAWcYAiACKAISCQoBYhgDIAIoAhIJCgFhGAQgAigCIicKCER1cmF0aW9uEhsKBGRhdGEYASACKAsyDS5yb3MuRHVyYXRpb24iQQoGSGVhZGVyEgsKA3NlcRgBIAIoDRIYCgVzdGFtcBgCIAIoCzIJLnJvcy5UaW1lEhAKCGZyYW1lX2lkGAMgAigJIhYKBlN0cmluZxIMCgRkYXRhGAEgAigJIh8KBFRpbWUSFwoEZGF0YRgBIAIoCzIJLnJvcy5UaW1lCs0BCjhtb2R1bGVzL2NvbnRyaWIvY3liZXJfcm9zYnJpZGdlL3Jvcy9wcm90by90ZjJfbXNncy5wcm90bxIMcm9zLnRmMl9tc2dzGj1tb2R1bGVzL2NvbnRyaWIvY3liZXJfcm9zYnJpZGdlL3Jvcy9wcm90by9nZW9tZXRyeV9tc2dzLnByb3RvIkQKCVRGTWVzc2FnZRI3Cgp0cmFuc2Zvcm1zGAEgAygLMiMucm9zLmdlb21ldHJ5X21zZ3MuVHJhbnNmb3JtU3RhbXBlZArGFQo9bW9kdWxlcy9jb250cmliL2N5YmVyX3Jvc2JyaWRnZS9yb3MvcHJvdG8vZ2VvbWV0cnlfbXNncy5wcm90bxIRcm9zLmdlb21ldHJ5X21zZ3MaOG1vZHVsZXMvY29udHJpYi9jeWJlcl9yb3NicmlkZ2Uvcm9zL3Byb3RvL3N0ZF9tc2dzLnByb3RvImAKBUFjY2VsEioKBmxpbmVhchgBIAIoCzIaLnJvcy5nZW9tZXRyeV9tc2dzLlZlY3RvcjMSKwoHYW5ndWxhchgCIAIoCzIaLnJvcy5nZW9tZXRyeV9tc2dzLlZlY3RvcjMiXQoMQWNjZWxTdGFtcGVkEiQKBmhlYWRlchgBIAIoCzIULnJvcy5zdGRfbXNncy5IZWFkZXISJwoFYWNjZWwYAiACKAsyGC5yb3MuZ2VvbWV0cnlfbXNncy5BY2NlbCJSChNBY2NlbFdpdGhDb3ZhcmlhbmNlEicKBWFjY2VsGAEgAigLMhgucm9zLmdlb21ldHJ5X21zZ3MuQWNjZWwSEgoKY292YXJpYW5jZRgCIAMoASJ5ChpBY2NlbFdpdGhDb3ZhcmlhbmNlU3RhbXBlZBIkCgZoZWFkZXIYASACKAsyFC5yb3Muc3RkX21zZ3MuSGVhZGVyEjUKBWFjY2VsGAIgAigLMiYucm9zLmdlb21ldHJ5X21zZ3MuQWNjZWxXaXRoQ292YXJpYW5jZSKLAQoHSW5lcnRpYRIJCgFtGAEgAigBEicKA2NvbRgCIAIoCzIaLnJvcy5nZW9tZXRyeV9tc2dzLlZlY3RvcjMSCwoDaXh4GAMgAigBEgsKA2l4eRgEIAIoARILCgNpeHoYBSACKAESCwoDaXl5GAYgAigBEgsKA2l5ehgHIAIoARILCgNpenoYCCACKAEiYwoOSW5lcnRpYVN0YW1wZWQSJAoGaGVhZGVyGAEgAigLMhQucm9zLnN0ZF9tc2dzLkhlYWRlchIrCgdpbmVydGlhGAIgAigLMhoucm9zLmdlb21ldHJ5X21zZ3MuSW5lcnRpYSIoCgVQb2ludBIJCgF4GAEgAigBEgkKAXkYAiACKAESCQoBehgDIAIoASIqCgdQb2ludDMyEgkKAXgYASACKAISCQoBeRgCIAIoAhIJCgF6GAMgAigCIl0KDFBvaW50U3RhbXBlZBIkCgZoZWFkZXIYASACKAsyFC5yb3Muc3RkX21zZ3MuSGVhZGVyEicKBXBvaW50GAIgAigLMhgucm9zLmdlb21ldHJ5X21zZ3MuUG9pbnQiNQoHUG9seWdvbhIqCgZwb2ludHMYASADKAsyGi5yb3MuZ2VvbWV0cnlfbXNncy5Qb2ludDMyImMKDlBvbHlnb25TdGFtcGVkEiQKBmhlYWRlchgBIAIoCzIULnJvcy5zdGRfbXNncy5IZWFkZXISKwoHcG9seWdvbhgCIAIoCzIaLnJvcy5nZW9tZXRyeV9tc2dzLlBvbHlnb24iZgoEUG9zZRIqCghwb3NpdGlvbhgBIAIoCzIYLnJvcy5nZW9tZXRyeV9tc2dzLlBvaW50EjIKC29yaWVudGF0aW9uGAIgAigLMh0ucm9zLmdlb21ldHJ5X21zZ3MuUXVhdGVybmlvbiJZCglQb3NlQXJyYXkSJAoGaGVhZGVyGAEgAigLMhQucm9zLnN0ZF9tc2dzLkhlYWRlchImCgVwb3NlcxgCIAMoCzIXLnJvcy5nZW9tZXRyeV9tc2dzLlBvc2UiWgoLUG9zZVN0YW1wZWQSJAoGaGVhZGVyGAEgAigLMhQucm9zLnN0ZF9tc2dzLkhlYWRlchIlCgRwb3NlGAIgAigLMhcucm9zLmdlb21ldHJ5X21zZ3MuUG9zZSJPChJQb3NlV2l0aENvdmFyaWFuY2USJQoEcG9zZRgBIAIoCzIXLnJvcy5nZW9tZXRyeV9tc2dzLlBvc2USEgoKY292YXJpYW5jZRgCIAMoASJ2ChlQb3NlV2l0aENvdmFyaWFuY2VTdGFtcGVkEiQKBmhlYWRlchgBIAIoCzIULnJvcy5zdGRfbXNncy5IZWFkZXISMwoEcG9zZRgCIAIoCzIlLnJvcy5nZW9tZXRyeV9tc2dzLlBvc2VXaXRoQ292YXJpYW5jZSI4CgpRdWF0ZXJuaW9uEgkKAXgYASACKAESCQoBeRgCIAIoARIJCgF6GAMgAigBEgkKAXcYBCACKAEibAoRUXVhdGVybmlvblN0YW1wZWQSJAoGaGVhZGVyGAEgAigLMhQucm9zLnN0ZF9tc2dzLkhlYWRlchIxCgpxdWF0ZXJuaW9uGAIgAigLMh0ucm9zLmdlb21ldHJ5X21zZ3MuUXVhdGVybmlvbiJtCglUcmFuc2Zvcm0SLwoLdHJhbnNsYXRpb24YASACKAsyGi5yb3MuZ2VvbWV0cnlfbXNncy5WZWN0b3IzEi8KCHJvdGF0aW9uGAIgAigLMh0ucm9zLmdlb21ldHJ5X21zZ3MuUXVhdGVybmlvbiKBAQoQVHJhbnNmb3JtU3RhbXBlZBIkCgZoZWFkZXIYASACKAsyFC5yb3Muc3RkX21zZ3MuSGVhZGVyEhYKDmNoaWxkX2ZyYW1lX2lkGAIgAigJEi8KCXRyYW5zZm9ybRgDIAIoCzIcLnJvcy5nZW9tZXRyeV9tc2dzLlRyYW5zZm9ybSJgCgVUd2lzdBIqCgZsaW5lYXIYASACKAsyGi5yb3MuZ2VvbWV0cnlfbXNncy5WZWN0b3IzEisKB2FuZ3VsYXIYAiACKAsyGi5yb3MuZ2VvbWV0cnlfbXNncy5WZWN0b3IzIl0KDFR3aXN0U3RhbXBlZBIkCgZoZWFkZXIYASACKAsyFC5yb3Muc3RkX21zZ3MuSGVhZGVyEicKBXR3aXN0GAIgAigLMhgucm9zLmdlb21ldHJ5X21zZ3MuVHdpc3QiUgoTVHdpc3RXaXRoQ292YXJpYW5jZRInCgV0d2lzdBgBIAIoCzIYLnJvcy5nZW9tZXRyeV9tc2dzLlR3aXN0EhIKCmNvdmFyaWFuY2UYAiADKAEieQoaVHdpc3RXaXRoQ292YXJpYW5jZVN0YW1wZWQSJAoGaGVhZGVyGAEgAigLMhQucm9zLnN0ZF9tc2dzLkhlYWRlchI1CgV0d2lzdBgCIAIoCzImLnJvcy5nZW9tZXRyeV9tc2dzLlR3aXN0V2l0aENvdmFyaWFuY2UiKgoHVmVjdG9yMxIJCgF4GAEgAigBEgkKAXkYAiACKAESCQoBehgDIAIoASJiCg5WZWN0b3IzU3RhbXBlZBIkCgZoZWFkZXIYASACKAsyFC5yb3Muc3RkX21zZ3MuSGVhZGVyEioKBnZlY3RvchgCIAIoCzIaLnJvcy5nZW9tZXRyeV9tc2dzLlZlY3RvcjMiXwoGV3JlbmNoEikKBWZvcmNlGAEgAigLMhoucm9zLmdlb21ldHJ5X21zZ3MuVmVjdG9yMxIqCgZ0b3JxdWUYAiACKAsyGi5yb3MuZ2VvbWV0cnlfbXNncy5WZWN0b3IzImAKDVdyZW5jaFN0YW1wZWQSJAoGaGVhZGVyGAEgAigLMhQucm9zLnN0ZF9tc2dzLkhlYWRlchIpCgZ3cmVuY2gYAiACKAsyGS5yb3MuZ2VvbWV0cnlfbXNncy5XcmVuY2g=", | |
}); | |
const ch1 = server.addChannel({ | |
topic: "/marker/one", | |
encoding: "protobuf", | |
schemaName: "ros.visualization_msgs.MarkerArray", | |
schema: "CuACCjhtb2R1bGVzL2NvbnRyaWIvY3liZXJfcm9zYnJpZGdlL3Jvcy9wcm90by9zdGRfbXNncy5wcm90bxIMcm9zLnN0ZF9tc2dzGjhtb2R1bGVzL2NvbnRyaWIvY3liZXJfcm9zYnJpZGdlL3Jvcy9wcm90by9idWlsdGlucy5wcm90byI3CglDb2xvclJHQkESCQoBchgBIAIoAhIJCgFnGAIgAigCEgkKAWIYAyACKAISCQoBYRgEIAIoAiInCghEdXJhdGlvbhIbCgRkYXRhGAEgAigLMg0ucm9zLkR1cmF0aW9uIkEKBkhlYWRlchILCgNzZXEYASACKA0SGAoFc3RhbXAYAiACKAsyCS5yb3MuVGltZRIQCghmcmFtZV9pZBgDIAIoCSIWCgZTdHJpbmcSDAoEZGF0YRgBIAIoCSIfCgRUaW1lEhcKBGRhdGEYASACKAsyCS5yb3MuVGltZQrGFQo9bW9kdWxlcy9jb250cmliL2N5YmVyX3Jvc2JyaWRnZS9yb3MvcHJvdG8vZ2VvbWV0cnlfbXNncy5wcm90bxIRcm9zLmdlb21ldHJ5X21zZ3MaOG1vZHVsZXMvY29udHJpYi9jeWJlcl9yb3NicmlkZ2Uvcm9zL3Byb3RvL3N0ZF9tc2dzLnByb3RvImAKBUFjY2VsEioKBmxpbmVhchgBIAIoCzIaLnJvcy5nZW9tZXRyeV9tc2dzLlZlY3RvcjMSKwoHYW5ndWxhchgCIAIoCzIaLnJvcy5nZW9tZXRyeV9tc2dzLlZlY3RvcjMiXQoMQWNjZWxTdGFtcGVkEiQKBmhlYWRlchgBIAIoCzIULnJvcy5zdGRfbXNncy5IZWFkZXISJwoFYWNjZWwYAiACKAsyGC5yb3MuZ2VvbWV0cnlfbXNncy5BY2NlbCJSChNBY2NlbFdpdGhDb3ZhcmlhbmNlEicKBWFjY2VsGAEgAigLMhgucm9zLmdlb21ldHJ5X21zZ3MuQWNjZWwSEgoKY292YXJpYW5jZRgCIAMoASJ5ChpBY2NlbFdpdGhDb3ZhcmlhbmNlU3RhbXBlZBIkCgZoZWFkZXIYASACKAsyFC5yb3Muc3RkX21zZ3MuSGVhZGVyEjUKBWFjY2VsGAIgAigLMiYucm9zLmdlb21ldHJ5X21zZ3MuQWNjZWxXaXRoQ292YXJpYW5jZSKLAQoHSW5lcnRpYRIJCgFtGAEgAigBEicKA2NvbRgCIAIoCzIaLnJvcy5nZW9tZXRyeV9tc2dzLlZlY3RvcjMSCwoDaXh4GAMgAigBEgsKA2l4eRgEIAIoARILCgNpeHoYBSACKAESCwoDaXl5GAYgAigBEgsKA2l5ehgHIAIoARILCgNpenoYCCACKAEiYwoOSW5lcnRpYVN0YW1wZWQSJAoGaGVhZGVyGAEgAigLMhQucm9zLnN0ZF9tc2dzLkhlYWRlchIrCgdpbmVydGlhGAIgAigLMhoucm9zLmdlb21ldHJ5X21zZ3MuSW5lcnRpYSIoCgVQb2ludBIJCgF4GAEgAigBEgkKAXkYAiACKAESCQoBehgDIAIoASIqCgdQb2ludDMyEgkKAXgYASACKAISCQoBeRgCIAIoAhIJCgF6GAMgAigCIl0KDFBvaW50U3RhbXBlZBIkCgZoZWFkZXIYASACKAsyFC5yb3Muc3RkX21zZ3MuSGVhZGVyEicKBXBvaW50GAIgAigLMhgucm9zLmdlb21ldHJ5X21zZ3MuUG9pbnQiNQoHUG9seWdvbhIqCgZwb2ludHMYASADKAsyGi5yb3MuZ2VvbWV0cnlfbXNncy5Qb2ludDMyImMKDlBvbHlnb25TdGFtcGVkEiQKBmhlYWRlchgBIAIoCzIULnJvcy5zdGRfbXNncy5IZWFkZXISKwoHcG9seWdvbhgCIAIoCzIaLnJvcy5nZW9tZXRyeV9tc2dzLlBvbHlnb24iZgoEUG9zZRIqCghwb3NpdGlvbhgBIAIoCzIYLnJvcy5nZW9tZXRyeV9tc2dzLlBvaW50EjIKC29yaWVudGF0aW9uGAIgAigLMh0ucm9zLmdlb21ldHJ5X21zZ3MuUXVhdGVybmlvbiJZCglQb3NlQXJyYXkSJAoGaGVhZGVyGAEgAigLMhQucm9zLnN0ZF9tc2dzLkhlYWRlchImCgVwb3NlcxgCIAMoCzIXLnJvcy5nZW9tZXRyeV9tc2dzLlBvc2UiWgoLUG9zZVN0YW1wZWQSJAoGaGVhZGVyGAEgAigLMhQucm9zLnN0ZF9tc2dzLkhlYWRlchIlCgRwb3NlGAIgAigLMhcucm9zLmdlb21ldHJ5X21zZ3MuUG9zZSJPChJQb3NlV2l0aENvdmFyaWFuY2USJQoEcG9zZRgBIAIoCzIXLnJvcy5nZW9tZXRyeV9tc2dzLlBvc2USEgoKY292YXJpYW5jZRgCIAMoASJ2ChlQb3NlV2l0aENvdmFyaWFuY2VTdGFtcGVkEiQKBmhlYWRlchgBIAIoCzIULnJvcy5zdGRfbXNncy5IZWFkZXISMwoEcG9zZRgCIAIoCzIlLnJvcy5nZW9tZXRyeV9tc2dzLlBvc2VXaXRoQ292YXJpYW5jZSI4CgpRdWF0ZXJuaW9uEgkKAXgYASACKAESCQoBeRgCIAIoARIJCgF6GAMgAigBEgkKAXcYBCACKAEibAoRUXVhdGVybmlvblN0YW1wZWQSJAoGaGVhZGVyGAEgAigLMhQucm9zLnN0ZF9tc2dzLkhlYWRlchIxCgpxdWF0ZXJuaW9uGAIgAigLMh0ucm9zLmdlb21ldHJ5X21zZ3MuUXVhdGVybmlvbiJtCglUcmFuc2Zvcm0SLwoLdHJhbnNsYXRpb24YASACKAsyGi5yb3MuZ2VvbWV0cnlfbXNncy5WZWN0b3IzEi8KCHJvdGF0aW9uGAIgAigLMh0ucm9zLmdlb21ldHJ5X21zZ3MuUXVhdGVybmlvbiKBAQoQVHJhbnNmb3JtU3RhbXBlZBIkCgZoZWFkZXIYASACKAsyFC5yb3Muc3RkX21zZ3MuSGVhZGVyEhYKDmNoaWxkX2ZyYW1lX2lkGAIgAigJEi8KCXRyYW5zZm9ybRgDIAIoCzIcLnJvcy5nZW9tZXRyeV9tc2dzLlRyYW5zZm9ybSJgCgVUd2lzdBIqCgZsaW5lYXIYASACKAsyGi5yb3MuZ2VvbWV0cnlfbXNncy5WZWN0b3IzEisKB2FuZ3VsYXIYAiACKAsyGi5yb3MuZ2VvbWV0cnlfbXNncy5WZWN0b3IzIl0KDFR3aXN0U3RhbXBlZBIkCgZoZWFkZXIYASACKAsyFC5yb3Muc3RkX21zZ3MuSGVhZGVyEicKBXR3aXN0GAIgAigLMhgucm9zLmdlb21ldHJ5X21zZ3MuVHdpc3QiUgoTVHdpc3RXaXRoQ292YXJpYW5jZRInCgV0d2lzdBgBIAIoCzIYLnJvcy5nZW9tZXRyeV9tc2dzLlR3aXN0EhIKCmNvdmFyaWFuY2UYAiADKAEieQoaVHdpc3RXaXRoQ292YXJpYW5jZVN0YW1wZWQSJAoGaGVhZGVyGAEgAigLMhQucm9zLnN0ZF9tc2dzLkhlYWRlchI1CgV0d2lzdBgCIAIoCzImLnJvcy5nZW9tZXRyeV9tc2dzLlR3aXN0V2l0aENvdmFyaWFuY2UiKgoHVmVjdG9yMxIJCgF4GAEgAigBEgkKAXkYAiACKAESCQoBehgDIAIoASJiCg5WZWN0b3IzU3RhbXBlZBIkCgZoZWFkZXIYASACKAsyFC5yb3Muc3RkX21zZ3MuSGVhZGVyEioKBnZlY3RvchgCIAIoCzIaLnJvcy5nZW9tZXRyeV9tc2dzLlZlY3RvcjMiXwoGV3JlbmNoEikKBWZvcmNlGAEgAigLMhoucm9zLmdlb21ldHJ5X21zZ3MuVmVjdG9yMxIqCgZ0b3JxdWUYAiACKAsyGi5yb3MuZ2VvbWV0cnlfbXNncy5WZWN0b3IzImAKDVdyZW5jaFN0YW1wZWQSJAoGaGVhZGVyGAEgAigLMhQucm9zLnN0ZF9tc2dzLkhlYWRlchIpCgZ3cmVuY2gYAiACKAsyGS5yb3MuZ2VvbWV0cnlfbXNncy5XcmVuY2gKohMKQm1vZHVsZXMvY29udHJpYi9jeWJlcl9yb3NicmlkZ2Uvcm9zL3Byb3RvL3Zpc3VhbGl6YXRpb25fbXNncy5wcm90bxIWcm9zLnZpc3VhbGl6YXRpb25fbXNncxo4bW9kdWxlcy9jb250cmliL2N5YmVyX3Jvc2JyaWRnZS9yb3MvcHJvdG8vYnVpbHRpbnMucHJvdG8aPW1vZHVsZXMvY29udHJpYi9jeWJlcl9yb3NicmlkZ2Uvcm9zL3Byb3RvL2dlb21ldHJ5X21zZ3MucHJvdG8aOG1vZHVsZXMvY29udHJpYi9jeWJlcl9yb3NicmlkZ2Uvcm9zL3Byb3RvL3N0ZF9tc2dzLnByb3RvIvgDCgtJbWFnZU1hcmtlchIkCgZoZWFkZXIYASACKAsyFC5yb3Muc3RkX21zZ3MuSGVhZGVyEgoKAm5zGAIgAigJEgoKAmlkGAMgAigFEgwKBHR5cGUYBCACKAUSDgoGYWN0aW9uGAUgAigFEioKCHBvc2l0aW9uGAYgAigLMhgucm9zLmdlb21ldHJ5X21zZ3MuUG9pbnQSDQoFc2NhbGUYByACKAISLgoNb3V0bGluZV9jb2xvchgIIAIoCzIXLnJvcy5zdGRfbXNncy5Db2xvclJHQkESDgoGZmlsbGVkGAkgAigFEisKCmZpbGxfY29sb3IYCiACKAsyFy5yb3Muc3RkX21zZ3MuQ29sb3JSR0JBEh8KCGxpZmV0aW1lGAsgAigLMg0ucm9zLkR1cmF0aW9uEigKBnBvaW50cxgMIAMoCzIYLnJvcy5nZW9tZXRyeV9tc2dzLlBvaW50Ei8KDm91dGxpbmVfY29sb3JzGA0gAygLMhcucm9zLnN0ZF9tc2dzLkNvbG9yUkdCQSJKCgRUeXBlEgoKBkNJUkNMRRAAEg4KCkxJTkVfU1RSSVAQARINCglMSU5FX0xJU1QQAhILCgdQT0xZR09OEAMSCgoGUE9JTlRTEAQiHQoGQWN0aW9uEgcKA0FERBAAEgoKBlJFTU9WRRABIo8CChFJbnRlcmFjdGl2ZU1hcmtlchIkCgZoZWFkZXIYASACKAsyFC5yb3Muc3RkX21zZ3MuSGVhZGVyEiUKBHBvc2UYAiACKAsyFy5yb3MuZ2VvbWV0cnlfbXNncy5Qb3NlEgwKBG5hbWUYAyACKAkSEwoLZGVzY3JpcHRpb24YBCACKAkSDQoFc2NhbGUYBSACKAISNwoMbWVudV9lbnRyaWVzGAYgAygLMiEucm9zLnZpc3VhbGl6YXRpb25fbXNncy5NZW51RW50cnkSQgoIY29udHJvbHMYByADKAsyMC5yb3MudmlzdWFsaXphdGlvbl9tc2dzLkludGVyYWN0aXZlTWFya2VyQ29udHJvbCL5AwoYSW50ZXJhY3RpdmVNYXJrZXJDb250cm9sEgwKBG5hbWUYASACKAkSMgoLb3JpZW50YXRpb24YAiACKAsyHS5yb3MuZ2VvbWV0cnlfbXNncy5RdWF0ZXJuaW9uEhgKEG9yaWVudGF0aW9uX21vZGUYAyACKAUSGAoQaW50ZXJhY3Rpb25fbW9kZRgEIAIoBRIWCg5hbHdheXNfdmlzaWJsZRgFIAIoCBIvCgdtYXJrZXJzGAYgAygLMh4ucm9zLnZpc3VhbGl6YXRpb25fbXNncy5NYXJrZXISJgoeaW5kZXBlbmRlbnRfbWFya2VyX29yaWVudGF0aW9uGAcgAigIEhMKC2Rlc2NyaXB0aW9uGAggAigJIjsKEE9yaWVudGF0aW9uX01vZGUSCwoHSU5IRVJJVBAAEgkKBUZJWEVEEAESDwoLVklFV19GQUNJTkcQAiKjAQoQSW50ZXJhY3Rpb25fTW9kZRIICgROT05FEAASCAoETUVOVRABEgoKBkJVVFRPThACEg0KCU1PVkVfQVhJUxADEg4KCk1PVkVfUExBTkUQBBIPCgtST1RBVEVfQVhJUxAFEg8KC01PVkVfUk9UQVRFEAYSCwoHTU9WRV8zRBAHEg0KCVJPVEFURV8zRBAIEhIKDk1PVkVfUk9UQVRFXzNEEAkiqwUKBk1hcmtlchIkCgZoZWFkZXIYASACKAsyFC5yb3Muc3RkX21zZ3MuSGVhZGVyEgoKAm5zGAIgAigJEgoKAmlkGAMgAigFEgwKBHR5cGUYBCABKAUSDgoGYWN0aW9uGAUgAigFEiUKBHBvc2UYBiABKAsyFy5yb3MuZ2VvbWV0cnlfbXNncy5Qb3NlEikKBXNjYWxlGAcgASgLMhoucm9zLmdlb21ldHJ5X21zZ3MuVmVjdG9yMxImCgVjb2xvchgIIAEoCzIXLnJvcy5zdGRfbXNncy5Db2xvclJHQkESHwoIbGlmZXRpbWUYCSABKAsyDS5yb3MuRHVyYXRpb24SFAoMZnJhbWVfbG9ja2VkGAogASgIEigKBnBvaW50cxgLIAMoCzIYLnJvcy5nZW9tZXRyeV9tc2dzLlBvaW50EicKBmNvbG9ycxgMIAMoCzIXLnJvcy5zdGRfbXNncy5Db2xvclJHQkESDAoEdGV4dBgNIAEoCRIVCg1tZXNoX3Jlc291cmNlGA4gASgJEiMKG21lc2hfdXNlX2VtYmVkZGVkX21hdGVyaWFscxgPIAEoCCK8AQoEVHlwZRIJCgVBUlJPVxAAEggKBENVQkUQARIKCgZTUEhFUkUQAhIMCghDWUxJTkRFUhADEg4KCkxJTkVfU1RSSVAQBBINCglMSU5FX0xJU1QQBRINCglDVUJFX0xJU1QQBhIPCgtTUEhFUkVfTElTVBAHEgoKBlBPSU5UUxAIEhQKEFRFWFRfVklFV19GQUNJTkcQCRIRCg1NRVNIX1JFU09VUkNFEAoSEQoNVFJJQU5HTEVfTElTVBALIjgKBkFjdGlvbhIHCgNBREQQABIKCgZNT0RJRlkQARIKCgZERUxFVEUQAhINCglERUxFVEVBTEwQAyI+CgtNYXJrZXJBcnJheRIvCgdtYXJrZXJzGAEgAygLMh4ucm9zLnZpc3VhbGl6YXRpb25fbXNncy5NYXJrZXIimQEKCU1lbnVFbnRyeRIKCgJpZBgBIAIoDRIRCglwYXJlbnRfaWQYAiACKA0SDQoFdGl0bGUYAyACKAkSDwoHY29tbWFuZBgEIAIoCRIUCgxjb21tYW5kX3R5cGUYBSACKAUiNwoMQ29tbWFuZF9UeXBlEgwKCEZFRURCQUNLEAASCgoGUk9TUlVOEAESDQoJUk9TTEFVTkNIEAIKiQEKOG1vZHVsZXMvY29udHJpYi9jeWJlcl9yb3NicmlkZ2Uvcm9zL3Byb3RvL2J1aWx0aW5zLnByb3RvEgNyb3MiIQoEVGltZRILCgNzZWMYASACKAcSDAoEbnNlYxgCIAIoByIlCghEdXJhdGlvbhILCgNzZWMYASACKAcSDAoEbnNlYxgCIAIoBw==", | |
}); | |
// const textEncoder = new TextEncoder(); | |
const INTERVAL_SEC = 1; | |
let controller: AbortController | undefined; | |
server.on("subscribe", (chanId) => { | |
if (chanId !== ch1) { | |
return; | |
} | |
log("starting"); | |
if (controller) { | |
controller.abort(); | |
throw new Error("already running"); | |
} | |
controller = new AbortController(); | |
void (async function (signal) { | |
await delay(INTERVAL_SEC); | |
var fs = require('fs'); | |
var data = ""; | |
try { | |
data = fs.readFileSync("ws-dump-datalines-hex", 'utf8').toString() as string; | |
} catch(e: any) { | |
console.log('Error:', e.stack); | |
} | |
let lines = data.split(/\r?\n/); | |
let buffers = lines.map((line) => { | |
line = line.replace(new RegExp(" ", 'g'), ""); | |
return Buffer.from(line, 'hex'); | |
}); | |
var index = 0; | |
var subscription2channel = [ch0, ch1]; | |
while (!signal.aborted) { | |
let buff = buffers[index] as Buffer; | |
let subscription = buff.readInt32LE(1); | |
let channel = subscription2channel[subscription] as number; | |
let timestamp = buff.readBigUInt64LE(5); | |
let payload = buff.slice(13); | |
console.log(`channel ${channel} timestamp ${timestamp} buffer ${payload.toString('hex')}`); | |
server.sendMessage( | |
channel, | |
timestamp, | |
payload | |
); | |
await delay(INTERVAL_SEC); | |
index++; | |
index %= lines.length; | |
} | |
})(controller.signal); | |
}); | |
server.on("unsubscribe", (_chanId) => { | |
log("stopping"); | |
controller?.abort(); | |
controller = undefined; | |
}); | |
server.on("error", (err) => { | |
log("server error: %o", err); | |
}); | |
} | |
void main(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"name": "@foxglove/ws-protocol-examples", | |
"version": "0.0.0", | |
"description": "Foxglove WebSocket protocol examples", | |
"license": "MIT", | |
"repository": { | |
"type": "git", | |
"url": "https://github.com/foxglove/ws-protocol.git" | |
}, | |
"author": { | |
"name": "Foxglove Technologies", | |
"email": "[email protected]" | |
}, | |
"homepage": "https://foxglove.dev/", | |
"files": [ | |
"dist", | |
"src" | |
], | |
"scripts": { | |
"start": "tsc -b ../*/tsconfig*.json && ts-node --project tsconfig.cjs.json --files index.ts" | |
}, | |
"devDependencies": { | |
"@foxglove/tsconfig": "1.1.0", | |
"@types/debug": "4.1.7", | |
"@types/node": "16.11.12", | |
"@types/ws": "8.2.0", | |
"ts-node": "10.4.0", | |
"typescript": "4.4.4" | |
}, | |
"dependencies": { | |
"@foxglove/ws-protocol": "^0.0.8", | |
"debug": "^4", | |
"tslib": "^2", | |
"ws": "8.2.3" | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"extends": "./tsconfig.json", | |
"compilerOptions": { | |
"outDir": "./dist/cjs", | |
"module": "commonjs" | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Show hidden characters
{ | |
"extends": "@foxglove/tsconfig/base", | |
"include": ["./**/*"], | |
"compilerOptions": { | |
"rootDir": "..", | |
"outDir": "./dist/esm", | |
"lib": ["es2020", "dom"], | |
"paths": { | |
"@foxglove/ws-protocol": ["../ws-protocol/src"] | |
} | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
01 01 00 00 00 00 b2 ca 5d f1 b4 79 16 0a d7 01 0a 1b 08 d3 97 06 12 0a 0d 89 fb 87 60 15 5c 98 e6 2d 1a 09 49 6e 6e 6f 70 6f 6c 69 73 12 09 63 61 72 5f 6d 6f 64 65 6c 18 00 20 0a 28 00 32 43 0a 1b 09 00 7c b3 92 82 03 76 40 11 00 00 86 c0 4d 75 4c 40 19 00 00 00 00 00 00 00 00 12 24 09 00 00 00 20 a3 70 87 3f 11 00 00 00 80 59 15 93 3f 19 00 00 00 80 40 38 e4 3f 21 00 00 00 40 e7 ca e8 3f 3a 1b 09 00 00 00 00 00 00 f0 3f 11 00 00 00 00 00 00 f0 3f 19 00 00 00 00 00 00 f0 3f 42 14 0d 00 00 00 00 15 00 00 00 00 1d 00 00 80 3f 25 00 00 80 3f 4a 0a 0d 01 00 00 00 15 00 00 00 00 50 00 72 1f 68 74 74 70 3a 2f 2f 73 69 6f 6e 79 78 2e 72 75 2f 6d 6f 64 65 6c 73 2f 6d 61 6e 2e 67 6c 62 78 01 0a b9 01 0a 1b 08 d3 97 06 12 0a 0d 89 fb 87 60 15 5c 98 e6 2d 1a 09 49 6e 6e 6f 70 6f 6c 69 73 12 09 63 61 72 5f 74 69 74 6c 65 18 00 20 09 28 00 32 43 0a 1b 09 00 7c b3 92 82 03 76 40 11 00 00 86 c0 4d 75 4c 40 19 00 00 00 00 00 00 00 00 12 24 09 00 00 00 20 a3 70 87 3f 11 00 00 00 80 59 15 93 3f 19 00 00 00 80 40 38 e4 3f 21 00 00 00 40 e7 ca e8 3f 3a 1b 09 00 00 00 00 00 00 f0 3f 11 00 00 00 00 00 00 f0 3f 19 00 00 00 00 00 00 f0 3f 42 14 0d 00 00 80 3f 15 00 00 00 00 1d 00 00 00 00 25 66 66 66 3f 4a 0a 0d 01 00 00 00 15 00 00 00 00 50 00 6a 03 63 61 72 | |
01 01 00 00 00 00 0b 64 5e f1 b4 79 16 0a d7 01 0a 1b 08 d4 97 06 12 0a 0d 89 fb 87 60 15 89 f0 7f 2e 1a 09 49 6e 6e 6f 70 6f 6c 69 73 12 09 63 61 72 5f 6d 6f 64 65 6c 18 00 20 0a 28 00 32 43 0a 1b 09 00 ac 3b 5e 5f 02 76 40 11 00 00 d6 db 61 77 4c 40 19 00 00 00 00 00 00 00 00 12 24 09 00 00 00 40 2a 2a 87 3f 11 00 00 00 00 12 0a 93 3f 19 00 00 00 20 a5 37 e4 3f 21 00 00 00 40 6c cb e8 3f 3a 1b 09 00 00 00 00 00 00 f0 3f 11 00 00 00 00 00 00 f0 3f 19 00 00 00 00 00 00 f0 3f 42 14 0d 00 00 00 00 15 00 00 00 00 1d 00 00 80 3f 25 00 00 80 3f 4a 0a 0d 01 00 00 00 15 00 00 00 00 50 00 72 1f 68 74 74 70 3a 2f 2f 73 69 6f 6e 79 78 2e 72 75 2f 6d 6f 64 65 6c 73 2f 6d 61 6e 2e 67 6c 62 78 01 0a b9 01 0a 1b 08 d4 97 06 12 0a 0d 89 fb 87 60 15 89 f0 7f 2e 1a 09 49 6e 6e 6f 70 6f 6c 69 73 12 09 63 61 72 5f 74 69 74 6c 65 18 00 20 09 28 00 32 43 0a 1b 09 00 ac 3b 5e 5f 02 76 40 11 00 00 d6 db 61 77 4c 40 19 00 00 00 00 00 00 00 00 12 24 09 00 00 00 40 2a 2a 87 3f 11 00 00 00 00 12 0a 93 3f 19 00 00 00 20 a5 37 e4 3f 21 00 00 00 40 6c cb e8 3f 3a 1b 09 00 00 00 00 00 00 f0 3f 11 00 00 00 00 00 00 f0 3f 19 00 00 00 00 00 00 f0 3f 42 14 0d 00 00 80 3f 15 00 00 00 00 1d 00 00 00 00 25 66 66 66 3f 4a 0a 0d 01 00 00 00 15 00 00 00 00 50 00 6a 03 63 61 72 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. | |
# yarn lockfile v1 | |
"@cspotcode/[email protected]": | |
version "0.8.0" | |
resolved "https://registry.yarnpkg.com/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz#33bf4b7b39c178821606f669bbc447a6a629786b" | |
integrity sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg== | |
"@cspotcode/[email protected]": | |
version "0.7.0" | |
resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz#4789840aa859e46d2f3173727ab707c66bf344f5" | |
integrity sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA== | |
dependencies: | |
"@cspotcode/source-map-consumer" "0.8.0" | |
"@foxglove/[email protected]": | |
version "1.1.0" | |
resolved "https://registry.yarnpkg.com/@foxglove/tsconfig/-/tsconfig-1.1.0.tgz#48c37fffd6f349c3ee08a60fc62ccf636f3b59a6" | |
integrity sha512-qZU4MtXVgPhDBFazSEx7yDEuEg8cPHXFQVhBaUABZkCBdcnEE9sxlgEt0gSikF4fRtY6COGIJPVRflnPJXjJKA== | |
"@foxglove/ws-protocol@^0.0.8": | |
version "0.0.8" | |
resolved "https://registry.yarnpkg.com/@foxglove/ws-protocol/-/ws-protocol-0.0.8.tgz#c18aefa06746bb5df894e64778fc6d171c3ee1cd" | |
integrity sha512-wIME1ejWAAP/2TFOER+fMc8tdU9Ubph/TifO7FxFWxN5iDrj4ZyteEYFVpRpTz3SDGSZGLbhIcVROxAvR9EvPA== | |
dependencies: | |
debug "^4" | |
eventemitter3 "^4.0.7" | |
tslib "^2" | |
"@tsconfig/node10@^1.0.7": | |
version "1.0.8" | |
resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9" | |
integrity sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg== | |
"@tsconfig/node12@^1.0.7": | |
version "1.0.9" | |
resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.9.tgz#62c1f6dee2ebd9aead80dc3afa56810e58e1a04c" | |
integrity sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw== | |
"@tsconfig/node14@^1.0.0": | |
version "1.0.1" | |
resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.1.tgz#95f2d167ffb9b8d2068b0b235302fafd4df711f2" | |
integrity sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg== | |
"@tsconfig/node16@^1.0.2": | |
version "1.0.2" | |
resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.2.tgz#423c77877d0569db20e1fc80885ac4118314010e" | |
integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA== | |
"@types/[email protected]": | |
version "4.1.7" | |
resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.7.tgz#7cc0ea761509124709b8b2d1090d8f6c17aadb82" | |
integrity sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg== | |
dependencies: | |
"@types/ms" "*" | |
"@types/ms@*": | |
version "0.7.31" | |
resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" | |
integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== | |
"@types/node@*": | |
version "17.0.10" | |
resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.10.tgz#616f16e9d3a2a3d618136b1be244315d95bd7cab" | |
integrity sha512-S/3xB4KzyFxYGCppyDt68yzBU9ysL88lSdIah4D6cptdcltc4NCPCAMc0+PCpg/lLIyC7IPvj2Z52OJWeIUkog== | |
"@types/[email protected]": | |
version "16.11.12" | |
resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.12.tgz#ac7fb693ac587ee182c3780c26eb65546a1a3c10" | |
integrity sha512-+2Iggwg7PxoO5Kyhvsq9VarmPbIelXP070HMImEpbtGCoyWNINQj4wzjbQCXzdHTRXnqufutJb5KAURZANNBAw== | |
"@types/[email protected]": | |
version "8.2.0" | |
resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.2.0.tgz#75faefbe2328f3b833cb8dc640658328990d04f3" | |
integrity sha512-cyeefcUCgJlEk+hk2h3N+MqKKsPViQgF5boi9TTHSK+PoR9KWBb/C5ccPcDyAqgsbAYHTwulch725DV84+pSpg== | |
dependencies: | |
"@types/node" "*" | |
acorn-walk@^8.1.1: | |
version "8.2.0" | |
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" | |
integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== | |
acorn@^8.4.1: | |
version "8.7.0" | |
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" | |
integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== | |
arg@^4.1.0: | |
version "4.1.3" | |
resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" | |
integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== | |
create-require@^1.1.0: | |
version "1.1.1" | |
resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" | |
integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== | |
debug@^4: | |
version "4.3.3" | |
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" | |
integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== | |
dependencies: | |
ms "2.1.2" | |
diff@^4.0.1: | |
version "4.0.2" | |
resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" | |
integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== | |
eventemitter3@^4.0.7: | |
version "4.0.7" | |
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" | |
integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== | |
make-error@^1.1.1: | |
version "1.3.6" | |
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" | |
integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== | |
[email protected]: | |
version "2.1.2" | |
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" | |
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== | |
[email protected]: | |
version "10.4.0" | |
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.4.0.tgz#680f88945885f4e6cf450e7f0d6223dd404895f7" | |
integrity sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A== | |
dependencies: | |
"@cspotcode/source-map-support" "0.7.0" | |
"@tsconfig/node10" "^1.0.7" | |
"@tsconfig/node12" "^1.0.7" | |
"@tsconfig/node14" "^1.0.0" | |
"@tsconfig/node16" "^1.0.2" | |
acorn "^8.4.1" | |
acorn-walk "^8.1.1" | |
arg "^4.1.0" | |
create-require "^1.1.0" | |
diff "^4.0.1" | |
make-error "^1.1.1" | |
yn "3.1.1" | |
tslib@^2: | |
version "2.3.1" | |
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" | |
integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== | |
[email protected]: | |
version "4.4.4" | |
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.4.tgz#2cd01a1a1f160704d3101fd5a58ff0f9fcb8030c" | |
integrity sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA== | |
[email protected]: | |
version "8.2.3" | |
resolved "https://registry.yarnpkg.com/ws/-/ws-8.2.3.tgz#63a56456db1b04367d0b721a0b80cae6d8becbba" | |
integrity sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA== | |
[email protected]: | |
version "3.1.1" | |
resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" | |
integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment