@motherbase/client 2.2.1 → 2.2.4

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 (222) hide show
  1. package/COMPATIBILITY.md +157 -0
  2. package/LICENSE +21 -21
  3. package/README.md +52 -4
  4. package/dist/admin/auth-admin-client.d.ts +43 -0
  5. package/dist/admin/auth-admin-client.d.ts.map +1 -0
  6. package/dist/admin/auth-admin-client.js +62 -0
  7. package/dist/admin/auth-admin-client.js.map +1 -0
  8. package/dist/admin/auth-admin-mfa-client.d.ts +22 -0
  9. package/dist/admin/auth-admin-mfa-client.d.ts.map +1 -0
  10. package/dist/admin/auth-admin-mfa-client.js +17 -0
  11. package/dist/admin/auth-admin-mfa-client.js.map +1 -0
  12. package/dist/admin/types.d.ts +85 -0
  13. package/dist/admin/types.d.ts.map +1 -0
  14. package/dist/admin/types.js +3 -0
  15. package/dist/admin/types.js.map +1 -0
  16. package/dist/auth/constants.d.ts +21 -0
  17. package/dist/auth/constants.d.ts.map +1 -0
  18. package/dist/auth/constants.js +34 -0
  19. package/dist/auth/constants.js.map +1 -0
  20. package/dist/auth/index.d.ts +5 -0
  21. package/dist/auth/index.d.ts.map +1 -0
  22. package/dist/auth/index.js +34 -0
  23. package/dist/auth/index.js.map +1 -0
  24. package/dist/auth/motherbase-plugin.d.ts +6 -0
  25. package/dist/auth/motherbase-plugin.d.ts.map +1 -0
  26. package/dist/auth/motherbase-plugin.js +80 -0
  27. package/dist/auth/motherbase-plugin.js.map +1 -0
  28. package/dist/auth/pkce.d.ts +19 -0
  29. package/dist/auth/pkce.d.ts.map +1 -0
  30. package/dist/auth/pkce.js +89 -0
  31. package/dist/auth/pkce.js.map +1 -0
  32. package/dist/auth/session-utils.d.ts +29 -0
  33. package/dist/auth/session-utils.d.ts.map +1 -0
  34. package/dist/auth/session-utils.js +123 -0
  35. package/dist/auth/session-utils.js.map +1 -0
  36. package/dist/auth/session.d.ts +51 -0
  37. package/dist/auth/session.d.ts.map +1 -0
  38. package/dist/auth/session.js +161 -0
  39. package/dist/auth/session.js.map +1 -0
  40. package/dist/auth/types.d.ts +341 -0
  41. package/dist/auth/types.d.ts.map +1 -0
  42. package/dist/auth/types.js +2 -0
  43. package/dist/auth/types.js.map +1 -0
  44. package/dist/auth/utils.d.ts +28 -0
  45. package/dist/auth/utils.d.ts.map +1 -0
  46. package/dist/auth/utils.js +70 -0
  47. package/dist/auth/utils.js.map +1 -0
  48. package/dist/auth.d.ts +3 -2
  49. package/dist/auth.d.ts.map +1 -1
  50. package/dist/auth.js +27 -11
  51. package/dist/auth.js.map +1 -1
  52. package/dist/channel.d.ts +11 -0
  53. package/dist/channel.d.ts.map +1 -1
  54. package/dist/channel.js +26 -2
  55. package/dist/channel.js.map +1 -1
  56. package/dist/cookies/cookie-storage.d.ts +12 -0
  57. package/dist/cookies/cookie-storage.d.ts.map +1 -0
  58. package/dist/cookies/cookie-storage.js +35 -0
  59. package/dist/cookies/cookie-storage.js.map +1 -0
  60. package/dist/cookies/index.d.ts +5 -0
  61. package/dist/cookies/index.d.ts.map +1 -0
  62. package/dist/cookies/index.js +5 -0
  63. package/dist/cookies/index.js.map +1 -0
  64. package/dist/cookies/server-cookie-storage.d.ts +20 -0
  65. package/dist/cookies/server-cookie-storage.d.ts.map +1 -0
  66. package/dist/cookies/server-cookie-storage.js +60 -0
  67. package/dist/cookies/server-cookie-storage.js.map +1 -0
  68. package/dist/cookies/types.d.ts +33 -0
  69. package/dist/cookies/types.d.ts.map +1 -0
  70. package/dist/cookies/types.js +8 -0
  71. package/dist/cookies/types.js.map +1 -0
  72. package/dist/cookies/utils.d.ts +23 -0
  73. package/dist/cookies/utils.d.ts.map +1 -0
  74. package/dist/cookies/utils.js +67 -0
  75. package/dist/cookies/utils.js.map +1 -0
  76. package/dist/database/database.d.ts +197 -0
  77. package/dist/database/database.d.ts.map +1 -0
  78. package/dist/database/database.js +2 -0
  79. package/dist/database/database.js.map +1 -0
  80. package/dist/database/facade.d.ts +218 -0
  81. package/dist/database/facade.d.ts.map +1 -0
  82. package/dist/database/facade.js +198 -0
  83. package/dist/database/facade.js.map +1 -0
  84. package/dist/database/query.d.ts +97 -0
  85. package/dist/database/query.d.ts.map +1 -0
  86. package/dist/database/query.js +94 -0
  87. package/dist/database/query.js.map +1 -0
  88. package/dist/database/types.d.ts +314 -0
  89. package/dist/database/types.d.ts.map +1 -0
  90. package/dist/database/types.js +2 -0
  91. package/dist/database/types.js.map +1 -0
  92. package/dist/functions/errors.d.ts +28 -0
  93. package/dist/functions/errors.d.ts.map +1 -0
  94. package/dist/functions/errors.js +37 -0
  95. package/dist/functions/errors.js.map +1 -0
  96. package/dist/functions/index.d.ts +9 -0
  97. package/dist/functions/index.d.ts.map +1 -0
  98. package/dist/functions/index.js +40 -0
  99. package/dist/functions/index.js.map +1 -0
  100. package/dist/functions/types.d.ts +25 -0
  101. package/dist/functions/types.d.ts.map +1 -0
  102. package/dist/functions/types.js +2 -0
  103. package/dist/functions/types.js.map +1 -0
  104. package/dist/http/backend-error.d.ts +17 -0
  105. package/dist/http/backend-error.d.ts.map +1 -0
  106. package/dist/http/backend-error.js +11 -0
  107. package/dist/http/backend-error.js.map +1 -0
  108. package/dist/http/index.d.ts +59 -0
  109. package/dist/http/index.d.ts.map +1 -0
  110. package/dist/http/index.js +175 -0
  111. package/dist/http/index.js.map +1 -0
  112. package/dist/http/types.d.ts +45 -0
  113. package/dist/http/types.d.ts.map +1 -0
  114. package/dist/http/types.js +2 -0
  115. package/dist/http/types.js.map +1 -0
  116. package/dist/http/utils.d.ts +14 -0
  117. package/dist/http/utils.d.ts.map +1 -0
  118. package/dist/http/utils.js +37 -0
  119. package/dist/http/utils.js.map +1 -0
  120. package/dist/http.d.ts.map +1 -1
  121. package/dist/http.js +2 -1
  122. package/dist/http.js.map +1 -1
  123. package/dist/index.d.ts +47 -77
  124. package/dist/index.d.ts.map +1 -1
  125. package/dist/index.js +58 -73
  126. package/dist/index.js.map +1 -1
  127. package/dist/pkce.js +4 -4
  128. package/dist/postgrest/index.d.ts +4 -0
  129. package/dist/postgrest/index.d.ts.map +1 -0
  130. package/dist/postgrest/index.js +4 -0
  131. package/dist/postgrest/index.js.map +1 -0
  132. package/dist/postgrest/query-builder.d.ts +224 -0
  133. package/dist/postgrest/query-builder.d.ts.map +1 -0
  134. package/dist/postgrest/query-builder.js +544 -0
  135. package/dist/postgrest/query-builder.js.map +1 -0
  136. package/dist/postgrest/rpc.d.ts +12 -0
  137. package/dist/postgrest/rpc.d.ts.map +1 -0
  138. package/dist/postgrest/rpc.js +42 -0
  139. package/dist/postgrest/rpc.js.map +1 -0
  140. package/dist/postgrest/types.d.ts +88 -0
  141. package/dist/postgrest/types.d.ts.map +1 -0
  142. package/dist/postgrest/types.js +2 -0
  143. package/dist/postgrest/types.js.map +1 -0
  144. package/dist/postgrest/utils.d.ts +23 -0
  145. package/dist/postgrest/utils.d.ts.map +1 -0
  146. package/dist/postgrest/utils.js +87 -0
  147. package/dist/postgrest/utils.js.map +1 -0
  148. package/dist/postgrest.d.ts +5 -1
  149. package/dist/postgrest.d.ts.map +1 -1
  150. package/dist/postgrest.js +17 -10
  151. package/dist/postgrest.js.map +1 -1
  152. package/dist/realtime/channel.d.ts +83 -0
  153. package/dist/realtime/channel.d.ts.map +1 -0
  154. package/dist/realtime/channel.js +240 -0
  155. package/dist/realtime/channel.js.map +1 -0
  156. package/dist/realtime/index.d.ts +94 -0
  157. package/dist/realtime/index.d.ts.map +1 -0
  158. package/dist/realtime/index.js +455 -0
  159. package/dist/realtime/index.js.map +1 -0
  160. package/dist/realtime/types.d.ts +120 -0
  161. package/dist/realtime/types.d.ts.map +1 -0
  162. package/dist/realtime/types.js +2 -0
  163. package/dist/realtime/types.js.map +1 -0
  164. package/dist/realtime.d.ts +1 -0
  165. package/dist/realtime.d.ts.map +1 -1
  166. package/dist/realtime.js +26 -1
  167. package/dist/realtime.js.map +1 -1
  168. package/dist/runtime.d.ts +13 -0
  169. package/dist/runtime.d.ts.map +1 -0
  170. package/dist/runtime.js +15 -0
  171. package/dist/runtime.js.map +1 -0
  172. package/dist/session.d.ts +2 -0
  173. package/dist/session.d.ts.map +1 -1
  174. package/dist/session.js +11 -2
  175. package/dist/session.js.map +1 -1
  176. package/dist/storage/bucket.d.ts +166 -0
  177. package/dist/storage/bucket.d.ts.map +1 -0
  178. package/dist/storage/bucket.js +294 -0
  179. package/dist/storage/bucket.js.map +1 -0
  180. package/dist/storage/index.d.ts +45 -0
  181. package/dist/storage/index.d.ts.map +1 -0
  182. package/dist/storage/index.js +55 -0
  183. package/dist/storage/index.js.map +1 -0
  184. package/dist/storage/types.d.ts +131 -0
  185. package/dist/storage/types.d.ts.map +1 -0
  186. package/dist/storage/types.js +2 -0
  187. package/dist/storage/types.js.map +1 -0
  188. package/dist/storage/utils.d.ts +27 -0
  189. package/dist/storage/utils.d.ts.map +1 -0
  190. package/dist/storage/utils.js +43 -0
  191. package/dist/storage/utils.js.map +1 -0
  192. package/dist/test.d.ts +2 -0
  193. package/dist/test.d.ts.map +1 -0
  194. package/dist/test.js +3 -0
  195. package/dist/test.js.map +1 -0
  196. package/dist/types.d.ts +14 -249
  197. package/dist/types.d.ts.map +1 -1
  198. package/dist/utils/compat.d.ts +40 -0
  199. package/dist/utils/compat.d.ts.map +1 -0
  200. package/dist/utils/compat.js +100 -0
  201. package/dist/utils/compat.js.map +1 -0
  202. package/dist/utils/runtime.d.ts +13 -0
  203. package/dist/utils/runtime.d.ts.map +1 -0
  204. package/dist/utils/runtime.js +15 -0
  205. package/dist/utils/runtime.js.map +1 -0
  206. package/dist/utils/testing.d.ts +38 -0
  207. package/dist/utils/testing.d.ts.map +1 -0
  208. package/dist/utils/testing.js +50 -0
  209. package/dist/utils/testing.js.map +1 -0
  210. package/dist/utils/warn.d.ts +2 -0
  211. package/dist/utils/warn.d.ts.map +1 -0
  212. package/dist/utils/warn.js +23 -0
  213. package/dist/utils/warn.js.map +1 -0
  214. package/package.json +13 -11
  215. package/dist/devices.d.ts +0 -13
  216. package/dist/devices.d.ts.map +0 -1
  217. package/dist/devices.js +0 -13
  218. package/dist/devices.js.map +0 -1
  219. package/dist/profile.d.ts +0 -16
  220. package/dist/profile.d.ts.map +0 -1
  221. package/dist/profile.js +0 -26
  222. package/dist/profile.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,14 +1,18 @@
