UNPKG

@casual-simulation/aux-common

Version:
51 lines 2.33 kB
import type { Bot, BotsState, CreateInitializationUpdateAction, GetInstStateFromUpdatesAction, InstUpdate } from '../bots'; import '../BlobPolyfill'; import type { PartitionRemoteEvents } from './AuxPartitionConfig'; import type { RemoteActions } from '../common'; /** * Creates a new initialization update using the given action. */ export declare function constructInitializationUpdate(action: CreateInitializationUpdateAction): InstUpdate; /** * Gets the bots state that is encoded from the given action. * @param action The action. */ export declare function getStateFromUpdates(action: GetInstStateFromUpdatesAction): BotsState; /** * Merges the given inst updates into a single update. * @param updates The list of updates to merge. */ export declare function mergeInstUpdates(updates: InstUpdate[], id?: number, timestamp?: number): InstUpdate; /** * Converts the given error to a copiable value. * Returns a new value that can be sent over to web workers. * @param err The error to convert. */ export declare function convertErrorToCopiableValue(err: unknown): any; /** * Converts the given value to a copiable value. * Copiable values are strings, numbers, booleans, arrays, and objects made of any of those types. * Non-copiable values are functions and errors. * @param value */ export declare function convertToCopiableValue(value: any): any; export declare class DeepObjectError extends Error { constructor(); } /** * Checks each of the tags in the given bot to ensure that the bot is copiable and returns a new bot with serializable values if the given bot is contains non-serializable values. * @param bot The bot to check. */ export declare function ensureBotIsSerializable(bot: Bot): Bot; /** * Checks that the given tag is copiable and returns the copiable version of the value if it is not. * @param value The value to check. */ export declare function ensureTagIsSerializable(value: any): any; /** * Determines if the given config supports the given remote action. * @param config The config. If this is true, then it will be treated as if every remote event is supported. * @param action The action to test. */ export declare function supportsRemoteEvent(config: PartitionRemoteEvents | boolean, action: RemoteActions): boolean; //# sourceMappingURL=PartitionUtils.d.ts.map