serwist 10.0.0-preview.1 → 10.0.0-preview.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (265) hide show
  1. package/dist/chunks/{resultingClientExists.js → waitUntil.js} +144 -144
  2. package/dist/index.d.ts +22 -50
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.internal.d.ts +16 -16
  5. package/dist/index.internal.d.ts.map +1 -1
  6. package/dist/index.internal.js +3 -3
  7. package/dist/index.js +1925 -1803
  8. package/dist/lib/{backgroundSync → background-sync}/BackgroundSyncPlugin.d.ts +1 -1
  9. package/dist/lib/background-sync/BackgroundSyncPlugin.d.ts.map +1 -0
  10. package/dist/lib/background-sync/BackgroundSyncQueue.d.ts.map +1 -0
  11. package/dist/lib/background-sync/BackgroundSyncQueueDb.d.ts.map +1 -0
  12. package/dist/lib/background-sync/BackgroundSyncQueueStore.d.ts.map +1 -0
  13. package/dist/lib/{backgroundSync → background-sync}/StorableRequest.d.ts +1 -1
  14. package/dist/lib/background-sync/StorableRequest.d.ts.map +1 -0
  15. package/dist/lib/background-sync/index.d.ts +6 -0
  16. package/dist/lib/background-sync/index.d.ts.map +1 -0
  17. package/dist/lib/{broadcastUpdate → broadcast-update}/BroadcastCacheUpdate.d.ts +1 -1
  18. package/dist/lib/broadcast-update/BroadcastCacheUpdate.d.ts.map +1 -0
  19. package/dist/lib/{broadcastUpdate → broadcast-update}/BroadcastUpdatePlugin.d.ts +1 -1
  20. package/dist/lib/broadcast-update/BroadcastUpdatePlugin.d.ts.map +1 -0
  21. package/dist/lib/broadcast-update/constants.d.ts.map +1 -0
  22. package/dist/lib/broadcast-update/index.d.ts +6 -0
  23. package/dist/lib/broadcast-update/index.d.ts.map +1 -0
  24. package/dist/lib/broadcast-update/responsesAreSame.d.ts.map +1 -0
  25. package/dist/lib/{broadcastUpdate → broadcast-update}/types.d.ts +1 -1
  26. package/dist/lib/broadcast-update/types.d.ts.map +1 -0
  27. package/dist/{cacheNames.d.ts → lib/cache-name.d.ts} +1 -1
  28. package/dist/lib/cache-name.d.ts.map +1 -0
  29. package/dist/lib/cacheable-response/CacheableResponse.d.ts.map +1 -0
  30. package/dist/lib/{cacheableResponse → cacheable-response}/CacheableResponsePlugin.d.ts +1 -1
  31. package/dist/lib/cacheable-response/CacheableResponsePlugin.d.ts.map +1 -0
  32. package/dist/lib/cacheable-response/index.d.ts +4 -0
  33. package/dist/lib/cacheable-response/index.d.ts.map +1 -0
  34. package/dist/{constants.d.ts → lib/constants.d.ts} +1 -1
  35. package/dist/lib/constants.d.ts.map +1 -0
  36. package/dist/lib/core.d.ts +62 -0
  37. package/dist/lib/core.d.ts.map +1 -0
  38. package/dist/lib/expiration/ExpirationPlugin.d.ts +1 -1
  39. package/dist/lib/expiration/ExpirationPlugin.d.ts.map +1 -1
  40. package/dist/lib/expiration/index.d.ts +4 -0
  41. package/dist/lib/expiration/index.d.ts.map +1 -0
  42. package/dist/lib/extension.d.ts +30 -0
  43. package/dist/lib/extension.d.ts.map +1 -0
  44. package/dist/lib/extensions/google-analytics/constants.d.ts.map +1 -0
  45. package/dist/lib/extensions/google-analytics/extension.d.ts +79 -0
  46. package/dist/lib/extensions/google-analytics/extension.d.ts.map +1 -0
  47. package/dist/lib/extensions/google-analytics/index.d.ts +2 -0
  48. package/dist/lib/extensions/google-analytics/index.d.ts.map +1 -0
  49. package/dist/lib/extensions/google-analytics/initialize.d.ts +12 -0
  50. package/dist/lib/extensions/google-analytics/initialize.d.ts.map +1 -0
  51. package/dist/lib/extensions/index.d.ts +14 -0
  52. package/dist/lib/extensions/index.d.ts.map +1 -0
  53. package/dist/{controllers/PrecacheController/PrecacheController.d.ts → lib/extensions/precache/extension.d.ts} +19 -38
  54. package/dist/lib/extensions/precache/extension.d.ts.map +1 -0
  55. package/dist/{controllers/PrecacheController/parsePrecacheOptions.d.ts → lib/extensions/precache/options.d.ts} +6 -5
  56. package/dist/lib/extensions/precache/options.d.ts.map +1 -0
  57. package/dist/{controllers/PrecacheController/PrecacheCacheKeyPlugin.d.ts → lib/extensions/precache/plugin-cache-key.d.ts} +4 -4
  58. package/dist/lib/extensions/precache/plugin-cache-key.d.ts.map +1 -0
  59. package/dist/lib/{precaching/PrecacheFallbackPlugin.d.ts → extensions/precache/plugin-fallback.d.ts} +11 -11
  60. package/dist/lib/extensions/precache/plugin-fallback.d.ts.map +1 -0
  61. package/dist/{controllers/PrecacheController/PrecacheInstallReportPlugin.d.ts → lib/extensions/precache/plugin-install-report.d.ts} +2 -2
  62. package/dist/lib/extensions/precache/plugin-install-report.d.ts.map +1 -0
  63. package/dist/lib/extensions/precache/route.d.ts +42 -0
  64. package/dist/lib/extensions/precache/route.d.ts.map +1 -0
  65. package/dist/{controllers/PrecacheController/PrecacheStrategy.d.ts → lib/extensions/precache/strategy.d.ts} +5 -5
  66. package/dist/lib/extensions/precache/strategy.d.ts.map +1 -0
  67. package/dist/{controllers/RuntimeCacheController.d.ts → lib/extensions/runtime-cache.d.ts} +16 -10
  68. package/dist/lib/extensions/runtime-cache.d.ts.map +1 -0
  69. package/dist/lib/functions/handlers.d.ts +60 -0
  70. package/dist/lib/functions/handlers.d.ts.map +1 -0
  71. package/dist/lib/functions/router.d.ts +60 -0
  72. package/dist/lib/functions/router.d.ts.map +1 -0
  73. package/dist/{navigationPreload.d.ts → lib/navigation-preload.d.ts} +1 -1
  74. package/dist/lib/navigation-preload.d.ts.map +1 -0
  75. package/dist/lib/{rangeRequests → range-requests}/RangeRequestsPlugin.d.ts +1 -1
  76. package/dist/lib/range-requests/RangeRequestsPlugin.d.ts.map +1 -0
  77. package/dist/lib/range-requests/createPartialResponse.d.ts.map +1 -0
  78. package/dist/lib/range-requests/index.d.ts +3 -0
  79. package/dist/lib/range-requests/index.d.ts.map +1 -0
  80. package/dist/lib/range-requests/utils/calculateEffectiveBoundaries.d.ts.map +1 -0
  81. package/dist/lib/range-requests/utils/parseRangeHeader.d.ts.map +1 -0
  82. package/dist/lib/route.d.ts +106 -0
  83. package/dist/lib/route.d.ts.map +1 -0
  84. package/dist/{Serwist.d.ts → lib/serwist.d.ts} +28 -41
  85. package/dist/lib/serwist.d.ts.map +1 -0
  86. package/dist/lib/strategies/NetworkFirst.d.ts.map +1 -1
  87. package/dist/lib/strategies/StaleWhileRevalidate.d.ts.map +1 -1
  88. package/dist/lib/strategies/Strategy.d.ts +1 -1
  89. package/dist/lib/strategies/Strategy.d.ts.map +1 -1
  90. package/dist/lib/strategies/StrategyHandler.d.ts +1 -1
  91. package/dist/lib/strategies/StrategyHandler.d.ts.map +1 -1
  92. package/dist/lib/strategies/index.d.ts +11 -0
  93. package/dist/lib/strategies/index.d.ts.map +1 -0
  94. package/dist/lib/strategies/plugins/cacheOkAndOpaquePlugin.d.ts +1 -1
  95. package/dist/lib/strategies/plugins/cacheOkAndOpaquePlugin.d.ts.map +1 -1
  96. package/dist/{types.d.ts → lib/types.d.ts} +15 -24
  97. package/dist/lib/types.d.ts.map +1 -0
  98. package/dist/{copyResponse.d.ts → lib/utils.d.ts} +22 -1
  99. package/dist/lib/utils.d.ts.map +1 -0
  100. package/dist/models/messages/messageGenerator.d.ts +1 -1
  101. package/dist/models/messages/messageGenerator.d.ts.map +1 -1
  102. package/dist/utils/SerwistError.d.ts +2 -2
  103. package/dist/utils/SerwistError.d.ts.map +1 -1
  104. package/dist/utils/assert.d.ts +1 -1
  105. package/dist/utils/assert.d.ts.map +1 -1
  106. package/dist/utils/cacheNames.d.ts.map +1 -1
  107. package/dist/utils/cleanupOutdatedCaches.d.ts.map +1 -1
  108. package/dist/utils/createCacheKey.d.ts +1 -1
  109. package/dist/utils/createCacheKey.d.ts.map +1 -1
  110. package/dist/utils/deleteOutdatedCaches.d.ts.map +1 -1
  111. package/dist/utils/generateURLVariations.d.ts +1 -1
  112. package/dist/utils/generateURLVariations.d.ts.map +1 -1
  113. package/dist/utils/getFriendlyURL.d.ts.map +1 -1
  114. package/dist/utils/logger.d.ts +1 -1
  115. package/dist/utils/logger.d.ts.map +1 -1
  116. package/dist/utils/normalizeHandler.d.ts +1 -1
  117. package/dist/utils/normalizeHandler.d.ts.map +1 -1
  118. package/dist/utils/parseRoute.d.ts +3 -3
  119. package/dist/utils/parseRoute.d.ts.map +1 -1
  120. package/dist/utils/pluginUtils.d.ts +1 -1
  121. package/dist/utils/pluginUtils.d.ts.map +1 -1
  122. package/dist/utils/printCleanupDetails.d.ts.map +1 -1
  123. package/dist/utils/printInstallDetails.d.ts.map +1 -1
  124. package/dist/utils/removeIgnoredSearchParams.d.ts.map +1 -1
  125. package/dist/utils/waitUntil.d.ts.map +1 -1
  126. package/package.json +30 -6
  127. package/src/index.internal.ts +16 -16
  128. package/src/index.ts +100 -110
  129. package/src/lib/{backgroundSync → background-sync}/BackgroundSyncPlugin.ts +1 -1
  130. package/src/lib/{backgroundSync → background-sync}/BackgroundSyncQueue.ts +7 -7
  131. package/src/lib/{backgroundSync → background-sync}/BackgroundSyncQueueDb.ts +1 -1
  132. package/src/lib/{backgroundSync → background-sync}/BackgroundSyncQueueStore.ts +1 -3
  133. package/src/lib/{backgroundSync → background-sync}/StorableRequest.ts +2 -2
  134. package/src/lib/background-sync/index.ts +5 -0
  135. package/src/lib/{broadcastUpdate → broadcast-update}/BroadcastCacheUpdate.ts +5 -5
  136. package/src/lib/{broadcastUpdate → broadcast-update}/BroadcastUpdatePlugin.ts +1 -1
  137. package/src/lib/broadcast-update/index.ts +5 -0
  138. package/src/lib/{broadcastUpdate → broadcast-update}/responsesAreSame.ts +2 -2
  139. package/src/lib/{broadcastUpdate → broadcast-update}/types.ts +1 -1
  140. package/src/{cacheNames.ts → lib/cache-name.ts} +1 -1
  141. package/src/lib/{cacheableResponse → cacheable-response}/CacheableResponse.ts +4 -4
  142. package/src/lib/{cacheableResponse → cacheable-response}/CacheableResponsePlugin.ts +1 -1
  143. package/src/lib/cacheable-response/index.ts +3 -0
  144. package/src/lib/core.ts +128 -0
  145. package/src/lib/expiration/CacheExpiration.ts +3 -3
  146. package/src/lib/expiration/ExpirationPlugin.ts +9 -10
  147. package/src/lib/expiration/index.ts +3 -0
  148. package/src/lib/extension.ts +37 -0
  149. package/src/lib/{googleAnalytics/initializeGoogleAnalytics.ts → extensions/google-analytics/extension.ts} +43 -49
  150. package/src/lib/extensions/google-analytics/index.ts +0 -0
  151. package/src/lib/extensions/google-analytics/initialize.ts +48 -0
  152. package/src/lib/extensions/index.ts +13 -0
  153. package/src/{controllers/PrecacheController/PrecacheController.ts → lib/extensions/precache/extension.ts} +37 -56
  154. package/src/{controllers/PrecacheController/parsePrecacheOptions.ts → lib/extensions/precache/options.ts} +11 -8
  155. package/src/{controllers/PrecacheController/PrecacheCacheKeyPlugin.ts → lib/extensions/precache/plugin-cache-key.ts} +4 -4
  156. package/src/lib/{precaching/PrecacheFallbackPlugin.ts → extensions/precache/plugin-fallback.ts} +26 -16
  157. package/src/{controllers/PrecacheController/PrecacheInstallReportPlugin.ts → lib/extensions/precache/plugin-install-report.ts} +1 -1
  158. package/src/lib/extensions/precache/route.ts +72 -0
  159. package/src/{controllers/PrecacheController/PrecacheStrategy.ts → lib/extensions/precache/strategy.ts} +11 -11
  160. package/src/{controllers/RuntimeCacheController.ts → lib/extensions/runtime-cache.ts} +24 -17
  161. package/src/lib/functions/handlers.ts +149 -0
  162. package/src/lib/functions/router.ts +314 -0
  163. package/src/{navigationPreload.ts → lib/navigation-preload.ts} +1 -1
  164. package/src/lib/{rangeRequests → range-requests}/RangeRequestsPlugin.ts +1 -1
  165. package/src/lib/{rangeRequests → range-requests}/createPartialResponse.ts +3 -3
  166. package/src/lib/range-requests/index.ts +2 -0
  167. package/src/lib/{rangeRequests → range-requests}/utils/calculateEffectiveBoundaries.ts +2 -2
  168. package/src/lib/{rangeRequests → range-requests}/utils/parseRangeHeader.ts +2 -2
  169. package/src/lib/route.ts +234 -0
  170. package/src/lib/serwist.ts +443 -0
  171. package/src/lib/strategies/CacheFirst.ts +4 -4
  172. package/src/lib/strategies/CacheOnly.ts +3 -3
  173. package/src/lib/strategies/NetworkFirst.ts +6 -6
  174. package/src/lib/strategies/NetworkOnly.ts +5 -5
  175. package/src/lib/strategies/StaleWhileRevalidate.ts +5 -5
  176. package/src/lib/strategies/Strategy.ts +9 -9
  177. package/src/lib/strategies/StrategyHandler.ts +11 -11
  178. package/src/lib/strategies/index.ts +10 -0
  179. package/src/lib/strategies/plugins/cacheOkAndOpaquePlugin.ts +1 -1
  180. package/src/lib/strategies/utils/messages.ts +2 -2
  181. package/src/{types.ts → lib/types.ts} +17 -26
  182. package/src/lib/utils.ts +137 -0
  183. package/src/models/messages/messageGenerator.ts +1 -1
  184. package/src/models/messages/messages.ts +3 -3
  185. package/src/utils/SerwistError.ts +3 -3
  186. package/src/utils/assert.ts +1 -2
  187. package/src/utils/cacheNames.ts +0 -2
  188. package/src/utils/canConstructReadableStream.ts +1 -1
  189. package/src/utils/canConstructResponseFromBodyStream.ts +1 -1
  190. package/src/utils/createCacheKey.ts +1 -2
  191. package/src/utils/executeQuotaErrorCallbacks.ts +1 -1
  192. package/src/utils/generateURLVariations.ts +1 -1
  193. package/src/utils/logger.ts +1 -1
  194. package/src/utils/normalizeHandler.ts +1 -1
  195. package/src/utils/parseRoute.ts +4 -5
  196. package/src/utils/pluginUtils.ts +1 -1
  197. package/src/utils/resultingClientExists.ts +1 -1
  198. package/dist/NavigationRoute.d.ts +0 -56
  199. package/dist/NavigationRoute.d.ts.map +0 -1
  200. package/dist/RegExpRoute.d.ts +0 -24
  201. package/dist/RegExpRoute.d.ts.map +0 -1
  202. package/dist/Route.d.ts +0 -33
  203. package/dist/Route.d.ts.map +0 -1
  204. package/dist/Serwist.d.ts.map +0 -1
  205. package/dist/cacheNames.d.ts.map +0 -1
  206. package/dist/constants.d.ts.map +0 -1
  207. package/dist/controllers/PrecacheController/PrecacheCacheKeyPlugin.d.ts.map +0 -1
  208. package/dist/controllers/PrecacheController/PrecacheController.d.ts.map +0 -1
  209. package/dist/controllers/PrecacheController/PrecacheInstallReportPlugin.d.ts.map +0 -1
  210. package/dist/controllers/PrecacheController/PrecacheRoute.d.ts +0 -15
  211. package/dist/controllers/PrecacheController/PrecacheRoute.d.ts.map +0 -1
  212. package/dist/controllers/PrecacheController/PrecacheStrategy.d.ts.map +0 -1
  213. package/dist/controllers/PrecacheController/parsePrecacheOptions.d.ts.map +0 -1
  214. package/dist/controllers/RuntimeCacheController.d.ts.map +0 -1
  215. package/dist/copyResponse.d.ts.map +0 -1
  216. package/dist/disableDevLogs.d.ts +0 -7
  217. package/dist/disableDevLogs.d.ts.map +0 -1
  218. package/dist/lib/backgroundSync/BackgroundSyncPlugin.d.ts.map +0 -1
  219. package/dist/lib/backgroundSync/BackgroundSyncQueue.d.ts.map +0 -1
  220. package/dist/lib/backgroundSync/BackgroundSyncQueueDb.d.ts.map +0 -1
  221. package/dist/lib/backgroundSync/BackgroundSyncQueueStore.d.ts.map +0 -1
  222. package/dist/lib/backgroundSync/StorableRequest.d.ts.map +0 -1
  223. package/dist/lib/broadcastUpdate/BroadcastCacheUpdate.d.ts.map +0 -1
  224. package/dist/lib/broadcastUpdate/BroadcastUpdatePlugin.d.ts.map +0 -1
  225. package/dist/lib/broadcastUpdate/constants.d.ts.map +0 -1
  226. package/dist/lib/broadcastUpdate/responsesAreSame.d.ts.map +0 -1
  227. package/dist/lib/broadcastUpdate/types.d.ts.map +0 -1
  228. package/dist/lib/cacheableResponse/CacheableResponse.d.ts.map +0 -1
  229. package/dist/lib/cacheableResponse/CacheableResponsePlugin.d.ts.map +0 -1
  230. package/dist/lib/googleAnalytics/constants.d.ts.map +0 -1
  231. package/dist/lib/googleAnalytics/initializeGoogleAnalytics.d.ts +0 -30
  232. package/dist/lib/googleAnalytics/initializeGoogleAnalytics.d.ts.map +0 -1
  233. package/dist/lib/precaching/PrecacheFallbackPlugin.d.ts.map +0 -1
  234. package/dist/lib/rangeRequests/RangeRequestsPlugin.d.ts.map +0 -1
  235. package/dist/lib/rangeRequests/createPartialResponse.d.ts.map +0 -1
  236. package/dist/lib/rangeRequests/utils/calculateEffectiveBoundaries.d.ts.map +0 -1
  237. package/dist/lib/rangeRequests/utils/parseRangeHeader.d.ts.map +0 -1
  238. package/dist/navigationPreload.d.ts.map +0 -1
  239. package/dist/registerQuotaErrorCallback.d.ts +0 -8
  240. package/dist/registerQuotaErrorCallback.d.ts.map +0 -1
  241. package/dist/setCacheNameDetails.d.ts +0 -9
  242. package/dist/setCacheNameDetails.d.ts.map +0 -1
  243. package/dist/types.d.ts.map +0 -1
  244. package/src/NavigationRoute.ts +0 -118
  245. package/src/RegExpRoute.ts +0 -74
  246. package/src/Route.ts +0 -67
  247. package/src/Serwist.ts +0 -762
  248. package/src/controllers/PrecacheController/PrecacheRoute.ts +0 -44
  249. package/src/copyResponse.ts +0 -58
  250. package/src/disableDevLogs.ts +0 -10
  251. package/src/registerQuotaErrorCallback.ts +0 -34
  252. package/src/setCacheNameDetails.ts +0 -53
  253. /package/dist/lib/{backgroundSync → background-sync}/BackgroundSyncQueue.d.ts +0 -0
  254. /package/dist/lib/{backgroundSync → background-sync}/BackgroundSyncQueueDb.d.ts +0 -0
  255. /package/dist/lib/{backgroundSync → background-sync}/BackgroundSyncQueueStore.d.ts +0 -0
  256. /package/dist/lib/{broadcastUpdate → broadcast-update}/constants.d.ts +0 -0
  257. /package/dist/lib/{broadcastUpdate → broadcast-update}/responsesAreSame.d.ts +0 -0
  258. /package/dist/lib/{cacheableResponse → cacheable-response}/CacheableResponse.d.ts +0 -0
  259. /package/dist/lib/{googleAnalytics → extensions/google-analytics}/constants.d.ts +0 -0
  260. /package/dist/lib/{rangeRequests → range-requests}/createPartialResponse.d.ts +0 -0
  261. /package/dist/lib/{rangeRequests → range-requests}/utils/calculateEffectiveBoundaries.d.ts +0 -0
  262. /package/dist/lib/{rangeRequests → range-requests}/utils/parseRangeHeader.d.ts +0 -0
  263. /package/src/lib/{broadcastUpdate → broadcast-update}/constants.ts +0 -0
  264. /package/src/{constants.ts → lib/constants.ts} +0 -0
  265. /package/src/lib/{googleAnalytics → extensions/google-analytics}/constants.ts +0 -0
