Spaces:
Running
Running
| // helpers.ts | |
| import { SupabaseClientOptions } from './types' | |
| export function uuid() { | |
| return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { | |
| var r = (Math.random() * 16) | 0, | |
| v = c == 'x' ? r : (r & 0x3) | 0x8 | |
| return v.toString(16) | |
| }) | |
| } | |
| export function stripTrailingSlash(url: string): string { | |
| return url.replace(/\/$/, '') | |
| } | |
| export const isBrowser = () => typeof window !== 'undefined' | |
| export function applySettingDefaults< | |
| Database = any, | |
| SchemaName extends string & keyof Database = 'public' extends keyof Database | |
| ? 'public' | |
| : string & keyof Database | |
| >( | |
| options: SupabaseClientOptions<SchemaName>, | |
| defaults: SupabaseClientOptions<any> | |
| ): SupabaseClientOptions<SchemaName> { | |
| const { | |
| db: dbOptions, | |
| auth: authOptions, | |
| realtime: realtimeOptions, | |
| global: globalOptions, | |
| } = options | |
| const { | |
| db: DEFAULT_DB_OPTIONS, | |
| auth: DEFAULT_AUTH_OPTIONS, | |
| realtime: DEFAULT_REALTIME_OPTIONS, | |
| global: DEFAULT_GLOBAL_OPTIONS, | |
| } = defaults | |
| return { | |
| db: { | |
| ...DEFAULT_DB_OPTIONS, | |
| ...dbOptions, | |
| }, | |
| auth: { | |
| ...DEFAULT_AUTH_OPTIONS, | |
| ...authOptions, | |
| }, | |
| realtime: { | |
| ...DEFAULT_REALTIME_OPTIONS, | |
| ...realtimeOptions, | |
| }, | |
| global: { | |
| ...DEFAULT_GLOBAL_OPTIONS, | |
| ...globalOptions, | |
| }, | |
| } | |
| } | |