@spooky-sync/client-solid 0.0.1-canary.27 → 0.0.1-canary.271
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/AGENTS.md +70 -0
- package/README.md +20 -0
- package/dist/index.cjs +682 -158
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +393 -22
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +393 -22
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +673 -160
- package/dist/index.js.map +1 -1
- package/package.json +7 -6
- package/skills/{spooky-solid → sp00ky-solid}/SKILL.md +85 -14
- package/skills/{spooky-solid → sp00ky-solid}/references/file-hooks.md +34 -5
- package/src/cache/index.ts +1 -1
- package/src/cache/surrealdb-wasm-factory.ts +4 -1
- package/src/index.ts +193 -61
- package/src/lib/Blurhash.ts +54 -0
- package/src/lib/BucketImage.ts +141 -0
- package/src/lib/Sp00kyProvider.ts +104 -0
- package/src/lib/context.ts +3 -3
- package/src/lib/create-preload.ts +112 -0
- package/src/lib/models.ts +1 -1
- package/src/lib/use-app-release.ts +89 -0
- package/src/lib/use-blurhash.ts +77 -0
- package/src/lib/use-bucket-image.ts +100 -0
- package/src/lib/use-crdt-field.ts +68 -0
- package/src/lib/use-download-file.ts +66 -110
- package/src/lib/use-feature-flag.ts +50 -0
- package/src/lib/use-file-upload.ts +10 -4
- package/src/lib/use-impersonation.ts +44 -0
- package/src/lib/use-query.ts +168 -28
- package/src/lib/use-storage-status.ts +44 -0
- package/src/lib/use-sync-status.ts +64 -0
- package/src/types/index.ts +3 -4
- package/src/lib/SpookyProvider.ts +0 -55
package/dist/index.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { RecordId, RecordId as RecordId$1, Surreal, Uuid } from "surrealdb";
|
|
2
2
|
import { GenericModel, GenericSchema, SchemaStructure } from "@spooky/query-builder";
|
|
3
|
-
import { AuthService, BucketHandle, RunOptions,
|
|
3
|
+
import { AppReleaseOptions, AuthService, BucketHandle, BucketPutOptions, BucketPutResult, ConnectionState, ConnectionState as ConnectionState$1, CrdtField, FeatureFlagOptions, ImpersonationInfo, PreloadOptions, PreloadOptions as PreloadOptions$1, PreloadRefresh, ReconnectConfig, RunOptions, Sp00kyClient, Sp00kyConfig, Sp00kyQueryResultPromise, StorageHealth, StorageHealth as StorageHealth$1, StorageHealthStatus, StorageHealthStatus as StorageHealthStatus$1, SyncHealth, SyncHealth as SyncHealth$1, SyncHealthConfig, SyncHealthStatus, SyncHealthStatus as SyncHealthStatus$1, UpdateOptions } from "@spooky-sync/core";
|
|
4
4
|
import { BackendNames, BackendRoutes, BucketDefinitionSchema, BucketNames, ColumnSchema, FinalQuery, GetCardinality, GetRelationship, GetTable, GetTable as GetTable$1, InferRelatedModelFromMetadata, InnerQuery, QueryBuilder, QueryInfo, QueryModifier, QueryModifierBuilder, QueryResult, QueryResult as QueryResult$1, RelatedFieldMapEntry, RelatedFieldsMap, RelationshipDefinition, RelationshipFieldsFromSchema, RelationshipsMetadata, RoutePayload, SchemaStructure as SchemaStructure$1, TableModel, TableModel as TableModel$1, TableNames, TableNames as TableNames$1 } from "@spooky-sync/query-builder";
|
|
5
5
|
import { Accessor, JSX } from "solid-js";
|
|
6
6
|
|
|
@@ -37,14 +37,22 @@ type InferRelationshipsFromConst<S extends SchemaStructure$1, Schema extends Gen
|
|
|
37
37
|
cardinality: Rel['cardinality'];
|
|
38
38
|
} } };
|
|
39
39
|
type Prettify<T> = { [K in keyof T]: T[K] } & {};
|
|
40
|
-
type SyncedDbConfig<S extends SchemaStructure$1> = Prettify<
|
|
40
|
+
type SyncedDbConfig<S extends SchemaStructure$1> = Prettify<Sp00kyConfig<S>>;
|
|
41
41
|
//#endregion
|
|
42
42
|
//#region src/lib/use-query.d.ts
|
|
43
43
|
type QueryArg<S extends SchemaStructure$1, TableName extends TableNames$1<S>, T extends {
|
|
44
44
|
columns: Record<string, ColumnSchema>;
|
|
45
|
-
}, RelatedFields extends Record<string, any>, IsOne extends boolean> = FinalQuery<S, TableName, T, RelatedFields, IsOne,
|
|
45
|
+
}, RelatedFields extends Record<string, any>, IsOne extends boolean> = FinalQuery<S, TableName, T, RelatedFields, IsOne, Sp00kyQueryResultPromise> | (() => FinalQuery<S, TableName, T, RelatedFields, IsOne, Sp00kyQueryResultPromise> | null | undefined);
|
|
46
46
|
type QueryOptions = {
|
|
47
47
|
enabled?: () => boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Tear down the query (remote `_00_query` view + local WASM view) when this
|
|
50
|
+
* hook is disposed and no other subscriber remains, instead of keeping it
|
|
51
|
+
* resident for cheap re-subscription. Use for viewport-windowed lists that
|
|
52
|
+
* mount/unmount a query per scroll window and want off-screen windows
|
|
53
|
+
* cancelled. Trade-off: scrolling back to a torn-down window re-registers it.
|
|
54
|
+
*/
|
|
55
|
+
deregisterOnCleanup?: boolean;
|
|
48
56
|
};
|
|
49
57
|
declare function useQuery<S extends SchemaStructure$1, TableName extends TableNames$1<S>, T extends {
|
|
50
58
|
columns: Record<string, ColumnSchema>;
|
|
@@ -52,6 +60,8 @@ declare function useQuery<S extends SchemaStructure$1, TableName extends TableNa
|
|
|
52
60
|
data: () => TData | undefined;
|
|
53
61
|
error: () => Error | undefined;
|
|
54
62
|
isLoading: () => boolean;
|
|
63
|
+
isFetching: () => boolean;
|
|
64
|
+
isSettled: () => boolean;
|
|
55
65
|
};
|
|
56
66
|
declare function useQuery<S extends SchemaStructure$1, TableName extends TableNames$1<S>, T extends {
|
|
57
67
|
columns: Record<string, ColumnSchema>;
|
|
@@ -59,14 +69,196 @@ declare function useQuery<S extends SchemaStructure$1, TableName extends TableNa
|
|
|
59
69
|
data: () => TData | undefined;
|
|
60
70
|
error: () => Error | undefined;
|
|
61
71
|
isLoading: () => boolean;
|
|
72
|
+
isFetching: () => boolean;
|
|
73
|
+
isSettled: () => boolean;
|
|
74
|
+
};
|
|
75
|
+
//#endregion
|
|
76
|
+
//#region src/lib/create-preload.d.ts
|
|
77
|
+
type PreloadArg<S extends SchemaStructure$1, TableName extends TableNames$1<S>, T extends {
|
|
78
|
+
columns: Record<string, ColumnSchema>;
|
|
79
|
+
}, RelatedFields extends Record<string, any>, IsOne extends boolean> = FinalQuery<S, TableName, T, RelatedFields, IsOne, Sp00kyQueryResultPromise> | (() => FinalQuery<S, TableName, T, RelatedFields, IsOne, Sp00kyQueryResultPromise> | null | undefined);
|
|
80
|
+
type PreloadOptions$2 = PreloadOptions$1 & {
|
|
81
|
+
/** Only preload while this returns true (defaults to always). */
|
|
82
|
+
enabled?: () => boolean;
|
|
62
83
|
};
|
|
84
|
+
declare function createPreload<S extends SchemaStructure$1, TableName extends TableNames$1<S>, T extends {
|
|
85
|
+
columns: Record<string, ColumnSchema>;
|
|
86
|
+
}, RelatedFields extends Record<string, any>, IsOne extends boolean>(finalQuery: PreloadArg<S, TableName, T, RelatedFields, IsOne>, options?: PreloadOptions$2): void;
|
|
87
|
+
declare function createPreload<S extends SchemaStructure$1, TableName extends TableNames$1<S>, T extends {
|
|
88
|
+
columns: Record<string, ColumnSchema>;
|
|
89
|
+
}, RelatedFields extends Record<string, any>, IsOne extends boolean>(db: SyncedDb<S>, finalQuery: PreloadArg<S, TableName, T, RelatedFields, IsOne>, options?: PreloadOptions$2): void;
|
|
90
|
+
//#endregion
|
|
91
|
+
//#region src/lib/use-sync-status.d.ts
|
|
92
|
+
interface UseSyncStatus {
|
|
93
|
+
/** Full health snapshot; updates reactively on every transition. */
|
|
94
|
+
health: Accessor<SyncHealth$1>;
|
|
95
|
+
/** `'healthy'` | `'degraded'`. */
|
|
96
|
+
status: Accessor<SyncHealthStatus$1>;
|
|
97
|
+
isHealthy: Accessor<boolean>;
|
|
98
|
+
/** `true` once sync has failed for a sustained run — drive a banner off this. */
|
|
99
|
+
isDegraded: Accessor<boolean>;
|
|
100
|
+
/** `true` once at least one sync round has succeeded this session. */
|
|
101
|
+
everConnected: Accessor<boolean>;
|
|
102
|
+
/**
|
|
103
|
+
* `true` only for a real lost connection: degraded AFTER a first successful
|
|
104
|
+
* sync. Stays `false` during the initial "connecting" phase (degraded but
|
|
105
|
+
* never reached the server yet), so an indicator can show nothing until the
|
|
106
|
+
* app has actually connected once.
|
|
107
|
+
*/
|
|
108
|
+
isOffline: Accessor<boolean>;
|
|
109
|
+
/**
|
|
110
|
+
* Transport state of the remote WebSocket. Flips the instant the socket
|
|
111
|
+
* drops, unlike `status`, which only degrades after a sustained run of failed
|
|
112
|
+
* sync rounds — so this is what to drive a "reconnecting…" affordance off.
|
|
113
|
+
*/
|
|
114
|
+
connection: Accessor<ConnectionState$1>;
|
|
115
|
+
/**
|
|
116
|
+
* `true` while the connection is being re-established. Usually still
|
|
117
|
+
* `isHealthy()`: a short reconnect is invisible to sync, and writes made
|
|
118
|
+
* during it are queued locally and pushed once the socket is back.
|
|
119
|
+
*/
|
|
120
|
+
isReconnecting: Accessor<boolean>;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Observe sync health for a "can't reach the server" banner / indicator.
|
|
124
|
+
*
|
|
125
|
+
* Backed by `db.subscribeToSyncHealth`. Individual sync failures (a transient
|
|
126
|
+
* remote 500 on query registration, a dropped socket) are absorbed by the
|
|
127
|
+
* retry and never flip this; `isDegraded()` only goes true once failures
|
|
128
|
+
* persist for the configured number of consecutive rounds (sp00ky core config
|
|
129
|
+
* `syncHealth.degradeAfterConsecutiveFailures`, default 3), and flips back on
|
|
130
|
+
* the next successful round. Must be used within a `<Sp00kyProvider>`.
|
|
131
|
+
*/
|
|
132
|
+
declare function useSyncStatus(): UseSyncStatus;
|
|
133
|
+
//# sourceMappingURL=use-sync-status.d.ts.map
|
|
134
|
+
//#endregion
|
|
135
|
+
//#region src/lib/use-impersonation.d.ts
|
|
136
|
+
interface UseImpersonationOptions {
|
|
137
|
+
/**
|
|
138
|
+
* This component renders the app's own impersonation banner. Required with
|
|
139
|
+
* `impersonationBanner: { mode: 'custom' }`: it acknowledges the banner, so
|
|
140
|
+
* the client does not fall back to its built-in one.
|
|
141
|
+
*/
|
|
142
|
+
rendersBanner?: boolean;
|
|
143
|
+
}
|
|
144
|
+
interface UseImpersonation {
|
|
145
|
+
/** The active impersonation, or `null`. */
|
|
146
|
+
impersonation: Accessor<ImpersonationInfo | null>;
|
|
147
|
+
isImpersonating: Accessor<boolean>;
|
|
148
|
+
/** Return to the admin session. */
|
|
149
|
+
stop: () => Promise<void>;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Observe admin impersonation (started from the DevTools). The client already
|
|
153
|
+
* shows its own warning bar with a Stop button; use this for anything extra,
|
|
154
|
+
* such as hiding actions an admin should not take on someone's behalf.
|
|
155
|
+
* Must be used within a `<Sp00kyProvider>`.
|
|
156
|
+
*/
|
|
157
|
+
declare function useImpersonation(options?: UseImpersonationOptions): UseImpersonation;
|
|
158
|
+
//# sourceMappingURL=use-impersonation.d.ts.map
|
|
159
|
+
//#endregion
|
|
160
|
+
//#region src/lib/use-storage-status.d.ts
|
|
161
|
+
interface UseStorageStatus {
|
|
162
|
+
/** Full durability snapshot; updates reactively. */
|
|
163
|
+
health: Accessor<StorageHealth$1>;
|
|
164
|
+
/** `'unknown'` | `'persistent'` | `'memory'`. */
|
|
165
|
+
status: Accessor<StorageHealthStatus$1>;
|
|
166
|
+
/** `true` when the local store survives a reload. */
|
|
167
|
+
isPersistent: Accessor<boolean>;
|
|
168
|
+
/**
|
|
169
|
+
* `true` only when durable storage was requested and could NOT be opened, so
|
|
170
|
+
* the dataset is sitting in RAM and local writes die on reload. Drive a
|
|
171
|
+
* warning off this, not off `status`: a store configured as in-memory reports
|
|
172
|
+
* `'memory'` too, and that is a choice rather than a problem.
|
|
173
|
+
*/
|
|
174
|
+
isMemoryFallback: Accessor<boolean>;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Observe how durable the LOCAL cache is, for a "no local storage" warning.
|
|
178
|
+
*
|
|
179
|
+
* Under `localEngine: 'sqlite'` with `store: 'indexeddb'` the durable store is
|
|
180
|
+
* the OPFS SAHPool VFS, and only ONE client per bucket can hold it open: a
|
|
181
|
+
* second tab of the same app cannot get it and runs in memory instead (the
|
|
182
|
+
* engine retries first, so a closing tab's lock is usually waited out). Must be
|
|
183
|
+
* used within a `<Sp00kyProvider>`.
|
|
184
|
+
*/
|
|
185
|
+
declare function useStorageStatus(): UseStorageStatus;
|
|
186
|
+
//# sourceMappingURL=use-storage-status.d.ts.map
|
|
187
|
+
//#endregion
|
|
188
|
+
//#region src/lib/use-crdt-field.d.ts
|
|
189
|
+
declare function useCrdtField(table: string, recordId: () => string | undefined, field: string, fallbackText?: () => string | undefined): Accessor<CrdtField | null>;
|
|
190
|
+
//# sourceMappingURL=use-crdt-field.d.ts.map
|
|
191
|
+
//#endregion
|
|
192
|
+
//#region src/lib/use-feature-flag.d.ts
|
|
193
|
+
interface UseFeatureFlag {
|
|
194
|
+
variant: Accessor<string | undefined>;
|
|
195
|
+
payload: Accessor<unknown | undefined>;
|
|
196
|
+
enabled: Accessor<boolean>;
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Subscribe to a feature flag for the currently authenticated user.
|
|
200
|
+
*
|
|
201
|
+
* Returns three Solid accessors that update reactively whenever the
|
|
202
|
+
* server-materialized assignment in `_00_user_feature` changes. Backed by
|
|
203
|
+
* the same SSP + sync pipeline that powers `useQuery`, so toggling a flag
|
|
204
|
+
* via `spky flag enable <key>` propagates to the UI without a refresh.
|
|
205
|
+
*
|
|
206
|
+
* `enabled()` is `true` when the resolved variant exists and is not 'off'.
|
|
207
|
+
* For multi-variant flags, prefer `variant()` directly.
|
|
208
|
+
*/
|
|
209
|
+
declare function useFeatureFlag(key: string, options?: FeatureFlagOptions): UseFeatureFlag;
|
|
210
|
+
//# sourceMappingURL=use-feature-flag.d.ts.map
|
|
211
|
+
//#endregion
|
|
212
|
+
//#region src/lib/use-app-release.d.ts
|
|
213
|
+
interface UseAppReleaseOptions extends AppReleaseOptions {
|
|
214
|
+
/** App name from sp00ky.yml, e.g. `web`. */
|
|
215
|
+
app: string;
|
|
216
|
+
/**
|
|
217
|
+
* The running build's version (X.Y.Z), typically baked in at build time
|
|
218
|
+
* (e.g. a vite `define` from package.json). `updateAvailable()` is true when
|
|
219
|
+
* the announced release is semver-newer than this.
|
|
220
|
+
*/
|
|
221
|
+
currentVersion: string;
|
|
222
|
+
}
|
|
223
|
+
interface UseAppRelease {
|
|
224
|
+
/** Latest announced version for the app, or undefined when no row exists. */
|
|
225
|
+
latestVersion: Accessor<string | undefined>;
|
|
226
|
+
/** Announced version is semver-newer than the running build. */
|
|
227
|
+
updateAvailable: Accessor<boolean>;
|
|
228
|
+
/** The newer release asks clients to update/reload without prompting. */
|
|
229
|
+
mandatory: Accessor<boolean>;
|
|
230
|
+
/** The newer release asks reloads to clear service-worker caches first. */
|
|
231
|
+
cacheBust: Accessor<boolean>;
|
|
232
|
+
/**
|
|
233
|
+
* Reload onto the announced release. Plain `location.reload()` normally;
|
|
234
|
+
* when the release is flagged cache-bust, CacheStorage is cleared, the
|
|
235
|
+
* service-worker registration is nudged to update, and navigation carries a
|
|
236
|
+
* `?cb=` token to punch through intermediary caches. The service worker is
|
|
237
|
+
* deliberately NOT unregistered: navigating while still controlled by a
|
|
238
|
+
* just-unregistered worker strands subresource fetches on the dead worker
|
|
239
|
+
* and the page hangs until a manual reload.
|
|
240
|
+
*/
|
|
241
|
+
reload: () => Promise<void>;
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Observe the app's announced release (`_00_app_release:<app>`, written by
|
|
245
|
+
* `spky deploy` / `spky release`) and compare it against the running build.
|
|
246
|
+
*
|
|
247
|
+
* Typical use: mount a small "new version available — Reload" notification
|
|
248
|
+
* gated on `updateAvailable()`, auto-invoking `reload()` when `mandatory()`
|
|
249
|
+
* (guard the auto path against reload loops with a per-version marker, since
|
|
250
|
+
* a client can reload while the deploy is still rolling out and land on the
|
|
251
|
+
* old bundle again).
|
|
252
|
+
*/
|
|
253
|
+
declare function useAppRelease(options: UseAppReleaseOptions): UseAppRelease;
|
|
254
|
+
//# sourceMappingURL=use-app-release.d.ts.map
|
|
63
255
|
//#endregion
|
|
64
256
|
//#region src/lib/use-file-upload.d.ts
|
|
65
257
|
interface FileUploadResult {
|
|
66
258
|
isUploading: () => boolean;
|
|
67
259
|
error: () => Error | null;
|
|
68
260
|
clearError: () => void;
|
|
69
|
-
upload: (path: string, file: File | Blob) => Promise<void>;
|
|
261
|
+
upload: (path: string, file: File | Blob, options?: BucketPutOptions) => Promise<BucketPutResult | void>;
|
|
70
262
|
download: (path: string) => Promise<string | null>;
|
|
71
263
|
remove: (path: string) => Promise<void>;
|
|
72
264
|
exists: (path: string) => Promise<boolean>;
|
|
@@ -77,7 +269,27 @@ declare function useFileUpload<S extends SchemaStructure$1>(db: SyncedDb<S>, buc
|
|
|
77
269
|
//#endregion
|
|
78
270
|
//#region src/lib/use-download-file.d.ts
|
|
79
271
|
interface UseDownloadFileOptions {
|
|
272
|
+
/**
|
|
273
|
+
* Master switch, default `true`. `false` gives every hook instance its own
|
|
274
|
+
* private object URL fetched fresh from the bucket and revoked on unmount —
|
|
275
|
+
* no sharing, no persistence, no reuse.
|
|
276
|
+
*/
|
|
80
277
|
cache?: boolean;
|
|
278
|
+
/**
|
|
279
|
+
* Keep the bytes in OPFS so they survive a reload and are available offline.
|
|
280
|
+
* Default `true`. Turn off for one-shot or sensitive files; the in-tab object
|
|
281
|
+
* URL is still shared between components rendering the same path.
|
|
282
|
+
*/
|
|
283
|
+
persist?: boolean;
|
|
284
|
+
/** Exempt this file from pressure eviction. Pinned bytes never expire. */
|
|
285
|
+
pin?: boolean;
|
|
286
|
+
/**
|
|
287
|
+
* `'never'` (default) treats a bucket path as immutable, which is how paths
|
|
288
|
+
* are written (`crypto.randomUUID() + ext`). `'head'` spends a remote `head()`
|
|
289
|
+
* to compare sizes before trusting the cached copy — for paths the app
|
|
290
|
+
* overwrites in place.
|
|
291
|
+
*/
|
|
292
|
+
revalidate?: 'never' | 'head';
|
|
81
293
|
}
|
|
82
294
|
interface UseDownloadFileResult {
|
|
83
295
|
url: Accessor<string | null>;
|
|
@@ -89,16 +301,138 @@ declare function useDownloadFile<S extends SchemaStructure$1>(bucketName: Bucket
|
|
|
89
301
|
declare function useDownloadFile<S extends SchemaStructure$1>(db: SyncedDb<S>, bucketName: BucketNames<S>, path: Accessor<string | null | undefined>, options?: UseDownloadFileOptions): UseDownloadFileResult;
|
|
90
302
|
//# sourceMappingURL=use-download-file.d.ts.map
|
|
91
303
|
//#endregion
|
|
92
|
-
//#region src/lib/
|
|
93
|
-
interface
|
|
304
|
+
//#region src/lib/use-blurhash.d.ts
|
|
305
|
+
interface UseBlurhashResult {
|
|
306
|
+
/** The stored blurhash for the path, or null while loading / when none exists. */
|
|
307
|
+
hash: Accessor<string | null>;
|
|
308
|
+
isLoading: Accessor<boolean>;
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* The blurhash sidecar for a bucket image (written automatically by
|
|
312
|
+
* `bucket.put`, see `Sp00kyConfig.blurhash`). Resolves from OPFS instantly on
|
|
313
|
+
* warm clients; a miss is remembered per tab. Use this directly when the hash
|
|
314
|
+
* belongs to a different rendition than the displayed image; otherwise
|
|
315
|
+
* `useBucketImage` / `BucketImage` bundle it with the download.
|
|
316
|
+
*/
|
|
317
|
+
declare function useBlurhash<S extends SchemaStructure$1>(bucketName: BucketNames<S>, path: Accessor<string | null | undefined>): UseBlurhashResult;
|
|
318
|
+
declare function useBlurhash<S extends SchemaStructure$1>(db: SyncedDb<S>, bucketName: BucketNames<S>, path: Accessor<string | null | undefined>): UseBlurhashResult;
|
|
319
|
+
//# sourceMappingURL=use-blurhash.d.ts.map
|
|
320
|
+
//#endregion
|
|
321
|
+
//#region src/lib/use-bucket-image.d.ts
|
|
322
|
+
interface UseBucketImageOptions extends UseDownloadFileOptions {
|
|
323
|
+
/**
|
|
324
|
+
* Also resolve the image's blurhash sidecar (see `Sp00kyConfig.blurhash`).
|
|
325
|
+
* Default `true`; the read is registered before the image bytes so the tiny
|
|
326
|
+
* sidecar tends to land first on the serialized remote chain.
|
|
327
|
+
*/
|
|
328
|
+
blurhash?: boolean;
|
|
329
|
+
}
|
|
330
|
+
interface UseBucketImageResult extends UseDownloadFileResult {
|
|
331
|
+
/** Blurhash for the same path, or null (off, missing, still loading). */
|
|
332
|
+
blurhash: Accessor<string | null>;
|
|
333
|
+
/** True once the current `url()` has been decoded and is safe to paint. */
|
|
334
|
+
ready: Accessor<boolean>;
|
|
335
|
+
/**
|
|
336
|
+
* Ref callback for the `<img>` rendering `url()`: flips `ready` when the
|
|
337
|
+
* bitmap is decoded (resolves on failure too, so a broken blob degrades to
|
|
338
|
+
* paint-on-load instead of hiding the image forever). Re-arms itself when
|
|
339
|
+
* the url changes.
|
|
340
|
+
*/
|
|
341
|
+
gate: (img: HTMLImageElement) => void;
|
|
342
|
+
}
|
|
343
|
+
/**
|
|
344
|
+
* Everything needed to render a bucket image without a pop-in: the refcounted
|
|
345
|
+
* object URL, the blurhash placeholder, and a decode gate so the real bitmap
|
|
346
|
+
* is only revealed once it can paint in full. `BucketImage` wraps this into a
|
|
347
|
+
* drop-in component; use the hook for custom markup.
|
|
348
|
+
*/
|
|
349
|
+
declare function useBucketImage<S extends SchemaStructure$1>(bucketName: BucketNames<S>, path: Accessor<string | null | undefined>, options?: UseBucketImageOptions): UseBucketImageResult;
|
|
350
|
+
declare function useBucketImage<S extends SchemaStructure$1>(db: SyncedDb<S>, bucketName: BucketNames<S>, path: Accessor<string | null | undefined>, options?: UseBucketImageOptions): UseBucketImageResult;
|
|
351
|
+
//# sourceMappingURL=use-bucket-image.d.ts.map
|
|
352
|
+
//#endregion
|
|
353
|
+
//#region src/lib/Blurhash.d.ts
|
|
354
|
+
interface BlurhashProps {
|
|
355
|
+
/** The blurhash string. Nullish paints nothing (transparent canvas). */
|
|
356
|
+
hash: string | null | undefined;
|
|
357
|
+
/** Decode resolution. 32x32 is plenty: blurhash carries at most 9x9 DCT
|
|
358
|
+
* components, the canvas is meant to be CSS-scaled to fill. */
|
|
359
|
+
width?: number;
|
|
360
|
+
height?: number;
|
|
361
|
+
/** Contrast punch, see the blurhash reference decoder. Defaults to 1. */
|
|
362
|
+
punch?: number;
|
|
363
|
+
class?: string;
|
|
364
|
+
style?: string;
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* A blurhash painted onto a canvas, once per hash change. Size the canvas via
|
|
368
|
+
* `class`/`style` (e.g. `absolute inset-0 w-full h-full`); the internal decode
|
|
369
|
+
* resolution stays tiny regardless of the displayed size.
|
|
370
|
+
*/
|
|
371
|
+
declare function Blurhash(props: BlurhashProps): JSX.Element;
|
|
372
|
+
//# sourceMappingURL=Blurhash.d.ts.map
|
|
373
|
+
//#endregion
|
|
374
|
+
//#region src/lib/BucketImage.d.ts
|
|
375
|
+
interface BucketImageProps {
|
|
376
|
+
/** Bucket name from the schema. */
|
|
377
|
+
bucket: string;
|
|
378
|
+
/** Path within the bucket. Nullish renders only the fallback layers. */
|
|
379
|
+
path: string | null | undefined;
|
|
380
|
+
alt?: string;
|
|
381
|
+
/** Classes for the container element (sizing/positioning). */
|
|
382
|
+
class?: string;
|
|
383
|
+
/** Classes for the inner `<img>` (the layout styles are inline). */
|
|
384
|
+
imgClass?: string;
|
|
385
|
+
/** `object-fit` for the image. Defaults to `cover`. */
|
|
386
|
+
fit?: 'cover' | 'contain' | 'fill' | 'none' | 'scale-down';
|
|
387
|
+
/**
|
|
388
|
+
* Bottom placeholder layer (your own plate/skeleton), shown until the image
|
|
389
|
+
* settles. The blurhash layer paints on top of it once the sidecar resolves.
|
|
390
|
+
*/
|
|
391
|
+
fallback?: JSX.Element;
|
|
392
|
+
/** Crossfade duration in ms. Defaults to 300. */
|
|
393
|
+
transition?: number;
|
|
394
|
+
/** Crossfade easing. Defaults to an ease-out-expo curve. */
|
|
395
|
+
easing?: string;
|
|
396
|
+
/** Resolve the blurhash sidecar. Defaults to true. */
|
|
397
|
+
blurhash?: boolean;
|
|
398
|
+
/** Download tuning, forwarded to the underlying `useDownloadFile`. */
|
|
399
|
+
options?: UseBucketImageOptions;
|
|
400
|
+
}
|
|
401
|
+
/**
|
|
402
|
+
* A bucket image that never pops in: it layers (bottom to top) your `fallback`
|
|
403
|
+
* plate, the automatically stored blurhash, and the real image, which stays
|
|
404
|
+
* transparent until the bitmap is DECODED and then crossfades over the
|
|
405
|
+
* placeholders. Placeholder layers unmount once the fade settles. Respects
|
|
406
|
+
* prefers-reduced-motion (instant swap). The container is made
|
|
407
|
+
* `position: relative` unless your `class` positions it already.
|
|
408
|
+
*
|
|
409
|
+
* ```tsx
|
|
410
|
+
* <BucketImage bucket="covers" path={row.cover_key} class="absolute inset-0"
|
|
411
|
+
* fallback={<MyPlate />} alt="" />
|
|
412
|
+
* ```
|
|
413
|
+
*/
|
|
414
|
+
declare function BucketImage(props: BucketImageProps): JSX.Element;
|
|
415
|
+
//# sourceMappingURL=BucketImage.d.ts.map
|
|
416
|
+
//#endregion
|
|
417
|
+
//#region src/lib/Sp00kyProvider.d.ts
|
|
418
|
+
interface Sp00kyProviderProps<S extends SchemaStructure> {
|
|
94
419
|
config: SyncedDbConfig<S>;
|
|
95
420
|
fallback?: JSX.Element;
|
|
96
421
|
onError?: (error: Error) => void;
|
|
97
422
|
onReady?: (db: SyncedDb<S>) => void;
|
|
423
|
+
/**
|
|
424
|
+
* Prewarm data into the local cache before revealing the UI. Runs after
|
|
425
|
+
* `init()`; the `fallback` stays visible until it resolves. Use awaitable
|
|
426
|
+
* `db.preload(...)` calls here to gate first-load on essential data (e.g.
|
|
427
|
+
* config). On warm loads preload returns instantly, so there's no perceptible
|
|
428
|
+
* gate after the first run. Best-effort: a rejection is caught and the UI is
|
|
429
|
+
* revealed anyway.
|
|
430
|
+
*/
|
|
431
|
+
preload?: (db: SyncedDb<S>) => Promise<void>;
|
|
98
432
|
children: JSX.Element;
|
|
99
433
|
}
|
|
100
|
-
declare function
|
|
101
|
-
//# sourceMappingURL=
|
|
434
|
+
declare function Sp00kyProvider<S extends SchemaStructure>(props: Sp00kyProviderProps<S>): JSX.Element;
|
|
435
|
+
//# sourceMappingURL=Sp00kyProvider.d.ts.map
|
|
102
436
|
//#endregion
|
|
103
437
|
//#region src/lib/context.d.ts
|
|
104
438
|
declare function useDb<S extends SchemaStructure>(): SyncedDb<S>;
|
|
@@ -106,13 +440,13 @@ declare function useDb<S extends SchemaStructure>(): SyncedDb<S>;
|
|
|
106
440
|
|
|
107
441
|
//#endregion
|
|
108
442
|
//#region src/index.d.ts
|
|
109
|
-
type RelationshipField<Schema extends SchemaStructure$1, TableName extends TableNames
|
|
110
|
-
type RelatedFieldsTableScoped<Schema extends SchemaStructure$1, TableName extends TableNames
|
|
443
|
+
type RelationshipField<Schema extends SchemaStructure$1, TableName extends TableNames<Schema>, Field extends RelationshipFieldsFromSchema<Schema, TableName>> = GetRelationship<Schema, TableName, Field>;
|
|
444
|
+
type RelatedFieldsTableScoped<Schema extends SchemaStructure$1, TableName extends TableNames<Schema>, RelatedFields extends RelationshipFieldsFromSchema<Schema, TableName> = RelationshipFieldsFromSchema<Schema, TableName>> = { [K in RelatedFields]: {
|
|
111
445
|
to: RelationshipField<Schema, TableName, K>['to'];
|
|
112
446
|
relatedFields: RelatedFieldsMap;
|
|
113
447
|
cardinality: RelationshipField<Schema, TableName, K>['cardinality'];
|
|
114
448
|
} };
|
|
115
|
-
type InferModel<Schema extends SchemaStructure$1, TableName extends TableNames
|
|
449
|
+
type InferModel<Schema extends SchemaStructure$1, TableName extends TableNames<Schema>, RelatedFields extends RelatedFieldsTableScoped<Schema, TableName>> = QueryResult<Schema, TableName, RelatedFields, true>;
|
|
116
450
|
type WithRelated<Field extends string, RelatedFields extends RelatedFieldsMap = {}> = { [K in Field]: Omit<RelatedFieldMapEntry, 'relatedFields'> & {
|
|
117
451
|
relatedFields: RelatedFields;
|
|
118
452
|
} };
|
|
@@ -122,19 +456,26 @@ type WithRelatedMany<Field extends string, RelatedFields extends RelatedFieldsMa
|
|
|
122
456
|
cardinality: 'many';
|
|
123
457
|
} };
|
|
124
458
|
/**
|
|
125
|
-
* SyncedDb - A thin wrapper around
|
|
126
|
-
* Delegates all logic to the underlying
|
|
459
|
+
* SyncedDb - A thin wrapper around sp00ky-ts for Solid.js integration
|
|
460
|
+
* Delegates all logic to the underlying sp00ky-ts instance
|
|
127
461
|
*/
|
|
128
462
|
declare class SyncedDb<S extends SchemaStructure$1> {
|
|
129
463
|
private config;
|
|
130
|
-
private
|
|
464
|
+
private sp00ky;
|
|
131
465
|
private _initialized;
|
|
132
466
|
constructor(config: SyncedDbConfig<S>);
|
|
133
|
-
|
|
467
|
+
getSp00ky(): Sp00kyClient<S>;
|
|
134
468
|
/**
|
|
135
|
-
* Initialize the
|
|
469
|
+
* Initialize the sp00ky-ts instance
|
|
136
470
|
*/
|
|
137
471
|
init(): Promise<void>;
|
|
472
|
+
/**
|
|
473
|
+
* Tear down the client: leaves the tabs broker, closes the local store and
|
|
474
|
+
* remote socket, and frees the wasm circuit. Without this a remounted provider
|
|
475
|
+
* (or an HMR reload) strands a whole client, and the abandoned wasm heaps stay
|
|
476
|
+
* resident because V8 cannot see how much wasm memory a dropped wrapper holds.
|
|
477
|
+
*/
|
|
478
|
+
close(): Promise<void>;
|
|
138
479
|
/**
|
|
139
480
|
* Create a new record in the database
|
|
140
481
|
*/
|
|
@@ -142,15 +483,21 @@ declare class SyncedDb<S extends SchemaStructure$1> {
|
|
|
142
483
|
/**
|
|
143
484
|
* Update an existing record in the database
|
|
144
485
|
*/
|
|
145
|
-
update<TName extends TableNames
|
|
486
|
+
update<TName extends TableNames<S>>(tableName: TName, recordId: string, payload: Partial<TableModel<GetTable<S, TName>>>, options?: UpdateOptions): Promise<void>;
|
|
146
487
|
/**
|
|
147
488
|
* Delete an existing record in the database
|
|
148
489
|
*/
|
|
149
|
-
delete<TName extends TableNames
|
|
490
|
+
delete<TName extends TableNames<S>>(tableName: TName, selector: string | RecordId | InnerQuery<GetTable<S, TName>, boolean>): Promise<void>;
|
|
491
|
+
/**
|
|
492
|
+
* Preload/prewarm a built query into the local cache without registering a
|
|
493
|
+
* live view. Fetches once and stores the rows (+ embedded related children)
|
|
494
|
+
* locally so a later `useQuery` for the same data paints instantly. Best-effort.
|
|
495
|
+
*/
|
|
496
|
+
preload(finalQuery: FinalQuery<S, any, any, any, any, Sp00kyQueryResultPromise>, options?: PreloadOptions$1): Promise<void>;
|
|
150
497
|
/**
|
|
151
498
|
* Query data from the database
|
|
152
499
|
*/
|
|
153
|
-
query<TName extends TableNames
|
|
500
|
+
query<TName extends TableNames<S>>(table: TName): QueryBuilder<S, TName, Sp00kyQueryResultPromise, {}, false>;
|
|
154
501
|
/**
|
|
155
502
|
* Run a backend operation
|
|
156
503
|
*/
|
|
@@ -164,6 +511,12 @@ declare class SyncedDb<S extends SchemaStructure$1> {
|
|
|
164
511
|
* @deprecated Use signOut() instead
|
|
165
512
|
*/
|
|
166
513
|
deauthenticate(): Promise<void>;
|
|
514
|
+
/**
|
|
515
|
+
* Tell the client that this app's own impersonation banner is on screen.
|
|
516
|
+
* Only needed with `impersonationBanner: { mode: 'custom' }`; the
|
|
517
|
+
* `useImpersonation({ rendersBanner: true })` hook calls it for you.
|
|
518
|
+
*/
|
|
519
|
+
acknowledgeImpersonationBanner(): void;
|
|
167
520
|
/**
|
|
168
521
|
* Sign out, clear session and local storage
|
|
169
522
|
*/
|
|
@@ -175,20 +528,38 @@ declare class SyncedDb<S extends SchemaStructure$1> {
|
|
|
175
528
|
/**
|
|
176
529
|
* Access the remote database service directly
|
|
177
530
|
*/
|
|
178
|
-
get remote():
|
|
531
|
+
get remote(): Sp00kyClient<S>['remoteClient'];
|
|
179
532
|
/**
|
|
180
533
|
* Access the local database service directly
|
|
181
534
|
*/
|
|
182
|
-
get local():
|
|
535
|
+
get local(): Sp00kyClient<S>['localClient'];
|
|
183
536
|
/**
|
|
184
537
|
* Access the auth service
|
|
185
538
|
*/
|
|
186
539
|
get auth(): AuthService<S>;
|
|
187
540
|
get pendingMutationCount(): number;
|
|
541
|
+
/** Diagnostic — see `Sp00kyClient.liveRetryCount`. */
|
|
542
|
+
get liveRetryCount(): number;
|
|
188
543
|
subscribeToPendingMutations(cb: (count: number) => void): () => void;
|
|
544
|
+
/** Current sync-health snapshot. See {@link useSyncStatus}. */
|
|
545
|
+
get syncHealth(): SyncHealth$1;
|
|
546
|
+
/**
|
|
547
|
+
* Observe sync health. Fires immediately with the current status and again
|
|
548
|
+
* on every healthy↔degraded transition. Prefer the `useSyncStatus` hook in
|
|
549
|
+
* components; this is the imperative escape hatch.
|
|
550
|
+
*/
|
|
551
|
+
subscribeToSyncHealth(cb: (health: SyncHealth$1) => void): () => void;
|
|
552
|
+
/** Current local-store durability snapshot. See {@link useStorageStatus}. */
|
|
553
|
+
get storageHealth(): StorageHealth$1;
|
|
554
|
+
/**
|
|
555
|
+
* Observe local-store durability. Fires immediately with the current snapshot
|
|
556
|
+
* and again on change. Prefer the `useStorageStatus` hook in components; this
|
|
557
|
+
* is the imperative escape hatch.
|
|
558
|
+
*/
|
|
559
|
+
subscribeToStorageHealth(cb: (health: StorageHealth$1) => void): () => void;
|
|
189
560
|
bucket<B extends BucketNames<S>>(name: B): BucketHandle;
|
|
190
561
|
getBucketConfig(name: string): BucketDefinitionSchema | undefined;
|
|
191
562
|
}
|
|
192
563
|
//#endregion
|
|
193
|
-
export { CacheStrategy, type FileUploadResult, type GenericModel, type GenericSchema, type GetCardinality, type GetTable, InferModel, type InferRelatedModelFromMetadata, InferRelationshipsFromConst, InferSchemaFromConst, type Model, type ModelPayload, ProvisionOptions, type QueryInfo, type QueryModifier, type QueryModifierBuilder, type QueryResult, RecordId, RelatedFieldsTableScoped, type RelationshipDefinition, RelationshipField, type RelationshipsMetadata,
|
|
564
|
+
export { Blurhash, type BlurhashProps, BucketImage, type BucketImageProps, CacheStrategy, type ConnectionState, type FileUploadResult, type GenericModel, type GenericSchema, type GetCardinality, type GetTable, InferModel, type InferRelatedModelFromMetadata, InferRelationshipsFromConst, InferSchemaFromConst, type Model, type ModelPayload, type PreloadOptions, type PreloadRefresh, ProvisionOptions, type QueryInfo, type QueryModifier, type QueryModifierBuilder, type QueryResult, type ReconnectConfig, RecordId, RelatedFieldsTableScoped, type RelationshipDefinition, RelationshipField, type RelationshipsMetadata, Sp00kyProvider, type Sp00kyProviderProps, type StorageHealth, type StorageHealthStatus, type SyncHealth, type SyncHealthConfig, type SyncHealthStatus, SyncedDb, SyncedDbConfig, type TableModel, type TableNames, type UseAppRelease, type UseAppReleaseOptions, type UseBlurhashResult, type UseBucketImageOptions, type UseBucketImageResult, type UseDownloadFileOptions, type UseDownloadFileResult, type UseFeatureFlag, type UseImpersonation, type UseImpersonationOptions, type UseStorageStatus, type UseSyncStatus, Uuid, WithRelated, WithRelatedMany, createPreload, useAppRelease, useBlurhash, useBucketImage, useCrdtField, useDb, useDownloadFile, useFeatureFlag, useFileUpload, useImpersonation, useQuery, useStorageStatus, useSyncStatus };
|
|
194
565
|
//# sourceMappingURL=index.d.cts.map
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../../../src/lib/models.ts","../../../src/types/index.ts","../../../src/lib/use-query.ts","../../../src/lib/use-file-upload.ts","../../../src/lib/use-download-file.ts","../../../src/lib/SpookyProvider.ts","../../../src/lib/context.ts","../../../src/index.ts"],"sourcesContent":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../../../src/lib/models.ts","../../../src/types/index.ts","../../../src/lib/use-query.ts","../../../src/lib/create-preload.ts","../../../src/lib/use-sync-status.ts","../../../src/lib/use-impersonation.ts","../../../src/lib/use-storage-status.ts","../../../src/lib/use-crdt-field.ts","../../../src/lib/use-feature-flag.ts","../../../src/lib/use-app-release.ts","../../../src/lib/use-file-upload.ts","../../../src/lib/use-download-file.ts","../../../src/lib/use-blurhash.ts","../../../src/lib/use-bucket-image.ts","../../../src/lib/Blurhash.ts","../../../src/lib/BucketImage.ts","../../../src/lib/Sp00kyProvider.ts","../../../src/lib/context.ts","../../../src/index.ts"],"sourcesContent":[],"mappings":"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,SAAS;;;;;AhBmB1B,KiB8EvB,iBjB9EuB,CAAA,eiB+ElB,iBjB/EkB,EAAA,kBiBgFf,UjBhFe,CiBgFJ,MjBhFI,CAAA,EAAA,ciBiFnB,4BjBjFmB,CiBiFU,MjBjFV,EiBiFkB,SjBjFlB,CAAA,CAAA,GiBkF/B,ejBlF+B,CiBkFf,MjBlFe,EiBkFP,SjBlFO,EiBkFI,KjBlFJ,CAAA;AAAX,KiBoFZ,wBjBpFY,CAAA,eiBqFP,iBjBrFO,EAAA,kBiBsFJ,UjBtFI,CiBsFO,MjBtFP,CAAA,EAAA,sBiBuFA,4BjBvFA,CiBuF6B,MjBvF7B,EiBuFqC,SjBvFrC,CAAA,GiBwFpB,4BjBxFoB,CiBwFS,MjBxFT,EiBwFiB,SjBxFjB,CAAA,CAAA,GAAA,QiB0FhB,ajB1F0B,GAAA;EAOtB,EAAA,EiBoFJ,iBjBpFI,CiBoFc,MjBpFa,EiBoFL,SjBpFK,EiBoFM,CjBpFN,CAAA,CAAA,IAAA,CAAA;EAAA,aAAA,EiBqFpB,gBjBrFoB;EAAW,WAAA,EiBsFjC,iBjBtFiC,CiBsFf,MjBtFe,EiBsFP,SjBtFO,EiBsFI,CjBtFJ,CAAA,CAAA,aAAA,CAAA;;AAClC,KiByFJ,UjBzFI,CAAA,eiB0FC,iBjB1FD,EAAA,kBiB2FI,UjB3FJ,CiB2Fe,MjB3Ff,CAAA,EAAA,sBiB4FQ,wBjB5FR,CiB4FiC,MjB5FjC,EiB4FyC,SjB5FzC,CAAA,CAAA,GiB6FZ,WjB7FY,CiB6FA,MjB7FA,EiB6FQ,SjB7FR,EiB6FmB,ajB7FnB,EAAA,IAAA,CAAA;AACI,KiB8FR,WjB9FQ,CAAA,cAAA,MAAA,EAAA,sBiB8FgD,gBjB9FhD,GAAA,CAAA,CAAA,CAAA,GAAA,QiB+FZ,KjB/FgD,GiB+FxC,IjB/FwC,CiB+FnC,oBjB/FmC,EAAA,eAAA,CAAA,GAAA;EAA5C,aAAA,EiBgGO,ajBhGP;;AACyB,KiBmGzB,ejBnGyB,CAAA,cAAA,MAAA,EAAA,sBiBmGmC,gBjBnGnC,GAAA,CAAA,CAAA,CAAA,GAAA,QiBoG7B,KjBpGsC,GAAA;EAAO,EAAA,EiBqG7C,KjBrG6C;EACxC,aAAA,EiBqGM,ajBrGN;EACM,W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"}
|