@pol-studios/db 1.0.54 → 1.0.56
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/dist/{DataLayerContext-C7cJtiO8.d.ts → DataLayerContext-BYZtDD0g.d.ts} +1 -1
- package/dist/auth/context.js +6 -4
- package/dist/auth/hooks.js +7 -5
- package/dist/auth/index.js +7 -5
- package/dist/{chunk-FIAXWEBK.js → chunk-4EO55YV2.js} +10 -7
- package/dist/chunk-4EO55YV2.js.map +1 -0
- package/dist/{chunk-DP3YEVSX.js → chunk-6SDH7M7J.js} +26 -10
- package/dist/chunk-6SDH7M7J.js.map +1 -0
- package/dist/{chunk-UJWETW36.js → chunk-AKIRHA4Q.js} +527 -418
- package/dist/chunk-AKIRHA4Q.js.map +1 -0
- package/dist/{chunk-2XS2PM62.js → chunk-DDL63KLQ.js} +388 -107
- package/dist/chunk-DDL63KLQ.js.map +1 -0
- package/dist/{chunk-YA6MUTA7.js → chunk-FI6JAD5G.js} +3 -3
- package/dist/{chunk-WQLIGVQR.js → chunk-GWYTROSD.js} +98 -1
- package/dist/chunk-GWYTROSD.js.map +1 -0
- package/dist/chunk-JOULSXOI.js +415 -0
- package/dist/chunk-JOULSXOI.js.map +1 -0
- package/dist/{chunk-OKYHI6JG.js → chunk-LF3V3ERS.js} +3 -3
- package/dist/{chunk-FMYXG4VN.js → chunk-MEBT5YHA.js} +2 -2
- package/dist/{chunk-BZSAPFFB.js → chunk-N4KK5G5T.js} +116 -18
- package/dist/chunk-N4KK5G5T.js.map +1 -0
- package/dist/chunk-QYAFI34Q.js +64 -0
- package/dist/chunk-QYAFI34Q.js.map +1 -0
- package/dist/{chunk-3Q74DK5K.js → chunk-VYFAMTHI.js} +2 -2
- package/dist/chunk-W7PERM66.js +215 -0
- package/dist/chunk-W7PERM66.js.map +1 -0
- package/dist/{chunk-ZGQ7Q4ZU.js → chunk-WM25QE7E.js} +2 -2
- package/dist/{chunk-HZIVE5AZ.js → chunk-YRIPM2AN.js} +253 -338
- package/dist/chunk-YRIPM2AN.js.map +1 -0
- package/dist/chunk-YUX6RGLZ.js +1858 -0
- package/dist/chunk-YUX6RGLZ.js.map +1 -0
- package/dist/{chunk-Z3EJX3VG.js → chunk-Z456IHCB.js} +3 -3
- package/dist/core/index.d.ts +24 -1
- package/dist/{executor-YJw4m7Q7.d.ts → executor-D15yjeMo.d.ts} +20 -0
- package/dist/hooks/index.d.ts +3 -3
- package/dist/hooks/index.js +4 -2
- package/dist/{index-jVYdTeWx.d.ts → index-CFUuTzXO.d.ts} +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.js +16 -14
- package/dist/index.native.d.ts +62 -8
- package/dist/index.native.js +16 -14
- package/dist/index.web.d.ts +10 -9
- package/dist/index.web.js +30 -19
- package/dist/index.web.js.map +1 -1
- package/dist/mutation/index.js +3 -3
- package/dist/parser/index.js +3 -3
- package/dist/powersync-bridge/index.d.ts +1 -1
- package/dist/query/index.d.ts +4 -83
- package/dist/query/index.js +17 -7
- package/dist/realtime/index.d.ts +80 -1
- package/dist/realtime/index.js +14 -12
- package/dist/realtime/index.js.map +1 -1
- package/dist/select-parser-BAV7fOaM.d.ts +144 -0
- package/dist/types/index.d.ts +3 -3
- package/dist/types/index.js +4 -4
- package/dist/{useDbCount-DHLJzmkO.d.ts → useDbCount-Ckb-FhZk.d.ts} +1 -1
- package/dist/{useResolveFeedback-B0UcYWVI.d.ts → useResolveFeedback-CuUkdHoR.d.ts} +13 -29
- package/dist/with-auth/index.js +9 -7
- package/dist/with-auth/index.js.map +1 -1
- package/package.json +9 -4
- package/dist/chunk-2XS2PM62.js.map +0 -1
- package/dist/chunk-BZSAPFFB.js.map +0 -1
- package/dist/chunk-CTRY7JDP.js +0 -4112
- package/dist/chunk-CTRY7JDP.js.map +0 -1
- package/dist/chunk-DP3YEVSX.js.map +0 -1
- package/dist/chunk-FIAXWEBK.js.map +0 -1
- package/dist/chunk-HZIVE5AZ.js.map +0 -1
- package/dist/chunk-INEUG6MC.js +0 -521
- package/dist/chunk-INEUG6MC.js.map +0 -1
- package/dist/chunk-UJWETW36.js.map +0 -1
- package/dist/chunk-WQLIGVQR.js.map +0 -1
- /package/dist/{chunk-YA6MUTA7.js.map → chunk-FI6JAD5G.js.map} +0 -0
- /package/dist/{chunk-OKYHI6JG.js.map → chunk-LF3V3ERS.js.map} +0 -0
- /package/dist/{chunk-FMYXG4VN.js.map → chunk-MEBT5YHA.js.map} +0 -0
- /package/dist/{chunk-3Q74DK5K.js.map → chunk-VYFAMTHI.js.map} +0 -0
- /package/dist/{chunk-ZGQ7Q4ZU.js.map → chunk-WM25QE7E.js.map} +0 -0
- /package/dist/{chunk-Z3EJX3VG.js.map → chunk-Z456IHCB.js.map} +0 -0
package/dist/core/index.d.ts
CHANGED
|
@@ -535,6 +535,23 @@ interface SelectColumn {
|
|
|
535
535
|
/** Optional alias for the column */
|
|
536
536
|
alias?: string;
|
|
537
537
|
}
|
|
538
|
+
/**
|
|
539
|
+
* Explicit FK specification for cross-schema relations without database FK constraints.
|
|
540
|
+
* Allows specifying the join relationship directly in the select string.
|
|
541
|
+
*
|
|
542
|
+
* @example
|
|
543
|
+
* // Syntax: Alias!sourceField:targetTable(columns)
|
|
544
|
+
* "Sender!senderId:core.Profile(*)"
|
|
545
|
+
* // explicitFk: { sourceField: "senderId", targetTable: "core.Profile", targetColumn: "id" }
|
|
546
|
+
*/
|
|
547
|
+
interface ExplicitFkSpec {
|
|
548
|
+
/** FK column on the parent table (e.g., "senderId") */
|
|
549
|
+
sourceField: string;
|
|
550
|
+
/** Table to query, optionally schema-qualified (e.g., "core.Profile") */
|
|
551
|
+
targetTable: string;
|
|
552
|
+
/** Column to match in target table, defaults to "id" */
|
|
553
|
+
targetColumn?: string;
|
|
554
|
+
}
|
|
538
555
|
/**
|
|
539
556
|
* A relation in a parsed select statement (e.g., RelatedTable(*))
|
|
540
557
|
*/
|
|
@@ -547,6 +564,12 @@ interface SelectRelation {
|
|
|
547
564
|
columns: "*" | SelectColumn[];
|
|
548
565
|
/** Nested relations within this relation */
|
|
549
566
|
relations: SelectRelation[];
|
|
567
|
+
/**
|
|
568
|
+
* Explicit FK specification for cross-schema relations.
|
|
569
|
+
* When present, the relationship is built directly from this spec
|
|
570
|
+
* instead of looking it up in the database schema.
|
|
571
|
+
*/
|
|
572
|
+
explicitFk?: ExplicitFkSpec;
|
|
550
573
|
}
|
|
551
574
|
/**
|
|
552
575
|
* Complete parsed select statement AST
|
|
@@ -588,4 +611,4 @@ interface BuiltQuery {
|
|
|
588
611
|
params: (string | number | boolean | null)[];
|
|
589
612
|
}
|
|
590
613
|
|
|
591
|
-
export type { AdapterRegistry, AutoStrategy, BuiltQuery, CachedStrategy, ColumnInfo, ColumnType, ConnectionConfig, DataAdapter, DataLayerConfig, DataLayerHooks, DatabaseSchema, DeleteMutationResult, ExtractInsert, ExtractRow, ExtractUpdate, HybridStrategy, MutationHookResult, MutationResult, OrderBy, ParsedSelect, PowerSyncStrategy, QueryOptions, QueryResult, QuerySingleResult, RelationshipInfo, RelationshipType, ResolvedRelationship, ScopeDefinition, SelectColumn, SelectRelation, SupabaseStrategy, SyncControl, SyncSchedule, SyncScope, SyncStatus, TableNames, TableSchema, TableStrategy, UseDbMutationHook, UseDbQueryByIdHook, UseDbQueryHook, WhereClause, WhereOperators };
|
|
614
|
+
export type { AdapterRegistry, AutoStrategy, BuiltQuery, CachedStrategy, ColumnInfo, ColumnType, ConnectionConfig, DataAdapter, DataLayerConfig, DataLayerHooks, DatabaseSchema, DeleteMutationResult, ExplicitFkSpec, ExtractInsert, ExtractRow, ExtractUpdate, HybridStrategy, MutationHookResult, MutationResult, OrderBy, ParsedSelect, PowerSyncStrategy, QueryOptions, QueryResult, QuerySingleResult, RelationshipInfo, RelationshipType, ResolvedRelationship, ScopeDefinition, SelectColumn, SelectRelation, SupabaseStrategy, SyncControl, SyncSchedule, SyncScope, SyncStatus, TableNames, TableSchema, TableStrategy, UseDbMutationHook, UseDbQueryByIdHook, UseDbQueryHook, WhereClause, WhereOperators };
|
|
@@ -495,6 +495,25 @@ declare class QueryExecutor {
|
|
|
495
495
|
* @returns Parent records with relations attached
|
|
496
496
|
*/
|
|
497
497
|
private queryAndJoinRelations;
|
|
498
|
+
/**
|
|
499
|
+
* Build a ResolvedRelationship from an explicit FK specification.
|
|
500
|
+
* This bypasses schema lookup and constructs the relationship directly.
|
|
501
|
+
*
|
|
502
|
+
* @param parentTable - The parent table name
|
|
503
|
+
* @param relation - The relation with explicitFk specification
|
|
504
|
+
* @returns ResolvedRelationship for the explicit FK
|
|
505
|
+
*/
|
|
506
|
+
private buildExplicitFkRelationship;
|
|
507
|
+
/**
|
|
508
|
+
* Extract the table name from a potentially schema-qualified identifier.
|
|
509
|
+
* For PowerSync, tables are flattened to a single namespace, so we need
|
|
510
|
+
* to handle both "core.Profile" -> "CoreProfile" (PowerSync alias) and
|
|
511
|
+
* simple table names.
|
|
512
|
+
*
|
|
513
|
+
* @param qualifiedName - Table name, optionally schema-qualified (e.g., "core.Profile")
|
|
514
|
+
* @returns The table name to use in queries
|
|
515
|
+
*/
|
|
516
|
+
private getTableNameFromQualified;
|
|
498
517
|
/**
|
|
499
518
|
* Get parent IDs needed for a relation query.
|
|
500
519
|
*/
|
|
@@ -517,6 +536,7 @@ declare class QueryExecutor {
|
|
|
517
536
|
getJoiner(): ResultJoiner;
|
|
518
537
|
/**
|
|
519
538
|
* Resolve a relationship with caching.
|
|
539
|
+
* Uses true LRU eviction: accessed items are moved to the end of the Map.
|
|
520
540
|
*
|
|
521
541
|
* @param fromTable - The source table
|
|
522
542
|
* @param toTable - The target table/relation name
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export { C as ClarificationQuestion, D as DatabaseTypes, F as Filter, x as FilterGroup, y as FilterOperator, z as Pagination, P as PublicTableNames, Q as QueryState, R as ResolveRowType, S as SchemaNames, m as SchemaTableNames, A as Sort, T as TableIdentifier, U as UseAdvanceQueryOptions, n as UseAdvanceQueryResult, o as UseDbCountOptions, p as UseDbCountResult, K as UseDbDeleteOptions, L as UseDbDeleteResult, q as UseDbInfiniteQueryOptions, r as UseDbInfiniteQueryResult, B as UseDbInsertOptions, E as UseDbInsertResult, v as UseDbQueryByIdOptions, w as UseDbQueryByIdResult, s as UseDbQueryOptions, t as UseDbQueryResult, G as UseDbUpdateOptions, H as UseDbUpdateResult, I as UseDbUpsertOptions, J as UseDbUpsertResult, u as useAdvanceQuery, a as useDataLayer, b as useDataLayerCore, M as useDataLayerCoreOptional, c as useDataLayerOptional, d as useDataLayerStatus, e as useDbCount, f as useDbDelete, g as useDbInfiniteQuery, h as useDbInsert, i as useDbQuery, j as useDbQueryById, k as useDbUpdate, l as useDbUpsert } from '../useDbCount-
|
|
1
|
+
export { C as ClarificationQuestion, D as DatabaseTypes, F as Filter, x as FilterGroup, y as FilterOperator, z as Pagination, P as PublicTableNames, Q as QueryState, R as ResolveRowType, S as SchemaNames, m as SchemaTableNames, A as Sort, T as TableIdentifier, U as UseAdvanceQueryOptions, n as UseAdvanceQueryResult, o as UseDbCountOptions, p as UseDbCountResult, K as UseDbDeleteOptions, L as UseDbDeleteResult, q as UseDbInfiniteQueryOptions, r as UseDbInfiniteQueryResult, B as UseDbInsertOptions, E as UseDbInsertResult, v as UseDbQueryByIdOptions, w as UseDbQueryByIdResult, s as UseDbQueryOptions, t as UseDbQueryResult, G as UseDbUpdateOptions, H as UseDbUpdateResult, I as UseDbUpsertOptions, J as UseDbUpsertResult, u as useAdvanceQuery, a as useDataLayer, b as useDataLayerCore, M as useDataLayerCoreOptional, c as useDataLayerOptional, d as useDataLayerStatus, e as useDbCount, f as useDbDelete, g as useDbInfiniteQuery, h as useDbInsert, i as useDbQuery, j as useDbQueryById, k as useDbUpdate, l as useDbUpsert } from '../useDbCount-Ckb-FhZk.js';
|
|
2
2
|
import { SyncStatus, SyncControl } from '../core/index.js';
|
|
3
|
-
import '../DataLayerContext-
|
|
3
|
+
import '../DataLayerContext-BYZtDD0g.js';
|
|
4
4
|
import 'react';
|
|
5
5
|
import '@supabase/supabase-js';
|
|
6
6
|
import '@tanstack/react-query';
|
|
7
|
-
import '../executor-
|
|
7
|
+
import '../executor-D15yjeMo.js';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* V3 useSyncStatus Hook
|
package/dist/hooks/index.js
CHANGED
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
useOnlineStatus,
|
|
10
10
|
useSyncControl,
|
|
11
11
|
useSyncStatus
|
|
12
|
-
} from "../chunk-
|
|
12
|
+
} from "../chunk-VYFAMTHI.js";
|
|
13
13
|
import {
|
|
14
14
|
useDataLayer,
|
|
15
15
|
useDataLayerCore,
|
|
@@ -18,8 +18,10 @@ import {
|
|
|
18
18
|
useDataLayerStatus,
|
|
19
19
|
useDbQuery,
|
|
20
20
|
useDbQueryById
|
|
21
|
-
} from "../chunk-
|
|
21
|
+
} from "../chunk-GWYTROSD.js";
|
|
22
22
|
import "../chunk-GC3TBUWE.js";
|
|
23
|
+
import "../chunk-W7PERM66.js";
|
|
24
|
+
import "../chunk-QYAFI34Q.js";
|
|
23
25
|
import "../chunk-J4ZVCXZ4.js";
|
|
24
26
|
import "../chunk-DMVUEJG2.js";
|
|
25
27
|
import "../chunk-7D4SUZUM.js";
|
|
@@ -5,7 +5,7 @@ import { PostgrestSingleResponse, SupabaseClient } from '@supabase/supabase-js';
|
|
|
5
5
|
import { Dispatch, SetStateAction } from 'react';
|
|
6
6
|
import { UseQueryOptions, DefinedUseQueryResult, QueryClient } from '@tanstack/react-query';
|
|
7
7
|
import { SyncControl, SyncStatus, DataLayerConfig } from './core/index.js';
|
|
8
|
-
import { u as DataLayerStatus, r as DataLayerContextValue } from './DataLayerContext-
|
|
8
|
+
import { u as DataLayerStatus, r as DataLayerContextValue } from './DataLayerContext-BYZtDD0g.js';
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Represents a change log entry for database records.
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
export { C as CompositeTypes, c as Constants, D as Database, E as Enums, J as Json, T as Tables, a as TablesInsert, b as TablesUpdate } from './database.types-ChFCG-4M.js';
|
|
2
2
|
export { a as FilterConfig, F as FilterConfigOption, G as Group, P as PropertyType, S as SortConfig, T as TableInfo, V as ValueForPropertyType, W as WhereFilter } from './FilterConfig-Bt2Ek74z.js';
|
|
3
|
-
export { r as BackendSelectionResult, B as BooleanOperator, l as ClarificationQuestion, k as ClarificationSuggestion, C as CombinedProviderStatus, j as ComputedSortConfig, n as DataLayerWithPowerSyncProps, D as DbChangeLog, E as EnhancedSyncControl, a as EnhancedSyncStatus, e as Filter, d as FilterConditionType, m as FilterContextType, f as FilterGroup, g as FilterInput, F as FilterOperator, h as FilterState, H as HasPowerSyncConfig, O as OrderColumn, i as Pagination, P as PowerSyncEnabledConfig, b as PowerSyncEnabledContextValue, q as PowerSyncTables, Q as QueryState, S as Sort, U as UseDataLayerWithPowerSync, p as UseSyncControlWithPowerSync, o as UseSyncStatusWithPowerSync, V as ValueOrArrayForPropertyType, c as createCombinedStatus } from './index-
|
|
4
|
-
export { y as AIOptions, z as AIResponse, P as AlertProps, A as AttachmentQueueProvider, I as BUCKETS, J as BucketName, H as CustomPageQueryResult, L as DEFAULT_QUERY_TIMEOUT, a9 as FeedbackListItem, aa as FeedbackListParams, Q as LiveChangeContext, R as LiveChangeContextProvider, C as ServerAvailabilityState, k as StorageQueueContext, m as StorageQueueContextValue, S as StorageQueueProvider, j as StorageQueueProviderProps, ac as SubmitFeedbackParams, v as SupabaseAdapter, T as TIMEOUT_ERROR_MESSAGE, F as UpdateOptions, U as UseAutosaveOptions, d as UseAutosaveResult, N as UseDbRealtimeQueryResult, q as UseMutationSuccessOptions, h as UseStorageSourceOptions, i as UseStorageSourceResult, O as convertFilterToRealtimeQuery, K as createInCondition, w as createSupabaseAdapter, G as executeAdvanceQuery, x as getErrorBody, g as getStorageUrl, p as getSupabaseUrl, M as isTimeoutError, n as newTimeActivity, s as setSupabaseUrl, B as useAI, ad as useApplyFeedback, c as useAutosave, b as useAutosaveState, a4 as useChangelogById, a5 as useChangelogBySlug, a6 as useChangelogEntries, a7 as useChangelogMedia, a2 as useChangelogs, o as useDbRealtimeQuery, W as useDeleteChangelog, Z as useDeleteChangelogEntry, a0 as useDeleteChangelogMedia, a8 as useFeedbackList, a as useLatestOperationLog, u as useLiveChangeTracking, _ as useMultiDeleteChangelogEntries, Y as useMultiUpsertChangelogEntries, r as useMutationSuccess, t as useMutationSuccessRN, a3 as usePublishedChangelogs, o as useRealtimeQuery, ae as useResolveFeedback, E as useSearchQuery, D as useServerAvailability, l as useStorageQueueContext, f as useStorageSource, ab as useSubmitFeedback, e as useToastError, a1 as useUploadChangelogMedia, V as useUpsertChangelog, X as useUpsertChangelogEntry, $ as useUpsertChangelogMedia } from './useResolveFeedback-
|
|
3
|
+
export { r as BackendSelectionResult, B as BooleanOperator, l as ClarificationQuestion, k as ClarificationSuggestion, C as CombinedProviderStatus, j as ComputedSortConfig, n as DataLayerWithPowerSyncProps, D as DbChangeLog, E as EnhancedSyncControl, a as EnhancedSyncStatus, e as Filter, d as FilterConditionType, m as FilterContextType, f as FilterGroup, g as FilterInput, F as FilterOperator, h as FilterState, H as HasPowerSyncConfig, O as OrderColumn, i as Pagination, P as PowerSyncEnabledConfig, b as PowerSyncEnabledContextValue, q as PowerSyncTables, Q as QueryState, S as Sort, U as UseDataLayerWithPowerSync, p as UseSyncControlWithPowerSync, o as UseSyncStatusWithPowerSync, V as ValueOrArrayForPropertyType, c as createCombinedStatus } from './index-CFUuTzXO.js';
|
|
4
|
+
export { y as AIOptions, z as AIResponse, P as AlertProps, A as AttachmentQueueProvider, I as BUCKETS, J as BucketName, H as CustomPageQueryResult, L as DEFAULT_QUERY_TIMEOUT, a9 as FeedbackListItem, aa as FeedbackListParams, Q as LiveChangeContext, R as LiveChangeContextProvider, C as ServerAvailabilityState, k as StorageQueueContext, m as StorageQueueContextValue, S as StorageQueueProvider, j as StorageQueueProviderProps, ac as SubmitFeedbackParams, v as SupabaseAdapter, T as TIMEOUT_ERROR_MESSAGE, F as UpdateOptions, U as UseAutosaveOptions, d as UseAutosaveResult, N as UseDbRealtimeQueryResult, q as UseMutationSuccessOptions, h as UseStorageSourceOptions, i as UseStorageSourceResult, O as convertFilterToRealtimeQuery, K as createInCondition, w as createSupabaseAdapter, G as executeAdvanceQuery, x as getErrorBody, g as getStorageUrl, p as getSupabaseUrl, M as isTimeoutError, n as newTimeActivity, s as setSupabaseUrl, B as useAI, ad as useApplyFeedback, c as useAutosave, b as useAutosaveState, a4 as useChangelogById, a5 as useChangelogBySlug, a6 as useChangelogEntries, a7 as useChangelogMedia, a2 as useChangelogs, o as useDbRealtimeQuery, W as useDeleteChangelog, Z as useDeleteChangelogEntry, a0 as useDeleteChangelogMedia, a8 as useFeedbackList, a as useLatestOperationLog, u as useLiveChangeTracking, _ as useMultiDeleteChangelogEntries, Y as useMultiUpsertChangelogEntries, r as useMutationSuccess, t as useMutationSuccessRN, a3 as usePublishedChangelogs, o as useRealtimeQuery, ae as useResolveFeedback, E as useSearchQuery, D as useServerAvailability, l as useStorageQueueContext, f as useStorageSource, ab as useSubmitFeedback, e as useToastError, a1 as useUploadChangelogMedia, V as useUpsertChangelog, X as useUpsertChangelogEntry, $ as useUpsertChangelogMedia } from './useResolveFeedback-CuUkdHoR.js';
|
|
5
5
|
export { u as useBatchDelete, a as useBatchUpsert } from './useBatchUpsert-DAkiCNo3.js';
|
|
6
6
|
export { AdapterRegistry as AdapterRegistryInterface, AutoStrategy, BuiltQuery, CachedStrategy, ColumnInfo, ColumnType, ConnectionConfig, DataAdapter, DataLayerConfig, DataLayerHooks, DatabaseSchema, DeleteMutationResult, ExtractInsert, ExtractRow, ExtractUpdate, HybridStrategy, MutationHookResult, MutationResult, OrderBy, ParsedSelect, PowerSyncStrategy, QueryOptions, QueryResult, QuerySingleResult, RelationshipInfo, RelationshipType, ResolvedRelationship, ScopeDefinition, SelectColumn, SelectRelation, SupabaseStrategy, SyncControl, SyncSchedule, SyncScope, SyncStatus, TableNames, TableSchema, TableStrategy, UseDbMutationHook, UseDbQueryByIdHook, UseDbQueryHook, WhereClause, WhereOperators } from './core/index.js';
|
|
7
|
-
export { f as ADAPTER_STRATEGIES, i as AdapterAutoDetector, c as AdapterCapabilities, a as AdapterConfig, d as AdapterDependencies, b as AdapterFactory, A as AdapterQueryResult, g as AdapterRegistry, e as AdapterStrategyType, k as AutoDetectionResult, l as AutoDetectorOptions, m as BackendChangeListener, B as BackendStatus, C as CapableDataAdapter, D as DataLayerContext, r as DataLayerContextValue, p as DataLayerCoreContext, s as DataLayerCoreContextValue, u as DataLayerStatus, q as DataLayerStatusContext, t as DataLayerStatusContextValue, S as SyncStatusInfo, o as SyncTracker, n as SyncTrackingAdapter, T as TableDataAdapter, j as createAdapterAutoDetector, h as createAdapterRegistry } from './DataLayerContext-
|
|
7
|
+
export { f as ADAPTER_STRATEGIES, i as AdapterAutoDetector, c as AdapterCapabilities, a as AdapterConfig, d as AdapterDependencies, b as AdapterFactory, A as AdapterQueryResult, g as AdapterRegistry, e as AdapterStrategyType, k as AutoDetectionResult, l as AutoDetectorOptions, m as BackendChangeListener, B as BackendStatus, C as CapableDataAdapter, D as DataLayerContext, r as DataLayerContextValue, p as DataLayerCoreContext, s as DataLayerCoreContextValue, u as DataLayerStatus, q as DataLayerStatusContext, t as DataLayerStatusContextValue, S as SyncStatusInfo, o as SyncTracker, n as SyncTrackingAdapter, T as TableDataAdapter, j as createAdapterAutoDetector, h as createAdapterRegistry } from './DataLayerContext-BYZtDD0g.js';
|
|
8
8
|
export { ConflictCheckResult, ConflictContext, ConflictContextValue, ConflictProvider, ConflictProviderProps, ConflictResolution, DataLayerProvider, DataLayerProviderProps, FieldConflict, PowerSyncAdapter, UseConflictResolutionReturn, UseSupabaseUploadOptions, UseSupabaseUploadReturn, createPowerSyncAdapter, useBulkConflictResolution, useConflictCountByTable, useConflictForRecord, useConflictResolution, useConflictState, useConflictsForTable, useHasConflicts, usePendingConflicts, useSupabaseUpload } from './index.native.js';
|
|
9
|
-
export { D as DatabaseTypes, P as PublicTableNames, R as ResolveRowType, S as SchemaNames, m as SchemaTableNames, T as TableIdentifier, U as UseAdvanceQueryOptions, n as UseAdvanceQueryResult, o as UseDbCountOptions, p as UseDbCountResult, q as UseDbInfiniteQueryOptions, r as UseDbInfiniteQueryResult, s as UseDbQueryOptions, t as UseDbQueryResult, u as useAdvanceQuery, a as useDataLayer, b as useDataLayerCore, c as useDataLayerOptional, d as useDataLayerStatus, e as useDbCount, e as useDbCountV3, f as useDbDelete, g as useDbInfiniteQuery, g as useDbInfiniteQueryV3, h as useDbInsert, i as useDbQuery, j as useDbQueryById, k as useDbUpdate, l as useDbUpsert } from './useDbCount-
|
|
9
|
+
export { D as DatabaseTypes, P as PublicTableNames, R as ResolveRowType, S as SchemaNames, m as SchemaTableNames, T as TableIdentifier, U as UseAdvanceQueryOptions, n as UseAdvanceQueryResult, o as UseDbCountOptions, p as UseDbCountResult, q as UseDbInfiniteQueryOptions, r as UseDbInfiniteQueryResult, s as UseDbQueryOptions, t as UseDbQueryResult, u as useAdvanceQuery, a as useDataLayer, b as useDataLayerCore, c as useDataLayerOptional, d as useDataLayerStatus, e as useDbCount, e as useDbCountV3, f as useDbDelete, g as useDbInfiniteQuery, g as useDbInfiniteQueryV3, h as useDbInsert, i as useDbQuery, j as useDbQueryById, k as useDbUpdate, l as useDbUpsert } from './useDbCount-Ckb-FhZk.js';
|
|
10
10
|
export { useOnlineStatus, useSyncControl, useSyncStatus } from './hooks/index.js';
|
|
11
11
|
export { C as ClientInstanceId, S as SupabaseDatabaseTypes, a as SupabaseProvider, T as TypedSupabaseClient, U as UserSessionId, c as createNewSupabaseClient, u as default, o as onSupabaseInitialized, s as setDefaultOptions, t as typedSupabase, u as useSupabase } from './useSupabase-DSZNeXnF.js';
|
|
12
12
|
export { B as BatchAnalysisProgress, E as ExtractedReceipt, P as PendingExpense, a as useReceiptAI, u as useSupabaseFunction } from './useReceiptAI-6HkRpRml.js';
|
|
@@ -27,7 +27,7 @@ import '@pol-studios/utils';
|
|
|
27
27
|
import '@supabase-cache-helpers/postgrest-react-query';
|
|
28
28
|
import 'react/jsx-runtime';
|
|
29
29
|
import '@supabase/storage-js';
|
|
30
|
-
import './executor-
|
|
30
|
+
import './executor-D15yjeMo.js';
|
|
31
31
|
import 'react-dropzone';
|
|
32
32
|
import '@supabase/supabase-js/dist/module/lib/types.js';
|
|
33
33
|
|
package/dist/index.js
CHANGED
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
useHasConflicts,
|
|
25
25
|
usePendingConflicts,
|
|
26
26
|
useSupabaseUpload
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-N4KK5G5T.js";
|
|
28
28
|
import {
|
|
29
29
|
ADAPTER_STRATEGIES,
|
|
30
30
|
AdapterAutoDetector,
|
|
@@ -77,7 +77,7 @@ import {
|
|
|
77
77
|
useUpsertChangelog,
|
|
78
78
|
useUpsertChangelogEntry,
|
|
79
79
|
useUpsertChangelogMedia
|
|
80
|
-
} from "./chunk-
|
|
80
|
+
} from "./chunk-DDL63KLQ.js";
|
|
81
81
|
import {
|
|
82
82
|
LiveChangeContext,
|
|
83
83
|
LiveChangeContextProvider,
|
|
@@ -88,7 +88,7 @@ import {
|
|
|
88
88
|
useUserMetadataState,
|
|
89
89
|
useUserMetadataValue,
|
|
90
90
|
userMetadataContext
|
|
91
|
-
} from "./chunk-
|
|
91
|
+
} from "./chunk-4EO55YV2.js";
|
|
92
92
|
import {
|
|
93
93
|
PostgrestFilter,
|
|
94
94
|
binarySearch,
|
|
@@ -116,7 +116,7 @@ import {
|
|
|
116
116
|
removeAliasFromDeclaration,
|
|
117
117
|
removeFirstPathElement,
|
|
118
118
|
setFilterValue
|
|
119
|
-
} from "./chunk-
|
|
119
|
+
} from "./chunk-FI6JAD5G.js";
|
|
120
120
|
import {
|
|
121
121
|
useAdvanceQuery,
|
|
122
122
|
useDbCount,
|
|
@@ -128,11 +128,11 @@ import {
|
|
|
128
128
|
useOnlineStatus,
|
|
129
129
|
useSyncControl,
|
|
130
130
|
useSyncStatus
|
|
131
|
-
} from "./chunk-
|
|
131
|
+
} from "./chunk-VYFAMTHI.js";
|
|
132
132
|
import {
|
|
133
133
|
Constants,
|
|
134
134
|
createCombinedStatus
|
|
135
|
-
} from "./chunk-
|
|
135
|
+
} from "./chunk-Z456IHCB.js";
|
|
136
136
|
import {
|
|
137
137
|
Accessory,
|
|
138
138
|
Address,
|
|
@@ -321,12 +321,12 @@ import {
|
|
|
321
321
|
UserMetadata
|
|
322
322
|
} from "./chunk-SM73S2DY.js";
|
|
323
323
|
import "./chunk-NSIAAYW3.js";
|
|
324
|
-
import "./chunk-
|
|
324
|
+
import "./chunk-MEBT5YHA.js";
|
|
325
325
|
import {
|
|
326
326
|
DEFAULT_QUERY_TIMEOUT,
|
|
327
327
|
TIMEOUT_ERROR_MESSAGE,
|
|
328
328
|
isTimeoutError
|
|
329
|
-
} from "./chunk-
|
|
329
|
+
} from "./chunk-6SDH7M7J.js";
|
|
330
330
|
import {
|
|
331
331
|
DataLayerContext,
|
|
332
332
|
DataLayerCoreContext,
|
|
@@ -337,17 +337,19 @@ import {
|
|
|
337
337
|
useDataLayerStatus,
|
|
338
338
|
useDbQuery,
|
|
339
339
|
useDbQueryById
|
|
340
|
-
} from "./chunk-
|
|
340
|
+
} from "./chunk-GWYTROSD.js";
|
|
341
341
|
import "./chunk-RT4O5H2E.js";
|
|
342
|
-
import "./chunk-
|
|
342
|
+
import "./chunk-YRIPM2AN.js";
|
|
343
343
|
import {
|
|
344
344
|
getSupabaseUrl,
|
|
345
345
|
setSupabaseUrl
|
|
346
346
|
} from "./chunk-GC3TBUWE.js";
|
|
347
|
+
import "./chunk-W7PERM66.js";
|
|
347
348
|
import {
|
|
348
349
|
useBatchDelete,
|
|
349
350
|
useBatchUpsert
|
|
350
|
-
} from "./chunk-
|
|
351
|
+
} from "./chunk-WM25QE7E.js";
|
|
352
|
+
import "./chunk-QYAFI34Q.js";
|
|
351
353
|
import {
|
|
352
354
|
OPERATOR_MAP,
|
|
353
355
|
PostgrestParser,
|
|
@@ -361,10 +363,10 @@ import {
|
|
|
361
363
|
parseSelectParam,
|
|
362
364
|
parseValue,
|
|
363
365
|
sortSearchParams
|
|
364
|
-
} from "./chunk-
|
|
366
|
+
} from "./chunk-JOULSXOI.js";
|
|
365
367
|
import "./chunk-J4ZVCXZ4.js";
|
|
366
|
-
import "./chunk-
|
|
367
|
-
import "./chunk-
|
|
368
|
+
import "./chunk-YUX6RGLZ.js";
|
|
369
|
+
import "./chunk-AKIRHA4Q.js";
|
|
368
370
|
import {
|
|
369
371
|
ClientInstanceId,
|
|
370
372
|
SupabaseProvider,
|
package/dist/index.native.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
export { C as CompositeTypes, c as Constants, D as Database, E as Enums, J as Json, T as Tables, a as TablesInsert, b as TablesUpdate } from './database.types-ChFCG-4M.js';
|
|
2
2
|
export { a as FilterConfig, F as FilterConfigOption, G as Group, P as PropertyType, S as SortConfig, T as TableInfo, V as ValueForPropertyType, W as WhereFilter } from './FilterConfig-Bt2Ek74z.js';
|
|
3
|
-
export { r as BackendSelectionResult, B as BooleanOperator, l as ClarificationQuestion, k as ClarificationSuggestion, C as CombinedProviderStatus, j as ComputedSortConfig, n as DataLayerWithPowerSyncProps, D as DbChangeLog, E as EnhancedSyncControl, a as EnhancedSyncStatus, e as Filter, d as FilterConditionType, m as FilterContextType, f as FilterGroup, g as FilterInput, F as FilterOperator, h as FilterState, H as HasPowerSyncConfig, O as OrderColumn, i as Pagination, P as PowerSyncEnabledConfig, b as PowerSyncEnabledContextValue, q as PowerSyncTables, Q as QueryState, S as Sort, U as UseDataLayerWithPowerSync, p as UseSyncControlWithPowerSync, o as UseSyncStatusWithPowerSync, V as ValueOrArrayForPropertyType, c as createCombinedStatus, u as useDbAdvanceFilterQuery } from './index-
|
|
4
|
-
export { y as AIOptions, z as AIResponse, P as AlertProps, A as AttachmentQueueProvider, I as BUCKETS, J as BucketName, H as CustomPageQueryResult, L as DEFAULT_QUERY_TIMEOUT, a9 as FeedbackListItem, aa as FeedbackListParams, Q as LiveChangeContext, R as LiveChangeContextProvider, C as ServerAvailabilityState, k as StorageQueueContext, m as StorageQueueContextValue, S as StorageQueueProvider, j as StorageQueueProviderProps, ac as SubmitFeedbackParams, v as SupabaseAdapter, T as TIMEOUT_ERROR_MESSAGE, F as UpdateOptions, U as UseAutosaveOptions, d as UseAutosaveResult, N as UseDbRealtimeQueryResult, q as UseMutationSuccessOptions, h as UseStorageSourceOptions, i as UseStorageSourceResult, O as convertFilterToRealtimeQuery, K as createInCondition, w as createSupabaseAdapter, G as executeAdvanceQuery, x as getErrorBody, g as getStorageUrl, p as getSupabaseUrl, M as isTimeoutError, n as newTimeActivity, s as setSupabaseUrl, B as useAI, ad as useApplyFeedback, c as useAutosave, b as useAutosaveState, a4 as useChangelogById, a5 as useChangelogBySlug, a6 as useChangelogEntries, a7 as useChangelogMedia, a2 as useChangelogs, o as useDbRealtimeQuery, W as useDeleteChangelog, Z as useDeleteChangelogEntry, a0 as useDeleteChangelogMedia, a8 as useFeedbackList, a as useLatestOperationLog, u as useLiveChangeTracking, _ as useMultiDeleteChangelogEntries, Y as useMultiUpsertChangelogEntries, r as useMutationSuccess, t as useMutationSuccessRN, a3 as usePublishedChangelogs, o as useRealtimeQuery, ae as useResolveFeedback, E as useSearchQuery, D as useServerAvailability, l as useStorageQueueContext, f as useStorageSource, ab as useSubmitFeedback, e as useToastError, a1 as useUploadChangelogMedia, V as useUpsertChangelog, X as useUpsertChangelogEntry, $ as useUpsertChangelogMedia } from './useResolveFeedback-
|
|
5
|
-
export { D as DatabaseTypes, P as PublicTableNames, R as ResolveRowType, S as SchemaNames, m as SchemaTableNames, T as TableIdentifier, U as UseAdvanceQueryOptions, n as UseAdvanceQueryResult, o as UseDbCountOptions, p as UseDbCountResult, q as UseDbInfiniteQueryOptions, r as UseDbInfiniteQueryResult, s as UseDbQueryOptions, t as UseDbQueryResult, u as useAdvanceQuery, a as useDataLayer, b as useDataLayerCore, c as useDataLayerOptional, d as useDataLayerStatus, e as useDbCount, e as useDbCountV3, f as useDbDelete, f as useDbDeleteV3, g as useDbInfiniteQuery, g as useDbInfiniteQueryV3, h as useDbInsert, h as useDbInsertV3, i as useDbQuery, j as useDbQueryById, i as useDbQueryV3, k as useDbUpdate, k as useDbUpdateV3, l as useDbUpsert, l as useDbUpsertV3, l as useUpsert } from './useDbCount-
|
|
3
|
+
export { r as BackendSelectionResult, B as BooleanOperator, l as ClarificationQuestion, k as ClarificationSuggestion, C as CombinedProviderStatus, j as ComputedSortConfig, n as DataLayerWithPowerSyncProps, D as DbChangeLog, E as EnhancedSyncControl, a as EnhancedSyncStatus, e as Filter, d as FilterConditionType, m as FilterContextType, f as FilterGroup, g as FilterInput, F as FilterOperator, h as FilterState, H as HasPowerSyncConfig, O as OrderColumn, i as Pagination, P as PowerSyncEnabledConfig, b as PowerSyncEnabledContextValue, q as PowerSyncTables, Q as QueryState, S as Sort, U as UseDataLayerWithPowerSync, p as UseSyncControlWithPowerSync, o as UseSyncStatusWithPowerSync, V as ValueOrArrayForPropertyType, c as createCombinedStatus, u as useDbAdvanceFilterQuery } from './index-CFUuTzXO.js';
|
|
4
|
+
export { y as AIOptions, z as AIResponse, P as AlertProps, A as AttachmentQueueProvider, I as BUCKETS, J as BucketName, H as CustomPageQueryResult, L as DEFAULT_QUERY_TIMEOUT, a9 as FeedbackListItem, aa as FeedbackListParams, Q as LiveChangeContext, R as LiveChangeContextProvider, C as ServerAvailabilityState, k as StorageQueueContext, m as StorageQueueContextValue, S as StorageQueueProvider, j as StorageQueueProviderProps, ac as SubmitFeedbackParams, v as SupabaseAdapter, T as TIMEOUT_ERROR_MESSAGE, F as UpdateOptions, U as UseAutosaveOptions, d as UseAutosaveResult, N as UseDbRealtimeQueryResult, q as UseMutationSuccessOptions, h as UseStorageSourceOptions, i as UseStorageSourceResult, O as convertFilterToRealtimeQuery, K as createInCondition, w as createSupabaseAdapter, G as executeAdvanceQuery, x as getErrorBody, g as getStorageUrl, p as getSupabaseUrl, M as isTimeoutError, n as newTimeActivity, s as setSupabaseUrl, B as useAI, ad as useApplyFeedback, c as useAutosave, b as useAutosaveState, a4 as useChangelogById, a5 as useChangelogBySlug, a6 as useChangelogEntries, a7 as useChangelogMedia, a2 as useChangelogs, o as useDbRealtimeQuery, W as useDeleteChangelog, Z as useDeleteChangelogEntry, a0 as useDeleteChangelogMedia, a8 as useFeedbackList, a as useLatestOperationLog, u as useLiveChangeTracking, _ as useMultiDeleteChangelogEntries, Y as useMultiUpsertChangelogEntries, r as useMutationSuccess, t as useMutationSuccessRN, a3 as usePublishedChangelogs, o as useRealtimeQuery, ae as useResolveFeedback, E as useSearchQuery, D as useServerAvailability, l as useStorageQueueContext, f as useStorageSource, ab as useSubmitFeedback, e as useToastError, a1 as useUploadChangelogMedia, V as useUpsertChangelog, X as useUpsertChangelogEntry, $ as useUpsertChangelogMedia } from './useResolveFeedback-CuUkdHoR.js';
|
|
5
|
+
export { D as DatabaseTypes, P as PublicTableNames, R as ResolveRowType, S as SchemaNames, m as SchemaTableNames, T as TableIdentifier, U as UseAdvanceQueryOptions, n as UseAdvanceQueryResult, o as UseDbCountOptions, p as UseDbCountResult, q as UseDbInfiniteQueryOptions, r as UseDbInfiniteQueryResult, s as UseDbQueryOptions, t as UseDbQueryResult, u as useAdvanceQuery, a as useDataLayer, b as useDataLayerCore, c as useDataLayerOptional, d as useDataLayerStatus, e as useDbCount, e as useDbCountV3, f as useDbDelete, f as useDbDeleteV3, g as useDbInfiniteQuery, g as useDbInfiniteQueryV3, h as useDbInsert, h as useDbInsertV3, i as useDbQuery, j as useDbQueryById, i as useDbQueryV3, k as useDbUpdate, k as useDbUpdateV3, l as useDbUpsert, l as useDbUpsertV3, l as useUpsert } from './useDbCount-Ckb-FhZk.js';
|
|
6
6
|
export { useOnlineStatus, useSyncControl, useSyncStatus } from './hooks/index.js';
|
|
7
7
|
export { u as useBatchDelete, a as useBatchUpsert } from './useBatchUpsert-DAkiCNo3.js';
|
|
8
8
|
import { DatabaseSchema, QueryOptions, DataLayerConfig, SyncControl } from './core/index.js';
|
|
9
9
|
export { AdapterRegistry as AdapterRegistryInterface, AutoStrategy, BuiltQuery, CachedStrategy, ColumnInfo, ColumnType, ConnectionConfig, DataAdapter, DataLayerHooks, DeleteMutationResult, ExtractInsert, ExtractRow, ExtractUpdate, HybridStrategy, MutationHookResult, MutationResult, OrderBy, ParsedSelect, PowerSyncStrategy, QueryResult, QuerySingleResult, RelationshipInfo, RelationshipType, ResolvedRelationship, ScopeDefinition, SelectColumn, SelectRelation, SupabaseStrategy, SyncSchedule, SyncScope, SyncStatus, TableNames, TableSchema, TableStrategy, UseDbMutationHook, UseDbQueryByIdHook, UseDbQueryHook, WhereClause, WhereOperators } from './core/index.js';
|
|
10
|
-
import { T as TableDataAdapter, C as CapableDataAdapter, c as AdapterCapabilities, A as AdapterQueryResult, r as DataLayerContextValue, S as SyncStatusInfo } from './DataLayerContext-
|
|
11
|
-
export { f as ADAPTER_STRATEGIES, i as AdapterAutoDetector, a as AdapterConfig, d as AdapterDependencies, b as AdapterFactory, g as AdapterRegistry, e as AdapterStrategyType, k as AutoDetectionResult, l as AutoDetectorOptions, m as BackendChangeListener, B as BackendStatus, D as DataLayerContext, p as DataLayerCoreContext, s as DataLayerCoreContextValue, u as DataLayerStatus, q as DataLayerStatusContext, t as DataLayerStatusContextValue, o as SyncTracker, n as SyncTrackingAdapter, j as createAdapterAutoDetector, h as createAdapterRegistry } from './DataLayerContext-
|
|
12
|
-
import { Q as QueryExecutor, P as PowerSyncDatabase$1 } from './executor-
|
|
10
|
+
import { T as TableDataAdapter, C as CapableDataAdapter, c as AdapterCapabilities, A as AdapterQueryResult, r as DataLayerContextValue, S as SyncStatusInfo } from './DataLayerContext-BYZtDD0g.js';
|
|
11
|
+
export { f as ADAPTER_STRATEGIES, i as AdapterAutoDetector, a as AdapterConfig, d as AdapterDependencies, b as AdapterFactory, g as AdapterRegistry, e as AdapterStrategyType, k as AutoDetectionResult, l as AutoDetectorOptions, m as BackendChangeListener, B as BackendStatus, D as DataLayerContext, p as DataLayerCoreContext, s as DataLayerCoreContextValue, u as DataLayerStatus, q as DataLayerStatusContext, t as DataLayerStatusContextValue, o as SyncTracker, n as SyncTrackingAdapter, j as createAdapterAutoDetector, h as createAdapterRegistry } from './DataLayerContext-BYZtDD0g.js';
|
|
12
|
+
import { Q as QueryExecutor, P as PowerSyncDatabase$1 } from './executor-D15yjeMo.js';
|
|
13
13
|
import * as react from 'react';
|
|
14
14
|
import react__default, { ReactNode, JSX } from 'react';
|
|
15
15
|
import { SupabaseClient } from '@supabase/supabase-js';
|
|
@@ -106,6 +106,21 @@ interface PowerSyncDatabase {
|
|
|
106
106
|
* Used to map schema-qualified names like "core.Profile" to aliases like "CoreProfile".
|
|
107
107
|
*/
|
|
108
108
|
type TableNameResolver = (table: string) => string;
|
|
109
|
+
/**
|
|
110
|
+
* Configuration options for the PowerSyncAdapter.
|
|
111
|
+
*/
|
|
112
|
+
interface PowerSyncAdapterOptions {
|
|
113
|
+
/**
|
|
114
|
+
* Optional custom resolver for table names to PowerSync aliases.
|
|
115
|
+
*/
|
|
116
|
+
tableNameResolver?: TableNameResolver;
|
|
117
|
+
/**
|
|
118
|
+
* Maximum number of subscriptions to keep in the registry.
|
|
119
|
+
* When exceeded, the least recently used subscriptions are evicted.
|
|
120
|
+
* @default 100
|
|
121
|
+
*/
|
|
122
|
+
maxSubscriptions?: number;
|
|
123
|
+
}
|
|
109
124
|
declare class PowerSyncAdapter implements TableDataAdapter, CapableDataAdapter {
|
|
110
125
|
private db;
|
|
111
126
|
private schema;
|
|
@@ -126,14 +141,36 @@ declare class PowerSyncAdapter implements TableDataAdapter, CapableDataAdapter {
|
|
|
126
141
|
* If not provided, uses default auto-alias generation.
|
|
127
142
|
*/
|
|
128
143
|
private tableNameResolver?;
|
|
144
|
+
/**
|
|
145
|
+
* Maximum number of subscriptions to keep in the registry.
|
|
146
|
+
*/
|
|
147
|
+
private maxSubscriptions;
|
|
148
|
+
/**
|
|
149
|
+
* Subscription deduplication registry.
|
|
150
|
+
* Maps cache keys (table + serialized options) to shared subscription entries.
|
|
151
|
+
* This prevents duplicate PowerSync watch() calls when multiple components
|
|
152
|
+
* subscribe to the same query.
|
|
153
|
+
*
|
|
154
|
+
* Uses Map insertion order for LRU eviction - most recently accessed entries
|
|
155
|
+
* are moved to the end by deleting and re-adding.
|
|
156
|
+
*/
|
|
157
|
+
private subscriptionRegistry;
|
|
129
158
|
/**
|
|
130
159
|
* Create a new PowerSyncAdapter
|
|
131
160
|
*
|
|
132
161
|
* @param db - PowerSync database instance
|
|
133
162
|
* @param schema - Database schema for relationship resolution
|
|
134
|
-
* @param
|
|
163
|
+
* @param options - Optional configuration (tableNameResolver, maxSubscriptions)
|
|
164
|
+
*/
|
|
165
|
+
constructor(db: PowerSyncDatabase, schema: DatabaseSchema, options?: TableNameResolver | PowerSyncAdapterOptions);
|
|
166
|
+
/**
|
|
167
|
+
* Move a subscription entry to the end of the Map for LRU tracking.
|
|
168
|
+
* The most recently accessed entries are at the end; oldest are at the start.
|
|
169
|
+
*
|
|
170
|
+
* @param key - The subscription cache key
|
|
171
|
+
* @param entry - The subscription entry to touch
|
|
135
172
|
*/
|
|
136
|
-
|
|
173
|
+
private touchSubscription;
|
|
137
174
|
/**
|
|
138
175
|
* Resolve a table name to its PowerSync alias.
|
|
139
176
|
* Schema-qualified names like "chat.Conversation" become "Conversation" (schema stripped).
|
|
@@ -160,12 +197,29 @@ declare class PowerSyncAdapter implements TableDataAdapter, CapableDataAdapter {
|
|
|
160
197
|
* @returns Promise resolving to the record or null if not found
|
|
161
198
|
*/
|
|
162
199
|
queryById<T>(table: string, id: string, options?: Pick<QueryOptions, "select">): Promise<T | null>;
|
|
200
|
+
/**
|
|
201
|
+
* Generate a unique cache key for subscription deduplication.
|
|
202
|
+
* Combines table name and serialized options to identify identical queries.
|
|
203
|
+
* Uses sorted keys to ensure consistent serialization regardless of property order.
|
|
204
|
+
*
|
|
205
|
+
* @param table - The table name
|
|
206
|
+
* @param options - Query options
|
|
207
|
+
* @returns A unique string key for the subscription registry
|
|
208
|
+
*/
|
|
209
|
+
private generateSubscriptionKey;
|
|
163
210
|
/**
|
|
164
211
|
* Subscribe to changes on a query using PowerSync's native watch() API.
|
|
165
212
|
*
|
|
166
213
|
* This uses PowerSync's reactive query watching which efficiently detects
|
|
167
214
|
* changes to the underlying data and re-executes the query only when needed.
|
|
168
215
|
*
|
|
216
|
+
* Subscription Deduplication:
|
|
217
|
+
* Multiple components subscribing to the same query (same table + options)
|
|
218
|
+
* will share a single underlying PowerSync watch. This optimization:
|
|
219
|
+
* - Reduces database load by avoiding duplicate watches
|
|
220
|
+
* - Provides instant data to new subscribers from cached results
|
|
221
|
+
* - Properly cleans up when all subscribers unsubscribe
|
|
222
|
+
*
|
|
169
223
|
* If the database doesn't support watch(), falls back to polling every 5 seconds.
|
|
170
224
|
*
|
|
171
225
|
* @param table - The table name to watch
|
package/dist/index.native.js
CHANGED
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
useHasConflicts,
|
|
14
14
|
usePendingConflicts,
|
|
15
15
|
useSupabaseUpload
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-N4KK5G5T.js";
|
|
17
17
|
import {
|
|
18
18
|
ADAPTER_STRATEGIES,
|
|
19
19
|
AdapterAutoDetector,
|
|
@@ -65,7 +65,7 @@ import {
|
|
|
65
65
|
useUpsertChangelog,
|
|
66
66
|
useUpsertChangelogEntry,
|
|
67
67
|
useUpsertChangelogMedia
|
|
68
|
-
} from "./chunk-
|
|
68
|
+
} from "./chunk-DDL63KLQ.js";
|
|
69
69
|
import {
|
|
70
70
|
LiveChangeContext,
|
|
71
71
|
LiveChangeContextProvider,
|
|
@@ -76,7 +76,7 @@ import {
|
|
|
76
76
|
useUserMetadataState,
|
|
77
77
|
useUserMetadataValue,
|
|
78
78
|
userMetadataContext
|
|
79
|
-
} from "./chunk-
|
|
79
|
+
} from "./chunk-4EO55YV2.js";
|
|
80
80
|
import {
|
|
81
81
|
PostgrestFilter,
|
|
82
82
|
binarySearch,
|
|
@@ -104,7 +104,7 @@ import {
|
|
|
104
104
|
removeAliasFromDeclaration,
|
|
105
105
|
removeFirstPathElement,
|
|
106
106
|
setFilterValue
|
|
107
|
-
} from "./chunk-
|
|
107
|
+
} from "./chunk-FI6JAD5G.js";
|
|
108
108
|
import {
|
|
109
109
|
useAdvanceQuery,
|
|
110
110
|
useDbCount,
|
|
@@ -116,12 +116,12 @@ import {
|
|
|
116
116
|
useOnlineStatus,
|
|
117
117
|
useSyncControl,
|
|
118
118
|
useSyncStatus
|
|
119
|
-
} from "./chunk-
|
|
119
|
+
} from "./chunk-VYFAMTHI.js";
|
|
120
120
|
import {
|
|
121
121
|
Constants,
|
|
122
122
|
createCombinedStatus,
|
|
123
123
|
useDbAdvanceFilterQuery
|
|
124
|
-
} from "./chunk-
|
|
124
|
+
} from "./chunk-Z456IHCB.js";
|
|
125
125
|
import {
|
|
126
126
|
Accessory,
|
|
127
127
|
Address,
|
|
@@ -310,12 +310,12 @@ import {
|
|
|
310
310
|
UserMetadata
|
|
311
311
|
} from "./chunk-SM73S2DY.js";
|
|
312
312
|
import "./chunk-NSIAAYW3.js";
|
|
313
|
-
import "./chunk-
|
|
313
|
+
import "./chunk-MEBT5YHA.js";
|
|
314
314
|
import {
|
|
315
315
|
DEFAULT_QUERY_TIMEOUT,
|
|
316
316
|
TIMEOUT_ERROR_MESSAGE,
|
|
317
317
|
isTimeoutError
|
|
318
|
-
} from "./chunk-
|
|
318
|
+
} from "./chunk-6SDH7M7J.js";
|
|
319
319
|
import {
|
|
320
320
|
DataLayerContext,
|
|
321
321
|
DataLayerCoreContext,
|
|
@@ -326,17 +326,19 @@ import {
|
|
|
326
326
|
useDataLayerStatus,
|
|
327
327
|
useDbQuery,
|
|
328
328
|
useDbQueryById
|
|
329
|
-
} from "./chunk-
|
|
329
|
+
} from "./chunk-GWYTROSD.js";
|
|
330
330
|
import "./chunk-RT4O5H2E.js";
|
|
331
|
-
import "./chunk-
|
|
331
|
+
import "./chunk-YRIPM2AN.js";
|
|
332
332
|
import {
|
|
333
333
|
getSupabaseUrl,
|
|
334
334
|
setSupabaseUrl
|
|
335
335
|
} from "./chunk-GC3TBUWE.js";
|
|
336
|
+
import "./chunk-W7PERM66.js";
|
|
336
337
|
import {
|
|
337
338
|
useBatchDelete,
|
|
338
339
|
useBatchUpsert
|
|
339
|
-
} from "./chunk-
|
|
340
|
+
} from "./chunk-WM25QE7E.js";
|
|
341
|
+
import "./chunk-QYAFI34Q.js";
|
|
340
342
|
import {
|
|
341
343
|
OPERATOR_MAP,
|
|
342
344
|
PostgrestParser,
|
|
@@ -350,10 +352,10 @@ import {
|
|
|
350
352
|
parseSelectParam,
|
|
351
353
|
parseValue,
|
|
352
354
|
sortSearchParams
|
|
353
|
-
} from "./chunk-
|
|
355
|
+
} from "./chunk-JOULSXOI.js";
|
|
354
356
|
import "./chunk-J4ZVCXZ4.js";
|
|
355
|
-
import "./chunk-
|
|
356
|
-
import "./chunk-
|
|
357
|
+
import "./chunk-YUX6RGLZ.js";
|
|
358
|
+
import "./chunk-AKIRHA4Q.js";
|
|
357
359
|
import {
|
|
358
360
|
ClientInstanceId,
|
|
359
361
|
SupabaseProvider,
|
package/dist/index.web.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export { C as CompositeTypes, c as Constants, D as Database, E as Enums, J as Json, T as Tables, a as TablesInsert, b as TablesUpdate } from './database.types-ChFCG-4M.js';
|
|
2
2
|
export { a as FilterConfig, F as FilterConfigOption, G as Group, P as PropertyType, S as SortConfig, T as TableInfo, V as ValueForPropertyType, W as WhereFilter } from './FilterConfig-Bt2Ek74z.js';
|
|
3
|
-
import { u as useDbAdvanceFilterQuery, Q as QueryState } from './index-
|
|
4
|
-
export { r as BackendSelectionResult, B as BooleanOperator, k as ClarificationSuggestion, C as CombinedProviderStatus, j as ComputedSortConfig, n as DataLayerWithPowerSyncProps, D as DbChangeLog, E as EnhancedSyncControl, a as EnhancedSyncStatus, d as FilterConditionType, m as FilterContextType, g as FilterInput, h as FilterState, H as HasPowerSyncConfig, O as OrderColumn, P as PowerSyncEnabledConfig, b as PowerSyncEnabledContextValue, q as PowerSyncTables, U as UseDataLayerWithPowerSync, p as UseSyncControlWithPowerSync, o as UseSyncStatusWithPowerSync, V as ValueOrArrayForPropertyType, c as createCombinedStatus, s as normalizeFilter } from './index-
|
|
5
|
-
export { y as AIOptions, z as AIResponse, P as AlertProps, A as AttachmentQueueProvider, I as BUCKETS, J as BucketName, H as CustomPageQueryResult, L as DEFAULT_QUERY_TIMEOUT, a9 as FeedbackListItem, aa as FeedbackListParams, Q as LiveChangeContext, R as LiveChangeContextProvider, C as ServerAvailabilityState, k as StorageQueueContext, m as StorageQueueContextValue, S as StorageQueueProvider, j as StorageQueueProviderProps, ac as SubmitFeedbackParams, v as SupabaseAdapter, T as TIMEOUT_ERROR_MESSAGE, F as UpdateOptions, U as UseAutosaveOptions, d as UseAutosaveResult, af as UseDbPartialQueryResult, N as UseDbRealtimeQueryResult, q as UseMutationSuccessOptions, h as UseStorageSourceOptions, i as UseStorageSourceResult, O as convertFilterToRealtimeQuery, K as createInCondition, w as createSupabaseAdapter, G as executeAdvanceQuery, x as getErrorBody, g as getStorageUrl, p as getSupabaseUrl, M as isTimeoutError, n as newTimeActivity, s as setSupabaseUrl, B as useAI, ad as useApplyFeedback, c as useAutosave, b as useAutosaveState, a4 as useChangelogById, a5 as useChangelogBySlug, a6 as useChangelogEntries, a7 as useChangelogMedia, a2 as useChangelogs, ag as useDbPartialQuery, o as useDbRealtimeQuery, W as useDeleteChangelog, Z as useDeleteChangelogEntry, a0 as useDeleteChangelogMedia, a8 as useFeedbackList, a as useLatestOperationLog, u as useLiveChangeTracking, _ as useMultiDeleteChangelogEntries, Y as useMultiUpsertChangelogEntries, r as useMutationSuccess, t as useMutationSuccessRN, a3 as usePublishedChangelogs, o as useRealtimeQuery, ae as useResolveFeedback, E as useSearchQuery, D as useServerAvailability, l as useStorageQueueContext, f as useStorageSource, ab as useSubmitFeedback, e as useToastError, a1 as useUploadChangelogMedia, V as useUpsertChangelog, X as useUpsertChangelogEntry, $ as useUpsertChangelogMedia } from './useResolveFeedback-
|
|
3
|
+
import { u as useDbAdvanceFilterQuery, Q as QueryState } from './index-CFUuTzXO.js';
|
|
4
|
+
export { r as BackendSelectionResult, B as BooleanOperator, k as ClarificationSuggestion, C as CombinedProviderStatus, j as ComputedSortConfig, n as DataLayerWithPowerSyncProps, D as DbChangeLog, E as EnhancedSyncControl, a as EnhancedSyncStatus, d as FilterConditionType, m as FilterContextType, g as FilterInput, h as FilterState, H as HasPowerSyncConfig, O as OrderColumn, P as PowerSyncEnabledConfig, b as PowerSyncEnabledContextValue, q as PowerSyncTables, U as UseDataLayerWithPowerSync, p as UseSyncControlWithPowerSync, o as UseSyncStatusWithPowerSync, V as ValueOrArrayForPropertyType, c as createCombinedStatus, s as normalizeFilter } from './index-CFUuTzXO.js';
|
|
5
|
+
export { y as AIOptions, z as AIResponse, P as AlertProps, A as AttachmentQueueProvider, I as BUCKETS, J as BucketName, H as CustomPageQueryResult, L as DEFAULT_QUERY_TIMEOUT, a9 as FeedbackListItem, aa as FeedbackListParams, Q as LiveChangeContext, R as LiveChangeContextProvider, C as ServerAvailabilityState, k as StorageQueueContext, m as StorageQueueContextValue, S as StorageQueueProvider, j as StorageQueueProviderProps, ac as SubmitFeedbackParams, v as SupabaseAdapter, T as TIMEOUT_ERROR_MESSAGE, F as UpdateOptions, U as UseAutosaveOptions, d as UseAutosaveResult, af as UseDbPartialQueryResult, N as UseDbRealtimeQueryResult, q as UseMutationSuccessOptions, h as UseStorageSourceOptions, i as UseStorageSourceResult, O as convertFilterToRealtimeQuery, K as createInCondition, w as createSupabaseAdapter, G as executeAdvanceQuery, x as getErrorBody, g as getStorageUrl, p as getSupabaseUrl, M as isTimeoutError, n as newTimeActivity, s as setSupabaseUrl, B as useAI, ad as useApplyFeedback, c as useAutosave, b as useAutosaveState, a4 as useChangelogById, a5 as useChangelogBySlug, a6 as useChangelogEntries, a7 as useChangelogMedia, a2 as useChangelogs, ag as useDbPartialQuery, o as useDbRealtimeQuery, W as useDeleteChangelog, Z as useDeleteChangelogEntry, a0 as useDeleteChangelogMedia, a8 as useFeedbackList, a as useLatestOperationLog, u as useLiveChangeTracking, _ as useMultiDeleteChangelogEntries, Y as useMultiUpsertChangelogEntries, r as useMutationSuccess, t as useMutationSuccessRN, a3 as usePublishedChangelogs, o as useRealtimeQuery, ae as useResolveFeedback, E as useSearchQuery, D as useServerAvailability, l as useStorageQueueContext, f as useStorageSource, ab as useSubmitFeedback, e as useToastError, a1 as useUploadChangelogMedia, V as useUpsertChangelog, X as useUpsertChangelogEntry, $ as useUpsertChangelogMedia } from './useResolveFeedback-CuUkdHoR.js';
|
|
6
6
|
import * as _tanstack_react_query from '@tanstack/react-query';
|
|
7
7
|
import { UseInfiniteQueryOptions, InfiniteData, UseQueryOptions, QueryClient } from '@tanstack/react-query';
|
|
8
8
|
import { D as Database } from './useSupabase-DSZNeXnF.js';
|
|
@@ -14,14 +14,15 @@ export { F as Fetch, i as GenericFunction, g as GenericNonUpdatableView, f as Ge
|
|
|
14
14
|
import { PostgrestSingleResponse, RealtimePostgresChangesPayload, SupabaseClient } from '@supabase/supabase-js';
|
|
15
15
|
import { useInsertMutation, useUpdateMutation } from '@supabase-cache-helpers/postgrest-react-query';
|
|
16
16
|
export { U as UseDbQuerySingleReturn, u as useDbQuery } from './useDbQuery-C-TL8jY1.js';
|
|
17
|
-
export { C as ClarificationQuestion, D as DatabaseTypes, F as Filter, x as FilterGroup, y as FilterOperator, z as Pagination, P as PublicTableNames, Q as QueryState, R as ResolveRowType, S as SchemaNames, m as SchemaTableNames, A as Sort, T as TableIdentifier, U as UseAdvanceQueryOptions, n as UseAdvanceQueryResult, o as UseDbCountOptions, p as UseDbCountResult, K as UseDbDeleteOptions, L as UseDbDeleteResult, q as UseDbInfiniteQueryOptions, r as UseDbInfiniteQueryResult, B as UseDbInsertOptions, E as UseDbInsertResult, v as UseDbQueryByIdOptions, w as UseDbQueryByIdResult, s as UseDbQueryOptions, t as UseDbQueryResult, G as UseDbUpdateOptions, H as UseDbUpdateResult, I as UseDbUpsertOptions, J as UseDbUpsertResult, u as useAdvanceQuery, a as useDataLayer, c as useDataLayerOptional, e as useDbCount, e as useDbCountV3, f as useDbDeleteV3, g as useDbInfiniteQueryV3, h as useDbInsertV3, j as useDbQueryById, i as useDbQueryV3, k as useDbUpdateV3, l as useDbUpsert, l as useDbUpsertV3, l as useUpsert } from './useDbCount-
|
|
17
|
+
export { C as ClarificationQuestion, D as DatabaseTypes, F as Filter, x as FilterGroup, y as FilterOperator, z as Pagination, P as PublicTableNames, Q as QueryState, R as ResolveRowType, S as SchemaNames, m as SchemaTableNames, A as Sort, T as TableIdentifier, U as UseAdvanceQueryOptions, n as UseAdvanceQueryResult, o as UseDbCountOptions, p as UseDbCountResult, K as UseDbDeleteOptions, L as UseDbDeleteResult, q as UseDbInfiniteQueryOptions, r as UseDbInfiniteQueryResult, B as UseDbInsertOptions, E as UseDbInsertResult, v as UseDbQueryByIdOptions, w as UseDbQueryByIdResult, s as UseDbQueryOptions, t as UseDbQueryResult, G as UseDbUpdateOptions, H as UseDbUpdateResult, I as UseDbUpsertOptions, J as UseDbUpsertResult, u as useAdvanceQuery, a as useDataLayer, c as useDataLayerOptional, e as useDbCount, e as useDbCountV3, f as useDbDeleteV3, g as useDbInfiniteQueryV3, h as useDbInsertV3, j as useDbQueryById, i as useDbQueryV3, k as useDbUpdateV3, l as useDbUpsert, l as useDbUpsertV3, l as useUpsert } from './useDbCount-Ckb-FhZk.js';
|
|
18
18
|
import { DataLayerConfig } from './core/index.js';
|
|
19
|
-
export { AdapterRegistry as AdapterRegistryInterface, AutoStrategy, BuiltQuery, CachedStrategy, ColumnInfo, ColumnType, ConnectionConfig, DataAdapter, DataLayerHooks, DatabaseSchema, DeleteMutationResult, ExtractInsert, ExtractRow, ExtractUpdate, HybridStrategy, MutationHookResult, MutationResult, OrderBy, ParsedSelect, PowerSyncStrategy, QueryOptions, QueryResult, QuerySingleResult, RelationshipInfo, RelationshipType, ResolvedRelationship, ScopeDefinition, SelectColumn, SelectRelation, SupabaseStrategy, SyncControl, SyncSchedule, SyncScope, SyncStatus, TableNames, TableSchema, TableStrategy, UseDbMutationHook, UseDbQueryByIdHook, UseDbQueryHook, WhereClause, WhereOperators } from './core/index.js';
|
|
19
|
+
export { AdapterRegistry as AdapterRegistryInterface, AutoStrategy, BuiltQuery, CachedStrategy, ColumnInfo, ColumnType, ConnectionConfig, DataAdapter, DataLayerHooks, DatabaseSchema, DeleteMutationResult, ExplicitFkSpec, ExtractInsert, ExtractRow, ExtractUpdate, HybridStrategy, MutationHookResult, MutationResult, OrderBy, ParsedSelect, PowerSyncStrategy, QueryOptions, QueryResult, QuerySingleResult, RelationshipInfo, RelationshipType, ResolvedRelationship, ScopeDefinition, SelectColumn, SelectRelation, SupabaseStrategy, SyncControl, SyncSchedule, SyncScope, SyncStatus, TableNames, TableSchema, TableStrategy, UseDbMutationHook, UseDbQueryByIdHook, UseDbQueryHook, WhereClause, WhereOperators } from './core/index.js';
|
|
20
20
|
export { u as useBatchDelete, a as useBatchUpsert } from './useBatchUpsert-DAkiCNo3.js';
|
|
21
|
-
export {
|
|
22
|
-
export { P as PowerSyncDatabase, Q as QueryExecutor, e as RelationJoinData, R as RelationshipResolver, b as ResultJoiner, S as SQLBuilder, f as createQueryExecutor, c as createRelationshipResolver, d as createResultJoiner, a as createSQLBuilder } from './executor-
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
export { E as ExtractedExplicitFk, e as extractColumnNames, d as extractExplicitFkRelations, f as extractExplicitFkTables, a as extractRelationNames, g as getRelationSelect, b as hasExplicitFk, h as hasRelation, p as parseSelect, c as selectHasExplicitFkSyntax, s as stringifySelect, t as tokenizeTopLevel } from './select-parser-BAV7fOaM.js';
|
|
22
|
+
export { P as PowerSyncDatabase, Q as QueryExecutor, e as RelationJoinData, R as RelationshipResolver, b as ResultJoiner, S as SQLBuilder, f as createQueryExecutor, c as createRelationshipResolver, d as createResultJoiner, a as createSQLBuilder } from './executor-D15yjeMo.js';
|
|
23
|
+
export { UsePartialAdvancedQueryResult, UsePartialQueryResult, UseQuerySingleReturn, useAdvancedFilterQuery, useAdvancedQuery, useInfiniteQuery, usePartialAdvancedQuery, usePartialQuery, useQuery } from './query/index.js';
|
|
24
|
+
import { r as DataLayerContextValue } from './DataLayerContext-BYZtDD0g.js';
|
|
25
|
+
export { f as ADAPTER_STRATEGIES, i as AdapterAutoDetector, c as AdapterCapabilities, a as AdapterConfig, d as AdapterDependencies, b as AdapterFactory, A as AdapterQueryResult, g as AdapterRegistry, e as AdapterStrategyType, k as AutoDetectionResult, l as AutoDetectorOptions, m as BackendChangeListener, B as BackendStatus, C as CapableDataAdapter, D as DataLayerContext, u as DataLayerStatus, T as TableDataAdapter, j as createAdapterAutoDetector, h as createAdapterRegistry } from './DataLayerContext-BYZtDD0g.js';
|
|
25
26
|
import { ReactNode, JSX } from 'react';
|
|
26
27
|
export { B as BatchAnalysisProgress, E as ExtractedReceipt, P as PendingExpense, a as useReceiptAI, u as useSupabaseFunction } from './useReceiptAI-6HkRpRml.js';
|
|
27
28
|
export { e as UserMetadataContextProvider, c as UserMetadataContextType, a as UserMetadataInsert, U as UserMetadataRow, b as UserMetadataUpdate, u as useLiveChangesIndicator, h as useSetUserMetadata, f as useUserMetadata, i as useUserMetadataState, g as useUserMetadataValue, d as userMetadataContext } from './UserMetadataContext-pQb3A8_Q.js';
|