mqemitter
Version:
An Opinionated Message Queue with an emitter-style API
34 lines (23 loc) • 859 B
text/typescript
import { expectError, expectType } from 'tsd'
import mqEmitter from './mqemitter'
import type { Message, MQEmitter } from './mqemitter'
expectType<MQEmitter>(mqEmitter())
expectType<MQEmitter>(mqEmitter({ concurrency: 200, matchEmptyLevels: true }))
expectType<MQEmitter>(
mqEmitter({
concurrency: 10,
matchEmptyLevels: true,
separator: '/',
wildcardOne: '+',
wildcardSome: '#',
})
)
function listener (message: Message, done: () => void) {}
expectType<MQEmitter>(mqEmitter().on('topic', listener))
expectError(mqEmitter().emit(null))
expectType<void>(
mqEmitter().emit({ topic: 'test', prop1: 'prop1', [Symbol.for('me')]: 42 })
)
expectType<void>(mqEmitter().emit({ topic: 'test', prop1: 'prop1' }, () => {}))
expectType<void>(mqEmitter().removeListener('topic', listener))
expectType<void>(mqEmitter().close(() => null))