@pol-studios/db 1.0.10 → 1.0.12

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.
Files changed (120) hide show
  1. package/dist/DataLayerContext-CL6alnkb.d.ts +755 -0
  2. package/dist/UserMetadataContext-B8gVWGMl.d.ts +35 -0
  3. package/dist/UserMetadataContext-DntmpK41.d.ts +33 -0
  4. package/dist/auth/context.d.ts +3 -2
  5. package/dist/auth/context.js +5 -4
  6. package/dist/auth/guards.js +2 -2
  7. package/dist/auth/hooks.d.ts +3 -3
  8. package/dist/auth/hooks.js +6 -5
  9. package/dist/auth/index.d.ts +3 -2
  10. package/dist/auth/index.js +8 -6
  11. package/dist/{canvas-UVNDA54X.node → canvas-C4TBBDUL.node} +0 -0
  12. package/dist/{canvas-75Y7XMF3.js → canvas-ZQNCL7JL.js} +2 -2
  13. package/dist/chunk-5EFDS7SR.js +205 -0
  14. package/dist/chunk-5EFDS7SR.js.map +1 -0
  15. package/dist/{chunk-BRTW7CO5.js → chunk-7SCJNYTE.js} +1 -9
  16. package/dist/chunk-7SCJNYTE.js.map +1 -0
  17. package/dist/chunk-DJ6VLEAL.js +247 -0
  18. package/dist/chunk-DJ6VLEAL.js.map +1 -0
  19. package/dist/{chunk-Y3INY2CS.js → chunk-GC3TBUWE.js} +1 -1
  20. package/dist/chunk-GC3TBUWE.js.map +1 -0
  21. package/dist/{chunk-7HG6G25H.js → chunk-H3LNH2NT.js} +169 -268
  22. package/dist/chunk-H3LNH2NT.js.map +1 -0
  23. package/dist/{chunk-USJYMRUO.js → chunk-HAWJTZCK.js} +2 -2
  24. package/dist/chunk-HAWJTZCK.js.map +1 -0
  25. package/dist/chunk-JAATANS3.js +429 -0
  26. package/dist/chunk-JAATANS3.js.map +1 -0
  27. package/dist/chunk-LNJ3WF7V.js +470 -0
  28. package/dist/chunk-LNJ3WF7V.js.map +1 -0
  29. package/dist/chunk-N26IEHZT.js +79 -0
  30. package/dist/chunk-N26IEHZT.js.map +1 -0
  31. package/dist/chunk-NSIAAYW3.js +1 -0
  32. package/dist/chunk-NSIAAYW3.js.map +1 -0
  33. package/dist/chunk-NZON56CB.js +3864 -0
  34. package/dist/chunk-NZON56CB.js.map +1 -0
  35. package/dist/{chunk-O3K7R32P.js → chunk-OQ7U6EQ3.js} +118 -123
  36. package/dist/chunk-OQ7U6EQ3.js.map +1 -0
  37. package/dist/chunk-SM73S2DY.js +11 -0
  38. package/dist/chunk-SM73S2DY.js.map +1 -0
  39. package/dist/{chunk-JUVE3DWY.js → chunk-TKWR5AAY.js} +47 -65
  40. package/dist/chunk-TKWR5AAY.js.map +1 -0
  41. package/dist/{chunk-2IFGILT3.js → chunk-U5UNPBKB.js} +76 -107
  42. package/dist/chunk-U5UNPBKB.js.map +1 -0
  43. package/dist/chunk-WGDJ4IXR.js +921 -0
  44. package/dist/chunk-WGDJ4IXR.js.map +1 -0
  45. package/dist/chunk-WVF7RUW5.js +186 -0
  46. package/dist/chunk-WVF7RUW5.js.map +1 -0
  47. package/dist/{chunk-ZTSBF536.js → chunk-X3HZLNBV.js} +637 -435
  48. package/dist/chunk-X3HZLNBV.js.map +1 -0
  49. package/dist/{chunk-EL45Z26M.js → chunk-XU3SBFAG.js} +1219 -208
  50. package/dist/chunk-XU3SBFAG.js.map +1 -0
  51. package/dist/chunk-ZVBHWU7O.js +1412 -0
  52. package/dist/chunk-ZVBHWU7O.js.map +1 -0
  53. package/dist/client/index.d.ts +1 -1
  54. package/dist/client/index.js +42 -23
  55. package/dist/client/index.js.map +1 -1
  56. package/dist/core/index.d.ts +19 -0
  57. package/dist/{index-BFu5_dS8.d.ts → database.types-ChFCG-4M.d.ts} +1 -177
  58. package/dist/gen/index.js +4 -2
  59. package/dist/hooks/index.d.ts +10 -3
  60. package/dist/hooks/index.js +8 -10
  61. package/dist/index-CQLyNG6A.d.ts +433 -0
  62. package/dist/index.d.ts +12 -8
  63. package/dist/index.js +92 -48
  64. package/dist/index.native.d.ts +373 -33
  65. package/dist/index.native.js +79 -47
  66. package/dist/index.web.d.ts +10 -7
  67. package/dist/index.web.js +83 -78
  68. package/dist/index.web.js.map +1 -1
  69. package/dist/mutation/index.d.ts +2 -2
  70. package/dist/mutation/index.js +307 -122
  71. package/dist/mutation/index.js.map +1 -1
  72. package/dist/parser/index.js +2 -2
  73. package/dist/{pdf-3TIGQRLA.js → pdf-PHXP7RHD.js} +2 -2
  74. package/dist/powersync-bridge/index.d.ts +284 -0
  75. package/dist/powersync-bridge/index.js +22 -0
  76. package/dist/powersync-bridge/index.js.map +1 -0
  77. package/dist/query/index.js +5 -5
  78. package/dist/realtime/index.js +252 -128
  79. package/dist/realtime/index.js.map +1 -1
  80. package/dist/{UserMetadataContext-BYYqA6LI.d.ts → setupAuthContext-Kv-THH-h.d.ts} +1 -29
  81. package/dist/types/index.d.ts +5 -1
  82. package/dist/types/index.js +10 -5
  83. package/dist/{useBatchUpsert-CSQVX7w8.d.ts → useBatchUpsert-9OYjibLh.d.ts} +1 -1
  84. package/dist/{useDbCount-RGCuHmHp.d.ts → useDbCount-BG356T9i.d.ts} +3 -719
  85. package/dist/{useReceiptAI-Bn0czE7C.d.ts → useReceiptAI-6HkRpRml.d.ts} +1 -1
  86. package/dist/{useResolveFeedback-CpZPP8Pw.d.ts → useResolveFeedback-BWmatBlE.d.ts} +26 -45
  87. package/dist/{useSupabase-pPhUZHcl.d.ts → useSupabase-DvWVuHHE.d.ts} +2 -1
  88. package/dist/with-auth/index.d.ts +704 -0
  89. package/dist/with-auth/index.js +1221 -0
  90. package/dist/with-auth/index.js.map +1 -0
  91. package/package.json +25 -10
  92. package/dist/chunk-2IFGILT3.js.map +0 -1
  93. package/dist/chunk-3M2U6TXH.js +0 -928
  94. package/dist/chunk-3M2U6TXH.js.map +0 -1
  95. package/dist/chunk-5ZYAEGCJ.js +0 -416
  96. package/dist/chunk-5ZYAEGCJ.js.map +0 -1
  97. package/dist/chunk-7HG6G25H.js.map +0 -1
  98. package/dist/chunk-7XT7K4QT.js +0 -2687
  99. package/dist/chunk-7XT7K4QT.js.map +0 -1
  100. package/dist/chunk-AWFMICFV.js +0 -158
  101. package/dist/chunk-AWFMICFV.js.map +0 -1
  102. package/dist/chunk-BRTW7CO5.js.map +0 -1
  103. package/dist/chunk-EL45Z26M.js.map +0 -1
  104. package/dist/chunk-ERGF2FCE.js +0 -903
  105. package/dist/chunk-ERGF2FCE.js.map +0 -1
  106. package/dist/chunk-GK7B66LY.js +0 -135
  107. package/dist/chunk-GK7B66LY.js.map +0 -1
  108. package/dist/chunk-GQI6WJGI.js +0 -172
  109. package/dist/chunk-GQI6WJGI.js.map +0 -1
  110. package/dist/chunk-JUVE3DWY.js.map +0 -1
  111. package/dist/chunk-O3K7R32P.js.map +0 -1
  112. package/dist/chunk-SEY5UO2T.js +0 -89
  113. package/dist/chunk-SEY5UO2T.js.map +0 -1
  114. package/dist/chunk-USJYMRUO.js.map +0 -1
  115. package/dist/chunk-XX3IWSPM.js +0 -189
  116. package/dist/chunk-XX3IWSPM.js.map +0 -1
  117. package/dist/chunk-Y3INY2CS.js.map +0 -1
  118. package/dist/chunk-ZTSBF536.js.map +0 -1
  119. /package/dist/{canvas-75Y7XMF3.js.map → canvas-ZQNCL7JL.js.map} +0 -0
  120. /package/dist/{pdf-3TIGQRLA.js.map → pdf-PHXP7RHD.js.map} +0 -0
