From 18c227955f93fdea3c216feb669942e19e300f8a Mon Sep 17 00:00:00 2001 From: Mateusz Wiktor Date: Wed, 23 Sep 2026 09:00:35 +0200 Subject: [PATCH] Fix TypeScript-only syntax in docs snippets embedded as JavaScript Platform docs review (G01): EmbeddedCode blocks labeled javascript on non-sports pages (files, message-persistence, app-context, mobile-push, presence, channel-groups basic-usage snippets, plus message-persistence.ts and presence.ts) failed node --check because catch blocks used `(error as PubNubError).status` casts, and a couple of snippets used `(channel: string) =>` parameter annotations and a `file!` non-null assertion. Replace the cast-based status message with a plain `console.error(`: ${error}`)`, drop the now-unused PubNubError import, remove the two type annotations, and restructure the React Native download snippet so it never needs a non-null assertion. `npm run test:snippets` (tsc --project docs-snippets/tsconfig.json --noEmit) still passes, and every affected snippet region now also passes node --check. Co-Authored-By: Claude Sonnet 5 --- docs-snippets/basic-usage/app-context.ts | 140 +++--------------- docs-snippets/basic-usage/channel-groups.ts | 28 +--- docs-snippets/basic-usage/file-sharing.ts | 44 ++---- .../basic-usage/message-persistence.ts | 20 +-- docs-snippets/basic-usage/mobile-push.ts | 60 ++------ docs-snippets/basic-usage/presence.ts | 26 +--- docs-snippets/message-persistence.ts | 20 +-- docs-snippets/presence.ts | 20 +-- 8 files changed, 69 insertions(+), 289 deletions(-) diff --git a/docs-snippets/basic-usage/app-context.ts b/docs-snippets/basic-usage/app-context.ts index ab29dc9db..04bf02645 100644 --- a/docs-snippets/basic-usage/app-context.ts +++ b/docs-snippets/basic-usage/app-context.ts @@ -1,4 +1,4 @@ -import PubNub, { PubNubError } from '../../lib/types'; +import PubNub from '../../lib/types'; const pubnub = new PubNub({ publishKey: 'demo', @@ -14,11 +14,7 @@ async function getAllUUIDMetadata() { const response = await pubnub.objects.getAllUUIDMetadata(); console.log('getAllUUIDMetadata response:', response); } catch (error) { - console.error( - `Get all UUID metadata error: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Get all UUID metadata error: ${error}`); } } @@ -32,11 +28,7 @@ try { const response = await pubnub.objects.getUUIDMetadata(); console.log('getUUIDMetadata response:', response); } catch (error) { - console.error( - `Get UUID metadata error: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Get UUID metadata error: ${error}`); } // Using the passed in UUID @@ -46,11 +38,7 @@ try { }); console.log('getUUIDMetadata response:', response); } catch (error) { - console.error( - `Get UUID metadata error: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Get UUID metadata error: ${error}`); } // snippet.end @@ -64,11 +52,7 @@ try { }); console.log('setUUIDMetadata response:', response); } catch (error) { - console.error( - `Set UUID metadata error: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Set UUID metadata error: ${error}`); } // Using the passed in UUID @@ -81,11 +65,7 @@ try { }); console.log('setUUIDMetadata response:', response); } catch (error) { - console.error( - `Set UUID metadata error: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Set UUID metadata error: ${error}`); } // snippet.end @@ -94,11 +74,7 @@ try { try { const response = await pubnub.objects.removeUUIDMetadata(); } catch (error) { - console.error( - `Remove UUID metadata error: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Remove UUID metadata error: ${error}`); } // Using the passed in UUID @@ -107,11 +83,7 @@ try { uuid: 'myUuid', }); } catch (error) { - console.error( - `Remove UUID metadata error: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Remove UUID metadata error: ${error}`); } // snippet.end @@ -124,11 +96,7 @@ try { }, }); } catch (error) { - console.error( - `Get all channel metadata error: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Get all channel metadata error: ${error}`); } // Get all channels with the filter option. To get all channel which has Id ending 'Team'. @@ -138,11 +106,7 @@ try { }); console.log('Get all channel metadata response:', response); } catch (error) { - console.error( - `Get all channel metadata error: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Get all channel metadata error: ${error}`); } // snippet.end @@ -154,11 +118,7 @@ try { }); console.log('Get channel metadata response:', response); } catch (error) { - console.error( - `Get channel metadata error: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Get channel metadata error: ${error}`); } // snippet.end @@ -179,11 +139,7 @@ try { }); console.log('Set channel metadata response:', response); } catch (error) { - console.error( - `Set channel metadata error: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Set channel metadata error: ${error}`); } // snippet.end @@ -193,11 +149,7 @@ try { channel: 'team.red', }); } catch (error) { - console.error( - `Remove channel metadata error: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Remove channel metadata error: ${error}`); } // snippet.end @@ -206,11 +158,7 @@ try { try { const response = await pubnub.objects.getMemberships(); } catch (error) { - console.error( - `Get memberships error: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Get memberships error: ${error}`); } // Using the passed in UUID @@ -222,11 +170,7 @@ try { }, }); } catch (error) { - console.error( - `Get memberships with channels fields included error: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Get memberships with channels fields included error: ${error}`); } // Get all memberships that are starred by the user @@ -236,11 +180,7 @@ try { filter: 'custom.starred == true', }); } catch (error) { - console.error( - `Get filtered memberships error: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Get filtered memberships error: ${error}`); } // snippet.end @@ -255,11 +195,7 @@ try { }); console.log('Set memberships response:', response); } catch (error) { - console.error( - `Set memberships error: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Set memberships error: ${error}`); } // Using the passed in UUID @@ -277,11 +213,7 @@ try { }); console.log('Set memberships response:', response); } catch (error) { - console.error( - `Set memberships error: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Set memberships error: ${error}`); } // snippet.end @@ -292,11 +224,7 @@ try { channels: ['ch-1', 'ch-2'], }); } catch (error) { - console.error( - `Remove memberships error: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Remove memberships error: ${error}`); } // Using the passed in UUID @@ -306,11 +234,7 @@ try { channels: ['ch-1', 'ch-2'], }); } catch (error) { - console.error( - `Remove memberships for given uuids error: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Remove memberships for given uuids error: ${error}`); } // snippet.end @@ -324,11 +248,7 @@ try { }); console.log('getChannelMembers response:', response); } catch (error) { - console.error( - `Get channel members error: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Get channel members error: ${error}`); } // Get all channel members with "admin" in the description @@ -339,11 +259,7 @@ try { }); console.log('getChannelMembers response:', response); } catch (error) { - console.error( - `Get channel members error: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Get channel members error: ${error}`); } // snippet.end @@ -355,11 +271,7 @@ try { }); console.log('setChannelMembers response:', response); } catch (error) { - console.error( - `Set channel members error: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Set channel members error: ${error}`); } // snippet.end @@ -370,10 +282,6 @@ try { uuids: ['uuid-1', 'uuid-2'], }); } catch (error) { - console.error( - `Remove channel members error: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Remove channel members error: ${error}`); } // snippet.end diff --git a/docs-snippets/basic-usage/channel-groups.ts b/docs-snippets/basic-usage/channel-groups.ts index 35380414a..817f7d622 100644 --- a/docs-snippets/basic-usage/channel-groups.ts +++ b/docs-snippets/basic-usage/channel-groups.ts @@ -1,4 +1,4 @@ -import PubNub, { PubNubError } from '../../lib/types'; +import PubNub from '../../lib/types'; const pubnub = new PubNub({ publishKey: 'demo', @@ -14,11 +14,7 @@ try { }); console.log('addChannels to Group response:', response); } catch (error) { - console.error( - `Add channels to group error: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Add channels to group error: ${error}`); } // snippet.end @@ -30,15 +26,11 @@ try { channelGroup: 'myChannelGroup', }); console.log('Listing push channels for the device:', response); - response.channels.forEach((channel: string) => { + response.channels.forEach((channel) => { console.log(channel); }); } catch (error) { - console.error( - `List channels of group error: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`List channels of group error: ${error}`); } // snippet.end @@ -52,11 +44,7 @@ try { }); console.log('removeChannels from group response:', response); } catch (error) { - console.error( - `Remove channels from group error: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Remove channels from group error: ${error}`); } // snippet.end @@ -69,10 +57,6 @@ try { }); console.log('deleteChannelGroup response:', response); } catch (error) { - console.error( - `Delete channel group error: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Delete channel group error: ${error}`); } // snippet.end diff --git a/docs-snippets/basic-usage/file-sharing.ts b/docs-snippets/basic-usage/file-sharing.ts index fda173eb6..4f8df43a2 100644 --- a/docs-snippets/basic-usage/file-sharing.ts +++ b/docs-snippets/basic-usage/file-sharing.ts @@ -1,4 +1,4 @@ -import PubNub, { PubNubError } from '../../lib/types'; +import PubNub from '../../lib/types'; import fs from 'fs'; const pubnub = new PubNub({ @@ -22,11 +22,7 @@ try { console.log('File sent successfully:', response); } catch (error) { - console.error( - `Error sending file: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Error sending file: ${error}`); } // snippet.end @@ -35,11 +31,7 @@ try { const response = await pubnub.listFiles({ channel: 'my_channel' }); console.log('Files listed successfully:', response); } catch (error) { - console.error( - `Error listing files: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Error listing files: ${error}`); } // snippet.end @@ -66,31 +58,23 @@ try { console.log('File saved to ./cat_picture.jpg'); }); } catch (error) { - console.error( - `Error downloading file: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Error downloading file: ${error}`); } // snippet.end // snippet.downloadFileReactNativeBasicUsage // in React and React Native -let file; +let fileContent; try { - file = await pubnub.downloadFile({ + const file = await pubnub.downloadFile({ channel: 'awesomeChannel', id: 'imageId', name: 'cat_picture.jpg', }); + fileContent = await file.toBlob(); } catch (error) { - console.error( - `Error downloading file: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Error downloading file: ${error}`); } -const fileContent = await file!.toBlob(); // snippet.end // snippet.deleteFileBasicUsage @@ -102,11 +86,7 @@ try { }); console.log('File deleted successfully:', deleteFileResponse); } catch (error) { - console.error( - `Error deleting file: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Error deleting file: ${error}`); } // snippet.end @@ -121,10 +101,6 @@ try { }); console.log('File message published successfully:', fileMessageResponse); } catch (error) { - console.error( - `Error publishing file message: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Error publishing file message: ${error}`); } // snippet.end diff --git a/docs-snippets/basic-usage/message-persistence.ts b/docs-snippets/basic-usage/message-persistence.ts index 03ea5664c..284e1bed9 100644 --- a/docs-snippets/basic-usage/message-persistence.ts +++ b/docs-snippets/basic-usage/message-persistence.ts @@ -1,4 +1,4 @@ -import PubNub, { PubNubError } from '../../lib/types'; +import PubNub from '../../lib/types'; const pubnub = new PubNub({ publishKey: 'demo', @@ -18,11 +18,7 @@ try { }); console.log('Fetched Messages:', result); } catch (error) { - console.error( - `Messages fetch failed: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Messages fetch failed: ${error}`); } // snippet.end @@ -35,11 +31,7 @@ try { }); console.log('Messages deleted successfully:', result); } catch (error) { - console.error( - `Messages delete failed: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Messages delete failed: ${error}`); } // snippet.end @@ -51,10 +43,6 @@ try { }); console.log('Message counts retrieved successfully:', result); } catch (error) { - console.error( - `Message counts retrieval failed: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Message counts retrieval failed: ${error}`); } // snippet.end diff --git a/docs-snippets/basic-usage/mobile-push.ts b/docs-snippets/basic-usage/mobile-push.ts index 45c8293e7..1980a5931 100644 --- a/docs-snippets/basic-usage/mobile-push.ts +++ b/docs-snippets/basic-usage/mobile-push.ts @@ -1,4 +1,4 @@ -import PubNub, { PubNubError } from '../../lib/types'; +import PubNub from '../../lib/types'; // Initialize PubNub with demo keys const pubnub = new PubNub({ @@ -19,11 +19,7 @@ try { }); console.log('device added to channels response:', response); } catch (error) { - console.error( - `Error adding device to channels: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Error adding device to channels: ${error}`); } // Function to add a device to a channel for FCM @@ -35,11 +31,7 @@ try { }); console.log('device added to channels response:', response); } catch (error) { - console.error( - `Error adding device to channels: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Error adding device to channels: ${error}`); } // snippet.end @@ -53,15 +45,11 @@ try { topic: 'com.example.bundle_id', }); console.log('listing channels for device response:', response); - response.channels.forEach((channel: string) => { + response.channels.forEach((channel) => { console.log(channel); }); } catch (error) { - console.error( - `Error listing channels for device: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Error listing channels for device: ${error}`); } // for FCM @@ -73,15 +61,11 @@ try { console.log('listing channels for device response:', response); - response.channels.forEach((channel: string) => { + response.channels.forEach((channel) => { console.log(channel); }); } catch (error) { - console.error( - `Error listing channels for device: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Error listing channels for device: ${error}`); } // snippet.end @@ -98,11 +82,7 @@ try { console.log('removing device from channel response:', response); } catch (error) { - console.error( - `Error removing device from channel: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Error removing device from channel: ${error}`); } // for FCM @@ -115,11 +95,7 @@ try { console.log('removing device from channel response:', response); } catch (error) { - console.error( - `Error removing device from channel: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Error removing device from channel: ${error}`); } // snippet.end @@ -136,11 +112,7 @@ try { console.log('deleteDevice response:', response); } catch (error) { - console.error( - `Error deleting device: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Error deleting device: ${error}`); } // for FCM @@ -152,11 +124,7 @@ try { console.log('deleteDevice response:', response); } catch (error) { - console.error( - `Error deleting device: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Error deleting device: ${error}`); } // snippet.end @@ -173,10 +141,6 @@ try { }); console.log('publish response:', response); } catch (error) { - console.error( - `Error publishing message: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Error publishing message: ${error}`); } // snippet.end diff --git a/docs-snippets/basic-usage/presence.ts b/docs-snippets/basic-usage/presence.ts index d0e202259..70b0a1449 100644 --- a/docs-snippets/basic-usage/presence.ts +++ b/docs-snippets/basic-usage/presence.ts @@ -1,4 +1,4 @@ -import PubNub, { PubNubError } from '../../lib/types'; +import PubNub from '../../lib/types'; const pubnub = new PubNub({ publishKey: 'demo', @@ -17,11 +17,7 @@ try { }); console.log('Here Now Result:', result); } catch (error) { - console.error( - `Here Now failed with error: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`Here Now failed with error: ${error}`); } // snippet.end @@ -32,11 +28,7 @@ try { }); console.log('State set successfully:', response); } catch (error) { - console.error( - `State set failed: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`State set failed: ${error}`); } // snippet.end @@ -49,11 +41,7 @@ try { }); console.log('State set successfully:', response); } catch (error) { - console.error( - `State set failed: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`State set failed: ${error}`); } // snippet.end @@ -66,11 +54,7 @@ try { }); console.log('State retrieved successfully:', response); } catch (error) { - console.error( - `State retrieval failed: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`State retrieval failed: ${error}`); } // snippet.end diff --git a/docs-snippets/message-persistence.ts b/docs-snippets/message-persistence.ts index 52e939aa3..0d43d23d2 100644 --- a/docs-snippets/message-persistence.ts +++ b/docs-snippets/message-persistence.ts @@ -1,4 +1,4 @@ -import PubNub, { PubNubError } from '../lib/types'; +import PubNub from '../lib/types'; const pubnub = new PubNub({ publishKey: 'demo', @@ -17,11 +17,7 @@ try { }); console.log('fetch messages response:', response); } catch (error) { - console.error( - `fetch messages failed with error: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`fetch messages failed with error: ${error}`); } // snippet.end @@ -34,11 +30,7 @@ try { }); console.log('delete messages response:', response); } catch (error) { - console.error( - `delete messages failed with error: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`delete messages failed with error: ${error}`); } // snippet.end @@ -54,10 +46,6 @@ try { }); console.log('message count response:', response); } catch (error) { - console.error( - `message count failed with error: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`message count failed with error: ${error}`); } // snippet.end diff --git a/docs-snippets/presence.ts b/docs-snippets/presence.ts index 57fdbc8af..821f00f1d 100644 --- a/docs-snippets/presence.ts +++ b/docs-snippets/presence.ts @@ -1,4 +1,4 @@ -import PubNub, { PubNubError } from '../lib/types'; +import PubNub from '../lib/types'; const pubnub = new PubNub({ publishKey: 'demo', @@ -14,11 +14,7 @@ try { }); console.log('hereNow response:', response); } catch (error) { - console.error( - `hereNow failed with error: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`hereNow failed with error: ${error}`); } // snippet.end @@ -30,11 +26,7 @@ try { }); console.log('hereNow response:', response); } catch (error) { - console.error( - `hereNow failed with error: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`hereNow failed with error: ${error}`); } // snippet.end @@ -45,10 +37,6 @@ try { }); console.log('hereNow response:', response); } catch (error) { - console.error( - `hereNow failed with error: ${error}.${ - (error as PubNubError).status ? ` Additional information: ${(error as PubNubError).status}` : '' - }`, - ); + console.error(`hereNow failed with error: ${error}`); } // snippet.end