flecks/packages/socket/src/index.js

39 lines
1.0 KiB
JavaScript
Raw Normal View History

2022-02-25 04:58:08 -06:00
import {Hooks} from '@flecks/core';
import badPacketsCheck from './packet/bad-packets-check';
import Bundle from './packet/bundle';
import Redirect from './packet/redirect';
import Refresh from './packet/refresh';
export {default as normalize} from './normalize';
export {default as Packet, Packer, ValidationError} from './packet';
export default {
[Hooks]: {
'@flecks/core/config': () => ({
'packets.decorate': ['...'],
}),
'@flecks/core/starting': (flecks) => {
flecks.set('$flecks/socket.packets', flecks.gather(
'@flecks/socket/packets',
{check: badPacketsCheck},
));
},
'@flecks/http/config': async (
req,
{config: {'@flecks/socket': {'packets.decorate': decorators}}},
) => ({
'@flecks/socket': {
'packets.decorate': decorators.filter(
(decorator) => 'server' !== decorator.split('/').pop(),
),
},
}),
'@flecks/socket/packets': (flecks) => ({
Bundle: Bundle(flecks),
Redirect,
Refresh,
}),
},
};