onesignal-web-sdk
Version:
Web push notifications from OneSignal.
38 lines (35 loc) • 1.62 kB
text/typescript
import { WorkerMessenger } from '../libraries/WorkerMessenger';
import { ServiceWorkerManager } from '../managers/ServiceWorkerManager';
import { SubscriptionManager } from '../managers/SubscriptionManager';
import { AppConfig } from './AppConfig';
import { SessionManager } from '../managers/SessionManager';
import PermissionManager from '../managers/PermissionManager';
import ContextHelper from "../helpers/ContextHelper";
import { UpdateManager } from "../managers/UpdateManager";
export interface ContextSWInterface {
appConfig: AppConfig;
subscriptionManager: SubscriptionManager;
serviceWorkerManager: ServiceWorkerManager;
sessionManager: SessionManager;
permissionManager: PermissionManager;
workerMessenger: WorkerMessenger;
updateManager: UpdateManager;
}
export default class ContextSW implements ContextSWInterface {
public appConfig: AppConfig;
public subscriptionManager: SubscriptionManager;
public serviceWorkerManager: ServiceWorkerManager;
public sessionManager: SessionManager;
public permissionManager: PermissionManager;
public workerMessenger: WorkerMessenger;
public updateManager: UpdateManager;
constructor(appConfig: AppConfig) {
this.appConfig = appConfig;
this.subscriptionManager = ContextHelper.getSubscriptionManager(this);
this.serviceWorkerManager = ContextHelper.getServiceWorkerManager(this);
this.sessionManager = new SessionManager();
this.permissionManager = new PermissionManager();
this.workerMessenger = new WorkerMessenger(this);
this.updateManager = new UpdateManager(this);
}
}