spacetimedb 2.6.0 → 2.6.1
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/README.md +211 -211
- 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.map +1 -1
- package/dist/browser/solid/index.mjs.map +1 -1
- package/dist/browser/svelte/index.mjs.map +1 -1
- package/dist/browser/vue/index.mjs.map +1 -1
- package/dist/index.browser.mjs.map +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/lib/type_builders.d.ts +18 -3
- package/dist/lib/type_builders.d.ts.map +1 -1
- package/dist/min/index.browser.mjs.map +1 -1
- package/dist/min/react/index.mjs.map +1 -1
- package/dist/min/sdk/index.browser.mjs.map +1 -1
- package/dist/react/index.cjs.map +1 -1
- package/dist/react/index.mjs.map +1 -1
- package/dist/sdk/db_connection_impl.d.ts.map +1 -1
- package/dist/sdk/event_context.d.ts +3 -3
- package/dist/sdk/event_context.d.ts.map +1 -1
- package/dist/sdk/index.browser.mjs.map +1 -1
- package/dist/sdk/index.cjs.map +1 -1
- package/dist/sdk/index.mjs.map +1 -1
- package/dist/sdk/procedures.d.ts +2 -2
- package/dist/sdk/procedures.d.ts.map +1 -1
- package/dist/sdk/reducers.d.ts +3 -4
- package/dist/sdk/reducers.d.ts.map +1 -1
- package/dist/sdk/table_cache.d.ts.map +1 -1
- package/dist/sdk/type_utils.d.ts +3 -3
- package/dist/sdk/type_utils.d.ts.map +1 -1
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/runtime.d.ts.map +1 -1
- package/dist/server/views.d.ts +4 -2
- package/dist/server/views.d.ts.map +1 -1
- package/dist/solid/index.cjs.map +1 -1
- package/dist/solid/index.mjs.map +1 -1
- package/dist/svelte/index.cjs.map +1 -1
- package/dist/svelte/index.mjs.map +1 -1
- package/dist/svelte/useReducer.d.ts +2 -2
- package/dist/svelte/useReducer.d.ts.map +1 -1
- package/dist/tanstack/index.cjs.map +1 -1
- 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 +22 -21
- 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 +130 -128
- package/src/lib/type_builders.ts +4050 -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 -256
- 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 -352
- package/src/sdk/db_connection_builder.ts +290 -290
- package/src/sdk/db_connection_impl.ts +1363 -1356
- 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 +87 -83
- package/src/sdk/reducer_event.ts +20 -20
- package/src/sdk/reducer_handle.ts +12 -12
- package/src/sdk/reducers.ts +158 -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 +582 -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 -107
- 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 +343 -340
- package/src/solid/SpacetimeDBProvider.ts +97 -97
- package/src/solid/connection_state.ts +6 -6
- package/src/solid/index.ts +5 -5
- package/src/solid/useProcedure.ts +57 -57
- package/src/solid/useReducer.ts +50 -50
- package/src/solid/useSpacetimeDB.ts +18 -18
- package/src/solid/useTable.ts +203 -203
- 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/LICENSE.txt +0 -759
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "spacetimedb",
|
|
3
|
-
"version": "2.6.
|
|
3
|
+
"version": "2.6.1",
|
|
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": {
|
|
@@ -22,6 +22,26 @@
|
|
|
22
22
|
"sideEffects": [
|
|
23
23
|
"./src/server/polyfills.ts"
|
|
24
24
|
],
|
|
25
|
+
"scripts": {
|
|
26
|
+
"build:js": "tsup",
|
|
27
|
+
"build:types": "tsc -p tsconfig.build.json",
|
|
28
|
+
"build": "pnpm -s build:js && pnpm -s build:types",
|
|
29
|
+
"format": "prettier . --write --ignore-path ../../.prettierignore",
|
|
30
|
+
"lint": "eslint . && prettier . --check --ignore-path ../../.prettierignore",
|
|
31
|
+
"test": "vitest run",
|
|
32
|
+
"test:typecheck": "vitest typecheck --run",
|
|
33
|
+
"coverage": "vitest run --coverage",
|
|
34
|
+
"brotli-size": "brotli-size dist/index.js",
|
|
35
|
+
"size": "pnpm -s build && size-limit",
|
|
36
|
+
"generate:moduledef": "cargo run -p spacetimedb-codegen --example regen-typescript-moduledef && prettier --write src/lib/autogen",
|
|
37
|
+
"generate:client-api": "cargo run -p generate-client-api && prettier --write src/sdk/client_api",
|
|
38
|
+
"generate:test-app": "pnpm --filter @clockworklabs/test-app generate",
|
|
39
|
+
"generate:examples:chat-react-ts": "pnpm --filter @clockworklabs/chat-react-ts generate",
|
|
40
|
+
"generate:examples:react-ts": "pnpm --filter @clockworklabs/react-ts generate",
|
|
41
|
+
"generate:examples:empty": "pnpm --filter @clockworklabs/empty-client generate",
|
|
42
|
+
"generate": "pnpm generate:moduledef && pnpm generate:client-api && pnpm generate:test-app && pnpm generate:examples:chat-react-ts && pnpm generate:examples:react-ts && pnpm generate:examples:empty",
|
|
43
|
+
"prepublishOnly": "pnpm run build && pnpm run test && pnpm run size"
|
|
44
|
+
},
|
|
25
45
|
"main": "dist/index.cjs",
|
|
26
46
|
"module": "dist/index.mjs",
|
|
27
47
|
"types": "dist/index.d.ts",
|
|
@@ -228,24 +248,5 @@
|
|
|
228
248
|
"typescript-eslint": "^8.18.2",
|
|
229
249
|
"vite": "^7.1.5",
|
|
230
250
|
"vitest": "^3.2.4"
|
|
231
|
-
},
|
|
232
|
-
"scripts": {
|
|
233
|
-
"build:js": "tsup",
|
|
234
|
-
"build:types": "tsc -p tsconfig.build.json",
|
|
235
|
-
"build": "pnpm -s build:js && pnpm -s build:types",
|
|
236
|
-
"format": "prettier . --write --ignore-path ../../.prettierignore",
|
|
237
|
-
"lint": "eslint . && prettier . --check --ignore-path ../../.prettierignore",
|
|
238
|
-
"test": "vitest run",
|
|
239
|
-
"test:typecheck": "vitest typecheck --run",
|
|
240
|
-
"coverage": "vitest run --coverage",
|
|
241
|
-
"brotli-size": "brotli-size dist/index.js",
|
|
242
|
-
"size": "pnpm -s build && size-limit",
|
|
243
|
-
"generate:moduledef": "cargo run -p spacetimedb-codegen --example regen-typescript-moduledef && prettier --write src/lib/autogen",
|
|
244
|
-
"generate:client-api": "cargo run -p generate-client-api && prettier --write src/sdk/client_api",
|
|
245
|
-
"generate:test-app": "pnpm --filter @clockworklabs/test-app generate",
|
|
246
|
-
"generate:examples:chat-react-ts": "pnpm --filter @clockworklabs/chat-react-ts generate",
|
|
247
|
-
"generate:examples:react-ts": "pnpm --filter @clockworklabs/react-ts generate",
|
|
248
|
-
"generate:examples:empty": "pnpm --filter @clockworklabs/empty-client generate",
|
|
249
|
-
"generate": "pnpm generate:moduledef && pnpm generate:client-api && pnpm generate:test-app && pnpm generate:examples:chat-react-ts && pnpm generate:examples:react-ts && pnpm generate:examples:empty"
|
|
250
251
|
}
|
|
251
|
-
}
|
|
252
|
+
}
|
|
@@ -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
|
+
}
|