chromium/third_party/blink/renderer/modules/service_worker/router_rule.idl

// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// https://w3c.github.io/ServiceWorker/#enumdef-routersourceenum
enum RouterSourceEnum { "network", "race-network-and-fetch-handler", "fetch-event", "cache" };

// https://w3c.github.io/ServiceWorker/#typedefdef-routersource
typedef (RouterSourceEnum or RouterSource) RouterSourceInput;

// https://w3c.github.io/ServiceWorker/#dictdef-routerrule
dictionary RouterRule {
  RouterCondition condition;
  RouterSourceInput source;
};