UNPKG

baqend

Version:

Baqend JavaScript SDK

67 lines 4.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PushMessage = void 0; var binding_1 = require("../binding"); /** * PushMessages are used to send a push notification to a set of devices */ var PushMessage = /** @class */ (function () { /** * Push message will be used to send a push notification to a set of devices * * @param [devices] The Set of device references which * will receive this push notification. * @param message The message of the push notification. * @param subject The subject of the push notification. * @param [options] The options object which can contain additional information and data * @param [badge] The badge for iOS or Web Push devices * @param [data] The data object which can contain additional information. */ function PushMessage(devices, message, subject, options, badge, data) { var opts = typeof options === 'string' ? { sound: options, badge: badge, data: data } : (options || {}); this.devices = PushMessage.initDevices(devices); this.message = message; this.subject = subject; Object.assign(this, opts); } /** * Instantiates a set of devices from the given parameter * @param devices * @return */ PushMessage.initDevices = function (devices) { if (devices instanceof Set) { return devices; } if (devices instanceof binding_1.Entity) { return new Set([devices]); } if (!devices || devices[Symbol.iterator]) { return new Set(devices); } throw new Error('Only Sets, Lists and Arrays can be used as devices.'); }; /** * Adds a new object to the set of devices * @param device will be added to the device set to receive the push notification * @return */ PushMessage.prototype.addDevice = function (device) { this.devices.add(device); }; /** * Converts the push message to JSON * @return */ PushMessage.prototype.toJSON = function () { if (!this.devices || !this.devices.size) { throw new Error('Set of devices is empty.'); } return Object.assign({}, this, { devices: Array.from(this.devices, function (device) { return device.id; }), }); }; return PushMessage; }()); exports.PushMessage = PushMessage; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHVzaE1lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvaW50ZXJzZWN0aW9uL1B1c2hNZXNzYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHNDQUFvQztBQXdFcEM7O0dBRUc7QUFDSDtJQWdCRTs7Ozs7Ozs7OztPQVVHO0lBQ0gscUJBQVksT0FBa0UsRUFBRSxPQUFnQixFQUFFLE9BQWdCLEVBQ2hILE9BQXFDLEVBQUUsS0FBdUIsRUFBRSxJQUFXO1FBQzNFLElBQU0sSUFBSSxHQUFHLE9BQU8sT0FBTyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssT0FBQSxFQUFFLElBQUksTUFBQSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRTdGLElBQUksQ0FBQyxPQUFPLEdBQUcsV0FBVyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUV2QixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNZLHVCQUFXLEdBQTFCLFVBQTJCLE9BQW1FO1FBQzVGLElBQUksT0FBTyxZQUFZLEdBQUcsRUFBRTtZQUMxQixPQUFPLE9BQU8sQ0FBQztTQUNoQjtRQUVELElBQUksT0FBTyxZQUFZLGdCQUFNLEVBQUU7WUFDN0IsT0FBTyxJQUFJLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FDM0I7UUFFRCxJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDeEMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUN6QjtRQUVELE1BQU0sSUFBSSxLQUFLLENBQUMscURBQXFELENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILCtCQUFTLEdBQVQsVUFBVSxNQUFvQjtRQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsNEJBQU0sR0FBTjtRQUNFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFDdkMsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1NBQzdDO1FBRUQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQWEsRUFBRSxJQUFJLEVBQUU7WUFDeEMsT0FBTyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxVQUFDLE1BQU0sSUFBSyxPQUFBLE1BQU0sQ0FBQyxFQUFFLEVBQVQsQ0FBUyxDQUFDO1NBQ3pELENBQUMsQ0FBQztJQUNMLENBQUM7SUFDSCxrQkFBQztBQUFELENBQUMsQUFqRkQsSUFpRkM7QUFqRlksa0NBQVcifQ==