From 9a045a079a28ed138918db332ff595ac0b07dd09 Mon Sep 17 00:00:00 2001 From: Zach Parks Date: Fri, 8 Nov 2024 09:32:48 -0600 Subject: [PATCH] 2.0.0 documentation --- docs/.typedoc-plugin-versions | 2 +- docs/dev | 2 +- docs/stable | 2 +- docs/v2.0 | 2 +- docs/v2.0.0/CNAME | 1 + docs/v2.0.0/assets/dmt/dmt-component-data.js | 1 + docs/v2.0.0/assets/dmt/dmt-components.css | 20 + docs/v2.0.0/assets/dmt/dmt-components.js | 67 + docs/v2.0.0/assets/dmt/dmt-search.cmp | Bin 0 -> 16585 bytes docs/v2.0.0/assets/dmt/dmt-theme.css | 1 + .../assets/dmt/icons/service/discord.png | Bin 0 -> 6041 bytes .../assets/dmt/icons/service/github.png | Bin 0 -> 6395 bytes docs/v2.0.0/assets/dmt/icons/service/npm.png | Bin 0 -> 4545 bytes docs/v2.0.0/assets/highlight.css | 106 ++ docs/v2.0.0/assets/icons.js | 18 + docs/v2.0.0/assets/icons.svg | 1 + docs/v2.0.0/assets/main.js | 60 + docs/v2.0.0/assets/my-theme.css | 157 ++ docs/v2.0.0/assets/onload.js | 1 + docs/v2.0.0/assets/style.css | 1493 +++++++++++++++++ docs/v2.0.0/assets/versionsMenu.js | 21 + docs/v2.0.0/classes/BaseMessageNode.html | 27 + docs/v2.0.0/classes/Client.html | 106 ++ docs/v2.0.0/classes/ColorMessageNode.html | 29 + docs/v2.0.0/classes/DataPackageManager.html | 62 + docs/v2.0.0/classes/DataStorageManager.html | 48 + docs/v2.0.0/classes/DeathLinkManager.html | 47 + docs/v2.0.0/classes/EventBasedManager.html | 34 + docs/v2.0.0/classes/Hint.html | 12 + .../classes/IntermediateDataOperation.html | 65 + docs/v2.0.0/classes/Item.html | 34 + docs/v2.0.0/classes/ItemMessageNode.html | 28 + docs/v2.0.0/classes/ItemsManager.html | 41 + docs/v2.0.0/classes/LocationMessageNode.html | 28 + docs/v2.0.0/classes/MessageManager.html | 42 + docs/v2.0.0/classes/PackageMetadata.html | 21 + docs/v2.0.0/classes/Player.html | 33 + docs/v2.0.0/classes/PlayerMessageNode.html | 28 + docs/v2.0.0/classes/PlayersManager.html | 49 + docs/v2.0.0/classes/RoomStateManager.html | 68 + docs/v2.0.0/classes/SocketManager.html | 53 + docs/v2.0.0/classes/TextualMessageNode.html | 27 + .../v2.0.0/classes/index.BaseMessageNode.html | 27 + docs/v2.0.0/classes/index.Client.html | 106 ++ .../classes/index.ColorMessageNode.html | 29 + .../classes/index.DataPackageManager.html | 62 + .../classes/index.DataStorageManager.html | 48 + .../classes/index.DeathLinkManager.html | 47 + .../classes/index.EventBasedManager.html | 34 + docs/v2.0.0/classes/index.Hint.html | 12 + .../index.IntermediateDataOperation.html | 65 + docs/v2.0.0/classes/index.Item.html | 34 + .../v2.0.0/classes/index.ItemMessageNode.html | 28 + docs/v2.0.0/classes/index.ItemsManager.html | 41 + .../classes/index.LocationMessageNode.html | 28 + docs/v2.0.0/classes/index.MessageManager.html | 42 + .../v2.0.0/classes/index.PackageMetadata.html | 21 + docs/v2.0.0/classes/index.Player.html | 33 + .../classes/index.PlayerMessageNode.html | 28 + docs/v2.0.0/classes/index.PlayersManager.html | 49 + .../classes/index.RoomStateManager.html | 68 + docs/v2.0.0/classes/index.SocketManager.html | 53 + .../classes/index.TextualMessageNode.html | 27 + docs/v2.0.0/documents/Quick_Start.html | 62 + docs/v2.0.0/favicon.png | Bin 0 -> 5155 bytes docs/v2.0.0/hierarchy.html | 5 + docs/v2.0.0/index.html | 32 + .../API.AdminCommandResultJSONPacket.html | 12 + docs/v2.0.0/interfaces/API.BouncePacket.html | 17 + docs/v2.0.0/interfaces/API.BouncedPacket.html | 15 + .../v2.0.0/interfaces/API.ChatJSONPacket.html | 18 + .../interfaces/API.CollectJSONPacket.html | 16 + .../API.CommandResultJSONPacket.html | 12 + docs/v2.0.0/interfaces/API.ConnectPacket.html | 24 + .../interfaces/API.ConnectUpdatePacket.html | 12 + .../interfaces/API.ConnectedPacket.html | 26 + .../API.ConnectionRefusedPacket.html | 10 + .../interfaces/API.CountdownJSONPacket.html | 14 + .../interfaces/API.DataPackagePacket.html | 11 + .../interfaces/API.GetDataPackagePacket.html | 10 + docs/v2.0.0/interfaces/API.GetPacket.html | 24 + .../v2.0.0/interfaces/API.GoalJSONPacket.html | 16 + .../v2.0.0/interfaces/API.HintJSONPacket.html | 18 + .../API.InvalidArgumentsPacketPacket.html | 12 + .../API.InvalidCommandPacketPacket.html | 14 + .../interfaces/API.ItemCheatJSONPacket.html | 18 + .../interfaces/API.ItemSendJSONPacket.html | 16 + .../v2.0.0/interfaces/API.JoinJSONPacket.html | 18 + .../interfaces/API.LocationChecksPacket.html | 11 + .../interfaces/API.LocationInfoPacket.html | 10 + .../interfaces/API.LocationScoutsPacket.html | 20 + .../v2.0.0/interfaces/API.PartJSONPacket.html | 16 + .../interfaces/API.ReceivedItemsPacket.html | 11 + .../interfaces/API.ReleaseJSONPacket.html | 16 + .../interfaces/API.RetrievedPacket.html | 12 + .../v2.0.0/interfaces/API.RoomInfoPacket.html | 31 + .../interfaces/API.RoomUpdatePacket.html | 29 + docs/v2.0.0/interfaces/API.SayPacket.html | 9 + .../interfaces/API.ServerChatJSONPacket.html | 14 + .../interfaces/API.SetNotifyPacket.html | 10 + docs/v2.0.0/interfaces/API.SetPacket.html | 20 + .../v2.0.0/interfaces/API.SetReplyPacket.html | 18 + .../interfaces/API.StatusUpdatePacket.html | 10 + docs/v2.0.0/interfaces/API.SyncPacket.html | 10 + .../interfaces/API.TagsChangedJSONPacket.html | 18 + .../interfaces/API.TutorialJSONPacket.html | 12 + docs/v2.0.0/interfaces/ClientOptions.html | 30 + docs/v2.0.0/interfaces/ConnectionOptions.html | 40 + ...ndex.API.AdminCommandResultJSONPacket.html | 12 + .../interfaces/index.API.BouncePacket.html | 17 + .../interfaces/index.API.BouncedPacket.html | 15 + .../interfaces/index.API.ChatJSONPacket.html | 18 + .../index.API.CollectJSONPacket.html | 16 + .../index.API.CommandResultJSONPacket.html | 12 + .../interfaces/index.API.ConnectPacket.html | 24 + .../index.API.ConnectUpdatePacket.html | 12 + .../interfaces/index.API.ConnectedPacket.html | 26 + .../index.API.ConnectionRefusedPacket.html | 10 + .../index.API.CountdownJSONPacket.html | 14 + .../index.API.DataPackagePacket.html | 11 + .../index.API.GetDataPackagePacket.html | 10 + .../interfaces/index.API.GetPacket.html | 24 + .../interfaces/index.API.GoalJSONPacket.html | 16 + .../interfaces/index.API.HintJSONPacket.html | 18 + ...ndex.API.InvalidArgumentsPacketPacket.html | 12 + .../index.API.InvalidCommandPacketPacket.html | 14 + .../index.API.ItemCheatJSONPacket.html | 18 + .../index.API.ItemSendJSONPacket.html | 16 + .../interfaces/index.API.JoinJSONPacket.html | 18 + .../index.API.LocationChecksPacket.html | 11 + .../index.API.LocationInfoPacket.html | 10 + .../index.API.LocationScoutsPacket.html | 20 + .../interfaces/index.API.PartJSONPacket.html | 16 + .../index.API.ReceivedItemsPacket.html | 11 + .../index.API.ReleaseJSONPacket.html | 16 + .../interfaces/index.API.RetrievedPacket.html | 12 + .../interfaces/index.API.RoomInfoPacket.html | 31 + .../index.API.RoomUpdatePacket.html | 29 + .../interfaces/index.API.SayPacket.html | 9 + .../index.API.ServerChatJSONPacket.html | 14 + .../interfaces/index.API.SetNotifyPacket.html | 10 + .../interfaces/index.API.SetPacket.html | 20 + .../interfaces/index.API.SetReplyPacket.html | 18 + .../index.API.StatusUpdatePacket.html | 10 + .../interfaces/index.API.SyncPacket.html | 10 + .../index.API.TagsChangedJSONPacket.html | 18 + .../index.API.TutorialJSONPacket.html | 12 + .../interfaces/index.ClientOptions.html | 30 + .../interfaces/index.ConnectionOptions.html | 40 + docs/v2.0.0/modules.html | 15 + docs/v2.0.0/modules/API.html | 107 ++ docs/v2.0.0/modules/index.API.html | 107 ++ docs/v2.0.0/modules/index.html | 49 + docs/v2.0.0/sitemap.xml | 515 ++++++ .../types/API.AddDataStorageOperation.html | 9 + .../types/API.AndDataStorageOperation.html | 8 + .../API.CeilingDataStorageOperation.html | 8 + docs/v2.0.0/types/API.ClientPacket.html | 5 + .../types/API.ColorJSONMessagePart.html | 10 + docs/v2.0.0/types/API.ConnectionError.html | 7 + docs/v2.0.0/types/API.DataPackage.html | 14 + .../types/API.DataStorageOperation.html | 15 + .../API.DefaultDataStorageOperation.html | 9 + .../types/API.FloorDataStorageOperation.html | 8 + docs/v2.0.0/types/API.GamePackage.html | 9 + .../v2.0.0/types/API.InvalidPacketPacket.html | 9 + .../v2.0.0/types/API.ItemJSONMessagePart.html | 11 + docs/v2.0.0/types/API.JSONMessagePart.html | 8 + docs/v2.0.0/types/API.JSONRecord.html | 6 + docs/v2.0.0/types/API.JSONSerializable.html | 6 + .../API.LeftShiftDataStorageOperation.html | 8 + .../types/API.LocationJSONMessagePart.html | 10 + .../types/API.MaxDataStorageOperation.html | 8 + .../types/API.MinDataStorageOperation.html | 8 + .../types/API.ModuloDataStorageOperation.html | 8 + .../API.MultiplyDataStorageOperation.html | 8 + docs/v2.0.0/types/API.NetworkHint.html | 13 + docs/v2.0.0/types/API.NetworkItem.html | 11 + docs/v2.0.0/types/API.NetworkPlayer.html | 12 + docs/v2.0.0/types/API.NetworkSlot.html | 10 + docs/v2.0.0/types/API.NetworkVersion.html | 12 + .../types/API.OrDataStorageOperation.html | 8 + docs/v2.0.0/types/API.PermissionTable.html | 35 + docs/v2.0.0/types/API.PermissionValue.html | 6 + .../types/API.PopDataStorageOperation.html | 9 + .../types/API.PowerDataStorageOperation.html | 8 + docs/v2.0.0/types/API.PrintJSONPacket.html | 9 + docs/v2.0.0/types/API.PrintJSONType.html | 6 + .../types/API.RemoveDataStorageOperation.html | 8 + .../API.ReplaceDataStorageOperation.html | 8 + .../API.RightShiftDataStorageOperation.html | 8 + docs/v2.0.0/types/API.ServerPacket.html | 5 + .../v2.0.0/types/API.TextJSONMessagePart.html | 10 + .../types/API.UpdateDataStorageOperation.html | 9 + docs/v2.0.0/types/API.ValidJSONColorType.html | 9 + .../types/API.ValidJSONMessagePartType.html | 18 + .../types/API.XorDataStorageOperation.html | 8 + docs/v2.0.0/types/ClientStatus.html | 6 + docs/v2.0.0/types/DataChangeCallback.html | 6 + docs/v2.0.0/types/DeathEvents.html | 12 + docs/v2.0.0/types/ItemEvents.html | 16 + docs/v2.0.0/types/MessageEvents.html | 73 + docs/v2.0.0/types/MessageLog.html | 6 + docs/v2.0.0/types/MessageNode.html | 6 + docs/v2.0.0/types/PlayerEvents.html | 9 + docs/v2.0.0/types/RoomStateEvents.html | 25 + docs/v2.0.0/types/SocketEvents.html | 45 + .../index.API.AddDataStorageOperation.html | 9 + .../index.API.AndDataStorageOperation.html | 8 + ...index.API.CeilingDataStorageOperation.html | 8 + docs/v2.0.0/types/index.API.ClientPacket.html | 5 + .../types/index.API.ColorJSONMessagePart.html | 10 + .../types/index.API.ConnectionError.html | 7 + docs/v2.0.0/types/index.API.DataPackage.html | 14 + .../types/index.API.DataStorageOperation.html | 15 + ...index.API.DefaultDataStorageOperation.html | 9 + .../index.API.FloorDataStorageOperation.html | 8 + docs/v2.0.0/types/index.API.GamePackage.html | 9 + .../types/index.API.InvalidPacketPacket.html | 9 + .../types/index.API.ItemJSONMessagePart.html | 11 + .../types/index.API.JSONMessagePart.html | 8 + docs/v2.0.0/types/index.API.JSONRecord.html | 6 + .../types/index.API.JSONSerializable.html | 6 + ...dex.API.LeftShiftDataStorageOperation.html | 8 + .../index.API.LocationJSONMessagePart.html | 10 + .../index.API.MaxDataStorageOperation.html | 8 + .../index.API.MinDataStorageOperation.html | 8 + .../index.API.ModuloDataStorageOperation.html | 8 + ...ndex.API.MultiplyDataStorageOperation.html | 8 + docs/v2.0.0/types/index.API.NetworkHint.html | 13 + docs/v2.0.0/types/index.API.NetworkItem.html | 11 + .../v2.0.0/types/index.API.NetworkPlayer.html | 12 + docs/v2.0.0/types/index.API.NetworkSlot.html | 10 + .../types/index.API.NetworkVersion.html | 12 + .../index.API.OrDataStorageOperation.html | 8 + .../types/index.API.PermissionTable.html | 35 + .../types/index.API.PermissionValue.html | 6 + .../index.API.PopDataStorageOperation.html | 9 + .../index.API.PowerDataStorageOperation.html | 8 + .../types/index.API.PrintJSONPacket.html | 9 + .../v2.0.0/types/index.API.PrintJSONType.html | 6 + .../index.API.RemoveDataStorageOperation.html | 8 + ...index.API.ReplaceDataStorageOperation.html | 8 + ...ex.API.RightShiftDataStorageOperation.html | 8 + docs/v2.0.0/types/index.API.ServerPacket.html | 5 + .../types/index.API.TextJSONMessagePart.html | 10 + .../index.API.UpdateDataStorageOperation.html | 9 + .../types/index.API.ValidJSONColorType.html | 9 + .../index.API.ValidJSONMessagePartType.html | 18 + .../index.API.XorDataStorageOperation.html | 8 + docs/v2.0.0/types/index.ClientStatus.html | 6 + .../types/index.DataChangeCallback.html | 6 + docs/v2.0.0/types/index.DeathEvents.html | 12 + docs/v2.0.0/types/index.ItemEvents.html | 16 + docs/v2.0.0/types/index.MessageEvents.html | 73 + docs/v2.0.0/types/index.MessageLog.html | 6 + docs/v2.0.0/types/index.MessageNode.html | 6 + docs/v2.0.0/types/index.PlayerEvents.html | 9 + docs/v2.0.0/types/index.RoomStateEvents.html | 25 + docs/v2.0.0/types/index.SocketEvents.html | 45 + docs/v2.0.0/variables/API.clientStatuses.html | 12 + .../variables/API.itemClassifications.html | 10 + .../variables/API.itemsHandlingFlags.html | 11 + docs/v2.0.0/variables/API.permissions.html | 14 + docs/v2.0.0/variables/API.slotTypes.html | 9 + .../variables/index.API.clientStatuses.html | 12 + .../index.API.itemClassifications.html | 10 + .../index.API.itemsHandlingFlags.html | 11 + .../variables/index.API.permissions.html | 14 + .../v2.0.0/variables/index.API.slotTypes.html | 9 + .../variables/index.libraryVersion.html | 5 + .../v2.0.0/variables/index.targetVersion.html | 7 + docs/v2.0.0/variables/libraryVersion.html | 5 + docs/v2.0.0/variables/targetVersion.html | 7 + docs/versions.js | 1 - 275 files changed, 7339 insertions(+), 5 deletions(-) create mode 100644 docs/v2.0.0/CNAME create mode 100644 docs/v2.0.0/assets/dmt/dmt-component-data.js create mode 100644 docs/v2.0.0/assets/dmt/dmt-components.css create mode 100644 docs/v2.0.0/assets/dmt/dmt-components.js create mode 100644 docs/v2.0.0/assets/dmt/dmt-search.cmp create mode 100644 docs/v2.0.0/assets/dmt/dmt-theme.css create mode 100644 docs/v2.0.0/assets/dmt/icons/service/discord.png create mode 100644 docs/v2.0.0/assets/dmt/icons/service/github.png create mode 100644 docs/v2.0.0/assets/dmt/icons/service/npm.png create mode 100644 docs/v2.0.0/assets/highlight.css create mode 100644 docs/v2.0.0/assets/icons.js create mode 100644 docs/v2.0.0/assets/icons.svg create mode 100644 docs/v2.0.0/assets/main.js create mode 100644 docs/v2.0.0/assets/my-theme.css create mode 100644 docs/v2.0.0/assets/onload.js create mode 100644 docs/v2.0.0/assets/style.css create mode 100644 docs/v2.0.0/assets/versionsMenu.js create mode 100644 docs/v2.0.0/classes/BaseMessageNode.html create mode 100644 docs/v2.0.0/classes/Client.html create mode 100644 docs/v2.0.0/classes/ColorMessageNode.html create mode 100644 docs/v2.0.0/classes/DataPackageManager.html create mode 100644 docs/v2.0.0/classes/DataStorageManager.html create mode 100644 docs/v2.0.0/classes/DeathLinkManager.html create mode 100644 docs/v2.0.0/classes/EventBasedManager.html create mode 100644 docs/v2.0.0/classes/Hint.html create mode 100644 docs/v2.0.0/classes/IntermediateDataOperation.html create mode 100644 docs/v2.0.0/classes/Item.html create mode 100644 docs/v2.0.0/classes/ItemMessageNode.html create mode 100644 docs/v2.0.0/classes/ItemsManager.html create mode 100644 docs/v2.0.0/classes/LocationMessageNode.html create mode 100644 docs/v2.0.0/classes/MessageManager.html create mode 100644 docs/v2.0.0/classes/PackageMetadata.html create mode 100644 docs/v2.0.0/classes/Player.html create mode 100644 docs/v2.0.0/classes/PlayerMessageNode.html create mode 100644 docs/v2.0.0/classes/PlayersManager.html create mode 100644 docs/v2.0.0/classes/RoomStateManager.html create mode 100644 docs/v2.0.0/classes/SocketManager.html create mode 100644 docs/v2.0.0/classes/TextualMessageNode.html create mode 100644 docs/v2.0.0/classes/index.BaseMessageNode.html create mode 100644 docs/v2.0.0/classes/index.Client.html create mode 100644 docs/v2.0.0/classes/index.ColorMessageNode.html create mode 100644 docs/v2.0.0/classes/index.DataPackageManager.html create mode 100644 docs/v2.0.0/classes/index.DataStorageManager.html create mode 100644 docs/v2.0.0/classes/index.DeathLinkManager.html create mode 100644 docs/v2.0.0/classes/index.EventBasedManager.html create mode 100644 docs/v2.0.0/classes/index.Hint.html create mode 100644 docs/v2.0.0/classes/index.IntermediateDataOperation.html create mode 100644 docs/v2.0.0/classes/index.Item.html create mode 100644 docs/v2.0.0/classes/index.ItemMessageNode.html create mode 100644 docs/v2.0.0/classes/index.ItemsManager.html create mode 100644 docs/v2.0.0/classes/index.LocationMessageNode.html create mode 100644 docs/v2.0.0/classes/index.MessageManager.html create mode 100644 docs/v2.0.0/classes/index.PackageMetadata.html create mode 100644 docs/v2.0.0/classes/index.Player.html create mode 100644 docs/v2.0.0/classes/index.PlayerMessageNode.html create mode 100644 docs/v2.0.0/classes/index.PlayersManager.html create mode 100644 docs/v2.0.0/classes/index.RoomStateManager.html create mode 100644 docs/v2.0.0/classes/index.SocketManager.html create mode 100644 docs/v2.0.0/classes/index.TextualMessageNode.html create mode 100644 docs/v2.0.0/documents/Quick_Start.html create mode 100644 docs/v2.0.0/favicon.png create mode 100644 docs/v2.0.0/hierarchy.html create mode 100644 docs/v2.0.0/index.html create mode 100644 docs/v2.0.0/interfaces/API.AdminCommandResultJSONPacket.html create mode 100644 docs/v2.0.0/interfaces/API.BouncePacket.html create mode 100644 docs/v2.0.0/interfaces/API.BouncedPacket.html create mode 100644 docs/v2.0.0/interfaces/API.ChatJSONPacket.html create mode 100644 docs/v2.0.0/interfaces/API.CollectJSONPacket.html create mode 100644 docs/v2.0.0/interfaces/API.CommandResultJSONPacket.html create mode 100644 docs/v2.0.0/interfaces/API.ConnectPacket.html create mode 100644 docs/v2.0.0/interfaces/API.ConnectUpdatePacket.html create mode 100644 docs/v2.0.0/interfaces/API.ConnectedPacket.html create mode 100644 docs/v2.0.0/interfaces/API.ConnectionRefusedPacket.html create mode 100644 docs/v2.0.0/interfaces/API.CountdownJSONPacket.html create mode 100644 docs/v2.0.0/interfaces/API.DataPackagePacket.html create mode 100644 docs/v2.0.0/interfaces/API.GetDataPackagePacket.html create mode 100644 docs/v2.0.0/interfaces/API.GetPacket.html create mode 100644 docs/v2.0.0/interfaces/API.GoalJSONPacket.html create mode 100644 docs/v2.0.0/interfaces/API.HintJSONPacket.html create mode 100644 docs/v2.0.0/interfaces/API.InvalidArgumentsPacketPacket.html create mode 100644 docs/v2.0.0/interfaces/API.InvalidCommandPacketPacket.html create mode 100644 docs/v2.0.0/interfaces/API.ItemCheatJSONPacket.html create mode 100644 docs/v2.0.0/interfaces/API.ItemSendJSONPacket.html create mode 100644 docs/v2.0.0/interfaces/API.JoinJSONPacket.html create mode 100644 docs/v2.0.0/interfaces/API.LocationChecksPacket.html create mode 100644 docs/v2.0.0/interfaces/API.LocationInfoPacket.html create mode 100644 docs/v2.0.0/interfaces/API.LocationScoutsPacket.html create mode 100644 docs/v2.0.0/interfaces/API.PartJSONPacket.html create mode 100644 docs/v2.0.0/interfaces/API.ReceivedItemsPacket.html create mode 100644 docs/v2.0.0/interfaces/API.ReleaseJSONPacket.html create mode 100644 docs/v2.0.0/interfaces/API.RetrievedPacket.html create mode 100644 docs/v2.0.0/interfaces/API.RoomInfoPacket.html create mode 100644 docs/v2.0.0/interfaces/API.RoomUpdatePacket.html create mode 100644 docs/v2.0.0/interfaces/API.SayPacket.html create mode 100644 docs/v2.0.0/interfaces/API.ServerChatJSONPacket.html create mode 100644 docs/v2.0.0/interfaces/API.SetNotifyPacket.html create mode 100644 docs/v2.0.0/interfaces/API.SetPacket.html create mode 100644 docs/v2.0.0/interfaces/API.SetReplyPacket.html create mode 100644 docs/v2.0.0/interfaces/API.StatusUpdatePacket.html create mode 100644 docs/v2.0.0/interfaces/API.SyncPacket.html create mode 100644 docs/v2.0.0/interfaces/API.TagsChangedJSONPacket.html create mode 100644 docs/v2.0.0/interfaces/API.TutorialJSONPacket.html create mode 100644 docs/v2.0.0/interfaces/ClientOptions.html create mode 100644 docs/v2.0.0/interfaces/ConnectionOptions.html create mode 100644 docs/v2.0.0/interfaces/index.API.AdminCommandResultJSONPacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.BouncePacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.BouncedPacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.ChatJSONPacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.CollectJSONPacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.CommandResultJSONPacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.ConnectPacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.ConnectUpdatePacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.ConnectedPacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.ConnectionRefusedPacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.CountdownJSONPacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.DataPackagePacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.GetDataPackagePacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.GetPacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.GoalJSONPacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.HintJSONPacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.InvalidArgumentsPacketPacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.InvalidCommandPacketPacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.ItemCheatJSONPacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.ItemSendJSONPacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.JoinJSONPacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.LocationChecksPacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.LocationInfoPacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.LocationScoutsPacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.PartJSONPacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.ReceivedItemsPacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.ReleaseJSONPacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.RetrievedPacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.RoomInfoPacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.RoomUpdatePacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.SayPacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.ServerChatJSONPacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.SetNotifyPacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.SetPacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.SetReplyPacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.StatusUpdatePacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.SyncPacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.TagsChangedJSONPacket.html create mode 100644 docs/v2.0.0/interfaces/index.API.TutorialJSONPacket.html create mode 100644 docs/v2.0.0/interfaces/index.ClientOptions.html create mode 100644 docs/v2.0.0/interfaces/index.ConnectionOptions.html create mode 100644 docs/v2.0.0/modules.html create mode 100644 docs/v2.0.0/modules/API.html create mode 100644 docs/v2.0.0/modules/index.API.html create mode 100644 docs/v2.0.0/modules/index.html create mode 100644 docs/v2.0.0/sitemap.xml create mode 100644 docs/v2.0.0/types/API.AddDataStorageOperation.html create mode 100644 docs/v2.0.0/types/API.AndDataStorageOperation.html create mode 100644 docs/v2.0.0/types/API.CeilingDataStorageOperation.html create mode 100644 docs/v2.0.0/types/API.ClientPacket.html create mode 100644 docs/v2.0.0/types/API.ColorJSONMessagePart.html create mode 100644 docs/v2.0.0/types/API.ConnectionError.html create mode 100644 docs/v2.0.0/types/API.DataPackage.html create mode 100644 docs/v2.0.0/types/API.DataStorageOperation.html create mode 100644 docs/v2.0.0/types/API.DefaultDataStorageOperation.html create mode 100644 docs/v2.0.0/types/API.FloorDataStorageOperation.html create mode 100644 docs/v2.0.0/types/API.GamePackage.html create mode 100644 docs/v2.0.0/types/API.InvalidPacketPacket.html create mode 100644 docs/v2.0.0/types/API.ItemJSONMessagePart.html create mode 100644 docs/v2.0.0/types/API.JSONMessagePart.html create mode 100644 docs/v2.0.0/types/API.JSONRecord.html create mode 100644 docs/v2.0.0/types/API.JSONSerializable.html create mode 100644 docs/v2.0.0/types/API.LeftShiftDataStorageOperation.html create mode 100644 docs/v2.0.0/types/API.LocationJSONMessagePart.html create mode 100644 docs/v2.0.0/types/API.MaxDataStorageOperation.html create mode 100644 docs/v2.0.0/types/API.MinDataStorageOperation.html create mode 100644 docs/v2.0.0/types/API.ModuloDataStorageOperation.html create mode 100644 docs/v2.0.0/types/API.MultiplyDataStorageOperation.html create mode 100644 docs/v2.0.0/types/API.NetworkHint.html create mode 100644 docs/v2.0.0/types/API.NetworkItem.html create mode 100644 docs/v2.0.0/types/API.NetworkPlayer.html create mode 100644 docs/v2.0.0/types/API.NetworkSlot.html create mode 100644 docs/v2.0.0/types/API.NetworkVersion.html create mode 100644 docs/v2.0.0/types/API.OrDataStorageOperation.html create mode 100644 docs/v2.0.0/types/API.PermissionTable.html create mode 100644 docs/v2.0.0/types/API.PermissionValue.html create mode 100644 docs/v2.0.0/types/API.PopDataStorageOperation.html create mode 100644 docs/v2.0.0/types/API.PowerDataStorageOperation.html create mode 100644 docs/v2.0.0/types/API.PrintJSONPacket.html create mode 100644 docs/v2.0.0/types/API.PrintJSONType.html create mode 100644 docs/v2.0.0/types/API.RemoveDataStorageOperation.html create mode 100644 docs/v2.0.0/types/API.ReplaceDataStorageOperation.html create mode 100644 docs/v2.0.0/types/API.RightShiftDataStorageOperation.html create mode 100644 docs/v2.0.0/types/API.ServerPacket.html create mode 100644 docs/v2.0.0/types/API.TextJSONMessagePart.html create mode 100644 docs/v2.0.0/types/API.UpdateDataStorageOperation.html create mode 100644 docs/v2.0.0/types/API.ValidJSONColorType.html create mode 100644 docs/v2.0.0/types/API.ValidJSONMessagePartType.html create mode 100644 docs/v2.0.0/types/API.XorDataStorageOperation.html create mode 100644 docs/v2.0.0/types/ClientStatus.html create mode 100644 docs/v2.0.0/types/DataChangeCallback.html create mode 100644 docs/v2.0.0/types/DeathEvents.html create mode 100644 docs/v2.0.0/types/ItemEvents.html create mode 100644 docs/v2.0.0/types/MessageEvents.html create mode 100644 docs/v2.0.0/types/MessageLog.html create mode 100644 docs/v2.0.0/types/MessageNode.html create mode 100644 docs/v2.0.0/types/PlayerEvents.html create mode 100644 docs/v2.0.0/types/RoomStateEvents.html create mode 100644 docs/v2.0.0/types/SocketEvents.html create mode 100644 docs/v2.0.0/types/index.API.AddDataStorageOperation.html create mode 100644 docs/v2.0.0/types/index.API.AndDataStorageOperation.html create mode 100644 docs/v2.0.0/types/index.API.CeilingDataStorageOperation.html create mode 100644 docs/v2.0.0/types/index.API.ClientPacket.html create mode 100644 docs/v2.0.0/types/index.API.ColorJSONMessagePart.html create mode 100644 docs/v2.0.0/types/index.API.ConnectionError.html create mode 100644 docs/v2.0.0/types/index.API.DataPackage.html create mode 100644 docs/v2.0.0/types/index.API.DataStorageOperation.html create mode 100644 docs/v2.0.0/types/index.API.DefaultDataStorageOperation.html create mode 100644 docs/v2.0.0/types/index.API.FloorDataStorageOperation.html create mode 100644 docs/v2.0.0/types/index.API.GamePackage.html create mode 100644 docs/v2.0.0/types/index.API.InvalidPacketPacket.html create mode 100644 docs/v2.0.0/types/index.API.ItemJSONMessagePart.html create mode 100644 docs/v2.0.0/types/index.API.JSONMessagePart.html create mode 100644 docs/v2.0.0/types/index.API.JSONRecord.html create mode 100644 docs/v2.0.0/types/index.API.JSONSerializable.html create mode 100644 docs/v2.0.0/types/index.API.LeftShiftDataStorageOperation.html create mode 100644 docs/v2.0.0/types/index.API.LocationJSONMessagePart.html create mode 100644 docs/v2.0.0/types/index.API.MaxDataStorageOperation.html create mode 100644 docs/v2.0.0/types/index.API.MinDataStorageOperation.html create mode 100644 docs/v2.0.0/types/index.API.ModuloDataStorageOperation.html create mode 100644 docs/v2.0.0/types/index.API.MultiplyDataStorageOperation.html create mode 100644 docs/v2.0.0/types/index.API.NetworkHint.html create mode 100644 docs/v2.0.0/types/index.API.NetworkItem.html create mode 100644 docs/v2.0.0/types/index.API.NetworkPlayer.html create mode 100644 docs/v2.0.0/types/index.API.NetworkSlot.html create mode 100644 docs/v2.0.0/types/index.API.NetworkVersion.html create mode 100644 docs/v2.0.0/types/index.API.OrDataStorageOperation.html create mode 100644 docs/v2.0.0/types/index.API.PermissionTable.html create mode 100644 docs/v2.0.0/types/index.API.PermissionValue.html create mode 100644 docs/v2.0.0/types/index.API.PopDataStorageOperation.html create mode 100644 docs/v2.0.0/types/index.API.PowerDataStorageOperation.html create mode 100644 docs/v2.0.0/types/index.API.PrintJSONPacket.html create mode 100644 docs/v2.0.0/types/index.API.PrintJSONType.html create mode 100644 docs/v2.0.0/types/index.API.RemoveDataStorageOperation.html create mode 100644 docs/v2.0.0/types/index.API.ReplaceDataStorageOperation.html create mode 100644 docs/v2.0.0/types/index.API.RightShiftDataStorageOperation.html create mode 100644 docs/v2.0.0/types/index.API.ServerPacket.html create mode 100644 docs/v2.0.0/types/index.API.TextJSONMessagePart.html create mode 100644 docs/v2.0.0/types/index.API.UpdateDataStorageOperation.html create mode 100644 docs/v2.0.0/types/index.API.ValidJSONColorType.html create mode 100644 docs/v2.0.0/types/index.API.ValidJSONMessagePartType.html create mode 100644 docs/v2.0.0/types/index.API.XorDataStorageOperation.html create mode 100644 docs/v2.0.0/types/index.ClientStatus.html create mode 100644 docs/v2.0.0/types/index.DataChangeCallback.html create mode 100644 docs/v2.0.0/types/index.DeathEvents.html create mode 100644 docs/v2.0.0/types/index.ItemEvents.html create mode 100644 docs/v2.0.0/types/index.MessageEvents.html create mode 100644 docs/v2.0.0/types/index.MessageLog.html create mode 100644 docs/v2.0.0/types/index.MessageNode.html create mode 100644 docs/v2.0.0/types/index.PlayerEvents.html create mode 100644 docs/v2.0.0/types/index.RoomStateEvents.html create mode 100644 docs/v2.0.0/types/index.SocketEvents.html create mode 100644 docs/v2.0.0/variables/API.clientStatuses.html create mode 100644 docs/v2.0.0/variables/API.itemClassifications.html create mode 100644 docs/v2.0.0/variables/API.itemsHandlingFlags.html create mode 100644 docs/v2.0.0/variables/API.permissions.html create mode 100644 docs/v2.0.0/variables/API.slotTypes.html create mode 100644 docs/v2.0.0/variables/index.API.clientStatuses.html create mode 100644 docs/v2.0.0/variables/index.API.itemClassifications.html create mode 100644 docs/v2.0.0/variables/index.API.itemsHandlingFlags.html create mode 100644 docs/v2.0.0/variables/index.API.permissions.html create mode 100644 docs/v2.0.0/variables/index.API.slotTypes.html create mode 100644 docs/v2.0.0/variables/index.libraryVersion.html create mode 100644 docs/v2.0.0/variables/index.targetVersion.html create mode 100644 docs/v2.0.0/variables/libraryVersion.html create mode 100644 docs/v2.0.0/variables/targetVersion.html diff --git a/docs/.typedoc-plugin-versions b/docs/.typedoc-plugin-versions index 45fbefcd..ea0a81f4 100644 --- a/docs/.typedoc-plugin-versions +++ b/docs/.typedoc-plugin-versions @@ -1 +1 @@ -{"versions":["v2.0.0-rc5","v2.0.0-rc4","v1.2.0","v1.1.0","v1.0.0"],"stable":"v2.0.0-rc5"} +{"versions":["v2.0.0","v2.0.0-rc6","v2.0.0-rc5","v2.0.0-rc4","v1.2.0","v1.1.0","v1.0.0"],"stable":"v2.0.0"} diff --git a/docs/dev b/docs/dev index 4365fd2f..6eaf8943 120000 --- a/docs/dev +++ b/docs/dev @@ -1 +1 @@ -v2.0.0-rc6 \ No newline at end of file +v2.0.0 \ No newline at end of file diff --git a/docs/stable b/docs/stable index 0408c30b..6eaf8943 120000 --- a/docs/stable +++ b/docs/stable @@ -1 +1 @@ -v1.2.0 \ No newline at end of file +v2.0.0 \ No newline at end of file diff --git a/docs/v2.0 b/docs/v2.0 index 4365fd2f..6eaf8943 120000 --- a/docs/v2.0 +++ b/docs/v2.0 @@ -1 +1 @@ -v2.0.0-rc6 \ No newline at end of file +v2.0.0 \ No newline at end of file diff --git a/docs/v2.0.0/CNAME b/docs/v2.0.0/CNAME new file mode 100644 index 00000000..698729d0 --- /dev/null +++ b/docs/v2.0.0/CNAME @@ -0,0 +1 @@ +archipelago.js.org \ No newline at end of file diff --git a/docs/v2.0.0/assets/dmt/dmt-component-data.js b/docs/v2.0.0/assets/dmt/dmt-component-data.js new file mode 100644 index 00000000..dcec7834 --- /dev/null +++ b/docs/v2.0.0/assets/dmt/dmt-component-data.js @@ -0,0 +1 @@ +globalThis.dmtComponentDataBCMP = 'pVtLc9zGEYYdpcrl35ADbckPRRIfqxVN52SK1IOOSG12GSWVSwoEhrtjApgtYECKOeknJJVfYJMUueZLlvySLNtVytXUKRdVufhb3ANgdzGYAXaaulAU8fX3NWZ6eroHwKn1do86LLhDg7Xo1HpzNyLhOnXIf0+t3+26Pm/YvPO9AEQT2ZWJNuWdeGW8G7R3OOUe2b9F+e14ZaxJumwrDr1XFzucd6M/TfSRDvMnljuk0bHDCTt0OrRLPLvNxj8DwYHIU1nEpZHDQneocjCf/mVsrmNzIfOsr9KHttsTM/+Yvna9WcvRfiPTBl0/5/hSY3GsYTtrdpskjl/uU25sbIwD9LMo8b2bQgq+b8dA+u9eF64sBC65D4PX61ASCtTm0eC38Q73vV2fubFHooPs3+SPx+l/FqLMhRfHgb1O2zanLOgz7vl2uOayjeA/p9bvtzm5z/f/ElNnbazF7ZBvd+EOn7nMiX0S8GgiufTP5FKisL1GA/el9cCydhzPjqL/W9Ye3ILnhiSA3x9GLA4d8qt1oU++NdtYSEi/zRydAAJyfxz+PCQ8p5L9av2tT/F81vVpMMd83w7cJolij3/aursk7pGkDr+apgEn4artSPxVdkPxkzf099KXP7zO4sAhbl7vA62eBDQXOEjt8vzvV/Bj6Y9EeBcH7EOtgIw0l/hqjnkecRSVS3qVIthc6LvKKJgqkXvNADieY0EADsshcLFETIKi7iyxhJXaJKuQCCSxsjvTmiBCO2MYHdoS0FzgSWb3165rcynCr1TJ5OEosTjgIrUVA6NMTIEjQn7e5naWZkeHvAI2F/r6FuElWuNaLR3eXK4H5nmN82Ua6DR0i9meWRqSkQiJ20BnJiEjzSWeLwTrtkfd2bCd7pApwei9qMrOXP5ZRpPlNFW8XiWusUKsrgVO/LkOUfcS/erSwM3FHgvrFgncotblUi0ZjQiaTxlVEoY+aGQkYgnfYU5Sg8F4OGvZ1FctYR0eMXh984VglY0ePBV9hjtrOSzuB7XJneXxiLlqQB1qNlcyEhHmTeIQuk5cEVPSDenDXANHbCJN4hE7ImZ1kwJGlDBNwkNKwM/RJUwBipidJmN+Meb0syMjzSUeCUO1mPhjqcjZKoley94cvQkOQIj10oKukYS6ily/XnR4xLS3CF9inK5Kd6Of9gIUM1gmFcMAhIgnsIETAE9yXh9PMhKRKqGz5XGkRpQ+Vapoc6kvW5uBk5e4oJcYoMypv1m22xHESNAmyoYJ1BoVrQFi2JZjzkKq1nP6YVPRiL5o1nVFOdsCCihn73bhEERsIJke3+wWWn4tOn92MVZydjFUDFCKejRG8Yc5Qj0atMtVJ4uqFRYY5YM5j0I1mp/CdxSpHATD/TX0+SwUc75IoihpRbLzpVcXFQ0NFKPVb9Hh9m+EIQuzFabKSCiMwn6up0rZx4rsOQRqnMqnXRmn1460ebJqwzEIItIqLDDKT296jIXluuNF3VI8atZu2X6SqctnLYfAMD/Jeiq1BfuwqKBB4pSgtNQuI1VJRaJWkVZFWUWvofClsIWSGQ7XE/KfddzpdQztI2EGpRLsMfRf9oqXzfV7OvY8DKPx4x2yylsdulqxeGpFwUob1KbUb5y0U6RsSiVolOKifR+xDZagcYo0wCjq0RjFZ4vimQQrF51QREsNMLrPFyGjUqhXy5WnFOUKE1RKXCJ8g4Vr4gSsJCXmEGdhFlmomlkgMMyHmV3DszdJtrm/W8KdYs7id8tjI0ZEIDDMR5ndPRJGg5k9X0KegTD8396t2FEvFXX0YNQG0SChTyPh5vIwzSobRAF1RoV7thePVkhQqCzTYF1ElilBo0qfBtsgmNKnFI8byVBzGq6OpIxCrcqB7TKQlqxKCYPKzU3is3WCyM3lBqgSWRwkQAOLKJErLDDKPzVpuzOqxLiqiFcaoZrB9LCpshnMQ1BF7DL8MCtiNUhU3KTHM4i4KTfA6D6GTEST05SkmR0uiQ+KeioQo/P9wDw3QEO1K6VqBTgqZ/69qnVTcmYJGrVzOsmpQ3rgRqJsJNdtqN1hR8mLycChxlh1PFLxeEoA6CpNa+VM5LJORIM2VXosbKPb8NxNHNjchFd9MqFLZUIy2FRnH4Y52xMzgQs6gRzKlLkXQdkjQibjfVfHO8CYsh5fh2cZWUwuMbe/fyQmA+YCZsj9y4NK8ofpoVXC+VSmTK8YMz1KFqni5/kCaQFkTP84d2i0aAfwMytv35MFVBhOIluLoyRkmPkgzcNz3o544U8SKAxSEWRM/9WNdZgyEQuuxH9B5ldQxgLbg2boO5lSboFGsDxdEIffPnFptp0U86TMXYo2d3vQaRXclvurESzHAj1qIRYwxuQHyXPR/Kz9rBL3rxuzPumfbyhuvy+za3DGIkeZkRRy78j8MsR8yPtLmXAbag9bO+QFjHnuy3XJhdxX7I1HrbsUrwxyYd0pKPMhTk2l+CgOsQwxT0ni6a+oCuT5K6SkIsiY/rDFRAkscY/J3BLCPFuL8je2PWXQC9lahZn7nm6Bd7u5qkd9aCuBUK+C9p+xSALqa4UKEPHGbOpcWvQl/D/ma9D8VVQJL9Jw+lh0zva8FViAmiMbFYR7jiR2wWSrSj1/LnEPL6KO1UUWzXH+kOccXkM191lk5Vh/yrNKl1G+ZpZ3WFv1dXgNNabFxSKNqXaJGHTDaeLJ3b8UY/mrqGOZQcrJMcsHjgUEroVPkk6Z0/mrqG7Moyvw7cGmfI5ZbANkkGkfcAjfFrQJl6iVDkPCjGI+grehxQvmAP0zgE6tP3xe7y3BY74IPrsgn89s3whi/4urtb17mcoX0/W9m/BqvbDYmqrN7CSt3lbt2nQvKdJE1tq6NlXbh5QV8TB2oErenpqs1fcaIYOqjW9u1ybrMw9hq+4wd+dq7aPpmR702SAJ1g9r07Wpen1v1oHcF7Fwtzb58UdT12o90S7NetSOdutTH9evTtZ74DiBe3DI7szVmZnpyZm9+exLjKH/5xL33xo4PzZw/ZPU718eDL2GRJp3+uRNa+DyyTkrc/jkLWvo7ckDa+DpS+ucZQ3dTOJk6ONL6xMY976DyTchhxERX6hk+Vx8bLIae55w/cWOR33K3z6KCOfQ2g4gb/TsgPpJkfa/o6jDNpInLGQBvrF5cRBRl6zYYfYlkXUUpe1JIyRdeNvzCXymEl2RP6H5DQ=='; \ No newline at end of file diff --git a/docs/v2.0.0/assets/dmt/dmt-components.css b/docs/v2.0.0/assets/dmt/dmt-components.css new file mode 100644 index 00000000..9788431e --- /dev/null +++ b/docs/v2.0.0/assets/dmt/dmt-components.css @@ -0,0 +1,20 @@ +label.svelte-1y7unmi{align-items:center;cursor:pointer;display:flex;-webkit-user-select:none;user-select:none;width:fit-content}input.svelte-1y7unmi{cursor:pointer;height:1.5em;opacity:0;position:absolute;width:1.5em}svg.svelte-1y7unmi{border-radius:.33em;cursor:pointer;height:1.5em;margin-right:.5em;opacity:.99;width:1.5em} +section.svelte-20evnz{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem} +details.svelte-1jmqrcb.svelte-1jmqrcb{margin-left:var(--tjs-folder-details-margin-left,-.4em);padding-left:var(--tjs-folder-details-padding-left,.4em)}summary.svelte-1jmqrcb.svelte-1jmqrcb{align-items:center;background:var(--tjs-folder-summary-background,none);background-blend-mode:var(--tjs-folder-summary-background-blend-mode,initial);border:var(--tjs-folder-summary-border,none);border-radius:var(--tjs-folder-summary-border-radius,0);border-width:var(--tjs-folder-summary-border-width,initial);cursor:var(--tjs-folder-summary-cursor,pointer);display:flex;font-family:var(--tjs-folder-summary-font-family,inherit);font-size:var(--tjs-folder-summary-font-size,inherit);font-weight:var(--tjs-folder-summary-font-weight,bold);gap:var(--tjs-folder-summary-gap,.125em);list-style:none;margin:var(--tjs-folder-summary-margin,0 0 0 -.4em);padding:var(--tjs-folder-summary-padding,.25em) 0;position:relative;transition:var(--tjs-folder-summary-transition,background .1s);-webkit-user-select:none;user-select:none;width:var(--tjs-folder-summary-width,fit-content)}summary.svelte-1jmqrcb.svelte-1jmqrcb::-webkit-details-marker{display:none}.default-cursor.svelte-1jmqrcb.svelte-1jmqrcb{cursor:default}summary.svelte-1jmqrcb svg.svelte-1jmqrcb{border-radius:var(--tjs-folder-summary-chevron-border-radius,0);color:var(--tjs-folder-summary-chevron-color,currentColor);cursor:var(--tjs-folder-summary-cursor,pointer);flex-shrink:0;height:var(--tjs-folder-summary-chevron-size,var(--tjs-folder-summary-font-size,1.25em));margin:var(--tjs-folder-summary-chevron-margin,0);opacity:var(--tjs-folder-summary-chevron-opacity,.2);transform:var(--tjs-folder-summary-chevron-rotate-closed,rotate(-90deg));transition:var(--tjs-folder-summary-chevron-transition,opacity .2s,transform .1s);width:var(--tjs-folder-summary-chevron-size,var(--tjs-folder-summary-font-size,1.25em))}summary.svelte-1jmqrcb.svelte-1jmqrcb:focus-visible{box-shadow:var(--tjs-folder-summary-box-shadow-focus-visible,var(--tjs-default-box-shadow-focus-visible));outline:var(--tjs-folder-summary-outline-focus-visible,var(--tjs-default-outline-focus-visible,revert));transition:var(--tjs-folder-summary-transition-focus-visible,var(--tjs-default-transition-focus-visible))}summary.svelte-1jmqrcb:focus-visible .label.svelte-1jmqrcb{text-shadow:var(--tjs-folder-summary-label-text-shadow-focus-visible,var(--tjs-default-text-shadow-focus-hover,revert))}summary.svelte-1jmqrcb:focus-visible .tjs-folder-focus-indicator.svelte-1jmqrcb{background:var(--tjs-folder-summary-focus-indicator-background,var(--tjs-default-focus-indicator-background,#fff))}summary.svelte-1jmqrcb:focus-visible svg.svelte-1jmqrcb{opacity:var(--tjs-folder-summary-chevron-opacity-focus-visible,1)}summary.svelte-1jmqrcb:focus-visible svg.focus-chevron.svelte-1jmqrcb{outline:var(--tjs-folder-summary-outline-focus-visible,var(--tjs-default-outline-focus-visible,revert))}summary:focus-visible.remove-focus-visible.svelte-1jmqrcb.svelte-1jmqrcb{outline:none}summary.svelte-1jmqrcb:hover svg.svelte-1jmqrcb{opacity:var(--tjs-folder-summary-chevron-opacity-hover,1)}.tjs-folder-focus-indicator.svelte-1jmqrcb.svelte-1jmqrcb{align-self:var(--tjs-folder-summary-focus-indicator-align-self,var(--tjs-default-focus-indicator-align-self,stretch));border:var(--tjs-folder-summary-focus-indicator-border,var(--tjs-default-focus-indicator-border));border-radius:var(--tjs-folder-summary-focus-indicator-border-radius,var(--tjs-default-focus-indicator-border-radius,.1em));flex:0 0 var(--tjs-folder-summary-focus-indicator-width,var(--tjs-default-focus-indicator-width,0.25em));height:var(--tjs-folder-summary-focus-indicator-height,var(--tjs-default-focus-indicator-height));pointer-events:none;transition:var(--tjs-folder-summary-focus-indicator-transition,var(--tjs-default-focus-indicator-transition))}details[open].svelte-1jmqrcb>summary.svelte-1jmqrcb{background:var(--tjs-folder-summary-background-open,var(--tjs-folder-summary-background,inherit))}[open].svelte-1jmqrcb:not(details[data-closing=true])>summary svg.svelte-1jmqrcb{transform:rotate(var(--tjs-folder-summary-chevron-rotate-open,0))}.contents.svelte-1jmqrcb.svelte-1jmqrcb{background:var(--tjs-folder-contents-background,none);background-blend-mode:var(--tjs-folder-contents-background-blend-mode,initial);border:var(--tjs-folder-contents-border,none);border-left:var(--tjs-folder-contents-border-left,none);display:var(--tjs-folder-contents-display,flex);flex-direction:var(--tjs-folder-contents-flex-direction,column);gap:var(--tjs-folder-contents-gap);margin:var(--tjs-folder-contents-margin,0 0 0 -.4em);padding:var(--tjs-folder-contents-padding,0 0 0 calc(var(--tjs-folder-summary-font-size, 1em)*.8));position:relative}.contents.svelte-1jmqrcb.svelte-1jmqrcb:before{content:"";height:calc(100% + .65em);left:0;position:absolute;top:-.65em;width:0}.contents.hidden.svelte-1jmqrcb.svelte-1jmqrcb{display:none}.label.svelte-1jmqrcb.svelte-1jmqrcb{overflow:var(--tjs-folder-summary-label-overflow,hidden);text-overflow:var(--tjs-folder-summary-label-text-overflow,ellipsis);white-space:var(--tjs-folder-summary-label-white-space,nowrap);width:var(--tjs-folder-summary-label-width,fit-content)}summary.svelte-1jmqrcb:focus-visible+.contents.svelte-1jmqrcb:before{height:100%;top:0} +details.svelte-3v63ql.svelte-3v63ql{margin-left:var(--tjs-folder-details-margin-left,-.4em);padding-left:var(--tjs-folder-details-padding-left,.4em)}summary.svelte-3v63ql.svelte-3v63ql{align-items:center;background:var(--tjs-folder-summary-background,none);background-blend-mode:var(--tjs-folder-summary-background-blend-mode,initial);border:var(--tjs-folder-summary-border,none);border-radius:var(--tjs-folder-summary-border-radius,0);border-width:var(--tjs-folder-summary-border-width,initial);cursor:var(--tjs-folder-summary-cursor,pointer);display:flex;font-family:var(--tjs-folder-summary-font-family,inherit);font-size:var(--tjs-folder-summary-font-size,inherit);font-weight:var(--tjs-folder-summary-font-weight,bold);gap:var(--tjs-folder-summary-gap,.125em);list-style:none;margin:var(--tjs-folder-summary-margin,0);padding:var(--tjs-folder-summary-padding,.25em) 0;position:relative;transition:var(--tjs-folder-summary-transition,background .1s);-webkit-user-select:none;user-select:none;width:var(--tjs-folder-summary-width,fit-content)}summary.svelte-3v63ql.svelte-3v63ql::-webkit-details-marker{display:none}summary.svelte-3v63ql i.svelte-3v63ql{border-radius:var(--tjs-folder-summary-chevron-border-radius,0);color:var(--tjs-folder-summary-chevron-color,inherit);cursor:var(--tjs-folder-summary-cursor,pointer);flex-shrink:0;margin:var(--tjs-folder-summary-chevron-margin,0 0 0 .25em);opacity:var(--tjs-folder-summary-chevron-opacity,1);transition:var(--tjs-folder-summary-chevron-transition,opacity .2s,transform .1s);width:var(--tjs-folder-summary-chevron-width,1.25em)}summary.svelte-3v63ql.svelte-3v63ql:focus-visible{box-shadow:var(--tjs-folder-summary-box-shadow-focus-visible,var(--tjs-default-box-shadow-focus-visible));outline:var(--tjs-folder-summary-outline-focus-visible,var(--tjs-default-outline-focus-visible,revert));transition:var(--tjs-folder-summary-transition-focus-visible,var(--tjs-default-transition-focus-visible))}summary.svelte-3v63ql:focus-visible .label.svelte-3v63ql{text-shadow:var(--tjs-folder-summary-label-text-shadow-focus-visible,var(--tjs-default-text-shadow-focus-hover,revert))}summary.svelte-3v63ql:focus-visible .tjs-folder-focus-indicator.svelte-3v63ql{background:var(--tjs-folder-summary-focus-indicator-background,var(--tjs-default-focus-indicator-background,#fff))}summary.svelte-3v63ql:focus-visible i.svelte-3v63ql{opacity:var(--tjs-folder-summary-chevron-opacity-focus-visible,1)}summary.svelte-3v63ql:focus-visible i.focus-chevron.svelte-3v63ql:before{outline:var(--tjs-folder-summary-outline-focus-visible,var(--tjs-default-outline-focus-visible,revert))}summary:focus-visible.remove-focus-visible.svelte-3v63ql.svelte-3v63ql{outline:none}summary.svelte-3v63ql:hover i.svelte-3v63ql{opacity:var(--tjs-folder-summary-chevron-opacity-hover,1)}.tjs-folder-focus-indicator.svelte-3v63ql.svelte-3v63ql{align-self:var(--tjs-folder-summary-focus-indicator-align-self,var(--tjs-default-focus-indicator-align-self,stretch));border:var(--tjs-folder-summary-focus-indicator-border,var(--tjs-default-focus-indicator-border));border-radius:var(--tjs-folder-summary-focus-indicator-border-radius,var(--tjs-default-focus-indicator-border-radius,.1em));flex:0 0 var(--tjs-folder-summary-focus-indicator-width,var(--tjs-default-focus-indicator-width,0.25em));height:var(--tjs-folder-summary-focus-indicator-height,var(--tjs-default-focus-indicator-height));pointer-events:none;transition:var(--tjs-folder-summary-focus-indicator-transition,var(--tjs-default-focus-indicator-transition))}.default-cursor.svelte-3v63ql.svelte-3v63ql{cursor:default}details[open].svelte-3v63ql>summary.svelte-3v63ql{background:var(--tjs-folder-summary-background-open,var(--tjs-folder-summary-background,inherit))}.contents.svelte-3v63ql.svelte-3v63ql{background:var(--tjs-folder-contents-background,none);background-blend-mode:var(--tjs-folder-contents-background-blend-mode,initial);border:var(--tjs-folder-contents-border,none);border-left:var(--tjs-folder-contents-border-left,none);display:var(--tjs-folder-contents-display,flex);flex-direction:var(--tjs-folder-contents-flex-direction,column);gap:var(--tjs-folder-contents-gap);margin:var(--tjs-folder-contents-margin,0 0 0 -.4em);padding:var(--tjs-folder-contents-padding,0 0 0 calc(var(--tjs-folder-summary-font-size, 1em)*.8));position:relative}.contents.svelte-3v63ql.svelte-3v63ql:before{content:"";height:calc(100% + .65em);left:0;position:absolute;top:-.65em;width:0}.contents.hidden.svelte-3v63ql.svelte-3v63ql{display:none}.label.svelte-3v63ql.svelte-3v63ql{overflow:var(--tjs-folder-summary-label-overflow,hidden);text-overflow:var(--tjs-folder-summary-label-text-overflow,ellipsis);white-space:var(--tjs-folder-summary-label-white-space,nowrap);width:var(--tjs-folder-summary-label-width,fit-content)}summary.svelte-3v63ql:focus-visible+.contents.svelte-3v63ql:before{height:100%;top:0} +a.svelte-14yttr0{width:fit-content}a.svelte-14yttr0,span.svelte-14yttr0{margin-right:.25rem}span.svelte-14yttr0,svg.svelte-14yttr0{pointer-events:none}.indent-icon.svelte-14yttr0{margin-left:var(--dmt-nav-entry-indent-icon,28px)}.indent-no-icon.svelte-14yttr0{margin-left:var(--dmt-nav-entry-indent-no-icon,18px)}.indent-none.svelte-14yttr0{margin-left:.25rem} +.dmt-navigation-content.svelte-cugiyd{display:flex;flex-direction:column;--tjs-folder-summary-font-weight:normal;--tjs-folder-summary-font-size:1em;--tjs-folder-summary-margin:0;--tjs-folder-summary-padding:0;--tjs-folder-summary-width:100%;--tjs-folder-contents-margin:var(--dmt-nav-folder-contents-margin,0 0 0 7px);--tjs-folder-contents-border-left:var(--dmt-nav-folder-contents-border-left,2px solid var(--dmt-nav-folder-contents-border-color,#0003));--tjs-folder-contents-padding:var(--dmt-nav-folder-contents-padding,0 0 0 9px);outline:#0000;overflow-x:auto;padding-left:var(--dmt-nav-tree-padding-left,3px);padding-top:var(--dmt-nav-tree-padding-top,.25rem);touch-action:pan-x pan-y}.dmt-navigation-content.svelte-cugiyd>:last-child{margin-bottom:var(--dmt-nav-tree-bottom-margin,.25rem)} +hr.svelte-wwxcg7{border:unset;border-bottom:var(--dmt-container-border);margin:.25rem .5rem 0 0}section.svelte-wwxcg7{--tjs-folder-summary-margin:0 0.25rem;--tjs-folder-summary-width:100%;background:var(--dmt-container-background);border:var(--dmt-container-border);border-radius:var(--dmt-container-border-radius);box-shadow:var(--dmt-container-box-shadow);margin:0 1rem 0 0;padding-bottom:.25rem} +a.svelte-ietkuq{display:block;overflow:var(--dmt-sidebarlinks-overflow,unset);text-overflow:var(--dmt-sidebarlinks-text-overflow,ellipsis);white-space:var(--dmt-sidebarlinks-white-space,normal)}section.svelte-ietkuq{background:var(--dmt-container-background);border:var(--dmt-container-border);border-radius:var(--dmt-container-border-radius);box-shadow:var(--dmt-container-box-shadow);display:flex;flex-direction:column;gap:.25em;margin:0 1rem 0 0;padding:.25rem} +div.svelte-1uxeem0{background:var(--dmt-overlay-panel-background);border-bottom:1px solid #0003;border-left:1px solid #0003;border-radius:0 0 .25rem .25rem;border-right:1px solid #0003;box-shadow:-.25rem 0 .25rem -.25rem var(--dmt-box-shadow-color),.25rem 0 .25rem -.25rem var(--dmt-box-shadow-color),0 .75rem .75rem -.75rem var(--dmt-box-shadow-color);display:flex;flex-direction:column;gap:.25rem;height:fit-content;padding:.5rem;position:absolute;top:2.6rem;width:calc(100% - 1.5rem)}span.svelte-1uxeem0{align-items:center;display:flex;gap:.5rem}svg.svelte-1uxeem0{margin:0}.key.svelte-1uxeem0{background:#ffffff40;border:1px solid #999;border-radius:.25rem;box-shadow:1px 1px var(--dmt-help-panel-key-box-shadow-color);min-width:52px;padding:0 3px;text-align:center}.reflection-kinds.svelte-1uxeem0{display:grid;grid-template-columns:1fr 1fr;grid-row-gap:.1rem}.title.svelte-1uxeem0{-webkit-text-decoration:underline;text-decoration:underline}:root[data-theme=dark]{--dmt-help-panel-key-box-shadow-color:#aaa}:root[data-theme=light]{--dmt-help-panel-key-box-shadow-color:#444}@media(prefers-color-scheme:dark){:root{--dmt-help-panel-key-box-shadow-color:#aaa}}@media(prefers-color-scheme:light){:root{--dmt-help-panel-key-box-shadow-color:#444}} +button.svelte-1xrvgp2{background:#0000;border-radius:50%;cursor:pointer;height:2rem;line-height:0;width:2rem}section.svelte-1xrvgp2{align-items:center;background:var(--color-background);border-bottom:var(--dmt-container-border);display:flex;gap:.5rem;height:fit-content;padding:.25rem 1rem .25rem 0;position:sticky;top:0;width:inherit;z-index:10}svg.svelte-1xrvgp2{height:1rem;width:1rem;fill:currentColor;stroke:currentColor;overflow:hidden}.flipped-vertical.svelte-1xrvgp2{transform:scaleY(-1)} +section.svelte-13h1skr{--dmt-nav-tree-bottom-margin:1rem} +button.svelte-10arjs8{background:#0000;border-radius:50%;cursor:pointer;height:33px;line-height:0;margin:0 3px 3px;width:33px} +li.svelte-5rxzhp{align-items:center;background-color:var(--color-background);cursor:pointer;display:flex;gap:.25rem;overflow:hidden;padding:0 10px;text-overflow:ellipsis;transition:background .15s ease-in-out}li.selected.svelte-5rxzhp{background:var(--dmt-menu-item-background-selected)}li.svelte-5rxzhp:hover{background:var(--dmt-menu-item-background-hover)}li.svelte-5rxzhp:not(:last-child){border-bottom:var(--dmt-container-separator-border)}li.svelte-5rxzhp:nth-child(2n):not(:hover):not(.selected){background-color:var(--color-background-secondary)}ul.svelte-5rxzhp{border:var(--dmt-container-floating-border);border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem;box-shadow:var(--dmt-container-floating-box-shadow);list-style:none;margin:0 0 0 -4px;overflow:hidden;padding:0;position:absolute;top:calc(var(--dmt-header-height) - 2px);width:calc(100% - 4px)} +#dmt-search-field.svelte-tuln0o,#tsd-search .field input{background:revert;border:1px solid var(--color-accent);border-radius:.5em;box-sizing:border-box;color:var(--color-text);font-size:16px;height:35px;opacity:1;outline:2px solid #0000;padding:revert;position:relative;right:4px;top:0;width:100%;z-index:10} +div.svelte-wmon9h{box-sizing:border-box;line-height:0;padding:4px 0;position:absolute;right:-40px;width:40px}.dmt-widget.svelte-wmon9h{display:inline-block;height:40px;opacity:.8;overflow:hidden;transition:opacity .1s,background-color .2s;vertical-align:bottom} +div.svelte-kjcljd{flex:0;height:0;width:0}div.svelte-kjcljd:focus{outline:none} +section.svelte-1pcybcf.svelte-1pcybcf{background:var(--color-background);border:var(--dmt-container-border);border-radius:var(--dmt-container-border-radius);box-shadow:0 0 6px #000;height:max-content;left:50%;overflow:hidden;padding:.25rem;position:absolute;top:calc(100% + 10px);transform:translateX(-50%);width:max-content;z-index:1}div.svelte-1pcybcf.svelte-1pcybcf{align-items:center;display:flex;flex-direction:column;flex-wrap:nowrap;gap:.5rem}section.svelte-1pcybcf.svelte-1pcybcf:focus-visible{outline:2px solid #0000}a.svelte-1pcybcf.svelte-1pcybcf{align-items:center;display:flex;flex-shrink:0}a.svelte-1pcybcf:focus-visible img.svelte-1pcybcf{filter:brightness(1.5)}img.svelte-1pcybcf.svelte-1pcybcf{max-height:24px;width:auto}img.svelte-1pcybcf.svelte-1pcybcf:hover{filter:brightness(1.5)} +button.svelte-1ebh1s9{background:#0000;border-radius:50%;cursor:pointer;height:33px;line-height:0;margin:1px 3px 0;width:33px}section.svelte-1ebh1s9{display:flex;margin-left:auto;min-width:fit-content;position:relative}svg.svelte-1ebh1s9{fill:var(--color-text)} +a.svelte-1f93d1m.svelte-1f93d1m{align-items:center;display:flex;flex-shrink:0;margin:4px}a.svelte-1f93d1m:focus-visible img.svelte-1f93d1m{filter:brightness(1.5)}img.svelte-1f93d1m.svelte-1f93d1m{height:24px;width:auto}img.svelte-1f93d1m.svelte-1f93d1m:hover{filter:brightness(1.5)}section.svelte-1f93d1m.svelte-1f93d1m{align-items:center;display:flex;flex-wrap:nowrap;gap:.35rem;margin-left:auto;min-width:0;overflow:hidden} +section.svelte-j9157o{align-items:center;display:flex;flex-wrap:nowrap;height:100%;margin-right:.5rem;width:100%} \ No newline at end of file diff --git a/docs/v2.0.0/assets/dmt/dmt-components.js b/docs/v2.0.0/assets/dmt/dmt-components.js new file mode 100644 index 00000000..b4202c55 --- /dev/null +++ b/docs/v2.0.0/assets/dmt/dmt-components.js @@ -0,0 +1,67 @@ +/** + * @module @typhonjs-typedoc/typedoc-theme-dmt + * @license MPL-2.0 + * @see https://github.com/typhonjs-typedoc/typedoc-theme-dmt + */ +import"./dmt-component-data.js";var e,t,n;try{e=new TextDecoder}catch(e){}var r,o,s,i,a,l=0,c={},u=0,f=0,d=[],h={useRecords:!1,mapsAsObjects:!0};class p{}const g=new p;g.name="MessagePack 0xC1";var m=!1,y=2;try{new Function("")}catch(e){y=1/0}class b{constructor(e){e&&(!1===e.useRecords&&void 0===e.mapsAsObjects&&(e.mapsAsObjects=!0),e.sequential&&!1!==e.trusted&&(e.trusted=!0,e.structures||0==e.useRecords||(e.structures=[],e.maxSharedStructures||(e.maxSharedStructures=0))),e.structures?e.structures.sharedLength=e.structures.length:e.getStructures&&((e.structures=[]).uninitialized=!0,e.structures.sharedLength=0),e.int64AsNumber&&(e.int64AsType="number")),Object.assign(this,e)}unpack(e,i){if(t)return W((()=>(J(),this?this.unpack(e,i):b.prototype.unpack.call(h,e,i))));e.buffer||e.constructor!==ArrayBuffer||(e="undefined"!=typeof Buffer?Buffer.from(e):new Uint8Array(e)),"object"==typeof i?(n=i.end||e.length,l=i.start||0):(l=0,n=i>-1?i:e.length),f=0,o=null,s=null,t=e;try{a=e.dataView||(e.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength))}catch(n){if(t=null,e instanceof Uint8Array)throw n;throw new Error("Source must be a Uint8Array or Buffer but was a "+(e&&"object"==typeof e?e.constructor.name:typeof e))}if(this instanceof b){if(c=this,this.structures)return r=this.structures,v(i);(!r||r.length>0)&&(r=[])}else c=h,(!r||r.length>0)&&(r=[]);return v(i)}unpackMultiple(e,t){let n,r=0;try{m=!0;let o=e.length,s=this?this.unpack(e,o):G.unpack(e,o);if(!t){for(n=[s];le.slice(0))));for(let t=0,n=e.length;t=32&&(n.highByte=t-32>>5))}e.sharedLength=e.length;for(let n in t||[])if(n>=0){let r=e[n],o=t[n];o&&(r&&((e.restoreStructures||(e.restoreStructures=[]))[n]=r),e[n]=o)}return this.structures=e}decode(e,t){return this.unpack(e,t)}}function v(e){try{if(!c.trusted&&!m){let e=r.sharedLength||0;en)throw new Error("Unexpected end of MessagePack data");if(!m){let t;try{t=JSON.stringify(e,((e,t)=>"bigint"==typeof t?`${t}n`:t)).slice(0,100)}catch(e){t="(JSON view not available "+e+")"}throw new Error("Data read, but end of buffer not reached "+t)}}return e}catch(e){throw r&&r.restoreStructures&&w(),J(),(e instanceof RangeError||e.message.startsWith("Unexpected end of buffer")||l>n)&&(e.incomplete=!0),e}}function w(){for(let e in r.restoreStructures)r[e]=r.restoreStructures[e];r.restoreStructures=null}function x(){let e=t[l++];if(e<160){if(e<128){if(e<64)return e;{let t=r[63&e]||c.getStructures&&T()[63&e];return t?(t.read||(t.read=$(t,63&e)),t.read()):e}}if(e<144){if(e-=128,c.mapsAsObjects){let t={};for(let n=0;n=l)return o.slice(l-u,(l+=t)-u);if(0==f&&n<140){let e=t<16?R(t):D(t);if(null!=e)return e}return E(t)}{let n;switch(e){case 192:return null;case 193:return s?(n=x(),n>0?s[1].slice(s.position1,s.position1+=n):s[0].slice(s.position0,s.position0-=n)):g;case 194:return!1;case 195:return!0;case 196:if(n=t[l++],void 0===n)throw new Error("Unexpected end of buffer");return N(n);case 197:return n=a.getUint16(l),l+=2,N(n);case 198:return n=a.getUint32(l),l+=4,N(n);case 199:return U(t[l++]);case 200:return n=a.getUint16(l),l+=2,U(n);case 201:return n=a.getUint32(l),l+=4,U(n);case 202:if(n=a.getFloat32(l),c.useFloat32>2){let e=K[(127&t[l])<<1|t[l+1]>>7];return l+=4,(e*n+(n>0?.5:-.5)|0)/e}return l+=4,n;case 203:return n=a.getFloat64(l),l+=8,n;case 204:return t[l++];case 205:return n=a.getUint16(l),l+=2,n;case 206:return n=a.getUint32(l),l+=4,n;case 207:return"number"===c.int64AsType?(n=4294967296*a.getUint32(l),n+=a.getUint32(l+4)):"string"===c.int64AsType?n=a.getBigUint64(l).toString():"auto"===c.int64AsType?(n=a.getBigUint64(l),n<=BigInt(2)<=BigInt(-2)<=l?o.slice(l-u,(l+=n)-u):C(n);case 218:return n=a.getUint16(l),f>=(l+=2)?o.slice(l-u,(l+=n)-u):L(n);case 219:return n=a.getUint32(l),f>=(l+=4)?o.slice(l-u,(l+=n)-u):P(n);case 220:return n=a.getUint16(l),l+=2,I(n);case 221:return n=a.getUint32(l),l+=4,I(n);case 222:return n=a.getUint16(l),l+=2,A(n);case 223:return n=a.getUint32(l),l+=4,A(n);default:if(e>=224)return e-256;if(void 0===e){let e=new Error("Unexpected end of MessagePack data");throw e.incomplete=!0,e}throw new Error("Unknown MessagePack token "+e)}}}const S=/^[a-zA-Z_$][a-zA-Z\d_$]*$/;function $(e,t){function n(){if(n.count++>y){let n=e.read=new Function("r","return function(){return "+(c.freezeData?"Object.freeze":"")+"({"+e.map((e=>"__proto__"===e?"__proto_:r()":S.test(e)?e+":r()":"["+JSON.stringify(e)+"]:r()")).join(",")+"})}")(x);return 0===e.highByte&&(e.read=k(t,e.read)),n()}let r={};for(let t=0,n=e.length;tfunction(){let o=t[l++];if(0===o)return n();let s=e<32?-(e+(o<<5)):e+(o<<5),i=r[s]||T()[s];if(!i)throw new Error("Record id is not defined for "+s);return i.read||(i.read=$(i,e)),i.read()};function T(){let e=W((()=>(t=null,c.getStructures())));return r=c._mergeStructures(e,r)}var E=O,C=O,L=O,P=O;function O(n){let r;if(n<16&&(r=R(n)))return r;if(n>64&&e)return e.decode(t.subarray(l,l+=n));const o=l+n,s=[];for(r="";l65535&&(n-=65536,s.push(n>>>10&1023|55296),n=56320|1023&n),s.push(n)}else s.push(e);else s.push(e);s.length>=4096&&(r+=M.apply(String,s),s.length=0)}return s.length>0&&(r+=M.apply(String,s)),r}function I(e){let t=new Array(e);for(let n=0;n0)return void(l=n);r[o]=e}return M.apply(String,r)}function R(e){if(e<4){if(e<2){if(0===e)return"";{let e=t[l++];return(128&e)>1?void(l-=1):M(e)}}{let n=t[l++],r=t[l++];if((128&n)>0||(128&r)>0)return void(l-=2);if(e<3)return M(n,r);let o=t[l++];return(128&o)>0?void(l-=3):M(n,r,o)}}{let n=t[l++],r=t[l++],o=t[l++],s=t[l++];if((128&n)>0||(128&r)>0||(128&o)>0||(128&s)>0)return void(l-=4);if(e<6){if(4===e)return M(n,r,o,s);{let e=t[l++];return(128&e)>0?void(l-=5):M(n,r,o,s,e)}}if(e<8){let i=t[l++],a=t[l++];if((128&i)>0||(128&a)>0)return void(l-=6);if(e<7)return M(n,r,o,s,i,a);let c=t[l++];return(128&c)>0?void(l-=7):M(n,r,o,s,i,a,c)}{let i=t[l++],a=t[l++],c=t[l++],u=t[l++];if((128&i)>0||(128&a)>0||(128&c)>0||(128&u)>0)return void(l-=8);if(e<10){if(8===e)return M(n,r,o,s,i,a,c,u);{let e=t[l++];return(128&e)>0?void(l-=9):M(n,r,o,s,i,a,c,u,e)}}if(e<12){let f=t[l++],d=t[l++];if((128&f)>0||(128&d)>0)return void(l-=10);if(e<11)return M(n,r,o,s,i,a,c,u,f,d);let h=t[l++];return(128&h)>0?void(l-=11):M(n,r,o,s,i,a,c,u,f,d,h)}{let f=t[l++],d=t[l++],h=t[l++],p=t[l++];if((128&f)>0||(128&d)>0||(128&h)>0||(128&p)>0)return void(l-=12);if(e<14){if(12===e)return M(n,r,o,s,i,a,c,u,f,d,h,p);{let e=t[l++];return(128&e)>0?void(l-=13):M(n,r,o,s,i,a,c,u,f,d,h,p,e)}}{let g=t[l++],m=t[l++];if((128&g)>0||(128&m)>0)return void(l-=14);if(e<15)return M(n,r,o,s,i,a,c,u,f,d,h,p,g,m);let y=t[l++];return(128&y)>0?void(l-=15):M(n,r,o,s,i,a,c,u,f,d,h,p,g,m,y)}}}}}function F(){let e,n=t[l++];if(n<192)e=n-160;else switch(n){case 217:e=t[l++];break;case 218:e=a.getUint16(l),l+=2;break;case 219:e=a.getUint32(l),l+=4;break;default:throw new Error("Expected string")}return O(e)}function N(e){return c.copyBuffers?Uint8Array.prototype.slice.call(t,l,l+=e):t.subarray(l,l+=e)}function U(e){let n=t[l++];if(d[n]){let r;return d[n](t.subarray(l,r=l+=e),(e=>{l=e;try{return x()}finally{l=r}}))}throw new Error("Unknown extension type "+n)}var j=new Array(4096);function _(){let e=t[l++];if(!(e>=160&&e<192))return l--,Q(x());if(e-=160,f>=l)return o.slice(l-u,(l+=e)-u);if(!(0==f&&n<180))return E(e);let r,s=4095&(e<<5^(e>1?a.getUint16(l):e>0?t[l]:0)),i=j[s],c=l,d=l+e-3,h=0;if(i&&i.bytes==e){for(;c{let n=x().map(Q),o=e;void 0!==t&&(e=e<32?-((t<<5)+e):(t<<5)+e,n.highByte=t);let s=r[e];return s&&(s.isShared||m)&&((r.restoreStructures||(r.restoreStructures=[]))[e]=s),r[e]=n,n.read=$(n,o),n.read()};d[0]=()=>{},d[0].noBuffer=!0,d[66]=e=>{let t=e.length,n=BigInt(128&e[0]?e[0]-256:e[0]);for(let r=1;r{let e=x();return(z[e[0]]||Error)(e[1],{cause:e[2]})},d[105]=e=>{if(!1===c.structuredClone)throw new Error("Structured clone extension is disabled");let n=a.getUint32(l-4);i||(i=new Map);let r,o=t[l];r=o>=144&&o<160||220==o||221==o?[]:{};let s={target:r};i.set(n,s);let u=x();return s.used?Object.assign(r,u):(s.target=u,u)},d[112]=e=>{if(!1===c.structuredClone)throw new Error("Structured clone extension is disabled");let t=a.getUint32(l-4),n=i.get(t);return n.used=!0,n.target},d[115]=()=>new Set(x());const H=["Int8","Uint8","Uint8Clamped","Int16","Uint16","Int32","Uint32","Float32","Float64","BigInt64","BigUint64"].map((e=>e+"Array"));let q="object"==typeof globalThis?globalThis:window;d[116]=e=>{let t=e[0],n=H[t];if(!n){if(16===t){let t=new ArrayBuffer(e.length-1);return new Uint8Array(t).set(e.subarray(1)),t}throw new Error("Could not find typed array for code "+t)}return new q[n](Uint8Array.prototype.slice.call(e,1).buffer)},d[120]=()=>{let e=x();return new RegExp(e[0],e[1])};const V=[];function W(e){let d=n,h=l,p=u,g=f,y=o,b=i,v=s,w=new Uint8Array(t.slice(0,n)),x=r,S=r.slice(0,r.length),$=c,k=m,T=e();return n=d,l=h,u=p,f=g,o=y,i=b,s=v,t=w,m=k,(r=x).splice(0,r.length,...S),c=$,a=new DataView(t.buffer,t.byteOffset,t.byteLength),T}function J(){t=null,i=null,r=null}d[98]=e=>{let t=(e[0]<<24)+(e[1]<<16)+(e[2]<<8)+e[3],n=l;return l+=t-e.length,s=V,(s=[F(),F()]).position0=0,s.position1=0,s.postBundlePosition=l,l=n,x()},d[255]=e=>4==e.length?new Date(1e3*(16777216*e[0]+(e[1]<<16)+(e[2]<<8)+e[3])):8==e.length?new Date(((e[0]<<22)+(e[1]<<14)+(e[2]<<6)+(e[3]>>2))/1e6+1e3*(4294967296*(3&e[3])+16777216*e[4]+(e[5]<<16)+(e[6]<<8)+e[7])):12==e.length?new Date(((e[0]<<24)+(e[1]<<16)+(e[2]<<8)+e[3])/1e6+1e3*((128&e[4]?-281474976710656:0)+1099511627776*e[6]+4294967296*e[7]+16777216*e[8]+(e[9]<<16)+(e[10]<<8)+e[11])):new Date("invalid");const K=new Array(147);for(let e=0;e<256;e++)K[e]=+("1e"+Math.floor(45.15-.30103*e));var G=new b({useRecords:!1});const Z=G.unpack;G.unpackMultiple,G.unpack;let Y,X,ee,te=new Float32Array(1);new Uint8Array(te.buffer,0,4);try{Y=new TextEncoder}catch(e){}const ne="undefined"!=typeof Buffer,re=ne?function(e){return Buffer.allocUnsafeSlow(e)}:Uint8Array,oe=ne?Buffer:Uint8Array,se=ne?4294967296:2144337920;let ie,ae,le,ce,ue=0,fe=null;const de=/[\u0080-\uFFFF]/,he=Symbol("record-id");function pe(e,t,n,r){let o=e.byteLength;if(o+1<256){var{target:s,position:i}=n(4+o);s[i++]=199,s[i++]=o+1}else if(o+1<65536){var{target:s,position:i}=n(5+o);s[i++]=200,s[i++]=o+1>>8,s[i++]=o+1&255}else{var{target:s,position:i,targetView:a}=n(7+o);s[i++]=201,a.setUint32(i,o+1),i+=4}s[i++]=116,s[i++]=t,e.buffer||(e=new Uint8Array(e)),s.set(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),i)}function ge(e,t){let n=e.byteLength;var r,o;if(n<256){var{target:r,position:o}=t(n+2);r[o++]=196,r[o++]=n}else if(n<65536){var{target:r,position:o}=t(n+3);r[o++]=197,r[o++]=n>>8,r[o++]=255&n}else{var{target:r,position:o,targetView:s}=t(n+5);r[o++]=198,s.setUint32(o,n),o+=4}r.set(e,o)}function me(e,t,n,r){let o=e.length;switch(o){case 1:t[n++]=212;break;case 2:t[n++]=213;break;case 4:t[n++]=214;break;case 8:t[n++]=215;break;case 16:t[n++]=216;break;default:o<256?(t[n++]=199,t[n++]=o):o<65536?(t[n++]=200,t[n++]=o>>8,t[n++]=255&o):(t[n++]=201,t[n++]=o>>24,t[n++]=o>>16&255,t[n++]=o>>8&255,t[n++]=255&o)}return t[n++]=r,t.set(e,n),n+=o}function ye(e,t,n){if(fe.length>0){le.setUint32(fe.position+e,ue+n-fe.position-e),fe.stringsPosition=ue-e;let r=fe;fe=null,t(r[0]),t(r[1])}}ee=[Date,Set,Error,RegExp,ArrayBuffer,Object.getPrototypeOf(Uint8Array.prototype).constructor,p],X=[{pack(e,t,n){let r=e.getTime()/1e3;if((this.useTimestamp32||0===e.getMilliseconds())&&r>=0&&r<4294967296){let{target:e,targetView:n,position:o}=t(6);e[o++]=214,e[o++]=255,n.setUint32(o,r)}else if(r>0&&r<4294967296){let{target:n,targetView:o,position:s}=t(10);n[s++]=215,n[s++]=255,o.setUint32(s,4e6*e.getMilliseconds()+(r/1e3/4294967296|0)),o.setUint32(s+4,r)}else if(isNaN(r)){if(this.onInvalidDate)return t(0),n(this.onInvalidDate());let{target:e,targetView:r,position:o}=t(3);e[o++]=212,e[o++]=255,e[o++]=255}else{let{target:n,targetView:o,position:s}=t(15);n[s++]=199,n[s++]=12,n[s++]=255,o.setUint32(s,1e6*e.getMilliseconds()),o.setBigInt64(s+4,BigInt(Math.floor(r)))}}},{pack(e,t,n){if(this.setAsEmptyObject)return t(0),n({});let r=Array.from(e),{target:o,position:s}=t(this.moreTypes?3:0);this.moreTypes&&(o[s++]=212,o[s++]=115,o[s++]=0),n(r)}},{pack(e,t,n){let{target:r,position:o}=t(this.moreTypes?3:0);this.moreTypes&&(r[o++]=212,r[o++]=101,r[o++]=0),n([e.name,e.message,e.cause])}},{pack(e,t,n){let{target:r,position:o}=t(this.moreTypes?3:0);this.moreTypes&&(r[o++]=212,r[o++]=120,r[o++]=0),n([e.source,e.flags])}},{pack(e,t){this.moreTypes?pe(e,16,t):ge(ne?Buffer.from(e):new Uint8Array(e),t)}},{pack(e,t){let n=e.constructor;n!==oe&&this.moreTypes?pe(e,H.indexOf(n.name),t):ge(e,t)}},{pack(e,t){let{target:n,position:r}=t(1);n[r]=193}}];let be=new class extends b{constructor(e){let t,n,r,o;super(e),this.offset=0;let s=oe.prototype.utf8Write?function(e,t){return ie.utf8Write(e,t,4294967295)}:!(!Y||!Y.encodeInto)&&function(e,t){return Y.encodeInto(e,ie.subarray(t)).written},i=this;e||(e={});let a=e&&e.sequential,l=e.structures||e.saveStructures,c=e.maxSharedStructures;if(null==c&&(c=l?32:0),c>8160)throw new Error("Maximum maxSharedStructure is 8160");e.structuredClone&&null==e.moreTypes&&(this.moreTypes=!0);let u=e.maxOwnStructures;null==u&&(u=l?32:64),this.structures||0==e.useRecords||(this.structures=[]);let f=c>32||u+c>64,d=c+64,h=c+u+64;if(h>8256)throw new Error("Maximum maxSharedStructure + maxOwnStructure is 8192");let p=[],g=0,m=0;this.pack=this.encode=function(e,s){if(ie||(ie=new re(8192),le=ie.dataView||(ie.dataView=new DataView(ie.buffer,0,8192)),ue=0),ce=ie.length-10,ce-ue<2048?(ie=new re(ie.length),le=ie.dataView||(ie.dataView=new DataView(ie.buffer,0,ie.length)),ce=ie.length-10,ue=0):ue=ue+7&2147483640,t=ue,s&xe&&(ue+=255&s),o=i.structuredClone?new Map:null,i.bundleStrings&&"string"!=typeof e?(fe=[],fe.size=1/0):fe=null,r=i.structures,r){r.uninitialized&&(r=i._mergeStructures(i.getStructures()));let e=r.sharedLength||0;if(e>c)throw new Error("Shared structures is larger than maximum shared structures, try increasing maxSharedStructures to "+r.sharedLength);if(!r.transitions){r.transitions=Object.create(null);for(let t=0;te.offset>t.offset?1:-1)),r=e.length,s=-1;for(;n&&r>0;){let o=e[--r].offset+t;on.position+t?s>=0&&(s+=6):(s>=0&&(le.setUint32(n.position+t,le.getUint32(n.position+t)+s),s=-1),n=n.previous,r++)}s>=0&&n&&le.setUint32(n.position+t,le.getUint32(n.position+t)+s),ue+=6*e.length,ue>ce&&k(ue),i.offset=ue;let a=function(e,t){let n,r=6*t.length,o=e.length-r;for(;n=t.pop();){let t=n.offset,s=n.id;e.copyWithin(t+r,t,o),r-=6;let i=t+r;e[i++]=214,e[i++]=105,e[i++]=s>>24,e[i++]=s>>16&255,e[i++]=s>>8&255,e[i++]=255&s,o=t}return e}(ie.subarray(t,ue),e);return o=null,a}return i.offset=ue,s&ve?(ie.start=t,ie.end=ue,ie):ie.subarray(t,ue)}catch(e){throw l=e,e}finally{if(r&&(y(),n&&i.saveStructures)){let n=r.sharedLength||0,o=ie.subarray(t,ue),a=function(e,t){return e.isCompatible=e=>{let n=!e||(t.lastNamedStructuresLength||0)===e.length;return n||t._mergeStructures(e),n},e}(r,i);if(!l)return!1===i.saveStructures(a,a.isCompatible)?i.pack(e,s):(i.lastNamedStructuresLength=n,ie.length>1073741824&&(ie=null),o)}ie.length>1073741824&&(ie=null),s&we&&(ue=t)}};const y=()=>{m<10&&m++;let e=r.sharedLength||0;if(r.length>e&&!a&&(r.length=e),g>1e4)r.transitions=null,m=0,g=0,p.length>0&&(p=[]);else if(p.length>0&&!a){for(let e=0,t=p.length;e{var t=e.length;t<16?ie[ue++]=144|t:t<65536?(ie[ue++]=220,ie[ue++]=t>>8,ie[ue++]=255&t):(ie[ue++]=221,le.setUint32(ue,t),ue+=4);for(let n=0;n{ue>ce&&(ie=k(ue));var n,r=typeof e;if("string"===r){let r,o=e.length;if(fe&&o>=4&&o<4096){if((fe.size+=o)>21760){let e,n,r=(fe[0]?3*fe[0].length+fe[1].length:0)+10;ue+r>ce&&(ie=k(ue+r)),fe.position?(n=fe,ie[ue]=200,ue+=3,ie[ue++]=98,e=ue-t,ue+=4,ye(t,v,0),le.setUint16(e+t-3,ue-t-e)):(ie[ue++]=214,ie[ue++]=98,e=ue-t,ue+=4),fe=["",""],fe.previous=n,fe.size=0,fe.position=e}let n=de.test(e);return fe[n?0:1]+=e,ie[ue++]=193,void v(n?-o:o)}r=o<32?1:o<256?2:o<65536?3:5;let i=3*o;if(ue+i>ce&&(ie=k(ue+i)),o<64||!s){let t,s,i,a=ue+r;for(t=0;t>6|192,ie[a++]=63&s|128):55296==(64512&s)&&56320==(64512&(i=e.charCodeAt(t+1)))?(s=65536+((1023&s)<<10)+(1023&i),t++,ie[a++]=s>>18|240,ie[a++]=s>>12&63|128,ie[a++]=s>>6&63|128,ie[a++]=63&s|128):(ie[a++]=s>>12|224,ie[a++]=s>>6&63|128,ie[a++]=63&s|128);n=a-ue-r}else n=s(e,ue+r);n<32?ie[ue++]=160|n:n<256?(r<2&&ie.copyWithin(ue+2,ue+1,ue+1+n),ie[ue++]=217,ie[ue++]=n):n<65536?(r<3&&ie.copyWithin(ue+3,ue+2,ue+2+n),ie[ue++]=218,ie[ue++]=n>>8,ie[ue++]=255&n):(r<5&&ie.copyWithin(ue+5,ue+3,ue+3+n),ie[ue++]=219,le.setUint32(ue,n),ue+=4),ue+=n}else if("number"===r)if(e>>>0===e)e<32||e<128&&!1===this.useRecords||e<64&&!this.randomAccessStructure?ie[ue++]=e:e<256?(ie[ue++]=204,ie[ue++]=e):e<65536?(ie[ue++]=205,ie[ue++]=e>>8,ie[ue++]=255&e):(ie[ue++]=206,le.setUint32(ue,e),ue+=4);else if((e|0)===e)e>=-32?ie[ue++]=256+e:e>=-128?(ie[ue++]=208,ie[ue++]=e+256):e>=-32768?(ie[ue++]=209,le.setInt16(ue,e),ue+=2):(ie[ue++]=210,le.setInt32(ue,e),ue+=4);else{let t;if((t=this.useFloat32)>0&&e<4294967296&&e>=-2147483648){let n;if(ie[ue++]=202,le.setFloat32(ue,e),t<4||((n=e*K[(127&ie[ue])<<1|ie[ue+1]>>7])|0)===n)return void(ue+=4);ue--}ie[ue++]=203,le.setFloat64(ue,e),ue+=8}else if("object"===r||"function"===r)if(e){if(o){let n=o.get(e);if(n){if(!n.id){let e=o.idsToInsert||(o.idsToInsert=[]);n.id=e.push(n)}return ie[ue++]=214,ie[ue++]=112,le.setUint32(ue,n.id),void(ue+=4)}o.set(e,{offset:ue-t})}let s=e.constructor;if(s===Object)$(e);else if(s===Array)b(e);else if(s===Map)if(this.mapAsEmptyObject)ie[ue++]=128;else{(n=e.size)<16?ie[ue++]=128|n:n<65536?(ie[ue++]=222,ie[ue++]=n>>8,ie[ue++]=255&n):(ie[ue++]=223,le.setUint32(ue,n),ue+=4);for(let[t,n]of e)v(t),v(n)}else{for(let t=0,n=X.length;t(ie=o,o=null,ue+=e,ue>ce&&k(ue),{target:ie,targetView:le,position:ue-e})),v)}finally{o&&(ie=o,le=s,ue=i,ce=ie.length-10)}return void(r&&(r.length+ue>ce&&k(r.length+ue),ue=me(r,ie,ue,n.type)))}}if(Array.isArray(e))b(e);else{if(e.toJSON){const t=e.toJSON();if(t!==e)return v(t)}if("function"===r)return v(this.writeFunction&&this.writeFunction(e));$(e)}}}else ie[ue++]=192;else if("boolean"===r)ie[ue++]=e?195:194;else if("bigint"===r){if(e=-(BigInt(1)<0)ie[ue++]=207,le.setBigUint64(ue,e);else{if(!this.largeBigIntToFloat){if(this.useBigIntExtension&&e<2n**1023n&&e>-(2n**1023n)){ie[ue++]=199,ue++,ie[ue++]=66;let t,n=[];do{let r=0xffn&e;t=(0x80n&r)===(e<0n?0x80n:0n),n.push(r),e>>=8n}while(0n!==e&&-1n!==e||!t);ie[ue-2]=n.length;for(let e=n.length;e>0;)ie[ue++]=Number(n[--e]);return}throw new RangeError(e+" was too large to fit in MessagePack 64-bit integer format, use useBigIntExtension or set largeBigIntToFloat to convert to float-64")}ie[ue++]=203,le.setFloat64(ue,Number(e))}ue+=8}else{if("undefined"!==r)throw new Error("Unknown type: "+r);this.encodeUndefinedAsNil?ie[ue++]=192:(ie[ue++]=212,ie[ue++]=0,ie[ue++]=0)}},w=this.variableMapSize||this.coercibleKeyAsNumber||this.skipValues?e=>{let t;if(this.skipValues){t=[];for(let n in e)"function"==typeof e.hasOwnProperty&&!e.hasOwnProperty(n)||this.skipValues.includes(e[n])||t.push(n)}else t=Object.keys(e);let n,r=t.length;if(r<16?ie[ue++]=128|r:r<65536?(ie[ue++]=222,ie[ue++]=r>>8,ie[ue++]=255&r):(ie[ue++]=223,le.setUint32(ue,r),ue+=4),this.coercibleKeyAsNumber)for(let o=0;o{ie[ue++]=222;let n=ue-t;ue+=2;let r=0;for(let t in e)("function"!=typeof e.hasOwnProperty||e.hasOwnProperty(t))&&(v(t),v(e[t]),r++);ie[n+++t]=r>>8,ie[n+t]=255&r},x=!1===this.useRecords?w:e.progressiveRecords&&!f?e=>{let n,o,s=r.transitions||(r.transitions=Object.create(null)),i=ue++-t;for(let a in e)if("function"!=typeof e.hasOwnProperty||e.hasOwnProperty(a)){if(n=s[a],n)s=n;else{let l=Object.keys(e),c=s;s=r.transitions;let u=0;for(let e=0,t=l.length;e{let t,n=r.transitions||(r.transitions=Object.create(null)),o=0;for(let r in e)("function"!=typeof e.hasOwnProperty||e.hasOwnProperty(r))&&(t=n[r],t||(t=n[r]=Object.create(null),o++),n=t);let s=n[he];s?s>=96&&f?(ie[ue++]=96+(31&(s-=96)),ie[ue++]=s>>5):ie[ue++]=s:T(n,n.__keys__||Object.keys(e),o);for(let t in e)("function"!=typeof e.hasOwnProperty||e.hasOwnProperty(t))&&v(e[t])},S="function"==typeof this.useRecords&&this.useRecords,$=S?e=>{S(e)?x(e):w(e)}:x,k=e=>{let n;if(e>16777216){if(e-t>se)throw new Error("Packed buffer would be larger than maximum buffer size");n=Math.min(se,4096*Math.round(Math.max((e-t)*(e>67108864?1.25:2),4194304)/4096))}else n=1+(Math.max(e-t<<2,ie.length-1)>>12)<<12;let r=new re(n);return le=r.dataView||(r.dataView=new DataView(r.buffer,0,n)),e=Math.min(e,ie.length),ie.copy?ie.copy(r,0,t,e):r.set(ie.slice(t,e)),ue-=t,t=0,ce=r.length-10,ie=r},T=(e,t,o)=>{let s=r.nextId;s||(s=64),s=h&&(s=d),r.nextId=s+1);let i=t.highByte=s>=96&&f?s-96>>5:-1;e[he]=s,e.__keys__=t,r[s-64]=t,s=0?(ie[ue++]=96+(31&s),ie[ue++]=i):ie[ue++]=s):(i>=0?(ie[ue++]=213,ie[ue++]=114,ie[ue++]=96+(31&s),ie[ue++]=i):(ie[ue++]=212,ie[ue++]=114,ie[ue++]=s),o&&(g+=m*o),p.length>=u&&(p.shift()[he]=0),p.push(e),v(t))},E=(e,n,r,o)=>{let s=ie,i=ue,a=ce,l=t;ie=ae,ue=0,t=0,ie||(ae=ie=new re(8192)),ce=ie.length-10,T(e,n,o),ae=ie;let c=ue;if(ie=s,ue=i,ce=a,t=l,c>1){let e=ue+c-1;e>ce&&k(e);let n=r+t;ie.copyWithin(n+c,n+1,ue),ie.set(ae.slice(0,c),n),ue=e}else ie[r+t]=ae[0]},C=e=>{let o=undefined(e,ie,t,ue,r,k,((e,t,r)=>{if(r)return n=!0;ue=t;let o=ie;return v(e),y(),o!==ie?{position:ue,targetView:le,target:ie}:ue}),this);if(0===o)return $(e);ue=o}}useBuffer(e){ie=e,ie.dataView||(ie.dataView=new DataView(ie.buffer,ie.byteOffset,ie.byteLength)),ue=0}set position(e){ue=e}get position(){return ue}clearSharedData(){this.structures&&(this.structures=[]),this.typedStructs&&(this.typedStructs=[])}}({useRecords:!1});be.pack,be.pack;const ve=512,we=1024,xe=2048;var Se=Uint8Array,$e=Uint16Array,ke=Int32Array,Te=new Se([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Ee=new Se([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Ce=new Se([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Le=function(e,t){for(var n=new $e(31),r=0;r<31;++r)n[r]=t+=1<>1|(21845&De)<<1;Re=(61680&(Re=(52428&Re)>>2|(13107&Re)<<2))>>4|(3855&Re)<<4,Me[De]=((65280&Re)>>8|(255&Re)<<8)>>1}var Fe=function(e,t,n){for(var r=e.length,o=0,s=new $e(t);o>l]=c}else for(i=new $e(r),o=0;o>15-e[o]);return i},Ne=new Se(288);for(De=0;De<144;++De)Ne[De]=8;for(De=144;De<256;++De)Ne[De]=9;for(De=256;De<280;++De)Ne[De]=7;for(De=280;De<288;++De)Ne[De]=8;var Ue=new Se(32);for(De=0;De<32;++De)Ue[De]=5;var je=Fe(Ne,9,1),_e=Fe(Ue,5,1),Qe=function(e){for(var t=e[0],n=1;nt&&(t=e[n]);return t},Be=function(e,t,n){var r=t/8|0;return(e[r]|e[r+1]<<8)>>(7&t)&n},ze=function(e,t){var n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(7&t)},He=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],qe=function(e,t,n){var r=new Error(t||He[e]);if(r.code=e,Error.captureStackTrace&&Error.captureStackTrace(r,qe),!n)throw r;return r},Ve=function(e,t,n,r){var o=e.length,s=r?r.length:0;if(!o||t.f&&!t.l)return n||new Se(0);var i=!n,a=i||2!=t.i,l=t.i;i&&(n=new Se(3*o));var c=function(e){var t=n.length;if(e>t){var r=new Se(Math.max(2*t,e));r.set(n),n=r}},u=t.f||0,f=t.p||0,d=t.b||0,h=t.l,p=t.d,g=t.m,m=t.n,y=8*o;do{if(!h){u=Be(e,f,1);var b=Be(e,f+1,3);if(f+=3,!b){var v=e[(O=4+((f+7)/8|0))-4]|e[O-3]<<8,w=O+v;if(w>o){l&&qe(0);break}a&&c(d+v),n.set(e.subarray(O,w),d),t.b=d+=v,t.p=f=8*w,t.f=u;continue}if(1==b)h=je,p=_e,g=9,m=5;else if(2==b){var x=Be(e,f,31)+257,S=Be(e,f+10,15)+4,$=x+Be(e,f+5,31)+1;f+=14;for(var k=new Se($),T=new Se(19),E=0;E>4)<16)k[E++]=O;else{var A=0,M=0;for(16==O?(M=3+Be(e,f,3),f+=2,A=k[E-1]):17==O?(M=3+Be(e,f,7),f+=3):18==O&&(M=11+Be(e,f,127),f+=7);M--;)k[E++]=A}}var D=k.subarray(0,x),R=k.subarray(x);g=Qe(D),m=Qe(R),h=Fe(D,g,1),p=Fe(R,m,1)}else qe(1);if(f>y){l&&qe(0);break}}a&&c(d+131072);for(var F=(1<>4;if((f+=15&A)>y){l&&qe(0);break}if(A||qe(2),j<256)n[d++]=j;else{if(256==j){U=f,h=null;break}var _=j-254;if(j>264){var Q=Te[E=j-257];_=Be(e,f,(1<>4;B||qe(3),f+=15&B;R=Ae[z];if(z>3){Q=Ee[z];R+=ze(e,f)&(1<y){l&&qe(0);break}a&&c(d+131072);var H=d+_;if(de.length)&&(n=e.length),new Se(e.subarray(t,n))}(n,0,d):n.subarray(0,d)},We=new Se(0);function Je(e,t){return Ve(e,{i:2},t&&t.out,t&&t.dictionary)}var Ke="undefined"!=typeof TextDecoder&&new TextDecoder;try{Ke.decode(We,{stream:!0})}catch(e){}const Ge="function"==typeof Buffer;"function"==typeof TextDecoder&&new TextDecoder,"function"==typeof TextEncoder&&new TextEncoder;const Ze=Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="),Ye=(()=>{let e={};return Ze.forEach(((t,n)=>e[t]=n)),e})(),Xe=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,et=String.fromCharCode.bind(String),tt="function"==typeof Uint8Array.from?Uint8Array.from.bind(Uint8Array):e=>new Uint8Array(Array.prototype.slice.call(e,0)),nt=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),rt="function"==typeof atob?e=>atob(nt(e)):Ge?e=>Buffer.from(e,"base64").toString("binary"):e=>{if(e=e.replace(/\s+/g,""),!Xe.test(e))throw new TypeError("malformed base64.");e+="==".slice(2-(3&e.length));let t,n,r,o="";for(let s=0;s>16&255):64===r?et(t>>16&255,t>>8&255):et(t>>16&255,t>>8&255,255&t);return o},ot=Ge?e=>tt(Buffer.from(e,"base64")):e=>tt(rt(e).split("").map((e=>e.charCodeAt(0)))),st=e=>nt(e.replace(/[-_]/g,(e=>"-"==e?"+":"/")));function it(e){if(null==e)return!1;switch(typeof e){case"function":case"object":return"function"==typeof e.subscribe&&"function"==typeof e.set}return!1}function at(e){if(null==e)return!1;switch(typeof e){case"function":case"object":return"function"==typeof e.subscribe&&"function"==typeof e.set&&"function"==typeof e.update}return!1}function lt(e,t,n){let r=!1;return e.subscribe((e=>{r?n(e):(r=!0,t(e))}))}function ct(e){return null!=e&&"object"==typeof e&&Symbol.iterator in e}function ut(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function ft(e,t,n){if("object"!=typeof e)return n;if("string"!=typeof t)return n;const r=t.split(".");for(let t=0;t{for(const t of e){const e=this.#t.get(t?.target);if(Array.isArray(e)){const n=t.contentRect.width,r=t.contentRect.height;for(const t of e)ht.#o(t,n,r)}}}))}add(e,t){if(!(e instanceof HTMLElement))throw new TypeError("ResizeObserverManager.add error: 'el' is not a HTMLElement.");if(this.#s(e,t))return;const n=ht.#i(t);if(0===n)throw new Error("ResizeObserverManager.add error: 'target' is not a valid ResizeObserverManager target.");const r=globalThis.getComputedStyle(e),o=dt.pixels(e.style.borderBottom)??dt.pixels(r.borderBottom)??0,s=dt.pixels(e.style.borderLeft)??dt.pixels(r.borderLeft)??0,i=dt.pixels(e.style.borderRight)??dt.pixels(r.borderRight)??0,a=dt.pixels(e.style.borderTop)??dt.pixels(r.borderTop)??0,l=dt.pixels(e.style.paddingBottom)??dt.pixels(r.paddingBottom)??0,c={updateType:n,target:t,contentWidth:0,contentHeight:0,styles:{additionalWidth:s+i+(dt.pixels(e.style.paddingLeft)??dt.pixels(r.paddingLeft)??0)+(dt.pixels(e.style.paddingRight)??dt.pixels(r.paddingRight)??0),additionalHeight:a+o+(dt.pixels(e.style.paddingTop)??dt.pixels(r.paddingTop)??0)+l}};if(this.#t.has(e)){this.#t.get(e).push(c)}else this.#t.set(e,[c]);this.#n.observe(e)}clear(){for(const e of this.#t.keys())this.#n.unobserve(e);this.#t.clear()}remove(e,t=void 0){const n=this.#t.get(e);if(Array.isArray(n)){if(void 0!==t){const e=n.findIndex((e=>e.target===t));e>=0&&n.splice(e,1)}else n.length=0;0===n.length&&(this.#t.delete(e),this.#n.unobserve(e))}}updateCache(e){const t=this.#t.get(e);if(Array.isArray(t)){const n=globalThis.getComputedStyle(e),r=dt.pixels(e.style.borderBottom)??dt.pixels(n.borderBottom)??0,o=dt.pixels(e.style.borderLeft)??dt.pixels(n.borderLeft)??0,s=dt.pixels(e.style.borderRight)??dt.pixels(n.borderRight)??0,i=dt.pixels(e.style.borderTop)??dt.pixels(n.borderTop)??0,a=dt.pixels(e.style.paddingBottom)??dt.pixels(n.paddingBottom)??0,l=o+s+(dt.pixels(e.style.paddingLeft)??dt.pixels(n.paddingLeft)??0)+(dt.pixels(e.style.paddingRight)??dt.pixels(n.paddingRight)??0),c=i+r+(dt.pixels(e.style.paddingTop)??dt.pixels(n.paddingTop)??0)+a;for(const e of t)e.styles.additionalWidth=l,e.styles.additionalHeight=c,ht.#o(e,e.contentWidth,e.contentHeight)}}static#i(e){if("function"==typeof e?.resizeObserved)return this.#r.resizeObserved;if("function"==typeof e?.setDimension)return this.#r.setDimension;if("function"==typeof e?.setContentBounds)return this.#r.setContentBounds;const t=typeof e;if(null!==t&&("object"===t||"function"===t)){if(at(e.resizeObserved))return this.#r.storeObject;const t=e?.stores;if((ut(t)||"function"==typeof t)&&at(t.resizeObserved))return this.#r.storesObject}return null!==t&&"object"===t?this.#r.attribute:"function"===t?this.#r.function:this.#r.none}#s(e,t){if(null==t)return!1;const n=this.#t.get(e);return!!Array.isArray(n)&&n.findIndex((e=>e.target===t))>=0}static#o(e,t,n){const r=e.styles;e.contentWidth=t,e.contentHeight=n;const o=Number.isFinite(t)?t+r.additionalWidth:void 0,s=Number.isFinite(n)?n+r.additionalHeight:void 0,i=e.target;switch(e.updateType){case this.#r.attribute:i.contentWidth=t,i.contentHeight=n,i.offsetWidth=o,i.offsetHeight=s;break;case this.#r.function:i?.(o,s,t,n);break;case this.#r.resizeObserved:i.resizeObserved?.(o,s,t,n);break;case this.#r.setContentBounds:i.setContentBounds?.(t,n);break;case this.#r.setDimension:i.setDimension?.(o,s);break;case this.#r.storeObject:i.resizeObserved.update((e=>(e.contentHeight=n,e.contentWidth=t,e.offsetHeight=s,e.offsetWidth=o,e)));break;case this.#r.storesObject:i.stores.resizeObserved.update((e=>(e.contentHeight=n,e.contentWidth=t,e.offsetHeight=s,e.offsetWidth=o,e)))}}}const pt=new ht;function gt(e,t){return pt.add(e,t),{update:n=>{pt.remove(e,t),t=n,pt.add(e,t)},destroy:()=>{pt.remove(e,t)}}}gt.updateCache=function(e){pt.updateCache(e)};class mt{constructor(){throw new Error("Timing constructor: This is a static class and should not be constructed.")}static debounce(e,t){if("function"!=typeof e)throw new TypeError("'callback' must be a function.");if(!Number.isInteger(t)||t<0)throw new TypeError("'delay' must be a positive integer representing milliseconds.");let n;return function(...r){globalThis.clearTimeout(n),n=globalThis.setTimeout((()=>{e.apply(this,r)}),t)}}static doubleClick({single:e,double:t,delay:n=400}){if(void 0!==e&&"function"!=typeof e)throw new TypeError("'single' must be a function.");if(void 0!==t&&"function"!=typeof t)throw new TypeError("'double' must be a function.");if(!Number.isInteger(n)||n<0)throw new TypeError("'delay' must be a positive integer representing milliseconds.");let r,o=0;return s=>{globalThis.clearTimeout(r),o++,1===o?r=globalThis.setTimeout((()=>{"function"==typeof e&&e(s),o=0}),n):("function"==typeof t&&t(s),o=0)}}}function yt(){}const bt=e=>e;function vt(e,t){for(const n in t)e[n]=t[n];return e}function wt(e){return e()}function xt(){return Object.create(null)}function St(e){e.forEach(wt)}function $t(e){return"function"==typeof e}function kt(e,t){return e!=e?t==t:e!==t||e&&"object"==typeof e||"function"==typeof e}let Tt;function Et(e,t){return e===t||(Tt||(Tt=document.createElement("a")),Tt.href=t,e===Tt.href)}function Ct(e,...t){if(null==e){for(const e of t)e(void 0);return yt}const n=e.subscribe(...t);return n.unsubscribe?()=>n.unsubscribe():n}function Lt(e){let t;return Ct(e,(e=>t=e))(),t}function Pt(e,t,n){e.$$.on_destroy.push(Ct(t,n))}function Ot(e,t,n,r){if(e){const o=It(e,t,n,r);return e[0](o)}}function It(e,t,n,r){return e[1]&&r?vt(n.ctx.slice(),e[1](r(t))):n.ctx}function At(e,t,n,r){if(e[2]&&r){const o=e[2](r(n));if(void 0===t.dirty)return o;if("object"==typeof o){const e=[],n=Math.max(t.dirty.length,o.length);for(let r=0;r32){const t=[],n=e.ctx.length/32;for(let e=0;ewindow.performance.now():()=>Date.now(),_t=Ut?e=>requestAnimationFrame(e):yt;const Qt=new Set;function Bt(e){Qt.forEach((t=>{t.c(e)||(Qt.delete(t),t.f())})),0!==Qt.size&&_t(Bt)}const zt="undefined"!=typeof window?window:"undefined"!=typeof globalThis?globalThis:global;function Ht(e,t){e.appendChild(t)}function qt(e){if(!e)return document;const t=e.getRootNode?e.getRootNode():e.ownerDocument;return t&&t.host?t:e.ownerDocument}function Vt(e){const t=Kt("style");return t.textContent="/* empty */",function(e,t){Ht(e.head||e,t),t.sheet}(qt(e),t),t.sheet}function Wt(e,t,n){e.insertBefore(t,n||null)}function Jt(e){e.parentNode&&e.parentNode.removeChild(e)}function Kt(e){return document.createElement(e)}function Gt(e){return document.createElementNS("http://www.w3.org/2000/svg",e)}function Zt(e){return document.createTextNode(e)}function Yt(){return Zt(" ")}function Xt(){return Zt("")}function en(e,t,n,r){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)}function tn(e){return function(t){return t.stopPropagation(),e.call(this,t)}}function nn(e,t,n){null==n?e.removeAttribute(t):e.getAttribute(t)!==n&&e.setAttribute(t,n)}function rn(e,t){t=""+t,e.data!==t&&(e.data=t)}function on(e,t){e.value=null==t?"":t}function sn(e,t,n,r){null==n?e.style.removeProperty(t):e.style.setProperty(t,n,"")}function an(e,t,n){e.classList.toggle(t,!!n)}function ln(e,t){return new e(t)}const cn=new Map;let un,fn=0;function dn(e,t,n,r,o,s,i,a=0){const l=16.666/r;let c="{\n";for(let e=0;e<=1;e+=l){const r=t+(n-t)*s(e);c+=100*e+`%{${i(r,1-r)}}\n`}const u=c+`100% {${i(n,1-n)}}\n}`,f=`__svelte_${function(e){let t=5381,n=e.length;for(;n--;)t=(t<<5)-t^e.charCodeAt(n);return t>>>0}(u)}_${a}`,d=qt(e),{stylesheet:h,rules:p}=cn.get(d)||function(e,t){const n={stylesheet:Vt(t),rules:{}};return cn.set(e,n),n}(d,e);p[f]||(p[f]=!0,h.insertRule(`@keyframes ${f} ${u}`,h.cssRules.length));const g=e.style.animation||"";return e.style.animation=`${g?`${g}, `:""}${f} ${r}ms linear ${o}ms 1 both`,fn+=1,f}function hn(e,t){const n=(e.style.animation||"").split(", "),r=n.filter(t?e=>e.indexOf(t)<0:e=>-1===e.indexOf("__svelte")),o=n.length-r.length;o&&(e.style.animation=r.join(", "),fn-=o,fn||_t((()=>{fn||(cn.forEach((e=>{const{ownerNode:t}=e.stylesheet;t&&Jt(t)})),cn.clear())})))}function pn(e){un=e}function gn(){if(!un)throw new Error("Function called outside component initialization");return un}function mn(e){gn().$$.on_mount.push(e)}function yn(e,t){return gn().$$.context.set(e,t),t}function bn(e){return gn().$$.context.get(e)}function vn(e,t){const n=e.$$.callbacks[t.type];n&&n.slice().forEach((e=>e.call(this,t)))}const wn=[],xn=[];let Sn=[];const $n=[],kn=Promise.resolve();let Tn=!1;function En(){Tn||(Tn=!0,kn.then(An))}function Cn(){return En(),kn}function Ln(e){Sn.push(e)}const Pn=new Set;let On,In=0;function An(){if(0!==In)return;const e=un;do{try{for(;In{Rn.delete(e),r&&(n&&e.d(1),r())})),e.o(t)}else r&&r()}const Qn={duration:0};function Bn(e,t,n,r){let o,s=t(e,n,{direction:"both"}),i=r?0:1,a=null,l=null,c=null;function u(){c&&hn(e,c)}function f(e,t){const n=e.b-i;return t*=Math.abs(n),{a:i,b:e.b,d:n,duration:t,start:e.start,end:e.start+t,group:e.group}}function d(t){const{delay:n=0,duration:r=300,easing:d=bt,tick:h=yt,css:p}=s||Qn,g={start:jt()+n,b:t};t||(g.group=Fn,Fn.r+=1),"inert"in e&&(t?void 0!==o&&(e.inert=o):(o=e.inert,e.inert=!0)),a||l?l=g:(p&&(u(),c=dn(e,i,t,r,n,d,p)),t&&h(0,1),a=f(g,r),Ln((()=>Dn(e,t,"start"))),function(e){let t;0===Qt.size&&_t(Bt),new Promise((n=>{Qt.add(t={c:e,f:n})}))}((t=>{if(l&&t>l.start&&(a=f(l,r),l=null,Dn(e,a.b,"start"),p&&(u(),c=dn(e,i,a.b,a.duration,0,d,s.css))),a)if(t>=a.end)h(i=a.b,1-i),Dn(e,a.b,"end"),l||(a.b?u():--a.group.r||St(a.group.c)),a=null;else if(t>=a.start){const e=t-a.start;i=a.a+a.d*d(e/a.duration),h(i,1-i)}return!(!a&&!l)})))}return{run(e){$t(s)?(On||(On=Promise.resolve(),On.then((()=>{On=null}))),On).then((()=>{s=s({direction:e?"in":"out"}),d(e)})):d(e)},end(){u(),a=l=null}}}function zn(e){return void 0!==e?.length?e:Array.from(e)}function Hn(e,t){e.d(1),t.delete(e.key)}function qn(e,t){_n(e,1,1,(()=>{t.delete(e.key)}))}function Vn(e,t,n,r,o,s,i,a,l,c,u,f){let d=e.length,h=s.length,p=d;const g={};for(;p--;)g[e[p].key]=p;const m=[],y=new Map,b=new Map,v=[];for(p=h;p--;){const e=f(o,s,p),r=n(e);let a=i.get(r);a?v.push((()=>a.p(e,t))):(a=c(r,e),a.c()),y.set(r,m[p]=a),r in g&&b.set(r,Math.abs(p-g[r]))}const w=new Set,x=new Set;function S(e){jn(e,1),e.m(a,u),i.set(e.key,e),u=e.first,h--}for(;d&&h;){const t=m[h-1],n=e[d-1],r=t.key,o=n.key;t===n?(u=t.first,d--,h--):y.has(o)?!i.has(r)||w.has(r)?S(t):x.has(o)?d--:b.get(r)>b.get(o)?(x.add(r),S(t)):(w.add(o),d--):(l(n,i),d--)}for(;d--;){const t=e[d];y.has(t.key)||l(t,i)}for(;h;)S(m[h-1]);return St(v),m}function Wn(e,t){const n={},r={},o={$$scope:1};let s=e.length;for(;s--;){const i=e[s],a=t[s];if(a){for(const e in i)e in a||(r[e]=1);for(const e in a)o[e]||(n[e]=a[e],o[e]=1);e[s]=a}else for(const e in i)o[e]=1}for(const e in r)e in n||(n[e]=void 0);return n}function Jn(e){return"object"==typeof e&&null!==e?e:{}}function Kn(e){e&&e.c()}function Gn(e,t,n){const{fragment:r,after_update:o}=e.$$;r&&r.m(t,n),Ln((()=>{const t=e.$$.on_mount.map(wt).filter($t);e.$$.on_destroy?e.$$.on_destroy.push(...t):St(t),e.$$.on_mount=[]})),o.forEach(Ln)}function Zn(e,t){const n=e.$$;null!==n.fragment&&(!function(e){const t=[],n=[];Sn.forEach((r=>-1===e.indexOf(r)?t.push(r):n.push(r))),n.forEach((e=>e())),Sn=t}(n.after_update),St(n.on_destroy),n.fragment&&n.fragment.d(t),n.on_destroy=n.fragment=null,n.ctx=[])}function Yn(e,t,n,r,o,s,i=null,a=[-1]){const l=un;pn(e);const c=e.$$={fragment:null,ctx:[],props:s,update:yt,not_equal:o,bound:xt(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(t.context||(l?l.$$.context:[])),callbacks:xt(),dirty:a,skip_bound:!1,root:t.target||l.$$.root};i&&i(c.root);let u=!1;if(c.ctx=n?n(e,t.props||{},((t,n,...r)=>{const s=r.length?r[0]:n;return c.ctx&&o(c.ctx[t],c.ctx[t]=s)&&(!c.skip_bound&&c.bound[t]&&c.bound[t](s),u&&function(e,t){-1===e.$$.dirty[0]&&(wn.push(e),En(),e.$$.dirty.fill(0)),e.$$.dirty[t/31|0]|=1<{const e=n.indexOf(t);-1!==e&&n.splice(e,1)}}$set(e){var t;this.$$set&&(t=e,0!==Object.keys(t).length)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}function er(e,{store:t,animate:n=!0,clickActive:r=!0}={}){e.dataset.closing="false";const o=e.querySelector("summary");let s,i=null;for(const t of e.children)if("SUMMARY"!==t.tagName){i=t;break}let a,l=e.open;function c(t,r,o){const a=Math.max(0,30*Math.log(Math.abs(r-t)+Number.EPSILON));n?(e.style.overflow="hidden",i&&(i.style.overflow="hidden"),s=e.animate({height:[`${t}px`,`${r}px`]},{duration:a,easing:"ease-out"}),s.onfinish=()=>{e.open=o,e.dataset.closing="false",e.style.overflow=null,i&&(i.style.overflow=null)}):(e.open=o,e.dataset.closing="false",e.style.overflow=null,i&&(i.style.overflow=null))}function u(){if(n)if(l){const t=e.offsetHeight;s&&s.cancel(),e.open=!0;c(t,e.offsetHeight,!0)}else{const t=e.offsetHeight;s&&s.cancel();const n=o.offsetHeight;e.dataset.closing="true",c(t,n,!1)}else e.open=l}function f(e){r&&(e.preventDefault(),t.set(!l))}return t&&(a=lt(t,(t=>{l=t,e.open=l}),(async e=>{l=e,await Cn(),u()}))),o.addEventListener("click",f),{update(o){it(o.store)&&o.store!==t&&("function"==typeof a&&a(),t=o.store,a=lt(t,(t=>{l=t,e.open=l}),(async e=>{l=e,await Cn(),u()}))),"boolean"==typeof o.animate&&(n=o.animate),"boolean"==typeof o.clickActive&&(r=o.clickActive)},destroy(){"function"==typeof a&&a(),o.removeEventListener("click",f)}}}const tr=[];function nr(e,t){return{subscribe:rr(e,t).subscribe}}function rr(e,t=yt){let n;const r=new Set;function o(t){if(kt(e,t)&&(e=t,n)){const t=!tr.length;for(const t of r)t[1](),tr.push(t,e);if(t){for(let e=0;e{r.delete(l),0===r.size&&n&&(n(),n=null)}}}}function or({storage:e,serialize:t=JSON.stringify,deserialize:n=JSON.parse}){function r(e,t,n){return{subscribe:o(e,t,n).subscribe}}function o(r,o,s){if(e){const s=e.getItem(r);try{s&&(o=n(s))}catch(e){}e.setItem(r,t(o))}const i=rr(o,s?function(n){return s((function(o){return e&&e.setItem(r,t(o)),n(o)}),(function(e){a(e(Lt(i)))}))}:void 0);function a(n){e&&e.setItem(r,t(n)),i.set(n)}return{set:a,update:function(e){a(e(Lt(i)))},subscribe:function(e,t){return i.subscribe(e,t)}}}return{readable:r,writable:o,derived:function(t,o,s,i){const a=!Array.isArray(o),l=a?[o]:o;if(e&&e.getItem(t))try{i=n(e.getItem(t))}catch(e){}return r(t,i,((e,t)=>{let n=!1;const r=[];let o,i=0;const c=()=>{if(i)return;o?.();const n=a?r[0]:r;if(s.length<2)e(s(n));else{const r=s(n,e,t);"function"==typeof r&&(o=r)}},u=l.map(((e,t)=>e.subscribe((e=>{r[t]=e,i&=~(1<{i|=1<e())),o?.()}}))},storage:e,serialize:t,deserialize:n}}const sr=or({storage:globalThis?.localStorage}),ir=or({storage:globalThis?.sessionStorage});class ar{#a;#l=new Map;constructor(e){this.#a=e}#c(e,t=void 0,n){try{const r=this.#a.storage.getItem(e);if(null!==r){t=(n?.deserialize??this.#a.deserialize)(r)}}catch(e){}return(n?.writable??this.#a.writable)(e,t)}#u(e){return this.#l.get(e)?.deserialize??this.#a.deserialize}#f(e){return this.#l.get(e)?.serialize??this.#a.serialize}#d(e,t=void 0,n){const r=this.#l.get(e);if(r)return r.store;const o=this.#c(e,t,n);return this.#l.set(e,{store:o,deserialize:n?.deserialize,serialize:n?.serialize}),o}getItem(e,t){let n=t;const r=this.#a.storage.getItem(e);if(null!==r)try{n=this.#u(e)(r)}catch(e){n=t}else if(void 0!==t)try{const n=this.#f(e)(t);this.#a.storage.setItem(e,n)}catch(e){}return n}getStore(e,t,n){return this.#d(e,t,n)}hasStore(e){return this.#l.has(e)}setItem(e,t){this.#d(e).set(t)}swapItemBoolean(e,t){const n=this.#d(e,t);let r=!1;try{r=!!this.#u(e)(this.#a.storage.getItem(e))}catch(e){}const o="boolean"==typeof r&&!r;return n.set(o),o}*entries(e=void 0){if(void 0!==e&&!(e instanceof RegExp))throw new TypeError("'regex' is not a RegExp");if(this.#l.size)if(e)for(const t of this.#l.keys())e.test(t)&&(yield[t,this.getStore(t)]);else for(const e of this.#l.keys())yield[e,this.getStore(e)]}*keys(e=void 0){if(void 0!==e&&!(e instanceof RegExp))throw new TypeError("'regex' is not a RegExp");if(this.#l.size)if(e)for(const t of this.#l.keys())e.test(t)&&(yield t);else for(const e of this.#l.keys())yield e}*stores(e=void 0){if(void 0!==e&&!(e instanceof RegExp))throw new TypeError("'regex' is not a RegExp");if(this.#l.size)if(e)for(const t of this.#l.keys())e.test(t)&&(yield this.getStore(t));else for(const e of this.#l.keys())yield this.getStore(e)}}class lr extends ar{constructor(){super(sr)}}class cr extends ar{constructor(){super(ir)}}class ur{static#h=[];static#p=new cr;static#g;static get sessionStorage(){return this.#p}static initialize(e){globalThis.requestAnimationFrame((()=>{this.#m(e.storagePrepend),e.settingStores.themeAnimate.subscribe((e=>this.#y(e)))}))}static openOnThisPage({focus:e=!0}={}){const t=globalThis.document.querySelector("details.tsd-page-navigation");if(t){const n=t.querySelector("summary");n&&(this.#p.hasStore(this.#g)&&this.#p.getStore(this.#g).set(!0),e&&setTimeout((()=>n.focus({focusVisible:!0})),0))}}static#m(e){const t=document.querySelectorAll("details.tsd-accordion"),n=new Map;for(const r of t){const t=r.querySelector("summary");let o;t&&(o=`${e}-accordion-${t.dataset.key??t.textContent?.trim?.()?.replace(/\s+/g,"-").toLowerCase()}`),o===`${e}-accordion-on-this-page`&&(this.#g=o),"string"==typeof o&&o.length&&n.set(o,r)}const r=new RegExp(`${e}-accordion-(?section-|tsd-otp-)(?.*)`),o=new Map;for(const[t,s]of n){const n=r.exec(t);if(n){const t=`${e}-accordion-section-otp-${n.groups.key}`,r=o.get(t)??new Set;r.add(s),o.set(t,r)}else{const e=this.#p.getStore(t,s.open);this.#h.push(er(s,{store:e})),s.addEventListener("toggle",(t=>e.set(t.target.open)))}}const s=globalThis.location.hash;for(const[e,t]of o){const n=this.#p.getStore(e,!0);if(s)for(const e of t){Array.from(e.querySelectorAll("*")).find((e=>`#${e.id}`===s))&&n.set(!0)}for(const e of t)this.#h.push(er(e,{store:n})),e.addEventListener("toggle",(e=>n.set(e.target.open)))}setTimeout((()=>{for(const e of n.values()){const t=e.querySelector("summary svg");t&&t.classList.add("dmt-summary-svg")}}),500)}static#y(e){for(const t of this.#h)t?.update({animate:e})}}class fr{static#b=new Set(["KeyboardEvent","MouseEvent","PointerEvent"]);static#v=new Set(["MouseEvent","PointerEvent"]);static#w=!1;static get debug(){return this.#w}static set debug(e){if("boolean"!=typeof e)throw new TypeError("'debug' is not a boolean.");this.#w=e}static get prefersReducedMotion(){return globalThis?.matchMedia("(prefers-reduced-motion: reduce)")?.matches??!1}static applyFocusSource(e){if(!ut(e))return;const t=ut(e?.focusSource)?e.focusSource:e;setTimeout((()=>{const e="boolean"==typeof t.debug?this.debug||t.debug:this.debug;if(ct(t.focusEl)){e&&console.debug("A11yHelper.applyFocusSource debug - Attempting to apply focus target: ",t.focusEl);for(const n of t.focusEl){if(n?.nodeType===Node.ELEMENT_NODE&&n?.isConnected){n?.focus(),e&&console.debug("A11yHelper.applyFocusSource debug - Applied focus to target: ",n);break}if("string"==typeof n){const t=document.querySelector(n);if(t?.nodeType===Node.ELEMENT_NODE&&t?.isConnected){t?.focus(),e&&console.debug("A11yHelper.applyFocusSource debug - Applied focus to target: ",t);break}e&&console.debug("A11yHelper.applyFocusSource debug - Could not query selector: ",n)}}}else e&&console.debug("A11yHelper.applyFocusSource debug - No focus targets defined.")}),0)}static getFirstFocusableElement(e=document,t){const n=this.getFocusableElements(e,t);return n.length>0?n[0]:void 0}static getFocusableElements(e=document,{anchorHref:t=!0,ignoreClasses:n,ignoreElements:r,selectors:o}={}){if(e?.nodeType!==Node.ELEMENT_NODE&&e?.nodeType!==Node.DOCUMENT_NODE)throw new TypeError("'element' is not a HTMLElement, SVGElement, or Document instance.");if("boolean"!=typeof t)throw new TypeError("'anchorHref' is not a boolean.");if(void 0!==n&&!ct(n))throw new TypeError("'ignoreClasses' is not an iterable list.");if(void 0!==r&&!(r instanceof Set))throw new TypeError("'ignoreElements' is not a Set.");if(void 0!==o&&"string"!=typeof o)throw new TypeError("'selectors' is not a string.");const s=o??this.#x(t),i=[...e.querySelectorAll(s)];return r&&n?i.filter((e=>{let t=!1;for(const r of n)if(e.classList.contains(r)){t=!0;break}return!(t||r.has(e)||"none"===e.style.display||"hidden"===e.style.visibility||e.hasAttribute("disabled")||e.hasAttribute("inert")||"true"===e.getAttribute("aria-hidden"))})):n?i.filter((e=>{let t=!1;for(const r of n)if(e.classList.contains(r)){t=!0;break}return!t&&"none"!==e.style.display&&"hidden"!==e.style.visibility&&!e.hasAttribute("disabled")&&!e.hasAttribute("inert")&&"true"!==e.getAttribute("aria-hidden")})):r?i.filter((e=>!r.has(e)&&"none"!==e.style.display&&"hidden"!==e.style.visibility&&!e.hasAttribute("disabled")&&!e.hasAttribute("inert")&&"true"!==e.getAttribute("aria-hidden"))):i.filter((e=>"none"!==e.style.display&&"hidden"!==e.style.visibility&&!e.hasAttribute("disabled")&&!e.hasAttribute("inert")&&"true"!==e.getAttribute("aria-hidden")))}static#x(e=!0){return`button, [contenteditable=""], [contenteditable="true"], details summary:not([tabindex="-1"]), embed, a${e?"[href]":""}, iframe, object, input:not([type=hidden]), select, textarea, [tabindex]:not([tabindex="-1"])`}static getFocusSource({event:e,x:t,y:n,focusEl:r,debug:o=!1}){if(void 0!==r&&!this.isFocusSource(r))throw new TypeError("A11yHelper.getFocusSource error: 'focusEl' is not a HTMLElement, SVGElement, or string.");if(void 0!==o&&"boolean"!=typeof o)throw new TypeError("A11yHelper.getFocusSource error: 'debug' is not a boolean.");const s="boolean"==typeof o?this.debug||o:this.debug;if(void 0===e){if("number"!=typeof t)throw new TypeError("A11yHelper.getFocusSource error: 'event' not defined and 'x' is not a number.");if("number"!=typeof n)throw new TypeError("A11yHelper.getFocusSource error: 'event' not defined and 'y' is not a number.");const e={debug:o,focusEl:void 0!==r?[r]:void 0,x:t,y:n};return s&&console.debug("A11yHelper.getFocusSource debug: generated 'focusSource' without event: ",e),e}if(!fr.#b.has(e?.constructor?.name))throw new TypeError("A11yHelper.getFocusSource error: 'event' is not a KeyboardEvent, MouseEvent, or PointerEvent.");if(void 0!==t&&!Number.isInteger(t))throw new TypeError("A11yHelper.getFocusSource error: 'x' is not a number.");if(void 0!==n&&!Number.isInteger(n))throw new TypeError("A11yHelper.getFocusSource error: 'y' is not a number.");let i;if(e&&(fr.isFocusable(e.target)?(i=e.target,s&&console.debug("A11yHelper.getFocusSource debug: 'targetEl' set to event.target: ",i)):fr.isFocusable(e.currentTarget)?(i=e.currentTarget,s&&console.debug("A11yHelper.getFocusSource debug: 'targetEl' set to event.currentTarget: ",i)):s&&(console.debug("A11yHelper.getFocusSource debug: 'event.target' / 'event.currentTarget' are not focusable."),console.debug("A11yHelper.getFocusSource debug: 'event.target': ",e.target),console.debug("A11yHelper.getFocusSource debug: 'event.currentTarget': ",e.currentTarget)),i&&i?.nodeType!==Node.ELEMENT_NODE&&"function"!=typeof i?.focus))throw new TypeError("A11yHelper.getFocusSource error: 'targetEl' is not an HTMLElement or SVGElement.");const a={debug:o};if(fr.#v.has(e?.constructor?.name))if(2!==e?.button&&"contextmenu"===e.type){const o=(i??e.target).getBoundingClientRect();a.source="keyboard",a.x=t??o.left+o.width/2,a.y=n??o.top+o.height/2,a.focusEl=i?[i]:[],r&&a.focusEl.push(r)}else a.source="pointer",a.x=t??e.pageX,a.y=n??e.pageY,a.focusEl=i?[i]:[],r&&a.focusEl.push(r);else{const o=(i??e.target).getBoundingClientRect();a.source="keyboard",a.x=t??o.left+o.width/2,a.y=n??o.top+o.height/2,a.focusEl=i?[i]:[],r&&a.focusEl.push(r)}return s&&console.debug("A11yHelper.getFocusSource debug: generated 'focusSource' with event: ",a),a}static getLastFocusableElement(e=document,t){const n=this.getFocusableElements(e,t);return n.length>0?n[n.length-1]:void 0}static isFocusable(e,{anchorHref:t=!0,ignoreClasses:n}={}){if(null==e||e?.hidden||!e?.isConnected||e?.nodeType!==Node.ELEMENT_NODE||"function"!=typeof e?.focus)return!1;if("boolean"!=typeof t)throw new TypeError("'anchorHref' is not a boolean.");if(void 0!==n&&!ct(n))throw new TypeError("'ignoreClasses' is not an iterable list.");const r=e.getAttribute("contenteditable"),o="string"==typeof r&&(""===r||"true"===r),s=globalThis.parseInt(e.getAttribute("tabindex")),i=Number.isInteger(s)&&s>=0,a=e instanceof HTMLAnchorElement;return!!(o||i||a||e instanceof HTMLButtonElement||e instanceof HTMLDetailsElement||e instanceof HTMLEmbedElement||e instanceof HTMLIFrameElement||e instanceof HTMLInputElement||e instanceof HTMLObjectElement||e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement)&&(!(a&&!i&&t&&"string"!=typeof e.getAttribute("href"))&&("none"!==e.style.display&&"hidden"!==e.style.visibility&&!e.hasAttribute("disabled")&&!e.hasAttribute("inert")&&"true"!==e.getAttribute("aria-hidden")))}static isFocusSource(e){return"string"==typeof e||e?.nodeType===Node.ELEMENT_NODE&&"function"==typeof e?.focus}static isFocusTarget(e){return null!=e&&e?.nodeType===Node.ELEMENT_NODE&&"function"==typeof e?.focus}static isFocusWithin(e,t=globalThis){if(null==e||e?.hidden||!e?.isConnected)return!1;if("[object Window]"!==Object.prototype.toString.call(t))return!1;let n=t.document.activeElement;for(;n;){if(n===e)return!0;n=n.parentElement}return!1}}async function dr(e=1){if(!Number.isInteger(e)||e<1)throw new TypeError("nextAnimationFrame error: 'cntr' must be a positive integer greater than 0.");let t;for(;--e>=0;)t=await new Promise((e=>requestAnimationFrame(e)));return t}let hr=class{static searchPath(e,t,n){if(!e?.length)return!1;for(const n of e)if(!Array.isArray(n.children)&&n?.path===t)return!0;for(const r of e)if(Array.isArray(r.children)&&this.#S(r,t,n))return!0;return!1}static walk(e,t){for(const n of e)Array.isArray(n.children)&&this.#$(n,void 0,t)}static walkFrom(e,t){this.#$(e,void 0,t)}static#S(e,t,n){if(e.path===t)return!0;if(Array.isArray(e.children))for(const r of e.children){if(this.#S(r,t,n))return n({entry:e}),!0}return!1}static#$(e,t,n){if(Array.isArray(e.children))for(const t of e.children)this.#$(t,e,n);n({entry:e,parentEntry:t})}};class pr{#k;#T=!1;#E;#C;#L;#P;#O;constructor({currentPathURL:e,setCurrentPathURL:t,elementIndex:n,storagePrepend:r,treeName:o}){this.#C=t,this.#k=n,this.#L=r,this.#O=o,this.#E=new cr,this.#I(e),this.#A()}get elementIndex(){return this.#k}get hasData(){return this.#k?.length>0}get hasFolders(){return this.#T}get sessionStorage(){return this.#E}get storeFoldersAllOpen(){return this.#P}ensureCurrentPath(e,{setCurrent:t=!0}={}){const n=hr.searchPath(this.elementIndex,e,(({entry:e})=>{e.storageKey&&this.#E.setItem(e.storageKey,!0)}));return n&&t&&this.#C(e,this.#O),n}setChildFolderState(e,t){hr.walkFrom(e,(({entry:e})=>{e.storageKey&&this.#E.setItem(e.storageKey,t)}))}setFoldersAllOpen(e){for(const t of this.sessionStorage.stores())t.set(e)}swapFoldersAllOpen(){this.setFoldersAllOpen(!Lt(this.storeFoldersAllOpen))}#A(){this.#P=function(e,t,n){const r=!Array.isArray(e),o=r?[e]:e;if(!o.every(Boolean))throw new Error("derived() expects stores as input, got a falsy value");const s=t.length<2;return nr(n,((e,n)=>{let i=!1;const a=[];let l=0,c=yt;const u=()=>{if(l)return;c();const o=t(r?a[0]:a,e,n);s?e(o):c=$t(o)?o:yt},f=o.map(((e,t)=>Ct(e,(e=>{a[t]=e,l&=~(1<{l|=1<t(!!e.reduce(((e,t)=>e&t),!0))))}#M(e){return hr.searchPath(this.elementIndex,e,(({entry:e})=>{e.storageKey&&this.#E.setItem(e.storageKey,!0)}))}#D(){let e=0;hr.walk(this.#k,(({entry:t,parentEntry:n})=>{if(n||e++,!Array.isArray(t?.children))return;const r=n?n.path??n.text:"";t.storageKey=`${this.#L}-${t.path??`${r}-${t.text}`}`,this.#E.getStore(t.storageKey,!1)})),this.#T=e>0}#I(e){this.#D();const t=this.#M(e);if(t)this.#C(e,this.#O);else if(e.includes("#")){const n=e.split("#");if(!t){const e=n[0];e&&this.#M(e)&&this.#C(e,this.#O)}}}}class gr{#R="";#F;#N;#U;#j;#_;#Q;constructor(e,t,n){this.#N=e,this.#F=t.initialPathURL;const{subscribe:r,update:o}=rr(this.#F);this.#U=Object.freeze({subscribe:r}),this.#j=o;const s=t.storagePrepend,i=this.#C.bind(this);this.#_=new pr({currentPathURL:this.#F,setCurrentPathURL:i,elementIndex:n?.markdown??[],storagePrepend:`${s}-markdown`,treeName:"markdown"}),this.#Q=new pr({currentPathURL:this.#F,setCurrentPathURL:i,elementIndex:n?.source??[],storagePrepend:`${s}-source`,treeName:"source"}),this.#B(),globalThis.addEventListener("hashchange",this.#z.bind(this))}get activeTreeName(){return this.#R}get currentPathURL(){return this.#F}get markdown(){return this.#_}get source(){return this.#Q}get storeCurrentPathURL(){return this.#U}ensureCurrentPath({pathURL:e=this.#F,focus:t=!1}={}){let n=!1;n|=this.#_.ensureCurrentPath(e),n|=this.#Q.ensureCurrentPath(e),n&&t&&dr().then((()=>document.querySelector("nav.tsd-navigation")?.querySelector(`a[href*="${e}"]`)?.focus({focusVisible:!0})))}#B(){const e=this;function t(t){t.preventDefault();if(globalThis.location.href.split("#")[0]!==this.href.split("#")[0]||globalThis.location.hash!==this.hash)return void(globalThis.location.href=this.href);const n=this.href.replace(e.#N.baseURL,"");if(!e.ensureCurrentPath({pathURL:n})&&n.includes("#")){const t=n.split("#");t[0]&&e.ensureCurrentPath({pathURL:t[0]})}}const n=document.querySelectorAll('div.col-content a[href*="#"], details.tsd-page-navigation a[href*="#"]');for(const e of n)e.addEventListener("click",t)}#z(e){const t=e.newURL.replace(this.#N.baseURL,"");if(!this.ensureCurrentPath({pathURL:t})&&t.includes("#")){const e=t.split("#")[0];e&&this.ensureCurrentPath({pathURL:e})}}#C(e,t){switch(t){case"markdown":case"source":this.#R=t;break;default:this.#R=""}this.#F=e,this.#j((()=>e))}}class mr{#H;constructor(e,t){this.#H=new gr(this,e,t)}get treeState(){return this.#H}}var yr,br={exports:{}}; +/** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + */var vr,wr=(yr||(yr=1,vr=br,function(){var e,t,n,r,o,s,i,a,l,c,u,f,d,h,p,g,m,y,b,v,w,x,S,$,k,T,E,C,L,P=function(e){var t=new P.Builder;return t.pipeline.add(P.trimmer,P.stopWordFilter,P.stemmer),t.searchPipeline.add(P.stemmer),e.call(t,t),t.build()};P.version="2.3.9", +/*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + */ +P.utils={},P.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),P.utils.asString=function(e){return null==e?"":e.toString()},P.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),n=Object.keys(e),r=0;r0){var l=P.utils.clone(t)||{};l.position=[i,a],l.index=o.length,o.push(new P.Token(n.slice(i,s),l))}i=s+1}}return o},P.tokenizer.separator=/[\s\-]+/, +/*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + */ +P.Pipeline=function(){this._stack=[]},P.Pipeline.registeredFunctions=Object.create(null),P.Pipeline.registerFunction=function(e,t){t in this.registeredFunctions&&P.utils.warn("Overwriting existing registered function: "+t),e.label=t,P.Pipeline.registeredFunctions[e.label]=e},P.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||P.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},P.Pipeline.load=function(e){var t=new P.Pipeline;return e.forEach((function(e){var n=P.Pipeline.registeredFunctions[e];if(!n)throw new Error("Cannot load unregistered function: "+e);t.add(n)})),t},P.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach((function(e){P.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)}),this)},P.Pipeline.prototype.after=function(e,t){P.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");n+=1,this._stack.splice(n,0,t)},P.Pipeline.prototype.before=function(e,t){P.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");this._stack.splice(n,0,t)},P.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},P.Pipeline.prototype.run=function(e){for(var t=this._stack.length,n=0;n1&&(se&&(n=o),s!=e);)r=n-t,o=t+Math.floor(r/2),s=this.elements[2*o];return s==e||s>e?2*o:sa?c+=2:i==a&&(t+=n[l+1]*r[c+1],l+=2,c+=2);return t},P.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},P.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,n=0;t0){var s,i=o.str.charAt(0);i in o.node.edges?s=o.node.edges[i]:(s=new P.TokenSet,o.node.edges[i]=s),1==o.str.length&&(s.final=!0),r.push({node:s,editsRemaining:o.editsRemaining,str:o.str.slice(1)})}if(0!=o.editsRemaining){if("*"in o.node.edges)var a=o.node.edges["*"];else a=new P.TokenSet,o.node.edges["*"]=a;if(0==o.str.length&&(a.final=!0),r.push({node:a,editsRemaining:o.editsRemaining-1,str:o.str}),o.str.length>1&&r.push({node:o.node,editsRemaining:o.editsRemaining-1,str:o.str.slice(1)}),1==o.str.length&&(o.node.final=!0),o.str.length>=1){if("*"in o.node.edges)var l=o.node.edges["*"];else l=new P.TokenSet,o.node.edges["*"]=l;1==o.str.length&&(l.final=!0),r.push({node:l,editsRemaining:o.editsRemaining-1,str:o.str.slice(1)})}if(o.str.length>1){var c,u=o.str.charAt(0),f=o.str.charAt(1);f in o.node.edges?c=o.node.edges[f]:(c=new P.TokenSet,o.node.edges[f]=c),1==o.str.length&&(c.final=!0),r.push({node:c,editsRemaining:o.editsRemaining-1,str:u+o.str.slice(2)})}}}return n},P.TokenSet.fromString=function(e){for(var t=new P.TokenSet,n=t,r=0,o=e.length;r=e;t--){var n=this.uncheckedNodes[t],r=n.child.toString();r in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[r]:(n.child._str=r,this.minimizedNodes[r]=n.child),this.uncheckedNodes.pop()}}, +/*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + */ +P.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},P.Index.prototype.search=function(e){return this.query((function(t){new P.QueryParser(e,t).parse()}))},P.Index.prototype.query=function(e){for(var t=new P.Query(this.fields),n=Object.create(null),r=Object.create(null),o=Object.create(null),s=Object.create(null),i=Object.create(null),a=0;a1?1:e},P.Builder.prototype.k1=function(e){this._k1=e},P.Builder.prototype.add=function(e,t){var n=e[this._ref],r=Object.keys(this._fields);this._documents[n]=t||{},this.documentCount+=1;for(var o=0;o=this.length)return P.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},P.QueryLexer.prototype.width=function(){return this.pos-this.start},P.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},P.QueryLexer.prototype.backup=function(){this.pos-=1},P.QueryLexer.prototype.acceptDigitRun=function(){var e,t;do{t=(e=this.next()).charCodeAt(0)}while(t>47&&t<58);e!=P.QueryLexer.EOS&&this.backup()},P.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(P.QueryLexer.TERM)),e.ignore(),e.more())return P.QueryLexer.lexText},P.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(P.QueryLexer.EDIT_DISTANCE),P.QueryLexer.lexText},P.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(P.QueryLexer.BOOST),P.QueryLexer.lexText},P.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(P.QueryLexer.TERM)},P.QueryLexer.termSeparator=P.tokenizer.separator,P.QueryLexer.lexText=function(e){for(;;){var t=e.next();if(t==P.QueryLexer.EOS)return P.QueryLexer.lexEOS;if(92!=t.charCodeAt(0)){if(":"==t)return P.QueryLexer.lexField;if("~"==t)return e.backup(),e.width()>0&&e.emit(P.QueryLexer.TERM),P.QueryLexer.lexEditDistance;if("^"==t)return e.backup(),e.width()>0&&e.emit(P.QueryLexer.TERM),P.QueryLexer.lexBoost;if("+"==t&&1===e.width())return e.emit(P.QueryLexer.PRESENCE),P.QueryLexer.lexText;if("-"==t&&1===e.width())return e.emit(P.QueryLexer.PRESENCE),P.QueryLexer.lexText;if(t.match(P.QueryLexer.termSeparator))return P.QueryLexer.lexTerm}else e.escapeCharacter()}},P.QueryParser=function(e,t){this.lexer=new P.QueryLexer(e),this.query=t,this.currentClause={},this.lexemeIdx=0},P.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=P.QueryParser.parseClause;e;)e=e(this);return this.query},P.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},P.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},P.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},P.QueryParser.parseClause=function(e){var t=e.peekLexeme();if(null!=t)switch(t.type){case P.QueryLexer.PRESENCE:return P.QueryParser.parsePresence;case P.QueryLexer.FIELD:return P.QueryParser.parseField;case P.QueryLexer.TERM:return P.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+t.type;throw t.str.length>=1&&(n+=" with value '"+t.str+"'"),new P.QueryParseError(n,t.start,t.end)}},P.QueryParser.parsePresence=function(e){var t=e.consumeLexeme();if(null!=t){switch(t.str){case"-":e.currentClause.presence=P.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=P.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+t.str+"'";throw new P.QueryParseError(n,t.start,t.end)}var r=e.peekLexeme();if(null==r)throw n="expecting term or field, found nothing",new P.QueryParseError(n,t.start,t.end);switch(r.type){case P.QueryLexer.FIELD:return P.QueryParser.parseField;case P.QueryLexer.TERM:return P.QueryParser.parseTerm;default:throw n="expecting term or field, found '"+r.type+"'",new P.QueryParseError(n,r.start,r.end)}}},P.QueryParser.parseField=function(e){var t=e.consumeLexeme();if(null!=t){if(-1==e.query.allFields.indexOf(t.str)){var n=e.query.allFields.map((function(e){return"'"+e+"'"})).join(", "),r="unrecognised field '"+t.str+"', possible fields: "+n;throw new P.QueryParseError(r,t.start,t.end)}e.currentClause.fields=[t.str];var o=e.peekLexeme();if(null==o)throw r="expecting term, found nothing",new P.QueryParseError(r,t.start,t.end);if(o.type===P.QueryLexer.TERM)return P.QueryParser.parseTerm;throw r="expecting term, found '"+o.type+"'",new P.QueryParseError(r,o.start,o.end)}},P.QueryParser.parseTerm=function(e){var t=e.consumeLexeme();if(null!=t){e.currentClause.term=t.str.toLowerCase(),-1!=t.str.indexOf("*")&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(null!=n)switch(n.type){case P.QueryLexer.TERM:return e.nextClause(),P.QueryParser.parseTerm;case P.QueryLexer.FIELD:return e.nextClause(),P.QueryParser.parseField;case P.QueryLexer.EDIT_DISTANCE:return P.QueryParser.parseEditDistance;case P.QueryLexer.BOOST:return P.QueryParser.parseBoost;case P.QueryLexer.PRESENCE:return e.nextClause(),P.QueryParser.parsePresence;default:var r="Unexpected lexeme type '"+n.type+"'";throw new P.QueryParseError(r,n.start,n.end)}else e.nextClause()}},P.QueryParser.parseEditDistance=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="edit distance must be numeric";throw new P.QueryParseError(r,t.start,t.end)}e.currentClause.editDistance=n;var o=e.peekLexeme();if(null!=o)switch(o.type){case P.QueryLexer.TERM:return e.nextClause(),P.QueryParser.parseTerm;case P.QueryLexer.FIELD:return e.nextClause(),P.QueryParser.parseField;case P.QueryLexer.EDIT_DISTANCE:return P.QueryParser.parseEditDistance;case P.QueryLexer.BOOST:return P.QueryParser.parseBoost;case P.QueryLexer.PRESENCE:return e.nextClause(),P.QueryParser.parsePresence;default:throw r="Unexpected lexeme type '"+o.type+"'",new P.QueryParseError(r,o.start,o.end)}else e.nextClause()}},P.QueryParser.parseBoost=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="boost must be numeric";throw new P.QueryParseError(r,t.start,t.end)}e.currentClause.boost=n;var o=e.peekLexeme();if(null!=o)switch(o.type){case P.QueryLexer.TERM:return e.nextClause(),P.QueryParser.parseTerm;case P.QueryLexer.FIELD:return e.nextClause(),P.QueryParser.parseField;case P.QueryLexer.EDIT_DISTANCE:return P.QueryParser.parseEditDistance;case P.QueryLexer.BOOST:return P.QueryParser.parseBoost;case P.QueryLexer.PRESENCE:return e.nextClause(),P.QueryParser.parsePresence;default:throw r="Unexpected lexeme type '"+o.type+"'",new P.QueryParseError(r,o.start,o.end)}else e.nextClause()}},vr.exports=P}()),br.exports);function xr(e,t){if(""===t)return e;const n=e.toLocaleLowerCase(),r=t.toLocaleLowerCase(),o=[];let s=0,i=n.indexOf(r);for(;-1!==i;)o.push($r(e.substring(s,i)),`${$r(e.substring(i,i+r.length))}`),s=i+r.length,i=n.indexOf(r,s);return o.push($r(e.substring(s))),o.join("")}const Sr={"&":"&","<":"<",">":">","'":"'",'"':"""};function $r(e){return e.replace(/[&<>"']/g,(e=>Sr[e]))}class kr{static async getDimensions(e,{accessor:t="url",warn:n=!1}={}){const r=[],o=[],s=[],i=ct(e)?e:[e];for(const e of i){let o;"string"==typeof e?o=e:ut(e)&&(o=ft(e,t)),"string"==typeof o?r.push(new Promise(((e,t)=>{const n=new Image;n.src=o,n.onload=()=>e({url:o,width:n.naturalWidth,height:n.naturalHeight}),n.onerror=()=>t({url:o})}))):n&&console.warn("ImageData.getDimensions warning: Failed to locate target URL.")}const a=await Promise.allSettled(r);for(const e of a)switch(e.status){case"fulfilled":o.push(e.value);break;case"rejected":s.push(e.reason)}return{fulfilled:o,rejected:s}}}function Tr(e,t){const n={icons:[],totalWidth:0},r=[];r.push(...t?.iconLinks?.user??[]),r.push(...t?.iconLinks?.service??[]);for(const t of r)n.icons.push({iconURL:"string"==typeof t.dmtPath?`${e.dmtURL}${t.dmtPath}`:t.iconURL,title:t.title,url:t.url});const o=rr(n),s=`${e.storagePrepend}-toolbar-iconlinks-width`;if(0===n.icons.length)globalThis.sessionStorage.removeItem(s);else{const t=e.dmtSessionStorage.getItem(s);Number.isFinite(t)&&t>0?n.totalWidth=t:kr.getDimensions(n.icons,{accessor:"iconURL"}).then((({fulfilled:t,rejected:r})=>{r.length?globalThis.sessionStorage.removeItem(s):(o.update((e=>{for(const n of t){const t=24/n.height*n.width;e.totalWidth+=t+8}return e.totalWidth+=dt.remPixels(.35)*(t.length-1),e})),e.dmtSessionStorage.setItem(s,Math.floor(n.totalWidth)))}))}return o}const Er="docs-dmt-theme-animate";function Cr(e){let t,n,r,o,s,i,a,l,c,u,f;return{c(){t=Kt("label"),n=Kt("input"),r=Yt(),o=Gt("svg"),s=Gt("rect"),i=Gt("path"),a=Yt(),l=Kt("span"),c=Zt(e[1]),nn(n,"type","checkbox"),nn(n,"class","svelte-1y7unmi"),nn(s,"class","tsd-checkbox-background"),nn(s,"width","30"),nn(s,"height","30"),nn(s,"x","1"),nn(s,"y","1"),nn(s,"rx","6"),nn(s,"fill","none"),nn(i,"class","tsd-checkbox-checkmark"),nn(i,"d","M8.35422 16.8214L13.2143 21.75L24.6458 10.25"),nn(i,"stroke","none"),nn(i,"stroke-width","3.5"),nn(i,"stroke-linejoin","round"),nn(i,"fill","none"),nn(o,"width","32"),nn(o,"height","32"),nn(o,"viewBox","0 0 32 32"),nn(o,"aria-hidden","true"),nn(o,"class","svelte-1y7unmi"),nn(t,"class","svelte-1y7unmi")},m(d,h){Wt(d,t,h),Ht(t,n),n.checked=e[2],Ht(t,r),Ht(t,o),Ht(o,s),Ht(o,i),Ht(t,a),Ht(t,l),Ht(l,c),u||(f=en(n,"change",e[3]),u=!0)},p(e,[t]){4&t&&(n.checked=e[2]),2&t&&rn(c,e[1])},i:yt,o:yt,d(e){e&&Jt(t),u=!1,f()}}}function Lr(e,t,n){let r,o=yt,s=()=>(o(),o=Ct(i,(e=>n(2,r=e))),i);e.$$.on_destroy.push((()=>o()));let{store:i}=t;s();let{label:a}=t;return e.$$set=e=>{"store"in e&&s(n(0,i=e.store)),"label"in e&&n(1,a=e.label)},[i,a,r,function(){r=this.checked,i.set(r)}]}"undefined"!=typeof window&&(window.__svelte||(window.__svelte={v:new Set})).v.add("4");class Pr extends Xn{constructor(e){super(),Yn(this,e,Lr,Cr,kt,{store:0,label:1})}}function Or(e){let t,n,r=at(e[0].themeAnimate),o=r&&function(e){let t,n,r;return n=new Pr({props:{store:e[0].themeAnimate,label:"Animation"}}),{c(){t=Kt("section"),Kn(n.$$.fragment),nn(t,"class","svelte-20evnz")},m(e,o){Wt(e,t,o),Gn(n,t,null),r=!0},p:yt,i(e){r||(jn(n.$$.fragment,e),r=!0)},o(e){_n(n.$$.fragment,e),r=!1},d(e){e&&Jt(t),Zn(n)}}}(e);return{c(){o&&o.c(),t=Xt()},m(e,r){o&&o.m(e,r),Wt(e,t,r),n=!0},p(e,[t]){r&&o.p(e,t)},i(e){n||(jn(o),n=!0)},o(e){_n(o),n=!1},d(e){e&&Jt(t),o&&o.d(e)}}}function Ir(e){const{settingStores:t}=bn("#dmtComponentData");return[t]}function Ar(e,t){function n(){if(ut(t))for(const n of Object.keys(t))e.style.setProperty(`${n}`,t[n])}return n(),{update:e=>{t=e,n()}}}class Mr{static isComponent(e){if(null==e||"function"!=typeof e)return!1;const t=e?.prototype?.constructor?.name;return!("string"!=typeof t||!t.startsWith("Proxy<")&&"ProxyComponent"!==t)||("undefined"!=typeof window?"function"==typeof e.prototype.$destroy&&"function"==typeof e.prototype.$on:"function"==typeof e.render)}static isHMRProxy(e){const t=e?.constructor?.name;if("string"==typeof t&&(t.startsWith("Proxy<")||"ProxyComponent"===t))return!0;const n=e?.prototype?.constructor?.name;return"string"==typeof n&&(n.startsWith("Proxy<")||"ProxyComponent"===n)}static async outroAndDestroy(e){return null==e?Promise.resolve():new Promise((t=>{e?.$$?.fragment&&e?.$$?.fragment?.o?(Nn(),_n(e.$$.fragment,0,0,(()=>{e?.$destroy?.(),t()})),Un()):(e?.$destroy?.(),t())}))}}Object.seal(Mr);function Dr(e,t){return e}Object.seal(class{static isConfig(e,{raiseException:t=!1}={}){if(!ut(e)){if(t)throw new TypeError("TJSSvelteConfigUtil.isConfig error: 'config' is not an object.");return!1}if(!Mr.isComponent(e.class)){if(t)throw new TypeError("TJSSvelteConfigUtil.isConfig error: 'config.class' is not a Svelte component constructor.");return!1}return!0}static parseConfig(e,t=void 0){if(!ut(e))throw new TypeError(`TJSSvelteConfigUtil.parseConfig - 'config' is not an object:\n${JSON.stringify(e)}.`);if(!Mr.isComponent(e.class))throw new TypeError(`TJSSvelteConfigUtil.parseConfig - 'class' is not a Svelte component constructor for config:\n${JSON.stringify(e)}.`);if(void 0!==e.hydrate&&"boolean"!=typeof e.hydrate)throw new TypeError(`TJSSvelteConfigUtil.parseConfig - 'hydrate' is not a boolean for config:\n${JSON.stringify(e)}.`);if(void 0!==e.intro&&"boolean"!=typeof e.intro)throw new TypeError(`TJSSvelteConfigUtil.parseConfig - 'intro' is not a boolean for config:\n${JSON.stringify(e)}.`);if(!(void 0===e.target||"string"==typeof e.target||e.target instanceof Element||e.target instanceof ShadowRoot||e.target instanceof DocumentFragment))throw new TypeError(`TJSSvelteConfigUtil.parseConfig - 'target' is not a Element, ShadowRoot, or DocumentFragment for config:\n${JSON.stringify(e)}.`);if(!(void 0===e.anchor||"string"==typeof e.anchor||e.anchor instanceof Element||e.anchor instanceof ShadowRoot||e.anchor instanceof DocumentFragment))throw new TypeError(`TJSSvelteConfigUtil.parseConfig - 'anchor' is not a string, Element for config:\n${JSON.stringify(e)}.`);if(!(void 0===e.context||"function"==typeof e.context||e.context instanceof Map||ut(e.context)))throw new TypeError(`TJSSvelteConfigUtil.parseConfig - 'context' is not a Map, function or object for config:\n${JSON.stringify(e)}.`);if(void 0!==e.selectorTarget&&"string"!=typeof e.selectorTarget)throw new TypeError(`TJSSvelteConfigUtil.parseConfig - 'selectorTarget' is not a string for config:\n${JSON.stringify(e)}.`);if(void 0!==e.options&&!ut(e.options))throw new TypeError(`TJSSvelteConfigUtil.parseConfig - 'options' is not an object for config:\n${JSON.stringify(e)}.`);if(ut(e.options)){if(void 0!==e.options.injectApp&&"boolean"!=typeof e.options.injectApp)throw new TypeError(`TJSSvelteConfigUtil.parseConfig - 'options.injectApp' is not a boolean for config:\n${JSON.stringify(e)}.`);if(void 0!==e.options.injectEventbus&&"boolean"!=typeof e.options.injectEventbus)throw new TypeError(`TJSSvelteConfigUtil.parseConfig - 'options.injectEventbus' is not a boolean for config:\n${JSON.stringify(e)}.`);if(void 0!==e.options.selectorElement&&"string"!=typeof e.options.selectorElement)throw new TypeError(`TJSSvelteConfigUtil.parseConfig - 'selectorElement' is not a string for config:\n${JSON.stringify(e)}.`)}const n={...e};delete n.options;let r={};if("function"==typeof n.context){const o=n.context;delete n.context;const s=o.call(t);if(!ut(s))throw new Error(`TJSSvelteConfigUtil.parseConfig - 'context' is a function that did not return an object for config:\n${JSON.stringify(e)}`);r={...s}}else n.context instanceof Map?(r=Object.fromEntries(n.context),delete n.context):ut(n.context)&&(r=n.context,delete n.context);if(n.props=this.#q(n.props,t,e),Array.isArray(n.children)){const o=[];for(let r=0;r0&&(r.children=o),delete n.children}else if(ut(n.children)){if(!Mr.isComponent(n.children.class))throw new Error(`TJSSvelteConfigUtil.parseConfig - 'class' is not a Svelte component for children object for config:\n${JSON.stringify(e)}`);n.children.props=this.#q(n.children.props,t,e),r.children=[n.children],delete n.children}return n.context instanceof Map||(n.context=new Map),n.context.set("#external",r),n}static#q(e,t,n){if("function"==typeof e){const r=e.call(t);if(ut(r))return r;throw new Error(`TJSSvelteConfigUtil.parseConfig - 'props' is a function that did not return an object for config:\n${JSON.stringify(n)}`)}if(ut(e))return e;if(void 0!==e)throw new Error(`TJSSvelteConfigUtil.parseConfig - 'props' is not a function or an object for config:\n${JSON.stringify(n)}`);return{}}});const Rr=e=>({}),Fr=e=>({}),Nr=e=>({}),Ur=e=>({});function jr(e){let t;return{c(){t=Kt("div"),nn(t,"class","tjs-folder-focus-indicator svelte-1jmqrcb")},m(e,n){Wt(e,t,n)},d(e){e&&Jt(t)}}}function _r(e){let t,n,r=Dr(e[2])+"";return{c(){t=Kt("div"),n=Zt(r),nn(t,"class","label svelte-1jmqrcb")},m(r,o){Wt(r,t,o),Ht(t,n),e[36](t)},p(e,t){4&t[0]&&r!==(r=Dr(e[2])+"")&&rn(n,r)},i:yt,o:yt,d(n){n&&Jt(t),e[36](null)}}}function Qr(e){let t,n,r;const o=[ut(e[5]?.slotLabel?.props)?e[5].slotLabel.props:{}];var s=e[5].slotLabel.class;function i(e,t){let n={};for(let e=0;e{Zn(e,1)})),Un()}s?(t=ln(s,i(e,r)),Kn(t.$$.fragment),jn(t.$$.fragment,1),Gn(t,n.parentNode,n)):t=null}else if(s){const n=32&r[0]?Wn(o,[Jn(ut(e[5]?.slotLabel?.props)?e[5].slotLabel.props:{})]):{};t.$set(n)}},i(e){r||(t&&jn(t.$$.fragment,e),r=!0)},o(e){t&&_n(t.$$.fragment,e),r=!1},d(e){e&&Jt(n),t&&Zn(t,e)}}}function Br(e){let t,n,r;const o=[ut(e[5]?.slotSummaryEnd?.props)?e[5].slotSummaryEnd.props:{}];var s=e[5].slotSummaryEnd.class;function i(e,t){let n={};for(let e=0;e{Zn(e,1)})),Un()}s?(t=ln(s,i(e,r)),Kn(t.$$.fragment),jn(t.$$.fragment,1),Gn(t,n.parentNode,n)):t=null}else if(s){const n=32&r[0]?Wn(o,[Jn(ut(e[5]?.slotSummaryEnd?.props)?e[5].slotSummaryEnd.props:{})]):{};t.$set(n)}},i(e){r||(t&&jn(t.$$.fragment,e),r=!0)},o(e){t&&_n(t.$$.fragment,e),r=!1},d(e){e&&Jt(n),t&&Zn(t,e)}}}function zr(e){let t,n,r;const o=[ut(e[5]?.slotDefault?.props)?e[5].slotDefault.props:{}];var s=e[5].slotDefault.class;function i(e,t){let n={};for(let e=0;e{Zn(e,1)})),Un()}s?(t=ln(s,i(e,r)),Kn(t.$$.fragment),jn(t.$$.fragment,1),Gn(t,n.parentNode,n)):t=null}else if(s){const n=32&r[0]?Wn(o,[Jn(ut(e[5]?.slotDefault?.props)?e[5].slotDefault.props:{})]):{};t.$set(n)}},i(e){r||(t&&jn(t.$$.fragment,e),r=!0)},o(e){t&&_n(t.$$.fragment,e),r=!1},d(e){e&&Jt(n),t&&Zn(t,e)}}}function Hr(e){let t,n,r,o,s,i,a,l,c,u,f,d,h,p,g,m=e[8].focusIndicator&&jr();const y=e[27].label,b=Ot(y,e,e[26],Ur),v=b||function(e){let t,n,r,o,s;const i=[Qr,_r],a=[];function l(e,n){return 32&n[0]&&(t=null),null==t&&(t=!!Mr.isComponent(e[5]?.slotLabel?.class)),t?0:1}return n=l(e,[-1,-1]),r=a[n]=i[n](e),{c(){r.c(),o=Xt()},m(e,t){a[n].m(e,t),Wt(e,o,t),s=!0},p(e,t){let s=n;n=l(e,t),n===s?a[n].p(e,t):(Nn(),_n(a[s],1,1,(()=>{a[s]=null})),Un(),r=a[n],r?r.p(e,t):(r=a[n]=i[n](e),r.c()),jn(r,1),r.m(o.parentNode,o))},i(e){s||(jn(r),s=!0)},o(e){_n(r),s=!1},d(e){e&&Jt(o),a[n].d(e)}}}(e),w=e[27]["summary-end"],x=Ot(w,e,e[26],Fr),S=x||function(e){let t,n,r=Mr.isComponent(e[5]?.slotSummaryEnd?.class),o=r&&Br(e);return{c(){o&&o.c(),t=Xt()},m(e,r){o&&o.m(e,r),Wt(e,t,r),n=!0},p(e,n){32&n[0]&&(r=Mr.isComponent(e[5]?.slotSummaryEnd?.class)),r?o?(o.p(e,n),32&n[0]&&jn(o,1)):(o=Br(e),o.c(),jn(o,1),o.m(t.parentNode,t)):o&&(Nn(),_n(o,1,1,(()=>{o=null})),Un())},i(e){n||(jn(o),n=!0)},o(e){_n(o),n=!1},d(e){e&&Jt(t),o&&o.d(e)}}}(e),$=e[27].default,k=Ot($,e,e[26],null),T=k||function(e){let t,n,r=Mr.isComponent(e[5]?.slotDefault?.class),o=r&&zr(e);return{c(){o&&o.c(),t=Xt()},m(e,r){o&&o.m(e,r),Wt(e,t,r),n=!0},p(e,n){32&n[0]&&(r=Mr.isComponent(e[5]?.slotDefault?.class)),r?o?(o.p(e,n),32&n[0]&&jn(o,1)):(o=zr(e),o.c(),jn(o,1),o.m(t.parentNode,t)):o&&(Nn(),_n(o,1,1,(()=>{o=null})),Un())},i(e){n||(jn(o),n=!0)},o(e){_n(o),n=!1},d(e){e&&Jt(t),o&&o.d(e)}}}(e);return{c(){t=Kt("details"),n=Kt("summary"),r=Gt("svg"),o=Gt("path"),s=Yt(),m&&m.c(),i=Yt(),v&&v.c(),a=Yt(),S&&S.c(),l=Yt(),c=Kt("div"),T&&T.c(),nn(o,"fill","currentColor"),nn(o,"stroke","currentColor"),sn(o,"stroke-linejoin","round"),sn(o,"stroke-width","3"),nn(o,"d","M5,8L19,8L12,15Z"),nn(r,"viewBox","0 0 24 24"),nn(r,"class","svelte-1jmqrcb"),an(r,"focus-chevron",e[8].focusChevron),nn(n,"role","button"),nn(n,"tabindex","0"),nn(n,"class","svelte-1jmqrcb"),an(n,"default-cursor",e[8].chevronOnly),an(n,"remove-focus-visible",e[8].focusIndicator||e[8].focusChevron),nn(c,"class","contents svelte-1jmqrcb"),nn(c,"aria-hidden",u=!e[12]),an(c,"hidden",!e[12]),nn(t,"class","tjs-svg-folder svelte-1jmqrcb"),nn(t,"data-id",e[1]),nn(t,"data-label",e[2]),nn(t,"data-closing","false")},m(u,y){Wt(u,t,y),Ht(t,n),Ht(n,r),Ht(r,o),e[35](r),Ht(n,s),m&&m.m(n,null),Ht(n,i),v&&v.m(n,null),Ht(n,a),S&&S.m(n,null),e[37](n),Ht(t,l),Ht(t,c),T&&T.m(c,null),e[38](t),h=!0,p||(g=[en(n,"click",e[13]),en(n,"contextmenu",e[14]),en(n,"keydown",e[15],!0),en(n,"keyup",e[16],!0),en(t,"close",e[17]),en(t,"open",e[18]),en(t,"toggle",e[39]),en(t,"click",e[28]),en(t,"keydown",e[29]),en(t,"keyup",e[30]),en(t,"open",e[31]),en(t,"close",e[32]),en(t,"openAny",e[33]),en(t,"closeAny",e[34]),Nt(f=er.call(null,t,{store:e[3],animate:e[0],clickActive:!1})),Nt(d=Ar.call(null,t,e[4]))],p=!0)},p(e,o){(!h||256&o[0])&&an(r,"focus-chevron",e[8].focusChevron),e[8].focusIndicator?m||(m=jr(),m.c(),m.m(n,i)):m&&(m.d(1),m=null),b?b.p&&(!h||67108864&o[0])&&Mt(b,y,e,e[26],h?At(y,e[26],o,Nr):Dt(e[26]),Ur):v&&v.p&&(!h||548&o[0])&&v.p(e,h?o:[-1,-1]),x?x.p&&(!h||67108864&o[0])&&Mt(x,w,e,e[26],h?At(w,e[26],o,Rr):Dt(e[26]),Fr):S&&S.p&&(!h||32&o[0])&&S.p(e,h?o:[-1,-1]),(!h||256&o[0])&&an(n,"default-cursor",e[8].chevronOnly),(!h||256&o[0])&&an(n,"remove-focus-visible",e[8].focusIndicator||e[8].focusChevron),k?k.p&&(!h||67108864&o[0])&&Mt(k,$,e,e[26],h?At($,e[26],o,null):Dt(e[26]),null):T&&T.p&&(!h||32&o[0])&&T.p(e,h?o:[-1,-1]),(!h||4096&o[0]&&u!==(u=!e[12]))&&nn(c,"aria-hidden",u),(!h||4096&o[0])&&an(c,"hidden",!e[12]),(!h||2&o[0])&&nn(t,"data-id",e[1]),(!h||4&o[0])&&nn(t,"data-label",e[2]),f&&$t(f.update)&&9&o[0]&&f.update.call(null,{store:e[3],animate:e[0],clickActive:!1}),d&&$t(d.update)&&16&o[0]&&d.update.call(null,e[4])},i(e){h||(jn(v,e),jn(S,e),jn(T,e),h=!0)},o(e){_n(v,e),_n(S,e),_n(T,e),h=!1},d(n){n&&Jt(t),e[35](null),m&&m.d(),v&&v.d(n),S&&S.d(n),e[37](null),T&&T.d(n),e[38](null),p=!1,St(g)}}}function qr(e,t,n){let r,o=yt,s=()=>(o(),o=Ct(p,(e=>n(7,r=e))),p);e.$$.on_destroy.push((()=>o()));let{$$slots:i={},$$scope:a}=t,{folder:l}=t,{animate:c}=t,{id:u}=t,{label:f}=t,{keyCode:d}=t,{options:h}=t,{store:p}=t;s();let{styles:g}=t,{onClose:m}=t,{onOpen:y}=t,{onContextMenu:b}=t;const v=bn("#external")?.application,w={chevronOnly:!1,focusChevron:!1,focusIndicator:!1};let x,S,$,k,T,E,C=r;var L;function P(e,t=!1){return new CustomEvent(e,{detail:{element:x,folder:l,id:u,label:f,store:p},bubbles:t})}function O(e,t=!1){const n=e.target,o=n===k||k.contains(n);if(n===$||n===S||o){if(!t&&w.chevronOnly&&!o)return e.preventDefault(),void e.stopPropagation();Ft(p,r=!r,r),r&&"function"==typeof y?y({event:e,element:x,folder:l,id:u,label:f,store:p}):r||"function"!=typeof m||m({event:e,element:x,folder:l,id:u,label:f,store:p})}e.preventDefault(),e.stopPropagation()}L=()=>T(),gn().$$.on_destroy.push(L);return e.$$set=e=>{"folder"in e&&n(5,l=e.folder),"animate"in e&&n(0,c=e.animate),"id"in e&&n(1,u=e.id),"label"in e&&n(2,f=e.label),"keyCode"in e&&n(19,d=e.keyCode),"options"in e&&n(20,h=e.options),"store"in e&&s(n(3,p=e.store)),"styles"in e&&n(4,g=e.styles),"onClose"in e&&n(21,m=e.onClose),"onOpen"in e&&n(22,y=e.onOpen),"onContextMenu"in e&&n(23,b=e.onContextMenu),"$$scope"in e&&n(26,a=e.$$scope)},e.$$.update=()=>{33&e.$$.dirty[0]&&n(0,c=ut(l)&&"boolean"==typeof l.animate?l.animate:"boolean"!=typeof c||c),34&e.$$.dirty[0]&&n(1,u=ut(l)&&"string"==typeof l.id?l.id:"string"==typeof u?u:void 0),36&e.$$.dirty[0]&&n(2,f=ut(l)&&"string"==typeof l.label?l.label:"string"==typeof f?f:""),524320&e.$$.dirty[0]&&n(19,d=ut(l)&&"string"==typeof l.keyCode?l.keyCode:"string"==typeof d?d:"Enter"),1048608&e.$$.dirty[0]&&(n(20,h=ut(l)&&ut(l.options)?l.options:ut(h)?h:{}),"boolean"==typeof h?.chevronOnly&&n(8,w.chevronOnly=h.chevronOnly,w),"boolean"==typeof h?.focusChevron&&n(8,w.focusChevron=h.focusChevron,w),"boolean"==typeof h?.focusIndicator&&n(8,w.focusIndicator=h.focusIndicator,w)),16777320&e.$$.dirty[0]&&(s(n(3,p=ut(l)&&it(l.store)?l.store:it(p)?p:rr(!1))),"function"==typeof T&&T(),n(24,T=function(e,t){let n=!1;return e.subscribe((e=>{n?t(e):n=!0}))}(p,(e=>{x&&(x.dispatchEvent(P(e?"open":"close")),x.dispatchEvent(P(e?"openAny":"closeAny",!0)))})))),48&e.$$.dirty[0]&&n(4,g=ut(l)&&ut(l.styles)?l.styles:ut(g)?g:void 0),2097184&e.$$.dirty[0]&&n(21,m=ut(l)&&"function"==typeof l.onClose?l.onClose:"function"==typeof m?m:void 0),4194336&e.$$.dirty[0]&&n(22,y=ut(l)&&"function"==typeof l.onOpen?l.onOpen:"function"==typeof y?y:void 0),8388640&e.$$.dirty[0]&&n(23,b=ut(l)&&"function"==typeof l.onContextMenu?l.onContextMenu:"function"==typeof b?b:void 0),33554560&e.$$.dirty[0]&&(r?(clearTimeout(E),n(12,C=!0)):n(25,E=setTimeout((()=>n(12,C=!1)),500)))},[c,u,f,p,g,l,x,r,w,S,$,k,C,function(e){if((v?.reactive?.activeWindow??globalThis).document.activeElement===$&&(-1===e?.pointerId||6===e?.mozInputSource))return e.preventDefault(),void e.stopPropagation();O(e)},function(e){"function"==typeof b&&b({event:e,element:x,folder:l,id:u,label:f,store:p})},function(e){(v?.reactive?.activeWindow??globalThis).document.activeElement===$&&e.code===d&&(e.preventDefault(),e.stopPropagation())},function(e){(v?.reactive?.activeWindow??globalThis).document.activeElement===$&&e.code===d&&(O(e,!0),e.preventDefault(),e.stopPropagation())},function(e){e.preventDefault(),e.stopPropagation(),p.set(!1)},function(e){e.preventDefault(),e.stopPropagation(),p.set(!0)},d,h,m,y,b,T,E,a,i,function(t){vn.call(this,e,t)},function(t){vn.call(this,e,t)},function(t){vn.call(this,e,t)},function(t){vn.call(this,e,t)},function(t){vn.call(this,e,t)},function(t){vn.call(this,e,t)},function(t){vn.call(this,e,t)},function(e){xn[e?"unshift":"push"]((()=>{k=e,n(11,k)}))},function(e){xn[e?"unshift":"push"]((()=>{S=e,n(9,S)}))},function(e){xn[e?"unshift":"push"]((()=>{$=e,n(10,$)}))},function(e){xn[e?"unshift":"push"]((()=>{x=e,n(6,x)}))},()=>n(6,x.open=r,x)]}class Vr extends Xn{constructor(e){super(),Yn(this,e,qr,Hr,kt,{folder:5,animate:0,id:1,label:2,keyCode:19,options:20,store:3,styles:4,onClose:21,onOpen:22,onContextMenu:23},null,[-1,-1])}}function Wr(e){let t,n,r=e[0].text+"";return{c(){t=Kt("span"),n=Zt(r),nn(t,"class","svelte-14yttr0"),an(t,"indent-icon","indent-icon"===e[1]),an(t,"indent-no-icon","indent-no-icon"===e[1])},m(e,r){Wt(e,t,r),Ht(t,n)},p(e,o){1&o&&r!==(r=e[0].text+"")&&rn(n,r),2&o&&an(t,"indent-icon","indent-icon"===e[1]),2&o&&an(t,"indent-no-icon","indent-no-icon"===e[1])},d(e){e&&Jt(t)}}}function Jr(e){let t,n,r,o,s,i,a=e[0].text+"",l=e[5]&&function(e){let t,n;return{c(){t=Gt("svg"),n=Gt("use"),nn(n,"href",`#icon-${e[5]}`),nn(t,"class","tsd-kind-icon svelte-14yttr0"),nn(t,"viewBox","0 0 24 24")},m(e,r){Wt(e,t,r),Ht(t,n)},p:yt,d(e){e&&Jt(t)}}}(e);return{c(){t=Kt("a"),l&&l.c(),n=Yt(),r=Kt("span"),o=Zt(a),nn(r,"class","svelte-14yttr0"),nn(t,"href",e[6]),nn(t,"data-storage-key",e[2]),nn(t,"class","svelte-14yttr0"),an(t,"current",e[3]),an(t,"indent-icon","indent-icon"===e[1]),an(t,"indent-no-icon","indent-no-icon"===e[1]),an(t,"indent-none","indent-none"===e[1])},m(a,c){var u;Wt(a,t,c),l&&l.m(t,null),Ht(t,n),Ht(t,r),Ht(r,o),s||(i=en(t,"click",tn((u=e[7],function(e){return e.preventDefault(),u.call(this,e)}))),s=!0)},p(e,n){e[5]&&l.p(e,n),1&n&&a!==(a=e[0].text+"")&&rn(o,a),4&n&&nn(t,"data-storage-key",e[2]),8&n&&an(t,"current",e[3]),2&n&&an(t,"indent-icon","indent-icon"===e[1]),2&n&&an(t,"indent-no-icon","indent-no-icon"===e[1]),2&n&&an(t,"indent-none","indent-none"===e[1])},d(e){e&&Jt(t),l&&l.d(),s=!1,i()}}}function Kr(e){let t;let n=function(e){return e[6]?Jr:Wr}(e),r=n(e);return{c(){r.c(),t=Xt()},m(e,n){r.m(e,n),Wt(e,t,n)},p(e,[t]){r.p(e,t)},i:yt,o:yt,d(e){e&&Jt(t),r.d(e)}}}function Gr(e,t,n){let r,o,{entry:s}=t,{removeIcon:i=!1}=t,{indentIcon:a}=t,{storageKey:l=null}=t;const{basePath:c,navigation:u}=bn("#dmtComponentData"),f=u.treeState.storeCurrentPathURL;Pt(e,f,(e=>n(9,o=e)));const d=!i&&s.kind?s.kind:void 0,h=s.path?`${c}${s.path}`:void 0;return e.$$set=e=>{"entry"in e&&n(0,s=e.entry),"removeIcon"in e&&n(8,i=e.removeIcon),"indentIcon"in e&&n(1,a=e.indentIcon),"storageKey"in e&&n(2,l=e.storageKey)},e.$$.update=()=>{513&e.$$.dirty&&n(3,r=!!s.path&&s.path===o)},[s,a,l,r,f,d,h,function(){globalThis.location.href=h},i,o]}class Zr extends Xn{constructor(e){super(),Yn(this,e,Gr,Kr,kt,{entry:0,removeIcon:8,indentIcon:1,storageKey:2})}}function Yr(e,t,n){const r=e.slice();return r[14]=t[n],r}function Xr(e){let t,n;return t=new Zr({props:{entry:e[14],indentIcon:e[6],removeIcon:!e[2]&&2===e[14]?.kind}}),{c(){Kn(t.$$.fragment)},m(e,r){Gn(t,e,r),n=!0},p(e,n){const r={};1&n&&(r.entry=e[14]),1&n&&(r.removeIcon=!e[2]&&2===e[14]?.kind),t.$set(r)},i(e){n||(jn(t.$$.fragment,e),n=!0)},o(e){_n(t.$$.fragment,e),n=!1},d(e){Zn(t,e)}}}function eo(e){let t,n;return t=new io({props:{entry:e[14],parentIcon:!e[5]}}),{c(){Kn(t.$$.fragment)},m(e,r){Gn(t,e,r),n=!0},p(e,n){const r={};1&n&&(r.entry=e[14]),t.$set(r)},i(e){n||(jn(t.$$.fragment,e),n=!0)},o(e){_n(t.$$.fragment,e),n=!1},d(e){Zn(t,e)}}}function to(e,t){let n,r,o,s,i,a;const l=[eo,Xr],c=[];function u(e,t){return 1&t&&(r=null),null==r&&(r=!!Array.isArray(e[14].children)),r?0:1}return o=u(t,-1),s=c[o]=l[o](t),{key:e,first:null,c(){n=Xt(),s.c(),i=Xt(),this.first=n},m(e,t){Wt(e,n,t),c[o].m(e,t),Wt(e,i,t),a=!0},p(e,n){let r=o;o=u(t=e,n),o===r?c[o].p(t,n):(Nn(),_n(c[r],1,1,(()=>{c[r]=null})),Un(),s=c[o],s?s.p(t,n):(s=c[o]=l[o](t),s.c()),jn(s,1),s.m(i.parentNode,i))},i(e){a||(jn(s),a=!0)},o(e){_n(s),a=!1},d(e){e&&(Jt(n),Jt(i)),c[o].d(e)}}}function no(e){let t,n,r=[],o=new Map,s=zn(e[0].children);const i=e=>e[14].path;for(let t=0;tn(1,r=e)));const c=bn("#treeState"),u=o.storageKey,f=u?c.sessionStorage.getStore(u,!1):void 0,d=!a&&(void 0===o.kind||2===o.kind),h=d?"indent-no-icon":"indent-icon",p={store:f,options:{focusChevron:!0},styles:s?{"--tjs-folder-details-margin-left":"3.5px"}:void 0};return e.$$set=e=>{"entry"in e&&n(0,o=e.entry),"parentIcon"in e&&n(10,s=e.parentIcon)},[o,r,a,l,u,d,h,p,function(e){e?.event?.altKey&&c.setChildFolderState(o,!1)},function(e){e?.event?.altKey&&c.setChildFolderState(o,!0)},s]}class io extends Xn{constructor(e){super(),Yn(this,e,so,oo,kt,{entry:0,parentIcon:10})}}function ao(e,t,n){const r=e.slice();return r[8]=t[n],r}function lo(e){let t,n;return t=new Zr({props:{entry:e[8],indentIcon:e[4],removeIcon:!e[2]&&2===e[8]?.kind}}),{c(){Kn(t.$$.fragment)},m(e,r){Gn(t,e,r),n=!0},p(e,n){const r={};1&n&&(r.entry=e[8]),1&n&&(r.removeIcon=!e[2]&&2===e[8]?.kind),t.$set(r)},i(e){n||(jn(t.$$.fragment,e),n=!0)},o(e){_n(t.$$.fragment,e),n=!1},d(e){Zn(t,e)}}}function co(e){let t,n;return t=new io({props:{entry:e[8]}}),{c(){Kn(t.$$.fragment)},m(e,r){Gn(t,e,r),n=!0},p(e,n){const r={};1&n&&(r.entry=e[8]),t.$set(r)},i(e){n||(jn(t.$$.fragment,e),n=!0)},o(e){_n(t.$$.fragment,e),n=!1},d(e){Zn(t,e)}}}function uo(e,t){let n,r,o,s,i,a;const l=[co,lo],c=[];function u(e,t){return 1&t&&(r=null),null==r&&(r=!!Array.isArray(e[8].children)),r?0:1}return o=u(t,-1),s=c[o]=l[o](t),{key:e,first:null,c(){n=Xt(),s.c(),i=Xt(),this.first=n},m(e,t){Wt(e,n,t),c[o].m(e,t),Wt(e,i,t),a=!0},p(e,n){let r=o;o=u(t=e,n),o===r?c[o].p(t,n):(Nn(),_n(c[r],1,1,(()=>{c[r]=null})),Un(),s=c[o],s?s.p(t,n):(s=c[o]=l[o](t),s.c()),jn(s,1),s.m(i.parentNode,i))},i(e){a||(jn(s),a=!0)},o(e){_n(s),a=!1},d(e){e&&(Jt(n),Jt(i)),c[o].d(e)}}}function fo(e){let t,n,r,o,s=[],i=new Map,a=zn(e[0].elementIndex);const l=e=>e[8].path;for(let t=0;tn(5,r=e)));const c=o.hasFolders?"indent-no-icon":"indent-none";return e.$$set=e=>{"treeState"in e&&n(0,o=e.treeState)},e.$$.update=()=>{34&e.$$.dirty&&r&&dr().then((()=>{const e=l.querySelector(`a[href*="${r}"]`);e&&e.scrollIntoView({block:"center",inline:"center"})}))},[o,l,i,a,c,r,function(e){xn[e?"unshift":"push"]((()=>{l=e,n(1,l)}))}]}class go extends Xn{constructor(e){super(),Yn(this,e,po,fo,kt,{treeState:0})}}function mo(e){let t,n,r,o;return r=new go({props:{treeState:e[1].treeState.markdown}}),{c(){t=Kt("hr"),n=Yt(),Kn(r.$$.fragment),nn(t,"class","svelte-wwxcg7")},m(e,s){Wt(e,t,s),Wt(e,n,s),Gn(r,e,s),o=!0},p:yt,i(e){o||(jn(r.$$.fragment,e),o=!0)},o(e){_n(r.$$.fragment,e),o=!1},d(e){e&&(Jt(t),Jt(n)),Zn(r,e)}}}function yo(e){let t,n,r=e[1].treeState.markdown.hasData&&function(e){let t,n,r;return n=new Vr({props:{folder:e[4],animate:e[0],$$slots:{default:[mo]},$$scope:{ctx:e}}}),{c(){t=Kt("section"),Kn(n.$$.fragment),nn(t,"class","dmt-document-index svelte-wwxcg7")},m(e,o){Wt(e,t,o),Gn(n,t,null),r=!0},p(e,t){const r={};1&t&&(r.animate=e[0]),512&t&&(r.$$scope={dirty:t,ctx:e}),n.$set(r)},i(e){r||(jn(n.$$.fragment,e),r=!0)},o(e){_n(n.$$.fragment,e),r=!1},d(e){e&&Jt(t),Zn(n)}}}(e);return{c(){r&&r.c(),t=Xt()},m(e,o){r&&r.m(e,o),Wt(e,t,o),n=!0},p(e,[t]){e[1].treeState.markdown.hasData&&r.p(e,t)},i(e){n||(jn(r),n=!0)},o(e){_n(r),n=!1},d(e){e&&Jt(t),r&&r.d(e)}}}function bo(e,t,n){let r,o;const{dmtSessionStorage:s,navigation:i,settingStores:a,storagePrepend:l}=bn("#dmtComponentData"),c=a.themeAnimate;Pt(e,c,(e=>n(0,o=e)));const u=s.getStore(`${l}-document-index`,!0);Pt(e,u,(e=>n(5,r=e))),"markdown"===i.treeState.activeTreeName&&Ft(u,r=!0,r);return[o,i,c,u,{store:u,label:"Document Index",options:{focusChevron:!0}}]}class vo extends Xn{constructor(e){super(),Yn(this,e,bo,yo,kt,{})}}function wo(e,t,n){const r=e.slice();return r[2]=t[n],r}function xo(e,t){let n,r;return{key:e,first:null,c(){n=Kt("a"),r=Kt("span"),r.textContent=`${t[2]}`,nn(n,"href",`${t[0][t[2]]}`),nn(n,"target","_blank"),nn(n,"class","svelte-ietkuq"),this.first=n},m(e,t){Wt(e,n,t),Ht(n,r)},p(e,n){t=e},d(e){e&&Jt(n)}}}function So(e){let t,n=e[1]&&function(e){let t,n=[],r=new Map,o=zn(Object.keys(e[0]));const s=e=>e[0][e[2]];for(let t=0;t0]}class ko extends Xn{constructor(e){super(),Yn(this,e,$o,So,kt,{})}}function To(e){const t=e*e;return e<4/11?7.5625*t:e<8/11?9.075*t-9.9*e+3.4:e<.9?4356/361*t-35442/1805*e+16061/1805:10.8*e*e-20.52*e+10.72}function Eo(e){const t=e-1;return t*t*t+1}function Co(e){return e*e*e*e*e}const Lo=Object.freeze({__proto__:null,backIn:function(e){const t=1.70158;return e*e*((t+1)*e-t)},backInOut:function(e){const t=2.5949095;return(e*=2)<1?e*e*((t+1)*e-t)*.5:.5*((e-=2)*e*((t+1)*e+t)+2)},backOut:function(e){const t=1.70158;return--e*e*((t+1)*e+t)+1},bounceIn:function(e){return 1-To(1-e)},bounceInOut:function(e){return e<.5?.5*(1-To(1-2*e)):.5*To(2*e-1)+.5},bounceOut:To,circIn:function(e){return 1-Math.sqrt(1-e*e)},circInOut:function(e){return(e*=2)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)},circOut:function(e){return Math.sqrt(1- --e*e)},cubicIn:function(e){return e*e*e},cubicInOut:function(e){return e<.5?4*e*e*e:.5*Math.pow(2*e-2,3)+1},cubicOut:Eo,elasticIn:function(e){return Math.sin(13*e*Math.PI/2)*Math.pow(2,10*(e-1))},elasticInOut:function(e){return e<.5?.5*Math.sin(13*Math.PI/2*2*e)*Math.pow(2,10*(2*e-1)):.5*Math.sin(-13*Math.PI/2*(2*e-1+1))*Math.pow(2,-10*(2*e-1))+1},elasticOut:function(e){return Math.sin(-13*(e+1)*Math.PI/2)*Math.pow(2,-10*e)+1},expoIn:function(e){return 0===e?e:Math.pow(2,10*(e-1))},expoInOut:function(e){return 0===e||1===e?e:e<.5?.5*Math.pow(2,20*e-10):-.5*Math.pow(2,10-20*e)+1},expoOut:function(e){return 1===e?e:1-Math.pow(2,-10*e)},linear:bt,quadIn:function(e){return e*e},quadInOut:function(e){return(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1)},quadOut:function(e){return-e*(e-2)},quartIn:function(e){return Math.pow(e,4)},quartInOut:function(e){return e<.5?8*Math.pow(e,4):-8*Math.pow(e-1,4)+1},quartOut:function(e){return Math.pow(e-1,3)*(1-e)+1},quintIn:Co,quintInOut:function(e){return(e*=2)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)},quintOut:function(e){return--e*e*e*e*e+1},sineIn:function(e){const t=Math.cos(e*Math.PI*.5);return Math.abs(t)<1e-14?1:1-t},sineInOut:function(e){return-.5*(Math.cos(Math.PI*e)-1)},sineOut:function(e){return Math.sin(e*Math.PI/2)}});function Po(e,t){if("function"==typeof e)return e;const n=Lo[e];return n||Lo.linear}function Oo(e,t){const n=Po(t.easingFade??t.easing),r=Po(t.easingSlide??t.easing),o=function(e,{delay:t=0,duration:n=400,easing:r=bt}={}){const o=+getComputedStyle(e).opacity;return{delay:t,duration:n,easing:r,css:e=>"opacity: "+e*o}}(e),s=function(e,{delay:t=0,duration:n=400,easing:r=Eo,axis:o="y"}={}){const s=getComputedStyle(e),i=+s.opacity,a="y"===o?"height":"width",l=parseFloat(s[a]),c="y"===o?["top","bottom"]:["left","right"],u=c.map((e=>`${e[0].toUpperCase()}${e.slice(1)}`)),f=parseFloat(s[`padding${u[0]}`]),d=parseFloat(s[`padding${u[1]}`]),h=parseFloat(s[`margin${u[0]}`]),p=parseFloat(s[`margin${u[1]}`]),g=parseFloat(s[`border${u[0]}Width`]),m=parseFloat(s[`border${u[1]}Width`]);return{delay:t,duration:n,easing:r,css:e=>`overflow: hidden;opacity: ${Math.min(20*e,1)*i};${a}: ${e*l}px;padding-${c[0]}: ${e*f}px;padding-${c[1]}: ${e*d}px;margin-${c[0]}: ${e*h}px;margin-${c[1]}: ${e*p}px;border-${c[0]}-width: ${e*g}px;border-${c[1]}-width: ${e*m}px;`}}(e,{axis:t.axis});return{delay:t.delay??0,duration:t.duration??500,easing:bt,css:e=>{const t=n(e),i=r(e);return`${s.css(i,1-i)}; ${o.css(t,1-t)}`}}}function Io(e,t,n){const r=e.slice();return r[13]=t[n],r}function Ao(e,t){let n,r,o,s,i,a,l=t[13].key+"";return{key:e,first:null,c(){n=Kt("span"),r=Gt("svg"),o=Gt("use"),s=Yt(),i=Zt(l),a=Yt(),nn(o,"href",`#icon-${t[13].value}`),nn(r,"class","tsd-kind-icon svelte-1uxeem0"),nn(r,"viewBox","0 0 24 24"),nn(n,"class","svelte-1uxeem0"),this.first=n},m(e,t){Wt(e,n,t),Ht(n,r),Ht(r,o),Ht(n,s),Ht(n,i),Ht(n,a)},p(e,n){t=e},d(e){e&&Jt(n)}}}function Mo(e){let t,n,r,o,s,i,a,l,c,u,f,d,h,p,g,m,y,b,v,w,x,S,$,k,T,E=[],C=new Map,L=zn(e[7]);const P=e=>e[13].value;for(let t=0;tAlt + DOpen / focus "Document Index"',nn(e,"class","svelte-1uxeem0")},m(t,n){Wt(t,e,n)},d(t){t&&Jt(e)}}}(),I=e[3]&&function(){let e;return{c(){e=Kt("span"),e.innerHTML='Alt + ESource (Nav) open / close all',nn(e,"class","svelte-1uxeem0")},m(t,n){Wt(t,e,n)},d(t){t&&Jt(e)}}}(),A=e[0].modules&&function(e){let t,n,r,o,s;return{c(){t=Kt("span"),n=Kt("i"),n.textContent="Alt + M",r=Zt("Go to "),o=Zt(e[6]),s=Zt(" page"),nn(n,"class","key svelte-1uxeem0"),nn(t,"class","svelte-1uxeem0")},m(e,i){Wt(e,t,i),Ht(t,n),Ht(t,r),Ht(t,o),Ht(t,s)},p:yt,d(e){e&&Jt(t)}}}(e),M=e[0].hierarchy&&function(){let e;return{c(){e=Kt("span"),e.innerHTML='Alt + YGo to class hierarchy page',nn(e,"class","svelte-1uxeem0")},m(t,n){Wt(t,e,n)},d(t){t&&Jt(e)}}}(),D=e[1]&&function(){let e;return{c(){e=Kt("span"),e.innerHTML='AltPress when opening / closing folders to open / close all child folders.',nn(e,"class","svelte-1uxeem0")},m(t,n){Wt(t,e,n)},d(t){t&&Jt(e)}}}();return{c(){t=Kt("div"),n=Kt("span"),n.textContent="Reflection Icon Reference:",r=Yt(),o=Kt("section");for(let e=0;eAlt + CFocus main content',c=Yt(),O&&O.c(),u=Yt(),I&&I.c(),f=Yt(),d=Kt("span"),d.innerHTML='Alt + HOpen / close help',h=Yt(),p=Kt("span"),p.innerHTML='Alt + IGo to home / index page',g=Yt(),m=Kt("span"),m.innerHTML='Alt + NSource (Nav) focus selected',y=Yt(),A&&A.c(),b=Yt(),v=Kt("span"),v.innerHTML='Alt + OOpen / focus "On This Page"',w=Yt(),x=Kt("span"),x.innerHTML='Alt + SActivate search',S=Yt(),M&&M.c(),$=Yt(),D&&D.c(),nn(n,"class","title svelte-1uxeem0"),nn(o,"class","reflection-kinds svelte-1uxeem0"),nn(i,"class","title svelte-1uxeem0"),nn(l,"class","svelte-1uxeem0"),nn(d,"class","svelte-1uxeem0"),nn(p,"class","svelte-1uxeem0"),nn(m,"class","svelte-1uxeem0"),nn(v,"class","svelte-1uxeem0"),nn(x,"class","svelte-1uxeem0"),nn(t,"class","svelte-1uxeem0")},m(e,k){Wt(e,t,k),Ht(t,n),Ht(t,r),Ht(t,o);for(let e=0;e{T&&(k||(k=Bn(t,e[5],{duration:100},!0)),k.run(1))})),T=!0)},o(n){n&&(k||(k=Bn(t,e[5],{duration:100},!1)),k.run(0)),T=!1},d(e){e&&Jt(t);for(let e=0;en(8,r=e)));const h=r?Oo:()=>{},p=o?"package":"module",g=[];for(const[e,t]of Object.entries(a))"number"==typeof t&&g.push({key:e,value:t});return g.sort(((e,t)=>e.key.localeCompare(t.key))),[i,c,u,f,d,h,p,g]}class Ro extends Xn{constructor(e){super(),Yn(this,e,Do,Mo,kt,{})}}function Fo(e){let t,n;return t=new Ro({}),{c(){Kn(t.$$.fragment)},m(e,r){Gn(t,e,r),n=!0},i(e){n||(jn(t.$$.fragment,e),n=!0)},o(e){_n(t.$$.fragment,e),n=!1},d(e){Zn(t,e)}}}function No(e){let t,n,r,o,s,i,a,l,c,u,f,d,h,p=e[5]>0&&function(e){let t,n,r,o,s,i,a,l,c;return{c(){t=Gt("svg"),n=Gt("symbol"),r=Gt("path"),o=Yt(),s=Kt("button"),s.innerHTML='',i=Yt(),a=Kt("button"),a.innerHTML='',nn(r,"d","M517.408 993.568l-0.448 0.256c-18.592-0.032-37.152-7.168-51.328-21.344L51.392 558.24c-27.904-27.904-28.32-74.624 0.224-103.2 28.768-28.768 74.784-28.672 103.2-0.224l362.272 362.272L879.36 454.816c27.904-27.904 74.624-28.32 103.2 0.224 28.768 28.768 28.672 74.784 0.224 103.2l-414.24 414.24c-13.92 13.92-32.512 20.992-51.2 21.056z m0-397.408l-0.448 0.256c-18.592-0.032-37.152-7.168-51.328-21.344l-414.24-414.24c-27.904-27.904-28.32-74.624 0.224-103.2 28.768-28.768 74.784-28.672 103.2-0.224L517.088 419.68 879.36 57.408c27.904-27.904 74.624-28.32 103.2 0.224 28.768 28.768 28.672 74.784 0.224 103.2l-414.24 414.24c-13.92 13.92-32.512 20.992-51.2 21.056z"),nn(n,"id","dmt-double-icon-arrow"),nn(n,"viewBox","0 0 1024 1024"),sn(t,"display","none"),nn(t,"class","svelte-1xrvgp2"),nn(s,"title","Open All"),nn(s,"class","svelte-1xrvgp2"),nn(a,"title","Close All"),nn(a,"class","svelte-1xrvgp2")},m(u,f){Wt(u,t,f),Ht(t,n),Ht(n,r),Wt(u,o,f),Wt(u,s,f),Wt(u,i,f),Wt(u,a,f),l||(c=[en(s,"click",e[10]),en(s,"keydown",Uo),en(s,"pointerdown",tn(e[9])),en(a,"click",e[11]),en(a,"keydown",Uo),en(a,"pointerdown",tn(e[8]))],l=!0)},p:yt,d(e){e&&(Jt(t),Jt(o),Jt(s),Jt(i),Jt(a)),l=!1,St(c)}}}(e),g=e[4].hierarchy&&function(e){let t,n,r;return{c(){t=Kt("button"),t.innerHTML='',nn(t,"title","Class Hierarchy"),nn(t,"class","svelte-1xrvgp2")},m(o,s){Wt(o,t,s),n||(r=[en(t,"click",e[12]),en(t,"keydown",Uo)],n=!0)},p:yt,d(e){e&&Jt(t),n=!1,St(r)}}}(e),m=e[4].modules&&function(e){let t,n,r,o,s,i,a;return{c(){t=Kt("button"),n=Gt("svg"),r=Gt("rect"),o=Gt("rect"),s=Gt("rect"),nn(r,"x","10"),nn(r,"y","0"),nn(r,"width","12"),nn(r,"height","6"),nn(o,"x","6"),nn(o,"y","13"),nn(o,"width","20"),nn(o,"height","6"),nn(s,"x","0"),nn(s,"y","26"),nn(s,"width","32"),nn(s,"height","6"),nn(n,"width","32"),nn(n,"height","32"),nn(n,"viewBox","0 0 32 32"),nn(n,"xmlns","http://www.w3.org/2000/svg"),nn(n,"class","svelte-1xrvgp2"),nn(t,"title",e[7]),nn(t,"class","svelte-1xrvgp2")},m(l,c){Wt(l,t,c),Ht(t,n),Ht(n,r),Ht(n,o),Ht(n,s),i||(a=[en(t,"click",e[13]),en(t,"keydown",Uo)],i=!0)},p:yt,d(e){e&&Jt(t),i=!1,St(a)}}}(e),y=e[0]&&Fo();return{c(){t=Kt("section"),p&&p.c(),n=Yt(),g&&g.c(),r=Yt(),m&&m.c(),o=Yt(),s=Kt("button"),i=Gt("svg"),a=Gt("g"),l=Gt("path"),c=Gt("path"),u=Yt(),y&&y.c(),nn(l,"d","M502.29,788.199h-47c-33.1,0-60,26.9-60,60v64.9c0,33.1,26.9,60,60,60h47c33.101,0,60-26.9,60-60v-64.9 C562.29,815,535.391,788.199,502.29,788.199z"),nn(c,"d","M170.89,285.8l86.7,10.8c27.5,3.4,53.6-12.4,63.5-38.3c12.5-32.7,29.9-58.5,52.2-77.3c31.601-26.6,70.9-40,117.9-40\r\n c48.7,0,87.5,12.8,116.3,38.3c28.8,25.6,43.1,56.2,43.1,92.1c0,25.8-8.1,49.4-24.3,70.8c-10.5,13.6-42.8,42.2-96.7,85.9\r\n c-54,43.7-89.899,83.099-107.899,118.099c-18.4,35.801-24.8,75.5-26.4,115.301c-1.399,34.1,25.8,62.5,60,62.5h49\r\n c31.2,0,57-23.9,59.8-54.9c2-22.299,5.7-39.199,11.301-50.699c9.399-19.701,33.699-45.701,72.699-78.1\r\n C723.59,477.8,772.79,428.4,795.891,392c23-36.3,34.6-74.8,34.6-115.5c0-73.5-31.3-138-94-193.4c-62.6-55.4-147-83.1-253-83.1\r\n c-100.8,0-182.1,27.3-244.1,82c-52.8,46.6-84.9,101.8-96.2,165.5C139.69,266.1,152.39,283.5,170.89,285.8z"),nn(i,"viewBox","0 0 973.1 973.1"),nn(i,"class","svelte-1xrvgp2"),nn(s,"title",e[1]),nn(s,"class","svelte-1xrvgp2"),nn(t,"class","svelte-1xrvgp2")},m(b,v){Wt(b,t,v),p&&p.m(t,null),Ht(t,n),g&&g.m(t,null),Ht(t,r),m&&m.m(t,null),Ht(t,o),Ht(t,s),Ht(s,i),Ht(i,a),Ht(a,l),Ht(a,c),Ht(t,u),y&&y.m(t,null),f=!0,d||(h=[en(s,"click",e[14]),en(s,"keydown",Uo)],d=!0)},p(e,[n]){e[5]>0&&p.p(e,n),e[4].hierarchy&&g.p(e,n),e[4].modules&&m.p(e,n),(!f||2&n)&&nn(s,"title",e[1]),e[0]?y?1&n&&jn(y,1):(y=Fo(),y.c(),jn(y,1),y.m(t,null)):y&&(Nn(),_n(y,1,1,(()=>{y=null})),Un())},i(e){f||(jn(y),f=!0)},o(e){_n(y),f=!1},d(e){e&&Jt(t),p&&p.d(),g&&g.d(),m&&m.d(),y&&y.d(),d=!1,St(h)}}}function Uo(e){e.repeat&&(e.stopPropagation(),e.preventDefault())}function jo(e,t,n){let r,o;const{baseURL:s,moduleIsPackage:i,navigation:a,pageIndex:l,stateStores:c}=bn("#dmtComponentData"),u=a.treeState.source.hasFolders,f=c.helpPanelVisible;Pt(e,f,(e=>n(0,o=e)));const d=i?"Package Index":"Module Index";return e.$$.update=()=>{1&e.$$.dirty&&n(1,r=o?"Close Help":"Open Help")},[o,r,s,a,l,u,f,d,function(t){vn.call(this,e,t)},function(t){vn.call(this,e,t)},()=>a.treeState.source.setFoldersAllOpen(!0),()=>a.treeState.source.setFoldersAllOpen(!1),()=>globalThis.location.href=`${s}${l.hierarchy}`,()=>globalThis.location.href=`${s}${l.modules}`,()=>Ft(f,o=!o,o)]}class _o extends Xn{constructor(e){super(),Yn(this,e,jo,No,kt,{})}}function Qo(e){let t,n,r,o,s;return n=new _o({}),o=new go({props:{treeState:e[0].treeState.source}}),{c(){t=Kt("section"),Kn(n.$$.fragment),r=Yt(),Kn(o.$$.fragment),nn(t,"class","source-index svelte-13h1skr")},m(e,i){Wt(e,t,i),Gn(n,t,null),Ht(t,r),Gn(o,t,null),s=!0},p:yt,i(e){s||(jn(n.$$.fragment,e),jn(o.$$.fragment,e),s=!0)},o(e){_n(n.$$.fragment,e),_n(o.$$.fragment,e),s=!1},d(e){e&&Jt(t),Zn(n),Zn(o)}}}function Bo(e){const{navigation:t}=bn("#dmtComponentData");return[t]}class zo extends Xn{constructor(e){super(),Yn(this,e,Bo,Qo,kt,{})}}function Ho(e){let t,n,r,o,s,i;return t=new ko({}),r=new vo({}),s=new zo({}),{c(){Kn(t.$$.fragment),n=Yt(),Kn(r.$$.fragment),o=Yt(),Kn(s.$$.fragment)},m(e,a){Gn(t,e,a),Wt(e,n,a),Gn(r,e,a),Wt(e,o,a),Gn(s,e,a),i=!0},p:yt,i(e){i||(jn(t.$$.fragment,e),jn(r.$$.fragment,e),jn(s.$$.fragment,e),i=!0)},o(e){_n(t.$$.fragment,e),_n(r.$$.fragment,e),_n(s.$$.fragment,e),i=!1},d(e){e&&(Jt(n),Jt(o)),Zn(t,e),Zn(r,e),Zn(s,e)}}}function qo(e){let t,n,r;return{c(){t=Kt("button"),t.innerHTML='',nn(t,"class","svelte-10arjs8")},m(o,s){Wt(o,t,s),n||(r=[en(t,"click",e[3]),en(t,"pointerdown",tn(e[2]))],n=!0)},p:yt,i:yt,o:yt,d(e){e&&Jt(t),n=!1,St(r)}}}function Vo(e,t,n){let r;const{stateStores:o}=bn("#dmtComponentData"),s=o.mainSearchVisible;Pt(e,s,(e=>n(0,r=e)));return[r,s,function(t){vn.call(this,e,t)},()=>Ft(s,r=!r,r)]}class Wo extends Xn{constructor(e){super(),Yn(this,e,Vo,qo,kt,{})}}function Jo(e,t,n){const r=e.slice();return r[14]=t[n],r}function Ko(e){let t,n,r;return{c(){t=Gt("svg"),n=Gt("use"),nn(n,"href",r=`#icon-${e[14].kind}`),nn(t,"class","tsd-kind-icon"),nn(t,"viewBox","0 0 24 24")},m(e,r){Wt(e,t,r),Ht(t,n)},p(e,t){2&t&&r!==(r=`#icon-${e[14].kind}`)&&nn(n,"href",r)},d(e){e&&Jt(t)}}}function Go(e,t){let n,r,o,s,i,a,l,c=t[14].name+"",u=t[14].kind&&Ko(t);function f(){return t[8](t[14])}return{key:e,first:null,c(){n=Kt("li"),u&&u.c(),r=Yt(),o=Kt("span"),s=Yt(),nn(o,"class","parent"),nn(n,"class",i=Rt(t[14].classes)+" svelte-5rxzhp"),nn(n,"role","menuitem"),an(n,"selected",t[14].id===t[2]),this.first=n},m(e,t){Wt(e,n,t),u&&u.m(n,null),Ht(n,r),Ht(n,o),o.innerHTML=c,Ht(n,s),a||(l=en(n,"click",f),a=!0)},p(e,s){(t=e)[14].kind?u?u.p(t,s):(u=Ko(t),u.c(),u.m(n,r)):u&&(u.d(1),u=null),2&s&&c!==(c=t[14].name+"")&&(o.innerHTML=c),2&s&&i!==(i=Rt(t[14].classes)+" svelte-5rxzhp")&&nn(n,"class",i),6&s&&an(n,"selected",t[14].id===t[2])},d(e){e&&Jt(n),u&&u.d(),a=!1,l()}}}function Zo(e){let t,n,r,o=[],s=new Map,i=zn(e[1]);const a=e=>e[14].id;for(let t=0;t{r&&(n||(n=Bn(t,e[6],{duration:100},!0)),n.run(1))})),r=!0)},o(o){n||(n=Bn(t,e[6],{duration:100},!1)),n.run(0),r=!1},d(r){r&&Jt(t);for(let e=0;en(10,r=e)));const f=l.themeAnimate;Pt(e,f,(e=>n(11,o=e)));const d=bn("#storeCurrentId");Pt(e,d,(e=>n(2,s=e)));const h=o?Oo:()=>{};function p(e){Ft(u,r=!1,r),globalThis.location.href=e}return e.$$set=e=>{"results"in e&&n(1,i=e.results),"resultsEl"in e&&n(0,a=e.resultsEl)},[a,i,s,u,f,d,h,p,e=>p(e.href),function(e){xn[e?"unshift":"push"]((()=>{a=e,n(0,a)}))}]}class Xo extends Xn{constructor(e){super(),Yn(this,e,Yo,Zo,kt,{results:1,resultsEl:0})}}const{window:es}=zt;function ts(e){let t,n,r;function o(t){e[13](t)}let s={results:e[0]};return void 0!==e[3]&&(s.resultsEl=e[3]),t=new Xo({props:s}),xn.push((()=>function(e,t,n){const r=e.$$.props[t];void 0!==r&&(e.$$.bound[r]=n,n(e.$$.ctx[r]))}(t,"resultsEl",o))),{c(){Kn(t.$$.fragment)},m(e,n){Gn(t,e,n),r=!0},p(e,r){const o={};var s;1&r&&(o.results=e[0]),!n&&8&r&&(n=!0,o.resultsEl=e[3],s=()=>n=!1,$n.push(s)),t.$set(o)},i(e){r||(jn(t.$$.fragment,e),r=!0)},o(e){_n(t.$$.fragment,e),r=!1},d(e){Zn(t,e)}}}function ns(e){let t,n,r,o,s,i,a,l=e[0].length&&ts(e);return{c(){t=Kt("input"),r=Yt(),l&&l.c(),o=Xt(),nn(t,"type","search"),nn(t,"id","dmt-search-field"),nn(t,"aria-label","Search"),nn(t,"class","svelte-tuln0o"),sn(t,"color",e[4]?"red":null),sn(t,"border-color",e[4]?"red":null)},m(n,c){Wt(n,t,c),e[11](t),on(t,e[1]),Wt(n,r,c),l&&l.m(n,c),Wt(n,o,c),s=!0,i||(a=[en(es,"pointerdown",e[10]),en(t,"input",e[12]),en(t,"keydown",e[9])],i=!0)},p(e,[n]){2&n&&t.value!==e[1]&&on(t,e[1]),16&n&&sn(t,"color",e[4]?"red":null),16&n&&sn(t,"border-color",e[4]?"red":null),e[0].length?l?(l.p(e,n),1&n&&jn(l,1)):(l=ts(e),l.c(),jn(l,1),l.m(o.parentNode,o)):l&&(Nn(),_n(l,1,1,(()=>{l=null})),Un())},i(r){s||(r&&Ln((()=>{s&&(n||(n=Bn(t,e[8],{duration:200},!0)),n.run(1))})),jn(l),s=!0)},o(r){r&&(n||(n=Bn(t,e[8],{duration:200},!1)),n.run(0)),_n(l),s=!1},d(s){s&&(Jt(t),Jt(r),Jt(o)),e[11](null),s&&n&&n.end(),l&&l.d(s),i=!1,St(a)}}}function rs(e,t,n){let r,o,s,i;const a=rr(void 0);yn("#storeCurrentId",a);const{basePath:l,showModuleIcon:c,searchOptions:u,settingStores:f,stateStores:d}=bn("#dmtComponentData"),h=d.mainSearchVisible;Pt(e,h,(e=>n(15,o=e)));const p=f.themeAnimate;Pt(e,p,(e=>n(16,i=e)));const g=u?.fullName??!1,m=u?.limit??10,y=rr("");Pt(e,y,(e=>n(1,s=e)));const b=i?Oo:()=>{},v=mt.debounce(((e,t)=>n(0,k=function(e,{basePath:t,showModuleIcon:n=!0,searchFullName:r=!1,searchLimit:o=10}={}){if(!globalThis.dmtSearchMainIndex||!globalThis.dmtSearchMainRows)return[];const s=e.trim();if(0===s.length)return[];const i=globalThis.dmtSearchMainIndex.search(`*${s}*`),a=[];for(let e=0;et.score-e.score));for(let e=Math.min(o,i.length),l=0;l${xr(c.p,s)}.${u}`);const f=n||2!==c.k?c.k:void 0;a.push({id:o,kind:f,classes:c.c??"",href:`${t}${c.u}`,name:u})}return a}(e,t))),250),w={basePath:l,showModuleIcon:c,searchFullName:g,searchLimit:m};let x,S,$=0,k=[];return mn((()=>x.focus())),e.$$.update=()=>{2&e.$$.dirty&&v(s,{...w}),1&e.$$.dirty&&k?.length&&($=-1,a.set(void 0)),3&e.$$.dirty&&n(4,r=s.length&&!k?.length)},[k,s,x,S,r,h,p,y,b,function(e){switch(e.code){case"ArrowDown":if(0===k.length)return;$0&&(a.set(k[--$].id),e.preventDefault());break;case"Enter":$>=0&&(window.location.href=k[$].href),e.preventDefault();break;case"Escape":o&&!s.length&&Ft(h,o=!1,o);break;case"Tab":if(0===k.length)return void e.preventDefault();e.shiftKey?$>0&&a.set(k[--$].id):${x=e,n(2,x)}))},function(){s=this.value,y.set(s)},function(e){S=e,n(3,S)}]}class os extends Xn{constructor(e){super(),Yn(this,e,rs,ns,kt,{})}}function ss(e){let t,n;return t=new os({}),{c(){Kn(t.$$.fragment)},m(e,r){Gn(t,e,r),n=!0},i(e){n||(jn(t.$$.fragment,e),n=!0)},o(e){_n(t.$$.fragment,e),n=!1},d(e){Zn(t,e)}}}function is(e){let t,n,r,o,s=e[0]&&ss();return r=new Wo({}),{c(){s&&s.c(),t=Yt(),n=Kt("div"),Kn(r.$$.fragment),nn(n,"class","dmt-widget dmt-toolbar-icon search no-caption svelte-wmon9h")},m(e,i){s&&s.m(e,i),Wt(e,t,i),Wt(e,n,i),Gn(r,n,null),o=!0},p(e,[n]){e[0]?s?1&n&&jn(s,1):(s=ss(),s.c(),jn(s,1),s.m(t.parentNode,t)):s&&(Nn(),_n(s,1,1,(()=>{s=null})),Un())},i(e){o||(jn(s),jn(r.$$.fragment,e),o=!0)},o(e){_n(s),_n(r.$$.fragment,e),o=!1},d(e){e&&(Jt(t),Jt(n)),s&&s.d(e),Zn(r)}}}function as(e,t,n){let r;const{stateStores:o}=bn("#dmtComponentData"),s=o.mainSearchVisible;return Pt(e,s,(e=>n(0,r=e))),[r,s]}class ls extends Xn{constructor(e){super(),Yn(this,e,as,is,kt,{})}}function cs(e){let t,n,r;return{c(){t=Kt("div"),nn(t,"class","tjs-focus-wrap svelte-kjcljd"),nn(t,"tabindex","0")},m(o,s){Wt(o,t,s),e[4](t),n||(r=en(t,"focus",e[1]),n=!0)},p:yt,i:yt,o:yt,d(o){o&&Jt(t),e[4](null),n=!1,r()}}}function us(e,t,n){let r,o,{elementRoot:s}=t,{enabled:i=!0}=t;return e.$$set=e=>{"elementRoot"in e&&n(2,s=e.elementRoot),"enabled"in e&&n(3,i=e.enabled)},e.$$.update=()=>{1&e.$$.dirty&&o&&(r=new Set([o]))},[o,function(){if(i&&fr.isFocusTarget(s)){const e=fr.getFirstFocusableElement(s,r);fr.isFocusTarget(e)&&e!==o?e.focus():s.focus()}},s,i,function(e){xn[e?"unshift":"push"]((()=>{o=e,n(0,o)}))}]}class fs extends Xn{constructor(e){super(),Yn(this,e,us,cs,kt,{elementRoot:2,enabled:3})}}function ds(e,t,n){const r=e.slice();return r[15]=t[n],r}function hs(e,t){let n,r,o,s,i,a,l;return{key:e,first:null,c(){n=Kt("a"),r=Kt("img"),i=Yt(),Et(r.src,o=t[15].iconURL)||nn(r,"src",o),nn(r,"alt",s=t[15].title),nn(r,"class","svelte-1pcybcf"),nn(n,"href",a=t[15].url),nn(n,"target","_blank"),nn(n,"title",l=t[15].title),nn(n,"class","svelte-1pcybcf"),this.first=n},m(e,t){Wt(e,n,t),Ht(n,r),Ht(n,i)},p(e,i){t=e,2&i&&!Et(r.src,o=t[15].iconURL)&&nn(r,"src",o),2&i&&s!==(s=t[15].title)&&nn(r,"alt",s),2&i&&a!==(a=t[15].url)&&nn(n,"href",a),2&i&&l!==(l=t[15].title)&&nn(n,"title",l)},d(e){e&&Jt(n)}}}function ps(e){let t,n,r,o,s,i,a,l,c=[],u=new Map,f=zn(e[1].icons);const d=e=>e[15].url;for(let t=0;t{i&&(s||(s=Bn(t,e[4],{duration:250,easing:Co},!0)),s.run(1))})),i=!0)},o(n){_n(o.$$.fragment,n),s||(s=Bn(t,e[4],{duration:250,easing:Co},!1)),s.run(0),i=!1},d(n){n&&Jt(t);for(let e=0;en(1,s=e)));const{themeAnimate:c}=a;Pt(e,c,(e=>n(11,o=e)));const u=o?Oo:()=>{},f={ignoreClasses:["tjs-focus-wrap"]},d=bn("menuVisible");let h;return Pt(e,d,(e=>n(10,r=e))),mn((()=>h.focus())),[h,s,l,c,u,d,function(e){if("Tab"===e.code)if(e.stopPropagation(),e.shiftKey){const t=fr.getFocusableElements(h,f),n=t.length>0?t[0]:void 0,r=t.length>0?t[t.length-1]:void 0;h!==globalThis.document.activeElement&&n!==globalThis.document.activeElement||(r instanceof HTMLElement&&n!==r&&r.focus(),e.preventDefault())}e.stopPropagation()},function(e){if("Escape"===e.code)Ft(d,r=!1,r),e.preventDefault();e.stopPropagation()},function(e){h?.parentElement?.contains?.(e.target)||Ft(d,r=!1,r)},function(e){xn[e?"unshift":"push"]((()=>{h=e,n(0,h)}))}]}class ms extends Xn{constructor(e){super(),Yn(this,e,gs,ps,kt,{})}}function ys(e){let t,n;return t=new ms({props:{buttonHostEl:e[0]}}),{c(){Kn(t.$$.fragment)},m(e,r){Gn(t,e,r),n=!0},p(e,n){const r={};1&n&&(r.buttonHostEl=e[0]),t.$set(r)},i(e){n||(jn(t.$$.fragment,e),n=!0)},o(e){_n(t.$$.fragment,e),n=!1},d(e){Zn(t,e)}}}function bs(e){let t,n,r,o,s,i,a=e[1]&&ys(e);return{c(){t=Kt("section"),n=Kt("button"),n.innerHTML='',r=Yt(),a&&a.c(),nn(n,"class","svelte-1ebh1s9"),nn(t,"class","svelte-1ebh1s9")},m(l,c){Wt(l,t,c),Ht(t,n),Ht(t,r),a&&a.m(t,null),e[5](t),o=!0,s||(i=[en(n,"click",e[4]),en(n,"pointerdown",tn(e[3]))],s=!0)},p(e,[n]){e[1]?a?(a.p(e,n),2&n&&jn(a,1)):(a=ys(e),a.c(),jn(a,1),a.m(t,null)):a&&(Nn(),_n(a,1,1,(()=>{a=null})),Un())},i(e){o||(jn(a),o=!0)},o(e){_n(a),o=!1},d(n){n&&Jt(t),a&&a.d(),e[5](null),s=!1,St(i)}}}function vs(e,t,n){let r;const o=rr(!1);let s;Pt(e,o,(e=>n(1,r=e))),yn("menuVisible",o);return[s,r,o,function(t){vn.call(this,e,t)},()=>Ft(o,r=!r,r),function(e){xn[e?"unshift":"push"]((()=>{s=e,n(0,s)}))}]}class ws extends Xn{constructor(e){super(),Yn(this,e,vs,bs,kt,{})}}function xs(e,t,n){const r=e.slice();return r[3]=t[n],r}function Ss(e,t){let n,r,o,s,i,a,l;return{key:e,first:null,c(){n=Kt("a"),r=Kt("img"),i=Yt(),Et(r.src,o=t[3].iconURL)||nn(r,"src",o),nn(r,"alt",s=t[3].title),nn(r,"class","svelte-1f93d1m"),nn(n,"href",a=t[3].url),nn(n,"target","_blank"),nn(n,"title",l=t[3].title),nn(n,"class","svelte-1f93d1m"),this.first=n},m(e,t){Wt(e,n,t),Ht(n,r),Ht(n,i)},p(e,i){t=e,1&i&&!Et(r.src,o=t[3].iconURL)&&nn(r,"src",o),1&i&&s!==(s=t[3].title)&&nn(r,"alt",s),1&i&&a!==(a=t[3].url)&&nn(n,"href",a),1&i&&l!==(l=t[3].title)&&nn(n,"title",l)},d(e){e&&Jt(n)}}}function $s(e){let t,n=[],r=new Map,o=zn(e[0].icons);const s=e=>e[3].url;for(let t=0;tn(0,r=e))),[r,s]}class Ts extends Xn{constructor(e){super(),Yn(this,e,ks,$s,kt,{})}}function Es(e){let t,n,r;var o=e[1];return o&&(t=ln(o,{})),{c(){t&&Kn(t.$$.fragment),n=Xt()},m(e,o){t&&Gn(t,e,o),Wt(e,n,o),r=!0},p(e,r){if(2&r&&o!==(o=e[1])){if(t){Nn();const e=t;_n(e.$$.fragment,1,0,(()=>{Zn(e,1)})),Un()}o?(t=ln(o,{}),Kn(t.$$.fragment),jn(t.$$.fragment,1),Gn(t,n.parentNode,n)):t=null}},i(e){r||(t&&jn(t.$$.fragment,e),r=!0)},o(e){t&&_n(t.$$.fragment,e),r=!1},d(e){e&&Jt(n),t&&Zn(t,e)}}}function Cs(e){let t,n,r=e[0].icons.length&&Es(e);return{c(){r&&r.c(),t=Xt()},m(e,o){r&&r.m(e,o),Wt(e,t,o),n=!0},p(e,[n]){e[0].icons.length?r?(r.p(e,n),1&n&&jn(r,1)):(r=Es(e),r.c(),jn(r,1),r.m(t.parentNode,t)):r&&(Nn(),_n(r,1,1,(()=>{r=null})),Un())},i(e){n||(jn(r),n=!0)},o(e){_n(r),n=!1},d(e){e&&Jt(t),r&&r.d(e)}}}function Ls(e,t,n){let r,o;const{componentStores:s}=bn("#dmtComponentData"),i=bn("toolbarOffsetWidth");Pt(e,i,(e=>n(4,r=e)));const{toolbarIconLinks:a}=s;Pt(e,a,(e=>n(0,o=e)));let l=Ts;return e.$$.update=()=>{17&e.$$.dirty&&r>0&&(o.totalWidth>0&&n(1,l=o.totalWidth>r?ws:Ts),r<40&&n(1,l=void 0))},[o,l,i,a,r]}class Ps extends Xn{constructor(e){super(),Yn(this,e,Ls,Cs,kt,{})}}function Os(e){let t,n,r,o,s,i;return n=new Ps({}),{c(){t=Kt("section"),Kn(n.$$.fragment),nn(t,"class","svelte-j9157o")},m(a,l){Wt(a,t,l),Gn(n,t,null),o=!0,s||(i=Nt(r=gt.call(null,t,e[2])),s=!0)},p(e,[t]){r&&$t(r.update)&&1&t&&r.update.call(null,e[2])},i(e){o||(jn(n.$$.fragment,e),o=!0)},o(e){_n(n.$$.fragment,e),o=!1},d(e){e&&Jt(t),Zn(n),s=!1,i()}}}function Is(e,t,n){let r;const o=rr(0);Pt(e,o,(e=>n(0,r=e))),yn("toolbarOffsetWidth",o);return[r,o,e=>Ft(o,r=e,r)]}globalThis.dmtInflateAndUnpack=function(e,{inflateOptions:t}={}){return Z(Je(e,t))},globalThis.dmtInflateAndUnpackB64=function(e,{inflateOptions:t}={}){return Z(Je(ot(st(e)),t))};const As=new class{#V;#W;#J;#K;#G;#Z;#Y={local:new lr,session:new cr};constructor(e){this.#W="string"==typeof globalThis.dmtComponentDataBCMP?globalThis.dmtInflateAndUnpackB64(globalThis.dmtComponentDataBCMP):{};const t=e.replace(/assets\/dmt\/dmt-components.js/,""),n=e.replace(/dmt-components.js/,""),r=globalThis.location.href.replace(t,""),o=(r.match(/\//)??[]).length,s="../".repeat(o);this.#J={basePath:s,baseURL:t,dmtURL:n,initialPathURL:r},this.#K=new mr(this,this.#W.navigationIndex),this.#V=Object.freeze({toolbarIconLinks:Tr(this,this.#W)});const i="boolean"!=typeof this.#W?.settingOptions?.animation||this.#W?.settingOptions?.animation;this.#G=Object.freeze({themeAnimate:i?this.#Y.local.getStore(Er,!fr.prefersReducedMotion):nr(!1)}),this.#Z=Object.freeze({helpPanelVisible:rr(!1),mainSearchVisible:rr(!1),swapHelpPanelVisible:()=>this.#Z.helpPanelVisible.set(!Lt(this.#Z.helpPanelVisible))})}get basePath(){return this.#J.basePath}get baseURL(){return this.#J.baseURL}get componentStores(){return this.#V}get dmtLocalStorage(){return this.#Y.local}get dmtSessionStorage(){return this.#Y.session}get dmtURL(){return this.#J.dmtURL}get initialPathURL(){return this.#J.initialPathURL}get navigation(){return this.#K}get settingStores(){return this.#G}get stateStores(){return this.#Z}get iconLinks(){return this.#W.iconLinks}get pageIndex(){return this.#W.pageIndex??{}}get moduleIsPackage(){return this.#W.moduleIsPackage??!1}get showModuleIcon(){return this.#W.showModuleIcon??!0}get searchOptions(){return this.#W.searchOptions}get ReflectionKind(){return this.#W.ReflectionKind}get sidebarLinks(){return this.#W?.sidebarLinks??{}}get storagePrepend(){return this.#W.storagePrepend??"docs-unnamed"}}(import.meta.url),Ms=new Map([["#dmtComponentData",As]]),Ds=new class extends Xn{constructor(e){super(),Yn(this,e,Ir,Or,kt,{})}}({target:document.querySelector(".tsd-navigation.settings .tsd-accordion-details"),context:Ms}),Rs=document.querySelector("nav#tsd-sidebar-links");Rs&&Rs.remove();const Fs=document.querySelector("nav.tsd-navigation");if(Fs&&Fs.firstChild)for(;Fs.firstChild;)Fs.removeChild(Fs.firstChild);const Ns=new class extends Xn{constructor(e){super(),Yn(this,e,null,Ho,kt,{})}}({target:document.querySelector("nav.tsd-navigation"),context:Ms}),Us=new class extends Xn{constructor(e){super(),Yn(this,e,Is,Os,kt,{})}}({target:document.querySelector("#dmt-toolbar"),context:Ms});globalThis.dmtComponents={dmtSettings:Ds,navigation:Ns,toolbar:Us},As.searchOptions&&(!async function(){const e=import.meta.url.replace(/\/dmt-components.js/,""),t=await fetch(`${e}/dmt-search.cmp`);if(!t.ok)return console.warn("[typedoc-theme-default-modern] Could not load search index."),!1;try{const e=await t.arrayBuffer(),n=globalThis.dmtInflateAndUnpack(new Uint8Array(e));globalThis.dmtSearchMainRows=n.rows,globalThis.dmtSearchMainIndex=wr.Index.load(n.index)}catch(e){return console.warn("[typedoc-theme-default-modern] Could not load search index."),console.error(e),!1}}(),globalThis.dmtComponents.searchMain=new ls({target:document.querySelector("#dmt-search-main"),context:Ms})),function(e){const{baseURL:t,dmtSessionStorage:n,pageIndex:r,navigation:o,stateStores:s,storagePrepend:i}=e;globalThis.document.addEventListener("keydown",(e=>{if(e.altKey&&!e.repeat)switch(e.code){case"KeyC":{const t=document.querySelector(".col-content");if(t){const e=fr.getFirstFocusableElement(t);e&&e.focus({focusVisible:!0})}e.preventDefault();break}case"KeyD":{const t=`${i}-document-index`;n.hasStore(t)&&(n.getStore(t).set(!0),setTimeout((()=>{const e=globalThis.document.querySelector("section.dmt-document-index");if(e){const t=e.querySelector("a");t&&t.focus({focusVisible:!0})}}),0)),e.preventDefault();break}case"KeyE":o.treeState.source.swapFoldersAllOpen(),e.preventDefault();break;case"KeyH":s.swapHelpPanelVisible(),e.preventDefault();break;case"KeyI":globalThis.location.href=`${t}index.html`,e.preventDefault();break;case"KeyM":"string"==typeof r.modules&&(globalThis.location.href=`${t}${r.modules}`),e.preventDefault();break;case"KeyN":o.treeState.ensureCurrentPath({focus:!0}),e.preventDefault();break;case"KeyO":ur.openOnThisPage(),e.preventDefault();break;case"KeyS":s.mainSearchVisible.set(!0),e.preventDefault();break;case"KeyY":"string"==typeof r.hierarchy&&(globalThis.location.href=`${t}${r.hierarchy}`),e.preventDefault()}}))}(As),function(){const e=globalThis.document.querySelector("div.dmt-navigation-content"),t=globalThis.document.querySelector("details.tsd-page-navigation .tsd-accordion-details"),n=globalThis.document.querySelector("div.container.container-main"),r=globalThis.document.querySelector("div.col-content"),o=new Set([n,e,t,null]);e&&e.addEventListener("pointerenter",(t=>{t.preventDefault(),t.stopImmediatePropagation();const n=globalThis.document.querySelector(":focus-visible");globalThis.document.activeElement!==e&&o.has(n)&&globalThis.requestAnimationFrame((()=>e.focus({preventScroll:!0})))})),t&&t.addEventListener("pointerenter",(e=>{e.preventDefault(),e.stopImmediatePropagation();const n=globalThis.document.querySelector(":focus-visible");globalThis.document.activeElement!==t&&o.has(n)&&globalThis.requestAnimationFrame((()=>t.focus({preventScroll:!0})))})),r&&r.addEventListener("pointerenter",(e=>{e.preventDefault(),e.stopImmediatePropagation();const t=globalThis.document.querySelector(":focus-visible");globalThis.document.activeElement!==n&&o.has(t)&&globalThis.requestAnimationFrame((()=>n.focus({preventScroll:!0})))}))}(),ur.initialize(As),globalThis.requestAnimationFrame((()=>{const e=document.createElement("style");e.innerHTML="body { visibility: visible; }",document.head.appendChild(e);const t=document.querySelector("body main footer");t&&document.documentElement.style.setProperty("--dmt-footer-height",`${t.offsetHeight}px`)})); diff --git a/docs/v2.0.0/assets/dmt/dmt-search.cmp b/docs/v2.0.0/assets/dmt/dmt-search.cmp new file mode 100644 index 0000000000000000000000000000000000000000..664552ee142a5f59f5bdb1317fc92fb9ceac4b41 GIT binary patch literal 16585 zcmZ8|1yEf*6lN*zh2riMcemnDr1-=A;qq{Y;_mM5?ye8_;uLpx_vPQ+*`3{)o6N~c z@|`ayawoaDgxO zJnuL4H`3eo3F0!vdPMY?W1Cn{??`}IeFYU|Es4NtLV`&09@T?RpLsS80w9wMj$lM- zdM@XxxaH)6eSwkbtn39vS{)UVszJ;o2xsbU;GAz9`g^v(3790eeoKyN>8gv$ z4SZ>m)>)MAo1UB8aWb~dZzihWppw_-s+Y3_N2+rAhW<0Q;JWtX(at$YuRg0}sP196 z)jT?*wse(_DF2!2j&xY{OHf9s?dkt%1JvSlIx?~X{ z!IPYo0$cb{sGL1L>j2cjE{p{5t^?~%tt6Vt9Btle8{#`(=lX^^;blw_qq}ZMyl5P2 z+4oBxl|)Y|koO{YRCSztzzISD)x&#QAnIf%i>nqxq)qXij&;r$kAUyW$~s=tz#gyp z>a5sJni9E#^_KPg4{V&Fk%`2ug|!mlqN|K=!Eq!&9BQt`TERnWWG+LU18{;-VTD9X zBC~}z>C_taVNMu$x=0@3;qX0ji}NYo^4g&A7u20svW_(3;?Tvh|BKSc;JTVE6W-#= zMmOa1!E!d9@K45KC^w}eQP|t(rkuSFb-!=P35T1L$c`AUwzj}_)br|;g!V5D+g6F5 zMm~DB9zZ(42>kU(;wluLqJ5qwKIMVEOG3uj@{gz3ljLM_1n<%$Dv`9xRm~fvKL!JX z{c=B?4A83*Me4cnfP!}T>_X~#ZX|hs*EAC_yqYxi*6=tgRtj$6p}Xx3-xHH=-0)R} z+z&3h-X+AQ0G6S7{mZ|+Rr!W%f_6lx=RDSoGw9Y#>^Z``PC3I;k;v0Jixw6YkFDm< z%|me)tVPZP?DYgmFMhSRdRDHjH?R_ztXLm#i-#n&e^EYaZ(izhm3X&EIaI*T!+!TcjFmH^S z*gUQ>V*6}=*GW`LuzM&LnQUt1XxfL|W*`S{EJyC}6TGXM`}mfr^)<5MZ@v1FPph1% zUn7=`3x46Jk8d3>8KX$%k3X#b+h}fl=+W1sCt|JyN~;a4og$wZfRE+4NOE`op)>0F z{hDWJ!4DL2Th#yXEf_SlV97O(v`XCIhOkjTK(?0p(b+^}PAXb>$N75pep2;*e7UY} zT-)>!ru@6>!=fkRw0pbp-)T3i8{bQ{Y?rfqmqSYyAGM?ub#}b+pI9CqrNW7f4Dftv zyaTtU)?3Hj-nv>-|G;-200v;0uE%V|Ui=uDeS#40_ zuj;8{r>c)DEUC8+9o4aZ^AWBxYvbC?c~o!`1{~VAm7DA;=4k3c1H)bBpfaqOfcCs? zV#c{!bHl$Z_OI$@kJi318Sx^=$gyV*f{tg+|I`gQ{u?gNkWYWa5znlqJ90}i&+ZUO*Y@fu}&KZtiwz9hv=q7&{Zllm|E?j32?bjLb;blovOkuyXkbH{im9wkd`^L4O#OrDWe z8k`V zwLTU5AebQy-rR*Ty-X<$GIBV4zw{J;%= zWn&WGT9lS~w;X?osr>qC_5R2K3~nL@Zs)fwbFToU2h0o2G1PnFoTP4M*eLTI*SXQ) zs{lX5+k{1#qF%tzrDZ>^HL8m;Mum!~LQ9Ehw)IHi^<|`|y0SC53)uI4rgs8HE--|8 zK?S2?MkSUV?IwW$vjx@`a)d9Imy^e-%_5pAOFY63LyHyo= zN16`*;5N?iT1{gAwyvW|S2HPM{qUD2spd8NvBCIzD=WG=-kA!nUUBX>qF#i#(!YPa z^lYsy?I2rsC_q?E%H&aU0^UTwZHR4q<_*^CK|aCB2qXKt%U`aCiMp1I#^slTFMma zW?}EE#2FuwvzkABDS*j zHlJ{1qGdNo%Vo1%$5+B_C$jyN9ZiG1u(d*R`x(fkC~ZOBw3@OPLr>crBbtH4#Z5kgxr7MN$`8 zZ7Yr?Zx0N`Nir>E;LgIeLApm>aHk8OnLDB0KJ{&|sXvXRwyIyFH?^mDaqElG?XK0c zxl+W!hyoYW0+*&6<9(CV5-@m8Bn^s}#v2+6lC%q{srM~jSd%SN$*6YA@K0zAo$BV$ zZlLjP+n{Y44e~XpGhOp>eakr0ocxSin5-sP7~j)Me6cM<(Od8D7rAqDgk_v&LK`uB z%NkUuLy+Sxc_{{S2=I6a;;3y{PztHXH$nFK-E+jN>AXS_wWSvOO+hHFn$1CUK+vYB z7@06d*AP4}a&QR5zfe>(BlUSw!#`vuzqh2k69Tgp{`G^^Rb+??rS~o`tt_et$u~;s zG>t3DfZ@ODM^A8px}ZuMp`e z4CN%nKN*)~M6QQet{(w$1#NmcSjDZY8+P3mqH&TCuLbMl+yS{qzxyTOAun0ERD(_U z!RMZJp=XR=l$SFns%3++!SeV@m4o@`%NUInkJKl~$w8O-uHh-V@s(*xAv4$3xS`59uf0z`MAbp1* zgO$81EuJA`p01&tv5s;fxD&A|XuCTQ8`N$WOK~otJrcq`Crus2E|ya!C7PL|Q$RYH z6UJ@~l9IqPB=}UNL7IPLx){a&LD5{*h`hQiVQR7F*E_ZI6QCB~&&Bk^rrMfeXBHpV zG#ug|>K60>bJB~SVPxLgvSEU_Q&S3<+^q>`Pcf6hYl-Shm!v+aX*a zi)I`*vbh%hJ{Peni*IMI^S~50R)Wj%a8YCjDP%h%z=Hf_Gu&}K)5g-2Xw&+sczOuQI#UC$VzasUdr8QQ!rqLpQRmLtdBxdMLf zGE9NQI-PvY$Z(_=h>051^eUQ!W_sslWpu^)2Bwp1qToHROHk zwHM|XMF%D_i=yi6>M3J```QV|ExNiHcA3;n`}FK2pVF6hR>z4dw~V^bW7PwyKiBd8 zdrDwTh?2&a@4q*YW&%PccM?Jl%&CVE{|r=ak?9e0EhcL(f6F1Z&3 zzhUg)l&z271?WfxcD;W$QeBYVPM>s**+v_#?ScQ;oVc}<2Dy75a>^uAS^E`-5O`SL z>s%lkjDTT8yE?m}g`8vTwMEso`Q^fZM2d5N*4F3;Ean_v%C z+Z0uK$uI^H;jkKd^trcV3Ol}_{C1HvWSxoiK!RS zQ_}SCYu6|_m_}|%a*NcxgL)J;nN}k%9Y+{(r2Iv4XUSsj4D+sEf>1!-IkS_jvD8~m z4DjdY&RJqrYs+3@6>`h|>ks^9ex6@DS$nn$OjY-Qi`X}xv##5cP2B+s>RG3Q@teiu zEp@>S1ZFmjk;01^gr@1x)`@{1i`v@3$*+Q{`VkfP>-~stoR3P>-+gKph_X+1w>Ihp z)VB(jupX6);k)_M=tL1)VlrF|?(%uEDLRuJzg%!yu0oN-7trrM22qd&2ohuZl_te2 zMMi6380bt5*#!#`YB%p0mhaj1o;Z|u_NH|R0`T*W7M8*yGX`w~0mWx8LTOut}MUOWojwiz*|}D4!fZZt~%{;j7@_CqU4vkCo?6mZIPJT3JzmX4^l8 zc~Fx@p7&IdMxoo>lAPaoKaYZp3H;%ekZJuJOJR6wmzkpk(!6X53U~uQ zmjmXDFER8}q2L4+yMp*JSDuHSO8-XxU94>dObroXuoJ$X{EuODXuEZnWy}t>Q)^qo z9)Ae60k1AIwy1;nB87>6exUL+XsA#!agT=1kAb|FR&myNzhJS)>sio@`Pv1T*mf_}uJN+`oo zh|97)*@u#JT&v*cgk_`OG6eg&kO*REPeo#Dm2NdE-J=)8*$nOk>OM4Wi#ci9@zf&p z!q_W=iZRRU4C%Zj7lR+{S`6DT*-Gcb;x#N8Wz-uAotDzh{xwAlc5k#&l6EDHP(xj&Bh_Nt~Y5%u-UMbabvC8tE7&wrjLb8Y^JHn{`=Rn^#a^j z3xl6G=L%Ch1;l7Y=arezMHPc;%)7qG23wuM*r+yQP8s1`JyI}Qd#}i2s8s57SE4Rz zJ>buqFOq3EHQL0ME<`P&>vrIQ4s+IwDdz3nuHt^l)6B(<3Z=s_V8~k`Kag!Dn94Th zlp0=AA~TuEZt5^Z?8ZcS{lX|N2;CuA>4!EB$VO*u=}Bv<>gw@;_-B}P3O zJwTg&vkjVOyLa7lhDR@F5D(n`J8&hh(WYf)p@x6Si&w&GoF9Kku$;n}3tY~XXw*Lc z4W9p9ZHx3^OJbw{b$|sYncje-CD&!c*^5nm3&&5)qsC*_K}l+fa6BYwC@7~V zwhV+NIHgX839(vq(X-3F$Il>tCTvVK3zMkY>vG`r@rDo@Q@18jwSzhx@v1I$J9B)r z=Eq=4sk_@MqZEV3Q^^+hMo>PWIkx=GoA&SU8U)v^n%X%;qad(MSxl~jfOFsfV8mc& zmVJOGN+~17@j8y40)>vx;!@h8ord+r(~5KoEZ8(i>|8oTYPcCBi2C-(+lMHy5RMQ& zuxTC0{~ErkVmZb&3qd7*kEMAitvb2$0tawnXxn`Y!|H(i68Sn3MBMQgW`Yh;4MkO% zefi?*9gmRsYEg?d=G!&8{bc4m#V@Ucz?K38*$8+d)kXqcR7O-z4mJT6nAG{>JrJLa zrE+qjbBeH>+tkXiRL|p zR=srfYG(1#*hk9uL%98L(U@UPz>&Hry1zO3{)YvLd$BvK&S|iie zh~M?*$BU?p#o=0aE&H5&Q;Z&38!);fX*J_FJuJf&&lG)`NwrmaJTgA_xBhH&bl~cd(A>BrqpoPbN?{MTP z%~(;D#ZW0ys!s~TrGKs9WFyrN?!pz|CKD;CMT-?fjSeC4v=XDZA}1&7ClMqwBybfK zv7L$?;A1Pe#z@N>NvmxrLX;|>Q)+BL+3u}b`_<8~5Wr#SS<``=V_4LLWMIllgRRd=H#C{)$g+2I?-3%ZI#{+uw5ye z9fk{^wrrASEH?Y=QtWl4suYi(!p*_TA_4zbTZ#_urypwO3y_241t-wm0ts%9DpKko5xC0=G(6DO%NJ2(S^^lKK5M72ikZyQ5Gf~R| zq5zqL?$PNTj5d&L#Hi5I;pu;V3>%cd&m96(LmeWVS+WXu{O=*r7L5 zYS2*4KUS06T?SUxBHR%S1`yQ6)gXIN+{l|E&>F`P^d(@V&{ra&_PfH6BONzV?f$O1 z{1rw67o*u_8OoYKy1al=F9L3OX#89sqc=3wS#1>#p|#+k*LwR4$GNB0<4EhO_Us$_ zF3>hN{kwa!dIP1Yw+z;K$F>x^Kv+Zci<#G{BlIdS(jx%{yuZaG)0wN%>(GZxUUKvm zX9O{X{|S=4Vf9Jfrjt#bG?PS^ZQwCac#QI-0MncZ*sKu^q-C_EWbg=mg;n^zZhTl( z?$e#zNclPVV+LudXd38GhTV{rcbEZmyMSdJ3V(h~@h0A~WV8eZ?S`wHGgcq7&Y4(E z&dj_Ki*ssdnQH@UmzA{2Ct}*_w4L4w#chF|$mnK>YWN$jh{|di`y+ozwBPtvFDKNy zqYHjqTd6aQ`;pi|R)u2LuG2FX9&zSw2f$996yXP9Zo_B;o87K8^R45W>(m=xqv2Ku zwUs*>E6WZg3RG!CF#MveZy z>qiyr9j-04hw&fL_?E&>Qt^FiP3bg^9BU?}GGi0*ZHZe{t(NVobfM~FN+#(G`PyUK zsi)t4MQ;iUuLZ}bT<)9Q_o+M@r<9&xG=iUzTx%Vox580 z2ui0@d0Yev#vu6uZgCGytq)i16(H70V7ujEu(fw2nt?ZbV@a{2Yly66s$-jXHKoRj z$w}F~a8g${<(!vDCRPV#wOLh!2Ymq0l99O+bZ}R6*^v{WfNO?ja>rrtRAQ_?*uTwQ-l|R|D`6C*A#34JGF04?y~w zebRu<0Ua-N>V-dFD9ch{;56zM5|O5)!CBGnMmK1$`y+ZrRjIuDSW%+eXK3BD^*LfGyNR>Qe-3K zjpSfyy^eEf`^BymdOc7F9!s|ogW6-DK;!x!qZexp!Q_$Z!Or-)c#2bq{Wrc1eli8_Il3A{_;fd!7zH)v|Mi5xWqRnH6|%4Laz_LZtM(Rjr%rWmtCf9 zH87IiqY#6ub+$XOvn{c%Wm9ek`KEW?lhLM--s6~O!)c^k-+sH8xt9&fIYKH*H zOU)-e9Ons<&g~EwIj%SXU~a;nZ~8?Qd~D>lOt2cgOUb=7XRlGH3D_x2YLA}Df;rM# z3KEa#hS^zzKgH{&mc5*uX5|?{INjJRCn^pUw7ub_Ywi4v7|=6XUZSeHo>Y!-htj!O z;HD;9Jz=6*ojLSS`*YiH;A6h^_4^Mu`;2Cd^zUZcfQg+)g~S`pD{V8dL!7gqy0=k? z>VRzL6xyy?YsJd&EDBIs2>}K8pa{-Wv{@{l7~u%8_b@qh`_it0j7VxLAC>oV5)bnl zjKtC4f_=Ud)4K7(D*Bzc*aW6~7Q@RS&rKs^l^2(P5@q4CFje>t_-hJVvh}f%^)Ugv zWma4=Sdii^rva5)? zqf?7uU2XWMka$09;ZdSE`i9C#tk0|`I*rzQoe0b`&x+n&&SlefVveAW? zuGMZNs9An;SUJ79BNnjIPT4YzJuo>M?&p%=g1;lvaU2gI68BHe`JH+NtoCK9UbK50 zGrivj=%H`AZ|u9{V3VTS<|&kYM3z4haQ3!M@K5c`^!FY&O(Y@u*mC#C11$G%H|;;N ztUD%ZHv&k(*}sr$%I0NmST{zR1uKv5%8$p{Rof2Mnv0K#*OC37Y!&ABW;A*0Iwzi7 z?xIJ8U7jEKrt>7Qd^{&J%{~GaQNC2v^lyhvCsR_H zC}u&4X)G!Kk=9U={Hlm`58k@7?UhhhNuK9&0mJi}vq{P>`{z`|Z))h8z+iREwxX+V;2l4)jIVj9*pe`2OKMU?r&UEYrLxO!~)AY z+TP|<2N|t;M)gTyTFGBtE&bX51XfKKJSmVJ+7IJ z%gp zc=SD@Nm%q1i%EF&9U||*&=d69_RgDM>vpPlujduKcdy7*sBZ6V)pmSYk#g_(cDz^E z(Y7+bbg}8`f^x6bRjGHP{FS-4aIun_c<8t32dl(vVz|PL0VhUp=6(>d~o^DsOvu zc?WH#xeibQkjkKY2sk>V)zJY~xyI@NbpaX*s%`CI*dD5FZ4d3A58HsuEA9Uh*R~72 zG1p#n)?U^Ew}HBeJZmowZ4U=U;pK0iB@P@frkuho|112TIDy^%KSigDsS8GD57qro z;bc8Ko1y59Hq&sB=@6^_vmdUPZoDtjOgsG%_roSX9n#T}p|F1tUd5F=&Qvm@ZvbF9 z@MSzz%R!t)a5RuG8ppa3l#n!X(4=m4u**w21i!S2Zq3~y!8#YmfpQyi&pN~+&zbwlvMZ&kdiJ|R~lY3)UeB@ zdq!~US~_?@;m^d=13A6CXt18u-y7Ctiw{&2tmYd*% z+${!!7Pamyd(UVPgEzF4+3Pusr?Nqz2MR65RXDU6Plh^)bH+h0pSIsG#$Gi+f7%uz zl3*DX%#j2^qNFb2a;KGD))61h1;$lNN*()_9Sy`8LBzLia$wZwj-oACFWuQo|E@cE zFshBmYVl|K{4<@_-V|y6C_LdM><~=cu~_U&+%a{4B2>}>Mx{N!^bg~E&9T6K%@Lyg ztnh}bkLP{qJ)pBP$o`tM{r{BOgcM}@gefmF{fsTU1}#5*O6*x*ZTi^D^w9c$!Tzfi z+diO$QJ0nd3CVHoClN&aia-qOt+3UDN=xu49GQP`@X4r<_)!=Lf9bDR+H%6ejr@NY z>Fw>zy>5QmA1pn>^#;AFK^IUTnsbXF7hvblf&zXK{;#l8eV^LCc=>337bFDr-aB+Zxe}I@XkARB@f1p z>ee-2!q~CB4Btc<+9(OLa7Oky>|bnw^7Dxon%?|2v{4ab!3M{l*Ug$9BuU^CUZyt7 zrJdLPnjIuV;8U)LET|ZX_bBEg#EP7K7|`AVW$2T>!OcBz)m)xerP(V7ri@&Moo}*<`^K??#Gl_SlK!dXVE)uv>ceFHUF`W( z&h#K@{}*}Y+rVe+v|MT_-9)inM!nPez^wlbB?ZA_yssgYXhn2OVhZnUl;_;`xx=8? zzj}EKxDH=El#@xlLzbDf;e6yoqfqm_lZr!IJ{hP&ZTW~{3O^F7ihp|_QbD_YcOFn= zk~Z0-eWM&f(%yR{^yYXRy&@$hn6&3t60hd~g;Y`eX?N_S(q=u7F#YrmvD%V5Ubb)d zEpzn1J}Mc8i50Hi~w<$LQH%7m0uWG3Be@>X0hh_+Ee>R56d> z5f_fGgXb?y;k{y2G%=z48hu7nRWwI$dCXqz$xp%`IkbMasJZh@?fV+GKG%XYez(}3 zk$oOfOwX7jUV;^2ByW7GXazpWv}yCoC~C;QEBh!bo0?ywNgB zj?K9h=Vw8AJ431*A@2dSe%l-QVZ7(H(8)ht6{Tw-~Z71opu+8 znaoS21_GQ=NLvd|vPA4hGCYt*D8IeZKzHWw_t3Y_Z9Iey7ry(_`fd7@gpoWFmy-Q> zi}u3()P?5xEqth83ZM8CeG<$rCrcUEdlbJc-RV~OWK;bg8_Q3E9}=GgQOiENp}DN& zBrDe*KH!5-9BS)B_jADbe9jWU(8pn`uZDfaN5LnK&}WN3m=F;AUfzwcsv2QX=Pg~O zs<%krx@lddK5V_wcou#BYpu{HK0qYKLG^!!x8H%#M;|huwm#H8vwi;mY(3)ejFXSj zyydTM-^wcT^ZM#9tN4_Moi0oE6@uPU05DIDH8Fbdh#zHvf&Oc$_HmRgR(L@9KB(l0 z93<)Qy2}-sUQ>NT&-gJKk4u>}6ad$|{kbAzEWw41gz>(Cb6Fl~92FSicD6kVLlEu= zYWI0!?5n&8OmggN3Q8yI@mJXpT@6@Z3VJ82g@1fTFR+HR5Om%2Yirj!v2V-Tr6{8x zg>mIKy#Z7x7)p^tI6Bh%6F`sDqlDBQnck0f|36>GS zLXliR6H9jxrVdQ4869;#y_cV!a2ch6%}C~mqwqU*i~stje~{(P71 z@4DTP%_kRke3xx}%Aa3|lVjJoM^v>rqgkmv!p5Xt<3PF zce`E0T-Q zl4n4XG3JwQ8pGM)YQ)BW?FZH$*W^Qfe0IO_8wj_tPx@qw)gmyy84SD`g?HNY&t#XT zH9$Qrc=*ixLbaW!h{$}~!D<0FCtxQQ!BMwWUDf_0&GUvHZTAOQTYqmhDU$B=6`5JYNkk zUA_c~!O(xP$VH+ed5q@Hf3etRQZM<1?2|dKPRnj4jnH1vm>_O2tS+uoP`2@G;P3m& zCdBLxwms^3$E^gHB2dYBq9WZZdm7{G^<+Xe#Vl~>w0OjEndL>AS%=%iCvzpx=w3Oq z4K)59)`~cEn(gE`!t@fancM_^FIXr%s}U-7GUq!DK4}Au@hQW7$K^R{Y=4JYuWSvx zt`%awgC5vgzrI#Z*73HAWosA`@-RCq9V`}CSyi#l6Edh68{@0ClP(Yd@Jj7 zNbzQ$rL=eJ&gue3bM4XLA=wHKs8iQbYqNS5d3pd(7PTtKWW%sH|@TMs$(u@=K z6apgAOhOUNY(&IC4&UKJEVOhjohV%cWA%MUPaGvTi!_n=vmofH9B7Sv7 z^4n|zy$a?xK`(>~pLn!UKUW$@-P3Ws<~$(I|4W@$oGC4 zYPA^1qCGu%fHwZLIsuWn2-*_z&cI9N-}YGCrWRsfs4JoCY)(De8T;gd78#4UEq^pT zd6p`W8icp2mazXN5^V?%-GxSxOq#uY1f!5YPjN0#IuQ;I8;xAftRdKhI}9^v(4~<2 z4IvBvL$5;T2!Fa3r?62rJ?+^l%E}+g&AtAEOFNS-`Q#@qSw-B81@?a?y+1O zFC1vaY(W!6Q0n(~EDutD72=~$Y3M+h*?RXk$&n97H(j=hz78}(nTIFesYnT2eLdp$ z3CZ%|Zu6rAXC?SJrxPE?f|qtKry?*WL0p-b1-TuO+rPY%IW(Fs*+hytUVd4Utn!OC zj9@qM^u1LpiX^W%PZl2YIRb{KO-{Hw8jjWf-QDie)@%il%qRI2O+;h-s*fR}6*8_3 zj;*2*QW_rhAE_^j?f4<2)JaF-urFCQB@KPf|2nLPsO06#5qV4ZzB~~qCACeQg^5CL zF6o^DiEg|rc^vvp>iZV)0+RRcGQo}LzV9m>PCLO80rs}B2283p!}j5G2MY%7;=B{3 z&7!Vpa3qUsE_`Ih)nZESEYLDGe6V~7(W*Tk+DMOn7Az~OZxWQh;#*F;eIkKqa`?^K zm?}XUXJL%$Ln>eN^%waueYktXA*_wE_pEyEQrR0;^w?FZ^Eoi=c-=2-|47Vkfb<-# zzqDnU-&((IkLK7@LppqsO;jAlw-8)%Vr$jHOXw4Q)VsFoKY0e@EByRq5+i>DbvSJ^ z>;=PkHnG4|^JTg?Z~iN4M9*L>p1T~d0~vig^f)g!jxwmIb8R{-wvw?GVha8g+8RPmbw$;nfZkjH>5pOk_q1IhyVV2<6w|0UXN^}uuB-jJty{& zQcT$SjjX7N>lZ>&Y&8K-4gpUpD!L}bU4}6gvRR~bEED9ceJO)@VmGRI0oHcog&0$QCroT9sz-3++Z!eQ^0}~RrpbHi->epkuIaocGhCnQ zBe*M~C33VgKEi+ECljl!?|cz3Zt~w)ka#4R-ksW?A1ZMSJ5egnQ~VdOmT_6iG}z`8 zKUVYX5BM{5^<>8!DbAnRH~K_Rn*&B@VuIJhe}GcEhFKd!TrmlcA)agKGR50w>%^$z_bx!?+ zZer+7`bCYB#~7+BXN1HF5-KV|=fld?xd?DiE^1N>)9_2Z5>tBK-C(3JTsyEK*N`iM zOWUs8g7(vusFh;FzFt*2xEm*lzX#C);ONEtUVAxkRa1dJKzNe`&V81l6GHvb3QoGn zb4+~ov{aXMj14{HFl$TEI6rs#_Ay9S=Nipit8)lL=Q*twgGmY~;W|J)!@=C>Q@Jf_ z5Q--|H#Y{FDhv2RRns7fX^N>~keK_pq~UIdnRE(83T6~(O02H5Yvw>9qQRCan^st2jl>+o)I|8a z>8vQbpf~DWAoj!w4dC#6j5L- zV2o>sJMD#PM`O9E25nQmHx+W~yKG0u*-{YbwWA#Guo<%KbmP-%KgAP%vm;Y*#m(daY!o!%MxJQ746f}9{ztq!?-++mYh;n_@x zUSFRu=aOxoC$`0&m&yAoL%egtjVuLXGC~c`ov|B_FR`y;e7D&-gniZGVs&uz0Cc@~I{SH^Ih<(P1Cq1KttpEum}Yo_j^x(%^i zDrz4RD2|}B9&=(#mc1cKYx-iBc%J>wHUo5;_+B?`jHXN|M*}Vz0_wV}pN_7YwXzw@ zHcLx?bk`7P0la(4lK9FfOi-Mre%yTVJhh(NzpDK7;#OE5Gom#bHsl@ ztl85t^nvDo7ihQJTo(kEb|iWA%sfg#u8to5atXgfW&NSU%COSrgla!*CY|rEKN+9` z6fzwlugAFvp(#5Km&x2`KX$RsHwI#J|68)O($Pk5&?m`7CkLG}Z9q~14+7XRT0jukB(2yJ5>j9xk<+#wjeYQF&u z-G4#6fg>vN`1#d^ytZkFgt(&3qc@t35uk?VX`KZ=O=v_~Rv#ZMn}ajQB&~O!Qh_3+ z6dAy7NRSu62^wO@DgT#b>P+tLvP9dG8^2eDrOU*Pk;q zR)r&Cie?es!V3v2TG{wG(u$@N8#;bg1vQ1rFH_@BqQ~sV& zcYrdEyc(FCsCNL@QxQtHxVi2y)3RFgH`CvMI5>|X>%~mZX5?JyX|oVf1edaRS0j2> z54U1{`vRW0j`*Fsi6?MVZ{2j0B*#9!|9Qg|?!v$|Xa}{wEm}w#hF)m{$TlhwOmFud zdxor3_#_#$%p(F<`F7E4>2vOXy}umx2bDEDs8x8fbC;j!!nq!8^z){}gsew_y?*N> zZ99sAxjbLCMoCGFA|OJ{vx9*tqW>Qy$)@)zX-_}JGzq0rKTYU7f{EwCt^d^uW-ezS zTatnajDWNqlYm!0;xpRRAUS!Hu^0)1_Sa_mH{4QPml>vJ`>~OX81dDU`U;OdI~Q#; z!UkZylJNn;UFsVP*KI~_Rr~!%J({Bpb-p{FX($AdVY^_5prc6kj$SkDoBecT@KG%7 z%U-PG;orM0uPhQF+hBq6ZAI^l!FbW|SmSE~y^Wl`wv|91Yie6*!=3VTbCQ-{UYTo* z!?CK;%7~CYodUH<6K>K{T>HGn8~P)=B+$eN>(R0Z8`M{Qo7b^ocb8oh4kvzSvLR3wJ;sp2r;P(vGKiK}t@RD$P_;w7 zd+|DDwoPvY%z$zAkTFOXPQZ7La>gK6*{ovNC@W+M^kzT2oF5mLcc!Pb@prc^q*6ws zlOPJ}ym?px?RmRzQAlBY$DY#4%Bx&jMsZScPb47b$pJc|>m>9D=7PU(bb=-{yQ_7| z>aYYQ(BahjEh-i!j_f^3&}pYq=KRh+uG4s z3_xCf{J$QQX$s_Rudj;vg%vyy9bx9tQWRa11=~O!vUs(CxhHg{3?KGExqqwLid$O~ zS?xvd#O@M?ZL=3MUi3{AwItZY1nCk zi5?e1PV?EIdX9C{D$FaHsrJC-HYv*2Ioer->h4 ze7Q7e5Hp#OdfP>SF8ALi|vxL zyv!2yEVk8=R!P)b_2qnj9cJCr4?gVWji27N2#&0Si%x}4uMn~eHvzWEuyGG?)~fb{aK%b zx~qj%D{fx=z(ZjxqITibXCFiJV2C z;~S%O!dkg8{FV;zJr)^^wtLLe{?nTnJ{>m{ApM&Eic>*{;{t_?ftrh$L}8q3Tf06| z(zjw*oBcA5<}w!&+#B)$L9U2w^DmJYm%ol?NW9kY534JMrXQc|o+QFvAdL1X&Hj%; z8e7&)n_o|{q(6EMR|kJ^TFf*>aPFO-O8SHzf^A!a=qlmUg{H{P!Snw)M?)5>%ReX{}pTP>gu8Yhg zA)AoP0}Dmh#fmfBqZeUHB(o>Ej6fZa?^$&3Df%AC-cTW{hm+Z4z)uz94y1F4}K;@~lOP zj7N@bxaSZ)?|w-d@~m@-Q&kE6gGg>N-tAD^{(r=Fzay6_B&m*i3$_-DjMnRB4S&ii z>lXBuXI3=7xUXB{eaJRoxFp4np&Ker4u-w}`>UlwL_nb5u=rpv0gA*@r)BJaf$9CB k=MP`ox~;fc?I**6%^i|<%g}xwP%prqc%^_o+TVr#2NC%N4gdfE literal 0 HcmV?d00001 diff --git a/docs/v2.0.0/assets/dmt/dmt-theme.css b/docs/v2.0.0/assets/dmt/dmt-theme.css new file mode 100644 index 00000000..f5fe689e --- /dev/null +++ b/docs/v2.0.0/assets/dmt/dmt-theme.css @@ -0,0 +1 @@ +:root{--dmt-box-shadow-color:#00000080;--dmt-container-border-radius:0.5rem;--dmt-container-box-shadow:0 0 0.15rem var(--dmt-box-shadow-color);--dmt-container-box-shadow-floating:0 0 0.5rem var(--dmt-box-shadow-color);--dmt-container-max-height:calc(100vh - var(--dmt-header-height));--dmt-container-padding:1rem;--dmt-container-padding-member:0.5rem;--dmt-header-height:42px;--dmt-overlay-panel-background:#27292e;--dmt-menu-item-background-hover:var(--color-accent);--dmt-menu-item-background-selected:var(--color-accent);--dmt-nav-folder-contents-border-color:var(--color-active-menu-item);--dmt-page-menu-max-height:calc(100vh - var(--dmt-header-height) - var(--dmt-footer-height, 0px) - 1.5rem);--dmt-focus-visible-color:orange;--dmt-outline-focus-visible:3px solid var(--dmt-focus-visible-color);--tjs-folder-summary-chevron-border-radius:0.25rem;--tjs-default-outline-focus-visible:var(--dmt-outline-focus-visible)}:root[data-theme=dark]{--dmt-box-shadow-color:#0009;--dmt-container-background:#0000001a;--dmt-container-border:2px solid #0003;--dmt-container-floating-border:2px solid #0009;--dmt-container-separator-border:1px solid #000c;--dmt-overlay-panel-background:#27292e}:root[data-theme=light]{--dmt-box-shadow-color:#0000004d;--dmt-container-background:#0000000d;--dmt-container-border:2px solid #0000001a;--dmt-container-floating-border:2px solid #0000004d;--dmt-container-separator-border:1px solid #0006;--dmt-overlay-panel-background:#e6e8eb}@media (prefers-color-scheme:dark){:root{--dmt-box-shadow-color:#0009;--dmt-container-background:#0000001a;--dmt-container-border:2px solid #0003;--dmt-container-floating-border:2px solid #0009;--dmt-container-separator-border:1px solid #000c;--dmt-overlay-panel-background:#27292e}}@media (prefers-color-scheme:light){:root{--dmt-box-shadow-color:#0000004d;--dmt-container-background:#0000000d;--dmt-container-border:2px solid #0000001a;--dmt-container-floating-border:2px solid #0000004d;--dmt-container-separator-border:1px solid #0006;--dmt-overlay-panel-background:#e6e8eb}}#dmt-toolbar{container:dmt-toolbar/inline-size}.col-content{container:col-content/inline-size}.site-menu{container:site-menu/inline-size}body main{box-sizing:border-box;display:flex;flex-direction:column;height:100vh;overflow:hidden;width:100vw}body footer{flex-shrink:0;height:fit-content;width:100%}::-webkit-scrollbar{height:.75rem}.dmt-title-header-flex{align-items:center;display:flex;flex-wrap:nowrap}.dmt-title-header-flex h1{margin-right:auto}a.tsd-anchor-icon:focus-visible>svg{visibility:visible}summary.tsd-accordion-summary:focus-visible{outline:revert}.tsd-panel.tsd-member .tsd-anchor-link .tsd-anchor-icon{margin-right:auto}.site-menu:focus-visible,details.tsd-page-navigation .tsd-accordion-details:focus-visible,div.container.container-main{outline:2px solid #0000}header.tsd-page-toolbar{flex-shrink:0;height:var(--dmt-header-height);left:unset;position:unset;top:unset}.container{max-width:unset}.container.container-main{box-sizing:border-box;flex-grow:1;overflow-x:hidden;width:100%}.col-content{contain:layout style paint;display:flex;flex-direction:column;height:fit-content;margin-bottom:1rem;margin-top:.75rem;max-width:1300px;overflow:hidden}.col-content .tsd-panel,.col-content .tsd-panel-group{margin-bottom:0}.col-content details[open].tsd-hierarchy>.tsd-accordion-summary,.col-content details[open].tsd-index-content>.tsd-accordion-summary{border-bottom:var(--dmt-container-border);padding-bottom:var(--dmt-container-padding)}.col-content details.tsd-panel-group summary{background:linear-gradient(to right,var(--dmt-container-background),var(--color-background));border-bottom:var(--dmt-container-border);border-radius:var(--dmt-container-border-radius) 0 0 var(--dmt-container-border-radius);padding:.25rem}.site-menu{contain:layout style paint;margin-top:0;max-height:unset;padding-left:.1rem;top:0}.site-menu .tsd-accordion-summary{align-items:center;display:flex}.site-menu .tsd-nested-navigation{margin-left:2.5rem}.page-menu{contain:layout style paint;display:flex;flex-direction:column;gap:1rem;max-height:var(--dmt-page-menu-max-height);overflow:revert;padding:.75rem .5rem .5rem;position:sticky;top:0}@media (min-width:770px) and (max-width:1399px){.col-sidebar{max-height:unset;padding-top:0;top:0}}details.tsd-accordion{will-change:height}details.tsd-accordion[open]:not(details[data-closing=true])>summary svg{transform:rotate(0deg)}details.tsd-accordion:not([open])>summary svg{transform:rotate(-90deg)}.dmt-summary-svg{transition:transform .1s}.container-main{background:var(--color-background)}:focus-visible{outline:var(--dmt-outline-focus-visible)}details .tsd-accordion-summary:focus-visible{outline:none}details .tsd-accordion-summary:focus-visible svg{border-radius:.25rem;outline:var(--dmt-outline-focus-visible)}details .tsd-accordion-summary h3,details .tsd-accordion-summary h5{align-items:center;display:flex;gap:.25rem}nav.tsd-navigation{display:flex;flex-direction:column;gap:.75rem}nav.tsd-navigation>section:first-child{margin-top:.75rem}nav.tsd-navigation>section:first-child.source-index{margin-top:0}.tsd-navigation a,.tsd-navigation summary>span,.tsd-page-navigation a{padding:.25rem}a{border-radius:.25rem}@container dmt-toolbar (min-width: 0){.title{font-size:clamp(.75rem,2.5cqi,1rem)}}@container col-content (min-width: 0){.tsd-page-title h1{font-size:clamp(1rem,3.5cqi,2rem)}.tsd-kind-icon~span,h5{font-size:clamp(.8rem,2.5cqi,1rem)}}@container site-menu (min-width: 0){.tsd-navigation span{font-size:clamp(.8rem,5cqi,1rem)}}.tsd-page-toolbar{box-shadow:var(--dmt-header-box-shadow)}.tsd-page-toolbar .tsd-toolbar-contents{padding:0 .25rem 0 1rem}.tsd-page-toolbar .tsd-toolbar-icon{padding:12px}.tsd-page-toolbar .tsd-toolbar-icon.menu{height:30px;margin:6px;padding:6px;width:28px}#dmt-toolbar{align-items:center;display:flex}#dmt-toolbar a.title{height:32px;line-height:32px;padding-right:.5rem}.container{margin:0 auto;padding:0 1rem}.container .tsd-signature{border-radius:.5rem}.container .tsd-signatures .tsd-signature{border-radius:0}.container .tsd-panel-group.tsd-index-group details,.container .tsd-panel-group.tsd-index-group details .tsd-accordion-summary .tsd-index-heading{margin:0}.container .tsd-panel-group.tsd-index-group details .tsd-accordion-details .tsd-index-heading{margin:0 0 15px}.container .tsd-panel-group.tsd-index-group details .tsd-accordion-details section:not(:last-child){margin-bottom:15px}.container .tsd-panel-group.tsd-index-group .tsd-index-list{overflow:auto}.container .tsd-panel-group.tsd-index-group .tsd-index-list.col1-grid{grid-template-columns:repeat(1,1fr)}.container .tsd-panel-group.tsd-hierarchy .tsd-accordion-summary a,.container .tsd-panel-group.tsd-index-group .tsd-accordion-summary a{width:unset}.container .tsd-panel-group.tsd-hierarchy details,.container .tsd-panel-group.tsd-index-group details{background:var(--dmt-container-background);border:var(--dmt-container-border);border-radius:var(--dmt-container-border-radius);box-shadow:var(--dmt-container-box-shadow);padding:var(--dmt-container-padding)}.container .tsd-panel-group.tsd-hierarchy .tsd-accordion-details{padding-top:.75rem}.container .tsd-panel-group.tsd-hierarchy .tsd-accordion-details ul.tsd-hierarchy{padding-left:1.25rem}.container section.tsd-index-section .tsd-index-list{padding:var(--dmt-container-padding)}.container section.tsd-index-section .tsd-index-list,.container section.tsd-panel.tsd-member{background:var(--dmt-container-background);border:var(--dmt-container-border);border-radius:var(--dmt-container-border-radius);box-shadow:var(--dmt-container-box-shadow)}.container section.tsd-panel.tsd-member{margin-bottom:2rem;padding:var(--dmt-container-padding-member)}.container .tsd-returns-title p,.container li.tsd-description,.container ul.tsd-signatures{margin-bottom:0}.container ul.tsd-parameter-list{background:var(--dmt-container-background);border:var(--dmt-container-border);border-radius:var(--dmt-container-border-radius);box-shadow:var(--dmt-container-box-shadow);padding:var(--dmt-container-padding-member);padding-left:1.5rem}.container ul.tsd-parameter-list h5:first-child,.container ul.tsd-parameter-list h5:last-child{margin-top:0}.container ul.tsd-parameter-list ul.tsd-parameters{background:unset;border:unset;border-radius:unset;box-shadow:unset}.container ul.tsd-parameters{background:var(--dmt-container-background);border:var(--dmt-container-border);border-radius:var(--dmt-container-border-radius);box-shadow:var(--dmt-container-box-shadow);display:flex;flex-direction:column;gap:1rem;margin-bottom:0;padding:var(--dmt-container-padding-member);padding-left:1.5rem}.container ul.tsd-parameters h5:first-child{margin-top:0}.container ul.tsd-parameters h5:last-child{margin-bottom:0}.container ul.tsd-parameters.no-children{background:unset;border:unset;border-radius:unset;box-shadow:unset;margin:0;padding:0}.container .tsd-breadcrumb li:last-child:after{content:""}@media (min-width:2190px){.page-menu{max-width:350px}.container-main{grid-template-columns:minmax(0,520px) minmax(0,1300px) 1fr;padding-left:calc(50% - 1095px)}}@media (width < 1200px){.tsd-accordion.tsd-page-navigation{display:none}.page-menu{margin-bottom:.75rem;padding-right:1rem;position:static}.site-menu{max-height:unset}}@media (max-width:769px){.from-has-menu .col-sidebar{display:flex;flex-direction:column}.from-has-menu .col-sidebar,.has-menu .col-sidebar{gap:.5rem;padding:0 0 0 1rem}}.page-menu .tsd-navigation.settings{background:var(--dmt-container-background);border:var(--dmt-container-border);border-radius:var(--dmt-container-border-radius);box-shadow:var(--dmt-container-box-shadow-floating);margin:0;padding:var(--dmt-container-padding)}.page-menu .tsd-navigation.settings .tsd-accordion-summary{width:inherit}.page-menu .tsd-navigation.settings .tsd-filter-visibility h4{padding-top:.25rem}.page-menu .tsd-navigation.settings input[type=checkbox]:focus-visible+svg{outline:var(--dmt-outline-focus-visible)}.page-menu details.tsd-accordion.tsd-page-navigation{background:var(--dmt-container-background);border:var(--dmt-container-border);border-radius:var(--dmt-container-border-radius);box-shadow:var(--dmt-container-box-shadow-floating);overflow:hidden;padding:var(--dmt-container-padding)}.page-menu details.tsd-accordion.tsd-page-navigation .tsd-accordion-details{height:calc(100% - var(--dmt-header-height));overflow:auto}.page-menu details.tsd-accordion.tsd-page-navigation .tsd-accordion-details ul{padding:.25rem 0 .25rem .5rem}.page-menu details[open].tsd-accordion.tsd-page-navigation{padding:var(--dmt-container-padding) 0 var(--dmt-container-padding) var(--dmt-container-padding)}.page-menu details[open].tsd-accordion.tsd-page-navigation>.tsd-accordion-summary{width:calc(100% - 1rem)}.page-menu details[open].tsd-accordion.tsd-page-navigation .tsd-accordion-details{padding-top:.75rem}.page-menu .tsd-navigation.settings details[open]>.tsd-accordion-summary,.page-menu details[open].tsd-page-navigation>.tsd-accordion-summary{border-bottom:var(--dmt-container-border);padding-bottom:var(--dmt-container-padding)}.page-menu .tsd-page-navigation details.tsd-page-navigation-section{margin:0 var(--dmt-container-padding) 0 0}.page-menu .tsd-page-navigation details.tsd-page-navigation-section:not(:last-child){margin-bottom:.25rem}.page-menu .tsd-page-navigation details.tsd-page-navigation-section summary{align-items:center;background:linear-gradient(to right,var(--dmt-container-background),#0000);border-bottom:var(--dmt-container-border);border-radius:var(--dmt-container-border-radius) 0 0 var(--dmt-container-border-radius);display:flex;gap:.25rem} \ No newline at end of file diff --git a/docs/v2.0.0/assets/dmt/icons/service/discord.png b/docs/v2.0.0/assets/dmt/icons/service/discord.png new file mode 100644 index 0000000000000000000000000000000000000000..74ceb184ac23989d68ca248b025c240df2b3fea1 GIT binary patch literal 6041 zcmeHKcTiK?w+;zK5J8lpC=x>v)Kn56xgY|eDS=Q_5JgUs6O52T5=a1*0HRbIBG(3j zs3;;u^eQ04f`C#)uYwJO6%_%mAR?&m1k2TVznM4Ayx)Ij=H#5S*0;XB*0{?I)Tx)x7ThrTy0qB@6+tvjx>i;8W0%%ihTt`Azzq9=v)1y^=r^ERr-kXSERfq9s|6$Nn`7&|k*ITPhB zJnI*2225|7vUkIRXDiRVHF`Iv%qr&Mq#Kd5s;VD!R|D}LE~Y>~+}MxGh0XLxB2LPj zaky|hb;r@>?c05mQpWGyba@YV@eRIqmZ9MRgQ;xdxVqB4TwTAF1QoJ>!wyH!ON(bW ztO+)L^*Xoh`)axv5B2?jP0vUCtdTL_lSY1pRXROM|E>nBV0w$OUAj3;5+oRqiJU8$NlQIi-LP<8-h!32an~Ar(8%n zv$KcN>StcQ$=rYH+(TQnj+ak8yv(eDy7%4VIiK_z^HI6pC$(mf4e7~R&2N%FUl`!E zKKi?8pMECdJod~-yt-;k;_^#p>bG%gqT%oJ6Bm>|E+Zx0@x3w21T9q6<|2$bO=#T+ zj6~KmZ#BW(28XTnRV8>n|O(dq`&@px5&p-wlMnidc^G6@W&QcLr0{NH4^^k zJkH1nqVBb@VeF9aL8$d&I8ciP(Yz^4J{JS9_zVyu z)C4aDdRCgTDC7i09N~xxqS2AAd?AP=Vu%!1R9)rVjx!4~gL}IrXh~#TR|1m-o2(47C zKPciy3z?u>49F9k{Yb%LevcPK3nM4WVKK2_B*=xJB4||nPeXcm(dgeJloEt6s|!$3&p;@4P>uztuhghEOybh013}E7S9$I-->0Q&@Z^heerq zWP$+R)(*5qG2qx@MH56AN2#EQ@Kt4ax5v5E4sf_&Yra=pe1&9GE zAO;~)9KnWyCs1(YKs=E`B2e&nG|rxa`vK2qaoDl{7h1V|kPcra-IF7N#*dvaeOXfh zVAPklFRziDiN%COPAm%w!2D8z2#5h$6L~^hUtG+!052Sb_K&X(`_0bz56wWf16XVp z)JjaEJ=6?1A{%YbCg9LS5+1~{8AKuxWdF=A;g71HYKR9XLw zm#hVq^8iVP#uLy#NQT0GEf%ZXF}_vnfc;;3I7|S3*kYi#FE(iFf_6ge_pR`&Udm19 zzxeq&5C6pxAnMre2PA=x zN>3!4yP;#2I%BB^6-I*n0TV@)AK3_5GzFf)A{dNxQ+cUq&vlhRMh&qS%}wLEwx%I* z^3p}OPe2xDFRF8(^zQ5Z@tMmSOd6d;h8=Ed1}qh4H(UC;%(H=mDbvj6FG`ClJ+kax zI>n#1)Zv7s`Y75m9rwnWs#}=W?i5I@yT1AF8v1-I?%jwMb5Iu0_w0lP$3SRhQkf)pvkSwK8V_dV=57{g4n;#s4S3m z%2s6c>Q-K_*%l5O%iP0^aYwf3##jj)1zW-ooP3ewElW;(`yg6k)nTlN4ddh+FK^pd z`naT|R25@HG2SQfrM$WqvrT8#-CFf4NSVO4S0lu_Q7jcLcK`F#&OD zdR?QjB1(Zbi{q9}f2p4bZ-KR0cib>lKLhiCdBCIF_O45;Q@h(2bD4**g-0YBDqxE0 zY2Bc1`Rt$~{rX_sywUw7{y|SFt-{ReH95SpcWC||#qDOhU95rv>KMY*ue6AD8EOEho2b-?cMa`*s z`l>H+VGe`Dsqwo<;5a|)&Bh(snZ4OLg*ty`wi-9X1M2ZmlA#(tZ>`MLc>(Fq#y4%M zjUL#R=uuIy+5fuws&J~)s@}vS&pe+pc&h#8v9iiPP7n*{t)~^gUC13i7#Mz^Lw&fa zCAol_B@eJTnNWr=%+PB^Gk!mc~V5z0d zzeVGd!tbGRB)g}Rov`yc89b@?V0Ss~)YuJ3 z$pKBXvOX8}m?cfy;(cLtXu7TOz8eShHze+{zT0{+fyD@tm0lUlxJil!^^$*2;Jg~5bL~lSA>p(#Z_=S#x>^Mx2b&@rNCZ|zWg0^`Ni}?!!Xr544XkM z+xDslr5oBWQuf;TwKT^+41UxRln>tad0o0e_OWSBa(N1HK1EM{dT7zQJRN1Ke&}N_b7YNy@L{Y`Y_7gWP?NsVT zTXVq!8K+&+bktlTU&cG>R_;cunA!1aSstQCOMw|TU;bL2_qgJEYG_Wv&2xP|f=+z@ zOJAWW*vBe`e^RMct1Zo&so)H<_)9yg_JcFP)AKcwiKYVvabz4Q5s3>%^sYYbq zvtyGd8!S~Jwyr)QJSQzbb-zbGHIhcJuQhp)D-UmjhscJPR1|C(KZZzrUhXkREl(V0 z`2Mus$NVXM>;+V_+5r_bIPLG>NA{Y)*OUKprf zhb^%SXng8EH2rDSab1gQ)qNQ&d&A$xD>f=p#&Jv7o1UFl_{nqRzISRC4UHn{M$rrB zUCsRa=$)E4rpY@&nMY=??$Q_cLRQ5s7ZpAFGfm#mwW^upK6FHQ|8h;iXVhSL*fIaw gI}a)sXnxYjzdo(+=(`Rs^!p0)a`T~{bO}rPAK8X=#{d8T literal 0 HcmV?d00001 diff --git a/docs/v2.0.0/assets/dmt/icons/service/github.png b/docs/v2.0.0/assets/dmt/icons/service/github.png new file mode 100644 index 0000000000000000000000000000000000000000..7c8a23eea0a60b8a5beb99cc345e6c1d69905b9c GIT binary patch literal 6395 zcmeHKc{G&$+aF^WWl6Tw7>Z=fVrH0WCS)5lwk!#8&&FVuW`?1jYD7v(CDDVl6Qxv^ zN|+u+DN>S9vQ*l{qq2m0Z`#lMJLf%}^Zx#8=G@!$y{^yqx<1!(?mNZH!$nO+Uj+hz zsJT)ceZZ?dc-Sc^fM=&u`rY8AZoThnkq;n-@dZ2~U}a(O*)X zZg?Gha}<7gzxlkYE7(g*Uxf)?>R{OvpWylOZCer-rur%BgohXg%i9mhUTeMXde_Nq zGSnwRqwnfE+pfnO9#zREvGy0TJXO7LwEX}6jPFIATm6c5DK)U&E2SXCct??U^&Vkh&z0+e#Sa1}@+P-l-BO<3Lu~XmDM>Q% zQ8zl4rczX*e!|cAx?}c8--1sX^@reDE6=Ft66Sd&s@(iH@$=O|Ze#EL<2iG8%2pxE zr_c&=u?haQS@Yl%WQ#j#^C@Z~Bnl7PV?`Zzj&g#e$(@CcEJPedZcVzH&z z%91AtN1_P?0uqHmVlW6$10js(ihwu-S7f7#N-mFo4~Vw!?*HitiB1(N-Xrijh@ zLDnz6O|Q&^^RpwM`FGr3w78*F5|; zw}8R^Z1P+D{-Ns+UBAV^Zz=z&u0M4B76ZSf{HMD9-{?~L@iE2Zf^R@#@KZ_duP1Wg zXO;rZ-Ng}tgDisx*OlaN0wv0PN}vz|u@0F&Wb`D?;0;7k{nHuhp>pjHavkq zl#aVP+WW?JwC2P|&uufTx2@6Bf~nt-SHUVG)Q>D^&iD4sC}L;tx$mW&q)tsuqA1<+ zaA@sD!)9CY(8&_9+KP;I)VB+KS(nB`do&d`siO8_Nf!+0%caGzXkvO zBIB!mpZX=&dz!?3y~dC{=#`yb5)g4?>W#^|iu> zeQ?V+o28-u{JT3jCD7i$C_Bfc>qAv|`2*X{_M*UaPx!1k&_4Lsvu#!l@y23NZseC{P4cXYr%HBFb(hL0OL^~XE;iI?#Lc;Qe%Hh{cy zkm_vjrfu@B{8oLL@kK+&l$H(CoC)$F%~$SsaKmF-e8ad0X7l8`6l2*r4qN6|_F@a} zrw12@`4^oD2$SEq=83&F0G#x;(z~@;TV0pl4|i>gueWz} zj%>WPJ#ySWYGGDfi+)1KdAHBXOG^yynct1f4;WbFk!(2t8{)pmT;ka}LfLTB441S~ zqn~_ti?;O8yY$1jS+m+xNH&Hiys2A-Ho@z5HHT(PTugp8DmPL)^Cji*1&Bbf}QBAVpUBQ?6cnbMZp! zxrTFKR!gTA_)FJ@9Zndc>pdgsR>)oT+oZP#txizFJUkCghRUkSd8T^l)mylhOqKU$ z&C`Xf-|h!1<*3~`QT492=_0IHvmn8AS6pHcqT4;0PBwT~I$qH@yw_|jTVB;lJ!0G36p1p7xqMT(=I>6O?%iT>UC+3An>A9{EX38Id*j2Ijq02GUBlJykt5u!lGacq#@+niU z))H#I#YflNfyU~qJofW{8LCy^n&tO#gyFqYSe$Ip2*0;ACB-E@?gHI$>CDUg^GVkPlc&AHl+k0ppP&&#edsE?$ zq_A#=L}t_6nwL)W*;v$&o@J$Pa0=g%6>vPgU1&6vOiP26{Nq<$8P{{7MJZrhtCUp* zj2)V#&B5mdDFM5}JT-(b6nqz!oxgLjVPPCvClvJbnfYezlC<8nci+r=ipVz52pHFv z9wqJagw)KbeXa4-lJf3>{*90gwt3!7c^<)&F`6j(F=f{Ep3DQ_2)Or-Vs`4iB1P(P z*fX{6!>-toJU{I@xJJJycl`)`+56Bo?H7|4LoVI%oOg=KjDqqHh1n_vHz!ZGbp*PP zW=O6+?IL9)Z{AS0@0M2P!`h;%YxWnrBfCP?NEt2>2g{e7D&)`JnjEqH!Ic%Ir!KZg zmuut~R6R;e+a5mk+^cmPG(c3cV#?xJu3qD=&TtRs<0@k&yPM}M3X6(wSg5*ZB$xcO z%gWkOx5Tuhv2IffBUA6$8|d0sa?rFu8ZwIAW9!u6zDdpk2_sRW9#l5ekaC~q*ikdC zHEC8x{+(r(Z(fEe#Tll&ibSqE3{yUWKP?wK_eJ+S=~O8qR^{QNy2H!P%zocQW94`^ z)!S`U)GP_ zFA}0Tu5#T!!7xttq_!%+cO^~CQLY3SE^t1bW~7|^;>4Txg?RYI@h}? zXngtHzcP#-?vB_JlrY#oPHOb~RJ5}pewGCEQ0cpKQO5(pt9r2d`ygK6c-DD?wyRzkvN0fP?NZNivBhfLPRyhS z$BH;WD6S6Lo-vkDFlkWwTwd^@GV@0IhKNh@4-M<|@RttBt7!tl4k2ErQYB#A7P4to z(u>*dZ|+4R&(#zs?_Cgig4}O+si-nQ>$D>G&M|7O8UI{P+3hY3h^p&kFY^m_b_*=IM*(eK+t=~bn z+~fQF5Sp1_;=0cf3NIJri1^EfASm+ympy6&Z$2&R{?I&eMTN8k9&~T*aI{Nd%V(LW YGtx6`f+Plfg@L#_c{rX~5w_)j0G^rpt^fc4 literal 0 HcmV?d00001 diff --git a/docs/v2.0.0/assets/dmt/icons/service/npm.png b/docs/v2.0.0/assets/dmt/icons/service/npm.png new file mode 100644 index 0000000000000000000000000000000000000000..5b031f3106a6683359cc5484786cc5d19641f66f GIT binary patch literal 4545 zcmeHKdsGzH8DAhEZqPz&)cPC;JSOPuJoY(L7El&t#f1gIf+r}mGk0JLJG1T#?4nJM zE9MvsK0=yDts+NE(k3U?c$7Sh4`QgMsjByACQa1@t-Uh~2&Xxxhtv8W zvu9r4{e8dteZTL!_v|!z3l@ztPB9t`hH>sZS24Vo!81EC0bW~^_r48pU8_sV)M7S- z1cI_4)&fLr2ml0xMZsVQf9m%ZjX#DY-o7;9C$X{VGmh`6*f;fyn>n2?R9ydI%%4*W zV>X}ai{BEnIJV{GXO~^#9=%%Z zU$e&6(loxHdEzg-vX1r=0efT~YOh&xn)um{TT|Yh__bVk|F!sQYs+W3lODNjFvP4E zb8@`yoScD#U>e&WdD5A8EPGnl%B9bzKd_-bdDRK;jxTnhZ$6zqv2%eqcmL(e;OCPp zVqWpX)8ao_*EsWu(lL{&DyBaiKmS_XJ0Ews|CGD<*2?1Ql-|x&Sr;#?Ie#c_z3}vJ zgu*1R^}W0~JwDTs^n?{DuB-)#l?A>RTK_Ol=%x?G4m+WIpNm zoq7zth_s&FufE^+4!i7`2|Y^B*hW*{trK-;|6+fC_J;V@AKUhQ-q1t5T6Wp@#uMdd zy-hDRrEYww=fom_qE=7taDvQOE+_}C~fchwBqDh?VF7+?M;5ZG_}jM z?RxKwf2ADXi9Wkzk8v_R(c5Tz_p8P`omZukJs<7<)r97_LwLt+GU2}Z$g*P{N4EG6 z*2Ui38JYV^?{BS( zUW!Dluf29XvtZ`hd36VV9ye`TZ13#fuecEotqjR`TE!bT;tqcq?CNVTY%>_fmx{2# z$~;RLPWGEvUiJY~*dKtMXE0=Bg##>C160HZszk|&UOjjOMMU0-{?zIrJb@fgE#|Eb zf~BhqO1RZE9L=LynZ}GT0}1>4Jsv2N$JQNC1C7 z7Kh!6u{MFmd=y1kIRTJ1iqNTej#(%N{VXh}=x3_{9+0Z^0ZnjbzSr$UDN_`xTfDWb zDnJLg21JRML&{xniRcGQRaVoJv=bC*wGp)0W_Qpw>Mm#*2r94_HCB=^nJxN=Ru~4R z1EpoPPK5-z9cIJi1Ocnc!4g@nb)s4bh~_ys?12l4XI0k4ssNG_l$jwZhM-GGGebBS z(u~0?F$6F3qR{Z)(Ax4rGNMJ#6BRgrgKmnhsik05^ey^YE9#30LG)$8uv|0+g{=p? z9w+3A4sq42R0ZJv(ciEGcJX_ffi#np%}3cW-t6Eoi;adABn1j1Sel@04wCmd9K+ca zSx`f45X`TFIzp{rgX&r#5B8Vpq2c&YHPGq+CBsO_3nil%%FbA66us5BGmhufHP((#ycL4RN5D8TfycI|>-GgF;!NHn=mx zjUFG|>HGE4_SAcL^tahPoB>jgPBJ2WN97uoYeWi+2t3+dqjHT%ff0d6yX*fZm+|hm zB9P!8yb$~njBLr4;8$dVFMpBCa7X*K9eVL8Xc-&GD_0DL`+uaJF@|m1Cqv^H)$Pe0 zb17-;1Bv54{M-I4Xli!5=9h#&{qhWHT#Fd8i#D0gosZcSX9=BOJ~gDfG z?meoX|JZr-z+0Cd{qE&?`%)J`@awZ*{cHZ*e-_k?InuV__05Tq_=S}kb=$Z(?bl}K UH=X(TIqlV*Tj1KWpmN>60Rx^=(f|Me literal 0 HcmV?d00001 diff --git a/docs/v2.0.0/assets/highlight.css b/docs/v2.0.0/assets/highlight.css new file mode 100644 index 00000000..ab73fb22 --- /dev/null +++ b/docs/v2.0.0/assets/highlight.css @@ -0,0 +1,106 @@ +:root { + --light-hl-0: #795E26; + --dark-hl-0: #DCDCAA; + --light-hl-1: #000000; + --dark-hl-1: #D4D4D4; + --light-hl-2: #A31515; + --dark-hl-2: #CE9178; + --light-hl-3: #008000; + --dark-hl-3: #6A9955; + --light-hl-4: #AF00DB; + --dark-hl-4: #C586C0; + --light-hl-5: #001080; + --dark-hl-5: #9CDCFE; + --light-hl-6: #0000FF; + --dark-hl-6: #569CD6; + --light-hl-7: #0070C1; + --dark-hl-7: #4FC1FF; + --light-hl-8: #000000FF; + --dark-hl-8: #D4D4D4; + --light-hl-9: #098658; + --dark-hl-9: #B5CEA8; + --light-hl-10: #0451A5; + --dark-hl-10: #9CDCFE; + --light-hl-11: #267F99; + --dark-hl-11: #4EC9B0; + --light-code-background: #FFFFFF; + --dark-code-background: #1E1E1E; +} + +@media (prefers-color-scheme: light) { :root { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --hl-11: var(--light-hl-11); + --code-background: var(--light-code-background); +} } + +@media (prefers-color-scheme: dark) { :root { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --hl-11: var(--dark-hl-11); + --code-background: var(--dark-code-background); +} } + +:root[data-theme='light'] { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --hl-11: var(--light-hl-11); + --code-background: var(--light-code-background); +} + +:root[data-theme='dark'] { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --hl-11: var(--dark-hl-11); + --code-background: var(--dark-code-background); +} + +.hl-0 { color: var(--hl-0); } +.hl-1 { color: var(--hl-1); } +.hl-2 { color: var(--hl-2); } +.hl-3 { color: var(--hl-3); } +.hl-4 { color: var(--hl-4); } +.hl-5 { color: var(--hl-5); } +.hl-6 { color: var(--hl-6); } +.hl-7 { color: var(--hl-7); } +.hl-8 { color: var(--hl-8); } +.hl-9 { color: var(--hl-9); } +.hl-10 { color: var(--hl-10); } +.hl-11 { color: var(--hl-11); } +pre, code { background: var(--code-background); } diff --git a/docs/v2.0.0/assets/icons.js b/docs/v2.0.0/assets/icons.js new file mode 100644 index 00000000..3dfbd322 --- /dev/null +++ b/docs/v2.0.0/assets/icons.js @@ -0,0 +1,18 @@ +(function() { + addIcons(); + function addIcons() { + if (document.readyState === "loading") return document.addEventListener("DOMContentLoaded", addIcons); + const svg = document.body.appendChild(document.createElementNS("http://www.w3.org/2000/svg", "svg")); + svg.innerHTML = `MMNEPVFCICPMFPCPTTAAATR`; + svg.style.display = "none"; + if (location.protocol === "file:") updateUseElements(); + } + + function updateUseElements() { + document.querySelectorAll("use").forEach(el => { + if (el.getAttribute("href").includes("#icon-")) { + el.setAttribute("href", el.getAttribute("href").replace(/.*#/, "#")); + } + }); + } +})() \ No newline at end of file diff --git a/docs/v2.0.0/assets/icons.svg b/docs/v2.0.0/assets/icons.svg new file mode 100644 index 00000000..a19417dc --- /dev/null +++ b/docs/v2.0.0/assets/icons.svg @@ -0,0 +1 @@ +MMNEPVFCICPMFPCPTTAAATR \ No newline at end of file diff --git a/docs/v2.0.0/assets/main.js b/docs/v2.0.0/assets/main.js new file mode 100644 index 00000000..58c5cbb5 --- /dev/null +++ b/docs/v2.0.0/assets/main.js @@ -0,0 +1,60 @@ +"use strict"; +window.translations={"copy":"Copy","copied":"Copied!","normally_hidden":"This member is normally hidden due to your filter settings."}; +"use strict";(()=>{var Pe=Object.create;var ie=Object.defineProperty;var Oe=Object.getOwnPropertyDescriptor;var _e=Object.getOwnPropertyNames;var Re=Object.getPrototypeOf,Me=Object.prototype.hasOwnProperty;var Fe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var De=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of _e(e))!Me.call(t,i)&&i!==n&&ie(t,i,{get:()=>e[i],enumerable:!(r=Oe(e,i))||r.enumerable});return t};var Ae=(t,e,n)=>(n=t!=null?Pe(Re(t)):{},De(e||!t||!t.__esModule?ie(n,"default",{value:t,enumerable:!0}):n,t));var ue=Fe((ae,le)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var d=t.utils.clone(n)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(n+=r[u+1]*i[d+1],u+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),m=s.str.charAt(1),p;m in s.node.edges?p=s.node.edges[m]:(p=new t.TokenSet,s.node.edges[m]=p),s.str.length==1&&(p.final=!0),i.push({node:p,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof ae=="object"?le.exports=n():e.lunr=n()}(this,function(){return t})})()});var se=[];function G(t,e){se.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible()),document.body.style.display||(this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}createComponents(e){se.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}showPage(){document.body.style.display&&(document.body.style.removeProperty("display"),this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}scrollToHash(){if(location.hash){let e=document.getElementById(location.hash.substring(1));if(!e)return;e.scrollIntoView({behavior:"instant",block:"start"})}}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e&&!Ve(e)){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r,document.querySelector(".col-sidebar").scrollTop=r}}updateIndexVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(!n)return;let r=n.offsetParent==null,i=n;for(;i!==document.body;)i instanceof HTMLDetailsElement&&(i.open=!0),i=i.parentElement;if(n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let s=document.createElement("p");s.classList.add("warning"),s.textContent=window.translations.normally_hidden,n.prepend(s)}r&&e.scrollIntoView()}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent=window.translations.copied,e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent=window.translations.copy},100)},1e3)})})}};function Ve(t){let e=t.getBoundingClientRect(),n=Math.max(document.documentElement.clientHeight,window.innerHeight);return!(e.bottom<0||e.top-n>=0)}var oe=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var pe=Ae(ue());async function ce(t,e){if(!window.searchData)return;let n=await fetch(window.searchData),r=new Blob([await n.arrayBuffer()]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();t.data=i,t.index=pe.Index.load(i.index),e.classList.remove("loading"),e.classList.add("ready")}function fe(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:t.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{ce(e,t)}),ce(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");i.addEventListener("mouseup",()=>{te(t)}),r.addEventListener("focus",()=>t.classList.add("has-focus")),He(t,i,r,e)}function He(t,e,n,r){n.addEventListener("input",oe(()=>{Ne(t,e,n,r)},200)),n.addEventListener("keydown",i=>{i.key=="Enter"?Be(e,t):i.key=="ArrowUp"?(de(e,n,-1),i.preventDefault()):i.key==="ArrowDown"&&(de(e,n,1),i.preventDefault())}),document.body.addEventListener("keypress",i=>{i.altKey||i.ctrlKey||i.metaKey||!n.matches(":focus")&&i.key==="/"&&(i.preventDefault(),n.focus())}),document.body.addEventListener("keyup",i=>{t.classList.contains("has-focus")&&(i.key==="Escape"||!e.matches(":focus-within")&&!n.matches(":focus"))&&(n.blur(),te(t))})}function te(t){t.classList.remove("has-focus")}function Ne(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=he(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` + ${he(l.parent,i)}.${d}`);let m=document.createElement("li");m.classList.value=l.classes??"";let p=document.createElement("a");p.href=r.base+l.url,p.innerHTML=u+d,m.append(p),p.addEventListener("focus",()=>{e.querySelector(".current")?.classList.remove("current"),m.classList.add("current")}),e.appendChild(m)}}function de(t,e,n){let r=t.querySelector(".current");if(!r)r=t.querySelector(n==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let i=r;if(n===1)do i=i.nextElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);else do i=i.previousElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);i?(r.classList.remove("current"),i.classList.add("current")):n===-1&&(r.classList.remove("current"),e.focus())}}function Be(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),te(e)}}function he(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(ee(t.substring(s,o)),`${ee(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(ee(t.substring(s))),i.join("")}var je={"&":"&","<":"<",">":">","'":"'",'"':"""};function ee(t){return t.replace(/[&<>"'"]/g,e=>je[e])}var I=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",ye="mousemove",N="mouseup",J={x:0,y:0},me=!1,ne=!1,qe=!1,D=!1,ve=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(ve?"is-mobile":"not-mobile");ve&&"ontouchstart"in document.documentElement&&(qe=!0,F="touchstart",ye="touchmove",N="touchend");document.addEventListener(F,t=>{ne=!0,D=!1;let e=F=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(ye,t=>{if(ne&&!D){let e=F=="touchstart"?t.targetTouches[0]:t,n=J.x-(e.pageX||0),r=J.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(N,()=>{ne=!1});document.addEventListener("click",t=>{me&&(t.preventDefault(),t.stopImmediatePropagation(),me=!1)});var X=class extends I{constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(N,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(F,n=>this.onDocumentPointerDown(n)),document.addEventListener(N,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var re;try{re=localStorage}catch{re={getItem(){return null},setItem(){}}}var Q=re;var ge=document.head.appendChild(document.createElement("style"));ge.dataset.for="filters";var Y=class extends I{constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),ge.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`,this.app.updateIndexVisibility()}fromLocalStorage(){let e=Q.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){Q.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.app.updateIndexVisibility()}};var Z=class extends I{constructor(e){super(e),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update());let r=this.summary.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)}),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function Ee(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,xe(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),xe(t.value)})}function xe(t){document.documentElement.dataset.theme=t}var K;function we(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",Le),Le())}async function Le(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let n=await(await fetch(window.navigationData)).arrayBuffer(),r=new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();K=t.dataset.base,K.endsWith("/")||(K+="/"),t.innerHTML="";for(let s of i)Se(s,t,[]);window.app.createComponents(t),window.app.showPage(),window.app.ensureActivePageVisible()}function Se(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-accordion`:"tsd-accordion";let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.dataset.key=i.join("$"),o.innerHTML='',be(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let u of t.children)Se(u,l,i)}else be(t,r,t.class)}function be(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=K+t.path,n&&(r.className=n),location.pathname===r.pathname&&!r.href.includes("#")&&r.classList.add("current"),t.kind&&(r.innerHTML=``),r.appendChild(document.createElement("span")).textContent=t.text}else{let r=e.appendChild(document.createElement("span"));r.innerHTML='',r.appendChild(document.createElement("span")).textContent=t.text}}G(X,"a[data-toggle]");G(Y,".tsd-filter-item input[type=checkbox]");var Te=document.getElementById("tsd-theme");Te&&Ee(Te);var $e=new U;Object.defineProperty(window,"app",{value:$e});})(); +/*! Bundled license information: + +lunr/lunr.js: + (** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + *) + (*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + *) + (*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + *) +*/ diff --git a/docs/v2.0.0/assets/my-theme.css b/docs/v2.0.0/assets/my-theme.css new file mode 100644 index 00000000..74c30b51 --- /dev/null +++ b/docs/v2.0.0/assets/my-theme.css @@ -0,0 +1,157 @@ +@media (prefers-color-scheme: light) { + :root { + --menu-item-active-bg: #dfe0e2; + } +} +@media (prefers-color-scheme: dark) { + :root { + --menu-item-active-bg: #1e2024; + } +} +:root[data-theme='light'] { + --menu-item-active-bg: #dfe0e2; +} +:root[data-theme='dark'] { + --menu-item-active-bg: #1e2024; +} +.tsd-navigation a.current, +.tsd-page-navigation a.current { + background-color: var(--menu-item-active-bg); +} +.container { + padding: 0; +} +.tsd-page-toolbar, +.tsd-generator { + border: 0; +} +.tsd-generator { + padding: 0; + line-height: 40px; + height: 40px; + background: var(--color-background-secondary); +} +.tsd-generator > p { + max-width: 1700px; + margin: auto; +} +.container-main { + margin: 0 auto; + min-height: calc(100vh - 80px); +} +.menu-sticky-wrap { +} +.tsd-navigation.settings .tsd-accordion-details { + padding: 1rem; + background: var(--color-background-secondary); +} +.tsd-navigation.settings { + display: inline-block; + vertical-align: top; + margin: 0; +} +.tsd-navigation.settings h3, +.tsd-accordion-summary h3 { + display: flex; + align-items: center; + font-size: 14px; +} +.tsd-navigation.settings .tsd-accordion-summary { + display: inline-flex; + vertical-align: top; + align-items: center; + margin-left: 1rem; + height: 40px; +} +.tsd-navigation .tsd-accordion-summary { + display: flex; + align-items: center; +} +.tsd-navigation a { + display: flex; +} +.col-menu, +.col-content { + position: static; + margin: 0; + height: 100%; + box-sizing: border-box; +} +.col-menu { + flex: 0 0 20rem; + border-left: 0; + padding-left: 1rem; + padding-right: 0.1rem; +} +.col-content { + padding-top: 1rem; + padding-left: 1rem; + padding-right: 1rem; + flex: 1; +} +.menu-item-desc { + color: #5d5d5d; + font-size: 12px; + line-height: 1.26; + font-weight: normal; +} + +:root[data-theme='dark'] .menu-item-desc { + color: #989898; +} +@media (prefers-color-scheme: dark) { + .menu-item-desc { + color: #989898; + } +} + +a.tsd-index-link { + align-items: flex-start; +} +pre { + border: 0; +} +.tsd-signature { + background: var(--code-background); + border: 0; +} +code.tsd-tag { + border: 0; +} + +#tsd-search.has-focus .tsd-navigation.settings { + visibility: hidden; +} + +.tsd-page-toolbar .tsd-toolbar-icon { + text-align: center; +} +@media (max-width: 1024px) { + #tsd-search .title { + max-width: calc(100vw - 22rem); + overflow: hidden; + display: inline-block; + text-overflow: ellipsis; + } +} +@media (min-width: 1200px) { + .page-menu, + .site-menu { + max-height: calc(100vh - 60px); + padding: 10px 0 10px 10px; + top: 40px; + } + .container-main.empty-page-menu { + grid-template-columns: minmax(0, 1fr) minmax(0, 3.5fr) minmax(0, 0); + grid-template-areas: 'sidebar content'; + } +} +@media (min-width: 770px) and (max-width: 1399px) { + .col-sidebar { + max-height: calc(100vh - 60px); + top: 40px; + } +} +#tsd-search .title { + padding-left: 10px; +} diff --git a/docs/v2.0.0/assets/onload.js b/docs/v2.0.0/assets/onload.js new file mode 100644 index 00000000..2a0e61bb --- /dev/null +++ b/docs/v2.0.0/assets/onload.js @@ -0,0 +1 @@ +window.app.ensureActivePageVisible(); diff --git a/docs/v2.0.0/assets/style.css b/docs/v2.0.0/assets/style.css new file mode 100644 index 00000000..178bfb02 --- /dev/null +++ b/docs/v2.0.0/assets/style.css @@ -0,0 +1,1493 @@ +:root { + /* Light */ + --light-color-background: #f2f4f8; + --light-color-background-secondary: #eff0f1; + --light-color-warning-text: #222; + --light-color-background-warning: #e6e600; + --light-color-accent: #c5c7c9; + --light-color-active-menu-item: var(--light-color-accent); + --light-color-text: #222; + --light-color-text-aside: #6e6e6e; + + --light-color-icon-background: var(--light-color-background); + --light-color-icon-text: var(--light-color-text); + + --light-color-comment-tag-text: var(--light-color-text); + --light-color-comment-tag: var(--light-color-background); + + --light-color-link: #1f70c2; + --light-color-focus-outline: #3584e4; + + --light-color-ts-keyword: #056bd6; + --light-color-ts-project: #b111c9; + --light-color-ts-module: var(--light-color-ts-project); + --light-color-ts-namespace: var(--light-color-ts-project); + --light-color-ts-enum: #7e6f15; + --light-color-ts-enum-member: var(--light-color-ts-enum); + --light-color-ts-variable: #4760ec; + --light-color-ts-function: #572be7; + --light-color-ts-class: #1f70c2; + --light-color-ts-interface: #108024; + --light-color-ts-constructor: #4d7fff; + --light-color-ts-property: #ff984d; + --light-color-ts-method: #ff4db8; + --light-color-ts-reference: #ff4d82; + --light-color-ts-call-signature: var(--light-color-ts-method); + --light-color-ts-index-signature: var(--light-color-ts-property); + --light-color-ts-constructor-signature: var(--light-color-ts-constructor); + --light-color-ts-parameter: var(--light-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --light-color-ts-type-parameter: #a55c0e; + --light-color-ts-accessor: #ff4d4d; + --light-color-ts-get-signature: var(--light-color-ts-accessor); + --light-color-ts-set-signature: var(--light-color-ts-accessor); + --light-color-ts-type-alias: #d51270; + /* reference not included as links will be colored with the kind that it points to */ + --light-color-document: #000000; + + --light-external-icon: url("data:image/svg+xml;utf8,"); + --light-color-scheme: light; + + /* Dark */ + --dark-color-background: #2b2e33; + --dark-color-background-secondary: #1e2024; + --dark-color-background-warning: #bebe00; + --dark-color-warning-text: #222; + --dark-color-accent: #9096a2; + --dark-color-active-menu-item: #5d5d6a; + --dark-color-text: #f5f5f5; + --dark-color-text-aside: #dddddd; + + --dark-color-icon-background: var(--dark-color-background-secondary); + --dark-color-icon-text: var(--dark-color-text); + + --dark-color-comment-tag-text: var(--dark-color-text); + --dark-color-comment-tag: var(--dark-color-background); + + --dark-color-link: #00aff4; + --dark-color-focus-outline: #4c97f2; + + --dark-color-ts-keyword: #3399ff; + --dark-color-ts-project: #e358ff; + --dark-color-ts-module: var(--dark-color-ts-project); + --dark-color-ts-namespace: var(--dark-color-ts-project); + --dark-color-ts-enum: #f4d93e; + --dark-color-ts-enum-member: var(--dark-color-ts-enum); + --dark-color-ts-variable: #798dff; + --dark-color-ts-function: #a280ff; + --dark-color-ts-class: #8ac4ff; + --dark-color-ts-interface: #6cff87; + --dark-color-ts-constructor: #4d7fff; + --dark-color-ts-property: #ff984d; + --dark-color-ts-method: #ff4db8; + --dark-color-ts-reference: #ff4d82; + --dark-color-ts-call-signature: var(--dark-color-ts-method); + --dark-color-ts-index-signature: var(--dark-color-ts-property); + --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); + --dark-color-ts-parameter: var(--dark-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --dark-color-ts-type-parameter: #e07d13; + --dark-color-ts-accessor: #ff4d4d; + --dark-color-ts-get-signature: var(--dark-color-ts-accessor); + --dark-color-ts-set-signature: var(--dark-color-ts-accessor); + --dark-color-ts-type-alias: #ff6492; + /* reference not included as links will be colored with the kind that it points to */ + --dark-color-document: #ffffff; + + --dark-external-icon: url("data:image/svg+xml;utf8,"); + --dark-color-scheme: dark; +} + +@media (prefers-color-scheme: light) { + :root { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + + --color-icon-background: var(--light-color-icon-background); + --color-icon-text: var(--light-color-icon-text); + + --color-comment-tag-text: var(--light-color-text); + --color-comment-tag: var(--light-color-background); + + --color-link: var(--light-color-link); + --color-focus-outline: var(--light-color-focus-outline); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-project: var(--light-color-ts-project); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-reference: var(--light-color-ts-reference); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + --color-document: var(--light-color-document); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); + } +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + + --color-icon-background: var(--dark-color-icon-background); + --color-icon-text: var(--dark-color-icon-text); + + --color-comment-tag-text: var(--dark-color-text); + --color-comment-tag: var(--dark-color-background); + + --color-link: var(--dark-color-link); + --color-focus-outline: var(--dark-color-focus-outline); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-project: var(--dark-color-ts-project); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-reference: var(--dark-color-ts-reference); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + --color-document: var(--dark-color-document); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); + } +} + +html { + color-scheme: var(--color-scheme); +} + +body { + margin: 0; +} + +:root[data-theme="light"] { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-icon-text: var(--light-color-icon-text); + + --color-comment-tag-text: var(--light-color-text); + --color-comment-tag: var(--light-color-background); + + --color-link: var(--light-color-link); + --color-focus-outline: var(--light-color-focus-outline); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-project: var(--light-color-ts-project); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-reference: var(--light-color-ts-reference); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + --color-document: var(--light-color-document); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); +} + +:root[data-theme="dark"] { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-icon-text: var(--dark-color-icon-text); + + --color-comment-tag-text: var(--dark-color-text); + --color-comment-tag: var(--dark-color-background); + + --color-link: var(--dark-color-link); + --color-focus-outline: var(--dark-color-focus-outline); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-project: var(--dark-color-ts-project); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-reference: var(--dark-color-ts-reference); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + --color-document: var(--dark-color-document); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); +} + +*:focus-visible, +.tsd-accordion-summary:focus-visible svg { + outline: 2px solid var(--color-focus-outline); +} + +.always-visible, +.always-visible .tsd-signatures { + display: inherit !important; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + line-height: 1.2; +} + +h1 { + font-size: 1.875rem; + margin: 0.67rem 0; +} + +h2 { + font-size: 1.5rem; + margin: 0.83rem 0; +} + +h3 { + font-size: 1.25rem; + margin: 1rem 0; +} + +h4 { + font-size: 1.05rem; + margin: 1.33rem 0; +} + +h5 { + font-size: 1rem; + margin: 1.5rem 0; +} + +h6 { + font-size: 0.875rem; + margin: 2.33rem 0; +} + +dl, +menu, +ol, +ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +.container { + max-width: 1700px; + padding: 0 2rem; +} + +/* Footer */ +footer { + border-top: 1px solid var(--color-accent); + padding-top: 1rem; + padding-bottom: 1rem; + max-height: 3.5rem; +} +footer > p { + margin: 0 1em; +} + +.container-main { + margin: 0 auto; + /* toolbar, footer, margin */ + min-height: calc(100vh - 41px - 56px - 4rem); +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: var(--color-background); + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", + Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; + font-size: 16px; + color: var(--color-text); +} + +a { + color: var(--color-link); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +a.external[target="_blank"] { + background-image: var(--external-icon); + background-position: top 3px right; + background-repeat: no-repeat; + padding-right: 13px; +} +a.tsd-anchor-link { + color: var(--color-text); +} + +code, +pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 0.875rem; + border-radius: 0.8em; +} + +pre { + position: relative; + white-space: pre-wrap; + word-wrap: break-word; + padding: 10px; + border: 1px solid var(--color-accent); +} +pre code { + padding: 0; + font-size: 100%; +} +pre > button { + position: absolute; + top: 10px; + right: 10px; + opacity: 0; + transition: opacity 0.1s; + box-sizing: border-box; +} +pre:hover > button, +pre > button.visible { + opacity: 1; +} + +blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography .tsd-index-panel h3, +.tsd-index-panel .tsd-typography h3, +.tsd-typography h4, +.tsd-typography h5, +.tsd-typography h6 { + font-size: 1em; +} +.tsd-typography h5, +.tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, +.tsd-typography ul, +.tsd-typography ol { + margin: 1em 0; +} +.tsd-typography table { + border-collapse: collapse; + border: none; +} +.tsd-typography td, +.tsd-typography th { + padding: 6px 13px; + border: 1px solid var(--color-accent); +} +.tsd-typography thead, +.tsd-typography tr:nth-child(even) { + background-color: var(--color-background-secondary); +} + +.tsd-breadcrumb { + margin: 0; + padding: 0; + color: var(--color-text-aside); +} +.tsd-breadcrumb a { + color: var(--color-text-aside); + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +.tsd-comment-tags { + display: flex; + flex-direction: column; +} +dl.tsd-comment-tag-group { + display: flex; + align-items: center; + overflow: hidden; + margin: 0.5em 0; +} +dl.tsd-comment-tag-group dt { + display: flex; + margin-right: 0.5em; + font-size: 0.875em; + font-weight: normal; +} +dl.tsd-comment-tag-group dd { + margin: 0; +} +code.tsd-tag { + padding: 0.25em 0.4em; + border: 0.1em solid var(--color-accent); + margin-right: 0.25em; + font-size: 70%; +} +h1 code.tsd-tag:first-of-type { + margin-left: 0.25em; +} + +dl.tsd-comment-tag-group dd:before, +dl.tsd-comment-tag-group dd:after { + content: " "; +} +dl.tsd-comment-tag-group dd pre, +dl.tsd-comment-tag-group dd:after { + clear: both; +} +dl.tsd-comment-tag-group p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.tsd-filter-visibility h4 { + font-size: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.5rem; + margin: 0; +} +.tsd-filter-item:not(:last-child) { + margin-bottom: 0.5rem; +} +.tsd-filter-input { + display: flex; + width: -moz-fit-content; + width: fit-content; + align-items: center; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; +} +.tsd-filter-input input[type="checkbox"] { + cursor: pointer; + position: absolute; + width: 1.5em; + height: 1.5em; + opacity: 0; +} +.tsd-filter-input input[type="checkbox"]:disabled { + pointer-events: none; +} +.tsd-filter-input svg { + cursor: pointer; + width: 1.5em; + height: 1.5em; + margin-right: 0.5em; + border-radius: 0.33em; + /* Leaving this at full opacity breaks event listeners on Firefox. + Don't remove unless you know what you're doing. */ + opacity: 0.99; +} +.tsd-filter-input input[type="checkbox"]:focus-visible + svg { + outline: 2px solid var(--color-focus-outline); +} +.tsd-checkbox-background { + fill: var(--color-accent); +} +input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { + stroke: var(--color-text); +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { + fill: var(--color-background); + stroke: var(--color-accent); + stroke-width: 0.25rem; +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { + stroke: var(--color-accent); +} + +.settings-label { + font-weight: bold; + text-transform: uppercase; + display: inline-block; +} + +.tsd-filter-visibility .settings-label { + margin: 0.75rem 0 0.5rem 0; +} + +.tsd-theme-toggle .settings-label { + margin: 0.75rem 0.75rem 0 0; +} + +.tsd-hierarchy { + list-style: square; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.tsd-full-hierarchy:not(:last-child) { + margin-bottom: 1em; + padding-bottom: 1em; + border-bottom: 1px solid var(--color-accent); +} +.tsd-full-hierarchy, +.tsd-full-hierarchy ul { + list-style: none; + margin: 0; + padding: 0; +} +.tsd-full-hierarchy ul { + padding-left: 1.5rem; +} +.tsd-full-hierarchy a { + padding: 0.25rem 0 !important; + font-size: 1rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} + +.tsd-panel-group.tsd-index-group { + margin-bottom: 0; +} +.tsd-index-panel .tsd-index-list { + list-style: none; + line-height: 1.333em; + margin: 0; + padding: 0.25rem 0 0 0; + overflow: hidden; + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 1rem; + grid-template-rows: auto; +} +@media (max-width: 1024px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(2, 1fr); + } +} +@media (max-width: 768px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(1, 1fr); + } +} +.tsd-index-panel .tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} + +.tsd-flag { + display: inline-block; + padding: 0.25em 0.4em; + border-radius: 4px; + color: var(--color-comment-tag-text); + background-color: var(--color-comment-tag); + text-indent: 0; + font-size: 75%; + line-height: 1; + font-weight: normal; +} + +.tsd-anchor { + position: relative; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + display: flex; + align-items: center; + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} + +.tsd-navigation.settings { + margin: 1rem 0; +} +.tsd-navigation > a, +.tsd-navigation .tsd-accordion-summary { + width: calc(100% - 0.25rem); + display: flex; + align-items: center; +} +.tsd-navigation a, +.tsd-navigation summary > span, +.tsd-page-navigation a { + display: flex; + width: calc(100% - 0.25rem); + align-items: center; + padding: 0.25rem; + color: var(--color-text); + text-decoration: none; + box-sizing: border-box; +} +.tsd-navigation a.current, +.tsd-page-navigation a.current { + background: var(--color-active-menu-item); +} +.tsd-navigation a:hover, +.tsd-page-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul, +.tsd-page-navigation ul { + margin-top: 0; + margin-bottom: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li, +.tsd-page-navigation li { + padding: 0; + max-width: 100%; +} +.tsd-navigation .tsd-nav-link { + display: none; +} +.tsd-nested-navigation { + margin-left: 3rem; +} +.tsd-nested-navigation > li > details { + margin-left: -1.5rem; +} +.tsd-small-nested-navigation { + margin-left: 1.5rem; +} +.tsd-small-nested-navigation > li > details { + margin-left: -1.5rem; +} + +.tsd-page-navigation-section { + margin-left: 10px; +} +.tsd-page-navigation-section > summary { + padding: 0.25rem; +} +.tsd-page-navigation-section > div { + margin-left: 20px; +} +.tsd-page-navigation ul { + padding-left: 1.75rem; +} + +#tsd-sidebar-links a { + margin-top: 0; + margin-bottom: 0.5rem; + line-height: 1.25rem; +} +#tsd-sidebar-links a:last-of-type { + margin-bottom: 0; +} + +a.tsd-index-link { + padding: 0.25rem 0 !important; + font-size: 1rem; + line-height: 1.25rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} +.tsd-accordion-summary { + list-style-type: none; /* hide marker on non-safari */ + outline: none; /* broken on safari, so just hide it */ +} +.tsd-accordion-summary::-webkit-details-marker { + display: none; /* hide marker on safari */ +} +.tsd-accordion-summary, +.tsd-accordion-summary a { + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; + + cursor: pointer; +} +.tsd-accordion-summary a { + width: calc(100% - 1.5rem); +} +.tsd-accordion-summary > * { + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; +} +.tsd-accordion .tsd-accordion-summary > svg { + margin-left: 0.25rem; + vertical-align: text-top; +} +.tsd-index-content > :not(:first-child) { + margin-top: 0.75rem; +} +.tsd-index-heading { + margin-top: 1.5rem; + margin-bottom: 0.75rem; +} + +.tsd-no-select { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.tsd-kind-icon { + margin-right: 0.5rem; + width: 1.25rem; + height: 1.25rem; + min-width: 1.25rem; + min-height: 1.25rem; +} +.tsd-signature > .tsd-kind-icon { + margin-right: 0.8rem; +} + +.tsd-panel { + margin-bottom: 2.5rem; +} +.tsd-panel.tsd-member { + margin-bottom: 4rem; +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, +.tsd-panel > h2, +.tsd-panel > h3 { + margin: 1.5rem -1.5rem 0.75rem -1.5rem; + padding: 0 1.5rem 0.75rem 1.5rem; +} +.tsd-panel > h1.tsd-before-signature, +.tsd-panel > h2.tsd-before-signature, +.tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: none; +} + +.tsd-panel-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group details { + margin: 2rem 0; +} +.tsd-panel-group > .tsd-accordion-summary { + margin-bottom: 1rem; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 2.5rem; + height: 100%; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: var(--color-text); +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title, +#tsd-toolbar-links a { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + background-color: var(--color-background); + line-height: initial; + padding: 4px; +} +#tsd-search .results li:nth-child(even) { + background-color: var(--color-background-secondary); +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current:not(.no-results), +#tsd-search .results li:hover:not(.no-results) { + background-color: var(--color-accent); +} +#tsd-search .results a { + display: flex; + align-items: center; + padding: 0.25rem; + box-sizing: border-box; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: var(--color-text-aside); + font-weight: normal; +} +#tsd-search.has-focus { + background-color: var(--color-accent); +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title, +#tsd-search.has-focus #tsd-toolbar-links a { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +#tsd-toolbar-links { + position: absolute; + top: 0; + right: 2rem; + height: 100%; + display: flex; + align-items: center; + justify-content: flex-end; +} +#tsd-toolbar-links a { + margin-left: 1.5rem; +} +#tsd-toolbar-links a:hover { + text-decoration: underline; +} + +.tsd-signature { + margin: 0 0 1rem 0; + padding: 1rem 0.5rem; + border: 1px solid var(--color-accent); + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} + +.tsd-signature-keyword { + color: var(--color-ts-keyword); + font-weight: normal; +} + +.tsd-signature-symbol { + color: var(--color-text-aside); + font-weight: normal; +} + +.tsd-signature-type { + font-style: italic; + font-weight: normal; +} + +.tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + list-style-type: none; +} +.tsd-signatures .tsd-signature { + margin: 0; + border-color: var(--color-accent); + border-width: 1px 0; + transition: background-color 0.1s; +} +.tsd-signatures .tsd-index-signature:not(:last-child) { + margin-bottom: 1em; +} +.tsd-signatures .tsd-index-signature .tsd-signature { + border-width: 1px; +} +.tsd-description .tsd-signatures .tsd-signature { + border-width: 1px; +} + +ul.tsd-parameter-list, +ul.tsd-type-parameter-list { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameter-list > li.tsd-parameter-signature, +ul.tsd-type-parameter-list > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameter-list h5, +ul.tsd-type-parameter-list h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +.tsd-sources { + margin-top: 1rem; + font-size: 0.875em; +} +.tsd-sources a { + color: var(--color-text-aside); + text-decoration: underline; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: sticky; + z-index: 1; + top: 0; + left: 0; + width: 100%; + color: var(--color-text); + background: var(--color-background-secondary); + border-bottom: 1px var(--color-accent) solid; + transition: transform 0.3s ease-in-out; +} +.tsd-page-toolbar a { + color: var(--color-text); + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .tsd-toolbar-contents { + display: flex; + justify-content: space-between; + height: 2.5rem; + margin: 0 auto; +} +.tsd-page-toolbar .table-cell { + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} +.tsd-page-toolbar .tsd-toolbar-icon { + box-sizing: border-box; + line-height: 0; + padding: 12px 0; +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.8; + height: 40px; + transition: + opacity 0.1s, + background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.9; +} +.tsd-widget.active { + opacity: 1; + background-color: var(--color-accent); +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} + +.tsd-widget.options, +.tsd-widget.menu { + display: none; +} +input[type="checkbox"] + .tsd-widget:before { + background-position: -120px 0; +} +input[type="checkbox"]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +img { + max-width: 100%; +} + +.tsd-anchor-icon { + display: inline-flex; + align-items: center; + margin-left: 0.5rem; + vertical-align: middle; + color: var(--color-text); +} + +.tsd-anchor-icon svg { + width: 1em; + height: 1em; + visibility: hidden; +} + +.tsd-anchor-link:hover > .tsd-anchor-icon svg { + visibility: visible; +} + +.deprecated { + text-decoration: line-through !important; +} + +.warning { + padding: 1rem; + color: var(--color-warning-text); + background: var(--color-background-warning); +} + +.tsd-kind-project { + color: var(--color-ts-project); +} +.tsd-kind-module { + color: var(--color-ts-module); +} +.tsd-kind-namespace { + color: var(--color-ts-namespace); +} +.tsd-kind-enum { + color: var(--color-ts-enum); +} +.tsd-kind-enum-member { + color: var(--color-ts-enum-member); +} +.tsd-kind-variable { + color: var(--color-ts-variable); +} +.tsd-kind-function { + color: var(--color-ts-function); +} +.tsd-kind-class { + color: var(--color-ts-class); +} +.tsd-kind-interface { + color: var(--color-ts-interface); +} +.tsd-kind-constructor { + color: var(--color-ts-constructor); +} +.tsd-kind-property { + color: var(--color-ts-property); +} +.tsd-kind-method { + color: var(--color-ts-method); +} +.tsd-kind-reference { + color: var(--color-ts-reference); +} +.tsd-kind-call-signature { + color: var(--color-ts-call-signature); +} +.tsd-kind-index-signature { + color: var(--color-ts-index-signature); +} +.tsd-kind-constructor-signature { + color: var(--color-ts-constructor-signature); +} +.tsd-kind-parameter { + color: var(--color-ts-parameter); +} +.tsd-kind-type-parameter { + color: var(--color-ts-type-parameter); +} +.tsd-kind-accessor { + color: var(--color-ts-accessor); +} +.tsd-kind-get-signature { + color: var(--color-ts-get-signature); +} +.tsd-kind-set-signature { + color: var(--color-ts-set-signature); +} +.tsd-kind-type-alias { + color: var(--color-ts-type-alias); +} + +/* if we have a kind icon, don't color the text by kind */ +.tsd-kind-icon ~ span { + color: var(--color-text); +} + +* { + scrollbar-width: thin; + scrollbar-color: var(--color-accent) var(--color-icon-background); +} + +*::-webkit-scrollbar { + width: 0.75rem; +} + +*::-webkit-scrollbar-track { + background: var(--color-icon-background); +} + +*::-webkit-scrollbar-thumb { + background-color: var(--color-accent); + border-radius: 999rem; + border: 0.25rem solid var(--color-icon-background); +} + +/* mobile */ +@media (max-width: 769px) { + .tsd-widget.options, + .tsd-widget.menu { + display: inline-block; + } + + .container-main { + display: flex; + } + html .col-content { + float: none; + max-width: 100%; + width: 100%; + } + html .col-sidebar { + position: fixed !important; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + padding: 1.5rem 1.5rem 0 0; + width: 75vw; + visibility: hidden; + background-color: var(--color-background); + transform: translate(100%, 0); + } + html .col-sidebar > *:last-child { + padding-bottom: 20px; + } + html .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + + .to-has-menu .overlay { + animation: fade-in 0.4s; + } + + .to-has-menu .col-sidebar { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu .col-sidebar { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu .col-sidebar { + visibility: visible; + transform: translate(0, 0); + display: flex; + flex-direction: column; + gap: 1.5rem; + max-height: 100vh; + padding: 1rem 2rem; + } + .has-menu .tsd-navigation { + max-height: 100%; + } + #tsd-toolbar-links { + display: none; + } + .tsd-navigation .tsd-nav-link { + display: flex; + } +} + +/* one sidebar */ +@media (min-width: 770px) { + .container-main { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); + grid-template-areas: "sidebar content"; + margin: 2rem auto; + } + + .col-sidebar { + grid-area: sidebar; + } + .col-content { + grid-area: content; + padding: 0 1rem; + } +} +@media (min-width: 770px) and (max-width: 1399px) { + .col-sidebar { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + padding-top: 1rem; + } + .site-menu { + margin-top: 1rem; + } +} + +/* two sidebars */ +@media (min-width: 1200px) { + .container-main { + grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem); + grid-template-areas: "sidebar content toc"; + } + + .col-sidebar { + display: contents; + } + + .page-menu { + grid-area: toc; + padding-left: 1rem; + } + .site-menu { + grid-area: sidebar; + } + + .site-menu { + margin-top: 1rem; + } + + .page-menu, + .site-menu { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + } +} diff --git a/docs/v2.0.0/assets/versionsMenu.js b/docs/v2.0.0/assets/versionsMenu.js new file mode 100644 index 00000000..b4bdf6b3 --- /dev/null +++ b/docs/v2.0.0/assets/versionsMenu.js @@ -0,0 +1,21 @@ +import { DOC_VERSIONS } from '../../versions.js'; + +const select = document.getElementById('plugin-versions-select'); + +DOC_VERSIONS.forEach((version) => { + const option = document.createElement('option'); + option.value = version; + option.innerHTML = version; + select.appendChild(option); +}); + +const locationSplit = location.pathname.split('/'); +const thisVersion = locationSplit.find((path) => ['stable', 'dev', ...DOC_VERSIONS].includes(path)); +select.value = DOC_VERSIONS.includes(thisVersion) + ? thisVersion + : DOC_VERSIONS[0]; +select.onchange = () => { + const newPaths = window.location.pathname.replace(`/${thisVersion}/`, `/${select.value}/`); + const newUrl = new URL(newPaths, window.location.origin); + window.location.assign(newUrl); +}; diff --git a/docs/v2.0.0/classes/BaseMessageNode.html b/docs/v2.0.0/classes/BaseMessageNode.html new file mode 100644 index 00000000..5796c813 --- /dev/null +++ b/docs/v2.0.0/classes/BaseMessageNode.html @@ -0,0 +1,27 @@ +BaseMessageNode | archipelago.js - v2.0.0
+

    Class BaseMessageNodeAbstract

    The base class for all message node objects.

    +
    +
    + +
    + + Hierarchy
    +
    + +
    +

    Properties

    Accessors

    Methods

    Properties

    client: Client

    The client object containing additional context metadata.

    +

    The underlying message part component.

    +
    type: string

    The type of this message node.

    +

    Accessors

    • get text(): string
    • Returns the plaintext component of this message node.

      +

      Returns string

      Same value returned from .toString().

      +

    Methods

    \ No newline at end of file diff --git a/docs/v2.0.0/classes/Client.html b/docs/v2.0.0/classes/Client.html new file mode 100644 index 00000000..88ec2bfe --- /dev/null +++ b/docs/v2.0.0/classes/Client.html @@ -0,0 +1,106 @@ +Client | archipelago.js - v2.0.0
    +

      Class Client

      The client that connects to an Archipelago server and provides helper methods and objects to facilitate +communication, listen for events, and manage data.

      +

      Constructors

      Properties

      deathLink: DeathLinkManager = ...

      A helper object for handling DeathLink mechanics.

      +
      items: ItemsManager = ...

      A helper object for handling received items and hints.

      +
      messages: MessageManager = ...

      A helper object for handling chat messages.

      +
      options: Required<ClientOptions>

      Current options for this client.

      +
      package: DataPackageManager = ...

      A helper object for handling game data packages.

      +
      players: PlayersManager = ...

      A helper object for handling players (including self).

      +
      room: RoomStateManager = ...

      A helper object for handling room state.

      +
      socket: SocketManager = ...

      A helper object for handling websocket communication and AP network protocol.

      +
      storage: DataStorageManager = ...

      A helper object for handling the data storage API.

      +

      Accessors

      • get authenticated(): boolean
      • Returns true if currently connected and authenticated to the Archipelago server.

        +

        Returns boolean

      • get game(): string
      • Returns the client's current game name (or an empty string, if never connected).

        +

        Returns string

      • get name(): string
      • Returns the client's current slot name (or an empty string, if never connected).

        +

        Returns string

      Methods

      • Send a bounce packet targeting any clients that fulfil any target parameters. Can be listened for by listening to +"bounced" events on SocketManager.

        +

        Parameters

        • targets: {
              games?: string[];
              slots?: number[];
              tags?: string[];
          }

          The targets to receive this bounce packet.

          +
          • Optionalgames?: string[]

            Specific games that should receive this bounce.

            +
          • Optionalslots?: number[]

            Specific slots that should receive this bounce.

            +
          • Optionaltags?: string[]

            Specific clients with these tags that should receive this bounce.

            +
        • data: JSONRecord

          The json-serializable data to send.

          +

        Returns void

        UnauthenticatedError If attempting to send a bounce while not authenticated.

        +

        If no targets are specified, no clients will receive this bounce packet.

        +
      • Marks a list of locations as checked on the server.

        +

        Parameters

        • Rest...locations: number[]

          Location ids to check.

          +

        Returns void

        UnauthenticatedError If attempting to check locations while not authenticated.

        +

        Locations that do not exist or have already been checked in the multi-world are ignored.

        +
      • A shorthand for running Client.updateStatus(clientStatuses.goal). Once set, cannot be changed and if release +and/or collect is set to automatic, will release/collect all items.

        +

        Returns void

        UnauthenticatedError If not connected and authenticated.

        +
      • Connect and authenticate to an Archipelago server.

        +

        Type Parameters

        • SlotData extends JSONRecord

          If slot data is requested, this sets the type of the returning slot data.

          +

        Parameters

        • url: string | URL

          The url of the server, including the protocol (e.g., wss://archipelago.gg:38281).

          +
        • name: string

          The slot name this client will be connecting to.

          +
        • game: string = ""

          The game name this client will be connecting to. If omitted, client will connect in "TextOnly" mode.

          +
        • Optionaloptions: ConnectionOptions

          Additional optional connection arguments.

          +

        Returns Promise<SlotData>

        ArgumentError If slot name is empty.

        +

        LoginError If the server refuses the authentication attempt.

        +

        TypeError If provided URL is malformed or invalid protocol.

        +

        If the port is omitted, the client will default to 38281 (AP default).

        +

        If the protocol is omitted, client will attempt to connect via wss, then fallback to ws if unsuccessful.

        +

        Any paths, queries, fragments, or userinfo components of the provided url will be ignored.

        +
        import { Client } from "archipelago.js";

        const client = new Client();

        await client.login("wss://archipelago.gg:38281", "Phar", "Clique", {
        slotData: false,
        password: "4444"
        }); +
        + +
        import { Client } from "archipelago.js";

        interface CliqueSlotData {
        color: string
        hard_mode: boolean
        }

        const client = new Client();

        // slotData: CliqueSlotData { color: "red", hard_mode: false }
        const slotData = await client.login<CliqueSlotData>("wss://archipelago.gg:38281", "Phar", "Clique"); +
        + +
      • Scout a list of locations for their containing items.

        +

        Parameters

        • locations: number[]

          A list of location ids to scout.

          +
        • createHint: 0 | 1 | 2 = 0

          Whether to create hints for these locations.

          +
            +
          • If set to 0, this packet will not create hints for any locations in this packet.
          • +
          • If set to 1, this packet will create hints for all locations in this packet and broadcast them to all +relevant clients.
          • +
          • If set to 2, this packet will create hints for all locations in this packet and broadcast only new hints to +all relevant clients.
          • +
          +

        Returns Promise<Item[]>

        UnauthenticatedError If attempting to scout locations while not authenticated.

        +
      • Request the server update the kinds of item received events this client should receive.

        +

        Parameters

        • items: number

          New item handling flags.

          +

        Returns void

        UnauthenticatedError If not connected and authenticated.

        +
      • Update the client status for the current player. For a list of known client statuses, see clientStatuses.

        +

        Parameters

        Returns void

        UnauthenticatedError If not connected and authenticated.

        +

        The server will automatically set the player's status to clientStatuses.disconnected when all +clients connected to this slot have disconnected, set the status to clientStatuses.connected if a client +connects to this slot when previously set to clientStatuses.disconnected, or ignores any future updates +if ever set to clientStatuses.goal.

        +
        import { Client, clientStatuses } from "archipelago.js";

        const client = new Client();
        await client.login("wss://archipelago.gg:38281", "Phar", "Clique");

        // Mark client as ready to start.
        client.updateStatus(clientStatuses.ready); +
        + +
      • Request the server update this client's tags.

        +

        Parameters

        • tags: string[]

          Tags to replace the current ones.

          +

        Returns void

        UnauthenticatedError If not connected and authenticated.

        +
      \ No newline at end of file diff --git a/docs/v2.0.0/classes/ColorMessageNode.html b/docs/v2.0.0/classes/ColorMessageNode.html new file mode 100644 index 00000000..610bb8c8 --- /dev/null +++ b/docs/v2.0.0/classes/ColorMessageNode.html @@ -0,0 +1,29 @@ +ColorMessageNode | archipelago.js - v2.0.0
      +

        Class ColorMessageNode

        A message node object containing explicit color metadata.

        +
        +
        + +
        + + Hierarchy
        +
        +
        +
        +
        +

        Properties

        Accessors

        Methods

        Properties

        client: Client

        The client object containing additional context metadata.

        +

        The explicit color (or style) of this node.

        +

        The underlying message part component.

        +
        type: "color" = ...

        The type of this message node.

        +

        Accessors

        • get text(): string
        • Returns the plaintext component of this message node.

          +

          Returns string

          Same value returned from .toString().

          +

        Methods

        \ No newline at end of file diff --git a/docs/v2.0.0/classes/DataPackageManager.html b/docs/v2.0.0/classes/DataPackageManager.html new file mode 100644 index 00000000..a9bf48ed --- /dev/null +++ b/docs/v2.0.0/classes/DataPackageManager.html @@ -0,0 +1,62 @@ +DataPackageManager | archipelago.js - v2.0.0
        +

          Class DataPackageManager

          Managers data packages metadata and exposes name lookup methods.

          +

          Methods

          • Export a DataPackage object for local caching purposes.

            +

            Returns DataPackage

            It is recommended to export/import any data packages ahead of time to reduce unnecessary calls to +DataPackageManager.fetchPackage and reduce connection startup time and lighten network overhead. See +below for an example.

            +
            import fs from "node:fs";
            import { Client } from "archipelago.js";

            // ... misc client code (connecting and fetching data package).

            // Save data package to a local file.
            const data = client.package.exportPackage();
            fs.writeFileSync("path/to/cache/datapackage_cache.json", JSON.stringify(data), "utf8"); +
            + +
          • Fetches and returns the DataPackage from the server, if the games are not locally cached or checksums +do not match.

            +

            Parameters

            • games: string[] = []

              A list of game packages to fetch. If omitted, will fetch all available game packages from the +current room.

              +
            • update: boolean = true

              If true, after fetching the data package, any changes will automatically be updated without +needing to manually call DataPackageManager.importPackage.

              +

            Returns Promise<DataPackage>

            It is recommended to export and locally cache the data package after fetching, then prior to any future +connections, importing the locally cached package to reduce unnecessary network bandwidth.

            +

            Any requested games that do not exist in the current room will be ignored.

            +
          • Import a DataPackage object to prepopulate local cache.

            +

            Parameters

            Returns void

            It is recommended to export/import any data packages ahead of time to reduce unnecessary calls to +DataPackageManager.fetchPackage and reduce connection startup time and lighten network overhead. See +below for an example.

            +
            import fs from "node:fs";
            import { Client } from "archipelago.js";

            const data = fs.readFileSync("path/to/cache/datapackage_cache.json");
            const client = new Client();

            client.package.importPackage(JSON.parse(data));
            await client.login("wss://archipelago.gg:38281", "Phar", "Clique"); +
            + +
            <script src="archipelago.js" type="module">
            import { Client } from "archipelago.js";

            const data = localStorage.getItem("datapackage_cache");
            const client = new Client();

            client.package.importPackage(JSON.parse(data));
            await client.login("wss://archipelago.gg:38281", "Phar", "Clique");
            </script> +
            + +
          • Lookup an item name by its integer id.

            +

            Parameters

            • game: string

              The name of the game this item is associated with.

              +
            • id: number

              The id of the item to name lookup.

              +
            • Optionalfallback: true

              If true, returns "Unknown Item {id}" instead of undefined, if id does not exist in package. +Defaults to true, if omitted.

              +

            Returns string

          • Lookup an item name by its integer id.

            +

            Parameters

            • game: string

              The name of the game this item is associated with.

              +
            • id: number

              The id of the item to name lookup.

              +
            • fallback: false

              If true, returns "Unknown Item {id}" instead of undefined, if id does not exist in package. +Defaults to true, if omitted.

              +

            Returns undefined | string

          • Lookup a location name by its integer id.

            +

            Parameters

            • game: string

              The name of the game this location is associated with.

              +
            • id: number

              The id of the location to name lookup.

              +
            • Optionalfallback: true

              If true, returns "Unknown Location {id}" instead of undefined, if id does not exist in +package. Defaults to true, if omitted.

              +

            Returns string

          • Lookup a location name by its integer id.

            +

            Parameters

            • game: string

              The name of the game this location is associated with.

              +
            • id: number

              The id of the location to name lookup.

              +
            • fallback: false

              If true, returns "Unknown Location {id}" instead of undefined, if id does not exist in +package. Defaults to true, if omitted.

              +

            Returns undefined | string

          \ No newline at end of file diff --git a/docs/v2.0.0/classes/DataStorageManager.html b/docs/v2.0.0/classes/DataStorageManager.html new file mode 100644 index 00000000..de1d080a --- /dev/null +++ b/docs/v2.0.0/classes/DataStorageManager.html @@ -0,0 +1,48 @@ +DataStorageManager | archipelago.js - v2.0.0
          +

            Class DataStorageManager

            Manages communication between the data storage API and notifies subscribers of changes to storage updates.

            +

            Accessors

            Methods

            • Fetches a list of key-value pairs from data storage.

              +

              Type Parameters

              • T extends JSONRecord

                The expected key-value types to be returned.

                +

              Parameters

              • keys: (keyof T)[]

                A list of keys to fetch values for.

                +
              • Optionalmonitor: boolean

                Adds keys to local cache and request the server to update client when changes are made to speed up +subsequent lookups.

                +

              Returns Promise<T>

              An object containing all current values for each key requested.

              +

              Any keys not currently cached and monitored will be requested over the network instead of from memory.

              +
            • Fetches a single key-value pair from data storage.

              +

              Type Parameters

              Parameters

              • key: string

                The key to fetch a value for.

                +
              • Optionalmonitor: boolean

                Adds key to local cache and request the server to update client when changes are made to speed up +subsequent lookups.

                +

              Returns Promise<T>

              The current value for this key.

              +

              Any keys not currently cached and monitored will be requested over the network instead of from memory.

              +
            • Returns item name groups for this package from data storage API.

              +

              Parameters

              • game: string

                The game name to look up item name groups for.

                +

              Returns Promise<Record<string, string[]>>

            • Returns location name groups for this package from the data storage API.

              +

              Parameters

              • game: string

                The game name to look up location name groups for.

                +

              Returns Promise<Record<string, string[]>>

            • Add a list of keys to be monitored for changes and fire a callback when changes are detected.

              +

              Type Parameters

              Parameters

              • keys: (keyof T)[]

                A list of keys to fetch and watch for changes.

                +
              • callback: DataChangeCallback

                A callback to fire whenever one of these keys change.

                +

              Returns Promise<T>

              An object containing all current values for each key requested.

              +

              If connection to the Archipelago server is lost, keys will no longer be tracked for changes and need to +be monitored again.

              +
              const keys = ["key1", "key2"];
              const data = await client.storage.notify(keys, (key, value, oldValue) => {
              console.log(`Key '${key}' has been updated from ${oldValue} to ${value}!`);
              });

              client.storage
              .prepare("key2", 0)
              .add(5)
              .commit();
              // Key 'key2' has been updated from 0 to 5! +
              + +
            • Create a new transaction for setting a data storage key by returning an IntermediateDataOperation. To +perform certain operations, just chain additional methods until finished, then call prepare().

              +

              Type Parameters

              Parameters

              • key: string

                The key to manipulate.

                +
              • _default: T

                The default value to be used if key does not exist.

                +

              Returns IntermediateDataOperation<T>

              TypeError if attempting to modify a read only key.

              +
              // Prepare key "my-key" and set initial value to 100, if key doesn't exist.
              client.storage
              .prepare("my-key", 100)
              .multiply(0.25) // Multiply value by 0.25.
              .floor() // Round down to nearest integer.
              .max(0) // Clamp value above 0.
              .commit(); // Commit operations to data storage. +
              + +
            \ No newline at end of file diff --git a/docs/v2.0.0/classes/DeathLinkManager.html b/docs/v2.0.0/classes/DeathLinkManager.html new file mode 100644 index 00000000..602bdb87 --- /dev/null +++ b/docs/v2.0.0/classes/DeathLinkManager.html @@ -0,0 +1,47 @@ +DeathLinkManager | archipelago.js - v2.0.0
            +

              Class DeathLinkManager

              Manages DeathLink mechanics for clients that choose to opt in to the mechanic.

              +
              +
              + +
              + + Hierarchy
              +
              + +
              +

              Accessors

              Methods

              • If DeathLink is enabled, sends a DeathLink to all DeathLink enabled players, otherwise this method does nothing.

                +

                Parameters

                • source: string

                  The name of the player who died. Can be a slot name, but could also be a name from within a +multiplayer game.

                  +
                • Optionalcause: string

                  Optional text explaining the cause of death. When provided, this should include the player's name. +(e.g., Phar drowned in a vat of kittens.)

                  +

                Returns void

                UnauthenticatedError If attempting to send a death link before authenticating to the server.

                +

                DeathLinks sent from this client will not fire a DeathEvents.deathReceived event to avoid +an infinite feedback loop of deaths.

                +
              • Returns a promise that waits for a single specified event to be received. Resolves with the list of arguments +dispatched with the event.

                +

                Type Parameters

                • Event extends "deathReceived"

                Parameters

                • event: Event

                  The event name to listen for.

                  +
                • clearPredicate: ((...args: DeathEvents[Event]) => boolean) = ...

                  An optional predicate to check on incoming events to validate if the correct event has +been received. If omitted, will return immediately on next event type received.

                  +

                Returns Promise<DeathEvents[Event]>

              \ No newline at end of file diff --git a/docs/v2.0.0/classes/EventBasedManager.html b/docs/v2.0.0/classes/EventBasedManager.html new file mode 100644 index 00000000..40c4f51e --- /dev/null +++ b/docs/v2.0.0/classes/EventBasedManager.html @@ -0,0 +1,34 @@ +EventBasedManager | archipelago.js - v2.0.0
              +

                Class EventBasedManager<Events>Abstract

                An abstract class for managers that offer an event-based API.

                +

                Type Parameters

                • Events extends {
                      [p: string]: unknown[];
                  }

                  An interface of events supported by this derived manager.

                  +
                +
                + +
                + + Hierarchy
                +
                + +
                +

                Constructors

                Methods

                off +on +wait +

                Constructors

                Methods

                • Removes an existing event listener.

                  +

                  Type Parameters

                  • Event extends string

                  Parameters

                  • event: Event

                    The event name associated with this listener to remove.

                    +
                  • listener: ((...args: Events[Event]) => void)

                    The callback function to remove.

                    +
                      • (...args): void
                      • Parameters

                        Returns void

                  Returns this

                  This object.

                  +
                • Add an event listener for a specific event.

                  +

                  Type Parameters

                  • Event extends string

                  Parameters

                  • event: Event

                    The event name to listen for.

                    +
                  • listener: ((...args: Events[Event]) => void)

                    The callback function to fire when this event is received.

                    +
                      • (...args): void
                      • Parameters

                        Returns void

                  Returns this

                  This object.

                  +
                • Returns a promise that waits for a single specified event to be received. Resolves with the list of arguments +dispatched with the event.

                  +

                  Type Parameters

                  • Event extends string

                  Parameters

                  • event: Event

                    The event name to listen for.

                    +
                  • clearPredicate: ((...args: Events[Event]) => boolean) = ...

                    An optional predicate to check on incoming events to validate if the correct event has +been received. If omitted, will return immediately on next event type received.

                    +
                      • (...args): boolean
                      • Parameters

                        Returns boolean

                  Returns Promise<Events[Event]>

                \ No newline at end of file diff --git a/docs/v2.0.0/classes/Hint.html b/docs/v2.0.0/classes/Hint.html new file mode 100644 index 00000000..d9d9dadf --- /dev/null +++ b/docs/v2.0.0/classes/Hint.html @@ -0,0 +1,12 @@ +Hint | archipelago.js - v2.0.0
                +

                  Class Hint

                  An abstraction of NetworkHint that exposes additional helper methods and accessors received hint data.

                  +

                  Accessors

                  Accessors

                  • get entrance(): string
                  • Returns the entrance this location is at if entrance data is available, otherwise "Vanilla".

                    +

                    Returns string

                  • get found(): boolean
                  • Returns true if this item has been found.

                    +

                    Returns boolean

                  \ No newline at end of file diff --git a/docs/v2.0.0/classes/IntermediateDataOperation.html b/docs/v2.0.0/classes/IntermediateDataOperation.html new file mode 100644 index 00000000..da5cfeba --- /dev/null +++ b/docs/v2.0.0/classes/IntermediateDataOperation.html @@ -0,0 +1,65 @@ +IntermediateDataOperation | archipelago.js - v2.0.0
                  +

                    Class IntermediateDataOperation<T>

                    An intermediate abstract object holding an array of data storage operations to be performed in order by the server.

                    +

                    Type Parameters

                    Methods

                    • Commit the current operations to data store and return a Promise with the updated key, once fulfilled.

                      +

                      Parameters

                      • awaitReply: true

                        If true, a promise will be returned with the new value. Otherwise, immediately resolves.

                        +

                      Returns Promise<T>

                    • Commit the current operations to data store.

                      +

                      Parameters

                      • awaitReply: false

                      Returns Promise<void>

                    \ No newline at end of file diff --git a/docs/v2.0.0/classes/Item.html b/docs/v2.0.0/classes/Item.html new file mode 100644 index 00000000..a240b833 --- /dev/null +++ b/docs/v2.0.0/classes/Item.html @@ -0,0 +1,34 @@ +Item | archipelago.js - v2.0.0
                    +

                      Class Item

                      An abstraction of NetworkItem that exposes additional helper methods and accessors for this item data.

                      +

                      Accessors

                      • get filler(): boolean
                      • Returns true if this item has no special flags.

                        +

                        Returns boolean

                      • get flags(): number
                      • Returns the item classification bitflags for this item.

                        +

                        Returns number

                      • get locationGame(): string
                      • Returns the game name for the location this item was contained.

                        +

                        Returns string

                      • get locationId(): number
                      • Returns the id of the location where this item was contained.

                        +

                        Returns number

                      • get locationName(): string
                      • Returns the name of the location where this item was contained.

                        +

                        Returns string

                      • get progression(): boolean
                      • Returns true if this item is flagged as progression.

                        +

                        Returns boolean

                      • get trap(): boolean
                      • Returns true if this item is flagged as a trap.

                        +

                        Returns boolean

                      • get useful(): boolean
                      • Returns true if this item is flagged as useful.

                        +

                        Returns boolean

                      Methods

                      \ No newline at end of file diff --git a/docs/v2.0.0/classes/ItemMessageNode.html b/docs/v2.0.0/classes/ItemMessageNode.html new file mode 100644 index 00000000..cda57b7b --- /dev/null +++ b/docs/v2.0.0/classes/ItemMessageNode.html @@ -0,0 +1,28 @@ +ItemMessageNode | archipelago.js - v2.0.0
                      +

                        Class ItemMessageNode

                        A message node object containing item metadata.

                        +
                        +
                        + +
                        + + Hierarchy
                        +
                        +
                        +
                        +
                        +

                        Properties

                        Accessors

                        Methods

                        Properties

                        client: Client

                        The client object containing additional context metadata.

                        +
                        item: Item

                        The item this node is referring to.

                        +

                        The underlying message part component.

                        +
                        type: "item" = ...

                        The type of this message node.

                        +

                        Accessors

                        Methods

                        \ No newline at end of file diff --git a/docs/v2.0.0/classes/ItemsManager.html b/docs/v2.0.0/classes/ItemsManager.html new file mode 100644 index 00000000..b9c6be01 --- /dev/null +++ b/docs/v2.0.0/classes/ItemsManager.html @@ -0,0 +1,41 @@ +ItemsManager | archipelago.js - v2.0.0
                        +

                          Class ItemsManager

                          Manages tracking and receiving of all received items and hints.

                          +
                          +
                          + +
                          + + Hierarchy
                          +
                          + +
                          +

                          Accessors

                          Methods

                          off +on +wait +

                          Accessors

                          • get hints(): Hint[]
                          • Returns a copy of all hints for this player.

                            +

                            Returns Hint[]

                            Hints may take a moment to populate after establishing connection to server, as it needs to wait for +data storage to fetch all current hints. If you need hints right after connecting, listen for the +ItemEvents.hintsInitialized event.

                            +

                          Methods

                          • Removes an existing event listener.

                            +

                            Type Parameters

                            • Event extends
                                  | "itemsReceived"
                                  | "hintReceived"
                                  | "hintFound"
                                  | "hintsInitialized"

                            Parameters

                            • event: Event

                              The event name associated with this listener to remove.

                              +
                            • listener: ((...args: ItemEvents[Event]) => void)

                              The callback function to remove.

                              +

                            Returns this

                            This object.

                            +
                          • Add an event listener for a specific event.

                            +

                            Type Parameters

                            • Event extends
                                  | "itemsReceived"
                                  | "hintReceived"
                                  | "hintFound"
                                  | "hintsInitialized"

                            Parameters

                            • event: Event

                              The event name to listen for.

                              +
                            • listener: ((...args: ItemEvents[Event]) => void)

                              The callback function to fire when this event is received.

                              +

                            Returns this

                            This object.

                            +
                          • Returns a promise that waits for a single specified event to be received. Resolves with the list of arguments +dispatched with the event.

                            +

                            Type Parameters

                            • Event extends
                                  | "itemsReceived"
                                  | "hintReceived"
                                  | "hintFound"
                                  | "hintsInitialized"

                            Parameters

                            • event: Event

                              The event name to listen for.

                              +
                            • clearPredicate: ((...args: ItemEvents[Event]) => boolean) = ...

                              An optional predicate to check on incoming events to validate if the correct event has +been received. If omitted, will return immediately on next event type received.

                              +

                            Returns Promise<ItemEvents[Event]>

                          \ No newline at end of file diff --git a/docs/v2.0.0/classes/LocationMessageNode.html b/docs/v2.0.0/classes/LocationMessageNode.html new file mode 100644 index 00000000..d5c9d85e --- /dev/null +++ b/docs/v2.0.0/classes/LocationMessageNode.html @@ -0,0 +1,28 @@ +LocationMessageNode | archipelago.js - v2.0.0
                          +

                            Class LocationMessageNode

                            A message node object containing location metadata.

                            +
                            +
                            + +
                            + + Hierarchy
                            +
                            +
                            +
                            +
                            +

                            Properties

                            Accessors

                            Methods

                            Properties

                            client: Client

                            The client object containing additional context metadata.

                            +
                            id: number

                            The integer id of this location.

                            +

                            The underlying message part component.

                            +
                            type: "location" = ...

                            The type of this message node.

                            +

                            Accessors

                            Methods

                            \ No newline at end of file diff --git a/docs/v2.0.0/classes/MessageManager.html b/docs/v2.0.0/classes/MessageManager.html new file mode 100644 index 00000000..294b76d9 --- /dev/null +++ b/docs/v2.0.0/classes/MessageManager.html @@ -0,0 +1,42 @@ +MessageManager | archipelago.js - v2.0.0
                            +

                              Class MessageManager

                              Manages and stores PrintJSONPacket messages, notifies subscribers of new messages, and exposes helper methods +to interact with the chat system.

                              +
                              +
                              + +
                              + + Hierarchy
                              +
                              + +
                              +

                              Accessors

                              log +

                              Methods

                              off +on +say +wait +

                              Accessors

                              Methods

                              • Removes an existing event listener.

                                +

                                Type Parameters

                                • Event extends
                                      | "disconnected"
                                      | "connected"
                                      | "message"
                                      | "itemSent"
                                      | "itemCheated"
                                      | "itemHinted"
                                      | "chat"
                                      | "serverChat"
                                      | "tutorial"
                                      | "tagsUpdated"
                                      | "userCommand"
                                      | "adminCommand"
                                      | "goaled"
                                      | "released"
                                      | "collected"
                                      | "countdown"

                                Parameters

                                • event: Event

                                  The event name associated with this listener to remove.

                                  +
                                • listener: ((...args: MessageEvents[Event]) => void)

                                  The callback function to remove.

                                  +

                                Returns this

                                This object.

                                +
                              • Add an event listener for a specific event.

                                +

                                Type Parameters

                                • Event extends
                                      | "disconnected"
                                      | "connected"
                                      | "message"
                                      | "itemSent"
                                      | "itemCheated"
                                      | "itemHinted"
                                      | "chat"
                                      | "serverChat"
                                      | "tutorial"
                                      | "tagsUpdated"
                                      | "userCommand"
                                      | "adminCommand"
                                      | "goaled"
                                      | "released"
                                      | "collected"
                                      | "countdown"

                                Parameters

                                • event: Event

                                  The event name to listen for.

                                  +
                                • listener: ((...args: MessageEvents[Event]) => void)

                                  The callback function to fire when this event is received.

                                  +

                                Returns this

                                This object.

                                +
                              • Sends a chat message to the server.

                                +

                                Parameters

                                • text: string

                                  The textual message to broadcast to all connected clients.

                                  +

                                Returns Promise<void>

                                A promise that resolves when the server has broadcast the chat message.

                                +

                                UnauthenticatedError if attempting to send a chat message when not connected or authenticated.

                                +
                              • Returns a promise that waits for a single specified event to be received. Resolves with the list of arguments +dispatched with the event.

                                +

                                Type Parameters

                                • Event extends
                                      | "disconnected"
                                      | "connected"
                                      | "message"
                                      | "itemSent"
                                      | "itemCheated"
                                      | "itemHinted"
                                      | "chat"
                                      | "serverChat"
                                      | "tutorial"
                                      | "tagsUpdated"
                                      | "userCommand"
                                      | "adminCommand"
                                      | "goaled"
                                      | "released"
                                      | "collected"
                                      | "countdown"

                                Parameters

                                • event: Event

                                  The event name to listen for.

                                  +
                                • clearPredicate: ((...args: MessageEvents[Event]) => boolean) = ...

                                  An optional predicate to check on incoming events to validate if the correct event has +been received. If omitted, will return immediately on next event type received.

                                  +

                                Returns Promise<MessageEvents[Event]>

                              \ No newline at end of file diff --git a/docs/v2.0.0/classes/PackageMetadata.html b/docs/v2.0.0/classes/PackageMetadata.html new file mode 100644 index 00000000..74a48d60 --- /dev/null +++ b/docs/v2.0.0/classes/PackageMetadata.html @@ -0,0 +1,21 @@ +PackageMetadata | archipelago.js - v2.0.0
                              +

                                Class PackageMetadata

                                An abstraction of a GamePackage object which includes additional helper methods for interacting with a game's +package.

                                +

                                Properties

                                checksum: string

                                The SHA256 hexadecimal string representation of this game package.

                                +
                                game: string

                                The name of the game this game package is for.

                                +
                                itemTable: Readonly<Record<string, number>>

                                A record of names to ids for all items in this game package.

                                +
                                locationTable: Readonly<Record<string, number>>

                                A record of names to ids for all locations in this game package.

                                +
                                reverseItemTable: Readonly<Record<number, string>>

                                A record of ids to names for all items in this game package.

                                +
                                reverseLocationTable: Readonly<Record<number, string>>

                                A record of ids to names for all locations in this game package.

                                +

                                Methods

                                \ No newline at end of file diff --git a/docs/v2.0.0/classes/Player.html b/docs/v2.0.0/classes/Player.html new file mode 100644 index 00000000..d6cb1cba --- /dev/null +++ b/docs/v2.0.0/classes/Player.html @@ -0,0 +1,33 @@ +Player | archipelago.js - v2.0.0
                                +

                                  Class Player

                                  A collection of metadata and helper methods for interacting with a particular player.

                                  +

                                  Accessors

                                  • get alias(): string
                                  • Returns the current nickname for this player or the slot name if not set.

                                    +

                                    Returns string

                                  Methods

                                  • Fetch this player's slot data over the network.

                                    +

                                    Type Parameters

                                    • SlotData extends JSONRecord

                                      The type of the slot data that is returned, for better typing information.

                                      +

                                    Returns Promise<SlotData>

                                    This data is not tracked after running, so slot data should be cached to reduce additional network +calls, if necessary.

                                    +
                                  \ No newline at end of file diff --git a/docs/v2.0.0/classes/PlayerMessageNode.html b/docs/v2.0.0/classes/PlayerMessageNode.html new file mode 100644 index 00000000..df9d95f1 --- /dev/null +++ b/docs/v2.0.0/classes/PlayerMessageNode.html @@ -0,0 +1,28 @@ +PlayerMessageNode | archipelago.js - v2.0.0
                                  +

                                    Class PlayerMessageNode

                                    A message node object containing explicit color metadata.

                                    +
                                    +
                                    + +
                                    + + Hierarchy
                                    +
                                    +
                                    +
                                    +
                                    +

                                    Properties

                                    Accessors

                                    Methods

                                    Properties

                                    client: Client

                                    The client object containing additional context metadata.

                                    +

                                    The underlying message part component.

                                    +
                                    player: Player

                                    The player being referenced by this node.

                                    +
                                    type: "player" = ...

                                    The type of this message node.

                                    +

                                    Accessors

                                    Methods

                                    \ No newline at end of file diff --git a/docs/v2.0.0/classes/PlayersManager.html b/docs/v2.0.0/classes/PlayersManager.html new file mode 100644 index 00000000..8a95de6b --- /dev/null +++ b/docs/v2.0.0/classes/PlayersManager.html @@ -0,0 +1,49 @@ +PlayersManager | archipelago.js - v2.0.0
                                    +

                                      Class PlayersManager

                                      Manages tracking and updating all players in the room session.

                                      +
                                      +
                                      + +
                                      + + Hierarchy
                                      +
                                      + +
                                      +

                                      Accessors

                                      Methods

                                      Accessors

                                      • get teams(): Player[][]
                                      • Returns a 2D array of player metadata ranked by team number, then slot number.

                                        +

                                        Returns Player[][]

                                        for (const team of client.players.teams) {
                                        for (const player of team) {
                                        console.log(player.alias);
                                        }
                                        } +
                                        + +

                                      Methods

                                      • Attempt to find a player by their team or slot name.

                                        +

                                        Parameters

                                        • slot: number

                                          The slot id associated with the searched player.

                                          +
                                        • Optionalteam: number

                                          The team id associated with the searched player. If omitted, defaults to the team of the client +player.

                                          +

                                        Returns undefined | Player

                                        The player's metadata or undefined if not found.

                                        +
                                      • Returns a promise that waits for a single specified event to be received. Resolves with the list of arguments +dispatched with the event.

                                        +

                                        Type Parameters

                                        • Event extends "aliasUpdated"

                                        Parameters

                                        • event: Event

                                          The event name to listen for.

                                          +
                                        • clearPredicate: ((...args: PlayerEvents[Event]) => boolean) = ...

                                          An optional predicate to check on incoming events to validate if the correct event has +been received. If omitted, will return immediately on next event type received.

                                          +

                                        Returns Promise<PlayerEvents[Event]>

                                      \ No newline at end of file diff --git a/docs/v2.0.0/classes/RoomStateManager.html b/docs/v2.0.0/classes/RoomStateManager.html new file mode 100644 index 00000000..343fa5b2 --- /dev/null +++ b/docs/v2.0.0/classes/RoomStateManager.html @@ -0,0 +1,68 @@ +RoomStateManager | archipelago.js - v2.0.0
                                      +

                                        Class RoomStateManager

                                        Managers room state information, notifies subscribers of changes, and exposes helper methods for interacting with the +room.

                                        +
                                        +
                                        + +
                                        + + Hierarchy
                                        +
                                        + +
                                        +

                                        Accessors

                                        • get generatorVersion(): {
                                              build: number;
                                              major: number;
                                              minor: number;
                                          }
                                        • Returns the version of Archipelago the seed was generated from.

                                          +

                                          Returns {
                                              build: number;
                                              major: number;
                                              minor: number;
                                          }

                                          • build: number
                                          • major: number
                                          • minor: number

                                          All properties will be -1 prior to initial connection.

                                          +
                                        • get race(): boolean
                                        • Experimental

                                          Returns if this seed was generated with race mode enabled (to be used to obscure unnecessary details to make +clients race legal depending on rules).

                                          +

                                          Returns boolean

                                        • get seedName(): string
                                        • Get the seed name for this room.

                                          +

                                          Returns string

                                          In non-race seeds, this is based on the seed to generate this multi-world, but not exactly the same to +prevent reverse engineering. In race seeds, this is completely random.

                                          +
                                        • get serverVersion(): {
                                              build: number;
                                              major: number;
                                              minor: number;
                                          }
                                        • Returns the version of Archipelago the server is currently running.

                                          +

                                          Returns {
                                              build: number;
                                              major: number;
                                              minor: number;
                                          }

                                          • build: number
                                          • major: number
                                          • minor: number

                                          All properties will be -1 prior to initial connection.

                                          +

                                        Methods

                                        • Removes an existing event listener.

                                          +

                                          Type Parameters

                                          • Event extends
                                                | "passwordUpdated"
                                                | "permissionsUpdated"
                                                | "locationCheckPointsUpdated"
                                                | "hintCostUpdated"
                                                | "hintPointsUpdated"
                                                | "locationsChecked"

                                          Parameters

                                          • event: Event

                                            The event name associated with this listener to remove.

                                            +
                                          • listener: ((...args: RoomStateEvents[Event]) => void)

                                            The callback function to remove.

                                            +

                                          Returns this

                                          This object.

                                          +
                                        • Add an event listener for a specific event.

                                          +

                                          Type Parameters

                                          • Event extends
                                                | "passwordUpdated"
                                                | "permissionsUpdated"
                                                | "locationCheckPointsUpdated"
                                                | "hintCostUpdated"
                                                | "hintPointsUpdated"
                                                | "locationsChecked"

                                          Parameters

                                          • event: Event

                                            The event name to listen for.

                                            +
                                          • listener: ((...args: RoomStateEvents[Event]) => void)

                                            The callback function to fire when this event is received.

                                            +

                                          Returns this

                                          This object.

                                          +
                                        • Returns a promise that waits for a single specified event to be received. Resolves with the list of arguments +dispatched with the event.

                                          +

                                          Type Parameters

                                          • Event extends
                                                | "passwordUpdated"
                                                | "permissionsUpdated"
                                                | "locationCheckPointsUpdated"
                                                | "hintCostUpdated"
                                                | "hintPointsUpdated"
                                                | "locationsChecked"

                                          Parameters

                                          • event: Event

                                            The event name to listen for.

                                            +
                                          • clearPredicate: ((...args: RoomStateEvents[Event]) => boolean) = ...

                                            An optional predicate to check on incoming events to validate if the correct event has +been received. If omitted, will return immediately on next event type received.

                                            +

                                          Returns Promise<RoomStateEvents[Event]>

                                        \ No newline at end of file diff --git a/docs/v2.0.0/classes/SocketManager.html b/docs/v2.0.0/classes/SocketManager.html new file mode 100644 index 00000000..ee5b6a1c --- /dev/null +++ b/docs/v2.0.0/classes/SocketManager.html @@ -0,0 +1,53 @@ +SocketManager | archipelago.js - v2.0.0
                                        +

                                          Class SocketManager

                                          Manages socket-level communication and exposes helper methods/events for interacting with the Archipelago API +directly.

                                          +
                                          +
                                          + +
                                          + + Hierarchy
                                          +
                                          + +
                                          +

                                          Accessors

                                          Methods

                                          Accessors

                                          Methods

                                          • Establish a connection to an Archipelago server before authenticating; useful if there might be tasked that are +needed to be performed before authenticating, but after connecting (e.g., DataPackage).

                                            +

                                            Parameters

                                            • url: string | URL

                                              The url of the server, including the protocol (e.g., wss://archipelago.gg:38281).

                                              +

                                            Returns Promise<RoomInfoPacket>

                                            The RoomInfoPacket received on initial connection.

                                            +

                                            SocketError If failed to connect or no websocket API is available.

                                            +

                                            TypeError If provided URL is malformed or invalid protocol.

                                            +

                                            If the port is omitted, client will default to 38281.

                                            +

                                            If the protocol is omitted, client will attempt to connect via wss, then fallback to ws if unsuccessful.

                                            +
                                          • Removes an existing event listener.

                                            +

                                            Type Parameters

                                            • Event extends
                                                  | "disconnected"
                                                  | "connected"
                                                  | "bounced"
                                                  | "connectionRefused"
                                                  | "dataPackage"
                                                  | "invalidPacket"
                                                  | "locationInfo"
                                                  | "printJSON"
                                                  | "receivedItems"
                                                  | "retrieved"
                                                  | "roomInfo"
                                                  | "roomUpdate"
                                                  | "setReply"
                                                  | "receivedPacket"
                                                  | "sentPackets"

                                            Parameters

                                            • event: Event

                                              The event name associated with this listener to remove.

                                              +
                                            • listener: ((...args: SocketEvents[Event]) => void)

                                              The callback function to remove.

                                              +

                                            Returns this

                                            This object.

                                            +
                                          • Add an event listener for a specific event.

                                            +

                                            Type Parameters

                                            • Event extends
                                                  | "disconnected"
                                                  | "connected"
                                                  | "bounced"
                                                  | "connectionRefused"
                                                  | "dataPackage"
                                                  | "invalidPacket"
                                                  | "locationInfo"
                                                  | "printJSON"
                                                  | "receivedItems"
                                                  | "retrieved"
                                                  | "roomInfo"
                                                  | "roomUpdate"
                                                  | "setReply"
                                                  | "receivedPacket"
                                                  | "sentPackets"

                                            Parameters

                                            • event: Event

                                              The event name to listen for.

                                              +
                                            • listener: ((...args: SocketEvents[Event]) => void)

                                              The callback function to fire when this event is received.

                                              +

                                            Returns this

                                            This object.

                                            +
                                          • Returns a promise that waits for a single specified event to be received. Resolves with the list of arguments +dispatched with the event.

                                            +

                                            Type Parameters

                                            • Event extends
                                                  | "disconnected"
                                                  | "connected"
                                                  | "bounced"
                                                  | "connectionRefused"
                                                  | "dataPackage"
                                                  | "invalidPacket"
                                                  | "locationInfo"
                                                  | "printJSON"
                                                  | "receivedItems"
                                                  | "retrieved"
                                                  | "roomInfo"
                                                  | "roomUpdate"
                                                  | "setReply"
                                                  | "receivedPacket"
                                                  | "sentPackets"

                                            Parameters

                                            • event: Event

                                              The event name to listen for.

                                              +
                                            • clearPredicate: ((...args: SocketEvents[Event]) => boolean) = ...

                                              An optional predicate to check on incoming events to validate if the correct event has +been received. If omitted, will return immediately on next event type received.

                                              +

                                            Returns Promise<SocketEvents[Event]>

                                          \ No newline at end of file diff --git a/docs/v2.0.0/classes/TextualMessageNode.html b/docs/v2.0.0/classes/TextualMessageNode.html new file mode 100644 index 00000000..dfadcb6a --- /dev/null +++ b/docs/v2.0.0/classes/TextualMessageNode.html @@ -0,0 +1,27 @@ +TextualMessageNode | archipelago.js - v2.0.0
                                          +

                                            Class TextualMessageNode

                                            A message node object containing explicit color metadata.

                                            +
                                            +
                                            + +
                                            + + Hierarchy
                                            +
                                            +
                                            +
                                            +
                                            +

                                            Properties

                                            Accessors

                                            Methods

                                            Properties

                                            client: Client

                                            The client object containing additional context metadata.

                                            +

                                            The underlying message part component.

                                            +
                                            type: "text" | "entrance"

                                            The type of this message node.

                                            +

                                            Accessors

                                            • get text(): string
                                            • Returns the plaintext component of this message node.

                                              +

                                              Returns string

                                              Same value returned from .toString().

                                              +

                                            Methods

                                            \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.BaseMessageNode.html b/docs/v2.0.0/classes/index.BaseMessageNode.html new file mode 100644 index 00000000..77ae8f36 --- /dev/null +++ b/docs/v2.0.0/classes/index.BaseMessageNode.html @@ -0,0 +1,27 @@ +BaseMessageNode | archipelago.js - v2.0.0
                                            +

                                              Class BaseMessageNodeAbstract

                                              The base class for all message node objects.

                                              +
                                              +
                                              + +
                                              + + Hierarchy
                                              +
                                              + +
                                              +

                                              Properties

                                              Accessors

                                              Methods

                                              Properties

                                              client: Client

                                              The client object containing additional context metadata.

                                              +

                                              The underlying message part component.

                                              +
                                              type: string

                                              The type of this message node.

                                              +

                                              Accessors

                                              • get text(): string
                                              • Returns the plaintext component of this message node.

                                                +

                                                Returns string

                                                Same value returned from .toString().

                                                +

                                              Methods

                                              \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.Client.html b/docs/v2.0.0/classes/index.Client.html new file mode 100644 index 00000000..6a5b0745 --- /dev/null +++ b/docs/v2.0.0/classes/index.Client.html @@ -0,0 +1,106 @@ +Client | archipelago.js - v2.0.0
                                              +

                                                Class Client

                                                The client that connects to an Archipelago server and provides helper methods and objects to facilitate +communication, listen for events, and manage data.

                                                +

                                                Constructors

                                                Properties

                                                deathLink: DeathLinkManager = ...

                                                A helper object for handling DeathLink mechanics.

                                                +
                                                items: ItemsManager = ...

                                                A helper object for handling received items and hints.

                                                +
                                                messages: MessageManager = ...

                                                A helper object for handling chat messages.

                                                +
                                                options: Required<ClientOptions>

                                                Current options for this client.

                                                +
                                                package: DataPackageManager = ...

                                                A helper object for handling game data packages.

                                                +
                                                players: PlayersManager = ...

                                                A helper object for handling players (including self).

                                                +
                                                room: RoomStateManager = ...

                                                A helper object for handling room state.

                                                +
                                                socket: SocketManager = ...

                                                A helper object for handling websocket communication and AP network protocol.

                                                +
                                                storage: DataStorageManager = ...

                                                A helper object for handling the data storage API.

                                                +

                                                Accessors

                                                • get authenticated(): boolean
                                                • Returns true if currently connected and authenticated to the Archipelago server.

                                                  +

                                                  Returns boolean

                                                • get game(): string
                                                • Returns the client's current game name (or an empty string, if never connected).

                                                  +

                                                  Returns string

                                                • get name(): string
                                                • Returns the client's current slot name (or an empty string, if never connected).

                                                  +

                                                  Returns string

                                                Methods

                                                • Send a bounce packet targeting any clients that fulfil any target parameters. Can be listened for by listening to +"bounced" events on SocketManager.

                                                  +

                                                  Parameters

                                                  • targets: {
                                                        games?: string[];
                                                        slots?: number[];
                                                        tags?: string[];
                                                    }

                                                    The targets to receive this bounce packet.

                                                    +
                                                    • Optionalgames?: string[]

                                                      Specific games that should receive this bounce.

                                                      +
                                                    • Optionalslots?: number[]

                                                      Specific slots that should receive this bounce.

                                                      +
                                                    • Optionaltags?: string[]

                                                      Specific clients with these tags that should receive this bounce.

                                                      +
                                                  • data: JSONRecord

                                                    The json-serializable data to send.

                                                    +

                                                  Returns void

                                                  UnauthenticatedError If attempting to send a bounce while not authenticated.

                                                  +

                                                  If no targets are specified, no clients will receive this bounce packet.

                                                  +
                                                • Marks a list of locations as checked on the server.

                                                  +

                                                  Parameters

                                                  • Rest...locations: number[]

                                                    Location ids to check.

                                                    +

                                                  Returns void

                                                  UnauthenticatedError If attempting to check locations while not authenticated.

                                                  +

                                                  Locations that do not exist or have already been checked in the multi-world are ignored.

                                                  +
                                                • A shorthand for running Client.updateStatus(clientStatuses.goal). Once set, cannot be changed and if release +and/or collect is set to automatic, will release/collect all items.

                                                  +

                                                  Returns void

                                                  UnauthenticatedError If not connected and authenticated.

                                                  +
                                                • Connect and authenticate to an Archipelago server.

                                                  +

                                                  Type Parameters

                                                  • SlotData extends JSONRecord

                                                    If slot data is requested, this sets the type of the returning slot data.

                                                    +

                                                  Parameters

                                                  • url: string | URL

                                                    The url of the server, including the protocol (e.g., wss://archipelago.gg:38281).

                                                    +
                                                  • name: string

                                                    The slot name this client will be connecting to.

                                                    +
                                                  • game: string = ""

                                                    The game name this client will be connecting to. If omitted, client will connect in "TextOnly" mode.

                                                    +
                                                  • Optionaloptions: ConnectionOptions

                                                    Additional optional connection arguments.

                                                    +

                                                  Returns Promise<SlotData>

                                                  ArgumentError If slot name is empty.

                                                  +

                                                  LoginError If the server refuses the authentication attempt.

                                                  +

                                                  TypeError If provided URL is malformed or invalid protocol.

                                                  +

                                                  If the port is omitted, the client will default to 38281 (AP default).

                                                  +

                                                  If the protocol is omitted, client will attempt to connect via wss, then fallback to ws if unsuccessful.

                                                  +

                                                  Any paths, queries, fragments, or userinfo components of the provided url will be ignored.

                                                  +
                                                  import { Client } from "archipelago.js";

                                                  const client = new Client();

                                                  await client.login("wss://archipelago.gg:38281", "Phar", "Clique", {
                                                  slotData: false,
                                                  password: "4444"
                                                  }); +
                                                  + +
                                                  import { Client } from "archipelago.js";

                                                  interface CliqueSlotData {
                                                  color: string
                                                  hard_mode: boolean
                                                  }

                                                  const client = new Client();

                                                  // slotData: CliqueSlotData { color: "red", hard_mode: false }
                                                  const slotData = await client.login<CliqueSlotData>("wss://archipelago.gg:38281", "Phar", "Clique"); +
                                                  + +
                                                • Scout a list of locations for their containing items.

                                                  +

                                                  Parameters

                                                  • locations: number[]

                                                    A list of location ids to scout.

                                                    +
                                                  • createHint: 0 | 1 | 2 = 0

                                                    Whether to create hints for these locations.

                                                    +
                                                      +
                                                    • If set to 0, this packet will not create hints for any locations in this packet.
                                                    • +
                                                    • If set to 1, this packet will create hints for all locations in this packet and broadcast them to all +relevant clients.
                                                    • +
                                                    • If set to 2, this packet will create hints for all locations in this packet and broadcast only new hints to +all relevant clients.
                                                    • +
                                                    +

                                                  Returns Promise<Item[]>

                                                  UnauthenticatedError If attempting to scout locations while not authenticated.

                                                  +
                                                • Request the server update the kinds of item received events this client should receive.

                                                  +

                                                  Parameters

                                                  • items: number

                                                    New item handling flags.

                                                    +

                                                  Returns void

                                                  UnauthenticatedError If not connected and authenticated.

                                                  +
                                                • Update the client status for the current player. For a list of known client statuses, see clientStatuses.

                                                  +

                                                  Parameters

                                                  Returns void

                                                  UnauthenticatedError If not connected and authenticated.

                                                  +

                                                  The server will automatically set the player's status to clientStatuses.disconnected when all +clients connected to this slot have disconnected, set the status to clientStatuses.connected if a client +connects to this slot when previously set to clientStatuses.disconnected, or ignores any future updates +if ever set to clientStatuses.goal.

                                                  +
                                                  import { Client, clientStatuses } from "archipelago.js";

                                                  const client = new Client();
                                                  await client.login("wss://archipelago.gg:38281", "Phar", "Clique");

                                                  // Mark client as ready to start.
                                                  client.updateStatus(clientStatuses.ready); +
                                                  + +
                                                • Request the server update this client's tags.

                                                  +

                                                  Parameters

                                                  • tags: string[]

                                                    Tags to replace the current ones.

                                                    +

                                                  Returns void

                                                  UnauthenticatedError If not connected and authenticated.

                                                  +
                                                \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.ColorMessageNode.html b/docs/v2.0.0/classes/index.ColorMessageNode.html new file mode 100644 index 00000000..8ca6029b --- /dev/null +++ b/docs/v2.0.0/classes/index.ColorMessageNode.html @@ -0,0 +1,29 @@ +ColorMessageNode | archipelago.js - v2.0.0
                                                +

                                                  Class ColorMessageNode

                                                  A message node object containing explicit color metadata.

                                                  +
                                                  +
                                                  + +
                                                  + + Hierarchy
                                                  +
                                                  +
                                                  +
                                                  +
                                                  +

                                                  Properties

                                                  Accessors

                                                  Methods

                                                  Properties

                                                  client: Client

                                                  The client object containing additional context metadata.

                                                  +

                                                  The explicit color (or style) of this node.

                                                  +

                                                  The underlying message part component.

                                                  +
                                                  type: "color" = ...

                                                  The type of this message node.

                                                  +

                                                  Accessors

                                                  • get text(): string
                                                  • Returns the plaintext component of this message node.

                                                    +

                                                    Returns string

                                                    Same value returned from .toString().

                                                    +

                                                  Methods

                                                  \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.DataPackageManager.html b/docs/v2.0.0/classes/index.DataPackageManager.html new file mode 100644 index 00000000..c33e90f7 --- /dev/null +++ b/docs/v2.0.0/classes/index.DataPackageManager.html @@ -0,0 +1,62 @@ +DataPackageManager | archipelago.js - v2.0.0
                                                  +

                                                    Class DataPackageManager

                                                    Managers data packages metadata and exposes name lookup methods.

                                                    +

                                                    Methods

                                                    • Export a DataPackage object for local caching purposes.

                                                      +

                                                      Returns DataPackage

                                                      It is recommended to export/import any data packages ahead of time to reduce unnecessary calls to +DataPackageManager.fetchPackage and reduce connection startup time and lighten network overhead. See +below for an example.

                                                      +
                                                      import fs from "node:fs";
                                                      import { Client } from "archipelago.js";

                                                      // ... misc client code (connecting and fetching data package).

                                                      // Save data package to a local file.
                                                      const data = client.package.exportPackage();
                                                      fs.writeFileSync("path/to/cache/datapackage_cache.json", JSON.stringify(data), "utf8"); +
                                                      + +
                                                    • Fetches and returns the DataPackage from the server, if the games are not locally cached or checksums +do not match.

                                                      +

                                                      Parameters

                                                      • games: string[] = []

                                                        A list of game packages to fetch. If omitted, will fetch all available game packages from the +current room.

                                                        +
                                                      • update: boolean = true

                                                        If true, after fetching the data package, any changes will automatically be updated without +needing to manually call DataPackageManager.importPackage.

                                                        +

                                                      Returns Promise<DataPackage>

                                                      It is recommended to export and locally cache the data package after fetching, then prior to any future +connections, importing the locally cached package to reduce unnecessary network bandwidth.

                                                      +

                                                      Any requested games that do not exist in the current room will be ignored.

                                                      +
                                                    • Import a DataPackage object to prepopulate local cache.

                                                      +

                                                      Parameters

                                                      Returns void

                                                      It is recommended to export/import any data packages ahead of time to reduce unnecessary calls to +DataPackageManager.fetchPackage and reduce connection startup time and lighten network overhead. See +below for an example.

                                                      +
                                                      import fs from "node:fs";
                                                      import { Client } from "archipelago.js";

                                                      const data = fs.readFileSync("path/to/cache/datapackage_cache.json");
                                                      const client = new Client();

                                                      client.package.importPackage(JSON.parse(data));
                                                      await client.login("wss://archipelago.gg:38281", "Phar", "Clique"); +
                                                      + +
                                                      <script src="archipelago.js" type="module">
                                                      import { Client } from "archipelago.js";

                                                      const data = localStorage.getItem("datapackage_cache");
                                                      const client = new Client();

                                                      client.package.importPackage(JSON.parse(data));
                                                      await client.login("wss://archipelago.gg:38281", "Phar", "Clique");
                                                      </script> +
                                                      + +
                                                    • Lookup an item name by its integer id.

                                                      +

                                                      Parameters

                                                      • game: string

                                                        The name of the game this item is associated with.

                                                        +
                                                      • id: number

                                                        The id of the item to name lookup.

                                                        +
                                                      • Optionalfallback: true

                                                        If true, returns "Unknown Item {id}" instead of undefined, if id does not exist in package. +Defaults to true, if omitted.

                                                        +

                                                      Returns string

                                                    • Lookup an item name by its integer id.

                                                      +

                                                      Parameters

                                                      • game: string

                                                        The name of the game this item is associated with.

                                                        +
                                                      • id: number

                                                        The id of the item to name lookup.

                                                        +
                                                      • fallback: false

                                                        If true, returns "Unknown Item {id}" instead of undefined, if id does not exist in package. +Defaults to true, if omitted.

                                                        +

                                                      Returns undefined | string

                                                    • Lookup a location name by its integer id.

                                                      +

                                                      Parameters

                                                      • game: string

                                                        The name of the game this location is associated with.

                                                        +
                                                      • id: number

                                                        The id of the location to name lookup.

                                                        +
                                                      • Optionalfallback: true

                                                        If true, returns "Unknown Location {id}" instead of undefined, if id does not exist in +package. Defaults to true, if omitted.

                                                        +

                                                      Returns string

                                                    • Lookup a location name by its integer id.

                                                      +

                                                      Parameters

                                                      • game: string

                                                        The name of the game this location is associated with.

                                                        +
                                                      • id: number

                                                        The id of the location to name lookup.

                                                        +
                                                      • fallback: false

                                                        If true, returns "Unknown Location {id}" instead of undefined, if id does not exist in +package. Defaults to true, if omitted.

                                                        +

                                                      Returns undefined | string

                                                    \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.DataStorageManager.html b/docs/v2.0.0/classes/index.DataStorageManager.html new file mode 100644 index 00000000..e1d00cc2 --- /dev/null +++ b/docs/v2.0.0/classes/index.DataStorageManager.html @@ -0,0 +1,48 @@ +DataStorageManager | archipelago.js - v2.0.0
                                                    +

                                                      Class DataStorageManager

                                                      Manages communication between the data storage API and notifies subscribers of changes to storage updates.

                                                      +

                                                      Accessors

                                                      Methods

                                                      • Fetches a list of key-value pairs from data storage.

                                                        +

                                                        Type Parameters

                                                        • T extends JSONRecord

                                                          The expected key-value types to be returned.

                                                          +

                                                        Parameters

                                                        • keys: (keyof T)[]

                                                          A list of keys to fetch values for.

                                                          +
                                                        • Optionalmonitor: boolean

                                                          Adds keys to local cache and request the server to update client when changes are made to speed up +subsequent lookups.

                                                          +

                                                        Returns Promise<T>

                                                        An object containing all current values for each key requested.

                                                        +

                                                        Any keys not currently cached and monitored will be requested over the network instead of from memory.

                                                        +
                                                      • Fetches a single key-value pair from data storage.

                                                        +

                                                        Type Parameters

                                                        Parameters

                                                        • key: string

                                                          The key to fetch a value for.

                                                          +
                                                        • Optionalmonitor: boolean

                                                          Adds key to local cache and request the server to update client when changes are made to speed up +subsequent lookups.

                                                          +

                                                        Returns Promise<T>

                                                        The current value for this key.

                                                        +

                                                        Any keys not currently cached and monitored will be requested over the network instead of from memory.

                                                        +
                                                      • Returns item name groups for this package from data storage API.

                                                        +

                                                        Parameters

                                                        • game: string

                                                          The game name to look up item name groups for.

                                                          +

                                                        Returns Promise<Record<string, string[]>>

                                                      • Returns location name groups for this package from the data storage API.

                                                        +

                                                        Parameters

                                                        • game: string

                                                          The game name to look up location name groups for.

                                                          +

                                                        Returns Promise<Record<string, string[]>>

                                                      • Add a list of keys to be monitored for changes and fire a callback when changes are detected.

                                                        +

                                                        Type Parameters

                                                        Parameters

                                                        • keys: (keyof T)[]

                                                          A list of keys to fetch and watch for changes.

                                                          +
                                                        • callback: DataChangeCallback

                                                          A callback to fire whenever one of these keys change.

                                                          +

                                                        Returns Promise<T>

                                                        An object containing all current values for each key requested.

                                                        +

                                                        If connection to the Archipelago server is lost, keys will no longer be tracked for changes and need to +be monitored again.

                                                        +
                                                        const keys = ["key1", "key2"];
                                                        const data = await client.storage.notify(keys, (key, value, oldValue) => {
                                                        console.log(`Key '${key}' has been updated from ${oldValue} to ${value}!`);
                                                        });

                                                        client.storage
                                                        .prepare("key2", 0)
                                                        .add(5)
                                                        .commit();
                                                        // Key 'key2' has been updated from 0 to 5! +
                                                        + +
                                                      • Create a new transaction for setting a data storage key by returning an IntermediateDataOperation. To +perform certain operations, just chain additional methods until finished, then call prepare().

                                                        +

                                                        Type Parameters

                                                        Parameters

                                                        • key: string

                                                          The key to manipulate.

                                                          +
                                                        • _default: T

                                                          The default value to be used if key does not exist.

                                                          +

                                                        Returns IntermediateDataOperation<T>

                                                        TypeError if attempting to modify a read only key.

                                                        +
                                                        // Prepare key "my-key" and set initial value to 100, if key doesn't exist.
                                                        client.storage
                                                        .prepare("my-key", 100)
                                                        .multiply(0.25) // Multiply value by 0.25.
                                                        .floor() // Round down to nearest integer.
                                                        .max(0) // Clamp value above 0.
                                                        .commit(); // Commit operations to data storage. +
                                                        + +
                                                      \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.DeathLinkManager.html b/docs/v2.0.0/classes/index.DeathLinkManager.html new file mode 100644 index 00000000..f8e308e5 --- /dev/null +++ b/docs/v2.0.0/classes/index.DeathLinkManager.html @@ -0,0 +1,47 @@ +DeathLinkManager | archipelago.js - v2.0.0
                                                      +

                                                        Class DeathLinkManager

                                                        Manages DeathLink mechanics for clients that choose to opt in to the mechanic.

                                                        +
                                                        +
                                                        + +
                                                        + + Hierarchy
                                                        +
                                                        + +
                                                        +

                                                        Accessors

                                                        Methods

                                                        • If DeathLink is enabled, sends a DeathLink to all DeathLink enabled players, otherwise this method does nothing.

                                                          +

                                                          Parameters

                                                          • source: string

                                                            The name of the player who died. Can be a slot name, but could also be a name from within a +multiplayer game.

                                                            +
                                                          • Optionalcause: string

                                                            Optional text explaining the cause of death. When provided, this should include the player's name. +(e.g., Phar drowned in a vat of kittens.)

                                                            +

                                                          Returns void

                                                          UnauthenticatedError If attempting to send a death link before authenticating to the server.

                                                          +

                                                          DeathLinks sent from this client will not fire a DeathEvents.deathReceived event to avoid +an infinite feedback loop of deaths.

                                                          +
                                                        • Returns a promise that waits for a single specified event to be received. Resolves with the list of arguments +dispatched with the event.

                                                          +

                                                          Type Parameters

                                                          • Event extends "deathReceived"

                                                          Parameters

                                                          • event: Event

                                                            The event name to listen for.

                                                            +
                                                          • clearPredicate: ((...args: DeathEvents[Event]) => boolean) = ...

                                                            An optional predicate to check on incoming events to validate if the correct event has +been received. If omitted, will return immediately on next event type received.

                                                            +

                                                          Returns Promise<DeathEvents[Event]>

                                                        \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.EventBasedManager.html b/docs/v2.0.0/classes/index.EventBasedManager.html new file mode 100644 index 00000000..72864fae --- /dev/null +++ b/docs/v2.0.0/classes/index.EventBasedManager.html @@ -0,0 +1,34 @@ +EventBasedManager | archipelago.js - v2.0.0
                                                        +

                                                          Class EventBasedManager<Events>Abstract

                                                          An abstract class for managers that offer an event-based API.

                                                          +

                                                          Type Parameters

                                                          • Events extends {
                                                                [p: string]: unknown[];
                                                            }

                                                            An interface of events supported by this derived manager.

                                                            +
                                                          +
                                                          + +
                                                          + + Hierarchy
                                                          +
                                                          + +
                                                          +

                                                          Constructors

                                                          Methods

                                                          off +on +wait +

                                                          Constructors

                                                          Methods

                                                          • Removes an existing event listener.

                                                            +

                                                            Type Parameters

                                                            • Event extends string

                                                            Parameters

                                                            • event: Event

                                                              The event name associated with this listener to remove.

                                                              +
                                                            • listener: ((...args: Events[Event]) => void)

                                                              The callback function to remove.

                                                              +
                                                                • (...args): void
                                                                • Parameters

                                                                  Returns void

                                                            Returns this

                                                            This object.

                                                            +
                                                          • Add an event listener for a specific event.

                                                            +

                                                            Type Parameters

                                                            • Event extends string

                                                            Parameters

                                                            • event: Event

                                                              The event name to listen for.

                                                              +
                                                            • listener: ((...args: Events[Event]) => void)

                                                              The callback function to fire when this event is received.

                                                              +
                                                                • (...args): void
                                                                • Parameters

                                                                  Returns void

                                                            Returns this

                                                            This object.

                                                            +
                                                          • Returns a promise that waits for a single specified event to be received. Resolves with the list of arguments +dispatched with the event.

                                                            +

                                                            Type Parameters

                                                            • Event extends string

                                                            Parameters

                                                            • event: Event

                                                              The event name to listen for.

                                                              +
                                                            • clearPredicate: ((...args: Events[Event]) => boolean) = ...

                                                              An optional predicate to check on incoming events to validate if the correct event has +been received. If omitted, will return immediately on next event type received.

                                                              +
                                                                • (...args): boolean
                                                                • Parameters

                                                                  Returns boolean

                                                            Returns Promise<Events[Event]>

                                                          \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.Hint.html b/docs/v2.0.0/classes/index.Hint.html new file mode 100644 index 00000000..fb72fd16 --- /dev/null +++ b/docs/v2.0.0/classes/index.Hint.html @@ -0,0 +1,12 @@ +Hint | archipelago.js - v2.0.0
                                                          +

                                                            Class Hint

                                                            An abstraction of NetworkHint that exposes additional helper methods and accessors received hint data.

                                                            +

                                                            Accessors

                                                            Accessors

                                                            • get entrance(): string
                                                            • Returns the entrance this location is at if entrance data is available, otherwise "Vanilla".

                                                              +

                                                              Returns string

                                                            • get found(): boolean
                                                            • Returns true if this item has been found.

                                                              +

                                                              Returns boolean

                                                            \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.IntermediateDataOperation.html b/docs/v2.0.0/classes/index.IntermediateDataOperation.html new file mode 100644 index 00000000..7bdaf6c0 --- /dev/null +++ b/docs/v2.0.0/classes/index.IntermediateDataOperation.html @@ -0,0 +1,65 @@ +IntermediateDataOperation | archipelago.js - v2.0.0
                                                            +

                                                              Class IntermediateDataOperation<T>

                                                              An intermediate abstract object holding an array of data storage operations to be performed in order by the server.

                                                              +

                                                              Type Parameters

                                                              Methods

                                                              • Commit the current operations to data store and return a Promise with the updated key, once fulfilled.

                                                                +

                                                                Parameters

                                                                • awaitReply: true

                                                                  If true, a promise will be returned with the new value. Otherwise, immediately resolves.

                                                                  +

                                                                Returns Promise<T>

                                                              • Commit the current operations to data store.

                                                                +

                                                                Parameters

                                                                • awaitReply: false

                                                                Returns Promise<void>

                                                              \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.Item.html b/docs/v2.0.0/classes/index.Item.html new file mode 100644 index 00000000..c29be01c --- /dev/null +++ b/docs/v2.0.0/classes/index.Item.html @@ -0,0 +1,34 @@ +Item | archipelago.js - v2.0.0
                                                              +

                                                                Class Item

                                                                An abstraction of NetworkItem that exposes additional helper methods and accessors for this item data.

                                                                +

                                                                Accessors

                                                                • get filler(): boolean
                                                                • Returns true if this item has no special flags.

                                                                  +

                                                                  Returns boolean

                                                                • get flags(): number
                                                                • Returns the item classification bitflags for this item.

                                                                  +

                                                                  Returns number

                                                                • get locationGame(): string
                                                                • Returns the game name for the location this item was contained.

                                                                  +

                                                                  Returns string

                                                                • get locationId(): number
                                                                • Returns the id of the location where this item was contained.

                                                                  +

                                                                  Returns number

                                                                • get locationName(): string
                                                                • Returns the name of the location where this item was contained.

                                                                  +

                                                                  Returns string

                                                                • get progression(): boolean
                                                                • Returns true if this item is flagged as progression.

                                                                  +

                                                                  Returns boolean

                                                                • get trap(): boolean
                                                                • Returns true if this item is flagged as a trap.

                                                                  +

                                                                  Returns boolean

                                                                • get useful(): boolean
                                                                • Returns true if this item is flagged as useful.

                                                                  +

                                                                  Returns boolean

                                                                Methods

                                                                \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.ItemMessageNode.html b/docs/v2.0.0/classes/index.ItemMessageNode.html new file mode 100644 index 00000000..d76dc051 --- /dev/null +++ b/docs/v2.0.0/classes/index.ItemMessageNode.html @@ -0,0 +1,28 @@ +ItemMessageNode | archipelago.js - v2.0.0
                                                                +

                                                                  Class ItemMessageNode

                                                                  A message node object containing item metadata.

                                                                  +
                                                                  +
                                                                  + +
                                                                  + + Hierarchy
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +

                                                                  Properties

                                                                  Accessors

                                                                  Methods

                                                                  Properties

                                                                  client: Client

                                                                  The client object containing additional context metadata.

                                                                  +
                                                                  item: Item

                                                                  The item this node is referring to.

                                                                  +

                                                                  The underlying message part component.

                                                                  +
                                                                  type: "item" = ...

                                                                  The type of this message node.

                                                                  +

                                                                  Accessors

                                                                  Methods

                                                                  \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.ItemsManager.html b/docs/v2.0.0/classes/index.ItemsManager.html new file mode 100644 index 00000000..70633a7b --- /dev/null +++ b/docs/v2.0.0/classes/index.ItemsManager.html @@ -0,0 +1,41 @@ +ItemsManager | archipelago.js - v2.0.0
                                                                  +

                                                                    Class ItemsManager

                                                                    Manages tracking and receiving of all received items and hints.

                                                                    +
                                                                    +
                                                                    + +
                                                                    + + Hierarchy
                                                                    +
                                                                    + +
                                                                    +

                                                                    Accessors

                                                                    Methods

                                                                    off +on +wait +

                                                                    Accessors

                                                                    • get hints(): Hint[]
                                                                    • Returns a copy of all hints for this player.

                                                                      +

                                                                      Returns Hint[]

                                                                      Hints may take a moment to populate after establishing connection to server, as it needs to wait for +data storage to fetch all current hints. If you need hints right after connecting, listen for the +ItemEvents.hintsInitialized event.

                                                                      +

                                                                    Methods

                                                                    • Removes an existing event listener.

                                                                      +

                                                                      Type Parameters

                                                                      • Event extends
                                                                            | "itemsReceived"
                                                                            | "hintReceived"
                                                                            | "hintFound"
                                                                            | "hintsInitialized"

                                                                      Parameters

                                                                      • event: Event

                                                                        The event name associated with this listener to remove.

                                                                        +
                                                                      • listener: ((...args: ItemEvents[Event]) => void)

                                                                        The callback function to remove.

                                                                        +

                                                                      Returns this

                                                                      This object.

                                                                      +
                                                                    • Add an event listener for a specific event.

                                                                      +

                                                                      Type Parameters

                                                                      • Event extends
                                                                            | "itemsReceived"
                                                                            | "hintReceived"
                                                                            | "hintFound"
                                                                            | "hintsInitialized"

                                                                      Parameters

                                                                      • event: Event

                                                                        The event name to listen for.

                                                                        +
                                                                      • listener: ((...args: ItemEvents[Event]) => void)

                                                                        The callback function to fire when this event is received.

                                                                        +

                                                                      Returns this

                                                                      This object.

                                                                      +
                                                                    • Returns a promise that waits for a single specified event to be received. Resolves with the list of arguments +dispatched with the event.

                                                                      +

                                                                      Type Parameters

                                                                      • Event extends
                                                                            | "itemsReceived"
                                                                            | "hintReceived"
                                                                            | "hintFound"
                                                                            | "hintsInitialized"

                                                                      Parameters

                                                                      • event: Event

                                                                        The event name to listen for.

                                                                        +
                                                                      • clearPredicate: ((...args: ItemEvents[Event]) => boolean) = ...

                                                                        An optional predicate to check on incoming events to validate if the correct event has +been received. If omitted, will return immediately on next event type received.

                                                                        +

                                                                      Returns Promise<ItemEvents[Event]>

                                                                    \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.LocationMessageNode.html b/docs/v2.0.0/classes/index.LocationMessageNode.html new file mode 100644 index 00000000..8819eccc --- /dev/null +++ b/docs/v2.0.0/classes/index.LocationMessageNode.html @@ -0,0 +1,28 @@ +LocationMessageNode | archipelago.js - v2.0.0
                                                                    +

                                                                      Class LocationMessageNode

                                                                      A message node object containing location metadata.

                                                                      +
                                                                      +
                                                                      + +
                                                                      + + Hierarchy
                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +

                                                                      Properties

                                                                      Accessors

                                                                      Methods

                                                                      Properties

                                                                      client: Client

                                                                      The client object containing additional context metadata.

                                                                      +
                                                                      id: number

                                                                      The integer id of this location.

                                                                      +

                                                                      The underlying message part component.

                                                                      +
                                                                      type: "location" = ...

                                                                      The type of this message node.

                                                                      +

                                                                      Accessors

                                                                      Methods

                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.MessageManager.html b/docs/v2.0.0/classes/index.MessageManager.html new file mode 100644 index 00000000..1eabddc8 --- /dev/null +++ b/docs/v2.0.0/classes/index.MessageManager.html @@ -0,0 +1,42 @@ +MessageManager | archipelago.js - v2.0.0
                                                                      +

                                                                        Class MessageManager

                                                                        Manages and stores PrintJSONPacket messages, notifies subscribers of new messages, and exposes helper methods +to interact with the chat system.

                                                                        +
                                                                        +
                                                                        + +
                                                                        + + Hierarchy
                                                                        +
                                                                        + +
                                                                        +

                                                                        Accessors

                                                                        log +

                                                                        Methods

                                                                        off +on +say +wait +

                                                                        Accessors

                                                                        Methods

                                                                        • Removes an existing event listener.

                                                                          +

                                                                          Type Parameters

                                                                          • Event extends
                                                                                | "disconnected"
                                                                                | "connected"
                                                                                | "message"
                                                                                | "itemSent"
                                                                                | "itemCheated"
                                                                                | "itemHinted"
                                                                                | "chat"
                                                                                | "serverChat"
                                                                                | "tutorial"
                                                                                | "tagsUpdated"
                                                                                | "userCommand"
                                                                                | "adminCommand"
                                                                                | "goaled"
                                                                                | "released"
                                                                                | "collected"
                                                                                | "countdown"

                                                                          Parameters

                                                                          • event: Event

                                                                            The event name associated with this listener to remove.

                                                                            +
                                                                          • listener: ((...args: MessageEvents[Event]) => void)

                                                                            The callback function to remove.

                                                                            +

                                                                          Returns this

                                                                          This object.

                                                                          +
                                                                        • Add an event listener for a specific event.

                                                                          +

                                                                          Type Parameters

                                                                          • Event extends
                                                                                | "disconnected"
                                                                                | "connected"
                                                                                | "message"
                                                                                | "itemSent"
                                                                                | "itemCheated"
                                                                                | "itemHinted"
                                                                                | "chat"
                                                                                | "serverChat"
                                                                                | "tutorial"
                                                                                | "tagsUpdated"
                                                                                | "userCommand"
                                                                                | "adminCommand"
                                                                                | "goaled"
                                                                                | "released"
                                                                                | "collected"
                                                                                | "countdown"

                                                                          Parameters

                                                                          • event: Event

                                                                            The event name to listen for.

                                                                            +
                                                                          • listener: ((...args: MessageEvents[Event]) => void)

                                                                            The callback function to fire when this event is received.

                                                                            +

                                                                          Returns this

                                                                          This object.

                                                                          +
                                                                        • Sends a chat message to the server.

                                                                          +

                                                                          Parameters

                                                                          • text: string

                                                                            The textual message to broadcast to all connected clients.

                                                                            +

                                                                          Returns Promise<void>

                                                                          A promise that resolves when the server has broadcast the chat message.

                                                                          +

                                                                          UnauthenticatedError if attempting to send a chat message when not connected or authenticated.

                                                                          +
                                                                        • Returns a promise that waits for a single specified event to be received. Resolves with the list of arguments +dispatched with the event.

                                                                          +

                                                                          Type Parameters

                                                                          • Event extends
                                                                                | "disconnected"
                                                                                | "connected"
                                                                                | "message"
                                                                                | "itemSent"
                                                                                | "itemCheated"
                                                                                | "itemHinted"
                                                                                | "chat"
                                                                                | "serverChat"
                                                                                | "tutorial"
                                                                                | "tagsUpdated"
                                                                                | "userCommand"
                                                                                | "adminCommand"
                                                                                | "goaled"
                                                                                | "released"
                                                                                | "collected"
                                                                                | "countdown"

                                                                          Parameters

                                                                          • event: Event

                                                                            The event name to listen for.

                                                                            +
                                                                          • clearPredicate: ((...args: MessageEvents[Event]) => boolean) = ...

                                                                            An optional predicate to check on incoming events to validate if the correct event has +been received. If omitted, will return immediately on next event type received.

                                                                            +

                                                                          Returns Promise<MessageEvents[Event]>

                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.PackageMetadata.html b/docs/v2.0.0/classes/index.PackageMetadata.html new file mode 100644 index 00000000..98103ce5 --- /dev/null +++ b/docs/v2.0.0/classes/index.PackageMetadata.html @@ -0,0 +1,21 @@ +PackageMetadata | archipelago.js - v2.0.0
                                                                        +

                                                                          Class PackageMetadata

                                                                          An abstraction of a GamePackage object which includes additional helper methods for interacting with a game's +package.

                                                                          +

                                                                          Properties

                                                                          checksum: string

                                                                          The SHA256 hexadecimal string representation of this game package.

                                                                          +
                                                                          game: string

                                                                          The name of the game this game package is for.

                                                                          +
                                                                          itemTable: Readonly<Record<string, number>>

                                                                          A record of names to ids for all items in this game package.

                                                                          +
                                                                          locationTable: Readonly<Record<string, number>>

                                                                          A record of names to ids for all locations in this game package.

                                                                          +
                                                                          reverseItemTable: Readonly<Record<number, string>>

                                                                          A record of ids to names for all items in this game package.

                                                                          +
                                                                          reverseLocationTable: Readonly<Record<number, string>>

                                                                          A record of ids to names for all locations in this game package.

                                                                          +

                                                                          Methods

                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.Player.html b/docs/v2.0.0/classes/index.Player.html new file mode 100644 index 00000000..02d620cc --- /dev/null +++ b/docs/v2.0.0/classes/index.Player.html @@ -0,0 +1,33 @@ +Player | archipelago.js - v2.0.0
                                                                          +

                                                                            Class Player

                                                                            A collection of metadata and helper methods for interacting with a particular player.

                                                                            +

                                                                            Accessors

                                                                            • get alias(): string
                                                                            • Returns the current nickname for this player or the slot name if not set.

                                                                              +

                                                                              Returns string

                                                                            Methods

                                                                            • Fetch this player's slot data over the network.

                                                                              +

                                                                              Type Parameters

                                                                              • SlotData extends JSONRecord

                                                                                The type of the slot data that is returned, for better typing information.

                                                                                +

                                                                              Returns Promise<SlotData>

                                                                              This data is not tracked after running, so slot data should be cached to reduce additional network +calls, if necessary.

                                                                              +
                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.PlayerMessageNode.html b/docs/v2.0.0/classes/index.PlayerMessageNode.html new file mode 100644 index 00000000..c5a7aa55 --- /dev/null +++ b/docs/v2.0.0/classes/index.PlayerMessageNode.html @@ -0,0 +1,28 @@ +PlayerMessageNode | archipelago.js - v2.0.0
                                                                            +

                                                                              Class PlayerMessageNode

                                                                              A message node object containing explicit color metadata.

                                                                              +
                                                                              +
                                                                              + +
                                                                              + + Hierarchy
                                                                              +
                                                                              +
                                                                              +
                                                                              +
                                                                              +

                                                                              Properties

                                                                              Accessors

                                                                              Methods

                                                                              Properties

                                                                              client: Client

                                                                              The client object containing additional context metadata.

                                                                              +

                                                                              The underlying message part component.

                                                                              +
                                                                              player: Player

                                                                              The player being referenced by this node.

                                                                              +
                                                                              type: "player" = ...

                                                                              The type of this message node.

                                                                              +

                                                                              Accessors

                                                                              Methods

                                                                              \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.PlayersManager.html b/docs/v2.0.0/classes/index.PlayersManager.html new file mode 100644 index 00000000..fc32290d --- /dev/null +++ b/docs/v2.0.0/classes/index.PlayersManager.html @@ -0,0 +1,49 @@ +PlayersManager | archipelago.js - v2.0.0
                                                                              +

                                                                                Class PlayersManager

                                                                                Manages tracking and updating all players in the room session.

                                                                                +
                                                                                +
                                                                                + +
                                                                                + + Hierarchy
                                                                                +
                                                                                + +
                                                                                +

                                                                                Accessors

                                                                                Methods

                                                                                Accessors

                                                                                • get teams(): Player[][]
                                                                                • Returns a 2D array of player metadata ranked by team number, then slot number.

                                                                                  +

                                                                                  Returns Player[][]

                                                                                  for (const team of client.players.teams) {
                                                                                  for (const player of team) {
                                                                                  console.log(player.alias);
                                                                                  }
                                                                                  } +
                                                                                  + +

                                                                                Methods

                                                                                • Attempt to find a player by their team or slot name.

                                                                                  +

                                                                                  Parameters

                                                                                  • slot: number

                                                                                    The slot id associated with the searched player.

                                                                                    +
                                                                                  • Optionalteam: number

                                                                                    The team id associated with the searched player. If omitted, defaults to the team of the client +player.

                                                                                    +

                                                                                  Returns undefined | Player

                                                                                  The player's metadata or undefined if not found.

                                                                                  +
                                                                                • Returns a promise that waits for a single specified event to be received. Resolves with the list of arguments +dispatched with the event.

                                                                                  +

                                                                                  Type Parameters

                                                                                  • Event extends "aliasUpdated"

                                                                                  Parameters

                                                                                  • event: Event

                                                                                    The event name to listen for.

                                                                                    +
                                                                                  • clearPredicate: ((...args: PlayerEvents[Event]) => boolean) = ...

                                                                                    An optional predicate to check on incoming events to validate if the correct event has +been received. If omitted, will return immediately on next event type received.

                                                                                    +

                                                                                  Returns Promise<PlayerEvents[Event]>

                                                                                \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.RoomStateManager.html b/docs/v2.0.0/classes/index.RoomStateManager.html new file mode 100644 index 00000000..870d2211 --- /dev/null +++ b/docs/v2.0.0/classes/index.RoomStateManager.html @@ -0,0 +1,68 @@ +RoomStateManager | archipelago.js - v2.0.0
                                                                                +

                                                                                  Class RoomStateManager

                                                                                  Managers room state information, notifies subscribers of changes, and exposes helper methods for interacting with the +room.

                                                                                  +
                                                                                  +
                                                                                  + +
                                                                                  + + Hierarchy
                                                                                  +
                                                                                  + +
                                                                                  +

                                                                                  Accessors

                                                                                  • get generatorVersion(): {
                                                                                        build: number;
                                                                                        major: number;
                                                                                        minor: number;
                                                                                    }
                                                                                  • Returns the version of Archipelago the seed was generated from.

                                                                                    +

                                                                                    Returns {
                                                                                        build: number;
                                                                                        major: number;
                                                                                        minor: number;
                                                                                    }

                                                                                    • build: number
                                                                                    • major: number
                                                                                    • minor: number

                                                                                    All properties will be -1 prior to initial connection.

                                                                                    +
                                                                                  • get race(): boolean
                                                                                  • Experimental

                                                                                    Returns if this seed was generated with race mode enabled (to be used to obscure unnecessary details to make +clients race legal depending on rules).

                                                                                    +

                                                                                    Returns boolean

                                                                                  • get seedName(): string
                                                                                  • Get the seed name for this room.

                                                                                    +

                                                                                    Returns string

                                                                                    In non-race seeds, this is based on the seed to generate this multi-world, but not exactly the same to +prevent reverse engineering. In race seeds, this is completely random.

                                                                                    +
                                                                                  • get serverVersion(): {
                                                                                        build: number;
                                                                                        major: number;
                                                                                        minor: number;
                                                                                    }
                                                                                  • Returns the version of Archipelago the server is currently running.

                                                                                    +

                                                                                    Returns {
                                                                                        build: number;
                                                                                        major: number;
                                                                                        minor: number;
                                                                                    }

                                                                                    • build: number
                                                                                    • major: number
                                                                                    • minor: number

                                                                                    All properties will be -1 prior to initial connection.

                                                                                    +

                                                                                  Methods

                                                                                  • Removes an existing event listener.

                                                                                    +

                                                                                    Type Parameters

                                                                                    • Event extends
                                                                                          | "passwordUpdated"
                                                                                          | "permissionsUpdated"
                                                                                          | "locationCheckPointsUpdated"
                                                                                          | "hintCostUpdated"
                                                                                          | "hintPointsUpdated"
                                                                                          | "locationsChecked"

                                                                                    Parameters

                                                                                    • event: Event

                                                                                      The event name associated with this listener to remove.

                                                                                      +
                                                                                    • listener: ((...args: RoomStateEvents[Event]) => void)

                                                                                      The callback function to remove.

                                                                                      +

                                                                                    Returns this

                                                                                    This object.

                                                                                    +
                                                                                  • Add an event listener for a specific event.

                                                                                    +

                                                                                    Type Parameters

                                                                                    • Event extends
                                                                                          | "passwordUpdated"
                                                                                          | "permissionsUpdated"
                                                                                          | "locationCheckPointsUpdated"
                                                                                          | "hintCostUpdated"
                                                                                          | "hintPointsUpdated"
                                                                                          | "locationsChecked"

                                                                                    Parameters

                                                                                    • event: Event

                                                                                      The event name to listen for.

                                                                                      +
                                                                                    • listener: ((...args: RoomStateEvents[Event]) => void)

                                                                                      The callback function to fire when this event is received.

                                                                                      +

                                                                                    Returns this

                                                                                    This object.

                                                                                    +
                                                                                  • Returns a promise that waits for a single specified event to be received. Resolves with the list of arguments +dispatched with the event.

                                                                                    +

                                                                                    Type Parameters

                                                                                    • Event extends
                                                                                          | "passwordUpdated"
                                                                                          | "permissionsUpdated"
                                                                                          | "locationCheckPointsUpdated"
                                                                                          | "hintCostUpdated"
                                                                                          | "hintPointsUpdated"
                                                                                          | "locationsChecked"

                                                                                    Parameters

                                                                                    • event: Event

                                                                                      The event name to listen for.

                                                                                      +
                                                                                    • clearPredicate: ((...args: RoomStateEvents[Event]) => boolean) = ...

                                                                                      An optional predicate to check on incoming events to validate if the correct event has +been received. If omitted, will return immediately on next event type received.

                                                                                      +

                                                                                    Returns Promise<RoomStateEvents[Event]>

                                                                                  \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.SocketManager.html b/docs/v2.0.0/classes/index.SocketManager.html new file mode 100644 index 00000000..1bfcec6b --- /dev/null +++ b/docs/v2.0.0/classes/index.SocketManager.html @@ -0,0 +1,53 @@ +SocketManager | archipelago.js - v2.0.0
                                                                                  +

                                                                                    Class SocketManager

                                                                                    Manages socket-level communication and exposes helper methods/events for interacting with the Archipelago API +directly.

                                                                                    +
                                                                                    +
                                                                                    + +
                                                                                    + + Hierarchy
                                                                                    +
                                                                                    + +
                                                                                    +

                                                                                    Accessors

                                                                                    Methods

                                                                                    Accessors

                                                                                    Methods

                                                                                    • Establish a connection to an Archipelago server before authenticating; useful if there might be tasked that are +needed to be performed before authenticating, but after connecting (e.g., DataPackage).

                                                                                      +

                                                                                      Parameters

                                                                                      • url: string | URL

                                                                                        The url of the server, including the protocol (e.g., wss://archipelago.gg:38281).

                                                                                        +

                                                                                      Returns Promise<RoomInfoPacket>

                                                                                      The RoomInfoPacket received on initial connection.

                                                                                      +

                                                                                      SocketError If failed to connect or no websocket API is available.

                                                                                      +

                                                                                      TypeError If provided URL is malformed or invalid protocol.

                                                                                      +

                                                                                      If the port is omitted, client will default to 38281.

                                                                                      +

                                                                                      If the protocol is omitted, client will attempt to connect via wss, then fallback to ws if unsuccessful.

                                                                                      +
                                                                                    • Removes an existing event listener.

                                                                                      +

                                                                                      Type Parameters

                                                                                      • Event extends
                                                                                            | "disconnected"
                                                                                            | "connected"
                                                                                            | "bounced"
                                                                                            | "connectionRefused"
                                                                                            | "dataPackage"
                                                                                            | "invalidPacket"
                                                                                            | "locationInfo"
                                                                                            | "printJSON"
                                                                                            | "receivedItems"
                                                                                            | "retrieved"
                                                                                            | "roomInfo"
                                                                                            | "roomUpdate"
                                                                                            | "setReply"
                                                                                            | "receivedPacket"
                                                                                            | "sentPackets"

                                                                                      Parameters

                                                                                      • event: Event

                                                                                        The event name associated with this listener to remove.

                                                                                        +
                                                                                      • listener: ((...args: SocketEvents[Event]) => void)

                                                                                        The callback function to remove.

                                                                                        +

                                                                                      Returns this

                                                                                      This object.

                                                                                      +
                                                                                    • Add an event listener for a specific event.

                                                                                      +

                                                                                      Type Parameters

                                                                                      • Event extends
                                                                                            | "disconnected"
                                                                                            | "connected"
                                                                                            | "bounced"
                                                                                            | "connectionRefused"
                                                                                            | "dataPackage"
                                                                                            | "invalidPacket"
                                                                                            | "locationInfo"
                                                                                            | "printJSON"
                                                                                            | "receivedItems"
                                                                                            | "retrieved"
                                                                                            | "roomInfo"
                                                                                            | "roomUpdate"
                                                                                            | "setReply"
                                                                                            | "receivedPacket"
                                                                                            | "sentPackets"

                                                                                      Parameters

                                                                                      • event: Event

                                                                                        The event name to listen for.

                                                                                        +
                                                                                      • listener: ((...args: SocketEvents[Event]) => void)

                                                                                        The callback function to fire when this event is received.

                                                                                        +

                                                                                      Returns this

                                                                                      This object.

                                                                                      +
                                                                                    • Returns a promise that waits for a single specified event to be received. Resolves with the list of arguments +dispatched with the event.

                                                                                      +

                                                                                      Type Parameters

                                                                                      • Event extends
                                                                                            | "disconnected"
                                                                                            | "connected"
                                                                                            | "bounced"
                                                                                            | "connectionRefused"
                                                                                            | "dataPackage"
                                                                                            | "invalidPacket"
                                                                                            | "locationInfo"
                                                                                            | "printJSON"
                                                                                            | "receivedItems"
                                                                                            | "retrieved"
                                                                                            | "roomInfo"
                                                                                            | "roomUpdate"
                                                                                            | "setReply"
                                                                                            | "receivedPacket"
                                                                                            | "sentPackets"

                                                                                      Parameters

                                                                                      • event: Event

                                                                                        The event name to listen for.

                                                                                        +
                                                                                      • clearPredicate: ((...args: SocketEvents[Event]) => boolean) = ...

                                                                                        An optional predicate to check on incoming events to validate if the correct event has +been received. If omitted, will return immediately on next event type received.

                                                                                        +

                                                                                      Returns Promise<SocketEvents[Event]>

                                                                                    \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.TextualMessageNode.html b/docs/v2.0.0/classes/index.TextualMessageNode.html new file mode 100644 index 00000000..d6a25317 --- /dev/null +++ b/docs/v2.0.0/classes/index.TextualMessageNode.html @@ -0,0 +1,27 @@ +TextualMessageNode | archipelago.js - v2.0.0
                                                                                    +

                                                                                      Class TextualMessageNode

                                                                                      A message node object containing explicit color metadata.

                                                                                      +
                                                                                      +
                                                                                      + +
                                                                                      + + Hierarchy
                                                                                      +
                                                                                      +
                                                                                      +
                                                                                      +
                                                                                      +

                                                                                      Properties

                                                                                      Accessors

                                                                                      Methods

                                                                                      Properties

                                                                                      client: Client

                                                                                      The client object containing additional context metadata.

                                                                                      +

                                                                                      The underlying message part component.

                                                                                      +
                                                                                      type: "text" | "entrance"

                                                                                      The type of this message node.

                                                                                      +

                                                                                      Accessors

                                                                                      • get text(): string
                                                                                      • Returns the plaintext component of this message node.

                                                                                        +

                                                                                        Returns string

                                                                                        Same value returned from .toString().

                                                                                        +

                                                                                      Methods

                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/documents/Quick_Start.html b/docs/v2.0.0/documents/Quick_Start.html new file mode 100644 index 00000000..7bc91d97 --- /dev/null +++ b/docs/v2.0.0/documents/Quick_Start.html @@ -0,0 +1,62 @@ +Quick Start | archipelago.js - v2.0.0
                                                                                      +

                                                                                        Quick Start Guide

                                                                                        Before we begin, make sure you fulfil the following prerequisites:

                                                                                        +
                                                                                          +
                                                                                        • Have a basic understanding of JavaScript.
                                                                                        • +
                                                                                        • Have installed a JavaScript runtime or web server for starting in the web browser.
                                                                                        • +
                                                                                        • Have an Archipelago server to connect to.
                                                                                        • +
                                                                                        +

                                                                                        To start a new project with archipelago.js, you'll need to set up a project directory.

                                                                                        +

                                                                                        If you're using a runtime like Node, you can install archipelago.js by running the following command in your +project directory: npm install archipelago.js, then following the rest of this tutorial.

                                                                                        +

                                                                                        If you're looking to run this in a web browser without packaging as a part of a tool like vite or webpack, you +can add a <script type="module"> tag to your HTML to write your JavaScript in and replace any mention of

                                                                                        +
                                                                                        import { /* ... */ } from "archipelago.js";
                                                                                        +
                                                                                        + +

                                                                                        to

                                                                                        +
                                                                                        import { /* ... */ } from "https://unpkg.com/archipelago.js/dist/index.js";
                                                                                        // or any other path to archipelago.js as desired +
                                                                                        + +

                                                                                        as appropriate for your project and all the code examples will still work.

                                                                                        +

                                                                                        To create a basic client that can listen for chat messages and print them to the console, you can use the following +example:

                                                                                        +
                                                                                        import { Client } from "archipelago.js";

                                                                                        // Create a new instance of the Client class.
                                                                                        const client = new Client();

                                                                                        // Setup a listener for incoming chat messages and print them to the console.
                                                                                        client.messages.on("chat", (message, sender) => {
                                                                                        console.log(`${sender.alias}: ${message}`);
                                                                                        });

                                                                                        // Connect to the Archipelago server (replace url, slot name, and game as appropriate for your scenario).
                                                                                        await client.login("wss://archipelago.gg:38281", "Phar", "Pusche");

                                                                                        // Send a message after connecting.
                                                                                        client.messages.say("Hello, multiworld!") +
                                                                                        + +

                                                                                        Then, run this in your runtime of choice and see incoming messages print to console and your "Hello, multiworld!" +message get broadcast to all clients (and back to yourself).

                                                                                        +

                                                                                        You can also listen for events, such as when your client receives items from the server:

                                                                                        +
                                                                                        // Setup a listener for whenever items are received and log the details.
                                                                                        client.items.on("itemsReceived", (items) => {
                                                                                        for (const item of items) {
                                                                                        console.log(`Received item ${item.name} from player ${item.sender}.`);
                                                                                        }
                                                                                        });

                                                                                        // ... misc client code below ... +
                                                                                        + +

                                                                                        Or if another player changes their alias:

                                                                                        +
                                                                                        // Setup a listener for when a player's alias (name) changes.
                                                                                        client.players.on("aliasUpdated", (_, oldAlias, newAlias) => {
                                                                                        console.log(`${oldAlias} has changed their alias to ${newAlias}.`);
                                                                                        });

                                                                                        // ... misc client code below ... +
                                                                                        + +

                                                                                        Or if you're using the DeathLink mechanic and another player dies:

                                                                                        +
                                                                                        // Setup a listener for when another DeathLink player dies.
                                                                                        client.deathLink.on("deathReceived", (source, time, cause) => {
                                                                                        if (cause) {
                                                                                        console.log(`DeathLink received from ${source}: ${cause}`);
                                                                                        return;
                                                                                        }

                                                                                        // No cause was supplied.
                                                                                        console.log(`DeathLink received from ${source}!`);
                                                                                        });

                                                                                        // ... misc client code below ... +
                                                                                        + +

                                                                                        You can also inform the server of actions you take as a client, such as checking locations:

                                                                                        +
                                                                                        // Mark a list of location ids as checked.
                                                                                        client.check(1001, 1002, 1003); +
                                                                                        + +

                                                                                        Updating keys in the data storage:

                                                                                        +
                                                                                        // Add 1 to a data storage key.
                                                                                        client.storage
                                                                                        .prepare("my_key", 0) /* 0 is the default if the key doesn't exist yet. */
                                                                                        .add(1)
                                                                                        .commit() // Commit changes. +
                                                                                        + +

                                                                                        Or sending your own DeathLinks to other players if you die.

                                                                                        +
                                                                                        // Send a DeathLink to all DeathLink enabled players.
                                                                                        client.deathLink
                                                                                        .sendDeathLink("Phar", "Phar spontanously combusted after pressing a large red button."); +
                                                                                        + +

                                                                                        Congratulations! You are now a client developer and hopefully got a taste of what this library is capable of. For more +information, check out the rest of the API documentation for archipelago.js (Client might be a good one to start +with) and explore the available features.

                                                                                        +

                                                                                        If you encounter any issues or have any questions, you can reach out on the GitHub repository for support, or in the +Archipelago Discord, specifically in this +thread once you've joined. Thanks for checking +out my little pet project for Archipelago!

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/favicon.png b/docs/v2.0.0/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..0fb8be083d8be6d1061bd2fdf42df6169b4ae3ff GIT binary patch literal 5155 zcmeHKdsGuw8lNB_LJ_O=RS;t+0_r4_7a`LG3ynm7V**5RVq+KU`2V<2evBio$wIP_MAPQv;EKH+}u0g{e8dt z-QWH02eU3bbe5z2$Mz5eIm&{i5uit?W@ih2qpf~h3%aXBj7%kyO@r*f13=QOAsU4N zjW%R#MH>bU1GX&CMuRbhq1wkZ8%w_djGg<(d0_0>kD+|nG%Lsv^t(XgfbmD5{~k1Q zZQojF!I=8kS-t`*$buN?XUXK@bPkh^Fu6X!AK~y&HXB8J=!g*Ia8bTDSf5t#CL)UI z%Gow4h%b{22nd%21kiPQt%^(_AjrHcHCG&bex^(1;>gNx;7Jd|FH8wYEX`T(b9359 zU;FPHyC4xc@x)=rkx#ss8&@x@sMu8b{hFM^MI(z=)1T9t9yac2W4QOSypCjdHy)qd z*&*(zr}-bK<{f6y;!hHIgp9py@z~+9>`dqfyD8JShkZR{q*o(9#9z2^fj#$z*W#)Z2le$$2j@B;G=%m3utc(WehXSNXHRjqd+?~Q3o`7# zFCO*XT#rg=*0V2Ndq2Fy%AGwW+Gc}`!#>HHhtDfsH=4>+%a>l4+fU8t9beZwVVG@F zM$(OA<(t%}QmvlnXG}lSe&}fW?Xc@R7r{x^nPnL{?L~VZ(zbm%^T~dubE(^Jq;ncEvYza{7$KEoW&XM`m=7CJv>X{`6{HU3nb(>J=2m({DG9F8(LT zK{FW@V~ml9ph~TpiQ!rW!8EIN)PX@FKeG-~E+dR|1rbMT#Ei~U>l8q`k#p2UoJqfv*lSSFK+Y2q@q`ZyL_C={{~ z4vWKq0RlFx&=@f@tTDJz6nz|0!l2ZXIwPso&?!z#p-nW384NH_ABaz_lgkI`HHLl_ zfF3L}rem?02urPI4fQY>1Cszre?WieVTf9xBUllHL7S*o5`jsC#^^Sb0#^?D>k{<| zmhIq57Lh=x0n`9iWxur~b>jv-C<)?7wa(%N#C{8DBvo(3dMh?+#?o=hrcQ0t?(R!QQhWhhjr*f9Oel)Dp;t(5tzsI<_h^LOo$-dArxVH z5@aQoFf=NP3I|lUQi$*bTprBks+2H~Cs4pb4jY4&xQb5*F@n#*Fbfr~M1! z2iFP5jF=QN5`c8D4o3~tVHoj7k-qRLI=L1nRV)4%nz}r65x|2Z4<-#@{S_8d-;IhS zmiImNJtmNrt3;<;E(MAy`?g@fk_g-qC*bOvQpRJNI096U{&XF%lYfv3-k1{e_Esoi zKB2;39)}B3!H18*TqRG1<4S_fJ)%rFq;h{J_CaJ^b5x7-!O}+83Q{OvHnXFkp(cM$N;}S8z^3&7P1D5VZUZn+4&Pc z{b%tft^latFY-?MzL)F0T<@g7JAvP4*L%6%Nr86)zt67!n_Tv9UZ)5R_%Fx=UY5G% zJeGhLEnCIxSyD(seIG_HGy%&9UGRJZ1UZbM8V%a9YXUG1H_GIJ!`mF}oW`ReMr0oZ z4Lc{3N}}THA8kts*+RHn^6Tu@b?H1qGDo<~u&Z!5a^#zmyqb`yHOy5%9d|T|)*TLi z;b!=o^PQV_>HniAO%$9}!)z@iFERG!NmvDTWCkCQdmnyv-ZhiU7dnOS3i?<7TxO#bFM6P zKUx*%R1&-X+7U&m)?b$Xpl((v< zt*3No6!Wd27}wlZ%;@I8#<5qRaKRZ+B)uwhC6h|b!Am= zo8y9n!fJ=V`ln6%iFd0zq~o*d2WKnm>nhck)Mzs5Rp{lmd^U$)ljys{$*$7JWu*7G zvz1+K2xNOEBQUpQ!V_C4D=5ocZWdgbDAk?WabQ*VQU~vpx|ru#|x5p!mfoxkU_ zHl*ez*6uAe1-P!JSFz50{wtKaCRK5}F^+!a^r&>3uX7jvyz1j`%deG1R<{**1@-mzi6y_q>4 zBfs+bLD8-UvlCyMuA0QqC|8%DR~~+cxv8J-y*;($?k`4N*M$!^A1nN(Cn$fVRrA7E z%eSj`R+V*BJWHHzbJNLg_n0RA!BayPaZo*ZOVwZo!3P2PWNRdIzoYD_Izky5RzR`GXG}v(=Kl^y|@QrrvyX zW>NLu^Ty1XSC{$pUPM+<(Eg<_zpP;u(r>!>|C{v%Gig(elP%rtH9{PfL#KE3ptDRL zVI$WSXbbXx&9cAdtB5_0T5YY|?jim1^Oe6ZdX(zT{^fDZ?`M?Qk%cL&cYtHMx%7`&|Zn4?9qN>f0EN_@G=|z3$n0(vM7t2-As`WWF4Rarchipelago.js - v2.0.0
                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/index.html b/docs/v2.0.0/index.html new file mode 100644 index 00000000..e83accad --- /dev/null +++ b/docs/v2.0.0/index.html @@ -0,0 +1,32 @@ +archipelago.js - v2.0.0
                                                                                        +

                                                                                        archipelago.js - v2.0.0

                                                                                        archipelago.js

                                                                                        GitHub License +Types +NPM Version +NPM Downloads +Static Badge

                                                                                        +

                                                                                        A runtime-agnostic and zero dependency TypeScript/JavaScript library for communicating with Archipelago servers.

                                                                                        +

                                                                                        Targeted to work on all major desktop and mobile browsers (Firefox, +Chromium, and Safari) and server-side runtimes such as +Node.js, Bun, and Deno.

                                                                                        +

                                                                                        Install via npm install archipelago.js (or via your preferred package manager's flavor).

                                                                                        +

                                                                                        Check out the quick start documentation here!

                                                                                        +

                                                                                        The full API documentation is located here. Please be sure to reference it +while you are developing your JavaScript-based clients.

                                                                                        +

                                                                                        This library supports 100% of the Archipelago network protocol referenced +here as of 2024-11-03 +(0.5.1 RC1). See more information about Archipelago at their website.

                                                                                        +

                                                                                        Archipelago.js is built using TypeScript and the Bun bundler. You can set up your development environment by cloning +this repository to a desired location on your computer and installing its devDependencies.

                                                                                        +
                                                                                        git clone https://github.com/ThePhar/archipelago.js
                                                                                        cd archipelago.js
                                                                                        npm install # or pnpm install +
                                                                                        + +

                                                                                        Then to build, have Bun installed and run npm run build (or pnpm build).

                                                                                        +

                                                                                        Archipelago.js is written in TypeScript and includes a strong ESLint config file to ensure code consistency. Be sure +to follow the code standards of this repository and check your work with npm run lint.

                                                                                        +

                                                                                        Currently, there are no automated tests for this library, so all testing in browser, Node, Deno, and Bun are done +manually. This is certainly one area that can be expanded upon.

                                                                                        +

                                                                                        Alternatively, expanding upon the documentation (either through the JSDoc or tutorial-like guides) would be appreciated.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.AdminCommandResultJSONPacket.html b/docs/v2.0.0/interfaces/API.AdminCommandResultJSONPacket.html new file mode 100644 index 00000000..ff1e4f9e --- /dev/null +++ b/docs/v2.0.0/interfaces/API.AdminCommandResultJSONPacket.html @@ -0,0 +1,12 @@ +AdminCommandResultJSONPacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface AdminCommandResultJSONPacket

                                                                                        Sent to relevant clients to broadcast the result of an admin command.

                                                                                        +

                                                                                        PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                        +
                                                                                        interface AdminCommandResultJSONPacket {
                                                                                            cmd: "PrintJSON";
                                                                                            data: JSONMessagePart[];
                                                                                            type: "AdminCommandResult";
                                                                                        }

                                                                                        Properties

                                                                                        Properties

                                                                                        cmd

                                                                                        All the textual metadata for this packet.

                                                                                        +
                                                                                        type

                                                                                        The PrintJSONPacket subtype.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.BouncePacket.html b/docs/v2.0.0/interfaces/API.BouncePacket.html new file mode 100644 index 00000000..9d6bc56a --- /dev/null +++ b/docs/v2.0.0/interfaces/API.BouncePacket.html @@ -0,0 +1,17 @@ +BouncePacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface BouncePacket

                                                                                        Sent by the client to be broadcast from the server to all connected clients that match any one of the filter +arguments.

                                                                                        +

                                                                                        Useful for commonly implemented features such as DeathLink.

                                                                                        +
                                                                                        interface BouncePacket {
                                                                                            cmd: "Bounce";
                                                                                            data: JSONRecord;
                                                                                            games?: string[];
                                                                                            slots?: number[];
                                                                                            tags?: string[];
                                                                                        }

                                                                                        Properties

                                                                                        Properties

                                                                                        cmd

                                                                                        Any data you want to send.

                                                                                        +
                                                                                        games?: string[]

                                                                                        Optional. Games that should receive this message.

                                                                                        +
                                                                                        slots?: number[]

                                                                                        Optional. Player ids that should receive this message.

                                                                                        +
                                                                                        tags?: string[]

                                                                                        Optional. Client tags that should receive this message.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.BouncedPacket.html b/docs/v2.0.0/interfaces/API.BouncedPacket.html new file mode 100644 index 00000000..db5438df --- /dev/null +++ b/docs/v2.0.0/interfaces/API.BouncedPacket.html @@ -0,0 +1,15 @@ +BouncedPacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface BouncedPacket

                                                                                        Sent to clients after a client requested this message be sent to them, more info in the BouncePacket.

                                                                                        +
                                                                                        interface BouncedPacket {
                                                                                            cmd: "Bounced";
                                                                                            data: JSONRecord;
                                                                                            games?: string[];
                                                                                            slots?: number[];
                                                                                            tags?: string[];
                                                                                        }

                                                                                        Properties

                                                                                        Properties

                                                                                        cmd

                                                                                        A verbatim copy of the data in the BouncePacket package.

                                                                                        +
                                                                                        games?: string[]

                                                                                        Optional. Game names this message is targeting.

                                                                                        +
                                                                                        slots?: number[]

                                                                                        Optional. Player slot IDs that this message is targeting.

                                                                                        +
                                                                                        tags?: string[]

                                                                                        Optional. Client tags this message is targeting.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.ChatJSONPacket.html b/docs/v2.0.0/interfaces/API.ChatJSONPacket.html new file mode 100644 index 00000000..99d63122 --- /dev/null +++ b/docs/v2.0.0/interfaces/API.ChatJSONPacket.html @@ -0,0 +1,18 @@ +ChatJSONPacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface ChatJSONPacket

                                                                                        Sent to clients to broadcast a normal chat message.

                                                                                        +

                                                                                        PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                        +
                                                                                        interface ChatJSONPacket {
                                                                                            cmd: "PrintJSON";
                                                                                            data: JSONMessagePart[];
                                                                                            message: string;
                                                                                            slot: number;
                                                                                            team: number;
                                                                                            type: "Chat";
                                                                                        }

                                                                                        Properties

                                                                                        Properties

                                                                                        cmd

                                                                                        All the textual metadata for this packet.

                                                                                        +
                                                                                        message: string

                                                                                        Original chat message without sender prefix.

                                                                                        +
                                                                                        slot: number

                                                                                        Slot of the triggering player.

                                                                                        +
                                                                                        team: number

                                                                                        Team of the triggering player.

                                                                                        +
                                                                                        type

                                                                                        The PrintJSONPacket subtype.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.CollectJSONPacket.html b/docs/v2.0.0/interfaces/API.CollectJSONPacket.html new file mode 100644 index 00000000..cd2df631 --- /dev/null +++ b/docs/v2.0.0/interfaces/API.CollectJSONPacket.html @@ -0,0 +1,16 @@ +CollectJSONPacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface CollectJSONPacket

                                                                                        Sent to clients to broadcast a player has collected all their remaining items from the multi-world.

                                                                                        +

                                                                                        PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                        +
                                                                                        interface CollectJSONPacket {
                                                                                            cmd: "PrintJSON";
                                                                                            data: JSONMessagePart[];
                                                                                            slot: number;
                                                                                            team: number;
                                                                                            type: "Collect";
                                                                                        }

                                                                                        Properties

                                                                                        Properties

                                                                                        cmd

                                                                                        All the textual metadata for this packet.

                                                                                        +
                                                                                        slot: number

                                                                                        Slot of the triggering player.

                                                                                        +
                                                                                        team: number

                                                                                        Team of the triggering player.

                                                                                        +
                                                                                        type

                                                                                        The PrintJSONPacket subtype.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.CommandResultJSONPacket.html b/docs/v2.0.0/interfaces/API.CommandResultJSONPacket.html new file mode 100644 index 00000000..1560fb01 --- /dev/null +++ b/docs/v2.0.0/interfaces/API.CommandResultJSONPacket.html @@ -0,0 +1,12 @@ +CommandResultJSONPacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface CommandResultJSONPacket

                                                                                        Sent to relevant clients to broadcast the result of a chat command.

                                                                                        +

                                                                                        PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                        +
                                                                                        interface CommandResultJSONPacket {
                                                                                            cmd: "PrintJSON";
                                                                                            data: JSONMessagePart[];
                                                                                            type: "CommandResult";
                                                                                        }

                                                                                        Properties

                                                                                        Properties

                                                                                        cmd

                                                                                        All the textual metadata for this packet.

                                                                                        +
                                                                                        type

                                                                                        The PrintJSONPacket subtype.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.ConnectPacket.html b/docs/v2.0.0/interfaces/API.ConnectPacket.html new file mode 100644 index 00000000..ab3565ab --- /dev/null +++ b/docs/v2.0.0/interfaces/API.ConnectPacket.html @@ -0,0 +1,24 @@ +ConnectPacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface ConnectPacket

                                                                                        Sent by the client to authenticate a connection to an Archipelago session.

                                                                                        +
                                                                                        interface ConnectPacket {
                                                                                            cmd: "Connect";
                                                                                            game: string;
                                                                                            items_handling: number;
                                                                                            name: string;
                                                                                            password: string;
                                                                                            slot_data: boolean;
                                                                                            tags: string[];
                                                                                            uuid: string;
                                                                                            version: NetworkVersion;
                                                                                        }

                                                                                        Properties

                                                                                        cmd
                                                                                        game: string

                                                                                        The name of the game the client is playing.

                                                                                        +
                                                                                        items_handling: number

                                                                                        Bit flags configuring which items should be sent by the server. See itemsHandlingFlags for information +on individual flags.

                                                                                        +
                                                                                        name: string

                                                                                        The slot name for this client.

                                                                                        +
                                                                                        password: string

                                                                                        If the game session requires a password, it should be passed here.

                                                                                        +
                                                                                        slot_data: boolean

                                                                                        If true, the ConnectedPacket will contain slot data.

                                                                                        +
                                                                                        tags: string[]

                                                                                        Denotes special features or capabilities that the sender is currently capable of.

                                                                                        +
                                                                                        uuid: string

                                                                                        Unique identifier for player client.

                                                                                        +

                                                                                        An object representing the minimum Archipelago server version this client supports.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.ConnectUpdatePacket.html b/docs/v2.0.0/interfaces/API.ConnectUpdatePacket.html new file mode 100644 index 00000000..1570b1ab --- /dev/null +++ b/docs/v2.0.0/interfaces/API.ConnectUpdatePacket.html @@ -0,0 +1,12 @@ +ConnectUpdatePacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface ConnectUpdatePacket

                                                                                        Update arguments from the Connect packet, currently only updating tags and items_handling is supported.

                                                                                        +
                                                                                        interface ConnectUpdatePacket {
                                                                                            cmd: "ConnectUpdate";
                                                                                            items_handling: number;
                                                                                            tags: string[];
                                                                                        }

                                                                                        Properties

                                                                                        Properties

                                                                                        cmd
                                                                                        items_handling: number

                                                                                        Bit flags configuring which items should be sent by the server. See itemsHandlingFlags for additional +information.

                                                                                        +
                                                                                        tags: string[]

                                                                                        Denotes special features or capabilities that the sender is currently capable of.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.ConnectedPacket.html b/docs/v2.0.0/interfaces/API.ConnectedPacket.html new file mode 100644 index 00000000..659653c8 --- /dev/null +++ b/docs/v2.0.0/interfaces/API.ConnectedPacket.html @@ -0,0 +1,26 @@ +ConnectedPacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface ConnectedPacket

                                                                                        Sent to clients when the connection handshake is successfully completed.

                                                                                        +
                                                                                        interface ConnectedPacket {
                                                                                            checked_locations: number[];
                                                                                            cmd: "Connected";
                                                                                            hint_points: number;
                                                                                            missing_locations: number[];
                                                                                            players: NetworkPlayer[];
                                                                                            slot: number;
                                                                                            slot_data: JSONSerializable;
                                                                                            slot_info: Record<string, NetworkSlot>;
                                                                                            team: number;
                                                                                        }

                                                                                        Properties

                                                                                        checked_locations: number[]

                                                                                        Contains integer ids of all locations that have been checked. Useful for trackers, among other things. Location +ids are valid in the range of -2^53^ to +(2^53)-1 (inclusive), with negative values and zero reserved for +Archipelago.

                                                                                        +
                                                                                        cmd
                                                                                        hint_points: number

                                                                                        Number of hint points that the current player has.

                                                                                        +
                                                                                        missing_locations: number[]

                                                                                        Contains integer ids of remaining locations that need to be checked. Useful for trackers, among other things.

                                                                                        +
                                                                                        players: NetworkPlayer[]

                                                                                        List denoting other players in the multi-world, whether connected or not.

                                                                                        +
                                                                                        slot: number

                                                                                        Your slot number on your team. See NetworkPlayer for more info on the slot number.

                                                                                        +
                                                                                        slot_data: JSONSerializable

                                                                                        Contains an object of slot related data, which differs per slot. If slot data was not requested in the +ConnectPacket, this value be an empty object.

                                                                                        +
                                                                                        slot_info: Record<string, NetworkSlot>

                                                                                        Object of each slot with their NetworkSlot information.

                                                                                        +
                                                                                        team: number

                                                                                        Your team number. See NetworkPlayer for more info on team number.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.ConnectionRefusedPacket.html b/docs/v2.0.0/interfaces/API.ConnectionRefusedPacket.html new file mode 100644 index 00000000..cb427846 --- /dev/null +++ b/docs/v2.0.0/interfaces/API.ConnectionRefusedPacket.html @@ -0,0 +1,10 @@ +ConnectionRefusedPacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface ConnectionRefusedPacket

                                                                                        Sent to clients when the server refuses connection. This is sent during the initial connection handshake.

                                                                                        +
                                                                                        interface ConnectionRefusedPacket {
                                                                                            cmd: "ConnectionRefused";
                                                                                            errors?: ConnectionError[];
                                                                                        }

                                                                                        Properties

                                                                                        Properties

                                                                                        cmd
                                                                                        errors?: ConnectionError[]

                                                                                        Optional. When provided, should contain one or more ConnectionError values. See ConnectionError +for additional information on what each error means.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.CountdownJSONPacket.html b/docs/v2.0.0/interfaces/API.CountdownJSONPacket.html new file mode 100644 index 00000000..1bc4a81d --- /dev/null +++ b/docs/v2.0.0/interfaces/API.CountdownJSONPacket.html @@ -0,0 +1,14 @@ +CountdownJSONPacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface CountdownJSONPacket

                                                                                        Sent to clients to broadcast a countdown message, usually for counting down the start of a game.

                                                                                        +

                                                                                        PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                        +
                                                                                        interface CountdownJSONPacket {
                                                                                            cmd: "PrintJSON";
                                                                                            countdown: number;
                                                                                            data: JSONMessagePart[];
                                                                                            type: "Countdown";
                                                                                        }

                                                                                        Properties

                                                                                        Properties

                                                                                        cmd
                                                                                        countdown: number

                                                                                        Amount of seconds remaining on the countdown.

                                                                                        +

                                                                                        All the textual metadata for this packet.

                                                                                        +
                                                                                        type

                                                                                        The PrintJSONPacket subtype.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.DataPackagePacket.html b/docs/v2.0.0/interfaces/API.DataPackagePacket.html new file mode 100644 index 00000000..4e2ddcce --- /dev/null +++ b/docs/v2.0.0/interfaces/API.DataPackagePacket.html @@ -0,0 +1,11 @@ +DataPackagePacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface DataPackagePacket

                                                                                        Sent to clients to provide what is known as a 'data package' which contains information to enable a client to most +easily communicate with the Archipelago server. Contents include things like location id to name mappings, among +others; see DataPackage for more info.

                                                                                        +
                                                                                        interface DataPackagePacket {
                                                                                            cmd: "DataPackage";
                                                                                            data: DataPackage;
                                                                                        }

                                                                                        Properties

                                                                                        Properties

                                                                                        cmd

                                                                                        The data package as an object of DataPackage.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.GetDataPackagePacket.html b/docs/v2.0.0/interfaces/API.GetDataPackagePacket.html new file mode 100644 index 00000000..bf8b2e18 --- /dev/null +++ b/docs/v2.0.0/interfaces/API.GetDataPackagePacket.html @@ -0,0 +1,10 @@ +GetDataPackagePacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface GetDataPackagePacket

                                                                                        Sent by the client to request the data package from the server. Does not require client authentication.

                                                                                        +
                                                                                        interface GetDataPackagePacket {
                                                                                            cmd: "GetDataPackage";
                                                                                            games?: string[];
                                                                                        }

                                                                                        Properties

                                                                                        Properties

                                                                                        cmd
                                                                                        games?: string[]

                                                                                        Optional. If specified, will only send back the specified data.

                                                                                        +

                                                                                        It is recommended to only request required data to reduce network bandwidth costs.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.GetPacket.html b/docs/v2.0.0/interfaces/API.GetPacket.html new file mode 100644 index 00000000..5d1a7f12 --- /dev/null +++ b/docs/v2.0.0/interfaces/API.GetPacket.html @@ -0,0 +1,24 @@ +GetPacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface GetPacket

                                                                                        Sent by the client to request a single or multiple values from the server's data storage, see the SetPacket +for how to write values to the data storage. A GetPacket will be answered with a RetrievedPacket.

                                                                                        +

                                                                                        Additional properties sent in this package will also be added to the RetrievedPacket it triggers.

                                                                                        +

                                                                                        Some special read-only keys exist with specific return data:

                                                                                        +
                                                                                          +
                                                                                        • _read_hints_{team}_{slot}: NetworkHint[] - All hinted NetworkHint items relevant to the requested +player.
                                                                                        • +
                                                                                        • _read_slot_data_{slot}: JSONSerializable - slot_data belonging to the requested slot.
                                                                                        • +
                                                                                        • _read_item_name_groups_{game}: Record<string, string[]> - An object of item groups and their members.
                                                                                        • +
                                                                                        • _read_location_name_groups_{game}: Record<string, string[]> - An object of location groups and their +members.
                                                                                        • +
                                                                                        • _read_client_status_{team}_{slot}: number - The current status for the requested player. See +clientStatuses for all known client statues.
                                                                                        • +
                                                                                        • _read_race_mode: number - Returns 0 if race mode is disabled, 1 if it's enabled.
                                                                                        • +
                                                                                        +
                                                                                        interface GetPacket {
                                                                                            cmd: "Get";
                                                                                            keys: string[];
                                                                                            [p: string]: JSONSerializable;
                                                                                        }

                                                                                        Indexable

                                                                                        Properties

                                                                                        Properties

                                                                                        cmd
                                                                                        keys: string[]

                                                                                        Keys to retrieve the values for.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.GoalJSONPacket.html b/docs/v2.0.0/interfaces/API.GoalJSONPacket.html new file mode 100644 index 00000000..cc20e925 --- /dev/null +++ b/docs/v2.0.0/interfaces/API.GoalJSONPacket.html @@ -0,0 +1,16 @@ +GoalJSONPacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface GoalJSONPacket

                                                                                        Sent to clients to broadcast a player has met their goal condition.

                                                                                        +

                                                                                        PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                        +
                                                                                        interface GoalJSONPacket {
                                                                                            cmd: "PrintJSON";
                                                                                            data: JSONMessagePart[];
                                                                                            slot: number;
                                                                                            team: number;
                                                                                            type: "Goal";
                                                                                        }

                                                                                        Properties

                                                                                        Properties

                                                                                        cmd

                                                                                        All the textual metadata for this packet.

                                                                                        +
                                                                                        slot: number

                                                                                        Slot of the triggering player.

                                                                                        +
                                                                                        team: number

                                                                                        Team of the triggering player.

                                                                                        +
                                                                                        type

                                                                                        The PrintJSONPacket subtype.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.HintJSONPacket.html b/docs/v2.0.0/interfaces/API.HintJSONPacket.html new file mode 100644 index 00000000..d28c248a --- /dev/null +++ b/docs/v2.0.0/interfaces/API.HintJSONPacket.html @@ -0,0 +1,18 @@ +HintJSONPacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface HintJSONPacket

                                                                                        Sent to relevant clients to broadcast item hint information.

                                                                                        +

                                                                                        PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                        +
                                                                                        interface HintJSONPacket {
                                                                                            cmd: "PrintJSON";
                                                                                            data: JSONMessagePart[];
                                                                                            found: boolean;
                                                                                            item: NetworkItem;
                                                                                            receiving: number;
                                                                                            type: "Hint";
                                                                                        }

                                                                                        Properties

                                                                                        Properties

                                                                                        cmd

                                                                                        All the textual metadata for this packet.

                                                                                        +
                                                                                        found: boolean

                                                                                        Whether the location hinted for was checked.

                                                                                        +

                                                                                        Source player's identifier, location identifier, item identifier and item flags.

                                                                                        +
                                                                                        receiving: number

                                                                                        Destination player's identifier.

                                                                                        +
                                                                                        type

                                                                                        The PrintJSONPacket subtype.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.InvalidArgumentsPacketPacket.html b/docs/v2.0.0/interfaces/API.InvalidArgumentsPacketPacket.html new file mode 100644 index 00000000..9fbbc302 --- /dev/null +++ b/docs/v2.0.0/interfaces/API.InvalidArgumentsPacketPacket.html @@ -0,0 +1,12 @@ +InvalidArgumentsPacketPacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface InvalidArgumentsPacketPacket

                                                                                        Sent to clients if the server caught a problem with a given packet's arguments.

                                                                                        +

                                                                                        InvalidPacketPacket for all possible InvalidPacket packet subtypes.

                                                                                        +
                                                                                        interface InvalidArgumentsPacketPacket {
                                                                                            cmd: "InvalidPacket";
                                                                                            text: string;
                                                                                            type: "arguments";
                                                                                        }

                                                                                        Properties

                                                                                        Properties

                                                                                        cmd
                                                                                        text: string

                                                                                        A descriptive message of the problem at hand.

                                                                                        +
                                                                                        type

                                                                                        The type of problem that was detected in the packet.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.InvalidCommandPacketPacket.html b/docs/v2.0.0/interfaces/API.InvalidCommandPacketPacket.html new file mode 100644 index 00000000..62464b43 --- /dev/null +++ b/docs/v2.0.0/interfaces/API.InvalidCommandPacketPacket.html @@ -0,0 +1,14 @@ +InvalidCommandPacketPacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface InvalidCommandPacketPacket

                                                                                        Sent to clients if the server caught a problem with a given packet's cmd property.

                                                                                        +

                                                                                        InvalidPacketPacket for all possible InvalidPacket packet subtypes.

                                                                                        +
                                                                                        interface InvalidCommandPacketPacket {
                                                                                            cmd: "InvalidPacket";
                                                                                            original_cmd: string;
                                                                                            text: string;
                                                                                            type: "cmd";
                                                                                        }

                                                                                        Properties

                                                                                        Properties

                                                                                        cmd
                                                                                        original_cmd: string

                                                                                        The cmd argument of the faulty packet.

                                                                                        +
                                                                                        text: string

                                                                                        A descriptive message of the problem at hand.

                                                                                        +
                                                                                        type

                                                                                        The type of problem that was detected in the packet.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.ItemCheatJSONPacket.html b/docs/v2.0.0/interfaces/API.ItemCheatJSONPacket.html new file mode 100644 index 00000000..b894e961 --- /dev/null +++ b/docs/v2.0.0/interfaces/API.ItemCheatJSONPacket.html @@ -0,0 +1,18 @@ +ItemCheatJSONPacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface ItemCheatJSONPacket

                                                                                        Sent to clients to broadcast a player has received a cheated item (via !getitem).

                                                                                        +

                                                                                        PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                        +
                                                                                        interface ItemCheatJSONPacket {
                                                                                            cmd: "PrintJSON";
                                                                                            data: JSONMessagePart[];
                                                                                            item: NetworkItem;
                                                                                            receiving: number;
                                                                                            team: number;
                                                                                            type: "ItemCheat";
                                                                                        }

                                                                                        Properties

                                                                                        Properties

                                                                                        cmd

                                                                                        All the textual metadata for this packet.

                                                                                        +

                                                                                        Source player's identifier, location identifier, item identifier and item flags.

                                                                                        +
                                                                                        receiving: number

                                                                                        Destination player's identifier.

                                                                                        +
                                                                                        team: number

                                                                                        Team of the triggering player.

                                                                                        +
                                                                                        type

                                                                                        The PrintJSONPacket subtype.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.ItemSendJSONPacket.html b/docs/v2.0.0/interfaces/API.ItemSendJSONPacket.html new file mode 100644 index 00000000..c25b154d --- /dev/null +++ b/docs/v2.0.0/interfaces/API.ItemSendJSONPacket.html @@ -0,0 +1,16 @@ +ItemSendJSONPacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface ItemSendJSONPacket

                                                                                        Sent to clients to broadcast a player has received an item.

                                                                                        +

                                                                                        PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                        +
                                                                                        interface ItemSendJSONPacket {
                                                                                            cmd: "PrintJSON";
                                                                                            data: JSONMessagePart[];
                                                                                            item: NetworkItem;
                                                                                            receiving: number;
                                                                                            type: "ItemSend";
                                                                                        }

                                                                                        Properties

                                                                                        Properties

                                                                                        cmd

                                                                                        All the textual metadata for this packet.

                                                                                        +

                                                                                        Source player's identifier, location identifier, item identifier and item flags.

                                                                                        +
                                                                                        receiving: number

                                                                                        Destination player's identifier.

                                                                                        +
                                                                                        type

                                                                                        The PrintJSONPacket subtype.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.JoinJSONPacket.html b/docs/v2.0.0/interfaces/API.JoinJSONPacket.html new file mode 100644 index 00000000..e876bac9 --- /dev/null +++ b/docs/v2.0.0/interfaces/API.JoinJSONPacket.html @@ -0,0 +1,18 @@ +JoinJSONPacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface JoinJSONPacket

                                                                                        Sent to clients to broadcast a client has connected.

                                                                                        +

                                                                                        PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                        +
                                                                                        interface JoinJSONPacket {
                                                                                            cmd: "PrintJSON";
                                                                                            data: JSONMessagePart[];
                                                                                            slot: number;
                                                                                            tags: string[];
                                                                                            team: number;
                                                                                            type: "Join";
                                                                                        }

                                                                                        Properties

                                                                                        Properties

                                                                                        cmd

                                                                                        All the textual metadata for this packet.

                                                                                        +
                                                                                        slot: number

                                                                                        Slot of the triggering player.

                                                                                        +
                                                                                        tags: string[]

                                                                                        Tags of the triggering player.

                                                                                        +
                                                                                        team: number

                                                                                        Team of the triggering player.

                                                                                        +
                                                                                        type

                                                                                        The PrintJSONPacket subtype.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.LocationChecksPacket.html b/docs/v2.0.0/interfaces/API.LocationChecksPacket.html new file mode 100644 index 00000000..3387ad0e --- /dev/null +++ b/docs/v2.0.0/interfaces/API.LocationChecksPacket.html @@ -0,0 +1,11 @@ +LocationChecksPacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface LocationChecksPacket

                                                                                        Sent by the client to inform the server of locations that the client has checked. Used to inform the server of new +checks that are made, as well as to sync state.

                                                                                        +
                                                                                        interface LocationChecksPacket {
                                                                                            cmd: "LocationChecks";
                                                                                            locations: number[];
                                                                                        }

                                                                                        Properties

                                                                                        Properties

                                                                                        cmd
                                                                                        locations: number[]

                                                                                        The ids of the locations checked by the client. May contain any number of checks, even ones sent before; +duplicates do not cause issues with the Archipelago server.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.LocationInfoPacket.html b/docs/v2.0.0/interfaces/API.LocationInfoPacket.html new file mode 100644 index 00000000..2e4bc238 --- /dev/null +++ b/docs/v2.0.0/interfaces/API.LocationInfoPacket.html @@ -0,0 +1,10 @@ +LocationInfoPacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface LocationInfoPacket

                                                                                        Sent to clients to acknowledge a received LocationScoutsPacket and responds with the item in each location +being scouted.

                                                                                        +
                                                                                        interface LocationInfoPacket {
                                                                                            cmd: "LocationInfo";
                                                                                            locations: NetworkItem[];
                                                                                        }

                                                                                        Properties

                                                                                        Properties

                                                                                        cmd
                                                                                        locations: NetworkItem[]

                                                                                        Contains the list of item(s) in the location(s) scouted.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.LocationScoutsPacket.html b/docs/v2.0.0/interfaces/API.LocationScoutsPacket.html new file mode 100644 index 00000000..2c76ce70 --- /dev/null +++ b/docs/v2.0.0/interfaces/API.LocationScoutsPacket.html @@ -0,0 +1,20 @@ +LocationScoutsPacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface LocationScoutsPacket

                                                                                        Sent by the client to inform the server of locations the client has seen, but not checked. Useful in cases in which +the item may appear in the game world, but may not be immediately gettable. The server will always respond with a +LocationInfoPacket with the items located in the scouted location.

                                                                                        +
                                                                                        interface LocationScoutsPacket {
                                                                                            cmd: "LocationScouts";
                                                                                            create_as_hint: 0 | 1 | 2;
                                                                                            locations: number[];
                                                                                        }

                                                                                        Properties

                                                                                        cmd
                                                                                        create_as_hint: 0 | 1 | 2
                                                                                          +
                                                                                        • If set to 0, this packet will not create hints for any locations in this packet.
                                                                                        • +
                                                                                        • If set to 1, this packet will create hints for all locations in this packet and broadcast them to all +relevant clients.
                                                                                        • +
                                                                                        • If set to 2, this packet will create hints for all locations in this packet and broadcast only new hints to +all relevant clients.
                                                                                        • +
                                                                                        +
                                                                                        locations: number[]

                                                                                        The ids of the locations seen by the client. May contain any number of locations, even ones sent before; +duplicates do not cause issues with the Archipelago server.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.PartJSONPacket.html b/docs/v2.0.0/interfaces/API.PartJSONPacket.html new file mode 100644 index 00000000..bf1f446c --- /dev/null +++ b/docs/v2.0.0/interfaces/API.PartJSONPacket.html @@ -0,0 +1,16 @@ +PartJSONPacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface PartJSONPacket

                                                                                        Sent to clients to broadcast a client has disconnected.

                                                                                        +

                                                                                        PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                        +
                                                                                        interface PartJSONPacket {
                                                                                            cmd: "PrintJSON";
                                                                                            data: JSONMessagePart[];
                                                                                            slot: number;
                                                                                            team: number;
                                                                                            type: "Part";
                                                                                        }

                                                                                        Properties

                                                                                        Properties

                                                                                        cmd

                                                                                        All the textual metadata for this packet.

                                                                                        +
                                                                                        slot: number

                                                                                        Slot of the triggering player.

                                                                                        +
                                                                                        team: number

                                                                                        Team of the triggering player.

                                                                                        +
                                                                                        type

                                                                                        The PrintJSONPacket subtype.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.ReceivedItemsPacket.html b/docs/v2.0.0/interfaces/API.ReceivedItemsPacket.html new file mode 100644 index 00000000..c001867b --- /dev/null +++ b/docs/v2.0.0/interfaces/API.ReceivedItemsPacket.html @@ -0,0 +1,11 @@ +ReceivedItemsPacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface ReceivedItemsPacket

                                                                                        Sent to clients when they receive an item.

                                                                                        +
                                                                                        interface ReceivedItemsPacket {
                                                                                            cmd: "ReceivedItems";
                                                                                            index: number;
                                                                                            items: NetworkItem[];
                                                                                        }

                                                                                        Properties

                                                                                        Properties

                                                                                        cmd
                                                                                        index: number

                                                                                        The next empty slot in the list of items for the receiving client. Useful for tracking items.

                                                                                        +
                                                                                        items: NetworkItem[]

                                                                                        The items which the client is receiving.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.ReleaseJSONPacket.html b/docs/v2.0.0/interfaces/API.ReleaseJSONPacket.html new file mode 100644 index 00000000..0d0b5f66 --- /dev/null +++ b/docs/v2.0.0/interfaces/API.ReleaseJSONPacket.html @@ -0,0 +1,16 @@ +ReleaseJSONPacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface ReleaseJSONPacket

                                                                                        Sent to clients to broadcast a player has released all remaining items in their world.

                                                                                        +

                                                                                        PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                        +
                                                                                        interface ReleaseJSONPacket {
                                                                                            cmd: "PrintJSON";
                                                                                            data: JSONMessagePart[];
                                                                                            slot: number;
                                                                                            team: number;
                                                                                            type: "Release";
                                                                                        }

                                                                                        Properties

                                                                                        Properties

                                                                                        cmd

                                                                                        All the textual metadata for this packet.

                                                                                        +
                                                                                        slot: number

                                                                                        Slot of the triggering player.

                                                                                        +
                                                                                        team: number

                                                                                        Team of the triggering player.

                                                                                        +
                                                                                        type

                                                                                        The PrintJSONPacket subtype.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.RetrievedPacket.html b/docs/v2.0.0/interfaces/API.RetrievedPacket.html new file mode 100644 index 00000000..5aa3916b --- /dev/null +++ b/docs/v2.0.0/interfaces/API.RetrievedPacket.html @@ -0,0 +1,12 @@ +RetrievedPacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface RetrievedPacket

                                                                                        Sent to clients as a response to a GetPacket.

                                                                                        +

                                                                                        Additional arguments added to the GetPacket that triggered this RetrievedPacket will also be passed +along.

                                                                                        +
                                                                                        interface RetrievedPacket {
                                                                                            cmd: "Retrieved";
                                                                                            keys: {
                                                                                                [key: string]: JSONSerializable;
                                                                                            };
                                                                                            [p: string]: JSONSerializable;
                                                                                        }

                                                                                        Indexable

                                                                                        Properties

                                                                                        Properties

                                                                                        cmd
                                                                                        keys: {
                                                                                            [key: string]: JSONSerializable;
                                                                                        }

                                                                                        A key-value collection containing all the values for the keys requested in the GetPacket.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.RoomInfoPacket.html b/docs/v2.0.0/interfaces/API.RoomInfoPacket.html new file mode 100644 index 00000000..a6f906d1 --- /dev/null +++ b/docs/v2.0.0/interfaces/API.RoomInfoPacket.html @@ -0,0 +1,31 @@ +RoomInfoPacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface RoomInfoPacket

                                                                                        Sent to clients when they connect to an Archipelago server, but before they authenticate.

                                                                                        +
                                                                                        interface RoomInfoPacket {
                                                                                            cmd: "RoomInfo";
                                                                                            datapackage_checksums: Record<string, string>;
                                                                                            games: string[];
                                                                                            generator_version: NetworkVersion;
                                                                                            hint_cost: number;
                                                                                            location_check_points: number;
                                                                                            password: boolean;
                                                                                            permissions: PermissionTable;
                                                                                            seed_name: string;
                                                                                            tags: string[];
                                                                                            time: number;
                                                                                            version: NetworkVersion;
                                                                                        }

                                                                                        Properties

                                                                                        cmd
                                                                                        datapackage_checksums: Record<string, string>

                                                                                        Checksum hash of the individual games' data packages the server will send. Used by newer clients to decide which +games' caches are outdated. See DataPackage for more information on the data package.

                                                                                        +
                                                                                        games: string[]

                                                                                        List of games present in this multi-world.

                                                                                        +
                                                                                        generator_version: NetworkVersion

                                                                                        Object denoting the version of Archipelago which generated the multi-world.

                                                                                        +
                                                                                        hint_cost: number

                                                                                        The amount of points it costs to receive a hint from the server.

                                                                                        +
                                                                                        location_check_points: number

                                                                                        The amount of hint points you receive per item/location check completed.

                                                                                        +
                                                                                        password: boolean

                                                                                        Denoted whether a password is required to join this room.

                                                                                        +
                                                                                        permissions: PermissionTable

                                                                                        Mapping of restrict-able commands to their current PermissionValue level.

                                                                                        +
                                                                                        seed_name: string

                                                                                        Uniquely identifying name for this generation. Based on the seed, but not identical to prevent spoilers.

                                                                                        +
                                                                                        tags: string[]

                                                                                        Denotes special features or capabilities that the sender is capable of. Example: WebHost

                                                                                        +
                                                                                        time: number

                                                                                        Unix time stamp in seconds of "now". Sent for time synchronization if wanted for things like a DeathLink +BouncePacket.

                                                                                        +

                                                                                        Object denoting the version of Archipelago which the server is running.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.RoomUpdatePacket.html b/docs/v2.0.0/interfaces/API.RoomUpdatePacket.html new file mode 100644 index 00000000..94eed086 --- /dev/null +++ b/docs/v2.0.0/interfaces/API.RoomUpdatePacket.html @@ -0,0 +1,29 @@ +RoomUpdatePacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface RoomUpdatePacket

                                                                                        Sent when there is a need to update information about the present game session. Generally useful for async games. +Once authenticated, this may also contain data from ConnectedPacket.

                                                                                        +

                                                                                        All arguments for this packet are optional, only changes are sent.

                                                                                        +
                                                                                        interface RoomUpdatePacket {
                                                                                            checked_locations?: number[];
                                                                                            cmd: "RoomUpdate";
                                                                                            hint_cost?: number;
                                                                                            hint_points?: number;
                                                                                            location_check_points?: number;
                                                                                            password?: boolean;
                                                                                            permissions: PermissionTable;
                                                                                            players?: NetworkPlayer[];
                                                                                            tags?: string[];
                                                                                            time?: number;
                                                                                        }

                                                                                        Properties

                                                                                        checked_locations?: number[]

                                                                                        Might be a partial update, containing new locations that were checked, especially from a co-op partner in the +same slot.

                                                                                        +
                                                                                        cmd
                                                                                        hint_cost?: number

                                                                                        The amount of points it costs to receive a hint from the server.

                                                                                        +
                                                                                        hint_points?: number

                                                                                        Number of hint points that the current player has.

                                                                                        +
                                                                                        location_check_points?: number

                                                                                        The amount of hint points you receive per item/location check completed.

                                                                                        +
                                                                                        password?: boolean

                                                                                        Denoted whether a password is required to join this room.

                                                                                        +
                                                                                        permissions: PermissionTable

                                                                                        Mapping of restrict-able commands to their current PermissionValue level.

                                                                                        +
                                                                                        players?: NetworkPlayer[]

                                                                                        Information on the players, whether connected or not.

                                                                                        +
                                                                                        tags?: string[]

                                                                                        Denotes special features or capabilities that the sender is capable of. Example: WebHost

                                                                                        +
                                                                                        time?: number

                                                                                        Unix time stamp of "now". Send for time synchronization if wanted for things like a DeathLink +BouncePacket.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.SayPacket.html b/docs/v2.0.0/interfaces/API.SayPacket.html new file mode 100644 index 00000000..a189da94 --- /dev/null +++ b/docs/v2.0.0/interfaces/API.SayPacket.html @@ -0,0 +1,9 @@ +SayPacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface SayPacket

                                                                                        Basic chat-type packet which sends text to the server to be distributed to other clients.

                                                                                        +
                                                                                        interface SayPacket {
                                                                                            cmd: "Say";
                                                                                            text: string;
                                                                                        }

                                                                                        Properties

                                                                                        Properties

                                                                                        cmd
                                                                                        text: string

                                                                                        Text to send to others.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.ServerChatJSONPacket.html b/docs/v2.0.0/interfaces/API.ServerChatJSONPacket.html new file mode 100644 index 00000000..30aaf3e9 --- /dev/null +++ b/docs/v2.0.0/interfaces/API.ServerChatJSONPacket.html @@ -0,0 +1,14 @@ +ServerChatJSONPacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface ServerChatJSONPacket

                                                                                        Sent to clients to broadcast a server-side chat message.

                                                                                        +

                                                                                        PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                        +
                                                                                        interface ServerChatJSONPacket {
                                                                                            cmd: "PrintJSON";
                                                                                            data: JSONMessagePart[];
                                                                                            message: string;
                                                                                            type: "ServerChat";
                                                                                        }

                                                                                        Properties

                                                                                        Properties

                                                                                        cmd

                                                                                        All the textual metadata for this packet.

                                                                                        +
                                                                                        message: string

                                                                                        Original chat message without sender prefix.

                                                                                        +
                                                                                        type

                                                                                        The PrintJSONPacket subtype.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.SetNotifyPacket.html b/docs/v2.0.0/interfaces/API.SetNotifyPacket.html new file mode 100644 index 00000000..c0c9ea64 --- /dev/null +++ b/docs/v2.0.0/interfaces/API.SetNotifyPacket.html @@ -0,0 +1,10 @@ +SetNotifyPacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface SetNotifyPacket

                                                                                        Used to register your current session for receiving all SetReplyPackets of certain keys to allow your client +to keep track of changes.

                                                                                        +
                                                                                        interface SetNotifyPacket {
                                                                                            cmd: "SetNotify";
                                                                                            keys: string[];
                                                                                        }

                                                                                        Properties

                                                                                        Properties

                                                                                        cmd
                                                                                        keys: string[]

                                                                                        Keys to receive all SetReplyPackets for.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.SetPacket.html b/docs/v2.0.0/interfaces/API.SetPacket.html new file mode 100644 index 00000000..26966092 --- /dev/null +++ b/docs/v2.0.0/interfaces/API.SetPacket.html @@ -0,0 +1,20 @@ +SetPacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface SetPacket

                                                                                        Sent by the client to write data to the server's data storage, that data can then be shared across worlds or just +saved for later. Values for keys in the data storage can be retrieved with a GetPacket, or monitored with a +SetNotifyPacket.

                                                                                        +

                                                                                        Additional arguments sent in this package will also be added to the SetReplyPacket it triggers.

                                                                                        +
                                                                                        interface SetPacket {
                                                                                            cmd: "Set";
                                                                                            default: JSONSerializable;
                                                                                            key: string;
                                                                                            operations: DataStorageOperation[];
                                                                                            want_reply: boolean;
                                                                                            [p: string]: JSONSerializable;
                                                                                        }

                                                                                        Indexable

                                                                                        Properties

                                                                                        cmd

                                                                                        The default value to use in case the key has no value on the server.

                                                                                        +
                                                                                        key: string

                                                                                        The key to manipulate.

                                                                                        +
                                                                                        operations: DataStorageOperation[]

                                                                                        Operations to apply to the value, multiple operations can be present, and they will be executed in order of +appearance. See DataStorageOperation for information on supported operations.

                                                                                        +
                                                                                        want_reply: boolean

                                                                                        If set, the server will send a SetReplyPacket back to the client.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.SetReplyPacket.html b/docs/v2.0.0/interfaces/API.SetReplyPacket.html new file mode 100644 index 00000000..e82209e5 --- /dev/null +++ b/docs/v2.0.0/interfaces/API.SetReplyPacket.html @@ -0,0 +1,18 @@ +SetReplyPacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface SetReplyPacket

                                                                                        Sent to clients in response to a SetPacket if want_reply was set to true, or if the client has registered +to receive updates for a certain key using the SetNotifyPacket. SetReplyPackets are sent even if a +SetPacket package did not alter the value for the key.

                                                                                        +

                                                                                        Additional arguments added to the SetPacket that triggered this SetReplyPacket will also be passed +along.

                                                                                        +
                                                                                        interface SetReplyPacket {
                                                                                            cmd: "SetReply";
                                                                                            key: string;
                                                                                            original_value: JSONSerializable;
                                                                                            value: JSONSerializable;
                                                                                            [p: string]: JSONSerializable;
                                                                                        }

                                                                                        Indexable

                                                                                        Properties

                                                                                        Properties

                                                                                        cmd
                                                                                        key: string

                                                                                        The key that was updated.

                                                                                        +
                                                                                        original_value: JSONSerializable

                                                                                        The value the key had before it was updated.

                                                                                        +

                                                                                        The new value for the key.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.StatusUpdatePacket.html b/docs/v2.0.0/interfaces/API.StatusUpdatePacket.html new file mode 100644 index 00000000..3c309237 --- /dev/null +++ b/docs/v2.0.0/interfaces/API.StatusUpdatePacket.html @@ -0,0 +1,10 @@ +StatusUpdatePacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface StatusUpdatePacket

                                                                                        Sent to the server to update on the client's status. Examples include readiness or goal completion.

                                                                                        +
                                                                                        interface StatusUpdatePacket {
                                                                                            cmd: "StatusUpdate";
                                                                                            status:
                                                                                                | 0
                                                                                                | 5
                                                                                                | 10
                                                                                                | 20
                                                                                                | 30;
                                                                                        }

                                                                                        Properties

                                                                                        Properties

                                                                                        cmd
                                                                                        status:
                                                                                            | 0
                                                                                            | 5
                                                                                            | 10
                                                                                            | 20
                                                                                            | 30

                                                                                        The new client status value to set this slot to. See clientStatuses for all known values.

                                                                                        +

                                                                                        This packet is ignored if the client status was set to clientStatuses.goal.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.SyncPacket.html b/docs/v2.0.0/interfaces/API.SyncPacket.html new file mode 100644 index 00000000..b856ec1a --- /dev/null +++ b/docs/v2.0.0/interfaces/API.SyncPacket.html @@ -0,0 +1,10 @@ +SyncPacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface SyncPacket

                                                                                        Sent to server to request a ReceivedItemsPacket with all items ever received.

                                                                                        +

                                                                                        In principle, a network desync of items should never occur, as if connection is broken and then +re-established, the server will resend all items ever received on reconnection, so use of this packet should never be +needed.

                                                                                        +
                                                                                        interface SyncPacket {
                                                                                            cmd: "Sync";
                                                                                        }

                                                                                        Properties

                                                                                        cmd +

                                                                                        Properties

                                                                                        cmd
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.TagsChangedJSONPacket.html b/docs/v2.0.0/interfaces/API.TagsChangedJSONPacket.html new file mode 100644 index 00000000..2cbb324f --- /dev/null +++ b/docs/v2.0.0/interfaces/API.TagsChangedJSONPacket.html @@ -0,0 +1,18 @@ +TagsChangedJSONPacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface TagsChangedJSONPacket

                                                                                        Sent to clients to broadcast a client has changed their tags.

                                                                                        +

                                                                                        PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                        +
                                                                                        interface TagsChangedJSONPacket {
                                                                                            cmd: "PrintJSON";
                                                                                            data: JSONMessagePart[];
                                                                                            slot: number;
                                                                                            tags: string[];
                                                                                            team: number;
                                                                                            type: "TagsChanged";
                                                                                        }

                                                                                        Properties

                                                                                        Properties

                                                                                        cmd

                                                                                        All the textual metadata for this packet.

                                                                                        +
                                                                                        slot: number

                                                                                        Slot of the triggering player.

                                                                                        +
                                                                                        tags: string[]

                                                                                        Tags of the triggering player.

                                                                                        +
                                                                                        team: number

                                                                                        Team of the triggering player.

                                                                                        +
                                                                                        type

                                                                                        The PrintJSONPacket subtype.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/API.TutorialJSONPacket.html b/docs/v2.0.0/interfaces/API.TutorialJSONPacket.html new file mode 100644 index 00000000..2bcc85ad --- /dev/null +++ b/docs/v2.0.0/interfaces/API.TutorialJSONPacket.html @@ -0,0 +1,12 @@ +TutorialJSONPacket | archipelago.js - v2.0.0
                                                                                        +

                                                                                        Interface TutorialJSONPacket

                                                                                        Sent to relevant clients to broadcast tutorial information, usually on first connection.

                                                                                        +

                                                                                        PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                        +
                                                                                        interface TutorialJSONPacket {
                                                                                            cmd: "PrintJSON";
                                                                                            data: JSONMessagePart[];
                                                                                            type: "Tutorial";
                                                                                        }

                                                                                        Properties

                                                                                        Properties

                                                                                        cmd

                                                                                        All the textual metadata for this packet.

                                                                                        +
                                                                                        type

                                                                                        The PrintJSONPacket subtype.

                                                                                        +
                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/ClientOptions.html b/docs/v2.0.0/interfaces/ClientOptions.html new file mode 100644 index 00000000..a78b5efd --- /dev/null +++ b/docs/v2.0.0/interfaces/ClientOptions.html @@ -0,0 +1,30 @@ +ClientOptions | archipelago.js - v2.0.0
                                                                                        +

                                                                                          Interface ClientOptions

                                                                                          An interface of client options that can be set on a Client object.

                                                                                          +
                                                                                          interface ClientOptions {
                                                                                              autoFetchDataPackage?: boolean;
                                                                                              debugLogVersions: boolean;
                                                                                              maximumMessages?: number;
                                                                                              timeout?: number;
                                                                                          }

                                                                                          Properties

                                                                                          autoFetchDataPackage?: boolean

                                                                                          Automatically requests the DataPackage from the server during Client.login, if the packages are missing +in the DataPackageManager.

                                                                                          +
                                                                                          true
                                                                                          +
                                                                                          + +
                                                                                          debugLogVersions: boolean

                                                                                          If enabled, logs the game, library version, and user agent to data storage, which can be used for debugging +purposes.

                                                                                          +
                                                                                          true
                                                                                          +
                                                                                          + +
                                                                                          maximumMessages?: number

                                                                                          Determines the maximum number of chat messages to log in MessageManager.

                                                                                          +
                                                                                          1000
                                                                                          +
                                                                                          + +

                                                                                          If 0 or fewer, message logging will effectively be disabled.

                                                                                          +
                                                                                          timeout?: number

                                                                                          The maximum number of milliseconds to wait for a response from the server when awaiting a response to a client +packet.

                                                                                          +
                                                                                          10000
                                                                                          +
                                                                                          + +
                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/ConnectionOptions.html b/docs/v2.0.0/interfaces/ConnectionOptions.html new file mode 100644 index 00000000..63153a4d --- /dev/null +++ b/docs/v2.0.0/interfaces/ConnectionOptions.html @@ -0,0 +1,40 @@ +ConnectionOptions | archipelago.js - v2.0.0
                                                                                          +

                                                                                            Interface ConnectionOptions

                                                                                            An interface of additional connection arguments when authenticating to an Archipelago server.

                                                                                            +
                                                                                            interface ConnectionOptions {
                                                                                                items?: number;
                                                                                                password?: string;
                                                                                                slotData?: boolean;
                                                                                                tags?: string[];
                                                                                                uuid?: string;
                                                                                                version?: {
                                                                                                    build: number;
                                                                                                    major: number;
                                                                                                    minor: number;
                                                                                                };
                                                                                            }

                                                                                            Properties

                                                                                            items?: number

                                                                                            Determines the kinds of received item events the server will broadcast to this client when locations are checked.

                                                                                            +

                                                                                            Value is an integer bitflag combination of values that is documented in itemsHandlingFlags.

                                                                                            +

                                                                                            Defaults to request all received item events, so unless you need local-only functionality this property +can usually be omitted.

                                                                                            +
                                                                                            password?: string

                                                                                            The room password, if the server requires a password to join. Otherwise, optional.

                                                                                            +
                                                                                            ""
                                                                                            +
                                                                                            + +
                                                                                            slotData?: boolean

                                                                                            Request this slot's data during connection. If false, server will respond with an empty object ({}) instead.

                                                                                            +
                                                                                            true
                                                                                            +
                                                                                            + +
                                                                                            tags?: string[]

                                                                                            A list of strings that denote special features or capabilities this sender is currently capable of. A list of +common tags is documented here:

                                                                                            +

                                                                                            https://github.com/ArchipelagoMW/Archipelago/blob/main/docs/network%20protocol.md#tags.

                                                                                            +
                                                                                            []
                                                                                            +
                                                                                            + +
                                                                                            uuid?: string

                                                                                            A unique identifier for this client.

                                                                                            +

                                                                                            Not currently used for anything server side, but may change or be deprecated in a future Archipelago update.

                                                                                            +

                                                                                            Defaults to a randomly generated v4 UUID.

                                                                                            +
                                                                                            version?: {
                                                                                                build: number;
                                                                                                major: number;
                                                                                                minor: number;
                                                                                            }

                                                                                            The version of Archipelago this client was designed for. This can be enforced on the server side to force a user +to update their client, if a new version was released.

                                                                                            +

                                                                                            Type declaration

                                                                                            • Readonlybuild: number

                                                                                              The build version component.

                                                                                              +
                                                                                            • Readonlymajor: number

                                                                                              The major version component.

                                                                                              +
                                                                                            • Readonlyminor: number

                                                                                              The minor version component.

                                                                                              +

                                                                                            targetVersion

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.AdminCommandResultJSONPacket.html b/docs/v2.0.0/interfaces/index.API.AdminCommandResultJSONPacket.html new file mode 100644 index 00000000..06c70d71 --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.AdminCommandResultJSONPacket.html @@ -0,0 +1,12 @@ +AdminCommandResultJSONPacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface AdminCommandResultJSONPacket

                                                                                            Sent to relevant clients to broadcast the result of an admin command.

                                                                                            +

                                                                                            PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                            +
                                                                                            interface AdminCommandResultJSONPacket {
                                                                                                cmd: "PrintJSON";
                                                                                                data: JSONMessagePart[];
                                                                                                type: "AdminCommandResult";
                                                                                            }

                                                                                            Properties

                                                                                            Properties

                                                                                            cmd

                                                                                            All the textual metadata for this packet.

                                                                                            +
                                                                                            type

                                                                                            The PrintJSONPacket subtype.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.BouncePacket.html b/docs/v2.0.0/interfaces/index.API.BouncePacket.html new file mode 100644 index 00000000..209af9fa --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.BouncePacket.html @@ -0,0 +1,17 @@ +BouncePacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface BouncePacket

                                                                                            Sent by the client to be broadcast from the server to all connected clients that match any one of the filter +arguments.

                                                                                            +

                                                                                            Useful for commonly implemented features such as DeathLink.

                                                                                            +
                                                                                            interface BouncePacket {
                                                                                                cmd: "Bounce";
                                                                                                data: JSONRecord;
                                                                                                games?: string[];
                                                                                                slots?: number[];
                                                                                                tags?: string[];
                                                                                            }

                                                                                            Properties

                                                                                            Properties

                                                                                            cmd

                                                                                            Any data you want to send.

                                                                                            +
                                                                                            games?: string[]

                                                                                            Optional. Games that should receive this message.

                                                                                            +
                                                                                            slots?: number[]

                                                                                            Optional. Player ids that should receive this message.

                                                                                            +
                                                                                            tags?: string[]

                                                                                            Optional. Client tags that should receive this message.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.BouncedPacket.html b/docs/v2.0.0/interfaces/index.API.BouncedPacket.html new file mode 100644 index 00000000..c46871d6 --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.BouncedPacket.html @@ -0,0 +1,15 @@ +BouncedPacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface BouncedPacket

                                                                                            Sent to clients after a client requested this message be sent to them, more info in the BouncePacket.

                                                                                            +
                                                                                            interface BouncedPacket {
                                                                                                cmd: "Bounced";
                                                                                                data: JSONRecord;
                                                                                                games?: string[];
                                                                                                slots?: number[];
                                                                                                tags?: string[];
                                                                                            }

                                                                                            Properties

                                                                                            Properties

                                                                                            cmd

                                                                                            A verbatim copy of the data in the BouncePacket package.

                                                                                            +
                                                                                            games?: string[]

                                                                                            Optional. Game names this message is targeting.

                                                                                            +
                                                                                            slots?: number[]

                                                                                            Optional. Player slot IDs that this message is targeting.

                                                                                            +
                                                                                            tags?: string[]

                                                                                            Optional. Client tags this message is targeting.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.ChatJSONPacket.html b/docs/v2.0.0/interfaces/index.API.ChatJSONPacket.html new file mode 100644 index 00000000..7be289f4 --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.ChatJSONPacket.html @@ -0,0 +1,18 @@ +ChatJSONPacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface ChatJSONPacket

                                                                                            Sent to clients to broadcast a normal chat message.

                                                                                            +

                                                                                            PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                            +
                                                                                            interface ChatJSONPacket {
                                                                                                cmd: "PrintJSON";
                                                                                                data: JSONMessagePart[];
                                                                                                message: string;
                                                                                                slot: number;
                                                                                                team: number;
                                                                                                type: "Chat";
                                                                                            }

                                                                                            Properties

                                                                                            Properties

                                                                                            cmd

                                                                                            All the textual metadata for this packet.

                                                                                            +
                                                                                            message: string

                                                                                            Original chat message without sender prefix.

                                                                                            +
                                                                                            slot: number

                                                                                            Slot of the triggering player.

                                                                                            +
                                                                                            team: number

                                                                                            Team of the triggering player.

                                                                                            +
                                                                                            type

                                                                                            The PrintJSONPacket subtype.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.CollectJSONPacket.html b/docs/v2.0.0/interfaces/index.API.CollectJSONPacket.html new file mode 100644 index 00000000..15d42475 --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.CollectJSONPacket.html @@ -0,0 +1,16 @@ +CollectJSONPacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface CollectJSONPacket

                                                                                            Sent to clients to broadcast a player has collected all their remaining items from the multi-world.

                                                                                            +

                                                                                            PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                            +
                                                                                            interface CollectJSONPacket {
                                                                                                cmd: "PrintJSON";
                                                                                                data: JSONMessagePart[];
                                                                                                slot: number;
                                                                                                team: number;
                                                                                                type: "Collect";
                                                                                            }

                                                                                            Properties

                                                                                            Properties

                                                                                            cmd

                                                                                            All the textual metadata for this packet.

                                                                                            +
                                                                                            slot: number

                                                                                            Slot of the triggering player.

                                                                                            +
                                                                                            team: number

                                                                                            Team of the triggering player.

                                                                                            +
                                                                                            type

                                                                                            The PrintJSONPacket subtype.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.CommandResultJSONPacket.html b/docs/v2.0.0/interfaces/index.API.CommandResultJSONPacket.html new file mode 100644 index 00000000..b21dfc3a --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.CommandResultJSONPacket.html @@ -0,0 +1,12 @@ +CommandResultJSONPacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface CommandResultJSONPacket

                                                                                            Sent to relevant clients to broadcast the result of a chat command.

                                                                                            +

                                                                                            PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                            +
                                                                                            interface CommandResultJSONPacket {
                                                                                                cmd: "PrintJSON";
                                                                                                data: JSONMessagePart[];
                                                                                                type: "CommandResult";
                                                                                            }

                                                                                            Properties

                                                                                            Properties

                                                                                            cmd

                                                                                            All the textual metadata for this packet.

                                                                                            +
                                                                                            type

                                                                                            The PrintJSONPacket subtype.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.ConnectPacket.html b/docs/v2.0.0/interfaces/index.API.ConnectPacket.html new file mode 100644 index 00000000..393c9036 --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.ConnectPacket.html @@ -0,0 +1,24 @@ +ConnectPacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface ConnectPacket

                                                                                            Sent by the client to authenticate a connection to an Archipelago session.

                                                                                            +
                                                                                            interface ConnectPacket {
                                                                                                cmd: "Connect";
                                                                                                game: string;
                                                                                                items_handling: number;
                                                                                                name: string;
                                                                                                password: string;
                                                                                                slot_data: boolean;
                                                                                                tags: string[];
                                                                                                uuid: string;
                                                                                                version: NetworkVersion;
                                                                                            }

                                                                                            Properties

                                                                                            cmd
                                                                                            game: string

                                                                                            The name of the game the client is playing.

                                                                                            +
                                                                                            items_handling: number

                                                                                            Bit flags configuring which items should be sent by the server. See itemsHandlingFlags for information +on individual flags.

                                                                                            +
                                                                                            name: string

                                                                                            The slot name for this client.

                                                                                            +
                                                                                            password: string

                                                                                            If the game session requires a password, it should be passed here.

                                                                                            +
                                                                                            slot_data: boolean

                                                                                            If true, the ConnectedPacket will contain slot data.

                                                                                            +
                                                                                            tags: string[]

                                                                                            Denotes special features or capabilities that the sender is currently capable of.

                                                                                            +
                                                                                            uuid: string

                                                                                            Unique identifier for player client.

                                                                                            +

                                                                                            An object representing the minimum Archipelago server version this client supports.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.ConnectUpdatePacket.html b/docs/v2.0.0/interfaces/index.API.ConnectUpdatePacket.html new file mode 100644 index 00000000..b4452d2e --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.ConnectUpdatePacket.html @@ -0,0 +1,12 @@ +ConnectUpdatePacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface ConnectUpdatePacket

                                                                                            Update arguments from the Connect packet, currently only updating tags and items_handling is supported.

                                                                                            +
                                                                                            interface ConnectUpdatePacket {
                                                                                                cmd: "ConnectUpdate";
                                                                                                items_handling: number;
                                                                                                tags: string[];
                                                                                            }

                                                                                            Properties

                                                                                            Properties

                                                                                            cmd
                                                                                            items_handling: number

                                                                                            Bit flags configuring which items should be sent by the server. See itemsHandlingFlags for additional +information.

                                                                                            +
                                                                                            tags: string[]

                                                                                            Denotes special features or capabilities that the sender is currently capable of.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.ConnectedPacket.html b/docs/v2.0.0/interfaces/index.API.ConnectedPacket.html new file mode 100644 index 00000000..fe576d8d --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.ConnectedPacket.html @@ -0,0 +1,26 @@ +ConnectedPacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface ConnectedPacket

                                                                                            Sent to clients when the connection handshake is successfully completed.

                                                                                            +
                                                                                            interface ConnectedPacket {
                                                                                                checked_locations: number[];
                                                                                                cmd: "Connected";
                                                                                                hint_points: number;
                                                                                                missing_locations: number[];
                                                                                                players: NetworkPlayer[];
                                                                                                slot: number;
                                                                                                slot_data: JSONSerializable;
                                                                                                slot_info: Record<string, NetworkSlot>;
                                                                                                team: number;
                                                                                            }

                                                                                            Properties

                                                                                            checked_locations: number[]

                                                                                            Contains integer ids of all locations that have been checked. Useful for trackers, among other things. Location +ids are valid in the range of -2^53^ to +(2^53)-1 (inclusive), with negative values and zero reserved for +Archipelago.

                                                                                            +
                                                                                            cmd
                                                                                            hint_points: number

                                                                                            Number of hint points that the current player has.

                                                                                            +
                                                                                            missing_locations: number[]

                                                                                            Contains integer ids of remaining locations that need to be checked. Useful for trackers, among other things.

                                                                                            +
                                                                                            players: NetworkPlayer[]

                                                                                            List denoting other players in the multi-world, whether connected or not.

                                                                                            +
                                                                                            slot: number

                                                                                            Your slot number on your team. See NetworkPlayer for more info on the slot number.

                                                                                            +
                                                                                            slot_data: JSONSerializable

                                                                                            Contains an object of slot related data, which differs per slot. If slot data was not requested in the +ConnectPacket, this value be an empty object.

                                                                                            +
                                                                                            slot_info: Record<string, NetworkSlot>

                                                                                            Object of each slot with their NetworkSlot information.

                                                                                            +
                                                                                            team: number

                                                                                            Your team number. See NetworkPlayer for more info on team number.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.ConnectionRefusedPacket.html b/docs/v2.0.0/interfaces/index.API.ConnectionRefusedPacket.html new file mode 100644 index 00000000..d131334a --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.ConnectionRefusedPacket.html @@ -0,0 +1,10 @@ +ConnectionRefusedPacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface ConnectionRefusedPacket

                                                                                            Sent to clients when the server refuses connection. This is sent during the initial connection handshake.

                                                                                            +
                                                                                            interface ConnectionRefusedPacket {
                                                                                                cmd: "ConnectionRefused";
                                                                                                errors?: ConnectionError[];
                                                                                            }

                                                                                            Properties

                                                                                            Properties

                                                                                            cmd
                                                                                            errors?: ConnectionError[]

                                                                                            Optional. When provided, should contain one or more ConnectionError values. See ConnectionError +for additional information on what each error means.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.CountdownJSONPacket.html b/docs/v2.0.0/interfaces/index.API.CountdownJSONPacket.html new file mode 100644 index 00000000..4270086f --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.CountdownJSONPacket.html @@ -0,0 +1,14 @@ +CountdownJSONPacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface CountdownJSONPacket

                                                                                            Sent to clients to broadcast a countdown message, usually for counting down the start of a game.

                                                                                            +

                                                                                            PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                            +
                                                                                            interface CountdownJSONPacket {
                                                                                                cmd: "PrintJSON";
                                                                                                countdown: number;
                                                                                                data: JSONMessagePart[];
                                                                                                type: "Countdown";
                                                                                            }

                                                                                            Properties

                                                                                            Properties

                                                                                            cmd
                                                                                            countdown: number

                                                                                            Amount of seconds remaining on the countdown.

                                                                                            +

                                                                                            All the textual metadata for this packet.

                                                                                            +
                                                                                            type

                                                                                            The PrintJSONPacket subtype.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.DataPackagePacket.html b/docs/v2.0.0/interfaces/index.API.DataPackagePacket.html new file mode 100644 index 00000000..a12d39a2 --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.DataPackagePacket.html @@ -0,0 +1,11 @@ +DataPackagePacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface DataPackagePacket

                                                                                            Sent to clients to provide what is known as a 'data package' which contains information to enable a client to most +easily communicate with the Archipelago server. Contents include things like location id to name mappings, among +others; see DataPackage for more info.

                                                                                            +
                                                                                            interface DataPackagePacket {
                                                                                                cmd: "DataPackage";
                                                                                                data: DataPackage;
                                                                                            }

                                                                                            Properties

                                                                                            Properties

                                                                                            cmd

                                                                                            The data package as an object of DataPackage.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.GetDataPackagePacket.html b/docs/v2.0.0/interfaces/index.API.GetDataPackagePacket.html new file mode 100644 index 00000000..999f2ed4 --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.GetDataPackagePacket.html @@ -0,0 +1,10 @@ +GetDataPackagePacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface GetDataPackagePacket

                                                                                            Sent by the client to request the data package from the server. Does not require client authentication.

                                                                                            +
                                                                                            interface GetDataPackagePacket {
                                                                                                cmd: "GetDataPackage";
                                                                                                games?: string[];
                                                                                            }

                                                                                            Properties

                                                                                            Properties

                                                                                            cmd
                                                                                            games?: string[]

                                                                                            Optional. If specified, will only send back the specified data.

                                                                                            +

                                                                                            It is recommended to only request required data to reduce network bandwidth costs.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.GetPacket.html b/docs/v2.0.0/interfaces/index.API.GetPacket.html new file mode 100644 index 00000000..fcb412aa --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.GetPacket.html @@ -0,0 +1,24 @@ +GetPacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface GetPacket

                                                                                            Sent by the client to request a single or multiple values from the server's data storage, see the SetPacket +for how to write values to the data storage. A GetPacket will be answered with a RetrievedPacket.

                                                                                            +

                                                                                            Additional properties sent in this package will also be added to the RetrievedPacket it triggers.

                                                                                            +

                                                                                            Some special read-only keys exist with specific return data:

                                                                                            +
                                                                                              +
                                                                                            • _read_hints_{team}_{slot}: NetworkHint[] - All hinted NetworkHint items relevant to the requested +player.
                                                                                            • +
                                                                                            • _read_slot_data_{slot}: JSONSerializable - slot_data belonging to the requested slot.
                                                                                            • +
                                                                                            • _read_item_name_groups_{game}: Record<string, string[]> - An object of item groups and their members.
                                                                                            • +
                                                                                            • _read_location_name_groups_{game}: Record<string, string[]> - An object of location groups and their +members.
                                                                                            • +
                                                                                            • _read_client_status_{team}_{slot}: number - The current status for the requested player. See +clientStatuses for all known client statues.
                                                                                            • +
                                                                                            • _read_race_mode: number - Returns 0 if race mode is disabled, 1 if it's enabled.
                                                                                            • +
                                                                                            +
                                                                                            interface GetPacket {
                                                                                                cmd: "Get";
                                                                                                keys: string[];
                                                                                                [p: string]: JSONSerializable;
                                                                                            }

                                                                                            Indexable

                                                                                            Properties

                                                                                            Properties

                                                                                            cmd
                                                                                            keys: string[]

                                                                                            Keys to retrieve the values for.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.GoalJSONPacket.html b/docs/v2.0.0/interfaces/index.API.GoalJSONPacket.html new file mode 100644 index 00000000..4d2c3b23 --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.GoalJSONPacket.html @@ -0,0 +1,16 @@ +GoalJSONPacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface GoalJSONPacket

                                                                                            Sent to clients to broadcast a player has met their goal condition.

                                                                                            +

                                                                                            PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                            +
                                                                                            interface GoalJSONPacket {
                                                                                                cmd: "PrintJSON";
                                                                                                data: JSONMessagePart[];
                                                                                                slot: number;
                                                                                                team: number;
                                                                                                type: "Goal";
                                                                                            }

                                                                                            Properties

                                                                                            Properties

                                                                                            cmd

                                                                                            All the textual metadata for this packet.

                                                                                            +
                                                                                            slot: number

                                                                                            Slot of the triggering player.

                                                                                            +
                                                                                            team: number

                                                                                            Team of the triggering player.

                                                                                            +
                                                                                            type

                                                                                            The PrintJSONPacket subtype.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.HintJSONPacket.html b/docs/v2.0.0/interfaces/index.API.HintJSONPacket.html new file mode 100644 index 00000000..077e5792 --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.HintJSONPacket.html @@ -0,0 +1,18 @@ +HintJSONPacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface HintJSONPacket

                                                                                            Sent to relevant clients to broadcast item hint information.

                                                                                            +

                                                                                            PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                            +
                                                                                            interface HintJSONPacket {
                                                                                                cmd: "PrintJSON";
                                                                                                data: JSONMessagePart[];
                                                                                                found: boolean;
                                                                                                item: NetworkItem;
                                                                                                receiving: number;
                                                                                                type: "Hint";
                                                                                            }

                                                                                            Properties

                                                                                            Properties

                                                                                            cmd

                                                                                            All the textual metadata for this packet.

                                                                                            +
                                                                                            found: boolean

                                                                                            Whether the location hinted for was checked.

                                                                                            +

                                                                                            Source player's identifier, location identifier, item identifier and item flags.

                                                                                            +
                                                                                            receiving: number

                                                                                            Destination player's identifier.

                                                                                            +
                                                                                            type

                                                                                            The PrintJSONPacket subtype.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.InvalidArgumentsPacketPacket.html b/docs/v2.0.0/interfaces/index.API.InvalidArgumentsPacketPacket.html new file mode 100644 index 00000000..17df910b --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.InvalidArgumentsPacketPacket.html @@ -0,0 +1,12 @@ +InvalidArgumentsPacketPacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface InvalidArgumentsPacketPacket

                                                                                            Sent to clients if the server caught a problem with a given packet's arguments.

                                                                                            +

                                                                                            InvalidPacketPacket for all possible InvalidPacket packet subtypes.

                                                                                            +
                                                                                            interface InvalidArgumentsPacketPacket {
                                                                                                cmd: "InvalidPacket";
                                                                                                text: string;
                                                                                                type: "arguments";
                                                                                            }

                                                                                            Properties

                                                                                            Properties

                                                                                            cmd
                                                                                            text: string

                                                                                            A descriptive message of the problem at hand.

                                                                                            +
                                                                                            type

                                                                                            The type of problem that was detected in the packet.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.InvalidCommandPacketPacket.html b/docs/v2.0.0/interfaces/index.API.InvalidCommandPacketPacket.html new file mode 100644 index 00000000..b4b7c4c3 --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.InvalidCommandPacketPacket.html @@ -0,0 +1,14 @@ +InvalidCommandPacketPacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface InvalidCommandPacketPacket

                                                                                            Sent to clients if the server caught a problem with a given packet's cmd property.

                                                                                            +

                                                                                            InvalidPacketPacket for all possible InvalidPacket packet subtypes.

                                                                                            +
                                                                                            interface InvalidCommandPacketPacket {
                                                                                                cmd: "InvalidPacket";
                                                                                                original_cmd: string;
                                                                                                text: string;
                                                                                                type: "cmd";
                                                                                            }

                                                                                            Properties

                                                                                            Properties

                                                                                            cmd
                                                                                            original_cmd: string

                                                                                            The cmd argument of the faulty packet.

                                                                                            +
                                                                                            text: string

                                                                                            A descriptive message of the problem at hand.

                                                                                            +
                                                                                            type

                                                                                            The type of problem that was detected in the packet.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.ItemCheatJSONPacket.html b/docs/v2.0.0/interfaces/index.API.ItemCheatJSONPacket.html new file mode 100644 index 00000000..f1aa1647 --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.ItemCheatJSONPacket.html @@ -0,0 +1,18 @@ +ItemCheatJSONPacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface ItemCheatJSONPacket

                                                                                            Sent to clients to broadcast a player has received a cheated item (via !getitem).

                                                                                            +

                                                                                            PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                            +
                                                                                            interface ItemCheatJSONPacket {
                                                                                                cmd: "PrintJSON";
                                                                                                data: JSONMessagePart[];
                                                                                                item: NetworkItem;
                                                                                                receiving: number;
                                                                                                team: number;
                                                                                                type: "ItemCheat";
                                                                                            }

                                                                                            Properties

                                                                                            Properties

                                                                                            cmd

                                                                                            All the textual metadata for this packet.

                                                                                            +

                                                                                            Source player's identifier, location identifier, item identifier and item flags.

                                                                                            +
                                                                                            receiving: number

                                                                                            Destination player's identifier.

                                                                                            +
                                                                                            team: number

                                                                                            Team of the triggering player.

                                                                                            +
                                                                                            type

                                                                                            The PrintJSONPacket subtype.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.ItemSendJSONPacket.html b/docs/v2.0.0/interfaces/index.API.ItemSendJSONPacket.html new file mode 100644 index 00000000..6bb121f9 --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.ItemSendJSONPacket.html @@ -0,0 +1,16 @@ +ItemSendJSONPacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface ItemSendJSONPacket

                                                                                            Sent to clients to broadcast a player has received an item.

                                                                                            +

                                                                                            PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                            +
                                                                                            interface ItemSendJSONPacket {
                                                                                                cmd: "PrintJSON";
                                                                                                data: JSONMessagePart[];
                                                                                                item: NetworkItem;
                                                                                                receiving: number;
                                                                                                type: "ItemSend";
                                                                                            }

                                                                                            Properties

                                                                                            Properties

                                                                                            cmd

                                                                                            All the textual metadata for this packet.

                                                                                            +

                                                                                            Source player's identifier, location identifier, item identifier and item flags.

                                                                                            +
                                                                                            receiving: number

                                                                                            Destination player's identifier.

                                                                                            +
                                                                                            type

                                                                                            The PrintJSONPacket subtype.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.JoinJSONPacket.html b/docs/v2.0.0/interfaces/index.API.JoinJSONPacket.html new file mode 100644 index 00000000..a67fcea8 --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.JoinJSONPacket.html @@ -0,0 +1,18 @@ +JoinJSONPacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface JoinJSONPacket

                                                                                            Sent to clients to broadcast a client has connected.

                                                                                            +

                                                                                            PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                            +
                                                                                            interface JoinJSONPacket {
                                                                                                cmd: "PrintJSON";
                                                                                                data: JSONMessagePart[];
                                                                                                slot: number;
                                                                                                tags: string[];
                                                                                                team: number;
                                                                                                type: "Join";
                                                                                            }

                                                                                            Properties

                                                                                            Properties

                                                                                            cmd

                                                                                            All the textual metadata for this packet.

                                                                                            +
                                                                                            slot: number

                                                                                            Slot of the triggering player.

                                                                                            +
                                                                                            tags: string[]

                                                                                            Tags of the triggering player.

                                                                                            +
                                                                                            team: number

                                                                                            Team of the triggering player.

                                                                                            +
                                                                                            type

                                                                                            The PrintJSONPacket subtype.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.LocationChecksPacket.html b/docs/v2.0.0/interfaces/index.API.LocationChecksPacket.html new file mode 100644 index 00000000..56431ac1 --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.LocationChecksPacket.html @@ -0,0 +1,11 @@ +LocationChecksPacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface LocationChecksPacket

                                                                                            Sent by the client to inform the server of locations that the client has checked. Used to inform the server of new +checks that are made, as well as to sync state.

                                                                                            +
                                                                                            interface LocationChecksPacket {
                                                                                                cmd: "LocationChecks";
                                                                                                locations: number[];
                                                                                            }

                                                                                            Properties

                                                                                            Properties

                                                                                            cmd
                                                                                            locations: number[]

                                                                                            The ids of the locations checked by the client. May contain any number of checks, even ones sent before; +duplicates do not cause issues with the Archipelago server.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.LocationInfoPacket.html b/docs/v2.0.0/interfaces/index.API.LocationInfoPacket.html new file mode 100644 index 00000000..b84fcd3e --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.LocationInfoPacket.html @@ -0,0 +1,10 @@ +LocationInfoPacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface LocationInfoPacket

                                                                                            Sent to clients to acknowledge a received LocationScoutsPacket and responds with the item in each location +being scouted.

                                                                                            +
                                                                                            interface LocationInfoPacket {
                                                                                                cmd: "LocationInfo";
                                                                                                locations: NetworkItem[];
                                                                                            }

                                                                                            Properties

                                                                                            Properties

                                                                                            cmd
                                                                                            locations: NetworkItem[]

                                                                                            Contains the list of item(s) in the location(s) scouted.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.LocationScoutsPacket.html b/docs/v2.0.0/interfaces/index.API.LocationScoutsPacket.html new file mode 100644 index 00000000..57e1c997 --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.LocationScoutsPacket.html @@ -0,0 +1,20 @@ +LocationScoutsPacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface LocationScoutsPacket

                                                                                            Sent by the client to inform the server of locations the client has seen, but not checked. Useful in cases in which +the item may appear in the game world, but may not be immediately gettable. The server will always respond with a +LocationInfoPacket with the items located in the scouted location.

                                                                                            +
                                                                                            interface LocationScoutsPacket {
                                                                                                cmd: "LocationScouts";
                                                                                                create_as_hint: 0 | 1 | 2;
                                                                                                locations: number[];
                                                                                            }

                                                                                            Properties

                                                                                            cmd
                                                                                            create_as_hint: 0 | 1 | 2
                                                                                              +
                                                                                            • If set to 0, this packet will not create hints for any locations in this packet.
                                                                                            • +
                                                                                            • If set to 1, this packet will create hints for all locations in this packet and broadcast them to all +relevant clients.
                                                                                            • +
                                                                                            • If set to 2, this packet will create hints for all locations in this packet and broadcast only new hints to +all relevant clients.
                                                                                            • +
                                                                                            +
                                                                                            locations: number[]

                                                                                            The ids of the locations seen by the client. May contain any number of locations, even ones sent before; +duplicates do not cause issues with the Archipelago server.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.PartJSONPacket.html b/docs/v2.0.0/interfaces/index.API.PartJSONPacket.html new file mode 100644 index 00000000..fb3a00a3 --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.PartJSONPacket.html @@ -0,0 +1,16 @@ +PartJSONPacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface PartJSONPacket

                                                                                            Sent to clients to broadcast a client has disconnected.

                                                                                            +

                                                                                            PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                            +
                                                                                            interface PartJSONPacket {
                                                                                                cmd: "PrintJSON";
                                                                                                data: JSONMessagePart[];
                                                                                                slot: number;
                                                                                                team: number;
                                                                                                type: "Part";
                                                                                            }

                                                                                            Properties

                                                                                            Properties

                                                                                            cmd

                                                                                            All the textual metadata for this packet.

                                                                                            +
                                                                                            slot: number

                                                                                            Slot of the triggering player.

                                                                                            +
                                                                                            team: number

                                                                                            Team of the triggering player.

                                                                                            +
                                                                                            type

                                                                                            The PrintJSONPacket subtype.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.ReceivedItemsPacket.html b/docs/v2.0.0/interfaces/index.API.ReceivedItemsPacket.html new file mode 100644 index 00000000..340f671b --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.ReceivedItemsPacket.html @@ -0,0 +1,11 @@ +ReceivedItemsPacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface ReceivedItemsPacket

                                                                                            Sent to clients when they receive an item.

                                                                                            +
                                                                                            interface ReceivedItemsPacket {
                                                                                                cmd: "ReceivedItems";
                                                                                                index: number;
                                                                                                items: NetworkItem[];
                                                                                            }

                                                                                            Properties

                                                                                            Properties

                                                                                            cmd
                                                                                            index: number

                                                                                            The next empty slot in the list of items for the receiving client. Useful for tracking items.

                                                                                            +
                                                                                            items: NetworkItem[]

                                                                                            The items which the client is receiving.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.ReleaseJSONPacket.html b/docs/v2.0.0/interfaces/index.API.ReleaseJSONPacket.html new file mode 100644 index 00000000..2a1f4e5d --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.ReleaseJSONPacket.html @@ -0,0 +1,16 @@ +ReleaseJSONPacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface ReleaseJSONPacket

                                                                                            Sent to clients to broadcast a player has released all remaining items in their world.

                                                                                            +

                                                                                            PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                            +
                                                                                            interface ReleaseJSONPacket {
                                                                                                cmd: "PrintJSON";
                                                                                                data: JSONMessagePart[];
                                                                                                slot: number;
                                                                                                team: number;
                                                                                                type: "Release";
                                                                                            }

                                                                                            Properties

                                                                                            Properties

                                                                                            cmd

                                                                                            All the textual metadata for this packet.

                                                                                            +
                                                                                            slot: number

                                                                                            Slot of the triggering player.

                                                                                            +
                                                                                            team: number

                                                                                            Team of the triggering player.

                                                                                            +
                                                                                            type

                                                                                            The PrintJSONPacket subtype.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.RetrievedPacket.html b/docs/v2.0.0/interfaces/index.API.RetrievedPacket.html new file mode 100644 index 00000000..e1584e3d --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.RetrievedPacket.html @@ -0,0 +1,12 @@ +RetrievedPacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface RetrievedPacket

                                                                                            Sent to clients as a response to a GetPacket.

                                                                                            +

                                                                                            Additional arguments added to the GetPacket that triggered this RetrievedPacket will also be passed +along.

                                                                                            +
                                                                                            interface RetrievedPacket {
                                                                                                cmd: "Retrieved";
                                                                                                keys: {
                                                                                                    [key: string]: JSONSerializable;
                                                                                                };
                                                                                                [p: string]: JSONSerializable;
                                                                                            }

                                                                                            Indexable

                                                                                            Properties

                                                                                            Properties

                                                                                            cmd
                                                                                            keys: {
                                                                                                [key: string]: JSONSerializable;
                                                                                            }

                                                                                            A key-value collection containing all the values for the keys requested in the GetPacket.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.RoomInfoPacket.html b/docs/v2.0.0/interfaces/index.API.RoomInfoPacket.html new file mode 100644 index 00000000..1d3cdf55 --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.RoomInfoPacket.html @@ -0,0 +1,31 @@ +RoomInfoPacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface RoomInfoPacket

                                                                                            Sent to clients when they connect to an Archipelago server, but before they authenticate.

                                                                                            +
                                                                                            interface RoomInfoPacket {
                                                                                                cmd: "RoomInfo";
                                                                                                datapackage_checksums: Record<string, string>;
                                                                                                games: string[];
                                                                                                generator_version: NetworkVersion;
                                                                                                hint_cost: number;
                                                                                                location_check_points: number;
                                                                                                password: boolean;
                                                                                                permissions: PermissionTable;
                                                                                                seed_name: string;
                                                                                                tags: string[];
                                                                                                time: number;
                                                                                                version: NetworkVersion;
                                                                                            }

                                                                                            Properties

                                                                                            cmd
                                                                                            datapackage_checksums: Record<string, string>

                                                                                            Checksum hash of the individual games' data packages the server will send. Used by newer clients to decide which +games' caches are outdated. See DataPackage for more information on the data package.

                                                                                            +
                                                                                            games: string[]

                                                                                            List of games present in this multi-world.

                                                                                            +
                                                                                            generator_version: NetworkVersion

                                                                                            Object denoting the version of Archipelago which generated the multi-world.

                                                                                            +
                                                                                            hint_cost: number

                                                                                            The amount of points it costs to receive a hint from the server.

                                                                                            +
                                                                                            location_check_points: number

                                                                                            The amount of hint points you receive per item/location check completed.

                                                                                            +
                                                                                            password: boolean

                                                                                            Denoted whether a password is required to join this room.

                                                                                            +
                                                                                            permissions: PermissionTable

                                                                                            Mapping of restrict-able commands to their current PermissionValue level.

                                                                                            +
                                                                                            seed_name: string

                                                                                            Uniquely identifying name for this generation. Based on the seed, but not identical to prevent spoilers.

                                                                                            +
                                                                                            tags: string[]

                                                                                            Denotes special features or capabilities that the sender is capable of. Example: WebHost

                                                                                            +
                                                                                            time: number

                                                                                            Unix time stamp in seconds of "now". Sent for time synchronization if wanted for things like a DeathLink +BouncePacket.

                                                                                            +

                                                                                            Object denoting the version of Archipelago which the server is running.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.RoomUpdatePacket.html b/docs/v2.0.0/interfaces/index.API.RoomUpdatePacket.html new file mode 100644 index 00000000..dcc984b8 --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.RoomUpdatePacket.html @@ -0,0 +1,29 @@ +RoomUpdatePacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface RoomUpdatePacket

                                                                                            Sent when there is a need to update information about the present game session. Generally useful for async games. +Once authenticated, this may also contain data from ConnectedPacket.

                                                                                            +

                                                                                            All arguments for this packet are optional, only changes are sent.

                                                                                            +
                                                                                            interface RoomUpdatePacket {
                                                                                                checked_locations?: number[];
                                                                                                cmd: "RoomUpdate";
                                                                                                hint_cost?: number;
                                                                                                hint_points?: number;
                                                                                                location_check_points?: number;
                                                                                                password?: boolean;
                                                                                                permissions: PermissionTable;
                                                                                                players?: NetworkPlayer[];
                                                                                                tags?: string[];
                                                                                                time?: number;
                                                                                            }

                                                                                            Properties

                                                                                            checked_locations?: number[]

                                                                                            Might be a partial update, containing new locations that were checked, especially from a co-op partner in the +same slot.

                                                                                            +
                                                                                            cmd
                                                                                            hint_cost?: number

                                                                                            The amount of points it costs to receive a hint from the server.

                                                                                            +
                                                                                            hint_points?: number

                                                                                            Number of hint points that the current player has.

                                                                                            +
                                                                                            location_check_points?: number

                                                                                            The amount of hint points you receive per item/location check completed.

                                                                                            +
                                                                                            password?: boolean

                                                                                            Denoted whether a password is required to join this room.

                                                                                            +
                                                                                            permissions: PermissionTable

                                                                                            Mapping of restrict-able commands to their current PermissionValue level.

                                                                                            +
                                                                                            players?: NetworkPlayer[]

                                                                                            Information on the players, whether connected or not.

                                                                                            +
                                                                                            tags?: string[]

                                                                                            Denotes special features or capabilities that the sender is capable of. Example: WebHost

                                                                                            +
                                                                                            time?: number

                                                                                            Unix time stamp of "now". Send for time synchronization if wanted for things like a DeathLink +BouncePacket.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.SayPacket.html b/docs/v2.0.0/interfaces/index.API.SayPacket.html new file mode 100644 index 00000000..691e7a63 --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.SayPacket.html @@ -0,0 +1,9 @@ +SayPacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface SayPacket

                                                                                            Basic chat-type packet which sends text to the server to be distributed to other clients.

                                                                                            +
                                                                                            interface SayPacket {
                                                                                                cmd: "Say";
                                                                                                text: string;
                                                                                            }

                                                                                            Properties

                                                                                            Properties

                                                                                            cmd
                                                                                            text: string

                                                                                            Text to send to others.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.ServerChatJSONPacket.html b/docs/v2.0.0/interfaces/index.API.ServerChatJSONPacket.html new file mode 100644 index 00000000..b77d8d16 --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.ServerChatJSONPacket.html @@ -0,0 +1,14 @@ +ServerChatJSONPacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface ServerChatJSONPacket

                                                                                            Sent to clients to broadcast a server-side chat message.

                                                                                            +

                                                                                            PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                            +
                                                                                            interface ServerChatJSONPacket {
                                                                                                cmd: "PrintJSON";
                                                                                                data: JSONMessagePart[];
                                                                                                message: string;
                                                                                                type: "ServerChat";
                                                                                            }

                                                                                            Properties

                                                                                            Properties

                                                                                            cmd

                                                                                            All the textual metadata for this packet.

                                                                                            +
                                                                                            message: string

                                                                                            Original chat message without sender prefix.

                                                                                            +
                                                                                            type

                                                                                            The PrintJSONPacket subtype.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.SetNotifyPacket.html b/docs/v2.0.0/interfaces/index.API.SetNotifyPacket.html new file mode 100644 index 00000000..5ce71511 --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.SetNotifyPacket.html @@ -0,0 +1,10 @@ +SetNotifyPacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface SetNotifyPacket

                                                                                            Used to register your current session for receiving all SetReplyPackets of certain keys to allow your client +to keep track of changes.

                                                                                            +
                                                                                            interface SetNotifyPacket {
                                                                                                cmd: "SetNotify";
                                                                                                keys: string[];
                                                                                            }

                                                                                            Properties

                                                                                            Properties

                                                                                            cmd
                                                                                            keys: string[]

                                                                                            Keys to receive all SetReplyPackets for.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.SetPacket.html b/docs/v2.0.0/interfaces/index.API.SetPacket.html new file mode 100644 index 00000000..f3b7ce08 --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.SetPacket.html @@ -0,0 +1,20 @@ +SetPacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface SetPacket

                                                                                            Sent by the client to write data to the server's data storage, that data can then be shared across worlds or just +saved for later. Values for keys in the data storage can be retrieved with a GetPacket, or monitored with a +SetNotifyPacket.

                                                                                            +

                                                                                            Additional arguments sent in this package will also be added to the SetReplyPacket it triggers.

                                                                                            +
                                                                                            interface SetPacket {
                                                                                                cmd: "Set";
                                                                                                default: JSONSerializable;
                                                                                                key: string;
                                                                                                operations: DataStorageOperation[];
                                                                                                want_reply: boolean;
                                                                                                [p: string]: JSONSerializable;
                                                                                            }

                                                                                            Indexable

                                                                                            Properties

                                                                                            cmd

                                                                                            The default value to use in case the key has no value on the server.

                                                                                            +
                                                                                            key: string

                                                                                            The key to manipulate.

                                                                                            +
                                                                                            operations: DataStorageOperation[]

                                                                                            Operations to apply to the value, multiple operations can be present, and they will be executed in order of +appearance. See DataStorageOperation for information on supported operations.

                                                                                            +
                                                                                            want_reply: boolean

                                                                                            If set, the server will send a SetReplyPacket back to the client.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.SetReplyPacket.html b/docs/v2.0.0/interfaces/index.API.SetReplyPacket.html new file mode 100644 index 00000000..b152df88 --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.SetReplyPacket.html @@ -0,0 +1,18 @@ +SetReplyPacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface SetReplyPacket

                                                                                            Sent to clients in response to a SetPacket if want_reply was set to true, or if the client has registered +to receive updates for a certain key using the SetNotifyPacket. SetReplyPackets are sent even if a +SetPacket package did not alter the value for the key.

                                                                                            +

                                                                                            Additional arguments added to the SetPacket that triggered this SetReplyPacket will also be passed +along.

                                                                                            +
                                                                                            interface SetReplyPacket {
                                                                                                cmd: "SetReply";
                                                                                                key: string;
                                                                                                original_value: JSONSerializable;
                                                                                                value: JSONSerializable;
                                                                                                [p: string]: JSONSerializable;
                                                                                            }

                                                                                            Indexable

                                                                                            Properties

                                                                                            Properties

                                                                                            cmd
                                                                                            key: string

                                                                                            The key that was updated.

                                                                                            +
                                                                                            original_value: JSONSerializable

                                                                                            The value the key had before it was updated.

                                                                                            +

                                                                                            The new value for the key.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.StatusUpdatePacket.html b/docs/v2.0.0/interfaces/index.API.StatusUpdatePacket.html new file mode 100644 index 00000000..e420ba87 --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.StatusUpdatePacket.html @@ -0,0 +1,10 @@ +StatusUpdatePacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface StatusUpdatePacket

                                                                                            Sent to the server to update on the client's status. Examples include readiness or goal completion.

                                                                                            +
                                                                                            interface StatusUpdatePacket {
                                                                                                cmd: "StatusUpdate";
                                                                                                status:
                                                                                                    | 0
                                                                                                    | 5
                                                                                                    | 10
                                                                                                    | 20
                                                                                                    | 30;
                                                                                            }

                                                                                            Properties

                                                                                            Properties

                                                                                            cmd
                                                                                            status:
                                                                                                | 0
                                                                                                | 5
                                                                                                | 10
                                                                                                | 20
                                                                                                | 30

                                                                                            The new client status value to set this slot to. See clientStatuses for all known values.

                                                                                            +

                                                                                            This packet is ignored if the client status was set to clientStatuses.goal.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.SyncPacket.html b/docs/v2.0.0/interfaces/index.API.SyncPacket.html new file mode 100644 index 00000000..56555765 --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.SyncPacket.html @@ -0,0 +1,10 @@ +SyncPacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface SyncPacket

                                                                                            Sent to server to request a ReceivedItemsPacket with all items ever received.

                                                                                            +

                                                                                            In principle, a network desync of items should never occur, as if connection is broken and then +re-established, the server will resend all items ever received on reconnection, so use of this packet should never be +needed.

                                                                                            +
                                                                                            interface SyncPacket {
                                                                                                cmd: "Sync";
                                                                                            }

                                                                                            Properties

                                                                                            cmd +

                                                                                            Properties

                                                                                            cmd
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.TagsChangedJSONPacket.html b/docs/v2.0.0/interfaces/index.API.TagsChangedJSONPacket.html new file mode 100644 index 00000000..f204679f --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.TagsChangedJSONPacket.html @@ -0,0 +1,18 @@ +TagsChangedJSONPacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface TagsChangedJSONPacket

                                                                                            Sent to clients to broadcast a client has changed their tags.

                                                                                            +

                                                                                            PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                            +
                                                                                            interface TagsChangedJSONPacket {
                                                                                                cmd: "PrintJSON";
                                                                                                data: JSONMessagePart[];
                                                                                                slot: number;
                                                                                                tags: string[];
                                                                                                team: number;
                                                                                                type: "TagsChanged";
                                                                                            }

                                                                                            Properties

                                                                                            Properties

                                                                                            cmd

                                                                                            All the textual metadata for this packet.

                                                                                            +
                                                                                            slot: number

                                                                                            Slot of the triggering player.

                                                                                            +
                                                                                            tags: string[]

                                                                                            Tags of the triggering player.

                                                                                            +
                                                                                            team: number

                                                                                            Team of the triggering player.

                                                                                            +
                                                                                            type

                                                                                            The PrintJSONPacket subtype.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.TutorialJSONPacket.html b/docs/v2.0.0/interfaces/index.API.TutorialJSONPacket.html new file mode 100644 index 00000000..3789dc35 --- /dev/null +++ b/docs/v2.0.0/interfaces/index.API.TutorialJSONPacket.html @@ -0,0 +1,12 @@ +TutorialJSONPacket | archipelago.js - v2.0.0
                                                                                            +

                                                                                            Interface TutorialJSONPacket

                                                                                            Sent to relevant clients to broadcast tutorial information, usually on first connection.

                                                                                            +

                                                                                            PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                            +
                                                                                            interface TutorialJSONPacket {
                                                                                                cmd: "PrintJSON";
                                                                                                data: JSONMessagePart[];
                                                                                                type: "Tutorial";
                                                                                            }

                                                                                            Properties

                                                                                            Properties

                                                                                            cmd

                                                                                            All the textual metadata for this packet.

                                                                                            +
                                                                                            type

                                                                                            The PrintJSONPacket subtype.

                                                                                            +
                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.ClientOptions.html b/docs/v2.0.0/interfaces/index.ClientOptions.html new file mode 100644 index 00000000..88bb672b --- /dev/null +++ b/docs/v2.0.0/interfaces/index.ClientOptions.html @@ -0,0 +1,30 @@ +ClientOptions | archipelago.js - v2.0.0
                                                                                            +

                                                                                              Interface ClientOptions

                                                                                              An interface of client options that can be set on a Client object.

                                                                                              +
                                                                                              interface ClientOptions {
                                                                                                  autoFetchDataPackage?: boolean;
                                                                                                  debugLogVersions: boolean;
                                                                                                  maximumMessages?: number;
                                                                                                  timeout?: number;
                                                                                              }

                                                                                              Properties

                                                                                              autoFetchDataPackage?: boolean

                                                                                              Automatically requests the DataPackage from the server during Client.login, if the packages are missing +in the DataPackageManager.

                                                                                              +
                                                                                              true
                                                                                              +
                                                                                              + +
                                                                                              debugLogVersions: boolean

                                                                                              If enabled, logs the game, library version, and user agent to data storage, which can be used for debugging +purposes.

                                                                                              +
                                                                                              true
                                                                                              +
                                                                                              + +
                                                                                              maximumMessages?: number

                                                                                              Determines the maximum number of chat messages to log in MessageManager.

                                                                                              +
                                                                                              1000
                                                                                              +
                                                                                              + +

                                                                                              If 0 or fewer, message logging will effectively be disabled.

                                                                                              +
                                                                                              timeout?: number

                                                                                              The maximum number of milliseconds to wait for a response from the server when awaiting a response to a client +packet.

                                                                                              +
                                                                                              10000
                                                                                              +
                                                                                              + +
                                                                                              \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.ConnectionOptions.html b/docs/v2.0.0/interfaces/index.ConnectionOptions.html new file mode 100644 index 00000000..a8793c1d --- /dev/null +++ b/docs/v2.0.0/interfaces/index.ConnectionOptions.html @@ -0,0 +1,40 @@ +ConnectionOptions | archipelago.js - v2.0.0
                                                                                              +

                                                                                                Interface ConnectionOptions

                                                                                                An interface of additional connection arguments when authenticating to an Archipelago server.

                                                                                                +
                                                                                                interface ConnectionOptions {
                                                                                                    items?: number;
                                                                                                    password?: string;
                                                                                                    slotData?: boolean;
                                                                                                    tags?: string[];
                                                                                                    uuid?: string;
                                                                                                    version?: {
                                                                                                        build: number;
                                                                                                        major: number;
                                                                                                        minor: number;
                                                                                                    };
                                                                                                }

                                                                                                Properties

                                                                                                items?: number

                                                                                                Determines the kinds of received item events the server will broadcast to this client when locations are checked.

                                                                                                +

                                                                                                Value is an integer bitflag combination of values that is documented in itemsHandlingFlags.

                                                                                                +

                                                                                                Defaults to request all received item events, so unless you need local-only functionality this property +can usually be omitted.

                                                                                                +
                                                                                                password?: string

                                                                                                The room password, if the server requires a password to join. Otherwise, optional.

                                                                                                +
                                                                                                ""
                                                                                                +
                                                                                                + +
                                                                                                slotData?: boolean

                                                                                                Request this slot's data during connection. If false, server will respond with an empty object ({}) instead.

                                                                                                +
                                                                                                true
                                                                                                +
                                                                                                + +
                                                                                                tags?: string[]

                                                                                                A list of strings that denote special features or capabilities this sender is currently capable of. A list of +common tags is documented here:

                                                                                                +

                                                                                                https://github.com/ArchipelagoMW/Archipelago/blob/main/docs/network%20protocol.md#tags.

                                                                                                +
                                                                                                []
                                                                                                +
                                                                                                + +
                                                                                                uuid?: string

                                                                                                A unique identifier for this client.

                                                                                                +

                                                                                                Not currently used for anything server side, but may change or be deprecated in a future Archipelago update.

                                                                                                +

                                                                                                Defaults to a randomly generated v4 UUID.

                                                                                                +
                                                                                                version?: {
                                                                                                    build: number;
                                                                                                    major: number;
                                                                                                    minor: number;
                                                                                                }

                                                                                                The version of Archipelago this client was designed for. This can be enforced on the server side to force a user +to update their client, if a new version was released.

                                                                                                +

                                                                                                Type declaration

                                                                                                • Readonlybuild: number

                                                                                                  The build version component.

                                                                                                  +
                                                                                                • Readonlymajor: number

                                                                                                  The major version component.

                                                                                                  +
                                                                                                • Readonlyminor: number

                                                                                                  The minor version component.

                                                                                                  +

                                                                                                targetVersion

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.0/modules.html b/docs/v2.0.0/modules.html new file mode 100644 index 00000000..f0d3a9f2 --- /dev/null +++ b/docs/v2.0.0/modules.html @@ -0,0 +1,15 @@ +archipelago.js - v2.0.0
                                                                                                +

                                                                                                  archipelago.js - v2.0.0

                                                                                                  + +

                                                                                                  + Index +

                                                                                                  +
                                                                                                  +
                                                                                                  +

                                                                                                  Guides

                                                                                                  Other

                                                                                                  +
                                                                                                  \ No newline at end of file diff --git a/docs/v2.0.0/modules/API.html b/docs/v2.0.0/modules/API.html new file mode 100644 index 00000000..8e9fe866 --- /dev/null +++ b/docs/v2.0.0/modules/API.html @@ -0,0 +1,107 @@ +API | archipelago.js - v2.0.0
                                                                                                  +

                                                                                                    Namespace API

                                                                                                    A collection of types, constants, and enumerations that get passed over the Archipelago network protocol.

                                                                                                    +

                                                                                                    You can read more information about the Network Protocol in the Archipelago +Network Protocol +documentation on their GitHub repository. +API

                                                                                                    +

                                                                                                    Users of this library should utilize built-in helper methods and objects, whenever available, but these +base types are still exposed, if needed.

                                                                                                    +
                                                                                                    + +

                                                                                                    + Index +

                                                                                                    +
                                                                                                    +
                                                                                                    +

                                                                                                    DataStorage

                                                                                                    Network Packets

                                                                                                    Other

                                                                                                    +
                                                                                                    \ No newline at end of file diff --git a/docs/v2.0.0/modules/index.API.html b/docs/v2.0.0/modules/index.API.html new file mode 100644 index 00000000..a12dac0b --- /dev/null +++ b/docs/v2.0.0/modules/index.API.html @@ -0,0 +1,107 @@ +API | archipelago.js - v2.0.0
                                                                                                    +

                                                                                                      Namespace API

                                                                                                      A collection of types, constants, and enumerations that get passed over the Archipelago network protocol.

                                                                                                      +

                                                                                                      You can read more information about the Network Protocol in the Archipelago +Network Protocol +documentation on their GitHub repository. +API

                                                                                                      +

                                                                                                      Users of this library should utilize built-in helper methods and objects, whenever available, but these +base types are still exposed, if needed.

                                                                                                      +
                                                                                                      + +

                                                                                                      + Index +

                                                                                                      +
                                                                                                      +
                                                                                                      +

                                                                                                      DataStorage

                                                                                                      Network Packets

                                                                                                      Other

                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/modules/index.html b/docs/v2.0.0/modules/index.html new file mode 100644 index 00000000..07e29e93 --- /dev/null +++ b/docs/v2.0.0/modules/index.html @@ -0,0 +1,49 @@ +index | archipelago.js - v2.0.0
                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/sitemap.xml b/docs/v2.0.0/sitemap.xml new file mode 100644 index 00000000..a335c1bb --- /dev/null +++ b/docs/v2.0.0/sitemap.xml @@ -0,0 +1,515 @@ + + + + https://archipelago.js.org/modules.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/index.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/hierarchy.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/documents/Quick_Start.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/modules/index.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/modules/index.API.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.AdminCommandResultJSONPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.BouncedPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.BouncePacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.ChatJSONPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.CollectJSONPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.CommandResultJSONPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.ConnectedPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.ConnectionRefusedPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.ConnectPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.ConnectUpdatePacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.CountdownJSONPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.DataPackagePacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.GetDataPackagePacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.GetPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.GoalJSONPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.HintJSONPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.InvalidArgumentsPacketPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.InvalidCommandPacketPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.ItemCheatJSONPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.ItemSendJSONPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.JoinJSONPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.LocationChecksPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.LocationInfoPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.LocationScoutsPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.PartJSONPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.ReceivedItemsPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.ReleaseJSONPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.RetrievedPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.RoomInfoPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.RoomUpdatePacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.SayPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.ServerChatJSONPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.SetNotifyPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.SetPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.SetReplyPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.StatusUpdatePacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.SyncPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.TagsChangedJSONPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.API.TutorialJSONPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.AddDataStorageOperation.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.AndDataStorageOperation.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.CeilingDataStorageOperation.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.ClientPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.ColorJSONMessagePart.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.ConnectionError.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.DataPackage.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.DataStorageOperation.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.DefaultDataStorageOperation.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.FloorDataStorageOperation.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.GamePackage.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.InvalidPacketPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.ItemJSONMessagePart.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.JSONMessagePart.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.JSONRecord.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.JSONSerializable.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.LeftShiftDataStorageOperation.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.LocationJSONMessagePart.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.MaxDataStorageOperation.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.MinDataStorageOperation.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.ModuloDataStorageOperation.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.MultiplyDataStorageOperation.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.NetworkHint.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.NetworkItem.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.NetworkPlayer.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.NetworkSlot.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.NetworkVersion.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.OrDataStorageOperation.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.PermissionTable.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.PermissionValue.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.PopDataStorageOperation.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.PowerDataStorageOperation.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.PrintJSONPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.PrintJSONType.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.RemoveDataStorageOperation.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.ReplaceDataStorageOperation.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.RightShiftDataStorageOperation.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.ServerPacket.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.TextJSONMessagePart.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.UpdateDataStorageOperation.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.ValidJSONColorType.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.ValidJSONMessagePartType.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.API.XorDataStorageOperation.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/variables/index.API.clientStatuses.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/variables/index.API.itemClassifications.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/variables/index.API.itemsHandlingFlags.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/variables/index.API.permissions.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/variables/index.API.slotTypes.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/classes/index.BaseMessageNode.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/classes/index.Client.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/classes/index.ColorMessageNode.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/classes/index.DataPackageManager.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/classes/index.DataStorageManager.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/classes/index.DeathLinkManager.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/classes/index.EventBasedManager.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/classes/index.Hint.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/classes/index.IntermediateDataOperation.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/classes/index.Item.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/classes/index.ItemMessageNode.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/classes/index.ItemsManager.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/classes/index.LocationMessageNode.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/classes/index.MessageManager.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/classes/index.PackageMetadata.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/classes/index.Player.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/classes/index.PlayerMessageNode.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/classes/index.PlayersManager.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/classes/index.RoomStateManager.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/classes/index.SocketManager.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/classes/index.TextualMessageNode.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.ClientOptions.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/interfaces/index.ConnectionOptions.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.ClientStatus.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.DataChangeCallback.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.DeathEvents.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.ItemEvents.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.MessageEvents.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.MessageLog.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.MessageNode.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.PlayerEvents.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.RoomStateEvents.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/types/index.SocketEvents.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/variables/index.libraryVersion.html + 2024-11-08T15:31:46.940Z + + + https://archipelago.js.org/variables/index.targetVersion.html + 2024-11-08T15:31:46.940Z + + diff --git a/docs/v2.0.0/types/API.AddDataStorageOperation.html b/docs/v2.0.0/types/API.AddDataStorageOperation.html new file mode 100644 index 00000000..4fba109f --- /dev/null +++ b/docs/v2.0.0/types/API.AddDataStorageOperation.html @@ -0,0 +1,9 @@ +AddDataStorageOperation | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias AddDataStorageOperation

                                                                                                      AddDataStorageOperation: {
                                                                                                          operation: "add";
                                                                                                          value: number | JSONSerializable[];
                                                                                                      }

                                                                                                      Adds value to the current value of the key, if both the current value and value are arrays then value will be +appended to the current value.

                                                                                                      +

                                                                                                      Type declaration

                                                                                                      • Readonlyoperation: "add"
                                                                                                      • Readonlyvalue: number | JSONSerializable[]

                                                                                                        A value for the operation to apply against the current data storage value.

                                                                                                        +

                                                                                                      DataStorageOperation for all possible operation subtypes.

                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.AndDataStorageOperation.html b/docs/v2.0.0/types/API.AndDataStorageOperation.html new file mode 100644 index 00000000..68b63ac0 --- /dev/null +++ b/docs/v2.0.0/types/API.AndDataStorageOperation.html @@ -0,0 +1,8 @@ +AndDataStorageOperation | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias AndDataStorageOperation

                                                                                                      AndDataStorageOperation: {
                                                                                                          operation: "and";
                                                                                                          value: number;
                                                                                                      }

                                                                                                      Applies a bitwise AND to the current value of the key with value.

                                                                                                      +

                                                                                                      Type declaration

                                                                                                      • Readonlyoperation: "and"
                                                                                                      • Readonlyvalue: number

                                                                                                        A value for the operation to apply against the current data storage value.

                                                                                                        +

                                                                                                      DataStorageOperation for all possible operation subtypes.

                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.CeilingDataStorageOperation.html b/docs/v2.0.0/types/API.CeilingDataStorageOperation.html new file mode 100644 index 00000000..047e8078 --- /dev/null +++ b/docs/v2.0.0/types/API.CeilingDataStorageOperation.html @@ -0,0 +1,8 @@ +CeilingDataStorageOperation | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias CeilingDataStorageOperation

                                                                                                      CeilingDataStorageOperation: {
                                                                                                          operation: "ceil";
                                                                                                          value: null;
                                                                                                      }

                                                                                                      Rounds up the current value to the nearest integer.

                                                                                                      +

                                                                                                      Type declaration

                                                                                                      • Readonlyoperation: "ceil"
                                                                                                      • Readonlyvalue: null

                                                                                                        Ignored for this operation.

                                                                                                        +

                                                                                                      DataStorageOperation for all possible operation subtypes.

                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.ClientPacket.html b/docs/v2.0.0/types/API.ClientPacket.html new file mode 100644 index 00000000..3d0cbd22 --- /dev/null +++ b/docs/v2.0.0/types/API.ClientPacket.html @@ -0,0 +1,5 @@ +ClientPacket | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias ClientPacket

                                                                                                      ClientPacket:
                                                                                                          | BouncePacket
                                                                                                          | ConnectPacket
                                                                                                          | ConnectUpdatePacket
                                                                                                          | GetPacket
                                                                                                          | GetDataPackagePacket
                                                                                                          | LocationChecksPacket
                                                                                                          | LocationScoutsPacket
                                                                                                          | SayPacket
                                                                                                          | SetPacket
                                                                                                          | SetNotifyPacket
                                                                                                          | StatusUpdatePacket
                                                                                                          | SyncPacket
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.ColorJSONMessagePart.html b/docs/v2.0.0/types/API.ColorJSONMessagePart.html new file mode 100644 index 00000000..9b00fbe2 --- /dev/null +++ b/docs/v2.0.0/types/API.ColorJSONMessagePart.html @@ -0,0 +1,10 @@ +ColorJSONMessagePart | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias ColorJSONMessagePart

                                                                                                      ColorJSONMessagePart: {
                                                                                                          color: ValidJSONColorType;
                                                                                                          text: string;
                                                                                                          type: "color";
                                                                                                      }

                                                                                                      A textual node containing color metadata.

                                                                                                      +

                                                                                                      Type declaration

                                                                                                      • Readonlycolor: ValidJSONColorType

                                                                                                        Includes the color to print this text with.

                                                                                                        +
                                                                                                      • Readonlytext: string

                                                                                                        Used to supply text data for this node.

                                                                                                        +
                                                                                                      • Readonlytype: "color"

                                                                                                        Used to denote the intent of the message part.

                                                                                                        +

                                                                                                      JSONMessagePart for all possible message part node subtypes.

                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.ConnectionError.html b/docs/v2.0.0/types/API.ConnectionError.html new file mode 100644 index 00000000..232cc3a2 --- /dev/null +++ b/docs/v2.0.0/types/API.ConnectionError.html @@ -0,0 +1,7 @@ +ConnectionError | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias ConnectionError

                                                                                                      ConnectionError:
                                                                                                          | "InvalidSlot"
                                                                                                          | "InvalidGame"
                                                                                                          | "IncompatibleVersion"
                                                                                                          | "InvalidPassword"
                                                                                                          | "InvalidItemsHandling"

                                                                                                      A union of known errors the Archipelago server can send back to the client when they receive a +ConnectionRefusedPacket.

                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.DataPackage.html b/docs/v2.0.0/types/API.DataPackage.html new file mode 100644 index 00000000..99638f75 --- /dev/null +++ b/docs/v2.0.0/types/API.DataPackage.html @@ -0,0 +1,14 @@ +DataPackage | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias DataPackage

                                                                                                      DataPackage: {
                                                                                                          games: Record<string, GamePackage>;
                                                                                                      }

                                                                                                      A DataPackage is an object which contains arbitrary metadata about each game to enable a client to interact +with the Archipelago server easily.

                                                                                                      +

                                                                                                      Note:

                                                                                                      +
                                                                                                        +
                                                                                                      • Any name is unique to its type across its own Game only: Single Arrow can exist in two games.
                                                                                                      • +
                                                                                                      • The ids from the game Archipelago may be used in any other game. Especially Location ID -1: Cheat Console +and -2: Server (typically Remote Start Inventory).
                                                                                                      • +
                                                                                                      +

                                                                                                      Type declaration

                                                                                                      • Readonlygames: Record<string, GamePackage>

                                                                                                        Mapping of all Games and their respective data. See GamePackage for additional info.

                                                                                                        +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.DataStorageOperation.html b/docs/v2.0.0/types/API.DataStorageOperation.html new file mode 100644 index 00000000..a91ff29b --- /dev/null +++ b/docs/v2.0.0/types/API.DataStorageOperation.html @@ -0,0 +1,15 @@ +DataStorageOperation | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias DataStorageOperation

                                                                                                      A union of all possible DataStorages. An operation manipulates or alters the value of a key in the data +storage. If the operation transforms the value from one state to another then the current value of the key is used +as the starting point otherwise the SetPacket's default is used if the key does not exist on the server +already.

                                                                                                      +

                                                                                                      Each operation object consists of an object containing both the operation to be applied, provided in the form of a +string, and the value to be used for that operation,

                                                                                                      +

                                                                                                      See each DataStorage subtype for more details.

                                                                                                      +
                                                                                                      { "operation": "add", "value": 12 }
                                                                                                      +
                                                                                                      + +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.DefaultDataStorageOperation.html b/docs/v2.0.0/types/API.DefaultDataStorageOperation.html new file mode 100644 index 00000000..404fbc96 --- /dev/null +++ b/docs/v2.0.0/types/API.DefaultDataStorageOperation.html @@ -0,0 +1,9 @@ +DefaultDataStorageOperation | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias DefaultDataStorageOperation

                                                                                                      DefaultDataStorageOperation: {
                                                                                                          operation: "default";
                                                                                                          value: null;
                                                                                                      }

                                                                                                      If the key has no value yet, sets the current value of the key to default of the SetPacket's (value is +ignored).

                                                                                                      +

                                                                                                      Type declaration

                                                                                                      • Readonlyoperation: "default"
                                                                                                      • Readonlyvalue: null

                                                                                                        A value for the operation to apply against the current data storage value.

                                                                                                        +

                                                                                                      DataStorageOperation for all possible operation subtypes.

                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.FloorDataStorageOperation.html b/docs/v2.0.0/types/API.FloorDataStorageOperation.html new file mode 100644 index 00000000..a841eec7 --- /dev/null +++ b/docs/v2.0.0/types/API.FloorDataStorageOperation.html @@ -0,0 +1,8 @@ +FloorDataStorageOperation | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias FloorDataStorageOperation

                                                                                                      FloorDataStorageOperation: {
                                                                                                          operation: "floor";
                                                                                                          value: null;
                                                                                                      }

                                                                                                      Rounds down the current value to the nearest integer.

                                                                                                      +

                                                                                                      Type declaration

                                                                                                      • Readonlyoperation: "floor"
                                                                                                      • Readonlyvalue: null

                                                                                                        Ignored for this operation.

                                                                                                        +

                                                                                                      DataStorageOperation for all possible operation subtypes.

                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.GamePackage.html b/docs/v2.0.0/types/API.GamePackage.html new file mode 100644 index 00000000..117a86e7 --- /dev/null +++ b/docs/v2.0.0/types/API.GamePackage.html @@ -0,0 +1,9 @@ +GamePackage | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias GamePackage

                                                                                                      GamePackage: {
                                                                                                          checksum: string;
                                                                                                          item_name_to_id: Record<string, number>;
                                                                                                          location_name_to_id: Record<string, number>;
                                                                                                      }

                                                                                                      Collection of data that contains meta information for a particular game.

                                                                                                      +

                                                                                                      Type declaration

                                                                                                      • Readonlychecksum: string

                                                                                                        SHA1 checksum of this game's data.

                                                                                                        +
                                                                                                      • Readonlyitem_name_to_id: Record<string, number>

                                                                                                        Mapping of all item names to their respective id.

                                                                                                        +
                                                                                                      • Readonlylocation_name_to_id: Record<string, number>

                                                                                                        Mapping of all location names to their respective id.

                                                                                                        +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.InvalidPacketPacket.html b/docs/v2.0.0/types/API.InvalidPacketPacket.html new file mode 100644 index 00000000..3a91fa09 --- /dev/null +++ b/docs/v2.0.0/types/API.InvalidPacketPacket.html @@ -0,0 +1,9 @@ +InvalidPacketPacket | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias InvalidPacketPacket

                                                                                                      A union of possible InvalidPacket packets. Sent to clients if the server caught a problem with a packet. See each +packet subtype for more details.

                                                                                                      +

                                                                                                      This only occurs for errors that are explicitly checked for. All other errors will cause the server to drop +the connection instead.

                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.ItemJSONMessagePart.html b/docs/v2.0.0/types/API.ItemJSONMessagePart.html new file mode 100644 index 00000000..a8f0f9b2 --- /dev/null +++ b/docs/v2.0.0/types/API.ItemJSONMessagePart.html @@ -0,0 +1,11 @@ +ItemJSONMessagePart | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias ItemJSONMessagePart

                                                                                                      ItemJSONMessagePart: {
                                                                                                          flags: number;
                                                                                                          player: number;
                                                                                                          text: string;
                                                                                                          type: "item_id" | "item_name";
                                                                                                      }

                                                                                                      A textual node containing item metadata.

                                                                                                      +

                                                                                                      Type declaration

                                                                                                      • Readonlyflags: number

                                                                                                        Bit flags that determine if an item is progression, "nice to have", filler, or a trap.

                                                                                                        +
                                                                                                      • Readonlyplayer: number

                                                                                                        The id of the player who owns this item.

                                                                                                        +
                                                                                                      • Readonlytext: string

                                                                                                        Used to supply text data for this node.

                                                                                                        +
                                                                                                      • Readonlytype: "item_id" | "item_name"

                                                                                                        Used to denote the intent of the message part.

                                                                                                        +

                                                                                                      JSONMessagePart for all possible message part node subtypes.

                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.JSONMessagePart.html b/docs/v2.0.0/types/API.JSONMessagePart.html new file mode 100644 index 00000000..04bd8342 --- /dev/null +++ b/docs/v2.0.0/types/API.JSONMessagePart.html @@ -0,0 +1,8 @@ +JSONMessagePart | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias JSONMessagePart

                                                                                                      JSONMessagePart:
                                                                                                          | ItemJSONMessagePart
                                                                                                          | LocationJSONMessagePart
                                                                                                          | ColorJSONMessagePart
                                                                                                          | TextJSONMessagePart

                                                                                                      A union of all message node subtypes sent along with PrintJSONPacket, which can be reconstructed into a +legible message. Each node is intended to be read in the order provided in the packet.

                                                                                                      +

                                                                                                      See each subtype for more specific information.

                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.JSONRecord.html b/docs/v2.0.0/types/API.JSONRecord.html new file mode 100644 index 00000000..a4fb611e --- /dev/null +++ b/docs/v2.0.0/types/API.JSONRecord.html @@ -0,0 +1,6 @@ +JSONRecord | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias JSONRecord

                                                                                                      JSONRecord: {
                                                                                                          [p: string]: JSONSerializable;
                                                                                                      }

                                                                                                      A record of JSON-serializable data.

                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.JSONSerializable.html b/docs/v2.0.0/types/API.JSONSerializable.html new file mode 100644 index 00000000..d66f300f --- /dev/null +++ b/docs/v2.0.0/types/API.JSONSerializable.html @@ -0,0 +1,6 @@ +JSONSerializable | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias JSONSerializable

                                                                                                      JSONSerializable:
                                                                                                          | string
                                                                                                          | number
                                                                                                          | boolean
                                                                                                          | null
                                                                                                          | JSONRecord
                                                                                                          | JSONSerializable[]

                                                                                                      A type union of all basic JSON-compatible types.

                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.LeftShiftDataStorageOperation.html b/docs/v2.0.0/types/API.LeftShiftDataStorageOperation.html new file mode 100644 index 00000000..6131cb13 --- /dev/null +++ b/docs/v2.0.0/types/API.LeftShiftDataStorageOperation.html @@ -0,0 +1,8 @@ +LeftShiftDataStorageOperation | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias LeftShiftDataStorageOperation

                                                                                                      LeftShiftDataStorageOperation: {
                                                                                                          operation: "left_shift";
                                                                                                          value: number;
                                                                                                      }

                                                                                                      Applies a bitwise left-shift to the current value of the key by value.

                                                                                                      +

                                                                                                      Type declaration

                                                                                                      • Readonlyoperation: "left_shift"
                                                                                                      • Readonlyvalue: number

                                                                                                        A value for the operation to apply against the current data storage value.

                                                                                                        +

                                                                                                      DataStorageOperation for all possible operation subtypes.

                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.LocationJSONMessagePart.html b/docs/v2.0.0/types/API.LocationJSONMessagePart.html new file mode 100644 index 00000000..829dc919 --- /dev/null +++ b/docs/v2.0.0/types/API.LocationJSONMessagePart.html @@ -0,0 +1,10 @@ +LocationJSONMessagePart | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias LocationJSONMessagePart

                                                                                                      LocationJSONMessagePart: {
                                                                                                          player: number;
                                                                                                          text: string;
                                                                                                          type: "location_id" | "location_name";
                                                                                                      }

                                                                                                      A textual node containing location metadata.

                                                                                                      +

                                                                                                      Type declaration

                                                                                                      • Readonlyplayer: number

                                                                                                        The id of the player who has this location.

                                                                                                        +
                                                                                                      • Readonlytext: string

                                                                                                        Used to supply text data for this node.

                                                                                                        +
                                                                                                      • Readonlytype: "location_id" | "location_name"

                                                                                                        Used to denote the intent of the message part.

                                                                                                        +

                                                                                                      JSONMessagePart for all possible message part node subtypes.

                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.MaxDataStorageOperation.html b/docs/v2.0.0/types/API.MaxDataStorageOperation.html new file mode 100644 index 00000000..1bf3f6a7 --- /dev/null +++ b/docs/v2.0.0/types/API.MaxDataStorageOperation.html @@ -0,0 +1,8 @@ +MaxDataStorageOperation | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias MaxDataStorageOperation

                                                                                                      MaxDataStorageOperation: {
                                                                                                          operation: "max";
                                                                                                          value: number;
                                                                                                      }

                                                                                                      Sets the current value of the key to value if value is bigger.

                                                                                                      +

                                                                                                      Type declaration

                                                                                                      • Readonlyoperation: "max"
                                                                                                      • Readonlyvalue: number

                                                                                                        A value for the operation to apply against the current data storage value.

                                                                                                        +

                                                                                                      DataStorageOperation for all possible operation subtypes.

                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.MinDataStorageOperation.html b/docs/v2.0.0/types/API.MinDataStorageOperation.html new file mode 100644 index 00000000..05dc109f --- /dev/null +++ b/docs/v2.0.0/types/API.MinDataStorageOperation.html @@ -0,0 +1,8 @@ +MinDataStorageOperation | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias MinDataStorageOperation

                                                                                                      MinDataStorageOperation: {
                                                                                                          operation: "min";
                                                                                                          value: number;
                                                                                                      }

                                                                                                      Sets the current value of the key to value if value is lower.

                                                                                                      +

                                                                                                      Type declaration

                                                                                                      • Readonlyoperation: "min"
                                                                                                      • Readonlyvalue: number

                                                                                                        A value for the operation to apply against the current data storage value.

                                                                                                        +

                                                                                                      DataStorageOperation for all possible operation subtypes.

                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.ModuloDataStorageOperation.html b/docs/v2.0.0/types/API.ModuloDataStorageOperation.html new file mode 100644 index 00000000..869809e5 --- /dev/null +++ b/docs/v2.0.0/types/API.ModuloDataStorageOperation.html @@ -0,0 +1,8 @@ +ModuloDataStorageOperation | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias ModuloDataStorageOperation

                                                                                                      ModuloDataStorageOperation: {
                                                                                                          operation: "mod";
                                                                                                          value: number;
                                                                                                      }

                                                                                                      Sets the current value of the key to the remainder after division by value.

                                                                                                      +

                                                                                                      Type declaration

                                                                                                      • Readonlyoperation: "mod"
                                                                                                      • Readonlyvalue: number

                                                                                                        A value for the operation to apply against the current data storage value.

                                                                                                        +

                                                                                                      DataStorageOperation for all possible operation subtypes.

                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.MultiplyDataStorageOperation.html b/docs/v2.0.0/types/API.MultiplyDataStorageOperation.html new file mode 100644 index 00000000..3b575aa3 --- /dev/null +++ b/docs/v2.0.0/types/API.MultiplyDataStorageOperation.html @@ -0,0 +1,8 @@ +MultiplyDataStorageOperation | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias MultiplyDataStorageOperation

                                                                                                      MultiplyDataStorageOperation: {
                                                                                                          operation: "mul";
                                                                                                          value: number;
                                                                                                      }

                                                                                                      Multiplies the current value of the key by value.

                                                                                                      +

                                                                                                      Type declaration

                                                                                                      • Readonlyoperation: "mul"
                                                                                                      • Readonlyvalue: number

                                                                                                        A value for the operation to apply against the current data storage value.

                                                                                                        +

                                                                                                      DataStorageOperation for all possible operation subtypes.

                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.NetworkHint.html b/docs/v2.0.0/types/API.NetworkHint.html new file mode 100644 index 00000000..180c4758 --- /dev/null +++ b/docs/v2.0.0/types/API.NetworkHint.html @@ -0,0 +1,13 @@ +NetworkHint | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias NetworkHint

                                                                                                      NetworkHint: {
                                                                                                          entrance: string;
                                                                                                          finding_player: number;
                                                                                                          found: boolean;
                                                                                                          item: number;
                                                                                                          item_flags: number;
                                                                                                          location: number;
                                                                                                          receiving_player: number;
                                                                                                      }

                                                                                                      An object representing a hint information for a particular item and location that contains it.

                                                                                                      +

                                                                                                      Type declaration

                                                                                                      • Readonlyentrance: string

                                                                                                        The name of the entrance to the location where this item is located.

                                                                                                        +
                                                                                                      • Readonlyfinding_player: number

                                                                                                        The id of the player who has this item in their world.

                                                                                                        +
                                                                                                      • Readonlyfound: boolean

                                                                                                        Whether this item has already been found.

                                                                                                        +
                                                                                                      • Readonlyitem: number

                                                                                                        The id of this item.

                                                                                                        +
                                                                                                      • Readonlyitem_flags: number

                                                                                                        The classification bit flags for this item. See itemsHandlingFlags for known flags.

                                                                                                        +
                                                                                                      • Readonlylocation: number

                                                                                                        The id of the location for this item.

                                                                                                        +
                                                                                                      • Readonlyreceiving_player: number

                                                                                                        The id of the player who owns this item.

                                                                                                        +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.NetworkItem.html b/docs/v2.0.0/types/API.NetworkItem.html new file mode 100644 index 00000000..824f1f1b --- /dev/null +++ b/docs/v2.0.0/types/API.NetworkItem.html @@ -0,0 +1,11 @@ +NetworkItem | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias NetworkItem

                                                                                                      NetworkItem: {
                                                                                                          flags: number;
                                                                                                          item: number;
                                                                                                          location: number;
                                                                                                          player: number;
                                                                                                      }

                                                                                                      Items that are sent over the network.

                                                                                                      +

                                                                                                      Type declaration

                                                                                                      • Readonlyflags: number

                                                                                                        The classification bit flags for this item. See itemsHandlingFlags for known flags.

                                                                                                        +
                                                                                                      • Readonlyitem: number

                                                                                                        The item id of the item. Item ids are in the range of -2^53 to +2^53-1.

                                                                                                        +
                                                                                                      • Readonlylocation: number

                                                                                                        The location id of the location inside the world. Location ids are in the range of -2^53 to +2^53 - 1.

                                                                                                        +
                                                                                                      • Readonlyplayer: number

                                                                                                        The slot id for the player whose world the item was located in, except when inside a LocationInfoPacket, +then it will be the slot id of the player the item belongs to.

                                                                                                        +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.NetworkPlayer.html b/docs/v2.0.0/types/API.NetworkPlayer.html new file mode 100644 index 00000000..e9bd8127 --- /dev/null +++ b/docs/v2.0.0/types/API.NetworkPlayer.html @@ -0,0 +1,12 @@ +NetworkPlayer | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias NetworkPlayer

                                                                                                      NetworkPlayer: {
                                                                                                          alias: string;
                                                                                                          name: string;
                                                                                                          slot: number;
                                                                                                          team: number;
                                                                                                      }

                                                                                                      An object that contains metadata about an individual player on the network.

                                                                                                      +

                                                                                                      Type declaration

                                                                                                      • Readonlyalias: string

                                                                                                        Represents the player's name in current time. Can be changed during a game with the !alias <name> command by +the player.

                                                                                                        +
                                                                                                      • Readonlyname: string

                                                                                                        The original slot name as defined by the player's configuration file. Individual names are unique among players.

                                                                                                        +
                                                                                                      • Readonlyslot: number

                                                                                                        Determines the slot id for this player. Slot numbers are unique per team and start at 1. Slot number 0 refers +to the Archipelago server; this may appear in instances where the server grants the player an item.

                                                                                                        +
                                                                                                      • Readonlyteam: number

                                                                                                        Determines the team the player is on. Useful for competitive seeds. Team numbers start at 0.

                                                                                                        +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.NetworkSlot.html b/docs/v2.0.0/types/API.NetworkSlot.html new file mode 100644 index 00000000..fdf6cabc --- /dev/null +++ b/docs/v2.0.0/types/API.NetworkSlot.html @@ -0,0 +1,10 @@ +NetworkSlot | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias NetworkSlot

                                                                                                      NetworkSlot: {
                                                                                                          game: string;
                                                                                                          group_members: number[];
                                                                                                          name: string;
                                                                                                          type: typeof slotTypes[keyof typeof slotTypes];
                                                                                                      }

                                                                                                      An object representing metadata about a given slot on each team.

                                                                                                      +

                                                                                                      Type declaration

                                                                                                      • Readonlygame: string

                                                                                                        The game this slot is playing.

                                                                                                        +
                                                                                                      • Readonlygroup_members: number[]

                                                                                                        Contains a list of player ids, if the type is slotTypes.group. Used for item links, otherwise empty.

                                                                                                        +
                                                                                                      • Readonlyname: string

                                                                                                        The original slot name as defined by the player's configuration file. Individual names are unique among players.

                                                                                                        +
                                                                                                      • Readonlytype: typeof slotTypes[keyof typeof slotTypes]

                                                                                                        The type of slot this is. See slotTypes for known slot types.

                                                                                                        +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.NetworkVersion.html b/docs/v2.0.0/types/API.NetworkVersion.html new file mode 100644 index 00000000..939d1099 --- /dev/null +++ b/docs/v2.0.0/types/API.NetworkVersion.html @@ -0,0 +1,12 @@ +NetworkVersion | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias NetworkVersion

                                                                                                      NetworkVersion: {
                                                                                                          build: number;
                                                                                                          class: "Version";
                                                                                                          major: number;
                                                                                                          minor: number;
                                                                                                      }

                                                                                                      An object representing software versioning. Used in the ConnectPacket to allow the client to inform the +server the minimum Archipelago version it supports.

                                                                                                      +

                                                                                                      Type declaration

                                                                                                      • Readonlybuild: number

                                                                                                        The build/patch component of the version number. (e.g., 0.0.X)

                                                                                                        +
                                                                                                      • Readonlyclass: "Version"

                                                                                                        Apparently required to be present to ensure the Archipelago server parses this object correctly.

                                                                                                        +
                                                                                                      • Readonlymajor: number

                                                                                                        The major component of the version number. (e.g., X.0.0)

                                                                                                        +
                                                                                                      • Readonlyminor: number

                                                                                                        The minor component of the version number. (e.g., 0.X.0)

                                                                                                        +

                                                                                                      Archipelago does not follow a semver versioning standard.

                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.OrDataStorageOperation.html b/docs/v2.0.0/types/API.OrDataStorageOperation.html new file mode 100644 index 00000000..c06489fa --- /dev/null +++ b/docs/v2.0.0/types/API.OrDataStorageOperation.html @@ -0,0 +1,8 @@ +OrDataStorageOperation | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias OrDataStorageOperation

                                                                                                      OrDataStorageOperation: {
                                                                                                          operation: "or";
                                                                                                          value: number;
                                                                                                      }

                                                                                                      Applies a bitwise OR to the current value of the key with value.

                                                                                                      +

                                                                                                      Type declaration

                                                                                                      • Readonlyoperation: "or"
                                                                                                      • Readonlyvalue: number

                                                                                                        A value for the operation to apply against the current data storage value.

                                                                                                        +

                                                                                                      DataStorageOperation for all possible operation subtypes.

                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.PermissionTable.html b/docs/v2.0.0/types/API.PermissionTable.html new file mode 100644 index 00000000..919245aa --- /dev/null +++ b/docs/v2.0.0/types/API.PermissionTable.html @@ -0,0 +1,35 @@ +PermissionTable | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias PermissionTable

                                                                                                      PermissionTable: {
                                                                                                          collect: PermissionValue;
                                                                                                          release: PermissionValue;
                                                                                                          remaining: Omit<PermissionValue, typeof auto | typeof autoEnabled>;
                                                                                                      }

                                                                                                      Mapping of restrict-able commands to their current permissions level.

                                                                                                      +

                                                                                                      Type declaration

                                                                                                      • Readonlycollect: PermissionValue

                                                                                                        Dictates what is allowed when it comes to a player collecting their run. A collect is an action which sends +the rest of the items in a player's run.

                                                                                                        + +
                                                                                                      • Readonlyrelease: PermissionValue

                                                                                                        Dictates what is allowed when it comes to a player releasing their run. A release is an action which +distributes the rest of the items in a player's run to those other players awaiting them.

                                                                                                        + +
                                                                                                      • Readonlyremaining: Omit<PermissionValue, typeof auto | typeof autoEnabled>

                                                                                                        Dictates what is allowed when it comes to a player querying the items remaining in their run.

                                                                                                        +
                                                                                                          +
                                                                                                        • permissions.goal: Allows a player to query for items remaining in their run but only after they +completed their own goal.
                                                                                                        • +
                                                                                                        • permissions.enabled: Denotes that players may query for any items remaining in their run (even +those belonging to other players).
                                                                                                        • +
                                                                                                        • permissions.disabled: All remaining item query modes disabled.
                                                                                                        • +
                                                                                                        +

                                                                                                        This command cannot have the permissions.auto or permissions.autoEnabled permission.

                                                                                                        +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.PermissionValue.html b/docs/v2.0.0/types/API.PermissionValue.html new file mode 100644 index 00000000..425842dd --- /dev/null +++ b/docs/v2.0.0/types/API.PermissionValue.html @@ -0,0 +1,6 @@ +PermissionValue | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias PermissionValue

                                                                                                      PermissionValue: typeof permissions[keyof typeof permissions]

                                                                                                      The type for a given permission value.

                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.PopDataStorageOperation.html b/docs/v2.0.0/types/API.PopDataStorageOperation.html new file mode 100644 index 00000000..ace1996d --- /dev/null +++ b/docs/v2.0.0/types/API.PopDataStorageOperation.html @@ -0,0 +1,9 @@ +PopDataStorageOperation | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias PopDataStorageOperation

                                                                                                      PopDataStorageOperation: {
                                                                                                          operation: "pop";
                                                                                                          value: JSONSerializable;
                                                                                                      }

                                                                                                      List or Dict only: for lists it will remove the index of the value given. For dicts it removes the element with +the specified key of value.

                                                                                                      +

                                                                                                      Type declaration

                                                                                                      • Readonlyoperation: "pop"
                                                                                                      • Readonlyvalue: JSONSerializable

                                                                                                        A value for the operation to apply against the current data storage value.

                                                                                                        +

                                                                                                      DataStorageOperation for all possible operation subtypes.

                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.PowerDataStorageOperation.html b/docs/v2.0.0/types/API.PowerDataStorageOperation.html new file mode 100644 index 00000000..2a4fea59 --- /dev/null +++ b/docs/v2.0.0/types/API.PowerDataStorageOperation.html @@ -0,0 +1,8 @@ +PowerDataStorageOperation | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias PowerDataStorageOperation

                                                                                                      PowerDataStorageOperation: {
                                                                                                          operation: "pow";
                                                                                                          value: number;
                                                                                                      }

                                                                                                      Multiplies the current value of the key to the power of value.

                                                                                                      +

                                                                                                      Type declaration

                                                                                                      • Readonlyoperation: "pow"
                                                                                                      • Readonlyvalue: number

                                                                                                        A value for the operation to apply against the current data storage value.

                                                                                                        +

                                                                                                      DataStorageOperation for all possible operation subtypes.

                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.PrintJSONPacket.html b/docs/v2.0.0/types/API.PrintJSONPacket.html new file mode 100644 index 00000000..63ab0c5a --- /dev/null +++ b/docs/v2.0.0/types/API.PrintJSONPacket.html @@ -0,0 +1,9 @@ +PrintJSONPacket | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias PrintJSONPacket

                                                                                                      A union of possible PrintJSON packets. Sent to clients purely to display a message to the player. While various +message types provide additional arguments, clients only need to evaluate the data argument to construct the +human-readable message text. All other arguments may be ignored safely.

                                                                                                      +

                                                                                                      Only some of these attributes are present on each subtype, see each subtype for more information.

                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.PrintJSONType.html b/docs/v2.0.0/types/API.PrintJSONType.html new file mode 100644 index 00000000..4e21bcd5 --- /dev/null +++ b/docs/v2.0.0/types/API.PrintJSONType.html @@ -0,0 +1,6 @@ +PrintJSONType | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias PrintJSONType

                                                                                                      PrintJSONType:
                                                                                                          | "ItemSend"
                                                                                                          | "ItemCheat"
                                                                                                          | "Hint"
                                                                                                          | "Join"
                                                                                                          | "Part"
                                                                                                          | "Chat"
                                                                                                          | "ServerChat"
                                                                                                          | "Tutorial"
                                                                                                          | "TagsChanged"
                                                                                                          | "CommandResult"
                                                                                                          | "AdminCommandResult"
                                                                                                          | "Goal"
                                                                                                          | "Release"
                                                                                                          | "Collect"
                                                                                                          | "Countdown"

                                                                                                      A union of all known PrintJSONPacket types.

                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.RemoveDataStorageOperation.html b/docs/v2.0.0/types/API.RemoveDataStorageOperation.html new file mode 100644 index 00000000..a164ab1a --- /dev/null +++ b/docs/v2.0.0/types/API.RemoveDataStorageOperation.html @@ -0,0 +1,8 @@ +RemoveDataStorageOperation | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias RemoveDataStorageOperation

                                                                                                      RemoveDataStorageOperation: {
                                                                                                          operation: "remove";
                                                                                                          value: JSONSerializable;
                                                                                                      }

                                                                                                      List only: removes the first instance of value found in the list.

                                                                                                      +

                                                                                                      Type declaration

                                                                                                      • Readonlyoperation: "remove"
                                                                                                      • Readonlyvalue: JSONSerializable

                                                                                                        A value for the operation to apply against the current data storage value.

                                                                                                        +

                                                                                                      DataStorageOperation for all possible operation subtypes.

                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.ReplaceDataStorageOperation.html b/docs/v2.0.0/types/API.ReplaceDataStorageOperation.html new file mode 100644 index 00000000..70661d6f --- /dev/null +++ b/docs/v2.0.0/types/API.ReplaceDataStorageOperation.html @@ -0,0 +1,8 @@ +ReplaceDataStorageOperation | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias ReplaceDataStorageOperation

                                                                                                      ReplaceDataStorageOperation: {
                                                                                                          operation: "replace";
                                                                                                          value: JSONSerializable;
                                                                                                      }

                                                                                                      Sets the current value of the key to value.

                                                                                                      +

                                                                                                      Type declaration

                                                                                                      • Readonlyoperation: "replace"
                                                                                                      • Readonlyvalue: JSONSerializable

                                                                                                        A value for the operation to apply against the current data storage value.

                                                                                                        +

                                                                                                      DataStorageOperation for all possible operation subtypes.

                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.RightShiftDataStorageOperation.html b/docs/v2.0.0/types/API.RightShiftDataStorageOperation.html new file mode 100644 index 00000000..097240da --- /dev/null +++ b/docs/v2.0.0/types/API.RightShiftDataStorageOperation.html @@ -0,0 +1,8 @@ +RightShiftDataStorageOperation | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias RightShiftDataStorageOperation

                                                                                                      RightShiftDataStorageOperation: {
                                                                                                          operation: "right_shift";
                                                                                                          value: number;
                                                                                                      }

                                                                                                      Applies a bitwise right-shift to the current value of the key by value.

                                                                                                      +

                                                                                                      Type declaration

                                                                                                      • Readonlyoperation: "right_shift"
                                                                                                      • Readonlyvalue: number

                                                                                                        A value for the operation to apply against the current data storage value.

                                                                                                        +

                                                                                                      DataStorageOperation for all possible operation subtypes.

                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.ServerPacket.html b/docs/v2.0.0/types/API.ServerPacket.html new file mode 100644 index 00000000..38641a09 --- /dev/null +++ b/docs/v2.0.0/types/API.ServerPacket.html @@ -0,0 +1,5 @@ +ServerPacket | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias ServerPacket

                                                                                                      ServerPacket:
                                                                                                          | BouncedPacket
                                                                                                          | ConnectedPacket
                                                                                                          | ConnectionRefusedPacket
                                                                                                          | DataPackagePacket
                                                                                                          | InvalidPacketPacket
                                                                                                          | LocationInfoPacket
                                                                                                          | PrintJSONPacket
                                                                                                          | ReceivedItemsPacket
                                                                                                          | RetrievedPacket
                                                                                                          | RoomInfoPacket
                                                                                                          | RoomUpdatePacket
                                                                                                          | SetReplyPacket
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.TextJSONMessagePart.html b/docs/v2.0.0/types/API.TextJSONMessagePart.html new file mode 100644 index 00000000..46ba3e88 --- /dev/null +++ b/docs/v2.0.0/types/API.TextJSONMessagePart.html @@ -0,0 +1,10 @@ +TextJSONMessagePart | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias TextJSONMessagePart

                                                                                                      TextJSONMessagePart: {
                                                                                                          text: string;
                                                                                                          type?:
                                                                                                              | "text"
                                                                                                              | "entrance_name"
                                                                                                              | "player_id"
                                                                                                              | "player_name";
                                                                                                      }

                                                                                                      A textual node containing plaintext metadata.

                                                                                                      +

                                                                                                      Type declaration

                                                                                                      • Readonlytext: string

                                                                                                        Used to supply text data for this node.

                                                                                                        +
                                                                                                      • Optional Readonlytype?:
                                                                                                            | "text"
                                                                                                            | "entrance_name"
                                                                                                            | "player_id"
                                                                                                            | "player_name"

                                                                                                        Used to denote the intent of the message part.

                                                                                                        +

                                                                                                        If type is omitted, it should be treated as the text type.

                                                                                                        +

                                                                                                      JSONMessagePart for all possible message part node subtypes.

                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.UpdateDataStorageOperation.html b/docs/v2.0.0/types/API.UpdateDataStorageOperation.html new file mode 100644 index 00000000..15b3a906 --- /dev/null +++ b/docs/v2.0.0/types/API.UpdateDataStorageOperation.html @@ -0,0 +1,9 @@ +UpdateDataStorageOperation | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias UpdateDataStorageOperation

                                                                                                      UpdateDataStorageOperation: {
                                                                                                          operation: "update";
                                                                                                          value: JSONSerializable;
                                                                                                      }

                                                                                                      Dict only: Updates the dictionary with the specified elements given in value creating new keys, or updating old +ones if they previously existed.

                                                                                                      +

                                                                                                      Type declaration

                                                                                                      • Readonlyoperation: "update"
                                                                                                      • Readonlyvalue: JSONSerializable

                                                                                                        A value for the operation to apply against the current data storage value.

                                                                                                        +

                                                                                                      DataStorageOperation for all possible operation subtypes.

                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.ValidJSONColorType.html b/docs/v2.0.0/types/API.ValidJSONColorType.html new file mode 100644 index 00000000..a75fce44 --- /dev/null +++ b/docs/v2.0.0/types/API.ValidJSONColorType.html @@ -0,0 +1,9 @@ +ValidJSONColorType | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias ValidJSONColorType

                                                                                                      ValidJSONColorType:
                                                                                                          | "bold"
                                                                                                          | "underline"
                                                                                                          | "black"
                                                                                                          | "red"
                                                                                                          | "green"
                                                                                                          | "yellow"
                                                                                                          | "blue"
                                                                                                          | "magenta"
                                                                                                          | "cyan"
                                                                                                          | "white"
                                                                                                          | "black_bg"
                                                                                                          | "red_bg"
                                                                                                          | "green_bg"
                                                                                                          | "yellow_bg"
                                                                                                          | "blue_bg"
                                                                                                          | "purple_bg"
                                                                                                          | "cyan_bg"
                                                                                                          | "white_bg"

                                                                                                      This is a type union of all supported "colors" denoting a console color to display the message part with and is only +sent if the type is color. This is limited to console colors due to backwards compatibility needs with games such +as A Link to the Past. Although background colors as well as foreground colors are listed, only one may be applied +to a JSONMessagePart at a time.

                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.ValidJSONMessagePartType.html b/docs/v2.0.0/types/API.ValidJSONMessagePartType.html new file mode 100644 index 00000000..7ec143cd --- /dev/null +++ b/docs/v2.0.0/types/API.ValidJSONMessagePartType.html @@ -0,0 +1,18 @@ +ValidJSONMessagePartType | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias ValidJSONMessagePartType

                                                                                                      ValidJSONMessagePartType:
                                                                                                          | "text"
                                                                                                          | "player_id"
                                                                                                          | "player_name"
                                                                                                          | "item_id"
                                                                                                          | "item_name"
                                                                                                          | "location_id"
                                                                                                          | "location_name"
                                                                                                          | "entrance_name"
                                                                                                          | "color"

                                                                                                      This is a type union of all supported message types for denoting the intent of the message part. This can be used to +indicate special information which may be rendered differently depending on client.

                                                                                                      +
                                                                                                        +
                                                                                                      • text: Regular text content. This is also the default type and is often omitted.
                                                                                                      • +
                                                                                                      • player_id: Player id of someone on your team, should be resolved to player Name.
                                                                                                      • +
                                                                                                      • player_name: Player Name, could be a player within a multiplayer game or from another team, not id resolvable.
                                                                                                      • +
                                                                                                      • item_id: Item id, should be resolved to an item name.
                                                                                                      • +
                                                                                                      • item_name: Item name, not currently used over network, but supported by reference clients.
                                                                                                      • +
                                                                                                      • location_id: Location id, should be resolved to a location name.
                                                                                                      • +
                                                                                                      • location_name: Location name, not currently used over network, but supported by reference clients.
                                                                                                      • +
                                                                                                      • entrance_name: Entrance name. No id mapping exists.
                                                                                                      • +
                                                                                                      • color: Regular text that should be colored. Only type that will contain color data.
                                                                                                      • +
                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/API.XorDataStorageOperation.html b/docs/v2.0.0/types/API.XorDataStorageOperation.html new file mode 100644 index 00000000..ab207f4e --- /dev/null +++ b/docs/v2.0.0/types/API.XorDataStorageOperation.html @@ -0,0 +1,8 @@ +XorDataStorageOperation | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                      Type Alias XorDataStorageOperation

                                                                                                      XorDataStorageOperation: {
                                                                                                          operation: "xor";
                                                                                                          value: number;
                                                                                                      }

                                                                                                      Applies a bitwise XOR to the current value of the key with value.

                                                                                                      +

                                                                                                      Type declaration

                                                                                                      • Readonlyoperation: "xor"
                                                                                                      • Readonlyvalue: number

                                                                                                        A value for the operation to apply against the current data storage value.

                                                                                                        +

                                                                                                      DataStorageOperation for all possible operation subtypes.

                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/ClientStatus.html b/docs/v2.0.0/types/ClientStatus.html new file mode 100644 index 00000000..514e8532 --- /dev/null +++ b/docs/v2.0.0/types/ClientStatus.html @@ -0,0 +1,6 @@ +ClientStatus | archipelago.js - v2.0.0
                                                                                                      +

                                                                                                        Type Alias ClientStatus

                                                                                                        ClientStatus: typeof clientStatuses[keyof typeof clientStatuses]

                                                                                                        A type alias for any known client status. See clientStatuses for more information.

                                                                                                        +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/types/DataChangeCallback.html b/docs/v2.0.0/types/DataChangeCallback.html new file mode 100644 index 00000000..0bde8358 --- /dev/null +++ b/docs/v2.0.0/types/DataChangeCallback.html @@ -0,0 +1,6 @@ +DataChangeCallback | archipelago.js - v2.0.0
                                                                                                        +

                                                                                                          Type Alias DataChangeCallback

                                                                                                          DataChangeCallback: ((key: string, value: JSONSerializable, oldValue?: JSONSerializable) => void)

                                                                                                          A callback that fires when a monitored key is updated in data storage.

                                                                                                          +
                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/DeathEvents.html b/docs/v2.0.0/types/DeathEvents.html new file mode 100644 index 00000000..42621b7a --- /dev/null +++ b/docs/v2.0.0/types/DeathEvents.html @@ -0,0 +1,12 @@ +DeathEvents | archipelago.js - v2.0.0
                                                                                                          +

                                                                                                            Type Alias DeathEvents

                                                                                                            DeathEvents: {
                                                                                                                deathReceived: [source: string, time: number, cause?: string];
                                                                                                            }

                                                                                                            An interface with all supported death events and their respective callback arguments. To be called from +MessageManager.

                                                                                                            +

                                                                                                            Type declaration

                                                                                                            • deathReceived: [source: string, time: number, cause?: string]

                                                                                                              Fired when a DeathLink-enabled player has sent a DeathLink.

                                                                                                              +

                                                                                                              The player who sent this DeathLink.

                                                                                                              +

                                                                                                              The timestamp this player died. Time is in number of milliseconds from unix epoch (same timestamp +system in JavaScript).

                                                                                                              +

                                                                                                              Optional description detailing the specific cause of death.

                                                                                                              +
                                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/types/ItemEvents.html b/docs/v2.0.0/types/ItemEvents.html new file mode 100644 index 00000000..7e1d4016 --- /dev/null +++ b/docs/v2.0.0/types/ItemEvents.html @@ -0,0 +1,16 @@ +ItemEvents | archipelago.js - v2.0.0
                                                                                                            +

                                                                                                              Type Alias ItemEvents

                                                                                                              ItemEvents: {
                                                                                                                  hintFound: [hint: Hint];
                                                                                                                  hintReceived: [hint: Hint];
                                                                                                                  hintsInitialized: [hints: Hint[]];
                                                                                                                  itemsReceived: [items: Item[], startingIndex: number];
                                                                                                              }

                                                                                                              An interface with all supported item/hint events and their respective callback arguments. To be called from +ItemsManager.

                                                                                                              +

                                                                                                              Type declaration

                                                                                                              • hintFound: [hint: Hint]

                                                                                                                Fired when a hint has been found.

                                                                                                                +

                                                                                                                The hint that has been found.

                                                                                                                +
                                                                                                              • hintReceived: [hint: Hint]

                                                                                                                Fired when a new hint has been received.

                                                                                                                +

                                                                                                                The hint that has been created.

                                                                                                                +
                                                                                                              • hintsInitialized: [hints: Hint[]]

                                                                                                                Fired shortly after initial connection with all current hints relevant to this player.

                                                                                                                +

                                                                                                                All hints ever created relevant to this player.

                                                                                                                +
                                                                                                              • itemsReceived: [items: Item[], startingIndex: number]

                                                                                                                Fired when items have been received.

                                                                                                                +

                                                                                                                An array of item metadata in the order they are sent.

                                                                                                                +

                                                                                                                The ItemsManager.received index for the first item in the items array.

                                                                                                                +
                                                                                                              \ No newline at end of file diff --git a/docs/v2.0.0/types/MessageEvents.html b/docs/v2.0.0/types/MessageEvents.html new file mode 100644 index 00000000..18a40d02 --- /dev/null +++ b/docs/v2.0.0/types/MessageEvents.html @@ -0,0 +1,73 @@ +MessageEvents | archipelago.js - v2.0.0
                                                                                                              +

                                                                                                                Type Alias MessageEvents

                                                                                                                MessageEvents: {
                                                                                                                    adminCommand: [text: string, nodes: MessageNode[]];
                                                                                                                    chat: [message: string, player: Player, nodes: MessageNode[]];
                                                                                                                    collected: [text: string, player: Player, nodes: MessageNode[]];
                                                                                                                    connected: [text: string, player: Player, tags: string[], nodes: MessageNode[]];
                                                                                                                    countdown: [text: string, value: number, nodes: MessageNode[]];
                                                                                                                    disconnected: [text: string, player: Player, nodes: MessageNode[]];
                                                                                                                    goaled: [text: string, player: Player, nodes: MessageNode[]];
                                                                                                                    itemCheated: [text: string, item: Item, nodes: MessageNode[]];
                                                                                                                    itemHinted: [text: string, item: Item, found: boolean, nodes: MessageNode[]];
                                                                                                                    itemSent: [text: string, item: Item, nodes: MessageNode[]];
                                                                                                                    message: [text: string, nodes: MessageNode[]];
                                                                                                                    released: [text: string, player: Player, nodes: MessageNode[]];
                                                                                                                    serverChat: [message: string, nodes: MessageNode[]];
                                                                                                                    tagsUpdated: [text: string, player: Player, tags: string[], nodes: MessageNode[]];
                                                                                                                    tutorial: [text: string, nodes: MessageNode[]];
                                                                                                                    userCommand: [text: string, nodes: MessageNode[]];
                                                                                                                }

                                                                                                                An interface with all supported message events and their respective callback arguments. To be called from +MessageManager.

                                                                                                                +

                                                                                                                Type declaration

                                                                                                                • adminCommand: [text: string, nodes: MessageNode[]]

                                                                                                                  Fires on the result of running an admin command via !admin.

                                                                                                                  +

                                                                                                                  The plaintext message content.

                                                                                                                  +

                                                                                                                  An array of message nodes in this message with additional context for each textual component.

                                                                                                                  +
                                                                                                                • chat: [message: string, player: Player, nodes: MessageNode[]]

                                                                                                                  Fires when a player chat message is received.

                                                                                                                  +

                                                                                                                  The plaintext message content without the sender name prefix.

                                                                                                                  +

                                                                                                                  The metadata of the player who sent this message.

                                                                                                                  +

                                                                                                                  An array of message nodes in this message with additional context for each textual component.

                                                                                                                  +

                                                                                                                  nodes will contain the sender name prefix from the server, but message will not.

                                                                                                                  +
                                                                                                                • collected: [text: string, player: Player, nodes: MessageNode[]]

                                                                                                                  Fires when a player has collected their remaining items from the multi-world.

                                                                                                                  +

                                                                                                                  The plaintext message content.

                                                                                                                  +

                                                                                                                  The player that collected.

                                                                                                                  +

                                                                                                                  An array of message nodes in this message with additional context for each textual component.

                                                                                                                  +
                                                                                                                • connected: [text: string, player: Player, tags: string[], nodes: MessageNode[]]

                                                                                                                  Fires when a client connects to the room session.

                                                                                                                  +

                                                                                                                  The plaintext message content.

                                                                                                                  +

                                                                                                                  The player being connected as.

                                                                                                                  +

                                                                                                                  The tags of the joining client.

                                                                                                                  +

                                                                                                                  An array of message nodes in this message with additional context for each textual component.

                                                                                                                  +
                                                                                                                • countdown: [text: string, value: number, nodes: MessageNode[]]

                                                                                                                  Fires when a countdown message is received.

                                                                                                                  +

                                                                                                                  The plaintext message content.

                                                                                                                  +

                                                                                                                  The current countdown value.

                                                                                                                  +

                                                                                                                  An array of message nodes in this message with additional context for each textual component.

                                                                                                                  +
                                                                                                                • disconnected: [text: string, player: Player, nodes: MessageNode[]]

                                                                                                                  Fires when a client disconnects from the room session.

                                                                                                                  +

                                                                                                                  The plaintext message content.

                                                                                                                  +

                                                                                                                  The player being disconnected from.

                                                                                                                  +

                                                                                                                  An array of message nodes in this message with additional context for each textual component.

                                                                                                                  +
                                                                                                                • goaled: [text: string, player: Player, nodes: MessageNode[]]

                                                                                                                  Fires when a connected player has met their goal condition.

                                                                                                                  +

                                                                                                                  The plaintext message content.

                                                                                                                  +

                                                                                                                  The player that reached their goal.

                                                                                                                  +

                                                                                                                  An array of message nodes in this message with additional context for each textual component.

                                                                                                                  +
                                                                                                                • itemCheated: [text: string, item: Item, nodes: MessageNode[]]

                                                                                                                  Fires when another player is sent a cheated item.

                                                                                                                  +

                                                                                                                  The plaintext message content.

                                                                                                                  +

                                                                                                                  The item being sent.

                                                                                                                  +

                                                                                                                  An array of message nodes in this message with additional context for each textual component.

                                                                                                                  +
                                                                                                                • itemHinted: [text: string, item: Item, found: boolean, nodes: MessageNode[]]

                                                                                                                  Fires when a hint-style message is received.

                                                                                                                  +

                                                                                                                  The plaintext message content.

                                                                                                                  +

                                                                                                                  The item being hinted.

                                                                                                                  +

                                                                                                                  If the item was found.

                                                                                                                  +

                                                                                                                  An array of message nodes in this message with additional context for each textual component.

                                                                                                                  +

                                                                                                                  This event is for hint messages received. To track more information on when hints are updated, utilize +one of the hint-type events on ItemsManager instead.

                                                                                                                  +
                                                                                                                • itemSent: [text: string, item: Item, nodes: MessageNode[]]

                                                                                                                  Fires when another player is sent an item (except for cheated items).

                                                                                                                  +

                                                                                                                  The plaintext message content.

                                                                                                                  +

                                                                                                                  The item being sent.

                                                                                                                  +

                                                                                                                  An array of message nodes in this message with additional context for each textual component.

                                                                                                                  +
                                                                                                                • message: [text: string, nodes: MessageNode[]]

                                                                                                                  Fires when any kind of message is received.

                                                                                                                  +

                                                                                                                  The plaintext message content.

                                                                                                                  +

                                                                                                                  An array of message nodes in this message with additional context for each textual component.

                                                                                                                  +
                                                                                                                • released: [text: string, player: Player, nodes: MessageNode[]]

                                                                                                                  Fires when a player has released their remaining items to the multi-world.

                                                                                                                  +

                                                                                                                  The plaintext message content.

                                                                                                                  +

                                                                                                                  The player that released.

                                                                                                                  +

                                                                                                                  An array of message nodes in this message with additional context for each textual component.

                                                                                                                  +
                                                                                                                • serverChat: [message: string, nodes: MessageNode[]]

                                                                                                                  Fires when a server chat message is received.

                                                                                                                  +

                                                                                                                  The plaintext message content without the sender name prefix.

                                                                                                                  +

                                                                                                                  An array of message nodes in this message with additional context for each textual component.

                                                                                                                  +

                                                                                                                  nodes will contain the sender name prefix from the server, but message will not.

                                                                                                                  +
                                                                                                                • tagsUpdated: [text: string, player: Player, tags: string[], nodes: MessageNode[]]

                                                                                                                  Fires when a client updates their tags.

                                                                                                                  +

                                                                                                                  The plaintext message content.

                                                                                                                  +

                                                                                                                  The player this client is connected to.

                                                                                                                  +

                                                                                                                  The new tags for this client.

                                                                                                                  +

                                                                                                                  An array of message nodes in this message with additional context for each textual component.

                                                                                                                  +
                                                                                                                • tutorial: [text: string, nodes: MessageNode[]]

                                                                                                                  Fires when tutorial-like information is received, such as on first connection explaining !help.

                                                                                                                  +

                                                                                                                  The plaintext message content.

                                                                                                                  +

                                                                                                                  An array of message nodes in this message with additional context for each textual component.

                                                                                                                  +
                                                                                                                • userCommand: [text: string, nodes: MessageNode[]]

                                                                                                                  Fires on the result of running a user command, such as !status.

                                                                                                                  +

                                                                                                                  The plaintext message content.

                                                                                                                  +

                                                                                                                  An array of message nodes in this message with additional context for each textual component.

                                                                                                                  +
                                                                                                                \ No newline at end of file diff --git a/docs/v2.0.0/types/MessageLog.html b/docs/v2.0.0/types/MessageLog.html new file mode 100644 index 00000000..db29eaf6 --- /dev/null +++ b/docs/v2.0.0/types/MessageLog.html @@ -0,0 +1,6 @@ +MessageLog | archipelago.js - v2.0.0
                                                                                                                +

                                                                                                                  Type Alias MessageLog

                                                                                                                  MessageLog: {
                                                                                                                      nodes: MessageNode[];
                                                                                                                      text: string;
                                                                                                                  }[]

                                                                                                                  A type for logged messages on MessageManager.

                                                                                                                  +
                                                                                                                  \ No newline at end of file diff --git a/docs/v2.0.0/types/MessageNode.html b/docs/v2.0.0/types/MessageNode.html new file mode 100644 index 00000000..68f3db1f --- /dev/null +++ b/docs/v2.0.0/types/MessageNode.html @@ -0,0 +1,6 @@ +MessageNode | archipelago.js - v2.0.0
                                                                                                                  +

                                                                                                                    Type Alias MessageNode

                                                                                                                    MessageNode:
                                                                                                                        | ItemMessageNode
                                                                                                                        | LocationMessageNode
                                                                                                                        | ColorMessageNode
                                                                                                                        | TextualMessageNode
                                                                                                                        | PlayerMessageNode

                                                                                                                    A type union of all known message node types. See each type for more information.

                                                                                                                    +
                                                                                                                    \ No newline at end of file diff --git a/docs/v2.0.0/types/PlayerEvents.html b/docs/v2.0.0/types/PlayerEvents.html new file mode 100644 index 00000000..e722af29 --- /dev/null +++ b/docs/v2.0.0/types/PlayerEvents.html @@ -0,0 +1,9 @@ +PlayerEvents | archipelago.js - v2.0.0
                                                                                                                    +

                                                                                                                      Type Alias PlayerEvents

                                                                                                                      PlayerEvents: {
                                                                                                                          aliasUpdated: [player: Player, oldAlias: string, newAlias: string];
                                                                                                                      }

                                                                                                                      Type declaration

                                                                                                                      • aliasUpdated: [player: Player, oldAlias: string, newAlias: string]

                                                                                                                        Fires when a player updates their alias.

                                                                                                                        +

                                                                                                                        The Player for this player with the changes applied.

                                                                                                                        +

                                                                                                                        The player's previous alias.

                                                                                                                        +

                                                                                                                        The player's new alias.

                                                                                                                        +
                                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/RoomStateEvents.html b/docs/v2.0.0/types/RoomStateEvents.html new file mode 100644 index 00000000..dfa7b175 --- /dev/null +++ b/docs/v2.0.0/types/RoomStateEvents.html @@ -0,0 +1,25 @@ +RoomStateEvents | archipelago.js - v2.0.0
                                                                                                                      +

                                                                                                                        Type Alias RoomStateEvents

                                                                                                                        RoomStateEvents: {
                                                                                                                            hintCostUpdated: [oldCost: number, newCost: number, oldPercentage: number, newPercentage: number];
                                                                                                                            hintPointsUpdated: [oldValue: number, newValue: number];
                                                                                                                            locationCheckPointsUpdated: [oldValue: number, newValue: number];
                                                                                                                            locationsChecked: [locations: number[]];
                                                                                                                            passwordUpdated: [password: boolean];
                                                                                                                            permissionsUpdated: [oldValue: PermissionTable, newValue: PermissionTable];
                                                                                                                        }

                                                                                                                        An interface with all supported room events and their respective callback arguments. To be called from +RoomStateManager.

                                                                                                                        +

                                                                                                                        Type declaration

                                                                                                                        • hintCostUpdated: [oldCost: number, newCost: number, oldPercentage: number, newPercentage: number]

                                                                                                                          Fires when the hint cost has been updated.

                                                                                                                          +

                                                                                                                          The previous amount of hint points required to request a hint.

                                                                                                                          +

                                                                                                                          The new amount of hint points required to request a hint.

                                                                                                                          +

                                                                                                                          The old hint cost percentage.

                                                                                                                          +

                                                                                                                          The new hint cost percentage.

                                                                                                                          +
                                                                                                                        • hintPointsUpdated: [oldValue: number, newValue: number]

                                                                                                                          Fires when the player's hint points value has updated.

                                                                                                                          +

                                                                                                                          The old hint point value.

                                                                                                                          +

                                                                                                                          The new hint point value.

                                                                                                                          +
                                                                                                                        • locationCheckPointsUpdated: [oldValue: number, newValue: number]

                                                                                                                          Fires when the location check points have been updated.

                                                                                                                          +

                                                                                                                          The previous location check points value.

                                                                                                                          +

                                                                                                                          The new location check points value.

                                                                                                                          +
                                                                                                                        • locationsChecked: [locations: number[]]

                                                                                                                          Fires when new locations have been checked (or all locations on initial connection).

                                                                                                                          +

                                                                                                                          All the newly checked locations.

                                                                                                                          +
                                                                                                                        • passwordUpdated: [password: boolean]

                                                                                                                          Fires when the room password has been toggled.

                                                                                                                          +

                                                                                                                          If the room now requires a password to join.

                                                                                                                          +
                                                                                                                        • permissionsUpdated: [oldValue: PermissionTable, newValue: PermissionTable]

                                                                                                                          Fires when command permissions have been updated.

                                                                                                                          +

                                                                                                                          The previous command permissions table.

                                                                                                                          +

                                                                                                                          The new command permissions table.

                                                                                                                          +
                                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/types/SocketEvents.html b/docs/v2.0.0/types/SocketEvents.html new file mode 100644 index 00000000..7a151082 --- /dev/null +++ b/docs/v2.0.0/types/SocketEvents.html @@ -0,0 +1,45 @@ +SocketEvents | archipelago.js - v2.0.0
                                                                                                                        +

                                                                                                                          Type Alias SocketEvents

                                                                                                                          SocketEvents: {
                                                                                                                              bounced: [packet: BouncedPacket, data: JSONRecord];
                                                                                                                              connected: [packet: ConnectedPacket];
                                                                                                                              connectionRefused: [packet: ConnectionRefusedPacket];
                                                                                                                              dataPackage: [packet: DataPackagePacket];
                                                                                                                              disconnected: [];
                                                                                                                              invalidPacket: [packet: InvalidPacketPacket];
                                                                                                                              locationInfo: [packet: LocationInfoPacket];
                                                                                                                              printJSON: [packet: PrintJSONPacket];
                                                                                                                              receivedItems: [packet: ReceivedItemsPacket];
                                                                                                                              receivedPacket: [packet: ServerPacket];
                                                                                                                              retrieved: [packet: RetrievedPacket];
                                                                                                                              roomInfo: [packet: RoomInfoPacket];
                                                                                                                              roomUpdate: [packet: RoomUpdatePacket];
                                                                                                                              sentPackets: [packets: ClientPacket[]];
                                                                                                                              setReply: [packet: SetReplyPacket];
                                                                                                                          }

                                                                                                                          An interface with all supported socket events and their respective callback arguments. To be called from +SocketManager.

                                                                                                                          +

                                                                                                                          Type declaration

                                                                                                                          // Print all chat messages to the console when received.
                                                                                                                          client.socket.on("PrintJSON", (packet, message) => {
                                                                                                                          console.log(message);
                                                                                                                          });

                                                                                                                          // Warn when lost connection.
                                                                                                                          client.socket.on("Disconnect", () => {
                                                                                                                          console.warn("Lost connection to the server!");
                                                                                                                          } +
                                                                                                                          + +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.AddDataStorageOperation.html b/docs/v2.0.0/types/index.API.AddDataStorageOperation.html new file mode 100644 index 00000000..23c39d64 --- /dev/null +++ b/docs/v2.0.0/types/index.API.AddDataStorageOperation.html @@ -0,0 +1,9 @@ +AddDataStorageOperation | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias AddDataStorageOperation

                                                                                                                          AddDataStorageOperation: {
                                                                                                                              operation: "add";
                                                                                                                              value: number | JSONSerializable[];
                                                                                                                          }

                                                                                                                          Adds value to the current value of the key, if both the current value and value are arrays then value will be +appended to the current value.

                                                                                                                          +

                                                                                                                          Type declaration

                                                                                                                          • Readonlyoperation: "add"
                                                                                                                          • Readonlyvalue: number | JSONSerializable[]

                                                                                                                            A value for the operation to apply against the current data storage value.

                                                                                                                            +

                                                                                                                          DataStorageOperation for all possible operation subtypes.

                                                                                                                          +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.AndDataStorageOperation.html b/docs/v2.0.0/types/index.API.AndDataStorageOperation.html new file mode 100644 index 00000000..f4432a0d --- /dev/null +++ b/docs/v2.0.0/types/index.API.AndDataStorageOperation.html @@ -0,0 +1,8 @@ +AndDataStorageOperation | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias AndDataStorageOperation

                                                                                                                          AndDataStorageOperation: {
                                                                                                                              operation: "and";
                                                                                                                              value: number;
                                                                                                                          }

                                                                                                                          Applies a bitwise AND to the current value of the key with value.

                                                                                                                          +

                                                                                                                          Type declaration

                                                                                                                          • Readonlyoperation: "and"
                                                                                                                          • Readonlyvalue: number

                                                                                                                            A value for the operation to apply against the current data storage value.

                                                                                                                            +

                                                                                                                          DataStorageOperation for all possible operation subtypes.

                                                                                                                          +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.CeilingDataStorageOperation.html b/docs/v2.0.0/types/index.API.CeilingDataStorageOperation.html new file mode 100644 index 00000000..c8a15d04 --- /dev/null +++ b/docs/v2.0.0/types/index.API.CeilingDataStorageOperation.html @@ -0,0 +1,8 @@ +CeilingDataStorageOperation | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias CeilingDataStorageOperation

                                                                                                                          CeilingDataStorageOperation: {
                                                                                                                              operation: "ceil";
                                                                                                                              value: null;
                                                                                                                          }

                                                                                                                          Rounds up the current value to the nearest integer.

                                                                                                                          +

                                                                                                                          Type declaration

                                                                                                                          • Readonlyoperation: "ceil"
                                                                                                                          • Readonlyvalue: null

                                                                                                                            Ignored for this operation.

                                                                                                                            +

                                                                                                                          DataStorageOperation for all possible operation subtypes.

                                                                                                                          +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.ClientPacket.html b/docs/v2.0.0/types/index.API.ClientPacket.html new file mode 100644 index 00000000..1248615e --- /dev/null +++ b/docs/v2.0.0/types/index.API.ClientPacket.html @@ -0,0 +1,5 @@ +ClientPacket | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias ClientPacket

                                                                                                                          ClientPacket:
                                                                                                                              | BouncePacket
                                                                                                                              | ConnectPacket
                                                                                                                              | ConnectUpdatePacket
                                                                                                                              | GetPacket
                                                                                                                              | GetDataPackagePacket
                                                                                                                              | LocationChecksPacket
                                                                                                                              | LocationScoutsPacket
                                                                                                                              | SayPacket
                                                                                                                              | SetPacket
                                                                                                                              | SetNotifyPacket
                                                                                                                              | StatusUpdatePacket
                                                                                                                              | SyncPacket
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.ColorJSONMessagePart.html b/docs/v2.0.0/types/index.API.ColorJSONMessagePart.html new file mode 100644 index 00000000..48916afd --- /dev/null +++ b/docs/v2.0.0/types/index.API.ColorJSONMessagePart.html @@ -0,0 +1,10 @@ +ColorJSONMessagePart | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias ColorJSONMessagePart

                                                                                                                          ColorJSONMessagePart: {
                                                                                                                              color: ValidJSONColorType;
                                                                                                                              text: string;
                                                                                                                              type: "color";
                                                                                                                          }

                                                                                                                          A textual node containing color metadata.

                                                                                                                          +

                                                                                                                          Type declaration

                                                                                                                          • Readonlycolor: ValidJSONColorType

                                                                                                                            Includes the color to print this text with.

                                                                                                                            +
                                                                                                                          • Readonlytext: string

                                                                                                                            Used to supply text data for this node.

                                                                                                                            +
                                                                                                                          • Readonlytype: "color"

                                                                                                                            Used to denote the intent of the message part.

                                                                                                                            +

                                                                                                                          JSONMessagePart for all possible message part node subtypes.

                                                                                                                          +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.ConnectionError.html b/docs/v2.0.0/types/index.API.ConnectionError.html new file mode 100644 index 00000000..f17ef235 --- /dev/null +++ b/docs/v2.0.0/types/index.API.ConnectionError.html @@ -0,0 +1,7 @@ +ConnectionError | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias ConnectionError

                                                                                                                          ConnectionError:
                                                                                                                              | "InvalidSlot"
                                                                                                                              | "InvalidGame"
                                                                                                                              | "IncompatibleVersion"
                                                                                                                              | "InvalidPassword"
                                                                                                                              | "InvalidItemsHandling"

                                                                                                                          A union of known errors the Archipelago server can send back to the client when they receive a +ConnectionRefusedPacket.

                                                                                                                          +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.DataPackage.html b/docs/v2.0.0/types/index.API.DataPackage.html new file mode 100644 index 00000000..25e844ff --- /dev/null +++ b/docs/v2.0.0/types/index.API.DataPackage.html @@ -0,0 +1,14 @@ +DataPackage | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias DataPackage

                                                                                                                          DataPackage: {
                                                                                                                              games: Record<string, GamePackage>;
                                                                                                                          }

                                                                                                                          A DataPackage is an object which contains arbitrary metadata about each game to enable a client to interact +with the Archipelago server easily.

                                                                                                                          +

                                                                                                                          Note:

                                                                                                                          +
                                                                                                                            +
                                                                                                                          • Any name is unique to its type across its own Game only: Single Arrow can exist in two games.
                                                                                                                          • +
                                                                                                                          • The ids from the game Archipelago may be used in any other game. Especially Location ID -1: Cheat Console +and -2: Server (typically Remote Start Inventory).
                                                                                                                          • +
                                                                                                                          +

                                                                                                                          Type declaration

                                                                                                                          • Readonlygames: Record<string, GamePackage>

                                                                                                                            Mapping of all Games and their respective data. See GamePackage for additional info.

                                                                                                                            +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.DataStorageOperation.html b/docs/v2.0.0/types/index.API.DataStorageOperation.html new file mode 100644 index 00000000..63ff3663 --- /dev/null +++ b/docs/v2.0.0/types/index.API.DataStorageOperation.html @@ -0,0 +1,15 @@ +DataStorageOperation | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias DataStorageOperation

                                                                                                                          A union of all possible DataStorages. An operation manipulates or alters the value of a key in the data +storage. If the operation transforms the value from one state to another then the current value of the key is used +as the starting point otherwise the SetPacket's default is used if the key does not exist on the server +already.

                                                                                                                          +

                                                                                                                          Each operation object consists of an object containing both the operation to be applied, provided in the form of a +string, and the value to be used for that operation,

                                                                                                                          +

                                                                                                                          See each DataStorage subtype for more details.

                                                                                                                          +
                                                                                                                          { "operation": "add", "value": 12 }
                                                                                                                          +
                                                                                                                          + +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.DefaultDataStorageOperation.html b/docs/v2.0.0/types/index.API.DefaultDataStorageOperation.html new file mode 100644 index 00000000..ef37d0b4 --- /dev/null +++ b/docs/v2.0.0/types/index.API.DefaultDataStorageOperation.html @@ -0,0 +1,9 @@ +DefaultDataStorageOperation | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias DefaultDataStorageOperation

                                                                                                                          DefaultDataStorageOperation: {
                                                                                                                              operation: "default";
                                                                                                                              value: null;
                                                                                                                          }

                                                                                                                          If the key has no value yet, sets the current value of the key to default of the SetPacket's (value is +ignored).

                                                                                                                          +

                                                                                                                          Type declaration

                                                                                                                          • Readonlyoperation: "default"
                                                                                                                          • Readonlyvalue: null

                                                                                                                            A value for the operation to apply against the current data storage value.

                                                                                                                            +

                                                                                                                          DataStorageOperation for all possible operation subtypes.

                                                                                                                          +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.FloorDataStorageOperation.html b/docs/v2.0.0/types/index.API.FloorDataStorageOperation.html new file mode 100644 index 00000000..fd1b4b00 --- /dev/null +++ b/docs/v2.0.0/types/index.API.FloorDataStorageOperation.html @@ -0,0 +1,8 @@ +FloorDataStorageOperation | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias FloorDataStorageOperation

                                                                                                                          FloorDataStorageOperation: {
                                                                                                                              operation: "floor";
                                                                                                                              value: null;
                                                                                                                          }

                                                                                                                          Rounds down the current value to the nearest integer.

                                                                                                                          +

                                                                                                                          Type declaration

                                                                                                                          • Readonlyoperation: "floor"
                                                                                                                          • Readonlyvalue: null

                                                                                                                            Ignored for this operation.

                                                                                                                            +

                                                                                                                          DataStorageOperation for all possible operation subtypes.

                                                                                                                          +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.GamePackage.html b/docs/v2.0.0/types/index.API.GamePackage.html new file mode 100644 index 00000000..eaa09129 --- /dev/null +++ b/docs/v2.0.0/types/index.API.GamePackage.html @@ -0,0 +1,9 @@ +GamePackage | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias GamePackage

                                                                                                                          GamePackage: {
                                                                                                                              checksum: string;
                                                                                                                              item_name_to_id: Record<string, number>;
                                                                                                                              location_name_to_id: Record<string, number>;
                                                                                                                          }

                                                                                                                          Collection of data that contains meta information for a particular game.

                                                                                                                          +

                                                                                                                          Type declaration

                                                                                                                          • Readonlychecksum: string

                                                                                                                            SHA1 checksum of this game's data.

                                                                                                                            +
                                                                                                                          • Readonlyitem_name_to_id: Record<string, number>

                                                                                                                            Mapping of all item names to their respective id.

                                                                                                                            +
                                                                                                                          • Readonlylocation_name_to_id: Record<string, number>

                                                                                                                            Mapping of all location names to their respective id.

                                                                                                                            +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.InvalidPacketPacket.html b/docs/v2.0.0/types/index.API.InvalidPacketPacket.html new file mode 100644 index 00000000..13096ab4 --- /dev/null +++ b/docs/v2.0.0/types/index.API.InvalidPacketPacket.html @@ -0,0 +1,9 @@ +InvalidPacketPacket | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias InvalidPacketPacket

                                                                                                                          A union of possible InvalidPacket packets. Sent to clients if the server caught a problem with a packet. See each +packet subtype for more details.

                                                                                                                          +

                                                                                                                          This only occurs for errors that are explicitly checked for. All other errors will cause the server to drop +the connection instead.

                                                                                                                          +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.ItemJSONMessagePart.html b/docs/v2.0.0/types/index.API.ItemJSONMessagePart.html new file mode 100644 index 00000000..427da2c0 --- /dev/null +++ b/docs/v2.0.0/types/index.API.ItemJSONMessagePart.html @@ -0,0 +1,11 @@ +ItemJSONMessagePart | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias ItemJSONMessagePart

                                                                                                                          ItemJSONMessagePart: {
                                                                                                                              flags: number;
                                                                                                                              player: number;
                                                                                                                              text: string;
                                                                                                                              type: "item_id" | "item_name";
                                                                                                                          }

                                                                                                                          A textual node containing item metadata.

                                                                                                                          +

                                                                                                                          Type declaration

                                                                                                                          • Readonlyflags: number

                                                                                                                            Bit flags that determine if an item is progression, "nice to have", filler, or a trap.

                                                                                                                            +
                                                                                                                          • Readonlyplayer: number

                                                                                                                            The id of the player who owns this item.

                                                                                                                            +
                                                                                                                          • Readonlytext: string

                                                                                                                            Used to supply text data for this node.

                                                                                                                            +
                                                                                                                          • Readonlytype: "item_id" | "item_name"

                                                                                                                            Used to denote the intent of the message part.

                                                                                                                            +

                                                                                                                          JSONMessagePart for all possible message part node subtypes.

                                                                                                                          +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.JSONMessagePart.html b/docs/v2.0.0/types/index.API.JSONMessagePart.html new file mode 100644 index 00000000..68408940 --- /dev/null +++ b/docs/v2.0.0/types/index.API.JSONMessagePart.html @@ -0,0 +1,8 @@ +JSONMessagePart | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias JSONMessagePart

                                                                                                                          JSONMessagePart:
                                                                                                                              | ItemJSONMessagePart
                                                                                                                              | LocationJSONMessagePart
                                                                                                                              | ColorJSONMessagePart
                                                                                                                              | TextJSONMessagePart

                                                                                                                          A union of all message node subtypes sent along with PrintJSONPacket, which can be reconstructed into a +legible message. Each node is intended to be read in the order provided in the packet.

                                                                                                                          +

                                                                                                                          See each subtype for more specific information.

                                                                                                                          +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.JSONRecord.html b/docs/v2.0.0/types/index.API.JSONRecord.html new file mode 100644 index 00000000..3100765a --- /dev/null +++ b/docs/v2.0.0/types/index.API.JSONRecord.html @@ -0,0 +1,6 @@ +JSONRecord | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias JSONRecord

                                                                                                                          JSONRecord: {
                                                                                                                              [p: string]: JSONSerializable;
                                                                                                                          }

                                                                                                                          A record of JSON-serializable data.

                                                                                                                          +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.JSONSerializable.html b/docs/v2.0.0/types/index.API.JSONSerializable.html new file mode 100644 index 00000000..071e7d3d --- /dev/null +++ b/docs/v2.0.0/types/index.API.JSONSerializable.html @@ -0,0 +1,6 @@ +JSONSerializable | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias JSONSerializable

                                                                                                                          JSONSerializable:
                                                                                                                              | string
                                                                                                                              | number
                                                                                                                              | boolean
                                                                                                                              | null
                                                                                                                              | JSONRecord
                                                                                                                              | JSONSerializable[]

                                                                                                                          A type union of all basic JSON-compatible types.

                                                                                                                          +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.LeftShiftDataStorageOperation.html b/docs/v2.0.0/types/index.API.LeftShiftDataStorageOperation.html new file mode 100644 index 00000000..28d5d95e --- /dev/null +++ b/docs/v2.0.0/types/index.API.LeftShiftDataStorageOperation.html @@ -0,0 +1,8 @@ +LeftShiftDataStorageOperation | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias LeftShiftDataStorageOperation

                                                                                                                          LeftShiftDataStorageOperation: {
                                                                                                                              operation: "left_shift";
                                                                                                                              value: number;
                                                                                                                          }

                                                                                                                          Applies a bitwise left-shift to the current value of the key by value.

                                                                                                                          +

                                                                                                                          Type declaration

                                                                                                                          • Readonlyoperation: "left_shift"
                                                                                                                          • Readonlyvalue: number

                                                                                                                            A value for the operation to apply against the current data storage value.

                                                                                                                            +

                                                                                                                          DataStorageOperation for all possible operation subtypes.

                                                                                                                          +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.LocationJSONMessagePart.html b/docs/v2.0.0/types/index.API.LocationJSONMessagePart.html new file mode 100644 index 00000000..68d1686a --- /dev/null +++ b/docs/v2.0.0/types/index.API.LocationJSONMessagePart.html @@ -0,0 +1,10 @@ +LocationJSONMessagePart | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias LocationJSONMessagePart

                                                                                                                          LocationJSONMessagePart: {
                                                                                                                              player: number;
                                                                                                                              text: string;
                                                                                                                              type: "location_id" | "location_name";
                                                                                                                          }

                                                                                                                          A textual node containing location metadata.

                                                                                                                          +

                                                                                                                          Type declaration

                                                                                                                          • Readonlyplayer: number

                                                                                                                            The id of the player who has this location.

                                                                                                                            +
                                                                                                                          • Readonlytext: string

                                                                                                                            Used to supply text data for this node.

                                                                                                                            +
                                                                                                                          • Readonlytype: "location_id" | "location_name"

                                                                                                                            Used to denote the intent of the message part.

                                                                                                                            +

                                                                                                                          JSONMessagePart for all possible message part node subtypes.

                                                                                                                          +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.MaxDataStorageOperation.html b/docs/v2.0.0/types/index.API.MaxDataStorageOperation.html new file mode 100644 index 00000000..7b1664bd --- /dev/null +++ b/docs/v2.0.0/types/index.API.MaxDataStorageOperation.html @@ -0,0 +1,8 @@ +MaxDataStorageOperation | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias MaxDataStorageOperation

                                                                                                                          MaxDataStorageOperation: {
                                                                                                                              operation: "max";
                                                                                                                              value: number;
                                                                                                                          }

                                                                                                                          Sets the current value of the key to value if value is bigger.

                                                                                                                          +

                                                                                                                          Type declaration

                                                                                                                          • Readonlyoperation: "max"
                                                                                                                          • Readonlyvalue: number

                                                                                                                            A value for the operation to apply against the current data storage value.

                                                                                                                            +

                                                                                                                          DataStorageOperation for all possible operation subtypes.

                                                                                                                          +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.MinDataStorageOperation.html b/docs/v2.0.0/types/index.API.MinDataStorageOperation.html new file mode 100644 index 00000000..03e0acfc --- /dev/null +++ b/docs/v2.0.0/types/index.API.MinDataStorageOperation.html @@ -0,0 +1,8 @@ +MinDataStorageOperation | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias MinDataStorageOperation

                                                                                                                          MinDataStorageOperation: {
                                                                                                                              operation: "min";
                                                                                                                              value: number;
                                                                                                                          }

                                                                                                                          Sets the current value of the key to value if value is lower.

                                                                                                                          +

                                                                                                                          Type declaration

                                                                                                                          • Readonlyoperation: "min"
                                                                                                                          • Readonlyvalue: number

                                                                                                                            A value for the operation to apply against the current data storage value.

                                                                                                                            +

                                                                                                                          DataStorageOperation for all possible operation subtypes.

                                                                                                                          +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.ModuloDataStorageOperation.html b/docs/v2.0.0/types/index.API.ModuloDataStorageOperation.html new file mode 100644 index 00000000..75c7dcfa --- /dev/null +++ b/docs/v2.0.0/types/index.API.ModuloDataStorageOperation.html @@ -0,0 +1,8 @@ +ModuloDataStorageOperation | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias ModuloDataStorageOperation

                                                                                                                          ModuloDataStorageOperation: {
                                                                                                                              operation: "mod";
                                                                                                                              value: number;
                                                                                                                          }

                                                                                                                          Sets the current value of the key to the remainder after division by value.

                                                                                                                          +

                                                                                                                          Type declaration

                                                                                                                          • Readonlyoperation: "mod"
                                                                                                                          • Readonlyvalue: number

                                                                                                                            A value for the operation to apply against the current data storage value.

                                                                                                                            +

                                                                                                                          DataStorageOperation for all possible operation subtypes.

                                                                                                                          +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.MultiplyDataStorageOperation.html b/docs/v2.0.0/types/index.API.MultiplyDataStorageOperation.html new file mode 100644 index 00000000..1ba05f9e --- /dev/null +++ b/docs/v2.0.0/types/index.API.MultiplyDataStorageOperation.html @@ -0,0 +1,8 @@ +MultiplyDataStorageOperation | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias MultiplyDataStorageOperation

                                                                                                                          MultiplyDataStorageOperation: {
                                                                                                                              operation: "mul";
                                                                                                                              value: number;
                                                                                                                          }

                                                                                                                          Multiplies the current value of the key by value.

                                                                                                                          +

                                                                                                                          Type declaration

                                                                                                                          • Readonlyoperation: "mul"
                                                                                                                          • Readonlyvalue: number

                                                                                                                            A value for the operation to apply against the current data storage value.

                                                                                                                            +

                                                                                                                          DataStorageOperation for all possible operation subtypes.

                                                                                                                          +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.NetworkHint.html b/docs/v2.0.0/types/index.API.NetworkHint.html new file mode 100644 index 00000000..6c5bac3c --- /dev/null +++ b/docs/v2.0.0/types/index.API.NetworkHint.html @@ -0,0 +1,13 @@ +NetworkHint | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias NetworkHint

                                                                                                                          NetworkHint: {
                                                                                                                              entrance: string;
                                                                                                                              finding_player: number;
                                                                                                                              found: boolean;
                                                                                                                              item: number;
                                                                                                                              item_flags: number;
                                                                                                                              location: number;
                                                                                                                              receiving_player: number;
                                                                                                                          }

                                                                                                                          An object representing a hint information for a particular item and location that contains it.

                                                                                                                          +

                                                                                                                          Type declaration

                                                                                                                          • Readonlyentrance: string

                                                                                                                            The name of the entrance to the location where this item is located.

                                                                                                                            +
                                                                                                                          • Readonlyfinding_player: number

                                                                                                                            The id of the player who has this item in their world.

                                                                                                                            +
                                                                                                                          • Readonlyfound: boolean

                                                                                                                            Whether this item has already been found.

                                                                                                                            +
                                                                                                                          • Readonlyitem: number

                                                                                                                            The id of this item.

                                                                                                                            +
                                                                                                                          • Readonlyitem_flags: number

                                                                                                                            The classification bit flags for this item. See itemsHandlingFlags for known flags.

                                                                                                                            +
                                                                                                                          • Readonlylocation: number

                                                                                                                            The id of the location for this item.

                                                                                                                            +
                                                                                                                          • Readonlyreceiving_player: number

                                                                                                                            The id of the player who owns this item.

                                                                                                                            +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.NetworkItem.html b/docs/v2.0.0/types/index.API.NetworkItem.html new file mode 100644 index 00000000..fa6eae54 --- /dev/null +++ b/docs/v2.0.0/types/index.API.NetworkItem.html @@ -0,0 +1,11 @@ +NetworkItem | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias NetworkItem

                                                                                                                          NetworkItem: {
                                                                                                                              flags: number;
                                                                                                                              item: number;
                                                                                                                              location: number;
                                                                                                                              player: number;
                                                                                                                          }

                                                                                                                          Items that are sent over the network.

                                                                                                                          +

                                                                                                                          Type declaration

                                                                                                                          • Readonlyflags: number

                                                                                                                            The classification bit flags for this item. See itemsHandlingFlags for known flags.

                                                                                                                            +
                                                                                                                          • Readonlyitem: number

                                                                                                                            The item id of the item. Item ids are in the range of -2^53 to +2^53-1.

                                                                                                                            +
                                                                                                                          • Readonlylocation: number

                                                                                                                            The location id of the location inside the world. Location ids are in the range of -2^53 to +2^53 - 1.

                                                                                                                            +
                                                                                                                          • Readonlyplayer: number

                                                                                                                            The slot id for the player whose world the item was located in, except when inside a LocationInfoPacket, +then it will be the slot id of the player the item belongs to.

                                                                                                                            +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.NetworkPlayer.html b/docs/v2.0.0/types/index.API.NetworkPlayer.html new file mode 100644 index 00000000..c066585c --- /dev/null +++ b/docs/v2.0.0/types/index.API.NetworkPlayer.html @@ -0,0 +1,12 @@ +NetworkPlayer | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias NetworkPlayer

                                                                                                                          NetworkPlayer: {
                                                                                                                              alias: string;
                                                                                                                              name: string;
                                                                                                                              slot: number;
                                                                                                                              team: number;
                                                                                                                          }

                                                                                                                          An object that contains metadata about an individual player on the network.

                                                                                                                          +

                                                                                                                          Type declaration

                                                                                                                          • Readonlyalias: string

                                                                                                                            Represents the player's name in current time. Can be changed during a game with the !alias <name> command by +the player.

                                                                                                                            +
                                                                                                                          • Readonlyname: string

                                                                                                                            The original slot name as defined by the player's configuration file. Individual names are unique among players.

                                                                                                                            +
                                                                                                                          • Readonlyslot: number

                                                                                                                            Determines the slot id for this player. Slot numbers are unique per team and start at 1. Slot number 0 refers +to the Archipelago server; this may appear in instances where the server grants the player an item.

                                                                                                                            +
                                                                                                                          • Readonlyteam: number

                                                                                                                            Determines the team the player is on. Useful for competitive seeds. Team numbers start at 0.

                                                                                                                            +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.NetworkSlot.html b/docs/v2.0.0/types/index.API.NetworkSlot.html new file mode 100644 index 00000000..ebbd3148 --- /dev/null +++ b/docs/v2.0.0/types/index.API.NetworkSlot.html @@ -0,0 +1,10 @@ +NetworkSlot | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias NetworkSlot

                                                                                                                          NetworkSlot: {
                                                                                                                              game: string;
                                                                                                                              group_members: number[];
                                                                                                                              name: string;
                                                                                                                              type: typeof slotTypes[keyof typeof slotTypes];
                                                                                                                          }

                                                                                                                          An object representing metadata about a given slot on each team.

                                                                                                                          +

                                                                                                                          Type declaration

                                                                                                                          • Readonlygame: string

                                                                                                                            The game this slot is playing.

                                                                                                                            +
                                                                                                                          • Readonlygroup_members: number[]

                                                                                                                            Contains a list of player ids, if the type is slotTypes.group. Used for item links, otherwise empty.

                                                                                                                            +
                                                                                                                          • Readonlyname: string

                                                                                                                            The original slot name as defined by the player's configuration file. Individual names are unique among players.

                                                                                                                            +
                                                                                                                          • Readonlytype: typeof slotTypes[keyof typeof slotTypes]

                                                                                                                            The type of slot this is. See slotTypes for known slot types.

                                                                                                                            +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.NetworkVersion.html b/docs/v2.0.0/types/index.API.NetworkVersion.html new file mode 100644 index 00000000..415578ff --- /dev/null +++ b/docs/v2.0.0/types/index.API.NetworkVersion.html @@ -0,0 +1,12 @@ +NetworkVersion | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias NetworkVersion

                                                                                                                          NetworkVersion: {
                                                                                                                              build: number;
                                                                                                                              class: "Version";
                                                                                                                              major: number;
                                                                                                                              minor: number;
                                                                                                                          }

                                                                                                                          An object representing software versioning. Used in the ConnectPacket to allow the client to inform the +server the minimum Archipelago version it supports.

                                                                                                                          +

                                                                                                                          Type declaration

                                                                                                                          • Readonlybuild: number

                                                                                                                            The build/patch component of the version number. (e.g., 0.0.X)

                                                                                                                            +
                                                                                                                          • Readonlyclass: "Version"

                                                                                                                            Apparently required to be present to ensure the Archipelago server parses this object correctly.

                                                                                                                            +
                                                                                                                          • Readonlymajor: number

                                                                                                                            The major component of the version number. (e.g., X.0.0)

                                                                                                                            +
                                                                                                                          • Readonlyminor: number

                                                                                                                            The minor component of the version number. (e.g., 0.X.0)

                                                                                                                            +

                                                                                                                          Archipelago does not follow a semver versioning standard.

                                                                                                                          +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.OrDataStorageOperation.html b/docs/v2.0.0/types/index.API.OrDataStorageOperation.html new file mode 100644 index 00000000..af4c0f28 --- /dev/null +++ b/docs/v2.0.0/types/index.API.OrDataStorageOperation.html @@ -0,0 +1,8 @@ +OrDataStorageOperation | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias OrDataStorageOperation

                                                                                                                          OrDataStorageOperation: {
                                                                                                                              operation: "or";
                                                                                                                              value: number;
                                                                                                                          }

                                                                                                                          Applies a bitwise OR to the current value of the key with value.

                                                                                                                          +

                                                                                                                          Type declaration

                                                                                                                          • Readonlyoperation: "or"
                                                                                                                          • Readonlyvalue: number

                                                                                                                            A value for the operation to apply against the current data storage value.

                                                                                                                            +

                                                                                                                          DataStorageOperation for all possible operation subtypes.

                                                                                                                          +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.PermissionTable.html b/docs/v2.0.0/types/index.API.PermissionTable.html new file mode 100644 index 00000000..2817e6e7 --- /dev/null +++ b/docs/v2.0.0/types/index.API.PermissionTable.html @@ -0,0 +1,35 @@ +PermissionTable | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias PermissionTable

                                                                                                                          PermissionTable: {
                                                                                                                              collect: PermissionValue;
                                                                                                                              release: PermissionValue;
                                                                                                                              remaining: Omit<PermissionValue, typeof auto | typeof autoEnabled>;
                                                                                                                          }

                                                                                                                          Mapping of restrict-able commands to their current permissions level.

                                                                                                                          +

                                                                                                                          Type declaration

                                                                                                                          • Readonlycollect: PermissionValue

                                                                                                                            Dictates what is allowed when it comes to a player collecting their run. A collect is an action which sends +the rest of the items in a player's run.

                                                                                                                            + +
                                                                                                                          • Readonlyrelease: PermissionValue

                                                                                                                            Dictates what is allowed when it comes to a player releasing their run. A release is an action which +distributes the rest of the items in a player's run to those other players awaiting them.

                                                                                                                            + +
                                                                                                                          • Readonlyremaining: Omit<PermissionValue, typeof auto | typeof autoEnabled>

                                                                                                                            Dictates what is allowed when it comes to a player querying the items remaining in their run.

                                                                                                                            +
                                                                                                                              +
                                                                                                                            • permissions.goal: Allows a player to query for items remaining in their run but only after they +completed their own goal.
                                                                                                                            • +
                                                                                                                            • permissions.enabled: Denotes that players may query for any items remaining in their run (even +those belonging to other players).
                                                                                                                            • +
                                                                                                                            • permissions.disabled: All remaining item query modes disabled.
                                                                                                                            • +
                                                                                                                            +

                                                                                                                            This command cannot have the permissions.auto or permissions.autoEnabled permission.

                                                                                                                            +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.PermissionValue.html b/docs/v2.0.0/types/index.API.PermissionValue.html new file mode 100644 index 00000000..5717aae0 --- /dev/null +++ b/docs/v2.0.0/types/index.API.PermissionValue.html @@ -0,0 +1,6 @@ +PermissionValue | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias PermissionValue

                                                                                                                          PermissionValue: typeof permissions[keyof typeof permissions]

                                                                                                                          The type for a given permission value.

                                                                                                                          +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.PopDataStorageOperation.html b/docs/v2.0.0/types/index.API.PopDataStorageOperation.html new file mode 100644 index 00000000..a36bfa69 --- /dev/null +++ b/docs/v2.0.0/types/index.API.PopDataStorageOperation.html @@ -0,0 +1,9 @@ +PopDataStorageOperation | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias PopDataStorageOperation

                                                                                                                          PopDataStorageOperation: {
                                                                                                                              operation: "pop";
                                                                                                                              value: JSONSerializable;
                                                                                                                          }

                                                                                                                          List or Dict only: for lists it will remove the index of the value given. For dicts it removes the element with +the specified key of value.

                                                                                                                          +

                                                                                                                          Type declaration

                                                                                                                          • Readonlyoperation: "pop"
                                                                                                                          • Readonlyvalue: JSONSerializable

                                                                                                                            A value for the operation to apply against the current data storage value.

                                                                                                                            +

                                                                                                                          DataStorageOperation for all possible operation subtypes.

                                                                                                                          +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.PowerDataStorageOperation.html b/docs/v2.0.0/types/index.API.PowerDataStorageOperation.html new file mode 100644 index 00000000..4ee935c2 --- /dev/null +++ b/docs/v2.0.0/types/index.API.PowerDataStorageOperation.html @@ -0,0 +1,8 @@ +PowerDataStorageOperation | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias PowerDataStorageOperation

                                                                                                                          PowerDataStorageOperation: {
                                                                                                                              operation: "pow";
                                                                                                                              value: number;
                                                                                                                          }

                                                                                                                          Multiplies the current value of the key to the power of value.

                                                                                                                          +

                                                                                                                          Type declaration

                                                                                                                          • Readonlyoperation: "pow"
                                                                                                                          • Readonlyvalue: number

                                                                                                                            A value for the operation to apply against the current data storage value.

                                                                                                                            +

                                                                                                                          DataStorageOperation for all possible operation subtypes.

                                                                                                                          +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.PrintJSONPacket.html b/docs/v2.0.0/types/index.API.PrintJSONPacket.html new file mode 100644 index 00000000..111a85ec --- /dev/null +++ b/docs/v2.0.0/types/index.API.PrintJSONPacket.html @@ -0,0 +1,9 @@ +PrintJSONPacket | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias PrintJSONPacket

                                                                                                                          A union of possible PrintJSON packets. Sent to clients purely to display a message to the player. While various +message types provide additional arguments, clients only need to evaluate the data argument to construct the +human-readable message text. All other arguments may be ignored safely.

                                                                                                                          +

                                                                                                                          Only some of these attributes are present on each subtype, see each subtype for more information.

                                                                                                                          +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.PrintJSONType.html b/docs/v2.0.0/types/index.API.PrintJSONType.html new file mode 100644 index 00000000..5bfea05e --- /dev/null +++ b/docs/v2.0.0/types/index.API.PrintJSONType.html @@ -0,0 +1,6 @@ +PrintJSONType | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias PrintJSONType

                                                                                                                          PrintJSONType:
                                                                                                                              | "ItemSend"
                                                                                                                              | "ItemCheat"
                                                                                                                              | "Hint"
                                                                                                                              | "Join"
                                                                                                                              | "Part"
                                                                                                                              | "Chat"
                                                                                                                              | "ServerChat"
                                                                                                                              | "Tutorial"
                                                                                                                              | "TagsChanged"
                                                                                                                              | "CommandResult"
                                                                                                                              | "AdminCommandResult"
                                                                                                                              | "Goal"
                                                                                                                              | "Release"
                                                                                                                              | "Collect"
                                                                                                                              | "Countdown"

                                                                                                                          A union of all known PrintJSONPacket types.

                                                                                                                          +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.RemoveDataStorageOperation.html b/docs/v2.0.0/types/index.API.RemoveDataStorageOperation.html new file mode 100644 index 00000000..f3de005c --- /dev/null +++ b/docs/v2.0.0/types/index.API.RemoveDataStorageOperation.html @@ -0,0 +1,8 @@ +RemoveDataStorageOperation | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias RemoveDataStorageOperation

                                                                                                                          RemoveDataStorageOperation: {
                                                                                                                              operation: "remove";
                                                                                                                              value: JSONSerializable;
                                                                                                                          }

                                                                                                                          List only: removes the first instance of value found in the list.

                                                                                                                          +

                                                                                                                          Type declaration

                                                                                                                          • Readonlyoperation: "remove"
                                                                                                                          • Readonlyvalue: JSONSerializable

                                                                                                                            A value for the operation to apply against the current data storage value.

                                                                                                                            +

                                                                                                                          DataStorageOperation for all possible operation subtypes.

                                                                                                                          +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.ReplaceDataStorageOperation.html b/docs/v2.0.0/types/index.API.ReplaceDataStorageOperation.html new file mode 100644 index 00000000..1bf88165 --- /dev/null +++ b/docs/v2.0.0/types/index.API.ReplaceDataStorageOperation.html @@ -0,0 +1,8 @@ +ReplaceDataStorageOperation | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias ReplaceDataStorageOperation

                                                                                                                          ReplaceDataStorageOperation: {
                                                                                                                              operation: "replace";
                                                                                                                              value: JSONSerializable;
                                                                                                                          }

                                                                                                                          Sets the current value of the key to value.

                                                                                                                          +

                                                                                                                          Type declaration

                                                                                                                          • Readonlyoperation: "replace"
                                                                                                                          • Readonlyvalue: JSONSerializable

                                                                                                                            A value for the operation to apply against the current data storage value.

                                                                                                                            +

                                                                                                                          DataStorageOperation for all possible operation subtypes.

                                                                                                                          +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.RightShiftDataStorageOperation.html b/docs/v2.0.0/types/index.API.RightShiftDataStorageOperation.html new file mode 100644 index 00000000..fb4e737b --- /dev/null +++ b/docs/v2.0.0/types/index.API.RightShiftDataStorageOperation.html @@ -0,0 +1,8 @@ +RightShiftDataStorageOperation | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias RightShiftDataStorageOperation

                                                                                                                          RightShiftDataStorageOperation: {
                                                                                                                              operation: "right_shift";
                                                                                                                              value: number;
                                                                                                                          }

                                                                                                                          Applies a bitwise right-shift to the current value of the key by value.

                                                                                                                          +

                                                                                                                          Type declaration

                                                                                                                          • Readonlyoperation: "right_shift"
                                                                                                                          • Readonlyvalue: number

                                                                                                                            A value for the operation to apply against the current data storage value.

                                                                                                                            +

                                                                                                                          DataStorageOperation for all possible operation subtypes.

                                                                                                                          +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.ServerPacket.html b/docs/v2.0.0/types/index.API.ServerPacket.html new file mode 100644 index 00000000..7bd6516f --- /dev/null +++ b/docs/v2.0.0/types/index.API.ServerPacket.html @@ -0,0 +1,5 @@ +ServerPacket | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias ServerPacket

                                                                                                                          ServerPacket:
                                                                                                                              | BouncedPacket
                                                                                                                              | ConnectedPacket
                                                                                                                              | ConnectionRefusedPacket
                                                                                                                              | DataPackagePacket
                                                                                                                              | InvalidPacketPacket
                                                                                                                              | LocationInfoPacket
                                                                                                                              | PrintJSONPacket
                                                                                                                              | ReceivedItemsPacket
                                                                                                                              | RetrievedPacket
                                                                                                                              | RoomInfoPacket
                                                                                                                              | RoomUpdatePacket
                                                                                                                              | SetReplyPacket
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.TextJSONMessagePart.html b/docs/v2.0.0/types/index.API.TextJSONMessagePart.html new file mode 100644 index 00000000..9b032eac --- /dev/null +++ b/docs/v2.0.0/types/index.API.TextJSONMessagePart.html @@ -0,0 +1,10 @@ +TextJSONMessagePart | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias TextJSONMessagePart

                                                                                                                          TextJSONMessagePart: {
                                                                                                                              text: string;
                                                                                                                              type?:
                                                                                                                                  | "text"
                                                                                                                                  | "entrance_name"
                                                                                                                                  | "player_id"
                                                                                                                                  | "player_name";
                                                                                                                          }

                                                                                                                          A textual node containing plaintext metadata.

                                                                                                                          +

                                                                                                                          Type declaration

                                                                                                                          • Readonlytext: string

                                                                                                                            Used to supply text data for this node.

                                                                                                                            +
                                                                                                                          • Optional Readonlytype?:
                                                                                                                                | "text"
                                                                                                                                | "entrance_name"
                                                                                                                                | "player_id"
                                                                                                                                | "player_name"

                                                                                                                            Used to denote the intent of the message part.

                                                                                                                            +

                                                                                                                            If type is omitted, it should be treated as the text type.

                                                                                                                            +

                                                                                                                          JSONMessagePart for all possible message part node subtypes.

                                                                                                                          +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.UpdateDataStorageOperation.html b/docs/v2.0.0/types/index.API.UpdateDataStorageOperation.html new file mode 100644 index 00000000..a2ccf483 --- /dev/null +++ b/docs/v2.0.0/types/index.API.UpdateDataStorageOperation.html @@ -0,0 +1,9 @@ +UpdateDataStorageOperation | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias UpdateDataStorageOperation

                                                                                                                          UpdateDataStorageOperation: {
                                                                                                                              operation: "update";
                                                                                                                              value: JSONSerializable;
                                                                                                                          }

                                                                                                                          Dict only: Updates the dictionary with the specified elements given in value creating new keys, or updating old +ones if they previously existed.

                                                                                                                          +

                                                                                                                          Type declaration

                                                                                                                          • Readonlyoperation: "update"
                                                                                                                          • Readonlyvalue: JSONSerializable

                                                                                                                            A value for the operation to apply against the current data storage value.

                                                                                                                            +

                                                                                                                          DataStorageOperation for all possible operation subtypes.

                                                                                                                          +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.ValidJSONColorType.html b/docs/v2.0.0/types/index.API.ValidJSONColorType.html new file mode 100644 index 00000000..840f471b --- /dev/null +++ b/docs/v2.0.0/types/index.API.ValidJSONColorType.html @@ -0,0 +1,9 @@ +ValidJSONColorType | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias ValidJSONColorType

                                                                                                                          ValidJSONColorType:
                                                                                                                              | "bold"
                                                                                                                              | "underline"
                                                                                                                              | "black"
                                                                                                                              | "red"
                                                                                                                              | "green"
                                                                                                                              | "yellow"
                                                                                                                              | "blue"
                                                                                                                              | "magenta"
                                                                                                                              | "cyan"
                                                                                                                              | "white"
                                                                                                                              | "black_bg"
                                                                                                                              | "red_bg"
                                                                                                                              | "green_bg"
                                                                                                                              | "yellow_bg"
                                                                                                                              | "blue_bg"
                                                                                                                              | "purple_bg"
                                                                                                                              | "cyan_bg"
                                                                                                                              | "white_bg"

                                                                                                                          This is a type union of all supported "colors" denoting a console color to display the message part with and is only +sent if the type is color. This is limited to console colors due to backwards compatibility needs with games such +as A Link to the Past. Although background colors as well as foreground colors are listed, only one may be applied +to a JSONMessagePart at a time.

                                                                                                                          +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.ValidJSONMessagePartType.html b/docs/v2.0.0/types/index.API.ValidJSONMessagePartType.html new file mode 100644 index 00000000..5249afa2 --- /dev/null +++ b/docs/v2.0.0/types/index.API.ValidJSONMessagePartType.html @@ -0,0 +1,18 @@ +ValidJSONMessagePartType | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias ValidJSONMessagePartType

                                                                                                                          ValidJSONMessagePartType:
                                                                                                                              | "text"
                                                                                                                              | "player_id"
                                                                                                                              | "player_name"
                                                                                                                              | "item_id"
                                                                                                                              | "item_name"
                                                                                                                              | "location_id"
                                                                                                                              | "location_name"
                                                                                                                              | "entrance_name"
                                                                                                                              | "color"

                                                                                                                          This is a type union of all supported message types for denoting the intent of the message part. This can be used to +indicate special information which may be rendered differently depending on client.

                                                                                                                          +
                                                                                                                            +
                                                                                                                          • text: Regular text content. This is also the default type and is often omitted.
                                                                                                                          • +
                                                                                                                          • player_id: Player id of someone on your team, should be resolved to player Name.
                                                                                                                          • +
                                                                                                                          • player_name: Player Name, could be a player within a multiplayer game or from another team, not id resolvable.
                                                                                                                          • +
                                                                                                                          • item_id: Item id, should be resolved to an item name.
                                                                                                                          • +
                                                                                                                          • item_name: Item name, not currently used over network, but supported by reference clients.
                                                                                                                          • +
                                                                                                                          • location_id: Location id, should be resolved to a location name.
                                                                                                                          • +
                                                                                                                          • location_name: Location name, not currently used over network, but supported by reference clients.
                                                                                                                          • +
                                                                                                                          • entrance_name: Entrance name. No id mapping exists.
                                                                                                                          • +
                                                                                                                          • color: Regular text that should be colored. Only type that will contain color data.
                                                                                                                          • +
                                                                                                                          +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.XorDataStorageOperation.html b/docs/v2.0.0/types/index.API.XorDataStorageOperation.html new file mode 100644 index 00000000..9d2e8d59 --- /dev/null +++ b/docs/v2.0.0/types/index.API.XorDataStorageOperation.html @@ -0,0 +1,8 @@ +XorDataStorageOperation | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                          Type Alias XorDataStorageOperation

                                                                                                                          XorDataStorageOperation: {
                                                                                                                              operation: "xor";
                                                                                                                              value: number;
                                                                                                                          }

                                                                                                                          Applies a bitwise XOR to the current value of the key with value.

                                                                                                                          +

                                                                                                                          Type declaration

                                                                                                                          • Readonlyoperation: "xor"
                                                                                                                          • Readonlyvalue: number

                                                                                                                            A value for the operation to apply against the current data storage value.

                                                                                                                            +

                                                                                                                          DataStorageOperation for all possible operation subtypes.

                                                                                                                          +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.ClientStatus.html b/docs/v2.0.0/types/index.ClientStatus.html new file mode 100644 index 00000000..bbbfec6a --- /dev/null +++ b/docs/v2.0.0/types/index.ClientStatus.html @@ -0,0 +1,6 @@ +ClientStatus | archipelago.js - v2.0.0
                                                                                                                          +

                                                                                                                            Type Alias ClientStatus

                                                                                                                            ClientStatus: typeof clientStatuses[keyof typeof clientStatuses]

                                                                                                                            A type alias for any known client status. See clientStatuses for more information.

                                                                                                                            +
                                                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/types/index.DataChangeCallback.html b/docs/v2.0.0/types/index.DataChangeCallback.html new file mode 100644 index 00000000..76eae288 --- /dev/null +++ b/docs/v2.0.0/types/index.DataChangeCallback.html @@ -0,0 +1,6 @@ +DataChangeCallback | archipelago.js - v2.0.0
                                                                                                                            +

                                                                                                                              Type Alias DataChangeCallback

                                                                                                                              DataChangeCallback: ((key: string, value: JSONSerializable, oldValue?: JSONSerializable) => void)

                                                                                                                              A callback that fires when a monitored key is updated in data storage.

                                                                                                                              +
                                                                                                                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.DeathEvents.html b/docs/v2.0.0/types/index.DeathEvents.html new file mode 100644 index 00000000..7973a691 --- /dev/null +++ b/docs/v2.0.0/types/index.DeathEvents.html @@ -0,0 +1,12 @@ +DeathEvents | archipelago.js - v2.0.0
                                                                                                                              +

                                                                                                                                Type Alias DeathEvents

                                                                                                                                DeathEvents: {
                                                                                                                                    deathReceived: [source: string, time: number, cause?: string];
                                                                                                                                }

                                                                                                                                An interface with all supported death events and their respective callback arguments. To be called from +MessageManager.

                                                                                                                                +

                                                                                                                                Type declaration

                                                                                                                                • deathReceived: [source: string, time: number, cause?: string]

                                                                                                                                  Fired when a DeathLink-enabled player has sent a DeathLink.

                                                                                                                                  +

                                                                                                                                  The player who sent this DeathLink.

                                                                                                                                  +

                                                                                                                                  The timestamp this player died. Time is in number of milliseconds from unix epoch (same timestamp +system in JavaScript).

                                                                                                                                  +

                                                                                                                                  Optional description detailing the specific cause of death.

                                                                                                                                  +
                                                                                                                                \ No newline at end of file diff --git a/docs/v2.0.0/types/index.ItemEvents.html b/docs/v2.0.0/types/index.ItemEvents.html new file mode 100644 index 00000000..168d1bf2 --- /dev/null +++ b/docs/v2.0.0/types/index.ItemEvents.html @@ -0,0 +1,16 @@ +ItemEvents | archipelago.js - v2.0.0
                                                                                                                                +

                                                                                                                                  Type Alias ItemEvents

                                                                                                                                  ItemEvents: {
                                                                                                                                      hintFound: [hint: Hint];
                                                                                                                                      hintReceived: [hint: Hint];
                                                                                                                                      hintsInitialized: [hints: Hint[]];
                                                                                                                                      itemsReceived: [items: Item[], startingIndex: number];
                                                                                                                                  }

                                                                                                                                  An interface with all supported item/hint events and their respective callback arguments. To be called from +ItemsManager.

                                                                                                                                  +

                                                                                                                                  Type declaration

                                                                                                                                  • hintFound: [hint: Hint]

                                                                                                                                    Fired when a hint has been found.

                                                                                                                                    +

                                                                                                                                    The hint that has been found.

                                                                                                                                    +
                                                                                                                                  • hintReceived: [hint: Hint]

                                                                                                                                    Fired when a new hint has been received.

                                                                                                                                    +

                                                                                                                                    The hint that has been created.

                                                                                                                                    +
                                                                                                                                  • hintsInitialized: [hints: Hint[]]

                                                                                                                                    Fired shortly after initial connection with all current hints relevant to this player.

                                                                                                                                    +

                                                                                                                                    All hints ever created relevant to this player.

                                                                                                                                    +
                                                                                                                                  • itemsReceived: [items: Item[], startingIndex: number]

                                                                                                                                    Fired when items have been received.

                                                                                                                                    +

                                                                                                                                    An array of item metadata in the order they are sent.

                                                                                                                                    +

                                                                                                                                    The ItemsManager.received index for the first item in the items array.

                                                                                                                                    +
                                                                                                                                  \ No newline at end of file diff --git a/docs/v2.0.0/types/index.MessageEvents.html b/docs/v2.0.0/types/index.MessageEvents.html new file mode 100644 index 00000000..c67732bf --- /dev/null +++ b/docs/v2.0.0/types/index.MessageEvents.html @@ -0,0 +1,73 @@ +MessageEvents | archipelago.js - v2.0.0
                                                                                                                                  +

                                                                                                                                    Type Alias MessageEvents

                                                                                                                                    MessageEvents: {
                                                                                                                                        adminCommand: [text: string, nodes: MessageNode[]];
                                                                                                                                        chat: [message: string, player: Player, nodes: MessageNode[]];
                                                                                                                                        collected: [text: string, player: Player, nodes: MessageNode[]];
                                                                                                                                        connected: [text: string, player: Player, tags: string[], nodes: MessageNode[]];
                                                                                                                                        countdown: [text: string, value: number, nodes: MessageNode[]];
                                                                                                                                        disconnected: [text: string, player: Player, nodes: MessageNode[]];
                                                                                                                                        goaled: [text: string, player: Player, nodes: MessageNode[]];
                                                                                                                                        itemCheated: [text: string, item: Item, nodes: MessageNode[]];
                                                                                                                                        itemHinted: [text: string, item: Item, found: boolean, nodes: MessageNode[]];
                                                                                                                                        itemSent: [text: string, item: Item, nodes: MessageNode[]];
                                                                                                                                        message: [text: string, nodes: MessageNode[]];
                                                                                                                                        released: [text: string, player: Player, nodes: MessageNode[]];
                                                                                                                                        serverChat: [message: string, nodes: MessageNode[]];
                                                                                                                                        tagsUpdated: [text: string, player: Player, tags: string[], nodes: MessageNode[]];
                                                                                                                                        tutorial: [text: string, nodes: MessageNode[]];
                                                                                                                                        userCommand: [text: string, nodes: MessageNode[]];
                                                                                                                                    }

                                                                                                                                    An interface with all supported message events and their respective callback arguments. To be called from +MessageManager.

                                                                                                                                    +

                                                                                                                                    Type declaration

                                                                                                                                    • adminCommand: [text: string, nodes: MessageNode[]]

                                                                                                                                      Fires on the result of running an admin command via !admin.

                                                                                                                                      +

                                                                                                                                      The plaintext message content.

                                                                                                                                      +

                                                                                                                                      An array of message nodes in this message with additional context for each textual component.

                                                                                                                                      +
                                                                                                                                    • chat: [message: string, player: Player, nodes: MessageNode[]]

                                                                                                                                      Fires when a player chat message is received.

                                                                                                                                      +

                                                                                                                                      The plaintext message content without the sender name prefix.

                                                                                                                                      +

                                                                                                                                      The metadata of the player who sent this message.

                                                                                                                                      +

                                                                                                                                      An array of message nodes in this message with additional context for each textual component.

                                                                                                                                      +

                                                                                                                                      nodes will contain the sender name prefix from the server, but message will not.

                                                                                                                                      +
                                                                                                                                    • collected: [text: string, player: Player, nodes: MessageNode[]]

                                                                                                                                      Fires when a player has collected their remaining items from the multi-world.

                                                                                                                                      +

                                                                                                                                      The plaintext message content.

                                                                                                                                      +

                                                                                                                                      The player that collected.

                                                                                                                                      +

                                                                                                                                      An array of message nodes in this message with additional context for each textual component.

                                                                                                                                      +
                                                                                                                                    • connected: [text: string, player: Player, tags: string[], nodes: MessageNode[]]

                                                                                                                                      Fires when a client connects to the room session.

                                                                                                                                      +

                                                                                                                                      The plaintext message content.

                                                                                                                                      +

                                                                                                                                      The player being connected as.

                                                                                                                                      +

                                                                                                                                      The tags of the joining client.

                                                                                                                                      +

                                                                                                                                      An array of message nodes in this message with additional context for each textual component.

                                                                                                                                      +
                                                                                                                                    • countdown: [text: string, value: number, nodes: MessageNode[]]

                                                                                                                                      Fires when a countdown message is received.

                                                                                                                                      +

                                                                                                                                      The plaintext message content.

                                                                                                                                      +

                                                                                                                                      The current countdown value.

                                                                                                                                      +

                                                                                                                                      An array of message nodes in this message with additional context for each textual component.

                                                                                                                                      +
                                                                                                                                    • disconnected: [text: string, player: Player, nodes: MessageNode[]]

                                                                                                                                      Fires when a client disconnects from the room session.

                                                                                                                                      +

                                                                                                                                      The plaintext message content.

                                                                                                                                      +

                                                                                                                                      The player being disconnected from.

                                                                                                                                      +

                                                                                                                                      An array of message nodes in this message with additional context for each textual component.

                                                                                                                                      +
                                                                                                                                    • goaled: [text: string, player: Player, nodes: MessageNode[]]

                                                                                                                                      Fires when a connected player has met their goal condition.

                                                                                                                                      +

                                                                                                                                      The plaintext message content.

                                                                                                                                      +

                                                                                                                                      The player that reached their goal.

                                                                                                                                      +

                                                                                                                                      An array of message nodes in this message with additional context for each textual component.

                                                                                                                                      +
                                                                                                                                    • itemCheated: [text: string, item: Item, nodes: MessageNode[]]

                                                                                                                                      Fires when another player is sent a cheated item.

                                                                                                                                      +

                                                                                                                                      The plaintext message content.

                                                                                                                                      +

                                                                                                                                      The item being sent.

                                                                                                                                      +

                                                                                                                                      An array of message nodes in this message with additional context for each textual component.

                                                                                                                                      +
                                                                                                                                    • itemHinted: [text: string, item: Item, found: boolean, nodes: MessageNode[]]

                                                                                                                                      Fires when a hint-style message is received.

                                                                                                                                      +

                                                                                                                                      The plaintext message content.

                                                                                                                                      +

                                                                                                                                      The item being hinted.

                                                                                                                                      +

                                                                                                                                      If the item was found.

                                                                                                                                      +

                                                                                                                                      An array of message nodes in this message with additional context for each textual component.

                                                                                                                                      +

                                                                                                                                      This event is for hint messages received. To track more information on when hints are updated, utilize +one of the hint-type events on ItemsManager instead.

                                                                                                                                      +
                                                                                                                                    • itemSent: [text: string, item: Item, nodes: MessageNode[]]

                                                                                                                                      Fires when another player is sent an item (except for cheated items).

                                                                                                                                      +

                                                                                                                                      The plaintext message content.

                                                                                                                                      +

                                                                                                                                      The item being sent.

                                                                                                                                      +

                                                                                                                                      An array of message nodes in this message with additional context for each textual component.

                                                                                                                                      +
                                                                                                                                    • message: [text: string, nodes: MessageNode[]]

                                                                                                                                      Fires when any kind of message is received.

                                                                                                                                      +

                                                                                                                                      The plaintext message content.

                                                                                                                                      +

                                                                                                                                      An array of message nodes in this message with additional context for each textual component.

                                                                                                                                      +
                                                                                                                                    • released: [text: string, player: Player, nodes: MessageNode[]]

                                                                                                                                      Fires when a player has released their remaining items to the multi-world.

                                                                                                                                      +

                                                                                                                                      The plaintext message content.

                                                                                                                                      +

                                                                                                                                      The player that released.

                                                                                                                                      +

                                                                                                                                      An array of message nodes in this message with additional context for each textual component.

                                                                                                                                      +
                                                                                                                                    • serverChat: [message: string, nodes: MessageNode[]]

                                                                                                                                      Fires when a server chat message is received.

                                                                                                                                      +

                                                                                                                                      The plaintext message content without the sender name prefix.

                                                                                                                                      +

                                                                                                                                      An array of message nodes in this message with additional context for each textual component.

                                                                                                                                      +

                                                                                                                                      nodes will contain the sender name prefix from the server, but message will not.

                                                                                                                                      +
                                                                                                                                    • tagsUpdated: [text: string, player: Player, tags: string[], nodes: MessageNode[]]

                                                                                                                                      Fires when a client updates their tags.

                                                                                                                                      +

                                                                                                                                      The plaintext message content.

                                                                                                                                      +

                                                                                                                                      The player this client is connected to.

                                                                                                                                      +

                                                                                                                                      The new tags for this client.

                                                                                                                                      +

                                                                                                                                      An array of message nodes in this message with additional context for each textual component.

                                                                                                                                      +
                                                                                                                                    • tutorial: [text: string, nodes: MessageNode[]]

                                                                                                                                      Fires when tutorial-like information is received, such as on first connection explaining !help.

                                                                                                                                      +

                                                                                                                                      The plaintext message content.

                                                                                                                                      +

                                                                                                                                      An array of message nodes in this message with additional context for each textual component.

                                                                                                                                      +
                                                                                                                                    • userCommand: [text: string, nodes: MessageNode[]]

                                                                                                                                      Fires on the result of running a user command, such as !status.

                                                                                                                                      +

                                                                                                                                      The plaintext message content.

                                                                                                                                      +

                                                                                                                                      An array of message nodes in this message with additional context for each textual component.

                                                                                                                                      +
                                                                                                                                    \ No newline at end of file diff --git a/docs/v2.0.0/types/index.MessageLog.html b/docs/v2.0.0/types/index.MessageLog.html new file mode 100644 index 00000000..2bb63645 --- /dev/null +++ b/docs/v2.0.0/types/index.MessageLog.html @@ -0,0 +1,6 @@ +MessageLog | archipelago.js - v2.0.0
                                                                                                                                    +

                                                                                                                                      Type Alias MessageLog

                                                                                                                                      MessageLog: {
                                                                                                                                          nodes: MessageNode[];
                                                                                                                                          text: string;
                                                                                                                                      }[]

                                                                                                                                      A type for logged messages on MessageManager.

                                                                                                                                      +
                                                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/index.MessageNode.html b/docs/v2.0.0/types/index.MessageNode.html new file mode 100644 index 00000000..1ec4cece --- /dev/null +++ b/docs/v2.0.0/types/index.MessageNode.html @@ -0,0 +1,6 @@ +MessageNode | archipelago.js - v2.0.0
                                                                                                                                      +

                                                                                                                                        Type Alias MessageNode

                                                                                                                                        MessageNode:
                                                                                                                                            | ItemMessageNode
                                                                                                                                            | LocationMessageNode
                                                                                                                                            | ColorMessageNode
                                                                                                                                            | TextualMessageNode
                                                                                                                                            | PlayerMessageNode

                                                                                                                                        A type union of all known message node types. See each type for more information.

                                                                                                                                        +
                                                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.0/types/index.PlayerEvents.html b/docs/v2.0.0/types/index.PlayerEvents.html new file mode 100644 index 00000000..e0cdf485 --- /dev/null +++ b/docs/v2.0.0/types/index.PlayerEvents.html @@ -0,0 +1,9 @@ +PlayerEvents | archipelago.js - v2.0.0
                                                                                                                                        +

                                                                                                                                          Type Alias PlayerEvents

                                                                                                                                          PlayerEvents: {
                                                                                                                                              aliasUpdated: [player: Player, oldAlias: string, newAlias: string];
                                                                                                                                          }

                                                                                                                                          Type declaration

                                                                                                                                          • aliasUpdated: [player: Player, oldAlias: string, newAlias: string]

                                                                                                                                            Fires when a player updates their alias.

                                                                                                                                            +

                                                                                                                                            The Player for this player with the changes applied.

                                                                                                                                            +

                                                                                                                                            The player's previous alias.

                                                                                                                                            +

                                                                                                                                            The player's new alias.

                                                                                                                                            +
                                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.0/types/index.RoomStateEvents.html b/docs/v2.0.0/types/index.RoomStateEvents.html new file mode 100644 index 00000000..798887c8 --- /dev/null +++ b/docs/v2.0.0/types/index.RoomStateEvents.html @@ -0,0 +1,25 @@ +RoomStateEvents | archipelago.js - v2.0.0
                                                                                                                                          +

                                                                                                                                            Type Alias RoomStateEvents

                                                                                                                                            RoomStateEvents: {
                                                                                                                                                hintCostUpdated: [oldCost: number, newCost: number, oldPercentage: number, newPercentage: number];
                                                                                                                                                hintPointsUpdated: [oldValue: number, newValue: number];
                                                                                                                                                locationCheckPointsUpdated: [oldValue: number, newValue: number];
                                                                                                                                                locationsChecked: [locations: number[]];
                                                                                                                                                passwordUpdated: [password: boolean];
                                                                                                                                                permissionsUpdated: [oldValue: PermissionTable, newValue: PermissionTable];
                                                                                                                                            }

                                                                                                                                            An interface with all supported room events and their respective callback arguments. To be called from +RoomStateManager.

                                                                                                                                            +

                                                                                                                                            Type declaration

                                                                                                                                            • hintCostUpdated: [oldCost: number, newCost: number, oldPercentage: number, newPercentage: number]

                                                                                                                                              Fires when the hint cost has been updated.

                                                                                                                                              +

                                                                                                                                              The previous amount of hint points required to request a hint.

                                                                                                                                              +

                                                                                                                                              The new amount of hint points required to request a hint.

                                                                                                                                              +

                                                                                                                                              The old hint cost percentage.

                                                                                                                                              +

                                                                                                                                              The new hint cost percentage.

                                                                                                                                              +
                                                                                                                                            • hintPointsUpdated: [oldValue: number, newValue: number]

                                                                                                                                              Fires when the player's hint points value has updated.

                                                                                                                                              +

                                                                                                                                              The old hint point value.

                                                                                                                                              +

                                                                                                                                              The new hint point value.

                                                                                                                                              +
                                                                                                                                            • locationCheckPointsUpdated: [oldValue: number, newValue: number]

                                                                                                                                              Fires when the location check points have been updated.

                                                                                                                                              +

                                                                                                                                              The previous location check points value.

                                                                                                                                              +

                                                                                                                                              The new location check points value.

                                                                                                                                              +
                                                                                                                                            • locationsChecked: [locations: number[]]

                                                                                                                                              Fires when new locations have been checked (or all locations on initial connection).

                                                                                                                                              +

                                                                                                                                              All the newly checked locations.

                                                                                                                                              +
                                                                                                                                            • passwordUpdated: [password: boolean]

                                                                                                                                              Fires when the room password has been toggled.

                                                                                                                                              +

                                                                                                                                              If the room now requires a password to join.

                                                                                                                                              +
                                                                                                                                            • permissionsUpdated: [oldValue: PermissionTable, newValue: PermissionTable]

                                                                                                                                              Fires when command permissions have been updated.

                                                                                                                                              +

                                                                                                                                              The previous command permissions table.

                                                                                                                                              +

                                                                                                                                              The new command permissions table.

                                                                                                                                              +
                                                                                                                                            \ No newline at end of file diff --git a/docs/v2.0.0/types/index.SocketEvents.html b/docs/v2.0.0/types/index.SocketEvents.html new file mode 100644 index 00000000..cace8c05 --- /dev/null +++ b/docs/v2.0.0/types/index.SocketEvents.html @@ -0,0 +1,45 @@ +SocketEvents | archipelago.js - v2.0.0
                                                                                                                                            +

                                                                                                                                              Type Alias SocketEvents

                                                                                                                                              SocketEvents: {
                                                                                                                                                  bounced: [packet: BouncedPacket, data: JSONRecord];
                                                                                                                                                  connected: [packet: ConnectedPacket];
                                                                                                                                                  connectionRefused: [packet: ConnectionRefusedPacket];
                                                                                                                                                  dataPackage: [packet: DataPackagePacket];
                                                                                                                                                  disconnected: [];
                                                                                                                                                  invalidPacket: [packet: InvalidPacketPacket];
                                                                                                                                                  locationInfo: [packet: LocationInfoPacket];
                                                                                                                                                  printJSON: [packet: PrintJSONPacket];
                                                                                                                                                  receivedItems: [packet: ReceivedItemsPacket];
                                                                                                                                                  receivedPacket: [packet: ServerPacket];
                                                                                                                                                  retrieved: [packet: RetrievedPacket];
                                                                                                                                                  roomInfo: [packet: RoomInfoPacket];
                                                                                                                                                  roomUpdate: [packet: RoomUpdatePacket];
                                                                                                                                                  sentPackets: [packets: ClientPacket[]];
                                                                                                                                                  setReply: [packet: SetReplyPacket];
                                                                                                                                              }

                                                                                                                                              An interface with all supported socket events and their respective callback arguments. To be called from +SocketManager.

                                                                                                                                              +

                                                                                                                                              Type declaration

                                                                                                                                              // Print all chat messages to the console when received.
                                                                                                                                              client.socket.on("PrintJSON", (packet, message) => {
                                                                                                                                              console.log(message);
                                                                                                                                              });

                                                                                                                                              // Warn when lost connection.
                                                                                                                                              client.socket.on("Disconnect", () => {
                                                                                                                                              console.warn("Lost connection to the server!");
                                                                                                                                              } +
                                                                                                                                              + +
                                                                                                                                              \ No newline at end of file diff --git a/docs/v2.0.0/variables/API.clientStatuses.html b/docs/v2.0.0/variables/API.clientStatuses.html new file mode 100644 index 00000000..afdb1ecc --- /dev/null +++ b/docs/v2.0.0/variables/API.clientStatuses.html @@ -0,0 +1,12 @@ +clientStatuses | archipelago.js - v2.0.0
                                                                                                                                              +

                                                                                                                                              Variable clientStatusesConst

                                                                                                                                              clientStatuses: {
                                                                                                                                                  connected: 5;
                                                                                                                                                  disconnected: 0;
                                                                                                                                                  goal: 30;
                                                                                                                                                  playing: 20;
                                                                                                                                                  ready: 10;
                                                                                                                                              } = ...

                                                                                                                                              A const of known containing the possible client states that may be used to inform the server during a status update.

                                                                                                                                              +

                                                                                                                                              Type declaration

                                                                                                                                              • Readonlyconnected: 5

                                                                                                                                                Client is currently connected. This status is set automatically when a client connects.

                                                                                                                                                +
                                                                                                                                              • Readonlydisconnected: 0

                                                                                                                                                Client is in an unknown or disconnected state. This status is set automatically initially and when all connected +clients have disconnected from the server.

                                                                                                                                                +
                                                                                                                                              • Readonlygoal: 30

                                                                                                                                                Client has completed their goal. Once set, cannot be changed.

                                                                                                                                                +
                                                                                                                                              • Readonlyplaying: 20

                                                                                                                                                Client is currently playing.

                                                                                                                                                +
                                                                                                                                              • Readonlyready: 10

                                                                                                                                                Client is ready to start, but hasn't started playing yet.

                                                                                                                                                +
                                                                                                                                              \ No newline at end of file diff --git a/docs/v2.0.0/variables/API.itemClassifications.html b/docs/v2.0.0/variables/API.itemClassifications.html new file mode 100644 index 00000000..2ec294fd --- /dev/null +++ b/docs/v2.0.0/variables/API.itemClassifications.html @@ -0,0 +1,10 @@ +itemClassifications | archipelago.js - v2.0.0
                                                                                                                                              +

                                                                                                                                              Variable itemClassificationsConst

                                                                                                                                              itemClassifications: {
                                                                                                                                                  normal: 0;
                                                                                                                                                  progression: 1;
                                                                                                                                                  trap: 4;
                                                                                                                                                  useful: 2;
                                                                                                                                              } = ...

                                                                                                                                              Bit flags that define the special characteristics of a NetworkItem.

                                                                                                                                              +

                                                                                                                                              Type declaration

                                                                                                                                              • Readonlynormal: 0

                                                                                                                                                A shorthand with no flags set, also known as 'filler' or 'junk' items.

                                                                                                                                                +
                                                                                                                                              • Readonlyprogression: 1

                                                                                                                                                If set, indicates the item may unlock logical advancement.

                                                                                                                                                +
                                                                                                                                              • Readonlytrap: 4

                                                                                                                                                If set, indicates the item can inconvenience a player.

                                                                                                                                                +
                                                                                                                                              • Readonlyuseful: 2

                                                                                                                                                If set, indicates the item is classified as useful to have.

                                                                                                                                                +
                                                                                                                                              \ No newline at end of file diff --git a/docs/v2.0.0/variables/API.itemsHandlingFlags.html b/docs/v2.0.0/variables/API.itemsHandlingFlags.html new file mode 100644 index 00000000..59fdbe45 --- /dev/null +++ b/docs/v2.0.0/variables/API.itemsHandlingFlags.html @@ -0,0 +1,11 @@ +itemsHandlingFlags | archipelago.js - v2.0.0
                                                                                                                                              +

                                                                                                                                              Variable itemsHandlingFlagsConst

                                                                                                                                              itemsHandlingFlags: {
                                                                                                                                                  all: 7;
                                                                                                                                                  minimal: 0;
                                                                                                                                                  others: 1;
                                                                                                                                                  own: 2;
                                                                                                                                                  starting: 4;
                                                                                                                                              } = ...

                                                                                                                                              Bit flags configuring which items should be sent by the server to this client.

                                                                                                                                              +

                                                                                                                                              Type declaration

                                                                                                                                              • Readonlyall: 7

                                                                                                                                                Shorthand for REMOTE_DIFFERENT_WORLDS, REMOTE_OWN_WORLD, and REMOTE_STARTING_INVENTORY.

                                                                                                                                                +
                                                                                                                                              • Readonlyminimal: 0

                                                                                                                                                Indicates the client only receives items created by cheat commands.

                                                                                                                                                +
                                                                                                                                              • Readonlyothers: 1

                                                                                                                                                Indicates the client get items sent from other worlds.

                                                                                                                                                +
                                                                                                                                              • Readonlyown: 2

                                                                                                                                                Indicates the client get items sent from your own world. Requires REMOTE_DIFFERENT_WORLDS to be set.

                                                                                                                                                +
                                                                                                                                              • Readonlystarting: 4

                                                                                                                                                Indicates the client get your starting inventory sent. Requires REMOTE_DIFFERENT_WORLDS to be set.

                                                                                                                                                +
                                                                                                                                              \ No newline at end of file diff --git a/docs/v2.0.0/variables/API.permissions.html b/docs/v2.0.0/variables/API.permissions.html new file mode 100644 index 00000000..3ddae1a1 --- /dev/null +++ b/docs/v2.0.0/variables/API.permissions.html @@ -0,0 +1,14 @@ +permissions | archipelago.js - v2.0.0
                                                                                                                                              +

                                                                                                                                              Variable permissionsConst

                                                                                                                                              permissions: {
                                                                                                                                                  auto: 6;
                                                                                                                                                  autoEnabled: 7;
                                                                                                                                                  disabled: 0;
                                                                                                                                                  enabled: 1;
                                                                                                                                                  goal: 2;
                                                                                                                                              } = ...

                                                                                                                                              A const containing the possible command permissions, for commands that may be restricted.

                                                                                                                                              +

                                                                                                                                              Type declaration

                                                                                                                                              • Readonlyauto: 6

                                                                                                                                                Forces players to use this command after they have completed their goal.

                                                                                                                                                +

                                                                                                                                                Only allowed on release and collect permissions.

                                                                                                                                                +
                                                                                                                                              • ReadonlyautoEnabled: 7

                                                                                                                                                Allows players to use this command manually at any time and forces them to use this command after they have +completed their goal.

                                                                                                                                                +

                                                                                                                                                Only allowed on release and collect permissions.

                                                                                                                                                +
                                                                                                                                              • Readonlydisabled: 0

                                                                                                                                                Prevents players from using this command at any time.

                                                                                                                                                +
                                                                                                                                              • Readonlyenabled: 1

                                                                                                                                                Allows players to use this command manually at any time.

                                                                                                                                                +
                                                                                                                                              • Readonlygoal: 2

                                                                                                                                                Allows players to use this command manually after they have completed their goal.

                                                                                                                                                +
                                                                                                                                              \ No newline at end of file diff --git a/docs/v2.0.0/variables/API.slotTypes.html b/docs/v2.0.0/variables/API.slotTypes.html new file mode 100644 index 00000000..50eba077 --- /dev/null +++ b/docs/v2.0.0/variables/API.slotTypes.html @@ -0,0 +1,9 @@ +slotTypes | archipelago.js - v2.0.0
                                                                                                                                              +

                                                                                                                                              Variable slotTypesConst

                                                                                                                                              slotTypes: {
                                                                                                                                                  group: 2;
                                                                                                                                                  player: 1;
                                                                                                                                                  spectator: 0;
                                                                                                                                              } = ...

                                                                                                                                              An enumeration representing the nature of the slot.

                                                                                                                                              +

                                                                                                                                              Type declaration

                                                                                                                                              • Readonlygroup: 2

                                                                                                                                                This client is an item links group containing at least 1 player with active item links.

                                                                                                                                                +
                                                                                                                                              • Readonlyplayer: 1

                                                                                                                                                This client is a player and is participating in the current game.

                                                                                                                                                +
                                                                                                                                              • Readonlyspectator: 0

                                                                                                                                                This client is a spectator and not participating in the current game.

                                                                                                                                                +
                                                                                                                                              \ No newline at end of file diff --git a/docs/v2.0.0/variables/index.API.clientStatuses.html b/docs/v2.0.0/variables/index.API.clientStatuses.html new file mode 100644 index 00000000..3f97ea8d --- /dev/null +++ b/docs/v2.0.0/variables/index.API.clientStatuses.html @@ -0,0 +1,12 @@ +clientStatuses | archipelago.js - v2.0.0
                                                                                                                                              +

                                                                                                                                              Variable clientStatusesConst

                                                                                                                                              clientStatuses: {
                                                                                                                                                  connected: 5;
                                                                                                                                                  disconnected: 0;
                                                                                                                                                  goal: 30;
                                                                                                                                                  playing: 20;
                                                                                                                                                  ready: 10;
                                                                                                                                              } = ...

                                                                                                                                              A const of known containing the possible client states that may be used to inform the server during a status update.

                                                                                                                                              +

                                                                                                                                              Type declaration

                                                                                                                                              • Readonlyconnected: 5

                                                                                                                                                Client is currently connected. This status is set automatically when a client connects.

                                                                                                                                                +
                                                                                                                                              • Readonlydisconnected: 0

                                                                                                                                                Client is in an unknown or disconnected state. This status is set automatically initially and when all connected +clients have disconnected from the server.

                                                                                                                                                +
                                                                                                                                              • Readonlygoal: 30

                                                                                                                                                Client has completed their goal. Once set, cannot be changed.

                                                                                                                                                +
                                                                                                                                              • Readonlyplaying: 20

                                                                                                                                                Client is currently playing.

                                                                                                                                                +
                                                                                                                                              • Readonlyready: 10

                                                                                                                                                Client is ready to start, but hasn't started playing yet.

                                                                                                                                                +
                                                                                                                                              \ No newline at end of file diff --git a/docs/v2.0.0/variables/index.API.itemClassifications.html b/docs/v2.0.0/variables/index.API.itemClassifications.html new file mode 100644 index 00000000..d1412b70 --- /dev/null +++ b/docs/v2.0.0/variables/index.API.itemClassifications.html @@ -0,0 +1,10 @@ +itemClassifications | archipelago.js - v2.0.0
                                                                                                                                              +

                                                                                                                                              Variable itemClassificationsConst

                                                                                                                                              itemClassifications: {
                                                                                                                                                  normal: 0;
                                                                                                                                                  progression: 1;
                                                                                                                                                  trap: 4;
                                                                                                                                                  useful: 2;
                                                                                                                                              } = ...

                                                                                                                                              Bit flags that define the special characteristics of a NetworkItem.

                                                                                                                                              +

                                                                                                                                              Type declaration

                                                                                                                                              • Readonlynormal: 0

                                                                                                                                                A shorthand with no flags set, also known as 'filler' or 'junk' items.

                                                                                                                                                +
                                                                                                                                              • Readonlyprogression: 1

                                                                                                                                                If set, indicates the item may unlock logical advancement.

                                                                                                                                                +
                                                                                                                                              • Readonlytrap: 4

                                                                                                                                                If set, indicates the item can inconvenience a player.

                                                                                                                                                +
                                                                                                                                              • Readonlyuseful: 2

                                                                                                                                                If set, indicates the item is classified as useful to have.

                                                                                                                                                +
                                                                                                                                              \ No newline at end of file diff --git a/docs/v2.0.0/variables/index.API.itemsHandlingFlags.html b/docs/v2.0.0/variables/index.API.itemsHandlingFlags.html new file mode 100644 index 00000000..97ce7e74 --- /dev/null +++ b/docs/v2.0.0/variables/index.API.itemsHandlingFlags.html @@ -0,0 +1,11 @@ +itemsHandlingFlags | archipelago.js - v2.0.0
                                                                                                                                              +

                                                                                                                                              Variable itemsHandlingFlagsConst

                                                                                                                                              itemsHandlingFlags: {
                                                                                                                                                  all: 7;
                                                                                                                                                  minimal: 0;
                                                                                                                                                  others: 1;
                                                                                                                                                  own: 2;
                                                                                                                                                  starting: 4;
                                                                                                                                              } = ...

                                                                                                                                              Bit flags configuring which items should be sent by the server to this client.

                                                                                                                                              +

                                                                                                                                              Type declaration

                                                                                                                                              • Readonlyall: 7

                                                                                                                                                Shorthand for REMOTE_DIFFERENT_WORLDS, REMOTE_OWN_WORLD, and REMOTE_STARTING_INVENTORY.

                                                                                                                                                +
                                                                                                                                              • Readonlyminimal: 0

                                                                                                                                                Indicates the client only receives items created by cheat commands.

                                                                                                                                                +
                                                                                                                                              • Readonlyothers: 1

                                                                                                                                                Indicates the client get items sent from other worlds.

                                                                                                                                                +
                                                                                                                                              • Readonlyown: 2

                                                                                                                                                Indicates the client get items sent from your own world. Requires REMOTE_DIFFERENT_WORLDS to be set.

                                                                                                                                                +
                                                                                                                                              • Readonlystarting: 4

                                                                                                                                                Indicates the client get your starting inventory sent. Requires REMOTE_DIFFERENT_WORLDS to be set.

                                                                                                                                                +
                                                                                                                                              \ No newline at end of file diff --git a/docs/v2.0.0/variables/index.API.permissions.html b/docs/v2.0.0/variables/index.API.permissions.html new file mode 100644 index 00000000..59c004a1 --- /dev/null +++ b/docs/v2.0.0/variables/index.API.permissions.html @@ -0,0 +1,14 @@ +permissions | archipelago.js - v2.0.0
                                                                                                                                              +

                                                                                                                                              Variable permissionsConst

                                                                                                                                              permissions: {
                                                                                                                                                  auto: 6;
                                                                                                                                                  autoEnabled: 7;
                                                                                                                                                  disabled: 0;
                                                                                                                                                  enabled: 1;
                                                                                                                                                  goal: 2;
                                                                                                                                              } = ...

                                                                                                                                              A const containing the possible command permissions, for commands that may be restricted.

                                                                                                                                              +

                                                                                                                                              Type declaration

                                                                                                                                              • Readonlyauto: 6

                                                                                                                                                Forces players to use this command after they have completed their goal.

                                                                                                                                                +

                                                                                                                                                Only allowed on release and collect permissions.

                                                                                                                                                +
                                                                                                                                              • ReadonlyautoEnabled: 7

                                                                                                                                                Allows players to use this command manually at any time and forces them to use this command after they have +completed their goal.

                                                                                                                                                +

                                                                                                                                                Only allowed on release and collect permissions.

                                                                                                                                                +
                                                                                                                                              • Readonlydisabled: 0

                                                                                                                                                Prevents players from using this command at any time.

                                                                                                                                                +
                                                                                                                                              • Readonlyenabled: 1

                                                                                                                                                Allows players to use this command manually at any time.

                                                                                                                                                +
                                                                                                                                              • Readonlygoal: 2

                                                                                                                                                Allows players to use this command manually after they have completed their goal.

                                                                                                                                                +
                                                                                                                                              \ No newline at end of file diff --git a/docs/v2.0.0/variables/index.API.slotTypes.html b/docs/v2.0.0/variables/index.API.slotTypes.html new file mode 100644 index 00000000..6b388267 --- /dev/null +++ b/docs/v2.0.0/variables/index.API.slotTypes.html @@ -0,0 +1,9 @@ +slotTypes | archipelago.js - v2.0.0
                                                                                                                                              +

                                                                                                                                              Variable slotTypesConst

                                                                                                                                              slotTypes: {
                                                                                                                                                  group: 2;
                                                                                                                                                  player: 1;
                                                                                                                                                  spectator: 0;
                                                                                                                                              } = ...

                                                                                                                                              An enumeration representing the nature of the slot.

                                                                                                                                              +

                                                                                                                                              Type declaration

                                                                                                                                              • Readonlygroup: 2

                                                                                                                                                This client is an item links group containing at least 1 player with active item links.

                                                                                                                                                +
                                                                                                                                              • Readonlyplayer: 1

                                                                                                                                                This client is a player and is participating in the current game.

                                                                                                                                                +
                                                                                                                                              • Readonlyspectator: 0

                                                                                                                                                This client is a spectator and not participating in the current game.

                                                                                                                                                +
                                                                                                                                              \ No newline at end of file diff --git a/docs/v2.0.0/variables/index.libraryVersion.html b/docs/v2.0.0/variables/index.libraryVersion.html new file mode 100644 index 00000000..16424768 --- /dev/null +++ b/docs/v2.0.0/variables/index.libraryVersion.html @@ -0,0 +1,5 @@ +libraryVersion | archipelago.js - v2.0.0
                                                                                                                                              +

                                                                                                                                                Variable libraryVersionConst

                                                                                                                                                libraryVersion = "2.0.0"
                                                                                                                                                \ No newline at end of file diff --git a/docs/v2.0.0/variables/index.targetVersion.html b/docs/v2.0.0/variables/index.targetVersion.html new file mode 100644 index 00000000..6c66a782 --- /dev/null +++ b/docs/v2.0.0/variables/index.targetVersion.html @@ -0,0 +1,7 @@ +targetVersion | archipelago.js - v2.0.0
                                                                                                                                                +

                                                                                                                                                  Variable targetVersionConst

                                                                                                                                                  targetVersion: {
                                                                                                                                                      build: number;
                                                                                                                                                      major: number;
                                                                                                                                                      minor: number;
                                                                                                                                                  } = ...

                                                                                                                                                  Archipelago version this library attempts to target. Support for older versions of the Archipelago API is not +guaranteed and some newer enhancements may no longer work or be supported.

                                                                                                                                                  +
                                                                                                                                                  \ No newline at end of file diff --git a/docs/v2.0.0/variables/libraryVersion.html b/docs/v2.0.0/variables/libraryVersion.html new file mode 100644 index 00000000..2e70423d --- /dev/null +++ b/docs/v2.0.0/variables/libraryVersion.html @@ -0,0 +1,5 @@ +libraryVersion | archipelago.js - v2.0.0
                                                                                                                                                  +

                                                                                                                                                    Variable libraryVersionConst

                                                                                                                                                    libraryVersion = "2.0.0"
                                                                                                                                                    \ No newline at end of file diff --git a/docs/v2.0.0/variables/targetVersion.html b/docs/v2.0.0/variables/targetVersion.html new file mode 100644 index 00000000..8b106fc7 --- /dev/null +++ b/docs/v2.0.0/variables/targetVersion.html @@ -0,0 +1,7 @@ +targetVersion | archipelago.js - v2.0.0
                                                                                                                                                    +

                                                                                                                                                      Variable targetVersionConst

                                                                                                                                                      targetVersion: {
                                                                                                                                                          build: number;
                                                                                                                                                          major: number;
                                                                                                                                                          minor: number;
                                                                                                                                                      } = ...

                                                                                                                                                      Archipelago version this library attempts to target. Support for older versions of the Archipelago API is not +guaranteed and some newer enhancements may no longer work or be supported.

                                                                                                                                                      +
                                                                                                                                                      \ No newline at end of file diff --git a/docs/versions.js b/docs/versions.js index 3bd04d71..0c586f41 100644 --- a/docs/versions.js +++ b/docs/versions.js @@ -5,5 +5,4 @@ export const DOC_VERSIONS = [ 'v1.2', 'v1.1', 'v1.0', - 'dev', ];