@warp-drive-mirror/experiments 0.2.8 → 5.10.0-alpha.0
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 +2 -1
- package/dist/data-worker.d.ts +35 -0
- package/dist/data-worker.d.ts.map +1 -0
- package/dist/data-worker.js +235 -339
- package/dist/data-worker.js.map +1 -0
- package/dist/document-storage-CwwTQ49-.d.ts +91 -0
- package/dist/document-storage-CwwTQ49-.d.ts.map +1 -0
- package/dist/document-storage-LM925Stz.js +270 -0
- package/dist/document-storage-LM925Stz.js.map +1 -0
- package/dist/document-storage.d.ts +2 -0
- package/dist/document-storage.js +3 -1
- package/dist/image-fetch.d.ts +60 -0
- package/dist/image-fetch.d.ts.map +1 -0
- package/dist/image-fetch.js +108 -79
- package/dist/image-fetch.js.map +1 -0
- package/dist/image-worker.d.ts +40 -0
- package/dist/image-worker.d.ts.map +1 -0
- package/dist/image-worker.js +95 -95
- package/dist/image-worker.js.map +1 -0
- package/dist/pagination.d.ts +2 -0
- package/dist/pagination.js +3 -0
- package/dist/storage.d.ts +354 -0
- package/dist/storage.d.ts.map +1 -0
- package/dist/storage.js +914 -0
- package/dist/storage.js.map +1 -0
- package/dist/types-CRs-Qww6.d.ts +17 -0
- package/dist/types-CRs-Qww6.d.ts.map +1 -0
- package/dist/unpkg/dev/data-worker.js +231 -338
- package/dist/unpkg/dev/data-worker.js.map +1 -0
- package/dist/unpkg/dev/document-storage-DkiEg9rY.js +268 -0
- package/dist/unpkg/dev/document-storage-DkiEg9rY.js.map +1 -0
- package/dist/unpkg/dev/document-storage.js +2 -348
- package/dist/unpkg/dev/image-fetch.js +104 -71
- package/dist/unpkg/dev/image-fetch.js.map +1 -0
- package/dist/unpkg/dev/image-worker.js +93 -94
- package/dist/unpkg/dev/image-worker.js.map +1 -0
- package/dist/unpkg/dev/pagination.js +3 -0
- package/dist/unpkg/dev/storage.js +913 -0
- package/dist/unpkg/dev/storage.js.map +1 -0
- package/dist/unpkg/dev/worker-fetch.js +112 -145
- package/dist/unpkg/dev/worker-fetch.js.map +1 -0
- package/dist/unpkg/dev-deprecated/data-worker.js +231 -338
- package/dist/unpkg/dev-deprecated/data-worker.js.map +1 -0
- package/dist/unpkg/dev-deprecated/document-storage-DkiEg9rY.js +268 -0
- package/dist/unpkg/dev-deprecated/document-storage-DkiEg9rY.js.map +1 -0
- package/dist/unpkg/dev-deprecated/document-storage.js +2 -348
- package/dist/unpkg/dev-deprecated/image-fetch.js +104 -71
- package/dist/unpkg/dev-deprecated/image-fetch.js.map +1 -0
- package/dist/unpkg/dev-deprecated/image-worker.js +93 -94
- package/dist/unpkg/dev-deprecated/image-worker.js.map +1 -0
- package/dist/unpkg/dev-deprecated/pagination.js +3 -0
- package/dist/unpkg/dev-deprecated/storage.js +913 -0
- package/dist/unpkg/dev-deprecated/storage.js.map +1 -0
- package/dist/unpkg/dev-deprecated/worker-fetch.js +112 -145
- package/dist/unpkg/dev-deprecated/worker-fetch.js.map +1 -0
- package/dist/unpkg/prod/data-worker.js +224 -324
- package/dist/unpkg/prod/data-worker.js.map +1 -0
- package/dist/unpkg/prod/document-storage-D0k_6GM9.js +262 -0
- package/dist/unpkg/prod/document-storage-D0k_6GM9.js.map +1 -0
- package/dist/unpkg/prod/document-storage.js +2 -338
- package/dist/unpkg/prod/image-fetch.js +101 -71
- package/dist/unpkg/prod/image-fetch.js.map +1 -0
- package/dist/unpkg/prod/image-worker.js +93 -94
- package/dist/unpkg/prod/image-worker.js.map +1 -0
- package/dist/unpkg/prod/pagination.js +3 -0
- package/dist/unpkg/prod/storage.js +844 -0
- package/dist/unpkg/prod/storage.js.map +1 -0
- package/dist/unpkg/prod/worker-fetch.js +109 -145
- package/dist/unpkg/prod/worker-fetch.js.map +1 -0
- package/dist/unpkg/prod-deprecated/data-worker.js +224 -324
- package/dist/unpkg/prod-deprecated/data-worker.js.map +1 -0
- package/dist/unpkg/prod-deprecated/document-storage-D0k_6GM9.js +262 -0
- package/dist/unpkg/prod-deprecated/document-storage-D0k_6GM9.js.map +1 -0
- package/dist/unpkg/prod-deprecated/document-storage.js +2 -338
- package/dist/unpkg/prod-deprecated/image-fetch.js +101 -71
- package/dist/unpkg/prod-deprecated/image-fetch.js.map +1 -0
- package/dist/unpkg/prod-deprecated/image-worker.js +93 -94
- package/dist/unpkg/prod-deprecated/image-worker.js.map +1 -0
- package/dist/unpkg/prod-deprecated/pagination.js +3 -0
- package/dist/unpkg/prod-deprecated/storage.js +844 -0
- package/dist/unpkg/prod-deprecated/storage.js.map +1 -0
- package/dist/unpkg/prod-deprecated/worker-fetch.js +109 -145
- package/dist/unpkg/prod-deprecated/worker-fetch.js.map +1 -0
- package/dist/worker-fetch.d.ts +23 -0
- package/dist/worker-fetch.d.ts.map +1 -0
- package/dist/worker-fetch.js +116 -153
- package/dist/worker-fetch.js.map +1 -0
- package/package.json +27 -23
- package/declarations/data-worker/cache-handler.d.ts +0 -7
- package/declarations/data-worker/fetch.d.ts +0 -21
- package/declarations/data-worker/types.d.ts +0 -31
- package/declarations/data-worker/utils.d.ts +0 -12
- package/declarations/data-worker/worker.d.ts +0 -23
- package/declarations/data-worker.d.ts +0 -2
- package/declarations/document-storage/index.d.ts +0 -90
- package/declarations/document-storage.d.ts +0 -1
- package/declarations/image-fetch.d.ts +0 -1
- package/declarations/image-worker/fetch.d.ts +0 -18
- package/declarations/image-worker/types.d.ts +0 -21
- package/declarations/image-worker/worker.d.ts +0 -14
- package/declarations/image-worker.d.ts +0 -1
- package/declarations/worker-fetch.d.ts +0 -1
- package/dist/index-CGCX7hY2.js +0 -349
|
@@ -1,99 +1,98 @@
|
|
|
1
|
+
//#region src/image-worker/worker.ts
|
|
1
2
|
const WorkerScope = globalThis.SharedWorkerGlobalScope;
|
|
2
3
|
async function loadImage(url) {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
return URL.createObjectURL(fileBlob);
|
|
6
|
-
}
|
|
7
|
-
class ImageWorker {
|
|
8
|
-
constructor(options) {
|
|
9
|
-
// disable if running on main thread
|
|
10
|
-
if (typeof window !== 'undefined') {
|
|
11
|
-
return;
|
|
12
|
-
}
|
|
13
|
-
this.threads = new Map();
|
|
14
|
-
this.pendingImages = new Map();
|
|
15
|
-
this.cache = new Map();
|
|
16
|
-
this.options = options || {
|
|
17
|
-
persisted: false
|
|
18
|
-
};
|
|
19
|
-
this.isSharedWorker = WorkerScope && globalThis instanceof WorkerScope;
|
|
20
|
-
this.initialize();
|
|
21
|
-
}
|
|
22
|
-
fetch(url) {
|
|
23
|
-
const objectUrl = this.cache.get(url);
|
|
24
|
-
if (objectUrl) {
|
|
25
|
-
return Promise.resolve(objectUrl);
|
|
26
|
-
}
|
|
27
|
-
const pending = this.pendingImages.get(url);
|
|
28
|
-
if (pending) {
|
|
29
|
-
return pending;
|
|
30
|
-
}
|
|
31
|
-
const promise = loadImage(url);
|
|
32
|
-
this.pendingImages.set(url, promise);
|
|
33
|
-
return promise.finally(() => {
|
|
34
|
-
this.pendingImages.delete(url);
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
initialize() {
|
|
38
|
-
if (this.isSharedWorker) {
|
|
39
|
-
globalThis.onconnect = e => {
|
|
40
|
-
const port = e.ports[0];
|
|
41
|
-
port.onmessage = event => {
|
|
42
|
-
const {
|
|
43
|
-
type
|
|
44
|
-
} = event.data;
|
|
45
|
-
switch (type) {
|
|
46
|
-
case 'connect':
|
|
47
|
-
this.setupThread(event.data.thread, port);
|
|
48
|
-
break;
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
port.start();
|
|
52
|
-
};
|
|
53
|
-
} else {
|
|
54
|
-
globalThis.onmessage = event => {
|
|
55
|
-
const {
|
|
56
|
-
type
|
|
57
|
-
} = event.data;
|
|
58
|
-
switch (type) {
|
|
59
|
-
case 'connect':
|
|
60
|
-
this.setupThread(event.data.thread, event.ports[0]);
|
|
61
|
-
break;
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
setupThread(thread, port) {
|
|
67
|
-
this.threads.set(thread, port);
|
|
68
|
-
port.onmessage = event => {
|
|
69
|
-
if (event.type === 'close') {
|
|
70
|
-
this.threads.delete(thread);
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
const {
|
|
74
|
-
type
|
|
75
|
-
} = event.data;
|
|
76
|
-
switch (type) {
|
|
77
|
-
case 'load':
|
|
78
|
-
void this.request(event.data);
|
|
79
|
-
break;
|
|
80
|
-
}
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
async request(event) {
|
|
84
|
-
const {
|
|
85
|
-
thread,
|
|
86
|
-
url
|
|
87
|
-
} = event;
|
|
88
|
-
const objectUrl = await this.fetch(url);
|
|
89
|
-
const port = this.threads.get(thread);
|
|
90
|
-
port.postMessage({
|
|
91
|
-
type: 'success-response',
|
|
92
|
-
thread,
|
|
93
|
-
url,
|
|
94
|
-
objectUrl
|
|
95
|
-
});
|
|
96
|
-
}
|
|
4
|
+
const fileBlob = await (await fetch(url)).blob();
|
|
5
|
+
return URL.createObjectURL(fileBlob);
|
|
97
6
|
}
|
|
7
|
+
/**
|
|
8
|
+
* Runs inside a `Worker` or `SharedWorker` to fetch images on behalf of
|
|
9
|
+
* one or more {@link ImageFetch} instances running on the main thread(s)
|
|
10
|
+
* that connect to it.
|
|
11
|
+
*
|
|
12
|
+
* Each connecting thread registers itself by sending a `connect` message
|
|
13
|
+
* along with a {@link MessagePort}. When a thread sends a `load` request
|
|
14
|
+
* for a url, the worker fetches the image via `fetch`, converts the
|
|
15
|
+
* response into a `Blob`, and creates an object url for it via
|
|
16
|
+
* `URL.createObjectURL`. The fetch for a given url is deduped and cached
|
|
17
|
+
* in-memory for the lifetime of the worker, so repeat `load` requests for
|
|
18
|
+
* the same url — whether from the same or a different connected thread —
|
|
19
|
+
* do not trigger another network request.
|
|
20
|
+
*
|
|
21
|
+
* Only intended for use inside a Worker context: constructing an
|
|
22
|
+
* `ImageWorker` on the main thread is a no-op.
|
|
23
|
+
*
|
|
24
|
+
* @public
|
|
25
|
+
*/
|
|
26
|
+
var ImageWorker = class {
|
|
27
|
+
/**
|
|
28
|
+
* @param options.persisted - reserved for a future on-disk cache; currently unused.
|
|
29
|
+
*/
|
|
30
|
+
constructor(options) {
|
|
31
|
+
if (typeof window !== "undefined") return;
|
|
32
|
+
this.threads = /* @__PURE__ */ new Map();
|
|
33
|
+
this.pendingImages = /* @__PURE__ */ new Map();
|
|
34
|
+
this.cache = /* @__PURE__ */ new Map();
|
|
35
|
+
this.options = options || { persisted: false };
|
|
36
|
+
this.isSharedWorker = WorkerScope && globalThis instanceof WorkerScope;
|
|
37
|
+
this.initialize();
|
|
38
|
+
}
|
|
39
|
+
fetch(url) {
|
|
40
|
+
const objectUrl = this.cache.get(url);
|
|
41
|
+
if (objectUrl) return Promise.resolve(objectUrl);
|
|
42
|
+
const pending = this.pendingImages.get(url);
|
|
43
|
+
if (pending) return pending;
|
|
44
|
+
const promise = loadImage(url).then((loadedObjectUrl) => {
|
|
45
|
+
this.cache.set(url, loadedObjectUrl);
|
|
46
|
+
return loadedObjectUrl;
|
|
47
|
+
});
|
|
48
|
+
this.pendingImages.set(url, promise);
|
|
49
|
+
return promise.finally(() => {
|
|
50
|
+
this.pendingImages.delete(url);
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
initialize() {
|
|
54
|
+
if (this.isSharedWorker) globalThis.onconnect = (e) => {
|
|
55
|
+
const port = e.ports[0];
|
|
56
|
+
port.onmessage = (event) => {
|
|
57
|
+
const { type } = event.data;
|
|
58
|
+
switch (type) {
|
|
59
|
+
case "connect": this.setupThread(event.data.thread, port);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
port.start();
|
|
63
|
+
};
|
|
64
|
+
else globalThis.onmessage = (event) => {
|
|
65
|
+
const { type } = event.data;
|
|
66
|
+
switch (type) {
|
|
67
|
+
case "connect": this.setupThread(event.data.thread, event.ports[0]);
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
setupThread(thread, port) {
|
|
72
|
+
this.threads.set(thread, port);
|
|
73
|
+
port.onmessage = (event) => {
|
|
74
|
+
if (event.type === "close") {
|
|
75
|
+
this.threads.delete(thread);
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
const { type } = event.data;
|
|
79
|
+
switch (type) {
|
|
80
|
+
case "load": this.request(event.data);
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
async request(event) {
|
|
85
|
+
const { thread, url } = event;
|
|
86
|
+
const objectUrl = await this.fetch(url);
|
|
87
|
+
this.threads.get(thread).postMessage({
|
|
88
|
+
type: "success-response",
|
|
89
|
+
thread,
|
|
90
|
+
url,
|
|
91
|
+
objectUrl
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
};
|
|
98
95
|
|
|
96
|
+
//#endregion
|
|
99
97
|
export { ImageWorker };
|
|
98
|
+
//# sourceMappingURL=image-worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-worker.js","names":["WorkerScope","globalThis","SharedWorkerGlobalScope","loadImage","url","response","fetch","fileBlob","blob","URL","createObjectURL","ImageWorker","constructor","options","window","threads","Map","pendingImages","cache","persisted","isSharedWorker","initialize","objectUrl","get","Promise","resolve","pending","promise","then","loadedObjectUrl","set","finally","delete","onconnect","e","port","ports","onmessage","event","type","data","setupThread","thread","start","request","postMessage"],"sources":["../../../src/image-worker/worker.ts"],"sourcesContent":["// oxlint-disable-next-line no-unused-vars\nimport type { ImageFetch } from './fetch';\nimport type { RequestEventData, ThreadInitEventData, WorkerThreadEvent } from './types';\n\nconst WorkerScope = (globalThis as unknown as { SharedWorkerGlobalScope: FunctionConstructor }).SharedWorkerGlobalScope;\n\nasync function loadImage(url: string): Promise<string> {\n const response = await fetch(url);\n const fileBlob = await response.blob();\n return URL.createObjectURL(fileBlob);\n}\n\n/**\n * Runs inside a `Worker` or `SharedWorker` to fetch images on behalf of\n * one or more {@link ImageFetch} instances running on the main thread(s)\n * that connect to it.\n *\n * Each connecting thread registers itself by sending a `connect` message\n * along with a {@link MessagePort}. When a thread sends a `load` request\n * for a url, the worker fetches the image via `fetch`, converts the\n * response into a `Blob`, and creates an object url for it via\n * `URL.createObjectURL`. The fetch for a given url is deduped and cached\n * in-memory for the lifetime of the worker, so repeat `load` requests for\n * the same url — whether from the same or a different connected thread —\n * do not trigger another network request.\n *\n * Only intended for use inside a Worker context: constructing an\n * `ImageWorker` on the main thread is a no-op.\n *\n * @public\n */\nexport class ImageWorker {\n declare private threads: Map<string, MessagePort>;\n declare private pendingImages: Map<string, Promise<string>>;\n declare private options: { persisted: boolean };\n declare private isSharedWorker: boolean;\n declare private cache: Map<string, string>;\n\n /**\n * @param options.persisted - reserved for a future on-disk cache; currently unused.\n */\n constructor(options?: { persisted: boolean }) {\n // disable if running on main thread\n if (typeof window !== 'undefined') {\n return;\n }\n this.threads = new Map();\n this.pendingImages = new Map();\n this.cache = new Map();\n this.options = options || { persisted: false };\n this.isSharedWorker = WorkerScope && globalThis instanceof WorkerScope;\n this.initialize();\n }\n\n private fetch(url: string): Promise<string> {\n const objectUrl = this.cache.get(url);\n\n if (objectUrl) {\n return Promise.resolve(objectUrl);\n }\n\n const pending = this.pendingImages.get(url);\n if (pending) {\n return pending;\n }\n\n const promise = loadImage(url).then((loadedObjectUrl) => {\n this.cache.set(url, loadedObjectUrl);\n return loadedObjectUrl;\n });\n this.pendingImages.set(url, promise);\n return promise.finally(() => {\n this.pendingImages.delete(url);\n });\n }\n\n private initialize(): void {\n if (this.isSharedWorker) {\n (globalThis as unknown as { onconnect: typeof globalThis.onmessage }).onconnect = (e) => {\n const port = e.ports[0];\n port.onmessage = (event: MessageEvent<ThreadInitEventData>) => {\n const { type } = event.data;\n\n switch (type) {\n case 'connect':\n this.setupThread(event.data.thread, port);\n break;\n }\n };\n port.start();\n };\n } else {\n globalThis.onmessage = (event: MessageEvent<ThreadInitEventData>) => {\n const { type } = event.data;\n\n switch (type) {\n case 'connect':\n this.setupThread(event.data.thread, event.ports[0]);\n break;\n }\n };\n }\n }\n\n private setupThread(thread: string, port: MessagePort): void {\n this.threads.set(thread, port);\n port.onmessage = (event: WorkerThreadEvent) => {\n if (event.type === 'close') {\n this.threads.delete(thread);\n return;\n }\n\n const { type } = event.data;\n switch (type) {\n case 'load':\n void this.request(event.data);\n break;\n }\n };\n }\n\n private async request(event: RequestEventData): Promise<void> {\n const { thread, url } = event;\n\n const objectUrl = await this.fetch(url);\n const port = this.threads.get(thread)!;\n port.postMessage({ type: 'success-response', thread, url, objectUrl });\n }\n}\n"],"mappings":";AAIA,MAAMA,cAAeC,WAA2EC;AAEhG,eAAeC,UAAUC,KAA8B;CAErD,MAAMG,WAAW,OAAMF,MADAC,MAAMF,GAAG,EACD,CAACI,KAAK;CACrC,OAAOC,IAAIC,gBAAgBH,QAAQ;AACrC;;;;;;;;;;;;;;;;;;;;AAqBA,IAAaI,cAAb,MAAyB;;;;CAUvBC,YAAYC,SAAkC;EAE5C,IAAI,OAAOC,WAAW,aACpB;EAEF,KAAKC,0BAAU,IAAIC,IAAI;EACvB,KAAKC,gCAAgB,IAAID,IAAI;EAC7B,KAAKE,wBAAQ,IAAIF,IAAI;EACrB,KAAKH,UAAUA,WAAW,EAAEM,WAAW,MAAM;EAC7C,KAAKC,iBAAiBpB,eAAeC,sBAAsBD;EAC3D,KAAKqB,WAAW;CAClB;CAEQf,MAAMF,KAA8B;EAC1C,MAAMkB,YAAY,KAAKJ,MAAMK,IAAInB,GAAG;EAEpC,IAAIkB,WACF,OAAOE,QAAQC,QAAQH,SAAS;EAGlC,MAAMI,UAAU,KAAKT,cAAcM,IAAInB,GAAG;EAC1C,IAAIsB,SACF,OAAOA;EAGT,MAAMC,UAAUxB,UAAUC,GAAG,CAAC,CAACwB,MAAMC,oBAAoB;GACvD,KAAKX,MAAMY,IAAI1B,KAAKyB,eAAe;GACnC,OAAOA;EACT,CAAC;EACD,KAAKZ,cAAca,IAAI1B,KAAKuB,OAAO;EACnC,OAAOA,QAAQI,cAAc;GAC3B,KAAKd,cAAce,OAAO5B,GAAG;EAC/B,CAAC;CACH;CAEQiB,aAAmB;EACzB,IAAI,KAAKD,gBACNnB,WAAqEgC,aAAaC,MAAM;GACvF,MAAMC,OAAOD,EAAEE,MAAM;GACrBD,KAAKE,aAAaC,UAA6C;IAC7D,MAAM,EAAEC,SAASD,MAAME;IAEvB,QAAQD,MAAR;KACE,KAAK,WACH,KAAKE,YAAYH,MAAME,KAAKE,QAAQP,IAAI;IAE5C;GACF;GACAA,KAAKQ,MAAM;EACb;OAEA1C,WAAWoC,aAAaC,UAA6C;GACnE,MAAM,EAAEC,SAASD,MAAME;GAEvB,QAAQD,MAAR;IACE,KAAK,WACH,KAAKE,YAAYH,MAAME,KAAKE,QAAQJ,MAAMF,MAAM,EAAE;GAEtD;EACF;CAEJ;CAEQK,YAAYC,QAAgBP,MAAyB;EAC3D,KAAKpB,QAAQe,IAAIY,QAAQP,IAAI;EAC7BA,KAAKE,aAAaC,UAA6B;GAC7C,IAAIA,MAAMC,SAAS,SAAS;IAC1B,KAAKxB,QAAQiB,OAAOU,MAAM;IAC1B;GACF;GAEA,MAAM,EAAEH,SAASD,MAAME;GACvB,QAAQD,MAAR;IACE,KAAK,QACH,AAAK,KAAKK,QAAQN,MAAME,IAAI;GAEhC;EACF;CACF;CAEA,MAAcI,QAAQN,OAAwC;EAC5D,MAAM,EAAEI,QAAQtC,QAAQkC;EAExB,MAAMhB,YAAY,MAAM,KAAKhB,MAAMF,GAAG;EAEtC+B,AADa,KAAKpB,QAAQQ,IAAImB,MAC9BP,CAAI,CAACU,YAAY;GAAEN,MAAM;GAAoBG;GAAQtC;GAAKkB;EAAU,CAAC;CACvE;AACF"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { clearPaginationCache, createPaginationLinksSubscription, createPaginationSubscription, defaultPageHints, getPaginationCache, getPaginationLinks, getPaginationState } from "@warp-drive-mirror/core/signals/-leaked";
|
|
2
|
+
|
|
3
|
+
export { clearPaginationCache, createPaginationLinksSubscription, createPaginationSubscription, defaultPageHints, getPaginationCache, getPaginationLinks, getPaginationState };
|