@casual-simulation/aux-vm-browser
Version:
A set of utilities required to securely run an AUX in a web browser.
52 lines • 2.28 kB
TypeScript
import type { Bot, UpdatedBot, BotAction, BotsState, LocalStoragePartition, LocalStoragePartitionConfig, AuxPartitionRealtimeStrategy, StateUpdatedEvent } from '@casual-simulation/aux-common';
import type { StatusUpdate, Action, CurrentVersion } from '@casual-simulation/aux-common';
import type { Observable } from 'rxjs';
import { Subject, BehaviorSubject } from 'rxjs';
/**
* Attempts to create a proxy client partition that is loaded from a remote inst.
* @param options The options to use.
* @param config The config to use.
*/
export declare function createLocalStoragePartition(config: LocalStoragePartitionConfig): Promise<LocalStoragePartitionImpl>;
export declare class LocalStoragePartitionImpl implements LocalStoragePartition {
protected _onBotsAdded: Subject<Bot[]>;
protected _onBotsRemoved: Subject<string[]>;
protected _onBotsUpdated: Subject<UpdatedBot[]>;
protected _onStateUpdated: Subject<StateUpdatedEvent>;
protected _onVersionUpdated: BehaviorSubject<CurrentVersion>;
protected _onError: Subject<any>;
protected _onEvents: Subject<Action[]>;
protected _onStatusUpdated: Subject<StatusUpdate>;
protected _hasRegisteredSubs: boolean;
private _state;
private _sub;
private _siteId;
private _remoteSite;
private _updateCounter;
private _botsNamespace;
private _instNamespace;
get realtimeStrategy(): AuxPartitionRealtimeStrategy;
get onBotsAdded(): Observable<Bot[]>;
get onBotsRemoved(): Observable<string[]>;
get onBotsUpdated(): Observable<UpdatedBot[]>;
get onStateUpdated(): Observable<StateUpdatedEvent>;
get onError(): Observable<any>;
get onEvents(): Observable<Action[]>;
get onStatusUpdated(): Observable<StatusUpdate>;
get onVersionUpdated(): Observable<CurrentVersion>;
unsubscribe(): void;
get closed(): boolean;
get state(): BotsState;
type: "local_storage";
private: boolean;
namespace: string;
space: string;
constructor(config: LocalStoragePartitionConfig);
applyEvents(events: BotAction[]): Promise<BotAction[]>;
init(): Promise<void>;
connect(): void;
private _watchLocalStorage;
private _loadExistingBots;
private _applyEvents;
}
//# sourceMappingURL=LocalStoragePartition.d.ts.map