1
- import { HttpClient, toError } from './http.js';
1
+ import { HttpClient } from './http/index.js';
2
2
  import { contractPath } from '@motherbase/contracts';
3
- import { SessionStore, memoryStorage, localStorageStorage, keyValueStorage, isKeyValueStorage, SESSION_COOKIE_KEY, } from './session.js';
4
- import { createAuthClient } from './auth.js';
5
- import { verifierStore } from './pkce.js';
6
- import { StorageClient } from './storage.js';
7
- import { FunctionsClient } from './functions.js';
8
- import { RealtimeModule } from './realtime.js';
9
- import { RealtimeChannel } from './channel.js';
10
- import { PostgrestQueryBuilder } from './postgrest.js';
11
- import { isProduction } from './cookie.js';
3
+ import { SessionStore, memoryStorage, localStorageStorage, keyValueStorage, isKeyValueStorage, SESSION_COOKIE_KEY, } from './auth/session.js';
4
+ import { createAuthClient } from './auth/index.js';
5
+ import { verifierStore } from './auth/pkce.js';
6
+ import { StorageClient } from './storage/index.js';
7
+ import { FunctionsClient } from './functions/index.js';
8
+ import { RealtimeModule } from './realtime/index.js';
9
+ import { RealtimeChannel } from './realtime/channel.js';
10
+ import { PostgrestQueryBuilder } from './postgrest/index.js';
11
+ import { isProduction } from './cookies/index.js';
12
+ import { isBrowser } from './utils/runtime.js';
13
+ import { toError } from './http/utils.js';
14
+ import { callRpc } from './postgrest/rpc.js';
15
+ import { tableFacade } from './database/facade.js';
12
16
  /**
13
17
  * Pick the session storage from either options shape.
14
18
  *
@@ -45,11 +49,20 @@ function resolveStorage(options) {
45
49
  * behaves exactly as it did before generics existed.
46
50
  */
