fix(dispatcher): better errors in CallbackDataBuilder#parse

This commit is contained in:
alina 🌸 2024-05-28 14:21:10 +03:00
parent 6ec7c94ddb
commit 2d78a892b4
Signed by: teidesu
SSH key fingerprint: SHA256:uNeCpw6aTSU4aIObXLvHfLkDa82HWH9EiOj9AXOIRpI

View file

@ -64,11 +64,17 @@ export class CallbackDataBuilder<T extends string> {
const parts = data.split(this.sep)
if (parts[0] !== this.prefix) {
throw new MtArgumentError('Invalid data passed')
throw new MtArgumentError(
`Invalid data passed: "${data}" (bad prefix, expected ${this.prefix}, got ${parts[0]})`,
)
}
if (parts.length !== this._fields.length + 1) {
throw new MtArgumentError('Invalid data passed')
throw new MtArgumentError(
`Invalid data passed: "${data}" (bad parts count, expected ${this._fields.length}, got ${
parts.length - 1
})`,
)
}
const ret = {} as Record<T, string>