Skip to content

Commit 13c4426

Browse files
committed
fix: enforce number type for number of events requested
1 parent 7d3ae01 commit 13c4426

File tree

5 files changed

+38
-5
lines changed

5 files changed

+38
-5
lines changed

dist/client.cjs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -683,6 +683,16 @@ var PubSubApiClient = class {
683683
*/
684684
async #subscribe(subscribeRequest) {
685685
try {
686+
if (typeof subscribeRequest.numRequested !== "number") {
687+
throw new Error(
688+
`Expected a number type for number of requested events but got ${typeof subscribeRequest.numRequested}`
689+
);
690+
}
691+
if (!Number.isSafeInteger(subscribeRequest.numRequested) || subscribeRequest.numRequested < 1) {
692+
throw new Error(
693+
`Expected an integer greater than 1 for number of requested events but got ${subscribeRequest.numRequested}`
694+
);
695+
}
686696
if (!this.#client) {
687697
throw new Error("Pub/Sub API client is not connected.");
688698
}

dist/client.d.ts.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/client.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -650,6 +650,16 @@ var PubSubApiClient = class {
650650
*/
651651
async #subscribe(subscribeRequest) {
652652
try {
653+
if (typeof subscribeRequest.numRequested !== "number") {
654+
throw new Error(
655+
`Expected a number type for number of requested events but got ${typeof subscribeRequest.numRequested}`
656+
);
657+
}
658+
if (!Number.isSafeInteger(subscribeRequest.numRequested) || subscribeRequest.numRequested < 1) {
659+
throw new Error(
660+
`Expected an integer greater than 1 for number of requested events but got ${subscribeRequest.numRequested}`
661+
);
662+
}
653663
if (!this.#client) {
654664
throw new Error("Pub/Sub API client is not connected.");
655665
}

package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "salesforce-pubsub-api-client",
3-
"version": "3.2.2",
3+
"version": "3.2.3",
44
"type": "module",
55
"description": "A node client for the Salesforce Pub/Sub API",
66
"author": "pozil",
@@ -22,7 +22,7 @@
2222
"prepublishOnly": "npm run build"
2323
},
2424
"dependencies": {
25-
"@grpc/grpc-js": "^1.9.12",
25+
"@grpc/grpc-js": "^1.9.13",
2626
"@grpc/proto-loader": "^0.7.10",
2727
"avro-js": "^1.11.3",
2828
"certifi": "^14.5.15",
@@ -32,10 +32,10 @@
3232
},
3333
"devDependencies": {
3434
"@chialab/esbuild-plugin-meta-url": "^0.17.7",
35-
"eslint": "^8.55.0",
35+
"eslint": "^8.56.0",
3636
"husky": "^8.0.3",
3737
"lint-staged": "^15.2.0",
38-
"prettier": "^3.1.0",
38+
"prettier": "^3.1.1",
3939
"tsup": "^8.0.1",
4040
"typescript": "^5.3.3"
4141
},

src/client.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -281,6 +281,19 @@ export default class PubSubApiClient {
281281
*/
282282
async #subscribe(subscribeRequest) {
283283
try {
284+
if (typeof subscribeRequest.numRequested !== 'number') {
285+
throw new Error(
286+
`Expected a number type for number of requested events but got ${typeof subscribeRequest.numRequested}`
287+
);
288+
}
289+
if (
290+
!Number.isSafeInteger(subscribeRequest.numRequested) ||
291+
subscribeRequest.numRequested < 1
292+
) {
293+
throw new Error(
294+
`Expected an integer greater than 1 for number of requested events but got ${subscribeRequest.numRequested}`
295+
);
296+
}
284297
if (!this.#client) {
285298
throw new Error('Pub/Sub API client is not connected.');
286299
}

0 commit comments

Comments
 (0)