Skip to content

Commit 7d11630

Browse files
ngbrownbaelter
authored andcommitted
Throw and reject Promise with an Error
1 parent c0e1c21 commit 7d11630

6 files changed

Lines changed: 11 additions & 9 deletions

File tree

.eslintrc.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
},
1414
"plugins": ["@typescript-eslint"],
1515
"rules": {
16-
"@typescript-eslint/consistent-type-imports": "error"
16+
"@typescript-eslint/consistent-type-imports": "error",
17+
"prefer-promise-reject-errors": "error",
18+
"no-throw-literal": "error"
1719
}
1820
}

src/amqp-socket-client.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ export class AMQPClient extends AMQPBaseClient {
9999
// first 7 bytes of a frame was split over two reads, this reads the second part
100100
if (this.framePos !== 0) {
101101
const copied = buf.copy(this.frameBuffer, this.framePos, bufPos, bufPos + 7 - this.framePos)
102-
if (copied === 0) throw `Copied 0 bytes framePos=${this.framePos} bufPos=${bufPos} bytesWritten=${bufLen}`
102+
if (copied === 0) throw new AMQPError(`Copied 0 bytes framePos=${this.framePos} bufPos=${bufPos} bytesWritten=${bufLen}`, this)
103103
this.frameSize = this.frameBuffer.readInt32BE(bufPos + 3) + 8
104104
this.framePos += copied
105105
bufPos += copied
@@ -108,7 +108,7 @@ export class AMQPClient extends AMQPBaseClient {
108108
// frame header is split over reads, copy to frameBuffer
109109
if (bufPos + 3 + 4 > bufLen) {
110110
const copied = buf.copy(this.frameBuffer, this.framePos, bufPos, bufLen)
111-
if (copied === 0) throw `Copied 0 bytes framePos=${this.framePos} bufPos=${bufPos} bytesWritten=${bufLen}`
111+
if (copied === 0) throw new AMQPError(`Copied 0 bytes framePos=${this.framePos} bufPos=${bufPos} bytesWritten=${bufLen}`, this)
112112
this.framePos += copied
113113
break
114114
}
@@ -128,7 +128,7 @@ export class AMQPClient extends AMQPBaseClient {
128128
const leftOfFrame = this.frameSize - this.framePos
129129
const copyBytes = Math.min(leftOfFrame, bufLen - bufPos)
130130
const copied = buf.copy(this.frameBuffer, this.framePos, bufPos, bufPos + copyBytes)
131-
if (copied === 0) throw `Copied 0 bytes, please report this bug, frameSize=${this.frameSize} framePos=${this.framePos} bufPos=${bufPos} copyBytes=${copyBytes} bytesWritten=${bufLen}`
131+
if (copied === 0) throw new AMQPError(`Copied 0 bytes, please report this bug, frameSize=${this.frameSize} framePos=${this.framePos} bufPos=${bufPos} copyBytes=${copyBytes} bytesWritten=${bufLen}`, this)
132132
this.framePos += copied
133133
bufPos += copied
134134
if (this.framePos === this.frameSize) {

src/amqp-view.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ export class AMQPView extends DataView {
272272
break
273273
}
274274
default:
275-
throw `Field type '${k}' not supported`
275+
throw new Error(`Field type '${k}' not supported`)
276276
}
277277
return [v, i - byteOffset]
278278
}
@@ -333,7 +333,7 @@ export class AMQPView extends DataView {
333333
}
334334
break
335335
default:
336-
throw `Unsupported field type '${field}'`
336+
throw new Error(`Unsupported field type '${field}'`)
337337
}
338338
return i - byteOffset
339339
}

src/amqp-websocket-client.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ export class AMQPWebSocketClient extends AMQPBaseClient {
7676
reject(err)
7777
}
7878
} else {
79-
reject("Socket not connected")
79+
reject(new AMQPError("Socket not connected", this))
8080
}
8181
})
8282
}

test-browser/websocket.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -593,7 +593,7 @@ test("onerror is not called when conn is closed by client", async () => {
593593
const conn = await amqp.connect()
594594
const callbackPromise = new Promise((done, reject) => {
595595
conn.onerror = vi.fn(
596-
(err: AMQPError) => reject(`onerror should not be called when gracefully closed. Error was: ${err.message}`)
596+
(err: AMQPError) => reject(new Error(`onerror should not be called when gracefully closed. Error was: ${err.message}`))
597597
)
598598
setTimeout(done, 10)
599599
})

test/test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -598,7 +598,7 @@ test("onerror is not called when conn is closed by client", async () => {
598598
const conn = await amqp.connect()
599599
const callbackPromise = new Promise((done, reject) => {
600600
conn.onerror = vi.fn(
601-
(err: AMQPError) => reject(`onerror should not be called when gracefully closed. Error was: ${err.message}`)
601+
(err: AMQPError) => reject(new Error(`onerror should not be called when gracefully closed. Error was: ${err.message}`))
602602
)
603603
setTimeout(done, 10)
604604
})

0 commit comments

Comments
 (0)