syncorejs 0.2.2 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_vendor/cli/app.d.mts.map +1 -1
- package/dist/_vendor/cli/app.mjs +8 -5
- package/dist/_vendor/cli/app.mjs.map +1 -1
- package/dist/_vendor/cli/context.mjs.map +1 -1
- package/dist/_vendor/cli/dev-session.mjs.map +1 -1
- package/dist/_vendor/cli/doctor.mjs.map +1 -1
- package/dist/_vendor/cli/errors.mjs.map +1 -1
- package/dist/_vendor/cli/help.mjs.map +1 -1
- package/dist/_vendor/cli/index.mjs +9 -2
- package/dist/_vendor/cli/index.mjs.map +1 -1
- package/dist/_vendor/cli/messages.mjs.map +1 -1
- package/dist/_vendor/cli/preflight.mjs.map +1 -1
- package/dist/_vendor/cli/project.mjs +20 -20
- package/dist/_vendor/cli/project.mjs.map +1 -1
- package/dist/_vendor/cli/render.mjs.map +1 -1
- package/dist/_vendor/cli/targets.mjs.map +1 -1
- package/dist/_vendor/core/cli.d.mts +8 -2
- package/dist/_vendor/core/cli.d.mts.map +1 -1
- package/dist/_vendor/core/cli.mjs +510 -71
- package/dist/_vendor/core/cli.mjs.map +1 -1
- package/dist/_vendor/core/devtools-auth.mjs.map +1 -1
- package/dist/_vendor/core/index.d.mts +3 -3
- package/dist/_vendor/core/runtime/components.d.mts.map +1 -1
- package/dist/_vendor/core/runtime/components.mjs.map +1 -1
- package/dist/_vendor/core/runtime/devtools.d.mts.map +1 -1
- package/dist/_vendor/core/runtime/devtools.mjs +261 -23
- package/dist/_vendor/core/runtime/devtools.mjs.map +1 -1
- package/dist/_vendor/core/runtime/functions.d.mts +388 -6
- package/dist/_vendor/core/runtime/functions.d.mts.map +1 -1
- package/dist/_vendor/core/runtime/functions.mjs +72 -1
- package/dist/_vendor/core/runtime/functions.mjs.map +1 -1
- package/dist/_vendor/core/runtime/id.d.mts.map +1 -1
- package/dist/_vendor/core/runtime/id.mjs.map +1 -1
- package/dist/_vendor/core/runtime/internal/engines/devtoolsEngine.mjs +12 -6
- package/dist/_vendor/core/runtime/internal/engines/devtoolsEngine.mjs.map +1 -1
- package/dist/_vendor/core/runtime/internal/engines/executionEngine.mjs +123 -20
- package/dist/_vendor/core/runtime/internal/engines/executionEngine.mjs.map +1 -1
- package/dist/_vendor/core/runtime/internal/engines/reactivityEngine.mjs +56 -8
- package/dist/_vendor/core/runtime/internal/engines/reactivityEngine.mjs.map +1 -1
- package/dist/_vendor/core/runtime/internal/engines/schedulerEngine.mjs +49 -14
- package/dist/_vendor/core/runtime/internal/engines/schedulerEngine.mjs.map +1 -1
- package/dist/_vendor/core/runtime/internal/engines/schemaEngine.mjs +4 -7
- package/dist/_vendor/core/runtime/internal/engines/schemaEngine.mjs.map +1 -1
- package/dist/_vendor/core/runtime/internal/engines/shared.mjs +81 -2
- package/dist/_vendor/core/runtime/internal/engines/shared.mjs.map +1 -1
- package/dist/_vendor/core/runtime/internal/engines/storageEngine.mjs +100 -13
- package/dist/_vendor/core/runtime/internal/engines/storageEngine.mjs.map +1 -1
- package/dist/_vendor/core/runtime/internal/runtimeKernel.mjs +42 -7
- package/dist/_vendor/core/runtime/internal/runtimeKernel.mjs.map +1 -1
- package/dist/_vendor/core/runtime/internal/runtimeStatus.mjs.map +1 -1
- package/dist/_vendor/core/runtime/internal/systemMeta.mjs.map +1 -1
- package/dist/_vendor/core/runtime/internal/transactionCoordinator.mjs +4 -0
- package/dist/_vendor/core/runtime/internal/transactionCoordinator.mjs.map +1 -1
- package/dist/_vendor/core/runtime/runtime.d.mts +1100 -12
- package/dist/_vendor/core/runtime/runtime.d.mts.map +1 -1
- package/dist/_vendor/core/runtime/runtime.mjs +63 -0
- package/dist/_vendor/core/runtime/runtime.mjs.map +1 -1
- package/dist/_vendor/core/transport.d.mts +2 -0
- package/dist/_vendor/core/transport.d.mts.map +1 -1
- package/dist/_vendor/core/transport.mjs +61 -27
- package/dist/_vendor/core/transport.mjs.map +1 -1
- package/dist/_vendor/devtools-protocol/index.d.ts +223 -4
- package/dist/_vendor/devtools-protocol/index.d.ts.map +1 -1
- package/dist/_vendor/devtools-protocol/index.js.map +1 -1
- package/dist/_vendor/next/config.d.ts +3 -4
- package/dist/_vendor/next/config.d.ts.map +1 -1
- package/dist/_vendor/next/config.js +37 -19
- package/dist/_vendor/next/config.js.map +1 -1
- package/dist/_vendor/next/index.d.ts +109 -29
- package/dist/_vendor/next/index.d.ts.map +1 -1
- package/dist/_vendor/next/index.js +86 -18
- package/dist/_vendor/next/index.js.map +1 -1
- package/dist/_vendor/platform-expo/index.d.ts +146 -27
- package/dist/_vendor/platform-expo/index.d.ts.map +1 -1
- package/dist/_vendor/platform-expo/index.js +81 -10
- package/dist/_vendor/platform-expo/index.js.map +1 -1
- package/dist/_vendor/platform-expo/react.js.map +1 -1
- package/dist/_vendor/platform-expo/web-sqljs-wasm.js +16 -0
- package/dist/_vendor/platform-expo/web-sqljs-wasm.js.map +1 -0
- package/dist/_vendor/platform-node/index.d.mts +174 -9
- package/dist/_vendor/platform-node/index.d.mts.map +1 -1
- package/dist/_vendor/platform-node/index.mjs +251 -95
- package/dist/_vendor/platform-node/index.mjs.map +1 -1
- package/dist/_vendor/platform-node/ipc-react.mjs +4 -0
- package/dist/_vendor/platform-node/ipc-react.mjs.map +1 -1
- package/dist/_vendor/platform-node/ipc.d.mts.map +1 -1
- package/dist/_vendor/platform-node/ipc.mjs.map +1 -1
- package/dist/_vendor/platform-web/external-change.d.ts +41 -0
- package/dist/_vendor/platform-web/external-change.d.ts.map +1 -1
- package/dist/_vendor/platform-web/external-change.js +30 -0
- package/dist/_vendor/platform-web/external-change.js.map +1 -1
- package/dist/_vendor/platform-web/index.d.ts +312 -37
- package/dist/_vendor/platform-web/index.d.ts.map +1 -1
- package/dist/_vendor/platform-web/index.js +247 -25
- package/dist/_vendor/platform-web/index.js.map +1 -1
- package/dist/_vendor/platform-web/indexeddb.d.ts +12 -0
- package/dist/_vendor/platform-web/indexeddb.d.ts.map +1 -1
- package/dist/_vendor/platform-web/indexeddb.js +10 -0
- package/dist/_vendor/platform-web/indexeddb.js.map +1 -1
- package/dist/_vendor/platform-web/opfs.d.ts +16 -1
- package/dist/_vendor/platform-web/opfs.d.ts.map +1 -1
- package/dist/_vendor/platform-web/opfs.js +41 -3
- package/dist/_vendor/platform-web/opfs.js.map +1 -1
- package/dist/_vendor/platform-web/persistence.d.ts +85 -1
- package/dist/_vendor/platform-web/persistence.d.ts.map +1 -1
- package/dist/_vendor/platform-web/persistence.js +15 -0
- package/dist/_vendor/platform-web/persistence.js.map +1 -1
- package/dist/_vendor/platform-web/react.d.ts +1 -2
- package/dist/_vendor/platform-web/react.d.ts.map +1 -1
- package/dist/_vendor/platform-web/react.js +11 -5
- package/dist/_vendor/platform-web/react.js.map +1 -1
- package/dist/_vendor/platform-web/sqljs.js +10 -1
- package/dist/_vendor/platform-web/sqljs.js.map +1 -1
- package/dist/_vendor/platform-web/web-sqljs-wasm.js +8 -0
- package/dist/_vendor/platform-web/web-sqljs-wasm.js.map +1 -0
- package/dist/_vendor/platform-web/worker.d.ts +60 -9
- package/dist/_vendor/platform-web/worker.d.ts.map +1 -1
- package/dist/_vendor/platform-web/worker.js +37 -4
- package/dist/_vendor/platform-web/worker.js.map +1 -1
- package/dist/_vendor/react/index.d.ts +197 -13
- package/dist/_vendor/react/index.d.ts.map +1 -1
- package/dist/_vendor/react/index.js +209 -17
- package/dist/_vendor/react/index.js.map +1 -1
- package/dist/_vendor/schema/definition.d.ts +129 -0
- package/dist/_vendor/schema/definition.d.ts.map +1 -1
- package/dist/_vendor/schema/definition.js +99 -0
- package/dist/_vendor/schema/definition.js.map +1 -1
- package/dist/_vendor/schema/planner.d.ts.map +1 -1
- package/dist/_vendor/schema/planner.js.map +1 -1
- package/dist/_vendor/schema/validators.d.ts +180 -4
- package/dist/_vendor/schema/validators.d.ts.map +1 -1
- package/dist/_vendor/schema/validators.js +35 -1
- package/dist/_vendor/schema/validators.js.map +1 -1
- package/dist/_vendor/svelte/index.d.ts +207 -7
- package/dist/_vendor/svelte/index.d.ts.map +1 -1
- package/dist/_vendor/svelte/index.js +201 -6
- package/dist/_vendor/svelte/index.js.map +1 -1
- package/dist/browser.d.ts.map +1 -1
- package/dist/cli.js +3 -1
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/package.json +24 -21
|
@@ -1,14 +1,27 @@
|
|
|
1
1
|
import { AttachNodeIpcRuntimeOptions, AttachedNodeIpcRuntime, NodeIpcSyncoreSchema, RendererQueryWatch, SyncoreIpcMessageEndpoint, SyncoreMainProcessBridge, SyncoreRendererBridge, SyncoreRendererClient, SyncoreWindowBridge, attachNodeIpcRuntime, createNodeIpcMessageEndpoint, createRendererSyncoreBridgeClient, createRendererSyncoreClient, createRendererSyncoreWindowClient, installSyncoreWindowBridge } from "./ipc.mjs";
|
|
2
|
-
import { SyncoreActiveQueryInfo, SyncoreDevtoolsEvent, SyncoreRuntimeSummary } from "../devtools-protocol/index.d.ts";
|
|
3
|
-
import
|
|
4
|
-
import { DevtoolsCommandHandler, DevtoolsSink, DevtoolsSubscriptionHost, SchedulerOptions, StorageObject, StorageWriteInput, SyncoreCapabilities, SyncoreDataModel, SyncoreRuntime, SyncoreRuntimeOptions, SyncoreSqlDriver, SyncoreStorageAdapter } from "../core/index.d.mts";
|
|
2
|
+
import { SyncoreActiveQueryInfo, SyncoreDevtoolsCapabilities, SyncoreDevtoolsEvent, SyncoreRuntimeSummary } from "../devtools-protocol/index.d.ts";
|
|
3
|
+
import { DevtoolsCommandHandler, DevtoolsSink, DevtoolsSubscriptionHost, SchedulerOptions, StorageObject, StorageWriteInput, SyncoreCapabilities, SyncoreDataModel, SyncoreExternalChangeSignal, SyncoreRuntime, SyncoreRuntimeOptions, SyncoreSqlDriver, SyncoreStorageAdapter } from "../core/index.d.mts";
|
|
5
4
|
|
|
6
5
|
//#region src/index.d.ts
|
|
7
6
|
type NodeSyncoreSchema<TSchema extends SyncoreDataModel = SyncoreDataModel> = TSchema;
|
|
7
|
+
/**
|
|
8
|
+
* SQLite driver backed by Node.js’s built-in `node:sqlite` module (Node 22+).
|
|
9
|
+
*
|
|
10
|
+
* Opens the database at `databasePath` with `WAL` journal mode and foreign-key
|
|
11
|
+
* enforcement enabled. The file is created if it does not exist.
|
|
12
|
+
*
|
|
13
|
+
* ```ts
|
|
14
|
+
* const driver = new NodeSqliteDriver("./data/app.db");
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* In most cases you should use {@link createNodeSyncoreRuntime} which
|
|
18
|
+
* instantiates this driver automatically from your `databasePath` option.
|
|
19
|
+
*/
|
|
8
20
|
declare class NodeSqliteDriver implements SyncoreSqlDriver {
|
|
21
|
+
readonly databasePath: string;
|
|
9
22
|
private readonly database;
|
|
10
23
|
private transactionDepth;
|
|
11
|
-
constructor(
|
|
24
|
+
constructor(databasePath: string);
|
|
12
25
|
exec(sql: string): Promise<void>;
|
|
13
26
|
run(sql: string, params?: unknown[]): Promise<{
|
|
14
27
|
changes: number;
|
|
@@ -20,6 +33,19 @@ declare class NodeSqliteDriver implements SyncoreSqlDriver {
|
|
|
20
33
|
withSavepoint<T>(name: string, callback: () => Promise<T>): Promise<T>;
|
|
21
34
|
close(): Promise<void>;
|
|
22
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Blob storage adapter that reads and writes files in a local directory.
|
|
38
|
+
*
|
|
39
|
+
* Each stored object is saved as a flat file named by its ID inside
|
|
40
|
+
* `directory`. The directory is created automatically on first write.
|
|
41
|
+
*
|
|
42
|
+
* ```ts
|
|
43
|
+
* const storage = new NodeFileStorageAdapter("./data/storage");
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* In most cases you should use {@link createNodeSyncoreRuntime} which
|
|
47
|
+
* instantiates this adapter automatically from your `storageDirectory` option.
|
|
48
|
+
*/
|
|
23
49
|
declare class NodeFileStorageAdapter implements SyncoreStorageAdapter {
|
|
24
50
|
private readonly directory;
|
|
25
51
|
constructor(directory: string);
|
|
@@ -27,53 +53,157 @@ declare class NodeFileStorageAdapter implements SyncoreStorageAdapter {
|
|
|
27
53
|
put(id: string, input: StorageWriteInput): Promise<StorageObject>;
|
|
28
54
|
get(id: string): Promise<StorageObject | null>;
|
|
29
55
|
read(id: string): Promise<Uint8Array | null>;
|
|
56
|
+
readRange(id: string, offset: number, length: number): Promise<Uint8Array | null>;
|
|
30
57
|
delete(id: string): Promise<void>;
|
|
31
58
|
list(): Promise<StorageObject[]>;
|
|
32
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Options for {@link createNodeSyncoreRuntime}.
|
|
62
|
+
*
|
|
63
|
+
* At minimum supply `databasePath`, `storageDirectory`, `schema`, and
|
|
64
|
+
* `functions`. Everything else has sensible defaults (auto-devtools connect in
|
|
65
|
+
* development, Node SQLite driver, local file storage).
|
|
66
|
+
*
|
|
67
|
+
* ```ts
|
|
68
|
+
* createNodeSyncoreRuntime({
|
|
69
|
+
* databasePath: path.join(dataDir, "app.db"),
|
|
70
|
+
* storageDirectory: path.join(dataDir, "storage"),
|
|
71
|
+
* schema,
|
|
72
|
+
* functions,
|
|
73
|
+
* });
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
33
76
|
interface CreateNodeRuntimeOptions<TSchema extends NodeSyncoreSchema = NodeSyncoreSchema> {
|
|
77
|
+
/**
|
|
78
|
+
* Absolute or relative path to the SQLite database file.
|
|
79
|
+
*
|
|
80
|
+
* The file is created if it does not exist. Use an absolute path in
|
|
81
|
+
* production to avoid ambiguity about the current working directory.
|
|
82
|
+
*/
|
|
34
83
|
databasePath: string;
|
|
84
|
+
/**
|
|
85
|
+
* Directory where blob storage objects (images, files, etc.) are persisted.
|
|
86
|
+
*
|
|
87
|
+
* The directory is created automatically if it does not exist.
|
|
88
|
+
*/
|
|
35
89
|
storageDirectory: string;
|
|
90
|
+
/** The data model that defines the available tables and indexes. */
|
|
36
91
|
schema: TSchema;
|
|
92
|
+
/**
|
|
93
|
+
* The registered function map. Use the `functions` export from
|
|
94
|
+
* `syncore/_generated/functions.ts`.
|
|
95
|
+
*/
|
|
37
96
|
functions: SyncoreRuntimeOptions<TSchema>["functions"];
|
|
97
|
+
/**
|
|
98
|
+
* Resolved Syncore component instances. Only required when your app
|
|
99
|
+
* installs Syncore component packages.
|
|
100
|
+
*/
|
|
38
101
|
components?: SyncoreRuntimeOptions<TSchema>["components"];
|
|
102
|
+
/**
|
|
103
|
+
* Platform capabilities injected into `ctx.capabilities` inside function
|
|
104
|
+
* handlers.
|
|
105
|
+
*/
|
|
39
106
|
capabilities?: SyncoreCapabilities;
|
|
107
|
+
/** Human-readable app name shown in the devtools dashboard. */
|
|
40
108
|
appName?: string;
|
|
109
|
+
/** Origin label (e.g. process name) shown in devtools. */
|
|
41
110
|
origin?: string;
|
|
111
|
+
/** Devtools session label. Auto-generated when omitted. */
|
|
42
112
|
sessionLabel?: string;
|
|
113
|
+
/**
|
|
114
|
+
* Platform label reported to devtools. Defaults to `"node"`, or
|
|
115
|
+
* `"electron-main"` when the runtime is used inside Electron's main process.
|
|
116
|
+
*/
|
|
43
117
|
platform?: string;
|
|
118
|
+
/**
|
|
119
|
+
* Devtools event sink. Pass `false` to disable devtools entirely (recommended
|
|
120
|
+
* for production). Omit to auto-connect to the local devtools server when
|
|
121
|
+
* running in development.
|
|
122
|
+
*/
|
|
44
123
|
devtools?: DevtoolsSink | false;
|
|
124
|
+
/**
|
|
125
|
+
* Explicit devtools WebSocket server URL. Defaults to
|
|
126
|
+
* `ws://localhost:3099` (the Syncore devtools default port).
|
|
127
|
+
*/
|
|
45
128
|
devtoolsUrl?: string;
|
|
129
|
+
/** Scheduler configuration for background and recurring jobs. */
|
|
46
130
|
scheduler?: SchedulerOptions;
|
|
47
131
|
}
|
|
48
132
|
/**
|
|
49
|
-
*
|
|
133
|
+
* Alias of {@link CreateNodeRuntimeOptions} exposed for the managed-client
|
|
134
|
+
* helper.
|
|
135
|
+
* @see CreateNodeRuntimeOptions
|
|
50
136
|
*/
|
|
51
137
|
type WithNodeSyncoreClientOptions<TSchema extends NodeSyncoreSchema = NodeSyncoreSchema> = CreateNodeRuntimeOptions<TSchema>;
|
|
52
138
|
/**
|
|
53
139
|
* A started local Node runtime paired with its client and a dispose helper.
|
|
140
|
+
*
|
|
141
|
+
* Returned by `withNodeSyncoreClient()`. Call `dispose()` when you are
|
|
142
|
+
* finished (e.g. in tests or short-lived scripts) to stop the runtime and
|
|
143
|
+
* close the database.
|
|
54
144
|
*/
|
|
55
145
|
interface ManagedNodeSyncoreClient<TSchema extends NodeSyncoreSchema = NodeSyncoreSchema> {
|
|
146
|
+
/** The underlying runtime instance. */
|
|
56
147
|
runtime: SyncoreRuntime<TSchema>;
|
|
148
|
+
/** A ready-to-use client for calling Syncore functions. */
|
|
57
149
|
client: ReturnType<SyncoreRuntime<TSchema>["createClient"]>;
|
|
150
|
+
/** Stop the runtime, flush pending jobs, and close the database. */
|
|
58
151
|
dispose(): Promise<void>;
|
|
59
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* Opaque handle returned by Syncore’s Electron IPC bridge setup.
|
|
155
|
+
*
|
|
156
|
+
* - `ready`: resolves when the bridge is connected and the renderer is ready to
|
|
157
|
+
* receive messages.
|
|
158
|
+
* - `dispose()`: tears down the bridge and removes IPC listeners.
|
|
159
|
+
*/
|
|
60
160
|
interface SyncoreElectronIpcBinding {
|
|
61
161
|
ready: Promise<void>;
|
|
62
162
|
dispose(): Promise<void>;
|
|
63
163
|
}
|
|
164
|
+
/**
|
|
165
|
+
* Minimal interface that Syncore requires from an Electron `BrowserWindow`
|
|
166
|
+
* instance.
|
|
167
|
+
*
|
|
168
|
+
* Scoped to avoid importing Electron at the type level.
|
|
169
|
+
*/
|
|
64
170
|
interface SyncoreElectronBridgeWindow {
|
|
65
171
|
isDestroyed(): boolean;
|
|
66
172
|
webContents: {
|
|
67
173
|
send(channel: string, message: unknown): void;
|
|
68
174
|
};
|
|
69
175
|
}
|
|
176
|
+
/**
|
|
177
|
+
* Options for setting up Syncore’s Electron main-process IPC bridge.
|
|
178
|
+
*
|
|
179
|
+
* The bridge forwards database change events from the main-process runtime to
|
|
180
|
+
* the renderer window over a named IPC channel.
|
|
181
|
+
*
|
|
182
|
+
* ```ts
|
|
183
|
+
* createElectronSyncoreBridge(runtime, {
|
|
184
|
+
* window: mainWindow,
|
|
185
|
+
* onRendererMessage: (listener) => {
|
|
186
|
+
* ipcMain.on("syncore", (_e, msg) => listener(msg));
|
|
187
|
+
* return () => ipcMain.removeAllListeners("syncore");
|
|
188
|
+
* },
|
|
189
|
+
* });
|
|
190
|
+
* ```
|
|
191
|
+
*/
|
|
70
192
|
interface CreateElectronSyncoreBridgeOptions {
|
|
193
|
+
/** The renderer window that will receive push messages. */
|
|
71
194
|
window: SyncoreElectronBridgeWindow;
|
|
195
|
+
/**
|
|
196
|
+
* Register a listener for messages sent from the renderer. Must return an
|
|
197
|
+
* unsubscribe function.
|
|
198
|
+
*/
|
|
72
199
|
onRendererMessage(listener: (message: unknown) => void): () => void;
|
|
200
|
+
/** IPC channel name. Defaults to `"syncore"`. */
|
|
73
201
|
channel?: string;
|
|
74
202
|
}
|
|
75
203
|
/**
|
|
76
|
-
* The subset of Electron
|
|
204
|
+
* The subset of Electron’s `ipcMain` used by Syncore’s main-process helper.
|
|
205
|
+
*
|
|
206
|
+
* Using this narrowed interface avoids a hard runtime dependency on Electron.
|
|
77
207
|
*/
|
|
78
208
|
interface SyncoreElectronIpcMain {
|
|
79
209
|
on(channel: string, listener: (event: {
|
|
@@ -83,17 +213,48 @@ interface SyncoreElectronIpcMain {
|
|
|
83
213
|
sender: unknown;
|
|
84
214
|
}, message: unknown) => void): void;
|
|
85
215
|
}
|
|
216
|
+
/**
|
|
217
|
+
* Options for creating a client inside an Electron renderer process via the
|
|
218
|
+
* preload IPC bridge.
|
|
219
|
+
*/
|
|
86
220
|
interface CreateSyncoreRendererWindowClientOptions {
|
|
221
|
+
/** Name of the bridge registered in the preload script. Defaults to `"syncore"`. */
|
|
87
222
|
bridgeName?: string;
|
|
88
223
|
}
|
|
89
224
|
/**
|
|
90
|
-
* Create a Node or Electron
|
|
225
|
+
* Create a Syncore runtime for Node.js (or Electron’s main process) backed by
|
|
226
|
+
* the built-in `node:sqlite` driver and local file storage.
|
|
227
|
+
*
|
|
228
|
+
* This is the recommended entry point for Node and Electron apps. It wires up
|
|
229
|
+
* the SQL driver, storage adapter, devtools WebSocket connection, and
|
|
230
|
+
* cross-process change signals automatically.
|
|
231
|
+
*
|
|
232
|
+
* ```ts
|
|
233
|
+
* import path from "node:path";
|
|
234
|
+
* import { createNodeSyncoreRuntime } from "syncorejs/node";
|
|
235
|
+
* import schema from "./syncore/schema";
|
|
236
|
+
* import { functions } from "./syncore/_generated/functions";
|
|
237
|
+
*
|
|
238
|
+
* const runtime = createNodeSyncoreRuntime({
|
|
239
|
+
* databasePath: path.join(app.getPath("userData"), "db.sqlite"),
|
|
240
|
+
* storageDirectory: path.join(app.getPath("userData"), "storage"),
|
|
241
|
+
* schema,
|
|
242
|
+
* functions,
|
|
243
|
+
* });
|
|
244
|
+
*
|
|
245
|
+
* await runtime.start();
|
|
246
|
+
* const client = runtime.createClient();
|
|
247
|
+
* ```
|
|
248
|
+
*
|
|
249
|
+
* @param options - Configuration object. See {@link CreateNodeRuntimeOptions}.
|
|
250
|
+
* @returns A configured (but not yet started) SyncoreRuntime. Call
|
|
251
|
+
* `await runtime.start()` before using the client.
|
|
91
252
|
*/
|
|
92
253
|
declare function createNodeSyncoreRuntime<TSchema extends NodeSyncoreSchema>(options: CreateNodeRuntimeOptions<TSchema>): SyncoreRuntime<TSchema>;
|
|
93
254
|
/**
|
|
94
255
|
* Create a same-process Syncore client from a started Node runtime.
|
|
95
256
|
*/
|
|
96
|
-
declare function createNodeSyncoreClient<TSchema extends NodeSyncoreSchema>(runtime: SyncoreRuntime<TSchema>):
|
|
257
|
+
declare function createNodeSyncoreClient<TSchema extends NodeSyncoreSchema>(runtime: SyncoreRuntime<TSchema>): import("../core/index.d.mts").SyncoreClient;
|
|
97
258
|
/**
|
|
98
259
|
* Start a Node Syncore runtime and return its client together with a dispose helper.
|
|
99
260
|
*/
|
|
@@ -113,7 +274,7 @@ declare function withNodeSyncoreClient<TSchema extends NodeSyncoreSchema, TResul
|
|
|
113
274
|
* Create the default Electron main-process bridge used to connect a BrowserWindow
|
|
114
275
|
* to a Syncore runtime.
|
|
115
276
|
*/
|
|
116
|
-
declare function createElectronSyncoreBridge(options: CreateElectronSyncoreBridgeOptions):
|
|
277
|
+
declare function createElectronSyncoreBridge(options: CreateElectronSyncoreBridgeOptions): import("../core/index.d.mts").SyncoreBridgeMessageEndpoint & {
|
|
117
278
|
dispose(): void;
|
|
118
279
|
};
|
|
119
280
|
/**
|
|
@@ -138,14 +299,18 @@ interface NodeWebSocketDevtoolsSinkOptions {
|
|
|
138
299
|
origin?: string;
|
|
139
300
|
sessionLabel?: string;
|
|
140
301
|
targetKind?: "client" | "project";
|
|
302
|
+
runtimeRole?: "app" | "project-target";
|
|
141
303
|
storageProtocol?: string;
|
|
142
304
|
databaseLabel?: string;
|
|
305
|
+
dataSourceAlias?: string;
|
|
143
306
|
storageIdentity?: string;
|
|
307
|
+
capabilities?: SyncoreDevtoolsCapabilities;
|
|
144
308
|
}
|
|
145
309
|
interface NodeWebSocketDevtoolsSink extends DevtoolsSink {
|
|
146
310
|
attachRuntime(runtime: SyncoreRuntime<NodeSyncoreSchema>): void;
|
|
147
311
|
attachCommandHandler(handler: DevtoolsCommandHandler): void;
|
|
148
312
|
attachSubscriptionHost(host: DevtoolsSubscriptionHost): void;
|
|
313
|
+
externalChangeSignal?: SyncoreExternalChangeSignal;
|
|
149
314
|
dispose(): void;
|
|
150
315
|
}
|
|
151
316
|
declare function createNodeWebSocketDevtoolsSink(options: NodeWebSocketDevtoolsSinkOptions): NodeWebSocketDevtoolsSink;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/index.ts"],"mappings":"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"}
|