magicbell
Version:
MagicBell API wrapper
30 lines • 1.32 kB
JavaScript
import { Client } from './client/client.js';
import { assertHasRequiredOptions } from './client/options.js';
import { isString } from './lib/utils.js';
import { createListener } from './resources/listen.js';
import { NotificationPreferences } from './user-resources/notification-preferences.js';
import { Notifications } from './user-resources/notifications.js';
import { PushSubscriptions } from './user-resources/push-subscriptions.js';
import { Subscriptions } from './user-resources/subscriptions.js';
export class UserClient extends Client {
listen;
notificationPreferences = new NotificationPreferences(this);
notifications = new Notifications(this);
pushSubscriptions = new PushSubscriptions(this);
subscriptions = new Subscriptions(this);
socketURL = 'wss://ws.magicbell.com';
constructor({ socketURL, ...options }) {
if (!('token' in options) || !isString(options.token)) {
assertHasRequiredOptions(options, ['apiKey']);
}
if ('apiSecret' in options) {
throw new Error('The API secret should NOT be used on the user client.');
}
super(options);
this.listen = createListener(this, {
apiKey: options.apiKey,
socketURL: socketURL,
});
}
}
//# sourceMappingURL=user-client.js.map