isaacscript-common 13.2.0 → 13.3.1

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 (58) hide show
  1. package/dist/index.d.ts +37 -8
  2. package/dist/isaacscript-common.lua +6695 -6631
  3. package/dist/src/callbacks/customRevive.d.ts.map +1 -1
  4. package/dist/src/callbacks/customRevive.lua +2 -1
  5. package/dist/src/callbacks/postNewRoomEarly.lua +2 -2
  6. package/dist/src/classes/ModUpgraded.d.ts +5 -2
  7. package/dist/src/classes/ModUpgraded.d.ts.map +1 -1
  8. package/dist/src/classes/ModUpgraded.lua +39 -3
  9. package/dist/src/core/upgradeMod.d.ts +6 -1
  10. package/dist/src/core/upgradeMod.d.ts.map +1 -1
  11. package/dist/src/core/upgradeMod.lua +9 -2
  12. package/dist/src/features/customStage/exports.lua +2 -2
  13. package/dist/src/features/extraConsoleCommands/listCommands.lua +5 -5
  14. package/dist/src/features/pause.lua +2 -2
  15. package/dist/src/features/saveDataManager/load.d.ts.map +1 -1
  16. package/dist/src/features/saveDataManager/load.lua +2 -1
  17. package/dist/src/features/saveDataManager/main.lua +2 -2
  18. package/dist/src/features/taintedLazarusPlayers.lua +2 -2
  19. package/dist/src/functions/benchmark.d.ts +12 -0
  20. package/dist/src/functions/benchmark.d.ts.map +1 -1
  21. package/dist/src/functions/benchmark.lua +19 -0
  22. package/dist/src/functions/debugFunctions.d.ts +1 -0
  23. package/dist/src/functions/debugFunctions.d.ts.map +1 -1
  24. package/dist/src/functions/debugFunctions.lua +15 -23
  25. package/dist/src/functions/globals.lua +1 -1
  26. package/dist/src/functions/hex.lua +2 -2
  27. package/dist/src/functions/jsonHelpers.lua +2 -2
  28. package/dist/src/functions/log.d.ts +9 -70
  29. package/dist/src/functions/log.d.ts.map +1 -1
  30. package/dist/src/functions/log.lua +18 -504
  31. package/dist/src/functions/logMisc.d.ts +69 -0
  32. package/dist/src/functions/logMisc.d.ts.map +1 -0
  33. package/dist/src/functions/logMisc.lua +498 -0
  34. package/dist/src/index.d.ts +1 -0
  35. package/dist/src/index.d.ts.map +1 -1
  36. package/dist/src/index.lua +8 -0
  37. package/dist/src/indexLua.d.ts +185 -0
  38. package/dist/src/indexLua.d.ts.map +1 -0
  39. package/dist/src/indexLua.lua +1314 -0
  40. package/package.json +2 -2
  41. package/src/callbacks/customRevive.ts +2 -1
  42. package/src/callbacks/postNewRoomEarly.ts +1 -1
  43. package/src/classes/ModUpgraded.ts +50 -4
  44. package/src/core/upgradeMod.ts +10 -2
  45. package/src/features/customStage/exports.ts +1 -1
  46. package/src/features/extraConsoleCommands/listCommands.ts +1 -1
  47. package/src/features/pause.ts +1 -1
  48. package/src/features/saveDataManager/load.ts +2 -1
  49. package/src/features/saveDataManager/main.ts +1 -1
  50. package/src/features/taintedLazarusPlayers.ts +1 -1
  51. package/src/functions/benchmark.ts +23 -0
  52. package/src/functions/debugFunctions.ts +15 -25
  53. package/src/functions/globals.ts +1 -1
  54. package/src/functions/hex.ts +1 -1
  55. package/src/functions/jsonHelpers.ts +1 -1
  56. package/src/functions/log.ts +24 -455
  57. package/src/functions/logMisc.ts +441 -0
  58. package/src/index.ts +1 -0