@@ -1,10 +1,10 @@
1
- import type { Prettify } from "@serwist/utils";
1
+ import type { MaybePromise, Prettify } from "@serwist/utils";
2
+ import type { PrecacheEntry, PrecacheExtensionOptions, PrecacheOptions, PrecacheRouteOptions } from "#lib/extensions/index.js";
2
3
  import type { HTTPMethod } from "./constants.js";
3
- import type { Route } from "./Route.js";
4
- import type { Serwist } from "./Serwist.js";
5
- import type { PrecacheControllerOptions, PrecacheEntry, PrecacheOptions, PrecacheRouteOptions } from "./controllers/PrecacheController/PrecacheController.js";
4
+ import type { Route } from "./route.js";
5
+ import type { Serwist } from "./serwist.js";
6
6
 
7
- export type PromiseOrNot<T> = T | Promise<T>;
7
+ export type { MaybePromise as PromiseOrNot };
8
8
 
9
9
  export interface MapLikeObject {
10
10
  [key: string]: any;
@@ -16,15 +16,6 @@ export interface MapLikeObject {
16
16
  */
17
17
  export type PluginState = MapLikeObject;
18
18
 
19
- /**
20
- * An object with optional lifecycle callback properties for Serwist's operations.
21
- */
22
- export interface Controller {
23
- init?(serwist: Serwist): void;
24
- install?(event: ExtendableEvent, serwist: Serwist): Promise<void>;
25
- activate?(event: ExtendableEvent, serwist: Serwist): Promise<void>;
26
- }
27
-
28
19
  /**
29
20
  * Options passed to a {@linkcode RouteMatchCallback} function.
30
21
  */
@@ -155,7 +146,7 @@ export interface CacheDidUpdateCallbackParam {
155
146
  state?: PluginState;
156
147
  }
157
148
 
158
- export type CacheDidUpdateCallback = (param: CacheDidUpdateCallbackParam) => PromiseOrNot<any>;
149
+ export type CacheDidUpdateCallback = (param: CacheDidUpdateCallbackParam) => MaybePromise<any>;
159
150
 
160
151
  export interface CacheKeyWillBeUsedCallbackParam {
161
152
  mode: string;
@@ -165,7 +156,7 @@ export interface CacheKeyWillBeUsedCallbackParam {
165
156
  state?: PluginState;
166
157
  }
167
158
 
168
- export type CacheKeyWillBeUsedCallback = (param: CacheKeyWillBeUsedCallbackParam) => PromiseOrNot<Request | string>;
159
+ export type CacheKeyWillBeUsedCallback = (param: CacheKeyWillBeUsedCallbackParam) => MaybePromise<Request | string>;
169
160
 
170
161
  export interface CacheWillUpdateCallbackParam {
171
162
  request: Request;
@@ -174,7 +165,7 @@ export interface CacheWillUpdateCallbackParam {
174
165
  state?: PluginState;
175
166
  }
176
167
 
177
- export type CacheWillUpdateCallback = (param: CacheWillUpdateCallbackParam) => PromiseOrNot<any>;
168
+ export type CacheWillUpdateCallback = (param: CacheWillUpdateCallbackParam) => MaybePromise<any>;
178
169
 
179
170
  export interface CachedResponseWillBeUsedCallbackParam {
180
171
  /**
@@ -196,7 +187,7 @@ export interface CachedResponseWillBeUsedCallbackParam {
196
187
  state?: PluginState;
197
188
  }
198
189
 
199
- export type CachedResponseWillBeUsedCallback = (param: CachedResponseWillBeUsedCallbackParam) => PromiseOrNot<any>;
190
+ export type CachedResponseWillBeUsedCallback = (param: CachedResponseWillBeUsedCallbackParam) => MaybePromise<any>;
200
191
 
201
192
  export interface FetchDidFailCallbackParam {
202
193
  error: Error;
@@ -206,7 +197,7 @@ export interface FetchDidFailCallbackParam {
206
197
  state?: PluginState;
207
198
  }
208
199
 
209
- export type FetchDidFailCallback = (param: FetchDidFailCallbackParam) => PromiseOrNot<any>;
200
+ export type FetchDidFailCallback = (param: FetchDidFailCallbackParam) => MaybePromise<any>;
210
201
 
211
202
  export interface FetchDidSucceedCallbackParam {
212
203
  request: Request;
@@ -215,7 +206,7 @@ export interface FetchDidSucceedCallbackParam {
215
206
  state?: PluginState;
216
207
  }
217
208
 
218
- export type FetchDidSucceedCallback = (param: FetchDidSucceedCallbackParam) => PromiseOrNot<Response>;
209
+ export type FetchDidSucceedCallback = (param: FetchDidSucceedCallbackParam) => MaybePromise<Response>;
219
210
 
220
211
  export interface RequestWillFetchCallbackParam {
221
212
  request: Request;
@@ -223,7 +214,7 @@ export interface RequestWillFetchCallbackParam {
223
214
  state?: PluginState;
224
215
  }
225
216
 
226
- export type RequestWillFetchCallback = (param: RequestWillFetchCallbackParam) => PromiseOrNot<Request>;
217
+ export type RequestWillFetchCallback = (param: RequestWillFetchCallbackParam) => MaybePromise<Request>;
227
218
 
228
219
  export interface HandlerWillRespondCallbackParam {
229
220
  request: Request;
@@ -232,7 +223,7 @@ export interface HandlerWillRespondCallbackParam {
232
223
  state?: PluginState;
233
224
  }
234
225
 
235
- export type HandlerWillRespondCallback = (param: HandlerWillRespondCallbackParam) => PromiseOrNot<Response>;
226
+ export type HandlerWillRespondCallback = (param: HandlerWillRespondCallbackParam) => MaybePromise<Response>;
236
227
 
237
228
  export interface HandlerDidErrorCallbackParam {
238
229
  request: Request;
@@ -241,7 +232,7 @@ export interface HandlerDidErrorCallbackParam {
241
232
  state?: PluginState;
242
233
  }
243
234
 
244
- export type HandlerDidErrorCallback = (param: HandlerDidErrorCallbackParam) => PromiseOrNot<Response | undefined>;
235
+ export type HandlerDidErrorCallback = (param: HandlerDidErrorCallbackParam) => MaybePromise<Response | undefined>;
245
236
 
246
237
  export interface HandlerDidRespondCallbackParam {
247
238
  request: Request;
@@ -250,7 +241,7 @@ export interface HandlerDidRespondCallbackParam {
250
241
  state?: PluginState;
251
242
  }
252
243
 
253
- export type HandlerDidRespondCallback = (param: HandlerDidRespondCallbackParam) => PromiseOrNot<any>;
244
+ export type HandlerDidRespondCallback = (param: HandlerDidRespondCallbackParam) => MaybePromise<any>;
254
245
 
255
246
  export interface HandlerDidCompleteCallbackParam {
256
247
  request: Request;
@@ -260,7 +251,7 @@ export interface HandlerDidCompleteCallbackParam {
260
251
  state?: PluginState;
261
252
  }
262
253
 
263
- export type HandlerDidCompleteCallback = (param: HandlerDidCompleteCallbackParam) => PromiseOrNot<any>;
254
+ export type HandlerDidCompleteCallback = (param: HandlerDidCompleteCallbackParam) => MaybePromise<any>;
264
255
 
265
256
  /**
266
257
  * An object with optional lifecycle callback properties for the fetch and
@@ -348,6 +339,6 @@ export type {
348
339
  StrategyPluginCallbackParam as SerwistPluginCallbackParam,
349
340
  PrecacheEntry,
350
341
  PrecacheRouteOptions,
351
- PrecacheControllerOptions,
342
+ PrecacheExtensionOptions,
352
343
  PrecacheOptions,
353
344
  };
@@ -0,0 +1,137 @@
1
+ /*
2
+ Copyright 2019 Google LLC
3
+
4
+ Use of this source code is governed by an MIT-style
5
+ license that can be found in the LICENSE file or at
6
+ https://opensource.org/licenses/MIT.
7
+ */
8
+ import { assert } from "#utils/assert.js";
9
+ import type { PartialCacheNameDetails } from "#utils/cacheNames.js";
10
+ import { cacheNames } from "#utils/cacheNames.js";
11
+ import { canConstructResponseFromBodyStream } from "#utils/canConstructResponseFromBodyStream.js";
12
+ import { logger } from "#utils/logger.js";
13
+ import { SerwistError } from "#utils/SerwistError.js";
14
+ import { quotaErrorCallbacks } from "../models/quotaErrorCallbacks.js";
15
+
16
+ declare const self: ServiceWorkerGlobalScope;
17
+
18
+ /**
19
+ * Disables Serwist's logging in development mode.
20
+ *
21
+ * @see https://serwist.pages.dev/docs/serwist/core/disable-dev-logs
22
+ */
23
+ export const disableDevLogs = (): void => {
24
+ self.__WB_DISABLE_DEV_LOGS = true;
25
+ };
26
+
27
+ /**
28
+ * Modifies the default cache names used by Serwist packages.
29
+ * Cache names are generated as `<prefix>-<Cache Name>-<suffix>`.
30
+ *
31
+ * @param details
32
+ */
33
+ export const setCacheNameDetails = (details: PartialCacheNameDetails): void => {
34
+ if (process.env.NODE_ENV !== "production") {
35
+ for (const key of Object.keys(details)) {
36
+ assert!.isType(details[key], "string", {
37
+ moduleName: "@serwist/core",
38
+ funcName: "setCacheNameDetails",
39
+ paramName: `details.${key}`,
40
+ });
41
+ }
42
+
43
+ if (details.precache?.length === 0) {
44
+ throw new SerwistError("invalid-cache-name", {
45
+ cacheNameId: "precache",
46
+ value: details.precache,
47
+ });
48
+ }
49
+
50
+ if (details.runtime?.length === 0) {
51
+ throw new SerwistError("invalid-cache-name", {
52
+ cacheNameId: "runtime",
53
+ value: details.runtime,
54
+ });
55
+ }
56
+
57
+ if (details.googleAnalytics?.length === 0) {
58
+ throw new SerwistError("invalid-cache-name", {
59
+ cacheNameId: "googleAnalytics",
60
+ value: details.googleAnalytics,
61
+ });
62
+ }
63
+ }
64
+
65
+ cacheNames.updateDetails(details);
66
+ };
67
+
68
+ /**
69
+ * Adds a function to the set of quotaErrorCallbacks that will be executed if
70
+ * there's a quota error.
71
+ *
72
+ * @param callback
73
+ */
74
+ // biome-ignore lint/complexity/noBannedTypes: Can't change Function type
75
+ export const registerQuotaErrorCallback = (callback: Function): void => {
76
+ if (process.env.NODE_ENV !== "production") {
77
+ assert!.isType(callback, "function", {
78
+ moduleName: "@serwist/core",
79
+ funcName: "register",
80
+ paramName: "callback",
81
+ });
82
+ }
83
+
84
+ quotaErrorCallbacks.add(callback);
85
+
86
+ if (process.env.NODE_ENV !== "production") {
87
+ logger.log("Registered a callback to respond to quota errors.", callback);
88
+ }
89
+ };
90
+
91
+ /**
92
+ * Allows developers to copy a response and modify its `headers`, `status`,
93
+ * or `statusText` values (the [valid options](https://developer.mozilla.org/en-US/docs/Web/API/Response/Response#options)
94
+ * when constructing a `Response` object).
95
+ * To modify these values, pass a function as the second argument. That
96
+ * function will be invoked with the options of the initial `Response` object.
97
+ * The return value of this function will be used as the options for the new `Response` object.
98
+ * To change the values either modify the passed parameter(s) and return it or return a totally
99
+ * new object.
100
+ *
101
+ * This method is intentionally limited to same-origin responses, regardless of
102
+ * whether CORS was used or not.
103
+ *
104
+ * @param response The initial response.
105
+ * @param modifier The function used to modify the options of the `Response` object.
106
+ */
107
+ export const copyResponse = async (response: Response, modifier?: (responseInit: ResponseInit) => ResponseInit): Promise<Response> => {
108
+ let origin = null;
109
+ // If response.url isn't set, assume it's cross-origin and keep origin null.
110
+ if (response.url) {
111
+ const responseURL = new URL(response.url);
112
+ origin = responseURL.origin;
113
+ }
114
+
115
+ if (origin !== self.location.origin) {
116
+ throw new SerwistError("cross-origin-copy-response", { origin });
117
+ }
118
+
119
+ const clonedResponse = response.clone();
120
+
121
+ // Create a fresh `ResponseInit` object by cloning the headers.
122
+ const responseInit: ResponseInit = {
123
+ headers: new Headers(clonedResponse.headers),
124
+ status: clonedResponse.status,
125
+ statusText: clonedResponse.statusText,
126
+ };
127
+
128
+ // Apply any user modifications.
129
+ const modifiedResponseInit = modifier ? modifier(responseInit) : responseInit;
130
+
131
+ // Create the new response from the body stream and `ResponseInit`
132
+ // modifications. Note: not all browsers support the Response.body stream,
133
+ // so fall back to reading the entire body into memory as a blob.
134
+ const body = canConstructResponseFromBodyStream() ? clonedResponse.body : await clonedResponse.blob();
135
+
136
+ return new Response(body, modifiedResponseInit);
137
+ };
@@ -6,7 +6,7 @@
6
6
  https://opensource.org/licenses/MIT.
7
7
  */
8
8
 
9
- import type { MapLikeObject } from "../../types.js";
9
+ import type { MapLikeObject } from "#lib/types.js";
10
10
  import { type MessageKey, messages } from "./messages.js";
11
11
 
12
12
  const fallback = (code: string, ...args: any[]) => {
@@ -64,7 +64,7 @@ export const messages = {
64
64
  },
65
65
 
66
66
  "add-to-cache-list-unexpected-type": ({ entry }) => {
67
- return `An unexpected entry was passed to 'serwist.Serwist.addToPrecacheList()' The entry '${JSON.stringify(
67
+ return `An unexpected entry was passed to 'serwist.Serwist.precache.addToCacheList()' The entry '${JSON.stringify(
68
68
  entry,
69
69
  )}' isn't supported. You must supply an array of strings with one or more characters, objects with a url property or Request objects.`;
70
70
  },
@@ -74,7 +74,7 @@ export const messages = {
74
74
  throw new Error("Unexpected input to " + `'add-to-cache-list-duplicate-entries' error.`);
75
75
  }
76
76
 
77
- return `Two of the entries passed to 'serwist.Serwist.addToPrecacheList()' had the URL ${firstEntry} but different revision details. Serwist is unable to cache and version the asset correctly. Please remove one of the entries.`;
77
+ return `Two of the entries passed to 'serwist.Serwist.precache.addToCacheList()' had the URL ${firstEntry} but different revision details. Serwist is unable to cache and version the asset correctly. Please remove one of the entries.`;
78
78
  },
79
79
 
80
80
  "plugin-error-request-will-fetch": ({ thrownErrorMessage }) => {
@@ -210,7 +210,7 @@ export const messages = {
210
210
  },
211
211
 
212
212
  "add-to-cache-list-conflicting-integrities": ({ url }) => {
213
- return `Two of the entries passed to 'serwist.Serwist.addToPrecacheList()' had the URL ${url} with different integrity values. Please remove one of them.`;
213
+ return `Two of the entries passed to 'serwist.Serwist.precache.addToCacheList()' had the URL ${url} with different integrity values. Please remove one of them.`;
214
214
  },
215
215
 
216
216
  "missing-precache-entry": ({ cacheName, url }) => {
@@ -6,9 +6,9 @@
6
6
  https://opensource.org/licenses/MIT.
7
7
  */
8
8
 
9
- import { messageGenerator } from "../models/messages/messageGenerator.js";
10
- import type { MessageKey } from "../models/messages/messages.js";
11
- import type { MapLikeObject } from "../types.js";
9
+ import type { MapLikeObject } from "#lib/types.js";
10
+ import { messageGenerator } from "#models/messages/messageGenerator.js";
11
+ import type { MessageKey } from "#models/messages/messages.js";
12
12
 
13
13
  /**
14
14
  * Serwist errors should be thrown with this class.
@@ -6,7 +6,7 @@
6
6
  https://opensource.org/licenses/MIT.
7
7
  */
8
8
 
9
- import type { MapLikeObject } from "../types.js";
9
+ import type { MapLikeObject } from "#lib/types.js";
10
10
  import { SerwistError } from "./SerwistError.js";
11
11
 
12
12
  /*
@@ -30,7 +30,6 @@ const hasMethod = (object: MapLikeObject, expectedMethod: string, details: MapLi
30
30
  };
31
31
 
32
32
  const isType = (object: unknown, expectedType: string, details: MapLikeObject) => {
33
- // biome-ignore lint/suspicious/useValidTypeof: Know to not make a mistake...
34
33
  if (typeof object !== expectedType) {
35
34
  details.expectedType = expectedType;
36
35
  throw new SerwistError("incorrect-type", details);
@@ -5,8 +5,6 @@
5
5
  license that can be found in the LICENSE file or at
6
6
  https://opensource.org/licenses/MIT.
7
7
  */
8
- import type { initializeGoogleAnalytics } from "../lib/googleAnalytics/initializeGoogleAnalytics.js";
9
-
10
8
  declare let registration: ServiceWorkerRegistration | undefined;
11
9
 
12
10
  export interface CacheNameDetails {
@@ -23,7 +23,7 @@ function canConstructReadableStream(): boolean {
23
23
  try {
24
24
  new ReadableStream({ start() {} });
25
25
  supportStatus = true;
26
- } catch (error) {
26
+ } catch {
27
27
  supportStatus = false;
28
28
  }
29
29
  }
@@ -24,7 +24,7 @@ function canConstructResponseFromBodyStream(): boolean {
24
24
  try {
25
25
  new Response(testResponse.body);
26
26
  supportStatus = true;
27
- } catch (error) {
27
+ } catch {
28
28
  supportStatus = false;
29
29
  }
30
30
  }
@@ -6,10 +6,9 @@
6
6
  https://opensource.org/licenses/MIT.
7
7
  */
8
8
 
9
+ import type { PrecacheEntry } from "#lib/types.js";
9
10
  import { SerwistError } from "./SerwistError.js";
10
11
 
11
- import type { PrecacheEntry } from "../types.js";
12
-
13
12
  interface CacheKey {
14
13
  cacheKey: string;
15
14
  url: string;
@@ -6,7 +6,7 @@
6
6
  https://opensource.org/licenses/MIT.
7
7
  */
8
8
 
9
- import { quotaErrorCallbacks } from "../models/quotaErrorCallbacks.js";
9
+ import { quotaErrorCallbacks } from "#models/quotaErrorCallbacks.js";
10
10
  import { logger } from "./logger.js";
11
11
 
12
12
  /**
@@ -6,7 +6,7 @@
6
6
  https://opensource.org/licenses/MIT.
7
7
  */
8
8
 
9
- import type { PrecacheRouteOptions } from "../types.js";
9
+ import type { PrecacheRouteOptions } from "#lib/types.js";
10
10
  import { removeIgnoredSearchParams } from "./removeIgnoredSearchParams.js";
11
11
 
12
12
  /**
@@ -24,7 +24,7 @@ declare global {
24
24
  * before using it.
25
25
  */
26
26
  export const logger =
27
- process.env.NODE_ENV === "production"
27
+ process.env.NODE_ENV === "production" || typeof self === "undefined" || (import.meta as any).env?.SSR /** Check for SSR */
28
28
  ? null!
29
29
  : (() => {
30
30
  // Don't overwrite this value if it's already set.
@@ -6,7 +6,7 @@
6
6
  https://opensource.org/licenses/MIT.
7
7
  */
8
8
 
9
- import type { RouteHandler, RouteHandlerObject } from "../types.js";
9
+ import type { RouteHandler, RouteHandlerObject } from "#lib/types.js";
10
10
  import { assert } from "./assert.js";
11
11
 
12
12
  /**
@@ -1,9 +1,8 @@
1
- import { RegExpRoute } from "../RegExpRoute.js";
2
- import { Route } from "../Route.js";
3
- import type { HTTPMethod } from "../constants.js";
4
- import type { RouteHandler, RouteMatchCallback } from "../types.js";
5
- import { SerwistError } from "./SerwistError.js";
1
+ import type { HTTPMethod } from "#lib/constants.js";
2
+ import { RegExpRoute, Route } from "#lib/route.js";
3
+ import type { RouteHandler, RouteMatchCallback } from "#lib/types.js";
6
4
  import { logger } from "./logger.js";
5
+ import { SerwistError } from "./SerwistError.js";
7
6
 
8
7
  /**
9
8
  * Parses a `RegExp`, string, or function with a caching strategy into a {@linkcode Route}. This is for
@@ -6,7 +6,7 @@
6
6
  https://opensource.org/licenses/MIT.
7
7
  */
8
8
 
9
- import type { StrategyPlugin } from "../types.js";
9
+ import type { StrategyPlugin } from "#lib/types.js";
10
10
 
11
11
  export const pluginUtils = {
12
12
  filter: (plugins: StrategyPlugin[], callbackName: string): StrategyPlugin[] => {
@@ -30,7 +30,7 @@ export async function resultingClientExists(resultingClientId?: string): Promise
30
30
  let existingWindows = await self.clients.matchAll({ type: "window" });
31
31
  const existingWindowIds = new Set(existingWindows.map((w) => w.id));
32
32
 
33
- let resultingWindow: Client | undefined = undefined;
33
+ let resultingWindow: Client | undefined;
34
34
  const startTime = performance.now();
35
35
 
36
36
  // Only wait up to `MAX_RETRY_TIME` to find a matching client.
@@ -1,56 +0,0 @@
1
- import { Route } from "./Route.js";
2
- import type { RouteHandler } from "./types.js";
3
- export interface NavigationRouteMatchOptions {
4
- /**
5
- * If any of these patterns
6
- * match the URL's pathname and search parameter, the route will handle the
7
- * request (assuming the denylist doesn't match).
8
- *
9
- * @default [/./]
10
- */
11
- allowlist?: RegExp[];
12
- /**
13
- * If any of these patterns match, the route will not handle the request (even if a allowlist RegExp matches).
14
- */
15
- denylist?: RegExp[];
16
- }
17
- /**
18
- * A class that makes it easy to create a {@linkcode Route} object that matches navigation requests.
19
- *
20
- * It will only match incoming requests whose [`mode`](https://fetch.spec.whatwg.org/#concept-request-mode) is set to `"navigate"`.
21
- *
22
- * You can optionally only apply this route to a subset of navigation requests
23
- * by using one or both of the `denylist` and `allowlist` parameters.
24
- */
25
- export declare class NavigationRoute extends Route {
26
- private readonly _allowlist;
27
- private readonly _denylist;
28
- /**
29
- * If both `denylist` and `allowlist` are provided, `denylist` will
30
- * take precedence.
31
- *
32
- * The regular expressions in `allowlist` and `denylist`
33
- * are matched against the concatenated
34
- * [`pathname`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/pathname)
35
- * and [`search`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/search)
36
- * portions of the requested URL.
37
- *
38
- * *Note*: These RegExps may be evaluated against every destination URL during
39
- * a navigation. Avoid using
40
- * [complex RegExps](https://github.com/GoogleChrome/workbox/issues/3077),
41
- * or else your users may see delays when navigating your site.
42
- *
43
- * @param handler A callback function that returns a `Promise` resulting in a `Response`.
44
- * @param options
45
- */
46
- constructor(handler: RouteHandler, { allowlist, denylist }?: NavigationRouteMatchOptions);
47
- /**
48
- * Routes match handler.
49
- *
50
- * @param options
51
- * @returns
52
- * @private
53
- */
54
- private _match;
55
- }
56
- //# sourceMappingURL=NavigationRoute.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NavigationRoute.d.ts","sourceRoot":"","sources":["../src/NavigationRoute.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,EAAE,YAAY,EAA6B,MAAM,YAAY,CAAC;AAI1E,MAAM,WAAW,2BAA2B;IAC1C;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAW;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IAErC;;;;;;;;;;;;;;;;;OAiBG;gBACS,OAAO,EAAE,YAAY,EAAE,EAAE,SAAiB,EAAE,QAAa,EAAE,GAAE,2BAAgC;IAsBzG;;;;;;OAMG;IACH,OAAO,CAAC,MAAM;CA8Bf"}
@@ -1,24 +0,0 @@
1
- import { Route } from "./Route.js";
2
- import type { HTTPMethod } from "./constants.js";
3
- import type { RouteHandler } from "./types.js";
4
- /**
5
- * A class that makes it easy to create a {@linkcode Route} object with a regular expression.
6
- *
7
- * For same-origin requests the `RegExp` only needs to match part of the URL. For
8
- * requests against third-party servers, you must define a `RegExp` that matches
9
- * the start of the URL.
10
- */
11
- export declare class RegExpRoute extends Route {
12
- /**
13
- * If the regular expression contains
14
- * [capture groups](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp#grouping-back-references),
15
- * the captured values will be passed to the `params` argument.
16
- *
17
- * @param regExp The regular expression to match against URLs.
18
- * @param handler A callback function that returns a `Promise` resulting in a `Response`.
19
- * @param method The HTTP method to match the {@linkcode Route} against. Defaults to `GET`.
20
- * against.
21
- */
22
- constructor(regExp: RegExp, handler: RouteHandler, method?: HTTPMethod);
23
- }
24
- //# sourceMappingURL=RegExpRoute.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RegExpRoute.d.ts","sourceRoot":"","sources":["../src/RegExpRoute.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAiD,MAAM,YAAY,CAAC;AAI9F;;;;;;GAMG;AACH,qBAAa,WAAY,SAAQ,KAAK;IACpC;;;;;;;;;OASG;gBACS,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,UAAU;CAyCvE"}
package/dist/Route.d.ts DELETED
@@ -1,33 +0,0 @@
1
- import type { HTTPMethod } from "./constants.js";
2
- import type { RouteHandler, RouteHandlerObject, RouteMatchCallback } from "./types.js";
3
- /**
4
- * A `Route` consists of a pair of callback functions, `match` and `handler`.
5
- * The `match` callback determines if a route should be used to handle a
6
- * request by returning a truthy value if it can. The `handler` callback
7
- * is called when the route matches and should return a promise that resolves
8
- * to a response.
9
- */
10
- export declare class Route {
11
- handler: RouteHandlerObject;
12
- match: RouteMatchCallback;
13
- method: HTTPMethod;
14
- catchHandler?: RouteHandlerObject;
15
- /**
16
- * Constructor for Route class.
17
- *
18
- * @param match A callback function that determines whether the
19
- * route matches a given `fetch` event by returning a truthy value.
20
- * @param handler A callback function that returns a `Promise` resolving
21
- * to a `Response`.
22
- * @param method The HTTP method to match the route against. Defaults
23
- * to `GET`.
24
- */
25
- constructor(match: RouteMatchCallback, handler: RouteHandler, method?: HTTPMethod);
26
- /**
27
- *
28
- * @param handler A callback function that returns a Promise resolving
29
- * to a Response.
30
- */
31
- setCatchHandler(handler: RouteHandler): void;
32
- }
33
- //# sourceMappingURL=Route.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Route.d.ts","sourceRoot":"","sources":["../src/Route.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAIvF;;;;;;GAMG;AACH,qBAAa,KAAK;IAChB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,KAAK,EAAE,kBAAkB,CAAC;IAC1B,MAAM,EAAE,UAAU,CAAC;IACnB,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAElC;;;;;;;;;OASG;gBACS,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,GAAE,UAA0B;IAqBhG;;;;OAIG;IACH,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;CAG7C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Serwist.d.ts","sourceRoot":"","sources":["../src/Serwist.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"cacheNames.d.ts","sourceRoot":"","sources":["../src/cacheNames.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,UAAU;8BACE,MAAM;uBAGb,MAAM;qBAGR,MAAM;sBAGL,MAAM;qBAGP,MAAM;CAGrB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAE9E;;;;;GAKG;AACH,eAAO,MAAM,aAAa,QAA6B,CAAC;AAExD;;;;GAIG;AACH,eAAO,MAAM,YAAY,0DAA2E,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PrecacheCacheKeyPlugin.d.ts","sourceRoot":"","sources":["../../../src/controllers/PrecacheController/PrecacheCacheKeyPlugin.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAA+B,MAAM,gBAAgB,CAAC;AAElF;;;;;GAKG;AACH,qBAAa,sBAAuB,YAAW,cAAc;IAC3D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;gBAE7C,EAAE,kBAAkB,EAAE,EAAE;QAAE,kBAAkB,EAAE,kBAAkB,CAAA;KAAE;IAI9E,kBAAkB,EAAE,cAAc,CAAC,oBAAoB,CAAC,CAOtD;CACH"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PrecacheController.d.ts","sourceRoot":"","sources":["../../../src/controllers/PrecacheController/PrecacheController.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAUxF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAGrE,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B;;;OAGG;IACH,2BAA2B,CAAC,EAAE,MAAM,EAAE,CAAC;IACvC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,yBAAyB,CAAC,EAAE,MAAM,EAAE,CAAC;IACrC;;;OAGG;IACH,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,eAAgB,SAAQ,uBAAuB,EAAE,oBAAoB,EAAE,yBAAyB;CAAG;AAEpH,qBAAa,kBAAmB,YAAW,UAAU;IACnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkC;IACnE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA6G;IAC/I,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAkC;IAC1E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,aAAa,CAAuB;IAC5C;;;;OAIG;gBACS,OAAO,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC,EAAE,EAAE,eAAe,CAAC,EAAE,eAAe;IAUlF;;;OAGG;IACH,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IACD;;;;OAIG;IACH,cAAc,CAAC,OAAO,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI;IAuDzD,IAAI,CAAC,OAAO,EAAE,OAAO;IAYf,OAAO,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B9C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB/B;;;;;OAKG;IACH,qBAAqB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAI5C;;;;;OAKG;IACH,gBAAgB,IAAI,MAAM,EAAE;IAI5B;;;;;;;;OAQG;IACH,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAKrD;;;;OAIG;IACH,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIhE;;;;;;;;;;;;;;;;;OAiBG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAU7E;;;;;;OAMG;IACH,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB;CAY3D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PrecacheInstallReportPlugin.d.ts","sourceRoot":"","sources":["../../../src/controllers/PrecacheController/PrecacheInstallReportPlugin.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAA+B,MAAM,gBAAgB,CAAC;AAElF;;;;;GAKG;AACH,qBAAa,2BAA4B,YAAW,cAAc;IAChE,WAAW,EAAE,MAAM,EAAE,CAAM;IAC3B,cAAc,EAAE,MAAM,EAAE,CAAM;IAE9B,gBAAgB,EAAE,cAAc,CAAC,kBAAkB,CAAC,CAKlD;IAEF,wBAAwB,EAAE,cAAc,CAAC,0BAA0B,CAAC,CAkBlE;CACH"}
@@ -1,15 +0,0 @@
1
- import { Route } from "../../Route.js";
2
- import type { PrecacheController, PrecacheRouteOptions } from "./PrecacheController.js";
3
- /**
4
- * A subclass of {@linkcode Route} that takes a {@linkcode Serwist} instance and uses it to match
5
- * incoming requests and handle fetching responses from the precache.
6
- */
7
- export declare class PrecacheRoute extends Route {
8
- /**
9
- * @param controller A {@linkcode PrecacheController} instance.
10
- * @param options Options to control how requests are matched
11
- * against the list of precached URLs.
12
- */
13
- constructor(controller: PrecacheController, options?: PrecacheRouteOptions);
14
- }
15
- //# sourceMappingURL=PrecacheRoute.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PrecacheRoute.d.ts","sourceRoot":"","sources":["../../../src/controllers/PrecacheController/PrecacheRoute.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAKvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAExF;;;GAGG;AACH,qBAAa,aAAc,SAAQ,KAAK;IACtC;;;;OAIG;gBACS,UAAU,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,oBAAoB;CAkB3E"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PrecacheStrategy.d.ts","sourceRoot":"","sources":["../../../src/controllers/PrecacheController/PrecacheStrategy.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAMrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAE/E,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D;;OAEG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IACrC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,qBAAa,gBAAiB,SAAQ,QAAQ;IAC5C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAE7C,MAAM,CAAC,QAAQ,CAAC,iCAAiC,EAAE,cAAc,CAQ/D;IAEF,MAAM,CAAC,QAAQ,CAAC,sCAAsC,EAAE,cAAc,CAIpE;IAEF;;OAEG;gBACS,OAAO,GAAE,uBAA4B;IAcjD;;;;;OAKG;IACG,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC;IAwBtE,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC;IAyE3E,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC;IAqBnF;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,qCAAqC,IAAI,IAAI;CA4B9C"}