47
51
  export class MotherbaseClient {
48
- constructor(url,
49
- /** Accepted for supabase-js signature parity; sent as an `apikey` header when set. */
50
- key, options = {}) {
51
- this.url = url;
52
+ constructor(url, key, options = {}) {
52
53
  this.key = key;
54
+ /**
55
+ * Prisma-style access to the same tables as `from()`, for those who prefer it:
56
+ * `client.db.posts.findMany({ where: { published: true }, take: 20 })`.
57
+ * Typed from the generated `Database`; throws on failure instead of resolving
58
+ * `{ data, error }`. See `database/facade.ts`.
59
+ */
60
+ this.db = new Proxy({}, {
61
+ // A symbol is not a table name: a debugger or `await client.db` probing one gets nothing.
62
+ get: (_, table) => (typeof table === 'string'
63
+ ? tableFacade(() => new PostgrestQueryBuilder(this.http, table, this.compat))
64
+ : undefined),
65
+ });
53
66
  this.channels = new Map();
54
67
  this.requestObservers = new Set();
55
68
  // `globalThis.fetch` is a native function that requires `this === window`
@@ -80,7 +93,8 @@ export class MotherbaseClient {
80
93
  // is not "a key that leaked", it is the whole database published. Warn
81
94
  // rather than throw: a legitimate caller may run in a runtime that defines
82
95
  // `window` (a test harness, an Electron main process), and refusing to
83
- // construct would break them for a heuristic.
96
+ // construct would break them for a heuristic. `window`, not `isBrowser()`:
97
+ // a React Native bundle ships the key to every device just the same.
84
98
  if (key?.startsWith('mb_secret_') && typeof window !== 'undefined') {
85
99
  console.warn('[motherbase] A secret API key was passed to createClient in a browser context. '
86
100
  + 'Secret keys bypass row level security and must stay server side. '
@@ -90,9 +104,9 @@ export class MotherbaseClient {
90
104
  // The default adapter keeps the session in memory only: it does not survive
91
105
  // a reload, and the server never sees it. That is the right default for a
92
106
  // script or a test, and a bug in a browser app, and it presents as
93
- // "getUser() returns null everywhere", which reads like an auth problem
107
+ // "getSession() returns null everywhere", which reads like an auth problem
94
108
  // rather than a storage one. Point at the fix once, in development.
95
- if (!storageAdapter && typeof window !== 'undefined' && !MotherbaseClient.warnedAboutStorage) {
109
+ if (!storageAdapter && isBrowser() && !MotherbaseClient.warnedAboutStorage) {
96
110
  MotherbaseClient.warnedAboutStorage = true;
97
111
  if (!isProduction()) {
98
112
  console.warn('[motherbase] createClient() was called in a browser without a `storage` adapter, so the '
@@ -137,13 +151,13 @@ export class MotherbaseClient {
137
151
  // token in the fragment: on every other page load this is a no-op with no
138
152
  // network call. Opt out with `auth: { detectSessionInUrl: false }`.
139
153
  if (options.auth?.detectSessionInUrl !== false
140
- && typeof window !== 'undefined'
154
+ && isBrowser()
141
155
  && window.location?.hash?.includes('access_token=')) {
142
156
  void this.auth.getSessionFromUrl();
143
157
  }
144
158
  // The PKCE equivalent: a `?code=` on the page the provider sent us back to.
145
159
  // Stripped from the address bar first, so a reload cannot replay it.
146
- if (options.auth?.detectSessionInUrl !== false && flowType === 'pkce' && typeof window !== 'undefined') {
160
+ if (options.auth?.detectSessionInUrl !== false && flowType === 'pkce' && isBrowser()) {
147
161
  const url = new URL(window.location.href);
148
162
  const code = url.searchParams.get('code');
149
163
  if (code) {
@@ -167,47 +181,7 @@ export class MotherbaseClient {
167
181
  * as query parameters rather than as a body, exactly as supabase-js does.
168
182
  */
169
183
  async rpc(fn, args, options = {}) {
170
- return this.callRpc('public', fn, args, options);
171
- }
172
- /**
173
- * The one `/rpc/` transport, for `rpc()` and for every `schema(name).rpc()`.
174
- *
175
- * A schema other than `public` rides in the profile header PostgREST defines:
176
- * `Content-Profile` when there is a body, `Accept-Profile` on GET and HEAD.
177
- * The server serves only the schemas a feature has exposed and answers any
178
- * other with PGRST106, so nothing here needs to know which ones those are.
179
- */
180
- async callRpc(schema, fn, args, options) {
181
- try {
182
- const method = options.head ? 'HEAD' : options.get ? 'GET' : 'POST';
183
- const params = new URLSearchParams();
184
- if (method !== 'POST') {
185
- for (const [name, value] of Object.entries((args ?? {}))) {
186
- if (value === undefined)
187
- continue;
188
- params.append(name, Array.isArray(value) ? `{${value.join(',')}}` : String(value));
189
- }
190
- }
191
- const query = params.toString();
192
- const path = `${contractPath.rest('rpc')}/${encodeURIComponent(fn)}${query ? `?${query}` : ''}`;
193
- const headers = {};
194
- if (options.count)
195
- headers.Prefer = `count=${options.count}`;
196
- if (schema !== 'public')
197
- headers[method === 'POST' ? 'Content-Profile' : 'Accept-Profile'] = schema;
198
- const result = await this.http.requestWithHeaders(path, {
199
- method,
200
- body: method === 'POST' ? (args ?? {}) : undefined,
201
- headers,
202
- });
203
- const range = result.headers.get('content-range');
204
- const total = range?.split('/')[1];
205
- const count = total && total !== '*' && Number.isFinite(Number(total)) ? Number(total) : null;
206
- return { data: options.head ? null : result.data, error: null, count };
207
- }
208
- catch (err) {
209
- return { data: null, error: toError(err), count: null };
210
- }
184
+ return callRpc(this.http, 'public', fn, args, options);
211
185
  }
212
186
  /**
213
187
  * Watch every HTTP request this client makes.
@@ -266,20 +240,29 @@ export class MotherbaseClient {
266
240
  */
267
241
  async transaction(build) {
268
242
  const recorded = [];
243
+ let collecting = true;
269
244
  const tx = {
270
245
  from: ((table) => {
271
- const builder = new PostgrestQueryBuilder(this.http, table, this.compat);
246
+ if (!collecting)
247
+ throw new Error('transaction(): the callback has already finished.');
248
+ const builder = new PostgrestQueryBuilder(this.http, table, this.compat, true);
272
249
  recorded.push(builder);
273
250
  return builder;
274
251
  }),
275
252
  };
276
253
  try {
277
- build(tx);
254
+ // Async callbacks that await a builder reject locally, before any write.
255
+ try {
256
+ await build(tx);
257
+ }
258
+ finally {
259
+ collecting = false;
260
+ }
278
261
  const operations = recorded.map(builder => {
279
262
  const request = builder.toRequest();
280
263
  if (request.method === 'GET' || request.method === 'HEAD') {
281
264
  throw new Error(`transaction(): '${request.model}' was read, not written. A transaction takes writes only `
282
- + '(insert, upsert, update, delete).');
265
+ + '(insert, update, delete).');
283
266
  }
284
267
  return request;
285
268
  });
@@ -313,7 +296,7 @@ export class MotherbaseClient {
313
296
  if (name === 'public')
314
297
  return this;
315
298
  const scoped = {
316
- rpc: (fn, args, options = {}) => this.callRpc(name, fn, args, options),
299
+ rpc: (fn, args, options = {}) => callRpc(this.http, name, fn, args, options),
317
300
  from: table => {
318
301
  throw new Error(`schema('${name}').from('${table}') is not supported: the Motherbase REST API serves tables from the `
319
302
  + `public schema only. Functions in '${name}' can be called with schema('${name}').rpc().`);
@@ -349,7 +332,7 @@ MotherbaseClient.warnedAboutStorage = false;
349
332
  * In a Next.js app, prefer `createBrowserClient` / `createServerClient` from
350
333
  * `@motherbase/ssr`: they persist the session to a cookie both halves can read.
351
334
  * `createClient()` on its own keeps the session in memory, which the server
352
- * cannot see, so every server-rendered `getUser()` returns null.
335
+ * cannot see, so every server-rendered `auth.getSession()` returns null.
353
336
  *
354
337
  * @param url Backend API base URL.
355
338
  * @param key Anon/publishable key (optional). Sent as an `apikey` header.
@@ -364,13 +347,15 @@ MotherbaseClient.warnedAboutStorage = false;
364
347
  export function createClient(url, key, options = {}) {
365
348
  return new MotherbaseClient(url, key, options);
366
349
  }
367
- export { BackendError } from './http.js';
350
+ export { BackendError } from './http/backend-error.js';
368
351
  export { memoryStorage, localStorageStorage, keyValueStorage };
369
- export { normalizeSession, normalizeUser } from './compat.js';
370
- export { cookieStorage, serverCookieStorage, SESSION_COOKIE_KEY } from './cookie.js';
371
- export { PostgrestQueryBuilder } from './postgrest.js';
372
- export { AuthAdminClient } from './admin.js';
373
- export { StorageClient, StorageBucket } from './storage.js';
374
- export { FunctionsClient, FunctionsError, FunctionsHttpError, FunctionsRelayError, FunctionsFetchError } from './functions.js';
375
- export { RealtimeChannel } from './channel.js';
352
+ export { normalizeSession, normalizeUser } from './utils/compat.js';
353
+ export { cookieStorage, serverCookieStorage, SESSION_COOKIE_KEY } from './cookies/index.js';
354
+ export { PostgrestQueryBuilder } from './postgrest/index.js';
355
+ export { AuthAdminClient } from './admin/auth-admin-client.js';
356
+ export { StorageBucket } from './storage/bucket.js';
357
+ export { StorageClient } from './storage/index.js';
358
+ export { FunctionsError, FunctionsHttpError, FunctionsRelayError, FunctionsFetchError } from './functions/errors.js';
359
+ export { FunctionsClient } from "./functions/index.js";
360
+ export { RealtimeChannel } from './realtime/channel.js';
376
361
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/pkce.js CHANGED
@@ -2,10 +2,10 @@ import { browserLocalStorage } from './session.js';
2
2
  /**
3
3
  * The client half of the PKCE flow (`flowType: 'pkce'`).
4
4
  *
5
- * `signInWithOAuth` makes a verifier, keeps it, and sends only its SHA-256
6
- * challenge on the redirect URL. The provider callback comes back with
7
- * `?code=`, and `exchangeCodeForSession(code)` proves possession of the
8
- * verifier to get the session. The verifier has to outlive a full-page
5
+ * `signIn.social` (and `signIn.sso`) makes a verifier, keeps it, and sends
6
+ * only its SHA-256 challenge on the redirect URL. The provider callback comes
7
+ * back with `?code=`, and `exchangeCodeForSession(code)` proves possession of
8
+ * the verifier to get the session. The verifier has to outlive a full-page
9
9
  * navigation, so it lives in the key/value storage the app passed, or in
10
10
  * localStorage, the way supabase-js keeps `<storageKey>-code-verifier`.
11
11
  */
@@ -0,0 +1,4 @@
1
+ export * from './types.js';
2
+ export { PostgrestQueryBuilder } from './query-builder.js';
3
+ export { encodeLiteral } from './utils.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/postgrest/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './types.js';
2
+ export { PostgrestQueryBuilder } from './query-builder.js';
3
+ export { encodeLiteral } from './utils.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/postgrest/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,224 @@
1
+ import { HttpClient } from "../http/index.js";
2
+ import type { ExplainOptions, InsertOptions, MutateOptions, OrderOptions, PaginateOptions, PostgrestArrayOperand, PostgrestExplainBuilder, PostgrestFilterOperator, PostgrestIsValue, PostgrestPrimitive, PostgrestResponse, PostgrestSingleBuilder, PostgrestTextBuilder, ReferencedTableOption, SelectOptions, TextSearchType, UpsertOptions } from "./types.js";
3
+ export declare class PostgrestQueryBuilder<Row extends object = Record<string, unknown>> implements PromiseLike<PostgrestResponse<Row[]>> {
4
+ private readonly http;
5
+ private readonly model;
6
+ /** supabase-js semantic parity, from `createClient(..., { compat: 'supabase' })`. */
7
+ private readonly compat;
8
+ /** Batch builders describe writes; they cannot send individual requests. */
9
+ private readonly transactionOnly;
10
+ private method;
11
+ private columns;
12
+ /**
13
+ * Repeated filters on one column must all survive: `?price=gt.10&price=lt.20`
14
+ * is two conditions ANDed together, which is why every filter is `append`ed
15
+ * and never `set`. Using `set` here (as this builder once did) silently
16
+ * dropped the first of the two.
17
+ */
18
+ private readonly filters;
19
+ /** Reserved params that are replaced rather than repeated (`columns`, `on_conflict`). */
20
+ private readonly extras;
21
+ /** Keyed by referenced table (`''` for the base relation). */
22
+ private readonly orderParts;
23
+ private readonly limits;
24
+ private readonly offsets;
25
+ private readonly prefer;
26
+ private accept?;
27
+ private responseKind;
28
+ private countOption?;
29
+ private headOnly;
30
+ private signal?;
31
+ private readonly extraHeaders;
32
+ private body?;
33
+ private rowMode;
34
+ private shouldThrow;
35
+ /** Set by `select()`, so a write can tell "rows asked for" from "no rows requested". */
36
+ private selectCalled;
37
+ constructor(http: HttpClient, model: string,
38
+ /** supabase-js semantic parity, from `createClient(..., { compat: 'supabase' })`. */
39
+ compat?: boolean,
40
+ /** Batch builders describe writes; they cannot send individual requests. */
41
+ transactionOnly?: boolean);
42
+ /**
43
+ * Choose the columns, and optionally ask for a row count.
44
+ *
45
+ * After a write, `.select()` is the supabase-js way of asking for the rows
46
+ * back, so it also sends `Prefer: return=representation`.
47
+ */
48
+ select(columns?: string, options?: SelectOptions): this;
49
+ insert(values: Partial<Row> | Array<Partial<Row>>, options?: InsertOptions): this;
50
+ /**
51
+ * `INSERT .. ON CONFLICT DO UPDATE`. The conflict target defaults to the
52
+ * primary key server side; `onConflict` names another unique constraint.
53
+ */
54
+ upsert(values: Partial<Row> | Array<Partial<Row>>, options?: UpsertOptions): this;
55
+ update(values: Partial<Row>, options?: MutateOptions): this;
56
+ delete(options?: MutateOptions): this;
57
+ /**
58
+ * A bulk write states its column set explicitly, so a key missing from one
59
+ * row is still written (as NULL, or as the column default under
60
+ * `missing=default`) instead of being inferred from the first row alone.
61
+ */
62
+ private applyColumns;
63
+ eq(column: string, value: PostgrestPrimitive): this;
64
+ neq(column: string, value: PostgrestPrimitive): this;
65
+ gt(column: string, value: PostgrestPrimitive): this;
66
+ gte(column: string, value: PostgrestPrimitive): this;
67
+ lt(column: string, value: PostgrestPrimitive): this;
68
+ lte(column: string, value: PostgrestPrimitive): this;
69
+ /** Case-sensitive LIKE. `*` is PostgREST's URL-friendly `%`. */
70
+ like(column: string, pattern: string): this;
71
+ ilike(column: string, pattern: string): this;
72
+ likeAllOf(column: string, patterns: readonly string[]): this;
73
+ likeAnyOf(column: string, patterns: readonly string[]): this;
74
+ ilikeAllOf(column: string, patterns: readonly string[]): this;
75
+ ilikeAnyOf(column: string, patterns: readonly string[]): this;
76
+ in(column: string, values: readonly PostgrestPrimitive[]): this;
77
+ is(column: string, value: PostgrestIsValue): this;
78
+ /** Every key equal to its value, ANDed together. */
79
+ match(query: Record<string, PostgrestPrimitive>): this;
80
+ /**
81
+ * Negate any operator: `not('status', 'eq', 'live')` emits
82
+ * `status=not.eq.live`. The value is passed through verbatim for a string, so
83
+ * composite operands (`not('id', 'in', '(1,2)')`) reach the server as written.
84
+ */
85
+ not(column: string, operator: PostgrestFilterOperator | (string & {}), value: PostgrestPrimitive | readonly PostgrestPrimitive[]): this;
86
+ /**
87
+ * The escape hatch: any operator, including the ones with no dedicated method
88
+ * (`match`, `imatch`, `isdistinct`) and the modifier forms (`like(any)`).
89
+ */
90
+ filter(column: string, operator: PostgrestFilterOperator | (string & {}), value: PostgrestPrimitive | readonly PostgrestPrimitive[]): this;
91
+ /**
92
+ * A disjunction, written in PostgREST's own syntax and nestable:
93
+ * `or('status.eq.live,and(price.gt.10,price.lt.20)')`.
94
+ */
95
+ or(filters: string, options?: ReferencedTableOption): this;
96
+ /** Full-text search. `type` picks the tsquery parser, `config` the dictionary. */
97
+ textSearch(column: string, query: string, options?: {
98
+ type?: TextSearchType;
99
+ config?: string;
100
+ }): this;
101
+ /** `@>`: the column contains the operand (array, range or jsonb). */
102
+ contains(column: string, value: PostgrestArrayOperand): this;
103
+ /** `<@`: the column is contained by the operand. */
104
+ containedBy(column: string, value: PostgrestArrayOperand): this;
105
+ /** `&&`: the column and the operand have an element (or a point) in common. */
106
+ overlaps(column: string, value: PostgrestArrayOperand): this;
107
+ /** `>>`: strictly right of the range. */
108
+ rangeGt(column: string, range: string): this;
109
+ /** `&>`: does not extend to the left of the range. */
110
+ rangeGte(column: string, range: string): this;
111
+ /** `<<`: strictly left of the range. */
112
+ rangeLt(column: string, range: string): this;
113
+ /** `&<`: does not extend to the right of the range. */
114
+ rangeLte(column: string, range: string): this;
115
+ /** `-|-`: adjacent to the range. */
116
+ rangeAdjacent(column: string, range: string): this;
117
+ private push;
118
+ order(column: string, options?: OrderOptions): this;
119
+ limit(count: number, options?: ReferencedTableOption): this;
120
+ /** Inclusive range -> offset/limit. `range(0, 9)` fetches 10 rows from offset 0. */
121
+ range(from: number, to: number, options?: ReferencedTableOption): this;
122
+ /**
123
+ * Every matching row, one page at a time.
124
+ *
125
+ * An unbounded `select()` stops at the server's `api.rest.maxRows` (1000 by
126
+ * default) and says nothing about it: the caller gets a full-looking array
127
+ * that is missing everything past the cap. This walks the result instead, so
128
+ * "give me all of them" is expressible without knowing the cap exists.
129
+ *
130
+ * ```ts
131
+ * for await (const row of client.from('events').select('*').stream()) { ... }
132
+ * ```
133
+ *
134
+ * The pages are separate requests, so rows inserted while the walk is running
135
+ * may be seen or missed depending on when they land. Order by a stable column
136
+ * if that matters.
137
+ */
138
+ stream(options?: PaginateOptions): AsyncGenerator<Row, void, undefined>;
139
+ /**
140
+ * Like `stream()`, a page at a time rather than a row at a time, with the
141
+ * total from `Content-Range` when the server sent one.
142
+ *
143
+ * An error ends the walk by throwing, unlike awaiting the builder, which
144
+ * resolves `{ data, error }`. A `for await` loop has nowhere to put an error
145
+ * value, and silently ending the iteration early would look exactly like
146
+ * reaching the last page.
147
+ */
148
+ paginate(options?: PaginateOptions): AsyncGenerator<{
149
+ rows: Row[];
150
+ from: number;
151
+ count: number | null;
152
+ }, void, undefined>;
153
+ /** Cancel the in-flight request when the signal aborts. */
154
+ abortSignal(signal: AbortSignal): this;
155
+ /**
156
+ * Send one more header with this request only, as in supabase-js. The usual
157
+ * one is `x-captcha-response`, for a table the project guards with CAPTCHA
158
+ * (Authentication > Attack Protection).
159
+ */
160
+ setHeader(name: string, value: string): this;
161
+ /**
162
+ * Re-type the rows. Purely a compile-time cast, for cases the generated
163
+ * `Database` cannot express (a computed column, an embedded shape).
164
+ */
165
+ returns<T extends object>(): PostgrestQueryBuilder<T>;
166
+ /** supabase-js's newer name for `returns()`. Also a compile-time cast only. */
167
+ overrideTypes<T extends object>(): PostgrestQueryBuilder<T>;
168
+ /**
169
+ * Reject the query instead of resolving `{ data: null, error }`.
170
+ *
171
+ * The `{ data, error }` envelope is the default in both SDKs because it makes
172
+ * a failure impossible to skip by accident. `throwOnError()` is the opt-out
173
+ * for code that would rather use try/catch, and ported Supabase code uses it
174
+ * widely enough that its absence is a `TypeError: … is not a function` on the
175
+ * first query.
176
+ */
177
+ throwOnError(): this;
178
+ /**
179
+ * Fail the write if it would touch more than `count` rows.
180
+ *
181
+ * A guard against the missing-filter class of accident (`update()` with a
182
+ * typo'd `.eq()`), sent as `Prefer: max-affected`. A server that does not
183
+ * implement it ignores the preference, so treat this as a safety net rather
184
+ * than a guarantee, and keep the filter correct.
185
+ */
186
+ maxAffected(count: number): this;
187
+ /**
188
+ * Roll the transaction back after running the query, so nothing is persisted.
189
+ * Useful for validating a write, or previewing what it would return.
190
+ */
191
+ rollback(): this;
192
+ /** Ask for GeoJSON instead of rows. The result resolves to the parsed object. */
193
+ geojson(): PostgrestExplainBuilder;
194
+ /** Ask for `text/csv` instead of JSON. The result resolves to a string. */
195
+ csv(): PostgrestTextBuilder;
196
+ /** Ask the server for the query plan. Admin-only, and off by default. */
197
+ explain(options?: ExplainOptions): PostgrestExplainBuilder;
198
+ single(): PostgrestSingleBuilder<Row>;
199
+ maybeSingle(): PostgrestSingleBuilder<Row>;
200
+ /** The URL path (with query string) this builder targets. Exposed for tests. */
201
+ toPath(): string;
202
+ /**
203
+ * The request this builder would send, as data.
204
+ *
205
+ * `client.transaction()` needs to describe several writes without issuing
206
+ * them, and the method and body are otherwise private. Exposed rather than
207
+ * reached into: a batch built from `(builder as any).method` would break the
208
+ * first time this class was refactored.
209
+ */
210
+ toRequest(): {
211
+ method: string;
212
+ model: string;
213
+ query: Record<string, string[]>;
214
+ body: unknown;
215
+ };
216
+ /** The headers this builder sends. Exposed for tests alongside `toPath()`. */
217
+ toHeaders(): Record<string, string>;
218
+ private execute;
219
+ private isWrite;
220
+ /** Apply `single()` / `maybeSingle()` to a row list. The one place row mode is read. */
221
+ private finish;
222
+ then<TResult1 = PostgrestResponse<Row[]>, TResult2 = never>(onfulfilled?: ((value: PostgrestResponse<Row[]>) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null): PromiseLike<TResult1 | TResult2>;
223
+ }
224
+ //# sourceMappingURL=query-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-builder.d.ts","sourceRoot":"","sources":["../../src/postgrest/query-builder.ts"],"names":[],"mappings":"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"}