UNPKG

@casual-simulation/aux-common

Version:
66 lines 2.2 kB
/* CasualOS is a set of web-based tools designed to facilitate the creation of real-time, multi-user, context-aware interactive experiences. * * Copyright (c) 2019-2025 Casual Simulation, Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <https://www.gnu.org/licenses/>. */ import { getStateFromUpdates } from '../partitions/PartitionUtils'; import { getInstStateFromUpdates } from './BotEvents'; /** * Gets whether the given stored aux matches the given version. * @param stored * @param version * @returns */ export function isStoredVersion2(stored) { return (typeof stored === 'object' && stored && 'version' in stored && stored.version === 2); } /** * Gets whether the given stored aux matches the given version. * @param stored * @param version * @returns */ export function isStoredVersion1(stored) { return (typeof stored === 'object' && stored && 'version' in stored && stored.version === 1); } /** * Gets the bot state from the given stored causal tree. * @param stored The stored tree to load. */ export function getBotsStateFromStoredAux(stored) { return getUploadState(stored); } /** * Gets the state that should be uploaded from the given data. * @param data The data. */ export function getUploadState(data) { if ('version' in data) { if (isStoredVersion2(data)) { return getStateFromUpdates(getInstStateFromUpdates(data.updates)); } else if (isStoredVersion1(data)) { return data.state; } } return data; } //# sourceMappingURL=StoredAux.js.map