@based/react 5.0.3 → 5.1.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.
@@ -0,0 +1,4 @@
1
+ import React, { ReactNode, FC } from 'react';
2
+ export declare const ClientOnly: ({ children }: {
3
+ children: ReactNode | FC<any>;
4
+ }) => React.ReactNode;
@@ -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"}
@@ -0,0 +1,5 @@
1
+ import { BasedQuery } from '@based/client';
2
+ export declare const lastCollected: {
3
+ q: BasedQuery[];
4
+ };
5
+ export declare const collectQuery: (q: BasedQuery) => void;
@@ -0,0 +1,5 @@
1
+ export const lastCollected = { q: [] };
2
+ export const collectQuery = (q) => {
3
+ lastCollected.q.push(q);
4
+ };
5
+ //# sourceMappingURL=collectQuery.js.map
@@ -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
@@ -6,3 +6,5 @@ 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';
package/dist/index.js CHANGED
@@ -6,4 +6,6 @@ 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';
9
11
  //# 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"}
package/dist/ssr.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ import { BasedQuery } from '@based/client';
2
+ export declare const syncCacheScript: (queries: BasedQuery[]) => string;
3
+ export declare const render: (reactApp: React.ReactElement, head?: React.ReactElement, depth?: number) => Promise<{
4
+ html: string;
5
+ head: string;
6
+ }>;
package/dist/ssr.js ADDED
@@ -0,0 +1,81 @@
1
+ import { renderToString } from 'react-dom/server';
2
+ import { lastCollected } from './collectQuery.js';
3
+ // unsubscribe
4
+ const isActive = new Map();
5
+ export const syncCacheScript = (queries) => {
6
+ const m = {};
7
+ for (const q of queries) {
8
+ m[q.id] = q.cache;
9
+ }
10
+ return `<script>window.__basedcache__=${JSON.stringify(m)}</script>`;
11
+ };
12
+ const subAsPromise = (q) => new Promise((resolve) => {
13
+ let isresolved = false;
14
+ const rdy = () => {
15
+ if (!isresolved) {
16
+ isresolved = true;
17
+ resolve({ close, id: q.id });
18
+ }
19
+ };
20
+ var close = q.subscribe(rdy, rdy);
21
+ });
22
+ let isCleaning = false;
23
+ const clean = () => {
24
+ if (!isCleaning) {
25
+ isCleaning = true;
26
+ setTimeout(() => {
27
+ isCleaning = false;
28
+ const now = Date.now();
29
+ isActive.forEach((v, k) => {
30
+ if (v.close && v.date < now + 60e3) {
31
+ isActive.delete(k);
32
+ v.close();
33
+ }
34
+ });
35
+ if (isActive.size > 0) {
36
+ clean();
37
+ }
38
+ }, 60e3);
39
+ }
40
+ };
41
+ // if this is used start clearing stuff
42
+ // opts keep cache time do it
43
+ export const render = async (reactApp, head, depth = 0) => {
44
+ if (depth > 4) {
45
+ console.warn('@based/react/ssr render: Data depth is larger then 4, this can impact performance significantly');
46
+ }
47
+ let headStr = head ? renderToString(head) : '';
48
+ let html = renderToString(reactApp);
49
+ let collected = lastCollected.q;
50
+ let d = Date.now();
51
+ const rdy = [];
52
+ for (const q of lastCollected.q) {
53
+ if (!isActive.has(q.id)) {
54
+ rdy.push(subAsPromise(q));
55
+ isActive.set(q.id, { date: d });
56
+ }
57
+ else {
58
+ isActive.get(q.id).date = d;
59
+ }
60
+ }
61
+ if (rdy.length > 0) {
62
+ collected = [...lastCollected.q];
63
+ lastCollected.q = [];
64
+ const closers = await Promise.all(rdy);
65
+ d = Date.now();
66
+ for (const { id, close } of closers) {
67
+ isActive.set(id, {
68
+ close,
69
+ date: d,
70
+ });
71
+ }
72
+ return render(reactApp, head, ++depth);
73
+ }
74
+ else {
75
+ headStr = headStr + syncCacheScript(collected);
76
+ lastCollected.q = [];
77
+ }
78
+ clean();
79
+ return { html, head: headStr };
80
+ };
81
+ //# sourceMappingURL=ssr.js.map
@@ -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;AAEjD,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,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;IAC5D,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,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AAChC,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const useClientOnly: () => boolean;
@@ -0,0 +1,9 @@
1
+ import { useEffect, useState } from 'react';
2
+ export const useClientOnly = () => {
3
+ const [hasMounted, setHasMounted] = useState(false);
4
+ useEffect(() => {
5
+ setHasMounted(true);
6
+ }, []);
7
+ return hasMounted;
8
+ };
9
+ //# sourceMappingURL=useClientOnly.js.map
@@ -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"}
@@ -1,5 +1,5 @@
1
1
  import { QueryMap } from '@based/client';
2
- import { BasedError } from "@based/errors";
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]["payload"], opts?: {
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]["result"];
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)) {
@@ -1 +1 @@
1
- {"version":3,"file":"useQuery.js","sourceRoot":"","sources":["../src/useQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useQuery.js","sourceRoot":"","sources":["../src/useQuery.ts"],"names":[],"mappings":"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"}
@@ -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,37 @@
1
1
  {
2
2
  "name": "@based/react",
3
- "version": "5.0.3",
3
+ "version": "5.1.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
+ "browser": "npx vite ./test/browser",
11
11
  "watch": "npm run build -- --watch",
12
12
  "clean": "rimraf {.turbo,dist,node_modules}"
13
13
  },
14
+ "exports": {
15
+ "./ssr": "./dist/ssr.js",
16
+ ".": "./dist/index.js"
17
+ },
14
18
  "sideEffects": false,
15
19
  "dependencies": {
16
20
  "@saulx/hash": "^2.0.0",
17
- "@based/errors": "^1.1.0"
21
+ "@based/errors": "^1.3.0"
18
22
  },
19
23
  "devDependencies": {
20
24
  "@types/react": "^18.0.29",
21
25
  "rimraf": "^3.0.2",
22
- "ts-node": "10.9.1",
23
26
  "typescript": "^5.2.2",
24
27
  "react-dom": "^18.2.0",
25
- "@saulx/aristotle": "^4.7.1",
26
- "@based/client": "^5.3.0"
28
+ "@based/client": "^6.0.1",
29
+ "vite": "^5.2.8",
30
+ "@saulx/tsconfig": "^1.1.0"
27
31
  },
28
32
  "peerDependencies": {
29
33
  "@based/client": "*",
30
- "react": "16||17||18"
34
+ "react": "16||17||18",
35
+ "react-dom": "*"
31
36
  }
32
37
  }
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"}
@@ -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"}
@@ -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"}
@@ -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"}
@@ -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"}
@@ -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"}
@@ -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"}