@based/react 5.0.3 → 5.2.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/dist/ClientOnly.d.ts +4 -0
- package/dist/ClientOnly.js +11 -0
- package/dist/ClientOnly.js.map +1 -0
- package/dist/Head.d.ts +6 -0
- package/dist/Head.js +29 -0
- package/dist/Head.js.map +1 -0
- package/dist/collectQuery.d.ts +5 -0
- package/dist/collectQuery.js +5 -0
- package/dist/collectQuery.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/ssr.d.ts +7 -0
- package/dist/ssr.js +103 -0
- package/dist/ssr.js.map +1 -0
- package/dist/useClientOnly.d.ts +1 -0
- package/dist/useClientOnly.js +9 -0
- package/dist/useClientOnly.js.map +1 -0
- package/dist/useQuery.d.ts +3 -3
- package/dist/useQuery.js +5 -1
- package/dist/useQuery.js.map +1 -1
- package/dist/useWindow.d.ts +1 -4
- package/package.json +16 -8
- package/dist/Ctx.d.ts.map +0 -1
- package/dist/Provider.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/useAuthState.d.ts.map +0 -1
- package/dist/useClient.d.ts.map +0 -1
- package/dist/useConnected.d.ts.map +0 -1
- package/dist/useLoading.d.ts.map +0 -1
- package/dist/useQuery.d.ts.map +0 -1
- package/dist/useWindow.d.ts.map +0 -1
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useClientOnly } from './useClientOnly.js';
|
|
3
|
+
export const ClientOnly = ({ children }) => {
|
|
4
|
+
const client = useClientOnly();
|
|
5
|
+
if (!client)
|
|
6
|
+
return null;
|
|
7
|
+
return typeof children === 'function'
|
|
8
|
+
? React.createElement(children)
|
|
9
|
+
: children;
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=ClientOnly.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClientOnly.js","sourceRoot":"","sources":["../src/ClientOnly.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAE,QAAQ,EAAqC,EAAE,EAAE;IAC5E,MAAM,MAAM,GAAG,aAAa,EAAE,CAAA;IAC9B,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IACxB,OAAO,OAAO,QAAQ,KAAK,UAAU;QACnC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC;QAC/B,CAAC,CAAC,QAAQ,CAAA;AACd,CAAC,CAAA"}
|
package/dist/Head.d.ts
ADDED
package/dist/Head.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { createElement, useEffect, useState } from 'react';
|
|
2
|
+
import { createPortal } from 'react-dom';
|
|
3
|
+
let firstTimeHeadOnClient = true;
|
|
4
|
+
let isHydrating = true;
|
|
5
|
+
export const meta = { isCalled: false };
|
|
6
|
+
export const Head = ({ children }) => {
|
|
7
|
+
if (typeof window !== 'undefined') {
|
|
8
|
+
if (firstTimeHeadOnClient) {
|
|
9
|
+
document.head.innerHTML = document.head.innerHTML.replace(/<!-- x6Wa2 -->[^]*?<!-- x6Wa2 -->/g, '');
|
|
10
|
+
window.requestAnimationFrame(() => {
|
|
11
|
+
isHydrating = false;
|
|
12
|
+
});
|
|
13
|
+
firstTimeHeadOnClient = false;
|
|
14
|
+
}
|
|
15
|
+
const [readyToRender, isReady] = useState(!isHydrating);
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
isReady(true);
|
|
18
|
+
}, []);
|
|
19
|
+
if (!readyToRender) {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
return createPortal(children, document.head);
|
|
23
|
+
}
|
|
24
|
+
meta.isCalled = true;
|
|
25
|
+
return createElement('tmphead', {
|
|
26
|
+
children: children,
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=Head.js.map
|
package/dist/Head.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Head.js","sourceRoot":"","sources":["../src/Head.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,IAAI,qBAAqB,GAAG,IAAI,CAAA;AAChC,IAAI,WAAW,GAAG,IAAI,CAAA;AAEtB,MAAM,CAAC,MAAM,IAAI,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;AAEvC,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACnC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,IAAI,qBAAqB,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CACvD,oCAAoC,EACpC,EAAE,CACH,CAAA;YACD,MAAM,CAAC,qBAAqB,CAAC,GAAG,EAAE;gBAChC,WAAW,GAAG,KAAK,CAAA;YACrB,CAAC,CAAC,CAAA;YACF,qBAAqB,GAAG,KAAK,CAAA;QAC/B,CAAC;QACD,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAA;QACvD,SAAS,CAAC,GAAG,EAAE;YACb,OAAO,CAAC,IAAI,CAAC,CAAA;QACf,CAAC,EAAE,EAAE,CAAC,CAAA;QACN,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC9C,CAAC;IACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACpB,OAAO,aAAa,CAAC,SAAS,EAAE;QAC9B,QAAQ,EAAE,QAAQ;KACnB,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collectQuery.js","sourceRoot":"","sources":["../src/collectQuery.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAwB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAA;AAE3D,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAa,EAAE,EAAE;IAC5C,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACzB,CAAC,CAAA"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -6,4 +6,7 @@ export * from './useConnected.js';
|
|
|
6
6
|
export * from './useLoading.js';
|
|
7
7
|
export * from './useQuery.js';
|
|
8
8
|
export * from './useWindow.js';
|
|
9
|
+
export * from './useClientOnly.js';
|
|
10
|
+
export * from './ClientOnly.js';
|
|
11
|
+
export { Head } from './Head.js';
|
|
9
12
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA"}
|
package/dist/ssr.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { BasedQuery } from '@based/client';
|
|
2
|
+
export declare const syncCacheScript: (queries: BasedQuery[]) => string;
|
|
3
|
+
export declare const handleHeadComponents: (html: string) => string;
|
|
4
|
+
export declare const render: (reactApp: React.ReactElement, head?: React.ReactElement, depth?: number) => Promise<{
|
|
5
|
+
html: string;
|
|
6
|
+
head: string;
|
|
7
|
+
}>;
|
package/dist/ssr.js
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { renderToString } from 'react-dom/server';
|
|
2
|
+
import { lastCollected } from './collectQuery.js';
|
|
3
|
+
import { meta } from './Head.js';
|
|
4
|
+
// unsubscribe
|
|
5
|
+
const isActive = new Map();
|
|
6
|
+
export const syncCacheScript = (queries) => {
|
|
7
|
+
const m = {};
|
|
8
|
+
for (const q of queries) {
|
|
9
|
+
m[q.id] = q.cache;
|
|
10
|
+
}
|
|
11
|
+
return `<script>window.__basedcache__=${JSON.stringify(m)}</script>`;
|
|
12
|
+
};
|
|
13
|
+
const subAsPromise = (q) => new Promise((resolve) => {
|
|
14
|
+
let isresolved = false;
|
|
15
|
+
const rdy = () => {
|
|
16
|
+
if (!isresolved) {
|
|
17
|
+
isresolved = true;
|
|
18
|
+
resolve({ close, id: q.id });
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
var close = q.subscribe(rdy, rdy);
|
|
22
|
+
});
|
|
23
|
+
let isCleaning = false;
|
|
24
|
+
const clean = () => {
|
|
25
|
+
if (!isCleaning) {
|
|
26
|
+
isCleaning = true;
|
|
27
|
+
setTimeout(() => {
|
|
28
|
+
isCleaning = false;
|
|
29
|
+
const now = Date.now();
|
|
30
|
+
isActive.forEach((v, k) => {
|
|
31
|
+
if (v.close && v.date < now + 60e3) {
|
|
32
|
+
isActive.delete(k);
|
|
33
|
+
v.close();
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
if (isActive.size > 0) {
|
|
37
|
+
clean();
|
|
38
|
+
}
|
|
39
|
+
}, 60e3);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
export const handleHeadComponents = (html) => {
|
|
43
|
+
if (meta.isCalled) {
|
|
44
|
+
const tmpHead = html.match(/<tmphead>(.*?)<\/tmphead>/g);
|
|
45
|
+
const extractedHead = tmpHead
|
|
46
|
+
? tmpHead.join('\n').replace(/<\/?tmphead>/g, '')
|
|
47
|
+
: '';
|
|
48
|
+
return extractedHead ? `<!-- x6Wa2 -->${extractedHead}<!-- x6Wa2 -->` : '';
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
return '';
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
// if this is used start clearing stuff
|
|
55
|
+
// opts keep cache time do it
|
|
56
|
+
export const render = async (reactApp, head, depth = 0) => {
|
|
57
|
+
if (depth > 4) {
|
|
58
|
+
console.warn('@based/react/ssr render: Data depth is larger then 4, this can impact performance significantly');
|
|
59
|
+
}
|
|
60
|
+
let headStr = head ? renderToString(head) : '';
|
|
61
|
+
let html = renderToString(reactApp);
|
|
62
|
+
let collected = lastCollected.q;
|
|
63
|
+
let d = Date.now();
|
|
64
|
+
const rdy = [];
|
|
65
|
+
// HEAD COLLECTOR [] REACT ELEM
|
|
66
|
+
for (const q of lastCollected.q) {
|
|
67
|
+
if (!isActive.has(q.id)) {
|
|
68
|
+
rdy.push(subAsPromise(q));
|
|
69
|
+
isActive.set(q.id, { date: d });
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
isActive.get(q.id).date = d;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
if (rdy.length > 0) {
|
|
76
|
+
collected = [...lastCollected.q];
|
|
77
|
+
lastCollected.q = [];
|
|
78
|
+
const closers = await Promise.all(rdy);
|
|
79
|
+
d = Date.now();
|
|
80
|
+
for (const { id, close } of closers) {
|
|
81
|
+
isActive.set(id, {
|
|
82
|
+
close,
|
|
83
|
+
date: d,
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
return render(reactApp, head, ++depth);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
headStr = headStr + syncCacheScript(collected);
|
|
90
|
+
lastCollected.q = [];
|
|
91
|
+
}
|
|
92
|
+
clean();
|
|
93
|
+
const extractedHeadComponents = handleHeadComponents(html);
|
|
94
|
+
headStr = headStr + extractedHeadComponents;
|
|
95
|
+
if (extractedHeadComponents) {
|
|
96
|
+
return {
|
|
97
|
+
html: html.replace(/<tmphead>(.*?)<\/tmphead>/g, ''),
|
|
98
|
+
head: headStr,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
return { html, head: headStr };
|
|
102
|
+
};
|
|
103
|
+
//# sourceMappingURL=ssr.js.map
|
package/dist/ssr.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssr.js","sourceRoot":"","sources":["../src/ssr.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,cAAc;AAEd,MAAM,QAAQ,GAAsD,IAAI,GAAG,EAAE,CAAA;AAE7E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAqB,EAAE,EAAE;IACvD,MAAM,CAAC,GAAQ,EAAE,CAAA;IACjB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAA;IACnB,CAAC;IACD,OAAO,iCAAiC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAA;AACtE,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,CAAa,EAAE,EAAE,CACrC,IAAI,OAAO,CAAoC,CAAC,OAAO,EAAE,EAAE;IACzD,IAAI,UAAU,GAAG,KAAK,CAAA;IACtB,MAAM,GAAG,GAAG,GAAG,EAAE;QACf,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,UAAU,GAAG,IAAI,CAAA;YACjB,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC,CAAA;IACD,IAAI,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AACnC,CAAC,CAAC,CAAA;AAEJ,IAAI,UAAU,GAAG,KAAK,CAAA;AAEtB,MAAM,KAAK,GAAG,GAAG,EAAE;IACjB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,UAAU,GAAG,IAAI,CAAA;QACjB,UAAU,CAAC,GAAG,EAAE;YACd,UAAU,GAAG,KAAK,CAAA;YAClB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACtB,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACxB,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,EAAE,CAAC;oBACnC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;oBAClB,CAAC,CAAC,KAAK,EAAE,CAAA;gBACX,CAAC;YACH,CAAC,CAAC,CAAA;YACF,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACtB,KAAK,EAAE,CAAA;YACT,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,CAAA;IACV,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAE,EAAE;IACnD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAA;QACxD,MAAM,aAAa,GAAG,OAAO;YAC3B,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;YACjD,CAAC,CAAC,EAAE,CAAA;QACN,OAAO,aAAa,CAAC,CAAC,CAAC,iBAAiB,aAAa,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAA;IAC5E,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC,CAAA;AAED,uCAAuC;AACvC,6BAA6B;AAC7B,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,EACzB,QAA4B,EAC5B,IAAyB,EACzB,QAAgB,CAAC,EACwB,EAAE;IAC3C,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,OAAO,CAAC,IAAI,CACV,iGAAiG,CAClG,CAAA;IACH,CAAC;IACD,IAAI,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9C,IAAI,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAA;IACnC,IAAI,SAAS,GAAG,aAAa,CAAC,CAAC,CAAA;IAC/B,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAClB,MAAM,GAAG,GAAiD,EAAE,CAAA;IAE5D,+BAA+B;IAE/B,KAAK,MAAM,CAAC,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACxB,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;YACzB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAA;QACjC,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAA;QAC7B,CAAC;IACH,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,SAAS,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;QAChC,aAAa,CAAC,CAAC,GAAG,EAAE,CAAA;QACpB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACtC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACd,KAAK,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,OAAO,EAAE,CAAC;YACpC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE;gBACf,KAAK;gBACL,IAAI,EAAE,CAAC;aACR,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,CAAA;IACxC,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;QAC9C,aAAa,CAAC,CAAC,GAAG,EAAE,CAAA;IACtB,CAAC;IAED,KAAK,EAAE,CAAA;IAEP,MAAM,uBAAuB,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAA;IAE1D,OAAO,GAAG,OAAO,GAAG,uBAAuB,CAAA;IAE3C,IAAI,uBAAuB,EAAE,CAAC;QAC5B,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,4BAA4B,EAAE,EAAE,CAAC;YACpD,IAAI,EAAE,OAAO;SACd,CAAA;IACH,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AAChC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useClientOnly: () => boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useClientOnly.js","sourceRoot":"","sources":["../src/useClientOnly.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEnD,SAAS,CAAC,GAAG,EAAE;QACb,aAAa,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA"}
|
package/dist/useQuery.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { QueryMap } from '@based/client';
|
|
2
|
-
import { BasedError } from
|
|
2
|
+
import { BasedError } from '@based/errors';
|
|
3
3
|
export declare const useQueries: <T = any>(name?: string, payloads?: any[], opts?: {
|
|
4
4
|
persistent: boolean;
|
|
5
5
|
}) => {
|
|
@@ -17,11 +17,11 @@ export declare const useQueries: <T = any>(name?: string, payloads?: any[], opts
|
|
|
17
17
|
})
|
|
18
18
|
```
|
|
19
19
|
*/
|
|
20
|
-
export declare const useQuery: <N extends keyof QueryMap>(name: N, payload?: QueryMap[N][
|
|
20
|
+
export declare const useQuery: <N extends keyof QueryMap>(name: N, payload?: QueryMap[N]['payload'], opts?: {
|
|
21
21
|
persistent: boolean;
|
|
22
22
|
}) => {
|
|
23
23
|
loading: boolean;
|
|
24
|
-
data?: QueryMap[N][
|
|
24
|
+
data?: QueryMap[N]['result'];
|
|
25
25
|
error?: BasedError;
|
|
26
26
|
checksum?: number;
|
|
27
27
|
};
|
package/dist/useQuery.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { useContext, useState, useEffect } from 'react';
|
|
2
2
|
import { Ctx } from './Ctx.js';
|
|
3
3
|
import { hooksLoading, useLoadingListeners } from './useLoading.js';
|
|
4
|
+
import { collectQuery } from './collectQuery.js';
|
|
5
|
+
const IS_NODE = typeof window === 'undefined';
|
|
4
6
|
export const useQueries = (name, payloads, opts) => {
|
|
5
|
-
// TODO add error handling
|
|
6
7
|
const client = useContext(Ctx);
|
|
7
8
|
let key = '';
|
|
8
9
|
let sum = '';
|
|
@@ -82,6 +83,9 @@ export const useQuery = (name, payload, opts) => {
|
|
|
82
83
|
update(0);
|
|
83
84
|
};
|
|
84
85
|
}, [id]);
|
|
86
|
+
if (IS_NODE) {
|
|
87
|
+
collectQuery(q);
|
|
88
|
+
}
|
|
85
89
|
if (checksumOrError) {
|
|
86
90
|
const isLoading = hooksLoading.size > 0;
|
|
87
91
|
if (hooksLoading.delete(id)) {
|
package/dist/useQuery.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQuery.js","sourceRoot":"","sources":["../src/useQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGvD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"useQuery.js","sourceRoot":"","sources":["../src/useQuery.ts"],"names":[],"mappings":"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"}
|
package/dist/useWindow.d.ts
CHANGED
|
@@ -3,10 +3,7 @@ type UseWindowState = {
|
|
|
3
3
|
items: any[];
|
|
4
4
|
checksum?: number;
|
|
5
5
|
};
|
|
6
|
-
export declare const useWindow: (name: string, getPayload: ({ offset, limit }: {
|
|
7
|
-
offset: any;
|
|
8
|
-
limit: any;
|
|
9
|
-
}) => any, opts: {
|
|
6
|
+
export declare const useWindow: (name: string, getPayload: ({ offset, limit }) => any, opts: {
|
|
10
7
|
path: string[];
|
|
11
8
|
pages: number[];
|
|
12
9
|
size: number;
|
package/package.json
CHANGED
|
@@ -1,32 +1,40 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@based/react",
|
|
3
|
-
"version": "5.0
|
|
3
|
+
"version": "5.2.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"scripts": {
|
|
8
|
-
"browser": "npx aristotle watch -t ./test/browser.tsx",
|
|
9
|
-
"server": "npx ts-node-esm ./test/based-server.ts",
|
|
10
8
|
"build": "npx tsc",
|
|
9
|
+
"server": "node ./test/based-server.js",
|
|
10
|
+
"watch-server": "nodemon ./test/based-server.js",
|
|
11
|
+
"browser": "npx vite ./test/browser",
|
|
11
12
|
"watch": "npm run build -- --watch",
|
|
12
13
|
"clean": "rimraf {.turbo,dist,node_modules}"
|
|
13
14
|
},
|
|
15
|
+
"exports": {
|
|
16
|
+
"./ssr": "./dist/ssr.js",
|
|
17
|
+
".": "./dist/index.js"
|
|
18
|
+
},
|
|
14
19
|
"sideEffects": false,
|
|
15
20
|
"dependencies": {
|
|
16
21
|
"@saulx/hash": "^2.0.0",
|
|
17
|
-
"@based/errors": "^1.
|
|
22
|
+
"@based/errors": "^1.3.0"
|
|
18
23
|
},
|
|
19
24
|
"devDependencies": {
|
|
20
25
|
"@types/react": "^18.0.29",
|
|
21
26
|
"rimraf": "^3.0.2",
|
|
22
|
-
"ts-node": "10.9.1",
|
|
23
27
|
"typescript": "^5.2.2",
|
|
24
28
|
"react-dom": "^18.2.0",
|
|
25
|
-
"
|
|
26
|
-
"@based/client": "^
|
|
29
|
+
"esbuild": "^0.24.0",
|
|
30
|
+
"@based/client": "^6.0.1",
|
|
31
|
+
"nodemon": "^3.1.7",
|
|
32
|
+
"vite": "^5.2.8",
|
|
33
|
+
"@saulx/tsconfig": "^1.1.0"
|
|
27
34
|
},
|
|
28
35
|
"peerDependencies": {
|
|
29
36
|
"@based/client": "*",
|
|
30
|
-
"react": "16||17||18"
|
|
37
|
+
"react": "16||17||18",
|
|
38
|
+
"react-dom": "*"
|
|
31
39
|
}
|
|
32
40
|
}
|
package/dist/Ctx.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Ctx.d.ts","sourceRoot":"","sources":["../src/Ctx.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,eAAO,MAAM,GAAG,sCAAmC,CAAA"}
|
package/dist/Provider.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../src/Provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAG3C,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC;IACxB,MAAM,EAAE,WAAW,CAAA;IACnB,QAAQ,EAAE,SAAS,CAAA;CACpB,CAEA,CAAA"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useAuthState.d.ts","sourceRoot":"","sources":["../src/useAuthState.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,SAAS,EAAE,MAAM,eAAe,CAAA;AAGtD,eAAO,MAAM,YAAY,QAAO,SAgB/B,CAAA"}
|
package/dist/useClient.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useClient.d.ts","sourceRoot":"","sources":["../src/useClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAG3C,eAAO,MAAM,SAAS,QAAO,WAE5B,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useConnected.d.ts","sourceRoot":"","sources":["../src/useConnected.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,YAAY;;CAsBxB,CAAA"}
|
package/dist/useLoading.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useLoading.d.ts","sourceRoot":"","sources":["../src/useLoading.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,EAAE,GAAG,CAAC,QAAQ,CAAa,CAAA;AAC3D,eAAO,MAAM,YAAY,EAAE,GAAG,CAAC,MAAM,CAAa,CAAA;AAClD,eAAO,MAAM,UAAU,eAStB,CAAA"}
|
package/dist/useQuery.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useQuery.d.ts","sourceRoot":"","sources":["../src/useQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAIjE,eAAO,MAAM,UAAU,mBACd,MAAM,aACF,GAAG,EAAE,SACT;IACL,UAAU,EAAE,OAAO,CAAA;CACpB;aAEQ,OAAO;;YAER,UAAU;eACP,MAAM;GA4DlB,CAAA;AAED,eAAO,MAAM,QAAQ,+EAGZ;IACL,UAAU,EAAE,OAAO,CAAA;CACpB;aAEQ,OAAO;;YAER,UAAU;eACP,MAAM;CAsElB,CAAA"}
|
package/dist/useWindow.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useWindow.d.ts","sourceRoot":"","sources":["../src/useWindow.ts"],"names":[],"mappings":"AAKA,KAAK,cAAc,GAAG;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,GAAG,EAAE,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,SAAS,SACd,MAAM;;;MACuB,GAAG,QAChC;IACJ,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,iBACc,GAAG,KACjB,cAiIF,CAAA"}
|