Current collected state Current
Observed since 20 Oct, 19:43 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
3h-room
A simple lib for SSE room management.
A simple lib for SSE room management.
Here's an example SSE room server based on express:
const express = require('express');
const SSE = require('3h-sse');
const HR = require('3h-room');
const app = express();
const createSSEController = () =>
new SSE.SSEController({
backend: new SSE.NodeJSBackend(),
})
const room = new HR.Room({
maxMemberCount: 2,
sseController: createSSEController(),
});
room.on('enter', (member) => {
member.sendEvent('info', 'welcome');
})
app.get('/sub/:name', (req, res) => {
const member = new HR.Member({
identity: decodeURIComponent(req.params.name),
response: res,
sseController: createSSEController(),
});
member.on('enter', (_room) => {
_room.sendEvent('debug', 'member entered: ' + member.identity);
});
member.on('leave', (_room) => {
_room.sendEvent('debug', 'member left: ' + member.identity);
});
try {
room.addMember(member);
} catch (error) {
res.status(403);
res.end();
return;
}
res.once('close', () => {
room.removeMember(member);
});
});
app.listen(8080);
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
3h-sseEnvironment{
"local_name": "3h-sse",
"alias": false,
"peer_metadata": null
} | ^0.3.2 | runtime |
@types/expressEnvironment{
"local_name": "@types/express",
"alias": false,
"peer_metadata": null
} | ^4.17.21 | development |
@types/nodeEnvironment{
"local_name": "@types/node",
"alias": false,
"peer_metadata": null
} | ^20.8.0 | development |
dts2mdEnvironment{
"local_name": "dts2md",
"alias": false,
"peer_metadata": null
} | ^0.4.4 | development |
expressEnvironment{
"local_name": "express",
"alias": false,
"peer_metadata": null
} | ^4.18.2 | development |
typescriptEnvironment{
"local_name": "typescript",
"alias": false,
"peer_metadata": null
} | ^5.2.2 | development |
Source distribution
{
"integrity": "sha512-4ihgz88Z0zFkMwqAB8IFEUH7ezmfugJS3kn+iaK2LtEv9y/YxKUDrJEh+HD+V2Qrn6oJko5wYs8+RJ6zyH5OUg==",
"shasum": "98ea053532c4a9ec4d50c2898da8cc3791d59fe9",
"tarball": "https://registry.npmjs.org/3h-room/-/3h-room-0.2.0.tgz",
"fileCount": 38,
"unpackedSize": 59303,
"signatures": [
{
"keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
"sig": "MEQCIDZylSrFAWTwYJuVLSsCOmjZkeKEWgieMJIAQFhRBvWnAiAUYuTzj1/zskZSQyXOiqNSGPUpT2r0N8AIqwImLs4ZIg=="
}
]
}Observed since 20 Oct, 19:43 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:ed87f71eabe24d3ae94a3b3ef59e6dc0b4fa2f76860812371ad4b44ffbe8b06b