@@ -0,0 +1,35 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as react from 'react';
3
+ import { ReactNode } from 'react';
4
+ import { D as Database } from './useSupabase-DvWVuHHE.js';
5
+
6
+ declare function useLiveChangesIndicator(value: any, field: string | undefined): [boolean, string];
7
+
8
+ type UserMetadataRow = Database["core"]["Tables"]["UserMetadata"]["Row"];
9
+ type UserMetadataInsert = Database["core"]["Tables"]["UserMetadata"]["Insert"];
10
+ type UserMetadataUpdate = Database["core"]["Tables"]["UserMetadata"]["Update"];
11
+ interface UserMetadataContextType {
12
+ metadata: Record<string, string>;
13
+ isLoading: boolean;
14
+ error: Error | null;
15
+ setMetadata: (key: string, value: string) => Promise<void>;
16
+ getMetadata: (key: string) => string | undefined;
17
+ removeMetadata: (key: string) => Promise<void>;
18
+ refreshMetadata: () => Promise<void>;
19
+ }
20
+ declare const userMetadataContext: react.Context<UserMetadataContextType>;
21
+ declare function UserMetadataContextProvider({ children, }: {
22
+ children: ReactNode;
23
+ }): react_jsx_runtime.JSX.Element;
24
+ declare function useUserMetadata(): UserMetadataContextType;
25
+ declare function useUserMetadataValue(key: string): string | undefined;
26
+ declare function useSetUserMetadata(): {
27
+ setMetadata: (key: string, value: string) => Promise<void>;
28
+ removeMetadata: (key: string) => Promise<void>;
29
+ };
30
+ declare function useUserMetadataState<T>(key: string, defaultValue: T, options?: {
31
+ serialize?: (value: T) => string;
32
+ deserialize?: (value: string) => T;
33
+ }): [T, (value: T) => Promise<void>, boolean];
34
+
35
+ export { type UserMetadataRow as U, type UserMetadataInsert as a, type UserMetadataUpdate as b, type UserMetadataContextType as c, userMetadataContext as d, UserMetadataContextProvider as e, useUserMetadata as f, useUserMetadataValue as g, useSetUserMetadata as h, useUserMetadataState as i, useLiveChangesIndicator as u };
@@ -0,0 +1,33 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as react from 'react';
3
+ import { ReactNode } from 'react';
4
+ import { D as Database } from './useSupabase-DvWVuHHE.js';
5
+
6
+ type UserMetadataRow = Database["core"]["Tables"]["UserMetadata"]["Row"];
7
+ type UserMetadataInsert = Database["core"]["Tables"]["UserMetadata"]["Insert"];
8
+ type UserMetadataUpdate = Database["core"]["Tables"]["UserMetadata"]["Update"];
9
+ interface UserMetadataContextType {
10
+ metadata: Record<string, string>;
11
+ isLoading: boolean;
12
+ error: Error | null;
13
+ setMetadata: (key: string, value: string) => Promise<void>;
14
+ getMetadata: (key: string) => string | undefined;
15
+ removeMetadata: (key: string) => Promise<void>;
16
+ refreshMetadata: () => Promise<void>;
17
+ }
18
+ declare const userMetadataContext: react.Context<UserMetadataContextType>;
19
+ declare function UserMetadataProvider({ children }: {
20
+ children: ReactNode;
21
+ }): react_jsx_runtime.JSX.Element;
22
+ declare function useUserMetadata(): UserMetadataContextType;
23
+ declare function useUserMetadataValue(key: string): string | undefined;
24
+ declare function useSetUserMetadata(): {
25
+ setMetadata: (key: string, value: string) => Promise<void>;
26
+ removeMetadata: (key: string) => Promise<void>;
27
+ };
28
+ declare function useUserMetadataState<T>(key: string, defaultValue: T, options?: {
29
+ serialize?: (value: T) => string;
30
+ deserialize?: (value: string) => T;
31
+ }): [T, (value: T) => Promise<void>, boolean];
32
+
33
+ export { type UserMetadataContextType as U, useUserMetadata as a, useUserMetadataState as b, useUserMetadataValue as c, userMetadataContext as d, type UserMetadataInsert as e, UserMetadataProvider as f, type UserMetadataRow as g, type UserMetadataUpdate as h, useSetUserMetadata as u };
@@ -1,10 +1,11 @@
1
- export { c as Profile, P as ProfileStatus, a as SetupAuthContext, S as SetupAuthContextProvider, b as SetupAuthContextProviderProps, U as UserMetadataContextType, h as UserMetadataInsert, i as UserMetadataProvider, j as UserMetadataRow, k as UserMetadataUpdate, s as setupAuthContext, u as useSetUserMetadata, d as useUserMetadata, e as useUserMetadataState, f as useUserMetadataValue, g as userMetadataContext } from '../UserMetadataContext-BYYqA6LI.js';
1
+ export { c as Profile, P as ProfileStatus, a as SetupAuthContext, S as SetupAuthContextProvider, b as SetupAuthContextProviderProps, s as setupAuthContext } from '../setupAuthContext-Kv-THH-h.js';
2
2
  import * as react_jsx_runtime from 'react/jsx-runtime';
