spacetimedb 2.4.1 → 2.6.0
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/LICENSE.txt +759 -759
- package/README.md +211 -120
- package/dist/angular/index.cjs.map +1 -1
- package/dist/angular/index.mjs.map +1 -1
- package/dist/browser/angular/index.mjs.map +1 -1
- package/dist/browser/react/index.mjs +129 -57
- package/dist/browser/react/index.mjs.map +1 -1
- package/dist/browser/solid/index.mjs +1933 -0
- package/dist/browser/solid/index.mjs.map +1 -0
- package/dist/browser/svelte/index.mjs.map +1 -1
- package/dist/browser/vue/index.mjs.map +1 -1
- package/dist/index.browser.mjs +10 -2
- package/dist/index.browser.mjs.map +1 -1
- package/dist/index.cjs +10 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +10 -2
- package/dist/index.mjs.map +1 -1
- package/dist/min/index.browser.mjs +1 -1
- package/dist/min/index.browser.mjs.map +1 -1
- package/dist/min/react/index.mjs +1 -1
- package/dist/min/react/index.mjs.map +1 -1
- package/dist/min/sdk/index.browser.mjs +1 -1
- package/dist/min/sdk/index.browser.mjs.map +1 -1
- package/dist/react/index.cjs +129 -57
- package/dist/react/index.cjs.map +1 -1
- package/dist/react/index.mjs +129 -57
- package/dist/react/index.mjs.map +1 -1
- package/dist/react/useTable.d.ts.map +1 -1
- package/dist/sdk/connection_manager.d.ts +8 -0
- package/dist/sdk/connection_manager.d.ts.map +1 -1
- package/dist/sdk/db_connection_impl.d.ts +7 -0
- package/dist/sdk/db_connection_impl.d.ts.map +1 -1
- package/dist/sdk/index.browser.mjs +10 -2
- package/dist/sdk/index.browser.mjs.map +1 -1
- package/dist/sdk/index.cjs +10 -2
- package/dist/sdk/index.cjs.map +1 -1
- package/dist/sdk/index.mjs +10 -2
- package/dist/sdk/index.mjs.map +1 -1
- package/dist/sdk/websocket_test_adapter.d.ts +2 -1
- package/dist/sdk/websocket_test_adapter.d.ts.map +1 -1
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/runtime.d.ts.map +1 -1
- package/dist/solid/SpacetimeDBProvider.d.ts +7 -0
- package/dist/solid/SpacetimeDBProvider.d.ts.map +1 -0
- package/dist/solid/connection_state.d.ts +6 -0
- package/dist/solid/connection_state.d.ts.map +1 -0
- package/dist/solid/index.cjs +1939 -0
- package/dist/solid/index.cjs.map +1 -0
- package/dist/solid/index.d.ts +6 -0
- package/dist/solid/index.d.ts.map +1 -0
- package/dist/solid/index.mjs +1933 -0
- package/dist/solid/index.mjs.map +1 -0
- package/dist/solid/useProcedure.d.ts +4 -0
- package/dist/solid/useProcedure.d.ts.map +1 -0
- package/dist/solid/useReducer.d.ts +4 -0
- package/dist/solid/useReducer.d.ts.map +1 -0
- package/dist/solid/useSpacetimeDB.d.ts +4 -0
- package/dist/solid/useSpacetimeDB.d.ts.map +1 -0
- package/dist/solid/useTable.d.ts +32 -0
- package/dist/solid/useTable.d.ts.map +1 -0
- package/dist/svelte/index.cjs.map +1 -1
- package/dist/svelte/index.mjs.map +1 -1
- package/dist/tanstack/index.cjs +120 -50
- package/dist/tanstack/index.cjs.map +1 -1
- package/dist/tanstack/index.mjs +120 -50
- package/dist/tanstack/index.mjs.map +1 -1
- package/dist/vue/index.cjs.map +1 -1
- package/dist/vue/index.mjs.map +1 -1
- package/package.json +13 -3
- package/src/angular/connection_state.ts +19 -19
- package/src/angular/index.ts +3 -3
- package/src/angular/injectors/index.ts +4 -4
- package/src/angular/injectors/inject-reducer.ts +62 -62
- package/src/angular/injectors/inject-spacetimedb-connected.ts +13 -13
- package/src/angular/injectors/inject-spacetimedb.ts +10 -10
- package/src/angular/injectors/inject-table.ts +234 -234
- package/src/angular/providers/index.ts +1 -1
- package/src/angular/providers/provide-spacetimedb.ts +96 -96
- package/src/index.ts +16 -16
- package/src/lib/algebraic_type.ts +819 -819
- package/src/lib/algebraic_type_variants.ts +26 -26
- package/src/lib/algebraic_value.ts +10 -10
- package/src/lib/autogen/types.ts +746 -746
- package/src/lib/binary_reader.ts +188 -188
- package/src/lib/binary_writer.ts +213 -213
- package/src/lib/connection_id.ts +102 -102
- package/src/lib/constraints.ts +48 -48
- package/src/lib/errors.ts +26 -26
- package/src/lib/filter.ts +195 -195
- package/src/lib/identity.ts +83 -83
- package/src/lib/indexes.ts +251 -251
- package/src/lib/option.ts +34 -34
- package/src/lib/query.ts +1019 -1019
- package/src/lib/reducer_schema.ts +38 -38
- package/src/lib/reducers.ts +116 -116
- package/src/lib/result.ts +36 -36
- package/src/lib/schedule_at.ts +86 -86
- package/src/lib/schema.ts +420 -420
- package/src/lib/table.ts +548 -548
- package/src/lib/table_schema.ts +64 -64
- package/src/lib/time_duration.ts +77 -77
- package/src/lib/timestamp.ts +148 -148
- package/src/lib/type_builders.test-d.ts +128 -128
- package/src/lib/type_builders.ts +4014 -4014
- package/src/lib/type_util.ts +124 -124
- package/src/lib/util.ts +196 -196
- package/src/lib/uuid.ts +337 -337
- package/src/react/SpacetimeDBProvider.ts +84 -84
- package/src/react/connection_state.ts +6 -6
- package/src/react/index.ts +5 -5
- package/src/react/useProcedure.ts +60 -60
- package/src/react/useReducer.ts +53 -53
- package/src/react/useSpacetimeDB.ts +18 -18
- package/src/react/useTable.ts +256 -251
- package/src/sdk/client_api/index.ts +114 -114
- package/src/sdk/client_api/types/procedures.ts +8 -8
- package/src/sdk/client_api/types/reducers.ts +8 -8
- package/src/sdk/client_api/types.ts +288 -288
- package/src/sdk/client_cache.ts +129 -129
- package/src/sdk/client_table.ts +179 -179
- package/src/sdk/connection_manager.ts +352 -237
- package/src/sdk/db_connection_builder.ts +290 -290
- package/src/sdk/db_connection_impl.ts +1356 -1347
- package/src/sdk/db_context.ts +28 -28
- package/src/sdk/db_view.ts +12 -12
- package/src/sdk/decompress.ts +51 -51
- package/src/sdk/event.ts +18 -18
- package/src/sdk/event_context.ts +51 -51
- package/src/sdk/event_emitter.ts +32 -32
- package/src/sdk/index.ts +14 -14
- package/src/sdk/internal.ts +2 -2
- package/src/sdk/json_api.ts +46 -46
- package/src/sdk/logger.ts +134 -134
- package/src/sdk/message_types.ts +46 -46
- package/src/sdk/procedures.ts +83 -83
- package/src/sdk/reducer_event.ts +20 -20
- package/src/sdk/reducer_handle.ts +12 -12
- package/src/sdk/reducers.ts +159 -159
- package/src/sdk/schema.ts +45 -45
- package/src/sdk/spacetime_module.ts +28 -28
- package/src/sdk/subscription_builder_impl.ts +275 -275
- package/src/sdk/table_cache.ts +581 -581
- package/src/sdk/type_utils.ts +19 -19
- package/src/sdk/version.ts +133 -133
- package/src/sdk/websocket_decompress_adapter.ts +63 -63
- package/src/sdk/websocket_protocols.ts +25 -25
- package/src/sdk/websocket_test_adapter.ts +107 -100
- package/src/sdk/websocket_v3_frames.ts +126 -126
- package/src/sdk/ws.ts +105 -105
- package/src/server/console.ts +81 -81
- package/src/server/db_view.ts +21 -21
- package/src/server/errors.ts +138 -138
- package/src/server/http.test-d.ts +80 -80
- package/src/server/http.ts +14 -14
- package/src/server/http_handlers.ts +413 -413
- package/src/server/http_internal.ts +79 -79
- package/src/server/http_shared.ts +186 -186
- package/src/server/index.ts +37 -37
- package/src/server/polyfills.ts +4 -4
- package/src/server/procedures.ts +239 -239
- package/src/server/query.ts +1 -1
- package/src/server/range.ts +53 -53
- package/src/server/reducers.ts +113 -113
- package/src/server/rng.ts +113 -113
- package/src/server/runtime.ts +1102 -1102
- package/src/server/schema.test-d.ts +99 -99
- package/src/server/schema.ts +663 -663
- package/src/server/sys.d.ts +125 -125
- package/src/server/view.test-d.ts +194 -194
- package/src/server/views.ts +340 -340
- package/src/solid/SpacetimeDBProvider.ts +97 -0
- package/src/solid/connection_state.ts +6 -0
- package/src/solid/index.ts +5 -0
- package/src/solid/useProcedure.ts +57 -0
- package/src/solid/useReducer.ts +50 -0
- package/src/solid/useSpacetimeDB.ts +18 -0
- package/src/solid/useTable.ts +203 -0
- package/src/svelte/SpacetimeDBProvider.ts +101 -101
- package/src/svelte/connection_state.ts +16 -16
- package/src/svelte/index.ts +4 -4
- package/src/svelte/useReducer.ts +61 -61
- package/src/svelte/useSpacetimeDB.ts +22 -22
- package/src/svelte/useTable.ts +218 -218
- package/src/tanstack/SpacetimeDBQueryClient.ts +330 -330
- package/src/tanstack/hooks.ts +83 -83
- package/src/tanstack/index.ts +16 -16
- package/src/util-stub.ts +1 -1
- package/src/vue/SpacetimeDBProvider.ts +157 -157
- package/src/vue/connection_state.ts +19 -19
- package/src/vue/index.ts +5 -5
- package/src/vue/useProcedure.ts +62 -62
- package/src/vue/useReducer.ts +55 -55
- package/src/vue/useSpacetimeDB.ts +18 -18
- package/src/vue/useTable.ts +229 -229
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "spacetimedb",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.6.0",
|
|
4
4
|
"description": "API and ABI bindings for the SpacetimeDB TypeScript module library",
|
|
5
5
|
"homepage": "https://github.com/clockworklabs/SpacetimeDB#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -75,6 +75,12 @@
|
|
|
75
75
|
"import": "./dist/angular/index.mjs",
|
|
76
76
|
"require": "./dist/angular/index.cjs",
|
|
77
77
|
"default": "./dist/angular/index.mjs"
|
|
78
|
+
},
|
|
79
|
+
"./solid": {
|
|
80
|
+
"types": "./dist/solid/index.d.ts",
|
|
81
|
+
"import": "./dist/solid/index.mjs",
|
|
82
|
+
"require": "./dist/solid/index.cjs",
|
|
83
|
+
"default": "./dist/solid/index.mjs"
|
|
78
84
|
}
|
|
79
85
|
},
|
|
80
86
|
"size-limit": [
|
|
@@ -169,6 +175,7 @@
|
|
|
169
175
|
"@angular/core": ">=17.0.0",
|
|
170
176
|
"@tanstack/react-query": "^5.0.0",
|
|
171
177
|
"react": "^18.0.0 || ^19.0.0-0 || ^19.0.0",
|
|
178
|
+
"solid-js": "^1.6.0",
|
|
172
179
|
"svelte": "^4.0.0 || ^5.0.0",
|
|
173
180
|
"undici": "^6.19.2",
|
|
174
181
|
"vue": "^3.3.0"
|
|
@@ -180,6 +187,9 @@
|
|
|
180
187
|
"react": {
|
|
181
188
|
"optional": true
|
|
182
189
|
},
|
|
190
|
+
"solid-js": {
|
|
191
|
+
"optional": true
|
|
192
|
+
},
|
|
183
193
|
"svelte": {
|
|
184
194
|
"optional": true
|
|
185
195
|
},
|
|
@@ -194,8 +204,8 @@
|
|
|
194
204
|
}
|
|
195
205
|
},
|
|
196
206
|
"devDependencies": {
|
|
197
|
-
"@angular/compiler": "^21.
|
|
198
|
-
"@angular/core": "^21.
|
|
207
|
+
"@angular/compiler": "^21.2.12",
|
|
208
|
+
"@angular/core": "^21.2.12",
|
|
199
209
|
"@eslint/js": "^9.17.0",
|
|
200
210
|
"@size-limit/file": "^11.2.0",
|
|
201
211
|
"@tanstack/react-query": "^5.90.19",
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { InjectionToken, type WritableSignal } from '@angular/core';
|
|
2
|
-
import type { ConnectionId } from '../lib/connection_id';
|
|
3
|
-
import type { Identity } from '../lib/identity';
|
|
4
|
-
import type { DbConnectionImpl } from '../sdk/db_connection_impl';
|
|
5
|
-
|
|
6
|
-
export interface ConnectionState {
|
|
7
|
-
isActive: boolean;
|
|
8
|
-
identity?: Identity;
|
|
9
|
-
token?: string;
|
|
10
|
-
connectionId: ConnectionId;
|
|
11
|
-
connectionError?: Error;
|
|
12
|
-
getConnection<
|
|
13
|
-
DbConnection extends DbConnectionImpl<any>,
|
|
14
|
-
>(): DbConnection | null;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export const SPACETIMEDB_CONNECTION = new InjectionToken<
|
|
18
|
-
WritableSignal<ConnectionState>
|
|
19
|
-
>('SpacetimeDB Connection State');
|
|
1
|
+
import { InjectionToken, type WritableSignal } from '@angular/core';
|
|
2
|
+
import type { ConnectionId } from '../lib/connection_id';
|
|
3
|
+
import type { Identity } from '../lib/identity';
|
|
4
|
+
import type { DbConnectionImpl } from '../sdk/db_connection_impl';
|
|
5
|
+
|
|
6
|
+
export interface ConnectionState {
|
|
7
|
+
isActive: boolean;
|
|
8
|
+
identity?: Identity;
|
|
9
|
+
token?: string;
|
|
10
|
+
connectionId: ConnectionId;
|
|
11
|
+
connectionError?: Error;
|
|
12
|
+
getConnection<
|
|
13
|
+
DbConnection extends DbConnectionImpl<any>,
|
|
14
|
+
>(): DbConnection | null;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export const SPACETIMEDB_CONNECTION = new InjectionToken<
|
|
18
|
+
WritableSignal<ConnectionState>
|
|
19
|
+
>('SpacetimeDB Connection State');
|
package/src/angular/index.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export type { ConnectionState } from './connection_state.ts';
|
|
2
|
-
export * from './injectors/index.ts';
|
|
3
|
-
export * from './providers/index.ts';
|
|
1
|
+
export type { ConnectionState } from './connection_state.ts';
|
|
2
|
+
export * from './injectors/index.ts';
|
|
3
|
+
export * from './providers/index.ts';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { injectSpacetimeDB } from './inject-spacetimedb.ts';
|
|
2
|
-
export { injectTable, type TableRows } from './inject-table.ts';
|
|
3
|
-
export { injectSpacetimeDBConnected } from './inject-spacetimedb-connected.ts';
|
|
4
|
-
export { injectReducer } from './inject-reducer.ts';
|
|
1
|
+
export { injectSpacetimeDB } from './inject-spacetimedb.ts';
|
|
2
|
+
export { injectTable, type TableRows } from './inject-table.ts';
|
|
3
|
+
export { injectSpacetimeDBConnected } from './inject-spacetimedb-connected.ts';
|
|
4
|
+
export { injectReducer } from './inject-reducer.ts';
|
|
@@ -1,62 +1,62 @@
|
|
|
1
|
-
import { assertInInjectionContext, inject, effect } from '@angular/core';
|
|
2
|
-
import { SPACETIMEDB_CONNECTION } from '../connection_state';
|
|
3
|
-
import type { ParamsType } from '../../sdk';
|
|
4
|
-
import type { UntypedReducerDef } from '../../sdk/reducers';
|
|
5
|
-
|
|
6
|
-
export function injectReducer<ReducerDef extends UntypedReducerDef>(
|
|
7
|
-
reducerDef: ReducerDef
|
|
8
|
-
): (...params: ParamsType<ReducerDef>) => void {
|
|
9
|
-
assertInInjectionContext(injectReducer);
|
|
10
|
-
|
|
11
|
-
const connState = inject(SPACETIMEDB_CONNECTION);
|
|
12
|
-
const queue: ParamsType<ReducerDef>[] = [];
|
|
13
|
-
const reducerName = reducerDef.accessorName;
|
|
14
|
-
|
|
15
|
-
// flush queued calls when connection becomes active
|
|
16
|
-
effect((onCleanup: (fn: () => void) => void) => {
|
|
17
|
-
const state = connState();
|
|
18
|
-
if (!state.isActive) {
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
const connection = state.getConnection();
|
|
23
|
-
if (!connection) {
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
const callReducer = (connection.reducers as any)[reducerName] as (
|
|
28
|
-
...p: ParamsType<ReducerDef>
|
|
29
|
-
) => void;
|
|
30
|
-
|
|
31
|
-
if (queue.length) {
|
|
32
|
-
const pending = queue.splice(0);
|
|
33
|
-
for (const params of pending) {
|
|
34
|
-
callReducer(...params);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
onCleanup(() => {
|
|
39
|
-
queue.splice(0);
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
return (...params: ParamsType<ReducerDef>) => {
|
|
44
|
-
const state = connState();
|
|
45
|
-
if (!state.isActive) {
|
|
46
|
-
queue.push(params);
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
const connection = state.getConnection();
|
|
51
|
-
if (!connection) {
|
|
52
|
-
queue.push(params);
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
const callReducer = (connection.reducers as any)[reducerName] as (
|
|
57
|
-
...p: ParamsType<ReducerDef>
|
|
58
|
-
) => void;
|
|
59
|
-
|
|
60
|
-
return callReducer(...params);
|
|
61
|
-
};
|
|
62
|
-
}
|
|
1
|
+
import { assertInInjectionContext, inject, effect } from '@angular/core';
|
|
2
|
+
import { SPACETIMEDB_CONNECTION } from '../connection_state';
|
|
3
|
+
import type { ParamsType } from '../../sdk';
|
|
4
|
+
import type { UntypedReducerDef } from '../../sdk/reducers';
|
|
5
|
+
|
|
6
|
+
export function injectReducer<ReducerDef extends UntypedReducerDef>(
|
|
7
|
+
reducerDef: ReducerDef
|
|
8
|
+
): (...params: ParamsType<ReducerDef>) => void {
|
|
9
|
+
assertInInjectionContext(injectReducer);
|
|
10
|
+
|
|
11
|
+
const connState = inject(SPACETIMEDB_CONNECTION);
|
|
12
|
+
const queue: ParamsType<ReducerDef>[] = [];
|
|
13
|
+
const reducerName = reducerDef.accessorName;
|
|
14
|
+
|
|
15
|
+
// flush queued calls when connection becomes active
|
|
16
|
+
effect((onCleanup: (fn: () => void) => void) => {
|
|
17
|
+
const state = connState();
|
|
18
|
+
if (!state.isActive) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const connection = state.getConnection();
|
|
23
|
+
if (!connection) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const callReducer = (connection.reducers as any)[reducerName] as (
|
|
28
|
+
...p: ParamsType<ReducerDef>
|
|
29
|
+
) => void;
|
|
30
|
+
|
|
31
|
+
if (queue.length) {
|
|
32
|
+
const pending = queue.splice(0);
|
|
33
|
+
for (const params of pending) {
|
|
34
|
+
callReducer(...params);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
onCleanup(() => {
|
|
39
|
+
queue.splice(0);
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
return (...params: ParamsType<ReducerDef>) => {
|
|
44
|
+
const state = connState();
|
|
45
|
+
if (!state.isActive) {
|
|
46
|
+
queue.push(params);
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const connection = state.getConnection();
|
|
51
|
+
if (!connection) {
|
|
52
|
+
queue.push(params);
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const callReducer = (connection.reducers as any)[reducerName] as (
|
|
57
|
+
...p: ParamsType<ReducerDef>
|
|
58
|
+
) => void;
|
|
59
|
+
|
|
60
|
+
return callReducer(...params);
|
|
61
|
+
};
|
|
62
|
+
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
assertInInjectionContext,
|
|
3
|
-
inject,
|
|
4
|
-
computed,
|
|
5
|
-
type Signal,
|
|
6
|
-
} from '@angular/core';
|
|
7
|
-
import { SPACETIMEDB_CONNECTION } from '../connection_state';
|
|
8
|
-
|
|
9
|
-
export function injectSpacetimeDBConnected(): Signal<boolean> {
|
|
10
|
-
assertInInjectionContext(injectSpacetimeDBConnected);
|
|
11
|
-
const state = inject(SPACETIMEDB_CONNECTION);
|
|
12
|
-
return computed(() => state().isActive);
|
|
13
|
-
}
|
|
1
|
+
import {
|
|
2
|
+
assertInInjectionContext,
|
|
3
|
+
inject,
|
|
4
|
+
computed,
|
|
5
|
+
type Signal,
|
|
6
|
+
} from '@angular/core';
|
|
7
|
+
import { SPACETIMEDB_CONNECTION } from '../connection_state';
|
|
8
|
+
|
|
9
|
+
export function injectSpacetimeDBConnected(): Signal<boolean> {
|
|
10
|
+
assertInInjectionContext(injectSpacetimeDBConnected);
|
|
11
|
+
const state = inject(SPACETIMEDB_CONNECTION);
|
|
12
|
+
return computed(() => state().isActive);
|
|
13
|
+
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { assertInInjectionContext, inject, type Signal } from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
SPACETIMEDB_CONNECTION,
|
|
4
|
-
type ConnectionState,
|
|
5
|
-
} from '../connection_state';
|
|
6
|
-
|
|
7
|
-
export function injectSpacetimeDB(): Signal<ConnectionState> {
|
|
8
|
-
assertInInjectionContext(injectSpacetimeDB);
|
|
9
|
-
return inject(SPACETIMEDB_CONNECTION).asReadonly();
|
|
10
|
-
}
|
|
1
|
+
import { assertInInjectionContext, inject, type Signal } from '@angular/core';
|
|
2
|
+
import {
|
|
3
|
+
SPACETIMEDB_CONNECTION,
|
|
4
|
+
type ConnectionState,
|
|
5
|
+
} from '../connection_state';
|
|
6
|
+
|
|
7
|
+
export function injectSpacetimeDB(): Signal<ConnectionState> {
|
|
8
|
+
assertInInjectionContext(injectSpacetimeDB);
|
|
9
|
+
return inject(SPACETIMEDB_CONNECTION).asReadonly();
|
|
10
|
+
}
|