@pol-studios/db 1.0.9 → 1.0.11

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 (113) 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 +22 -12786
  6. package/dist/auth/context.js.map +1 -1
  7. package/dist/auth/guards.js +12 -7640
  8. package/dist/auth/guards.js.map +1 -1
  9. package/dist/auth/hooks.d.ts +3 -3
  10. package/dist/auth/hooks.js +26 -10591
  11. package/dist/auth/hooks.js.map +1 -1
  12. package/dist/auth/index.d.ts +3 -2
  13. package/dist/auth/index.js +45 -13008
  14. package/dist/auth/index.js.map +1 -1
  15. package/dist/{canvas-UVNDA54X.node → canvas-C4TBBDUL.node} +0 -0
  16. package/dist/canvas-ZQNCL7JL.js +1541 -0
  17. package/dist/canvas-ZQNCL7JL.js.map +1 -0
  18. package/dist/chunk-3PJTNH2L.js +2778 -0
  19. package/dist/chunk-3PJTNH2L.js.map +1 -0
  20. package/dist/chunk-5EFDS7SR.js +205 -0
  21. package/dist/chunk-5EFDS7SR.js.map +1 -0
  22. package/dist/chunk-7SCJNYTE.js +1459 -0
  23. package/dist/chunk-7SCJNYTE.js.map +1 -0
  24. package/dist/chunk-DJ6VLEAL.js +247 -0
  25. package/dist/chunk-DJ6VLEAL.js.map +1 -0
  26. package/dist/chunk-GC3TBUWE.js +14 -0
  27. package/dist/chunk-GC3TBUWE.js.map +1 -0
  28. package/dist/chunk-H3LNH2NT.js +611 -0
  29. package/dist/chunk-H3LNH2NT.js.map +1 -0
  30. package/dist/chunk-H6365JPC.js +1858 -0
  31. package/dist/chunk-H6365JPC.js.map +1 -0
  32. package/dist/chunk-HAWJTZCK.js +86 -0
  33. package/dist/chunk-HAWJTZCK.js.map +1 -0
  34. package/dist/chunk-J4ZVCXZ4.js +1 -0
  35. package/dist/chunk-J4ZVCXZ4.js.map +1 -0
  36. package/dist/chunk-JAATANS3.js +429 -0
  37. package/dist/chunk-JAATANS3.js.map +1 -0
  38. package/dist/chunk-LNJ3WF7V.js +470 -0
  39. package/dist/chunk-LNJ3WF7V.js.map +1 -0
  40. package/dist/chunk-N26IEHZT.js +79 -0
  41. package/dist/chunk-N26IEHZT.js.map +1 -0
  42. package/dist/chunk-NSIAAYW3.js +1 -0
  43. package/dist/chunk-NSIAAYW3.js.map +1 -0
  44. package/dist/chunk-NZON56CB.js +3864 -0
  45. package/dist/chunk-NZON56CB.js.map +1 -0
  46. package/dist/chunk-OQ7U6EQ3.js +7550 -0
  47. package/dist/chunk-OQ7U6EQ3.js.map +1 -0
  48. package/dist/chunk-P4UZ7IXC.js +42 -0
  49. package/dist/chunk-P4UZ7IXC.js.map +1 -0
  50. package/dist/chunk-SM73S2DY.js +11 -0
  51. package/dist/chunk-SM73S2DY.js.map +1 -0
  52. package/dist/chunk-TKWR5AAY.js +415 -0
  53. package/dist/chunk-TKWR5AAY.js.map +1 -0
  54. package/dist/chunk-U5UNPBKB.js +501 -0
  55. package/dist/chunk-U5UNPBKB.js.map +1 -0
  56. package/dist/chunk-WGDJ4IXR.js +921 -0
  57. package/dist/chunk-WGDJ4IXR.js.map +1 -0
  58. package/dist/chunk-WVF7RUW5.js +186 -0
  59. package/dist/chunk-WVF7RUW5.js.map +1 -0
  60. package/dist/chunk-X3HZLNBV.js +2129 -0
  61. package/dist/chunk-X3HZLNBV.js.map +1 -0
  62. package/dist/chunk-XU3SBFAG.js +5205 -0
  63. package/dist/chunk-XU3SBFAG.js.map +1 -0
  64. package/dist/chunk-ZVBHWU7O.js +1412 -0
  65. package/dist/chunk-ZVBHWU7O.js.map +1 -0
  66. package/dist/client/index.d.ts +1 -1
  67. package/dist/client/index.js +54 -163
  68. package/dist/client/index.js.map +1 -1
  69. package/dist/core/index.d.ts +19 -0
  70. package/dist/{index-BFu5_dS8.d.ts → database.types-ChFCG-4M.d.ts} +1 -177
  71. package/dist/dist-NDNRSNOG.js +521 -0
  72. package/dist/dist-NDNRSNOG.js.map +1 -0
  73. package/dist/gen/index.js +188 -1280
  74. package/dist/gen/index.js.map +1 -1
  75. package/dist/hooks/index.d.ts +10 -3
  76. package/dist/hooks/index.js +20 -8695
  77. package/dist/hooks/index.js.map +1 -1
  78. package/dist/index-CQLyNG6A.d.ts +433 -0
  79. package/dist/index.d.ts +12 -8
  80. package/dist/index.js +447 -47848
  81. package/dist/index.js.map +1 -1
  82. package/dist/index.native.d.ts +373 -33
  83. package/dist/index.native.js +432 -25048
  84. package/dist/index.native.js.map +1 -1
  85. package/dist/index.web.d.ts +10 -7
  86. package/dist/index.web.js +585 -43773
  87. package/dist/index.web.js.map +1 -1
  88. package/dist/mutation/index.d.ts +2 -2
  89. package/dist/mutation/index.js +331 -4777
  90. package/dist/mutation/index.js.map +1 -1
  91. package/dist/parser/index.js +45 -3697
  92. package/dist/parser/index.js.map +1 -1
  93. package/dist/pdf-PHXP7RHD.js +20336 -0
  94. package/dist/pdf-PHXP7RHD.js.map +1 -0
  95. package/dist/powersync-bridge/index.d.ts +284 -0
  96. package/dist/powersync-bridge/index.js +22 -0
  97. package/dist/powersync-bridge/index.js.map +1 -0
  98. package/dist/query/index.js +31 -13175
  99. package/dist/query/index.js.map +1 -1
  100. package/dist/realtime/index.js +279 -12541
  101. package/dist/realtime/index.js.map +1 -1
  102. package/dist/{UserMetadataContext-BYYqA6LI.d.ts → setupAuthContext-Kv-THH-h.d.ts} +1 -29
  103. package/dist/types/index.d.ts +5 -1
  104. package/dist/types/index.js +14 -0
  105. package/dist/{useBatchUpsert-CSQVX7w8.d.ts → useBatchUpsert-9OYjibLh.d.ts} +1 -1
  106. package/dist/{useDbCount-RGCuHmHp.d.ts → useDbCount-BG356T9i.d.ts} +3 -719
  107. package/dist/{useReceiptAI-Bn0czE7C.d.ts → useReceiptAI-6HkRpRml.d.ts} +1 -1
  108. package/dist/{useResolveFeedback-CpZPP8Pw.d.ts → useResolveFeedback-BWmatBlE.d.ts} +26 -45
  109. package/dist/{useSupabase-pPhUZHcl.d.ts → useSupabase-DvWVuHHE.d.ts} +2 -1
  110. package/dist/with-auth/index.d.ts +704 -0
  111. package/dist/with-auth/index.js +1221 -0
  112. package/dist/with-auth/index.js.map +1 -0
  113. package/package.json +25 -10
@@ -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"]}