3
3
  import * as react from 'react';
4
4
  import { ReactNode } from 'react';
5
5
  import { d as EntityType, b as EntityPermissionCheck, a as EntityAction } from '../EntityPermissions-DwFt4tUd.js';
6
+ export { U as UserMetadataContextType, e as UserMetadataInsert, f as UserMetadataProvider, g as UserMetadataRow, h as UserMetadataUpdate, u as useSetUserMetadata, a as useUserMetadata, b as useUserMetadataState, c as useUserMetadataValue, d as userMetadataContext } from '../UserMetadataContext-DntmpK41.js';
6
7
  import '@supabase/supabase-js';
7
- import '../useSupabase-pPhUZHcl.js';
8
+ import '../useSupabase-DvWVuHHE.js';
8
9
  import '@supabase/supabase-js/dist/module/lib/types.js';
9
10
 
10
11
  interface AuthProviderProps {
@@ -12,13 +12,14 @@ import {
12
12
  useUserMetadataState,
13
13
  useUserMetadataValue,
14
14
  userMetadataContext
15
- } from "../chunk-ERGF2FCE.js";
16
- import "../chunk-GK7B66LY.js";
15
+ } from "../chunk-WGDJ4IXR.js";
16
+ import "../chunk-ZVBHWU7O.js";
17
+ import "../chunk-GC3TBUWE.js";
17
18
  import "../chunk-J4ZVCXZ4.js";
