isaacscript-common 20.18.1 → 21.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.
Files changed (344) hide show
  1. package/dist/index.d.ts +23 -33
  2. package/dist/isaacscript-common.lua +628 -460
  3. package/dist/src/callbacks.d.ts.map +1 -1
  4. package/dist/src/classes/callbacks/PostBoneSwing.d.ts.map +1 -1
  5. package/dist/src/classes/callbacks/PostBoneSwing.lua +3 -2
  6. package/dist/src/classes/callbacks/PreNewLevel.d.ts.map +1 -1
  7. package/dist/src/classes/callbacks/PreNewLevel.lua +3 -2
  8. package/dist/src/classes/features/other/CustomTrapdoors.d.ts.map +1 -1
  9. package/dist/src/classes/features/other/CustomTrapdoors.lua +4 -2
  10. package/dist/src/classes/features/other/DeployJSONRoom.d.ts.map +1 -1
  11. package/dist/src/classes/features/other/DeployJSONRoom.lua +3 -2
  12. package/dist/src/classes/features/other/ModdedElementSets.d.ts.map +1 -1
  13. package/dist/src/classes/features/other/ModdedElementSets.lua +7 -4
  14. package/dist/src/classes/features/other/SaveDataManager.d.ts.map +1 -1
  15. package/dist/src/classes/features/other/SaveDataManager.lua +3 -2
  16. package/dist/src/classes/features/other/customStages/backdrop.lua +3 -2
  17. package/dist/src/classes/features/other/customStages/shadows.d.ts.map +1 -1
  18. package/dist/src/classes/features/other/customStages/streakText.d.ts.map +1 -1
  19. package/dist/src/classes/features/other/saveDataManager/restoreDefaults.d.ts.map +1 -1
  20. package/dist/src/classes/features/other/saveDataManager/restoreDefaults.lua +3 -2
  21. package/dist/src/core/constants.d.ts +4 -6
  22. package/dist/src/core/constants.d.ts.map +1 -1
  23. package/dist/src/core/constants.lua +17 -13
  24. package/dist/src/features.d.ts.map +1 -1
  25. package/dist/src/functions/bosses.d.ts.map +1 -1
  26. package/dist/src/functions/bosses.lua +3 -2
  27. package/dist/src/functions/cards.lua +3 -3
  28. package/dist/src/functions/characters.d.ts.map +1 -1
  29. package/dist/src/functions/characters.lua +3 -2
  30. package/dist/src/functions/doors.d.ts.map +1 -1
  31. package/dist/src/functions/doors.lua +9 -7
  32. package/dist/src/functions/emptyRoom.d.ts.map +1 -1
  33. package/dist/src/functions/emptyRoom.lua +3 -2
  34. package/dist/src/functions/entities.d.ts.map +1 -1
  35. package/dist/src/functions/entities.lua +4 -1
  36. package/dist/src/functions/globals.d.ts.map +1 -1
  37. package/dist/src/functions/globals.lua +6 -4
  38. package/dist/src/functions/gridEntities.d.ts.map +1 -1
  39. package/dist/src/functions/gridEntities.lua +5 -3
  40. package/dist/src/functions/input.d.ts.map +1 -1
  41. package/dist/src/functions/input.lua +4 -3
  42. package/dist/src/functions/logEntities.d.ts.map +1 -1
  43. package/dist/src/functions/logEntities.lua +3 -2
  44. package/dist/src/functions/npcs.d.ts.map +1 -1
  45. package/dist/src/functions/npcs.lua +4 -3
  46. package/dist/src/functions/playerIndex.d.ts.map +1 -1
  47. package/dist/src/functions/playerIndex.lua +3 -2
  48. package/dist/src/functions/readOnly.d.ts +26 -0
  49. package/dist/src/functions/readOnly.d.ts.map +1 -0
  50. package/dist/src/functions/readOnly.lua +31 -0
  51. package/dist/src/functions/roomGrid.lua +4 -1
  52. package/dist/src/functions/roomShapeWalls.d.ts.map +1 -1
  53. package/dist/src/functions/roomShapeWalls.lua +9 -10
  54. package/dist/src/functions/serialization.d.ts.map +1 -1
  55. package/dist/src/functions/serialization.lua +3 -2
  56. package/dist/src/functions/slots.d.ts.map +1 -1
  57. package/dist/src/functions/slots.lua +3 -2
  58. package/dist/src/functions/stats.d.ts.map +1 -1
  59. package/dist/src/functions/stats.lua +3 -2
  60. package/dist/src/functions/transformations.d.ts.map +1 -1
  61. package/dist/src/functions/transformations.lua +6 -3
  62. package/dist/src/functions/utils.d.ts +1 -1
  63. package/dist/src/functions/utils.lua +1 -1
  64. package/dist/src/index.d.ts +2 -1
  65. package/dist/src/index.d.ts.map +1 -1
  66. package/dist/src/index.lua +16 -0
  67. package/dist/src/maps/PHDPillConversions.d.ts.map +1 -1
  68. package/dist/src/maps/PHDPillConversions.lua +3 -2
  69. package/dist/src/maps/cardNameToTypeMap.d.ts.map +1 -1
  70. package/dist/src/maps/cardNameToTypeMap.lua +3 -2
  71. package/dist/src/maps/characterNameToTypeMap.d.ts.map +1 -1
  72. package/dist/src/maps/characterNameToTypeMap.lua +3 -2
  73. package/dist/src/maps/collectibleDescriptionMap.d.ts.map +1 -1
  74. package/dist/src/maps/collectibleDescriptionMap.lua +3 -2
  75. package/dist/src/maps/collectibleNameToTypeMap.d.ts +5 -0
  76. package/dist/src/maps/collectibleNameToTypeMap.d.ts.map +1 -1
  77. package/dist/src/maps/collectibleNameToTypeMap.lua +10 -8
  78. package/dist/src/maps/collectibleTypeToNameMap.d.ts.map +1 -1
  79. package/dist/src/maps/collectibleTypeToNameMap.lua +3 -2
  80. package/dist/src/maps/defaultPlayerStatMap.d.ts +5 -2
  81. package/dist/src/maps/defaultPlayerStatMap.d.ts.map +1 -1
  82. package/dist/src/maps/defaultPlayerStatMap.lua +3 -2
  83. package/dist/src/maps/falsePHDPillConversions.d.ts.map +1 -1
  84. package/dist/src/maps/falsePHDPillConversions.lua +3 -2
  85. package/dist/src/maps/gridEntityTypeToBrokenStateMap.d.ts +1 -1
  86. package/dist/src/maps/gridEntityTypeToBrokenStateMap.d.ts.map +1 -1
  87. package/dist/src/maps/gridEntityTypeToBrokenStateMap.lua +3 -2
  88. package/dist/src/maps/gridEntityXMLMap.d.ts +1 -4
  89. package/dist/src/maps/gridEntityXMLMap.d.ts.map +1 -1
  90. package/dist/src/maps/gridEntityXMLMap.lua +3 -2
  91. package/dist/src/maps/keyboardToString.d.ts.map +1 -1
  92. package/dist/src/maps/keyboardToString.lua +3 -2
  93. package/dist/src/maps/pillNameToEffectMap.d.ts.map +1 -1
  94. package/dist/src/maps/pillNameToEffectMap.lua +3 -2
  95. package/dist/src/maps/roomNameToTypeMap.d.ts.map +1 -1
  96. package/dist/src/maps/roomNameToTypeMap.lua +3 -2
  97. package/dist/src/maps/roomShapeToTopLeftWallGridIndexMap.d.ts +1 -1
  98. package/dist/src/maps/roomShapeToTopLeftWallGridIndexMap.d.ts.map +1 -1
  99. package/dist/src/maps/roomShapeToTopLeftWallGridIndexMap.lua +3 -2
  100. package/dist/src/maps/transformationNameToPlayerFormMap.d.ts.map +1 -1
  101. package/dist/src/maps/transformationNameToPlayerFormMap.lua +3 -2
  102. package/dist/src/maps/trinketDescriptionMap.d.ts.map +1 -1
  103. package/dist/src/maps/trinketDescriptionMap.lua +3 -2
  104. package/dist/src/maps/trinketNameToTypeMap.d.ts +5 -0
  105. package/dist/src/maps/trinketNameToTypeMap.d.ts.map +1 -1
  106. package/dist/src/maps/trinketNameToTypeMap.lua +10 -8
  107. package/dist/src/maps/trinketTypeToNameMap.d.ts.map +1 -1
  108. package/dist/src/maps/trinketTypeToNameMap.lua +3 -2
  109. package/dist/src/objects/LRoomShapeToRectangles.d.ts +8 -6
  110. package/dist/src/objects/LRoomShapeToRectangles.d.ts.map +1 -1
  111. package/dist/src/objects/LRoomShapeToRectangles.lua +19 -17
  112. package/dist/src/objects/backdropTypeToRockAltType.d.ts.map +1 -1
  113. package/dist/src/objects/bossNamePNGFileNames.d.ts.map +1 -1
  114. package/dist/src/objects/bossPortraitPNGFileNames.d.ts.map +1 -1
  115. package/dist/src/objects/cardDescriptions.d.ts.map +1 -1
  116. package/dist/src/objects/cardNames.d.ts.map +1 -1
  117. package/dist/src/objects/challengeNames.d.ts.map +1 -1
  118. package/dist/src/objects/characterDamageMultipliers.d.ts.map +1 -1
  119. package/dist/src/objects/characterNames.d.ts.map +1 -1
  120. package/dist/src/objects/coinSubTypeToValue.d.ts.map +1 -1
  121. package/dist/src/objects/directionNames.d.ts.map +1 -1
  122. package/dist/src/objects/directionToDegrees.d.ts.map +1 -1
  123. package/dist/src/objects/directionToMoveAction.d.ts.map +1 -1
  124. package/dist/src/objects/directionToShootAction.d.ts.map +1 -1
  125. package/dist/src/objects/directionToVector.d.ts +5 -2
  126. package/dist/src/objects/directionToVector.d.ts.map +1 -1
  127. package/dist/src/objects/directionToVector.lua +6 -4
  128. package/dist/src/objects/doorSlotFlagToDoorSlot.d.ts.map +1 -1
  129. package/dist/src/objects/doorSlotToDirection.d.ts.map +1 -1
  130. package/dist/src/objects/doorSlotToDoorSlotFlag.d.ts.map +1 -1
  131. package/dist/src/objects/isaacAPIClassTypeToBrand.d.ts.map +1 -1
  132. package/dist/src/objects/languageNames.d.ts.map +1 -1
  133. package/dist/src/objects/oppositeDoorSlots.d.ts.map +1 -1
  134. package/dist/src/objects/pillEffectClasses.d.ts.map +1 -1
  135. package/dist/src/objects/pillEffectNames.d.ts.map +1 -1
  136. package/dist/src/objects/pillEffectTypes.d.ts.map +1 -1
  137. package/dist/src/objects/playerNamePNGFileNames.d.ts.map +1 -1
  138. package/dist/src/objects/playerPortraitPNGFileNames.d.ts.map +1 -1
  139. package/dist/src/objects/roomShapeBounds.d.ts +12 -2
  140. package/dist/src/objects/roomShapeBounds.d.ts.map +1 -1
  141. package/dist/src/objects/roomShapeCorners.d.ts +237 -3
  142. package/dist/src/objects/roomShapeCorners.d.ts.map +1 -1
  143. package/dist/src/objects/roomShapeCorners.lua +58 -56
  144. package/dist/src/objects/roomShapeLayoutSizes.d.ts +12 -2
  145. package/dist/src/objects/roomShapeLayoutSizes.d.ts.map +1 -1
  146. package/dist/src/objects/roomShapeToBottomRightPosition.d.ts +12 -2
  147. package/dist/src/objects/roomShapeToBottomRightPosition.d.ts.map +1 -1
  148. package/dist/src/objects/roomShapeToBottomRightPosition.lua +10 -8
  149. package/dist/src/objects/roomShapeToDoorSlotCoordinates.d.ts +88 -2
  150. package/dist/src/objects/roomShapeToDoorSlotCoordinates.d.ts.map +1 -1
  151. package/dist/src/objects/roomShapeToDoorSlotCoordinates.lua +71 -74
  152. package/dist/src/objects/roomShapeToDoorSlots.d.ts +13 -2
  153. package/dist/src/objects/roomShapeToDoorSlots.d.ts.map +1 -1
  154. package/dist/src/objects/roomShapeToDoorSlots.lua +10 -9
  155. package/dist/src/objects/roomShapeToDoorSlotsToGridIndexDelta.d.ts.map +1 -1
  156. package/dist/src/objects/roomShapeToDoorSlotsToGridIndexDelta.lua +14 -13
  157. package/dist/src/objects/roomShapeToGridWidth.d.ts.map +1 -1
  158. package/dist/src/objects/roomShapeToTopLeftPosition.d.ts +12 -2
  159. package/dist/src/objects/roomShapeToTopLeftPosition.d.ts.map +1 -1
  160. package/dist/src/objects/roomShapeToTopLeftPosition.lua +5 -3
  161. package/dist/src/objects/roomShapeVolumes.d.ts.map +1 -1
  162. package/dist/src/objects/roomTypeGotoPrefixes.d.ts.map +1 -1
  163. package/dist/src/objects/roomTypeNames.d.ts.map +1 -1
  164. package/dist/src/objects/stageToMusic.d.ts.map +1 -1
  165. package/dist/src/objects/stageTypeSuffixes.d.ts.map +1 -1
  166. package/dist/src/objects/stageTypeToLetter.d.ts.map +1 -1
  167. package/dist/src/objects/transformationNames.d.ts.map +1 -1
  168. package/dist/src/objects/versusScreenBackgroundColors.d.ts +29 -2
  169. package/dist/src/objects/versusScreenBackgroundColors.d.ts.map +1 -1
  170. package/dist/src/objects/versusScreenBackgroundColors.lua +29 -27
  171. package/dist/src/objects/versusScreenDirtSpotColors.d.ts +29 -2
  172. package/dist/src/objects/versusScreenDirtSpotColors.d.ts.map +1 -1
  173. package/dist/src/objects/versusScreenDirtSpotColors.lua +29 -27
  174. package/dist/src/sets/LRoomShapesSet.d.ts.map +1 -1
  175. package/dist/src/sets/LRoomShapesSet.lua +3 -2
  176. package/dist/src/sets/bossSets.d.ts +2 -3
  177. package/dist/src/sets/bossSets.d.ts.map +1 -1
  178. package/dist/src/sets/bossSets.lua +52 -49
  179. package/dist/src/sets/charactersThatStartWithAnActiveItemSet.d.ts.map +1 -1
  180. package/dist/src/sets/charactersThatStartWithAnActiveItemSet.lua +3 -2
  181. package/dist/src/sets/charactersWithBlackHeartFromEternalHeartSet.d.ts.map +1 -1
  182. package/dist/src/sets/charactersWithBlackHeartFromEternalHeartSet.lua +3 -2
  183. package/dist/src/sets/charactersWithFreeDevilDealsSet.d.ts.map +1 -1
  184. package/dist/src/sets/charactersWithFreeDevilDealsSet.lua +3 -2
  185. package/dist/src/sets/charactersWithNoRedHeartsSet.d.ts.map +1 -1
  186. package/dist/src/sets/charactersWithNoRedHeartsSet.lua +3 -2
  187. package/dist/src/sets/charactersWithNoSoulHeartsSet.d.ts.map +1 -1
  188. package/dist/src/sets/charactersWithNoSoulHeartsSet.lua +3 -2
  189. package/dist/src/sets/chestPickupVariantsSet.d.ts.map +1 -1
  190. package/dist/src/sets/chestPickupVariantsSet.lua +3 -2
  191. package/dist/src/sets/consoleCommandsSet.d.ts.map +1 -1
  192. package/dist/src/sets/consoleCommandsSet.lua +3 -2
  193. package/dist/src/sets/entitiesWithArmorSet.d.ts.map +1 -1
  194. package/dist/src/sets/entitiesWithArmorSet.lua +3 -2
  195. package/dist/src/sets/familiarsThatShootPlayerTearsSet.d.ts.map +1 -1
  196. package/dist/src/sets/familiarsThatShootPlayerTearsSet.lua +3 -2
  197. package/dist/src/sets/itemConfigCardTypesForCardsSet.d.ts +4 -0
  198. package/dist/src/sets/itemConfigCardTypesForCardsSet.d.ts.map +1 -0
  199. package/dist/src/sets/itemConfigCardTypesForCardsSet.lua +10 -0
  200. package/dist/src/sets/lostStyleCharactersSet.d.ts.map +1 -1
  201. package/dist/src/sets/lostStyleCharactersSet.lua +3 -2
  202. package/dist/src/sets/mineShaftRoomSubTypesSet.d.ts.map +1 -1
  203. package/dist/src/sets/mineShaftRoomSubTypesSet.lua +3 -2
  204. package/dist/src/sets/narrowRoomShapesSet.d.ts.map +1 -1
  205. package/dist/src/sets/narrowRoomShapesSet.lua +3 -2
  206. package/dist/src/sets/redHeartSubTypesSet.d.ts.map +1 -1
  207. package/dist/src/sets/redHeartSubTypesSet.lua +3 -2
  208. package/dist/src/sets/sinEntityTypesSet.d.ts.map +1 -1
  209. package/dist/src/sets/sinEntityTypesSet.lua +3 -2
  210. package/dist/src/sets/singleUseActiveCollectibleTypesSet.d.ts.map +1 -1
  211. package/dist/src/sets/singleUseActiveCollectibleTypesSet.lua +3 -2
  212. package/dist/src/sets/storyBossesSet.d.ts.map +1 -1
  213. package/dist/src/sets/storyBossesSet.lua +3 -2
  214. package/dist/src/types/PickingUpItem.d.ts.map +1 -1
  215. package/dist/src/types/PickingUpItem.lua +3 -2
  216. package/dist/src/types/ReadonlyMap.d.ts +9 -0
  217. package/dist/src/types/ReadonlyMap.d.ts.map +1 -0
  218. package/dist/src/types/ReadonlyMap.lua +6 -0
  219. package/dist/src/types/ReadonlySet.d.ts +8 -0
  220. package/dist/src/types/ReadonlySet.d.ts.map +1 -0
  221. package/dist/src/types/ReadonlySet.lua +6 -0
  222. package/package.json +1 -1
  223. package/src/callbacks.ts +1 -2
  224. package/src/classes/callbacks/PostBoneSwing.ts +2 -1
  225. package/src/classes/callbacks/PreNewLevel.ts +2 -1
  226. package/src/classes/features/other/CustomTrapdoors.ts +2 -1
  227. package/src/classes/features/other/DeployJSONRoom.ts +5 -2
  228. package/src/classes/features/other/ModdedElementSets.ts +20 -22
  229. package/src/classes/features/other/SaveDataManager.ts +2 -1
  230. package/src/classes/features/other/customStages/backdrop.ts +3 -3
  231. package/src/classes/features/other/customStages/shadows.ts +1 -2
  232. package/src/classes/features/other/customStages/streakText.ts +1 -2
  233. package/src/classes/features/other/saveDataManager/restoreDefaults.ts +2 -1
  234. package/src/core/constants.ts +18 -17
  235. package/src/features.ts +1 -2
  236. package/src/functions/bosses.ts +2 -1
  237. package/src/functions/cards.ts +2 -2
  238. package/src/functions/characters.ts +2 -1
  239. package/src/functions/doors.ts +15 -4
  240. package/src/functions/emptyRoom.ts +2 -1
  241. package/src/functions/entities.ts +2 -1
  242. package/src/functions/globals.ts +4 -3
  243. package/src/functions/gridEntities.ts +5 -4
  244. package/src/functions/input.ts +3 -2
  245. package/src/functions/logEntities.ts +2 -1
  246. package/src/functions/npcs.ts +3 -2
  247. package/src/functions/playerIndex.ts +2 -1
  248. package/src/functions/readOnly.ts +42 -0
  249. package/src/functions/roomGrid.ts +2 -2
  250. package/src/functions/roomShapeWalls.ts +3 -5
  251. package/src/functions/serialization.ts +2 -3
  252. package/src/functions/slots.ts +2 -1
  253. package/src/functions/stats.ts +2 -1
  254. package/src/functions/transformations.ts +19 -18
  255. package/src/functions/utils.ts +1 -1
  256. package/src/index.ts +2 -1
  257. package/src/maps/PHDPillConversions.ts +19 -19
  258. package/src/maps/cardNameToTypeMap.ts +2 -1
  259. package/src/maps/characterNameToTypeMap.ts +86 -86
  260. package/src/maps/collectibleDescriptionMap.ts +726 -724
  261. package/src/maps/collectibleNameToTypeMap.ts +10 -7
  262. package/src/maps/collectibleTypeToNameMap.ts +3 -4
  263. package/src/maps/defaultPlayerStatMap.ts +2 -1
  264. package/src/maps/falsePHDPillConversions.ts +36 -33
  265. package/src/maps/gridEntityTypeToBrokenStateMap.ts +3 -2
  266. package/src/maps/gridEntityXMLMap.ts +3 -2
  267. package/src/maps/keyboardToString.ts +3 -2
  268. package/src/maps/pillNameToEffectMap.ts +85 -86
  269. package/src/maps/roomNameToTypeMap.ts +2 -1
  270. package/src/maps/roomShapeToTopLeftWallGridIndexMap.ts +3 -2
  271. package/src/maps/transformationNameToPlayerFormMap.ts +3 -2
  272. package/src/maps/trinketDescriptionMap.ts +191 -192
  273. package/src/maps/trinketNameToTypeMap.ts +10 -7
  274. package/src/maps/trinketTypeToNameMap.ts +191 -193
  275. package/src/objects/LRoomShapeToRectangles.ts +35 -28
  276. package/src/objects/backdropTypeToRockAltType.ts +1 -2
  277. package/src/objects/bossNamePNGFileNames.ts +1 -2
  278. package/src/objects/bossPortraitPNGFileNames.ts +1 -2
  279. package/src/objects/cardDescriptions.ts +1 -2
  280. package/src/objects/cardNames.ts +1 -2
  281. package/src/objects/challengeNames.ts +1 -2
  282. package/src/objects/characterDamageMultipliers.ts +1 -2
  283. package/src/objects/characterNames.ts +1 -2
  284. package/src/objects/coinSubTypeToValue.ts +1 -2
  285. package/src/objects/directionNames.ts +1 -2
  286. package/src/objects/directionToDegrees.ts +1 -2
  287. package/src/objects/directionToMoveAction.ts +1 -2
  288. package/src/objects/directionToShootAction.ts +1 -2
  289. package/src/objects/directionToVector.ts +7 -10
  290. package/src/objects/doorSlotFlagToDoorSlot.ts +1 -2
  291. package/src/objects/doorSlotToDirection.ts +1 -2
  292. package/src/objects/doorSlotToDoorSlotFlag.ts +1 -2
  293. package/src/objects/isaacAPIClassTypeToBrand.ts +1 -5
  294. package/src/objects/languageNames.ts +1 -2
  295. package/src/objects/oppositeDoorSlots.ts +1 -2
  296. package/src/objects/pillEffectClasses.ts +1 -2
  297. package/src/objects/pillEffectNames.ts +1 -2
  298. package/src/objects/pillEffectTypes.ts +1 -2
  299. package/src/objects/playerNamePNGFileNames.ts +1 -2
  300. package/src/objects/playerPortraitPNGFileNames.ts +1 -2
  301. package/src/objects/roomShapeBounds.ts +3 -7
  302. package/src/objects/roomShapeCorners.ts +59 -62
  303. package/src/objects/roomShapeLayoutSizes.ts +6 -10
  304. package/src/objects/roomShapeToBottomRightPosition.ts +11 -17
  305. package/src/objects/roomShapeToDoorSlotCoordinates.ts +93 -94
  306. package/src/objects/roomShapeToDoorSlots.ts +11 -14
  307. package/src/objects/roomShapeToDoorSlotsToGridIndexDelta.ts +15 -14
  308. package/src/objects/roomShapeToGridWidth.ts +1 -2
  309. package/src/objects/roomShapeToTopLeftPosition.ts +6 -9
  310. package/src/objects/roomShapeVolumes.ts +1 -2
  311. package/src/objects/roomTypeGotoPrefixes.ts +1 -2
  312. package/src/objects/roomTypeNames.ts +1 -2
  313. package/src/objects/stageToMusic.ts +10 -11
  314. package/src/objects/stageTypeSuffixes.ts +1 -2
  315. package/src/objects/stageTypeToLetter.ts +1 -2
  316. package/src/objects/transformationNames.ts +1 -2
  317. package/src/objects/versusScreenBackgroundColors.ts +30 -33
  318. package/src/objects/versusScreenDirtSpotColors.ts +30 -33
  319. package/src/sets/LRoomShapesSet.ts +2 -1
  320. package/src/sets/bossSets.ts +51 -49
  321. package/src/sets/charactersThatStartWithAnActiveItemSet.ts +3 -2
  322. package/src/sets/charactersWithBlackHeartFromEternalHeartSet.ts +3 -2
  323. package/src/sets/charactersWithFreeDevilDealsSet.ts +4 -2
  324. package/src/sets/charactersWithNoRedHeartsSet.ts +11 -11
  325. package/src/sets/charactersWithNoSoulHeartsSet.ts +8 -8
  326. package/src/sets/chestPickupVariantsSet.ts +2 -1
  327. package/src/sets/consoleCommandsSet.ts +3 -1
  328. package/src/sets/entitiesWithArmorSet.ts +2 -1
  329. package/src/sets/familiarsThatShootPlayerTearsSet.ts +3 -2
  330. package/src/sets/itemConfigCardTypesForCardsSet.ts +11 -0
  331. package/src/sets/lostStyleCharactersSet.ts +2 -1
  332. package/src/sets/mineShaftRoomSubTypesSet.ts +8 -8
  333. package/src/sets/narrowRoomShapesSet.ts +2 -1
  334. package/src/sets/redHeartSubTypesSet.ts +2 -1
  335. package/src/sets/sinEntityTypesSet.ts +2 -1
  336. package/src/sets/singleUseActiveCollectibleTypesSet.ts +3 -2
  337. package/src/sets/storyBossesSet.ts +2 -1
  338. package/src/types/PickingUpItem.ts +2 -1
  339. package/src/types/ReadonlyMap.ts +13 -0
  340. package/src/types/ReadonlySet.ts +9 -0
  341. package/dist/src/types/HasAllEnumKeys.d.ts +0 -26
  342. package/dist/src/types/HasAllEnumKeys.d.ts.map +0 -1
  343. package/dist/src/types/HasAllEnumKeys.lua +0 -2
  344. package/src/types/HasAllEnumKeys.ts +0 -25
