isaacscript-common 31.5.0 → 31.6.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/dist/index.rollup.d.ts +26 -4
- package/dist/isaacscript-common.lua +626 -645
- package/dist/src/classes/ModFeature.d.ts.map +1 -1
- package/dist/src/classes/ModFeature.lua +5 -9
- package/dist/src/classes/ModUpgraded.d.ts.map +1 -1
- package/dist/src/classes/ModUpgraded.lua +8 -14
- package/dist/src/classes/callbacks/PostNewRoomEarly.lua +2 -2
- package/dist/src/classes/features/callbackLogic/CustomGridEntities.d.ts.map +1 -1
- package/dist/src/classes/features/callbackLogic/CustomGridEntities.lua +3 -3
- package/dist/src/classes/features/other/CharacterHealthConversion.lua +1 -1
- package/dist/src/classes/features/other/CustomItemPools.d.ts.map +1 -1
- package/dist/src/classes/features/other/CustomItemPools.lua +12 -6
- package/dist/src/classes/features/other/CustomStages.d.ts.map +1 -1
- package/dist/src/classes/features/other/CustomStages.lua +12 -14
- package/dist/src/classes/features/other/CustomTrapdoors.d.ts.map +1 -1
- package/dist/src/classes/features/other/CustomTrapdoors.lua +6 -8
- package/dist/src/classes/features/other/DeployJSONRoom.d.ts.map +1 -1
- package/dist/src/classes/features/other/DeployJSONRoom.lua +15 -15
- package/dist/src/classes/features/other/ModdedElementSets.d.ts.map +1 -1
- package/dist/src/classes/features/other/ModdedElementSets.lua +21 -12
- package/dist/src/classes/features/other/Pause.d.ts.map +1 -1
- package/dist/src/classes/features/other/Pause.lua +4 -6
- package/dist/src/classes/features/other/SaveDataManager.d.ts.map +1 -1
- package/dist/src/classes/features/other/SaveDataManager.lua +5 -9
- package/dist/src/classes/features/other/customStages/backdrop.lua +9 -10
- package/dist/src/classes/features/other/saveDataManager/restoreDefaults.lua +1 -1
- package/dist/src/functions/array.d.ts +3 -0
- package/dist/src/functions/array.d.ts.map +1 -1
- package/dist/src/functions/array.lua +9 -3
- package/dist/src/functions/bitSet128.d.ts.map +1 -1
- package/dist/src/functions/bitSet128.lua +4 -6
- package/dist/src/functions/bitwise.d.ts.map +1 -1
- package/dist/src/functions/bitwise.lua +7 -3
- package/dist/src/functions/color.d.ts.map +1 -1
- package/dist/src/functions/color.lua +5 -9
- package/dist/src/functions/deepCopy.lua +23 -31
- package/dist/src/functions/entities.d.ts.map +1 -1
- package/dist/src/functions/entities.lua +20 -18
- package/dist/src/functions/entitiesSpecific.d.ts.map +1 -1
- package/dist/src/functions/entitiesSpecific.lua +11 -27
- package/dist/src/functions/enums.d.ts +6 -4
- package/dist/src/functions/enums.d.ts.map +1 -1
- package/dist/src/functions/enums.lua +13 -9
- package/dist/src/functions/gridEntities.d.ts.map +1 -1
- package/dist/src/functions/gridEntities.lua +18 -11
- package/dist/src/functions/gridEntitiesSpecific.d.ts.map +1 -1
- package/dist/src/functions/gridEntitiesSpecific.lua +16 -28
- package/dist/src/functions/input.d.ts +3 -0
- package/dist/src/functions/input.d.ts.map +1 -1
- package/dist/src/functions/input.lua +14 -14
- package/dist/src/functions/jsonRoom.d.ts.map +1 -1
- package/dist/src/functions/jsonRoom.lua +35 -23
- package/dist/src/functions/kColor.d.ts.map +1 -1
- package/dist/src/functions/kColor.lua +6 -12
- package/dist/src/functions/map.d.ts.map +1 -1
- package/dist/src/functions/map.lua +3 -3
- package/dist/src/functions/minimap.d.ts.map +1 -1
- package/dist/src/functions/minimap.lua +17 -9
- package/dist/src/functions/players.d.ts.map +1 -1
- package/dist/src/functions/players.lua +17 -22
- package/dist/src/functions/rng.d.ts.map +1 -1
- package/dist/src/functions/rng.lua +3 -3
- package/dist/src/functions/roomShapeWalls.d.ts.map +1 -1
- package/dist/src/functions/roomShapeWalls.lua +7 -3
- package/dist/src/functions/roomTransition.d.ts.map +1 -1
- package/dist/src/functions/roomTransition.lua +7 -3
- package/dist/src/functions/rooms.d.ts.map +1 -1
- package/dist/src/functions/rooms.lua +8 -5
- package/dist/src/functions/serialization.d.ts.map +1 -1
- package/dist/src/functions/serialization.lua +8 -18
- package/dist/src/functions/table.d.ts.map +1 -1
- package/dist/src/functions/table.lua +6 -12
- package/dist/src/functions/tstlClass.d.ts.map +1 -1
- package/dist/src/functions/tstlClass.lua +3 -3
- package/dist/src/functions/utils.d.ts +9 -0
- package/dist/src/functions/utils.d.ts.map +1 -1
- package/dist/src/functions/utils.lua +14 -6
- package/dist/src/functions/vector.d.ts.map +1 -1
- package/dist/src/functions/vector.lua +4 -6
- package/dist/src/functions/weighted.d.ts.map +1 -1
- package/dist/src/functions/weighted.lua +7 -3
- package/dist/src/sets/bossSets.d.ts.map +1 -1
- package/dist/src/sets/bossSets.lua +3 -3
- package/package.json +2 -2
- package/src/classes/ModFeature.ts +16 -12
- package/src/classes/ModUpgraded.ts +18 -16
- package/src/classes/callbacks/PostNewRoomEarly.ts +2 -2
- package/src/classes/features/callbackLogic/CustomGridEntities.ts +2 -3
- package/src/classes/features/other/CharacterHealthConversion.ts +1 -1
- package/src/classes/features/other/CustomItemPools.ts +9 -8
- package/src/classes/features/other/CustomStages.ts +9 -10
- package/src/classes/features/other/CustomTrapdoors.ts +9 -10
- package/src/classes/features/other/DeployJSONRoom.ts +21 -21
- package/src/classes/features/other/ModdedElementSets.ts +18 -21
- package/src/classes/features/other/Pause.ts +9 -6
- package/src/classes/features/other/SaveDataManager.ts +14 -16
- package/src/classes/features/other/customStages/backdrop.ts +5 -6
- package/src/classes/features/other/saveDataManager/restoreDefaults.ts +1 -1
- package/src/functions/array.ts +8 -6
- package/src/functions/bitSet128.ts +9 -10
- package/src/functions/bitwise.ts +6 -3
- package/src/functions/color.ts +13 -15
- package/src/functions/deepCopy.ts +18 -24
- package/src/functions/deepCopyTests.ts +5 -6
- package/src/functions/entities.ts +22 -20
- package/src/functions/entitiesSpecific.ts +10 -27
- package/src/functions/enums.ts +29 -17
- package/src/functions/gridEntities.ts +14 -16
- package/src/functions/gridEntitiesSpecific.ts +15 -28
- package/src/functions/input.ts +3 -3
- package/src/functions/jsonRoom.ts +39 -27
- package/src/functions/kColor.ts +17 -20
- package/src/functions/map.ts +5 -5
- package/src/functions/minimap.ts +16 -15
- package/src/functions/players.ts +7 -10
- package/src/functions/rng.ts +5 -5
- package/src/functions/roomShapeWalls.ts +3 -4
- package/src/functions/roomTransition.ts +5 -5
- package/src/functions/rooms.ts +5 -6
- package/src/functions/serialization.ts +25 -30
- package/src/functions/table.ts +18 -20
- package/src/functions/tstlClass.ts +5 -5
- package/src/functions/utils.ts +27 -6
- package/src/functions/vector.ts +9 -10
- package/src/functions/weighted.ts +5 -5
- package/src/sets/bossSets.ts +5 -5
|
@@ -26,6 +26,7 @@ local ____string = require("src.functions.string")
|
|
|
26
26
|
local removeCharactersBefore = ____string.removeCharactersBefore
|
|
27
27
|
local trimPrefix = ____string.trimPrefix
|
|
28
28
|
local ____utils = require("src.functions.utils")
|
|
29
|
+
local assertDefined = ____utils.assertDefined
|
|
29
30
|
local eRange = ____utils.eRange
|
|
30
31
|
local iRange = ____utils.iRange
|
|
31
32
|
local ____ReadonlySet = require("src.types.ReadonlySet")
|
|
@@ -54,9 +55,7 @@ function spawnWallEntity(self, customStage, rng, isExtraWall)
|
|
|
54
55
|
sprite:Load(ISAACSCRIPT_CUSTOM_STAGE_GFX_PATH .. "/wall-backdrop.anm2", false)
|
|
55
56
|
local wallLayersArray = isExtraWall and ROOM_SHAPE_WALL_EXTRA_ANM2_LAYERS or ROOM_SHAPE_WALL_ANM2_LAYERS
|
|
56
57
|
local numWallLayers = wallLayersArray[roomShape]
|
|
57
|
-
|
|
58
|
-
error("Failed to get the layers when creating the backdrop for custom stage: " .. customStage.name)
|
|
59
|
-
end
|
|
58
|
+
assertDefined(nil, numWallLayers, "Failed to get the layers when creating the backdrop for custom stage: " .. customStage.name)
|
|
60
59
|
if isLRoomShape(nil, roomShape) then
|
|
61
60
|
local cornerPNGPath = getBackdropPNGPath(nil, customStage, BackdropKind.CORNER, rng)
|
|
62
61
|
sprite:ReplaceSpritesheet(0, cornerPNGPath)
|
|
@@ -126,21 +125,21 @@ function spawnFloorEntity(self, customStage, rng)
|
|
|
126
125
|
end
|
|
127
126
|
function getNumFloorLayers(self, roomShape)
|
|
128
127
|
repeat
|
|
129
|
-
local
|
|
130
|
-
local
|
|
131
|
-
if
|
|
128
|
+
local ____switch22 = roomShape
|
|
129
|
+
local ____cond22 = ____switch22 == RoomShape.SHAPE_1x1
|
|
130
|
+
if ____cond22 then
|
|
132
131
|
do
|
|
133
132
|
return 4
|
|
134
133
|
end
|
|
135
134
|
end
|
|
136
|
-
|
|
137
|
-
if
|
|
135
|
+
____cond22 = ____cond22 or (____switch22 == RoomShape.SHAPE_1x2 or ____switch22 == RoomShape.SHAPE_2x1)
|
|
136
|
+
if ____cond22 then
|
|
138
137
|
do
|
|
139
138
|
return 8
|
|
140
139
|
end
|
|
141
140
|
end
|
|
142
|
-
|
|
143
|
-
if
|
|
141
|
+
____cond22 = ____cond22 or ____switch22 == RoomShape.SHAPE_2x2
|
|
142
|
+
if ____cond22 then
|
|
144
143
|
do
|
|
145
144
|
return 16
|
|
146
145
|
end
|
|
@@ -49,7 +49,7 @@ function ____exports.restoreDefaultForFeatureKey(self, saveDataDefaultsMap, subs
|
|
|
49
49
|
end
|
|
50
50
|
local childTableDefaults = saveDataDefaults[saveDataKey]
|
|
51
51
|
if childTableDefaults == nil then
|
|
52
|
-
logError(((("Failed to find the default copy of the child table \"" .. saveDataKey) .. "\" for subscriber \"") .. subscriberName) .. "\". This error usually means that your save data is out of date. You can try purging all of your save data by deleting the following directory: C:\\Program Files (x86)\\Steam\\steamapps\\common\\The Binding of Isaac Rebirth\\data")
|
|
52
|
+
logError(((("Failed to find the default copy of the child table \"" .. saveDataKey) .. "\" for subscriber \"") .. subscriberName) .. "\". This error usually means that your mod-specific save data is out of date. You can try purging all of your mod-specific save data by deleting the following directory: C:\\Program Files (x86)\\Steam\\steamapps\\common\\The Binding of Isaac Rebirth\\data")
|
|
53
53
|
return
|
|
54
54
|
end
|
|
55
55
|
local childTableDefaultsCopy = deepCopy(nil, childTableDefaults, SerializationType.NONE, (subscriberName .. " --> ") .. saveDataKey)
|
|
@@ -140,6 +140,9 @@ export declare function getArrayIndexes<T>(array: T[] | readonly T[]): int[];
|
|
|
140
140
|
* Helper function to return the last element of an array.
|
|
141
141
|
*
|
|
142
142
|
* If the array is empty, this will return undefined.
|
|
143
|
+
*
|
|
144
|
+
* (Note that TSTL does not support `Array.at(-1)`, which would make this helper function largely
|
|
145
|
+
* unnecessary.)
|
|
143
146
|
*/
|
|
144
147
|
export declare function getLastElement<T>(array: T[]): T | undefined;
|
|
145
148
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../../src/functions/array.ts"],"names":[],"mappings":";;;AAMA;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC3B,MAAM,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,EAC1B,MAAM,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,GACzB,OAAO,CAST;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC3B,aAAa,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,EACjC,GAAG,gBAAgB,EAAE,CAAC,EAAE,GACvB,CAAC,EAAE,CAIL;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,aAAa,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,EACjC,GAAG,gBAAgB,EAAE,CAAC,EAAE,GACvB,CAAC,EAAE,CAIL;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EACrC,KAAK,EAAE,CAAC,EAAE,EACV,GAAG,gBAAgB,EAAE,CAAC,EAAE,GACvB,OAAO,CAcT;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,KAAK,EAAE,CAAC,EAAE,EACV,GAAG,gBAAgB,EAAE,CAAC,EAAE,GACvB,OAAO,CAWT;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,aAAa,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,EACjC,GAAG,eAAe,EAAE,GAAG,EAAE,GACxB,CAAC,EAAE,CAWL;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EACvC,KAAK,EAAE,CAAC,EAAE,EACV,GAAG,eAAe,EAAE,GAAG,EAAE,GACxB,OAAO,CAeT;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAQtD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAS1E;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,CAAC,EACzB,QAAQ,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,EAC5B,WAAW,CAAC,EAAE,GAAG,GAChB,CAAC,EAAE,CAcL;AAED,0EAA0E;AAC1E,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,CAE9C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,EAClC,KAAK,EAAE,IAAI,EAAE,GAAG,SAAS,IAAI,EAAE,EAC/B,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,KAAK,IAAI,GAAG,SAAS,GACxC,IAAI,EAAE,CAWR;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,KAAK,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,EACzB,iBAAiB,EAAE,OAAO,EAC1B,GAAG,CAAC,EAAE,GAAG,EACT,GAAG,CAAC,EAAE,GAAG,GACR,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC,CAsB7B;AAqBD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,GAAG,GAAG,EAAE,CAEnE;AAED
|
|
1
|
+
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../../src/functions/array.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,6 +30,7 @@ local ____types = require("src.functions.types")
|
|
|
30
30
|
local isNumber = ____types.isNumber
|
|
31
31
|
local isTable = ____types.isTable
|
|
32
32
|
local ____utils = require("src.functions.utils")
|
|
33
|
+
local assertDefined = ____utils.assertDefined
|
|
33
34
|
local eRange = ____utils.eRange
|
|
34
35
|
--- Removes all of the specified element(s) from the array. If the specified element(s) are not found
|
|
35
36
|
-- in the array, this function will do nothing.
|
|
@@ -369,6 +370,9 @@ end
|
|
|
369
370
|
--- Helper function to return the last element of an array.
|
|
370
371
|
--
|
|
371
372
|
-- If the array is empty, this will return undefined.
|
|
373
|
+
--
|
|
374
|
+
-- (Note that TSTL does not support `Array.at(-1)`, which would make this helper function largely
|
|
375
|
+
-- unnecessary.)
|
|
372
376
|
function ____exports.getLastElement(self, array)
|
|
373
377
|
return array[#array]
|
|
374
378
|
end
|
|
@@ -395,9 +399,11 @@ function ____exports.getRandomArrayElement(self, array, seedOrRNG, exceptions)
|
|
|
395
399
|
) or array
|
|
396
400
|
local randomIndex = ____exports.getRandomArrayIndex(nil, arrayToUse, seedOrRNG)
|
|
397
401
|
local randomElement = arrayToUse[randomIndex + 1]
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
402
|
+
assertDefined(
|
|
403
|
+
nil,
|
|
404
|
+
randomElement,
|
|
405
|
+
("Failed to get a random array element since the random index of " .. tostring(randomIndex)) .. " was not valid."
|
|
406
|
+
)
|
|
401
407
|
return randomElement
|
|
402
408
|
end
|
|
403
409
|
--- Helper function to get a random element from the provided array. Once the random element is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitSet128.d.ts","sourceRoot":"","sources":["../../../src/functions/bitSet128.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"bitSet128.d.ts","sourceRoot":"","sources":["../../../src/functions/bitSet128.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAW9E,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAC1D,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC,WAAW,CAAC;CACxD,CAAC;AAKF,6DAA6D;AAC7D,wBAAgB,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAW7D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,mBAAmB,GAC7B,SAAS,CAmBX;AAED,mFAAmF;AACnF,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,SAAS,CAEhE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,OAAO,GACd,MAAM,IAAI,mBAAmB,CAQ/B;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,mBAAmB,CAW5E"}
|
|
@@ -10,6 +10,8 @@ local getNumbersFromTable = ____table.getNumbersFromTable
|
|
|
10
10
|
local tableHasKeys = ____table.tableHasKeys
|
|
11
11
|
local ____types = require("src.functions.types")
|
|
12
12
|
local isTable = ____types.isTable
|
|
13
|
+
local ____utils = require("src.functions.utils")
|
|
14
|
+
local assertDefined = ____utils.assertDefined
|
|
13
15
|
--- Helper function to check if something is an instantiated `BitSet128` object.
|
|
14
16
|
function ____exports.isBitSet128(self, object)
|
|
15
17
|
return isIsaacAPIClassOfType(nil, object, OBJECT_NAME)
|
|
@@ -37,12 +39,8 @@ function ____exports.deserializeBitSet128(self, bitSet128)
|
|
|
37
39
|
OBJECT_NAME,
|
|
38
40
|
table.unpack(KEYS)
|
|
39
41
|
))
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
end
|
|
43
|
-
if h == nil then
|
|
44
|
-
error(("Failed to deserialize a " .. OBJECT_NAME) .. " object since the provided object did not have a value for: h")
|
|
45
|
-
end
|
|
42
|
+
assertDefined(nil, l, ("Failed to deserialize a " .. OBJECT_NAME) .. " object since the provided object did not have a value for: l")
|
|
43
|
+
assertDefined(nil, h, ("Failed to deserialize a " .. OBJECT_NAME) .. " object since the provided object did not have a value for: h")
|
|
46
44
|
return BitSet128(l, h)
|
|
47
45
|
end
|
|
48
46
|
--- Used to determine is the given table is a serialized `BitSet128` object created by the `deepCopy`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitwise.d.ts","sourceRoot":"","sources":["../../../src/functions/bitwise.ts"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"bitwise.d.ts","sourceRoot":"","sources":["../../../src/functions/bitwise.ts"],"names":[],"mappings":";;;;AAGA,+EAA+E;AAC/E,wBAAgB,eAAe,CAAC,CAAC,SAAS,OAAO,GAAG,UAAU,EAC5D,KAAK,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,GACxB,QAAQ,CAAC,CAAC,CAAC,CAOb;AAED,mFAAmF;AACnF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,CAG1D;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,CAqB7E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CASxC;AAED,iGAAiG;AACjG,wBAAgB,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,CAE9C;AAED,wFAAwF;AACxF,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAQzC;AAED,+EAA+E;AAC/E,wBAAgB,aAAa,CAAC,CAAC,SAAS,OAAO,GAAG,UAAU,EAC1D,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAC3B,QAAQ,CAAC,CAAC,CAAC,CAOb"}
|
|
@@ -6,6 +6,8 @@ local __TS__ArrayUnshift = ____lualib.__TS__ArrayUnshift
|
|
|
6
6
|
local ____exports = {}
|
|
7
7
|
local ____flag = require("src.functions.flag")
|
|
8
8
|
local addFlag = ____flag.addFlag
|
|
9
|
+
local ____utils = require("src.functions.utils")
|
|
10
|
+
local assertDefined = ____utils.assertDefined
|
|
9
11
|
--- Helper function to convert a set of flags to a single `BitFlags` object.
|
|
10
12
|
function ____exports.arrayToBitFlags(self, array)
|
|
11
13
|
local flags = 0
|
|
@@ -31,9 +33,11 @@ function ____exports.convertDecimalToBinary(self, number, minLength)
|
|
|
31
33
|
local bitsString = __TS__NumberToString(number, 2)
|
|
32
34
|
for ____, bitString in __TS__Iterator(bitsString) do
|
|
33
35
|
local bit = tonumber(bitString)
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
36
|
+
assertDefined(
|
|
37
|
+
nil,
|
|
38
|
+
bit,
|
|
39
|
+
"Failed to convert the following number to binary: " .. tostring(number)
|
|
40
|
+
)
|
|
37
41
|
bits[#bits + 1] = bit
|
|
38
42
|
end
|
|
39
43
|
if minLength ~= nil then
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../src/functions/color.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../src/functions/color.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAa9E,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IACtD,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC,KAAK,CAAC;CAClD,CAAC;AAKF,wBAAgB,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAG,OAAO,CAEjE;AAED,yDAAyD;AACzD,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAgB7C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,KAAK,CA2B9D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,SAAS,GAAE,IAAI,GAAG,GAAqB,EACvC,KAAK,SAAI,GACR,QAAQ,CAAC,KAAK,CAAC,CAQjB;AAED,+EAA+E;AAC/E,wBAAgB,OAAO,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,KAAK,CAExD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,eAAe,CAM5E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,eAAe,CAW5D"}
|
|
@@ -17,6 +17,8 @@ local getNumbersFromTable = ____table.getNumbersFromTable
|
|
|
17
17
|
local tableHasKeys = ____table.tableHasKeys
|
|
18
18
|
local ____types = require("src.functions.types")
|
|
19
19
|
local isTable = ____types.isTable
|
|
20
|
+
local ____utils = require("src.functions.utils")
|
|
21
|
+
local assertDefined = ____utils.assertDefined
|
|
20
22
|
--- Helper function to check if something is an instantiated `Color` object.
|
|
21
23
|
function ____exports.isColor(self, object)
|
|
22
24
|
return isIsaacAPIClassOfType(nil, object, OBJECT_NAME)
|
|
@@ -61,15 +63,9 @@ function ____exports.deserializeColor(self, color)
|
|
|
61
63
|
OBJECT_NAME,
|
|
62
64
|
table.unpack(KEYS)
|
|
63
65
|
))
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
if g == nil then
|
|
68
|
-
error(("Failed to deserialize a " .. OBJECT_NAME) .. " object since the provided object did not have a value for: G")
|
|
69
|
-
end
|
|
70
|
-
if b == nil then
|
|
71
|
-
error(("Failed to deserialize a " .. OBJECT_NAME) .. " object since the provided object did not have a value for: B")
|
|
72
|
-
end
|
|
66
|
+
assertDefined(nil, r, ("Failed to deserialize a " .. OBJECT_NAME) .. " object since the provided object did not have a value for: R")
|
|
67
|
+
assertDefined(nil, g, ("Failed to deserialize a " .. OBJECT_NAME) .. " object since the provided object did not have a value for: G")
|
|
68
|
+
assertDefined(nil, b, ("Failed to deserialize a " .. OBJECT_NAME) .. " object since the provided object did not have a value for: B")
|
|
73
69
|
return Color(
|
|
74
70
|
r,
|
|
75
71
|
g,
|
|
@@ -42,6 +42,7 @@ local asString = ____types.asString
|
|
|
42
42
|
local isNumber = ____types.isNumber
|
|
43
43
|
local isPrimitive = ____types.isPrimitive
|
|
44
44
|
local ____utils = require("src.functions.utils")
|
|
45
|
+
local assertDefined = ____utils.assertDefined
|
|
45
46
|
local getTraversalDescription = ____utils.getTraversalDescription
|
|
46
47
|
--- `deepCopy` is a semi-generic deep cloner. It will recursively copy all of the values so that none
|
|
47
48
|
-- of the nested references remain.
|
|
@@ -304,9 +305,7 @@ function getNewDefaultMap(self, defaultMap, serializationType, traversalDescript
|
|
|
304
305
|
error(("Failed to deserialize a default map of \"" .. traversalDescription) .. "\", since it was not a Lua table.")
|
|
305
306
|
end
|
|
306
307
|
local defaultMapValue = defaultMap[SerializationBrand.DEFAULT_MAP_VALUE]
|
|
307
|
-
|
|
308
|
-
error((("Failed to deserialize a default map of \"" .. traversalDescription) .. "\", since there was no serialization brand of: ") .. SerializationBrand.DEFAULT_MAP_VALUE)
|
|
309
|
-
end
|
|
308
|
+
assertDefined(nil, defaultMapValue, (("Failed to deserialize a default map of \"" .. traversalDescription) .. "\", since there was no serialization brand of: ") .. SerializationBrand.DEFAULT_MAP_VALUE)
|
|
310
309
|
return __TS__New(DefaultMap, defaultMapValue)
|
|
311
310
|
end
|
|
312
311
|
end
|
|
@@ -397,16 +396,16 @@ function deepCopyTSTLClass(self, tstlClass, serializationType, traversalDescript
|
|
|
397
396
|
end
|
|
398
397
|
local newClass
|
|
399
398
|
repeat
|
|
400
|
-
local
|
|
401
|
-
local
|
|
402
|
-
if
|
|
399
|
+
local ____switch64 = serializationType
|
|
400
|
+
local ____cond64 = ____switch64 == SerializationType.NONE
|
|
401
|
+
if ____cond64 then
|
|
403
402
|
do
|
|
404
403
|
newClass = newTSTLClass(nil, tstlClass)
|
|
405
404
|
break
|
|
406
405
|
end
|
|
407
406
|
end
|
|
408
|
-
|
|
409
|
-
if
|
|
407
|
+
____cond64 = ____cond64 or ____switch64 == SerializationType.SERIALIZE
|
|
408
|
+
if ____cond64 then
|
|
410
409
|
do
|
|
411
410
|
newClass = {}
|
|
412
411
|
local tstlClassName = getTSTLClassName(nil, tstlClass)
|
|
@@ -416,20 +415,16 @@ function deepCopyTSTLClass(self, tstlClass, serializationType, traversalDescript
|
|
|
416
415
|
break
|
|
417
416
|
end
|
|
418
417
|
end
|
|
419
|
-
|
|
420
|
-
if
|
|
418
|
+
____cond64 = ____cond64 or ____switch64 == SerializationType.DESERIALIZE
|
|
419
|
+
if ____cond64 then
|
|
421
420
|
do
|
|
422
421
|
local tstlClassName = tstlClass[SerializationBrand.TSTL_CLASS]
|
|
423
|
-
|
|
424
|
-
error("Failed to deserialize a TSTL class since the brand did not contain the class name.")
|
|
425
|
-
end
|
|
422
|
+
assertDefined(nil, tstlClassName, "Failed to deserialize a TSTL class since the brand did not contain the class name.")
|
|
426
423
|
local classConstructor = classConstructors[tstlClassName]
|
|
427
|
-
|
|
428
|
-
error(("Failed to deserialize a TSTL class since there was no constructor registered for a class name of \"" .. tstlClassName) .. "\". If this mod is using the save data manager, it must register the class constructor with the \"saveDataManagerRegisterClass\" method.")
|
|
429
|
-
end
|
|
424
|
+
assertDefined(nil, classConstructor, ("Failed to deserialize a TSTL class since there was no constructor registered for a class name of \"" .. tstlClassName) .. "\". If this mod is using the save data manager, it must register the class constructor with the \"saveDataManagerRegisterClass\" method.")
|
|
430
425
|
newClass = __TS__New(classConstructor)
|
|
426
|
+
break
|
|
431
427
|
end
|
|
432
|
-
break
|
|
433
428
|
end
|
|
434
429
|
until true
|
|
435
430
|
local ____getCopiedEntries_result_4 = getCopiedEntries(
|
|
@@ -534,7 +529,7 @@ function getCopiedEntries(self, object, serializationType, traversalDescription,
|
|
|
534
529
|
local value = ____value[2]
|
|
535
530
|
do
|
|
536
531
|
if isSerializationBrand(nil, key) then
|
|
537
|
-
goto
|
|
532
|
+
goto __continue90
|
|
538
533
|
end
|
|
539
534
|
traversalDescription = getTraversalDescription(nil, key, traversalDescription)
|
|
540
535
|
local newValue = ____exports.deepCopy(
|
|
@@ -557,7 +552,7 @@ function getCopiedEntries(self, object, serializationType, traversalDescription,
|
|
|
557
552
|
end
|
|
558
553
|
copiedEntries[#copiedEntries + 1] = {keyToUse, newValue}
|
|
559
554
|
end
|
|
560
|
-
::
|
|
555
|
+
::__continue90::
|
|
561
556
|
end
|
|
562
557
|
return {entries = copiedEntries, convertedNumberKeysToStrings = convertNumberKeysToStrings}
|
|
563
558
|
end
|
|
@@ -570,29 +565,26 @@ function checkMetatable(self, luaMap, traversalDescription)
|
|
|
570
565
|
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.)")
|
|
571
566
|
end
|
|
572
567
|
function deepCopyUserdata(self, value, serializationType, traversalDescription)
|
|
573
|
-
local classType = getIsaacAPIClassName(nil, value)
|
|
574
|
-
if classType == nil then
|
|
575
|
-
error("The deep copy function was not able to derive the Isaac API class type for: " .. traversalDescription)
|
|
576
|
-
end
|
|
577
568
|
if not isCopyableIsaacAPIClass(nil, value) then
|
|
578
|
-
|
|
569
|
+
local className = getIsaacAPIClassName(nil, value) or "Unknown"
|
|
570
|
+
error((("The deep copy function does not support serializing \"" .. traversalDescription) .. "\", since it is an Isaac API class of type: ") .. className)
|
|
579
571
|
end
|
|
580
572
|
repeat
|
|
581
|
-
local
|
|
582
|
-
local
|
|
583
|
-
if
|
|
573
|
+
local ____switch100 = serializationType
|
|
574
|
+
local ____cond100 = ____switch100 == SerializationType.NONE
|
|
575
|
+
if ____cond100 then
|
|
584
576
|
do
|
|
585
577
|
return copyIsaacAPIClass(nil, value)
|
|
586
578
|
end
|
|
587
579
|
end
|
|
588
|
-
|
|
589
|
-
if
|
|
580
|
+
____cond100 = ____cond100 or ____switch100 == SerializationType.SERIALIZE
|
|
581
|
+
if ____cond100 then
|
|
590
582
|
do
|
|
591
583
|
return serializeIsaacAPIClass(nil, value)
|
|
592
584
|
end
|
|
593
585
|
end
|
|
594
|
-
|
|
595
|
-
if
|
|
586
|
+
____cond100 = ____cond100 or ____switch100 == SerializationType.DESERIALIZE
|
|
587
|
+
if ____cond100 then
|
|
596
588
|
do
|
|
597
589
|
error(("The deep copy function can not deserialize \"" .. traversalDescription) .. "\", since it is userdata.")
|
|
598
590
|
end
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../../../src/functions/entities.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAM/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../../../src/functions/entities.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,8 @@ local ____tstlClass = require("src.functions.tstlClass")
|
|
|
33
33
|
local isTSTLSet = ____tstlClass.isTSTLSet
|
|
34
34
|
local ____types = require("src.functions.types")
|
|
35
35
|
local isPrimitive = ____types.isPrimitive
|
|
36
|
+
local ____utils = require("src.functions.utils")
|
|
37
|
+
local assertDefined = ____utils.assertDefined
|
|
36
38
|
local ____vector = require("src.functions.vector")
|
|
37
39
|
local doesVectorHaveLength = ____vector.doesVectorHaveLength
|
|
38
40
|
local isVector = ____vector.isVector
|
|
@@ -113,9 +115,7 @@ function ____exports.doesEntityExist(self, entityType, variant, subType, ignoreF
|
|
|
113
115
|
end
|
|
114
116
|
function setPrimitiveEntityFields(self, entity, metatable, entityFields)
|
|
115
117
|
local propGetTable = metatable.__propget
|
|
116
|
-
|
|
117
|
-
error("Failed to get the \"__propget\" table for an entity.")
|
|
118
|
-
end
|
|
118
|
+
assertDefined(nil, propGetTable, "Failed to get the \"__propget\" table for an entity.")
|
|
119
119
|
for key in pairs(propGetTable) do
|
|
120
120
|
local indexKey = key
|
|
121
121
|
local value = entity[indexKey]
|
|
@@ -213,17 +213,23 @@ function ____exports.getConstituentsFromEntityID(self, entityID)
|
|
|
213
213
|
end
|
|
214
214
|
local entityTypeString, variantString, subTypeString = table.unpack(parts)
|
|
215
215
|
local entityType = tonumber(entityTypeString)
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
216
|
+
assertDefined(
|
|
217
|
+
nil,
|
|
218
|
+
entityType,
|
|
219
|
+
"Failed to convert the entity type to a number: " .. tostring(entityTypeString)
|
|
220
|
+
)
|
|
219
221
|
local variant = tonumber(variantString)
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
222
|
+
assertDefined(
|
|
223
|
+
nil,
|
|
224
|
+
variant,
|
|
225
|
+
"Failed to convert the entity variant to a number: " .. tostring(variantString)
|
|
226
|
+
)
|
|
223
227
|
local subType = tonumber(subTypeString)
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
228
|
+
assertDefined(
|
|
229
|
+
nil,
|
|
230
|
+
subType,
|
|
231
|
+
"Failed to convert the entity sub-type to a number: " .. tostring(subTypeString)
|
|
232
|
+
)
|
|
227
233
|
return {entityType, variant, subType}
|
|
228
234
|
end
|
|
229
235
|
--- Helper function to get all of the entities in the room or all of the entities that match a
|
|
@@ -277,18 +283,14 @@ end
|
|
|
277
283
|
function ____exports.getEntityFields(self, entity)
|
|
278
284
|
local entityFields = {}
|
|
279
285
|
local metatable = getmetatable(entity)
|
|
280
|
-
|
|
281
|
-
error("Failed to get the metatable for an entity.")
|
|
282
|
-
end
|
|
286
|
+
assertDefined(nil, metatable, "Failed to get the metatable for an entity.")
|
|
283
287
|
setPrimitiveEntityFields(nil, entity, metatable, entityFields)
|
|
284
288
|
local className = getIsaacAPIClassName(nil, entity)
|
|
285
289
|
if className == "Entity" then
|
|
286
290
|
return entityFields
|
|
287
291
|
end
|
|
288
292
|
local parentTable = metatable.__parent
|
|
289
|
-
|
|
290
|
-
error("Failed to get the \"__parent\" table for an entity.")
|
|
291
|
-
end
|
|
293
|
+
assertDefined(nil, parentTable, "Failed to get the \"__parent\" table for an entity.")
|
|
292
294
|
setPrimitiveEntityFields(nil, entity, parentTable, entityFields)
|
|
293
295
|
return entityFields
|
|
294
296
|
end
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entitiesSpecific.d.ts","sourceRoot":"","sources":["../../../src/functions/entitiesSpecific.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,WAAW,EACZ,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"entitiesSpecific.d.ts","sourceRoot":"","sources":["../../../src/functions/entitiesSpecific.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,WAAW,EACZ,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAK1D;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,QAAQ,CACtB,WAAW,GAAE,WAAW,GAAG,CAAC,CAAM,EAClC,OAAO,SAAK,GACX,UAAU,EAAE,CAYd;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,UAAU,CACxB,aAAa,GAAE,aAAa,GAAG,CAAC,CAAM,EACtC,OAAO,SAAK,GACX,YAAY,EAAE,CAYhB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAC1B,eAAe,GAAE,eAAe,GAAG,CAAC,CAAM,EAC1C,OAAO,SAAK,GACX,cAAc,EAAE,CAYlB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,SAAS,CACvB,YAAY,GAAE,YAAY,GAAG,CAAC,CAAM,EACpC,OAAO,SAAK,GACX,WAAW,EAAE,CAYf;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,SAAS,CACvB,YAAY,GAAE,YAAY,GAAG,CAAC,CAAM,EACpC,OAAO,SAAK,GACX,WAAW,EAAE,CAYf;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,OAAO,CACrB,UAAU,GAAE,UAAU,GAAG,CAAC,CAAM,EAChC,OAAO,SAAK,EACZ,OAAO,SAAK,EACZ,cAAc,UAAQ,GACrB,SAAS,EAAE,CAYb;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,UAAU,CACxB,aAAa,GAAE,aAAa,GAAG,CAAC,CAAM,EACtC,OAAO,SAAK,GACX,YAAY,EAAE,CAYhB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAC5B,iBAAiB,GAAE,iBAAiB,GAAG,CAAC,CAAM,EAC9C,OAAO,SAAK,GACX,gBAAgB,EAAE,CAgBpB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,QAAQ,CACtB,WAAW,GAAE,WAAW,GAAG,CAAC,CAAM,EAClC,OAAO,SAAK,GACX,UAAU,EAAE,CAId;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,QAAQ,CACtB,WAAW,GAAE,WAAW,GAAG,CAAC,CAAM,EAClC,OAAO,SAAK,GACX,UAAU,EAAE,CAYd;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC5B,WAAW,GAAE,WAAW,GAAG,CAAC,CAAM,EAClC,OAAO,SAAK,EACZ,GAAG,CAAC,EAAE,GAAG,GACR,UAAU,EAAE,CAGd;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,GAAE,aAAa,GAAG,CAAC,CAAM,EACtC,OAAO,SAAK,EACZ,GAAG,CAAC,EAAE,GAAG,GACR,YAAY,EAAE,CAGhB;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,eAAe,GAAE,eAAe,GAAG,CAAC,CAAM,EAC1C,OAAO,SAAK,EACZ,GAAG,CAAC,EAAE,GAAG,GACR,cAAc,EAAE,CAGlB;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,YAAY,GAAE,YAAY,GAAG,CAAC,CAAM,EACpC,OAAO,SAAK,EACZ,GAAG,CAAC,EAAE,GAAG,GACR,WAAW,EAAE,CAGf;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,YAAY,GAAE,YAAY,GAAG,CAAC,CAAM,EACpC,OAAO,SAAK,EACZ,GAAG,CAAC,EAAE,GAAG,GACR,WAAW,EAAE,CAGf;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,UAAU,GAAE,UAAU,GAAG,CAAC,CAAM,EAChC,OAAO,SAAK,EACZ,OAAO,SAAK,EACZ,GAAG,CAAC,EAAE,GAAG,GACR,SAAS,EAAE,CAGb;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,GAAE,aAAa,GAAG,CAAC,CAAM,EACtC,OAAO,SAAK,EACZ,GAAG,CAAC,EAAE,GAAG,GACR,YAAY,EAAE,CAGhB;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,iBAAiB,GAAE,iBAAiB,GAAG,CAAC,CAAM,EAC9C,OAAO,SAAK,EACZ,GAAG,CAAC,EAAE,GAAG,GACR,gBAAgB,EAAE,CAGpB;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,WAAW,GAAE,WAAW,GAAG,CAAC,CAAM,EAClC,OAAO,SAAK,EACZ,GAAG,CAAC,EAAE,GAAG,GACR,MAAM,EAAE,CAGV;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,WAAW,GAAE,WAAW,GAAG,CAAC,CAAM,EAClC,OAAO,SAAK,EACZ,GAAG,CAAC,EAAE,GAAG,GACR,UAAU,EAAE,CAGd;AAED,wDAAwD;AACxD,wBAAgB,SAAS,CACvB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,GAAG,EACZ,mBAAmB,EAAE,MAAM,GAAG,GAAG,EACjC,QAAQ,GAAE,MAAmB,EAC7B,OAAO,GAAE,MAAM,GAAG,SAAqB,EACvC,SAAS,GAAE,IAAI,GAAG,GAAG,GAAG,SAAqB,GAC5C,UAAU,CAeZ;AAED,6EAA6E;AAC7E,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,GAAG,EACZ,mBAAmB,EAAE,MAAM,GAAG,GAAG,EACjC,SAAS,EAAE,IAAI,GAAG,GAAG,EACrB,QAAQ,GAAE,MAAmB,EAC7B,OAAO,GAAE,MAAM,GAAG,SAAqB,GACtC,UAAU,CASZ;AAED,6DAA6D;AAC7D,wBAAgB,WAAW,CACzB,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,GAAG,EACZ,mBAAmB,EAAE,MAAM,GAAG,GAAG,EACjC,QAAQ,GAAE,MAAmB,EAC7B,OAAO,GAAE,MAAM,GAAG,SAAqB,EACvC,SAAS,GAAE,IAAI,GAAG,GAAG,GAAG,SAAqB,GAC5C,YAAY,CAed;AAED,kFAAkF;AAClF,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,GAAG,EACZ,mBAAmB,EAAE,MAAM,GAAG,GAAG,EACjC,SAAS,EAAE,IAAI,GAAG,GAAG,EACrB,QAAQ,GAAE,MAAmB,EAC7B,OAAO,GAAE,MAAM,GAAG,SAAqB,GACtC,YAAY,CASd;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,GAAG,EACZ,mBAAmB,EAAE,MAAM,GAAG,GAAG,EACjC,QAAQ,GAAE,MAAmB,EAC7B,OAAO,GAAE,MAAM,GAAG,SAAqB,EACvC,SAAS,GAAE,IAAI,GAAG,GAAG,GAAG,SAAqB,GAC5C,cAAc,CAehB;AAED,iFAAiF;AACjF,wBAAgB,qBAAqB,CACnC,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,GAAG,EACZ,mBAAmB,EAAE,MAAM,GAAG,GAAG,EACjC,SAAS,EAAE,IAAI,GAAG,GAAG,EACrB,QAAQ,GAAE,MAAmB,EAC7B,OAAO,GAAE,MAAM,GAAG,SAAqB,GACtC,cAAc,CAShB;AAED,yDAAyD;AACzD,wBAAgB,UAAU,CACxB,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,GAAG,EACZ,mBAAmB,EAAE,MAAM,GAAG,GAAG,EACjC,QAAQ,GAAE,MAAmB,EAC7B,OAAO,GAAE,MAAM,GAAG,SAAqB,EACvC,SAAS,GAAE,IAAI,GAAG,GAAG,GAAG,SAAqB,GAC5C,WAAW,CAeb;AAED,8EAA8E;AAC9E,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,GAAG,EACZ,mBAAmB,EAAE,MAAM,GAAG,GAAG,EACjC,SAAS,EAAE,IAAI,GAAG,GAAG,EACrB,QAAQ,GAAE,MAAmB,EAC7B,OAAO,GAAE,MAAM,GAAG,SAAqB,GACtC,WAAW,CASb;AAED,yDAAyD;AACzD,wBAAgB,UAAU,CACxB,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,GAAG,EACZ,mBAAmB,EAAE,MAAM,GAAG,GAAG,EACjC,QAAQ,GAAE,MAAmB,EAC7B,OAAO,GAAE,MAAM,GAAG,SAAqB,EACvC,SAAS,GAAE,IAAI,GAAG,GAAG,GAAG,SAAqB,GAC5C,WAAW,CAeb;AAED,8EAA8E;AAC9E,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,GAAG,EACZ,mBAAmB,EAAE,MAAM,GAAG,GAAG,EACjC,SAAS,EAAE,IAAI,GAAG,GAAG,EACrB,QAAQ,GAAE,MAAmB,EAC7B,OAAO,GAAE,MAAM,GAAG,SAAqB,GACtC,WAAW,CASb;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CACtB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,GAAG,EACZ,mBAAmB,EAAE,MAAM,GAAG,GAAG,EACjC,QAAQ,GAAE,MAAmB,EAC7B,OAAO,GAAE,MAAM,GAAG,SAAqB,EACvC,SAAS,GAAE,IAAI,GAAG,GAAG,GAAG,SAAqB,GAC5C,SAAS,CAeX;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,GAAG,EACZ,mBAAmB,EAAE,MAAM,GAAG,GAAG,EACjC,SAAS,EAAE,IAAI,GAAG,GAAG,EACrB,QAAQ,GAAE,MAAmB,EAC7B,OAAO,GAAE,MAAM,GAAG,SAAqB,GACtC,SAAS,CAUX;AAED,0DAA0D;AAC1D,wBAAgB,WAAW,CACzB,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,GAAG,EACZ,mBAAmB,EAAE,MAAM,GAAG,GAAG,EACjC,QAAQ,GAAE,MAAmB,EAC7B,OAAO,GAAE,MAAM,GAAG,SAAqB,EACvC,SAAS,GAAE,IAAI,GAAG,GAAG,GAAG,SAAqB,GAC5C,YAAY,CAed;AAED,+EAA+E;AAC/E,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,GAAG,EACZ,mBAAmB,EAAE,MAAM,GAAG,GAAG,EACjC,SAAS,EAAE,IAAI,GAAG,GAAG,EACrB,QAAQ,GAAE,MAAmB,EAC7B,OAAO,GAAE,MAAM,GAAG,SAAqB,GACtC,YAAY,CASd;AAED,8DAA8D;AAC9D,wBAAgB,eAAe,CAC7B,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,GAAG,EACZ,mBAAmB,EAAE,MAAM,GAAG,GAAG,EACjC,QAAQ,GAAE,MAAmB,EAC7B,OAAO,GAAE,MAAM,GAAG,SAAqB,EACvC,SAAS,GAAE,IAAI,GAAG,GAAG,GAAG,SAAqB,GAC5C,gBAAgB,CAelB;AAED,mFAAmF;AACnF,wBAAgB,uBAAuB,CACrC,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,GAAG,EACZ,mBAAmB,EAAE,MAAM,GAAG,GAAG,EACjC,SAAS,EAAE,IAAI,GAAG,GAAG,EACrB,QAAQ,GAAE,MAAmB,EAC7B,OAAO,GAAE,MAAM,GAAG,SAAqB,GACtC,gBAAgB,CASlB;AAED,wDAAwD;AACxD,wBAAgB,SAAS,CACvB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,GAAG,EACZ,mBAAmB,EAAE,MAAM,GAAG,GAAG,EACjC,QAAQ,GAAE,MAAmB,EAC7B,OAAO,GAAE,MAAM,GAAG,SAAqB,EACvC,SAAS,GAAE,IAAI,GAAG,GAAG,GAAG,SAAqB,GAC5C,UAAU,CAUZ;AAED,6EAA6E;AAC7E,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,GAAG,EACZ,mBAAmB,EAAE,MAAM,GAAG,GAAG,EACjC,SAAS,EAAE,IAAI,GAAG,GAAG,EACrB,QAAQ,GAAE,MAAmB,EAC7B,OAAO,GAAE,MAAM,GAAG,SAAqB,GACtC,UAAU,CASZ;AAED,wDAAwD;AACxD,wBAAgB,SAAS,CACvB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,GAAG,EACZ,mBAAmB,EAAE,MAAM,GAAG,GAAG,EACjC,QAAQ,GAAE,MAAmB,EAC7B,OAAO,GAAE,MAAM,GAAG,SAAqB,EACvC,SAAS,GAAE,IAAI,GAAG,GAAG,GAAG,SAAqB,GAC5C,UAAU,CAeZ;AAED,mFAAmF;AACnF,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,GAAG,EACZ,mBAAmB,EAAE,MAAM,GAAG,GAAG,EACjC,SAAS,EAAE,IAAI,GAAG,GAAG,EACrB,QAAQ,GAAE,MAAmB,EAC7B,OAAO,GAAE,MAAM,GAAG,SAAqB,GACtC,UAAU,CASZ"}
|
|
@@ -7,6 +7,8 @@ local ____entities = require("src.functions.entities")
|
|
|
7
7
|
local getEntities = ____entities.getEntities
|
|
8
8
|
local removeEntities = ____entities.removeEntities
|
|
9
9
|
local spawn = ____entities.spawn
|
|
10
|
+
local ____utils = require("src.functions.utils")
|
|
11
|
+
local assertDefined = ____utils.assertDefined
|
|
10
12
|
--- Helper function to get all of the bombs in the room. (Specifically, this refers to the
|
|
11
13
|
-- `EntityBomb` class, not bomb pickups.)
|
|
12
14
|
--
|
|
@@ -531,9 +533,7 @@ function ____exports.spawnBomb(self, bombVariant, subType, positionOrGridIndex,
|
|
|
531
533
|
seedOrRNG
|
|
532
534
|
)
|
|
533
535
|
local bomb = entity:ToBomb()
|
|
534
|
-
|
|
535
|
-
error("Failed to spawn a bomb.")
|
|
536
|
-
end
|
|
536
|
+
assertDefined(nil, bomb, "Failed to spawn a bomb.")
|
|
537
537
|
return bomb
|
|
538
538
|
end
|
|
539
539
|
--- Helper function to spawn a `EntityType.BOMB` (4) with a specific seed.
|
|
@@ -567,9 +567,7 @@ function ____exports.spawnEffect(self, effectVariant, subType, positionOrGridInd
|
|
|
567
567
|
seedOrRNG
|
|
568
568
|
)
|
|
569
569
|
local effect = entity:ToEffect()
|
|
570
|
-
|
|
571
|
-
error("Failed to spawn an effect.")
|
|
572
|
-
end
|
|
570
|
+
assertDefined(nil, effect, "Failed to spawn an effect.")
|
|
573
571
|
return effect
|
|
574
572
|
end
|
|
575
573
|
--- Helper function to spawn a `EntityType.EFFECT` (1000) with a specific seed.
|
|
@@ -606,9 +604,7 @@ function ____exports.spawnFamiliar(self, familiarVariant, subType, positionOrGri
|
|
|
606
604
|
seedOrRNG
|
|
607
605
|
)
|
|
608
606
|
local familiar = entity:ToFamiliar()
|
|
609
|
-
|
|
610
|
-
error("Failed to spawn a familiar.")
|
|
611
|
-
end
|
|
607
|
+
assertDefined(nil, familiar, "Failed to spawn a familiar.")
|
|
612
608
|
return familiar
|
|
613
609
|
end
|
|
614
610
|
--- Helper function to spawn a `EntityType.FAMILIAR` (3) with a specific seed.
|
|
@@ -642,9 +638,7 @@ function ____exports.spawnKnife(self, knifeVariant, subType, positionOrGridIndex
|
|
|
642
638
|
seedOrRNG
|
|
643
639
|
)
|
|
644
640
|
local knife = entity:ToKnife()
|
|
645
|
-
|
|
646
|
-
error("Failed to spawn a knife.")
|
|
647
|
-
end
|
|
641
|
+
assertDefined(nil, knife, "Failed to spawn a knife.")
|
|
648
642
|
return knife
|
|
649
643
|
end
|
|
650
644
|
--- Helper function to spawn a `EntityType.KNIFE` (8) with a specific seed.
|
|
@@ -678,9 +672,7 @@ function ____exports.spawnLaser(self, laserVariant, subType, positionOrGridIndex
|
|
|
678
672
|
seedOrRNG
|
|
679
673
|
)
|
|
680
674
|
local laser = entity:ToLaser()
|
|
681
|
-
|
|
682
|
-
error("Failed to spawn a laser.")
|
|
683
|
-
end
|
|
675
|
+
assertDefined(nil, laser, "Failed to spawn a laser.")
|
|
684
676
|
return laser
|
|
685
677
|
end
|
|
686
678
|
--- Helper function to spawn a `EntityType.LASER` (7) with a specific seed.
|
|
@@ -717,9 +709,7 @@ function ____exports.spawnNPC(self, entityType, variant, subType, positionOrGrid
|
|
|
717
709
|
seedOrRNG
|
|
718
710
|
)
|
|
719
711
|
local npc = entity:ToNPC()
|
|
720
|
-
|
|
721
|
-
error("Failed to spawn an NPC.")
|
|
722
|
-
end
|
|
712
|
+
assertDefined(nil, npc, "Failed to spawn an NPC.")
|
|
723
713
|
return npc
|
|
724
714
|
end
|
|
725
715
|
--- Helper function to spawn an NPC with a specific seed.
|
|
@@ -757,9 +747,7 @@ function ____exports.spawnPickup(self, pickupVariant, subType, positionOrGridInd
|
|
|
757
747
|
seedOrRNG
|
|
758
748
|
)
|
|
759
749
|
local pickup = entity:ToPickup()
|
|
760
|
-
|
|
761
|
-
error("Failed to spawn a pickup.")
|
|
762
|
-
end
|
|
750
|
+
assertDefined(nil, pickup, "Failed to spawn a pickup.")
|
|
763
751
|
return pickup
|
|
764
752
|
end
|
|
765
753
|
--- Helper function to spawn a `EntityType.PICKUP` (5) with a specific seed.
|
|
@@ -793,9 +781,7 @@ function ____exports.spawnProjectile(self, projectileVariant, subType, positionO
|
|
|
793
781
|
seedOrRNG
|
|
794
782
|
)
|
|
795
783
|
local projectile = entity:ToProjectile()
|
|
796
|
-
|
|
797
|
-
error("Failed to spawn a projectile.")
|
|
798
|
-
end
|
|
784
|
+
assertDefined(nil, projectile, "Failed to spawn a projectile.")
|
|
799
785
|
return projectile
|
|
800
786
|
end
|
|
801
787
|
--- Helper function to spawn a `EntityType.PROJECTILE` (9) with a specific seed.
|
|
@@ -860,9 +846,7 @@ function ____exports.spawnTear(self, tearVariant, subType, positionOrGridIndex,
|
|
|
860
846
|
seedOrRNG
|
|
861
847
|
)
|
|
862
848
|
local tear = entity:ToTear()
|
|
863
|
-
|
|
864
|
-
error("Failed to spawn a tear.")
|
|
865
|
-
end
|
|
849
|
+
assertDefined(nil, tear, "Failed to spawn a tear.")
|
|
866
850
|
return tear
|
|
867
851
|
end
|
|
868
852
|
--- Helper function to spawn a `EntityType.EntityType` (2) with a specific seed.
|
|
@@ -35,9 +35,9 @@ export declare function getEnumEntries<T>(transpiledEnum: T): Array<[key: string
|
|
|
35
35
|
* For a more in depth explanation, see:
|
|
36
36
|
* https://isaacscript.github.io/main/gotchas#iterating-over-enums
|
|
37
37
|
*/
|
|
38
|
-
export declare function getEnumKeys
|
|
38
|
+
export declare function getEnumKeys(transpiledEnum: Record<string | number, string | number>): string[];
|
|
39
39
|
/** Helper function to get the amount of entries inside of an enum. */
|
|
40
|
-
export declare function getEnumLength
|
|
40
|
+
export declare function getEnumLength(transpiledEnum: Record<string | number, string | number>): int;
|
|
41
41
|
/**
|
|
42
42
|
* TypeScriptToLua will transpile TypeScript enums to Lua tables that have a double mapping. Thus,
|
|
43
43
|
* when you iterate over them, you will get both the names of the enums and the values of the enums,
|
|
@@ -58,8 +58,8 @@ export declare function getEnumValues<T>(transpiledEnum: T): Array<T[keyof T]>;
|
|
|
58
58
|
/**
|
|
59
59
|
* Helper function to get the enum value with the highest value.
|
|
60
60
|
*
|
|
61
|
-
* Note that this is not necessarily the enum value that is declared last, since there
|
|
62
|
-
* infer that at run-time.
|
|
61
|
+
* Note that this is not necessarily the enum value that is declared last in the code, since there
|
|
62
|
+
* is no way to infer that at run-time.
|
|
63
63
|
*/
|
|
64
64
|
export declare function getHighestEnumValue<T>(transpiledEnum: T): T[keyof T];
|
|
65
65
|
/**
|
|
@@ -71,6 +71,8 @@ export declare function getHighestEnumValue<T>(transpiledEnum: T): T[keyof T];
|
|
|
71
71
|
* @param exceptions Optional. An array of elements to skip over if selected.
|
|
72
72
|
*/
|
|
73
73
|
export declare function getRandomEnumValue<T>(transpiledEnum: T, seedOrRNG?: Seed | RNG, exceptions?: Array<T[keyof T]> | ReadonlyArray<T[keyof T]>): T[keyof T];
|
|
74
|
+
/** Helper function to validate that a particular value exists inside of an enum. */
|
|
75
|
+
export declare function isEnumValue(value: number | string, transpiledEnum: Record<string | number, string | number>): boolean;
|
|
74
76
|
/**
|
|
75
77
|
* Helper function to check every value of a custom enum for -1. Will throw an run-time error if any
|
|
76
78
|
* -1 values are found. This is helpful because many methods of the Isaac class return -1 if they
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/functions/enums.ts"],"names":[],"mappings":";;;AAMA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,cAAc,EAAE,CAAC,GAChB,KAAK,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAmBzC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,
|
|
1
|
+
{"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/functions/enums.ts"],"names":[],"mappings":";;;AAMA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,cAAc,EAAE,CAAC,GAChB,KAAK,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAmBzC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CACzB,cAAc,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GACvD,MAAM,EAAE,CAGV;AAED,sEAAsE;AACtE,wBAAgB,aAAa,CAC3B,cAAc,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GACvD,GAAG,CAGL;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAGrE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAUpE;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,cAAc,EAAE,CAAC,EACjB,SAAS,GAAE,IAAI,GAAG,GAAqB,EACvC,UAAU,GAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAM,GAC7D,CAAC,CAAC,MAAM,CAAC,CAAC,CAGZ;AAED,oFAAoF;AACpF,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,cAAc,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GACvD,OAAO,CAGT;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,kBAAkB,EAAE,MAAM,EAC1B,cAAc,EAAE,OAAO,GACtB,IAAI,CAQN;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EACtC,kBAAkB,EAAE,MAAM,EAC1B,cAAc,EAAE,CAAC,GAChB,IAAI,CAsBN;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,4BAA4B,CAE1C,CAAC,SAAS,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,EAC/B,IAAI,SAAS,MAAM,GAAG,MAAM,KACzB,IAAI,CAAG"}
|