Skip to content

Commit

Permalink
fix: enforce number type for number of events requested
Browse files Browse the repository at this point in the history
  • Loading branch information
pozil committed Dec 18, 2023
1 parent 7d3ae01 commit 13c4426
Show file tree
Hide file tree
Showing 5 changed files with 38 additions and 5 deletions.
10 changes: 10 additions & 0 deletions dist/client.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -683,6 +683,16 @@ var PubSubApiClient = class {
*/
async #subscribe(subscribeRequest) {
try {
if (typeof subscribeRequest.numRequested !== "number") {
throw new Error(
`Expected a number type for number of requested events but got ${typeof subscribeRequest.numRequested}`
);
}
if (!Number.isSafeInteger(subscribeRequest.numRequested) || subscribeRequest.numRequested < 1) {
throw new Error(
`Expected an integer greater than 1 for number of requested events but got ${subscribeRequest.numRequested}`
);
}
if (!this.#client) {
throw new Error("Pub/Sub API client is not connected.");
}
Expand Down
2 changes: 1 addition & 1 deletion dist/client.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions dist/client.js
Original file line number Diff line number Diff line change
Expand Up @@ -650,6 +650,16 @@ var PubSubApiClient = class {
*/
async #subscribe(subscribeRequest) {
try {
if (typeof subscribeRequest.numRequested !== "number") {
throw new Error(
`Expected a number type for number of requested events but got ${typeof subscribeRequest.numRequested}`
);
}
if (!Number.isSafeInteger(subscribeRequest.numRequested) || subscribeRequest.numRequested < 1) {
throw new Error(
`Expected an integer greater than 1 for number of requested events but got ${subscribeRequest.numRequested}`
);
}
if (!this.#client) {
throw new Error("Pub/Sub API client is not connected.");
}
Expand Down
8 changes: 4 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "salesforce-pubsub-api-client",
"version": "3.2.2",
"version": "3.2.3",
"type": "module",
"description": "A node client for the Salesforce Pub/Sub API",
"author": "pozil",
Expand All @@ -22,7 +22,7 @@
"prepublishOnly": "npm run build"
},
"dependencies": {
"@grpc/grpc-js": "^1.9.12",
"@grpc/grpc-js": "^1.9.13",
"@grpc/proto-loader": "^0.7.10",
"avro-js": "^1.11.3",
"certifi": "^14.5.15",
Expand All @@ -32,10 +32,10 @@
},
"devDependencies": {
"@chialab/esbuild-plugin-meta-url": "^0.17.7",
"eslint": "^8.55.0",
"eslint": "^8.56.0",
"husky": "^8.0.3",
"lint-staged": "^15.2.0",
"prettier": "^3.1.0",
"prettier": "^3.1.1",
"tsup": "^8.0.1",
"typescript": "^5.3.3"
},
Expand Down
13 changes: 13 additions & 0 deletions src/client.js
Original file line number Diff line number Diff line change
Expand Up @@ -281,6 +281,19 @@ export default class PubSubApiClient {
*/
async #subscribe(subscribeRequest) {
try {
if (typeof subscribeRequest.numRequested !== 'number') {
throw new Error(
`Expected a number type for number of requested events but got ${typeof subscribeRequest.numRequested}`
);
}
if (
!Number.isSafeInteger(subscribeRequest.numRequested) ||
subscribeRequest.numRequested < 1
) {
throw new Error(
`Expected an integer greater than 1 for number of requested events but got ${subscribeRequest.numRequested}`
);
}
if (!this.#client) {
throw new Error('Pub/Sub API client is not connected.');
}
Expand Down

0 comments on commit 13c4426

Please sign in to comment.