From edd239cb0168b9fcc3834d9d4eb5962fc4c29a44 Mon Sep 17 00:00:00 2001 From: OneSignal Date: Mon, 22 Jun 2026 19:42:31 +0000 Subject: [PATCH] feat: add v5.8.0 package updates --- dist/helpers.d.ts | 4 +++ dist/helpers.js | 10 ++++++- dist/helpers.js.map | 2 +- helpers.ts | 32 +++++++++++++++++++++ models/CreateNotificationSuccessResponse.ts | 2 +- package.json | 2 +- 6 files changed, 48 insertions(+), 4 deletions(-) diff --git a/dist/helpers.d.ts b/dist/helpers.d.ts index cc8834a..fdb4799 100644 --- a/dist/helpers.d.ts +++ b/dist/helpers.d.ts @@ -10,3 +10,7 @@ export interface CreateNotificationWithRetryResult { wasReplayed: boolean; } export declare function createNotificationWithRetry(configuration: Configuration, notification: Notification, options?: CreateNotificationWithRetryOptions): Promise; +export type MessageSent = CreateNotificationSuccessResponse; +export type MessageNotSent = CreateNotificationSuccessResponse; +export declare function isMessageSent(response: CreateNotificationSuccessResponse): response is MessageSent; +export declare function isMessageNotSent(response: CreateNotificationSuccessResponse): response is MessageNotSent; diff --git a/dist/helpers.js b/dist/helpers.js index 413ed12..1f6513e 100644 --- a/dist/helpers.js +++ b/dist/helpers.js @@ -1,6 +1,6 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.createNotificationWithRetry = void 0; +exports.isMessageNotSent = exports.isMessageSent = exports.createNotificationWithRetry = void 0; const crypto_1 = require("crypto"); const DefaultApi_1 = require("./apis/DefaultApi"); const RETRYABLE_STATUSES = [429, 503]; @@ -76,4 +76,12 @@ function generateUuidV4() { function sleep(ms) { return new Promise((resolve) => setTimeout(resolve, ms)); } +function isMessageSent(response) { + return typeof response.id === 'string' && response.id.length > 0; +} +exports.isMessageSent = isMessageSent; +function isMessageNotSent(response) { + return !isMessageSent(response); +} +exports.isMessageNotSent = isMessageNotSent; //# sourceMappingURL=helpers.js.map \ No newline at end of file diff --git a/dist/helpers.js.map b/dist/helpers.js.map index 491fcd7..63cb159 100644 --- a/dist/helpers.js.map +++ b/dist/helpers.js.map @@ -1 +1 @@ -{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../helpers.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../helpers.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/helpers.ts b/helpers.ts index 9e238dd..dc882e3 100644 --- a/helpers.ts +++ b/helpers.ts @@ -126,3 +126,35 @@ function generateUuidV4(): string { function sleep(ms: number): Promise { return new Promise((resolve) => setTimeout(resolve, ms)); } + +/** + * POST /notifications returns 200 in two distinct cases that share the + * `CreateNotificationSuccessResponse` shape. `MessageSent` is the branch where a + * notification was actually created — `id` is a non-empty UUID. Prefer the + * `isMessageSent` guard over inspecting `id` directly. + */ +export type MessageSent = CreateNotificationSuccessResponse; + +/** + * The branch of a POST /notifications 200 where NO notification was created: + * `id` is the empty string and `errors` carries the reason (for example + * `["All included players are not subscribed"]`). Prefer the `isMessageNotSent` + * guard over inspecting `id` directly. + */ +export type MessageNotSent = CreateNotificationSuccessResponse; + +/** + * Narrows a POST /notifications 200 response to the `MessageSent` branch — a + * notification was created (`id` is a non-empty string). + */ +export function isMessageSent(response: CreateNotificationSuccessResponse): response is MessageSent { + return typeof response.id === 'string' && response.id.length > 0; +} + +/** + * Narrows a POST /notifications 200 response to the `MessageNotSent` branch — no + * notification was created (`id` is absent or empty); inspect `errors` for why. + */ +export function isMessageNotSent(response: CreateNotificationSuccessResponse): response is MessageNotSent { + return !isMessageSent(response); +} diff --git a/models/CreateNotificationSuccessResponse.ts b/models/CreateNotificationSuccessResponse.ts index 44c4a37..2b09d74 100644 --- a/models/CreateNotificationSuccessResponse.ts +++ b/models/CreateNotificationSuccessResponse.ts @@ -10,7 +10,7 @@ import { HttpFile } from '../http/http'; export class CreateNotificationSuccessResponse { /** - * Notification identifier when the request created a notification. An empty string means no notification was created; read `errors` for details (HTTP may still be 200). + * Notification identifier when the request created a notification. An empty string means no notification was created; read `errors` for details (HTTP may still be 200). All OneSignal server SDKs expose message-sent / message-not-sent narrowing helpers (named idiomatically per language — e.g. `isMessageSent`, `is_message_sent`, `message_sent?`); prefer them over comparing `id` directly. */ 'id'?: string; /** diff --git a/package.json b/package.json index c709ee1..f383d40 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@onesignal/node-onesignal", - "version": "5.9.0", + "version": "5.8.0", "description": "OpenAPI client for @onesignal/node-onesignal", "author": "OpenAPI-Generator Contributors", "keywords": [