@aurabase/aurabase-js 0.3.0 → 0.3.1
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/package.json +4 -4
- package/packages/ai/node_modules/.bin/esbuild +0 -19
- package/packages/ai/node_modules/.bin/tsc +0 -22
- package/packages/ai/node_modules/.bin/tsserver +0 -22
- package/packages/ai/node_modules/.bin/tsup +0 -22
- package/packages/ai/node_modules/.bin/tsup-node +0 -22
- package/packages/ai/node_modules/.bin/vite +0 -22
- package/packages/ai/node_modules/.bin/vitest +0 -22
- package/packages/ai/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
- package/packages/ai/src/AiService.ts +0 -226
- package/packages/ai/src/index.ts +0 -18
- package/packages/ai/src/sse.ts +0 -141
- package/packages/ai/src/types.ts +0 -30
- package/packages/ai/tests/chat-stream.test.ts +0 -151
- package/packages/ai/tests/rag-namespaces.test.ts +0 -54
- package/packages/ai/tests/sse.test.ts +0 -69
- package/packages/ai/tsconfig.json +0 -5
- package/packages/ai/tsup.config.ts +0 -11
- package/packages/aurabase/node_modules/.bin/esbuild +0 -19
- package/packages/aurabase/node_modules/.bin/tsc +0 -22
- package/packages/aurabase/node_modules/.bin/tsserver +0 -22
- package/packages/aurabase/node_modules/.bin/tsup +0 -22
- package/packages/aurabase/node_modules/.bin/tsup-node +0 -22
- package/packages/aurabase/node_modules/.bin/vite +0 -22
- package/packages/aurabase/node_modules/.bin/vitest +0 -22
- package/packages/aurabase/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
- package/packages/aurabase/src/AuraClient.ts +0 -237
- package/packages/aurabase/src/index.ts +0 -152
- package/packages/aurabase/src/ssr.ts +0 -156
- package/packages/aurabase/tests/ai-streaming-rag-e2e.test.ts +0 -82
- package/packages/aurabase/tests/ai.test.ts +0 -111
- package/packages/aurabase/tests/auth-admin.test.ts +0 -515
- package/packages/aurabase/tests/auth-e2e.test.ts +0 -135
- package/packages/aurabase/tests/auth-hardening.test.ts +0 -206
- package/packages/aurabase/tests/auth.test.ts +0 -947
- package/packages/aurabase/tests/database.test.ts +0 -230
- package/packages/aurabase/tests/db-types-e2e.test.ts +0 -217
- package/packages/aurabase/tests/dispose.test.ts +0 -23
- package/packages/aurabase/tests/foreign-token.e2e.test.ts +0 -129
- package/packages/aurabase/tests/functions.test.ts +0 -107
- package/packages/aurabase/tests/integration.test.ts +0 -413
- package/packages/aurabase/tests/live-production-validation.js +0 -241
- package/packages/aurabase/tests/live-sdk-production-validation.js +0 -293
- package/packages/aurabase/tests/mocks.ts +0 -139
- package/packages/aurabase/tests/notifications.test.ts +0 -314
- package/packages/aurabase/tests/observability-backup.test.ts +0 -186
- package/packages/aurabase/tests/observability-hook.test.ts +0 -130
- package/packages/aurabase/tests/production-robustness.test.ts +0 -268
- package/packages/aurabase/tests/public-api-surface.test.ts +0 -53
- package/packages/aurabase/tests/query-builder.test.ts +0 -329
- package/packages/aurabase/tests/readme-smoke-e2e.test.ts +0 -231
- package/packages/aurabase/tests/realtime-filter-e2e.test.ts +0 -344
- package/packages/aurabase/tests/refresh-locks.test.ts +0 -210
- package/packages/aurabase/tests/retry-option.test.ts +0 -17
- package/packages/aurabase/tests/rpc-e2e.test.ts +0 -254
- package/packages/aurabase/tests/rs256-local-e2e.test.ts +0 -114
- package/packages/aurabase/tests/rt-alias-public-e2e.test.ts +0 -235
- package/packages/aurabase/tests/rt-http-broadcast-e2e.test.ts +0 -124
- package/packages/aurabase/tests/service-role-guard.test.ts +0 -99
- package/packages/aurabase/tests/ssr.test.ts +0 -91
- package/packages/aurabase/tests/storage-backend-e2e.test.ts +0 -481
- package/packages/aurabase/tests/storage-sdk-parity-e2e.test.ts +0 -104
- package/packages/aurabase/tests/storage-transform-e2e.test.ts +0 -684
- package/packages/aurabase/tests/storage.test.ts +0 -55
- package/packages/aurabase/tests/types/client-generic.test-d.ts +0 -79
- package/packages/aurabase/tests/types/docs-snippets.test-d.ts +0 -571
- package/packages/aurabase/tests/types/error-code.test-d.ts +0 -53
- package/packages/aurabase/tsconfig.json +0 -5
- package/packages/aurabase/tsconfig.test-d.json +0 -5
- package/packages/aurabase/tsup.config.ts +0 -11
- package/packages/aurabase/vitest.config.ts +0 -16
- package/packages/auth/node_modules/.bin/esbuild +0 -19
- package/packages/auth/node_modules/.bin/tsc +0 -22
- package/packages/auth/node_modules/.bin/tsserver +0 -22
- package/packages/auth/node_modules/.bin/tsup +0 -22
- package/packages/auth/node_modules/.bin/tsup-node +0 -22
- package/packages/auth/node_modules/.bin/vite +0 -22
- package/packages/auth/node_modules/.bin/vitest +0 -22
- package/packages/auth/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
- package/packages/auth/src/AuthAdminService.ts +0 -149
- package/packages/auth/src/AuthService.ts +0 -1166
- package/packages/auth/src/SessionManager.ts +0 -92
- package/packages/auth/src/index.ts +0 -17
- package/packages/auth/src/jwks.ts +0 -337
- package/packages/auth/src/pkce.ts +0 -27
- package/packages/auth/src/types.ts +0 -89
- package/packages/auth/tests/auth-lifecycle.test.ts +0 -149
- package/packages/auth/tests/detect-session.test.ts +0 -361
- package/packages/auth/tests/getclaims.test.ts +0 -780
- package/packages/auth/tests/is-mfa-challenge.test.ts +0 -27
- package/packages/auth/tests/password-recovery.test.ts +0 -124
- package/packages/auth/tests/pkce.test.ts +0 -192
- package/packages/auth/tests/session-manager.test.ts +0 -103
- package/packages/auth/tests/set-session.test.ts +0 -139
- package/packages/auth/tests/verify-otp.test.ts +0 -153
- package/packages/auth/tsconfig.json +0 -5
- package/packages/auth/tsup.config.ts +0 -11
- package/packages/core/node_modules/.bin/esbuild +0 -22
- package/packages/core/node_modules/.bin/tsc +0 -22
- package/packages/core/node_modules/.bin/tsserver +0 -22
- package/packages/core/node_modules/.bin/tsup +0 -22
- package/packages/core/node_modules/.bin/tsup-node +0 -22
- package/packages/core/node_modules/.bin/vite +0 -22
- package/packages/core/node_modules/.bin/vitest +0 -22
- package/packages/core/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
- package/packages/core/src/AuraError.ts +0 -89
- package/packages/core/src/BaseService.ts +0 -44
- package/packages/core/src/client.ts +0 -34
- package/packages/core/src/cookie-utils.ts +0 -42
- package/packages/core/src/fetch.ts +0 -435
- package/packages/core/src/index.ts +0 -22
- package/packages/core/src/retry.ts +0 -63
- package/packages/core/src/serialize.ts +0 -6
- package/packages/core/src/stores/BaseAuthStore.ts +0 -164
- package/packages/core/src/stores/LocalAuthStore.ts +0 -199
- package/packages/core/src/types.ts +0 -1042
- package/packages/core/tests/auth-store.test.ts +0 -300
- package/packages/core/tests/error-code.test.ts +0 -61
- package/packages/core/tests/error.test.ts +0 -24
- package/packages/core/tests/fetch.test.ts +0 -286
- package/packages/core/tests/mocks.ts +0 -139
- package/packages/core/tests/observability.test.ts +0 -86
- package/packages/core/tests/refresh-hardening.test.ts +0 -164
- package/packages/core/tests/refresh-observability.test.ts +0 -111
- package/packages/core/tests/retry.test.ts +0 -106
- package/packages/core/tests/serialize.test.ts +0 -12
- package/packages/core/tests/timeout.test.ts +0 -79
- package/packages/core/tsconfig.json +0 -5
- package/packages/core/tsup.config.ts +0 -11
- package/packages/db/node_modules/.bin/esbuild +0 -19
- package/packages/db/node_modules/.bin/tsc +0 -22
- package/packages/db/node_modules/.bin/tsserver +0 -22
- package/packages/db/node_modules/.bin/tsup +0 -22
- package/packages/db/node_modules/.bin/tsup-node +0 -22
- package/packages/db/node_modules/.bin/vite +0 -22
- package/packages/db/node_modules/.bin/vitest +0 -22
- package/packages/db/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
- package/packages/db/src/DatabaseService.ts +0 -170
- package/packages/db/src/QueryBuilder.ts +0 -830
- package/packages/db/src/index.ts +0 -2
- package/packages/db/src/pgrst-types/common/common.ts +0 -86
- package/packages/db/src/pgrst-types/common/rpc.ts +0 -151
- package/packages/db/src/pgrst-types/feature-flags.ts +0 -20
- package/packages/db/src/pgrst-types/types.ts +0 -134
- package/packages/db/src/select-query-parser/parser.ts +0 -479
- package/packages/db/src/select-query-parser/result.ts +0 -553
- package/packages/db/src/select-query-parser/types.ts +0 -132
- package/packages/db/src/select-query-parser/utils.ts +0 -707
- package/packages/db/tests/filters.test.ts +0 -81
- package/packages/db/tests/mutations-filtered.e2e.test.ts +0 -132
- package/packages/db/tests/mutations-filtered.test.ts +0 -188
- package/packages/db/tests/order.test.ts +0 -45
- package/packages/db/tests/rpc.test.ts +0 -41
- package/packages/db/tests/scale/build-large-schema.ts +0 -94
- package/packages/db/tests/scale/scale-compile.test.ts +0 -167
- package/packages/db/tests/schema.test.ts +0 -77
- package/packages/db/tests/single-accept.e2e.test.ts +0 -123
- package/packages/db/tests/single.test.ts +0 -211
- package/packages/db/tests/types/filters.test-d.ts +0 -52
- package/packages/db/tests/types/fixtures.ts +0 -40
- package/packages/db/tests/types/from-views.test-d.ts +0 -18
- package/packages/db/tests/types/mutations.test-d.ts +0 -23
- package/packages/db/tests/types/rpc.test-d.ts +0 -60
- package/packages/db/tests/types/schema-shape.test-d.ts +0 -8
- package/packages/db/tests/types/select-inference.test-d.ts +0 -38
- package/packages/db/tests/vendored/fixtures.ts +0 -83
- package/packages/db/tests/vendored/get-result.test-d.ts +0 -75
- package/packages/db/tsconfig.json +0 -5
- package/packages/db/tsconfig.test-d.json +0 -5
- package/packages/db/tsup.config.ts +0 -11
- package/packages/db/vitest.config.ts +0 -8
- package/packages/functions/node_modules/.bin/esbuild +0 -19
- package/packages/functions/node_modules/.bin/tsc +0 -22
- package/packages/functions/node_modules/.bin/tsserver +0 -22
- package/packages/functions/node_modules/.bin/tsup +0 -22
- package/packages/functions/node_modules/.bin/tsup-node +0 -22
- package/packages/functions/node_modules/.bin/vite +0 -22
- package/packages/functions/node_modules/.bin/vitest +0 -22
- package/packages/functions/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
- package/packages/functions/src/FunctionsService.ts +0 -188
- package/packages/functions/src/errors.ts +0 -70
- package/packages/functions/src/index.ts +0 -6
- package/packages/functions/tests/invoke.test.ts +0 -97
- package/packages/functions/tests/response-type-errors.test.ts +0 -135
- package/packages/functions/tsconfig.json +0 -5
- package/packages/functions/tsup.config.ts +0 -11
- package/packages/gen/node_modules/.bin/esbuild +0 -19
- package/packages/gen/node_modules/.bin/tsc +0 -22
- package/packages/gen/node_modules/.bin/tsserver +0 -22
- package/packages/gen/node_modules/.bin/tsup +0 -22
- package/packages/gen/node_modules/.bin/tsup-node +0 -22
- package/packages/gen/node_modules/.bin/vite +0 -22
- package/packages/gen/node_modules/.bin/vitest +0 -22
- package/packages/gen/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
- package/packages/gen/src/cli.ts +0 -67
- package/packages/gen/src/generate.ts +0 -0
- package/packages/gen/src/index.ts +0 -2
- package/packages/gen/tests/compile.test.ts +0 -213
- package/packages/gen/tests/e2e.test.ts +0 -130
- package/packages/gen/tests/generate.test.ts +0 -396
- package/packages/gen/tsconfig.json +0 -5
- package/packages/gen/tsup.config.ts +0 -11
- package/packages/notifications/node_modules/.bin/esbuild +0 -19
- package/packages/notifications/node_modules/.bin/tsc +0 -22
- package/packages/notifications/node_modules/.bin/tsserver +0 -22
- package/packages/notifications/node_modules/.bin/tsup +0 -22
- package/packages/notifications/node_modules/.bin/tsup-node +0 -22
- package/packages/notifications/node_modules/.bin/vite +0 -22
- package/packages/notifications/node_modules/.bin/vitest +0 -22
- package/packages/notifications/src/NotificationsService.ts +0 -230
- package/packages/notifications/src/index.ts +0 -19
- package/packages/notifications/tsconfig.json +0 -5
- package/packages/notifications/tsup.config.ts +0 -11
- package/packages/realtime/node_modules/.bin/esbuild +0 -19
- package/packages/realtime/node_modules/.bin/tsc +0 -22
- package/packages/realtime/node_modules/.bin/tsserver +0 -22
- package/packages/realtime/node_modules/.bin/tsup +0 -22
- package/packages/realtime/node_modules/.bin/tsup-node +0 -22
- package/packages/realtime/node_modules/.bin/vite +0 -22
- package/packages/realtime/node_modules/.bin/vitest +0 -22
- package/packages/realtime/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
- package/packages/realtime/src/AuraChannel.ts +0 -485
- package/packages/realtime/src/HeartbeatManager.ts +0 -73
- package/packages/realtime/src/RealtimeService.ts +0 -505
- package/packages/realtime/src/columnFilter.ts +0 -301
- package/packages/realtime/src/index.ts +0 -4
- package/packages/realtime/tests/ack-routing.test.ts +0 -81
- package/packages/realtime/tests/column-filter.test.ts +0 -144
- package/packages/realtime/tests/dispatch.test.ts +0 -191
- package/packages/realtime/tests/heartbeat.test.ts +0 -67
- package/packages/realtime/tests/http-broadcast.test.ts +0 -68
- package/packages/realtime/tests/realtime-token.test.ts +0 -43
- package/packages/realtime/tests/reconnect-race.test.ts +0 -149
- package/packages/realtime/tests/ref-id.test.ts +0 -34
- package/packages/realtime/tests/set-auth.test.ts +0 -70
- package/packages/realtime/tsconfig.json +0 -5
- package/packages/realtime/tsup.config.ts +0 -11
- package/packages/storage/node_modules/.bin/esbuild +0 -19
- package/packages/storage/node_modules/.bin/tsc +0 -22
- package/packages/storage/node_modules/.bin/tsserver +0 -22
- package/packages/storage/node_modules/.bin/tsup +0 -22
- package/packages/storage/node_modules/.bin/tsup-node +0 -22
- package/packages/storage/node_modules/.bin/vite +0 -22
- package/packages/storage/node_modules/.bin/vitest +0 -22
- package/packages/storage/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
- package/packages/storage/src/DownloadBuilder.ts +0 -60
- package/packages/storage/src/StorageService.ts +0 -323
- package/packages/storage/src/index.ts +0 -2
- package/packages/storage/src/path.ts +0 -35
- package/packages/storage/src/transform.ts +0 -15
- package/packages/storage/tests/download.test.ts +0 -64
- package/packages/storage/tests/parity.test.ts +0 -154
- package/packages/storage/tests/path.test.ts +0 -87
- package/packages/storage/tests/transform.test.ts +0 -79
- package/packages/storage/tsconfig.json +0 -5
- package/packages/storage/tsup.config.ts +0 -11
- package/pnpm-workspace.yaml +0 -24
- package/tsconfig.base.json +0 -15
package/packages/db/src/index.ts
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
// Vendored from @supabase/postgrest-js (MIT, Copyright (c) Supabase).
|
|
2
|
-
// Provenance précise (version amont, SHA, procédure de resync) : voir packages/db/VENDORED.md
|
|
3
|
-
// Adapté pour aurabase — ne pas modifier la logique du parser/résolveur.
|
|
4
|
-
// Types that are shared between supabase-js and postgrest-js
|
|
5
|
-
|
|
6
|
-
export type Fetch = typeof fetch
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Default number of retry attempts.
|
|
10
|
-
*/
|
|
11
|
-
export const DEFAULT_MAX_RETRIES = 3
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Default exponential backoff delay function.
|
|
15
|
-
* Delays: 1s, 2s, 4s, 8s, ... (max 30s)
|
|
16
|
-
*
|
|
17
|
-
* @param attemptIndex - Zero-based index of the retry attempt
|
|
18
|
-
* @returns Delay in milliseconds before the next retry
|
|
19
|
-
*/
|
|
20
|
-
export const getRetryDelay = (attemptIndex: number): number =>
|
|
21
|
-
Math.min(1000 * 2 ** attemptIndex, 30000)
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Status codes that are safe to retry.
|
|
25
|
-
* 520 = Cloudflare timeout/connection errors (transient)
|
|
26
|
-
* 503 = PostgREST schema cache not yet loaded (transient, signals retry via Retry-After header)
|
|
27
|
-
*/
|
|
28
|
-
export const RETRYABLE_STATUS_CODES = [520, 503] as const
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* HTTP methods that are safe to retry (idempotent operations).
|
|
32
|
-
*/
|
|
33
|
-
export const RETRYABLE_METHODS = ['GET', 'HEAD', 'OPTIONS'] as const
|
|
34
|
-
|
|
35
|
-
export type GenericRelationship = {
|
|
36
|
-
foreignKeyName: string
|
|
37
|
-
columns: string[]
|
|
38
|
-
isOneToOne?: boolean
|
|
39
|
-
referencedRelation: string
|
|
40
|
-
referencedColumns: string[]
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export type GenericTable = {
|
|
44
|
-
Row: Record<string, unknown>
|
|
45
|
-
Insert: Record<string, unknown>
|
|
46
|
-
Update: Record<string, unknown>
|
|
47
|
-
Relationships: GenericRelationship[]
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
export type GenericUpdatableView = {
|
|
51
|
-
Row: Record<string, unknown>
|
|
52
|
-
Insert: Record<string, unknown>
|
|
53
|
-
Update: Record<string, unknown>
|
|
54
|
-
Relationships: GenericRelationship[]
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
export type GenericNonUpdatableView = {
|
|
58
|
-
Row: Record<string, unknown>
|
|
59
|
-
Relationships: GenericRelationship[]
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
export type GenericView = GenericUpdatableView | GenericNonUpdatableView
|
|
63
|
-
|
|
64
|
-
export type GenericSetofOption = {
|
|
65
|
-
isSetofReturn?: boolean | undefined
|
|
66
|
-
isOneToOne?: boolean | undefined
|
|
67
|
-
isNotNullable?: boolean | undefined
|
|
68
|
-
to: string
|
|
69
|
-
from: string
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
export type GenericFunction = {
|
|
73
|
-
Args: Record<string, unknown> | never
|
|
74
|
-
Returns: unknown
|
|
75
|
-
SetofOptions?: GenericSetofOption
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
export type GenericSchema = {
|
|
79
|
-
Tables: Record<string, GenericTable>
|
|
80
|
-
Views: Record<string, GenericView>
|
|
81
|
-
Functions: Record<string, GenericFunction>
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
export type ClientServerOptions = {
|
|
85
|
-
PostgrestVersion?: string
|
|
86
|
-
}
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
// Vendored from @supabase/postgrest-js (MIT, Copyright (c) Supabase).
|
|
2
|
-
// Provenance précise (version amont, SHA, procédure de resync) : voir packages/db/VENDORED.md
|
|
3
|
-
// Adapté pour aurabase — ne pas modifier la logique du parser/résolveur.
|
|
4
|
-
import type { GenericFunction, GenericSchema, GenericSetofOption } from './common'
|
|
5
|
-
|
|
6
|
-
// Functions matching utils
|
|
7
|
-
type IsMatchingArgs<
|
|
8
|
-
FnArgs extends GenericFunction['Args'],
|
|
9
|
-
PassedArgs extends GenericFunction['Args'],
|
|
10
|
-
> = [FnArgs] extends [Record<PropertyKey, never>]
|
|
11
|
-
? PassedArgs extends Record<PropertyKey, never>
|
|
12
|
-
? true
|
|
13
|
-
: false
|
|
14
|
-
: keyof PassedArgs extends keyof FnArgs
|
|
15
|
-
? PassedArgs extends FnArgs
|
|
16
|
-
? true
|
|
17
|
-
: false
|
|
18
|
-
: false
|
|
19
|
-
|
|
20
|
-
type MatchingFunctionArgs<
|
|
21
|
-
Fn extends GenericFunction,
|
|
22
|
-
Args extends GenericFunction['Args'],
|
|
23
|
-
> = Fn extends { Args: infer A extends GenericFunction['Args'] }
|
|
24
|
-
? IsMatchingArgs<A, Args> extends true
|
|
25
|
-
? Fn
|
|
26
|
-
: never
|
|
27
|
-
: false
|
|
28
|
-
|
|
29
|
-
type FindMatchingFunctionByArgs<
|
|
30
|
-
FnUnion,
|
|
31
|
-
Args extends GenericFunction['Args'],
|
|
32
|
-
> = FnUnion extends infer Fn extends GenericFunction ? MatchingFunctionArgs<Fn, Args> : false
|
|
33
|
-
|
|
34
|
-
// Types for working with database schemas
|
|
35
|
-
type TablesAndViews<Schema extends GenericSchema> = Schema['Tables'] & Exclude<Schema['Views'], ''>
|
|
36
|
-
|
|
37
|
-
// Utility types for working with unions
|
|
38
|
-
type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void
|
|
39
|
-
? I
|
|
40
|
-
: never
|
|
41
|
-
|
|
42
|
-
type LastOf<T> =
|
|
43
|
-
UnionToIntersection<T extends any ? () => T : never> extends () => infer R ? R : never
|
|
44
|
-
|
|
45
|
-
type IsAny<T> = 0 extends 1 & T ? true : false
|
|
46
|
-
|
|
47
|
-
type ExactMatch<T, S> = [T] extends [S] ? ([S] extends [T] ? true : false) : false
|
|
48
|
-
|
|
49
|
-
type ExtractExactFunction<Fns, Args> = Fns extends infer F
|
|
50
|
-
? F extends GenericFunction
|
|
51
|
-
? ExactMatch<F['Args'], Args> extends true
|
|
52
|
-
? F
|
|
53
|
-
: never
|
|
54
|
-
: never
|
|
55
|
-
: never
|
|
56
|
-
|
|
57
|
-
type IsNever<T> = [T] extends [never] ? true : false
|
|
58
|
-
|
|
59
|
-
type RpcFunctionNotFound<FnName> = {
|
|
60
|
-
Row: any
|
|
61
|
-
Result: {
|
|
62
|
-
error: true
|
|
63
|
-
} & "Couldn't infer function definition matching provided arguments"
|
|
64
|
-
RelationName: FnName
|
|
65
|
-
Relationships: null
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
type CrossSchemaError<TableRef extends string> = {
|
|
69
|
-
error: true
|
|
70
|
-
} & `Function returns SETOF from a different schema ('${TableRef}'). Use .overrideTypes<YourReturnType>() to specify the return type explicitly.`
|
|
71
|
-
|
|
72
|
-
export type GetRpcFunctionFilterBuilderByArgs<
|
|
73
|
-
Schema extends GenericSchema,
|
|
74
|
-
FnName extends string & keyof Schema['Functions'],
|
|
75
|
-
Args,
|
|
76
|
-
> = {
|
|
77
|
-
0: Schema['Functions'][FnName]
|
|
78
|
-
// If the Args is exactly never (function call without any params)
|
|
79
|
-
1: IsAny<Schema> extends true
|
|
80
|
-
? any
|
|
81
|
-
: IsNever<Args> extends true
|
|
82
|
-
? // This is for retro compatibility, if the funcition is defined with an single return and an union of Args
|
|
83
|
-
// we fallback to the last function definition matched by name
|
|
84
|
-
IsNever<ExtractExactFunction<Schema['Functions'][FnName], Args>> extends true
|
|
85
|
-
? LastOf<Schema['Functions'][FnName]>
|
|
86
|
-
: ExtractExactFunction<Schema['Functions'][FnName], Args>
|
|
87
|
-
: Args extends Record<PropertyKey, never>
|
|
88
|
-
? LastOf<Schema['Functions'][FnName]>
|
|
89
|
-
: // Otherwise, we attempt to match with one of the function definition in the union based
|
|
90
|
-
// on the function arguments provided
|
|
91
|
-
Args extends GenericFunction['Args']
|
|
92
|
-
? // This is for retro compatibility, if the funcition is defined with an single return and an union of Args
|
|
93
|
-
// we fallback to the last function definition matched by name
|
|
94
|
-
IsNever<
|
|
95
|
-
LastOf<FindMatchingFunctionByArgs<Schema['Functions'][FnName], Args>>
|
|
96
|
-
> extends true
|
|
97
|
-
? LastOf<Schema['Functions'][FnName]>
|
|
98
|
-
: // Otherwise, we use the arguments based function definition narrowing to get the right value
|
|
99
|
-
LastOf<FindMatchingFunctionByArgs<Schema['Functions'][FnName], Args>>
|
|
100
|
-
: // If we can't find a matching function by args, we try to find one by function name
|
|
101
|
-
ExtractExactFunction<Schema['Functions'][FnName], Args> extends GenericFunction
|
|
102
|
-
? ExtractExactFunction<Schema['Functions'][FnName], Args>
|
|
103
|
-
: any
|
|
104
|
-
}[1] extends infer Fn
|
|
105
|
-
? // If we are dealing with an non-typed client everything is any
|
|
106
|
-
IsAny<Fn> extends true
|
|
107
|
-
? { Row: any; Result: any; RelationName: FnName; Relationships: null }
|
|
108
|
-
: // Otherwise, we use the arguments based function definition narrowing to get the right value
|
|
109
|
-
Fn extends GenericFunction
|
|
110
|
-
? {
|
|
111
|
-
Row: Fn['SetofOptions'] extends GenericSetofOption
|
|
112
|
-
? Fn['SetofOptions']['to'] extends keyof TablesAndViews<Schema>
|
|
113
|
-
? TablesAndViews<Schema>[Fn['SetofOptions']['to']]['Row']
|
|
114
|
-
: // Cross-schema fallback: use Returns type when table is not in current schema
|
|
115
|
-
Fn['Returns'] extends any[]
|
|
116
|
-
? Fn['Returns'][number] extends Record<string, unknown>
|
|
117
|
-
? Fn['Returns'][number]
|
|
118
|
-
: CrossSchemaError<Fn['SetofOptions']['to'] & string>
|
|
119
|
-
: Fn['Returns'] extends Record<string, unknown>
|
|
120
|
-
? Fn['Returns']
|
|
121
|
-
: CrossSchemaError<Fn['SetofOptions']['to'] & string>
|
|
122
|
-
: Fn['Returns'] extends any[]
|
|
123
|
-
? Fn['Returns'][number] extends Record<string, unknown>
|
|
124
|
-
? Fn['Returns'][number]
|
|
125
|
-
: never
|
|
126
|
-
: Fn['Returns'] extends Record<string, unknown>
|
|
127
|
-
? Fn['Returns']
|
|
128
|
-
: never
|
|
129
|
-
Result: Fn['SetofOptions'] extends GenericSetofOption
|
|
130
|
-
? Fn['SetofOptions']['isSetofReturn'] extends true
|
|
131
|
-
? Fn['SetofOptions']['isOneToOne'] extends true
|
|
132
|
-
? Fn['Returns'][]
|
|
133
|
-
: Fn['Returns']
|
|
134
|
-
: Fn['Returns']
|
|
135
|
-
: Fn['Returns']
|
|
136
|
-
RelationName: Fn['SetofOptions'] extends GenericSetofOption
|
|
137
|
-
? Fn['SetofOptions']['to']
|
|
138
|
-
: FnName
|
|
139
|
-
Relationships: Fn['SetofOptions'] extends GenericSetofOption
|
|
140
|
-
? Fn['SetofOptions']['to'] extends keyof Schema['Tables']
|
|
141
|
-
? Schema['Tables'][Fn['SetofOptions']['to']]['Relationships']
|
|
142
|
-
: Fn['SetofOptions']['to'] extends keyof Schema['Views']
|
|
143
|
-
? Schema['Views'][Fn['SetofOptions']['to']]['Relationships']
|
|
144
|
-
: null
|
|
145
|
-
: null
|
|
146
|
-
}
|
|
147
|
-
: // If we failed to find the function by argument, we still pass with any but also add an overridable
|
|
148
|
-
Fn extends false
|
|
149
|
-
? RpcFunctionNotFound<FnName>
|
|
150
|
-
: RpcFunctionNotFound<FnName>
|
|
151
|
-
: RpcFunctionNotFound<FnName>
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
// Vendored from @supabase/postgrest-js (MIT, Copyright (c) Supabase).
|
|
2
|
-
// Provenance précise (version amont, SHA, procédure de resync) : voir packages/db/VENDORED.md
|
|
3
|
-
// Adapté pour aurabase — ne pas modifier la logique du parser/résolveur.
|
|
4
|
-
type IsPostgrest13<PostgrestVersion extends string | undefined> =
|
|
5
|
-
PostgrestVersion extends `13${string}` ? true : false
|
|
6
|
-
type IsPostgrest14<PostgrestVersion extends string | undefined> =
|
|
7
|
-
PostgrestVersion extends `14${string}` ? true : false
|
|
8
|
-
|
|
9
|
-
type IsPostgrestVersionGreaterThan12<PostgrestVersion extends string | undefined> =
|
|
10
|
-
IsPostgrest13<PostgrestVersion> extends true
|
|
11
|
-
? true
|
|
12
|
-
: IsPostgrest14<PostgrestVersion> extends true
|
|
13
|
-
? true
|
|
14
|
-
: false
|
|
15
|
-
|
|
16
|
-
export type MaxAffectedEnabled<PostgrestVersion extends string | undefined> =
|
|
17
|
-
IsPostgrestVersionGreaterThan12<PostgrestVersion> extends true ? true : false
|
|
18
|
-
|
|
19
|
-
export type SpreadOnManyEnabled<PostgrestVersion extends string | undefined> =
|
|
20
|
-
IsPostgrestVersionGreaterThan12<PostgrestVersion> extends true ? true : false
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
// Vendored from @supabase/postgrest-js (MIT, Copyright (c) Supabase).
|
|
2
|
-
// Provenance précise (version amont, SHA, procédure de resync) : voir packages/db/VENDORED.md
|
|
3
|
-
// Adapté pour aurabase — ne pas modifier la logique du parser/résolveur.
|
|
4
|
-
import { ContainsNull } from '../select-query-parser/types'
|
|
5
|
-
import { SelectQueryError } from '../select-query-parser/utils'
|
|
6
|
-
import { ClientServerOptions } from './common/common'
|
|
7
|
-
|
|
8
|
-
export type DatabaseWithOptions<Database, Options extends ClientServerOptions> = {
|
|
9
|
-
db: Database
|
|
10
|
-
options: Options
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
// https://twitter.com/mattpocockuk/status/1622730173446557697
|
|
14
|
-
export type Prettify<T> = { [K in keyof T]: T[K] } & {}
|
|
15
|
-
|
|
16
|
-
// Rejects excess properties that aren't in Base.
|
|
17
|
-
// Works around TypeScript not checking excess properties on generic parameters.
|
|
18
|
-
export type RejectExcessProperties<Base, Row> = Row & {
|
|
19
|
-
[K in Exclude<keyof Row, keyof Base>]: never
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
// https://github.com/sindresorhus/type-fest
|
|
23
|
-
export type SimplifyDeep<Type, ExcludeType = never> = ConditionalSimplifyDeep<
|
|
24
|
-
Type,
|
|
25
|
-
ExcludeType | NonRecursiveType | Set<unknown> | Map<unknown, unknown>,
|
|
26
|
-
object
|
|
27
|
-
>
|
|
28
|
-
type ConditionalSimplifyDeep<
|
|
29
|
-
Type,
|
|
30
|
-
ExcludeType = never,
|
|
31
|
-
IncludeType = unknown,
|
|
32
|
-
> = Type extends ExcludeType
|
|
33
|
-
? Type
|
|
34
|
-
: Type extends IncludeType
|
|
35
|
-
? { [TypeKey in keyof Type]: ConditionalSimplifyDeep<Type[TypeKey], ExcludeType, IncludeType> }
|
|
36
|
-
: Type
|
|
37
|
-
type NonRecursiveType = BuiltIns | Function | (new (...arguments_: any[]) => unknown)
|
|
38
|
-
type BuiltIns = Primitive | void | Date | RegExp
|
|
39
|
-
type Primitive = null | undefined | string | number | boolean | symbol | bigint
|
|
40
|
-
|
|
41
|
-
export type IsValidResultOverride<Result, NewResult, ErrorResult, ErrorNewResult> =
|
|
42
|
-
Result extends any[]
|
|
43
|
-
? NewResult extends any[]
|
|
44
|
-
? // Both are arrays - valid
|
|
45
|
-
true
|
|
46
|
-
: ErrorResult
|
|
47
|
-
: NewResult extends any[]
|
|
48
|
-
? ErrorNewResult
|
|
49
|
-
: // Neither are arrays - valid
|
|
50
|
-
true
|
|
51
|
-
/**
|
|
52
|
-
* Utility type to check if array types match between Result and NewResult.
|
|
53
|
-
* Returns either the valid NewResult type or an error message type.
|
|
54
|
-
*/
|
|
55
|
-
export type CheckMatchingArrayTypes<Result, NewResult> =
|
|
56
|
-
// If the result is a QueryError we allow the user to override anyway
|
|
57
|
-
Result extends SelectQueryError<string>
|
|
58
|
-
? NewResult
|
|
59
|
-
: IsValidResultOverride<
|
|
60
|
-
Result,
|
|
61
|
-
NewResult,
|
|
62
|
-
{
|
|
63
|
-
Error: 'Type mismatch: Cannot cast array result to a single object. Use .overrideTypes<Array<YourType>> or .returns<Array<YourType>> (deprecated) for array results or .single() to convert the result to a single object'
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
Error: 'Type mismatch: Cannot cast single object to array type. Remove Array wrapper from return type or make sure you are not using .single() up in the calling chain'
|
|
67
|
-
}
|
|
68
|
-
> extends infer ValidationResult
|
|
69
|
-
? ValidationResult extends true
|
|
70
|
-
? // Preserve the optionality of the result if the overriden type is an object (case of chaining with `maybeSingle`)
|
|
71
|
-
ContainsNull<Result> extends true
|
|
72
|
-
? NewResult | null
|
|
73
|
-
: NewResult
|
|
74
|
-
: // contains the error
|
|
75
|
-
ValidationResult
|
|
76
|
-
: never
|
|
77
|
-
|
|
78
|
-
type Simplify<T> = T extends object ? { [K in keyof T]: T[K] } : T
|
|
79
|
-
|
|
80
|
-
// Extract only explicit (non-index-signature) keys.
|
|
81
|
-
type ExplicitKeys<T> = {
|
|
82
|
-
[K in keyof T]: string extends K ? never : K
|
|
83
|
-
}[keyof T]
|
|
84
|
-
|
|
85
|
-
type MergeExplicit<New, Row> = {
|
|
86
|
-
// We merge all the explicit keys which allows merge and override of types like
|
|
87
|
-
// { [key: string]: unknown } and { someSpecificKey: boolean }
|
|
88
|
-
[K in ExplicitKeys<New> | ExplicitKeys<Row>]: K extends keyof New
|
|
89
|
-
? K extends keyof Row
|
|
90
|
-
? Row[K] extends SelectQueryError<string>
|
|
91
|
-
? New[K]
|
|
92
|
-
: // Check if the override is on a embedded relation (array)
|
|
93
|
-
New[K] extends any[]
|
|
94
|
-
? Row[K] extends any[]
|
|
95
|
-
? Array<Simplify<MergeDeep<NonNullable<New[K][number]>, NonNullable<Row[K][number]>>>>
|
|
96
|
-
: New[K]
|
|
97
|
-
: // Check if both properties are objects omitting a potential null union
|
|
98
|
-
IsPlainObject<NonNullable<New[K]>> extends true
|
|
99
|
-
? IsPlainObject<NonNullable<Row[K]>> extends true
|
|
100
|
-
? // If they are, use the new override as source of truth for the optionality
|
|
101
|
-
ContainsNull<New[K]> extends true
|
|
102
|
-
? // If the override wants to preserve optionality
|
|
103
|
-
Simplify<MergeDeep<NonNullable<New[K]>, NonNullable<Row[K]>>> | null
|
|
104
|
-
: // If the override wants to enforce non-null result
|
|
105
|
-
Simplify<MergeDeep<New[K], NonNullable<Row[K]>>>
|
|
106
|
-
: New[K] // Override with New type if Row isn't an object
|
|
107
|
-
: New[K] // Override primitives with New type
|
|
108
|
-
: New[K] // Add new properties from New
|
|
109
|
-
: K extends keyof Row
|
|
110
|
-
? Row[K] // Keep existing properties not in New
|
|
111
|
-
: never
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
type MergeDeep<New, Row> = Simplify<
|
|
115
|
-
MergeExplicit<New, Row> &
|
|
116
|
-
// Intersection here is to restore dynamic keys into the merging result
|
|
117
|
-
// eg:
|
|
118
|
-
// {[key: number]: string}
|
|
119
|
-
// or Record<string, number | null>
|
|
120
|
-
(string extends keyof Row ? { [K: string]: Row[string] } : {})
|
|
121
|
-
>
|
|
122
|
-
|
|
123
|
-
// Helper to check if a type is a plain object (not an array)
|
|
124
|
-
type IsPlainObject<T> = T extends any[] ? false : T extends object ? true : false
|
|
125
|
-
|
|
126
|
-
// Merge the new result with the original (Result) when merge option is true.
|
|
127
|
-
// If NewResult is an array, merge each element.
|
|
128
|
-
export type MergePartialResult<NewResult, Result, Options> = Options extends { merge: true }
|
|
129
|
-
? Result extends any[]
|
|
130
|
-
? NewResult extends any[]
|
|
131
|
-
? Array<Simplify<MergeDeep<NewResult[number], Result[number]>>>
|
|
132
|
-
: never
|
|
133
|
-
: Simplify<MergeDeep<NewResult, Result>>
|
|
134
|
-
: NewResult
|