@b9g/cache 0.2.0 → 0.2.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@b9g/cache",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "Universal Cache API for ServiceWorker applications. Provides standard CacheStorage and Cache interfaces across all JavaScript runtimes.",
5
5
  "keywords": [
6
6
  "cache",
@@ -11,6 +11,11 @@
11
11
  "universal",
12
12
  "shovel"
13
13
  ],
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "https://github.com/bikeshaving/shovel.git",
17
+ "directory": "packages/cache"
18
+ },
14
19
  "dependencies": {},
15
20
  "devDependencies": {
16
21
  "@b9g/libuild": "^0.1.18"
package/src/memory.d.ts CHANGED
@@ -35,3 +35,4 @@ export declare class MemoryCache extends Cache {
35
35
  */
36
36
  clear(): Promise<void>;
37
37
  }
38
+ export default MemoryCache;
package/src/memory.js CHANGED
@@ -169,12 +169,15 @@ var MemoryCache = class extends Cache {
169
169
  const toRemove = this.#storage.size - this.#options.maxEntries;
170
170
  let removed = 0;
171
171
  for (const key of this.#storage.keys()) {
172
- if (removed >= toRemove) break;
172
+ if (removed >= toRemove)
173
+ break;
173
174
  this.#storage.delete(key);
174
175
  removed++;
175
176
  }
176
177
  }
177
178
  };
179
+ var memory_default = MemoryCache;
178
180
  export {
179
- MemoryCache
181
+ MemoryCache,
182
+ memory_default as default
180
183
  };
@@ -18,9 +18,9 @@ export interface PostMessageCacheOptions {
18
18
  export declare class PostMessageCache extends Cache {
19
19
  #private;
20
20
  constructor(name: string, options?: PostMessageCacheOptions);
21
- match(request: Request, options?: CacheQueryOptions): Promise<Response | undefined>;
22
- put(request: Request, response: Response): Promise<void>;
23
- delete(request: Request, options?: CacheQueryOptions): Promise<boolean>;
24
- keys(request?: Request, options?: CacheQueryOptions): Promise<readonly Request[]>;
21
+ match(request: RequestInfo | URL, options?: CacheQueryOptions): Promise<Response | undefined>;
22
+ put(request: RequestInfo | URL, response: Response): Promise<void>;
23
+ delete(request: RequestInfo | URL, options?: CacheQueryOptions): Promise<boolean>;
24
+ keys(request?: RequestInfo | URL, options?: CacheQueryOptions): Promise<readonly Request[]>;
25
25
  clear(): Promise<void>;
26
26
  }
@@ -1,6 +1,6 @@
1
1
  /// <reference types="./postmessage.d.ts" />
2
2
  // src/postmessage.ts
3
- import { Cache } from "./index.js";
3
+ import { Cache, toRequest } from "./index.js";
4
4
  var pendingRequestsRegistry = /* @__PURE__ */ new Map();
5
5
  function handleCacheResponse(message) {
6
6
  const pending = pendingRequestsRegistry.get(message.requestID);
@@ -54,16 +54,17 @@ var PostMessageCache = class extends Cache {
54
54
  });
55
55
  }
56
56
  async match(request, options) {
57
+ const req = toRequest(request);
57
58
  let requestBody;
58
59
  const transfer = [];
59
- if (request.method !== "GET" && request.method !== "HEAD") {
60
- requestBody = await request.arrayBuffer();
60
+ if (req.method !== "GET" && req.method !== "HEAD") {
61
+ requestBody = await req.arrayBuffer();
61
62
  transfer.push(requestBody);
62
63
  }
63
64
  const serializedRequest = {
64
- url: request.url,
65
- method: request.method,
66
- headers: Object.fromEntries(request.headers),
65
+ url: req.url,
66
+ method: req.method,
67
+ headers: Object.fromEntries(req.headers),
67
68
  body: requestBody
68
69
  };
69
70
  const response = await this.#sendRequest(
@@ -84,19 +85,20 @@ var PostMessageCache = class extends Cache {
84
85
  });
85
86
  }
86
87
  async put(request, response) {
88
+ const req = toRequest(request);
87
89
  const transfer = [];
88
90
  let requestBody;
89
91
  let responseBody;
90
- if (request.method !== "GET" && request.method !== "HEAD") {
91
- requestBody = await request.clone().arrayBuffer();
92
+ if (req.method !== "GET" && req.method !== "HEAD") {
93
+ requestBody = await req.clone().arrayBuffer();
92
94
  transfer.push(requestBody);
93
95
  }
94
96
  responseBody = await response.clone().arrayBuffer();
95
97
  transfer.push(responseBody);
96
98
  const serializedRequest = {
97
- url: request.url,
98
- method: request.method,
99
- headers: Object.fromEntries(request.headers),
99
+ url: req.url,
100
+ method: req.method,
101
+ headers: Object.fromEntries(req.headers),
100
102
  body: requestBody
101
103
  };
102
104
  const serializedResponse = {
@@ -115,16 +117,17 @@ var PostMessageCache = class extends Cache {
115
117
  );
116
118
  }
117
119
  async delete(request, options) {
120
+ const req = toRequest(request);
118
121
  let requestBody;
119
122
  const transfer = [];
120
- if (request.method !== "GET" && request.method !== "HEAD") {
121
- requestBody = await request.arrayBuffer();
123
+ if (req.method !== "GET" && req.method !== "HEAD") {
124
+ requestBody = await req.arrayBuffer();
122
125
  transfer.push(requestBody);
123
126
  }
124
127
  const serializedRequest = {
125
- url: request.url,
126
- method: request.method,
127
- headers: Object.fromEntries(request.headers),
128
+ url: req.url,
129
+ method: req.method,
130
+ headers: Object.fromEntries(req.headers),
128
131
  body: requestBody
129
132
  };
130
133
  return await this.#sendRequest(
@@ -140,15 +143,16 @@ var PostMessageCache = class extends Cache {
140
143
  let serializedRequest;
141
144
  const transfer = [];
142
145
  if (request) {
146
+ const req = toRequest(request);
143
147
  let requestBody;
144
- if (request.method !== "GET" && request.method !== "HEAD") {
145
- requestBody = await request.arrayBuffer();
148
+ if (req.method !== "GET" && req.method !== "HEAD") {
149
+ requestBody = await req.arrayBuffer();
146
150
  transfer.push(requestBody);
147
151
  }
148
152
  serializedRequest = {
149
- url: request.url,
150
- method: request.method,
151
- headers: Object.fromEntries(request.headers),
153
+ url: req.url,
154
+ method: req.method,
155
+ headers: Object.fromEntries(req.headers),
152
156
  body: requestBody
153
157
  };
154
158
  }