isaacscript-common 2.3.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cachedClasses.d.ts +37 -0
- package/cachedClasses.lua +30 -0
- package/callbacks/customRevive.d.ts +1 -0
- package/callbacks/customRevive.lua +147 -0
- package/callbacks/itemPickup.d.ts +1 -0
- package/callbacks/itemPickup.lua +66 -0
- package/callbacks/postBombInitLate.d.ts +1 -0
- package/callbacks/postBombInitLate.lua +33 -0
- package/callbacks/postBoneSwing.d.ts +1 -0
- package/callbacks/postBoneSwing.lua +50 -0
- package/callbacks/postCollectibleInitFirst.d.ts +1 -0
- package/callbacks/postCollectibleInitFirst.lua +34 -0
- package/callbacks/postCursedTeleport.d.ts +1 -0
- package/callbacks/postCursedTeleport.lua +121 -0
- package/callbacks/postCustomDoorEnter.d.ts +50 -0
- package/callbacks/postCustomDoorEnter.lua +247 -0
- package/callbacks/postDoorRender.d.ts +1 -0
- package/callbacks/postDoorRender.lua +26 -0
- package/callbacks/postDoorUpdate.d.ts +1 -0
- package/callbacks/postDoorUpdate.lua +26 -0
- package/callbacks/postEffectInitLate.d.ts +1 -0
- package/callbacks/postEffectInitLate.lua +33 -0
- package/callbacks/postEffectStateChanged.d.ts +1 -0
- package/callbacks/postEffectStateChanged.lua +39 -0
- package/callbacks/postEsauJr.d.ts +1 -0
- package/callbacks/postEsauJr.lua +69 -0
- package/callbacks/postFamiliarInitLate.d.ts +1 -0
- package/callbacks/postFamiliarInitLate.lua +33 -0
- package/callbacks/postFamiliarStateChanged.d.ts +1 -0
- package/callbacks/postFamiliarStateChanged.lua +39 -0
- package/callbacks/postFlip.d.ts +1 -0
- package/callbacks/postFlip.lua +63 -0
- package/callbacks/postGreedModeWave.d.ts +1 -0
- package/callbacks/postGreedModeWave.lua +34 -0
- package/callbacks/postGridEntity.d.ts +1 -0
- package/callbacks/postGridEntity.lua +107 -0
- package/callbacks/postGridEntityCollision.d.ts +1 -0
- package/callbacks/postGridEntityCollision.lua +67 -0
- package/callbacks/postGridEntityRender.d.ts +1 -0
- package/callbacks/postGridEntityRender.lua +26 -0
- package/callbacks/postHolyMantleRemoved.d.ts +1 -0
- package/callbacks/postHolyMantleRemoved.lua +41 -0
- package/callbacks/postItemDischarged.d.ts +2 -0
- package/callbacks/postItemDischarged.lua +104 -0
- package/callbacks/postKnifeInitLate.d.ts +1 -0
- package/callbacks/postKnifeInitLate.lua +33 -0
- package/callbacks/postLaserInitLate.d.ts +1 -0
- package/callbacks/postLaserInitLate.lua +33 -0
- package/callbacks/postNPCInitLate.d.ts +1 -0
- package/callbacks/postNPCInitLate.lua +33 -0
- package/callbacks/postNPCStateChanged.d.ts +1 -0
- package/callbacks/postNPCStateChanged.lua +39 -0
- package/callbacks/postNewRoomEarly.d.ts +1 -0
- package/callbacks/postNewRoomEarly.lua +67 -0
- package/callbacks/postPickupCollect.d.ts +1 -0
- package/callbacks/postPickupCollect.lua +41 -0
- package/callbacks/postPickupInitLate.d.ts +1 -0
- package/callbacks/postPickupInitLate.lua +33 -0
- package/callbacks/postPickupStateChanged.d.ts +1 -0
- package/callbacks/postPickupStateChanged.lua +39 -0
- package/callbacks/postPitRender.d.ts +1 -0
- package/callbacks/postPitRender.lua +26 -0
- package/callbacks/postPitUpdate.d.ts +1 -0
- package/callbacks/postPitUpdate.lua +26 -0
- package/callbacks/postPlayerChangeHealth.d.ts +1 -0
- package/callbacks/postPlayerChangeHealth.lua +52 -0
- package/callbacks/postPlayerChangeType.d.ts +1 -0
- package/callbacks/postPlayerChangeType.lua +41 -0
- package/callbacks/postPlayerFatalDamage.d.ts +1 -0
- package/callbacks/postPlayerFatalDamage.lua +73 -0
- package/callbacks/postPlayerInitLate.d.ts +1 -0
- package/callbacks/postPlayerInitLate.lua +35 -0
- package/callbacks/postPlayerReordered.d.ts +1 -0
- package/callbacks/postPlayerReordered.lua +114 -0
- package/callbacks/postPoopRender.d.ts +1 -0
- package/callbacks/postPoopRender.lua +26 -0
- package/callbacks/postPoopUpdate.d.ts +1 -0
- package/callbacks/postPoopUpdate.lua +26 -0
- package/callbacks/postPressurePlateRender.d.ts +1 -0
- package/callbacks/postPressurePlateRender.lua +26 -0
- package/callbacks/postPressurePlateUpdate.d.ts +1 -0
- package/callbacks/postPressurePlateUpdate.lua +26 -0
- package/callbacks/postProjectileInitLate.d.ts +1 -0
- package/callbacks/postProjectileInitLate.lua +33 -0
- package/callbacks/postPurchase.d.ts +1 -0
- package/callbacks/postPurchase.lua +51 -0
- package/callbacks/postRockRender.d.ts +1 -0
- package/callbacks/postRockRender.lua +26 -0
- package/callbacks/postRockUpdate.d.ts +1 -0
- package/callbacks/postRockUpdate.lua +26 -0
- package/callbacks/postRoomClearChanged.d.ts +1 -0
- package/callbacks/postRoomClearChanged.lua +42 -0
- package/callbacks/postSacrifice.d.ts +1 -0
- package/callbacks/postSacrifice.lua +44 -0
- package/callbacks/postSlotInitUpdate.d.ts +1 -0
- package/callbacks/postSlotInitUpdate.lua +53 -0
- package/callbacks/postSlotRender.d.ts +1 -0
- package/callbacks/postSlotRender.lua +76 -0
- package/callbacks/postSpikesRender.d.ts +1 -0
- package/callbacks/postSpikesRender.lua +26 -0
- package/callbacks/postSpikesUpdate.d.ts +1 -0
- package/callbacks/postSpikesUpdate.lua +26 -0
- package/callbacks/postTNTRender.d.ts +1 -0
- package/callbacks/postTNTRender.lua +26 -0
- package/callbacks/postTNTUpdate.d.ts +1 -0
- package/callbacks/postTNTUpdate.lua +26 -0
- package/callbacks/postTearInitLate.d.ts +1 -0
- package/callbacks/postTearInitLate.lua +33 -0
- package/callbacks/postTearInitVeryLate.d.ts +1 -0
- package/callbacks/postTearInitVeryLate.lua +36 -0
- package/callbacks/postTransformation.d.ts +1 -0
- package/callbacks/postTransformation.lua +48 -0
- package/callbacks/postTrinketBreak.d.ts +1 -0
- package/callbacks/postTrinketBreak.lua +72 -0
- package/callbacks/preBerserkDeath.d.ts +1 -0
- package/callbacks/preBerserkDeath.lua +38 -0
- package/callbacks/preNewLevel.d.ts +1 -0
- package/callbacks/preNewLevel.lua +45 -0
- package/callbacks/reorderedCallbacks.d.ts +20 -0
- package/callbacks/reorderedCallbacks.lua +108 -0
- package/callbacks/subscriptions/postBombInitLate.d.ts +5 -0
- package/callbacks/subscriptions/postBombInitLate.lua +29 -0
- package/callbacks/subscriptions/postBoneSwing.d.ts +4 -0
- package/callbacks/subscriptions/postBoneSwing.lua +22 -0
- package/callbacks/subscriptions/postCollectibleInitFirst.d.ts +5 -0
- package/callbacks/subscriptions/postCollectibleInitFirst.lua +29 -0
- package/callbacks/subscriptions/postCursedTeleport.d.ts +4 -0
- package/callbacks/subscriptions/postCursedTeleport.lua +22 -0
- package/callbacks/subscriptions/postCustomDoorEnter.d.ts +5 -0
- package/callbacks/subscriptions/postCustomDoorEnter.lua +35 -0
- package/callbacks/subscriptions/postCustomRevive.d.ts +5 -0
- package/callbacks/subscriptions/postCustomRevive.lua +29 -0
- package/callbacks/subscriptions/postDoorRender.d.ts +5 -0
- package/callbacks/subscriptions/postDoorRender.lua +30 -0
- package/callbacks/subscriptions/postDoorUpdate.d.ts +5 -0
- package/callbacks/subscriptions/postDoorUpdate.lua +30 -0
- package/callbacks/subscriptions/postEffectInitLate.d.ts +5 -0
- package/callbacks/subscriptions/postEffectInitLate.lua +29 -0
- package/callbacks/subscriptions/postEffectStateChanged.d.ts +5 -0
- package/callbacks/subscriptions/postEffectStateChanged.lua +29 -0
- package/callbacks/subscriptions/postEsauJr.d.ts +4 -0
- package/callbacks/subscriptions/postEsauJr.lua +22 -0
- package/callbacks/subscriptions/postFamiliarInitLate.d.ts +5 -0
- package/callbacks/subscriptions/postFamiliarInitLate.lua +29 -0
- package/callbacks/subscriptions/postFamiliarStateChanged.d.ts +5 -0
- package/callbacks/subscriptions/postFamiliarStateChanged.lua +29 -0
- package/callbacks/subscriptions/postFirstEsauJr.d.ts +4 -0
- package/callbacks/subscriptions/postFirstEsauJr.lua +22 -0
- package/callbacks/subscriptions/postFirstFlip.d.ts +4 -0
- package/callbacks/subscriptions/postFirstFlip.lua +22 -0
- package/callbacks/subscriptions/postFlip.d.ts +4 -0
- package/callbacks/subscriptions/postFlip.lua +22 -0
- package/callbacks/subscriptions/postGameStartedReordered.d.ts +3 -0
- package/callbacks/subscriptions/postGameStartedReordered.lua +22 -0
- package/callbacks/subscriptions/postGreedModeWave.d.ts +4 -0
- package/callbacks/subscriptions/postGreedModeWave.lua +22 -0
- package/callbacks/subscriptions/postGridEntityBroken.d.ts +6 -0
- package/callbacks/subscriptions/postGridEntityBroken.lua +35 -0
- package/callbacks/subscriptions/postGridEntityCollision.d.ts +6 -0
- package/callbacks/subscriptions/postGridEntityCollision.lua +35 -0
- package/callbacks/subscriptions/postGridEntityInit.d.ts +6 -0
- package/callbacks/subscriptions/postGridEntityInit.lua +35 -0
- package/callbacks/subscriptions/postGridEntityRemove.d.ts +6 -0
- package/callbacks/subscriptions/postGridEntityRemove.lua +33 -0
- package/callbacks/subscriptions/postGridEntityRender.d.ts +6 -0
- package/callbacks/subscriptions/postGridEntityRender.lua +35 -0
- package/callbacks/subscriptions/postGridEntityStateChanged.d.ts +6 -0
- package/callbacks/subscriptions/postGridEntityStateChanged.lua +35 -0
- package/callbacks/subscriptions/postGridEntityUpdate.d.ts +6 -0
- package/callbacks/subscriptions/postGridEntityUpdate.lua +35 -0
- package/callbacks/subscriptions/postHolyMantleRemoved.d.ts +6 -0
- package/callbacks/subscriptions/postHolyMantleRemoved.lua +34 -0
- package/callbacks/subscriptions/postItemDischarged.d.ts +5 -0
- package/callbacks/subscriptions/postItemDischarged.lua +29 -0
- package/callbacks/subscriptions/postItemPickup.d.ts +11 -0
- package/callbacks/subscriptions/postItemPickup.lua +33 -0
- package/callbacks/subscriptions/postKnifeInitLate.d.ts +5 -0
- package/callbacks/subscriptions/postKnifeInitLate.lua +29 -0
- package/callbacks/subscriptions/postLaserInitLate.d.ts +5 -0
- package/callbacks/subscriptions/postLaserInitLate.lua +29 -0
- package/callbacks/subscriptions/postNPCInitLate.d.ts +5 -0
- package/callbacks/subscriptions/postNPCInitLate.lua +29 -0
- package/callbacks/subscriptions/postNPCStateChanged.d.ts +6 -0
- package/callbacks/subscriptions/postNPCStateChanged.lua +33 -0
- package/callbacks/subscriptions/postNewLevelReordered.d.ts +1 -0
- package/callbacks/subscriptions/postNewLevelReordered.lua +22 -0
- package/callbacks/subscriptions/postNewRoomEarly.d.ts +1 -0
- package/callbacks/subscriptions/postNewRoomEarly.lua +22 -0
- package/callbacks/subscriptions/postNewRoomReordered.d.ts +1 -0
- package/callbacks/subscriptions/postNewRoomReordered.lua +22 -0
- package/callbacks/subscriptions/postPEffectUpdateReordered.d.ts +6 -0
- package/callbacks/subscriptions/postPEffectUpdateReordered.lua +34 -0
- package/callbacks/subscriptions/postPickupCollect.d.ts +4 -0
- package/callbacks/subscriptions/postPickupCollect.lua +29 -0
- package/callbacks/subscriptions/postPickupInitLate.d.ts +3 -0
- package/callbacks/subscriptions/postPickupInitLate.lua +29 -0
- package/callbacks/subscriptions/postPickupStateChanged.d.ts +5 -0
- package/callbacks/subscriptions/postPickupStateChanged.lua +29 -0
- package/callbacks/subscriptions/postPitRender.d.ts +5 -0
- package/callbacks/subscriptions/postPitRender.lua +30 -0
- package/callbacks/subscriptions/postPitUpdate.d.ts +5 -0
- package/callbacks/subscriptions/postPitUpdate.lua +30 -0
- package/callbacks/subscriptions/postPlayerChangeHealth.d.ts +7 -0
- package/callbacks/subscriptions/postPlayerChangeHealth.lua +34 -0
- package/callbacks/subscriptions/postPlayerChangeType.d.ts +5 -0
- package/callbacks/subscriptions/postPlayerChangeType.lua +29 -0
- package/callbacks/subscriptions/postPlayerFatalDamage.d.ts +6 -0
- package/callbacks/subscriptions/postPlayerFatalDamage.lua +45 -0
- package/callbacks/subscriptions/postPlayerInitLate.d.ts +6 -0
- package/callbacks/subscriptions/postPlayerInitLate.lua +34 -0
- package/callbacks/subscriptions/postPlayerInitReordered.d.ts +6 -0
- package/callbacks/subscriptions/postPlayerInitReordered.lua +34 -0
- package/callbacks/subscriptions/postPlayerRenderReordered.d.ts +6 -0
- package/callbacks/subscriptions/postPlayerRenderReordered.lua +34 -0
- package/callbacks/subscriptions/postPlayerUpdateReordered.d.ts +6 -0
- package/callbacks/subscriptions/postPlayerUpdateReordered.lua +34 -0
- package/callbacks/subscriptions/postPoopRender.d.ts +5 -0
- package/callbacks/subscriptions/postPoopRender.lua +30 -0
- package/callbacks/subscriptions/postPoopUpdate.d.ts +5 -0
- package/callbacks/subscriptions/postPoopUpdate.lua +30 -0
- package/callbacks/subscriptions/postPressurePlateRender.d.ts +5 -0
- package/callbacks/subscriptions/postPressurePlateRender.lua +30 -0
- package/callbacks/subscriptions/postPressurePlateUpdate.d.ts +5 -0
- package/callbacks/subscriptions/postPressurePlateUpdate.lua +30 -0
- package/callbacks/subscriptions/postProjectileInitLate.d.ts +5 -0
- package/callbacks/subscriptions/postProjectileInitLate.lua +29 -0
- package/callbacks/subscriptions/postPurchase.d.ts +6 -0
- package/callbacks/subscriptions/postPurchase.lua +22 -0
- package/callbacks/subscriptions/postRockRender.d.ts +5 -0
- package/callbacks/subscriptions/postRockRender.lua +30 -0
- package/callbacks/subscriptions/postRockUpdate.d.ts +5 -0
- package/callbacks/subscriptions/postRockUpdate.lua +30 -0
- package/callbacks/subscriptions/postRoomClearChanged.d.ts +3 -0
- package/callbacks/subscriptions/postRoomClearChanged.lua +22 -0
- package/callbacks/subscriptions/postSacrifice.d.ts +6 -0
- package/callbacks/subscriptions/postSacrifice.lua +34 -0
- package/callbacks/subscriptions/postSlotAnimationChanged.d.ts +5 -0
- package/callbacks/subscriptions/postSlotAnimationChanged.lua +29 -0
- package/callbacks/subscriptions/postSlotDestroyed.d.ts +5 -0
- package/callbacks/subscriptions/postSlotDestroyed.lua +29 -0
- package/callbacks/subscriptions/postSlotInit.d.ts +5 -0
- package/callbacks/subscriptions/postSlotInit.lua +29 -0
- package/callbacks/subscriptions/postSlotRender.d.ts +5 -0
- package/callbacks/subscriptions/postSlotRender.lua +29 -0
- package/callbacks/subscriptions/postSlotUpdate.d.ts +5 -0
- package/callbacks/subscriptions/postSlotUpdate.lua +29 -0
- package/callbacks/subscriptions/postSpikesRender.d.ts +5 -0
- package/callbacks/subscriptions/postSpikesRender.lua +30 -0
- package/callbacks/subscriptions/postSpikesUpdate.d.ts +5 -0
- package/callbacks/subscriptions/postSpikesUpdate.lua +30 -0
- package/callbacks/subscriptions/postTNTRender.d.ts +5 -0
- package/callbacks/subscriptions/postTNTRender.lua +30 -0
- package/callbacks/subscriptions/postTNTUpdate.d.ts +5 -0
- package/callbacks/subscriptions/postTNTUpdate.lua +30 -0
- package/callbacks/subscriptions/postTearInitLate.d.ts +5 -0
- package/callbacks/subscriptions/postTearInitLate.lua +29 -0
- package/callbacks/subscriptions/postTearInitVeryLate.d.ts +5 -0
- package/callbacks/subscriptions/postTearInitVeryLate.lua +29 -0
- package/callbacks/subscriptions/postTransformation.d.ts +5 -0
- package/callbacks/subscriptions/postTransformation.lua +29 -0
- package/callbacks/subscriptions/postTrinketBreak.d.ts +5 -0
- package/callbacks/subscriptions/postTrinketBreak.lua +29 -0
- package/callbacks/subscriptions/preBerserkDeath.d.ts +6 -0
- package/callbacks/subscriptions/preBerserkDeath.lua +35 -0
- package/callbacks/subscriptions/preCustomRevive.d.ts +6 -0
- package/callbacks/subscriptions/preCustomRevive.lua +38 -0
- package/callbacks/subscriptions/preItemPickup.d.ts +11 -0
- package/callbacks/subscriptions/preItemPickup.lua +33 -0
- package/callbacks/subscriptions/preNewLevel.d.ts +4 -0
- package/callbacks/subscriptions/preNewLevel.lua +22 -0
- package/classes/DefaultMap.d.ts +110 -0
- package/classes/DefaultMap.lua +135 -0
- package/classes/ModUpgraded.d.ts +23 -0
- package/classes/ModUpgraded.lua +43 -0
- package/constants.d.ts +104 -0
- package/constants.lua +86 -0
- package/constantsFirstLast.d.ts +130 -0
- package/constantsFirstLast.lua +113 -0
- package/enums/HealthType.d.ts +16 -0
- package/enums/HealthType.lua +24 -0
- package/enums/ModCallbackCustom.d.ts +860 -0
- package/enums/ModCallbackCustom.lua +159 -0
- package/enums/PocketItemType.d.ts +8 -0
- package/enums/PocketItemType.lua +15 -0
- package/enums/SerializationType.d.ts +5 -0
- package/enums/SerializationType.lua +9 -0
- package/enums/private/CopyableIsaacAPIClassType.d.ts +7 -0
- package/enums/private/CopyableIsaacAPIClassType.lua +8 -0
- package/enums/private/SaveDataKey.d.ts +7 -0
- package/enums/private/SaveDataKey.lua +11 -0
- package/enums/private/SerializationBrand.d.ts +37 -0
- package/enums/private/SerializationBrand.lua +17 -0
- package/features/characterHealthConversion.d.ts +9 -0
- package/features/characterHealthConversion.lua +91 -0
- package/features/characterStats.d.ts +19 -0
- package/features/characterStats.lua +54 -0
- package/features/debugDisplay/debugDisplay.d.ts +2 -0
- package/features/debugDisplay/debugDisplay.lua +181 -0
- package/features/debugDisplay/exports.d.ts +199 -0
- package/features/debugDisplay/exports.lua +223 -0
- package/features/debugDisplay/v.d.ts +44 -0
- package/features/debugDisplay/v.lua +54 -0
- package/features/deployJSONRoom.d.ts +65 -0
- package/features/deployJSONRoom.lua +519 -0
- package/features/disableInputs.d.ts +62 -0
- package/features/disableInputs.lua +134 -0
- package/features/disableSound.d.ts +18 -0
- package/features/disableSound.lua +62 -0
- package/features/extraConsoleCommands/commandsDisplay.d.ts +162 -0
- package/features/extraConsoleCommands/commandsDisplay.lua +219 -0
- package/features/extraConsoleCommands/commandsSubroutines.d.ts +9 -0
- package/features/extraConsoleCommands/commandsSubroutines.lua +129 -0
- package/features/extraConsoleCommands/init.d.ts +26 -0
- package/features/extraConsoleCommands/init.lua +265 -0
- package/features/extraConsoleCommands/listCommands.d.ts +349 -0
- package/features/extraConsoleCommands/listCommands.lua +1094 -0
- package/features/extraConsoleCommands/v.d.ts +13 -0
- package/features/extraConsoleCommands/v.lua +10 -0
- package/features/fadeInRemover.d.ts +14 -0
- package/features/fadeInRemover.lua +55 -0
- package/features/fastReset.d.ts +14 -0
- package/features/fastReset.lua +59 -0
- package/features/forgottenSwitch.d.ts +5 -0
- package/features/forgottenSwitch.lua +32 -0
- package/features/getCollectibleItemPoolType.d.ts +7 -0
- package/features/getCollectibleItemPoolType.lua +48 -0
- package/features/playerInventory.d.ts +23 -0
- package/features/playerInventory.lua +147 -0
- package/features/ponyDetection.d.ts +6 -0
- package/features/ponyDetection.lua +53 -0
- package/features/preventCollectibleRotation.d.ts +11 -0
- package/features/preventCollectibleRotation.lua +67 -0
- package/features/runInNFrames.d.ts +61 -0
- package/features/runInNFrames.lua +128 -0
- package/features/saveDataManager/constants.d.ts +3 -0
- package/features/saveDataManager/constants.lua +5 -0
- package/features/saveDataManager/exports.d.ts +131 -0
- package/features/saveDataManager/exports.lua +181 -0
- package/features/saveDataManager/load.d.ts +4 -0
- package/features/saveDataManager/load.lua +66 -0
- package/features/saveDataManager/main.d.ts +3 -0
- package/features/saveDataManager/main.lua +125 -0
- package/features/saveDataManager/maps.d.ts +10 -0
- package/features/saveDataManager/maps.lua +11 -0
- package/features/saveDataManager/merge.d.ts +24 -0
- package/features/saveDataManager/merge.lua +144 -0
- package/features/saveDataManager/save.d.ts +4 -0
- package/features/saveDataManager/save.lua +44 -0
- package/features/saveDataManager/serializationBrand.d.ts +1 -0
- package/features/saveDataManager/serializationBrand.lua +17 -0
- package/features/sirenHelpers.d.ts +18 -0
- package/features/sirenHelpers.lua +82 -0
- package/features/taintedLazarusPlayers.d.ts +13 -0
- package/features/taintedLazarusPlayers.lua +85 -0
- package/featuresInitialized.d.ts +1 -0
- package/featuresInitialized.lua +20 -0
- package/functions/array.d.ts +141 -0
- package/functions/array.lua +354 -0
- package/functions/benchmark.d.ts +10 -0
- package/functions/benchmark.lua +38 -0
- package/functions/bitwise.d.ts +4 -0
- package/functions/bitwise.lua +21 -0
- package/functions/boss.d.ts +56 -0
- package/functions/boss.lua +218 -0
- package/functions/cacheFlag.d.ts +8 -0
- package/functions/cacheFlag.lua +11 -0
- package/functions/cards.d.ts +95 -0
- package/functions/cards.lua +234 -0
- package/functions/challenges.d.ts +3 -0
- package/functions/challenges.lua +10 -0
- package/functions/character.d.ts +48 -0
- package/functions/character.lua +96 -0
- package/functions/charge.d.ts +54 -0
- package/functions/charge.lua +162 -0
- package/functions/chargeBar.d.ts +12 -0
- package/functions/chargeBar.lua +47 -0
- package/functions/collectibleCacheFlag.d.ts +23 -0
- package/functions/collectibleCacheFlag.lua +80 -0
- package/functions/collectibleSet.d.ts +9 -0
- package/functions/collectibleSet.lua +54 -0
- package/functions/collectibleTag.d.ts +16 -0
- package/functions/collectibleTag.lua +83 -0
- package/functions/collectibles.d.ts +211 -0
- package/functions/collectibles.lua +412 -0
- package/functions/color.d.ts +45 -0
- package/functions/color.lua +140 -0
- package/functions/debug.d.ts +27 -0
- package/functions/debug.lua +49 -0
- package/functions/deepCopy.d.ts +29 -0
- package/functions/deepCopy.lua +382 -0
- package/functions/deepCopyTests.d.ts +1 -0
- package/functions/deepCopyTests.lua +316 -0
- package/functions/direction.d.ts +4 -0
- package/functions/direction.lua +17 -0
- package/functions/doors.d.ts +117 -0
- package/functions/doors.lua +284 -0
- package/functions/easing.d.ts +30 -0
- package/functions/easing.lua +115 -0
- package/functions/eden.d.ts +3 -0
- package/functions/eden.lua +47 -0
- package/functions/entity.d.ts +131 -0
- package/functions/entity.lua +321 -0
- package/functions/entitySpecific.d.ts +264 -0
- package/functions/entitySpecific.lua +832 -0
- package/functions/entityTypes.d.ts +3 -0
- package/functions/entityTypes.lua +8 -0
- package/functions/enums.d.ts +80 -0
- package/functions/enums.lua +147 -0
- package/functions/familiars.d.ts +60 -0
- package/functions/familiars.lua +85 -0
- package/functions/flag.d.ts +99 -0
- package/functions/flag.lua +124 -0
- package/functions/flying.d.ts +19 -0
- package/functions/flying.lua +77 -0
- package/functions/globals.d.ts +14 -0
- package/functions/globals.lua +236 -0
- package/functions/gridEntity.d.ts +155 -0
- package/functions/gridEntity.lua +368 -0
- package/functions/gridEntitySpecific.d.ts +18 -0
- package/functions/gridEntitySpecific.lua +96 -0
- package/functions/input.d.ts +32 -0
- package/functions/input.lua +117 -0
- package/functions/isaacAPIClass.d.ts +23 -0
- package/functions/isaacAPIClass.lua +47 -0
- package/functions/jsonHelpers.d.ts +18 -0
- package/functions/jsonHelpers.lua +37 -0
- package/functions/jsonRoom.d.ts +12 -0
- package/functions/jsonRoom.lua +91 -0
- package/functions/kColor.d.ts +31 -0
- package/functions/kColor.lua +110 -0
- package/functions/language.d.ts +8 -0
- package/functions/language.lua +13 -0
- package/functions/level.d.ts +1 -0
- package/functions/level.lua +29 -0
- package/functions/log.d.ts +78 -0
- package/functions/log.lua +547 -0
- package/functions/map.d.ts +22 -0
- package/functions/map.lua +61 -0
- package/functions/math.d.ts +50 -0
- package/functions/math.lua +118 -0
- package/functions/mergeTests.d.ts +1 -0
- package/functions/mergeTests.lua +182 -0
- package/functions/npc.d.ts +40 -0
- package/functions/npc.lua +128 -0
- package/functions/pickupVariants.d.ts +23 -0
- package/functions/pickupVariants.lua +48 -0
- package/functions/pickups.d.ts +132 -0
- package/functions/pickups.lua +474 -0
- package/functions/pills.d.ts +69 -0
- package/functions/pills.lua +128 -0
- package/functions/player.d.ts +296 -0
- package/functions/player.lua +777 -0
- package/functions/playerDataStructures.d.ts +92 -0
- package/functions/playerDataStructures.lua +103 -0
- package/functions/playerHealth.d.ts +22 -0
- package/functions/playerHealth.lua +296 -0
- package/functions/playerIndex.d.ts +68 -0
- package/functions/playerIndex.lua +174 -0
- package/functions/pocketItems.d.ts +33 -0
- package/functions/pocketItems.lua +104 -0
- package/functions/positionVelocity.d.ts +64 -0
- package/functions/positionVelocity.lua +154 -0
- package/functions/random.d.ts +42 -0
- package/functions/random.lua +70 -0
- package/functions/revive.d.ts +31 -0
- package/functions/revive.lua +117 -0
- package/functions/rng.d.ts +53 -0
- package/functions/rng.lua +148 -0
- package/functions/roomData.d.ts +108 -0
- package/functions/roomData.lua +160 -0
- package/functions/roomGrid.d.ts +40 -0
- package/functions/roomGrid.lua +80 -0
- package/functions/roomShape.d.ts +43 -0
- package/functions/roomShape.lua +67 -0
- package/functions/rooms.d.ts +194 -0
- package/functions/rooms.lua +482 -0
- package/functions/run.d.ts +12 -0
- package/functions/run.lua +33 -0
- package/functions/seeds.d.ts +9 -0
- package/functions/seeds.lua +19 -0
- package/functions/serialization.d.ts +11 -0
- package/functions/serialization.lua +69 -0
- package/functions/set.d.ts +39 -0
- package/functions/set.lua +83 -0
- package/functions/sound.d.ts +1 -0
- package/functions/sound.lua +13 -0
- package/functions/spawnCollectible.d.ts +31 -0
- package/functions/spawnCollectible.lua +94 -0
- package/functions/sprite.d.ts +36 -0
- package/functions/sprite.lua +89 -0
- package/functions/stage.d.ts +35 -0
- package/functions/stage.lua +86 -0
- package/functions/string.d.ts +13 -0
- package/functions/string.lua +42 -0
- package/functions/table.d.ts +36 -0
- package/functions/table.lua +98 -0
- package/functions/tears.d.ts +22 -0
- package/functions/tears.lua +26 -0
- package/functions/transformations.d.ts +30 -0
- package/functions/transformations.lua +114 -0
- package/functions/trinketCacheFlag.d.ts +10 -0
- package/functions/trinketCacheFlag.lua +53 -0
- package/functions/trinketGive.d.ts +38 -0
- package/functions/trinketGive.lua +114 -0
- package/functions/trinkets.d.ts +73 -0
- package/functions/trinkets.lua +167 -0
- package/functions/tstlClass.d.ts +20 -0
- package/functions/tstlClass.lua +65 -0
- package/functions/ui.d.ts +34 -0
- package/functions/ui.lua +111 -0
- package/functions/utils.d.ts +113 -0
- package/functions/utils.lua +182 -0
- package/functions/vector.d.ts +32 -0
- package/functions/vector.lua +127 -0
- package/index.d.ts +129 -0
- package/index.lua +900 -0
- package/initCustomCallbacks.d.ts +2 -0
- package/initCustomCallbacks.lua +178 -0
- package/initFeatures.d.ts +3 -0
- package/initFeatures.lua +51 -0
- package/interfaces/AddCallbackParameterCustom.d.ts +153 -0
- package/interfaces/AddCallbackParameterCustom.lua +4 -0
- package/interfaces/ChargeBarSprites.d.ts +13 -0
- package/interfaces/ChargeBarSprites.lua +2 -0
- package/interfaces/JSONDoor.d.ts +11 -0
- package/interfaces/JSONDoor.lua +2 -0
- package/interfaces/JSONEntity.d.ts +13 -0
- package/interfaces/JSONEntity.lua +2 -0
- package/interfaces/JSONRoom.d.ts +26 -0
- package/interfaces/JSONRoom.lua +2 -0
- package/interfaces/JSONRooms.d.ts +11 -0
- package/interfaces/JSONRooms.lua +2 -0
- package/interfaces/JSONSpawn.d.ts +11 -0
- package/interfaces/JSONSpawn.lua +2 -0
- package/interfaces/PlayerHealth.d.ts +15 -0
- package/interfaces/PlayerHealth.lua +2 -0
- package/interfaces/PocketItemDescription.d.ts +8 -0
- package/interfaces/PocketItemDescription.lua +2 -0
- package/interfaces/SaveData.d.ts +29 -0
- package/interfaces/SaveData.lua +2 -0
- package/interfaces/TrinketSituation.d.ts +8 -0
- package/interfaces/TrinketSituation.lua +2 -0
- package/interfaces/private/TSTLClassMetatable.d.ts +10 -0
- package/interfaces/private/TSTLClassMetatable.lua +2 -0
- package/lualib_bundle.lua +2475 -0
- package/maps/cardMap.d.ts +3 -0
- package/maps/cardMap.lua +212 -0
- package/maps/characterMap.d.ts +3 -0
- package/maps/characterMap.lua +90 -0
- package/maps/collectibleDescriptionMap.d.ts +3 -0
- package/maps/collectibleDescriptionMap.lua +728 -0
- package/maps/collectibleNameMap.d.ts +3 -0
- package/maps/collectibleNameMap.lua +728 -0
- package/maps/defaultPlayerStatMap.d.ts +3 -0
- package/maps/defaultPlayerStatMap.lua +25 -0
- package/maps/gridEntityTypeToBrokenStateMap.d.ts +2 -0
- package/maps/gridEntityTypeToBrokenStateMap.lua +26 -0
- package/maps/gridEntityXMLMap.d.ts +9 -0
- package/maps/gridEntityXMLMap.lua +53 -0
- package/maps/pillEffectMap.d.ts +3 -0
- package/maps/pillEffectMap.lua +90 -0
- package/maps/roomShapeToTopLeftWallGridIndexMap.d.ts +7 -0
- package/maps/roomShapeToTopLeftWallGridIndexMap.lua +17 -0
- package/maps/roomTypeMap.d.ts +3 -0
- package/maps/roomTypeMap.lua +45 -0
- package/maps/trinketDescriptionMap.d.ts +3 -0
- package/maps/trinketDescriptionMap.lua +196 -0
- package/maps/trinketNameMap.d.ts +3 -0
- package/maps/trinketNameMap.lua +196 -0
- package/objects/LRoomShapeToRectangles.d.ts +13 -0
- package/objects/LRoomShapeToRectangles.lua +35 -0
- package/objects/callbackRegisterFunctions.d.ts +5 -0
- package/objects/callbackRegisterFunctions.lua +231 -0
- package/objects/cardDescriptions.d.ts +5 -0
- package/objects/cardDescriptions.lua +105 -0
- package/objects/cardNames.d.ts +5 -0
- package/objects/cardNames.lua +105 -0
- package/objects/cardTypes.d.ts +5 -0
- package/objects/cardTypes.lua +106 -0
- package/objects/challengeNames.d.ts +5 -0
- package/objects/challengeNames.lua +53 -0
- package/objects/characterNames.d.ts +5 -0
- package/objects/characterNames.lua +49 -0
- package/objects/coinSubTypeToValue.d.ts +5 -0
- package/objects/coinSubTypeToValue.lua +15 -0
- package/objects/colors.d.ts +17 -0
- package/objects/colors.lua +16 -0
- package/objects/directionNames.d.ts +4 -0
- package/objects/directionNames.lua +11 -0
- package/objects/directionToDegrees.d.ts +4 -0
- package/objects/directionToDegrees.lua +11 -0
- package/objects/directionToVector.d.ts +4 -0
- package/objects/directionToVector.lua +13 -0
- package/objects/doorSlotFlagToDoorSlot.d.ts +5 -0
- package/objects/doorSlotFlagToDoorSlot.lua +16 -0
- package/objects/doorSlotToDirection.d.ts +4 -0
- package/objects/doorSlotToDirection.lua +16 -0
- package/objects/isaacAPIClassTypeToBrand.d.ts +5 -0
- package/objects/isaacAPIClassTypeToBrand.lua +7 -0
- package/objects/isaacAPIClassTypeToCopyFunction.d.ts +5 -0
- package/objects/isaacAPIClassTypeToCopyFunction.lua +13 -0
- package/objects/languageNames.d.ts +4 -0
- package/objects/languageNames.lua +13 -0
- package/objects/pillEffectClasses.d.ts +5 -0
- package/objects/pillEffectClasses.lua +59 -0
- package/objects/pillEffectNames.d.ts +5 -0
- package/objects/pillEffectNames.lua +57 -0
- package/objects/pillEffectTypes.d.ts +5 -0
- package/objects/pillEffectTypes.lua +58 -0
- package/objects/roomShapeBounds.d.ts +8 -0
- package/objects/roomShapeBounds.lua +26 -0
- package/objects/roomShapeLayoutSizes.d.ts +10 -0
- package/objects/roomShapeLayoutSizes.lua +29 -0
- package/objects/roomShapeToBottomRightPosition.d.ts +8 -0
- package/objects/roomShapeToBottomRightPosition.lua +22 -0
- package/objects/roomShapeToDoorSlots.d.ts +4 -0
- package/objects/roomShapeToDoorSlots.lua +46 -0
- package/objects/roomShapeToDoorSlotsToGridIndexDelta.d.ts +8 -0
- package/objects/roomShapeToDoorSlotsToGridIndexDelta.lua +89 -0
- package/objects/roomShapeToGridWidth.d.ts +4 -0
- package/objects/roomShapeToGridWidth.lua +20 -0
- package/objects/roomShapeToTopLeftPosition.d.ts +8 -0
- package/objects/roomShapeToTopLeftPosition.lua +24 -0
- package/objects/roomShapeVolumes.d.ts +13 -0
- package/objects/roomShapeVolumes.lua +30 -0
- package/objects/roomTypeNames.d.ts +5 -0
- package/objects/roomTypeNames.lua +37 -0
- package/objects/serializedIsaacAPIClassTypeToIdentityFunction.d.ts +4 -0
- package/objects/serializedIsaacAPIClassTypeToIdentityFunction.lua +13 -0
- package/objects/stageTypeToLetter.d.ts +4 -0
- package/objects/stageTypeToLetter.lua +12 -0
- package/objects/transformationNames.d.ts +5 -0
- package/objects/transformationNames.lua +21 -0
- package/package.json +3 -4
- package/patchErrorFunctions.d.ts +1 -0
- package/patchErrorFunctions.lua +58 -0
- package/sets/LRoomShapesSet.d.ts +2 -0
- package/sets/LRoomShapesSet.lua +8 -0
- package/sets/bossSets.d.ts +4 -0
- package/sets/bossSets.lua +554 -0
- package/sets/charactersThatStartWithAnActiveItemSet.d.ts +2 -0
- package/sets/charactersThatStartWithAnActiveItemSet.lua +20 -0
- package/sets/charactersWithBlackHeartFromEternalHeartSet.d.ts +2 -0
- package/sets/charactersWithBlackHeartFromEternalHeartSet.lua +8 -0
- package/sets/charactersWithFreeDevilDealsSet.d.ts +2 -0
- package/sets/charactersWithFreeDevilDealsSet.lua +8 -0
- package/sets/charactersWithNoRedHeartsSet.d.ts +6 -0
- package/sets/charactersWithNoRedHeartsSet.lua +19 -0
- package/sets/charactersWithNoSoulHeartsSet.d.ts +6 -0
- package/sets/charactersWithNoSoulHeartsSet.lua +16 -0
- package/sets/chestPickupVariantsSet.d.ts +2 -0
- package/sets/chestPickupVariantsSet.lua +21 -0
- package/sets/familiarsThatShootPlayerTearsSet.d.ts +2 -0
- package/sets/familiarsThatShootPlayerTearsSet.lua +17 -0
- package/sets/lostStyleCharactersSet.d.ts +6 -0
- package/sets/lostStyleCharactersSet.lua +16 -0
- package/sets/mineShaftRoomSubTypesSet.d.ts +2 -0
- package/sets/mineShaftRoomSubTypesSet.lua +14 -0
- package/sets/redHeartSubTypesSet.d.ts +2 -0
- package/sets/redHeartSubTypesSet.lua +8 -0
- package/sets/sinEntityTypesSet.d.ts +2 -0
- package/sets/sinEntityTypesSet.lua +16 -0
- package/sets/singleUseActiveCollectibleTypesSet.d.ts +2 -0
- package/sets/singleUseActiveCollectibleTypesSet.lua +17 -0
- package/sets/storyBossesSet.d.ts +2 -0
- package/sets/storyBossesSet.lua +22 -0
- package/types/AnyEntity.d.ts +2 -0
- package/types/AnyEntity.lua +2 -0
- package/types/CollectibleIndex.d.ts +16 -0
- package/types/CollectibleIndex.lua +2 -0
- package/types/PickingUpItem.d.ts +34 -0
- package/types/PickingUpItem.lua +34 -0
- package/types/PlayerIndex.d.ts +16 -0
- package/types/PlayerIndex.lua +2 -0
- package/types/private/IsaacAPIClass.d.ts +4 -0
- package/types/private/IsaacAPIClass.lua +2 -0
- package/types/private/SerializedIsaacAPIClass.d.ts +4 -0
- package/types/private/SerializedIsaacAPIClass.lua +2 -0
- package/types/private/TSTLClass.d.ts +4 -0
- package/types/private/TSTLClass.lua +2 -0
- package/upgradeMod.d.ts +23 -0
- package/upgradeMod.lua +51 -0
- package/.eslintrc.js +0 -70
- package/build.sh +0 -27
- package/docs.sh +0 -21
- package/lint.sh +0 -34
- package/project.json +0 -37
- package/release.sh +0 -16
- package/scripts/.eslintrc.js +0 -21
- package/scripts/docsEntryPointLint.ts +0 -135
- package/scripts/tsconfig.json +0 -5
- package/src/cachedClasses.ts +0 -39
- package/src/callbacks/customRevive.ts +0 -206
- package/src/callbacks/itemPickup.ts +0 -101
- package/src/callbacks/postBombInitLate.ts +0 -36
- package/src/callbacks/postBoneSwing.ts +0 -64
- package/src/callbacks/postCollectibleInitFirst.ts +0 -39
- package/src/callbacks/postCursedTeleport.ts +0 -183
- package/src/callbacks/postCustomDoorEnter.ts +0 -297
- package/src/callbacks/postDoorRender.ts +0 -26
- package/src/callbacks/postDoorUpdate.ts +0 -26
- package/src/callbacks/postEffectInitLate.ts +0 -36
- package/src/callbacks/postEffectStateChanged.ts +0 -43
- package/src/callbacks/postEsauJr.ts +0 -107
- package/src/callbacks/postFamiliarInitLate.ts +0 -36
- package/src/callbacks/postFamiliarStateChanged.ts +0 -43
- package/src/callbacks/postFlip.ts +0 -88
- package/src/callbacks/postGreedModeWave.ts +0 -41
- package/src/callbacks/postGridEntity.ts +0 -159
- package/src/callbacks/postGridEntityCollision.ts +0 -69
- package/src/callbacks/postGridEntityRender.ts +0 -26
- package/src/callbacks/postHolyMantleRemoved.ts +0 -55
- package/src/callbacks/postItemDischarged.ts +0 -149
- package/src/callbacks/postKnifeInitLate.ts +0 -36
- package/src/callbacks/postLaserInitLate.ts +0 -36
- package/src/callbacks/postNPCInitLate.ts +0 -36
- package/src/callbacks/postNPCStateChanged.ts +0 -42
- package/src/callbacks/postNewRoomEarly.ts +0 -90
- package/src/callbacks/postPickupCollect.ts +0 -48
- package/src/callbacks/postPickupInitLate.ts +0 -36
- package/src/callbacks/postPickupStateChanged.ts +0 -43
- package/src/callbacks/postPitRender.ts +0 -26
- package/src/callbacks/postPitUpdate.ts +0 -26
- package/src/callbacks/postPlayerChangeHealth.ts +0 -62
- package/src/callbacks/postPlayerChangeType.ts +0 -56
- package/src/callbacks/postPlayerFatalDamage.ts +0 -98
- package/src/callbacks/postPlayerInitLate.ts +0 -37
- package/src/callbacks/postPlayerReordered.ts +0 -142
- package/src/callbacks/postPoopRender.ts +0 -26
- package/src/callbacks/postPoopUpdate.ts +0 -26
- package/src/callbacks/postPressurePlateRender.ts +0 -26
- package/src/callbacks/postPressurePlateUpdate.ts +0 -26
- package/src/callbacks/postProjectileInitLate.ts +0 -36
- package/src/callbacks/postPurchase.ts +0 -64
- package/src/callbacks/postRockRender.ts +0 -26
- package/src/callbacks/postRockUpdate.ts +0 -26
- package/src/callbacks/postRoomClearChanged.ts +0 -52
- package/src/callbacks/postSacrifice.ts +0 -62
- package/src/callbacks/postSlotInitUpdate.ts +0 -63
- package/src/callbacks/postSlotRender.ts +0 -96
- package/src/callbacks/postSpikesRender.ts +0 -26
- package/src/callbacks/postSpikesUpdate.ts +0 -26
- package/src/callbacks/postTNTRender.ts +0 -26
- package/src/callbacks/postTNTUpdate.ts +0 -26
- package/src/callbacks/postTearInitLate.ts +0 -36
- package/src/callbacks/postTearInitVeryLate.ts +0 -41
- package/src/callbacks/postTransformation.ts +0 -59
- package/src/callbacks/postTrinketBreak.ts +0 -110
- package/src/callbacks/preBerserkDeath.ts +0 -49
- package/src/callbacks/preNewLevel.ts +0 -55
- package/src/callbacks/reorderedCallbacks.ts +0 -166
- package/src/callbacks/subscriptions/postBombInitLate.ts +0 -32
- package/src/callbacks/subscriptions/postBoneSwing.ts +0 -24
- package/src/callbacks/subscriptions/postCollectibleInitFirst.ts +0 -37
- package/src/callbacks/subscriptions/postCursedTeleport.ts +0 -24
- package/src/callbacks/subscriptions/postCustomDoorEnter.ts +0 -45
- package/src/callbacks/subscriptions/postCustomRevive.ts +0 -36
- package/src/callbacks/subscriptions/postDoorRender.ts +0 -35
- package/src/callbacks/subscriptions/postDoorUpdate.ts +0 -35
- package/src/callbacks/subscriptions/postEffectInitLate.ts +0 -32
- package/src/callbacks/subscriptions/postEffectStateChanged.ts +0 -40
- package/src/callbacks/subscriptions/postEsauJr.ts +0 -24
- package/src/callbacks/subscriptions/postFamiliarInitLate.ts +0 -32
- package/src/callbacks/subscriptions/postFamiliarStateChanged.ts +0 -40
- package/src/callbacks/subscriptions/postFirstEsauJr.ts +0 -24
- package/src/callbacks/subscriptions/postFirstFlip.ts +0 -24
- package/src/callbacks/subscriptions/postFlip.ts +0 -22
- package/src/callbacks/subscriptions/postGameStartedReordered.ts +0 -24
- package/src/callbacks/subscriptions/postGreedModeWave.ts +0 -24
- package/src/callbacks/subscriptions/postGridEntityBroken.ts +0 -51
- package/src/callbacks/subscriptions/postGridEntityCollision.ts +0 -54
- package/src/callbacks/subscriptions/postGridEntityInit.ts +0 -51
- package/src/callbacks/subscriptions/postGridEntityRemove.ts +0 -52
- package/src/callbacks/subscriptions/postGridEntityRender.ts +0 -51
- package/src/callbacks/subscriptions/postGridEntityStateChanged.ts +0 -55
- package/src/callbacks/subscriptions/postGridEntityUpdate.ts +0 -51
- package/src/callbacks/subscriptions/postHolyMantleRemoved.ts +0 -48
- package/src/callbacks/subscriptions/postItemDischarged.ts +0 -43
- package/src/callbacks/subscriptions/postItemPickup.ts +0 -64
- package/src/callbacks/subscriptions/postKnifeInitLate.ts +0 -32
- package/src/callbacks/subscriptions/postLaserInitLate.ts +0 -32
- package/src/callbacks/subscriptions/postNPCInitLate.ts +0 -32
- package/src/callbacks/subscriptions/postNPCStateChanged.ts +0 -42
- package/src/callbacks/subscriptions/postNewLevelReordered.ts +0 -22
- package/src/callbacks/subscriptions/postNewRoomEarly.ts +0 -22
- package/src/callbacks/subscriptions/postNewRoomReordered.ts +0 -22
- package/src/callbacks/subscriptions/postPEffectUpdateReordered.ts +0 -40
- package/src/callbacks/subscriptions/postPickupCollect.ts +0 -34
- package/src/callbacks/subscriptions/postPickupInitLate.ts +0 -31
- package/src/callbacks/subscriptions/postPickupStateChanged.ts +0 -35
- package/src/callbacks/subscriptions/postPitRender.ts +0 -35
- package/src/callbacks/subscriptions/postPitUpdate.ts +0 -35
- package/src/callbacks/subscriptions/postPlayerChangeHealth.ts +0 -45
- package/src/callbacks/subscriptions/postPlayerChangeType.ts +0 -40
- package/src/callbacks/subscriptions/postPlayerFatalDamage.ts +0 -67
- package/src/callbacks/subscriptions/postPlayerInitLate.ts +0 -40
- package/src/callbacks/subscriptions/postPlayerInitReordered.ts +0 -40
- package/src/callbacks/subscriptions/postPlayerRenderReordered.ts +0 -40
- package/src/callbacks/subscriptions/postPlayerUpdateReordered.ts +0 -40
- package/src/callbacks/subscriptions/postPoopRender.ts +0 -35
- package/src/callbacks/subscriptions/postPoopUpdate.ts +0 -35
- package/src/callbacks/subscriptions/postPressurePlateRender.ts +0 -37
- package/src/callbacks/subscriptions/postPressurePlateUpdate.ts +0 -37
- package/src/callbacks/subscriptions/postProjectileInitLate.ts +0 -35
- package/src/callbacks/subscriptions/postPurchase.ts +0 -31
- package/src/callbacks/subscriptions/postRockRender.ts +0 -35
- package/src/callbacks/subscriptions/postRockUpdate.ts +0 -35
- package/src/callbacks/subscriptions/postRoomClearChanged.ts +0 -24
- package/src/callbacks/subscriptions/postSacrifice.ts +0 -43
- package/src/callbacks/subscriptions/postSlotAnimationChanged.ts +0 -40
- package/src/callbacks/subscriptions/postSlotDestroyed.ts +0 -32
- package/src/callbacks/subscriptions/postSlotInit.ts +0 -32
- package/src/callbacks/subscriptions/postSlotRender.ts +0 -32
- package/src/callbacks/subscriptions/postSlotUpdate.ts +0 -32
- package/src/callbacks/subscriptions/postSpikesRender.ts +0 -35
- package/src/callbacks/subscriptions/postSpikesUpdate.ts +0 -35
- package/src/callbacks/subscriptions/postTNTRender.ts +0 -35
- package/src/callbacks/subscriptions/postTNTUpdate.ts +0 -35
- package/src/callbacks/subscriptions/postTearInitLate.ts +0 -32
- package/src/callbacks/subscriptions/postTearInitVeryLate.ts +0 -32
- package/src/callbacks/subscriptions/postTransformation.ts +0 -40
- package/src/callbacks/subscriptions/postTrinketBreak.ts +0 -38
- package/src/callbacks/subscriptions/preBerserkDeath.ts +0 -42
- package/src/callbacks/subscriptions/preCustomRevive.ts +0 -45
- package/src/callbacks/subscriptions/preItemPickup.ts +0 -64
- package/src/callbacks/subscriptions/preNewLevel.ts +0 -24
- package/src/classes/DefaultMap.ts +0 -220
- package/src/classes/ModUpgraded.ts +0 -83
- package/src/constants.ts +0 -140
- package/src/constantsFirstLast.ts +0 -212
- package/src/enums/HealthType.ts +0 -16
- package/src/enums/ModCallbackCustom.ts +0 -943
- package/src/enums/PocketItemType.ts +0 -8
- package/src/enums/SerializationType.ts +0 -5
- package/src/enums/private/CopyableIsaacAPIClassType.ts +0 -7
- package/src/enums/private/SaveDataKey.ts +0 -14
- package/src/enums/private/SerializationBrand.ts +0 -42
- package/src/features/characterHealthConversion.ts +0 -116
- package/src/features/characterStats.ts +0 -61
- package/src/features/debugDisplay/debugDisplay.ts +0 -221
- package/src/features/debugDisplay/exports.ts +0 -368
- package/src/features/debugDisplay/v.ts +0 -65
- package/src/features/deployJSONRoom.ts +0 -672
- package/src/features/disableInputs.ts +0 -193
- package/src/features/disableSound.ts +0 -77
- package/src/features/extraConsoleCommands/commandsDisplay.ts +0 -290
- package/src/features/extraConsoleCommands/commandsSubroutines.ts +0 -139
- package/src/features/extraConsoleCommands/init.ts +0 -334
- package/src/features/extraConsoleCommands/listCommands.ts +0 -1298
- package/src/features/extraConsoleCommands/v.ts +0 -14
- package/src/features/fadeInRemover.ts +0 -60
- package/src/features/fastReset.ts +0 -75
- package/src/features/forgottenSwitch.ts +0 -50
- package/src/features/getCollectibleItemPoolType.ts +0 -66
- package/src/features/playerInventory.ts +0 -187
- package/src/features/ponyDetection.ts +0 -74
- package/src/features/preventCollectibleRotation.ts +0 -113
- package/src/features/runInNFrames.ts +0 -148
- package/src/features/saveDataManager/constants.ts +0 -4
- package/src/features/saveDataManager/exports.ts +0 -230
- package/src/features/saveDataManager/load.ts +0 -90
- package/src/features/saveDataManager/main.ts +0 -187
- package/src/features/saveDataManager/maps.ts +0 -13
- package/src/features/saveDataManager/merge.ts +0 -182
- package/src/features/saveDataManager/save.ts +0 -66
- package/src/features/saveDataManager/serializationBrand.ts +0 -15
- package/src/features/sirenHelpers.ts +0 -129
- package/src/features/taintedLazarusPlayers.ts +0 -113
- package/src/featuresInitialized.ts +0 -20
- package/src/functions/array.ts +0 -412
- package/src/functions/benchmark.ts +0 -36
- package/src/functions/bitwise.ts +0 -24
- package/src/functions/boss.ts +0 -227
- package/src/functions/cacheFlag.ts +0 -12
- package/src/functions/cards.ts +0 -267
- package/src/functions/challenges.ts +0 -11
- package/src/functions/character.ts +0 -124
- package/src/functions/charge.ts +0 -237
- package/src/functions/chargeBar.ts +0 -67
- package/src/functions/collectibleCacheFlag.ts +0 -90
- package/src/functions/collectibleSet.ts +0 -57
- package/src/functions/collectibleTag.ts +0 -89
- package/src/functions/collectibles.ts +0 -610
- package/src/functions/color.ts +0 -149
- package/src/functions/debug.ts +0 -65
- package/src/functions/deepCopy.ts +0 -508
- package/src/functions/deepCopyTests.ts +0 -390
- package/src/functions/direction.ts +0 -16
- package/src/functions/doors.ts +0 -343
- package/src/functions/easing.ts +0 -182
- package/src/functions/eden.ts +0 -47
- package/src/functions/entity.ts +0 -352
- package/src/functions/entitySpecific.ts +0 -889
- package/src/functions/entityTypes.ts +0 -6
- package/src/functions/enums.ts +0 -145
- package/src/functions/familiars.ts +0 -106
- package/src/functions/flag.ts +0 -165
- package/src/functions/flying.ts +0 -117
- package/src/functions/globals.ts +0 -249
- package/src/functions/gridEntity.ts +0 -511
- package/src/functions/gridEntitySpecific.ts +0 -112
- package/src/functions/input.ts +0 -139
- package/src/functions/isaacAPIClass.ts +0 -65
- package/src/functions/jsonHelpers.ts +0 -45
- package/src/functions/jsonRoom.ts +0 -100
- package/src/functions/kColor.ts +0 -130
- package/src/functions/language.ts +0 -13
- package/src/functions/level.ts +0 -31
- package/src/functions/log.ts +0 -660
- package/src/functions/map.ts +0 -56
- package/src/functions/math.ts +0 -149
- package/src/functions/mergeTests.ts +0 -288
- package/src/functions/npc.ts +0 -148
- package/src/functions/pickupVariants.ts +0 -60
- package/src/functions/pickups.ts +0 -449
- package/src/functions/pills.ts +0 -182
- package/src/functions/player.ts +0 -975
- package/src/functions/playerDataStructures.ts +0 -150
- package/src/functions/playerHealth.ts +0 -318
- package/src/functions/playerIndex.ts +0 -195
- package/src/functions/pocketItems.ts +0 -149
- package/src/functions/positionVelocity.ts +0 -188
- package/src/functions/random.ts +0 -77
- package/src/functions/revive.ts +0 -201
- package/src/functions/rng.ts +0 -177
- package/src/functions/roomData.ts +0 -199
- package/src/functions/roomGrid.ts +0 -109
- package/src/functions/roomShape.ts +0 -80
- package/src/functions/rooms.ts +0 -667
- package/src/functions/run.ts +0 -36
- package/src/functions/seeds.ts +0 -19
- package/src/functions/serialization.ts +0 -97
- package/src/functions/set.ts +0 -95
- package/src/functions/sound.ts +0 -9
- package/src/functions/spawnCollectible.ts +0 -104
- package/src/functions/sprite.ts +0 -107
- package/src/functions/stage.ts +0 -125
- package/src/functions/string.ts +0 -47
- package/src/functions/table.ts +0 -139
- package/src/functions/tears.ts +0 -32
- package/src/functions/transformations.ts +0 -137
- package/src/functions/trinketCacheFlag.ts +0 -60
- package/src/functions/trinketGive.ts +0 -157
- package/src/functions/trinkets.ts +0 -215
- package/src/functions/tstlClass.ts +0 -91
- package/src/functions/ui.ts +0 -138
- package/src/functions/utils.ts +0 -200
- package/src/functions/vector.ts +0 -145
- package/src/index.ts +0 -162
- package/src/initCustomCallbacks.ts +0 -120
- package/src/initFeatures.ts +0 -37
- package/src/interfaces/AddCallbackParameterCustom.ts +0 -174
- package/src/interfaces/ChargeBarSprites.ts +0 -12
- package/src/interfaces/JSONDoor.ts +0 -13
- package/src/interfaces/JSONEntity.ts +0 -16
- package/src/interfaces/JSONRoom.ts +0 -36
- package/src/interfaces/JSONRooms.ts +0 -12
- package/src/interfaces/JSONSpawn.ts +0 -14
- package/src/interfaces/PlayerHealth.ts +0 -16
- package/src/interfaces/PocketItemDescription.ts +0 -9
- package/src/interfaces/SaveData.ts +0 -29
- package/src/interfaces/TrinketSituation.ts +0 -9
- package/src/interfaces/private/TSTLClassMetatable.ts +0 -8
- package/src/maps/cardMap.ts +0 -209
- package/src/maps/characterMap.ts +0 -87
- package/src/maps/collectibleDescriptionMap.ts +0 -732
- package/src/maps/collectibleNameMap.ts +0 -731
- package/src/maps/defaultPlayerStatMap.ts +0 -17
- package/src/maps/gridEntityTypeToBrokenStateMap.ts +0 -50
- package/src/maps/gridEntityXMLMap.ts +0 -176
- package/src/maps/pillEffectMap.ts +0 -88
- package/src/maps/roomShapeToTopLeftWallGridIndexMap.ts +0 -18
- package/src/maps/roomTypeMap.ts +0 -40
- package/src/maps/trinketDescriptionMap.ts +0 -200
- package/src/maps/trinketNameMap.ts +0 -198
- package/src/objects/LRoomShapeToRectangles.ts +0 -44
- package/src/objects/callbackRegisterFunctions.ts +0 -171
- package/src/objects/cardDescriptions.ts +0 -105
- package/src/objects/cardNames.ts +0 -105
- package/src/objects/cardTypes.ts +0 -104
- package/src/objects/challengeNames.ts +0 -52
- package/src/objects/characterNames.ts +0 -48
- package/src/objects/coinSubTypeToValue.ts +0 -14
- package/src/objects/colors.ts +0 -16
- package/src/objects/directionNames.ts +0 -11
- package/src/objects/directionToDegrees.ts +0 -11
- package/src/objects/directionToVector.ts +0 -12
- package/src/objects/doorSlotFlagToDoorSlot.ts +0 -16
- package/src/objects/doorSlotToDirection.ts +0 -14
- package/src/objects/isaacAPIClassTypeToBrand.ts +0 -11
- package/src/objects/isaacAPIClassTypeToCopyFunction.ts +0 -18
- package/src/objects/languageNames.ts +0 -13
- package/src/objects/pillEffectClasses.ts +0 -63
- package/src/objects/pillEffectNames.ts +0 -57
- package/src/objects/pillEffectTypes.ts +0 -62
- package/src/objects/roomShapeBounds.ts +0 -71
- package/src/objects/roomShapeLayoutSizes.ts +0 -45
- package/src/objects/roomShapeToBottomRightPosition.ts +0 -25
- package/src/objects/roomShapeToDoorSlots.ts +0 -83
- package/src/objects/roomShapeToDoorSlotsToGridIndexDelta.ts +0 -127
- package/src/objects/roomShapeToGridWidth.ts +0 -21
- package/src/objects/roomShapeToTopLeftPosition.ts +0 -26
- package/src/objects/roomShapeVolumes.ts +0 -38
- package/src/objects/roomTypeNames.ts +0 -36
- package/src/objects/serializedIsaacAPIClassTypeToIdentityFunction.ts +0 -14
- package/src/objects/stageTypeToLetter.ts +0 -15
- package/src/objects/transformationNames.ts +0 -20
- package/src/patchErrorFunctions.ts +0 -92
- package/src/sets/LRoomShapesSet.ts +0 -8
- package/src/sets/bossSets.ts +0 -470
- package/src/sets/charactersThatStartWithAnActiveItemSet.ts +0 -16
- package/src/sets/charactersWithBlackHeartFromEternalHeartSet.ts +0 -7
- package/src/sets/charactersWithFreeDevilDealsSet.ts +0 -4
- package/src/sets/charactersWithNoRedHeartsSet.ts +0 -17
- package/src/sets/charactersWithNoSoulHeartsSet.ts +0 -14
- package/src/sets/chestPickupVariantsSet.ts +0 -16
- package/src/sets/familiarsThatShootPlayerTearsSet.ts +0 -13
- package/src/sets/lostStyleCharactersSet.ts +0 -13
- package/src/sets/mineShaftRoomSubTypesSet.ts +0 -10
- package/src/sets/redHeartSubTypesSet.ts +0 -7
- package/src/sets/sinEntityTypesSet.ts +0 -11
- package/src/sets/singleUseActiveCollectibleTypesSet.ts +0 -13
- package/src/sets/storyBossesSet.ts +0 -17
- package/src/types/AnyEntity.ts +0 -12
- package/src/types/AwaitingTextInput.d.ts +0 -2
- package/src/types/CollectibleIndex.ts +0 -14
- package/src/types/PickingUpItem.ts +0 -89
- package/src/types/PlayerIndex.ts +0 -13
- package/src/types/private/IsaacAPIClass.ts +0 -3
- package/src/types/private/SerializedIsaacAPIClass.ts +0 -3
- package/src/types/private/TSTLClass.ts +0 -3
- package/src/upgradeMod.ts +0 -55
- package/tsconfig.json +0 -42
- package/typedoc.json +0 -158
- package/website-root.md +0 -11
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
local ____exports = {}
|
|
2
|
+
local OBJECT_NAME
|
|
3
|
+
local ____SerializationBrand = require("enums.private.SerializationBrand")
|
|
4
|
+
local SerializationBrand = ____SerializationBrand.SerializationBrand
|
|
5
|
+
local ____SerializationType = require("enums.SerializationType")
|
|
6
|
+
local SerializationType = ____SerializationType.SerializationType
|
|
7
|
+
local ____isaacAPIClass = require("functions.isaacAPIClass")
|
|
8
|
+
local isaacAPIClassEquals = ____isaacAPIClass.isaacAPIClassEquals
|
|
9
|
+
local isIsaacAPIClassOfType = ____isaacAPIClass.isIsaacAPIClassOfType
|
|
10
|
+
local ____table = require("functions.table")
|
|
11
|
+
local copyValuesToTable = ____table.copyValuesToTable
|
|
12
|
+
local getNumbersFromTable = ____table.getNumbersFromTable
|
|
13
|
+
local tableHasKeys = ____table.tableHasKeys
|
|
14
|
+
local ____utils = require("functions.utils")
|
|
15
|
+
local ensureAllCases = ____utils.ensureAllCases
|
|
16
|
+
--- Helper function to check if something is an instantiated Color object.
|
|
17
|
+
--
|
|
18
|
+
-- @category color
|
|
19
|
+
function ____exports.isColor(self, object)
|
|
20
|
+
return isIsaacAPIClassOfType(nil, object, OBJECT_NAME)
|
|
21
|
+
end
|
|
22
|
+
local KEYS = {
|
|
23
|
+
"R",
|
|
24
|
+
"G",
|
|
25
|
+
"B",
|
|
26
|
+
"A",
|
|
27
|
+
"RO",
|
|
28
|
+
"GO",
|
|
29
|
+
"BO"
|
|
30
|
+
}
|
|
31
|
+
OBJECT_NAME = "Color"
|
|
32
|
+
---
|
|
33
|
+
-- @category color
|
|
34
|
+
function ____exports.colorEquals(self, color1, color2)
|
|
35
|
+
return isaacAPIClassEquals(nil, color1, color2, KEYS)
|
|
36
|
+
end
|
|
37
|
+
--- Helper function to copy a `Color` object.
|
|
38
|
+
--
|
|
39
|
+
-- @param color The Color object to copy. In the case of deserialization, this will actually be a
|
|
40
|
+
-- Lua table instead of an instantiated Color class.
|
|
41
|
+
-- @param serializationType Default is `SerializationType.NONE`.
|
|
42
|
+
-- @category color
|
|
43
|
+
function ____exports.copyColor(self, color, serializationType)
|
|
44
|
+
if serializationType == nil then
|
|
45
|
+
serializationType = SerializationType.NONE
|
|
46
|
+
end
|
|
47
|
+
repeat
|
|
48
|
+
local ____switch4 = serializationType
|
|
49
|
+
local ____cond4 = ____switch4 == SerializationType.NONE
|
|
50
|
+
if ____cond4 then
|
|
51
|
+
do
|
|
52
|
+
if not ____exports.isColor(nil, color) then
|
|
53
|
+
error(((("Failed to copy a " .. OBJECT_NAME) .. " object since the provided object was not a userdata ") .. OBJECT_NAME) .. " class.")
|
|
54
|
+
end
|
|
55
|
+
return Color(
|
|
56
|
+
color.R,
|
|
57
|
+
color.G,
|
|
58
|
+
color.B,
|
|
59
|
+
color.A,
|
|
60
|
+
color.RO,
|
|
61
|
+
color.GO,
|
|
62
|
+
color.BO
|
|
63
|
+
)
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
____cond4 = ____cond4 or ____switch4 == SerializationType.SERIALIZE
|
|
67
|
+
if ____cond4 then
|
|
68
|
+
do
|
|
69
|
+
if not ____exports.isColor(nil, color) then
|
|
70
|
+
error(((("Failed to serialize a " .. OBJECT_NAME) .. " object since the provided object was not a userdata ") .. OBJECT_NAME) .. " class.")
|
|
71
|
+
end
|
|
72
|
+
local colorTable = {}
|
|
73
|
+
copyValuesToTable(nil, color, KEYS, colorTable)
|
|
74
|
+
colorTable[SerializationBrand.COLOR] = ""
|
|
75
|
+
return colorTable
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
____cond4 = ____cond4 or ____switch4 == SerializationType.DESERIALIZE
|
|
79
|
+
if ____cond4 then
|
|
80
|
+
do
|
|
81
|
+
local colorType = type(color)
|
|
82
|
+
if ____exports.isColor(nil, color) or colorType ~= "table" then
|
|
83
|
+
error(("Failed to deserialize a " .. OBJECT_NAME) .. " object since the provided object was not a Lua table.")
|
|
84
|
+
end
|
|
85
|
+
local r, g, b, a, ro, go, bo = table.unpack(getNumbersFromTable(
|
|
86
|
+
nil,
|
|
87
|
+
color,
|
|
88
|
+
OBJECT_NAME,
|
|
89
|
+
table.unpack(KEYS)
|
|
90
|
+
))
|
|
91
|
+
if r == nil then
|
|
92
|
+
error(("Failed to deserialize a " .. OBJECT_NAME) .. " object since the provided object did not have a value for: r")
|
|
93
|
+
end
|
|
94
|
+
if g == nil then
|
|
95
|
+
error(("Failed to deserialize a " .. OBJECT_NAME) .. " object since the provided object did not have a value for: g")
|
|
96
|
+
end
|
|
97
|
+
if b == nil then
|
|
98
|
+
error(("Failed to deserialize a " .. OBJECT_NAME) .. " object since the provided object did not have a value for: b")
|
|
99
|
+
end
|
|
100
|
+
return Color(
|
|
101
|
+
r,
|
|
102
|
+
g,
|
|
103
|
+
b,
|
|
104
|
+
a,
|
|
105
|
+
ro,
|
|
106
|
+
go,
|
|
107
|
+
bo
|
|
108
|
+
)
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
do
|
|
112
|
+
do
|
|
113
|
+
return ensureAllCases(nil, serializationType)
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
until true
|
|
117
|
+
end
|
|
118
|
+
--- Returns `Color(1, 1, 1)`.
|
|
119
|
+
--
|
|
120
|
+
-- @category color
|
|
121
|
+
function ____exports.getDefaultColor(self)
|
|
122
|
+
return Color(1, 1, 1)
|
|
123
|
+
end
|
|
124
|
+
--- Used to determine is the given table is a serialized `Color` object created by the save data
|
|
125
|
+
-- manager and/or the `deepCopy` function.
|
|
126
|
+
--
|
|
127
|
+
-- @category color
|
|
128
|
+
function ____exports.isSerializedColor(self, object)
|
|
129
|
+
local objectType = type(object)
|
|
130
|
+
if objectType ~= "table" then
|
|
131
|
+
return false
|
|
132
|
+
end
|
|
133
|
+
local ____table = object
|
|
134
|
+
return tableHasKeys(
|
|
135
|
+
nil,
|
|
136
|
+
____table,
|
|
137
|
+
table.unpack(KEYS)
|
|
138
|
+
) and ____table[SerializationBrand.COLOR] ~= nil
|
|
139
|
+
end
|
|
140
|
+
return ____exports
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helper function to get a stack trace.
|
|
3
|
+
*
|
|
4
|
+
* This will only work if the `--luadebug` launch option is enabled or the Racing+ sandbox is
|
|
5
|
+
* enabled.
|
|
6
|
+
*/
|
|
7
|
+
export declare function getTraceback(): string;
|
|
8
|
+
/**
|
|
9
|
+
* Players can boot the game with an launch option called "--luadebug", which will enable additional
|
|
10
|
+
* functionality that is considered to be unsafe. For more information about this flag, see the
|
|
11
|
+
* wiki: https://bindingofisaacrebirth.fandom.com/wiki/Launch_Options
|
|
12
|
+
*
|
|
13
|
+
* When this flag is enabled, the global environment will be slightly different. The differences are
|
|
14
|
+
* documented here: https://wofsauge.github.io/IsaacDocs/rep/Globals.html
|
|
15
|
+
*
|
|
16
|
+
* This function uses the `package` global variable as a proxy to determine if the "--luadebug" flag
|
|
17
|
+
* is enabled or not.
|
|
18
|
+
*/
|
|
19
|
+
export declare function isLuaDebugEnabled(): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Helper function to print a stack trace to the "log.txt" file, similar to JavaScript's
|
|
22
|
+
* `console.trace` function.
|
|
23
|
+
*
|
|
24
|
+
* This will only work if the `--luadebug` launch option is enabled or the Racing+ sandbox is
|
|
25
|
+
* enabled.
|
|
26
|
+
*/
|
|
27
|
+
export declare function traceback(): void;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
local ____exports = {}
|
|
2
|
+
local ____log = require("functions.log")
|
|
3
|
+
local log = ____log.log
|
|
4
|
+
--- Helper function to get a stack trace.
|
|
5
|
+
--
|
|
6
|
+
-- This will only work if the `--luadebug` launch option is enabled or the Racing+ sandbox is
|
|
7
|
+
-- enabled.
|
|
8
|
+
function ____exports.getTraceback(self)
|
|
9
|
+
if debug ~= nil then
|
|
10
|
+
return debug.traceback()
|
|
11
|
+
end
|
|
12
|
+
if sandboxGetTraceback ~= nil then
|
|
13
|
+
return sandboxGetTraceback()
|
|
14
|
+
end
|
|
15
|
+
return "stack traceback:\n(the \"--luadebug\" flag is not enabled)"
|
|
16
|
+
end
|
|
17
|
+
--- Players can boot the game with an launch option called "--luadebug", which will enable additional
|
|
18
|
+
-- functionality that is considered to be unsafe. For more information about this flag, see the
|
|
19
|
+
-- wiki: https://bindingofisaacrebirth.fandom.com/wiki/Launch_Options
|
|
20
|
+
--
|
|
21
|
+
-- When this flag is enabled, the global environment will be slightly different. The differences are
|
|
22
|
+
-- documented here: https://wofsauge.github.io/IsaacDocs/rep/Globals.html
|
|
23
|
+
--
|
|
24
|
+
-- This function uses the `package` global variable as a proxy to determine if the "--luadebug" flag
|
|
25
|
+
-- is enabled or not.
|
|
26
|
+
function ____exports.isLuaDebugEnabled(self)
|
|
27
|
+
return package ~= nil
|
|
28
|
+
end
|
|
29
|
+
--- Helper function to print a stack trace to the "log.txt" file, similar to JavaScript's
|
|
30
|
+
-- `console.trace` function.
|
|
31
|
+
--
|
|
32
|
+
-- This will only work if the `--luadebug` launch option is enabled or the Racing+ sandbox is
|
|
33
|
+
-- enabled.
|
|
34
|
+
function ____exports.traceback(self)
|
|
35
|
+
local tracebackOutput = ____exports.getTraceback(nil)
|
|
36
|
+
log(tracebackOutput)
|
|
37
|
+
end
|
|
38
|
+
local function setDebugFunctionsGlobal(self)
|
|
39
|
+
if debug == nil and sandboxGetTraceback == nil then
|
|
40
|
+
return
|
|
41
|
+
end
|
|
42
|
+
local globals = _G
|
|
43
|
+
globals.getTraceback = ____exports.getTraceback
|
|
44
|
+
globals.traceback = ____exports.traceback
|
|
45
|
+
end
|
|
46
|
+
if ____exports.isLuaDebugEnabled(nil) or sandboxGetTraceback ~= nil then
|
|
47
|
+
setDebugFunctionsGlobal(nil)
|
|
48
|
+
end
|
|
49
|
+
return ____exports
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { SerializationType } from "../enums/SerializationType";
|
|
2
|
+
/**
|
|
3
|
+
* `deepCopy` is a semi-generic deep cloner. It will recursively copy all of the values so that none
|
|
4
|
+
* of the nested references remain.
|
|
5
|
+
*
|
|
6
|
+
* It supports the following object types:
|
|
7
|
+
*
|
|
8
|
+
* - Primitives (i.e. strings, numbers, and booleans)
|
|
9
|
+
* - `LuaTable` / basic TSTL objects
|
|
10
|
+
* - TSTL `Map`
|
|
11
|
+
* - TSTL `Set`
|
|
12
|
+
* - TSTL classes
|
|
13
|
+
* - `DefaultMap`
|
|
14
|
+
* - Isaac `Color` objects
|
|
15
|
+
* - Isaac `KColor` objects
|
|
16
|
+
* - Isaac `RNG` objects
|
|
17
|
+
* - Isaac `Vector` objects
|
|
18
|
+
*
|
|
19
|
+
* It does not support:
|
|
20
|
+
* - objects with values of `null` (since that transpiles to `nil`)
|
|
21
|
+
* - other Isaac API objects such as `EntityPtr` (that have a type of "userdata")
|
|
22
|
+
*
|
|
23
|
+
* @param value The primitive or object to copy.
|
|
24
|
+
* @param serializationType Has 3 possible values. Can leave objects as-is, or can serialize objects
|
|
25
|
+
* to Lua tables, or can deserialize Lua tables to objects. Default is
|
|
26
|
+
* `SerializationType.NONE`.
|
|
27
|
+
* @param traversalDescription Used to track the current key that we are operating on.
|
|
28
|
+
*/
|
|
29
|
+
export declare function deepCopy(value: unknown, serializationType?: SerializationType, traversalDescription?: string): unknown;
|
|
@@ -0,0 +1,382 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local Set = ____lualib.Set
|
|
3
|
+
local __TS__New = ____lualib.__TS__New
|
|
4
|
+
local __TS__InstanceOf = ____lualib.__TS__InstanceOf
|
|
5
|
+
local Map = ____lualib.Map
|
|
6
|
+
local WeakMap = ____lualib.WeakMap
|
|
7
|
+
local WeakSet = ____lualib.WeakSet
|
|
8
|
+
local __TS__Iterator = ____lualib.__TS__Iterator
|
|
9
|
+
local __TS__ArraySome = ____lualib.__TS__ArraySome
|
|
10
|
+
local ____exports = {}
|
|
11
|
+
local deepCopyTable, deepCopyDefaultMap, deepCopyMap, deepCopySet, deepCopyTSTLClass, deepCopyArray, deepCopyNormalLuaTable, getCopiedEntries, checkMetatable, deepCopyUserdata, COPYABLE_ISAAC_API_CLASS_TYPES_SET
|
|
12
|
+
local ____DefaultMap = require("classes.DefaultMap")
|
|
13
|
+
local DefaultMap = ____DefaultMap.DefaultMap
|
|
14
|
+
local ____CopyableIsaacAPIClassType = require("enums.private.CopyableIsaacAPIClassType")
|
|
15
|
+
local CopyableIsaacAPIClassType = ____CopyableIsaacAPIClassType.CopyableIsaacAPIClassType
|
|
16
|
+
local ____SerializationBrand = require("enums.private.SerializationBrand")
|
|
17
|
+
local SerializationBrand = ____SerializationBrand.SerializationBrand
|
|
18
|
+
local ____SerializationType = require("enums.SerializationType")
|
|
19
|
+
local SerializationType = ____SerializationType.SerializationType
|
|
20
|
+
local ____constants = require("features.saveDataManager.constants")
|
|
21
|
+
local SAVE_DATA_MANAGER_DEBUG = ____constants.SAVE_DATA_MANAGER_DEBUG
|
|
22
|
+
local ____serializationBrand = require("features.saveDataManager.serializationBrand")
|
|
23
|
+
local isSerializationBrand = ____serializationBrand.isSerializationBrand
|
|
24
|
+
local ____array = require("functions.array")
|
|
25
|
+
local isArray = ____array.isArray
|
|
26
|
+
local ____enums = require("functions.enums")
|
|
27
|
+
local getEnumValues = ____enums.getEnumValues
|
|
28
|
+
local ____isaacAPIClass = require("functions.isaacAPIClass")
|
|
29
|
+
local getIsaacAPIClassType = ____isaacAPIClass.getIsaacAPIClassType
|
|
30
|
+
local ____log = require("functions.log")
|
|
31
|
+
local log = ____log.log
|
|
32
|
+
local ____serialization = require("functions.serialization")
|
|
33
|
+
local copyIsaacAPIClass = ____serialization.copyIsaacAPIClass
|
|
34
|
+
local deserializeIsaacAPIClass = ____serialization.deserializeIsaacAPIClass
|
|
35
|
+
local isSerializedIsaacAPIClass = ____serialization.isSerializedIsaacAPIClass
|
|
36
|
+
local ____tstlClass = require("functions.tstlClass")
|
|
37
|
+
local isUserDefinedTSTLClass = ____tstlClass.isUserDefinedTSTLClass
|
|
38
|
+
local newTSTLClass = ____tstlClass.newTSTLClass
|
|
39
|
+
local ____utils = require("functions.utils")
|
|
40
|
+
local ensureAllCases = ____utils.ensureAllCases
|
|
41
|
+
local getTraversalDescription = ____utils.getTraversalDescription
|
|
42
|
+
--- `deepCopy` is a semi-generic deep cloner. It will recursively copy all of the values so that none
|
|
43
|
+
-- of the nested references remain.
|
|
44
|
+
--
|
|
45
|
+
-- It supports the following object types:
|
|
46
|
+
--
|
|
47
|
+
-- - Primitives (i.e. strings, numbers, and booleans)
|
|
48
|
+
-- - `LuaTable` / basic TSTL objects
|
|
49
|
+
-- - TSTL `Map`
|
|
50
|
+
-- - TSTL `Set`
|
|
51
|
+
-- - TSTL classes
|
|
52
|
+
-- - `DefaultMap`
|
|
53
|
+
-- - Isaac `Color` objects
|
|
54
|
+
-- - Isaac `KColor` objects
|
|
55
|
+
-- - Isaac `RNG` objects
|
|
56
|
+
-- - Isaac `Vector` objects
|
|
57
|
+
--
|
|
58
|
+
-- It does not support:
|
|
59
|
+
-- - objects with values of `null` (since that transpiles to `nil`)
|
|
60
|
+
-- - other Isaac API objects such as `EntityPtr` (that have a type of "userdata")
|
|
61
|
+
--
|
|
62
|
+
-- @param value The primitive or object to copy.
|
|
63
|
+
-- @param serializationType Has 3 possible values. Can leave objects as-is, or can serialize objects
|
|
64
|
+
-- to Lua tables, or can deserialize Lua tables to objects. Default is
|
|
65
|
+
-- `SerializationType.NONE`.
|
|
66
|
+
-- @param traversalDescription Used to track the current key that we are operating on.
|
|
67
|
+
function ____exports.deepCopy(self, value, serializationType, traversalDescription)
|
|
68
|
+
if serializationType == nil then
|
|
69
|
+
serializationType = SerializationType.NONE
|
|
70
|
+
end
|
|
71
|
+
if traversalDescription == nil then
|
|
72
|
+
traversalDescription = ""
|
|
73
|
+
end
|
|
74
|
+
if SAVE_DATA_MANAGER_DEBUG then
|
|
75
|
+
local logString = "deepCopy is operating on: " .. traversalDescription
|
|
76
|
+
if serializationType == SerializationType.SERIALIZE then
|
|
77
|
+
logString = logString .. " (serializing)"
|
|
78
|
+
elseif serializationType == SerializationType.DESERIALIZE then
|
|
79
|
+
logString = logString .. " (deserializing)"
|
|
80
|
+
end
|
|
81
|
+
logString = logString .. ": " .. tostring(value)
|
|
82
|
+
log(logString)
|
|
83
|
+
end
|
|
84
|
+
local valueType = type(value)
|
|
85
|
+
repeat
|
|
86
|
+
local ____switch6 = valueType
|
|
87
|
+
local ____cond6 = ____switch6 == "nil" or ____switch6 == "boolean" or ____switch6 == "number" or ____switch6 == "string"
|
|
88
|
+
if ____cond6 then
|
|
89
|
+
do
|
|
90
|
+
return value
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
____cond6 = ____cond6 or (____switch6 == "function" or ____switch6 == "thread")
|
|
94
|
+
if ____cond6 then
|
|
95
|
+
do
|
|
96
|
+
if serializationType == SerializationType.SERIALIZE then
|
|
97
|
+
error((("The deep copy function does not support serialization of \"" .. traversalDescription) .. "\", since it is type: ") .. valueType)
|
|
98
|
+
end
|
|
99
|
+
return value
|
|
100
|
+
end
|
|
101
|
+
end
|
|
102
|
+
____cond6 = ____cond6 or ____switch6 == "table"
|
|
103
|
+
if ____cond6 then
|
|
104
|
+
do
|
|
105
|
+
local valueTable = value
|
|
106
|
+
return deepCopyTable(nil, valueTable, serializationType, traversalDescription)
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
____cond6 = ____cond6 or ____switch6 == "userdata"
|
|
110
|
+
if ____cond6 then
|
|
111
|
+
do
|
|
112
|
+
return deepCopyUserdata(nil, value, serializationType, traversalDescription)
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
do
|
|
116
|
+
do
|
|
117
|
+
return ensureAllCases(nil, valueType)
|
|
118
|
+
end
|
|
119
|
+
end
|
|
120
|
+
until true
|
|
121
|
+
end
|
|
122
|
+
function deepCopyTable(self, ____table, serializationType, traversalDescription)
|
|
123
|
+
if __TS__InstanceOf(____table, DefaultMap) or ____table[SerializationBrand.DEFAULT_MAP] ~= nil then
|
|
124
|
+
return deepCopyDefaultMap(nil, ____table, serializationType, traversalDescription)
|
|
125
|
+
end
|
|
126
|
+
if __TS__InstanceOf(____table, Map) or ____table[SerializationBrand.MAP] ~= nil then
|
|
127
|
+
return deepCopyMap(nil, ____table, serializationType, traversalDescription)
|
|
128
|
+
end
|
|
129
|
+
if __TS__InstanceOf(____table, Set) or ____table[SerializationBrand.SET] ~= nil then
|
|
130
|
+
return deepCopySet(nil, ____table, serializationType, traversalDescription)
|
|
131
|
+
end
|
|
132
|
+
if __TS__InstanceOf(____table, WeakMap) then
|
|
133
|
+
error("The deep copy function does not support copying the \"WeakMap\" class for: " .. traversalDescription)
|
|
134
|
+
end
|
|
135
|
+
if __TS__InstanceOf(____table, WeakSet) then
|
|
136
|
+
error("The deep copy function does not support copying the \"WeakSet\" class for: " .. traversalDescription)
|
|
137
|
+
end
|
|
138
|
+
if isUserDefinedTSTLClass(nil, ____table) then
|
|
139
|
+
return deepCopyTSTLClass(nil, ____table, serializationType, traversalDescription)
|
|
140
|
+
end
|
|
141
|
+
checkMetatable(nil, ____table, traversalDescription)
|
|
142
|
+
if isSerializedIsaacAPIClass(nil, ____table) and serializationType == SerializationType.DESERIALIZE then
|
|
143
|
+
return deserializeIsaacAPIClass(nil, ____table)
|
|
144
|
+
end
|
|
145
|
+
if isArray(nil, ____table) then
|
|
146
|
+
return deepCopyArray(nil, ____table, serializationType, traversalDescription)
|
|
147
|
+
end
|
|
148
|
+
return deepCopyNormalLuaTable(nil, ____table, serializationType, traversalDescription)
|
|
149
|
+
end
|
|
150
|
+
function deepCopyDefaultMap(self, defaultMap, serializationType, traversalDescription)
|
|
151
|
+
local ____temp_0
|
|
152
|
+
if __TS__InstanceOf(defaultMap, DefaultMap) then
|
|
153
|
+
____temp_0 = defaultMap:getConstructorArg()
|
|
154
|
+
else
|
|
155
|
+
____temp_0 = nil
|
|
156
|
+
end
|
|
157
|
+
local constructorArg = ____temp_0
|
|
158
|
+
local newDefaultMap
|
|
159
|
+
repeat
|
|
160
|
+
local ____switch23 = serializationType
|
|
161
|
+
local ____cond23 = ____switch23 == SerializationType.NONE
|
|
162
|
+
if ____cond23 then
|
|
163
|
+
do
|
|
164
|
+
newDefaultMap = __TS__New(DefaultMap, constructorArg)
|
|
165
|
+
break
|
|
166
|
+
end
|
|
167
|
+
end
|
|
168
|
+
____cond23 = ____cond23 or ____switch23 == SerializationType.SERIALIZE
|
|
169
|
+
if ____cond23 then
|
|
170
|
+
do
|
|
171
|
+
if type(constructorArg) ~= "boolean" and type(constructorArg) ~= "number" and type(constructorArg) ~= "string" then
|
|
172
|
+
return deepCopyMap(nil, defaultMap, serializationType, traversalDescription)
|
|
173
|
+
end
|
|
174
|
+
newDefaultMap = {}
|
|
175
|
+
newDefaultMap[SerializationBrand.DEFAULT_MAP] = ""
|
|
176
|
+
newDefaultMap[SerializationBrand.DEFAULT_MAP_VALUE] = constructorArg
|
|
177
|
+
break
|
|
178
|
+
end
|
|
179
|
+
end
|
|
180
|
+
____cond23 = ____cond23 or ____switch23 == SerializationType.DESERIALIZE
|
|
181
|
+
if ____cond23 then
|
|
182
|
+
do
|
|
183
|
+
if __TS__InstanceOf(defaultMap, DefaultMap) then
|
|
184
|
+
error(("The deep copy function failed to deserialize a default map of \"" .. traversalDescription) .. "\", since it was not a Lua table.")
|
|
185
|
+
end
|
|
186
|
+
local defaultMapValue = defaultMap[SerializationBrand.DEFAULT_MAP_VALUE]
|
|
187
|
+
if defaultMapValue == nil then
|
|
188
|
+
error((("The deep copy function failed to deserialize a default map of \"" .. traversalDescription) .. "\", since there was no serialization brand of: ") .. SerializationBrand.DEFAULT_MAP_VALUE)
|
|
189
|
+
end
|
|
190
|
+
newDefaultMap = __TS__New(DefaultMap, defaultMapValue)
|
|
191
|
+
break
|
|
192
|
+
end
|
|
193
|
+
end
|
|
194
|
+
do
|
|
195
|
+
do
|
|
196
|
+
return ensureAllCases(nil, serializationType)
|
|
197
|
+
end
|
|
198
|
+
end
|
|
199
|
+
until true
|
|
200
|
+
local ____getCopiedEntries_result_1 = getCopiedEntries(nil, defaultMap, serializationType, traversalDescription)
|
|
201
|
+
local entries = ____getCopiedEntries_result_1.entries
|
|
202
|
+
local convertedNumberKeysToStrings = ____getCopiedEntries_result_1.convertedNumberKeysToStrings
|
|
203
|
+
if convertedNumberKeysToStrings then
|
|
204
|
+
if __TS__InstanceOf(newDefaultMap, DefaultMap) then
|
|
205
|
+
newDefaultMap:set(SerializationBrand.OBJECT_WITH_NUMBER_KEYS, "")
|
|
206
|
+
else
|
|
207
|
+
newDefaultMap[SerializationBrand.OBJECT_WITH_NUMBER_KEYS] = ""
|
|
208
|
+
end
|
|
209
|
+
end
|
|
210
|
+
for ____, ____value in ipairs(entries) do
|
|
211
|
+
local key = ____value[1]
|
|
212
|
+
local value = ____value[2]
|
|
213
|
+
if __TS__InstanceOf(newDefaultMap, DefaultMap) then
|
|
214
|
+
newDefaultMap:set(key, value)
|
|
215
|
+
else
|
|
216
|
+
newDefaultMap[key] = value
|
|
217
|
+
end
|
|
218
|
+
end
|
|
219
|
+
return newDefaultMap
|
|
220
|
+
end
|
|
221
|
+
function deepCopyMap(self, map, serializationType, traversalDescription)
|
|
222
|
+
local newMap
|
|
223
|
+
if serializationType == SerializationType.SERIALIZE then
|
|
224
|
+
newMap = {}
|
|
225
|
+
newMap[SerializationBrand.MAP] = ""
|
|
226
|
+
else
|
|
227
|
+
newMap = __TS__New(Map)
|
|
228
|
+
end
|
|
229
|
+
local ____getCopiedEntries_result_2 = getCopiedEntries(nil, map, serializationType, traversalDescription)
|
|
230
|
+
local entries = ____getCopiedEntries_result_2.entries
|
|
231
|
+
local convertedNumberKeysToStrings = ____getCopiedEntries_result_2.convertedNumberKeysToStrings
|
|
232
|
+
if convertedNumberKeysToStrings then
|
|
233
|
+
if __TS__InstanceOf(newMap, Map) then
|
|
234
|
+
newMap:set(SerializationBrand.OBJECT_WITH_NUMBER_KEYS, "")
|
|
235
|
+
else
|
|
236
|
+
newMap[SerializationBrand.OBJECT_WITH_NUMBER_KEYS] = ""
|
|
237
|
+
end
|
|
238
|
+
end
|
|
239
|
+
for ____, ____value in ipairs(entries) do
|
|
240
|
+
local key = ____value[1]
|
|
241
|
+
local value = ____value[2]
|
|
242
|
+
if __TS__InstanceOf(newMap, Map) then
|
|
243
|
+
newMap:set(key, value)
|
|
244
|
+
else
|
|
245
|
+
newMap[key] = value
|
|
246
|
+
end
|
|
247
|
+
end
|
|
248
|
+
return newMap
|
|
249
|
+
end
|
|
250
|
+
function deepCopySet(self, set, serializationType, traversalDescription)
|
|
251
|
+
local newSet
|
|
252
|
+
if serializationType == SerializationType.SERIALIZE then
|
|
253
|
+
newSet = {}
|
|
254
|
+
newSet[SerializationBrand.SET] = ""
|
|
255
|
+
else
|
|
256
|
+
newSet = __TS__New(Set)
|
|
257
|
+
end
|
|
258
|
+
local ____getCopiedEntries_result_3 = getCopiedEntries(nil, set, serializationType, traversalDescription)
|
|
259
|
+
local entries = ____getCopiedEntries_result_3.entries
|
|
260
|
+
local convertedNumberKeysToStrings = ____getCopiedEntries_result_3.convertedNumberKeysToStrings
|
|
261
|
+
if convertedNumberKeysToStrings then
|
|
262
|
+
if __TS__InstanceOf(newSet, Set) then
|
|
263
|
+
error("The deep copy function cannot convert number keys to strings for a Set.")
|
|
264
|
+
else
|
|
265
|
+
newSet[SerializationBrand.OBJECT_WITH_NUMBER_KEYS] = ""
|
|
266
|
+
end
|
|
267
|
+
end
|
|
268
|
+
for ____, ____value in ipairs(entries) do
|
|
269
|
+
local key = ____value[1]
|
|
270
|
+
if __TS__InstanceOf(newSet, Set) then
|
|
271
|
+
newSet:add(key)
|
|
272
|
+
else
|
|
273
|
+
newSet[key] = ""
|
|
274
|
+
end
|
|
275
|
+
end
|
|
276
|
+
return newSet
|
|
277
|
+
end
|
|
278
|
+
function deepCopyTSTLClass(self, tstlClass, serializationType, traversalDescription)
|
|
279
|
+
local newClass
|
|
280
|
+
if serializationType == SerializationType.SERIALIZE then
|
|
281
|
+
newClass = {}
|
|
282
|
+
else
|
|
283
|
+
newClass = newTSTLClass(nil, tstlClass)
|
|
284
|
+
end
|
|
285
|
+
local ____getCopiedEntries_result_4 = getCopiedEntries(nil, tstlClass, serializationType, traversalDescription)
|
|
286
|
+
local entries = ____getCopiedEntries_result_4.entries
|
|
287
|
+
local convertedNumberKeysToStrings = ____getCopiedEntries_result_4.convertedNumberKeysToStrings
|
|
288
|
+
if convertedNumberKeysToStrings then
|
|
289
|
+
newClass[SerializationBrand.OBJECT_WITH_NUMBER_KEYS] = ""
|
|
290
|
+
end
|
|
291
|
+
for ____, ____value in ipairs(entries) do
|
|
292
|
+
local key = ____value[1]
|
|
293
|
+
local value = ____value[2]
|
|
294
|
+
newClass[key] = value
|
|
295
|
+
end
|
|
296
|
+
return newClass
|
|
297
|
+
end
|
|
298
|
+
function deepCopyArray(self, array, serializationType, traversalDescription)
|
|
299
|
+
local newArray = {}
|
|
300
|
+
for ____, value in ipairs(array) do
|
|
301
|
+
local newValue = ____exports.deepCopy(nil, value, serializationType, traversalDescription)
|
|
302
|
+
newArray[#newArray + 1] = newValue
|
|
303
|
+
end
|
|
304
|
+
return newArray
|
|
305
|
+
end
|
|
306
|
+
function deepCopyNormalLuaTable(self, ____table, serializationType, traversalDescription)
|
|
307
|
+
local newTable = {}
|
|
308
|
+
local ____getCopiedEntries_result_5 = getCopiedEntries(nil, ____table, serializationType, traversalDescription)
|
|
309
|
+
local entries = ____getCopiedEntries_result_5.entries
|
|
310
|
+
local convertedNumberKeysToStrings = ____getCopiedEntries_result_5.convertedNumberKeysToStrings
|
|
311
|
+
if convertedNumberKeysToStrings then
|
|
312
|
+
newTable[SerializationBrand.OBJECT_WITH_NUMBER_KEYS] = ""
|
|
313
|
+
end
|
|
314
|
+
for ____, ____value in ipairs(entries) do
|
|
315
|
+
local key = ____value[1]
|
|
316
|
+
local value = ____value[2]
|
|
317
|
+
newTable[key] = value
|
|
318
|
+
end
|
|
319
|
+
return newTable
|
|
320
|
+
end
|
|
321
|
+
function getCopiedEntries(self, object, serializationType, traversalDescription)
|
|
322
|
+
local entries = {}
|
|
323
|
+
if __TS__InstanceOf(object, Map) or __TS__InstanceOf(object, Set) then
|
|
324
|
+
for ____, ____value in __TS__Iterator(object:entries()) do
|
|
325
|
+
local key = ____value[1]
|
|
326
|
+
local value = ____value[2]
|
|
327
|
+
entries[#entries + 1] = {key, value}
|
|
328
|
+
end
|
|
329
|
+
else
|
|
330
|
+
for key, value in pairs(object) do
|
|
331
|
+
entries[#entries + 1] = {key, value}
|
|
332
|
+
end
|
|
333
|
+
end
|
|
334
|
+
local hasNumberKeys = __TS__ArraySome(
|
|
335
|
+
entries,
|
|
336
|
+
function(____, ____bindingPattern0)
|
|
337
|
+
local key
|
|
338
|
+
key = ____bindingPattern0[1]
|
|
339
|
+
return type(key) == "number"
|
|
340
|
+
end
|
|
341
|
+
)
|
|
342
|
+
local convertNumberKeysToStrings = serializationType == SerializationType.SERIALIZE and hasNumberKeys
|
|
343
|
+
local copiedEntries = {}
|
|
344
|
+
for ____, ____value in ipairs(entries) do
|
|
345
|
+
local key = ____value[1]
|
|
346
|
+
local value = ____value[2]
|
|
347
|
+
do
|
|
348
|
+
if isSerializationBrand(nil, key) then
|
|
349
|
+
goto __continue78
|
|
350
|
+
end
|
|
351
|
+
traversalDescription = getTraversalDescription(nil, key, traversalDescription)
|
|
352
|
+
local newValue = ____exports.deepCopy(nil, value, serializationType, traversalDescription)
|
|
353
|
+
local keyToUse = convertNumberKeysToStrings and tostring(key) or key
|
|
354
|
+
copiedEntries[#copiedEntries + 1] = {keyToUse, newValue}
|
|
355
|
+
end
|
|
356
|
+
::__continue78::
|
|
357
|
+
end
|
|
358
|
+
return {entries = copiedEntries, convertedNumberKeysToStrings = convertNumberKeysToStrings}
|
|
359
|
+
end
|
|
360
|
+
function checkMetatable(self, ____table, traversalDescription)
|
|
361
|
+
local metatable = getmetatable(____table)
|
|
362
|
+
if metatable == nil then
|
|
363
|
+
return
|
|
364
|
+
end
|
|
365
|
+
local tableDescription = traversalDescription == "" and "the table to copy" or ("\"" .. traversalDescription) .. "\""
|
|
366
|
+
error(("The deepCopy function detected that \"" .. tableDescription) .. "\" has a metatable. Copying tables with metatables is not supported, unless they are explicitly handled by the save data manager. (e.g. TypeScriptToLua Maps, TypeScriptToLua Sets, etc.)")
|
|
367
|
+
end
|
|
368
|
+
function deepCopyUserdata(self, value, serializationType, traversalDescription)
|
|
369
|
+
local classType = getIsaacAPIClassType(nil, value)
|
|
370
|
+
if classType == nil then
|
|
371
|
+
error("The deep copy function was not able to derive the Isaac API class type for: " .. traversalDescription)
|
|
372
|
+
end
|
|
373
|
+
if not COPYABLE_ISAAC_API_CLASS_TYPES_SET:has(classType) then
|
|
374
|
+
error((("The deep copy function does not support copying \"" .. traversalDescription) .. "\", since it is an Isaac API class of type: ") .. classType)
|
|
375
|
+
end
|
|
376
|
+
return copyIsaacAPIClass(nil, value, serializationType)
|
|
377
|
+
end
|
|
378
|
+
COPYABLE_ISAAC_API_CLASS_TYPES_SET = __TS__New(
|
|
379
|
+
Set,
|
|
380
|
+
getEnumValues(nil, CopyableIsaacAPIClassType)
|
|
381
|
+
)
|
|
382
|
+
return ____exports
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function deepCopyTests(): void;
|