swimple 1.0.2 → 1.0.4
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/README.md +4 -4
- package/example/index.html +1 -1
- package/package.json +1 -1
- package/src/helpers.js +15 -2
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@ A simple service worker library for request caching.
|
|
|
17
17
|
|
|
18
18
|
```javascript
|
|
19
19
|
// sw.js
|
|
20
|
-
import { createHandleRequest } from "https://cdn.jsdelivr.net/npm/swimple@1.0.
|
|
20
|
+
import { createHandleRequest } from "https://cdn.jsdelivr.net/npm/swimple@1.0.4/src/index.js";
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
### NPM Install
|
|
@@ -50,7 +50,7 @@ try {
|
|
|
50
50
|
|
|
51
51
|
```javascript
|
|
52
52
|
// sw.js
|
|
53
|
-
import { createHandleRequest } from "https://cdn.jsdelivr.net/npm/swimple@1.0.
|
|
53
|
+
import { createHandleRequest } from "https://cdn.jsdelivr.net/npm/swimple@1.0.4/src/index.js";
|
|
54
54
|
|
|
55
55
|
// create the request handler
|
|
56
56
|
const handleRequest = createHandleRequest({
|
|
@@ -228,7 +228,7 @@ You can also manually trigger cleanup in your service worker's `activate` handle
|
|
|
228
228
|
|
|
229
229
|
```javascript
|
|
230
230
|
// sw.js
|
|
231
|
-
import { cleanupOldCacheEntries } from "https://cdn.jsdelivr.net/npm/swimple@1.0.
|
|
231
|
+
import { cleanupOldCacheEntries } from "https://cdn.jsdelivr.net/npm/swimple@1.0.4/src/index.js";
|
|
232
232
|
|
|
233
233
|
self.addEventListener("activate", (event) => {
|
|
234
234
|
event.waitUntil(
|
|
@@ -453,7 +453,7 @@ import {
|
|
|
453
453
|
CACHE_STALE_TTL_HEADER,
|
|
454
454
|
CACHE_INVALIDATE_HEADER,
|
|
455
455
|
CACHE_CLEAR_HEADER
|
|
456
|
-
} from "https://cdn.jsdelivr.net/npm/swimple@1.0.
|
|
456
|
+
} from "https://cdn.jsdelivr.net/npm/swimple@1.0.4/src/headers.js";
|
|
457
457
|
|
|
458
458
|
// Use in your fetch calls
|
|
459
459
|
const headers = new Headers();
|
package/example/index.html
CHANGED
|
@@ -531,7 +531,7 @@
|
|
|
531
531
|
d="M12 2C6.477 2 2 6.477 2 12c0 4.42 2.865 8.17 6.839 9.49.5.092.682-.217.682-.482 0-.237-.008-.866-.013-1.7-2.782.603-3.369-1.34-3.369-1.34-.454-1.156-1.11-1.463-1.11-1.463-.908-.62.069-.608.069-.608 1.003.07 1.531 1.03 1.531 1.03.892 1.529 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.11-4.555-4.943 0-1.091.39-1.984 1.029-2.683-.103-.253-.446-1.27.098-2.647 0 0 .84-.269 2.75 1.025A9.578 9.578 0 0112 6.836c.85.004 1.705.114 2.504.336 1.909-1.294 2.747-1.025 2.747-1.025.546 1.377.203 2.394.1 2.647.64.699 1.028 1.592 1.028 2.683 0 3.842-2.339 4.687-4.566 4.935.359.309.678.919.678 1.852 0 1.336-.012 2.415-.012 2.743 0 .267.18.578.688.48C19.138 20.167 22 16.418 22 12c0-5.523-4.477-10-10-10z"
|
|
532
532
|
/>
|
|
533
533
|
</svg>
|
|
534
|
-
|
|
534
|
+
Docs on GitHub
|
|
535
535
|
</a>
|
|
536
536
|
</div>
|
|
537
537
|
</div>
|
package/package.json
CHANGED
package/src/helpers.js
CHANGED
|
@@ -125,9 +125,22 @@ export function isStale(response, ttl, staleTTL) {
|
|
|
125
125
|
* @returns {Response}
|
|
126
126
|
*/
|
|
127
127
|
export function addTimestamp(response) {
|
|
128
|
+
// Clone the response to get the body (since Response body can only be read once)
|
|
128
129
|
const clonedResponse = response.clone();
|
|
129
|
-
|
|
130
|
-
|
|
130
|
+
|
|
131
|
+
// Create a new Headers object initialized with the original headers
|
|
132
|
+
// Use original response headers (not cloned) since we're creating a new Response anyway
|
|
133
|
+
// (We can't mutate cloned headers because they may be immutable in browsers)
|
|
134
|
+
const newHeaders = new Headers(response.headers);
|
|
135
|
+
newHeaders.set(CACHE_TIMESTAMP_HEADER, Date.now().toString());
|
|
136
|
+
|
|
137
|
+
// Create a new Response with the new headers, preserving all other properties
|
|
138
|
+
// Use cloned body to avoid consuming the original response body
|
|
139
|
+
return new Response(clonedResponse.body, {
|
|
140
|
+
status: response.status,
|
|
141
|
+
statusText: response.statusText,
|
|
142
|
+
headers: newHeaders
|
|
143
|
+
});
|
|
131
144
|
}
|
|
132
145
|
|
|
133
146
|
/**
|