@@ -0,0 +1,498 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local Map = ____lualib.Map
3
+ local __TS__Spread = ____lualib.__TS__Spread
4
+ local __TS__ArraySort = ____lualib.__TS__ArraySort
5
+ local __TS__ArrayForEach = ____lualib.__TS__ArrayForEach
6
+ local __TS__TypeOf = ____lualib.__TS__TypeOf
7
+ local __TS__ObjectKeys = ____lualib.__TS__ObjectKeys
8
+ local Set = ____lualib.Set
9
+ local __TS__New = ____lualib.__TS__New
10
+ local ____exports = {}
11
+ local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
12
+ local DamageFlag = ____isaac_2Dtypescript_2Ddefinitions.DamageFlag
13
+ local EntityFlag = ____isaac_2Dtypescript_2Ddefinitions.EntityFlag
14
+ local GameStateFlag = ____isaac_2Dtypescript_2Ddefinitions.GameStateFlag
15
+ local GridRoom = ____isaac_2Dtypescript_2Ddefinitions.GridRoom
16
+ local HeartSubType = ____isaac_2Dtypescript_2Ddefinitions.HeartSubType
17
+ local LevelStateFlag = ____isaac_2Dtypescript_2Ddefinitions.LevelStateFlag
18
+ local ProjectileFlag = ____isaac_2Dtypescript_2Ddefinitions.ProjectileFlag
19
+ local SeedEffect = ____isaac_2Dtypescript_2Ddefinitions.SeedEffect
20
+ local SoundEffect = ____isaac_2Dtypescript_2Ddefinitions.SoundEffect
21
+ local TearFlag = ____isaac_2Dtypescript_2Ddefinitions.TearFlag
22
+ local UseFlag = ____isaac_2Dtypescript_2Ddefinitions.UseFlag
23
+ local ____cachedClasses = require("src.core.cachedClasses")
24
+ local game = ____cachedClasses.game
25
+ local sfxManager = ____cachedClasses.sfxManager
26
+ local ____array = require("src.functions.array")
27
+ local arrayToString = ____array.arrayToString
28
+ local ____collectibles = require("src.functions.collectibles")
29
+ local getCollectibleName = ____collectibles.getCollectibleName
30
+ local ____entities = require("src.functions.entities")
31
+ local getEntityID = ____entities.getEntityID
32
+ local ____enums = require("src.functions.enums")
33
+ local getEnumEntries = ____enums.getEnumEntries
34
+ local ____flag = require("src.functions.flag")
35
+ local hasFlag = ____flag.hasFlag
36
+ local ____isaacAPIClass = require("src.functions.isaacAPIClass")
37
+ local getIsaacAPIClassName = ____isaacAPIClass.getIsaacAPIClassName
38
+ local ____log = require("src.functions.log")
39
+ local log = ____log.log
40
+ local ____playerHealth = require("src.functions.playerHealth")
41
+ local getPlayerHealth = ____playerHealth.getPlayerHealth
42
+ local ____players = require("src.functions.players")
43
+ local getEffectsList = ____players.getEffectsList
44
+ local getPlayerName = ____players.getPlayerName
45
+ local ____roomData = require("src.functions.roomData")
46
+ local getRoomData = ____roomData.getRoomData
47
+ local getRoomGridIndex = ____roomData.getRoomGridIndex
48
+ local getRoomListIndex = ____roomData.getRoomListIndex
49
+ local ____set = require("src.functions.set")
50
+ local combineSets = ____set.combineSets
51
+ local getSortedSetValues = ____set.getSortedSetValues
52
+ local ____table = require("src.functions.table")
53
+ local iterateTableInOrder = ____table.iterateTableInOrder
54
+ local ____trinkets = require("src.functions.trinkets")
55
+ local getTrinketName = ____trinkets.getTrinketName
56
+ local ____types = require("src.functions.types")
57
+ local isTable = ____types.isTable
58
+ local isUserdata = ____types.isUserdata
59
+ local ____utils = require("src.functions.utils")
60
+ local printConsole = ____utils.printConsole
61
+ local ____vector = require("src.functions.vector")
62
+ local vectorToString = ____vector.vectorToString
63
+ --- Helper function for printing out every flag that is turned on. Useful when debugging.
64
+ function ____exports.logFlags(self, flags, flagEnum, description)
65
+ if description == nil then
66
+ description = ""
67
+ end
68
+ if description ~= "" then
69
+ description = "flag"
70
+ end
71
+ log(
72
+ nil,
73
+ (("Logging " .. description) .. " values for: ") .. tostring(flags)
74
+ )
75
+ local hasNoFlags = true
76
+ for ____, ____value in ipairs(getEnumEntries(nil, flagEnum)) do
77
+ local key = ____value[1]
78
+ local value = ____value[2]
79
+ if hasFlag(nil, flags, value) then
80
+ log(
81
+ nil,
82
+ (((" Has flag: " .. key) .. " (") .. tostring(value)) .. ")"
83
+ )
84
+ hasNoFlags = false
85
+ end
86
+ end
87
+ if hasNoFlags then
88
+ log(nil, " n/a (no flags)")
89
+ end
90
+ end
91
+ function ____exports.logArray(self, array)
92
+ local arrayString = arrayToString(nil, array)
93
+ log(nil, "Array: " .. arrayString)
94
+ end
95
+ function ____exports.logCollectibleTypes(self, collectibleTypes)
96
+ log(nil, "Collectibles:")
97
+ local i = 1
98
+ for ____, collectibleType in ipairs(collectibleTypes) do
99
+ local collectibleName = getCollectibleName(nil, collectibleType)
100
+ log(
101
+ nil,
102
+ ((((tostring(i) .. ") ") .. collectibleName) .. " (") .. tostring(collectibleType)) .. ")"
103
+ )
104
+ i = i + 1
105
+ end
106
+ end
107
+ function ____exports.logColor(self, color)
108
+ log(
109
+ nil,
110
+ (((((((((((("Color: R" .. tostring(color.R)) .. ", G") .. tostring(color.G)) .. ", B") .. tostring(color.B)) .. ", A") .. tostring(color.A)) .. ", RO") .. tostring(color.RO)) .. ", BO") .. tostring(color.BO)) .. ", GO") .. tostring(color.GO)
111
+ )
112
+ end
113
+ --- Helper function for printing out every damage flag that is turned on. Useful when debugging.
114
+ function ____exports.logDamageFlags(self, flags)
115
+ ____exports.logFlags(nil, flags, DamageFlag, "damage")
116
+ end
117
+ --- Helper function for printing out every entity flag that is turned on. Useful when debugging.
118
+ function ____exports.logEntityFlags(self, flags)
119
+ ____exports.logFlags(nil, flags, EntityFlag, "entity")
120
+ end
121
+ function ____exports.logEntityID(self, entity)
122
+ local entityID = getEntityID(nil, entity)
123
+ log(nil, "Entity: " .. entityID)
124
+ end
125
+ --- Helper function to log an error message and also print it to the console for better visibility.
126
+ --
127
+ -- This is useful in situations where using the `error` function would be dangerous (since it
128
+ -- prevents all of the subsequent code in the callback from running).
129
+ function ____exports.logError(self, msg)
130
+ local errorMsg = "Error: " .. msg
131
+ log(nil, errorMsg)
132
+ printConsole(nil, errorMsg)
133
+ end
134
+ --- Helper function for printing out every game state flag that is turned on. Useful when debugging.
135
+ function ____exports.logGameStateFlags(self)
136
+ log(nil, "Logging game state flags:")
137
+ local gameStateFlagEntries = getEnumEntries(nil, GameStateFlag)
138
+ local hasNoFlags = true
139
+ for ____, ____value in ipairs(gameStateFlagEntries) do
140
+ local key = ____value[1]
141
+ local gameStateFlag = ____value[2]
142
+ local flagValue = game:GetStateFlag(gameStateFlag)
143
+ if flagValue then
144
+ log(
145
+ nil,
146
+ (((" Has flag: " .. key) .. " (") .. tostring(gameStateFlag)) .. ")"
147
+ )
148
+ hasNoFlags = false
149
+ end
150
+ end
151
+ if hasNoFlags then
152
+ log(nil, " n/a (no flags)")
153
+ end
154
+ end
155
+ function ____exports.logKColor(self, kColor)
156
+ log(
157
+ nil,
158
+ (((((("Color: R" .. tostring(kColor.Red)) .. ", G") .. tostring(kColor.Green)) .. ", B") .. tostring(kColor.Blue)) .. ", A") .. tostring(kColor.Alpha)
159
+ )
160
+ end
161
+ --- Helper function for printing out every level state flag that is turned on. Useful when debugging.
162
+ function ____exports.logLevelStateFlags(self)
163
+ local level = game:GetLevel()
164
+ local levelStateFlagEntries = getEnumEntries(nil, LevelStateFlag)
165
+ log(nil, "Logging level state flags:")
166
+ local hasNoFlags = true
167
+ for ____, ____value in ipairs(levelStateFlagEntries) do
168
+ local key = ____value[1]
169
+ local levelStateFlag = ____value[2]
170
+ local flagValue = level:GetStateFlag(levelStateFlag)
171
+ if flagValue then
172
+ log(
173
+ nil,
174
+ (((" Has flag: " .. key) .. " (") .. tostring(levelStateFlag)) .. ")"
175
+ )
176
+ hasNoFlags = false
177
+ end
178
+ end
179
+ if hasNoFlags then
180
+ log(nil, " n/a (no flags)")
181
+ end
182
+ end
183
+ function ____exports.logMap(self, map)
184
+ log(nil, "Printing out a TSTL Map:")
185
+ local mapKeys = {__TS__Spread(map:keys())}
186
+ __TS__ArraySort(mapKeys)
187
+ for ____, key in ipairs(mapKeys) do
188
+ local value = map:get(key)
189
+ log(
190
+ nil,
191
+ ((" " .. tostring(key)) .. " --> ") .. tostring(value)
192
+ )
193
+ end
194
+ log(
195
+ nil,
196
+ " The size of the map was: " .. tostring(map.size)
197
+ )
198
+ end
199
+ function ____exports.logPlayerEffects(self, player)
200
+ local effects = getEffectsList(nil, player)
201
+ log(nil, "Logging player effects:")
202
+ if #effects == 0 then
203
+ log(nil, " n/a (no effects)")
204
+ return
205
+ end
206
+ __TS__ArrayForEach(
207
+ effects,
208
+ function(____, effect, i)
209
+ local effectDescription
210
+ if effect.Item:IsCollectible() then
211
+ local collectibleName = getCollectibleName(nil, effect.Item.ID)
212
+ effectDescription = "Collectible: " .. collectibleName
213
+ elseif effect.Item:IsTrinket() then
214
+ local trinketName = getTrinketName(nil, effect.Item.ID)
215
+ effectDescription = "Trinket: " .. trinketName
216
+ elseif effect.Item:IsNull() then
217
+ effectDescription = "Null item: " .. tostring(effect.Item.ID)
218
+ else
219
+ effectDescription = "Unknown type of effect: " .. tostring(effect.Item.ID)
220
+ end
221
+ log(
222
+ nil,
223
+ (((((" " .. tostring(i + 1)) .. ") ") .. effectDescription) .. " (x") .. tostring(effect.Count)) .. ")"
224
+ )
225
+ end
226
+ )
227
+ end
228
+ function ____exports.logPlayerHealth(self, player)
229
+ local playerName = getPlayerName(nil, player)
230
+ local playerHealth = getPlayerHealth(nil, player)
231
+ log(nil, ("Player health for " .. playerName) .. ":")
232
+ log(
233
+ nil,
234
+ " Max hearts: " .. tostring(playerHealth.maxHearts)
235
+ )
236
+ log(
237
+ nil,
238
+ " Hearts: " .. tostring(playerHealth.hearts)
239
+ )
240
+ log(
241
+ nil,
242
+ " Eternal hearts: " .. tostring(playerHealth.eternalHearts)
243
+ )
244
+ log(
245
+ nil,
246
+ " Soul hearts: " .. tostring(playerHealth.soulHearts)
247
+ )
248
+ log(
249
+ nil,
250
+ " Bone hearts: " .. tostring(playerHealth.boneHearts)
251
+ )
252
+ log(
253
+ nil,
254
+ " Golden hearts: " .. tostring(playerHealth.goldenHearts)
255
+ )
256
+ log(
257
+ nil,
258
+ " Rotten hearts: " .. tostring(playerHealth.rottenHearts)
259
+ )
260
+ log(
261
+ nil,
262
+ " Broken hearts: " .. tostring(playerHealth.brokenHearts)
263
+ )
264
+ log(
265
+ nil,
266
+ " Soul charges: " .. tostring(playerHealth.soulCharges)
267
+ )
268
+ log(
269
+ nil,
270
+ " Blood charges: " .. tostring(playerHealth.bloodCharges)
271
+ )
272
+ log(nil, " Soul heart types: [")
273
+ for ____, soulHeartType in ipairs(playerHealth.soulHeartTypes) do
274
+ log(
275
+ nil,
276
+ " HeartSubType." .. tostring(HeartSubType[soulHeartType])
277
+ )
278
+ end
279
+ log(nil, " ]")
280
+ end
281
+ --- Helper function for printing out every projectile flag that is turned on. Useful when debugging.
282
+ function ____exports.logProjectileFlags(self, flags)
283
+ ____exports.logFlags(nil, flags, ProjectileFlag, "projectile")
284
+ end
285
+ --- Helper function for logging information about the current room.
286
+ function ____exports.logRoom(self)
287
+ local room = game:GetRoom()
288
+ local bossID = room:GetBossID()
289
+ local roomGridIndex = getRoomGridIndex(nil)
290
+ local roomListIndex = getRoomListIndex(nil)
291
+ local roomData = getRoomData(nil)
292
+ log(nil, "Current room information:")
293
+ if roomData == nil then
294
+ log(nil, "- Room data is undefined.")
295
+ else
296
+ log(
297
+ nil,
298
+ "- Room stage ID: " .. tostring(roomData.StageID)
299
+ )
300
+ log(
301
+ nil,
302
+ (((("- Type/variant/sub-type: " .. tostring(roomData.Type)) .. ".") .. tostring(roomData.Variant)) .. ".") .. tostring(roomData.Subtype)
303
+ )
304
+ log(nil, "- Name: " .. roomData.Name)
305
+ end
306
+ local roomGridIndexName = GridRoom[roomGridIndex]
307
+ if roomGridIndexName == nil then
308
+ log(
309
+ nil,
310
+ "- Grid index: " .. tostring(roomGridIndex)
311
+ )
312
+ else
313
+ log(
314
+ nil,
315
+ ((("- Grid index: GridRoom." .. roomGridIndexName) .. " (") .. tostring(roomGridIndex)) .. ")"
316
+ )
317
+ end
318
+ log(
319
+ nil,
320
+ "- List index: " .. tostring(roomListIndex)
321
+ )
322
+ log(
323
+ nil,
324
+ "- Boss ID: " .. tostring(bossID)
325
+ )
326
+ end
327
+ --- Helper function for printing out every seed effect (i.e. Easter Egg) that is turned on for the
328
+ -- particular run.
329
+ function ____exports.logSeedEffects(self)
330
+ local seeds = game:GetSeeds()
331
+ local seedEffectEntries = getEnumEntries(nil, SeedEffect)
332
+ log(nil, "Logging seed effects:")
333
+ local hasNoSeedEffects = true
334
+ for ____, ____value in ipairs(seedEffectEntries) do
335
+ local key = ____value[1]
336
+ local seedEffect = ____value[2]
337
+ if seeds:HasSeedEffect(seedEffect) then
338
+ log(
339
+ nil,
340
+ (((" " .. key) .. " (") .. tostring(seedEffect)) .. ")"
341
+ )
342
+ hasNoSeedEffects = false
343
+ end
344
+ end
345
+ if hasNoSeedEffects then
346
+ log(nil, " n/a (no seed effects)")
347
+ end
348
+ end
349
+ function ____exports.logSet(self, set)
350
+ log(nil, "Printing out a TSTL Set:")
351
+ local setValues = getSortedSetValues(nil, set)
352
+ for ____, value in ipairs(setValues) do
353
+ log(
354
+ nil,
355
+ " Value: " .. tostring(value)
356
+ )
357
+ end
358
+ log(
359
+ nil,
360
+ " The size of the set was: " .. tostring(set.size)
361
+ )
362
+ end
363
+ --- Helper function for logging every sound effect that is currently playing.
364
+ function ____exports.logSounds(self)
365
+ local soundEffects = getEnumEntries(nil, SoundEffect)
366
+ for ____, ____value in ipairs(soundEffects) do
367
+ local key = ____value[1]
368
+ local soundEffect = ____value[2]
369
+ if sfxManager:IsPlaying(soundEffect) then
370
+ log(
371
+ nil,
372
+ ((("Currently playing sound effect: " .. key) .. " (") .. tostring(soundEffect)) .. ")"
373
+ )
374
+ end
375
+ end
376
+ end
377
+ --- Helper function for logging every key and value of a table. This is a deep log; the function will
378
+ -- recursively call itself if it counters a table within a table.
379
+ --
380
+ -- This function will only work on tables that have string keys (because it logs the keys in order,
381
+ -- instead of randomly). It will throw a run-time error if it encounters a non-string key.
382
+ function ____exports.logTable(self, luaTable, parentTables)
383
+ if parentTables == nil then
384
+ parentTables = 0
385
+ end
386
+ if parentTables == 0 then
387
+ log(nil, "Printing out a Lua table:")
388
+ end
389
+ local numSpaces = (parentTables + 1) * 2
390
+ local indentation = string.rep(
391
+ " ",
392
+ math.floor(numSpaces)
393
+ )
394
+ if not isTable(nil, luaTable) then
395
+ (function(self)
396
+ log(
397
+ nil,
398
+ ((indentation .. "n/a (encountered a variable of type \"") .. __TS__TypeOf(luaTable)) .. "\" instead of a table)"
399
+ )
400
+ end)(nil)
401
+ return
402
+ end
403
+ local numElements = 0
404
+ iterateTableInOrder(
405
+ nil,
406
+ luaTable,
407
+ function(____, key, value)
408
+ log(
409
+ nil,
410
+ ((indentation .. tostring(key)) .. " --> ") .. tostring(value)
411
+ )
412
+ if isTable(nil, value) then
413
+ if key == "__class" then
414
+ log(nil, indentation .. " (skipping enumerating this key to avoid infinite recursion)")
415
+ else
416
+ ____exports.logTable(nil, value, parentTables + 1)
417
+ end
418
+ end
419
+ numElements = numElements + 1
420
+ end
421
+ );
422
+ (function(self)
423
+ log(
424
+ nil,
425
+ (indentation .. "The size of the table was: ") .. tostring(numElements)
426
+ )
427
+ end)(nil)
428
+ end
429
+ --- Helper function to print out the differences between the entries of two tables. Note that this
430
+ -- will only do a shallow comparison.
431
+ function ____exports.logTableDifferences(self, table1, table2)
432
+ log(nil, "Comparing two Lua tables:")
433
+ local table1Keys = __TS__ObjectKeys(table1)
434
+ local table1KeysSet = __TS__New(Set, table1Keys)
435
+ local table2Keys = __TS__ObjectKeys(table2)
436
+ local table2KeysSet = __TS__New(Set, table2Keys)
437
+ local keysSet = combineSets(nil, table1KeysSet, table2KeysSet)
438
+ local keys = {__TS__Spread(keysSet:values())}
439
+ __TS__ArraySort(keys)
440
+ for ____, key in ipairs(keys) do
441
+ if not table1KeysSet:has(key) then
442
+ log(
443
+ nil,
444
+ " Table 1 is missing key: " .. tostring(key)
445
+ )
446
+ elseif not table2KeysSet:has(key) then
447
+ log(
448
+ nil,
449
+ " Table 2 is missing key: " .. tostring(key)
450
+ )
451
+ else
452
+ local value1 = table1[key]
453
+ local value2 = table2[key]
454
+ if value1 ~= value2 then
455
+ log(
456
+ nil,
457
+ (((((" " .. tostring(key)) .. " --> \"") .. tostring(value1)) .. "\" versus \"") .. tostring(value2)) .. "\""
458
+ )
459
+ end
460
+ end
461
+ end
462
+ end
463
+ --- Helper function for printing out every tear flag that is turned on. Useful when debugging.
464
+ function ____exports.logTearFlags(self, flags)
465
+ ____exports.logFlags(nil, flags, TearFlag, "tear")
466
+ end
467
+ --- Helper function for printing out every use flag that is turned on. Useful when debugging.
468
+ function ____exports.logUseFlags(self, flags)
469
+ ____exports.logFlags(nil, flags, UseFlag, "use")
470
+ end
471
+ --- Helper function to enumerate all of the properties of a "userdata" object (i.e. an object from
472
+ -- the Isaac API).
473
+ function ____exports.logUserdata(self, userdata)
474
+ if not isUserdata(nil, userdata) then
475
+ log(nil, "Userdata: [not userdata]")
476
+ return
477
+ end
478
+ local metatable = getmetatable(userdata)
479
+ if metatable == nil then
480
+ log(nil, "Userdata: [no metatable]")
481
+ return
482
+ end
483
+ local classType = getIsaacAPIClassName(nil, userdata)
484
+ if classType == nil then
485
+ log(nil, "Userdata: [no class type]")
486
+ else
487
+ log(nil, "Userdata: " .. classType)
488
+ end
489
+ ____exports.logTable(nil, metatable)
490
+ end
491
+ function ____exports.logVector(self, vector, round)
492
+ if round == nil then
493
+ round = false
494
+ end
495
+ local vectorString = vectorToString(nil, vector, round)
496
+ log(nil, "Vector: " .. vectorString)
497
+ end
498
+ return ____exports
@@ -99,6 +99,7 @@ export * from "./functions/level";
99
99
  export * from "./functions/levelGrid";
100
100
  export * from "./functions/log";
101
101
  export * from "./functions/logEntities";
102
+ export * from "./functions/logMisc";
102
103
  export * from "./functions/map";
103
104
  export * from "./functions/math";
104
105
  export * from "./functions/mergeTests";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -807,6 +807,14 @@ do
807
807
  end
808
808
  end
809
809
  end
810
+ do
811
+ local ____export = require("src.functions.logMisc")
812
+ for ____exportKey, ____exportValue in pairs(____export) do
813
+ if ____exportKey ~= "default" then
814
+ ____exports[____exportKey] = ____exportValue
815
+ end
816
+ end
817
+ end
810
818
  do
811
819
  local ____export = require("src.functions.map")
812
820
  for ____exportKey, ____exportValue in pairs(____export) do