/
lostSun
/
project-client-server-apps
Обзор
Документация
Войти
/
lostSun
/
project-client-server-apps
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
node_modules/workbox-window/src/utils/WorkboxEvent.ts
59 строк
2 KB
1lostsun
initial commit
05 май 2025, 11:35
05 май 2025, 11:35
fe8f535
Код
Авторство
О чём код?
/* Copyright 2019 Google LLC Use of this source code is governed by an MIT-style license that can be found in the LICENSE file or at https://opensource.org/licenses/MIT. */ import {WorkboxEventTarget} from './WorkboxEventTarget.js'; import '../_version.js'; /** * A minimal `Event` subclass shim. * This doesn't *actually* subclass `Event` because not all browsers support * constructable `EventTarget`, and using a real `Event` will error. * @private */ export class WorkboxEvent<K extends keyof WorkboxEventMap> { target?: WorkboxEventTarget; sw?: ServiceWorker; originalEvent?: Event; isExternal?: boolean; constructor( public type: K, props: Omit<WorkboxEventMap[K], 'target' | 'type'>, ) { Object.assign(this, props); } } export interface WorkboxMessageEvent extends WorkboxEvent<'message'> { data: any; originalEvent: Event; ports: readonly MessagePort[]; } export interface WorkboxLifecycleEvent extends WorkboxEvent<keyof WorkboxLifecycleEventMap> { isUpdate?: boolean; } export interface WorkboxLifecycleWaitingEvent extends WorkboxLifecycleEvent { wasWaitingBeforeRegister?: boolean; } export interface WorkboxLifecycleEventMap { installing: WorkboxLifecycleEvent; installed: WorkboxLifecycleEvent; waiting: WorkboxLifecycleWaitingEvent; activating: WorkboxLifecycleEvent; activated: WorkboxLifecycleEvent; controlling: WorkboxLifecycleEvent; redundant: WorkboxLifecycleEvent; } export interface WorkboxEventMap extends WorkboxLifecycleEventMap { message: WorkboxMessageEvent; }