From aefa0a7466de35049fee8365273725cba1d17271 Mon Sep 17 00:00:00 2001 From: Teknosquad5219 Date: Thu, 9 Jan 2025 16:47:00 -0500 Subject: [PATCH 01/33] Invented Reefscape --- lib/client/GameId.ts | 1 + lib/games.ts | 65 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) diff --git a/lib/client/GameId.ts b/lib/client/GameId.ts index 4105da0a..a9d1b41e 100644 --- a/lib/client/GameId.ts +++ b/lib/client/GameId.ts @@ -2,6 +2,7 @@ export enum GameId { Crescendo = "Crescendo", CenterStage = "CenterStage", IntoTheDeep = "IntoTheDeep", + Reefscape = "Reefscape", } export const defaultGameId = GameId.Crescendo; diff --git a/lib/games.ts b/lib/games.ts index 8ddb292a..8bbdaba1 100644 --- a/lib/games.ts +++ b/lib/games.ts @@ -1,3 +1,4 @@ +import { Dot } from "@/components/stats/Heatmap"; import { CenterStageEnums, Defense, @@ -1160,8 +1161,72 @@ namespace IntoTheDeep { ); } +namespace Reefscape { + export class QuantitativeData extends QuantData {} + + export class PitData extends PitReportData {} + + const pitReportLayout: FormLayoutProps = {}; + + const quantitativeReportLayout: FormLayoutProps = {}; + + const statsLayout: StatsLayout = { + sections: {}, + getGraphDots: function ( + quantitativeReports: Report[], + pitReport?: Pitreport | undefined, + ): Dot[] { + throw new Error("Function not implemented."); + }, + }; + + function getBadges( + pitReport: Pitreport | undefined, + quantitativeReports: Report[] | undefined, + card: boolean, + ) { + const badges: Badge[] = getBaseBadges(pitReport, quantitativeReports); + + return badges; + } + + function getAvgPoints(reports: Report[] | undefined) { + let totalPoints = 0; + + return totalPoints; + } + + const pitStatsLayout: PitStatsLayout = { + overallSlideStats: [], + individualSlideStats: [], + robotCapabilities: [], + graphStat: { + label: "", + key: undefined, + get: undefined, + }, + }; + + export const game = new Game( + "Reefscape", + 2025, + League.FRC, + QuantitativeData, + PitData, + pitReportLayout, + quantitativeReportLayout, + statsLayout, + pitStatsLayout, + "Reefscape", + "https://info.firstinspires.org/hubfs/Dive/reef-scape.svg", + getBadges, + getAvgPoints, + ); +} + export const games: { [id in GameId]: Game } = Object.freeze({ [GameId.IntoTheDeep]: IntoTheDeep.game, [GameId.Crescendo]: Crescendo.game, [GameId.CenterStage]: CenterStage.game, + [GameId.Reefscape]: Reefscape.game, }); From b61f76b6062503bf6851b8805bb2d8b0dc6c7785 Mon Sep 17 00:00:00 2001 From: Teknosquad5219 Date: Thu, 9 Jan 2025 17:55:30 -0500 Subject: [PATCH 02/33] QuantitativeData and PitData filled! --- lib/Enums.ts | 40 ++++++++++++++++++++++++++++++++++++++++ lib/games.ts | 42 ++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 80 insertions(+), 2 deletions(-) diff --git a/lib/Enums.ts b/lib/Enums.ts index 8dc4ba49..bf868976 100644 --- a/lib/Enums.ts +++ b/lib/Enums.ts @@ -81,3 +81,43 @@ export namespace IntoTheDeepEnums { HighLevelClimb = "High Level Climb", } } + +export namespace ReefscapeEnums { + export enum CageHeight { + Shallow = "Shallow", + Deep = "Deep", + None = "None", + } + + export enum EndgameClimbStatus { + Climbed = "Climbed", + FailedToClimb = "Failed To Climb", + Parked = "Parked", + None = "None" + } + + export enum DriveThroughDeepCage { + No = "No", + Slow = "Slow", + Fast = "Fast", + } + + export enum AutoCapabilities { + NoAuto = "No Auto", + MovePastStart = "Move Past Start", + ScoreOneCoral = "Score One Coral", + ScoreMoreThanOneCoral = "ScoreMoreThanOneCoral", + } + + export enum AlgaeRemoval { + CannotRemove = "Cannot Remove", + CanRemove = "Can Remove", + CanRemoveAndScore = "Can Remove And Score", + } + + export enum Climbing { + No = "No", + Deep = "Deep", + Shallow = "Shallow", + } +} diff --git a/lib/games.ts b/lib/games.ts index 8bbdaba1..417e1243 100644 --- a/lib/games.ts +++ b/lib/games.ts @@ -5,6 +5,7 @@ import { FrcDrivetrain, IntakeTypes, IntoTheDeepEnums, + ReefscapeEnums, } from "./Enums"; import { Badge, FormLayoutProps, PitStatsLayout, StatsLayout } from "./Layout"; import { @@ -1162,9 +1163,46 @@ namespace IntoTheDeep { } namespace Reefscape { - export class QuantitativeData extends QuantData {} + export class QuantitativeData extends QuantData { + CageHeight: ReefscapeEnums.CageHeight = ReefscapeEnums.CageHeight.None; + + AutoMovedPastStaringLine: boolean = false; + + AutoCoralScoredLevelOne: number = 0; + AutoCoralScoredLevelTwo: number = 0; + AutoCoralScoredLevelThree: number = 0; + AutoCoralScoredLevelFour: number = 0; + + AutoAlgaeRemovedFromReef: number = 0; + AutoAlgaeScoredProcessor: number = 0; + AutoAlgaeScoredNest: number = 0; + + TeleopCoralScoredLevelOne: number = 0; + TeleopCoralScoredLevelTwo: number = 0; + TeleopCoralScoredLevelThree: number = 0; + TeleopCoralScoredLevelFour: number = 0; + TeleopCoralCycleFails: number = 0; - export class PitData extends PitReportData {} + TeleopAlgaeRemovedFromReef: number = 0; + TeleopAlgaeScoredProcessor: number = 0; + TeleopAlgaeScoredNest: number = 0; + + EndgameClimbStatus: ReefscapeEnums.EndgameClimbStatus = + ReefscapeEnums.EndgameClimbStatus.None; + } + + export class PitData extends PitReportData { + CanDriveUnderShallowCage: boolean = false; + DriveThroughDeepCage: ReefscapeEnums.DriveThroughDeepCage = + ReefscapeEnums.DriveThroughDeepCage.No; + AutoCapabilities: ReefscapeEnums.AutoCapabilities = + ReefscapeEnums.AutoCapabilities.NoAuto; + AlgaeRemoval: ReefscapeEnums.AlgaeRemoval = + ReefscapeEnums.AlgaeRemoval.CannotRemove; + ScoreAlgaeInProcessor: boolean = false; + ScoreAlgaeInNest: boolean = false; + Climbing: ReefscapeEnums.Climbing = ReefscapeEnums.Climbing.No; + } const pitReportLayout: FormLayoutProps = {}; From 6fd6ff2875254c476b99a5795e01ba5c4559604b Mon Sep 17 00:00:00 2001 From: Teknosquad5219 Date: Tue, 14 Jan 2025 16:30:51 -0500 Subject: [PATCH 03/33] quantitativeReportLayout and pitReportLayout finished! --- lib/Enums.ts | 2 +- lib/games.ts | 61 ++++++++++++++++++++++++++++++++++++++++++++++------ 2 files changed, 56 insertions(+), 7 deletions(-) diff --git a/lib/Enums.ts b/lib/Enums.ts index bf868976..0a39d9d5 100644 --- a/lib/Enums.ts +++ b/lib/Enums.ts @@ -109,7 +109,7 @@ export namespace ReefscapeEnums { ScoreMoreThanOneCoral = "ScoreMoreThanOneCoral", } - export enum AlgaeRemoval { + export enum CanRemoveAlgae { CannotRemove = "Cannot Remove", CanRemove = "Can Remove", CanRemoveAndScore = "Can Remove And Score", diff --git a/lib/games.ts b/lib/games.ts index 417e1243..f181eb18 100644 --- a/lib/games.ts +++ b/lib/games.ts @@ -1197,16 +1197,65 @@ namespace Reefscape { ReefscapeEnums.DriveThroughDeepCage.No; AutoCapabilities: ReefscapeEnums.AutoCapabilities = ReefscapeEnums.AutoCapabilities.NoAuto; - AlgaeRemoval: ReefscapeEnums.AlgaeRemoval = - ReefscapeEnums.AlgaeRemoval.CannotRemove; - ScoreAlgaeInProcessor: boolean = false; - ScoreAlgaeInNest: boolean = false; + AutoDescription: string = ""; + CanRemoveAlgae: ReefscapeEnums.CanRemoveAlgae = + ReefscapeEnums.CanRemoveAlgae.CannotRemove; + CanScoreAlgaeInProcessor: boolean = false; + CanScoreAlgaeInNest: boolean = false; Climbing: ReefscapeEnums.Climbing = ReefscapeEnums.Climbing.No; } - const pitReportLayout: FormLayoutProps = {}; + const pitReportLayout: FormLayoutProps = { + Capabilities: [ + { + key: "CanDriveUnderShallowCage", + label: "Can Drive Under Shallow Cage?", + }, + { key: "CanRemoveAlgae", label: "Can Remove Algae?" }, + { + key: "CanScoreAlgaeInProcessor", + label: "Can Score Algae in Processor?", + }, + { key: "CanScoreAlgaeInNest", label: "Can Score Algae in Nest?" }, + { key: "Climbing", label: "Climbing?" }, + ], + Auto: [ + { key: "AutoCapabilities", label: "Auto Capabilities?" }, + { key: "AutoDescription", label: "Auto Description" }, + ], + }; - const quantitativeReportLayout: FormLayoutProps = {}; + const quantitativeReportLayout: FormLayoutProps = { + "Pre-Match": ["CageHeight"], + Auto: [ + "AutoMovedPastStartingLine", + [ + ["AutoCoralScoredLevelOne"], + ["AutoCoralScoredLevelTwo"], + ["AutoCoralScoredLevelThree"], + ["AutoCoralScoredLevelFour"], + ], + [ + ["AutoAlgaeRemovedFromReef"], + ["AutoAlgaeScoredProcessor"], + ["AutoAlgaeScoredNest"], + ], + ], + "Teleop & Endgame": [ + [ + ["TeleopCoralScoredLevelOne"], + ["TeleopCoralScoredLevelTwo"], + ["TeleopCoralScoredLevelThree"], + ["TeleopCoralScoredLevelFour"], + ], + [ + ["TeleopAlgaeRemovedFromReef"], + ["TeleopAlgaeScoredProcessor"], + ["TeleopAlgaeScoredNest"], + ], + "EndgameClimbStatus", + ], + }; const statsLayout: StatsLayout = { sections: {}, From 4a35ad502bcc518acff96c0848f9bc40f99f20f5 Mon Sep 17 00:00:00 2001 From: Teknosquad5219 Date: Thu, 16 Jan 2025 18:03:24 -0500 Subject: [PATCH 04/33] Side quest: added ComparativePercentMulti --- lib/client/StatsMath.ts | 28 ++++++++++++++++++++++++++++ lib/games.ts | 7 ++++++- tests/lib/client/StatsMath.test.ts | 23 +++++++++++++++++++++++ 3 files changed, 57 insertions(+), 1 deletion(-) diff --git a/lib/client/StatsMath.ts b/lib/client/StatsMath.ts index 40c86ad3..5b34981e 100644 --- a/lib/client/StatsMath.ts +++ b/lib/client/StatsMath.ts @@ -118,3 +118,31 @@ export function ComparativePercent( return Round((a / (b + a)) * 100) + "%"; } + +/** +* @tested_by tests/lib/client/StatsMath.test.ts +*/ +export function ComparativePercentMulti( + selectors: Selector[], + reports: Report[], +) { + const results: string[] = []; + const totals = selectors.map((selectors) => + NumericalTotal(selectors, reports), + ); + + let sum = 0; + for (let i = 0; i < totals.length; i++) { + sum += totals[i]; + } + + for (let i = 0; i < totals.length; i++) { + results.push(Round((totals[i] / sum) * 100) + "%"); + } + + if (sum === 0) { + return 0; + } + + return results; +} diff --git a/lib/games.ts b/lib/games.ts index f181eb18..d8a06326 100644 --- a/lib/games.ts +++ b/lib/games.ts @@ -1258,7 +1258,12 @@ namespace Reefscape { }; const statsLayout: StatsLayout = { - sections: {}, + sections: { + Auto: [ + { key: "AutoMovedPastStaringLine", label: "Avg Auto Moves Past Start" }, + + ], + }, getGraphDots: function ( quantitativeReports: Report[], pitReport?: Pitreport | undefined, diff --git a/tests/lib/client/StatsMath.test.ts b/tests/lib/client/StatsMath.test.ts index e4e9aba3..16c0472d 100644 --- a/tests/lib/client/StatsMath.test.ts +++ b/tests/lib/client/StatsMath.test.ts @@ -1,6 +1,7 @@ import { BooleanAverage, ComparativePercent, + ComparativePercentMulti, MostCommonValue, NumericalAverage, NumericalTotal, @@ -91,3 +92,25 @@ test(ComparativePercent.name, () => { ), ).toBe("25%"); }); + +test(ComparativePercentMulti.name, () => { + const reports = [ + { data: { a: 1, b: 2, c: 4, d: 3 } }, + { data: { a: 1, b: 2, c: 4, d: 3 } }, + ]; + + expect( + ComparativePercentMulti(["a", "b", "c", "d"], reports as any), + ).toStrictEqual(["10%", "20%", "40%", "30%"]); + expect( + ComparativePercentMulti( + [ + (r) => (r as any).a, + (r) => (r as any).b, + (r) => (r as any).c, + (r) => (r as any).d, + ], + reports as any, + ), + ).toStrictEqual(["10%", "20%", "40%", "30%"]); +}); From 6b32847f004da47ea1e2b87cd444936590eca4bd Mon Sep 17 00:00:00 2001 From: Teknosquad5219 Date: Tue, 28 Jan 2025 16:28:42 -0500 Subject: [PATCH 05/33] statslayout done --- lib/games.ts | 86 ++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 74 insertions(+), 12 deletions(-) diff --git a/lib/games.ts b/lib/games.ts index d8a06326..c851eda8 100644 --- a/lib/games.ts +++ b/lib/games.ts @@ -1202,6 +1202,8 @@ namespace Reefscape { ReefscapeEnums.CanRemoveAlgae.CannotRemove; CanScoreAlgaeInProcessor: boolean = false; CanScoreAlgaeInNest: boolean = false; + AlgaeScoredAuto: number = 0 + CoralScoredAuto: number = 0 Climbing: ReefscapeEnums.Climbing = ReefscapeEnums.Climbing.No; } @@ -1261,8 +1263,66 @@ namespace Reefscape { sections: { Auto: [ { key: "AutoMovedPastStaringLine", label: "Avg Auto Moves Past Start" }, - + { + key: "AutoCoralScoredLevelOne", + label: "Avg Amt Of Coral Scored Level One Auto", + }, + { + key: "AutoCoralScoredLevelTwo", + label: "Avg Amt Of Coral Scored Level Two Auto", + }, + { + key: "AutoCoralScoredLevelThree", + label: "Avg Amt Of Coral Scored Level Three Auto", + }, + { + key: "AutoCoralScoredLevelFour", + label: "Avg Amt Of Coral Scored Level Four Auto", + }, + { + key: "AutoAlgaeRemovedFromReef", + label: "Avg Amt of Algae Removed From Reef", + }, + { + key: "AutoAlgaeScoredProcessor", + label: "Avg Amt of Algae Scored Processor Auto", + }, + { + key: "AutoAlgaeScoredNest", + label: "Avg Amt of Algae Scored Nest Auto", + }, ], + Teleop: [ + { + key: "TeleopCoralScoredLevelOne", + label: "Avg Amt Of Coral Scored Level One Teleop", + }, + { + key: "TeleopCoralScoredLevelTwo", + label: "Avg Amt Of Coral Scored Level Two Teleop", + }, + { + key: "TeleopCoralScoredLevelThree", + label: "Avg Amt Of Coral Scored Level Three Teleop", + }, + { + key: "TeleopCoralScoredLevelFour", + label: "Avg Amt Of Coral Scored Level Four Teleop", + }, + { + key: "TeleopAlgaeRemovedFromReef", + label: "Avg Amt of Algae Removed From Reef", + }, + { + key: "TeleopAlgaeScoredProcessor", + label: "Avg Amt of Algae Scored Processor Teleop", + }, + { + key: "TeleopAlgaeScoredNest", + label: "Avg Amt of Algae Scored Nest Teleop", + }, + ], + Endgame: [{ key: "EndgameClimbStatus", label: "Endgame Climb status" }], }, getGraphDots: function ( quantitativeReports: Report[], @@ -1272,6 +1332,19 @@ namespace Reefscape { }, }; + const pitStatsLayout: PitStatsLayout = { + overallSlideStats: [ + + ], + individualSlideStats: [], + robotCapabilities: [], + graphStat: { + label: "", + key: undefined, + get: undefined, + }, + }; + function getBadges( pitReport: Pitreport | undefined, quantitativeReports: Report[] | undefined, @@ -1288,17 +1361,6 @@ namespace Reefscape { return totalPoints; } - const pitStatsLayout: PitStatsLayout = { - overallSlideStats: [], - individualSlideStats: [], - robotCapabilities: [], - graphStat: { - label: "", - key: undefined, - get: undefined, - }, - }; - export const game = new Game( "Reefscape", 2025, From e0dbfe00299e2e5eb1674e719376a6119ed0040e Mon Sep 17 00:00:00 2001 From: Teknosquad5219 Date: Thu, 30 Jan 2025 17:28:57 -0500 Subject: [PATCH 06/33] pitStatsLayout! --- lib/Layout.ts | 8 +++ lib/games.ts | 148 +++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 148 insertions(+), 8 deletions(-) diff --git a/lib/Layout.ts b/lib/Layout.ts index 5da62fa8..12a31fb8 100644 --- a/lib/Layout.ts +++ b/lib/Layout.ts @@ -143,6 +143,14 @@ export type StatPair< label: string; }; +export type StatGroup< + TPitData extends PitReportData, + TQuantData extends QuantData, +> = { + stats: Stat[] + label: string; +} + export type StatsLayout< TPitData extends PitReportData, TQuantData extends QuantData, diff --git a/lib/games.ts b/lib/games.ts index c851eda8..ffd3449d 100644 --- a/lib/games.ts +++ b/lib/games.ts @@ -1181,7 +1181,6 @@ namespace Reefscape { TeleopCoralScoredLevelTwo: number = 0; TeleopCoralScoredLevelThree: number = 0; TeleopCoralScoredLevelFour: number = 0; - TeleopCoralCycleFails: number = 0; TeleopAlgaeRemovedFromReef: number = 0; TeleopAlgaeScoredProcessor: number = 0; @@ -1202,8 +1201,8 @@ namespace Reefscape { ReefscapeEnums.CanRemoveAlgae.CannotRemove; CanScoreAlgaeInProcessor: boolean = false; CanScoreAlgaeInNest: boolean = false; - AlgaeScoredAuto: number = 0 - CoralScoredAuto: number = 0 + AlgaeScoredAuto: number = 0; + CoralScoredAuto: number = 0; Climbing: ReefscapeEnums.Climbing = ReefscapeEnums.Climbing.No; } @@ -1334,14 +1333,147 @@ namespace Reefscape { const pitStatsLayout: PitStatsLayout = { overallSlideStats: [ + { + label: "Average Algae Scored In Auto", + key: "AlgaeScoredAuto", + }, + { + label: "Average Coral Scored In Auto", + key: "CoralScoredAuto", + }, + ], + individualSlideStats: [ + { + label: "Average Auto Points", + get: ( + pitReport: Pitreport | undefined, + quantitativeReports: Report[] | undefined, + ) => { + if (!quantitativeReports) return 0; + + const CoralLvlOne = NumericalTotal( + "AutoCoralScoredLevelOne", + quantitativeReports, + ); + + const CoralLvlTwo = NumericalTotal( + "AutoCoralScoredLevelTwo", + quantitativeReports, + ); + + const CoralLvlThree = NumericalTotal( + "AutoCoralScoredLevelThree", + quantitativeReports, + ); + + const CoralLvlFour = NumericalTotal( + "AutoCoralScoredLevelFour", + quantitativeReports, + ); + const AlgaeNest = NumericalTotal( + "AutoAlgaeScoredNest", + quantitativeReports, + ); + + const AlgaeProcessor = NumericalTotal( + "AutoAlgaeScoredProcessor", + quantitativeReports, + ); + + return ( + (CoralLvlOne + + CoralLvlTwo + + CoralLvlThree + + CoralLvlFour + + AlgaeNest + + AlgaeProcessor) / + quantitativeReports.length + ); + }, + }, + { + label: "Average Teleop Points", + get: ( + pitReport: Pitreport | undefined, + quantitativeReports: Report[] | undefined, + ) => { + if (!quantitativeReports) return 0; + + const CoralLvlOne = NumericalTotal( + "TeleopCoralScoredLevelOne", + quantitativeReports, + ); + + const CoralLvlTwo = NumericalTotal( + "TeleopCoralScoredLevelTwo", + quantitativeReports, + ); + + const CoralLvlThree = NumericalTotal( + "TeleopCoralScoredLevelThree", + quantitativeReports, + ); + + const CoralLvlFour = NumericalTotal( + "TeleopCoralScoredLevelFour", + quantitativeReports, + ); + + const AlgaeNest = NumericalTotal( + "TeleopAlgaeScoredNest", + quantitativeReports, + ); + + const AlgaeProcessor = NumericalTotal( + "TeleopAlgaeScoredProcessor", + quantitativeReports, + ); + + return ( + (CoralLvlOne + + CoralLvlTwo + + CoralLvlThree + + CoralLvlFour + + AlgaeNest + + AlgaeProcessor) / + quantitativeReports.length + ); + }, + }, + { + label: "Avg Endgame Points", + get: ( + pitReport: Pitreport | undefined, + quantitativeReports: Report[] | undefined, + ) => { + if (!quantitativeReports) return 0; + + const climbed = NumericalTotal( + "EndgameClimbStatus", + quantitativeReports, + ); + + return Round(climbed) / quantitativeReports.length; + }, + }, + ], + robotCapabilities: [ + { + key: "CanDriveUnderShallowCage", + label: "Can Drive Under Shallow Cage?", + }, + { key: "CanRemoveAlgae", label: "Can Remove Algae?" }, + { + key: "CanScoreAlgaeInProcessor", + label: "Can Score Algae in Processor?", + }, + { key: "CanScoreAlgaeInNest", label: "Can Score Algae in Nest?" }, + { key: "Climbing", label: "Climbing?" }, ], - individualSlideStats: [], - robotCapabilities: [], graphStat: { - label: "", - key: undefined, - get: undefined, + label: "Average Coral Scored In Auto", + key: "CoralScoredAuto", }, }; From 90838c47337ae7d62eaed7f1d9a3afb2f85fed20 Mon Sep 17 00:00:00 2001 From: Teknosquad5219 Date: Mon, 3 Feb 2025 17:33:17 -0500 Subject: [PATCH 07/33] Average points and badges --- lib/Enums.ts | 16 ++-------- lib/games.ts | 83 ++++++++++++++++++++++++++++++++++++++-------------- 2 files changed, 63 insertions(+), 36 deletions(-) diff --git a/lib/Enums.ts b/lib/Enums.ts index 0a39d9d5..c69e3323 100644 --- a/lib/Enums.ts +++ b/lib/Enums.ts @@ -83,15 +83,9 @@ export namespace IntoTheDeepEnums { } export namespace ReefscapeEnums { - export enum CageHeight { - Shallow = "Shallow", - Deep = "Deep", - None = "None", - } - export enum EndgameClimbStatus { - Climbed = "Climbed", - FailedToClimb = "Failed To Climb", + ClimbedLow = "Climbed Low", + ClimbedHigh = "Climbed High", Parked = "Parked", None = "None" } @@ -109,12 +103,6 @@ export namespace ReefscapeEnums { ScoreMoreThanOneCoral = "ScoreMoreThanOneCoral", } - export enum CanRemoveAlgae { - CannotRemove = "Cannot Remove", - CanRemove = "Can Remove", - CanRemoveAndScore = "Can Remove And Score", - } - export enum Climbing { No = "No", Deep = "Deep", diff --git a/lib/games.ts b/lib/games.ts index ffd3449d..a70128d8 100644 --- a/lib/games.ts +++ b/lib/games.ts @@ -1164,8 +1164,6 @@ namespace IntoTheDeep { namespace Reefscape { export class QuantitativeData extends QuantData { - CageHeight: ReefscapeEnums.CageHeight = ReefscapeEnums.CageHeight.None; - AutoMovedPastStaringLine: boolean = false; AutoCoralScoredLevelOne: number = 0; @@ -1175,7 +1173,7 @@ namespace Reefscape { AutoAlgaeRemovedFromReef: number = 0; AutoAlgaeScoredProcessor: number = 0; - AutoAlgaeScoredNest: number = 0; + AutoAlgaeScoredNet: number = 0; TeleopCoralScoredLevelOne: number = 0; TeleopCoralScoredLevelTwo: number = 0; @@ -1184,7 +1182,7 @@ namespace Reefscape { TeleopAlgaeRemovedFromReef: number = 0; TeleopAlgaeScoredProcessor: number = 0; - TeleopAlgaeScoredNest: number = 0; + TeleopAlgaeScoredNet: number = 0; EndgameClimbStatus: ReefscapeEnums.EndgameClimbStatus = ReefscapeEnums.EndgameClimbStatus.None; @@ -1197,10 +1195,9 @@ namespace Reefscape { AutoCapabilities: ReefscapeEnums.AutoCapabilities = ReefscapeEnums.AutoCapabilities.NoAuto; AutoDescription: string = ""; - CanRemoveAlgae: ReefscapeEnums.CanRemoveAlgae = - ReefscapeEnums.CanRemoveAlgae.CannotRemove; + CanRemoveAlgae: boolean = false; CanScoreAlgaeInProcessor: boolean = false; - CanScoreAlgaeInNest: boolean = false; + CanScoreAlgaeInNet: boolean = false; AlgaeScoredAuto: number = 0; CoralScoredAuto: number = 0; Climbing: ReefscapeEnums.Climbing = ReefscapeEnums.Climbing.No; @@ -1217,7 +1214,7 @@ namespace Reefscape { key: "CanScoreAlgaeInProcessor", label: "Can Score Algae in Processor?", }, - { key: "CanScoreAlgaeInNest", label: "Can Score Algae in Nest?" }, + { key: "CanScoreAlgaeInNet", label: "Can Score Algae in Net?" }, { key: "Climbing", label: "Climbing?" }, ], Auto: [ @@ -1239,7 +1236,7 @@ namespace Reefscape { [ ["AutoAlgaeRemovedFromReef"], ["AutoAlgaeScoredProcessor"], - ["AutoAlgaeScoredNest"], + ["AutoAlgaeScoredNet"], ], ], "Teleop & Endgame": [ @@ -1252,7 +1249,7 @@ namespace Reefscape { [ ["TeleopAlgaeRemovedFromReef"], ["TeleopAlgaeScoredProcessor"], - ["TeleopAlgaeScoredNest"], + ["TeleopAlgaeScoredNet"], ], "EndgameClimbStatus", ], @@ -1287,8 +1284,8 @@ namespace Reefscape { label: "Avg Amt of Algae Scored Processor Auto", }, { - key: "AutoAlgaeScoredNest", - label: "Avg Amt of Algae Scored Nest Auto", + key: "AutoAlgaeScoredNet", + label: "Avg Amt of Algae Scored Net Auto", }, ], Teleop: [ @@ -1317,8 +1314,8 @@ namespace Reefscape { label: "Avg Amt of Algae Scored Processor Teleop", }, { - key: "TeleopAlgaeScoredNest", - label: "Avg Amt of Algae Scored Nest Teleop", + key: "TeleopAlgaeScoredNet", + label: "Avg Amt of Algae Scored Net Teleop", }, ], Endgame: [{ key: "EndgameClimbStatus", label: "Endgame Climb status" }], @@ -1371,8 +1368,8 @@ namespace Reefscape { quantitativeReports, ); - const AlgaeNest = NumericalTotal( - "AutoAlgaeScoredNest", + const AlgaeNet = NumericalTotal( + "AutoAlgaeScoredNet", quantitativeReports, ); @@ -1386,7 +1383,7 @@ namespace Reefscape { CoralLvlTwo + CoralLvlThree + CoralLvlFour + - AlgaeNest + + AlgaeNet + AlgaeProcessor) / quantitativeReports.length ); @@ -1420,8 +1417,8 @@ namespace Reefscape { quantitativeReports, ); - const AlgaeNest = NumericalTotal( - "TeleopAlgaeScoredNest", + const AlgaeNet = NumericalTotal( + "TeleopAlgaeScoredNet", quantitativeReports, ); @@ -1435,7 +1432,7 @@ namespace Reefscape { CoralLvlTwo + CoralLvlThree + CoralLvlFour + - AlgaeNest + + AlgaeNet + AlgaeProcessor) / quantitativeReports.length ); @@ -1468,7 +1465,7 @@ namespace Reefscape { key: "CanScoreAlgaeInProcessor", label: "Can Score Algae in Processor?", }, - { key: "CanScoreAlgaeInNest", label: "Can Score Algae in Nest?" }, + { key: "CanScoreAlgaeInNet", label: "Can Score Algae in Net?" }, { key: "Climbing", label: "Climbing?" }, ], graphStat: { @@ -1483,14 +1480,56 @@ namespace Reefscape { card: boolean, ) { const badges: Badge[] = getBaseBadges(pitReport, quantitativeReports); + + if (pitReport?.data?.CanRemoveAlgae) + badges.push({ text: 'Can Remove Algae', color: 'primary'}) + if (pitReport?.data?.CanScoreAlgaeInNet) + badges.push({ text: 'Can Score Algae Net', color: 'secondary'}) + if (pitReport?.data?.CanScoreAlgaeInProcessor) + badges.push({ text: 'Can Score Algae Processor', color: 'success'}) return badges; } function getAvgPoints(reports: Report[] | undefined) { + if (!reports) return 0; + let totalPoints = 0; - return totalPoints; + for (const report of reports.map((r) => r.data)) { + switch (report.EndgameClimbStatus) { + case ReefscapeEnums.EndgameClimbStatus.None: + break; + case ReefscapeEnums.EndgameClimbStatus.Parked: + totalPoints += 2; + break; + case ReefscapeEnums.EndgameClimbStatus.ClimbedHigh: + totalPoints += 6; + break; + case ReefscapeEnums.EndgameClimbStatus.ClimbedLow: + totalPoints += 12; + break; + } + + totalPoints += report.TeleopCoralScoredLevelOneCoralScoredLevelOne * 2; + totalPoints += + (report.AutoCoralScoredLevelOne + report.TeleopCoralScoredLevelTwo) * 3; + totalPoints += + (report.AutoCoralScoredLevelTwo + + report.TeleopCoralScoredLevelThree + + report.AutoAlgaeScoredNet + + report.TeleopAlgaeScoredNet) * + 4; + totalPoints += report.TeleopCoralScoredLevelFour * 5; + totalPoints += + (report.AutoAlgaeScoredProcessor + + report.TeleopAlgaeScoredProcessor + + report.AutoCoralScoredLevelThree) * + 6; + totalPoints += report.AutoCoralScoredLevelFour * 7; + } + + return totalPoints / Math.max(reports.length, 1); } export const game = new Game( From 6a1365f1f85f9967dfad259b221d17093b851594 Mon Sep 17 00:00:00 2001 From: Teknosquad5219 Date: Mon, 3 Feb 2025 17:46:30 -0500 Subject: [PATCH 08/33] Extra badge --- lib/games.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/games.ts b/lib/games.ts index a70128d8..4c9ae032 100644 --- a/lib/games.ts +++ b/lib/games.ts @@ -1480,14 +1480,17 @@ namespace Reefscape { card: boolean, ) { const badges: Badge[] = getBaseBadges(pitReport, quantitativeReports); - + if (pitReport?.data?.CanRemoveAlgae) - badges.push({ text: 'Can Remove Algae', color: 'primary'}) + badges.push({ text: "Can Remove Algae", color: "primary" }); if (pitReport?.data?.CanScoreAlgaeInNet) - badges.push({ text: 'Can Score Algae Net', color: 'secondary'}) + badges.push({ text: "Can Score Algae Net", color: "secondary" }); if (pitReport?.data?.CanScoreAlgaeInProcessor) - badges.push({ text: 'Can Score Algae Processor', color: 'success'}) + badges.push({ text: "Can Score Algae Processor", color: "success" }); + if (pitReport?.data?.CanDriveUnderShallowCage) + badges.push({ text: "Can Drive Under Shallow Cage", color: "info"}) + return badges; } From bcbc7cdff6849246a06e50d95ee2e4f0fe006405 Mon Sep 17 00:00:00 2001 From: Teknosquad5219 Date: Fri, 7 Feb 2025 15:53:05 -0500 Subject: [PATCH 09/33] Added enums to the layout --- lib/Layout.ts | 5 +++++ lib/games.ts | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/Layout.ts b/lib/Layout.ts index 12a31fb8..0b7ba420 100644 --- a/lib/Layout.ts +++ b/lib/Layout.ts @@ -9,6 +9,7 @@ import { CenterStageEnums, IntoTheDeepEnums, FtcDrivetrain, + ReefscapeEnums, } from "./Enums"; import { PitReportData, QuantData, Pitreport, Report, League } from "./Types"; @@ -212,6 +213,10 @@ export function keyToType( CenterStageEnums.AutoSidePreference, IntoTheDeepEnums.StartedWith, IntoTheDeepEnums.EndgameLevelClimbed, + ReefscapeEnums.AutoCapabilities, + ReefscapeEnums.Climbing, + ReefscapeEnums.DriveThroughDeepCage, + ReefscapeEnums.EndgameClimbStatus, ]; if (key === "Defense") return Defense; diff --git a/lib/games.ts b/lib/games.ts index 4c9ae032..29798b33 100644 --- a/lib/games.ts +++ b/lib/games.ts @@ -1488,7 +1488,7 @@ namespace Reefscape { if (pitReport?.data?.CanScoreAlgaeInProcessor) badges.push({ text: "Can Score Algae Processor", color: "success" }); if (pitReport?.data?.CanDriveUnderShallowCage) - badges.push({ text: "Can Drive Under Shallow Cage", color: "info"}) + badges.push({ text: "Can Drive Under Shallow Cage", color: "info" }) return badges; From 74cf8af0dfe5d5a3ac28b8b678c09ecfaabfef78 Mon Sep 17 00:00:00 2001 From: Teknosquad5219 Date: Fri, 7 Feb 2025 16:01:50 -0500 Subject: [PATCH 10/33] I added the enums to layout wrong but I fixed it I think --- lib/Layout.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/Layout.ts b/lib/Layout.ts index 0b7ba420..924afbb2 100644 --- a/lib/Layout.ts +++ b/lib/Layout.ts @@ -226,6 +226,11 @@ export function keyToType( if (key === "EndgameLevelClimbed") return IntoTheDeepEnums.EndgameLevelClimbed; + if (key == "ReefscapeEnums.AutoCapabilities") return ReefscapeEnums.AutoCapabilities; + if (key == "ReefscapeEnums.Climbing") return ReefscapeEnums.Climbing; + if (key == "ReefscapeEnums.DriveThroughDeepCage") return ReefscapeEnums.DriveThroughDeepCage; + if (key == "ReefscapeEnums.EndgameClimbStatus") return ReefscapeEnums.EndgameClimbStatus; + for (const e of enums) { if (Object.values(e).includes(exampleData[key])) return e; } From d11afbd31b5c86ce22002a21b86eb7f16416c570 Mon Sep 17 00:00:00 2001 From: Teknosquad5219 Date: Fri, 7 Feb 2025 16:09:35 -0500 Subject: [PATCH 11/33] I did it wrong again. --- lib/Layout.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/Layout.ts b/lib/Layout.ts index 924afbb2..5a042d92 100644 --- a/lib/Layout.ts +++ b/lib/Layout.ts @@ -226,10 +226,10 @@ export function keyToType( if (key === "EndgameLevelClimbed") return IntoTheDeepEnums.EndgameLevelClimbed; - if (key == "ReefscapeEnums.AutoCapabilities") return ReefscapeEnums.AutoCapabilities; - if (key == "ReefscapeEnums.Climbing") return ReefscapeEnums.Climbing; - if (key == "ReefscapeEnums.DriveThroughDeepCage") return ReefscapeEnums.DriveThroughDeepCage; - if (key == "ReefscapeEnums.EndgameClimbStatus") return ReefscapeEnums.EndgameClimbStatus; + if (key == "AutoCapabilities") return ReefscapeEnums.AutoCapabilities; + if (key == "Climbing") return ReefscapeEnums.Climbing; + if (key == "DriveThroughDeepCage") return ReefscapeEnums.DriveThroughDeepCage; + if (key == "EndgameClimbStatus") return ReefscapeEnums.EndgameClimbStatus; for (const e of enums) { if (Object.values(e).includes(exampleData[key])) return e; From 2f021f3bbe48f1cf13d185837d4c8724a528782d Mon Sep 17 00:00:00 2001 From: Teknosquad5219 Date: Fri, 7 Feb 2025 16:21:50 -0500 Subject: [PATCH 12/33] test --- lib/games.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/games.ts b/lib/games.ts index 29798b33..c9c00acf 100644 --- a/lib/games.ts +++ b/lib/games.ts @@ -1231,7 +1231,6 @@ namespace Reefscape { ["AutoCoralScoredLevelOne"], ["AutoCoralScoredLevelTwo"], ["AutoCoralScoredLevelThree"], - ["AutoCoralScoredLevelFour"], ], [ ["AutoAlgaeRemovedFromReef"], From 9137caba984d9b07463607bb2e8f8ce02128e61b Mon Sep 17 00:00:00 2001 From: Teknosquad5219 Date: Fri, 7 Feb 2025 16:23:49 -0500 Subject: [PATCH 13/33] untest --- lib/games.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/games.ts b/lib/games.ts index c9c00acf..29798b33 100644 --- a/lib/games.ts +++ b/lib/games.ts @@ -1231,6 +1231,7 @@ namespace Reefscape { ["AutoCoralScoredLevelOne"], ["AutoCoralScoredLevelTwo"], ["AutoCoralScoredLevelThree"], + ["AutoCoralScoredLevelFour"], ], [ ["AutoAlgaeRemovedFromReef"], From ac1bf02e8ae180fb7674892857813d8ba82bf002 Mon Sep 17 00:00:00 2001 From: Teknosquad5219 Date: Fri, 7 Feb 2025 16:26:12 -0500 Subject: [PATCH 14/33] Removed unnecessary cageheight thing --- lib/games.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/games.ts b/lib/games.ts index 29798b33..3fc975b8 100644 --- a/lib/games.ts +++ b/lib/games.ts @@ -1224,7 +1224,6 @@ namespace Reefscape { }; const quantitativeReportLayout: FormLayoutProps = { - "Pre-Match": ["CageHeight"], Auto: [ "AutoMovedPastStartingLine", [ From d28afae55c5531a94d9d7c0267aab616f8781253 Mon Sep 17 00:00:00 2001 From: Teknosquad5219 Date: Fri, 7 Feb 2025 16:27:40 -0500 Subject: [PATCH 15/33] Gave AutoCoralScoredLevelFour it's own special little section --- lib/games.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/games.ts b/lib/games.ts index 3fc975b8..06148919 100644 --- a/lib/games.ts +++ b/lib/games.ts @@ -1230,8 +1230,8 @@ namespace Reefscape { ["AutoCoralScoredLevelOne"], ["AutoCoralScoredLevelTwo"], ["AutoCoralScoredLevelThree"], - ["AutoCoralScoredLevelFour"], ], + [["AutoCoralScoredLevelFour"],], [ ["AutoAlgaeRemovedFromReef"], ["AutoAlgaeScoredProcessor"], From e16e859b5ac11c2a795e470f8929b8d926948e39 Mon Sep 17 00:00:00 2001 From: Teknosquad5219 Date: Sat, 8 Feb 2025 12:21:36 -0500 Subject: [PATCH 16/33] fixed a bajillion bugs --- components/forms/Form.tsx | 2 +- components/stats/SmallGraph.tsx | 8 ++-- lib/Enums.ts | 8 ++-- lib/api/ClientApi.ts | 2 +- lib/client/useInterval.ts | 8 ++-- lib/games.ts | 39 +++++++----------- .../[competitonSlug]/pitstats.tsx | 6 +-- public/fields/ReefscapeBlue.png | Bin 0 -> 256335 bytes public/fields/ReefscapeRed.png | Bin 0 -> 261001 bytes 9 files changed, 33 insertions(+), 40 deletions(-) create mode 100644 public/fields/ReefscapeBlue.png create mode 100644 public/fields/ReefscapeRed.png diff --git a/components/forms/Form.tsx b/components/forms/Form.tsx index e6724d79..d7e84607 100644 --- a/components/forms/Form.tsx +++ b/components/forms/Form.tsx @@ -188,7 +188,7 @@ export default function Form(props: FormProps) { const elements = []; - // console.log(`Block: ${rowCount}x${colCount}: ${block.flat().map(e => e.key).join(", ")}`); + //console.log(`Block: ${rowCount}x${colCount}: ${block.flat().map(e => e.key).join(", ")}`); for (let r = 0; r < rowCount; r++) { for (let c = 0; c < colCount; c++) { let topRounding = "", diff --git a/components/stats/SmallGraph.tsx b/components/stats/SmallGraph.tsx index 5cf038ed..a627af53 100644 --- a/components/stats/SmallGraph.tsx +++ b/components/stats/SmallGraph.tsx @@ -104,9 +104,7 @@ export default function SmallGraph(props: { useEffect(() => { if ( - !props.selectedReports || - (datapoints && currentTeam === props.team && false) - ) + !props.selectedReports) return; setDataPoints([]); @@ -126,7 +124,7 @@ export default function SmallGraph(props: { ); }); } - }, [key, currentTeam, datapoints, props.selectedReports, props.team]); + }, [key, currentTeam, props.selectedReports, props.team]); if (!props.selectedReports) { return <>; @@ -141,10 +139,10 @@ export default function SmallGraph(props: { console.log(e.target.value); setKey(e.target.value); }} + defaultValue={'selected'} > diff --git a/lib/Enums.ts b/lib/Enums.ts index c69e3323..ccd7a6f0 100644 --- a/lib/Enums.ts +++ b/lib/Enums.ts @@ -84,10 +84,10 @@ export namespace IntoTheDeepEnums { export namespace ReefscapeEnums { export enum EndgameClimbStatus { - ClimbedLow = "Climbed Low", - ClimbedHigh = "Climbed High", - Parked = "Parked", - None = "None" + None = "None", + Park = "Park", + High = "High", + Low = "Low", } export enum DriveThroughDeepCage { diff --git a/lib/api/ClientApi.ts b/lib/api/ClientApi.ts index e9a99dda..0e166ac4 100644 --- a/lib/api/ClientApi.ts +++ b/lib/api/ClientApi.ts @@ -907,7 +907,7 @@ export default class ClientApi extends NextApiTemplate { isAuthorized: AccessLevels.AlwaysAuthorized, handler: async (req, res, { tba }, authData, [tbaId]) => { const compRankings = await tba.req.getCompetitonRanking(tbaId); - return res.status(200).send(compRankings.rankings); + return res.status(200).send(compRankings?.rankings); }, }); diff --git a/lib/client/useInterval.ts b/lib/client/useInterval.ts index dc3f445b..2e0edbb9 100644 --- a/lib/client/useInterval.ts +++ b/lib/client/useInterval.ts @@ -1,19 +1,21 @@ -import { useEffect, useState } from "react"; +import { useCallback, useEffect, useState } from "react"; /** * Can be janky. You've been warned. */ + export default function useInterval( func: () => any, interval: number, deps: any[] = [], ) { const [id, setId] = useState(undefined); + const callback = useCallback(func, [func.name]) useEffect(() => { - setId(setInterval(func, interval)); + setId(setInterval(callback, interval)); return () => clearInterval(id); - }, [func.name, interval, func, id, deps]); + }, [interval, callback, id, ...deps]); return id; } diff --git a/lib/games.ts b/lib/games.ts index 06148919..8a9ecd21 100644 --- a/lib/games.ts +++ b/lib/games.ts @@ -1194,7 +1194,6 @@ namespace Reefscape { ReefscapeEnums.DriveThroughDeepCage.No; AutoCapabilities: ReefscapeEnums.AutoCapabilities = ReefscapeEnums.AutoCapabilities.NoAuto; - AutoDescription: string = ""; CanRemoveAlgae: boolean = false; CanScoreAlgaeInProcessor: boolean = false; CanScoreAlgaeInNet: boolean = false; @@ -1219,39 +1218,36 @@ namespace Reefscape { ], Auto: [ { key: "AutoCapabilities", label: "Auto Capabilities?" }, - { key: "AutoDescription", label: "Auto Description" }, + { key: "CoralScoredAuto", label: "Average Coral Scored In Auto" }, + { key: "AlgaeScoredAuto", label: "Average Algae Scored In Auto" }, ], }; const quantitativeReportLayout: FormLayoutProps = { Auto: [ - "AutoMovedPastStartingLine", + "AutoMovedPastStaringLine", [ - ["AutoCoralScoredLevelOne"], - ["AutoCoralScoredLevelTwo"], - ["AutoCoralScoredLevelThree"], + ["AutoCoralScoredLevelOne", "AutoCoralScoredLevelTwo"], + ["AutoCoralScoredLevelThree", "AutoCoralScoredLevelFour"], ], - [["AutoCoralScoredLevelFour"],], [ ["AutoAlgaeRemovedFromReef"], ["AutoAlgaeScoredProcessor"], ["AutoAlgaeScoredNet"], ], ], - "Teleop & Endgame": [ + Teleop: [ [ - ["TeleopCoralScoredLevelOne"], - ["TeleopCoralScoredLevelTwo"], - ["TeleopCoralScoredLevelThree"], - ["TeleopCoralScoredLevelFour"], + ["TeleopCoralScoredLevelOne", "TeleopCoralScoredLevelTwo"], + ["TeleopCoralScoredLevelThree", "TeleopCoralScoredLevelFour"], ], [ ["TeleopAlgaeRemovedFromReef"], ["TeleopAlgaeScoredProcessor"], ["TeleopAlgaeScoredNet"], ], - "EndgameClimbStatus", ], + "Post Match": ["EndgameClimbStatus"], }; const statsLayout: StatsLayout = { @@ -1317,13 +1313,12 @@ namespace Reefscape { label: "Avg Amt of Algae Scored Net Teleop", }, ], - Endgame: [{ key: "EndgameClimbStatus", label: "Endgame Climb status" }], }, getGraphDots: function ( quantitativeReports: Report[], pitReport?: Pitreport | undefined, ): Dot[] { - throw new Error("Function not implemented."); + return []; }, }; @@ -1502,32 +1497,30 @@ namespace Reefscape { switch (report.EndgameClimbStatus) { case ReefscapeEnums.EndgameClimbStatus.None: break; - case ReefscapeEnums.EndgameClimbStatus.Parked: + case ReefscapeEnums.EndgameClimbStatus.Park: totalPoints += 2; break; - case ReefscapeEnums.EndgameClimbStatus.ClimbedHigh: + case ReefscapeEnums.EndgameClimbStatus.High: totalPoints += 6; break; - case ReefscapeEnums.EndgameClimbStatus.ClimbedLow: + case ReefscapeEnums.EndgameClimbStatus.Low: totalPoints += 12; break; } - totalPoints += report.TeleopCoralScoredLevelOneCoralScoredLevelOne * 2; + totalPoints += report.TeleopCoralScoredLevelOne * 2; totalPoints += (report.AutoCoralScoredLevelOne + report.TeleopCoralScoredLevelTwo) * 3; totalPoints += (report.AutoCoralScoredLevelTwo + report.TeleopCoralScoredLevelThree + report.AutoAlgaeScoredNet + - report.TeleopAlgaeScoredNet) * - 4; + report.TeleopAlgaeScoredNet) * 4; totalPoints += report.TeleopCoralScoredLevelFour * 5; totalPoints += (report.AutoAlgaeScoredProcessor + report.TeleopAlgaeScoredProcessor + - report.AutoCoralScoredLevelThree) * - 6; + report.AutoCoralScoredLevelThree) * 6; totalPoints += report.AutoCoralScoredLevelFour * 7; } diff --git a/pages/[teamSlug]/[seasonSlug]/[competitonSlug]/pitstats.tsx b/pages/[teamSlug]/[seasonSlug]/[competitonSlug]/pitstats.tsx index 9ccd991b..d535ec4a 100644 --- a/pages/[teamSlug]/[seasonSlug]/[competitonSlug]/pitstats.tsx +++ b/pages/[teamSlug]/[seasonSlug]/[competitonSlug]/pitstats.tsx @@ -311,8 +311,8 @@ export default function Pitstats(props: { competition: Competition }) { teamNumber={Number(key)} pitReport={newPits[Number(key)]} matchReports={newReports.filter((r) => r.robotNumber === Number(key))} - ranking={rankings.find((r) => r.team_key === `frc${key}`)} - maxRanking={rankings.length} + ranking={rankings?.find((r) => r.team_key === `frc${key}`)} + maxRanking={rankings?.length} layout={layout} getBadges={games[comp.gameId].getBadges} stats={stats.map((stat) => ({ @@ -321,7 +321,7 @@ export default function Pitstats(props: { competition: Competition }) { mean: stat.mean, stDev: stat.stDev, rank: stat.rankings.indexOf(key) + 1, - maxRanking: rankings.length, + maxRanking: rankings?.length, }))} /> ); diff --git a/public/fields/ReefscapeBlue.png b/public/fields/ReefscapeBlue.png new file mode 100644 index 0000000000000000000000000000000000000000..f3656f47fc28eca26e9d8a71e7a16ef048527d0e GIT binary patch literal 256335 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

xKUgolV&7w*c;JweQ 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%0AH7?X%K12|DRag4SmOcDmjTV_Nv);TmSGl=$7 zNI%cEGF}FVI~SrS^x24bt$nEt6&0}+2fSFq2M;Z{TP^^53o=V2met*b)Jjgk>nkM@ z-zdU;aFrFN^^f&ip@I1L+N6t{H;IH;KG~wMiZrSP+giUtd~&IP4MGMm4@7Ey2vQ8} z%sy+iEBn4c_&iJ!6tE+MVLpn*z(CyYgL#)s>KbjIOJ^7Uo@RPx0j8mUne9R}xU}BF zw3wibRfox~y>1ns^{WlnqAyth!ijqJ?T5X-ie&85aQ!*#p2nAhmgS@N2A_%#)K1)KD097We-V-D#Ao5ZPtxb+VeeuaYJ|HM(FE^+2Q%K+q0PdwzTBa@O#5w zQgu&MueIIlo--Nu7-PQ{3VPtPx~LxazJi6|Ui{O6{4htW71#Ea!O14Ex-z<_Em)?U z-d-RWB{Sy!6Ei$~cUz;|k(H|HIENS_kTKp#boh5!|3`S#u2Tl3($hHWl37H!)WtsG}OmWcHO&Ezd0+LOjV)P}k^+>UdE^ETey0_h|!==`L@ZQk++4Iu7eSg84j1=fgb>z>&Et(B-1!e)ix(o0gWY3=XS=z(UCPDR_X?O3Mm%0T=5|a?NKr zxawjFZ{kjH4{nRudOHg08zey;*4&m%*mf%Lnv=o@mEHi9cZ5U{RF~yAfJ7#&#j;$fcuqr%N&tXA6dShrvRxgI5>X-1ea=$Zs&UA zCGW>!&8?r6*?axt6KS3w6I{Oz%7Ep4@Mp)J@s781 z={L(u=3{1EtZdu&0N+$$#*^~V1(C|Sp;u>s5FSI5XDAk4=gyMdX_Q5kWLw9dJn|+? z#FT7dretIJbh%9_*;bVWh`!e=j+?t;tcff6Bke4xFJAi3w~f*M?aRyg%@a=isB2ba zX~ViiOC6fmp^N~A(1f2h>DC40#*ak6uRdH9KC~b}XYA|IYUI}sR#p>{Pd>js0gzQc zkR4qd^g6)nZF#qnGU>pm@_gSSRl$yzBJ$Bjk&*0eZXc4YA?K4eJnLZp=mBN_x}T+* z>ss4x6ldFgo_r9LHh=b4(OhE3)e-3j{sOXg#Uv@*@74H

m?aJ;d$TCUJA=sZ``8 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 Date: Tue, 11 Feb 2025 22:39:43 +0000 Subject: [PATCH 17/33] 1.1.20 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 92b36838..294d01f2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "sj3", - "version": "1.1.19", + "version": "1.1.20", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "sj3", - "version": "1.1.19", + "version": "1.1.20", "license": "CC BY-NC-SA 4.0", "dependencies": { "dependencies": "^0.0.1", diff --git a/package.json b/package.json index f7d0e599..038fa4fc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sj3", - "version": "1.1.19", + "version": "1.1.20", "private": true, "repository": "https://github.com/Decatur-Robotics/Gearbox", "license": "CC BY-NC-SA 4.0", From 80004e195dde5c37b8f249ca7bd428954cfea0c8 Mon Sep 17 00:00:00 2001 From: Teknosquad5219 Date: Thu, 13 Feb 2025 15:42:27 -0500 Subject: [PATCH 18/33] Bug fixes again! --- lib/games.ts | 4 ++-- .../[seasonSlug]/[competitonSlug]/pitstats.tsx | 15 +++++++++------ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/lib/games.ts b/lib/games.ts index 8a9ecd21..878ab34a 100644 --- a/lib/games.ts +++ b/lib/games.ts @@ -1463,8 +1463,8 @@ namespace Reefscape { { key: "Climbing", label: "Climbing?" }, ], graphStat: { - label: "Average Coral Scored In Auto", - key: "CoralScoredAuto", + label: "Average Algae Scored In The Net During Teleop", + key: "TeleopAlgaeScoredNet", }, }; diff --git a/pages/[teamSlug]/[seasonSlug]/[competitonSlug]/pitstats.tsx b/pages/[teamSlug]/[seasonSlug]/[competitonSlug]/pitstats.tsx index d535ec4a..14f36293 100644 --- a/pages/[teamSlug]/[seasonSlug]/[competitonSlug]/pitstats.tsx +++ b/pages/[teamSlug]/[seasonSlug]/[competitonSlug]/pitstats.tsx @@ -26,6 +26,7 @@ import { NotLinkedToTba } from "@/lib/client/ClientUtils"; import { games } from "@/lib/games"; import { PitStatsLayout, Badge } from "@/lib/Layout"; import CollectionId from "@/lib/client/CollectionId"; +import { matchesMiddleware } from "next/dist/shared/lib/router/router"; const api = new ClientApi(); @@ -69,12 +70,14 @@ function TeamSlide(props: { const data = []; if (stat.get) { - for (const report of props.matchReports) { - data.push(stat.get(props.pitReport, [report])); - } - } else { - for (const report of props.matchReports) { - data.push(report.data[stat.key as string]); + data.push(stat.get(props.pitReport, props.matchReports)); + } else if (stat.key) { + if (props.matchReports.length && stat.key in props.matchReports[0].data) { + for (const report of props.matchReports) { + data.push(report.data[stat.key as string]); + } + } else if (props.pitReport.data) { + data.push(props.pitReport.data[stat.key as string]); } } From b963b97ef6f3d3e5dcf58b9ab4b775254b7ca0c5 Mon Sep 17 00:00:00 2001 From: Teknosquad5219 Date: Thu, 13 Feb 2025 15:43:07 -0500 Subject: [PATCH 19/33] Sync changes --- public/fallback-development.js | 28 + public/sw.js.map | 1 + public/workbox-e43f5367.js | 2456 ++++++++++++++++++++++++++++++++ public/workbox-e43f5367.js.map | 1 + 4 files changed, 2486 insertions(+) create mode 100644 public/fallback-development.js create mode 100644 public/sw.js.map create mode 100644 public/workbox-e43f5367.js create mode 100644 public/workbox-e43f5367.js.map diff --git a/public/fallback-development.js b/public/fallback-development.js new file mode 100644 index 00000000..ae9607b4 --- /dev/null +++ b/public/fallback-development.js @@ -0,0 +1,28 @@ +/******/ (() => { // webpackBootstrap +/******/ "use strict"; +var __webpack_exports__ = {}; + + +self.fallback = async request => { + // https://developer.mozilla.org/en-US/docs/Web/API/RequestDestination + switch (request.destination) { + case 'document': + if (true) return caches.match("/_offline", { + ignoreSearch: true + }); + case 'image': + if (false) {} + case 'audio': + if (false) {} + case 'video': + if (false) {} + case 'font': + if (false) {} + case '': + if (false) {} + default: + return Response.error(); + } +}; +/******/ })() +; \ No newline at end of file diff --git a/public/sw.js.map b/public/sw.js.map new file mode 100644 index 00000000..4cb5508d --- /dev/null +++ b/public/sw.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sw.js","sources":["../../../4026US~1/AppData/Local/Temp/96d00e16deb53c0c59fdb7164a16c925/sw.js"],"sourcesContent":["import {registerRoute as workbox_routing_registerRoute} from 'C:/Users/4026 User/Desktop/Gearbox/node_modules/workbox-routing/registerRoute.mjs';\nimport {NetworkFirst as workbox_strategies_NetworkFirst} from 'C:/Users/4026 User/Desktop/Gearbox/node_modules/workbox-strategies/NetworkFirst.mjs';\nimport {NetworkOnly as workbox_strategies_NetworkOnly} from 'C:/Users/4026 User/Desktop/Gearbox/node_modules/workbox-strategies/NetworkOnly.mjs';\nimport {clientsClaim as workbox_core_clientsClaim} from 'C:/Users/4026 User/Desktop/Gearbox/node_modules/workbox-core/clientsClaim.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\nimportScripts(\n \"fallback-development.js\"\n);\n\n\n\n\n\n\n\nself.skipWaiting();\n\nworkbox_core_clientsClaim();\n\n\n\nworkbox_routing_registerRoute(\"/\", new workbox_strategies_NetworkFirst({ \"cacheName\":\"start-url\", plugins: [{ cacheWillUpdate: async ({ request, response, event, state }) => { if (response && response.type === 'opaqueredirect') { return new Response(response.body, { status: 200, statusText: 'OK', headers: response.headers }) } return response } }, { handlerDidError: async ({ request }) => self.fallback(request) }] }), 'GET');\nworkbox_routing_registerRoute(/.*/i, new workbox_strategies_NetworkOnly({ \"cacheName\":\"dev\", plugins: [{ handlerDidError: async ({ request }) => self.fallback(request) }] }), 'GET');\n\n\n\n\n"],"names":["importScripts","self","skipWaiting","workbox_core_clientsClaim","workbox_routing_registerRoute","workbox_strategies_NetworkFirst","plugins","cacheWillUpdate","request","response","event","state","type","Response","body","status","statusText","headers","handlerDidError","fallback","workbox_strategies_NetworkOnly"],"mappings":"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"} \ No newline at end of file diff --git a/public/workbox-e43f5367.js b/public/workbox-e43f5367.js new file mode 100644 index 00000000..a013d2ac --- /dev/null +++ b/public/workbox-e43f5367.js @@ -0,0 +1,2456 @@ +define(['exports'], (function (exports) { 'use strict'; + + // @ts-ignore + try { + self['workbox:core:6.5.4'] && _(); + } catch (e) {} + + /* + 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. + */ + const logger = (() => { + // Don't overwrite this value if it's already set. + // See https://github.com/GoogleChrome/workbox/pull/2284#issuecomment-560470923 + if (!('__WB_DISABLE_DEV_LOGS' in globalThis)) { + self.__WB_DISABLE_DEV_LOGS = false; + } + let inGroup = false; + const methodToColorMap = { + debug: `#7f8c8d`, + log: `#2ecc71`, + warn: `#f39c12`, + error: `#c0392b`, + groupCollapsed: `#3498db`, + groupEnd: null // No colored prefix on groupEnd + }; + const print = function (method, args) { + if (self.__WB_DISABLE_DEV_LOGS) { + return; + } + if (method === 'groupCollapsed') { + // Safari doesn't print all console.groupCollapsed() arguments: + // https://bugs.webkit.org/show_bug.cgi?id=182754 + if (/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) { + console[method](...args); + return; + } + } + const styles = [`background: ${methodToColorMap[method]}`, `border-radius: 0.5em`, `color: white`, `font-weight: bold`, `padding: 2px 0.5em`]; + // When in a group, the workbox prefix is not displayed. + const logPrefix = inGroup ? [] : ['%cworkbox', styles.join(';')]; + console[method](...logPrefix, ...args); + if (method === 'groupCollapsed') { + inGroup = true; + } + if (method === 'groupEnd') { + inGroup = false; + } + }; + // eslint-disable-next-line @typescript-eslint/ban-types + const api = {}; + const loggerMethods = Object.keys(methodToColorMap); + for (const key of loggerMethods) { + const method = key; + api[method] = (...args) => { + print(method, args); + }; + } + return api; + })(); + + /* + Copyright 2018 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. + */ + const messages$1 = { + 'invalid-value': ({ + paramName, + validValueDescription, + value + }) => { + if (!paramName || !validValueDescription) { + throw new Error(`Unexpected input to 'invalid-value' error.`); + } + return `The '${paramName}' parameter was given a value with an ` + `unexpected value. ${validValueDescription} Received a value of ` + `${JSON.stringify(value)}.`; + }, + 'not-an-array': ({ + moduleName, + className, + funcName, + paramName + }) => { + if (!moduleName || !className || !funcName || !paramName) { + throw new Error(`Unexpected input to 'not-an-array' error.`); + } + return `The parameter '${paramName}' passed into ` + `'${moduleName}.${className}.${funcName}()' must be an array.`; + }, + 'incorrect-type': ({ + expectedType, + paramName, + moduleName, + className, + funcName + }) => { + if (!expectedType || !paramName || !moduleName || !funcName) { + throw new Error(`Unexpected input to 'incorrect-type' error.`); + } + const classNameStr = className ? `${className}.` : ''; + return `The parameter '${paramName}' passed into ` + `'${moduleName}.${classNameStr}` + `${funcName}()' must be of type ${expectedType}.`; + }, + 'incorrect-class': ({ + expectedClassName, + paramName, + moduleName, + className, + funcName, + isReturnValueProblem + }) => { + if (!expectedClassName || !moduleName || !funcName) { + throw new Error(`Unexpected input to 'incorrect-class' error.`); + } + const classNameStr = className ? `${className}.` : ''; + if (isReturnValueProblem) { + return `The return value from ` + `'${moduleName}.${classNameStr}${funcName}()' ` + `must be an instance of class ${expectedClassName}.`; + } + return `The parameter '${paramName}' passed into ` + `'${moduleName}.${classNameStr}${funcName}()' ` + `must be an instance of class ${expectedClassName}.`; + }, + 'missing-a-method': ({ + expectedMethod, + paramName, + moduleName, + className, + funcName + }) => { + if (!expectedMethod || !paramName || !moduleName || !className || !funcName) { + throw new Error(`Unexpected input to 'missing-a-method' error.`); + } + return `${moduleName}.${className}.${funcName}() expected the ` + `'${paramName}' parameter to expose a '${expectedMethod}' method.`; + }, + 'add-to-cache-list-unexpected-type': ({ + entry + }) => { + return `An unexpected entry was passed to ` + `'workbox-precaching.PrecacheController.addToCacheList()' The entry ` + `'${JSON.stringify(entry)}' isn't supported. You must supply an array of ` + `strings with one or more characters, objects with a url property or ` + `Request objects.`; + }, + 'add-to-cache-list-conflicting-entries': ({ + firstEntry, + secondEntry + }) => { + if (!firstEntry || !secondEntry) { + throw new Error(`Unexpected input to ` + `'add-to-cache-list-duplicate-entries' error.`); + } + return `Two of the entries passed to ` + `'workbox-precaching.PrecacheController.addToCacheList()' had the URL ` + `${firstEntry} but different revision details. Workbox is ` + `unable to cache and version the asset correctly. Please remove one ` + `of the entries.`; + }, + 'plugin-error-request-will-fetch': ({ + thrownErrorMessage + }) => { + if (!thrownErrorMessage) { + throw new Error(`Unexpected input to ` + `'plugin-error-request-will-fetch', error.`); + } + return `An error was thrown by a plugins 'requestWillFetch()' method. ` + `The thrown error message was: '${thrownErrorMessage}'.`; + }, + 'invalid-cache-name': ({ + cacheNameId, + value + }) => { + if (!cacheNameId) { + throw new Error(`Expected a 'cacheNameId' for error 'invalid-cache-name'`); + } + return `You must provide a name containing at least one character for ` + `setCacheDetails({${cacheNameId}: '...'}). Received a value of ` + `'${JSON.stringify(value)}'`; + }, + 'unregister-route-but-not-found-with-method': ({ + method + }) => { + if (!method) { + throw new Error(`Unexpected input to ` + `'unregister-route-but-not-found-with-method' error.`); + } + return `The route you're trying to unregister was not previously ` + `registered for the method type '${method}'.`; + }, + 'unregister-route-route-not-registered': () => { + return `The route you're trying to unregister was not previously ` + `registered.`; + }, + 'queue-replay-failed': ({ + name + }) => { + return `Replaying the background sync queue '${name}' failed.`; + }, + 'duplicate-queue-name': ({ + name + }) => { + return `The Queue name '${name}' is already being used. ` + `All instances of backgroundSync.Queue must be given unique names.`; + }, + 'expired-test-without-max-age': ({ + methodName, + paramName + }) => { + return `The '${methodName}()' method can only be used when the ` + `'${paramName}' is used in the constructor.`; + }, + 'unsupported-route-type': ({ + moduleName, + className, + funcName, + paramName + }) => { + return `The supplied '${paramName}' parameter was an unsupported type. ` + `Please check the docs for ${moduleName}.${className}.${funcName} for ` + `valid input types.`; + }, + 'not-array-of-class': ({ + value, + expectedClass, + moduleName, + className, + funcName, + paramName + }) => { + return `The supplied '${paramName}' parameter must be an array of ` + `'${expectedClass}' objects. Received '${JSON.stringify(value)},'. ` + `Please check the call to ${moduleName}.${className}.${funcName}() ` + `to fix the issue.`; + }, + 'max-entries-or-age-required': ({ + moduleName, + className, + funcName + }) => { + return `You must define either config.maxEntries or config.maxAgeSeconds` + `in ${moduleName}.${className}.${funcName}`; + }, + 'statuses-or-headers-required': ({ + moduleName, + className, + funcName + }) => { + return `You must define either config.statuses or config.headers` + `in ${moduleName}.${className}.${funcName}`; + }, + 'invalid-string': ({ + moduleName, + funcName, + paramName + }) => { + if (!paramName || !moduleName || !funcName) { + throw new Error(`Unexpected input to 'invalid-string' error.`); + } + return `When using strings, the '${paramName}' parameter must start with ` + `'http' (for cross-origin matches) or '/' (for same-origin matches). ` + `Please see the docs for ${moduleName}.${funcName}() for ` + `more info.`; + }, + 'channel-name-required': () => { + return `You must provide a channelName to construct a ` + `BroadcastCacheUpdate instance.`; + }, + 'invalid-responses-are-same-args': () => { + return `The arguments passed into responsesAreSame() appear to be ` + `invalid. Please ensure valid Responses are used.`; + }, + 'expire-custom-caches-only': () => { + return `You must provide a 'cacheName' property when using the ` + `expiration plugin with a runtime caching strategy.`; + }, + 'unit-must-be-bytes': ({ + normalizedRangeHeader + }) => { + if (!normalizedRangeHeader) { + throw new Error(`Unexpected input to 'unit-must-be-bytes' error.`); + } + return `The 'unit' portion of the Range header must be set to 'bytes'. ` + `The Range header provided was "${normalizedRangeHeader}"`; + }, + 'single-range-only': ({ + normalizedRangeHeader + }) => { + if (!normalizedRangeHeader) { + throw new Error(`Unexpected input to 'single-range-only' error.`); + } + return `Multiple ranges are not supported. Please use a single start ` + `value, and optional end value. The Range header provided was ` + `"${normalizedRangeHeader}"`; + }, + 'invalid-range-values': ({ + normalizedRangeHeader + }) => { + if (!normalizedRangeHeader) { + throw new Error(`Unexpected input to 'invalid-range-values' error.`); + } + return `The Range header is missing both start and end values. At least ` + `one of those values is needed. The Range header provided was ` + `"${normalizedRangeHeader}"`; + }, + 'no-range-header': () => { + return `No Range header was found in the Request provided.`; + }, + 'range-not-satisfiable': ({ + size, + start, + end + }) => { + return `The start (${start}) and end (${end}) values in the Range are ` + `not satisfiable by the cached response, which is ${size} bytes.`; + }, + 'attempt-to-cache-non-get-request': ({ + url, + method + }) => { + return `Unable to cache '${url}' because it is a '${method}' request and ` + `only 'GET' requests can be cached.`; + }, + 'cache-put-with-no-response': ({ + url + }) => { + return `There was an attempt to cache '${url}' but the response was not ` + `defined.`; + }, + 'no-response': ({ + url, + error + }) => { + let message = `The strategy could not generate a response for '${url}'.`; + if (error) { + message += ` The underlying error is ${error}.`; + } + return message; + }, + 'bad-precaching-response': ({ + url, + status + }) => { + return `The precaching request for '${url}' failed` + (status ? ` with an HTTP status of ${status}.` : `.`); + }, + 'non-precached-url': ({ + url + }) => { + return `createHandlerBoundToURL('${url}') was called, but that URL is ` + `not precached. Please pass in a URL that is precached instead.`; + }, + 'add-to-cache-list-conflicting-integrities': ({ + url + }) => { + return `Two of the entries passed to ` + `'workbox-precaching.PrecacheController.addToCacheList()' had the URL ` + `${url} with different integrity values. Please remove one of them.`; + }, + 'missing-precache-entry': ({ + cacheName, + url + }) => { + return `Unable to find a precached response in ${cacheName} for ${url}.`; + }, + 'cross-origin-copy-response': ({ + origin + }) => { + return `workbox-core.copyResponse() can only be used with same-origin ` + `responses. It was passed a response with origin ${origin}.`; + }, + 'opaque-streams-source': ({ + type + }) => { + const message = `One of the workbox-streams sources resulted in an ` + `'${type}' response.`; + if (type === 'opaqueredirect') { + return `${message} Please do not use a navigation request that results ` + `in a redirect as a source.`; + } + return `${message} Please ensure your sources are CORS-enabled.`; + } + }; + + /* + Copyright 2018 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. + */ + const generatorFunction = (code, details = {}) => { + const message = messages$1[code]; + if (!message) { + throw new Error(`Unable to find message for code '${code}'.`); + } + return message(details); + }; + const messageGenerator = generatorFunction; + + /* + Copyright 2018 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. + */ + /** + * Workbox errors should be thrown with this class. + * This allows use to ensure the type easily in tests, + * helps developers identify errors from workbox + * easily and allows use to optimise error + * messages correctly. + * + * @private + */ + class WorkboxError extends Error { + /** + * + * @param {string} errorCode The error code that + * identifies this particular error. + * @param {Object=} details Any relevant arguments + * that will help developers identify issues should + * be added as a key on the context object. + */ + constructor(errorCode, details) { + const message = messageGenerator(errorCode, details); + super(message); + this.name = errorCode; + this.details = details; + } + } + + /* + Copyright 2018 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. + */ + /* + * This method throws if the supplied value is not an array. + * The destructed values are required to produce a meaningful error for users. + * The destructed and restructured object is so it's clear what is + * needed. + */ + const isArray = (value, details) => { + if (!Array.isArray(value)) { + throw new WorkboxError('not-an-array', details); + } + }; + const hasMethod = (object, expectedMethod, details) => { + const type = typeof object[expectedMethod]; + if (type !== 'function') { + details['expectedMethod'] = expectedMethod; + throw new WorkboxError('missing-a-method', details); + } + }; + const isType = (object, expectedType, details) => { + if (typeof object !== expectedType) { + details['expectedType'] = expectedType; + throw new WorkboxError('incorrect-type', details); + } + }; + const isInstance = (object, + // Need the general type to do the check later. + // eslint-disable-next-line @typescript-eslint/ban-types + expectedClass, details) => { + if (!(object instanceof expectedClass)) { + details['expectedClassName'] = expectedClass.name; + throw new WorkboxError('incorrect-class', details); + } + }; + const isOneOf = (value, validValues, details) => { + if (!validValues.includes(value)) { + details['validValueDescription'] = `Valid values are ${JSON.stringify(validValues)}.`; + throw new WorkboxError('invalid-value', details); + } + }; + const isArrayOfClass = (value, + // Need general type to do check later. + expectedClass, + // eslint-disable-line + details) => { + const error = new WorkboxError('not-array-of-class', details); + if (!Array.isArray(value)) { + throw error; + } + for (const item of value) { + if (!(item instanceof expectedClass)) { + throw error; + } + } + }; + const finalAssertExports = { + hasMethod, + isArray, + isInstance, + isOneOf, + isType, + isArrayOfClass + }; + + // @ts-ignore + try { + self['workbox:routing:6.5.4'] && _(); + } catch (e) {} + + /* + Copyright 2018 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. + */ + /** + * The default HTTP method, 'GET', used when there's no specific method + * configured for a route. + * + * @type {string} + * + * @private + */ + const defaultMethod = 'GET'; + /** + * The list of valid HTTP methods associated with requests that could be routed. + * + * @type {Array} + * + * @private + */ + const validMethods = ['DELETE', 'GET', 'HEAD', 'PATCH', 'POST', 'PUT']; + + /* + Copyright 2018 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. + */ + /** + * @param {function()|Object} handler Either a function, or an object with a + * 'handle' method. + * @return {Object} An object with a handle method. + * + * @private + */ + const normalizeHandler = handler => { + if (handler && typeof handler === 'object') { + { + finalAssertExports.hasMethod(handler, 'handle', { + moduleName: 'workbox-routing', + className: 'Route', + funcName: 'constructor', + paramName: 'handler' + }); + } + return handler; + } else { + { + finalAssertExports.isType(handler, 'function', { + moduleName: 'workbox-routing', + className: 'Route', + funcName: 'constructor', + paramName: 'handler' + }); + } + return { + handle: handler + }; + } + }; + + /* + Copyright 2018 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. + */ + /** + * A `Route` consists of a pair of callback functions, "match" and "handler". + * The "match" callback determine if a route should be used to "handle" a + * request by returning a non-falsy value if it can. The "handler" callback + * is called when there is a match and should return a Promise that resolves + * to a `Response`. + * + * @memberof workbox-routing + */ + class Route { + /** + * Constructor for Route class. + * + * @param {workbox-routing~matchCallback} match + * A callback function that determines whether the route matches a given + * `fetch` event by returning a non-falsy value. + * @param {workbox-routing~handlerCallback} handler A callback + * function that returns a Promise resolving to a Response. + * @param {string} [method='GET'] The HTTP method to match the Route + * against. + */ + constructor(match, handler, method = defaultMethod) { + { + finalAssertExports.isType(match, 'function', { + moduleName: 'workbox-routing', + className: 'Route', + funcName: 'constructor', + paramName: 'match' + }); + if (method) { + finalAssertExports.isOneOf(method, validMethods, { + paramName: 'method' + }); + } + } + // These values are referenced directly by Router so cannot be + // altered by minificaton. + this.handler = normalizeHandler(handler); + this.match = match; + this.method = method; + } + /** + * + * @param {workbox-routing-handlerCallback} handler A callback + * function that returns a Promise resolving to a Response + */ + setCatchHandler(handler) { + this.catchHandler = normalizeHandler(handler); + } + } + + /* + Copyright 2018 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. + */ + /** + * RegExpRoute makes it easy to create a regular expression based + * {@link workbox-routing.Route}. + * + * For same-origin requests the RegExp only needs to match part of the URL. For + * requests against third-party servers, you must define a RegExp that matches + * the start of the URL. + * + * @memberof workbox-routing + * @extends workbox-routing.Route + */ + class RegExpRoute extends Route { + /** + * If the regular expression contains + * [capture groups]{@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp#grouping-back-references}, + * the captured values will be passed to the + * {@link workbox-routing~handlerCallback} `params` + * argument. + * + * @param {RegExp} regExp The regular expression to match against URLs. + * @param {workbox-routing~handlerCallback} handler A callback + * function that returns a Promise resulting in a Response. + * @param {string} [method='GET'] The HTTP method to match the Route + * against. + */ + constructor(regExp, handler, method) { + { + finalAssertExports.isInstance(regExp, RegExp, { + moduleName: 'workbox-routing', + className: 'RegExpRoute', + funcName: 'constructor', + paramName: 'pattern' + }); + } + const match = ({ + url + }) => { + const result = regExp.exec(url.href); + // Return immediately if there's no match. + if (!result) { + return; + } + // Require that the match start at the first character in the URL string + // if it's a cross-origin request. + // See https://github.com/GoogleChrome/workbox/issues/281 for the context + // behind this behavior. + if (url.origin !== location.origin && result.index !== 0) { + { + logger.debug(`The regular expression '${regExp.toString()}' only partially matched ` + `against the cross-origin URL '${url.toString()}'. RegExpRoute's will only ` + `handle cross-origin requests if they match the entire URL.`); + } + return; + } + // If the route matches, but there aren't any capture groups defined, then + // this will return [], which is truthy and therefore sufficient to + // indicate a match. + // If there are capture groups, then it will return their values. + return result.slice(1); + }; + super(match, handler, method); + } + } + + /* + Copyright 2018 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. + */ + const getFriendlyURL = url => { + const urlObj = new URL(String(url), location.href); + // See https://github.com/GoogleChrome/workbox/issues/2323 + // We want to include everything, except for the origin if it's same-origin. + return urlObj.href.replace(new RegExp(`^${location.origin}`), ''); + }; + + /* + Copyright 2018 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. + */ + /** + * The Router can be used to process a `FetchEvent` using one or more + * {@link workbox-routing.Route}, responding with a `Response` if + * a matching route exists. + * + * If no route matches a given a request, the Router will use a "default" + * handler if one is defined. + * + * Should the matching Route throw an error, the Router will use a "catch" + * handler if one is defined to gracefully deal with issues and respond with a + * Request. + * + * If a request matches multiple routes, the **earliest** registered route will + * be used to respond to the request. + * + * @memberof workbox-routing + */ + class Router { + /** + * Initializes a new Router. + */ + constructor() { + this._routes = new Map(); + this._defaultHandlerMap = new Map(); + } + /** + * @return {Map>} routes A `Map` of HTTP + * method name ('GET', etc.) to an array of all the corresponding `Route` + * instances that are registered. + */ + get routes() { + return this._routes; + } + /** + * Adds a fetch event listener to respond to events when a route matches + * the event's request. + */ + addFetchListener() { + // See https://github.com/Microsoft/TypeScript/issues/28357#issuecomment-436484705 + self.addEventListener('fetch', event => { + const { + request + } = event; + const responsePromise = this.handleRequest({ + request, + event + }); + if (responsePromise) { + event.respondWith(responsePromise); + } + }); + } + /** + * Adds a message event listener for URLs to cache from the window. + * This is useful to cache resources loaded on the page prior to when the + * service worker started controlling it. + * + * The format of the message data sent from the window should be as follows. + * Where the `urlsToCache` array may consist of URL strings or an array of + * URL string + `requestInit` object (the same as you'd pass to `fetch()`). + * + * ``` + * { + * type: 'CACHE_URLS', + * payload: { + * urlsToCache: [ + * './script1.js', + * './script2.js', + * ['./script3.js', {mode: 'no-cors'}], + * ], + * }, + * } + * ``` + */ + addCacheListener() { + // See https://github.com/Microsoft/TypeScript/issues/28357#issuecomment-436484705 + self.addEventListener('message', event => { + // event.data is type 'any' + // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access + if (event.data && event.data.type === 'CACHE_URLS') { + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment + const { + payload + } = event.data; + { + logger.debug(`Caching URLs from the window`, payload.urlsToCache); + } + const requestPromises = Promise.all(payload.urlsToCache.map(entry => { + if (typeof entry === 'string') { + entry = [entry]; + } + const request = new Request(...entry); + return this.handleRequest({ + request, + event + }); + // TODO(philipwalton): TypeScript errors without this typecast for + // some reason (probably a bug). The real type here should work but + // doesn't: `Array | undefined>`. + })); // TypeScript + event.waitUntil(requestPromises); + // If a MessageChannel was used, reply to the message on success. + if (event.ports && event.ports[0]) { + void requestPromises.then(() => event.ports[0].postMessage(true)); + } + } + }); + } + /** + * Apply the routing rules to a FetchEvent object to get a Response from an + * appropriate Route's handler. + * + * @param {Object} options + * @param {Request} options.request The request to handle. + * @param {ExtendableEvent} options.event The event that triggered the + * request. + * @return {Promise|undefined} A promise is returned if a + * registered route can handle the request. If there is no matching + * route and there's no `defaultHandler`, `undefined` is returned. + */ + handleRequest({ + request, + event + }) { + { + finalAssertExports.isInstance(request, Request, { + moduleName: 'workbox-routing', + className: 'Router', + funcName: 'handleRequest', + paramName: 'options.request' + }); + } + const url = new URL(request.url, location.href); + if (!url.protocol.startsWith('http')) { + { + logger.debug(`Workbox Router only supports URLs that start with 'http'.`); + } + return; + } + const sameOrigin = url.origin === location.origin; + const { + params, + route + } = this.findMatchingRoute({ + event, + request, + sameOrigin, + url + }); + let handler = route && route.handler; + const debugMessages = []; + { + if (handler) { + debugMessages.push([`Found a route to handle this request:`, route]); + if (params) { + debugMessages.push([`Passing the following params to the route's handler:`, params]); + } + } + } + // If we don't have a handler because there was no matching route, then + // fall back to defaultHandler if that's defined. + const method = request.method; + if (!handler && this._defaultHandlerMap.has(method)) { + { + debugMessages.push(`Failed to find a matching route. Falling ` + `back to the default handler for ${method}.`); + } + handler = this._defaultHandlerMap.get(method); + } + if (!handler) { + { + // No handler so Workbox will do nothing. If logs is set of debug + // i.e. verbose, we should print out this information. + logger.debug(`No route found for: ${getFriendlyURL(url)}`); + } + return; + } + { + // We have a handler, meaning Workbox is going to handle the route. + // print the routing details to the console. + logger.groupCollapsed(`Router is responding to: ${getFriendlyURL(url)}`); + debugMessages.forEach(msg => { + if (Array.isArray(msg)) { + logger.log(...msg); + } else { + logger.log(msg); + } + }); + logger.groupEnd(); + } + // Wrap in try and catch in case the handle method throws a synchronous + // error. It should still callback to the catch handler. + let responsePromise; + try { + responsePromise = handler.handle({ + url, + request, + event, + params + }); + } catch (err) { + responsePromise = Promise.reject(err); + } + // Get route's catch handler, if it exists + const catchHandler = route && route.catchHandler; + if (responsePromise instanceof Promise && (this._catchHandler || catchHandler)) { + responsePromise = responsePromise.catch(async err => { + // If there's a route catch handler, process that first + if (catchHandler) { + { + // Still include URL here as it will be async from the console group + // and may not make sense without the URL + logger.groupCollapsed(`Error thrown when responding to: ` + ` ${getFriendlyURL(url)}. Falling back to route's Catch Handler.`); + logger.error(`Error thrown by:`, route); + logger.error(err); + logger.groupEnd(); + } + try { + return await catchHandler.handle({ + url, + request, + event, + params + }); + } catch (catchErr) { + if (catchErr instanceof Error) { + err = catchErr; + } + } + } + if (this._catchHandler) { + { + // Still include URL here as it will be async from the console group + // and may not make sense without the URL + logger.groupCollapsed(`Error thrown when responding to: ` + ` ${getFriendlyURL(url)}. Falling back to global Catch Handler.`); + logger.error(`Error thrown by:`, route); + logger.error(err); + logger.groupEnd(); + } + return this._catchHandler.handle({ + url, + request, + event + }); + } + throw err; + }); + } + return responsePromise; + } + /** + * Checks a request and URL (and optionally an event) against the list of + * registered routes, and if there's a match, returns the corresponding + * route along with any params generated by the match. + * + * @param {Object} options + * @param {URL} options.url + * @param {boolean} options.sameOrigin The result of comparing `url.origin` + * against the current origin. + * @param {Request} options.request The request to match. + * @param {Event} options.event The corresponding event. + * @return {Object} An object with `route` and `params` properties. + * They are populated if a matching route was found or `undefined` + * otherwise. + */ + findMatchingRoute({ + url, + sameOrigin, + request, + event + }) { + const routes = this._routes.get(request.method) || []; + for (const route of routes) { + let params; + // route.match returns type any, not possible to change right now. + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment + const matchResult = route.match({ + url, + sameOrigin, + request, + event + }); + if (matchResult) { + { + // Warn developers that using an async matchCallback is almost always + // not the right thing to do. + if (matchResult instanceof Promise) { + logger.warn(`While routing ${getFriendlyURL(url)}, an async ` + `matchCallback function was used. Please convert the ` + `following route to use a synchronous matchCallback function:`, route); + } + } + // See https://github.com/GoogleChrome/workbox/issues/2079 + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment + params = matchResult; + if (Array.isArray(params) && params.length === 0) { + // Instead of passing an empty array in as params, use undefined. + params = undefined; + } else if (matchResult.constructor === Object && + // eslint-disable-line + Object.keys(matchResult).length === 0) { + // Instead of passing an empty object in as params, use undefined. + params = undefined; + } else if (typeof matchResult === 'boolean') { + // For the boolean value true (rather than just something truth-y), + // don't set params. + // See https://github.com/GoogleChrome/workbox/pull/2134#issuecomment-513924353 + params = undefined; + } + // Return early if have a match. + return { + route, + params + }; + } + } + // If no match was found above, return and empty object. + return {}; + } + /** + * Define a default `handler` that's called when no routes explicitly + * match the incoming request. + * + * Each HTTP method ('GET', 'POST', etc.) gets its own default handler. + * + * Without a default handler, unmatched requests will go against the + * network as if there were no service worker present. + * + * @param {workbox-routing~handlerCallback} handler A callback + * function that returns a Promise resulting in a Response. + * @param {string} [method='GET'] The HTTP method to associate with this + * default handler. Each method has its own default. + */ + setDefaultHandler(handler, method = defaultMethod) { + this._defaultHandlerMap.set(method, normalizeHandler(handler)); + } + /** + * If a Route throws an error while handling a request, this `handler` + * will be called and given a chance to provide a response. + * + * @param {workbox-routing~handlerCallback} handler A callback + * function that returns a Promise resulting in a Response. + */ + setCatchHandler(handler) { + this._catchHandler = normalizeHandler(handler); + } + /** + * Registers a route with the router. + * + * @param {workbox-routing.Route} route The route to register. + */ + registerRoute(route) { + { + finalAssertExports.isType(route, 'object', { + moduleName: 'workbox-routing', + className: 'Router', + funcName: 'registerRoute', + paramName: 'route' + }); + finalAssertExports.hasMethod(route, 'match', { + moduleName: 'workbox-routing', + className: 'Router', + funcName: 'registerRoute', + paramName: 'route' + }); + finalAssertExports.isType(route.handler, 'object', { + moduleName: 'workbox-routing', + className: 'Router', + funcName: 'registerRoute', + paramName: 'route' + }); + finalAssertExports.hasMethod(route.handler, 'handle', { + moduleName: 'workbox-routing', + className: 'Router', + funcName: 'registerRoute', + paramName: 'route.handler' + }); + finalAssertExports.isType(route.method, 'string', { + moduleName: 'workbox-routing', + className: 'Router', + funcName: 'registerRoute', + paramName: 'route.method' + }); + } + if (!this._routes.has(route.method)) { + this._routes.set(route.method, []); + } + // Give precedence to all of the earlier routes by adding this additional + // route to the end of the array. + this._routes.get(route.method).push(route); + } + /** + * Unregisters a route with the router. + * + * @param {workbox-routing.Route} route The route to unregister. + */ + unregisterRoute(route) { + if (!this._routes.has(route.method)) { + throw new WorkboxError('unregister-route-but-not-found-with-method', { + method: route.method + }); + } + const routeIndex = this._routes.get(route.method).indexOf(route); + if (routeIndex > -1) { + this._routes.get(route.method).splice(routeIndex, 1); + } else { + throw new WorkboxError('unregister-route-route-not-registered'); + } + } + } + + /* + 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. + */ + let defaultRouter; + /** + * Creates a new, singleton Router instance if one does not exist. If one + * does already exist, that instance is returned. + * + * @private + * @return {Router} + */ + const getOrCreateDefaultRouter = () => { + if (!defaultRouter) { + defaultRouter = new Router(); + // The helpers that use the default Router assume these listeners exist. + defaultRouter.addFetchListener(); + defaultRouter.addCacheListener(); + } + return defaultRouter; + }; + + /* + 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. + */ + /** + * Easily register a RegExp, string, or function with a caching + * strategy to a singleton Router instance. + * + * This method will generate a Route for you if needed and + * call {@link workbox-routing.Router#registerRoute}. + * + * @param {RegExp|string|workbox-routing.Route~matchCallback|workbox-routing.Route} capture + * If the capture param is a `Route`, all other arguments will be ignored. + * @param {workbox-routing~handlerCallback} [handler] A callback + * function that returns a Promise resulting in a Response. This parameter + * is required if `capture` is not a `Route` object. + * @param {string} [method='GET'] The HTTP method to match the Route + * against. + * @return {workbox-routing.Route} The generated `Route`. + * + * @memberof workbox-routing + */ + function registerRoute(capture, handler, method) { + let route; + if (typeof capture === 'string') { + const captureUrl = new URL(capture, location.href); + { + if (!(capture.startsWith('/') || capture.startsWith('http'))) { + throw new WorkboxError('invalid-string', { + moduleName: 'workbox-routing', + funcName: 'registerRoute', + paramName: 'capture' + }); + } + // We want to check if Express-style wildcards are in the pathname only. + // TODO: Remove this log message in v4. + const valueToCheck = capture.startsWith('http') ? captureUrl.pathname : capture; + // See https://github.com/pillarjs/path-to-regexp#parameters + const wildcards = '[*:?+]'; + if (new RegExp(`${wildcards}`).exec(valueToCheck)) { + logger.debug(`The '$capture' parameter contains an Express-style wildcard ` + `character (${wildcards}). Strings are now always interpreted as ` + `exact matches; use a RegExp for partial or wildcard matches.`); + } + } + const matchCallback = ({ + url + }) => { + { + if (url.pathname === captureUrl.pathname && url.origin !== captureUrl.origin) { + logger.debug(`${capture} only partially matches the cross-origin URL ` + `${url.toString()}. This route will only handle cross-origin requests ` + `if they match the entire URL.`); + } + } + return url.href === captureUrl.href; + }; + // If `capture` is a string then `handler` and `method` must be present. + route = new Route(matchCallback, handler, method); + } else if (capture instanceof RegExp) { + // If `capture` is a `RegExp` then `handler` and `method` must be present. + route = new RegExpRoute(capture, handler, method); + } else if (typeof capture === 'function') { + // If `capture` is a function then `handler` and `method` must be present. + route = new Route(capture, handler, method); + } else if (capture instanceof Route) { + route = capture; + } else { + throw new WorkboxError('unsupported-route-type', { + moduleName: 'workbox-routing', + funcName: 'registerRoute', + paramName: 'capture' + }); + } + const defaultRouter = getOrCreateDefaultRouter(); + defaultRouter.registerRoute(route); + return route; + } + + // @ts-ignore + try { + self['workbox:strategies:6.5.4'] && _(); + } catch (e) {} + + /* + Copyright 2018 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. + */ + const cacheOkAndOpaquePlugin = { + /** + * Returns a valid response (to allow caching) if the status is 200 (OK) or + * 0 (opaque). + * + * @param {Object} options + * @param {Response} options.response + * @return {Response|null} + * + * @private + */ + cacheWillUpdate: async ({ + response + }) => { + if (response.status === 200 || response.status === 0) { + return response; + } + return null; + } + }; + + /* + Copyright 2018 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. + */ + const _cacheNameDetails = { + googleAnalytics: 'googleAnalytics', + precache: 'precache-v2', + prefix: 'workbox', + runtime: 'runtime', + suffix: typeof registration !== 'undefined' ? registration.scope : '' + }; + const _createCacheName = cacheName => { + return [_cacheNameDetails.prefix, cacheName, _cacheNameDetails.suffix].filter(value => value && value.length > 0).join('-'); + }; + const eachCacheNameDetail = fn => { + for (const key of Object.keys(_cacheNameDetails)) { + fn(key); + } + }; + const cacheNames = { + updateDetails: details => { + eachCacheNameDetail(key => { + if (typeof details[key] === 'string') { + _cacheNameDetails[key] = details[key]; + } + }); + }, + getGoogleAnalyticsName: userCacheName => { + return userCacheName || _createCacheName(_cacheNameDetails.googleAnalytics); + }, + getPrecacheName: userCacheName => { + return userCacheName || _createCacheName(_cacheNameDetails.precache); + }, + getPrefix: () => { + return _cacheNameDetails.prefix; + }, + getRuntimeName: userCacheName => { + return userCacheName || _createCacheName(_cacheNameDetails.runtime); + }, + getSuffix: () => { + return _cacheNameDetails.suffix; + } + }; + + /* + Copyright 2020 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. + */ + function stripParams(fullURL, ignoreParams) { + const strippedURL = new URL(fullURL); + for (const param of ignoreParams) { + strippedURL.searchParams.delete(param); + } + return strippedURL.href; + } + /** + * Matches an item in the cache, ignoring specific URL params. This is similar + * to the `ignoreSearch` option, but it allows you to ignore just specific + * params (while continuing to match on the others). + * + * @private + * @param {Cache} cache + * @param {Request} request + * @param {Object} matchOptions + * @param {Array} ignoreParams + * @return {Promise} + */ + async function cacheMatchIgnoreParams(cache, request, ignoreParams, matchOptions) { + const strippedRequestURL = stripParams(request.url, ignoreParams); + // If the request doesn't include any ignored params, match as normal. + if (request.url === strippedRequestURL) { + return cache.match(request, matchOptions); + } + // Otherwise, match by comparing keys + const keysOptions = Object.assign(Object.assign({}, matchOptions), { + ignoreSearch: true + }); + const cacheKeys = await cache.keys(request, keysOptions); + for (const cacheKey of cacheKeys) { + const strippedCacheKeyURL = stripParams(cacheKey.url, ignoreParams); + if (strippedRequestURL === strippedCacheKeyURL) { + return cache.match(cacheKey, matchOptions); + } + } + return; + } + + /* + Copyright 2018 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. + */ + /** + * The Deferred class composes Promises in a way that allows for them to be + * resolved or rejected from outside the constructor. In most cases promises + * should be used directly, but Deferreds can be necessary when the logic to + * resolve a promise must be separate. + * + * @private + */ + class Deferred { + /** + * Creates a promise and exposes its resolve and reject functions as methods. + */ + constructor() { + this.promise = new Promise((resolve, reject) => { + this.resolve = resolve; + this.reject = reject; + }); + } + } + + /* + Copyright 2018 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. + */ + // Callbacks to be executed whenever there's a quota error. + // Can't change Function type right now. + // eslint-disable-next-line @typescript-eslint/ban-types + const quotaErrorCallbacks = new Set(); + + /* + Copyright 2018 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. + */ + /** + * Runs all of the callback functions, one at a time sequentially, in the order + * in which they were registered. + * + * @memberof workbox-core + * @private + */ + async function executeQuotaErrorCallbacks() { + { + logger.log(`About to run ${quotaErrorCallbacks.size} ` + `callbacks to clean up caches.`); + } + for (const callback of quotaErrorCallbacks) { + await callback(); + { + logger.log(callback, 'is complete.'); + } + } + { + logger.log('Finished running callbacks.'); + } + } + + /* + 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. + */ + /** + * Returns a promise that resolves and the passed number of milliseconds. + * This utility is an async/await-friendly version of `setTimeout`. + * + * @param {number} ms + * @return {Promise} + * @private + */ + function timeout(ms) { + return new Promise(resolve => setTimeout(resolve, ms)); + } + + /* + Copyright 2020 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. + */ + function toRequest(input) { + return typeof input === 'string' ? new Request(input) : input; + } + /** + * A class created every time a Strategy instance instance calls + * {@link workbox-strategies.Strategy~handle} or + * {@link workbox-strategies.Strategy~handleAll} that wraps all fetch and + * cache actions around plugin callbacks and keeps track of when the strategy + * is "done" (i.e. all added `event.waitUntil()` promises have resolved). + * + * @memberof workbox-strategies + */ + class StrategyHandler { + /** + * Creates a new instance associated with the passed strategy and event + * that's handling the request. + * + * The constructor also initializes the state that will be passed to each of + * the plugins handling this request. + * + * @param {workbox-strategies.Strategy} strategy + * @param {Object} options + * @param {Request|string} options.request A request to run this strategy for. + * @param {ExtendableEvent} options.event The event associated with the + * request. + * @param {URL} [options.url] + * @param {*} [options.params] The return value from the + * {@link workbox-routing~matchCallback} (if applicable). + */ + constructor(strategy, options) { + this._cacheKeys = {}; + /** + * The request the strategy is performing (passed to the strategy's + * `handle()` or `handleAll()` method). + * @name request + * @instance + * @type {Request} + * @memberof workbox-strategies.StrategyHandler + */ + /** + * The event associated with this request. + * @name event + * @instance + * @type {ExtendableEvent} + * @memberof workbox-strategies.StrategyHandler + */ + /** + * A `URL` instance of `request.url` (if passed to the strategy's + * `handle()` or `handleAll()` method). + * Note: the `url` param will be present if the strategy was invoked + * from a workbox `Route` object. + * @name url + * @instance + * @type {URL|undefined} + * @memberof workbox-strategies.StrategyHandler + */ + /** + * A `param` value (if passed to the strategy's + * `handle()` or `handleAll()` method). + * Note: the `param` param will be present if the strategy was invoked + * from a workbox `Route` object and the + * {@link workbox-routing~matchCallback} returned + * a truthy value (it will be that value). + * @name params + * @instance + * @type {*|undefined} + * @memberof workbox-strategies.StrategyHandler + */ + { + finalAssertExports.isInstance(options.event, ExtendableEvent, { + moduleName: 'workbox-strategies', + className: 'StrategyHandler', + funcName: 'constructor', + paramName: 'options.event' + }); + } + Object.assign(this, options); + this.event = options.event; + this._strategy = strategy; + this._handlerDeferred = new Deferred(); + this._extendLifetimePromises = []; + // Copy the plugins list (since it's mutable on the strategy), + // so any mutations don't affect this handler instance. + this._plugins = [...strategy.plugins]; + this._pluginStateMap = new Map(); + for (const plugin of this._plugins) { + this._pluginStateMap.set(plugin, {}); + } + this.event.waitUntil(this._handlerDeferred.promise); + } + /** + * Fetches a given request (and invokes any applicable plugin callback + * methods) using the `fetchOptions` (for non-navigation requests) and + * `plugins` defined on the `Strategy` object. + * + * The following plugin lifecycle methods are invoked when using this method: + * - `requestWillFetch()` + * - `fetchDidSucceed()` + * - `fetchDidFail()` + * + * @param {Request|string} input The URL or request to fetch. + * @return {Promise} + */ + async fetch(input) { + const { + event + } = this; + let request = toRequest(input); + if (request.mode === 'navigate' && event instanceof FetchEvent && event.preloadResponse) { + const possiblePreloadResponse = await event.preloadResponse; + if (possiblePreloadResponse) { + { + logger.log(`Using a preloaded navigation response for ` + `'${getFriendlyURL(request.url)}'`); + } + return possiblePreloadResponse; + } + } + // If there is a fetchDidFail plugin, we need to save a clone of the + // original request before it's either modified by a requestWillFetch + // plugin or before the original request's body is consumed via fetch(). + const originalRequest = this.hasCallback('fetchDidFail') ? request.clone() : null; + try { + for (const cb of this.iterateCallbacks('requestWillFetch')) { + request = await cb({ + request: request.clone(), + event + }); + } + } catch (err) { + if (err instanceof Error) { + throw new WorkboxError('plugin-error-request-will-fetch', { + thrownErrorMessage: err.message + }); + } + } + // The request can be altered by plugins with `requestWillFetch` making + // the original request (most likely from a `fetch` event) different + // from the Request we make. Pass both to `fetchDidFail` to aid debugging. + const pluginFilteredRequest = request.clone(); + try { + let fetchResponse; + // See https://github.com/GoogleChrome/workbox/issues/1796 + fetchResponse = await fetch(request, request.mode === 'navigate' ? undefined : this._strategy.fetchOptions); + if ("development" !== 'production') { + logger.debug(`Network request for ` + `'${getFriendlyURL(request.url)}' returned a response with ` + `status '${fetchResponse.status}'.`); + } + for (const callback of this.iterateCallbacks('fetchDidSucceed')) { + fetchResponse = await callback({ + event, + request: pluginFilteredRequest, + response: fetchResponse + }); + } + return fetchResponse; + } catch (error) { + { + logger.log(`Network request for ` + `'${getFriendlyURL(request.url)}' threw an error.`, error); + } + // `originalRequest` will only exist if a `fetchDidFail` callback + // is being used (see above). + if (originalRequest) { + await this.runCallbacks('fetchDidFail', { + error: error, + event, + originalRequest: originalRequest.clone(), + request: pluginFilteredRequest.clone() + }); + } + throw error; + } + } + /** + * Calls `this.fetch()` and (in the background) runs `this.cachePut()` on + * the response generated by `this.fetch()`. + * + * The call to `this.cachePut()` automatically invokes `this.waitUntil()`, + * so you do not have to manually call `waitUntil()` on the event. + * + * @param {Request|string} input The request or URL to fetch and cache. + * @return {Promise} + */ + async fetchAndCachePut(input) { + const response = await this.fetch(input); + const responseClone = response.clone(); + void this.waitUntil(this.cachePut(input, responseClone)); + return response; + } + /** + * Matches a request from the cache (and invokes any applicable plugin + * callback methods) using the `cacheName`, `matchOptions`, and `plugins` + * defined on the strategy object. + * + * The following plugin lifecycle methods are invoked when using this method: + * - cacheKeyWillByUsed() + * - cachedResponseWillByUsed() + * + * @param {Request|string} key The Request or URL to use as the cache key. + * @return {Promise} A matching response, if found. + */ + async cacheMatch(key) { + const request = toRequest(key); + let cachedResponse; + const { + cacheName, + matchOptions + } = this._strategy; + const effectiveRequest = await this.getCacheKey(request, 'read'); + const multiMatchOptions = Object.assign(Object.assign({}, matchOptions), { + cacheName + }); + cachedResponse = await caches.match(effectiveRequest, multiMatchOptions); + { + if (cachedResponse) { + logger.debug(`Found a cached response in '${cacheName}'.`); + } else { + logger.debug(`No cached response found in '${cacheName}'.`); + } + } + for (const callback of this.iterateCallbacks('cachedResponseWillBeUsed')) { + cachedResponse = (await callback({ + cacheName, + matchOptions, + cachedResponse, + request: effectiveRequest, + event: this.event + })) || undefined; + } + return cachedResponse; + } + /** + * Puts a request/response pair in the cache (and invokes any applicable + * plugin callback methods) using the `cacheName` and `plugins` defined on + * the strategy object. + * + * The following plugin lifecycle methods are invoked when using this method: + * - cacheKeyWillByUsed() + * - cacheWillUpdate() + * - cacheDidUpdate() + * + * @param {Request|string} key The request or URL to use as the cache key. + * @param {Response} response The response to cache. + * @return {Promise} `false` if a cacheWillUpdate caused the response + * not be cached, and `true` otherwise. + */ + async cachePut(key, response) { + const request = toRequest(key); + // Run in the next task to avoid blocking other cache reads. + // https://github.com/w3c/ServiceWorker/issues/1397 + await timeout(0); + const effectiveRequest = await this.getCacheKey(request, 'write'); + { + if (effectiveRequest.method && effectiveRequest.method !== 'GET') { + throw new WorkboxError('attempt-to-cache-non-get-request', { + url: getFriendlyURL(effectiveRequest.url), + method: effectiveRequest.method + }); + } + // See https://github.com/GoogleChrome/workbox/issues/2818 + const vary = response.headers.get('Vary'); + if (vary) { + logger.debug(`The response for ${getFriendlyURL(effectiveRequest.url)} ` + `has a 'Vary: ${vary}' header. ` + `Consider setting the {ignoreVary: true} option on your strategy ` + `to ensure cache matching and deletion works as expected.`); + } + } + if (!response) { + { + logger.error(`Cannot cache non-existent response for ` + `'${getFriendlyURL(effectiveRequest.url)}'.`); + } + throw new WorkboxError('cache-put-with-no-response', { + url: getFriendlyURL(effectiveRequest.url) + }); + } + const responseToCache = await this._ensureResponseSafeToCache(response); + if (!responseToCache) { + { + logger.debug(`Response '${getFriendlyURL(effectiveRequest.url)}' ` + `will not be cached.`, responseToCache); + } + return false; + } + const { + cacheName, + matchOptions + } = this._strategy; + const cache = await self.caches.open(cacheName); + const hasCacheUpdateCallback = this.hasCallback('cacheDidUpdate'); + const oldResponse = hasCacheUpdateCallback ? await cacheMatchIgnoreParams( + // TODO(philipwalton): the `__WB_REVISION__` param is a precaching + // feature. Consider into ways to only add this behavior if using + // precaching. + cache, effectiveRequest.clone(), ['__WB_REVISION__'], matchOptions) : null; + { + logger.debug(`Updating the '${cacheName}' cache with a new Response ` + `for ${getFriendlyURL(effectiveRequest.url)}.`); + } + try { + await cache.put(effectiveRequest, hasCacheUpdateCallback ? responseToCache.clone() : responseToCache); + } catch (error) { + if (error instanceof Error) { + // See https://developer.mozilla.org/en-US/docs/Web/API/DOMException#exception-QuotaExceededError + if (error.name === 'QuotaExceededError') { + await executeQuotaErrorCallbacks(); + } + throw error; + } + } + for (const callback of this.iterateCallbacks('cacheDidUpdate')) { + await callback({ + cacheName, + oldResponse, + newResponse: responseToCache.clone(), + request: effectiveRequest, + event: this.event + }); + } + return true; + } + /** + * Checks the list of plugins for the `cacheKeyWillBeUsed` callback, and + * executes any of those callbacks found in sequence. The final `Request` + * object returned by the last plugin is treated as the cache key for cache + * reads and/or writes. If no `cacheKeyWillBeUsed` plugin callbacks have + * been registered, the passed request is returned unmodified + * + * @param {Request} request + * @param {string} mode + * @return {Promise} + */ + async getCacheKey(request, mode) { + const key = `${request.url} | ${mode}`; + if (!this._cacheKeys[key]) { + let effectiveRequest = request; + for (const callback of this.iterateCallbacks('cacheKeyWillBeUsed')) { + effectiveRequest = toRequest(await callback({ + mode, + request: effectiveRequest, + event: this.event, + // params has a type any can't change right now. + params: this.params // eslint-disable-line + })); + } + this._cacheKeys[key] = effectiveRequest; + } + return this._cacheKeys[key]; + } + /** + * Returns true if the strategy has at least one plugin with the given + * callback. + * + * @param {string} name The name of the callback to check for. + * @return {boolean} + */ + hasCallback(name) { + for (const plugin of this._strategy.plugins) { + if (name in plugin) { + return true; + } + } + return false; + } + /** + * Runs all plugin callbacks matching the given name, in order, passing the + * given param object (merged ith the current plugin state) as the only + * argument. + * + * Note: since this method runs all plugins, it's not suitable for cases + * where the return value of a callback needs to be applied prior to calling + * the next callback. See + * {@link workbox-strategies.StrategyHandler#iterateCallbacks} + * below for how to handle that case. + * + * @param {string} name The name of the callback to run within each plugin. + * @param {Object} param The object to pass as the first (and only) param + * when executing each callback. This object will be merged with the + * current plugin state prior to callback execution. + */ + async runCallbacks(name, param) { + for (const callback of this.iterateCallbacks(name)) { + // TODO(philipwalton): not sure why `any` is needed. It seems like + // this should work with `as WorkboxPluginCallbackParam[C]`. + await callback(param); + } + } + /** + * Accepts a callback and returns an iterable of matching plugin callbacks, + * where each callback is wrapped with the current handler state (i.e. when + * you call each callback, whatever object parameter you pass it will + * be merged with the plugin's current state). + * + * @param {string} name The name fo the callback to run + * @return {Array} + */ + *iterateCallbacks(name) { + for (const plugin of this._strategy.plugins) { + if (typeof plugin[name] === 'function') { + const state = this._pluginStateMap.get(plugin); + const statefulCallback = param => { + const statefulParam = Object.assign(Object.assign({}, param), { + state + }); + // TODO(philipwalton): not sure why `any` is needed. It seems like + // this should work with `as WorkboxPluginCallbackParam[C]`. + return plugin[name](statefulParam); + }; + yield statefulCallback; + } + } + } + /** + * Adds a promise to the + * [extend lifetime promises]{@link https://w3c.github.io/ServiceWorker/#extendableevent-extend-lifetime-promises} + * of the event event associated with the request being handled (usually a + * `FetchEvent`). + * + * Note: you can await + * {@link workbox-strategies.StrategyHandler~doneWaiting} + * to know when all added promises have settled. + * + * @param {Promise} promise A promise to add to the extend lifetime promises + * of the event that triggered the request. + */ + waitUntil(promise) { + this._extendLifetimePromises.push(promise); + return promise; + } + /** + * Returns a promise that resolves once all promises passed to + * {@link workbox-strategies.StrategyHandler~waitUntil} + * have settled. + * + * Note: any work done after `doneWaiting()` settles should be manually + * passed to an event's `waitUntil()` method (not this handler's + * `waitUntil()` method), otherwise the service worker thread my be killed + * prior to your work completing. + */ + async doneWaiting() { + let promise; + while (promise = this._extendLifetimePromises.shift()) { + await promise; + } + } + /** + * Stops running the strategy and immediately resolves any pending + * `waitUntil()` promises. + */ + destroy() { + this._handlerDeferred.resolve(null); + } + /** + * This method will call cacheWillUpdate on the available plugins (or use + * status === 200) to determine if the Response is safe and valid to cache. + * + * @param {Request} options.request + * @param {Response} options.response + * @return {Promise} + * + * @private + */ + async _ensureResponseSafeToCache(response) { + let responseToCache = response; + let pluginsUsed = false; + for (const callback of this.iterateCallbacks('cacheWillUpdate')) { + responseToCache = (await callback({ + request: this.request, + response: responseToCache, + event: this.event + })) || undefined; + pluginsUsed = true; + if (!responseToCache) { + break; + } + } + if (!pluginsUsed) { + if (responseToCache && responseToCache.status !== 200) { + responseToCache = undefined; + } + { + if (responseToCache) { + if (responseToCache.status !== 200) { + if (responseToCache.status === 0) { + logger.warn(`The response for '${this.request.url}' ` + `is an opaque response. The caching strategy that you're ` + `using will not cache opaque responses by default.`); + } else { + logger.debug(`The response for '${this.request.url}' ` + `returned a status code of '${response.status}' and won't ` + `be cached as a result.`); + } + } + } + } + } + return responseToCache; + } + } + + /* + Copyright 2020 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. + */ + /** + * An abstract base class that all other strategy classes must extend from: + * + * @memberof workbox-strategies + */ + class Strategy { + /** + * Creates a new instance of the strategy and sets all documented option + * properties as public instance properties. + * + * Note: if a custom strategy class extends the base Strategy class and does + * not need more than these properties, it does not need to define its own + * constructor. + * + * @param {Object} [options] + * @param {string} [options.cacheName] Cache name to store and retrieve + * requests. Defaults to the cache names provided by + * {@link workbox-core.cacheNames}. + * @param {Array} [options.plugins] [Plugins]{@link https://developers.google.com/web/tools/workbox/guides/using-plugins} + * to use in conjunction with this caching strategy. + * @param {Object} [options.fetchOptions] Values passed along to the + * [`init`](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters) + * of [non-navigation](https://github.com/GoogleChrome/workbox/issues/1796) + * `fetch()` requests made by this strategy. + * @param {Object} [options.matchOptions] The + * [`CacheQueryOptions`]{@link https://w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions} + * for any `cache.match()` or `cache.put()` calls made by this strategy. + */ + constructor(options = {}) { + /** + * Cache name to store and retrieve + * requests. Defaults to the cache names provided by + * {@link workbox-core.cacheNames}. + * + * @type {string} + */ + this.cacheName = cacheNames.getRuntimeName(options.cacheName); + /** + * The list + * [Plugins]{@link https://developers.google.com/web/tools/workbox/guides/using-plugins} + * used by this strategy. + * + * @type {Array} + */ + this.plugins = options.plugins || []; + /** + * Values passed along to the + * [`init`]{@link https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters} + * of all fetch() requests made by this strategy. + * + * @type {Object} + */ + this.fetchOptions = options.fetchOptions; + /** + * The + * [`CacheQueryOptions`]{@link https://w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions} + * for any `cache.match()` or `cache.put()` calls made by this strategy. + * + * @type {Object} + */ + this.matchOptions = options.matchOptions; + } + /** + * Perform a request strategy and returns a `Promise` that will resolve with + * a `Response`, invoking all relevant plugin callbacks. + * + * When a strategy instance is registered with a Workbox + * {@link workbox-routing.Route}, this method is automatically + * called when the route matches. + * + * Alternatively, this method can be used in a standalone `FetchEvent` + * listener by passing it to `event.respondWith()`. + * + * @param {FetchEvent|Object} options A `FetchEvent` or an object with the + * properties listed below. + * @param {Request|string} options.request A request to run this strategy for. + * @param {ExtendableEvent} options.event The event associated with the + * request. + * @param {URL} [options.url] + * @param {*} [options.params] + */ + handle(options) { + const [responseDone] = this.handleAll(options); + return responseDone; + } + /** + * Similar to {@link workbox-strategies.Strategy~handle}, but + * instead of just returning a `Promise` that resolves to a `Response` it + * it will return an tuple of `[response, done]` promises, where the former + * (`response`) is equivalent to what `handle()` returns, and the latter is a + * Promise that will resolve once any promises that were added to + * `event.waitUntil()` as part of performing the strategy have completed. + * + * You can await the `done` promise to ensure any extra work performed by + * the strategy (usually caching responses) completes successfully. + * + * @param {FetchEvent|Object} options A `FetchEvent` or an object with the + * properties listed below. + * @param {Request|string} options.request A request to run this strategy for. + * @param {ExtendableEvent} options.event The event associated with the + * request. + * @param {URL} [options.url] + * @param {*} [options.params] + * @return {Array} A tuple of [response, done] + * promises that can be used to determine when the response resolves as + * well as when the handler has completed all its work. + */ + handleAll(options) { + // Allow for flexible options to be passed. + if (options instanceof FetchEvent) { + options = { + event: options, + request: options.request + }; + } + const event = options.event; + const request = typeof options.request === 'string' ? new Request(options.request) : options.request; + const params = 'params' in options ? options.params : undefined; + const handler = new StrategyHandler(this, { + event, + request, + params + }); + const responseDone = this._getResponse(handler, request, event); + const handlerDone = this._awaitComplete(responseDone, handler, request, event); + // Return an array of promises, suitable for use with Promise.all(). + return [responseDone, handlerDone]; + } + async _getResponse(handler, request, event) { + await handler.runCallbacks('handlerWillStart', { + event, + request + }); + let response = undefined; + try { + response = await this._handle(request, handler); + // The "official" Strategy subclasses all throw this error automatically, + // but in case a third-party Strategy doesn't, ensure that we have a + // consistent failure when there's no response or an error response. + if (!response || response.type === 'error') { + throw new WorkboxError('no-response', { + url: request.url + }); + } + } catch (error) { + if (error instanceof Error) { + for (const callback of handler.iterateCallbacks('handlerDidError')) { + response = await callback({ + error, + event, + request + }); + if (response) { + break; + } + } + } + if (!response) { + throw error; + } else { + logger.log(`While responding to '${getFriendlyURL(request.url)}', ` + `an ${error instanceof Error ? error.toString() : ''} error occurred. Using a fallback response provided by ` + `a handlerDidError plugin.`); + } + } + for (const callback of handler.iterateCallbacks('handlerWillRespond')) { + response = await callback({ + event, + request, + response + }); + } + return response; + } + async _awaitComplete(responseDone, handler, request, event) { + let response; + let error; + try { + response = await responseDone; + } catch (error) { + // Ignore errors, as response errors should be caught via the `response` + // promise above. The `done` promise will only throw for errors in + // promises passed to `handler.waitUntil()`. + } + try { + await handler.runCallbacks('handlerDidRespond', { + event, + request, + response + }); + await handler.doneWaiting(); + } catch (waitUntilError) { + if (waitUntilError instanceof Error) { + error = waitUntilError; + } + } + await handler.runCallbacks('handlerDidComplete', { + event, + request, + response, + error: error + }); + handler.destroy(); + if (error) { + throw error; + } + } + } + /** + * Classes extending the `Strategy` based class should implement this method, + * and leverage the {@link workbox-strategies.StrategyHandler} + * arg to perform all fetching and cache logic, which will ensure all relevant + * cache, cache options, fetch options and plugins are used (per the current + * strategy instance). + * + * @name _handle + * @instance + * @abstract + * @function + * @param {Request} request + * @param {workbox-strategies.StrategyHandler} handler + * @return {Promise} + * + * @memberof workbox-strategies.Strategy + */ + + /* + Copyright 2018 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. + */ + const messages = { + strategyStart: (strategyName, request) => `Using ${strategyName} to respond to '${getFriendlyURL(request.url)}'`, + printFinalResponse: response => { + if (response) { + logger.groupCollapsed(`View the final response here.`); + logger.log(response || '[No response returned]'); + logger.groupEnd(); + } + } + }; + + /* + Copyright 2018 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. + */ + /** + * An implementation of a + * [network first](https://developer.chrome.com/docs/workbox/caching-strategies-overview/#network-first-falling-back-to-cache) + * request strategy. + * + * By default, this strategy will cache responses with a 200 status code as + * well as [opaque responses](https://developer.chrome.com/docs/workbox/caching-resources-during-runtime/#opaque-responses). + * Opaque responses are are cross-origin requests where the response doesn't + * support [CORS](https://enable-cors.org/). + * + * If the network request fails, and there is no cache match, this will throw + * a `WorkboxError` exception. + * + * @extends workbox-strategies.Strategy + * @memberof workbox-strategies + */ + class NetworkFirst extends Strategy { + /** + * @param {Object} [options] + * @param {string} [options.cacheName] Cache name to store and retrieve + * requests. Defaults to cache names provided by + * {@link workbox-core.cacheNames}. + * @param {Array} [options.plugins] [Plugins]{@link https://developers.google.com/web/tools/workbox/guides/using-plugins} + * to use in conjunction with this caching strategy. + * @param {Object} [options.fetchOptions] Values passed along to the + * [`init`](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters) + * of [non-navigation](https://github.com/GoogleChrome/workbox/issues/1796) + * `fetch()` requests made by this strategy. + * @param {Object} [options.matchOptions] [`CacheQueryOptions`](https://w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions) + * @param {number} [options.networkTimeoutSeconds] If set, any network requests + * that fail to respond within the timeout will fallback to the cache. + * + * This option can be used to combat + * "[lie-fi]{@link https://developers.google.com/web/fundamentals/performance/poor-connectivity/#lie-fi}" + * scenarios. + */ + constructor(options = {}) { + super(options); + // If this instance contains no plugins with a 'cacheWillUpdate' callback, + // prepend the `cacheOkAndOpaquePlugin` plugin to the plugins list. + if (!this.plugins.some(p => 'cacheWillUpdate' in p)) { + this.plugins.unshift(cacheOkAndOpaquePlugin); + } + this._networkTimeoutSeconds = options.networkTimeoutSeconds || 0; + { + if (this._networkTimeoutSeconds) { + finalAssertExports.isType(this._networkTimeoutSeconds, 'number', { + moduleName: 'workbox-strategies', + className: this.constructor.name, + funcName: 'constructor', + paramName: 'networkTimeoutSeconds' + }); + } + } + } + /** + * @private + * @param {Request|string} request A request to run this strategy for. + * @param {workbox-strategies.StrategyHandler} handler The event that + * triggered the request. + * @return {Promise} + */ + async _handle(request, handler) { + const logs = []; + { + finalAssertExports.isInstance(request, Request, { + moduleName: 'workbox-strategies', + className: this.constructor.name, + funcName: 'handle', + paramName: 'makeRequest' + }); + } + const promises = []; + let timeoutId; + if (this._networkTimeoutSeconds) { + const { + id, + promise + } = this._getTimeoutPromise({ + request, + logs, + handler + }); + timeoutId = id; + promises.push(promise); + } + const networkPromise = this._getNetworkPromise({ + timeoutId, + request, + logs, + handler + }); + promises.push(networkPromise); + const response = await handler.waitUntil((async () => { + // Promise.race() will resolve as soon as the first promise resolves. + return (await handler.waitUntil(Promise.race(promises))) || ( + // If Promise.race() resolved with null, it might be due to a network + // timeout + a cache miss. If that were to happen, we'd rather wait until + // the networkPromise resolves instead of returning null. + // Note that it's fine to await an already-resolved promise, so we don't + // have to check to see if it's still "in flight". + await networkPromise); + })()); + { + logger.groupCollapsed(messages.strategyStart(this.constructor.name, request)); + for (const log of logs) { + logger.log(log); + } + messages.printFinalResponse(response); + logger.groupEnd(); + } + if (!response) { + throw new WorkboxError('no-response', { + url: request.url + }); + } + return response; + } + /** + * @param {Object} options + * @param {Request} options.request + * @param {Array} options.logs A reference to the logs array + * @param {Event} options.event + * @return {Promise} + * + * @private + */ + _getTimeoutPromise({ + request, + logs, + handler + }) { + let timeoutId; + const timeoutPromise = new Promise(resolve => { + const onNetworkTimeout = async () => { + { + logs.push(`Timing out the network response at ` + `${this._networkTimeoutSeconds} seconds.`); + } + resolve(await handler.cacheMatch(request)); + }; + timeoutId = setTimeout(onNetworkTimeout, this._networkTimeoutSeconds * 1000); + }); + return { + promise: timeoutPromise, + id: timeoutId + }; + } + /** + * @param {Object} options + * @param {number|undefined} options.timeoutId + * @param {Request} options.request + * @param {Array} options.logs A reference to the logs Array. + * @param {Event} options.event + * @return {Promise} + * + * @private + */ + async _getNetworkPromise({ + timeoutId, + request, + logs, + handler + }) { + let error; + let response; + try { + response = await handler.fetchAndCachePut(request); + } catch (fetchError) { + if (fetchError instanceof Error) { + error = fetchError; + } + } + if (timeoutId) { + clearTimeout(timeoutId); + } + { + if (response) { + logs.push(`Got response from network.`); + } else { + logs.push(`Unable to get a response from the network. Will respond ` + `with a cached response.`); + } + } + if (error || !response) { + response = await handler.cacheMatch(request); + { + if (response) { + logs.push(`Found a cached response in the '${this.cacheName}'` + ` cache.`); + } else { + logs.push(`No response found in the '${this.cacheName}' cache.`); + } + } + } + return response; + } + } + + /* + Copyright 2018 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. + */ + /** + * An implementation of a + * [network-only](https://developer.chrome.com/docs/workbox/caching-strategies-overview/#network-only) + * request strategy. + * + * This class is useful if you want to take advantage of any + * [Workbox plugins](https://developer.chrome.com/docs/workbox/using-plugins/). + * + * If the network request fails, this will throw a `WorkboxError` exception. + * + * @extends workbox-strategies.Strategy + * @memberof workbox-strategies + */ + class NetworkOnly extends Strategy { + /** + * @param {Object} [options] + * @param {Array} [options.plugins] [Plugins]{@link https://developers.google.com/web/tools/workbox/guides/using-plugins} + * to use in conjunction with this caching strategy. + * @param {Object} [options.fetchOptions] Values passed along to the + * [`init`](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters) + * of [non-navigation](https://github.com/GoogleChrome/workbox/issues/1796) + * `fetch()` requests made by this strategy. + * @param {number} [options.networkTimeoutSeconds] If set, any network requests + * that fail to respond within the timeout will result in a network error. + */ + constructor(options = {}) { + super(options); + this._networkTimeoutSeconds = options.networkTimeoutSeconds || 0; + } + /** + * @private + * @param {Request|string} request A request to run this strategy for. + * @param {workbox-strategies.StrategyHandler} handler The event that + * triggered the request. + * @return {Promise} + */ + async _handle(request, handler) { + { + finalAssertExports.isInstance(request, Request, { + moduleName: 'workbox-strategies', + className: this.constructor.name, + funcName: '_handle', + paramName: 'request' + }); + } + let error = undefined; + let response; + try { + const promises = [handler.fetch(request)]; + if (this._networkTimeoutSeconds) { + const timeoutPromise = timeout(this._networkTimeoutSeconds * 1000); + promises.push(timeoutPromise); + } + response = await Promise.race(promises); + if (!response) { + throw new Error(`Timed out the network response after ` + `${this._networkTimeoutSeconds} seconds.`); + } + } catch (err) { + if (err instanceof Error) { + error = err; + } + } + { + logger.groupCollapsed(messages.strategyStart(this.constructor.name, request)); + if (response) { + logger.log(`Got response from network.`); + } else { + logger.log(`Unable to get a response from the network.`); + } + messages.printFinalResponse(response); + logger.groupEnd(); + } + if (!response) { + throw new WorkboxError('no-response', { + url: request.url, + error + }); + } + return response; + } + } + + /* + 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. + */ + /** + * Claim any currently available clients once the service worker + * becomes active. This is normally used in conjunction with `skipWaiting()`. + * + * @memberof workbox-core + */ + function clientsClaim() { + self.addEventListener('activate', () => self.clients.claim()); + } + + exports.NetworkFirst = NetworkFirst; + exports.NetworkOnly = NetworkOnly; + exports.clientsClaim = clientsClaim; + exports.registerRoute = registerRoute; + +})); +//# sourceMappingURL=workbox-e43f5367.js.map diff --git a/public/workbox-e43f5367.js.map b/public/workbox-e43f5367.js.map new file mode 100644 index 00000000..cf6a8857 --- /dev/null +++ b/public/workbox-e43f5367.js.map @@ -0,0 +1 @@ +{"version":3,"file":"workbox-e43f5367.js","sources":["node_modules/workbox-core/_version.js","node_modules/workbox-core/_private/logger.js","node_modules/workbox-core/models/messages/messages.js","node_modules/workbox-core/models/messages/messageGenerator.js","node_modules/workbox-core/_private/WorkboxError.js","node_modules/workbox-core/_private/assert.js","node_modules/workbox-routing/_version.js","node_modules/workbox-routing/utils/constants.js","node_modules/workbox-routing/utils/normalizeHandler.js","node_modules/workbox-routing/Route.js","node_modules/workbox-routing/RegExpRoute.js","node_modules/workbox-core/_private/getFriendlyURL.js","node_modules/workbox-routing/Router.js","node_modules/workbox-routing/utils/getOrCreateDefaultRouter.js","node_modules/workbox-routing/registerRoute.js","node_modules/workbox-strategies/_version.js","node_modules/workbox-strategies/plugins/cacheOkAndOpaquePlugin.js","node_modules/workbox-core/_private/cacheNames.js","node_modules/workbox-core/_private/cacheMatchIgnoreParams.js","node_modules/workbox-core/_private/Deferred.js","node_modules/workbox-core/models/quotaErrorCallbacks.js","node_modules/workbox-core/_private/executeQuotaErrorCallbacks.js","node_modules/workbox-core/_private/timeout.js","node_modules/workbox-strategies/StrategyHandler.js","node_modules/workbox-strategies/Strategy.js","node_modules/workbox-strategies/utils/messages.js","node_modules/workbox-strategies/NetworkFirst.js","node_modules/workbox-strategies/NetworkOnly.js","node_modules/workbox-core/clientsClaim.js"],"sourcesContent":["\"use strict\";\n// @ts-ignore\ntry {\n self['workbox:core:6.5.4'] && _();\n}\ncatch (e) { }\n","/*\n Copyright 2019 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nconst logger = (process.env.NODE_ENV === 'production'\n ? null\n : (() => {\n // Don't overwrite this value if it's already set.\n // See https://github.com/GoogleChrome/workbox/pull/2284#issuecomment-560470923\n if (!('__WB_DISABLE_DEV_LOGS' in globalThis)) {\n self.__WB_DISABLE_DEV_LOGS = false;\n }\n let inGroup = false;\n const methodToColorMap = {\n debug: `#7f8c8d`,\n log: `#2ecc71`,\n warn: `#f39c12`,\n error: `#c0392b`,\n groupCollapsed: `#3498db`,\n groupEnd: null, // No colored prefix on groupEnd\n };\n const print = function (method, args) {\n if (self.__WB_DISABLE_DEV_LOGS) {\n return;\n }\n if (method === 'groupCollapsed') {\n // Safari doesn't print all console.groupCollapsed() arguments:\n // https://bugs.webkit.org/show_bug.cgi?id=182754\n if (/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {\n console[method](...args);\n return;\n }\n }\n const styles = [\n `background: ${methodToColorMap[method]}`,\n `border-radius: 0.5em`,\n `color: white`,\n `font-weight: bold`,\n `padding: 2px 0.5em`,\n ];\n // When in a group, the workbox prefix is not displayed.\n const logPrefix = inGroup ? [] : ['%cworkbox', styles.join(';')];\n console[method](...logPrefix, ...args);\n if (method === 'groupCollapsed') {\n inGroup = true;\n }\n if (method === 'groupEnd') {\n inGroup = false;\n }\n };\n // eslint-disable-next-line @typescript-eslint/ban-types\n const api = {};\n const loggerMethods = Object.keys(methodToColorMap);\n for (const key of loggerMethods) {\n const method = key;\n api[method] = (...args) => {\n print(method, args);\n };\n }\n return api;\n })());\nexport { logger };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../../_version.js';\nexport const messages = {\n 'invalid-value': ({ paramName, validValueDescription, value }) => {\n if (!paramName || !validValueDescription) {\n throw new Error(`Unexpected input to 'invalid-value' error.`);\n }\n return (`The '${paramName}' parameter was given a value with an ` +\n `unexpected value. ${validValueDescription} Received a value of ` +\n `${JSON.stringify(value)}.`);\n },\n 'not-an-array': ({ moduleName, className, funcName, paramName }) => {\n if (!moduleName || !className || !funcName || !paramName) {\n throw new Error(`Unexpected input to 'not-an-array' error.`);\n }\n return (`The parameter '${paramName}' passed into ` +\n `'${moduleName}.${className}.${funcName}()' must be an array.`);\n },\n 'incorrect-type': ({ expectedType, paramName, moduleName, className, funcName, }) => {\n if (!expectedType || !paramName || !moduleName || !funcName) {\n throw new Error(`Unexpected input to 'incorrect-type' error.`);\n }\n const classNameStr = className ? `${className}.` : '';\n return (`The parameter '${paramName}' passed into ` +\n `'${moduleName}.${classNameStr}` +\n `${funcName}()' must be of type ${expectedType}.`);\n },\n 'incorrect-class': ({ expectedClassName, paramName, moduleName, className, funcName, isReturnValueProblem, }) => {\n if (!expectedClassName || !moduleName || !funcName) {\n throw new Error(`Unexpected input to 'incorrect-class' error.`);\n }\n const classNameStr = className ? `${className}.` : '';\n if (isReturnValueProblem) {\n return (`The return value from ` +\n `'${moduleName}.${classNameStr}${funcName}()' ` +\n `must be an instance of class ${expectedClassName}.`);\n }\n return (`The parameter '${paramName}' passed into ` +\n `'${moduleName}.${classNameStr}${funcName}()' ` +\n `must be an instance of class ${expectedClassName}.`);\n },\n 'missing-a-method': ({ expectedMethod, paramName, moduleName, className, funcName, }) => {\n if (!expectedMethod ||\n !paramName ||\n !moduleName ||\n !className ||\n !funcName) {\n throw new Error(`Unexpected input to 'missing-a-method' error.`);\n }\n return (`${moduleName}.${className}.${funcName}() expected the ` +\n `'${paramName}' parameter to expose a '${expectedMethod}' method.`);\n },\n 'add-to-cache-list-unexpected-type': ({ entry }) => {\n return (`An unexpected entry was passed to ` +\n `'workbox-precaching.PrecacheController.addToCacheList()' The entry ` +\n `'${JSON.stringify(entry)}' isn't supported. You must supply an array of ` +\n `strings with one or more characters, objects with a url property or ` +\n `Request objects.`);\n },\n 'add-to-cache-list-conflicting-entries': ({ firstEntry, secondEntry }) => {\n if (!firstEntry || !secondEntry) {\n throw new Error(`Unexpected input to ` + `'add-to-cache-list-duplicate-entries' error.`);\n }\n return (`Two of the entries passed to ` +\n `'workbox-precaching.PrecacheController.addToCacheList()' had the URL ` +\n `${firstEntry} but different revision details. Workbox is ` +\n `unable to cache and version the asset correctly. Please remove one ` +\n `of the entries.`);\n },\n 'plugin-error-request-will-fetch': ({ thrownErrorMessage }) => {\n if (!thrownErrorMessage) {\n throw new Error(`Unexpected input to ` + `'plugin-error-request-will-fetch', error.`);\n }\n return (`An error was thrown by a plugins 'requestWillFetch()' method. ` +\n `The thrown error message was: '${thrownErrorMessage}'.`);\n },\n 'invalid-cache-name': ({ cacheNameId, value }) => {\n if (!cacheNameId) {\n throw new Error(`Expected a 'cacheNameId' for error 'invalid-cache-name'`);\n }\n return (`You must provide a name containing at least one character for ` +\n `setCacheDetails({${cacheNameId}: '...'}). Received a value of ` +\n `'${JSON.stringify(value)}'`);\n },\n 'unregister-route-but-not-found-with-method': ({ method }) => {\n if (!method) {\n throw new Error(`Unexpected input to ` +\n `'unregister-route-but-not-found-with-method' error.`);\n }\n return (`The route you're trying to unregister was not previously ` +\n `registered for the method type '${method}'.`);\n },\n 'unregister-route-route-not-registered': () => {\n return (`The route you're trying to unregister was not previously ` +\n `registered.`);\n },\n 'queue-replay-failed': ({ name }) => {\n return `Replaying the background sync queue '${name}' failed.`;\n },\n 'duplicate-queue-name': ({ name }) => {\n return (`The Queue name '${name}' is already being used. ` +\n `All instances of backgroundSync.Queue must be given unique names.`);\n },\n 'expired-test-without-max-age': ({ methodName, paramName }) => {\n return (`The '${methodName}()' method can only be used when the ` +\n `'${paramName}' is used in the constructor.`);\n },\n 'unsupported-route-type': ({ moduleName, className, funcName, paramName }) => {\n return (`The supplied '${paramName}' parameter was an unsupported type. ` +\n `Please check the docs for ${moduleName}.${className}.${funcName} for ` +\n `valid input types.`);\n },\n 'not-array-of-class': ({ value, expectedClass, moduleName, className, funcName, paramName, }) => {\n return (`The supplied '${paramName}' parameter must be an array of ` +\n `'${expectedClass}' objects. Received '${JSON.stringify(value)},'. ` +\n `Please check the call to ${moduleName}.${className}.${funcName}() ` +\n `to fix the issue.`);\n },\n 'max-entries-or-age-required': ({ moduleName, className, funcName }) => {\n return (`You must define either config.maxEntries or config.maxAgeSeconds` +\n `in ${moduleName}.${className}.${funcName}`);\n },\n 'statuses-or-headers-required': ({ moduleName, className, funcName }) => {\n return (`You must define either config.statuses or config.headers` +\n `in ${moduleName}.${className}.${funcName}`);\n },\n 'invalid-string': ({ moduleName, funcName, paramName }) => {\n if (!paramName || !moduleName || !funcName) {\n throw new Error(`Unexpected input to 'invalid-string' error.`);\n }\n return (`When using strings, the '${paramName}' parameter must start with ` +\n `'http' (for cross-origin matches) or '/' (for same-origin matches). ` +\n `Please see the docs for ${moduleName}.${funcName}() for ` +\n `more info.`);\n },\n 'channel-name-required': () => {\n return (`You must provide a channelName to construct a ` +\n `BroadcastCacheUpdate instance.`);\n },\n 'invalid-responses-are-same-args': () => {\n return (`The arguments passed into responsesAreSame() appear to be ` +\n `invalid. Please ensure valid Responses are used.`);\n },\n 'expire-custom-caches-only': () => {\n return (`You must provide a 'cacheName' property when using the ` +\n `expiration plugin with a runtime caching strategy.`);\n },\n 'unit-must-be-bytes': ({ normalizedRangeHeader }) => {\n if (!normalizedRangeHeader) {\n throw new Error(`Unexpected input to 'unit-must-be-bytes' error.`);\n }\n return (`The 'unit' portion of the Range header must be set to 'bytes'. ` +\n `The Range header provided was \"${normalizedRangeHeader}\"`);\n },\n 'single-range-only': ({ normalizedRangeHeader }) => {\n if (!normalizedRangeHeader) {\n throw new Error(`Unexpected input to 'single-range-only' error.`);\n }\n return (`Multiple ranges are not supported. Please use a single start ` +\n `value, and optional end value. The Range header provided was ` +\n `\"${normalizedRangeHeader}\"`);\n },\n 'invalid-range-values': ({ normalizedRangeHeader }) => {\n if (!normalizedRangeHeader) {\n throw new Error(`Unexpected input to 'invalid-range-values' error.`);\n }\n return (`The Range header is missing both start and end values. At least ` +\n `one of those values is needed. The Range header provided was ` +\n `\"${normalizedRangeHeader}\"`);\n },\n 'no-range-header': () => {\n return `No Range header was found in the Request provided.`;\n },\n 'range-not-satisfiable': ({ size, start, end }) => {\n return (`The start (${start}) and end (${end}) values in the Range are ` +\n `not satisfiable by the cached response, which is ${size} bytes.`);\n },\n 'attempt-to-cache-non-get-request': ({ url, method }) => {\n return (`Unable to cache '${url}' because it is a '${method}' request and ` +\n `only 'GET' requests can be cached.`);\n },\n 'cache-put-with-no-response': ({ url }) => {\n return (`There was an attempt to cache '${url}' but the response was not ` +\n `defined.`);\n },\n 'no-response': ({ url, error }) => {\n let message = `The strategy could not generate a response for '${url}'.`;\n if (error) {\n message += ` The underlying error is ${error}.`;\n }\n return message;\n },\n 'bad-precaching-response': ({ url, status }) => {\n return (`The precaching request for '${url}' failed` +\n (status ? ` with an HTTP status of ${status}.` : `.`));\n },\n 'non-precached-url': ({ url }) => {\n return (`createHandlerBoundToURL('${url}') was called, but that URL is ` +\n `not precached. Please pass in a URL that is precached instead.`);\n },\n 'add-to-cache-list-conflicting-integrities': ({ url }) => {\n return (`Two of the entries passed to ` +\n `'workbox-precaching.PrecacheController.addToCacheList()' had the URL ` +\n `${url} with different integrity values. Please remove one of them.`);\n },\n 'missing-precache-entry': ({ cacheName, url }) => {\n return `Unable to find a precached response in ${cacheName} for ${url}.`;\n },\n 'cross-origin-copy-response': ({ origin }) => {\n return (`workbox-core.copyResponse() can only be used with same-origin ` +\n `responses. It was passed a response with origin ${origin}.`);\n },\n 'opaque-streams-source': ({ type }) => {\n const message = `One of the workbox-streams sources resulted in an ` +\n `'${type}' response.`;\n if (type === 'opaqueredirect') {\n return (`${message} Please do not use a navigation request that results ` +\n `in a redirect as a source.`);\n }\n return `${message} Please ensure your sources are CORS-enabled.`;\n },\n};\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { messages } from './messages.js';\nimport '../../_version.js';\nconst fallback = (code, ...args) => {\n let msg = code;\n if (args.length > 0) {\n msg += ` :: ${JSON.stringify(args)}`;\n }\n return msg;\n};\nconst generatorFunction = (code, details = {}) => {\n const message = messages[code];\n if (!message) {\n throw new Error(`Unable to find message for code '${code}'.`);\n }\n return message(details);\n};\nexport const messageGenerator = process.env.NODE_ENV === 'production' ? fallback : generatorFunction;\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { messageGenerator } from '../models/messages/messageGenerator.js';\nimport '../_version.js';\n/**\n * Workbox errors should be thrown with this class.\n * This allows use to ensure the type easily in tests,\n * helps developers identify errors from workbox\n * easily and allows use to optimise error\n * messages correctly.\n *\n * @private\n */\nclass WorkboxError extends Error {\n /**\n *\n * @param {string} errorCode The error code that\n * identifies this particular error.\n * @param {Object=} details Any relevant arguments\n * that will help developers identify issues should\n * be added as a key on the context object.\n */\n constructor(errorCode, details) {\n const message = messageGenerator(errorCode, details);\n super(message);\n this.name = errorCode;\n this.details = details;\n }\n}\nexport { WorkboxError };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { WorkboxError } from '../_private/WorkboxError.js';\nimport '../_version.js';\n/*\n * This method throws if the supplied value is not an array.\n * The destructed values are required to produce a meaningful error for users.\n * The destructed and restructured object is so it's clear what is\n * needed.\n */\nconst isArray = (value, details) => {\n if (!Array.isArray(value)) {\n throw new WorkboxError('not-an-array', details);\n }\n};\nconst hasMethod = (object, expectedMethod, details) => {\n const type = typeof object[expectedMethod];\n if (type !== 'function') {\n details['expectedMethod'] = expectedMethod;\n throw new WorkboxError('missing-a-method', details);\n }\n};\nconst isType = (object, expectedType, details) => {\n if (typeof object !== expectedType) {\n details['expectedType'] = expectedType;\n throw new WorkboxError('incorrect-type', details);\n }\n};\nconst isInstance = (object, \n// Need the general type to do the check later.\n// eslint-disable-next-line @typescript-eslint/ban-types\nexpectedClass, details) => {\n if (!(object instanceof expectedClass)) {\n details['expectedClassName'] = expectedClass.name;\n throw new WorkboxError('incorrect-class', details);\n }\n};\nconst isOneOf = (value, validValues, details) => {\n if (!validValues.includes(value)) {\n details['validValueDescription'] = `Valid values are ${JSON.stringify(validValues)}.`;\n throw new WorkboxError('invalid-value', details);\n }\n};\nconst isArrayOfClass = (value, \n// Need general type to do check later.\nexpectedClass, // eslint-disable-line\ndetails) => {\n const error = new WorkboxError('not-array-of-class', details);\n if (!Array.isArray(value)) {\n throw error;\n }\n for (const item of value) {\n if (!(item instanceof expectedClass)) {\n throw error;\n }\n }\n};\nconst finalAssertExports = process.env.NODE_ENV === 'production'\n ? null\n : {\n hasMethod,\n isArray,\n isInstance,\n isOneOf,\n isType,\n isArrayOfClass,\n };\nexport { finalAssertExports as assert };\n","\"use strict\";\n// @ts-ignore\ntry {\n self['workbox:routing:6.5.4'] && _();\n}\ncatch (e) { }\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * The default HTTP method, 'GET', used when there's no specific method\n * configured for a route.\n *\n * @type {string}\n *\n * @private\n */\nexport const defaultMethod = 'GET';\n/**\n * The list of valid HTTP methods associated with requests that could be routed.\n *\n * @type {Array}\n *\n * @private\n */\nexport const validMethods = [\n 'DELETE',\n 'GET',\n 'HEAD',\n 'PATCH',\n 'POST',\n 'PUT',\n];\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport '../_version.js';\n/**\n * @param {function()|Object} handler Either a function, or an object with a\n * 'handle' method.\n * @return {Object} An object with a handle method.\n *\n * @private\n */\nexport const normalizeHandler = (handler) => {\n if (handler && typeof handler === 'object') {\n if (process.env.NODE_ENV !== 'production') {\n assert.hasMethod(handler, 'handle', {\n moduleName: 'workbox-routing',\n className: 'Route',\n funcName: 'constructor',\n paramName: 'handler',\n });\n }\n return handler;\n }\n else {\n if (process.env.NODE_ENV !== 'production') {\n assert.isType(handler, 'function', {\n moduleName: 'workbox-routing',\n className: 'Route',\n funcName: 'constructor',\n paramName: 'handler',\n });\n }\n return { handle: handler };\n }\n};\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { defaultMethod, validMethods } from './utils/constants.js';\nimport { normalizeHandler } from './utils/normalizeHandler.js';\nimport './_version.js';\n/**\n * A `Route` consists of a pair of callback functions, \"match\" and \"handler\".\n * The \"match\" callback determine if a route should be used to \"handle\" a\n * request by returning a non-falsy value if it can. The \"handler\" callback\n * is called when there is a match and should return a Promise that resolves\n * to a `Response`.\n *\n * @memberof workbox-routing\n */\nclass Route {\n /**\n * Constructor for Route class.\n *\n * @param {workbox-routing~matchCallback} match\n * A callback function that determines whether the route matches a given\n * `fetch` event by returning a non-falsy value.\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resolving to a Response.\n * @param {string} [method='GET'] The HTTP method to match the Route\n * against.\n */\n constructor(match, handler, method = defaultMethod) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isType(match, 'function', {\n moduleName: 'workbox-routing',\n className: 'Route',\n funcName: 'constructor',\n paramName: 'match',\n });\n if (method) {\n assert.isOneOf(method, validMethods, { paramName: 'method' });\n }\n }\n // These values are referenced directly by Router so cannot be\n // altered by minificaton.\n this.handler = normalizeHandler(handler);\n this.match = match;\n this.method = method;\n }\n /**\n *\n * @param {workbox-routing-handlerCallback} handler A callback\n * function that returns a Promise resolving to a Response\n */\n setCatchHandler(handler) {\n this.catchHandler = normalizeHandler(handler);\n }\n}\nexport { Route };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { Route } from './Route.js';\nimport './_version.js';\n/**\n * RegExpRoute makes it easy to create a regular expression based\n * {@link workbox-routing.Route}.\n *\n * For same-origin requests the RegExp only needs to match part of the URL. For\n * requests against third-party servers, you must define a RegExp that matches\n * the start of the URL.\n *\n * @memberof workbox-routing\n * @extends workbox-routing.Route\n */\nclass RegExpRoute extends Route {\n /**\n * If the regular expression contains\n * [capture groups]{@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp#grouping-back-references},\n * the captured values will be passed to the\n * {@link workbox-routing~handlerCallback} `params`\n * argument.\n *\n * @param {RegExp} regExp The regular expression to match against URLs.\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resulting in a Response.\n * @param {string} [method='GET'] The HTTP method to match the Route\n * against.\n */\n constructor(regExp, handler, method) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isInstance(regExp, RegExp, {\n moduleName: 'workbox-routing',\n className: 'RegExpRoute',\n funcName: 'constructor',\n paramName: 'pattern',\n });\n }\n const match = ({ url }) => {\n const result = regExp.exec(url.href);\n // Return immediately if there's no match.\n if (!result) {\n return;\n }\n // Require that the match start at the first character in the URL string\n // if it's a cross-origin request.\n // See https://github.com/GoogleChrome/workbox/issues/281 for the context\n // behind this behavior.\n if (url.origin !== location.origin && result.index !== 0) {\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`The regular expression '${regExp.toString()}' only partially matched ` +\n `against the cross-origin URL '${url.toString()}'. RegExpRoute's will only ` +\n `handle cross-origin requests if they match the entire URL.`);\n }\n return;\n }\n // If the route matches, but there aren't any capture groups defined, then\n // this will return [], which is truthy and therefore sufficient to\n // indicate a match.\n // If there are capture groups, then it will return their values.\n return result.slice(1);\n };\n super(match, handler, method);\n }\n}\nexport { RegExpRoute };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nconst getFriendlyURL = (url) => {\n const urlObj = new URL(String(url), location.href);\n // See https://github.com/GoogleChrome/workbox/issues/2323\n // We want to include everything, except for the origin if it's same-origin.\n return urlObj.href.replace(new RegExp(`^${location.origin}`), '');\n};\nexport { getFriendlyURL };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { defaultMethod } from './utils/constants.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { normalizeHandler } from './utils/normalizeHandler.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport './_version.js';\n/**\n * The Router can be used to process a `FetchEvent` using one or more\n * {@link workbox-routing.Route}, responding with a `Response` if\n * a matching route exists.\n *\n * If no route matches a given a request, the Router will use a \"default\"\n * handler if one is defined.\n *\n * Should the matching Route throw an error, the Router will use a \"catch\"\n * handler if one is defined to gracefully deal with issues and respond with a\n * Request.\n *\n * If a request matches multiple routes, the **earliest** registered route will\n * be used to respond to the request.\n *\n * @memberof workbox-routing\n */\nclass Router {\n /**\n * Initializes a new Router.\n */\n constructor() {\n this._routes = new Map();\n this._defaultHandlerMap = new Map();\n }\n /**\n * @return {Map>} routes A `Map` of HTTP\n * method name ('GET', etc.) to an array of all the corresponding `Route`\n * instances that are registered.\n */\n get routes() {\n return this._routes;\n }\n /**\n * Adds a fetch event listener to respond to events when a route matches\n * the event's request.\n */\n addFetchListener() {\n // See https://github.com/Microsoft/TypeScript/issues/28357#issuecomment-436484705\n self.addEventListener('fetch', ((event) => {\n const { request } = event;\n const responsePromise = this.handleRequest({ request, event });\n if (responsePromise) {\n event.respondWith(responsePromise);\n }\n }));\n }\n /**\n * Adds a message event listener for URLs to cache from the window.\n * This is useful to cache resources loaded on the page prior to when the\n * service worker started controlling it.\n *\n * The format of the message data sent from the window should be as follows.\n * Where the `urlsToCache` array may consist of URL strings or an array of\n * URL string + `requestInit` object (the same as you'd pass to `fetch()`).\n *\n * ```\n * {\n * type: 'CACHE_URLS',\n * payload: {\n * urlsToCache: [\n * './script1.js',\n * './script2.js',\n * ['./script3.js', {mode: 'no-cors'}],\n * ],\n * },\n * }\n * ```\n */\n addCacheListener() {\n // See https://github.com/Microsoft/TypeScript/issues/28357#issuecomment-436484705\n self.addEventListener('message', ((event) => {\n // event.data is type 'any'\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (event.data && event.data.type === 'CACHE_URLS') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const { payload } = event.data;\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Caching URLs from the window`, payload.urlsToCache);\n }\n const requestPromises = Promise.all(payload.urlsToCache.map((entry) => {\n if (typeof entry === 'string') {\n entry = [entry];\n }\n const request = new Request(...entry);\n return this.handleRequest({ request, event });\n // TODO(philipwalton): TypeScript errors without this typecast for\n // some reason (probably a bug). The real type here should work but\n // doesn't: `Array | undefined>`.\n })); // TypeScript\n event.waitUntil(requestPromises);\n // If a MessageChannel was used, reply to the message on success.\n if (event.ports && event.ports[0]) {\n void requestPromises.then(() => event.ports[0].postMessage(true));\n }\n }\n }));\n }\n /**\n * Apply the routing rules to a FetchEvent object to get a Response from an\n * appropriate Route's handler.\n *\n * @param {Object} options\n * @param {Request} options.request The request to handle.\n * @param {ExtendableEvent} options.event The event that triggered the\n * request.\n * @return {Promise|undefined} A promise is returned if a\n * registered route can handle the request. If there is no matching\n * route and there's no `defaultHandler`, `undefined` is returned.\n */\n handleRequest({ request, event, }) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isInstance(request, Request, {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'handleRequest',\n paramName: 'options.request',\n });\n }\n const url = new URL(request.url, location.href);\n if (!url.protocol.startsWith('http')) {\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Workbox Router only supports URLs that start with 'http'.`);\n }\n return;\n }\n const sameOrigin = url.origin === location.origin;\n const { params, route } = this.findMatchingRoute({\n event,\n request,\n sameOrigin,\n url,\n });\n let handler = route && route.handler;\n const debugMessages = [];\n if (process.env.NODE_ENV !== 'production') {\n if (handler) {\n debugMessages.push([`Found a route to handle this request:`, route]);\n if (params) {\n debugMessages.push([\n `Passing the following params to the route's handler:`,\n params,\n ]);\n }\n }\n }\n // If we don't have a handler because there was no matching route, then\n // fall back to defaultHandler if that's defined.\n const method = request.method;\n if (!handler && this._defaultHandlerMap.has(method)) {\n if (process.env.NODE_ENV !== 'production') {\n debugMessages.push(`Failed to find a matching route. Falling ` +\n `back to the default handler for ${method}.`);\n }\n handler = this._defaultHandlerMap.get(method);\n }\n if (!handler) {\n if (process.env.NODE_ENV !== 'production') {\n // No handler so Workbox will do nothing. If logs is set of debug\n // i.e. verbose, we should print out this information.\n logger.debug(`No route found for: ${getFriendlyURL(url)}`);\n }\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // We have a handler, meaning Workbox is going to handle the route.\n // print the routing details to the console.\n logger.groupCollapsed(`Router is responding to: ${getFriendlyURL(url)}`);\n debugMessages.forEach((msg) => {\n if (Array.isArray(msg)) {\n logger.log(...msg);\n }\n else {\n logger.log(msg);\n }\n });\n logger.groupEnd();\n }\n // Wrap in try and catch in case the handle method throws a synchronous\n // error. It should still callback to the catch handler.\n let responsePromise;\n try {\n responsePromise = handler.handle({ url, request, event, params });\n }\n catch (err) {\n responsePromise = Promise.reject(err);\n }\n // Get route's catch handler, if it exists\n const catchHandler = route && route.catchHandler;\n if (responsePromise instanceof Promise &&\n (this._catchHandler || catchHandler)) {\n responsePromise = responsePromise.catch(async (err) => {\n // If there's a route catch handler, process that first\n if (catchHandler) {\n if (process.env.NODE_ENV !== 'production') {\n // Still include URL here as it will be async from the console group\n // and may not make sense without the URL\n logger.groupCollapsed(`Error thrown when responding to: ` +\n ` ${getFriendlyURL(url)}. Falling back to route's Catch Handler.`);\n logger.error(`Error thrown by:`, route);\n logger.error(err);\n logger.groupEnd();\n }\n try {\n return await catchHandler.handle({ url, request, event, params });\n }\n catch (catchErr) {\n if (catchErr instanceof Error) {\n err = catchErr;\n }\n }\n }\n if (this._catchHandler) {\n if (process.env.NODE_ENV !== 'production') {\n // Still include URL here as it will be async from the console group\n // and may not make sense without the URL\n logger.groupCollapsed(`Error thrown when responding to: ` +\n ` ${getFriendlyURL(url)}. Falling back to global Catch Handler.`);\n logger.error(`Error thrown by:`, route);\n logger.error(err);\n logger.groupEnd();\n }\n return this._catchHandler.handle({ url, request, event });\n }\n throw err;\n });\n }\n return responsePromise;\n }\n /**\n * Checks a request and URL (and optionally an event) against the list of\n * registered routes, and if there's a match, returns the corresponding\n * route along with any params generated by the match.\n *\n * @param {Object} options\n * @param {URL} options.url\n * @param {boolean} options.sameOrigin The result of comparing `url.origin`\n * against the current origin.\n * @param {Request} options.request The request to match.\n * @param {Event} options.event The corresponding event.\n * @return {Object} An object with `route` and `params` properties.\n * They are populated if a matching route was found or `undefined`\n * otherwise.\n */\n findMatchingRoute({ url, sameOrigin, request, event, }) {\n const routes = this._routes.get(request.method) || [];\n for (const route of routes) {\n let params;\n // route.match returns type any, not possible to change right now.\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const matchResult = route.match({ url, sameOrigin, request, event });\n if (matchResult) {\n if (process.env.NODE_ENV !== 'production') {\n // Warn developers that using an async matchCallback is almost always\n // not the right thing to do.\n if (matchResult instanceof Promise) {\n logger.warn(`While routing ${getFriendlyURL(url)}, an async ` +\n `matchCallback function was used. Please convert the ` +\n `following route to use a synchronous matchCallback function:`, route);\n }\n }\n // See https://github.com/GoogleChrome/workbox/issues/2079\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n params = matchResult;\n if (Array.isArray(params) && params.length === 0) {\n // Instead of passing an empty array in as params, use undefined.\n params = undefined;\n }\n else if (matchResult.constructor === Object && // eslint-disable-line\n Object.keys(matchResult).length === 0) {\n // Instead of passing an empty object in as params, use undefined.\n params = undefined;\n }\n else if (typeof matchResult === 'boolean') {\n // For the boolean value true (rather than just something truth-y),\n // don't set params.\n // See https://github.com/GoogleChrome/workbox/pull/2134#issuecomment-513924353\n params = undefined;\n }\n // Return early if have a match.\n return { route, params };\n }\n }\n // If no match was found above, return and empty object.\n return {};\n }\n /**\n * Define a default `handler` that's called when no routes explicitly\n * match the incoming request.\n *\n * Each HTTP method ('GET', 'POST', etc.) gets its own default handler.\n *\n * Without a default handler, unmatched requests will go against the\n * network as if there were no service worker present.\n *\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resulting in a Response.\n * @param {string} [method='GET'] The HTTP method to associate with this\n * default handler. Each method has its own default.\n */\n setDefaultHandler(handler, method = defaultMethod) {\n this._defaultHandlerMap.set(method, normalizeHandler(handler));\n }\n /**\n * If a Route throws an error while handling a request, this `handler`\n * will be called and given a chance to provide a response.\n *\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resulting in a Response.\n */\n setCatchHandler(handler) {\n this._catchHandler = normalizeHandler(handler);\n }\n /**\n * Registers a route with the router.\n *\n * @param {workbox-routing.Route} route The route to register.\n */\n registerRoute(route) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isType(route, 'object', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route',\n });\n assert.hasMethod(route, 'match', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route',\n });\n assert.isType(route.handler, 'object', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route',\n });\n assert.hasMethod(route.handler, 'handle', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route.handler',\n });\n assert.isType(route.method, 'string', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route.method',\n });\n }\n if (!this._routes.has(route.method)) {\n this._routes.set(route.method, []);\n }\n // Give precedence to all of the earlier routes by adding this additional\n // route to the end of the array.\n this._routes.get(route.method).push(route);\n }\n /**\n * Unregisters a route with the router.\n *\n * @param {workbox-routing.Route} route The route to unregister.\n */\n unregisterRoute(route) {\n if (!this._routes.has(route.method)) {\n throw new WorkboxError('unregister-route-but-not-found-with-method', {\n method: route.method,\n });\n }\n const routeIndex = this._routes.get(route.method).indexOf(route);\n if (routeIndex > -1) {\n this._routes.get(route.method).splice(routeIndex, 1);\n }\n else {\n throw new WorkboxError('unregister-route-route-not-registered');\n }\n }\n}\nexport { Router };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { Router } from '../Router.js';\nimport '../_version.js';\nlet defaultRouter;\n/**\n * Creates a new, singleton Router instance if one does not exist. If one\n * does already exist, that instance is returned.\n *\n * @private\n * @return {Router}\n */\nexport const getOrCreateDefaultRouter = () => {\n if (!defaultRouter) {\n defaultRouter = new Router();\n // The helpers that use the default Router assume these listeners exist.\n defaultRouter.addFetchListener();\n defaultRouter.addCacheListener();\n }\n return defaultRouter;\n};\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { Route } from './Route.js';\nimport { RegExpRoute } from './RegExpRoute.js';\nimport { getOrCreateDefaultRouter } from './utils/getOrCreateDefaultRouter.js';\nimport './_version.js';\n/**\n * Easily register a RegExp, string, or function with a caching\n * strategy to a singleton Router instance.\n *\n * This method will generate a Route for you if needed and\n * call {@link workbox-routing.Router#registerRoute}.\n *\n * @param {RegExp|string|workbox-routing.Route~matchCallback|workbox-routing.Route} capture\n * If the capture param is a `Route`, all other arguments will be ignored.\n * @param {workbox-routing~handlerCallback} [handler] A callback\n * function that returns a Promise resulting in a Response. This parameter\n * is required if `capture` is not a `Route` object.\n * @param {string} [method='GET'] The HTTP method to match the Route\n * against.\n * @return {workbox-routing.Route} The generated `Route`.\n *\n * @memberof workbox-routing\n */\nfunction registerRoute(capture, handler, method) {\n let route;\n if (typeof capture === 'string') {\n const captureUrl = new URL(capture, location.href);\n if (process.env.NODE_ENV !== 'production') {\n if (!(capture.startsWith('/') || capture.startsWith('http'))) {\n throw new WorkboxError('invalid-string', {\n moduleName: 'workbox-routing',\n funcName: 'registerRoute',\n paramName: 'capture',\n });\n }\n // We want to check if Express-style wildcards are in the pathname only.\n // TODO: Remove this log message in v4.\n const valueToCheck = capture.startsWith('http')\n ? captureUrl.pathname\n : capture;\n // See https://github.com/pillarjs/path-to-regexp#parameters\n const wildcards = '[*:?+]';\n if (new RegExp(`${wildcards}`).exec(valueToCheck)) {\n logger.debug(`The '$capture' parameter contains an Express-style wildcard ` +\n `character (${wildcards}). Strings are now always interpreted as ` +\n `exact matches; use a RegExp for partial or wildcard matches.`);\n }\n }\n const matchCallback = ({ url }) => {\n if (process.env.NODE_ENV !== 'production') {\n if (url.pathname === captureUrl.pathname &&\n url.origin !== captureUrl.origin) {\n logger.debug(`${capture} only partially matches the cross-origin URL ` +\n `${url.toString()}. This route will only handle cross-origin requests ` +\n `if they match the entire URL.`);\n }\n }\n return url.href === captureUrl.href;\n };\n // If `capture` is a string then `handler` and `method` must be present.\n route = new Route(matchCallback, handler, method);\n }\n else if (capture instanceof RegExp) {\n // If `capture` is a `RegExp` then `handler` and `method` must be present.\n route = new RegExpRoute(capture, handler, method);\n }\n else if (typeof capture === 'function') {\n // If `capture` is a function then `handler` and `method` must be present.\n route = new Route(capture, handler, method);\n }\n else if (capture instanceof Route) {\n route = capture;\n }\n else {\n throw new WorkboxError('unsupported-route-type', {\n moduleName: 'workbox-routing',\n funcName: 'registerRoute',\n paramName: 'capture',\n });\n }\n const defaultRouter = getOrCreateDefaultRouter();\n defaultRouter.registerRoute(route);\n return route;\n}\nexport { registerRoute };\n","\"use strict\";\n// @ts-ignore\ntry {\n self['workbox:strategies:6.5.4'] && _();\n}\ncatch (e) { }\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nexport const cacheOkAndOpaquePlugin = {\n /**\n * Returns a valid response (to allow caching) if the status is 200 (OK) or\n * 0 (opaque).\n *\n * @param {Object} options\n * @param {Response} options.response\n * @return {Response|null}\n *\n * @private\n */\n cacheWillUpdate: async ({ response }) => {\n if (response.status === 200 || response.status === 0) {\n return response;\n }\n return null;\n },\n};\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nconst _cacheNameDetails = {\n googleAnalytics: 'googleAnalytics',\n precache: 'precache-v2',\n prefix: 'workbox',\n runtime: 'runtime',\n suffix: typeof registration !== 'undefined' ? registration.scope : '',\n};\nconst _createCacheName = (cacheName) => {\n return [_cacheNameDetails.prefix, cacheName, _cacheNameDetails.suffix]\n .filter((value) => value && value.length > 0)\n .join('-');\n};\nconst eachCacheNameDetail = (fn) => {\n for (const key of Object.keys(_cacheNameDetails)) {\n fn(key);\n }\n};\nexport const cacheNames = {\n updateDetails: (details) => {\n eachCacheNameDetail((key) => {\n if (typeof details[key] === 'string') {\n _cacheNameDetails[key] = details[key];\n }\n });\n },\n getGoogleAnalyticsName: (userCacheName) => {\n return userCacheName || _createCacheName(_cacheNameDetails.googleAnalytics);\n },\n getPrecacheName: (userCacheName) => {\n return userCacheName || _createCacheName(_cacheNameDetails.precache);\n },\n getPrefix: () => {\n return _cacheNameDetails.prefix;\n },\n getRuntimeName: (userCacheName) => {\n return userCacheName || _createCacheName(_cacheNameDetails.runtime);\n },\n getSuffix: () => {\n return _cacheNameDetails.suffix;\n },\n};\n","/*\n Copyright 2020 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nfunction stripParams(fullURL, ignoreParams) {\n const strippedURL = new URL(fullURL);\n for (const param of ignoreParams) {\n strippedURL.searchParams.delete(param);\n }\n return strippedURL.href;\n}\n/**\n * Matches an item in the cache, ignoring specific URL params. This is similar\n * to the `ignoreSearch` option, but it allows you to ignore just specific\n * params (while continuing to match on the others).\n *\n * @private\n * @param {Cache} cache\n * @param {Request} request\n * @param {Object} matchOptions\n * @param {Array} ignoreParams\n * @return {Promise}\n */\nasync function cacheMatchIgnoreParams(cache, request, ignoreParams, matchOptions) {\n const strippedRequestURL = stripParams(request.url, ignoreParams);\n // If the request doesn't include any ignored params, match as normal.\n if (request.url === strippedRequestURL) {\n return cache.match(request, matchOptions);\n }\n // Otherwise, match by comparing keys\n const keysOptions = Object.assign(Object.assign({}, matchOptions), { ignoreSearch: true });\n const cacheKeys = await cache.keys(request, keysOptions);\n for (const cacheKey of cacheKeys) {\n const strippedCacheKeyURL = stripParams(cacheKey.url, ignoreParams);\n if (strippedRequestURL === strippedCacheKeyURL) {\n return cache.match(cacheKey, matchOptions);\n }\n }\n return;\n}\nexport { cacheMatchIgnoreParams };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * The Deferred class composes Promises in a way that allows for them to be\n * resolved or rejected from outside the constructor. In most cases promises\n * should be used directly, but Deferreds can be necessary when the logic to\n * resolve a promise must be separate.\n *\n * @private\n */\nclass Deferred {\n /**\n * Creates a promise and exposes its resolve and reject functions as methods.\n */\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n}\nexport { Deferred };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n// Callbacks to be executed whenever there's a quota error.\n// Can't change Function type right now.\n// eslint-disable-next-line @typescript-eslint/ban-types\nconst quotaErrorCallbacks = new Set();\nexport { quotaErrorCallbacks };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { logger } from '../_private/logger.js';\nimport { quotaErrorCallbacks } from '../models/quotaErrorCallbacks.js';\nimport '../_version.js';\n/**\n * Runs all of the callback functions, one at a time sequentially, in the order\n * in which they were registered.\n *\n * @memberof workbox-core\n * @private\n */\nasync function executeQuotaErrorCallbacks() {\n if (process.env.NODE_ENV !== 'production') {\n logger.log(`About to run ${quotaErrorCallbacks.size} ` +\n `callbacks to clean up caches.`);\n }\n for (const callback of quotaErrorCallbacks) {\n await callback();\n if (process.env.NODE_ENV !== 'production') {\n logger.log(callback, 'is complete.');\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n logger.log('Finished running callbacks.');\n }\n}\nexport { executeQuotaErrorCallbacks };\n","/*\n Copyright 2019 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * Returns a promise that resolves and the passed number of milliseconds.\n * This utility is an async/await-friendly version of `setTimeout`.\n *\n * @param {number} ms\n * @return {Promise}\n * @private\n */\nexport function timeout(ms) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { cacheMatchIgnoreParams } from 'workbox-core/_private/cacheMatchIgnoreParams.js';\nimport { Deferred } from 'workbox-core/_private/Deferred.js';\nimport { executeQuotaErrorCallbacks } from 'workbox-core/_private/executeQuotaErrorCallbacks.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { timeout } from 'workbox-core/_private/timeout.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport './_version.js';\nfunction toRequest(input) {\n return typeof input === 'string' ? new Request(input) : input;\n}\n/**\n * A class created every time a Strategy instance instance calls\n * {@link workbox-strategies.Strategy~handle} or\n * {@link workbox-strategies.Strategy~handleAll} that wraps all fetch and\n * cache actions around plugin callbacks and keeps track of when the strategy\n * is \"done\" (i.e. all added `event.waitUntil()` promises have resolved).\n *\n * @memberof workbox-strategies\n */\nclass StrategyHandler {\n /**\n * Creates a new instance associated with the passed strategy and event\n * that's handling the request.\n *\n * The constructor also initializes the state that will be passed to each of\n * the plugins handling this request.\n *\n * @param {workbox-strategies.Strategy} strategy\n * @param {Object} options\n * @param {Request|string} options.request A request to run this strategy for.\n * @param {ExtendableEvent} options.event The event associated with the\n * request.\n * @param {URL} [options.url]\n * @param {*} [options.params] The return value from the\n * {@link workbox-routing~matchCallback} (if applicable).\n */\n constructor(strategy, options) {\n this._cacheKeys = {};\n /**\n * The request the strategy is performing (passed to the strategy's\n * `handle()` or `handleAll()` method).\n * @name request\n * @instance\n * @type {Request}\n * @memberof workbox-strategies.StrategyHandler\n */\n /**\n * The event associated with this request.\n * @name event\n * @instance\n * @type {ExtendableEvent}\n * @memberof workbox-strategies.StrategyHandler\n */\n /**\n * A `URL` instance of `request.url` (if passed to the strategy's\n * `handle()` or `handleAll()` method).\n * Note: the `url` param will be present if the strategy was invoked\n * from a workbox `Route` object.\n * @name url\n * @instance\n * @type {URL|undefined}\n * @memberof workbox-strategies.StrategyHandler\n */\n /**\n * A `param` value (if passed to the strategy's\n * `handle()` or `handleAll()` method).\n * Note: the `param` param will be present if the strategy was invoked\n * from a workbox `Route` object and the\n * {@link workbox-routing~matchCallback} returned\n * a truthy value (it will be that value).\n * @name params\n * @instance\n * @type {*|undefined}\n * @memberof workbox-strategies.StrategyHandler\n */\n if (process.env.NODE_ENV !== 'production') {\n assert.isInstance(options.event, ExtendableEvent, {\n moduleName: 'workbox-strategies',\n className: 'StrategyHandler',\n funcName: 'constructor',\n paramName: 'options.event',\n });\n }\n Object.assign(this, options);\n this.event = options.event;\n this._strategy = strategy;\n this._handlerDeferred = new Deferred();\n this._extendLifetimePromises = [];\n // Copy the plugins list (since it's mutable on the strategy),\n // so any mutations don't affect this handler instance.\n this._plugins = [...strategy.plugins];\n this._pluginStateMap = new Map();\n for (const plugin of this._plugins) {\n this._pluginStateMap.set(plugin, {});\n }\n this.event.waitUntil(this._handlerDeferred.promise);\n }\n /**\n * Fetches a given request (and invokes any applicable plugin callback\n * methods) using the `fetchOptions` (for non-navigation requests) and\n * `plugins` defined on the `Strategy` object.\n *\n * The following plugin lifecycle methods are invoked when using this method:\n * - `requestWillFetch()`\n * - `fetchDidSucceed()`\n * - `fetchDidFail()`\n *\n * @param {Request|string} input The URL or request to fetch.\n * @return {Promise}\n */\n async fetch(input) {\n const { event } = this;\n let request = toRequest(input);\n if (request.mode === 'navigate' &&\n event instanceof FetchEvent &&\n event.preloadResponse) {\n const possiblePreloadResponse = (await event.preloadResponse);\n if (possiblePreloadResponse) {\n if (process.env.NODE_ENV !== 'production') {\n logger.log(`Using a preloaded navigation response for ` +\n `'${getFriendlyURL(request.url)}'`);\n }\n return possiblePreloadResponse;\n }\n }\n // If there is a fetchDidFail plugin, we need to save a clone of the\n // original request before it's either modified by a requestWillFetch\n // plugin or before the original request's body is consumed via fetch().\n const originalRequest = this.hasCallback('fetchDidFail')\n ? request.clone()\n : null;\n try {\n for (const cb of this.iterateCallbacks('requestWillFetch')) {\n request = await cb({ request: request.clone(), event });\n }\n }\n catch (err) {\n if (err instanceof Error) {\n throw new WorkboxError('plugin-error-request-will-fetch', {\n thrownErrorMessage: err.message,\n });\n }\n }\n // The request can be altered by plugins with `requestWillFetch` making\n // the original request (most likely from a `fetch` event) different\n // from the Request we make. Pass both to `fetchDidFail` to aid debugging.\n const pluginFilteredRequest = request.clone();\n try {\n let fetchResponse;\n // See https://github.com/GoogleChrome/workbox/issues/1796\n fetchResponse = await fetch(request, request.mode === 'navigate' ? undefined : this._strategy.fetchOptions);\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Network request for ` +\n `'${getFriendlyURL(request.url)}' returned a response with ` +\n `status '${fetchResponse.status}'.`);\n }\n for (const callback of this.iterateCallbacks('fetchDidSucceed')) {\n fetchResponse = await callback({\n event,\n request: pluginFilteredRequest,\n response: fetchResponse,\n });\n }\n return fetchResponse;\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n logger.log(`Network request for ` +\n `'${getFriendlyURL(request.url)}' threw an error.`, error);\n }\n // `originalRequest` will only exist if a `fetchDidFail` callback\n // is being used (see above).\n if (originalRequest) {\n await this.runCallbacks('fetchDidFail', {\n error: error,\n event,\n originalRequest: originalRequest.clone(),\n request: pluginFilteredRequest.clone(),\n });\n }\n throw error;\n }\n }\n /**\n * Calls `this.fetch()` and (in the background) runs `this.cachePut()` on\n * the response generated by `this.fetch()`.\n *\n * The call to `this.cachePut()` automatically invokes `this.waitUntil()`,\n * so you do not have to manually call `waitUntil()` on the event.\n *\n * @param {Request|string} input The request or URL to fetch and cache.\n * @return {Promise}\n */\n async fetchAndCachePut(input) {\n const response = await this.fetch(input);\n const responseClone = response.clone();\n void this.waitUntil(this.cachePut(input, responseClone));\n return response;\n }\n /**\n * Matches a request from the cache (and invokes any applicable plugin\n * callback methods) using the `cacheName`, `matchOptions`, and `plugins`\n * defined on the strategy object.\n *\n * The following plugin lifecycle methods are invoked when using this method:\n * - cacheKeyWillByUsed()\n * - cachedResponseWillByUsed()\n *\n * @param {Request|string} key The Request or URL to use as the cache key.\n * @return {Promise} A matching response, if found.\n */\n async cacheMatch(key) {\n const request = toRequest(key);\n let cachedResponse;\n const { cacheName, matchOptions } = this._strategy;\n const effectiveRequest = await this.getCacheKey(request, 'read');\n const multiMatchOptions = Object.assign(Object.assign({}, matchOptions), { cacheName });\n cachedResponse = await caches.match(effectiveRequest, multiMatchOptions);\n if (process.env.NODE_ENV !== 'production') {\n if (cachedResponse) {\n logger.debug(`Found a cached response in '${cacheName}'.`);\n }\n else {\n logger.debug(`No cached response found in '${cacheName}'.`);\n }\n }\n for (const callback of this.iterateCallbacks('cachedResponseWillBeUsed')) {\n cachedResponse =\n (await callback({\n cacheName,\n matchOptions,\n cachedResponse,\n request: effectiveRequest,\n event: this.event,\n })) || undefined;\n }\n return cachedResponse;\n }\n /**\n * Puts a request/response pair in the cache (and invokes any applicable\n * plugin callback methods) using the `cacheName` and `plugins` defined on\n * the strategy object.\n *\n * The following plugin lifecycle methods are invoked when using this method:\n * - cacheKeyWillByUsed()\n * - cacheWillUpdate()\n * - cacheDidUpdate()\n *\n * @param {Request|string} key The request or URL to use as the cache key.\n * @param {Response} response The response to cache.\n * @return {Promise} `false` if a cacheWillUpdate caused the response\n * not be cached, and `true` otherwise.\n */\n async cachePut(key, response) {\n const request = toRequest(key);\n // Run in the next task to avoid blocking other cache reads.\n // https://github.com/w3c/ServiceWorker/issues/1397\n await timeout(0);\n const effectiveRequest = await this.getCacheKey(request, 'write');\n if (process.env.NODE_ENV !== 'production') {\n if (effectiveRequest.method && effectiveRequest.method !== 'GET') {\n throw new WorkboxError('attempt-to-cache-non-get-request', {\n url: getFriendlyURL(effectiveRequest.url),\n method: effectiveRequest.method,\n });\n }\n // See https://github.com/GoogleChrome/workbox/issues/2818\n const vary = response.headers.get('Vary');\n if (vary) {\n logger.debug(`The response for ${getFriendlyURL(effectiveRequest.url)} ` +\n `has a 'Vary: ${vary}' header. ` +\n `Consider setting the {ignoreVary: true} option on your strategy ` +\n `to ensure cache matching and deletion works as expected.`);\n }\n }\n if (!response) {\n if (process.env.NODE_ENV !== 'production') {\n logger.error(`Cannot cache non-existent response for ` +\n `'${getFriendlyURL(effectiveRequest.url)}'.`);\n }\n throw new WorkboxError('cache-put-with-no-response', {\n url: getFriendlyURL(effectiveRequest.url),\n });\n }\n const responseToCache = await this._ensureResponseSafeToCache(response);\n if (!responseToCache) {\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Response '${getFriendlyURL(effectiveRequest.url)}' ` +\n `will not be cached.`, responseToCache);\n }\n return false;\n }\n const { cacheName, matchOptions } = this._strategy;\n const cache = await self.caches.open(cacheName);\n const hasCacheUpdateCallback = this.hasCallback('cacheDidUpdate');\n const oldResponse = hasCacheUpdateCallback\n ? await cacheMatchIgnoreParams(\n // TODO(philipwalton): the `__WB_REVISION__` param is a precaching\n // feature. Consider into ways to only add this behavior if using\n // precaching.\n cache, effectiveRequest.clone(), ['__WB_REVISION__'], matchOptions)\n : null;\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Updating the '${cacheName}' cache with a new Response ` +\n `for ${getFriendlyURL(effectiveRequest.url)}.`);\n }\n try {\n await cache.put(effectiveRequest, hasCacheUpdateCallback ? responseToCache.clone() : responseToCache);\n }\n catch (error) {\n if (error instanceof Error) {\n // See https://developer.mozilla.org/en-US/docs/Web/API/DOMException#exception-QuotaExceededError\n if (error.name === 'QuotaExceededError') {\n await executeQuotaErrorCallbacks();\n }\n throw error;\n }\n }\n for (const callback of this.iterateCallbacks('cacheDidUpdate')) {\n await callback({\n cacheName,\n oldResponse,\n newResponse: responseToCache.clone(),\n request: effectiveRequest,\n event: this.event,\n });\n }\n return true;\n }\n /**\n * Checks the list of plugins for the `cacheKeyWillBeUsed` callback, and\n * executes any of those callbacks found in sequence. The final `Request`\n * object returned by the last plugin is treated as the cache key for cache\n * reads and/or writes. If no `cacheKeyWillBeUsed` plugin callbacks have\n * been registered, the passed request is returned unmodified\n *\n * @param {Request} request\n * @param {string} mode\n * @return {Promise}\n */\n async getCacheKey(request, mode) {\n const key = `${request.url} | ${mode}`;\n if (!this._cacheKeys[key]) {\n let effectiveRequest = request;\n for (const callback of this.iterateCallbacks('cacheKeyWillBeUsed')) {\n effectiveRequest = toRequest(await callback({\n mode,\n request: effectiveRequest,\n event: this.event,\n // params has a type any can't change right now.\n params: this.params, // eslint-disable-line\n }));\n }\n this._cacheKeys[key] = effectiveRequest;\n }\n return this._cacheKeys[key];\n }\n /**\n * Returns true if the strategy has at least one plugin with the given\n * callback.\n *\n * @param {string} name The name of the callback to check for.\n * @return {boolean}\n */\n hasCallback(name) {\n for (const plugin of this._strategy.plugins) {\n if (name in plugin) {\n return true;\n }\n }\n return false;\n }\n /**\n * Runs all plugin callbacks matching the given name, in order, passing the\n * given param object (merged ith the current plugin state) as the only\n * argument.\n *\n * Note: since this method runs all plugins, it's not suitable for cases\n * where the return value of a callback needs to be applied prior to calling\n * the next callback. See\n * {@link workbox-strategies.StrategyHandler#iterateCallbacks}\n * below for how to handle that case.\n *\n * @param {string} name The name of the callback to run within each plugin.\n * @param {Object} param The object to pass as the first (and only) param\n * when executing each callback. This object will be merged with the\n * current plugin state prior to callback execution.\n */\n async runCallbacks(name, param) {\n for (const callback of this.iterateCallbacks(name)) {\n // TODO(philipwalton): not sure why `any` is needed. It seems like\n // this should work with `as WorkboxPluginCallbackParam[C]`.\n await callback(param);\n }\n }\n /**\n * Accepts a callback and returns an iterable of matching plugin callbacks,\n * where each callback is wrapped with the current handler state (i.e. when\n * you call each callback, whatever object parameter you pass it will\n * be merged with the plugin's current state).\n *\n * @param {string} name The name fo the callback to run\n * @return {Array}\n */\n *iterateCallbacks(name) {\n for (const plugin of this._strategy.plugins) {\n if (typeof plugin[name] === 'function') {\n const state = this._pluginStateMap.get(plugin);\n const statefulCallback = (param) => {\n const statefulParam = Object.assign(Object.assign({}, param), { state });\n // TODO(philipwalton): not sure why `any` is needed. It seems like\n // this should work with `as WorkboxPluginCallbackParam[C]`.\n return plugin[name](statefulParam);\n };\n yield statefulCallback;\n }\n }\n }\n /**\n * Adds a promise to the\n * [extend lifetime promises]{@link https://w3c.github.io/ServiceWorker/#extendableevent-extend-lifetime-promises}\n * of the event event associated with the request being handled (usually a\n * `FetchEvent`).\n *\n * Note: you can await\n * {@link workbox-strategies.StrategyHandler~doneWaiting}\n * to know when all added promises have settled.\n *\n * @param {Promise} promise A promise to add to the extend lifetime promises\n * of the event that triggered the request.\n */\n waitUntil(promise) {\n this._extendLifetimePromises.push(promise);\n return promise;\n }\n /**\n * Returns a promise that resolves once all promises passed to\n * {@link workbox-strategies.StrategyHandler~waitUntil}\n * have settled.\n *\n * Note: any work done after `doneWaiting()` settles should be manually\n * passed to an event's `waitUntil()` method (not this handler's\n * `waitUntil()` method), otherwise the service worker thread my be killed\n * prior to your work completing.\n */\n async doneWaiting() {\n let promise;\n while ((promise = this._extendLifetimePromises.shift())) {\n await promise;\n }\n }\n /**\n * Stops running the strategy and immediately resolves any pending\n * `waitUntil()` promises.\n */\n destroy() {\n this._handlerDeferred.resolve(null);\n }\n /**\n * This method will call cacheWillUpdate on the available plugins (or use\n * status === 200) to determine if the Response is safe and valid to cache.\n *\n * @param {Request} options.request\n * @param {Response} options.response\n * @return {Promise}\n *\n * @private\n */\n async _ensureResponseSafeToCache(response) {\n let responseToCache = response;\n let pluginsUsed = false;\n for (const callback of this.iterateCallbacks('cacheWillUpdate')) {\n responseToCache =\n (await callback({\n request: this.request,\n response: responseToCache,\n event: this.event,\n })) || undefined;\n pluginsUsed = true;\n if (!responseToCache) {\n break;\n }\n }\n if (!pluginsUsed) {\n if (responseToCache && responseToCache.status !== 200) {\n responseToCache = undefined;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (responseToCache) {\n if (responseToCache.status !== 200) {\n if (responseToCache.status === 0) {\n logger.warn(`The response for '${this.request.url}' ` +\n `is an opaque response. The caching strategy that you're ` +\n `using will not cache opaque responses by default.`);\n }\n else {\n logger.debug(`The response for '${this.request.url}' ` +\n `returned a status code of '${response.status}' and won't ` +\n `be cached as a result.`);\n }\n }\n }\n }\n }\n return responseToCache;\n }\n}\nexport { StrategyHandler };\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { cacheNames } from 'workbox-core/_private/cacheNames.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { StrategyHandler } from './StrategyHandler.js';\nimport './_version.js';\n/**\n * An abstract base class that all other strategy classes must extend from:\n *\n * @memberof workbox-strategies\n */\nclass Strategy {\n /**\n * Creates a new instance of the strategy and sets all documented option\n * properties as public instance properties.\n *\n * Note: if a custom strategy class extends the base Strategy class and does\n * not need more than these properties, it does not need to define its own\n * constructor.\n *\n * @param {Object} [options]\n * @param {string} [options.cacheName] Cache name to store and retrieve\n * requests. Defaults to the cache names provided by\n * {@link workbox-core.cacheNames}.\n * @param {Array} [options.plugins] [Plugins]{@link https://developers.google.com/web/tools/workbox/guides/using-plugins}\n * to use in conjunction with this caching strategy.\n * @param {Object} [options.fetchOptions] Values passed along to the\n * [`init`](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters)\n * of [non-navigation](https://github.com/GoogleChrome/workbox/issues/1796)\n * `fetch()` requests made by this strategy.\n * @param {Object} [options.matchOptions] The\n * [`CacheQueryOptions`]{@link https://w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions}\n * for any `cache.match()` or `cache.put()` calls made by this strategy.\n */\n constructor(options = {}) {\n /**\n * Cache name to store and retrieve\n * requests. Defaults to the cache names provided by\n * {@link workbox-core.cacheNames}.\n *\n * @type {string}\n */\n this.cacheName = cacheNames.getRuntimeName(options.cacheName);\n /**\n * The list\n * [Plugins]{@link https://developers.google.com/web/tools/workbox/guides/using-plugins}\n * used by this strategy.\n *\n * @type {Array}\n */\n this.plugins = options.plugins || [];\n /**\n * Values passed along to the\n * [`init`]{@link https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters}\n * of all fetch() requests made by this strategy.\n *\n * @type {Object}\n */\n this.fetchOptions = options.fetchOptions;\n /**\n * The\n * [`CacheQueryOptions`]{@link https://w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions}\n * for any `cache.match()` or `cache.put()` calls made by this strategy.\n *\n * @type {Object}\n */\n this.matchOptions = options.matchOptions;\n }\n /**\n * Perform a request strategy and returns a `Promise` that will resolve with\n * a `Response`, invoking all relevant plugin callbacks.\n *\n * When a strategy instance is registered with a Workbox\n * {@link workbox-routing.Route}, this method is automatically\n * called when the route matches.\n *\n * Alternatively, this method can be used in a standalone `FetchEvent`\n * listener by passing it to `event.respondWith()`.\n *\n * @param {FetchEvent|Object} options A `FetchEvent` or an object with the\n * properties listed below.\n * @param {Request|string} options.request A request to run this strategy for.\n * @param {ExtendableEvent} options.event The event associated with the\n * request.\n * @param {URL} [options.url]\n * @param {*} [options.params]\n */\n handle(options) {\n const [responseDone] = this.handleAll(options);\n return responseDone;\n }\n /**\n * Similar to {@link workbox-strategies.Strategy~handle}, but\n * instead of just returning a `Promise` that resolves to a `Response` it\n * it will return an tuple of `[response, done]` promises, where the former\n * (`response`) is equivalent to what `handle()` returns, and the latter is a\n * Promise that will resolve once any promises that were added to\n * `event.waitUntil()` as part of performing the strategy have completed.\n *\n * You can await the `done` promise to ensure any extra work performed by\n * the strategy (usually caching responses) completes successfully.\n *\n * @param {FetchEvent|Object} options A `FetchEvent` or an object with the\n * properties listed below.\n * @param {Request|string} options.request A request to run this strategy for.\n * @param {ExtendableEvent} options.event The event associated with the\n * request.\n * @param {URL} [options.url]\n * @param {*} [options.params]\n * @return {Array} A tuple of [response, done]\n * promises that can be used to determine when the response resolves as\n * well as when the handler has completed all its work.\n */\n handleAll(options) {\n // Allow for flexible options to be passed.\n if (options instanceof FetchEvent) {\n options = {\n event: options,\n request: options.request,\n };\n }\n const event = options.event;\n const request = typeof options.request === 'string'\n ? new Request(options.request)\n : options.request;\n const params = 'params' in options ? options.params : undefined;\n const handler = new StrategyHandler(this, { event, request, params });\n const responseDone = this._getResponse(handler, request, event);\n const handlerDone = this._awaitComplete(responseDone, handler, request, event);\n // Return an array of promises, suitable for use with Promise.all().\n return [responseDone, handlerDone];\n }\n async _getResponse(handler, request, event) {\n await handler.runCallbacks('handlerWillStart', { event, request });\n let response = undefined;\n try {\n response = await this._handle(request, handler);\n // The \"official\" Strategy subclasses all throw this error automatically,\n // but in case a third-party Strategy doesn't, ensure that we have a\n // consistent failure when there's no response or an error response.\n if (!response || response.type === 'error') {\n throw new WorkboxError('no-response', { url: request.url });\n }\n }\n catch (error) {\n if (error instanceof Error) {\n for (const callback of handler.iterateCallbacks('handlerDidError')) {\n response = await callback({ error, event, request });\n if (response) {\n break;\n }\n }\n }\n if (!response) {\n throw error;\n }\n else if (process.env.NODE_ENV !== 'production') {\n logger.log(`While responding to '${getFriendlyURL(request.url)}', ` +\n `an ${error instanceof Error ? error.toString() : ''} error occurred. Using a fallback response provided by ` +\n `a handlerDidError plugin.`);\n }\n }\n for (const callback of handler.iterateCallbacks('handlerWillRespond')) {\n response = await callback({ event, request, response });\n }\n return response;\n }\n async _awaitComplete(responseDone, handler, request, event) {\n let response;\n let error;\n try {\n response = await responseDone;\n }\n catch (error) {\n // Ignore errors, as response errors should be caught via the `response`\n // promise above. The `done` promise will only throw for errors in\n // promises passed to `handler.waitUntil()`.\n }\n try {\n await handler.runCallbacks('handlerDidRespond', {\n event,\n request,\n response,\n });\n await handler.doneWaiting();\n }\n catch (waitUntilError) {\n if (waitUntilError instanceof Error) {\n error = waitUntilError;\n }\n }\n await handler.runCallbacks('handlerDidComplete', {\n event,\n request,\n response,\n error: error,\n });\n handler.destroy();\n if (error) {\n throw error;\n }\n }\n}\nexport { Strategy };\n/**\n * Classes extending the `Strategy` based class should implement this method,\n * and leverage the {@link workbox-strategies.StrategyHandler}\n * arg to perform all fetching and cache logic, which will ensure all relevant\n * cache, cache options, fetch options and plugins are used (per the current\n * strategy instance).\n *\n * @name _handle\n * @instance\n * @abstract\n * @function\n * @param {Request} request\n * @param {workbox-strategies.StrategyHandler} handler\n * @return {Promise}\n *\n * @memberof workbox-strategies.Strategy\n */\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport '../_version.js';\nexport const messages = {\n strategyStart: (strategyName, request) => `Using ${strategyName} to respond to '${getFriendlyURL(request.url)}'`,\n printFinalResponse: (response) => {\n if (response) {\n logger.groupCollapsed(`View the final response here.`);\n logger.log(response || '[No response returned]');\n logger.groupEnd();\n }\n },\n};\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { cacheOkAndOpaquePlugin } from './plugins/cacheOkAndOpaquePlugin.js';\nimport { Strategy } from './Strategy.js';\nimport { messages } from './utils/messages.js';\nimport './_version.js';\n/**\n * An implementation of a\n * [network first](https://developer.chrome.com/docs/workbox/caching-strategies-overview/#network-first-falling-back-to-cache)\n * request strategy.\n *\n * By default, this strategy will cache responses with a 200 status code as\n * well as [opaque responses](https://developer.chrome.com/docs/workbox/caching-resources-during-runtime/#opaque-responses).\n * Opaque responses are are cross-origin requests where the response doesn't\n * support [CORS](https://enable-cors.org/).\n *\n * If the network request fails, and there is no cache match, this will throw\n * a `WorkboxError` exception.\n *\n * @extends workbox-strategies.Strategy\n * @memberof workbox-strategies\n */\nclass NetworkFirst extends Strategy {\n /**\n * @param {Object} [options]\n * @param {string} [options.cacheName] Cache name to store and retrieve\n * requests. Defaults to cache names provided by\n * {@link workbox-core.cacheNames}.\n * @param {Array} [options.plugins] [Plugins]{@link https://developers.google.com/web/tools/workbox/guides/using-plugins}\n * to use in conjunction with this caching strategy.\n * @param {Object} [options.fetchOptions] Values passed along to the\n * [`init`](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters)\n * of [non-navigation](https://github.com/GoogleChrome/workbox/issues/1796)\n * `fetch()` requests made by this strategy.\n * @param {Object} [options.matchOptions] [`CacheQueryOptions`](https://w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions)\n * @param {number} [options.networkTimeoutSeconds] If set, any network requests\n * that fail to respond within the timeout will fallback to the cache.\n *\n * This option can be used to combat\n * \"[lie-fi]{@link https://developers.google.com/web/fundamentals/performance/poor-connectivity/#lie-fi}\"\n * scenarios.\n */\n constructor(options = {}) {\n super(options);\n // If this instance contains no plugins with a 'cacheWillUpdate' callback,\n // prepend the `cacheOkAndOpaquePlugin` plugin to the plugins list.\n if (!this.plugins.some((p) => 'cacheWillUpdate' in p)) {\n this.plugins.unshift(cacheOkAndOpaquePlugin);\n }\n this._networkTimeoutSeconds = options.networkTimeoutSeconds || 0;\n if (process.env.NODE_ENV !== 'production') {\n if (this._networkTimeoutSeconds) {\n assert.isType(this._networkTimeoutSeconds, 'number', {\n moduleName: 'workbox-strategies',\n className: this.constructor.name,\n funcName: 'constructor',\n paramName: 'networkTimeoutSeconds',\n });\n }\n }\n }\n /**\n * @private\n * @param {Request|string} request A request to run this strategy for.\n * @param {workbox-strategies.StrategyHandler} handler The event that\n * triggered the request.\n * @return {Promise}\n */\n async _handle(request, handler) {\n const logs = [];\n if (process.env.NODE_ENV !== 'production') {\n assert.isInstance(request, Request, {\n moduleName: 'workbox-strategies',\n className: this.constructor.name,\n funcName: 'handle',\n paramName: 'makeRequest',\n });\n }\n const promises = [];\n let timeoutId;\n if (this._networkTimeoutSeconds) {\n const { id, promise } = this._getTimeoutPromise({ request, logs, handler });\n timeoutId = id;\n promises.push(promise);\n }\n const networkPromise = this._getNetworkPromise({\n timeoutId,\n request,\n logs,\n handler,\n });\n promises.push(networkPromise);\n const response = await handler.waitUntil((async () => {\n // Promise.race() will resolve as soon as the first promise resolves.\n return ((await handler.waitUntil(Promise.race(promises))) ||\n // If Promise.race() resolved with null, it might be due to a network\n // timeout + a cache miss. If that were to happen, we'd rather wait until\n // the networkPromise resolves instead of returning null.\n // Note that it's fine to await an already-resolved promise, so we don't\n // have to check to see if it's still \"in flight\".\n (await networkPromise));\n })());\n if (process.env.NODE_ENV !== 'production') {\n logger.groupCollapsed(messages.strategyStart(this.constructor.name, request));\n for (const log of logs) {\n logger.log(log);\n }\n messages.printFinalResponse(response);\n logger.groupEnd();\n }\n if (!response) {\n throw new WorkboxError('no-response', { url: request.url });\n }\n return response;\n }\n /**\n * @param {Object} options\n * @param {Request} options.request\n * @param {Array} options.logs A reference to the logs array\n * @param {Event} options.event\n * @return {Promise}\n *\n * @private\n */\n _getTimeoutPromise({ request, logs, handler, }) {\n let timeoutId;\n const timeoutPromise = new Promise((resolve) => {\n const onNetworkTimeout = async () => {\n if (process.env.NODE_ENV !== 'production') {\n logs.push(`Timing out the network response at ` +\n `${this._networkTimeoutSeconds} seconds.`);\n }\n resolve(await handler.cacheMatch(request));\n };\n timeoutId = setTimeout(onNetworkTimeout, this._networkTimeoutSeconds * 1000);\n });\n return {\n promise: timeoutPromise,\n id: timeoutId,\n };\n }\n /**\n * @param {Object} options\n * @param {number|undefined} options.timeoutId\n * @param {Request} options.request\n * @param {Array} options.logs A reference to the logs Array.\n * @param {Event} options.event\n * @return {Promise}\n *\n * @private\n */\n async _getNetworkPromise({ timeoutId, request, logs, handler, }) {\n let error;\n let response;\n try {\n response = await handler.fetchAndCachePut(request);\n }\n catch (fetchError) {\n if (fetchError instanceof Error) {\n error = fetchError;\n }\n }\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n if (process.env.NODE_ENV !== 'production') {\n if (response) {\n logs.push(`Got response from network.`);\n }\n else {\n logs.push(`Unable to get a response from the network. Will respond ` +\n `with a cached response.`);\n }\n }\n if (error || !response) {\n response = await handler.cacheMatch(request);\n if (process.env.NODE_ENV !== 'production') {\n if (response) {\n logs.push(`Found a cached response in the '${this.cacheName}'` + ` cache.`);\n }\n else {\n logs.push(`No response found in the '${this.cacheName}' cache.`);\n }\n }\n }\n return response;\n }\n}\nexport { NetworkFirst };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { timeout } from 'workbox-core/_private/timeout.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { Strategy } from './Strategy.js';\nimport { messages } from './utils/messages.js';\nimport './_version.js';\n/**\n * An implementation of a\n * [network-only](https://developer.chrome.com/docs/workbox/caching-strategies-overview/#network-only)\n * request strategy.\n *\n * This class is useful if you want to take advantage of any\n * [Workbox plugins](https://developer.chrome.com/docs/workbox/using-plugins/).\n *\n * If the network request fails, this will throw a `WorkboxError` exception.\n *\n * @extends workbox-strategies.Strategy\n * @memberof workbox-strategies\n */\nclass NetworkOnly extends Strategy {\n /**\n * @param {Object} [options]\n * @param {Array} [options.plugins] [Plugins]{@link https://developers.google.com/web/tools/workbox/guides/using-plugins}\n * to use in conjunction with this caching strategy.\n * @param {Object} [options.fetchOptions] Values passed along to the\n * [`init`](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters)\n * of [non-navigation](https://github.com/GoogleChrome/workbox/issues/1796)\n * `fetch()` requests made by this strategy.\n * @param {number} [options.networkTimeoutSeconds] If set, any network requests\n * that fail to respond within the timeout will result in a network error.\n */\n constructor(options = {}) {\n super(options);\n this._networkTimeoutSeconds = options.networkTimeoutSeconds || 0;\n }\n /**\n * @private\n * @param {Request|string} request A request to run this strategy for.\n * @param {workbox-strategies.StrategyHandler} handler The event that\n * triggered the request.\n * @return {Promise}\n */\n async _handle(request, handler) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isInstance(request, Request, {\n moduleName: 'workbox-strategies',\n className: this.constructor.name,\n funcName: '_handle',\n paramName: 'request',\n });\n }\n let error = undefined;\n let response;\n try {\n const promises = [\n handler.fetch(request),\n ];\n if (this._networkTimeoutSeconds) {\n const timeoutPromise = timeout(this._networkTimeoutSeconds * 1000);\n promises.push(timeoutPromise);\n }\n response = await Promise.race(promises);\n if (!response) {\n throw new Error(`Timed out the network response after ` +\n `${this._networkTimeoutSeconds} seconds.`);\n }\n }\n catch (err) {\n if (err instanceof Error) {\n error = err;\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n logger.groupCollapsed(messages.strategyStart(this.constructor.name, request));\n if (response) {\n logger.log(`Got response from network.`);\n }\n else {\n logger.log(`Unable to get a response from the network.`);\n }\n messages.printFinalResponse(response);\n logger.groupEnd();\n }\n if (!response) {\n throw new WorkboxError('no-response', { url: request.url, error });\n }\n return response;\n }\n}\nexport { NetworkOnly };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport './_version.js';\n/**\n * Claim any currently available clients once the service worker\n * becomes active. This is normally used in conjunction with `skipWaiting()`.\n *\n * @memberof workbox-core\n */\nfunction clientsClaim() {\n self.addEventListener('activate', () => self.clients.claim());\n}\nexport { clientsClaim };\n"],"names":["self","_","e","logger","globalThis","__WB_DISABLE_DEV_LOGS","inGroup","methodToColorMap","debug","log","warn","error","groupCollapsed","groupEnd","print","method","args","test","navigator","userAgent","console","styles","logPrefix","join","api","loggerMethods","Object","keys","key","messages","invalid-value","paramName","validValueDescription","value","Error","JSON","stringify","not-an-array","moduleName","className","funcName","incorrect-type","expectedType","classNameStr","incorrect-class","expectedClassName","isReturnValueProblem","missing-a-method","expectedMethod","add-to-cache-list-unexpected-type","entry","add-to-cache-list-conflicting-entries","firstEntry","secondEntry","plugin-error-request-will-fetch","thrownErrorMessage","invalid-cache-name","cacheNameId","unregister-route-but-not-found-with-method","unregister-route-route-not-registered","queue-replay-failed","name","duplicate-queue-name","expired-test-without-max-age","methodName","unsupported-route-type","not-array-of-class","expectedClass","max-entries-or-age-required","statuses-or-headers-required","invalid-string","channel-name-required","invalid-responses-are-same-args","expire-custom-caches-only","unit-must-be-bytes","normalizedRangeHeader","single-range-only","invalid-range-values","no-range-header","range-not-satisfiable","size","start","end","attempt-to-cache-non-get-request","url","cache-put-with-no-response","no-response","message","bad-precaching-response","status","non-precached-url","add-to-cache-list-conflicting-integrities","missing-precache-entry","cacheName","cross-origin-copy-response","origin","opaque-streams-source","type","generatorFunction","code","details","messageGenerator","WorkboxError","constructor","errorCode","isArray","Array","hasMethod","object","isType","isInstance","isOneOf","validValues","includes","isArrayOfClass","item","finalAssertExports","defaultMethod","validMethods","normalizeHandler","handler","assert","handle","Route","match","setCatchHandler","catchHandler","RegExpRoute","regExp","RegExp","result","exec","href","location","index","toString","slice","getFriendlyURL","urlObj","URL","String","replace","Router","_routes","Map","_defaultHandlerMap","routes","addFetchListener","addEventListener","event","request","responsePromise","handleRequest","respondWith","addCacheListener","data","payload","urlsToCache","requestPromises","Promise","all","map","Request","waitUntil","ports","then","postMessage","protocol","startsWith","sameOrigin","params","route","findMatchingRoute","debugMessages","push","has","get","forEach","msg","err","reject","_catchHandler","catch","catchErr","matchResult","length","undefined","setDefaultHandler","set","registerRoute","unregisterRoute","routeIndex","indexOf","splice","defaultRouter","getOrCreateDefaultRouter","capture","captureUrl","valueToCheck","pathname","wildcards","matchCallback","cacheOkAndOpaquePlugin","cacheWillUpdate","response","_cacheNameDetails","googleAnalytics","precache","prefix","runtime","suffix","registration","scope","_createCacheName","filter","eachCacheNameDetail","fn","cacheNames","updateDetails","getGoogleAnalyticsName","userCacheName","getPrecacheName","getPrefix","getRuntimeName","getSuffix","stripParams","fullURL","ignoreParams","strippedURL","param","searchParams","delete","cacheMatchIgnoreParams","cache","matchOptions","strippedRequestURL","keysOptions","assign","ignoreSearch","cacheKeys","cacheKey","strippedCacheKeyURL","Deferred","promise","resolve","quotaErrorCallbacks","Set","executeQuotaErrorCallbacks","callback","timeout","ms","setTimeout","toRequest","input","StrategyHandler","strategy","options","_cacheKeys","ExtendableEvent","_strategy","_handlerDeferred","_extendLifetimePromises","_plugins","plugins","_pluginStateMap","plugin","fetch","mode","FetchEvent","preloadResponse","possiblePreloadResponse","originalRequest","hasCallback","clone","cb","iterateCallbacks","pluginFilteredRequest","fetchResponse","fetchOptions","runCallbacks","fetchAndCachePut","responseClone","cachePut","cacheMatch","cachedResponse","effectiveRequest","getCacheKey","multiMatchOptions","caches","vary","headers","responseToCache","_ensureResponseSafeToCache","open","hasCacheUpdateCallback","oldResponse","put","newResponse","state","statefulCallback","statefulParam","doneWaiting","shift","destroy","pluginsUsed","Strategy","responseDone","handleAll","_getResponse","handlerDone","_awaitComplete","_handle","waitUntilError","strategyStart","strategyName","printFinalResponse","NetworkFirst","some","p","unshift","_networkTimeoutSeconds","networkTimeoutSeconds","logs","promises","timeoutId","id","_getTimeoutPromise","networkPromise","_getNetworkPromise","race","timeoutPromise","onNetworkTimeout","fetchError","clearTimeout","NetworkOnly","clientsClaim","clients","claim"],"mappings":"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"} \ No newline at end of file From 06d0956445315d85d120aea88994359f1a8ade80 Mon Sep 17 00:00:00 2001 From: Teknosquad5219 Date: Thu, 13 Feb 2025 15:45:06 -0500 Subject: [PATCH 20/33] Prettier fixes --- components/stats/SmallGraph.tsx | 12 +++--------- lib/Layout.ts | 4 ++-- lib/client/StatsMath.ts | 6 +++--- lib/client/useInterval.ts | 2 +- lib/games.ts | 9 +++++---- 5 files changed, 14 insertions(+), 19 deletions(-) diff --git a/components/stats/SmallGraph.tsx b/components/stats/SmallGraph.tsx index a627af53..02bcd9d8 100644 --- a/components/stats/SmallGraph.tsx +++ b/components/stats/SmallGraph.tsx @@ -103,9 +103,7 @@ export default function SmallGraph(props: { }; useEffect(() => { - if ( - !props.selectedReports) - return; + if (!props.selectedReports) return; setDataPoints([]); setCurrentTeam(props.team); @@ -139,13 +137,9 @@ export default function SmallGraph(props: { console.log(e.target.value); setKey(e.target.value); }} - defaultValue={'selected'} + defaultValue={"selected"} > - + {keys.map((key) => (