@multitapio/multitap 0.0.17 → 0.0.19
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/channel.d.ts +6 -6
- package/dist/channel.d.ts.map +1 -1
- package/dist/crypto.d.ts +12 -0
- package/dist/crypto.d.ts.map +1 -1
- package/dist/input-graph.d.ts +2 -0
- package/dist/input-graph.d.ts.map +1 -1
- package/dist/lib.js +268 -118
- package/dist/react/components/SyncLoadingScreen.d.ts +27 -0
- package/dist/react/components/SyncLoadingScreen.d.ts.map +1 -0
- package/dist/react/components/SyncStatusIndicator.d.ts +15 -0
- package/dist/react/components/SyncStatusIndicator.d.ts.map +1 -0
- package/dist/react/components/index.d.ts +3 -0
- package/dist/react/components/index.d.ts.map +1 -0
- package/dist/react/hooks/usePlayers.d.ts +2 -0
- package/dist/react/hooks/usePlayers.d.ts.map +1 -1
- package/dist/react/hooks/useSyncStatus.d.ts +18 -0
- package/dist/react/hooks/useSyncStatus.d.ts.map +1 -0
- package/dist/react/index.d.ts +2 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/providers/ParticipantProvider.d.ts +51 -0
- package/dist/react/providers/ParticipantProvider.d.ts.map +1 -0
- package/dist/react/providers/SessionProvider.d.ts.map +1 -1
- package/dist/react/providers/index.d.ts +2 -0
- package/dist/react/providers/index.d.ts.map +1 -1
- package/dist/react/stores/syncStatusStore.d.ts +6 -0
- package/dist/react/stores/syncStatusStore.d.ts.map +1 -0
- package/dist/react/types/session.d.ts +4 -7
- package/dist/react/types/session.d.ts.map +1 -1
- package/dist/session.d.ts +24 -7
- package/dist/session.d.ts.map +1 -1
- package/dist/types/channel.d.ts +6 -6
- package/dist/types/channel.d.ts.map +1 -1
- package/dist/types/crypto.d.ts +12 -0
- package/dist/types/crypto.d.ts.map +1 -1
- package/dist/types/input-graph.d.ts +2 -0
- package/dist/types/input-graph.d.ts.map +1 -1
- package/dist/types/react/components/SyncLoadingScreen.d.ts +27 -0
- package/dist/types/react/components/SyncLoadingScreen.d.ts.map +1 -0
- package/dist/types/react/components/SyncStatusIndicator.d.ts +15 -0
- package/dist/types/react/components/SyncStatusIndicator.d.ts.map +1 -0
- package/dist/types/react/components/index.d.ts +3 -0
- package/dist/types/react/components/index.d.ts.map +1 -0
- package/dist/types/react/hooks/usePlayers.d.ts +2 -0
- package/dist/types/react/hooks/usePlayers.d.ts.map +1 -1
- package/dist/types/react/hooks/useSyncStatus.d.ts +18 -0
- package/dist/types/react/hooks/useSyncStatus.d.ts.map +1 -0
- package/dist/types/react/index.d.ts +2 -0
- package/dist/types/react/index.d.ts.map +1 -1
- package/dist/types/react/providers/ParticipantProvider.d.ts +51 -0
- package/dist/types/react/providers/ParticipantProvider.d.ts.map +1 -0
- package/dist/types/react/providers/SessionProvider.d.ts.map +1 -1
- package/dist/types/react/providers/index.d.ts +2 -0
- package/dist/types/react/providers/index.d.ts.map +1 -1
- package/dist/types/react/stores/syncStatusStore.d.ts +6 -0
- package/dist/types/react/stores/syncStatusStore.d.ts.map +1 -0
- package/dist/types/react/types/session.d.ts +4 -7
- package/dist/types/react/types/session.d.ts.map +1 -1
- package/dist/types/session.d.ts +24 -7
- package/dist/types/session.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSyncStatus.d.ts","sourceRoot":"","sources":["../../../../src/react/hooks/useSyncStatus.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAUnD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,IAAI,UAAU,CAe1C"}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
* React components for Multitap games
|
|
3
3
|
*/
|
|
4
4
|
export { SessionProvider, SessionContext, useSessionContext } from './providers';
|
|
5
|
+
export { ParticipantProvider, useParticipantContext, useCurrentPlayerId, useSendInput } from './providers';
|
|
6
|
+
export type { ParticipantContextValue, ParticipantProviderProps } from './providers';
|
|
5
7
|
export { useSession, useFrame, useQuery, useQueryMask, usePlayers, useCurrentPlayer, useEvent } from './hooks';
|
|
6
8
|
export type { CapturedEvent, UseEventOptions } from './hooks';
|
|
7
9
|
export type { Player, PlayerStore, EntityStore, SessionContextValue, SessionProviderProps, ReactSessionInterface, ReactCreateSession, UseSessionRenderCallback, QuerySelector, QuerySelectorContext, } from './types/session';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAChF,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1G,YAAY,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAGpF,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC9G,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAG7D,YAAY,EACV,MAAM,EACN,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,EACxB,aAAa,EACb,oBAAoB,GACrB,MAAM,iBAAiB,CAAA;AAQxB,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAG7E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAGvC,YAAY,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,cAAc,EACd,iBAAiB,GAClB,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAGvC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAGrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAC5C,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAGpF,OAAO,EACL,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,OAAO,EACP,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,QAAQ,EACR,aAAa,EACb,OAAO,GACR,MAAM,SAAS,CAAA;AAChB,YAAY,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { JoinOptions } from '../../session';
|
|
2
|
+
/**
|
|
3
|
+
* Context value provided by ParticipantProvider
|
|
4
|
+
*/
|
|
5
|
+
export interface ParticipantContextValue {
|
|
6
|
+
/** Send input to the session */
|
|
7
|
+
sendInput: (input: Uint8Array) => void;
|
|
8
|
+
/** Current player's public key as hex string */
|
|
9
|
+
currentPlayerId: string;
|
|
10
|
+
/** Whether the player has successfully joined the session */
|
|
11
|
+
isJoined: boolean;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Props for ParticipantProvider component
|
|
15
|
+
*/
|
|
16
|
+
export interface ParticipantProviderProps {
|
|
17
|
+
/** Player's private key for signing inputs */
|
|
18
|
+
playerKey: Uint8Array;
|
|
19
|
+
/** Options for joining (e.g., enableP2P) */
|
|
20
|
+
joinOptions?: JoinOptions;
|
|
21
|
+
children: React.ReactNode;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* ParticipantProvider - manages joining a session and sending inputs
|
|
25
|
+
*
|
|
26
|
+
* Must be a child of SessionProvider. Takes a player key and auto-joins the session,
|
|
27
|
+
* providing sendInput and currentPlayerId to child components.
|
|
28
|
+
*
|
|
29
|
+
* Usage:
|
|
30
|
+
* ```tsx
|
|
31
|
+
* <SessionProvider config={}>
|
|
32
|
+
* <ParticipantProvider playerKey={myPrivateKey}>
|
|
33
|
+
* <Game />
|
|
34
|
+
* </ParticipantProvider>
|
|
35
|
+
* </SessionProvider>
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export declare function ParticipantProvider({ playerKey, joinOptions, children }: ParticipantProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
39
|
+
/**
|
|
40
|
+
* Hook to access participant context
|
|
41
|
+
*/
|
|
42
|
+
export declare function useParticipantContext(): ParticipantContextValue;
|
|
43
|
+
/**
|
|
44
|
+
* Hook to get the current player ID (convenience wrapper)
|
|
45
|
+
*/
|
|
46
|
+
export declare function useCurrentPlayerId(): string;
|
|
47
|
+
/**
|
|
48
|
+
* Hook to get the sendInput function (convenience wrapper)
|
|
49
|
+
*/
|
|
50
|
+
export declare function useSendInput(): (input: Uint8Array) => void;
|
|
51
|
+
//# sourceMappingURL=ParticipantProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ParticipantProvider.d.ts","sourceRoot":"","sources":["../../../../src/react/providers/ParticipantProvider.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAwB,WAAW,EAAE,MAAM,eAAe,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,gCAAgC;IAChC,SAAS,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACvC,gDAAgD;IAChD,eAAe,EAAE,MAAM,CAAC;IACxB,6DAA6D;IAC7D,QAAQ,EAAE,OAAO,CAAC;CACnB;AAID;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,8CAA8C;IAC9C,SAAS,EAAE,UAAU,CAAC;IACtB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,wBAAwB,2CA0DjG;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,uBAAuB,CAM/D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAE1D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionProvider.d.ts","sourceRoot":"","sources":["../../../../src/react/providers/SessionProvider.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SessionProvider.d.ts","sourceRoot":"","sources":["../../../../src/react/providers/SessionProvider.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EAKrB,MAAM,kBAAkB,CAAC;AAQ1B,eAAO,MAAM,cAAc,qDAAkD,CAAC;AA6D9E;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,oBAAoB,2CA4GzE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,mBAAmB,CAMvD"}
|
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
export { SessionProvider, SessionContext, useSessionContext } from './SessionProvider';
|
|
2
|
+
export { ParticipantProvider, useParticipantContext, useCurrentPlayerId, useSendInput } from './ParticipantProvider';
|
|
3
|
+
export type { ParticipantContextValue, ParticipantProviderProps } from './ParticipantProvider';
|
|
2
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/react/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/react/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACtF,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpH,YAAY,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"syncStatusStore.d.ts","sourceRoot":"","sources":["../../../../src/react/stores/syncStatusStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAc,eAAe,EAAE,MAAM,kBAAkB,CAAC;AASpE;;GAEG;AACH,wBAAgB,qBAAqB,gDAQpC"}
|
|
@@ -2,7 +2,7 @@ import type { RefObject } from 'react';
|
|
|
2
2
|
import type { RootState } from '@react-three/fiber';
|
|
3
3
|
import type { StoreApi as ZustandStoreApi } from 'zustand';
|
|
4
4
|
import type { SessionConfig } from '../../session-config';
|
|
5
|
-
import type { SessionStats, SessionOptions, SessionInterface } from '../../session';
|
|
5
|
+
import type { SessionStats, SessionOptions, SessionInterface, InputSenderInterface, JoinOptions } from '../../session';
|
|
6
6
|
import type { Participant } from '../../input-graph';
|
|
7
7
|
import type { EntityRef, CompiledSchema } from '../../state';
|
|
8
8
|
import type { InputCodec } from '../../input-codec';
|
|
@@ -50,8 +50,6 @@ export interface SessionContextValue {
|
|
|
50
50
|
isReady: boolean;
|
|
51
51
|
/** Error during session initialization */
|
|
52
52
|
error: Error | null;
|
|
53
|
-
/** Send input to the session */
|
|
54
|
-
sendInput: (input: Uint8Array) => void;
|
|
55
53
|
/** Compiled input bindings */
|
|
56
54
|
inputBindings: InputCodec;
|
|
57
55
|
/** Session has ended */
|
|
@@ -62,8 +60,8 @@ export interface SessionContextValue {
|
|
|
62
60
|
schema: CompiledSchema;
|
|
63
61
|
/** Get session stats */
|
|
64
62
|
getStats: () => SessionStats;
|
|
65
|
-
/**
|
|
66
|
-
|
|
63
|
+
/** Join the session as a participant, returns an InputSender */
|
|
64
|
+
join: (playerKey: Uint8Array, options?: JoinOptions) => Promise<InputSenderInterface>;
|
|
67
65
|
}
|
|
68
66
|
/**
|
|
69
67
|
* Props for SessionProvider component
|
|
@@ -78,12 +76,11 @@ export interface SessionProviderProps {
|
|
|
78
76
|
export interface ReactSessionInterface {
|
|
79
77
|
getConfig: SessionInterface['getConfig'];
|
|
80
78
|
getInputBindings: SessionInterface['getInputBindings'];
|
|
81
|
-
sendInput: SessionInterface['sendInput'];
|
|
82
79
|
getState: SessionInterface['getState'];
|
|
83
80
|
getStats: SessionInterface['getStats'];
|
|
84
81
|
close: SessionInterface['close'];
|
|
85
82
|
getParticipants: SessionInterface['getParticipants'];
|
|
86
|
-
|
|
83
|
+
join: (playerKey: Uint8Array, options?: JoinOptions) => Promise<InputSenderInterface>;
|
|
87
84
|
}
|
|
88
85
|
/**
|
|
89
86
|
* Factory function type for creating sessions (allows test mocking)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/react/types/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,SAAS,CAAA;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,gBAAgB,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/react/types/session.ts"],"names":[],"mappings":"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"}
|
package/dist/types/session.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { type CompiledSchema, type StateBuffer, type StateSchema, type StoreApi
|
|
|
4
4
|
import type { CompiledInitDataSchema } from './schema';
|
|
5
5
|
import { type Rollback as RollbackClass } from './rollback';
|
|
6
6
|
import { SessionConfig } from './session-config';
|
|
7
|
+
import { PeerMesh } from './peer-mesh';
|
|
7
8
|
import type { Participant } from './input-graph';
|
|
8
9
|
export * from './input-graph';
|
|
9
10
|
export declare const OPTIMISTIC_NONE: "NONE";
|
|
@@ -41,7 +42,6 @@ export interface MultitapConfig {
|
|
|
41
42
|
};
|
|
42
43
|
}
|
|
43
44
|
export interface SessionOptions {
|
|
44
|
-
playerKey: Uint8Array;
|
|
45
45
|
authority?: string;
|
|
46
46
|
appID: string;
|
|
47
47
|
path: string[] | string;
|
|
@@ -56,6 +56,7 @@ export interface SessionOptions {
|
|
|
56
56
|
maxTicksPerBatch?: number;
|
|
57
57
|
tickLag?: number;
|
|
58
58
|
connectionTimeoutMs?: number;
|
|
59
|
+
joinTimeoutMs?: number;
|
|
59
60
|
plugins: MultitapPlugin[];
|
|
60
61
|
schema: {
|
|
61
62
|
state: StateSchema | CompiledSchema;
|
|
@@ -66,9 +67,27 @@ export interface SessionOptions {
|
|
|
66
67
|
renderer: Renderer;
|
|
67
68
|
logSyncTicks?: boolean;
|
|
68
69
|
enableStatsCollection?: boolean;
|
|
69
|
-
enableP2P?: boolean;
|
|
70
70
|
optimisticStrategy: OptimisticStrategy;
|
|
71
71
|
predictedHeadMax?: number | 'auto';
|
|
72
|
+
manifestURL?: string | undefined;
|
|
73
|
+
}
|
|
74
|
+
export interface InputSenderInterface {
|
|
75
|
+
sendInput(input: Uint8Array): void;
|
|
76
|
+
readonly currentPlayerId: string;
|
|
77
|
+
getPublicKey(): Uint8Array;
|
|
78
|
+
}
|
|
79
|
+
export interface JoinOptions {
|
|
80
|
+
enableP2P?: boolean;
|
|
81
|
+
}
|
|
82
|
+
export declare class InputSender implements InputSenderInterface {
|
|
83
|
+
private channel;
|
|
84
|
+
private privateKey;
|
|
85
|
+
private publicKey;
|
|
86
|
+
private peerMesh;
|
|
87
|
+
constructor(channel: Channel, privateKey: Uint8Array, peerMesh: PeerMesh | null);
|
|
88
|
+
sendInput(input: Uint8Array): void;
|
|
89
|
+
get currentPlayerId(): string;
|
|
90
|
+
getPublicKey(): Uint8Array;
|
|
72
91
|
}
|
|
73
92
|
declare class Session {
|
|
74
93
|
private channel;
|
|
@@ -76,7 +95,6 @@ declare class Session {
|
|
|
76
95
|
private config;
|
|
77
96
|
private initializing;
|
|
78
97
|
private initialized;
|
|
79
|
-
private playerKey;
|
|
80
98
|
private compiledStateSchema;
|
|
81
99
|
private rollbackWorkerUrl;
|
|
82
100
|
private rollbackWorker;
|
|
@@ -86,6 +104,7 @@ declare class Session {
|
|
|
86
104
|
readonly debug: boolean | undefined;
|
|
87
105
|
private autoConnect;
|
|
88
106
|
private connectionTimeoutMs;
|
|
107
|
+
private joinTimeoutMs;
|
|
89
108
|
private tickLag;
|
|
90
109
|
private logSyncTicks;
|
|
91
110
|
private schema;
|
|
@@ -103,20 +122,18 @@ declare class Session {
|
|
|
103
122
|
private participantsById;
|
|
104
123
|
private participantsSorted;
|
|
105
124
|
private peerMesh;
|
|
106
|
-
private enableP2P;
|
|
107
125
|
private optimisticStrategy;
|
|
108
126
|
private predictedHeadMax;
|
|
127
|
+
private manifestURL;
|
|
109
128
|
constructor(options: SessionOptions);
|
|
110
129
|
init(): Promise<void>;
|
|
111
|
-
getCurrentPlayerId(): string;
|
|
112
130
|
getParticipants(): readonly Participant[];
|
|
113
131
|
private onParticipantJoined;
|
|
114
132
|
getConfig(): SessionConfig;
|
|
115
133
|
getStateBindings(): StoreApi;
|
|
116
134
|
getInputBindings(): InputCodec;
|
|
117
|
-
|
|
135
|
+
join(privateKey: Uint8Array, options?: JoinOptions): Promise<InputSender>;
|
|
118
136
|
getState(): StateBuffer;
|
|
119
|
-
private onInputSendError;
|
|
120
137
|
private onStateUpdate;
|
|
121
138
|
getStats(): SessionStats;
|
|
122
139
|
close(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAqB,KAAK,UAAU,EAAE,KAAK,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAC7F,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,QAAQ,EACd,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAGvD,OAAO,EAAE,KAAK,QAAQ,IAAI,aAAa,EAAE,MAAM,YAAY,CAAC;AAM5D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"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"}
|