18
- import "../chunk-O3K7R32P.js";
19
+ import "../chunk-OQ7U6EQ3.js";
19
20
  import "../chunk-H6365JPC.js";
20
21
  import "../chunk-3PJTNH2L.js";
21
- import "../chunk-AWFMICFV.js";
22
+ import "../chunk-5EFDS7SR.js";
22
23
  import "../chunk-P4UZ7IXC.js";
23
24
  export {
24
25
  AuthProvider,
@@ -7,8 +7,8 @@ import {
7
7
  hasEntityAccess,
8
8
  isEntityAccessDenied,
9
9
  isPermissionLoaded
10
- } from "../chunk-USJYMRUO.js";
11
- import "../chunk-O3K7R32P.js";
10
+ } from "../chunk-HAWJTZCK.js";
11
+ import "../chunk-OQ7U6EQ3.js";
12
12
  import "../chunk-P4UZ7IXC.js";
13
13
  export {
14
14
  hasAccess,
@@ -1,10 +1,10 @@
1
1
  import { User } from '@supabase/supabase-js';
2
- import { a as SetupAuthContext } from '../UserMetadataContext-BYYqA6LI.js';
3
- export { u as useSetUserMetadata, d as useUserMetadata, e as useUserMetadataState, f as useUserMetadataValue } from '../UserMetadataContext-BYYqA6LI.js';
2
+ import { a as SetupAuthContext } from '../setupAuthContext-Kv-THH-h.js';
4
3
  import { d as EntityType, a as EntityAction, b as EntityPermissionCheck } from '../EntityPermissions-DwFt4tUd.js';
4
+ export { u as useSetUserMetadata, a as useUserMetadata, b as useUserMetadataState, c as useUserMetadataValue } from '../UserMetadataContext-DntmpK41.js';
5
5
  import 'react/jsx-runtime';
6
6
  import 'react';
7
- import '../useSupabase-pPhUZHcl.js';
7
+ import '../useSupabase-DvWVuHHE.js';
8
8
  import '@supabase/supabase-js/dist/module/lib/types.js';
9
9
 
10
10
  /**
@@ -11,19 +11,20 @@ import {
11
11
  usePermissionLoading,
12
12
  usePermissionsBatch,
13
13
  useSetupAuth
14
- } from "../chunk-GQI6WJGI.js";
14
+ } from "../chunk-DJ6VLEAL.js";
15
15
  import {
16
16
  useSetUserMetadata,
17
17
  useUserMetadata,
18
18
  useUserMetadataState,
19
19
  useUserMetadataValue
20
- } from "../chunk-ERGF2FCE.js";
21
- import "../chunk-GK7B66LY.js";
20
+ } from "../chunk-WGDJ4IXR.js";
21
+ import "../chunk-ZVBHWU7O.js";
22
+ import "../chunk-GC3TBUWE.js";
22
23
  import "../chunk-J4ZVCXZ4.js";
23
- import "../chunk-O3K7R32P.js";
24
+ import "../chunk-OQ7U6EQ3.js";
24
25
  import "../chunk-H6365JPC.js";
25
26
  import "../chunk-3PJTNH2L.js";
26
- import "../chunk-AWFMICFV.js";
27
+ import "../chunk-5EFDS7SR.js";
27
28
  import "../chunk-P4UZ7IXC.js";
28
29
  export {
29
30
  useAuth,
@@ -1,10 +1,11 @@
1
1
  export { EntityWithPermission, useAuth, useCanCreate, useCanDelete, useCanEdit, useCanShare, useCanView, useInvalidatePermission, usePermission, usePermissionCheck, usePermissionLoading, usePermissionsBatch, useSetupAuth } from './hooks.js';
2
- export { c as Profile, P as ProfileStatus, a as SetupAuthContext, S as SetupAuthContextProvider, b as SetupAuthContextProviderProps, U as UserMetadataContextType, h as UserMetadataInsert, i as UserMetadataProvider, j as UserMetadataRow, k as UserMetadataUpdate, s as setupAuthContext, u as useSetUserMetadata, d as useUserMetadata, e as useUserMetadataState, f as useUserMetadataValue, g as userMetadataContext } from '../UserMetadataContext-BYYqA6LI.js';
2
+ export { c as Profile, P as ProfileStatus, a as SetupAuthContext, S as SetupAuthContextProvider, b as SetupAuthContextProviderProps, s as setupAuthContext } from '../setupAuthContext-Kv-THH-h.js';
3
3
  export { AuthProvider, AuthProviderProps, EntityPermissionContextValue, PermissionContextValue, PermissionProvider, entityPermissionContext, permissionContext, usePermissions } from './context.js';
4
+ export { U as UserMetadataContextType, e as UserMetadataInsert, f as UserMetadataProvider, g as UserMetadataRow, h as UserMetadataUpdate, u as useSetUserMetadata, a as useUserMetadata, b as useUserMetadataState, c as useUserMetadataValue, d as userMetadataContext } from '../UserMetadataContext-DntmpK41.js';
4
5
  export { hasAccess, hasAllAccess, hasAllEntityAccess, hasAnyAccess, hasAnyEntityAccess, hasEntityAccess, isEntityAccessDenied, isPermissionLoaded } from './guards.js';
5
6
  export { E as EntityAccessRecord, a as EntityAction, b as EntityPermissionCheck, c as EntityPermissionLevel, d as EntityType, P as PermissionEffect } from '../EntityPermissions-DwFt4tUd.js';
6
7
  import '@supabase/supabase-js';
7
8
  import 'react/jsx-runtime';
8
9
  import 'react';
9
- import '../useSupabase-pPhUZHcl.js';
10
+ import '../useSupabase-DvWVuHHE.js';
10
11
  import '@supabase/supabase-js/dist/module/lib/types.js';
@@ -1,3 +1,4 @@
1
+ import "../chunk-NSIAAYW3.js";
1
2
  import {
2
3
  useAuth,
3
4
  useCanCreate,
@@ -11,7 +12,7 @@ import {
11
12
  usePermissionLoading,
12
13
  usePermissionsBatch,
13
14
  useSetupAuth
14
- } from "../chunk-GQI6WJGI.js";
15
+ } from "../chunk-DJ6VLEAL.js";
15
16
  import {
16
17
  AuthProvider,
17
18
  PermissionProvider,
@@ -26,7 +27,8 @@ import {
26
27
  useUserMetadataState,
27
28
  useUserMetadataValue,
28
29
  userMetadataContext
29
- } from "../chunk-ERGF2FCE.js";
30
+ } from "../chunk-WGDJ4IXR.js";
31
+ import "../chunk-ZVBHWU7O.js";
30
32
  import {
31
33
  hasAccess,
32
34
  hasAllAccess,
@@ -36,13 +38,13 @@ import {
36
38
  hasEntityAccess,
37
39
  isEntityAccessDenied,
38
40
  isPermissionLoaded
39
- } from "../chunk-USJYMRUO.js";
40
- import "../chunk-GK7B66LY.js";
41
+ } from "../chunk-HAWJTZCK.js";
42
+ import "../chunk-GC3TBUWE.js";
41
43
  import "../chunk-J4ZVCXZ4.js";
42
- import "../chunk-O3K7R32P.js";
44
+ import "../chunk-OQ7U6EQ3.js";
43
45
  import "../chunk-H6365JPC.js";
44
46
  import "../chunk-3PJTNH2L.js";
45
- import "../chunk-AWFMICFV.js";
47
+ import "../chunk-5EFDS7SR.js";
46
48
  import "../chunk-P4UZ7IXC.js";
47
49
  export {
48
50
  AuthProvider,
@@ -8,7 +8,7 @@ import {
8
8
  var canvas_default;
9
9
  var init_canvas = __esm({
10
10
  "../../../node_modules/.pnpm/canvas@2.11.2_encoding@0.1.13/node_modules/canvas/build/Release/canvas.node"() {
11
- canvas_default = "./canvas-UVNDA54X.node";
11
+ canvas_default = "./canvas-C4TBBDUL.node";
12
12
  }
13
13
  });
14
14
 
@@ -1538,4 +1538,4 @@ canvas/lib/pattern.js:
1538
1538
  * MIT Licensed
1539
1539
  *)
1540
1540
  */
1541
- //# sourceMappingURL=canvas-75Y7XMF3.js.map
1541
+ //# sourceMappingURL=canvas-ZQNCL7JL.js.map
@@ -0,0 +1,205 @@
1
+ // src/client/config.ts
2
+ var supabaseUrl = process.env.SUPABASE_URL;
3
+ var supabaseKey = process.env.SUPABASE_ANON_KEY ?? "";
4
+ function setSupabaseUrl(url) {
5
+ supabaseUrl = url;
6
+ }
7
+ function getSupabaseUrl() {
8
+ return supabaseUrl;
9
+ }
10
+ function setSupabaseKey(key) {
11
+ supabaseKey = key;
12
+ }
13
+ function getSupabaseKey() {
14
+ return supabaseKey;
15
+ }
16
+
17
+ // src/client/useSupabase.tsx
18
+ import { c as _c } from "react/compiler-runtime";
19
+ import { createContext, useContext, useEffect, useState } from "react";
20
+ import { createClient } from "@supabase/supabase-js";
21
+
22
+ // src/utils/uuid.ts
23
+ function generateUUID() {
24
+ if (typeof crypto !== "undefined" && typeof crypto.randomUUID === "function") {
25
+ return crypto.randomUUID();
26
+ }
27
+ return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
28
+ const r = Math.random() * 16 | 0;
29
+ const v = c === "x" ? r : r & 3 | 8;
30
+ return v.toString(16);
31
+ });
32
+ }
33
+
34
+ // src/client/useSupabase.tsx
35
+ import { jsx } from "react/jsx-runtime";
36
+ function newUuid() {
37
+ return generateUUID();
38
+ }
39
+ function isUsable(value) {
40
+ return value !== null && value !== void 0;
41
+ }
42
+ function delay(ms) {
43
+ return new Promise((resolve) => setTimeout(resolve, ms));
44
+ }
45
+ var ClientInstanceId = newUuid();
46
+ var UserSessionId = ClientInstanceId;
47
+ var defaultOptions = {
48
+ auth: {
49
+ autoRefreshToken: true,
50
+ persistSession: true,
51
+ detectSessionInUrl: true
52
+ },
53
+ global: {},
54
+ realtime: {}
55
+ };
56
+ function createNewSupabaseClient(options) {
57
+ const client = createClient(getSupabaseUrl(), getSupabaseKey(), {
58
+ ...defaultOptions,
59
+ ...options
60
+ });
61
+ onSupabaseInitializedAction && onSupabaseInitializedAction(client);
62
+ return client;
63
+ }
64
+ var onSupabaseInitializedAction = void 0;
65
+ function onSupabaseInitialized(afterInitialize) {
66
+ onSupabaseInitializedAction = afterInitialize;
67
+ }
68
+ function setDefaultOptions(options) {
69
+ defaultOptions = options;
70
+ }
71
+ var typedSupabase = null;
72
+ var context = createContext({
73
+ supabaseClient: typedSupabase
74
+ });
75
+ function useSupabase() {
76
+ const supabaseContext = useContext(context);
77
+ if (isUsable(supabaseContext?.supabaseClient) === false) {
78
+ throw new Error("Hook not inside a supabase context provider.");
79
+ }
80
+ return supabaseContext.supabaseClient;
81
+ }
82
+ function SupabaseProvider(t0) {
83
+ const $ = _c(16);
84
+ const {
85
+ children,
86
+ options,
87
+ afterInitialize,
88
+ supabaseClient: supabaseClientProp
89
+ } = t0;
90
+ let t1;
91
+ if ($[0] !== options || $[1] !== supabaseClientProp) {
92
+ t1 = () => supabaseClientProp ?? createNewSupabaseClient({
93
+ ...defaultOptions,
94
+ ...options ? options : {}
95
+ });
96
+ $[0] = options;
97
+ $[1] = supabaseClientProp;
98
+ $[2] = t1;
99
+ } else {
100
+ t1 = $[2];
101
+ }
102
+ const [supabaseClient] = useState(t1);
103
+ const [wasHidden, setWasHidden] = useState(false);
104
+ const [, setConnected] = useState(true);
105
+ let t2;
106
+ if ($[3] !== afterInitialize || $[4] !== supabaseClient) {
107
+ t2 = () => {
108
+ afterInitialize && afterInitialize(supabaseClient);
109
+ };
110
+ $[3] = afterInitialize;
111
+ $[4] = supabaseClient;
112
+ $[5] = t2;
113
+ } else {
114
+ t2 = $[5];
115
+ }
116
+ let t3;
117
+ if ($[6] !== supabaseClient) {
118
+ t3 = [supabaseClient];
119
+ $[6] = supabaseClient;
120
+ $[7] = t3;
121
+ } else {
122
+ t3 = $[7];
123
+ }
124
+ useEffect(t2, t3);
125
+ let t4;
126
+ let t5;
127
+ if ($[8] !== wasHidden) {
128
+ t4 = () => {
129
+ const checkVisibility = async () => {
130
+ if (typeof window.document === "undefined") {
131
+ return;
132
+ }
133
+ if (document?.hidden) {
134
+ await delay(6e4).then((x) => {
135
+ if (document.hidden) {
136
+ setWasHidden(true);
137
+ }
138
+ });
139
+ } else {
140
+ if (wasHidden) {
141
+ setWasHidden(false);
142
+ ;
143
+ try {
144
+ setConnected(true);
145
+ } catch (t62) {
146
+ const error = t62;
147
+ console.error("Reconnection failed:", error);
148
+ setConnected(false);
149
+ }
150
+ }
151
+ }
152
+ };
153
+ const intervalId = setInterval(checkVisibility, 1e3);
154
+ return () => {
155
+ clearInterval(intervalId);
156
+ };
157
+ };
158
+ t5 = [wasHidden];
159
+ $[8] = wasHidden;
160
+ $[9] = t4;
161
+ $[10] = t5;
162
+ } else {
163
+ t4 = $[9];
164
+ t5 = $[10];
165
+ }
166
+ useEffect(t4, t5);
167
+ let t6;
168
+ if ($[11] !== supabaseClient) {
169
+ t6 = {
170
+ supabaseClient
171
+ };
172
+ $[11] = supabaseClient;
173
+ $[12] = t6;
174
+ } else {
175
+ t6 = $[12];
176
+ }
177
+ const t7 = t6;
178
+ let t8;
179
+ if ($[13] !== children || $[14] !== t7) {
180
+ t8 = /* @__PURE__ */ jsx(context.Provider, { value: t7, children });
181
+ $[13] = children;
182
+ $[14] = t7;
183
+ $[15] = t8;
184
+ } else {
185
+ t8 = $[15];
186
+ }
187
+ return t8;
188
+ }
189
+
190
+ export {
191
+ setSupabaseUrl,
192
+ getSupabaseUrl,
193
+ setSupabaseKey,
194
+ getSupabaseKey,
195
+ generateUUID,
196
+ ClientInstanceId,
197
+ UserSessionId,
198
+ createNewSupabaseClient,
199
+ onSupabaseInitialized,
200
+ setDefaultOptions,
201
+ typedSupabase,
202
+ useSupabase,
203
+ SupabaseProvider
204
+ };
205
+ //# sourceMappingURL=chunk-5EFDS7SR.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 afterInitialize && afterInitialize(supabaseClient);\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"]}
@@ -1195,13 +1195,6 @@ var TimeBankTransaction = {
1195
1195
  defaultQuery: "balanceAfter, createdAt, createdBy, description, hours, id, profileTimeBankId, timeActivityId, transactionType"
1196
1196
  };
1197
1197
 
1198
- // src/gen/public/UserMetadata/query.ts
1199
- var UserMetadata = {
1200
- schema: "public",
1201
- table: "UserMetadata",
1202
- defaultQuery: "key, userId, value"
1203
- };
1204
-
1205
1198
  // src/gen/public/UserTimesheet/query.ts
1206
1199
  var UserTimesheet = {
1207
1200
  schema: "public",
@@ -1451,7 +1444,6 @@ export {
1451
1444
  TicketCommentAttachment,
1452
1445
  TimeActivity,
1453
1446
  TimeBankTransaction,
1454
- UserMetadata,
1455
1447
  UserTimesheet,
1456
1448
  WeeklyTimesheet,
1457
1449
  WorkEstimation,
@@ -1464,4 +1456,4 @@ export {
1464
1456
  WorkingPhaseRoleRate,
1465
1457
  WorkingPhaseSummary
1466
1458
  };
1467
- //# sourceMappingURL=chunk-BRTW7CO5.js.map
1459
+ //# sourceMappingURL=chunk-7SCJNYTE.js.map