serwist 10.0.0-preview.1 → 10.0.0-preview.10
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.
- package/dist/chunks/{resultingClientExists.js → waitUntil.js} +144 -144
- package/dist/index.d.ts +22 -50
- package/dist/index.d.ts.map +1 -1
- package/dist/index.internal.d.ts +16 -16
- package/dist/index.internal.d.ts.map +1 -1
- package/dist/index.internal.js +3 -3
- package/dist/index.js +1925 -1803
- package/dist/lib/{backgroundSync → background-sync}/BackgroundSyncPlugin.d.ts +1 -1
- package/dist/lib/background-sync/BackgroundSyncPlugin.d.ts.map +1 -0
- package/dist/lib/background-sync/BackgroundSyncQueue.d.ts.map +1 -0
- package/dist/lib/background-sync/BackgroundSyncQueueDb.d.ts.map +1 -0
- package/dist/lib/background-sync/BackgroundSyncQueueStore.d.ts.map +1 -0
- package/dist/lib/{backgroundSync → background-sync}/StorableRequest.d.ts +1 -1
- package/dist/lib/background-sync/StorableRequest.d.ts.map +1 -0
- package/dist/lib/background-sync/index.d.ts +6 -0
- package/dist/lib/background-sync/index.d.ts.map +1 -0
- package/dist/lib/{broadcastUpdate → broadcast-update}/BroadcastCacheUpdate.d.ts +1 -1
- package/dist/lib/broadcast-update/BroadcastCacheUpdate.d.ts.map +1 -0
- package/dist/lib/{broadcastUpdate → broadcast-update}/BroadcastUpdatePlugin.d.ts +1 -1
- package/dist/lib/broadcast-update/BroadcastUpdatePlugin.d.ts.map +1 -0
- package/dist/lib/broadcast-update/constants.d.ts.map +1 -0
- package/dist/lib/broadcast-update/index.d.ts +6 -0
- package/dist/lib/broadcast-update/index.d.ts.map +1 -0
- package/dist/lib/broadcast-update/responsesAreSame.d.ts.map +1 -0
- package/dist/lib/{broadcastUpdate → broadcast-update}/types.d.ts +1 -1
- package/dist/lib/broadcast-update/types.d.ts.map +1 -0
- package/dist/{cacheNames.d.ts → lib/cache-name.d.ts} +1 -1
- package/dist/lib/cache-name.d.ts.map +1 -0
- package/dist/lib/cacheable-response/CacheableResponse.d.ts.map +1 -0
- package/dist/lib/{cacheableResponse → cacheable-response}/CacheableResponsePlugin.d.ts +1 -1
- package/dist/lib/cacheable-response/CacheableResponsePlugin.d.ts.map +1 -0
- package/dist/lib/cacheable-response/index.d.ts +4 -0
- package/dist/lib/cacheable-response/index.d.ts.map +1 -0
- package/dist/{constants.d.ts → lib/constants.d.ts} +1 -1
- package/dist/lib/constants.d.ts.map +1 -0
- package/dist/lib/core.d.ts +62 -0
- package/dist/lib/core.d.ts.map +1 -0
- package/dist/lib/expiration/ExpirationPlugin.d.ts +1 -1
- package/dist/lib/expiration/ExpirationPlugin.d.ts.map +1 -1
- package/dist/lib/expiration/index.d.ts +4 -0
- package/dist/lib/expiration/index.d.ts.map +1 -0
- package/dist/lib/extension.d.ts +30 -0
- package/dist/lib/extension.d.ts.map +1 -0
- package/dist/lib/extensions/google-analytics/constants.d.ts.map +1 -0
- package/dist/lib/extensions/google-analytics/extension.d.ts +79 -0
- package/dist/lib/extensions/google-analytics/extension.d.ts.map +1 -0
- package/dist/lib/extensions/google-analytics/index.d.ts +2 -0
- package/dist/lib/extensions/google-analytics/index.d.ts.map +1 -0
- package/dist/lib/extensions/google-analytics/initialize.d.ts +12 -0
- package/dist/lib/extensions/google-analytics/initialize.d.ts.map +1 -0
- package/dist/lib/extensions/index.d.ts +14 -0
- package/dist/lib/extensions/index.d.ts.map +1 -0
- package/dist/{controllers/PrecacheController/PrecacheController.d.ts → lib/extensions/precache/extension.d.ts} +19 -38
- package/dist/lib/extensions/precache/extension.d.ts.map +1 -0
- package/dist/{controllers/PrecacheController/parsePrecacheOptions.d.ts → lib/extensions/precache/options.d.ts} +6 -5
- package/dist/lib/extensions/precache/options.d.ts.map +1 -0
- package/dist/{controllers/PrecacheController/PrecacheCacheKeyPlugin.d.ts → lib/extensions/precache/plugin-cache-key.d.ts} +4 -4
- package/dist/lib/extensions/precache/plugin-cache-key.d.ts.map +1 -0
- package/dist/lib/{precaching/PrecacheFallbackPlugin.d.ts → extensions/precache/plugin-fallback.d.ts} +11 -11
- package/dist/lib/extensions/precache/plugin-fallback.d.ts.map +1 -0
- package/dist/{controllers/PrecacheController/PrecacheInstallReportPlugin.d.ts → lib/extensions/precache/plugin-install-report.d.ts} +2 -2
- package/dist/lib/extensions/precache/plugin-install-report.d.ts.map +1 -0
- package/dist/lib/extensions/precache/route.d.ts +42 -0
- package/dist/lib/extensions/precache/route.d.ts.map +1 -0
- package/dist/{controllers/PrecacheController/PrecacheStrategy.d.ts → lib/extensions/precache/strategy.d.ts} +5 -5
- package/dist/lib/extensions/precache/strategy.d.ts.map +1 -0
- package/dist/{controllers/RuntimeCacheController.d.ts → lib/extensions/runtime-cache.d.ts} +16 -10
- package/dist/lib/extensions/runtime-cache.d.ts.map +1 -0
- package/dist/lib/functions/handlers.d.ts +60 -0
- package/dist/lib/functions/handlers.d.ts.map +1 -0
- package/dist/lib/functions/router.d.ts +60 -0
- package/dist/lib/functions/router.d.ts.map +1 -0
- package/dist/{navigationPreload.d.ts → lib/navigation-preload.d.ts} +1 -1
- package/dist/lib/navigation-preload.d.ts.map +1 -0
- package/dist/lib/{rangeRequests → range-requests}/RangeRequestsPlugin.d.ts +1 -1
- package/dist/lib/range-requests/RangeRequestsPlugin.d.ts.map +1 -0
- package/dist/lib/range-requests/createPartialResponse.d.ts.map +1 -0
- package/dist/lib/range-requests/index.d.ts +3 -0
- package/dist/lib/range-requests/index.d.ts.map +1 -0
- package/dist/lib/range-requests/utils/calculateEffectiveBoundaries.d.ts.map +1 -0
- package/dist/lib/range-requests/utils/parseRangeHeader.d.ts.map +1 -0
- package/dist/lib/route.d.ts +106 -0
- package/dist/lib/route.d.ts.map +1 -0
- package/dist/{Serwist.d.ts → lib/serwist.d.ts} +28 -41
- package/dist/lib/serwist.d.ts.map +1 -0
- package/dist/lib/strategies/NetworkFirst.d.ts.map +1 -1
- package/dist/lib/strategies/StaleWhileRevalidate.d.ts.map +1 -1
- package/dist/lib/strategies/Strategy.d.ts +1 -1
- package/dist/lib/strategies/Strategy.d.ts.map +1 -1
- package/dist/lib/strategies/StrategyHandler.d.ts +1 -1
- package/dist/lib/strategies/StrategyHandler.d.ts.map +1 -1
- package/dist/lib/strategies/index.d.ts +11 -0
- package/dist/lib/strategies/index.d.ts.map +1 -0
- package/dist/lib/strategies/plugins/cacheOkAndOpaquePlugin.d.ts +1 -1
- package/dist/lib/strategies/plugins/cacheOkAndOpaquePlugin.d.ts.map +1 -1
- package/dist/{types.d.ts → lib/types.d.ts} +15 -24
- package/dist/lib/types.d.ts.map +1 -0
- package/dist/{copyResponse.d.ts → lib/utils.d.ts} +22 -1
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/models/messages/messageGenerator.d.ts +1 -1
- package/dist/models/messages/messageGenerator.d.ts.map +1 -1
- package/dist/utils/SerwistError.d.ts +2 -2
- package/dist/utils/SerwistError.d.ts.map +1 -1
- package/dist/utils/assert.d.ts +1 -1
- package/dist/utils/assert.d.ts.map +1 -1
- package/dist/utils/cacheNames.d.ts.map +1 -1
- package/dist/utils/cleanupOutdatedCaches.d.ts.map +1 -1
- package/dist/utils/createCacheKey.d.ts +1 -1
- package/dist/utils/createCacheKey.d.ts.map +1 -1
- package/dist/utils/deleteOutdatedCaches.d.ts.map +1 -1
- package/dist/utils/generateURLVariations.d.ts +1 -1
- package/dist/utils/generateURLVariations.d.ts.map +1 -1
- package/dist/utils/getFriendlyURL.d.ts.map +1 -1
- package/dist/utils/logger.d.ts +1 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/normalizeHandler.d.ts +1 -1
- package/dist/utils/normalizeHandler.d.ts.map +1 -1
- package/dist/utils/parseRoute.d.ts +3 -3
- package/dist/utils/parseRoute.d.ts.map +1 -1
- package/dist/utils/pluginUtils.d.ts +1 -1
- package/dist/utils/pluginUtils.d.ts.map +1 -1
- package/dist/utils/printCleanupDetails.d.ts.map +1 -1
- package/dist/utils/printInstallDetails.d.ts.map +1 -1
- package/dist/utils/removeIgnoredSearchParams.d.ts.map +1 -1
- package/dist/utils/waitUntil.d.ts.map +1 -1
- package/package.json +30 -6
- package/src/index.internal.ts +16 -16
- package/src/index.ts +100 -110
- package/src/lib/{backgroundSync → background-sync}/BackgroundSyncPlugin.ts +1 -1
- package/src/lib/{backgroundSync → background-sync}/BackgroundSyncQueue.ts +7 -7
- package/src/lib/{backgroundSync → background-sync}/BackgroundSyncQueueDb.ts +1 -1
- package/src/lib/{backgroundSync → background-sync}/BackgroundSyncQueueStore.ts +1 -3
- package/src/lib/{backgroundSync → background-sync}/StorableRequest.ts +2 -2
- package/src/lib/background-sync/index.ts +5 -0
- package/src/lib/{broadcastUpdate → broadcast-update}/BroadcastCacheUpdate.ts +5 -5
- package/src/lib/{broadcastUpdate → broadcast-update}/BroadcastUpdatePlugin.ts +1 -1
- package/src/lib/broadcast-update/index.ts +5 -0
- package/src/lib/{broadcastUpdate → broadcast-update}/responsesAreSame.ts +2 -2
- package/src/lib/{broadcastUpdate → broadcast-update}/types.ts +1 -1
- package/src/{cacheNames.ts → lib/cache-name.ts} +1 -1
- package/src/lib/{cacheableResponse → cacheable-response}/CacheableResponse.ts +4 -4
- package/src/lib/{cacheableResponse → cacheable-response}/CacheableResponsePlugin.ts +1 -1
- package/src/lib/cacheable-response/index.ts +3 -0
- package/src/lib/core.ts +128 -0
- package/src/lib/expiration/CacheExpiration.ts +3 -3
- package/src/lib/expiration/ExpirationPlugin.ts +9 -10
- package/src/lib/expiration/index.ts +3 -0
- package/src/lib/extension.ts +37 -0
- package/src/lib/{googleAnalytics/initializeGoogleAnalytics.ts → extensions/google-analytics/extension.ts} +43 -49
- package/src/lib/extensions/google-analytics/index.ts +0 -0
- package/src/lib/extensions/google-analytics/initialize.ts +48 -0
- package/src/lib/extensions/index.ts +13 -0
- package/src/{controllers/PrecacheController/PrecacheController.ts → lib/extensions/precache/extension.ts} +37 -56
- package/src/{controllers/PrecacheController/parsePrecacheOptions.ts → lib/extensions/precache/options.ts} +11 -8
- package/src/{controllers/PrecacheController/PrecacheCacheKeyPlugin.ts → lib/extensions/precache/plugin-cache-key.ts} +4 -4
- package/src/lib/{precaching/PrecacheFallbackPlugin.ts → extensions/precache/plugin-fallback.ts} +27 -16
- package/src/{controllers/PrecacheController/PrecacheInstallReportPlugin.ts → lib/extensions/precache/plugin-install-report.ts} +1 -1
- package/src/lib/extensions/precache/route.ts +72 -0
- package/src/{controllers/PrecacheController/PrecacheStrategy.ts → lib/extensions/precache/strategy.ts} +11 -11
- package/src/{controllers/RuntimeCacheController.ts → lib/extensions/runtime-cache.ts} +24 -17
- package/src/lib/functions/handlers.ts +149 -0
- package/src/lib/functions/router.ts +314 -0
- package/src/{navigationPreload.ts → lib/navigation-preload.ts} +1 -1
- package/src/lib/{rangeRequests → range-requests}/RangeRequestsPlugin.ts +1 -1
- package/src/lib/{rangeRequests → range-requests}/createPartialResponse.ts +3 -3
- package/src/lib/range-requests/index.ts +2 -0
- package/src/lib/{rangeRequests → range-requests}/utils/calculateEffectiveBoundaries.ts +2 -2
- package/src/lib/{rangeRequests → range-requests}/utils/parseRangeHeader.ts +2 -2
- package/src/lib/route.ts +234 -0
- package/src/lib/serwist.ts +443 -0
- package/src/lib/strategies/CacheFirst.ts +4 -4
- package/src/lib/strategies/CacheOnly.ts +3 -3
- package/src/lib/strategies/NetworkFirst.ts +6 -6
- package/src/lib/strategies/NetworkOnly.ts +5 -5
- package/src/lib/strategies/StaleWhileRevalidate.ts +5 -5
- package/src/lib/strategies/Strategy.ts +9 -9
- package/src/lib/strategies/StrategyHandler.ts +11 -11
- package/src/lib/strategies/index.ts +10 -0
- package/src/lib/strategies/plugins/cacheOkAndOpaquePlugin.ts +1 -1
- package/src/lib/strategies/utils/messages.ts +2 -2
- package/src/{types.ts → lib/types.ts} +17 -26
- package/src/lib/utils.ts +137 -0
- package/src/models/messages/messageGenerator.ts +1 -1
- package/src/models/messages/messages.ts +3 -3
- package/src/utils/SerwistError.ts +3 -3
- package/src/utils/assert.ts +1 -2
- package/src/utils/cacheNames.ts +0 -2
- package/src/utils/canConstructReadableStream.ts +1 -1
- package/src/utils/canConstructResponseFromBodyStream.ts +1 -1
- package/src/utils/createCacheKey.ts +1 -2
- package/src/utils/executeQuotaErrorCallbacks.ts +1 -1
- package/src/utils/generateURLVariations.ts +1 -1
- package/src/utils/logger.ts +1 -1
- package/src/utils/normalizeHandler.ts +1 -1
- package/src/utils/parseRoute.ts +4 -5
- package/src/utils/pluginUtils.ts +1 -1
- package/src/utils/resultingClientExists.ts +1 -1
- package/dist/NavigationRoute.d.ts +0 -56
- package/dist/NavigationRoute.d.ts.map +0 -1
- package/dist/RegExpRoute.d.ts +0 -24
- package/dist/RegExpRoute.d.ts.map +0 -1
- package/dist/Route.d.ts +0 -33
- package/dist/Route.d.ts.map +0 -1
- package/dist/Serwist.d.ts.map +0 -1
- package/dist/cacheNames.d.ts.map +0 -1
- package/dist/constants.d.ts.map +0 -1
- package/dist/controllers/PrecacheController/PrecacheCacheKeyPlugin.d.ts.map +0 -1
- package/dist/controllers/PrecacheController/PrecacheController.d.ts.map +0 -1
- package/dist/controllers/PrecacheController/PrecacheInstallReportPlugin.d.ts.map +0 -1
- package/dist/controllers/PrecacheController/PrecacheRoute.d.ts +0 -15
- package/dist/controllers/PrecacheController/PrecacheRoute.d.ts.map +0 -1
- package/dist/controllers/PrecacheController/PrecacheStrategy.d.ts.map +0 -1
- package/dist/controllers/PrecacheController/parsePrecacheOptions.d.ts.map +0 -1
- package/dist/controllers/RuntimeCacheController.d.ts.map +0 -1
- package/dist/copyResponse.d.ts.map +0 -1
- package/dist/disableDevLogs.d.ts +0 -7
- package/dist/disableDevLogs.d.ts.map +0 -1
- package/dist/lib/backgroundSync/BackgroundSyncPlugin.d.ts.map +0 -1
- package/dist/lib/backgroundSync/BackgroundSyncQueue.d.ts.map +0 -1
- package/dist/lib/backgroundSync/BackgroundSyncQueueDb.d.ts.map +0 -1
- package/dist/lib/backgroundSync/BackgroundSyncQueueStore.d.ts.map +0 -1
- package/dist/lib/backgroundSync/StorableRequest.d.ts.map +0 -1
- package/dist/lib/broadcastUpdate/BroadcastCacheUpdate.d.ts.map +0 -1
- package/dist/lib/broadcastUpdate/BroadcastUpdatePlugin.d.ts.map +0 -1
- package/dist/lib/broadcastUpdate/constants.d.ts.map +0 -1
- package/dist/lib/broadcastUpdate/responsesAreSame.d.ts.map +0 -1
- package/dist/lib/broadcastUpdate/types.d.ts.map +0 -1
- package/dist/lib/cacheableResponse/CacheableResponse.d.ts.map +0 -1
- package/dist/lib/cacheableResponse/CacheableResponsePlugin.d.ts.map +0 -1
- package/dist/lib/googleAnalytics/constants.d.ts.map +0 -1
- package/dist/lib/googleAnalytics/initializeGoogleAnalytics.d.ts +0 -30
- package/dist/lib/googleAnalytics/initializeGoogleAnalytics.d.ts.map +0 -1
- package/dist/lib/precaching/PrecacheFallbackPlugin.d.ts.map +0 -1
- package/dist/lib/rangeRequests/RangeRequestsPlugin.d.ts.map +0 -1
- package/dist/lib/rangeRequests/createPartialResponse.d.ts.map +0 -1
- package/dist/lib/rangeRequests/utils/calculateEffectiveBoundaries.d.ts.map +0 -1
- package/dist/lib/rangeRequests/utils/parseRangeHeader.d.ts.map +0 -1
- package/dist/navigationPreload.d.ts.map +0 -1
- package/dist/registerQuotaErrorCallback.d.ts +0 -8
- package/dist/registerQuotaErrorCallback.d.ts.map +0 -1
- package/dist/setCacheNameDetails.d.ts +0 -9
- package/dist/setCacheNameDetails.d.ts.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/src/NavigationRoute.ts +0 -118
- package/src/RegExpRoute.ts +0 -74
- package/src/Route.ts +0 -67
- package/src/Serwist.ts +0 -762
- package/src/controllers/PrecacheController/PrecacheRoute.ts +0 -44
- package/src/copyResponse.ts +0 -58
- package/src/disableDevLogs.ts +0 -10
- package/src/registerQuotaErrorCallback.ts +0 -34
- package/src/setCacheNameDetails.ts +0 -53
- /package/dist/lib/{backgroundSync → background-sync}/BackgroundSyncQueue.d.ts +0 -0
- /package/dist/lib/{backgroundSync → background-sync}/BackgroundSyncQueueDb.d.ts +0 -0
- /package/dist/lib/{backgroundSync → background-sync}/BackgroundSyncQueueStore.d.ts +0 -0
- /package/dist/lib/{broadcastUpdate → broadcast-update}/constants.d.ts +0 -0
- /package/dist/lib/{broadcastUpdate → broadcast-update}/responsesAreSame.d.ts +0 -0
- /package/dist/lib/{cacheableResponse → cacheable-response}/CacheableResponse.d.ts +0 -0
- /package/dist/lib/{googleAnalytics → extensions/google-analytics}/constants.d.ts +0 -0
- /package/dist/lib/{rangeRequests → range-requests}/createPartialResponse.d.ts +0 -0
- /package/dist/lib/{rangeRequests → range-requests}/utils/calculateEffectiveBoundaries.d.ts +0 -0
- /package/dist/lib/{rangeRequests → range-requests}/utils/parseRangeHeader.d.ts +0 -0
- /package/src/lib/{broadcastUpdate → broadcast-update}/constants.ts +0 -0
- /package/src/{constants.ts → lib/constants.ts} +0 -0
- /package/src/lib/{googleAnalytics → extensions/google-analytics}/constants.ts +0 -0
package/dist/lib/{precaching/PrecacheFallbackPlugin.d.ts → extensions/precache/plugin-fallback.d.ts}
RENAMED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { HandlerDidErrorCallbackParam, StrategyPlugin } from "
|
|
1
|
+
import type { Serwist } from "#lib/core.js";
|
|
2
|
+
import type { HandlerDidErrorCallbackParam, StrategyPlugin } from "#lib/types.js";
|
|
3
3
|
export interface PrecacheFallbackEntry {
|
|
4
|
+
/**
|
|
5
|
+
* A precached URL to be used as a fallback.
|
|
6
|
+
*/
|
|
7
|
+
url: string;
|
|
4
8
|
/**
|
|
5
9
|
* A function that checks whether the fallback entry can be used
|
|
6
10
|
* for a request.
|
|
7
11
|
*/
|
|
8
12
|
matcher: (param: HandlerDidErrorCallbackParam) => boolean;
|
|
9
|
-
/**
|
|
10
|
-
* A precached URL to be used as a fallback.
|
|
11
|
-
*/
|
|
12
|
-
url: string;
|
|
13
13
|
}
|
|
14
14
|
export interface PrecacheFallbackPluginOptions {
|
|
15
15
|
/**
|
|
@@ -18,9 +18,9 @@ export interface PrecacheFallbackPluginOptions {
|
|
|
18
18
|
*/
|
|
19
19
|
fallbackUrls: (string | PrecacheFallbackEntry)[];
|
|
20
20
|
/**
|
|
21
|
-
* A {@linkcode
|
|
21
|
+
* A {@linkcode Serwist} instance.
|
|
22
22
|
*/
|
|
23
|
-
|
|
23
|
+
serwist: Serwist;
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
26
|
* Allows you to specify offline fallbacks to be used when a given strategy
|
|
@@ -32,13 +32,13 @@ export interface PrecacheFallbackPluginOptions {
|
|
|
32
32
|
*/
|
|
33
33
|
export declare class PrecacheFallbackPlugin implements StrategyPlugin {
|
|
34
34
|
private readonly _fallbackUrls;
|
|
35
|
-
private readonly
|
|
35
|
+
private readonly _serwist;
|
|
36
36
|
/**
|
|
37
37
|
* Constructs a new instance with the associated `fallbackUrls`.
|
|
38
38
|
*
|
|
39
39
|
* @param config
|
|
40
40
|
*/
|
|
41
|
-
constructor({ fallbackUrls,
|
|
41
|
+
constructor({ fallbackUrls, serwist }: PrecacheFallbackPluginOptions);
|
|
42
42
|
/**
|
|
43
43
|
* @returns The precache response for one of the fallback URLs, or `undefined` if
|
|
44
44
|
* nothing satisfies the conditions.
|
|
@@ -46,4 +46,4 @@ export declare class PrecacheFallbackPlugin implements StrategyPlugin {
|
|
|
46
46
|
*/
|
|
47
47
|
handlerDidError(param: HandlerDidErrorCallbackParam): Promise<Response | undefined>;
|
|
48
48
|
}
|
|
49
|
-
//# sourceMappingURL=
|
|
49
|
+
//# sourceMappingURL=plugin-fallback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-fallback.d.ts","sourceRoot":"","sources":["../../../../src/lib/extensions/precache/plugin-fallback.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,KAAK,EAAE,4BAA4B,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAElF,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,OAAO,EAAE,CAAC,KAAK,EAAE,4BAA4B,KAAK,OAAO,CAAC;CAC3D;AAED,MAAM,WAAW,6BAA6B;IAC5C;;;OAGG;IACH,YAAY,EAAE,CAAC,MAAM,GAAG,qBAAqB,CAAC,EAAE,CAAC;IACjD;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,qBAAa,sBAAuB,YAAW,cAAc;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqC;IACnE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IAEnC;;;;OAIG;gBACS,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,6BAA6B;IAMpE;;;;OAIG;IACG,eAAe,CAAC,KAAK,EAAE,4BAA4B;CA0B1D"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { StrategyPlugin } from "
|
|
1
|
+
import type { StrategyPlugin } from "#lib/types.js";
|
|
2
2
|
/**
|
|
3
3
|
* A plugin designed to determine the number of assets that were updated (or not updated)
|
|
4
4
|
* during the `install` event.
|
|
@@ -11,4 +11,4 @@ export declare class PrecacheInstallReportPlugin implements StrategyPlugin {
|
|
|
11
11
|
handlerWillStart: StrategyPlugin["handlerWillStart"];
|
|
12
12
|
cachedResponseWillBeUsed: StrategyPlugin["cachedResponseWillBeUsed"];
|
|
13
13
|
}
|
|
14
|
-
//# sourceMappingURL=
|
|
14
|
+
//# sourceMappingURL=plugin-install-report.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-install-report.d.ts","sourceRoot":"","sources":["../../../../src/lib/extensions/precache/plugin-install-report.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAA+B,MAAM,eAAe,CAAC;AAEjF;;;;;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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Route } from "../../route.js";
|
|
2
|
+
import type { UrlManipulation } from "../../types.js";
|
|
3
|
+
import type { Precache } from "./extension.js";
|
|
4
|
+
export interface PrecacheRouteOptions {
|
|
5
|
+
/**
|
|
6
|
+
* Tells Serwist to check the precache for an entry whose URL is the request URL appended
|
|
7
|
+
* with the specified value. Only applies if the request URL ends with "/".
|
|
8
|
+
*
|
|
9
|
+
* @default "index.html"
|
|
10
|
+
*/
|
|
11
|
+
directoryIndex?: string | null;
|
|
12
|
+
/**
|
|
13
|
+
* An array of `RegExp` objects matching search params that should be removed when looking
|
|
14
|
+
* for a precache match.
|
|
15
|
+
*/
|
|
16
|
+
ignoreURLParametersMatching?: RegExp[];
|
|
17
|
+
/**
|
|
18
|
+
* Tells Serwist to check the precache for an entry whose URL is the request URL appended
|
|
19
|
+
* with ".html".
|
|
20
|
+
*
|
|
21
|
+
* @default true
|
|
22
|
+
*/
|
|
23
|
+
cleanURLs?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* A function that should take a URL and return an array of alternative URLs that should
|
|
26
|
+
* be checked for precache matches.
|
|
27
|
+
*/
|
|
28
|
+
urlManipulation?: UrlManipulation;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* A subclass of {@linkcode Route} that takes a {@linkcode Serwist} instance and uses it to match
|
|
32
|
+
* incoming requests and handle fetching responses from the precache.
|
|
33
|
+
*/
|
|
34
|
+
export declare class PrecacheRoute extends Route {
|
|
35
|
+
/**
|
|
36
|
+
* @param precache A {@linkcode Precache} instance.
|
|
37
|
+
* @param options Options to control how requests are matched
|
|
38
|
+
* against the list of precached URLs.
|
|
39
|
+
*/
|
|
40
|
+
constructor(precache: Precache, options?: PrecacheRouteOptions);
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=route.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../src/lib/extensions/precache/route.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,KAAK,EAAiD,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACrG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,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;;;GAGG;AACH,qBAAa,aAAc,SAAQ,KAAK;IACtC;;;;OAIG;gBACS,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,oBAAoB;CAkB/D"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { StrategyPlugin } from "
|
|
2
|
-
import type { StrategyOptions } from "../../
|
|
3
|
-
import { Strategy } from "../../
|
|
4
|
-
import type { StrategyHandler } from "../../
|
|
1
|
+
import type { StrategyPlugin } from "#lib/types.js";
|
|
2
|
+
import type { StrategyOptions } from "../../strategies/Strategy.js";
|
|
3
|
+
import { Strategy } from "../../strategies/Strategy.js";
|
|
4
|
+
import type { StrategyHandler } from "../../strategies/StrategyHandler.js";
|
|
5
5
|
export interface PrecacheStrategyOptions extends StrategyOptions {
|
|
6
6
|
/**
|
|
7
7
|
* Plugins to use when precaching as well as responding to `fetch` events for precached assets.
|
|
@@ -66,4 +66,4 @@ export declare class PrecacheStrategy extends Strategy {
|
|
|
66
66
|
*/
|
|
67
67
|
_useDefaultCacheabilityPluginIfNeeded(): void;
|
|
68
68
|
}
|
|
69
|
-
//# sourceMappingURL=
|
|
69
|
+
//# sourceMappingURL=strategy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strategy.d.ts","sourceRoot":"","sources":["../../../../src/lib/extensions/precache/strategy.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAMpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAE3E,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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
1
|
+
import type { Serwist } from "#lib/core.js";
|
|
2
|
+
import type { Extension } from "#lib/extension.js";
|
|
3
|
+
import type { RuntimeCaching } from "../types.js";
|
|
4
|
+
import { type PrecacheFallbackEntry } from "./precache/plugin-fallback.js";
|
|
4
5
|
export interface WarmRuntimeCacheEntry {
|
|
5
6
|
integrity?: string;
|
|
6
7
|
url: string;
|
|
@@ -16,7 +17,7 @@ export interface FallbacksOptions {
|
|
|
16
17
|
*/
|
|
17
18
|
entries: FallbackEntry[];
|
|
18
19
|
}
|
|
19
|
-
export interface
|
|
20
|
+
export interface RuntimeCacheOptions {
|
|
20
21
|
/**
|
|
21
22
|
* URLs that should be cached as the service worker is installed.
|
|
22
23
|
*/
|
|
@@ -34,12 +35,17 @@ export interface RuntimeCacheControllerOptions {
|
|
|
34
35
|
*/
|
|
35
36
|
fallbacks?: FallbacksOptions;
|
|
36
37
|
}
|
|
37
|
-
export declare class
|
|
38
|
+
export declare class RuntimeCache implements Extension {
|
|
38
39
|
_entries: RuntimeCaching[];
|
|
39
|
-
_options:
|
|
40
|
-
constructor(entries: RuntimeCaching[], options?:
|
|
41
|
-
init(serwist
|
|
42
|
-
|
|
40
|
+
_options: RuntimeCacheOptions;
|
|
41
|
+
constructor(entries: RuntimeCaching[], options?: RuntimeCacheOptions);
|
|
42
|
+
init({ serwist }: {
|
|
43
|
+
serwist: Serwist;
|
|
44
|
+
}): void;
|
|
45
|
+
install({ event, serwist }: {
|
|
46
|
+
event: ExtendableEvent;
|
|
47
|
+
serwist: Serwist;
|
|
48
|
+
}): Promise<void>;
|
|
43
49
|
/**
|
|
44
50
|
* Any assets you wish to cache ahead of time which can't be revisioned
|
|
45
51
|
* should be cached with this method. All assets are cached on install
|
|
@@ -62,4 +68,4 @@ export declare class RuntimeCacheController implements Controller {
|
|
|
62
68
|
*/
|
|
63
69
|
warmRuntimeCache(entries: (WarmRuntimeCacheEntry | string | Request)[]): void;
|
|
64
70
|
}
|
|
65
|
-
//# sourceMappingURL=
|
|
71
|
+
//# sourceMappingURL=runtime-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-cache.d.ts","sourceRoot":"","sources":["../../../src/lib/extensions/runtime-cache.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,KAAK,qBAAqB,EAA0B,MAAM,+BAA+B,CAAC;AAEnG,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAc,SAAQ,qBAAqB;CAAG;AAE/D,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,qBAAqB,GAAG,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;IAC3D;;OAEG;IACH,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B;AAED,qBAAa,YAAa,YAAW,SAAS;IAC5C,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,QAAQ,EAAE,mBAAmB,CAAC;gBAClB,OAAO,EAAE,cAAc,EAAE,EAAE,OAAO,GAAE,mBAAwB;IAOxE,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAsBvC,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAAE,KAAK,EAAE,eAAe,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE;IAwB9E;;;;;;;;;;;;;;;;;;;OAmBG;IACH,gBAAgB,CAAC,OAAO,EAAE,CAAC,qBAAqB,GAAG,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,IAAI;CAI9E"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { type HTTPMethod } from "#lib/constants.js";
|
|
2
|
+
import type { Extension } from "#lib/extension.js";
|
|
3
|
+
import type { RouteHandler } from "#lib/types.js";
|
|
4
|
+
import type { Serwist } from "../core.js";
|
|
5
|
+
export type RequestArgs = string | [string, RequestInit?];
|
|
6
|
+
export interface CacheURLsMessageData {
|
|
7
|
+
type: string;
|
|
8
|
+
payload: {
|
|
9
|
+
urlsToCache: RequestArgs[];
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Adds Serwist's event listeners. Before calling it, add your own listeners should you need to.
|
|
14
|
+
*/
|
|
15
|
+
export declare const addEventListeners: (state: Serwist) => void;
|
|
16
|
+
export declare const createInstallHandler: (state: Serwist) => (event: ExtendableEvent) => Promise<void>;
|
|
17
|
+
export declare const createActivateHandler: (state: Serwist) => (event: ExtendableEvent) => Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Gets a `Response` from an appropriate `Route`'s handler. Call this method
|
|
20
|
+
* from the service worker's `fetch` event.
|
|
21
|
+
* @param event
|
|
22
|
+
*/
|
|
23
|
+
export declare const createFetchHandler: (state: Serwist) => (event: FetchEvent) => void;
|
|
24
|
+
/**
|
|
25
|
+
* Caches new URLs on demand. Call this method from the service worker's
|
|
26
|
+
* `message` event. To trigger the handler, send a message of type `"CACHE_URLS"`
|
|
27
|
+
* alongside a list of URLs that should be cached as `urlsToCache`.
|
|
28
|
+
* @param event
|
|
29
|
+
*/
|
|
30
|
+
export declare const createCacheHandler: (state: Serwist) => (event: ExtendableMessageEvent) => void;
|
|
31
|
+
/**
|
|
32
|
+
* Define a default handler that's called when no routes explicitly
|
|
33
|
+
* match the incoming request.
|
|
34
|
+
*
|
|
35
|
+
* Each HTTP method (`'GET'`, `'POST'`, etc.) gets its own default handler.
|
|
36
|
+
*
|
|
37
|
+
* Without a default handler, unmatched requests will go against the
|
|
38
|
+
* network as if there were no service worker present.
|
|
39
|
+
*
|
|
40
|
+
* @param handler A callback function that returns a `Promise` resulting in a `Response`.
|
|
41
|
+
* @param method The HTTP method to associate with this default handler. Each method
|
|
42
|
+
* has its own default. Defaults to `'GET'`.
|
|
43
|
+
*/
|
|
44
|
+
export declare const setDefaultHandler: (state: Serwist, handler: RouteHandler, method?: HTTPMethod) => void;
|
|
45
|
+
/**
|
|
46
|
+
* If a {@linkcode Route} throws an error while handling a request, this handler
|
|
47
|
+
* will be called and given a chance to provide a response.
|
|
48
|
+
*
|
|
49
|
+
* @param handler A callback function that returns a `Promise` resulting
|
|
50
|
+
* in a `Response`.
|
|
51
|
+
*/
|
|
52
|
+
export declare const setCatchHandler: (state: Serwist, handler: RouteHandler) => void;
|
|
53
|
+
/**
|
|
54
|
+
* Accepts a callback name and returns an iterable of matching plugin callbacks.
|
|
55
|
+
*
|
|
56
|
+
* @param name The name fo the callback to run
|
|
57
|
+
* @returns
|
|
58
|
+
*/
|
|
59
|
+
export declare function iterateExtensions<C extends keyof Extension>(state: Serwist, name: C): Generator<NonNullable<Extension[C]>>;
|
|
60
|
+
//# sourceMappingURL=handlers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../src/lib/functions/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAkB,MAAM,mBAAmB,CAAC;AAEnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAIlD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAK1C,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;AAE1D,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE;QACP,WAAW,EAAE,WAAW,EAAE,CAAC;KAC5B,CAAC;CACH;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,OAAO,SAK/C,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,OAAO,OAAO,MACzC,OAAO,eAAe,KAAG,OAAO,CAAC,IAAI,CAO9C,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,OAAO,OAAO,MAC1C,OAAO,eAAe,KAAG,OAAO,CAAC,IAAI,CAO9C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,OAAO,OAAO,MACvC,OAAO,UAAU,SAO1B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAAI,OAAO,OAAO,MACvC,OAAO,sBAAsB,SA4BtC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,OAAO,EAAE,SAAS,YAAY,EAAE,SAAQ,UAA0B,KAAG,IAE7G,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,OAAO,EAAE,SAAS,YAAY,KAAG,IAEvE,CAAC;AAEF;;;;;GAKG;AACH,wBAAiB,iBAAiB,CAAC,CAAC,SAAS,MAAM,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAW3H"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { HTTPMethod } from "../constants.js";
|
|
2
|
+
import type { Serwist } from "../core.js";
|
|
3
|
+
import type { Route } from "../route.js";
|
|
4
|
+
import type { RouteHandler, RouteHandlerCallbackOptions, RouteMatchCallback, RouteMatchCallbackOptions } from "../types.js";
|
|
5
|
+
/**
|
|
6
|
+
* Registers a `RegExp`, string, or function with a caching
|
|
7
|
+
* strategy to the router.
|
|
8
|
+
*
|
|
9
|
+
* @param capture If the capture param is a {@linkcode Route} object, all other arguments will be ignored.
|
|
10
|
+
* @param handler A callback function that returns a `Promise` resulting in a `Response`.
|
|
11
|
+
* This parameter is required if `capture` is not a {@linkcode Route} object.
|
|
12
|
+
* @param method The HTTP method to match the route against. Defaults to `'GET'`.
|
|
13
|
+
* @returns The generated {@linkcode Route} object.
|
|
14
|
+
*/
|
|
15
|
+
export declare const registerCapture: <T extends RegExp | string | RouteMatchCallback | Route>(state: Serwist, capture: T, handler?: T extends Route ? never : RouteHandler, method?: T extends Route ? never : HTTPMethod) => Route;
|
|
16
|
+
/**
|
|
17
|
+
* Registers a {@linkcode Route} with the router.
|
|
18
|
+
*
|
|
19
|
+
* @param route The {@linkcode Route} to register.
|
|
20
|
+
*/
|
|
21
|
+
export declare const registerRoute: (state: Serwist, route: Route) => void;
|
|
22
|
+
/**
|
|
23
|
+
* Unregisters a route from the router.
|
|
24
|
+
*
|
|
25
|
+
* @param route The {@linkcode Route} object to unregister.
|
|
26
|
+
*/
|
|
27
|
+
export declare const unregisterRoute: (state: Serwist, route: Route) => void;
|
|
28
|
+
/**
|
|
29
|
+
* Applies the routing rules to a `FetchEvent` object to get a response from an
|
|
30
|
+
* appropriate route.
|
|
31
|
+
*
|
|
32
|
+
* @param options
|
|
33
|
+
* @returns A promise is returned if a registered route can handle the request.
|
|
34
|
+
* If there is no matching route and there's no default handler, `undefined`
|
|
35
|
+
* is returned.
|
|
36
|
+
*/
|
|
37
|
+
export declare const handleRequest: (state: Serwist, { request, event, }: {
|
|
38
|
+
/**
|
|
39
|
+
* The request to handle.
|
|
40
|
+
*/
|
|
41
|
+
request: Request;
|
|
42
|
+
/**
|
|
43
|
+
* The event that triggered the request.
|
|
44
|
+
*/
|
|
45
|
+
event: ExtendableEvent;
|
|
46
|
+
}) => Promise<Response> | undefined;
|
|
47
|
+
/**
|
|
48
|
+
* Checks a request and URL (and optionally an event) against the list of
|
|
49
|
+
* registered routes, and if there's a match, returns the corresponding
|
|
50
|
+
* route along with any params generated by the match.
|
|
51
|
+
*
|
|
52
|
+
* @param options
|
|
53
|
+
* @returns An object with `route` and `params` properties. They are populated
|
|
54
|
+
* if a matching route was found or `undefined` otherwise.
|
|
55
|
+
*/
|
|
56
|
+
export declare const findMatchingRoute: (state: Serwist, { url, sameOrigin, request, event }: RouteMatchCallbackOptions) => {
|
|
57
|
+
route?: Route;
|
|
58
|
+
params?: RouteHandlerCallbackOptions["params"];
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=router.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../src/lib/functions/router.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE5H;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,kBAAkB,GAAG,KAAK,EACpF,OAAO,OAAO,EACd,SAAS,CAAC,EACV,UAAU,CAAC,SAAS,KAAK,GAAG,KAAK,GAAG,YAAY,EAChD,SAAS,CAAC,SAAS,KAAK,GAAG,KAAK,GAAG,UAAU,KAC5C,KAIF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,EAAE,OAAO,KAAK,KAAG,IA6C5D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,OAAO,EAAE,OAAO,KAAK,KAAG,IAa9D,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,GACxB,OAAO,OAAO,EACd,qBAGG;IACD;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,KAAK,EAAE,eAAe,CAAC;CACxB,KACA,OAAO,CAAC,QAAQ,CAAC,GAAG,SA4HtB,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,GAC5B,OAAO,OAAO,EACd,qCAAqC,yBAAyB,KAC7D;IACD,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,CAAC,EAAE,2BAA2B,CAAC,QAAQ,CAAC,CAAC;CA8ChD,CAAC"}
|
|
@@ -21,4 +21,4 @@ export declare const enableNavigationPreload: (headerValue?: string) => void;
|
|
|
21
21
|
* @see https://serwist.pages.dev/docs/serwist/core/disable-navigation-preload
|
|
22
22
|
*/
|
|
23
23
|
export declare const disableNavigationPreload: () => void;
|
|
24
|
-
//# sourceMappingURL=
|
|
24
|
+
//# sourceMappingURL=navigation-preload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation-preload.d.ts","sourceRoot":"","sources":["../../src/lib/navigation-preload.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,QAAO,OAE/C,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,GAAI,cAAc,MAAM,KAAG,IAqB9D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,QAAO,IAgB3C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RangeRequestsPlugin.d.ts","sourceRoot":"","sources":["../../../src/lib/range-requests/RangeRequestsPlugin.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD;;;;;GAKG;AACH,qBAAa,mBAAoB,YAAW,cAAc;IACxD;;;;;;OAMG;IACH,wBAAwB,EAAE,cAAc,CAAC,0BAA0B,CAAC,CAUlE;CACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createPartialResponse.d.ts","sourceRoot":"","sources":["../../../src/lib/range-requests/createPartialResponse.ts"],"names":[],"mappings":"AAcA;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,qBAAqB,GAAU,SAAS,OAAO,EAAE,kBAAkB,QAAQ,KAAG,OAAO,CAAC,QAAQ,CA8D1G,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/range-requests/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculateEffectiveBoundaries.d.ts","sourceRoot":"","sources":["../../../../src/lib/range-requests/utils/calculateEffectiveBoundaries.ts"],"names":[],"mappings":"AAWA;;;;;;;;GAQG;AACH,eAAO,MAAM,4BAA4B,GAAI,MAAM,IAAI,EAAE,QAAQ,MAAM,EAAE,MAAM,MAAM,KAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAsCnH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseRangeHeader.d.ts","sourceRoot":"","sources":["../../../../src/lib/range-requests/utils/parseRangeHeader.ts"],"names":[],"mappings":"AAWA;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,GAC3B,aAAa,MAAM,KAClB;IACD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CAgCd,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
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
|
+
/**
|
|
34
|
+
* A class that makes it easy to create a {@linkcode Route} object with a regular expression.
|
|
35
|
+
*
|
|
36
|
+
* For same-origin requests the `RegExp` only needs to match part of the URL. For
|
|
37
|
+
* requests against third-party servers, you must define a `RegExp` that matches
|
|
38
|
+
* the start of the URL.
|
|
39
|
+
*/
|
|
40
|
+
export declare class RegExpRoute extends Route {
|
|
41
|
+
/**
|
|
42
|
+
* If the regular expression contains
|
|
43
|
+
* [capture groups](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp#grouping-back-references),
|
|
44
|
+
* the captured values will be passed to the `params` argument.
|
|
45
|
+
*
|
|
46
|
+
* @param regExp The regular expression to match against URLs.
|
|
47
|
+
* @param handler A callback function that returns a `Promise` resulting in a `Response`.
|
|
48
|
+
* @param method The HTTP method to match the {@linkcode Route} against. Defaults to `GET`.
|
|
49
|
+
* against.
|
|
50
|
+
*/
|
|
51
|
+
constructor(regExp: RegExp, handler: RouteHandler, method?: HTTPMethod);
|
|
52
|
+
}
|
|
53
|
+
export interface NavigationRouteMatchOptions {
|
|
54
|
+
/**
|
|
55
|
+
* If any of these patterns
|
|
56
|
+
* match the URL's pathname and search parameter, the route will handle the
|
|
57
|
+
* request (assuming the denylist doesn't match).
|
|
58
|
+
*
|
|
59
|
+
* @default [/./]
|
|
60
|
+
*/
|
|
61
|
+
allowlist?: RegExp[];
|
|
62
|
+
/**
|
|
63
|
+
* If any of these patterns match, the route will not handle the request (even if a allowlist RegExp matches).
|
|
64
|
+
*/
|
|
65
|
+
denylist?: RegExp[];
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* A class that makes it easy to create a {@linkcode Route} object that matches navigation requests.
|
|
69
|
+
*
|
|
70
|
+
* It will only match incoming requests whose [`mode`](https://fetch.spec.whatwg.org/#concept-request-mode) is set to `"navigate"`.
|
|
71
|
+
*
|
|
72
|
+
* You can optionally only apply this route to a subset of navigation requests
|
|
73
|
+
* by using one or both of the `denylist` and `allowlist` parameters.
|
|
74
|
+
*/
|
|
75
|
+
export declare class NavigationRoute extends Route {
|
|
76
|
+
private readonly _allowlist;
|
|
77
|
+
private readonly _denylist;
|
|
78
|
+
/**
|
|
79
|
+
* If both `denylist` and `allowlist` are provided, `denylist` will
|
|
80
|
+
* take precedence.
|
|
81
|
+
*
|
|
82
|
+
* The regular expressions in `allowlist` and `denylist`
|
|
83
|
+
* are matched against the concatenated
|
|
84
|
+
* [`pathname`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/pathname)
|
|
85
|
+
* and [`search`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/search)
|
|
86
|
+
* portions of the requested URL.
|
|
87
|
+
*
|
|
88
|
+
* *Note*: These RegExps may be evaluated against every destination URL during
|
|
89
|
+
* a navigation. Avoid using
|
|
90
|
+
* [complex RegExps](https://github.com/GoogleChrome/workbox/issues/3077),
|
|
91
|
+
* or else your users may see delays when navigating your site.
|
|
92
|
+
*
|
|
93
|
+
* @param handler A callback function that returns a `Promise` resulting in a `Response`.
|
|
94
|
+
* @param options
|
|
95
|
+
*/
|
|
96
|
+
constructor(handler: RouteHandler, { allowlist, denylist }?: NavigationRouteMatchOptions);
|
|
97
|
+
/**
|
|
98
|
+
* Routes match handler.
|
|
99
|
+
*
|
|
100
|
+
* @param options
|
|
101
|
+
* @returns
|
|
102
|
+
* @private
|
|
103
|
+
*/
|
|
104
|
+
private _match;
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=route.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../src/lib/route.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAA6B,MAAM,YAAY,CAAC;AAElH;;;;;;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;AAED;;;;;;GAMG;AACH,qBAAa,WAAY,SAAQ,KAAK;IACpC;;;;;;;;;OASG;gBACS,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,UAAU;CAyCvE;AAED,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"}
|