@pol-studios/db 1.0.31 → 1.0.34
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/{DataLayerContext-Dc7nF2IG.d.ts → DataLayerContext-BwMk4VpG.d.ts} +92 -8
- package/dist/UserMetadataContext-QLIv-mfF.d.ts +171 -0
- package/dist/{UserMetadataContext-B8gVWGMl.d.ts → UserMetadataContext-pQb3A8_Q.d.ts} +1 -1
- package/dist/auth/context.d.ts +53 -5
- package/dist/auth/context.js +30 -8
- package/dist/auth/guards.d.ts +9 -9
- package/dist/auth/guards.js +2 -3
- package/dist/auth/hooks.d.ts +108 -4
- package/dist/auth/hooks.js +13 -9
- package/dist/auth/index.d.ts +6 -6
- package/dist/auth/index.js +45 -17
- package/dist/chunk-5HJLTYRA.js +355 -0
- package/dist/chunk-5HJLTYRA.js.map +1 -0
- package/dist/{chunk-WX4ABYIF.js → chunk-67HMVGV7.js} +292 -94
- package/dist/chunk-67HMVGV7.js.map +1 -0
- package/dist/chunk-6KN7KLEG.js +1 -0
- package/dist/{chunk-FZF26ZRB.js → chunk-7BGDQT5X.js} +29 -16
- package/dist/{chunk-FZF26ZRB.js.map → chunk-7BGDQT5X.js.map} +1 -1
- package/dist/{chunk-P4UZ7IXC.js → chunk-7D4SUZUM.js} +1 -5
- package/dist/{chunk-3PJTNH2L.js → chunk-AKIRHA4Q.js} +2 -2
- package/dist/{chunk-OQ7U6EQ3.js → chunk-AML2TLXJ.js} +3801 -3424
- package/dist/chunk-AML2TLXJ.js.map +1 -0
- package/dist/{chunk-5EFDS7SR.js → chunk-DMVUEJG2.js} +7 -2
- package/dist/chunk-DMVUEJG2.js.map +1 -0
- package/dist/{chunk-ADD5MIMK.js → chunk-FESQS4S5.js} +15 -15
- package/dist/{chunk-ADD5MIMK.js.map → chunk-FESQS4S5.js.map} +1 -1
- package/dist/{chunk-U5UNPBKB.js → chunk-FI6JAD5G.js} +3 -3
- package/dist/{chunk-TKWR5AAY.js → chunk-JOULSXOI.js} +2 -2
- package/dist/{chunk-HTJ2FQW5.js → chunk-LF3V3ERS.js} +13 -15
- package/dist/{chunk-HTJ2FQW5.js.map → chunk-LF3V3ERS.js.map} +1 -1
- package/dist/{chunk-5BLKZUKM.js → chunk-MREERKQU.js} +45 -14
- package/dist/chunk-MREERKQU.js.map +1 -0
- package/dist/{chunk-VGEMLNNM.js → chunk-NP34C3O3.js} +306 -704
- package/dist/chunk-NP34C3O3.js.map +1 -0
- package/dist/{chunk-CNIGRBRE.js → chunk-QJZUIAHA.js} +43 -19
- package/dist/{chunk-CNIGRBRE.js.map → chunk-QJZUIAHA.js.map} +1 -1
- package/dist/{chunk-HAWJTZCK.js → chunk-RT4O5H2E.js} +5 -7
- package/dist/chunk-RT4O5H2E.js.map +1 -0
- package/dist/{chunk-2NVSXZKQ.js → chunk-TN7QINPK.js} +74 -309
- package/dist/chunk-TN7QINPK.js.map +1 -0
- package/dist/chunk-UBHORKBS.js +215 -0
- package/dist/chunk-UBHORKBS.js.map +1 -0
- package/dist/{chunk-WVF7RUW5.js → chunk-WM25QE7E.js} +3 -3
- package/dist/{chunk-H6365JPC.js → chunk-YUX6RGLZ.js} +3 -3
- package/dist/{chunk-H6365JPC.js.map → chunk-YUX6RGLZ.js.map} +1 -1
- package/dist/{chunk-H3LNH2NT.js → chunk-Z456IHCB.js} +5 -9
- package/dist/{chunk-H3LNH2NT.js.map → chunk-Z456IHCB.js.map} +1 -1
- package/dist/{chunk-JAATANS3.js → chunk-ZCOFRJQD.js} +3 -3
- package/dist/{chunk-JAATANS3.js.map → chunk-ZCOFRJQD.js.map} +1 -1
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.js +2 -2
- package/dist/core/index.d.ts +54 -31
- package/dist/{executor-Br27YZvl.d.ts → executor-YJw4m7Q7.d.ts} +9 -1
- package/dist/gen/index.js +1 -1
- package/dist/hooks/index.d.ts +3 -22
- package/dist/hooks/index.js +12 -9
- package/dist/{index-CYFdO0iB.d.ts → index-lveh8qb0.d.ts} +1 -1
- package/dist/index.d.ts +38 -10
- package/dist/index.js +57 -36
- package/dist/index.native.d.ts +19 -13
- package/dist/index.native.js +64 -35
- package/dist/index.web.d.ts +18 -45
- package/dist/index.web.js +58 -49
- package/dist/index.web.js.map +1 -1
- package/dist/mutation/index.d.ts +2 -2
- package/dist/mutation/index.js +5 -5
- package/dist/parser/index.js +4 -4
- package/dist/powersync-bridge/index.d.ts +18 -3
- package/dist/powersync-bridge/index.js +2 -2
- package/dist/query/index.d.ts +1 -1
- package/dist/query/index.js +7 -8
- package/dist/realtime/index.js +7 -9
- package/dist/realtime/index.js.map +1 -1
- package/dist/types/index.d.ts +3 -3
- package/dist/types/index.js +6 -7
- package/dist/{useBatchUpsert-9OYjibLh.d.ts → useBatchUpsert-DAkiCNo3.d.ts} +1 -1
- package/dist/{useDbCount-Dk0yCKlT.d.ts → useDbCount-DWfYB2iu.d.ts} +16 -2
- package/dist/{useResolveFeedback-C1KucfdQ.d.ts → useResolveFeedback-CxLccZKK.d.ts} +197 -93
- package/dist/{useSupabase-DvWVuHHE.d.ts → useSupabase-DSZNeXnF.d.ts} +1 -1
- package/dist/with-auth/index.d.ts +2 -2
- package/dist/with-auth/index.js +46 -33
- package/dist/with-auth/index.js.map +1 -1
- package/package.json +18 -8
- package/dist/UserMetadataContext-DntmpK41.d.ts +0 -33
- package/dist/canvas-C4TBBDUL.node +0 -0
- package/dist/canvas-ZQNCL7JL.js +0 -1541
- package/dist/canvas-ZQNCL7JL.js.map +0 -1
- package/dist/chunk-2NVSXZKQ.js.map +0 -1
- package/dist/chunk-5BLKZUKM.js.map +0 -1
- package/dist/chunk-5EFDS7SR.js.map +0 -1
- package/dist/chunk-HAWJTZCK.js.map +0 -1
- package/dist/chunk-NSIAAYW3.js +0 -1
- package/dist/chunk-O7SETNGD.js +0 -3391
- package/dist/chunk-O7SETNGD.js.map +0 -1
- package/dist/chunk-OQ7U6EQ3.js.map +0 -1
- package/dist/chunk-VGEMLNNM.js.map +0 -1
- package/dist/chunk-WX4ABYIF.js.map +0 -1
- package/dist/dist-NDNRSNOG.js +0 -521
- package/dist/dist-NDNRSNOG.js.map +0 -1
- package/dist/pdf-PHXP7RHD.js +0 -20336
- package/dist/pdf-PHXP7RHD.js.map +0 -1
- /package/dist/{chunk-NSIAAYW3.js.map → chunk-6KN7KLEG.js.map} +0 -0
- /package/dist/{chunk-P4UZ7IXC.js.map → chunk-7D4SUZUM.js.map} +0 -0
- /package/dist/{chunk-3PJTNH2L.js.map → chunk-AKIRHA4Q.js.map} +0 -0
- /package/dist/{chunk-U5UNPBKB.js.map → chunk-FI6JAD5G.js.map} +0 -0
- /package/dist/{chunk-TKWR5AAY.js.map → chunk-JOULSXOI.js.map} +0 -0
- /package/dist/{chunk-WVF7RUW5.js.map → chunk-WM25QE7E.js.map} +0 -0
|
@@ -105,7 +105,12 @@ function SupabaseProvider(t0) {
|
|
|
105
105
|
let t2;
|
|
106
106
|
if ($[3] !== afterInitialize || $[4] !== supabaseClient) {
|
|
107
107
|
t2 = () => {
|
|
108
|
-
afterInitialize && afterInitialize(supabaseClient);
|
|
108
|
+
const cleanup = afterInitialize && afterInitialize(supabaseClient);
|
|
109
|
+
return () => {
|
|
110
|
+
if (typeof cleanup === "function") {
|
|
111
|
+
cleanup();
|
|
112
|
+
}
|
|
113
|
+
};
|
|
109
114
|
};
|
|
110
115
|
$[3] = afterInitialize;
|
|
111
116
|
$[4] = supabaseClient;
|
|
@@ -202,4 +207,4 @@ export {
|
|
|
202
207
|
useSupabase,
|
|
203
208
|
SupabaseProvider
|
|
204
209
|
};
|
|
205
|
-
//# sourceMappingURL=chunk-
|
|
210
|
+
//# sourceMappingURL=chunk-DMVUEJG2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/client/config.ts","../src/client/useSupabase.tsx","../src/utils/uuid.ts"],"sourcesContent":["let supabaseUrl = process.env.SUPABASE_URL;\nlet supabaseKey = process.env.SUPABASE_ANON_KEY ?? \"\";\nexport function setSupabaseUrl(url: string) {\n supabaseUrl = url;\n}\nexport function getSupabaseUrl() {\n return supabaseUrl;\n}\nexport function setSupabaseKey(key: string) {\n supabaseKey = key;\n}\nexport function getSupabaseKey() {\n return supabaseKey;\n}","import { c as _c } from \"react/compiler-runtime\";\nimport { createContext, ReactNode, useContext, useEffect, useMemo, useState } from \"react\";\nimport { createClient, SupabaseClient, SupabaseClientOptions } from \"@supabase/supabase-js\";\nimport { getSupabaseUrl, getSupabaseKey } from \"./config\";\nimport { generateUUID } from \"../utils/uuid\";\n\n// This interface is augmented by consumers to provide their database types\n// Example: declare module '@pol-studios/db' { interface SupabaseDatabaseTypes { Database: MyDatabaseType } }\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface SupabaseDatabaseTypes {}\nexport type Database = SupabaseDatabaseTypes extends {\n Database: infer D;\n} ? D : any;\nexport type TypedSupabaseClient = SupabaseClient<Database>;\nfunction newUuid(): string {\n return generateUUID();\n}\nfunction isUsable<T>(value: T | null | undefined): value is T {\n return value !== null && value !== undefined;\n}\nfunction delay(ms: number): Promise<void> {\n return new Promise(resolve => setTimeout(resolve, ms));\n}\n\n// Client instance ID - for self-change detection and cache keys (static per app instance)\n// NOT the database session ID - just identifies this browser tab/app instance\nexport const ClientInstanceId = newUuid();\n\n// DEPRECATED: Alias for backward compatibility - use ClientInstanceId instead\nexport const UserSessionId = ClientInstanceId;\nlet defaultOptions: any = {\n auth: {\n autoRefreshToken: true,\n persistSession: true,\n detectSessionInUrl: true\n },\n global: {},\n realtime: {}\n};\nexport function createNewSupabaseClient<SchemaName extends string & keyof Database = (\"public\" extends keyof Database ? \"public\" : string & keyof Database)>(options?: SupabaseClientOptions<SchemaName>) {\n const client = createClient<Database, SchemaName>(getSupabaseUrl()!, getSupabaseKey()!, {\n ...defaultOptions,\n ...options\n });\n onSupabaseInitializedAction && onSupabaseInitializedAction(client as any);\n return client;\n}\nlet onSupabaseInitializedAction: ((supabase: SupabaseClient) => any) | undefined = undefined;\nexport function onSupabaseInitialized(afterInitialize: (supabase: SupabaseClient) => any) {\n onSupabaseInitializedAction = afterInitialize;\n}\nexport function setDefaultOptions(options: SupabaseClientOptions<string & keyof Database>) {\n defaultOptions = options;\n}\nexport let typedSupabase: SupabaseClient<Database> = null as SupabaseClient<Database>;\nconst context = createContext({\n supabaseClient: typedSupabase as SupabaseClient<Database> | null\n});\nexport default function useSupabase() {\n const supabaseContext = useContext(context);\n if (isUsable(supabaseContext?.supabaseClient) === false) {\n throw new Error(\"Hook not inside a supabase context provider.\");\n }\n return supabaseContext.supabaseClient;\n}\nexport function SupabaseProvider(t0) {\n const $ = _c(16);\n const {\n children,\n options,\n afterInitialize,\n supabaseClient: supabaseClientProp\n } = t0;\n let t1;\n if ($[0] !== options || $[1] !== supabaseClientProp) {\n t1 = () => supabaseClientProp ?? createNewSupabaseClient({\n ...defaultOptions,\n ...(options ? options : {})\n }) as unknown as SupabaseClient<Database>;\n $[0] = options;\n $[1] = supabaseClientProp;\n $[2] = t1;\n } else {\n t1 = $[2];\n }\n const [supabaseClient] = useState(t1);\n const [wasHidden, setWasHidden] = useState(false);\n const [, setConnected] = useState(true);\n let t2;\n if ($[3] !== afterInitialize || $[4] !== supabaseClient) {\n t2 = () => {\n const cleanup = afterInitialize && afterInitialize(supabaseClient);\n return () => {\n if (typeof cleanup === \"function\") {\n cleanup();\n }\n };\n };\n $[3] = afterInitialize;\n $[4] = supabaseClient;\n $[5] = t2;\n } else {\n t2 = $[5];\n }\n let t3;\n if ($[6] !== supabaseClient) {\n t3 = [supabaseClient];\n $[6] = supabaseClient;\n $[7] = t3;\n } else {\n t3 = $[7];\n }\n useEffect(t2, t3);\n let t4;\n let t5;\n if ($[8] !== wasHidden) {\n t4 = () => {\n const checkVisibility = async () => {\n if (typeof window.document === \"undefined\") {\n return;\n }\n if (document?.hidden) {\n await delay(60000).then(x => {\n if (document.hidden) {\n setWasHidden(true);\n }\n });\n } else {\n if (wasHidden) {\n setWasHidden(false);\n ;\n try {\n setConnected(true);\n } catch (t6) {\n const error = t6;\n console.error(\"Reconnection failed:\", error);\n setConnected(false);\n }\n }\n }\n };\n const intervalId = setInterval(checkVisibility, 1000);\n return () => {\n clearInterval(intervalId);\n };\n };\n t5 = [wasHidden];\n $[8] = wasHidden;\n $[9] = t4;\n $[10] = t5;\n } else {\n t4 = $[9];\n t5 = $[10];\n }\n useEffect(t4, t5);\n let t6;\n if ($[11] !== supabaseClient) {\n t6 = {\n supabaseClient\n };\n $[11] = supabaseClient;\n $[12] = t6;\n } else {\n t6 = $[12];\n }\n const t7 = t6;\n let t8;\n if ($[13] !== children || $[14] !== t7) {\n t8 = <context.Provider value={t7}>{children}</context.Provider>;\n $[13] = children;\n $[14] = t7;\n $[15] = t8;\n } else {\n t8 = $[15];\n }\n return t8;\n}","/**\n * Generate a UUID that works across all environments\n * (Browser, React Native, Node.js)\n */\nexport function generateUUID(): string {\n // Try Web Crypto API first (browsers, modern Node.js)\n if (typeof crypto !== 'undefined' && typeof crypto.randomUUID === 'function') {\n return crypto.randomUUID();\n }\n\n // Fallback for React Native and older environments\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {\n const r = Math.random() * 16 | 0;\n const v = c === 'x' ? r : r & 0x3 | 0x8;\n return v.toString(16);\n });\n}"],"mappings":"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","names":["t6"]}
|
|
@@ -1,26 +1,22 @@
|
|
|
1
|
+
import {
|
|
2
|
+
useDbUpsert
|
|
3
|
+
} from "./chunk-NP34C3O3.js";
|
|
1
4
|
import {
|
|
2
5
|
UserMetadata
|
|
3
6
|
} from "./chunk-SM73S2DY.js";
|
|
4
7
|
import {
|
|
5
8
|
useSetupAuth
|
|
6
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-MREERKQU.js";
|
|
7
10
|
import {
|
|
8
11
|
useDbQuery
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import {
|
|
11
|
-
useDbUpsert
|
|
12
|
-
} from "./chunk-VGEMLNNM.js";
|
|
13
|
-
import {
|
|
14
|
-
delay,
|
|
15
|
-
isNullOrWhitespace,
|
|
16
|
-
isUsable
|
|
17
|
-
} from "./chunk-OQ7U6EQ3.js";
|
|
12
|
+
} from "./chunk-67HMVGV7.js";
|
|
18
13
|
import {
|
|
19
14
|
useSupabase
|
|
20
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-DMVUEJG2.js";
|
|
21
16
|
|
|
22
17
|
// src/contexts/LiveChangeContext.tsx
|
|
23
18
|
import { c as _c } from "react/compiler-runtime";
|
|
19
|
+
import { isUsable } from "@pol-studios/utils";
|
|
24
20
|
import { createContext } from "react";
|
|
25
21
|
import { jsx } from "react/jsx-runtime";
|
|
26
22
|
var LiveChangeContext = createContext({});
|
|
@@ -87,7 +83,10 @@ var LiveChangeContextProvider = (t0) => {
|
|
|
87
83
|
};
|
|
88
84
|
|
|
89
85
|
// src/useLiveChangesIndicator.tsx
|
|
86
|
+
import { isNullOrWhitespace } from "@pol-studios/utils";
|
|
90
87
|
import { useCallback, useContext, useEffect, useRef, useState } from "react";
|
|
88
|
+
import { delay } from "@pol-studios/utils";
|
|
89
|
+
import { isUsable as isUsable2 } from "@pol-studios/utils";
|
|
91
90
|
function useLiveChangesIndicator(value, field) {
|
|
92
91
|
const liveChangesContext = useContext(LiveChangeContext);
|
|
93
92
|
const [showModifiedByName, setShowModifiedByName] = useState(false);
|
|
@@ -98,11 +97,11 @@ function useLiveChangesIndicator(value, field) {
|
|
|
98
97
|
const checkChanges = useCallback(async () => {
|
|
99
98
|
try {
|
|
100
99
|
const changeLog = liveChangesContext?.changeLog;
|
|
101
|
-
if (
|
|
100
|
+
if (isUsable2(changeLog) === false) {
|
|
102
101
|
return;
|
|
103
102
|
}
|
|
104
103
|
const changes = changeLog.changes;
|
|
105
|
-
if (
|
|
104
|
+
if (isUsable2(changes) === false) {
|
|
106
105
|
return;
|
|
107
106
|
}
|
|
108
107
|
const changeOccurredInChangeLog = Object.keys(changes).some((x) => {
|
|
@@ -132,6 +131,7 @@ function useLiveChangesIndicator(value, field) {
|
|
|
132
131
|
// src/contexts/UserMetadataContext.tsx
|
|
133
132
|
import { c as _c2 } from "react/compiler-runtime";
|
|
134
133
|
import { createContext as createContext2, useContext as useContext2, useEffect as useEffect2, useState as useState2 } from "react";
|
|
134
|
+
import { isUsable as isUsable3 } from "@pol-studios/utils";
|
|
135
135
|
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
136
136
|
var userMetadataContext = createContext2(null);
|
|
137
137
|
function UserMetadataContextProvider(t0) {
|
|
@@ -165,7 +165,7 @@ function UserMetadataContextProvider(t0) {
|
|
|
165
165
|
}
|
|
166
166
|
let t3;
|
|
167
167
|
if ($[4] !== userId) {
|
|
168
|
-
t3 =
|
|
168
|
+
t3 = isUsable3(userId);
|
|
169
169
|
$[4] = userId;
|
|
170
170
|
$[5] = t3;
|
|
171
171
|
} else {
|
|
@@ -467,4 +467,4 @@ export {
|
|
|
467
467
|
useSetUserMetadata,
|
|
468
468
|
useUserMetadataState
|
|
469
469
|
};
|
|
470
|
-
//# sourceMappingURL=chunk-
|
|
470
|
+
//# sourceMappingURL=chunk-FESQS4S5.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/contexts/LiveChangeContext.tsx","../src/useLiveChangesIndicator.tsx","../src/contexts/UserMetadataContext.tsx"],"sourcesContent":["import { c as _c } from \"react/compiler-runtime\";\nimport { isUsable } from \"@pol-studios/utils\";\nimport { ReactNode, createContext } from \"react\";\nimport { DbChangeLog } from \"../types\";\nimport { useDbQuery } from \"../useDbQuery\";\nimport useSupabase from \"../useSupabase\";\nexport interface AlertProps {\n title: string;\n description: string;\n}\ninterface Context {\n lastModifiedUserName: string;\n changeLog: DbChangeLog;\n}\ninterface AlertState {\n isOpen: boolean;\n title: string;\n description: string;\n onConfirm: () => void;\n onCancel: () => void;\n}\nexport const LiveChangeContext = createContext({} as Context);\nexport const LiveChangeContextProvider = t0 => {\n const $ = _c(13);\n const {\n children,\n changeLog\n } = t0;\n const supabase = useSupabase();\n let t1;\n if ($[0] !== changeLog?.modifiedByUserId || $[1] !== supabase) {\n t1 = supabase.schema(\"core\").from(\"Profile\").select().eq(\"id\", changeLog?.modifiedByUserId).single();\n $[0] = changeLog?.modifiedByUserId;\n $[1] = supabase;\n $[2] = t1;\n } else {\n t1 = $[2];\n }\n const t2 = changeLog?.modifiedByUserId;\n let t3;\n if ($[3] !== t2) {\n t3 = isUsable(t2);\n $[3] = t2;\n $[4] = t3;\n } else {\n t3 = $[4];\n }\n let t4;\n if ($[5] !== t3) {\n t4 = {\n enabled: t3,\n crossOrganization: true\n };\n $[5] = t3;\n $[6] = t4;\n } else {\n t4 = $[6];\n }\n const userRequest = useDbQuery(t1, t4);\n const t5 = userRequest.data?.firstName + \" \" + userRequest.data?.lastName;\n let t6;\n if ($[7] !== changeLog || $[8] !== t5) {\n t6 = {\n changeLog,\n lastModifiedUserName: t5\n };\n $[7] = changeLog;\n $[8] = t5;\n $[9] = t6;\n } else {\n t6 = $[9];\n }\n let t7;\n if ($[10] !== children || $[11] !== t6) {\n t7 = <LiveChangeContext.Provider value={t6}>{children}</LiveChangeContext.Provider>;\n $[10] = children;\n $[11] = t6;\n $[12] = t7;\n } else {\n t7 = $[12];\n }\n return t7;\n};","import { isNullOrWhitespace } from \"@pol-studios/utils\";\nimport { useCallback, useContext, useEffect, useRef, useState } from \"react\";\nimport { delay } from \"@pol-studios/utils\";\nimport { LiveChangeContext } from \"./contexts/LiveChangeContext\";\nimport { isUsable } from \"@pol-studios/utils\";\nimport { useSetupAuth } from \"./auth\";\nexport default function useLiveChangesIndicator(value: any, field: string | undefined): [boolean, string] {\n const liveChangesContext = useContext(LiveChangeContext);\n const [showModifiedByName, setShowModifiedByName] = useState(false);\n const isMounted = useRef(false);\n const {\n user\n } = useSetupAuth();\n const checkChanges = useCallback(async () => {\n try {\n const changeLog = liveChangesContext?.changeLog;\n if (isUsable(changeLog) === false) {\n return;\n }\n const changes = changeLog.changes;\n if (isUsable(changes) === false) {\n return;\n }\n const changeOccurredInChangeLog = Object.keys(changes).some(x => {\n return field ? x === field : changes[x] === value;\n });\n if (changeOccurredInChangeLog === false) {\n return;\n }\n setShowModifiedByName(changeLog.modifiedByUserId !== user?.id);\n await delay(isNullOrWhitespace(liveChangesContext?.lastModifiedUserName) ? 2000 : 1500);\n } finally {\n setShowModifiedByName(false);\n }\n }, [liveChangesContext?.changeLog]);\n useEffect(() => {\n if (isMounted.current === false) {\n delay(200).then(x => {\n isMounted.current = true;\n });\n return;\n }\n checkChanges();\n }, [liveChangesContext?.changeLog]);\n return [showModifiedByName, liveChangesContext?.lastModifiedUserName];\n}","import { c as _c } from \"react/compiler-runtime\";\nimport { ReactNode, createContext, useContext, useEffect, useMemo, useState, useCallback } from \"react\";\nimport { useDbQuery } from \"../useDbQuery\";\nimport { useDbUpsert } from \"../hooks\";\nimport useSupabase from \"../useSupabase\";\nimport { isUsable } from \"@pol-studios/utils\";\nimport { Database } from \"../useSupabase\";\nimport { useDbRealtimeQuery } from \"../useDbRealtimeQuery\";\nimport { UserMetadata } from \"../gen/public/UserMetadata/query\";\nimport { useSetupAuth } from \"../auth\";\n\n// Type definitions for UserMetadata\nexport type UserMetadataRow = Database[\"core\"][\"Tables\"][\"UserMetadata\"][\"Row\"];\nexport type UserMetadataInsert = Database[\"core\"][\"Tables\"][\"UserMetadata\"][\"Insert\"];\nexport type UserMetadataUpdate = Database[\"core\"][\"Tables\"][\"UserMetadata\"][\"Update\"];\n\n// Context interface\nexport interface UserMetadataContextType {\n metadata: Record<string, string>;\n isLoading: boolean;\n error: Error | null;\n setMetadata: (key: string, value: string) => Promise<void>;\n getMetadata: (key: string) => string | undefined;\n removeMetadata: (key: string) => Promise<void>;\n refreshMetadata: () => Promise<void>;\n}\n\n// Create context\nexport const userMetadataContext = createContext<UserMetadataContextType | null>(null);\n\n// Provider component\nexport function UserMetadataContextProvider(t0) {\n const $ = _c(35);\n const {\n children\n } = t0;\n const supabase = useSupabase();\n let t1;\n if ($[0] === Symbol.for(\"react.memo_cache_sentinel\")) {\n t1 = {};\n $[0] = t1;\n } else {\n t1 = $[0];\n }\n const [metadata, setMetadataState] = useState(t1);\n const [isLoading, setIsLoading] = useState(true);\n const [error, setError] = useState(null);\n const {\n user\n } = useSetupAuth();\n const userId = user?.id;\n let t2;\n if ($[1] !== supabase || $[2] !== userId) {\n t2 = supabase.schema(\"core\").from(\"UserMetadata\").select(UserMetadata.defaultQuery).eq(\"userId\", userId).order(\"key\");\n $[1] = supabase;\n $[2] = userId;\n $[3] = t2;\n } else {\n t2 = $[3];\n }\n let t3;\n if ($[4] !== userId) {\n t3 = isUsable(userId);\n $[4] = userId;\n $[5] = t3;\n } else {\n t3 = $[5];\n }\n let t4;\n if ($[6] !== t3) {\n t4 = {\n enabled: t3,\n crossOrganization: true\n };\n $[6] = t3;\n $[7] = t4;\n } else {\n t4 = $[7];\n }\n const metadataQuery = useDbQuery(t2, t4);\n let t5;\n if ($[8] === Symbol.for(\"react.memo_cache_sentinel\")) {\n t5 = {\n invalidateTables: [\"UserMetadata\"]\n };\n $[8] = t5;\n } else {\n t5 = $[8];\n }\n const upsertMutation = useDbUpsert(\"UserMetadata\", t5);\n let t6;\n let t7;\n if ($[9] !== metadataQuery.data || $[10] !== metadataQuery.error || $[11] !== metadataQuery.isLoading) {\n t6 = () => {\n if (metadataQuery.data && Array.isArray(metadataQuery.data)) {\n const metadataMap = {};\n metadataQuery.data.forEach(item => {\n metadataMap[item.key] = item.value;\n });\n setMetadataState(metadataMap);\n setIsLoading(false);\n setError(null);\n } else {\n if (metadataQuery.error) {\n setError(metadataQuery.error);\n setIsLoading(false);\n } else {\n if (metadataQuery.isLoading) {\n setIsLoading(true);\n } else {\n if (metadataQuery.data && !Array.isArray(metadataQuery.data)) {\n setMetadataState({});\n setIsLoading(false);\n }\n }\n }\n }\n };\n t7 = [metadataQuery.data, metadataQuery.error, metadataQuery.isLoading];\n $[9] = metadataQuery.data;\n $[10] = metadataQuery.error;\n $[11] = metadataQuery.isLoading;\n $[12] = t6;\n $[13] = t7;\n } else {\n t6 = $[12];\n t7 = $[13];\n }\n useEffect(t6, t7);\n let t8;\n if ($[14] !== upsertMutation || $[15] !== userId) {\n t8 = async (key, value) => {\n if (!userId) {\n throw new Error(\"User not authenticated\");\n }\n ;\n try {\n await upsertMutation.mutateAsync({\n userId,\n key,\n value\n });\n setMetadataState(prev => ({\n ...prev,\n [key]: value\n }));\n } catch (t9) {\n const err = t9;\n setError(err as Error);\n throw err;\n }\n };\n $[14] = upsertMutation;\n $[15] = userId;\n $[16] = t8;\n } else {\n t8 = $[16];\n }\n const setMetadata = t8;\n let t9;\n if ($[17] !== metadata) {\n t9 = key_0 => metadata[key_0];\n $[17] = metadata;\n $[18] = t9;\n } else {\n t9 = $[18];\n }\n const getMetadata = t9;\n let t10;\n if ($[19] !== supabase || $[20] !== userId) {\n t10 = async key_1 => {\n if (!userId) {\n throw new Error(\"User not authenticated\");\n }\n ;\n try {\n await supabase.schema(\"core\").from(\"UserMetadata\").delete().eq(\"userId\", userId).eq(\"key\", key_1);\n setMetadataState(prev_0 => {\n const newState = {\n ...prev_0\n };\n delete newState[key_1];\n return newState;\n });\n } catch (t11) {\n const err_0 = t11;\n setError(err_0 as Error);\n throw err_0;\n }\n };\n $[19] = supabase;\n $[20] = userId;\n $[21] = t10;\n } else {\n t10 = $[21];\n }\n const removeMetadata = t10;\n let t11;\n if ($[22] !== metadataQuery) {\n t11 = async () => {\n await metadataQuery.refetch();\n };\n $[22] = metadataQuery;\n $[23] = t11;\n } else {\n t11 = $[23];\n }\n const refreshMetadata = t11;\n let t12;\n if ($[24] !== error || $[25] !== getMetadata || $[26] !== isLoading || $[27] !== metadata || $[28] !== refreshMetadata || $[29] !== removeMetadata || $[30] !== setMetadata) {\n t12 = {\n metadata,\n isLoading,\n error,\n setMetadata,\n getMetadata,\n removeMetadata,\n refreshMetadata\n };\n $[24] = error;\n $[25] = getMetadata;\n $[26] = isLoading;\n $[27] = metadata;\n $[28] = refreshMetadata;\n $[29] = removeMetadata;\n $[30] = setMetadata;\n $[31] = t12;\n } else {\n t12 = $[31];\n }\n const contextValue = t12;\n let t13;\n if ($[32] !== children || $[33] !== contextValue) {\n t13 = <userMetadataContext.Provider value={contextValue}>{children}</userMetadataContext.Provider>;\n $[32] = children;\n $[33] = contextValue;\n $[34] = t13;\n } else {\n t13 = $[34];\n }\n return t13;\n}\n\n// Hook to use the context\nexport function useUserMetadata() {\n const context = useContext(userMetadataContext);\n if (!context) {\n throw new Error(\"useUserMetadata must be used within a UserMetadataContextProvider\");\n }\n return context;\n}\n\n// Convenience hook for getting a specific metadata value\nexport function useUserMetadataValue(key) {\n const $ = _c(3);\n const {\n getMetadata\n } = useUserMetadata();\n let t0;\n if ($[0] !== getMetadata || $[1] !== key) {\n t0 = getMetadata(key);\n $[0] = getMetadata;\n $[1] = key;\n $[2] = t0;\n } else {\n t0 = $[2];\n }\n return t0;\n}\n\n// Convenience hook for setting a specific metadata value\nexport function useSetUserMetadata() {\n const $ = _c(3);\n const {\n setMetadata,\n removeMetadata\n } = useUserMetadata();\n let t0;\n if ($[0] !== removeMetadata || $[1] !== setMetadata) {\n t0 = {\n setMetadata,\n removeMetadata\n };\n $[0] = removeMetadata;\n $[1] = setMetadata;\n $[2] = t0;\n } else {\n t0 = $[2];\n }\n return t0;\n}\n\n// Advanced state-like hook with JSON serialization support\nexport function useUserMetadataState(key, defaultValue, options) {\n const $ = _c(11);\n const {\n metadata,\n setMetadata,\n isLoading\n } = useUserMetadata();\n const serialize = options?.serialize ?? _temp;\n const deserialize = options?.deserialize ?? _temp2;\n let t0;\n bb0: {\n const rawValue = metadata[key];\n if (!rawValue) {\n t0 = defaultValue;\n break bb0;\n }\n ;\n try {\n let t2;\n if ($[0] !== deserialize || $[1] !== rawValue) {\n t2 = deserialize(rawValue);\n $[0] = deserialize;\n $[1] = rawValue;\n $[2] = t2;\n } else {\n t2 = $[2];\n }\n t0 = t2;\n } catch (t1) {\n const error = t1;\n console.warn(`Failed to deserialize metadata for key \"${key}\":`, error);\n t0 = defaultValue;\n }\n }\n const currentValue = t0;\n let t1;\n if ($[3] !== key || $[4] !== serialize || $[5] !== setMetadata) {\n t1 = async value_1 => {\n const serializedValue = serialize(value_1);\n await setMetadata(key, serializedValue);\n };\n $[3] = key;\n $[4] = serialize;\n $[5] = setMetadata;\n $[6] = t1;\n } else {\n t1 = $[6];\n }\n const setValue = t1;\n let t2;\n if ($[7] !== currentValue || $[8] !== isLoading || $[9] !== setValue) {\n t2 = [currentValue, setValue, isLoading];\n $[7] = currentValue;\n $[8] = isLoading;\n $[9] = setValue;\n $[10] = t2;\n } else {\n t2 = $[10];\n }\n return t2;\n}\nfunction _temp2(value_0) {\n return JSON.parse(value_0);\n}\nfunction _temp(value) {\n return JSON.stringify(value);\n}"],"mappings":"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","names":["_c","createContext","useContext","useEffect","useState","jsx","createContext","_c","useState","useEffect","t9","t11","useContext","t2","t1"]}
|
|
1
|
+
{"version":3,"sources":["../src/contexts/LiveChangeContext.tsx","../src/useLiveChangesIndicator.tsx","../src/contexts/UserMetadataContext.tsx"],"sourcesContent":["import { c as _c } from \"react/compiler-runtime\";\nimport { isUsable } from \"@pol-studios/utils\";\nimport { ReactNode, createContext } from \"react\";\nimport { DbChangeLog } from \"../types\";\nimport { useDbQuery } from \"../useDbQuery\";\nimport useSupabase from \"../useSupabase\";\nexport interface AlertProps {\n title: string;\n description: string;\n}\ninterface Context {\n lastModifiedUserName: string;\n changeLog: DbChangeLog;\n}\ninterface AlertState {\n isOpen: boolean;\n title: string;\n description: string;\n onConfirm: () => void;\n onCancel: () => void;\n}\nexport const LiveChangeContext = createContext({} as Context);\nexport const LiveChangeContextProvider = t0 => {\n const $ = _c(13);\n const {\n children,\n changeLog\n } = t0;\n const supabase = useSupabase();\n let t1;\n if ($[0] !== changeLog?.modifiedByUserId || $[1] !== supabase) {\n t1 = supabase.schema(\"core\").from(\"Profile\").select().eq(\"id\", changeLog?.modifiedByUserId).single();\n $[0] = changeLog?.modifiedByUserId;\n $[1] = supabase;\n $[2] = t1;\n } else {\n t1 = $[2];\n }\n const t2 = changeLog?.modifiedByUserId;\n let t3;\n if ($[3] !== t2) {\n t3 = isUsable(t2);\n $[3] = t2;\n $[4] = t3;\n } else {\n t3 = $[4];\n }\n let t4;\n if ($[5] !== t3) {\n t4 = {\n enabled: t3,\n crossOrganization: true\n };\n $[5] = t3;\n $[6] = t4;\n } else {\n t4 = $[6];\n }\n const userRequest = useDbQuery(t1, t4);\n const t5 = userRequest.data?.firstName + \" \" + userRequest.data?.lastName;\n let t6;\n if ($[7] !== changeLog || $[8] !== t5) {\n t6 = {\n changeLog,\n lastModifiedUserName: t5\n };\n $[7] = changeLog;\n $[8] = t5;\n $[9] = t6;\n } else {\n t6 = $[9];\n }\n let t7;\n if ($[10] !== children || $[11] !== t6) {\n t7 = <LiveChangeContext.Provider value={t6}>{children}</LiveChangeContext.Provider>;\n $[10] = children;\n $[11] = t6;\n $[12] = t7;\n } else {\n t7 = $[12];\n }\n return t7;\n};","import { isNullOrWhitespace } from \"@pol-studios/utils\";\nimport { useCallback, useContext, useEffect, useRef, useState } from \"react\";\nimport { delay } from \"@pol-studios/utils\";\nimport { LiveChangeContext } from \"./contexts/LiveChangeContext\";\nimport { isUsable } from \"@pol-studios/utils\";\nimport { useSetupAuth } from \"./auth\";\nexport default function useLiveChangesIndicator(value: any, field: string | undefined): [boolean, string] {\n const liveChangesContext = useContext(LiveChangeContext);\n const [showModifiedByName, setShowModifiedByName] = useState(false);\n const isMounted = useRef(false);\n const {\n user\n } = useSetupAuth();\n const checkChanges = useCallback(async () => {\n try {\n const changeLog = liveChangesContext?.changeLog;\n if (isUsable(changeLog) === false) {\n return;\n }\n const changes = changeLog.changes;\n if (isUsable(changes) === false) {\n return;\n }\n const changeOccurredInChangeLog = Object.keys(changes).some(x => {\n return field ? x === field : changes[x] === value;\n });\n if (changeOccurredInChangeLog === false) {\n return;\n }\n setShowModifiedByName(changeLog.modifiedByUserId !== user?.id);\n await delay(isNullOrWhitespace(liveChangesContext?.lastModifiedUserName) ? 2000 : 1500);\n } finally {\n setShowModifiedByName(false);\n }\n }, [liveChangesContext?.changeLog]);\n useEffect(() => {\n if (isMounted.current === false) {\n delay(200).then(x => {\n isMounted.current = true;\n });\n return;\n }\n checkChanges();\n }, [liveChangesContext?.changeLog]);\n return [showModifiedByName, liveChangesContext?.lastModifiedUserName];\n}","import { c as _c } from \"react/compiler-runtime\";\nimport { ReactNode, createContext, useContext, useEffect, useMemo, useState, useCallback } from \"react\";\nimport { useDbQuery } from \"../useDbQuery\";\nimport { useDbUpsert } from \"../hooks\";\nimport useSupabase from \"../useSupabase\";\nimport { isUsable } from \"@pol-studios/utils\";\nimport { Database } from \"../useSupabase\";\nimport { useDbRealtimeQuery } from \"../useDbRealtimeQuery\";\nimport { UserMetadata } from \"../gen/public/UserMetadata/query\";\nimport { useSetupAuth } from \"../auth\";\n\n// Type definitions for UserMetadata\nexport type UserMetadataRow = Database[\"core\"][\"Tables\"][\"UserMetadata\"][\"Row\"];\nexport type UserMetadataInsert = Database[\"core\"][\"Tables\"][\"UserMetadata\"][\"Insert\"];\nexport type UserMetadataUpdate = Database[\"core\"][\"Tables\"][\"UserMetadata\"][\"Update\"];\n\n// Context interface\nexport interface UserMetadataContextType {\n metadata: Record<string, string>;\n isLoading: boolean;\n error: Error | null;\n setMetadata: (key: string, value: string) => Promise<void>;\n getMetadata: (key: string) => string | undefined;\n removeMetadata: (key: string) => Promise<void>;\n refreshMetadata: () => Promise<void>;\n}\n\n// Create context\nexport const userMetadataContext = createContext<UserMetadataContextType | null>(null);\n\n// Provider component\nexport function UserMetadataContextProvider(t0) {\n const $ = _c(35);\n const {\n children\n } = t0;\n const supabase = useSupabase();\n let t1;\n if ($[0] === Symbol.for(\"react.memo_cache_sentinel\")) {\n t1 = {};\n $[0] = t1;\n } else {\n t1 = $[0];\n }\n const [metadata, setMetadataState] = useState(t1);\n const [isLoading, setIsLoading] = useState(true);\n const [error, setError] = useState(null);\n const {\n user\n } = useSetupAuth();\n const userId = user?.id;\n let t2;\n if ($[1] !== supabase || $[2] !== userId) {\n t2 = supabase.schema(\"core\").from(\"UserMetadata\").select(UserMetadata.defaultQuery).eq(\"userId\", userId).order(\"key\");\n $[1] = supabase;\n $[2] = userId;\n $[3] = t2;\n } else {\n t2 = $[3];\n }\n let t3;\n if ($[4] !== userId) {\n t3 = isUsable(userId);\n $[4] = userId;\n $[5] = t3;\n } else {\n t3 = $[5];\n }\n let t4;\n if ($[6] !== t3) {\n t4 = {\n enabled: t3,\n crossOrganization: true\n };\n $[6] = t3;\n $[7] = t4;\n } else {\n t4 = $[7];\n }\n const metadataQuery = useDbQuery(t2, t4);\n let t5;\n if ($[8] === Symbol.for(\"react.memo_cache_sentinel\")) {\n t5 = {\n invalidateTables: [\"UserMetadata\"]\n };\n $[8] = t5;\n } else {\n t5 = $[8];\n }\n const upsertMutation = useDbUpsert(\"UserMetadata\", t5);\n let t6;\n let t7;\n if ($[9] !== metadataQuery.data || $[10] !== metadataQuery.error || $[11] !== metadataQuery.isLoading) {\n t6 = () => {\n if (metadataQuery.data && Array.isArray(metadataQuery.data)) {\n const metadataMap = {};\n metadataQuery.data.forEach(item => {\n metadataMap[item.key] = item.value;\n });\n setMetadataState(metadataMap);\n setIsLoading(false);\n setError(null);\n } else {\n if (metadataQuery.error) {\n setError(metadataQuery.error);\n setIsLoading(false);\n } else {\n if (metadataQuery.isLoading) {\n setIsLoading(true);\n } else {\n if (metadataQuery.data && !Array.isArray(metadataQuery.data)) {\n setMetadataState({});\n setIsLoading(false);\n }\n }\n }\n }\n };\n t7 = [metadataQuery.data, metadataQuery.error, metadataQuery.isLoading];\n $[9] = metadataQuery.data;\n $[10] = metadataQuery.error;\n $[11] = metadataQuery.isLoading;\n $[12] = t6;\n $[13] = t7;\n } else {\n t6 = $[12];\n t7 = $[13];\n }\n useEffect(t6, t7);\n let t8;\n if ($[14] !== upsertMutation || $[15] !== userId) {\n t8 = async (key, value) => {\n if (!userId) {\n throw new Error(\"User not authenticated\");\n }\n ;\n try {\n await upsertMutation.mutateAsync({\n userId,\n key,\n value\n });\n setMetadataState(prev => ({\n ...prev,\n [key]: value\n }));\n } catch (t9) {\n const err = t9;\n setError(err as Error);\n throw err;\n }\n };\n $[14] = upsertMutation;\n $[15] = userId;\n $[16] = t8;\n } else {\n t8 = $[16];\n }\n const setMetadata = t8;\n let t9;\n if ($[17] !== metadata) {\n t9 = key_0 => metadata[key_0];\n $[17] = metadata;\n $[18] = t9;\n } else {\n t9 = $[18];\n }\n const getMetadata = t9;\n let t10;\n if ($[19] !== supabase || $[20] !== userId) {\n t10 = async key_1 => {\n if (!userId) {\n throw new Error(\"User not authenticated\");\n }\n ;\n try {\n await supabase.schema(\"core\").from(\"UserMetadata\").delete().eq(\"userId\", userId).eq(\"key\", key_1);\n setMetadataState(prev_0 => {\n const newState = {\n ...prev_0\n };\n delete newState[key_1];\n return newState;\n });\n } catch (t11) {\n const err_0 = t11;\n setError(err_0 as Error);\n throw err_0;\n }\n };\n $[19] = supabase;\n $[20] = userId;\n $[21] = t10;\n } else {\n t10 = $[21];\n }\n const removeMetadata = t10;\n let t11;\n if ($[22] !== metadataQuery) {\n t11 = async () => {\n await metadataQuery.refetch();\n };\n $[22] = metadataQuery;\n $[23] = t11;\n } else {\n t11 = $[23];\n }\n const refreshMetadata = t11;\n let t12;\n if ($[24] !== error || $[25] !== getMetadata || $[26] !== isLoading || $[27] !== metadata || $[28] !== refreshMetadata || $[29] !== removeMetadata || $[30] !== setMetadata) {\n t12 = {\n metadata,\n isLoading,\n error,\n setMetadata,\n getMetadata,\n removeMetadata,\n refreshMetadata\n };\n $[24] = error;\n $[25] = getMetadata;\n $[26] = isLoading;\n $[27] = metadata;\n $[28] = refreshMetadata;\n $[29] = removeMetadata;\n $[30] = setMetadata;\n $[31] = t12;\n } else {\n t12 = $[31];\n }\n const contextValue = t12;\n let t13;\n if ($[32] !== children || $[33] !== contextValue) {\n t13 = <userMetadataContext.Provider value={contextValue}>{children}</userMetadataContext.Provider>;\n $[32] = children;\n $[33] = contextValue;\n $[34] = t13;\n } else {\n t13 = $[34];\n }\n return t13;\n}\n\n// Hook to use the context\nexport function useUserMetadata() {\n const context = useContext(userMetadataContext);\n if (!context) {\n throw new Error(\"useUserMetadata must be used within a UserMetadataContextProvider\");\n }\n return context;\n}\n\n// Convenience hook for getting a specific metadata value\nexport function useUserMetadataValue(key) {\n const $ = _c(3);\n const {\n getMetadata\n } = useUserMetadata();\n let t0;\n if ($[0] !== getMetadata || $[1] !== key) {\n t0 = getMetadata(key);\n $[0] = getMetadata;\n $[1] = key;\n $[2] = t0;\n } else {\n t0 = $[2];\n }\n return t0;\n}\n\n// Convenience hook for setting a specific metadata value\nexport function useSetUserMetadata() {\n const $ = _c(3);\n const {\n setMetadata,\n removeMetadata\n } = useUserMetadata();\n let t0;\n if ($[0] !== removeMetadata || $[1] !== setMetadata) {\n t0 = {\n setMetadata,\n removeMetadata\n };\n $[0] = removeMetadata;\n $[1] = setMetadata;\n $[2] = t0;\n } else {\n t0 = $[2];\n }\n return t0;\n}\n\n// Advanced state-like hook with JSON serialization support\nexport function useUserMetadataState(key, defaultValue, options) {\n const $ = _c(11);\n const {\n metadata,\n setMetadata,\n isLoading\n } = useUserMetadata();\n const serialize = options?.serialize ?? _temp;\n const deserialize = options?.deserialize ?? _temp2;\n let t0;\n bb0: {\n const rawValue = metadata[key];\n if (!rawValue) {\n t0 = defaultValue;\n break bb0;\n }\n ;\n try {\n let t2;\n if ($[0] !== deserialize || $[1] !== rawValue) {\n t2 = deserialize(rawValue);\n $[0] = deserialize;\n $[1] = rawValue;\n $[2] = t2;\n } else {\n t2 = $[2];\n }\n t0 = t2;\n } catch (t1) {\n const error = t1;\n console.warn(`Failed to deserialize metadata for key \"${key}\":`, error);\n t0 = defaultValue;\n }\n }\n const currentValue = t0;\n let t1;\n if ($[3] !== key || $[4] !== serialize || $[5] !== setMetadata) {\n t1 = async value_1 => {\n const serializedValue = serialize(value_1);\n await setMetadata(key, serializedValue);\n };\n $[3] = key;\n $[4] = serialize;\n $[5] = setMetadata;\n $[6] = t1;\n } else {\n t1 = $[6];\n }\n const setValue = t1;\n let t2;\n if ($[7] !== currentValue || $[8] !== isLoading || $[9] !== setValue) {\n t2 = [currentValue, setValue, isLoading];\n $[7] = currentValue;\n $[8] = isLoading;\n $[9] = setValue;\n $[10] = t2;\n } else {\n t2 = $[10];\n }\n return t2;\n}\nfunction _temp2(value_0) {\n return JSON.parse(value_0);\n}\nfunction _temp(value) {\n return JSON.stringify(value);\n}"],"mappings":"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","names":["isUsable","isUsable","_c","createContext","useContext","useEffect","useState","isUsable","jsx","createContext","_c","useState","isUsable","useEffect","t9","t11","useContext","t2","t1"]}
|
|
@@ -3,10 +3,10 @@ import {
|
|
|
3
3
|
PostgrestQueryParser,
|
|
4
4
|
isObject,
|
|
5
5
|
parseValue
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-JOULSXOI.js";
|
|
7
7
|
import {
|
|
8
8
|
unflatten
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-AKIRHA4Q.js";
|
|
10
10
|
|
|
11
11
|
// src/parser/lib/remove-first-path-element.ts
|
|
12
12
|
var removeFirstPathElement = (p) => {
|
|
@@ -498,4 +498,4 @@ export {
|
|
|
498
498
|
isPostgrestHasMorePaginationResponse,
|
|
499
499
|
setFilterValue
|
|
500
500
|
};
|
|
501
|
-
//# sourceMappingURL=chunk-
|
|
501
|
+
//# sourceMappingURL=chunk-FI6JAD5G.js.map
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
deepEqual,
|
|
3
3
|
flatten,
|
|
4
4
|
src_default
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-AKIRHA4Q.js";
|
|
6
6
|
|
|
7
7
|
// src/parser/lib/sort-search-param.ts
|
|
8
8
|
var sortSearchParams = (params) => new URLSearchParams(Array.from(params.entries()).sort((a, b) => {
|
|
@@ -412,4 +412,4 @@ export {
|
|
|
412
412
|
PostgrestQueryParser,
|
|
413
413
|
PostgrestParser
|
|
414
414
|
};
|
|
415
|
-
//# sourceMappingURL=chunk-
|
|
415
|
+
//# sourceMappingURL=chunk-JOULSXOI.js.map
|
|
@@ -3,23 +3,19 @@ import {
|
|
|
3
3
|
} from "./chunk-GC3TBUWE.js";
|
|
4
4
|
import {
|
|
5
5
|
PostgrestParser
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import {
|
|
8
|
-
isNullOrWhitespace,
|
|
9
|
-
isUsable,
|
|
10
|
-
omit
|
|
11
|
-
} from "./chunk-OQ7U6EQ3.js";
|
|
6
|
+
} from "./chunk-JOULSXOI.js";
|
|
12
7
|
import {
|
|
13
8
|
encode,
|
|
14
9
|
useQuery
|
|
15
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-YUX6RGLZ.js";
|
|
16
11
|
import {
|
|
17
12
|
generateUUID,
|
|
18
13
|
useSupabase
|
|
19
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-DMVUEJG2.js";
|
|
20
15
|
|
|
21
16
|
// src/query/useQuery.ts
|
|
22
17
|
import { c as _c } from "react/compiler-runtime";
|
|
18
|
+
import { omit } from "@pol-studios/utils";
|
|
23
19
|
import { useDelayedValue } from "@pol-studios/hooks/state";
|
|
24
20
|
function useQuery2(query, config) {
|
|
25
21
|
const $ = _c(5);
|
|
@@ -176,6 +172,7 @@ function toPagedResponse(results, currentPage, totalCount, itemPerPage) {
|
|
|
176
172
|
// src/query/useAdvancedQuery.ts
|
|
177
173
|
import { useEffect, useMemo, useRef, useState } from "react";
|
|
178
174
|
import { useQuery as useQuery3 } from "@tanstack/react-query";
|
|
175
|
+
import { isNullOrWhitespace, isUsable, omit as omit2 } from "@pol-studios/utils";
|
|
179
176
|
import { useSessionStorageState as useSessionStorageState2 } from "@pol-studios/hooks/storage";
|
|
180
177
|
var normalizeFilter = (filter) => {
|
|
181
178
|
const groupOp = filter.op || filter.operator;
|
|
@@ -302,7 +299,7 @@ function useAdvancedFilterQuery(query, config) {
|
|
|
302
299
|
const isEnabled = config?.enabled == null || config?.enabled === void 0 ? true : config.enabled;
|
|
303
300
|
const [extraData, setExtraData] = useState({});
|
|
304
301
|
const queryResponse = useQuery3({
|
|
305
|
-
...
|
|
302
|
+
...omit2({
|
|
306
303
|
retry: 0,
|
|
307
304
|
// Changed from 1 to 0 to prevent retries
|
|
308
305
|
...config ?? {},
|
|
@@ -328,13 +325,13 @@ function useAdvancedFilterQuery(query, config) {
|
|
|
328
325
|
},
|
|
329
326
|
sort: [...filterLayer.sort || []]
|
|
330
327
|
};
|
|
331
|
-
const currentKey = `${parser.schema}${parser.table}${parser.select}${JSON.stringify(
|
|
328
|
+
const currentKey = `${parser.schema}${parser.table}${parser.select}${JSON.stringify(omit2(body, "pagination"))}`;
|
|
332
329
|
const requiresEdgeForOrdering = false;
|
|
333
330
|
const hasNaturalLanguageQuery = !!filterLayer.naturalLanguageQuery;
|
|
334
331
|
if (filterLayer.filters.length == 0 && requiresEdgeForOrdering === false && !hasNaturalLanguageQuery) {
|
|
335
332
|
const result = await executeSupabaseQuery(supabase, body, parser, extraData, props.signal, config?.count);
|
|
336
333
|
setExtraData((pre_0) => ({
|
|
337
|
-
...
|
|
334
|
+
...omit2(result, "data"),
|
|
338
335
|
count: result.count ? result.count : pre_0.count,
|
|
339
336
|
key: currentKey
|
|
340
337
|
}));
|
|
@@ -581,7 +578,7 @@ function useAdvancedFilterQuery(query, config) {
|
|
|
581
578
|
};
|
|
582
579
|
}
|
|
583
580
|
setExtraData((pre_1) => ({
|
|
584
|
-
...
|
|
581
|
+
...omit2(result_0, "data"),
|
|
585
582
|
count: pre_1.key === currentKey ? pre_1.count : result_0.count,
|
|
586
583
|
key: currentKey
|
|
587
584
|
}));
|
|
@@ -636,7 +633,7 @@ function isSearchableColumn(columnName) {
|
|
|
636
633
|
}
|
|
637
634
|
async function executeSupabaseQuery(supabase, body, parser, extraData, signal, count) {
|
|
638
635
|
const searchParams = Array.from(parser.searchParams.entries());
|
|
639
|
-
const currentKey = `${parser.schema}${parser.table}${parser.select}${JSON.stringify(
|
|
636
|
+
const currentKey = `${parser.schema}${parser.table}${parser.select}${JSON.stringify(omit2(body, "pagination"))}`;
|
|
640
637
|
const query = supabase.schema(parser.schema).from(parser.table).select(parser.select, {
|
|
641
638
|
count: currentKey === extraData.key ? void 0 : count || void 0
|
|
642
639
|
});
|
|
@@ -760,6 +757,7 @@ function useInfiniteQuery(query, countPerLoad, config) {
|
|
|
760
757
|
// src/query/usePartialAdvancedQuery.ts
|
|
761
758
|
import { c as _c3 } from "react/compiler-runtime";
|
|
762
759
|
import { useLayoutEffect, useState as useState2 } from "react";
|
|
760
|
+
import { omit as omit3 } from "@pol-studios/utils";
|
|
763
761
|
import { useSessionStorageState as useSessionStorageState3 } from "@pol-studios/hooks/storage";
|
|
764
762
|
function usePartialAdvancedQuery(query, itemCountPerPage, config) {
|
|
765
763
|
const $ = _c3(54);
|
|
@@ -807,7 +805,7 @@ function usePartialAdvancedQuery(query, itemCountPerPage, config) {
|
|
|
807
805
|
const [baseQuery, filter, setFilters] = useAdvancedFilterQuery(rangedQuery, t5);
|
|
808
806
|
let t6;
|
|
809
807
|
if ($[10] !== filter) {
|
|
810
|
-
t6 = JSON.stringify(
|
|
808
|
+
t6 = JSON.stringify(omit3(filter, ["pagination"]));
|
|
811
809
|
$[10] = filter;
|
|
812
810
|
$[11] = t6;
|
|
813
811
|
} else {
|
|
@@ -960,4 +958,4 @@ export {
|
|
|
960
958
|
useInfiniteQuery,
|
|
961
959
|
usePartialAdvancedQuery
|
|
962
960
|
};
|
|
963
|
-
//# sourceMappingURL=chunk-
|
|
961
|
+
//# sourceMappingURL=chunk-LF3V3ERS.js.map
|