@@ -1,7 +1,8 @@
1
1
  import { FamiliarVariant } from "isaac-typescript-definitions";
2
+ import { ReadonlySet } from "../types/ReadonlySet";
2
3
 
3
- export const FAMILIARS_THAT_SHOOT_PLAYER_TEARS_SET: ReadonlySet<FamiliarVariant> =
4
- new Set([
4
+ export const FAMILIARS_THAT_SHOOT_PLAYER_TEARS_SET =
5
+ new ReadonlySet<FamiliarVariant>([
5
6
  FamiliarVariant.SCISSORS,
6
7
  FamiliarVariant.INCUBUS,
7
8
  FamiliarVariant.FATES_REWARD,
@@ -0,0 +1,11 @@
1
+ import { ItemConfigCardType } from "isaac-typescript-definitions";
2
+ import { ReadonlySet } from "../types/ReadonlySet";
3
+
4
+ /** The set of all `ItemConfigCardType` values that are not a rune or special object. */
5
+ export const ITEM_CONFIG_CARD_TYPES_FOR_CARDS_SET =
6
+ new ReadonlySet<ItemConfigCardType>([
7
+ ItemConfigCardType.TAROT,
8
+ ItemConfigCardType.SUIT,
9
+ ItemConfigCardType.SPECIAL,
10
+ ItemConfigCardType.TAROT_REVERSE,
11
+ ]);
@@ -1,10 +1,11 @@
1
1
  import { PlayerType } from "isaac-typescript-definitions";
2
+ import { ReadonlySet } from "../types/ReadonlySet";
2
3
 
3
4
  /**
4
5
  * This is the set of characters that look like The Lost and play the "LostDeath" animation when
5
6
  * they die.
6
7
  */
7
- export const LOST_STYLE_CHARACTERS_SET: ReadonlySet<PlayerType> = new Set([
8
+ export const LOST_STYLE_CHARACTERS_SET = new ReadonlySet<PlayerType>([
8
9
  PlayerType.LOST, // 10
9
10
  PlayerType.SOUL, // 17
10
11
  PlayerType.LOST_B, // 31
@@ -1,10 +1,10 @@
1
1
  import { MinesRoomSubType } from "isaac-typescript-definitions";
2
+ import { ReadonlySet } from "../types/ReadonlySet";
2
3
 
3
- export const MINE_SHAFT_ROOM_SUB_TYPE_SET: ReadonlySet<MinesRoomSubType> =
4
- new Set([
5
- MinesRoomSubType.MINESHAFT_ENTRANCE,
6
- MinesRoomSubType.MINESHAFT_LOBBY,
7
- MinesRoomSubType.MINESHAFT_KNIFE_PIECE,
8
- MinesRoomSubType.MINESHAFT_ROOM_PRE_CHASE,
9
- MinesRoomSubType.MINESHAFT_ROOM_POST_CHASE,
10
- ]);
4
+ export const MINE_SHAFT_ROOM_SUB_TYPE_SET = new ReadonlySet<MinesRoomSubType>([
5
+ MinesRoomSubType.MINESHAFT_ENTRANCE,
6
+ MinesRoomSubType.MINESHAFT_LOBBY,
7
+ MinesRoomSubType.MINESHAFT_KNIFE_PIECE,
8
+ MinesRoomSubType.MINESHAFT_ROOM_PRE_CHASE,
9
+ MinesRoomSubType.MINESHAFT_ROOM_POST_CHASE,
10
+ ]);
@@ -1,6 +1,7 @@
1
1
  import { RoomShape } from "isaac-typescript-definitions";
2
+ import { ReadonlySet } from "../types/ReadonlySet";
2
3
 
3
- export const NARROW_ROOM_SHAPES_SET: ReadonlySet<RoomShape> = new Set([
4
+ export const NARROW_ROOM_SHAPES_SET = new ReadonlySet<RoomShape>([
4
5
  RoomShape.IH, // 2
5
6
  RoomShape.IV, // 3
6
7
  RoomShape.IIV, // 5
@@ -1,6 +1,7 @@
1
1
  import { HeartSubType } from "isaac-typescript-definitions";
2
+ import { ReadonlySet } from "../types/ReadonlySet";
2
3
 
3
- export const RED_HEART_SUB_TYPES_SET: ReadonlySet<HeartSubType> = new Set([
4
+ export const RED_HEART_SUB_TYPES_SET = new ReadonlySet<HeartSubType>([
4
5
  HeartSubType.FULL, // 1
5
6
  HeartSubType.HALF, // 2
6
7
  HeartSubType.DOUBLE_PACK, // 5
@@ -1,6 +1,7 @@
1
1
  import { EntityType } from "isaac-typescript-definitions";
2
+ import { ReadonlySet } from "../types/ReadonlySet";
2
3
 
3
- export const SIN_ENTITY_TYPES_SET: ReadonlySet<EntityType> = new Set([
4
+ export const SIN_ENTITY_TYPES_SET = new ReadonlySet<EntityType>([
4
5
  EntityType.SLOTH, // 46
5
6
  EntityType.LUST, // 47
6
7
  EntityType.WRATH, // 48
@@ -1,7 +1,8 @@
1
1
  import { CollectibleType } from "isaac-typescript-definitions";
2
+ import { ReadonlySet } from "../types/ReadonlySet";
2
3
 
3
- export const SINGLE_USE_ACTIVE_COLLECTIBLE_TYPES_SET: ReadonlySet<CollectibleType> =
4
- new Set([
4
+ export const SINGLE_USE_ACTIVE_COLLECTIBLE_TYPES_SET =
5
+ new ReadonlySet<CollectibleType>([
5
6
  CollectibleType.FORGET_ME_NOW, // 127
6
7
  CollectibleType.EDENS_SOUL, // 490
7
8
  CollectibleType.ALABASTER_BOX, // 585
@@ -1,6 +1,7 @@
1
1
  import { EntityType } from "isaac-typescript-definitions";
2
+ import { ReadonlySet } from "../types/ReadonlySet";
2
3
 
3
- export const STORY_BOSSES_SET: ReadonlySet<EntityType> = new Set([
4
+ export const STORY_BOSSES_SET = new ReadonlySet<EntityType>([
4
5
  EntityType.MOM, // 45
5
6
  EntityType.MOMS_HEART, // 78
6
7
  EntityType.SATAN, // 84
@@ -9,6 +9,7 @@ import {
9
9
  ItemType,
10
10
  TrinketType,
11
11
  } from "isaac-typescript-definitions";
12
+ import { ReadonlySet } from "./ReadonlySet";
12
13
 
13
14
  export type PickingUpItem =
14
15
  | PickingUpItemNull
@@ -57,7 +58,7 @@ export function resetPickingUpItem(pickingUpItem: PickingUpItem): void {
57
58
  pickingUpItem.subType = DEFAULT_SUB_TYPE;
58
59
  }
59
60
 
60
- const COLLECTIBLE_ITEM_TYPES: ReadonlySet<ItemType> = new Set([
61
+ const COLLECTIBLE_ITEM_TYPES = new ReadonlySet<ItemType>([
61
62
  ItemType.PASSIVE, // 1
62
63
  ItemType.ACTIVE, // 3
63
64
  ItemType.FAMILIAR, // 4
@@ -0,0 +1,13 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+
3
+ interface ReadonlyMapConstructor {
4
+ new (): ReadonlyMap<any, any>;
5
+ new <K, V>(entries?: ReadonlyArray<readonly [K, V]> | null): ReadonlyMap<
6
+ K,
7
+ V
8
+ >;
9
+ readonly prototype: ReadonlyMap<any, any>;
10
+ }
11
+
12
+ /** An alias for the `Map` constructor that returns a read-only map. */
13
+ export const ReadonlyMap = Map as ReadonlyMapConstructor;
@@ -0,0 +1,9 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+
3
+ interface ReadonlySetConstructor {
4
+ new <T = any>(values?: readonly T[] | null): ReadonlySet<T>;
5
+ readonly prototype: ReadonlySet<any>;
6
+ }
7
+
8
+ /** An alias for the `Set` constructor that returns a read-only set. */
9
+ export const ReadonlySet = Set as ReadonlySetConstructor;
@@ -1,26 +0,0 @@
1
- /**
2
- * Helper type to ensure that an object contains a key for every enum member. Use this with `as
3
- * const` and `satisfies` to prevent narrowing the type of the object.
4
- *
5
- * For example:
6
- *
7
- * ```ts
8
- * enum MyEnum {
9
- * Value1,
10
- * Value2,
11
- * Value3,
12
- * }
13
- *
14
- * const MyEnumToString = {
15
- * [MyEnum.Value1]: "foo",
16
- * [MyEnum.Value2]: "bar",
17
- * [MyEnum.Value3]: "baz",
18
- * } as const satisfies HasAllEnumKeys<MyEnum, string>;
19
- *
20
- * const value = MyEnumToString[MyEnum.Value2];
21
- * ```
22
- */
23
- export type HasAllEnumKeys<Enum extends string | number, T> = {
24
- readonly [Key in Enum]: T;
25
- };
26
- //# sourceMappingURL=HasAllEnumKeys.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HasAllEnumKeys.d.ts","sourceRoot":"","sources":["../../../src/types/HasAllEnumKeys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,cAAc,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI;IAC5D,QAAQ,EAAE,GAAG,IAAI,IAAI,GAAG,CAAC;CAC1B,CAAC"}
@@ -1,2 +0,0 @@
1
- local ____exports = {}
2
- return ____exports
@@ -1,25 +0,0 @@
1
- /**
2
- * Helper type to ensure that an object contains a key for every enum member. Use this with `as
3
- * const` and `satisfies` to prevent narrowing the type of the object.
4
- *
5
- * For example:
6
- *
7
- * ```ts
8
- * enum MyEnum {
9
- * Value1,
10
- * Value2,
11
- * Value3,
12
- * }
13
- *
14
- * const MyEnumToString = {
15
- * [MyEnum.Value1]: "foo",
16
- * [MyEnum.Value2]: "bar",
17
- * [MyEnum.Value3]: "baz",
18
- * } as const satisfies HasAllEnumKeys<MyEnum, string>;
19
- *
20
- * const value = MyEnumToString[MyEnum.Value2];
21
- * ```
22
- */
23
- export type HasAllEnumKeys<Enum extends string | number, T> = {
24
- readonly [Key in Enum]: T;
25
- };