isaacscript-common 85.1.0 → 86.1.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/features.js CHANGED
@@ -61,7 +61,7 @@ const UnlockAchievementsDetection_1 = require("./classes/features/other/UnlockAc
61
61
  const ISCFeature_1 = require("./enums/ISCFeature");
62
62
  const ModCallbackCustom_1 = require("./enums/ModCallbackCustom");
63
63
  const enums_1 = require("./functions/enums");
64
- (0, enums_1.validateInterfaceMatchesEnum)();
64
+ (0, enums_1.interfaceSatisfiesEnum)();
65
65
  // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
66
66
  function getFeatures(mod, callbacks) {
67
67
  // Some features rely on other features; we must initialize those first.
package/dist/features.lua CHANGED
@@ -120,8 +120,8 @@ local ISCFeature = ____ISCFeature.ISCFeature
120
120
  local ____ModCallbackCustom = require("enums.ModCallbackCustom")
121
121
  local ModCallbackCustom = ____ModCallbackCustom.ModCallbackCustom
122
122
  local ____enums = require("functions.enums")
123
- local validateInterfaceMatchesEnum = ____enums.validateInterfaceMatchesEnum
124
- validateInterfaceMatchesEnum(nil)
123
+ local interfaceSatisfiesEnum = ____enums.interfaceSatisfiesEnum
124
+ interfaceSatisfiesEnum(nil)
125
125
  function ____exports.getFeatures(self, mod, callbacks)
126
126
  local gameReorderedCallbacks = __TS__New(
127
127
  GameReorderedCallbacks,
@@ -113,30 +113,6 @@ export declare function getLowestEnumValue<T extends TranspiledEnum>(transpiledE
113
113
  * @param exceptions Optional. An array of elements to skip over if selected.
114
114
  */
115
115
  export declare function getRandomEnumValue<T extends TranspiledEnum>(transpiledEnum: T, seedOrRNG: Seed | RNG | undefined, exceptions?: ReadonlyArray<T[keyof T]>): T[keyof T];
116
- /** Helper function to validate that a particular value exists inside of an enum. */
117
- export declare function isEnumValue<T extends TranspiledEnum>(value: number | string | BitFlag | BitFlag128, transpiledEnum: T): value is T[keyof T];
118
- /**
119
- * Helper function to check every value of a custom enum for -1. Will throw an run-time error if any
120
- * -1 values are found. This is helpful because many methods of the Isaac class return -1 if they
121
- * fail.
122
- *
123
- * For example:
124
- *
125
- * ```ts
126
- * enum EntityTypeCustom {
127
- * FOO = Isaac.GetEntityTypeByName("Foo"),
128
- * }
129
- *
130
- * validateCustomEnum("EntityTypeCustom", EntityTypeCustom);
131
- * ```
132
- */
133
- export declare function validateCustomEnum(transpiledEnumName: string, transpiledEnum: TranspiledEnum): void;
134
- /**
135
- * Helper function to validate if every value in a number enum is contiguous, starting at 0.
136
- *
137
- * This is useful to automate checking large enums for typos.
138
- */
139
- export declare function validateEnumContiguous<T extends TranspiledEnum>(transpiledEnumName: string, transpiledEnum: T): void;
140
116
  /**
141
117
  * Helper function to validate that an interface contains all of the keys of an enum. You must
142
118
  * specify both generic parameters in order for this to work properly (i.e. the interface and then
@@ -157,12 +133,36 @@ export declare function validateEnumContiguous<T extends TranspiledEnum>(transpi
157
133
  * [MyEnum.Value3]: string;
158
134
  * }
159
135
  *
160
- * validateInterfaceMatchesEnum<MyEnumToType, MyEnum>();
136
+ * interfaceSatisfiesEnum<MyEnumToType, MyEnum>();
161
137
  * ```
162
138
  *
163
139
  * This function is only meant to be used with interfaces (i.e. types that will not exist at
164
140
  * run-time). If you are generating an object that will contain all of the keys of an enum, use the
165
141
  * `satisfies` operator with the `Record` type instead.
166
142
  */
167
- export declare function validateInterfaceMatchesEnum<T extends Record<Enum, unknown>, Enum extends string | number>(): void;
143
+ export declare function interfaceSatisfiesEnum<T extends Record<Enum, unknown>, Enum extends string | number>(): void;
144
+ /** Helper function to validate that a particular value exists inside of an enum. */
145
+ export declare function isEnumValue<T extends TranspiledEnum>(value: number | string | BitFlag | BitFlag128, transpiledEnum: T): value is T[keyof T];
146
+ /**
147
+ * Helper function to check every value of a custom enum for -1. Will throw an run-time error if any
148
+ * -1 values are found. This is helpful because many methods of the Isaac class return -1 if they
149
+ * fail.
150
+ *
151
+ * For example:
152
+ *
153
+ * ```ts
154
+ * enum EntityTypeCustom {
155
+ * FOO = Isaac.GetEntityTypeByName("Foo"),
156
+ * }
157
+ *
158
+ * validateCustomEnum("EntityTypeCustom", EntityTypeCustom);
159
+ * ```
160
+ */
161
+ export declare function validateCustomEnum(transpiledEnumName: string, transpiledEnum: TranspiledEnum): void;
162
+ /**
163
+ * Helper function to validate if every value in a number enum is contiguous, starting at 0.
164
+ *
165
+ * This is useful to automate checking large enums for typos.
166
+ */
167
+ export declare function validateEnumContiguous<T extends TranspiledEnum>(transpiledEnumName: string, transpiledEnum: T): void;
168
168
  //# sourceMappingURL=enums.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../src/functions/enums.ts"],"names":[],"mappings":";;;;;AAMA;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CACjC,MAAM,EACN,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,CACvC,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,cAAc,EACrD,cAAc,EAAE,CAAC,GAChB,aAAa,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAiBjD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CAAC,cAAc,EAAE,cAAc,GAAG,SAAS,MAAM,EAAE,CAG7E;AAED,sEAAsE;AACtE,wBAAgB,aAAa,CAAC,cAAc,EAAE,cAAc,GAAG,GAAG,CAGjE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAC1B,cAAc,EAAE,cAAc,GAC7B,SAAS,MAAM,EAAE,CAanB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,cAAc,EACpD,cAAc,EAAE,CAAC,GAChB,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAG3B;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,cAAc,EAC1D,cAAc,EAAE,CAAC,GAChB,CAAC,CAAC,MAAM,CAAC,CAAC,CAUZ;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,cAAc,EACzD,cAAc,EAAE,CAAC,GAChB,CAAC,CAAC,MAAM,CAAC,CAAC,CAUZ;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,cAAc,EACzD,cAAc,EAAE,CAAC,EACjB,SAAS,EAAE,IAAI,GAAG,GAAG,GAAG,SAAS,EACjC,UAAU,GAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAM,GACzC,CAAC,CAAC,MAAM,CAAC,CAAC,CAGZ;AAED,oFAAoF;AACpF,wBAAgB,WAAW,CAAC,CAAC,SAAS,cAAc,EAClD,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,EAC7C,cAAc,EAAE,CAAC,GAChB,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAGrB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,kBAAkB,EAAE,MAAM,EAC1B,cAAc,EAAE,cAAc,GAC7B,IAAI,CAQN;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,cAAc,EAC7D,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"}
1
+ {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../src/functions/enums.ts"],"names":[],"mappings":";;;;;AAMA;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CACjC,MAAM,EACN,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,CACvC,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,cAAc,EACrD,cAAc,EAAE,CAAC,GAChB,aAAa,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAiBjD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CAAC,cAAc,EAAE,cAAc,GAAG,SAAS,MAAM,EAAE,CAG7E;AAED,sEAAsE;AACtE,wBAAgB,aAAa,CAAC,cAAc,EAAE,cAAc,GAAG,GAAG,CAGjE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAC1B,cAAc,EAAE,cAAc,GAC7B,SAAS,MAAM,EAAE,CAanB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,cAAc,EACpD,cAAc,EAAE,CAAC,GAChB,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAG3B;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,cAAc,EAC1D,cAAc,EAAE,CAAC,GAChB,CAAC,CAAC,MAAM,CAAC,CAAC,CAUZ;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,cAAc,EACzD,cAAc,EAAE,CAAC,GAChB,CAAC,CAAC,MAAM,CAAC,CAAC,CAUZ;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,cAAc,EACzD,cAAc,EAAE,CAAC,EACjB,SAAS,EAAE,IAAI,GAAG,GAAG,GAAG,SAAS,EACjC,UAAU,GAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAM,GACzC,CAAC,CAAC,MAAM,CAAC,CAAC,CAGZ;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,sBAAsB,CAEpC,CAAC,SAAS,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,EAC/B,IAAI,SAAS,MAAM,GAAG,MAAM,KACzB,IAAI,CAAG;AAEZ,oFAAoF;AACpF,wBAAgB,WAAW,CAAC,CAAC,SAAS,cAAc,EAClD,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,EAC7C,cAAc,EAAE,CAAC,GAChB,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAGrB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,kBAAkB,EAAE,MAAM,EAC1B,cAAc,EAAE,cAAc,GAC7B,IAAI,CAQN;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,cAAc,EAC7D,kBAAkB,EAAE,MAAM,EAC1B,cAAc,EAAE,CAAC,GAChB,IAAI,CAsBN"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateInterfaceMatchesEnum = exports.validateEnumContiguous = exports.validateCustomEnum = exports.isEnumValue = exports.getRandomEnumValue = exports.getLowestEnumValue = exports.getHighestEnumValue = exports.getEnumValues = exports.getEnumNames = exports.getEnumLength = exports.getEnumKeys = exports.getEnumEntries = void 0;
3
+ exports.validateEnumContiguous = exports.validateCustomEnum = exports.isEnumValue = exports.interfaceSatisfiesEnum = exports.getRandomEnumValue = exports.getLowestEnumValue = exports.getHighestEnumValue = exports.getEnumValues = exports.getEnumNames = exports.getEnumLength = exports.getEnumKeys = exports.getEnumEntries = void 0;
4
4
  const ReadonlySet_1 = require("../types/ReadonlySet");
5
5
  const array_1 = require("./array");
6
6
  const sort_1 = require("./sort");
@@ -162,6 +162,35 @@ function getRandomEnumValue(transpiledEnum, seedOrRNG, exceptions = []) {
162
162
  return (0, array_1.getRandomArrayElement)(enumValues, seedOrRNG, exceptions);
163
163
  }
164
164
  exports.getRandomEnumValue = getRandomEnumValue;
165
+ /**
166
+ * Helper function to validate that an interface contains all of the keys of an enum. You must
167
+ * specify both generic parameters in order for this to work properly (i.e. the interface and then
168
+ * the enum).
169
+ *
170
+ * For example:
171
+ *
172
+ * ```ts
173
+ * enum MyEnum {
174
+ * Value1,
175
+ * Value2,
176
+ * Value3,
177
+ * }
178
+ *
179
+ * interface MyEnumToType {
180
+ * [MyEnum.Value1]: boolean;
181
+ * [MyEnum.Value2]: number;
182
+ * [MyEnum.Value3]: string;
183
+ * }
184
+ *
185
+ * interfaceSatisfiesEnum<MyEnumToType, MyEnum>();
186
+ * ```
187
+ *
188
+ * This function is only meant to be used with interfaces (i.e. types that will not exist at
189
+ * run-time). If you are generating an object that will contain all of the keys of an enum, use the
190
+ * `satisfies` operator with the `Record` type instead.
191
+ */
192
+ function interfaceSatisfiesEnum() { } // eslint-disable-line @typescript-eslint/no-empty-function
193
+ exports.interfaceSatisfiesEnum = interfaceSatisfiesEnum;
165
194
  /** Helper function to validate that a particular value exists inside of an enum. */
166
195
  function isEnumValue(value, transpiledEnum) {
167
196
  const enumValues = getEnumValues(transpiledEnum);
@@ -211,32 +240,3 @@ function validateEnumContiguous(transpiledEnumName, transpiledEnum) {
211
240
  }
212
241
  }
213
242
  exports.validateEnumContiguous = validateEnumContiguous;
214
- /**
215
- * Helper function to validate that an interface contains all of the keys of an enum. You must
216
- * specify both generic parameters in order for this to work properly (i.e. the interface and then
217
- * the enum).
218
- *
219
- * For example:
220
- *
221
- * ```ts
222
- * enum MyEnum {
223
- * Value1,
224
- * Value2,
225
- * Value3,
226
- * }
227
- *
228
- * interface MyEnumToType {
229
- * [MyEnum.Value1]: boolean;
230
- * [MyEnum.Value2]: number;
231
- * [MyEnum.Value3]: string;
232
- * }
233
- *
234
- * validateInterfaceMatchesEnum<MyEnumToType, MyEnum>();
235
- * ```
236
- *
237
- * This function is only meant to be used with interfaces (i.e. types that will not exist at
238
- * run-time). If you are generating an object that will contain all of the keys of an enum, use the
239
- * `satisfies` operator with the `Record` type instead.
240
- */
241
- function validateInterfaceMatchesEnum() { } // eslint-disable-line @typescript-eslint/no-empty-function
242
- exports.validateInterfaceMatchesEnum = validateInterfaceMatchesEnum;
@@ -188,6 +188,33 @@ function ____exports.getRandomEnumValue(self, transpiledEnum, seedOrRNG, excepti
188
188
  local enumValues = ____exports.getEnumValues(nil, transpiledEnum)
189
189
  return getRandomArrayElement(nil, enumValues, seedOrRNG, exceptions)
190
190
  end
191
+ --- Helper function to validate that an interface contains all of the keys of an enum. You must
192
+ -- specify both generic parameters in order for this to work properly (i.e. the interface and then
193
+ -- the enum).
194
+ --
195
+ -- For example:
196
+ --
197
+ -- ```ts
198
+ -- enum MyEnum {
199
+ -- Value1,
200
+ -- Value2,
201
+ -- Value3,
202
+ -- }
203
+ --
204
+ -- interface MyEnumToType {
205
+ -- [MyEnum.Value1]: boolean;
206
+ -- [MyEnum.Value2]: number;
207
+ -- [MyEnum.Value3]: string;
208
+ -- }
209
+ --
210
+ -- interfaceSatisfiesEnum<MyEnumToType, MyEnum>();
211
+ -- ```
212
+ --
213
+ -- This function is only meant to be used with interfaces (i.e. types that will not exist at
214
+ -- run-time). If you are generating an object that will contain all of the keys of an enum, use the
215
+ -- `satisfies` operator with the `Record` type instead.
216
+ function ____exports.interfaceSatisfiesEnum(self)
217
+ end
191
218
  --- Helper function to validate that a particular value exists inside of an enum.
192
219
  function ____exports.isEnumValue(self, value, transpiledEnum)
193
220
  local enumValues = ____exports.getEnumValues(nil, transpiledEnum)
@@ -232,31 +259,4 @@ function ____exports.validateEnumContiguous(self, transpiledEnumName, transpiled
232
259
  end
233
260
  end
234
261
  end
235
- --- Helper function to validate that an interface contains all of the keys of an enum. You must
236
- -- specify both generic parameters in order for this to work properly (i.e. the interface and then
237
- -- the enum).
238
- --
239
- -- For example:
240
- --
241
- -- ```ts
242
- -- enum MyEnum {
243
- -- Value1,
244
- -- Value2,
245
- -- Value3,
246
- -- }
247
- --
248
- -- interface MyEnumToType {
249
- -- [MyEnum.Value1]: boolean;
250
- -- [MyEnum.Value2]: number;
251
- -- [MyEnum.Value3]: string;
252
- -- }
253
- --
254
- -- validateInterfaceMatchesEnum<MyEnumToType, MyEnum>();
255
- -- ```
256
- --
257
- -- This function is only meant to be used with interfaces (i.e. types that will not exist at
258
- -- run-time). If you are generating an object that will contain all of the keys of an enum, use the
259
- -- `satisfies` operator with the `Record` type instead.
260
- function ____exports.validateInterfaceMatchesEnum(self)
261
- end
262
262
  return ____exports
@@ -8870,6 +8870,35 @@ export declare function inSecretShop(): boolean;
8870
8870
  */
8871
8871
  export declare function inStartingRoom(): boolean;
8872
8872
 
8873
+ /**
8874
+ * Helper function to validate that an interface contains all of the keys of an enum. You must
8875
+ * specify both generic parameters in order for this to work properly (i.e. the interface and then
8876
+ * the enum).
8877
+ *
8878
+ * For example:
8879
+ *
8880
+ * ```ts
8881
+ * enum MyEnum {
8882
+ * Value1,
8883
+ * Value2,
8884
+ * Value3,
8885
+ * }
8886
+ *
8887
+ * interface MyEnumToType {
8888
+ * [MyEnum.Value1]: boolean;
8889
+ * [MyEnum.Value2]: number;
8890
+ * [MyEnum.Value3]: string;
8891
+ * }
8892
+ *
8893
+ * interfaceSatisfiesEnum<MyEnumToType, MyEnum>();
8894
+ * ```
8895
+ *
8896
+ * This function is only meant to be used with interfaces (i.e. types that will not exist at
8897
+ * run-time). If you are generating an object that will contain all of the keys of an enum, use the
8898
+ * `satisfies` operator with the `Record` type instead.
8899
+ */
8900
+ export declare function interfaceSatisfiesEnum<T extends Record<Enum, unknown>, Enum extends string | number>(): void;
8901
+
8873
8902
  /**
8874
8903
  * Helper type to get a range of integers. It is inclusive on both ends. (The "I" in the type name
8875
8904
  * stands for inclusive.)
@@ -19226,35 +19255,6 @@ export declare function validateCustomEnum(transpiledEnumName: string, transpile
19226
19255
  */
19227
19256
  export declare function validateEnumContiguous<T extends TranspiledEnum>(transpiledEnumName: string, transpiledEnum: T): void;
19228
19257
 
19229
- /**
19230
- * Helper function to validate that an interface contains all of the keys of an enum. You must
19231
- * specify both generic parameters in order for this to work properly (i.e. the interface and then
19232
- * the enum).
19233
- *
19234
- * For example:
19235
- *
19236
- * ```ts
19237
- * enum MyEnum {
19238
- * Value1,
19239
- * Value2,
19240
- * Value3,
19241
- * }
19242
- *
19243
- * interface MyEnumToType {
19244
- * [MyEnum.Value1]: boolean;
19245
- * [MyEnum.Value2]: number;
19246
- * [MyEnum.Value3]: string;
19247
- * }
19248
- *
19249
- * validateInterfaceMatchesEnum<MyEnumToType, MyEnum>();
19250
- * ```
19251
- *
19252
- * This function is only meant to be used with interfaces (i.e. types that will not exist at
19253
- * run-time). If you are generating an object that will contain all of the keys of an enum, use the
19254
- * `satisfies` operator with the `Record` type instead.
19255
- */
19256
- export declare function validateInterfaceMatchesEnum<T extends Record<Enum, unknown>, Enum extends string | number>(): void;
19257
-
19258
19258
  /**
19259
19259
  * An array that represents the range from the first vanilla card type to the last vanilla card
19260
19260
  * type.
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const enums_1 = require("../functions/enums");
4
- (0, enums_1.validateInterfaceMatchesEnum)();
4
+ (0, enums_1.interfaceSatisfiesEnum)();
@@ -1,5 +1,5 @@
1
1
  local ____exports = {}
2
2
  local ____enums = require("functions.enums")
3
- local validateInterfaceMatchesEnum = ____enums.validateInterfaceMatchesEnum
4
- validateInterfaceMatchesEnum(nil)
3
+ local interfaceSatisfiesEnum = ____enums.interfaceSatisfiesEnum
4
+ interfaceSatisfiesEnum(nil)
5
5
  return ____exports
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const enums_1 = require("../../functions/enums");
4
- (0, enums_1.validateInterfaceMatchesEnum)();
4
+ (0, enums_1.interfaceSatisfiesEnum)();
@@ -1,5 +1,5 @@
1
1
  local ____exports = {}
2
2
  local ____enums = require("functions.enums")
3
- local validateInterfaceMatchesEnum = ____enums.validateInterfaceMatchesEnum
4
- validateInterfaceMatchesEnum(nil)
3
+ local interfaceSatisfiesEnum = ____enums.interfaceSatisfiesEnum
4
+ interfaceSatisfiesEnum(nil)
5
5
  return ____exports
@@ -1,6 +1,6 @@
1
1
  --[[
2
2
 
3
- isaacscript-common 85.0.2
3
+ isaacscript-common 86.0.0
4
4
 
5
5
  This is the "isaacscript-common" library, which was created with the IsaacScript tool.
6
6
 
@@ -3970,6 +3970,14 @@ do
3970
3970
  end
3971
3971
  end
3972
3972
  end
3973
+ do
3974
+ local ____export = require("lua_modules.isaac-typescript-definitions.dist.enums.ModCallbackRepentogon")
3975
+ for ____exportKey, ____exportValue in pairs(____export) do
3976
+ if ____exportKey ~= "default" then
3977
+ ____exports[____exportKey] = ____exportValue
3978
+ end
3979
+ end
3980
+ end
3973
3981
  do
3974
3982
  local ____export = require("lua_modules.isaac-typescript-definitions.dist.enums.Mouse")
3975
3983
  for ____exportKey, ____exportValue in pairs(____export) do
@@ -15005,6 +15013,430 @@ ____exports.Mouse.BUTTON_7 = 6
15005
15013
  ____exports.Mouse[____exports.Mouse.BUTTON_7] = "BUTTON_7"
15006
15014
  ____exports.Mouse.BUTTON_8 = 7
15007
15015
  ____exports.Mouse[____exports.Mouse.BUTTON_8] = "BUTTON_8"
15016
+ return ____exports
15017
+ end,
15018
+ ["lua_modules.isaac-typescript-definitions.dist.enums.ModCallbackRepentogon"] = function(...)
15019
+ local ____exports = {}
15020
+ --- Callbacks for REPENTOGON, an exe-hack which expands the modding API.
15021
+ --
15022
+ -- @see https ://repentogon.com/index.html
15023
+ ____exports.ModCallbackRepentogon = {}
15024
+ ____exports.ModCallbackRepentogon.PRE_ADD_COLLECTIBLE = 1004
15025
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_ADD_COLLECTIBLE] = "PRE_ADD_COLLECTIBLE"
15026
+ ____exports.ModCallbackRepentogon.POST_ADD_COLLECTIBLE = 1005
15027
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_ADD_COLLECTIBLE] = "POST_ADD_COLLECTIBLE"
15028
+ ____exports.ModCallbackRepentogon.POST_ENTITY_TAKE_DMG = 1006
15029
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_ENTITY_TAKE_DMG] = "POST_ENTITY_TAKE_DMG"
15030
+ ____exports.ModCallbackRepentogon.PRE_ENTITY_TAKE_DMG = 1007
15031
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_ENTITY_TAKE_DMG] = "PRE_ENTITY_TAKE_DMG"
15032
+ ____exports.ModCallbackRepentogon.PRE_PLAYER_TAKE_DMG = 1008
15033
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_PLAYER_TAKE_DMG] = "PRE_PLAYER_TAKE_DMG"
15034
+ ____exports.ModCallbackRepentogon.POST_GRID_ROCK_DESTROY = 1011
15035
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_GRID_ROCK_DESTROY] = "POST_GRID_ROCK_DESTROY"
15036
+ ____exports.ModCallbackRepentogon.PRE_GRID_HURT_DAMAGE = 1012
15037
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_GRID_HURT_DAMAGE] = "PRE_GRID_HURT_DAMAGE"
15038
+ ____exports.ModCallbackRepentogon.POST_GRID_HURT_DAMAGE = 1013
15039
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_GRID_HURT_DAMAGE] = "POST_GRID_HURT_DAMAGE"
15040
+ ____exports.ModCallbackRepentogon.HUD_UPDATE = 1020
15041
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.HUD_UPDATE] = "HUD_UPDATE"
15042
+ ____exports.ModCallbackRepentogon.HUD_POST_UPDATE = 1021
15043
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.HUD_POST_UPDATE] = "HUD_POST_UPDATE"
15044
+ ____exports.ModCallbackRepentogon.POST_HUD_RENDER = 1022
15045
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_HUD_RENDER] = "POST_HUD_RENDER"
15046
+ ____exports.ModCallbackRepentogon.POST_MAIN_MENU_RENDER = 1023
15047
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_MAIN_MENU_RENDER] = "POST_MAIN_MENU_RENDER"
15048
+ ____exports.ModCallbackRepentogon.PRE_SFX_PLAY = 1030
15049
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_SFX_PLAY] = "PRE_SFX_PLAY"
15050
+ ____exports.ModCallbackRepentogon.POST_SFX_PLAY = 1031
15051
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_SFX_PLAY] = "POST_SFX_PLAY"
15052
+ ____exports.ModCallbackRepentogon.PRE_MUSIC_PLAY = 1034
15053
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_MUSIC_PLAY] = "PRE_MUSIC_PLAY"
15054
+ ____exports.ModCallbackRepentogon.PRE_MUSIC_LAYER_TOGGLE = 1035
15055
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_MUSIC_LAYER_TOGGLE] = "PRE_MUSIC_LAYER_TOGGLE"
15056
+ ____exports.ModCallbackRepentogon.PRE_RENDER_PLAYER_HEAD = 1038
15057
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_RENDER_PLAYER_HEAD] = "PRE_RENDER_PLAYER_HEAD"
15058
+ ____exports.ModCallbackRepentogon.PRE_RENDER_PLAYER_BODY = 1039
15059
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_RENDER_PLAYER_BODY] = "PRE_RENDER_PLAYER_BODY"
15060
+ ____exports.ModCallbackRepentogon.PRE_ENTITY_THROW = 1040
15061
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_ENTITY_THROW] = "PRE_ENTITY_THROW"
15062
+ ____exports.ModCallbackRepentogon.POST_ENTITY_THROW = 1041
15063
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_ENTITY_THROW] = "POST_ENTITY_THROW"
15064
+ ____exports.ModCallbackRepentogon.POST_PLAYER_LEVEL_STATS_INIT = 1042
15065
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_PLAYER_LEVEL_STATS_INIT] = "POST_PLAYER_LEVEL_STATS_INIT"
15066
+ ____exports.ModCallbackRepentogon.PRE_ROOM_EXIT = 1043
15067
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_ROOM_EXIT] = "PRE_ROOM_EXIT"
15068
+ ____exports.ModCallbackRepentogon.PRE_LEVEL_INIT = 1060
15069
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_LEVEL_INIT] = "PRE_LEVEL_INIT"
15070
+ ____exports.ModCallbackRepentogon.PRE_TRIGGER_PLAYER_DEATH = 1050
15071
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_TRIGGER_PLAYER_DEATH] = "PRE_TRIGGER_PLAYER_DEATH"
15072
+ ____exports.ModCallbackRepentogon.PRE_RESTOCK_SHOP = 1070
15073
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_RESTOCK_SHOP] = "PRE_RESTOCK_SHOP"
15074
+ ____exports.ModCallbackRepentogon.POST_RESTOCK_SHOP = 1071
15075
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_RESTOCK_SHOP] = "POST_RESTOCK_SHOP"
15076
+ ____exports.ModCallbackRepentogon.PRE_CHANGE_ROOM = 1061
15077
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_CHANGE_ROOM] = "PRE_CHANGE_ROOM"
15078
+ ____exports.ModCallbackRepentogon.POST_PICKUP_SHOP_PURCHASE = 1062
15079
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_PICKUP_SHOP_PURCHASE] = "POST_PICKUP_SHOP_PURCHASE"
15080
+ ____exports.ModCallbackRepentogon.GET_FOLLOWER_PRIORITY = 1063
15081
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.GET_FOLLOWER_PRIORITY] = "GET_FOLLOWER_PRIORITY"
15082
+ ____exports.ModCallbackRepentogon.PRE_NPC_MORPH = 1212
15083
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_NPC_MORPH] = "PRE_NPC_MORPH"
15084
+ ____exports.ModCallbackRepentogon.PRE_PICKUP_MORPH = 1213
15085
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_PICKUP_MORPH] = "PRE_PICKUP_MORPH"
15086
+ ____exports.ModCallbackRepentogon.POST_NPC_MORPH = 1214
15087
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_NPC_MORPH] = "POST_NPC_MORPH"
15088
+ ____exports.ModCallbackRepentogon.POST_PICKUP_MORPH = 1215
15089
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_PICKUP_MORPH] = "POST_PICKUP_MORPH"
15090
+ ____exports.ModCallbackRepentogon.PRE_COMPLETION_MARKS_RENDER = 1216
15091
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_COMPLETION_MARKS_RENDER] = "PRE_COMPLETION_MARKS_RENDER"
15092
+ ____exports.ModCallbackRepentogon.POST_COMPLETION_MARKS_RENDER = 1217
15093
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_COMPLETION_MARKS_RENDER] = "POST_COMPLETION_MARKS_RENDER"
15094
+ ____exports.ModCallbackRepentogon.PRE_PAUSE_SCREEN_RENDER = 1218
15095
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_PAUSE_SCREEN_RENDER] = "PRE_PAUSE_SCREEN_RENDER"
15096
+ ____exports.ModCallbackRepentogon.POST_PAUSE_SCREEN_RENDER = 1219
15097
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_PAUSE_SCREEN_RENDER] = "POST_PAUSE_SCREEN_RENDER"
15098
+ ____exports.ModCallbackRepentogon.PRE_USE_CARD = 1064
15099
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_USE_CARD] = "PRE_USE_CARD"
15100
+ ____exports.ModCallbackRepentogon.PRE_USE_PILL = 1065
15101
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_USE_PILL] = "PRE_USE_PILL"
15102
+ ____exports.ModCallbackRepentogon.GET_SHOP_ITEM_PRICE = 1066
15103
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.GET_SHOP_ITEM_PRICE] = "GET_SHOP_ITEM_PRICE"
15104
+ ____exports.ModCallbackRepentogon.PLAYER_GET_HEALTH_TYPE = 1067
15105
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PLAYER_GET_HEALTH_TYPE] = "PLAYER_GET_HEALTH_TYPE"
15106
+ ____exports.ModCallbackRepentogon.PRE_ROOM_TRIGGER_CLEAR = 1068
15107
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_ROOM_TRIGGER_CLEAR] = "PRE_ROOM_TRIGGER_CLEAR"
15108
+ ____exports.ModCallbackRepentogon.PRE_PLAYER_TRIGGER_ROOM_CLEAR = 1069
15109
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_PLAYER_TRIGGER_ROOM_CLEAR] = "PRE_PLAYER_TRIGGER_ROOM_CLEAR"
15110
+ ____exports.ModCallbackRepentogon.PRE_FAMILIAR_RENDER = 1080
15111
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_FAMILIAR_RENDER] = "PRE_FAMILIAR_RENDER"
15112
+ ____exports.ModCallbackRepentogon.PRE_NPC_RENDER = 1081
15113
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_NPC_RENDER] = "PRE_NPC_RENDER"
15114
+ ____exports.ModCallbackRepentogon.PRE_PLAYER_RENDER = 1082
15115
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_PLAYER_RENDER] = "PRE_PLAYER_RENDER"
15116
+ ____exports.ModCallbackRepentogon.PRE_PICKUP_RENDER = 1083
15117
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_PICKUP_RENDER] = "PRE_PICKUP_RENDER"
15118
+ ____exports.ModCallbackRepentogon.PRE_TEAR_RENDER = 1084
15119
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_TEAR_RENDER] = "PRE_TEAR_RENDER"
15120
+ ____exports.ModCallbackRepentogon.PRE_PROJECTILE_RENDER = 1085
15121
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_PROJECTILE_RENDER] = "PRE_PROJECTILE_RENDER"
15122
+ ____exports.ModCallbackRepentogon.PRE_KNIFE_RENDER = 1086
15123
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_KNIFE_RENDER] = "PRE_KNIFE_RENDER"
15124
+ ____exports.ModCallbackRepentogon.PRE_EFFECT_RENDER = 1087
15125
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_EFFECT_RENDER] = "PRE_EFFECT_RENDER"
15126
+ ____exports.ModCallbackRepentogon.PRE_BOMB_RENDER = 1088
15127
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_BOMB_RENDER] = "PRE_BOMB_RENDER"
15128
+ ____exports.ModCallbackRepentogon.PRE_SLOT_RENDER = 1089
15129
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_SLOT_RENDER] = "PRE_SLOT_RENDER"
15130
+ ____exports.ModCallbackRepentogon.POST_SLOT_RENDER = 1090
15131
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_SLOT_RENDER] = "POST_SLOT_RENDER"
15132
+ ____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_SPAWN = 1100
15133
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_SPAWN] = "PRE_GRID_ENTITY_SPAWN"
15134
+ ____exports.ModCallbackRepentogon.POST_GRID_ENTITY_SPAWN = 1101
15135
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_GRID_ENTITY_SPAWN] = "POST_GRID_ENTITY_SPAWN"
15136
+ ____exports.ModCallbackRepentogon.PLAYER_GET_ACTIVE_MAX_CHARGE = 1072
15137
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PLAYER_GET_ACTIVE_MAX_CHARGE] = "PLAYER_GET_ACTIVE_MAX_CHARGE"
15138
+ ____exports.ModCallbackRepentogon.PLAYER_GET_ACTIVE_MIN_USABLE_CHARGE = 1073
15139
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PLAYER_GET_ACTIVE_MIN_USABLE_CHARGE] = "PLAYER_GET_ACTIVE_MIN_USABLE_CHARGE"
15140
+ ____exports.ModCallbackRepentogon.PLAYER_GET_HEART_LIMIT = 1074
15141
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PLAYER_GET_HEART_LIMIT] = "PLAYER_GET_HEART_LIMIT"
15142
+ ____exports.ModCallbackRepentogon.POST_ITEM_OVERLAY_UPDATE = 1075
15143
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_ITEM_OVERLAY_UPDATE] = "POST_ITEM_OVERLAY_UPDATE"
15144
+ ____exports.ModCallbackRepentogon.PRE_ITEM_OVERLAY_SHOW = 1076
15145
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_ITEM_OVERLAY_SHOW] = "PRE_ITEM_OVERLAY_SHOW"
15146
+ ____exports.ModCallbackRepentogon.POST_PLAYER_NEW_ROOM_TEMP_EFFECTS = 1077
15147
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_PLAYER_NEW_ROOM_TEMP_EFFECTS] = "POST_PLAYER_NEW_ROOM_TEMP_EFFECTS"
15148
+ ____exports.ModCallbackRepentogon.POST_PLAYER_NEW_LEVEL = 1078
15149
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_PLAYER_NEW_LEVEL] = "POST_PLAYER_NEW_LEVEL"
15150
+ ____exports.ModCallbackRepentogon.POST_PLAYER_GET_MULTI_SHOT_PARAMS = 1251
15151
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_PLAYER_GET_MULTI_SHOT_PARAMS] = "POST_PLAYER_GET_MULTI_SHOT_PARAMS"
15152
+ ____exports.ModCallbackRepentogon.PRE_REPLACE_SPRITESHEET = 1116
15153
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_REPLACE_SPRITESHEET] = "PRE_REPLACE_SPRITESHEET"
15154
+ ____exports.ModCallbackRepentogon.POST_REPLACE_SPRITESHEET = 1117
15155
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_REPLACE_SPRITESHEET] = "POST_REPLACE_SPRITESHEET"
15156
+ ____exports.ModCallbackRepentogon.PRE_PLANETARIUM_APPLY_STAGE_PENALTY = 1110
15157
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_PLANETARIUM_APPLY_STAGE_PENALTY] = "PRE_PLANETARIUM_APPLY_STAGE_PENALTY"
15158
+ ____exports.ModCallbackRepentogon.PRE_PLANETARIUM_APPLY_PLANETARIUM_PENALTY = 1111
15159
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_PLANETARIUM_APPLY_PLANETARIUM_PENALTY] = "PRE_PLANETARIUM_APPLY_PLANETARIUM_PENALTY"
15160
+ ____exports.ModCallbackRepentogon.PRE_PLANETARIUM_APPLY_TREASURE_PENALTY = 1112
15161
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_PLANETARIUM_APPLY_TREASURE_PENALTY] = "PRE_PLANETARIUM_APPLY_TREASURE_PENALTY"
15162
+ ____exports.ModCallbackRepentogon.PRE_PLANETARIUM_APPLY_ITEMS = 1113
15163
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_PLANETARIUM_APPLY_ITEMS] = "PRE_PLANETARIUM_APPLY_ITEMS"
15164
+ ____exports.ModCallbackRepentogon.PRE_PLANETARIUM_APPLY_TELESCOPE_LENS = 1114
15165
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_PLANETARIUM_APPLY_TELESCOPE_LENS] = "PRE_PLANETARIUM_APPLY_TELESCOPE_LENS"
15166
+ ____exports.ModCallbackRepentogon.POST_PLANETARIUM_CALCULATE = 1115
15167
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_PLANETARIUM_CALCULATE] = "POST_PLANETARIUM_CALCULATE"
15168
+ ____exports.ModCallbackRepentogon.POST_SLOT_INIT = 1121
15169
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_SLOT_INIT] = "POST_SLOT_INIT"
15170
+ ____exports.ModCallbackRepentogon.POST_SLOT_UPDATE = 1122
15171
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_SLOT_UPDATE] = "POST_SLOT_UPDATE"
15172
+ ____exports.ModCallbackRepentogon.PRE_SLOT_CREATE_EXPLOSION_DROPS = 1123
15173
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_SLOT_CREATE_EXPLOSION_DROPS] = "PRE_SLOT_CREATE_EXPLOSION_DROPS"
15174
+ ____exports.ModCallbackRepentogon.POST_SLOT_CREATE_EXPLOSION_DROPS = 1124
15175
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_SLOT_CREATE_EXPLOSION_DROPS] = "POST_SLOT_CREATE_EXPLOSION_DROPS"
15176
+ ____exports.ModCallbackRepentogon.PRE_SLOT_SET_PRIZE_COLLECTIBLE = 1125
15177
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_SLOT_SET_PRIZE_COLLECTIBLE] = "PRE_SLOT_SET_PRIZE_COLLECTIBLE"
15178
+ ____exports.ModCallbackRepentogon.POST_SLOT_SET_PRIZE_COLLECTIBLE = 1126
15179
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_SLOT_SET_PRIZE_COLLECTIBLE] = "POST_SLOT_SET_PRIZE_COLLECTIBLE"
15180
+ ____exports.ModCallbackRepentogon.PRE_DEVIL_APPLY_ITEMS = 1130
15181
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_DEVIL_APPLY_ITEMS] = "PRE_DEVIL_APPLY_ITEMS"
15182
+ ____exports.ModCallbackRepentogon.PRE_DEVIL_APPLY_STAGE_PENALTY = 1131
15183
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_DEVIL_APPLY_STAGE_PENALTY] = "PRE_DEVIL_APPLY_STAGE_PENALTY"
15184
+ ____exports.ModCallbackRepentogon.PRE_DEVIL_APPLY_SPECIAL_ITEMS = 1132
15185
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_DEVIL_APPLY_SPECIAL_ITEMS] = "PRE_DEVIL_APPLY_SPECIAL_ITEMS"
15186
+ ____exports.ModCallbackRepentogon.POST_DEVIL_CALCULATE = 1133
15187
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_DEVIL_CALCULATE] = "POST_DEVIL_CALCULATE"
15188
+ ____exports.ModCallbackRepentogon.PRE_COMPLETION_MARK_GET = 1047
15189
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_COMPLETION_MARK_GET] = "PRE_COMPLETION_MARK_GET"
15190
+ ____exports.ModCallbackRepentogon.POST_COMPLETION_MARK_GET = 1048
15191
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_COMPLETION_MARK_GET] = "POST_COMPLETION_MARK_GET"
15192
+ ____exports.ModCallbackRepentogon.PRE_COMPLETION_EVENT = 1049
15193
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_COMPLETION_EVENT] = "PRE_COMPLETION_EVENT"
15194
+ ____exports.ModCallbackRepentogon.POST_USE_PILL = 1001
15195
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_USE_PILL] = "POST_USE_PILL"
15196
+ ____exports.ModCallbackRepentogon.POST_PLAYER_HUD_RENDER_ACTIVE_ITEM = 1079
15197
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_PLAYER_HUD_RENDER_ACTIVE_ITEM] = "POST_PLAYER_HUD_RENDER_ACTIVE_ITEM"
15198
+ ____exports.ModCallbackRepentogon.POST_PLAYER_HUD_RENDER_HEARTS = 1091
15199
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_PLAYER_HUD_RENDER_HEARTS] = "POST_PLAYER_HUD_RENDER_HEARTS"
15200
+ ____exports.ModCallbackRepentogon.PRE_GET_LIGHTING_ALPHA = 1150
15201
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_GET_LIGHTING_ALPHA] = "PRE_GET_LIGHTING_ALPHA"
15202
+ ____exports.ModCallbackRepentogon.PRE_RENDER_GRID_LIGHTING = 1151
15203
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_RENDER_GRID_LIGHTING] = "PRE_RENDER_GRID_LIGHTING"
15204
+ ____exports.ModCallbackRepentogon.PRE_RENDER_ENTITY_LIGHTING = 1152
15205
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_RENDER_ENTITY_LIGHTING] = "PRE_RENDER_ENTITY_LIGHTING"
15206
+ ____exports.ModCallbackRepentogon.PRE_PLAYER_APPLY_INNATE_COLLECTIBLE_NUM = 1092
15207
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_PLAYER_APPLY_INNATE_COLLECTIBLE_NUM] = "PRE_PLAYER_APPLY_INNATE_COLLECTIBLE_NUM"
15208
+ ____exports.ModCallbackRepentogon.PRE_MUSIC_PLAY_JINGLE = 1094
15209
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_MUSIC_PLAY_JINGLE] = "PRE_MUSIC_PLAY_JINGLE"
15210
+ ____exports.ModCallbackRepentogon.POST_TRIGGER_COLLECTIBLE_REMOVED = 1095
15211
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_TRIGGER_COLLECTIBLE_REMOVED] = "POST_TRIGGER_COLLECTIBLE_REMOVED"
15212
+ ____exports.ModCallbackRepentogon.POST_TRIGGER_TRINKET_ADDED = 1096
15213
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_TRIGGER_TRINKET_ADDED] = "POST_TRIGGER_TRINKET_ADDED"
15214
+ ____exports.ModCallbackRepentogon.POST_TRIGGER_TRINKET_REMOVED = 1097
15215
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_TRIGGER_TRINKET_REMOVED] = "POST_TRIGGER_TRINKET_REMOVED"
15216
+ ____exports.ModCallbackRepentogon.POST_TRIGGER_WEAPON_FIRED = 1098
15217
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_TRIGGER_WEAPON_FIRED] = "POST_TRIGGER_WEAPON_FIRED"
15218
+ ____exports.ModCallbackRepentogon.POST_LEVEL_LAYOUT_GENERATED = 1099
15219
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_LEVEL_LAYOUT_GENERATED] = "POST_LEVEL_LAYOUT_GENERATED"
15220
+ ____exports.ModCallbackRepentogon.POST_NIGHTMARE_SCENE_RENDER = 1102
15221
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_NIGHTMARE_SCENE_RENDER] = "POST_NIGHTMARE_SCENE_RENDER"
15222
+ ____exports.ModCallbackRepentogon.POST_NIGHTMARE_SCENE_SHOW = 1103
15223
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_NIGHTMARE_SCENE_SHOW] = "POST_NIGHTMARE_SCENE_SHOW"
15224
+ ____exports.ModCallbackRepentogon.MC_PRE_LEVEL_SELECT = 1104
15225
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.MC_PRE_LEVEL_SELECT] = "MC_PRE_LEVEL_SELECT"
15226
+ ____exports.ModCallbackRepentogon.POST_WEAPON_FIRE = 1105
15227
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_WEAPON_FIRE] = "POST_WEAPON_FIRE"
15228
+ ____exports.ModCallbackRepentogon.PRE_PLAYER_USE_BOMB = 1220
15229
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_PLAYER_USE_BOMB] = "PRE_PLAYER_USE_BOMB"
15230
+ ____exports.ModCallbackRepentogon.POST_PLAYER_USE_BOMB = 1221
15231
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_PLAYER_USE_BOMB] = "POST_PLAYER_USE_BOMB"
15232
+ ____exports.ModCallbackRepentogon.PRE_NPC_PICK_TARGET = 1222
15233
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_NPC_PICK_TARGET] = "PRE_NPC_PICK_TARGET"
15234
+ ____exports.ModCallbackRepentogon.PRE_PLAYER_COLLISION = 1230
15235
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_PLAYER_COLLISION] = "PRE_PLAYER_COLLISION"
15236
+ ____exports.ModCallbackRepentogon.POST_PLAYER_COLLISION = 1231
15237
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_PLAYER_COLLISION] = "POST_PLAYER_COLLISION"
15238
+ ____exports.ModCallbackRepentogon.PRE_TEAR_COLLISION = 1232
15239
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_TEAR_COLLISION] = "PRE_TEAR_COLLISION"
15240
+ ____exports.ModCallbackRepentogon.POST_TEAR_COLLISION = 1233
15241
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_TEAR_COLLISION] = "POST_TEAR_COLLISION"
15242
+ ____exports.ModCallbackRepentogon.PRE_FAMILIAR_COLLISION = 1234
15243
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_FAMILIAR_COLLISION] = "PRE_FAMILIAR_COLLISION"
15244
+ ____exports.ModCallbackRepentogon.POST_FAMILIAR_COLLISION = 1235
15245
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_FAMILIAR_COLLISION] = "POST_FAMILIAR_COLLISION"
15246
+ ____exports.ModCallbackRepentogon.PRE_BOMB_COLLISION = 1236
15247
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_BOMB_COLLISION] = "PRE_BOMB_COLLISION"
15248
+ ____exports.ModCallbackRepentogon.POST_BOMB_COLLISION = 1237
15249
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_BOMB_COLLISION] = "POST_BOMB_COLLISION"
15250
+ ____exports.ModCallbackRepentogon.PRE_PICKUP_COLLISION = 1238
15251
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_PICKUP_COLLISION] = "PRE_PICKUP_COLLISION"
15252
+ ____exports.ModCallbackRepentogon.POST_PICKUP_COLLISION = 1239
15253
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_PICKUP_COLLISION] = "POST_PICKUP_COLLISION"
15254
+ ____exports.ModCallbackRepentogon.PRE_SLOT_COLLISION = 1240
15255
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_SLOT_COLLISION] = "PRE_SLOT_COLLISION"
15256
+ ____exports.ModCallbackRepentogon.POST_SLOT_COLLISION = 1241
15257
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_SLOT_COLLISION] = "POST_SLOT_COLLISION"
15258
+ ____exports.ModCallbackRepentogon.PRE_KNIFE_COLLISION = 1242
15259
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_KNIFE_COLLISION] = "PRE_KNIFE_COLLISION"
15260
+ ____exports.ModCallbackRepentogon.POST_KNIFE_COLLISION = 1243
15261
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_KNIFE_COLLISION] = "POST_KNIFE_COLLISION"
15262
+ ____exports.ModCallbackRepentogon.PRE_PROJECTILE_COLLISION = 1244
15263
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_PROJECTILE_COLLISION] = "PRE_PROJECTILE_COLLISION"
15264
+ ____exports.ModCallbackRepentogon.POST_PROJECTILE_COLLISION = 1245
15265
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_PROJECTILE_COLLISION] = "POST_PROJECTILE_COLLISION"
15266
+ ____exports.ModCallbackRepentogon.PRE_NPC_COLLISION = 1246
15267
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_NPC_COLLISION] = "PRE_NPC_COLLISION"
15268
+ ____exports.ModCallbackRepentogon.POST_NPC_COLLISION = 1247
15269
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_NPC_COLLISION] = "POST_NPC_COLLISION"
15270
+ ____exports.ModCallbackRepentogon.PRE_LASER_COLLISION = 1248
15271
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_LASER_COLLISION] = "PRE_LASER_COLLISION"
15272
+ ____exports.ModCallbackRepentogon.POST_LASER_COLLISION = 1249
15273
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_LASER_COLLISION] = "POST_LASER_COLLISION"
15274
+ ____exports.ModCallbackRepentogon.CONSOLE_AUTOCOMPLETE = 1120
15275
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.CONSOLE_AUTOCOMPLETE] = "CONSOLE_AUTOCOMPLETE"
15276
+ ____exports.ModCallbackRepentogon.PLAYER_INIT_PRE_LEVEL_INIT_STATS = 1127
15277
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PLAYER_INIT_PRE_LEVEL_INIT_STATS] = "PLAYER_INIT_PRE_LEVEL_INIT_STATS"
15278
+ ____exports.ModCallbackRepentogon.PRE_NEW_ROOM = 1200
15279
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_NEW_ROOM] = "PRE_NEW_ROOM"
15280
+ ____exports.ModCallbackRepentogon.PRE_MEGA_SATAN_ENDING = 1201
15281
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_MEGA_SATAN_ENDING] = "PRE_MEGA_SATAN_ENDING"
15282
+ ____exports.ModCallbackRepentogon.POST_MODS_LOADED = 1210
15283
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_MODS_LOADED] = "POST_MODS_LOADED"
15284
+ ____exports.ModCallbackRepentogon.POST_ITEM_OVERLAY_SHOW = 1134
15285
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_ITEM_OVERLAY_SHOW] = "POST_ITEM_OVERLAY_SHOW"
15286
+ ____exports.ModCallbackRepentogon.PRE_LEVEL_PLACE_ROOM = 1137
15287
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_LEVEL_PLACE_ROOM] = "PRE_LEVEL_PLACE_ROOM"
15288
+ ____exports.ModCallbackRepentogon.PRE_NPC_SPLIT = 1191
15289
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_NPC_SPLIT] = "PRE_NPC_SPLIT"
15290
+ ____exports.ModCallbackRepentogon.PRE_ROOM_GRID_ENTITY_SPAWN = 1192
15291
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_ROOM_GRID_ENTITY_SPAWN] = "PRE_ROOM_GRID_ENTITY_SPAWN"
15292
+ ____exports.ModCallbackRepentogon.POST_FAMILIAR_FIRE_PROJECTILE = 1252
15293
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_FAMILIAR_FIRE_PROJECTILE] = "POST_FAMILIAR_FIRE_PROJECTILE"
15294
+ ____exports.ModCallbackRepentogon.POST_FIRE_BOMB = 1253
15295
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_FIRE_BOMB] = "POST_FIRE_BOMB"
15296
+ ____exports.ModCallbackRepentogon.POST_FIRE_BONE_CLUB = 1254
15297
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_FIRE_BONE_CLUB] = "POST_FIRE_BONE_CLUB"
15298
+ ____exports.ModCallbackRepentogon.POST_FIRE_BRIMSTONE = 1255
15299
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_FIRE_BRIMSTONE] = "POST_FIRE_BRIMSTONE"
15300
+ ____exports.ModCallbackRepentogon.POST_FIRE_BRIMSTONE_BALL = 1256
15301
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_FIRE_BRIMSTONE_BALL] = "POST_FIRE_BRIMSTONE_BALL"
15302
+ ____exports.ModCallbackRepentogon.POST_FIRE_KNIFE = 1257
15303
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_FIRE_KNIFE] = "POST_FIRE_KNIFE"
15304
+ ____exports.ModCallbackRepentogon.POST_FIRE_SWORD = 1258
15305
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_FIRE_SWORD] = "POST_FIRE_SWORD"
15306
+ ____exports.ModCallbackRepentogon.POST_FIRE_TECH_LASER = 1259
15307
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_FIRE_TECH_LASER] = "POST_FIRE_TECH_LASER"
15308
+ ____exports.ModCallbackRepentogon.POST_FIRE_TECH_X_LASER = 1260
15309
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_FIRE_TECH_X_LASER] = "POST_FIRE_TECH_X_LASER"
15310
+ ____exports.ModCallbackRepentogon.POST_FAMILIAR_FIRE_BRIMSTONE = 1261
15311
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_FAMILIAR_FIRE_BRIMSTONE] = "POST_FAMILIAR_FIRE_BRIMSTONE"
15312
+ ____exports.ModCallbackRepentogon.POST_FAMILIAR_FIRE_TECH_LASER = 1262
15313
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_FAMILIAR_FIRE_TECH_LASER] = "POST_FAMILIAR_FIRE_TECH_LASER"
15314
+ ____exports.ModCallbackRepentogon.GET_IS_PERSISTENT_ROOM_ENTITY = 1263
15315
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.GET_IS_PERSISTENT_ROOM_ENTITY] = "GET_IS_PERSISTENT_ROOM_ENTITY"
15316
+ ____exports.ModCallbackRepentogon.PRE_PLAYER_HUD_TRINKET_RENDER = 1264
15317
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_PLAYER_HUD_TRINKET_RENDER] = "PRE_PLAYER_HUD_TRINKET_RENDER"
15318
+ ____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_DECORATION_UPDATE = 1400
15319
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_DECORATION_UPDATE] = "PRE_GRID_ENTITY_DECORATION_UPDATE"
15320
+ ____exports.ModCallbackRepentogon.POST_GRID_ENTITY_DECORATION_UPDATE = 1401
15321
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_GRID_ENTITY_DECORATION_UPDATE] = "POST_GRID_ENTITY_DECORATION_UPDATE"
15322
+ ____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_DOOR_UPDATE = 1402
15323
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_DOOR_UPDATE] = "PRE_GRID_ENTITY_DOOR_UPDATE"
15324
+ ____exports.ModCallbackRepentogon.POST_GRID_ENTITY_DOOR_UPDATE = 1403
15325
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_GRID_ENTITY_DOOR_UPDATE] = "POST_GRID_ENTITY_DOOR_UPDATE"
15326
+ ____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_FIRE_UPDATE = 1404
15327
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_FIRE_UPDATE] = "PRE_GRID_ENTITY_FIRE_UPDATE"
15328
+ ____exports.ModCallbackRepentogon.POST_GRID_ENTITY_FIRE_UPDATE = 1405
15329
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_GRID_ENTITY_FIRE_UPDATE] = "POST_GRID_ENTITY_FIRE_UPDATE"
15330
+ ____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_GRAVITY_UPDATE = 1406
15331
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_GRAVITY_UPDATE] = "PRE_GRID_ENTITY_GRAVITY_UPDATE"
15332
+ ____exports.ModCallbackRepentogon.POST_GRID_ENTITY_GRAVITY_UPDATE = 1407
15333
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_GRID_ENTITY_GRAVITY_UPDATE] = "POST_GRID_ENTITY_GRAVITY_UPDATE"
15334
+ ____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_LOCK_UPDATE = 1408
15335
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_LOCK_UPDATE] = "PRE_GRID_ENTITY_LOCK_UPDATE"
15336
+ ____exports.ModCallbackRepentogon.POST_GRID_ENTITY_LOCK_UPDATE = 1409
15337
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_GRID_ENTITY_LOCK_UPDATE] = "POST_GRID_ENTITY_LOCK_UPDATE"
15338
+ ____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_PIT_UPDATE = 1410
15339
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_PIT_UPDATE] = "PRE_GRID_ENTITY_PIT_UPDATE"
15340
+ ____exports.ModCallbackRepentogon.POST_GRID_ENTITY_PIT_UPDATE = 1411
15341
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_GRID_ENTITY_PIT_UPDATE] = "POST_GRID_ENTITY_PIT_UPDATE"
15342
+ ____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_POOP_UPDATE = 1412
15343
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_POOP_UPDATE] = "PRE_GRID_ENTITY_POOP_UPDATE"
15344
+ ____exports.ModCallbackRepentogon.POST_GRID_ENTITY_POOP_UPDATE = 1413
15345
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_GRID_ENTITY_POOP_UPDATE] = "POST_GRID_ENTITY_POOP_UPDATE"
15346
+ ____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_PRESSURE_PLATE_UPDATE = 1414
15347
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_PRESSURE_PLATE_UPDATE] = "PRE_GRID_ENTITY_PRESSURE_PLATE_UPDATE"
15348
+ ____exports.ModCallbackRepentogon.POST_GRID_ENTITY_PRESSURE_PLATE_UPDATE = 1415
15349
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_GRID_ENTITY_PRESSURE_PLATE_UPDATE] = "POST_GRID_ENTITY_PRESSURE_PLATE_UPDATE"
15350
+ ____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_ROCK_UPDATE = 1416
15351
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_ROCK_UPDATE] = "PRE_GRID_ENTITY_ROCK_UPDATE"
15352
+ ____exports.ModCallbackRepentogon.POST_GRID_ENTITY_ROCK_UPDATE = 1417
15353
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_GRID_ENTITY_ROCK_UPDATE] = "POST_GRID_ENTITY_ROCK_UPDATE"
15354
+ ____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_SPIKES_UPDATE = 1418
15355
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_SPIKES_UPDATE] = "PRE_GRID_ENTITY_SPIKES_UPDATE"
15356
+ ____exports.ModCallbackRepentogon.POST_GRID_ENTITY_SPIKES_UPDATE = 1419
15357
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_GRID_ENTITY_SPIKES_UPDATE] = "POST_GRID_ENTITY_SPIKES_UPDATE"
15358
+ ____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_STAIRCASE_UPDATE = 1420
15359
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_STAIRCASE_UPDATE] = "PRE_GRID_ENTITY_STAIRCASE_UPDATE"
15360
+ ____exports.ModCallbackRepentogon.POST_GRID_ENTITY_STAIRCASE_UPDATE = 1421
15361
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_GRID_ENTITY_STAIRCASE_UPDATE] = "POST_GRID_ENTITY_STAIRCASE_UPDATE"
15362
+ ____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_STATUE_UPDATE = 1422
15363
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_STATUE_UPDATE] = "PRE_GRID_ENTITY_STATUE_UPDATE"
15364
+ ____exports.ModCallbackRepentogon.POST_GRID_ENTITY_STATUE_UPDATE = 1423
15365
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_GRID_ENTITY_STATUE_UPDATE] = "POST_GRID_ENTITY_STATUE_UPDATE"
15366
+ ____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_TELEPORTER_UPDATE = 1424
15367
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_TELEPORTER_UPDATE] = "PRE_GRID_ENTITY_TELEPORTER_UPDATE"
15368
+ ____exports.ModCallbackRepentogon.POST_GRID_ENTITY_TELEPORTER_UPDATE = 1425
15369
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_GRID_ENTITY_TELEPORTER_UPDATE] = "POST_GRID_ENTITY_TELEPORTER_UPDATE"
15370
+ ____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_TRAPDOOR_UPDATE = 1426
15371
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_TRAPDOOR_UPDATE] = "PRE_GRID_ENTITY_TRAPDOOR_UPDATE"
15372
+ ____exports.ModCallbackRepentogon.POST_GRID_ENTITY_TRAPDOOR_UPDATE = 1427
15373
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_GRID_ENTITY_TRAPDOOR_UPDATE] = "POST_GRID_ENTITY_TRAPDOOR_UPDATE"
15374
+ ____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_WEB_UPDATE = 1428
15375
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_WEB_UPDATE] = "PRE_GRID_ENTITY_WEB_UPDATE"
15376
+ ____exports.ModCallbackRepentogon.POST_GRID_ENTITY_WEB_UPDATE = 1429
15377
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_GRID_ENTITY_WEB_UPDATE] = "POST_GRID_ENTITY_WEB_UPDATE"
15378
+ ____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_SPIKES_RENDER = 1432
15379
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_SPIKES_RENDER] = "PRE_GRID_ENTITY_SPIKES_RENDER"
15380
+ ____exports.ModCallbackRepentogon.POST_GRID_ENTITY_SPIKES_RENDER = 1433
15381
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_GRID_ENTITY_SPIKES_RENDER] = "POST_GRID_ENTITY_SPIKES_RENDER"
15382
+ ____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_WEB_RENDER = 1434
15383
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_WEB_RENDER] = "PRE_GRID_ENTITY_WEB_RENDER"
15384
+ ____exports.ModCallbackRepentogon.POST_GRID_ENTITY_WEB_RENDER = 1435
15385
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_GRID_ENTITY_WEB_RENDER] = "POST_GRID_ENTITY_WEB_RENDER"
15386
+ ____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_TNT_RENDER = 1436
15387
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_TNT_RENDER] = "PRE_GRID_ENTITY_TNT_RENDER"
15388
+ ____exports.ModCallbackRepentogon.POST_GRID_ENTITY_TNT_RENDER = 1437
15389
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_GRID_ENTITY_TNT_RENDER] = "POST_GRID_ENTITY_TNT_RENDER"
15390
+ ____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_TRAPDOOR_RENDER = 1438
15391
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_TRAPDOOR_RENDER] = "PRE_GRID_ENTITY_TRAPDOOR_RENDER"
15392
+ ____exports.ModCallbackRepentogon.POST_GRID_ENTITY_TRAPDOOR_RENDER = 1439
15393
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_GRID_ENTITY_TRAPDOOR_RENDER] = "POST_GRID_ENTITY_TRAPDOOR_RENDER"
15394
+ ____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_STAIRCASE_RENDER = 1440
15395
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_STAIRCASE_RENDER] = "PRE_GRID_ENTITY_STAIRCASE_RENDER"
15396
+ ____exports.ModCallbackRepentogon.POST_GRID_ENTITY_STAIRCASE_RENDER = 1441
15397
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_GRID_ENTITY_STAIRCASE_RENDER] = "POST_GRID_ENTITY_STAIRCASE_RENDER"
15398
+ ____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_DECORATION_RENDER = 1444
15399
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_DECORATION_RENDER] = "PRE_GRID_ENTITY_DECORATION_RENDER"
15400
+ ____exports.ModCallbackRepentogon.POST_GRID_ENTITY_DECORATION_RENDER = 1445
15401
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_GRID_ENTITY_DECORATION_RENDER] = "POST_GRID_ENTITY_DECORATION_RENDER"
15402
+ ____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_DOOR_RENDER = 1446
15403
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_DOOR_RENDER] = "PRE_GRID_ENTITY_DOOR_RENDER"
15404
+ ____exports.ModCallbackRepentogon.POST_GRID_ENTITY_DOOR_RENDER = 1447
15405
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_GRID_ENTITY_DOOR_RENDER] = "POST_GRID_ENTITY_DOOR_RENDER"
15406
+ ____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_FIRE_RENDER = 1448
15407
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_FIRE_RENDER] = "PRE_GRID_ENTITY_FIRE_RENDER"
15408
+ ____exports.ModCallbackRepentogon.POST_GRID_ENTITY_FIRE_RENDER = 1449
15409
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_GRID_ENTITY_FIRE_RENDER] = "POST_GRID_ENTITY_FIRE_RENDER"
15410
+ ____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_LOCK_RENDER = 1450
15411
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_LOCK_RENDER] = "PRE_GRID_ENTITY_LOCK_RENDER"
15412
+ ____exports.ModCallbackRepentogon.POST_GRID_ENTITY_LOCK_RENDER = 1451
15413
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_GRID_ENTITY_LOCK_RENDER] = "POST_GRID_ENTITY_LOCK_RENDER"
15414
+ ____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_TELEPORTER_RENDER = 1452
15415
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_TELEPORTER_RENDER] = "PRE_GRID_ENTITY_TELEPORTER_RENDER"
15416
+ ____exports.ModCallbackRepentogon.POST_GRID_ENTITY_TELEPORTER_RENDER = 1453
15417
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_GRID_ENTITY_TELEPORTER_RENDER] = "POST_GRID_ENTITY_TELEPORTER_RENDER"
15418
+ ____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_PIT_RENDER = 1454
15419
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_PIT_RENDER] = "PRE_GRID_ENTITY_PIT_RENDER"
15420
+ ____exports.ModCallbackRepentogon.POST_GRID_ENTITY_PIT_RENDER = 1455
15421
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_GRID_ENTITY_PIT_RENDER] = "POST_GRID_ENTITY_PIT_RENDER"
15422
+ ____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_POOP_RENDER = 1456
15423
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_POOP_RENDER] = "PRE_GRID_ENTITY_POOP_RENDER"
15424
+ ____exports.ModCallbackRepentogon.POST_GRID_ENTITY_POOP_RENDER = 1457
15425
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_GRID_ENTITY_POOP_RENDER] = "POST_GRID_ENTITY_POOP_RENDER"
15426
+ ____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_ROCK_RENDER = 1458
15427
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_ROCK_RENDER] = "PRE_GRID_ENTITY_ROCK_RENDER"
15428
+ ____exports.ModCallbackRepentogon.POST_GRID_ENTITY_ROCK_RENDER = 1459
15429
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_GRID_ENTITY_ROCK_RENDER] = "POST_GRID_ENTITY_ROCK_RENDER"
15430
+ ____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_PRESSURE_PLATE_RENDER = 1460
15431
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_PRESSURE_PLATE_RENDER] = "PRE_GRID_ENTITY_PRESSURE_PLATE_RENDER"
15432
+ ____exports.ModCallbackRepentogon.POST_GRID_ENTITY_PRESSURE_PLATE_RENDER = 1461
15433
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_GRID_ENTITY_PRESSURE_PLATE_RENDER] = "POST_GRID_ENTITY_PRESSURE_PLATE_RENDER"
15434
+ ____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_WALL_RENDER = 1462
15435
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.PRE_GRID_ENTITY_WALL_RENDER] = "PRE_GRID_ENTITY_WALL_RENDER"
15436
+ ____exports.ModCallbackRepentogon.POST_GRID_ENTITY_WALL_RENDER = 1463
15437
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_GRID_ENTITY_WALL_RENDER] = "POST_GRID_ENTITY_WALL_RENDER"
15438
+ ____exports.ModCallbackRepentogon.POST_SAVE_SLOT_LOAD = 1470
15439
+ ____exports.ModCallbackRepentogon[____exports.ModCallbackRepentogon.POST_SAVE_SLOT_LOAD] = "POST_SAVE_SLOT_LOAD"
15008
15440
  return ____exports
15009
15441
  end,
15010
15442
  ["lua_modules.isaac-typescript-definitions.dist.enums.ModCallback"] = function(...)
@@ -17030,6 +17462,7 @@ return ____exports
17030
17462
  end,
17031
17463
  ["lua_modules.isaac-typescript-definitions.dist.enums.CollectibleAnimation"] = function(...)
17032
17464
  local ____exports = {}
17465
+ --- These are the animations in the "005.100_collectible.anm2" file.
17033
17466
  ____exports.CollectibleAnimation = {}
17034
17467
  ____exports.CollectibleAnimation.IDLE = "Idle"
17035
17468
  ____exports.CollectibleAnimation.EMPTY = "Empty"
@@ -19251,6 +19684,33 @@ function ____exports.getRandomEnumValue(self, transpiledEnum, seedOrRNG, excepti
19251
19684
  local enumValues = ____exports.getEnumValues(nil, transpiledEnum)
19252
19685
  return getRandomArrayElement(nil, enumValues, seedOrRNG, exceptions)
19253
19686
  end
19687
+ --- Helper function to validate that an interface contains all of the keys of an enum. You must
19688
+ -- specify both generic parameters in order for this to work properly (i.e. the interface and then
19689
+ -- the enum).
19690
+ --
19691
+ -- For example:
19692
+ --
19693
+ -- ```ts
19694
+ -- enum MyEnum {
19695
+ -- Value1,
19696
+ -- Value2,
19697
+ -- Value3,
19698
+ -- }
19699
+ --
19700
+ -- interface MyEnumToType {
19701
+ -- [MyEnum.Value1]: boolean;
19702
+ -- [MyEnum.Value2]: number;
19703
+ -- [MyEnum.Value3]: string;
19704
+ -- }
19705
+ --
19706
+ -- interfaceSatisfiesEnum<MyEnumToType, MyEnum>();
19707
+ -- ```
19708
+ --
19709
+ -- This function is only meant to be used with interfaces (i.e. types that will not exist at
19710
+ -- run-time). If you are generating an object that will contain all of the keys of an enum, use the
19711
+ -- `satisfies` operator with the `Record` type instead.
19712
+ function ____exports.interfaceSatisfiesEnum(self)
19713
+ end
19254
19714
  --- Helper function to validate that a particular value exists inside of an enum.
19255
19715
  function ____exports.isEnumValue(self, value, transpiledEnum)
19256
19716
  local enumValues = ____exports.getEnumValues(nil, transpiledEnum)
@@ -19295,33 +19755,6 @@ function ____exports.validateEnumContiguous(self, transpiledEnumName, transpiled
19295
19755
  end
19296
19756
  end
19297
19757
  end
19298
- --- Helper function to validate that an interface contains all of the keys of an enum. You must
19299
- -- specify both generic parameters in order for this to work properly (i.e. the interface and then
19300
- -- the enum).
19301
- --
19302
- -- For example:
19303
- --
19304
- -- ```ts
19305
- -- enum MyEnum {
19306
- -- Value1,
19307
- -- Value2,
19308
- -- Value3,
19309
- -- }
19310
- --
19311
- -- interface MyEnumToType {
19312
- -- [MyEnum.Value1]: boolean;
19313
- -- [MyEnum.Value2]: number;
19314
- -- [MyEnum.Value3]: string;
19315
- -- }
19316
- --
19317
- -- validateInterfaceMatchesEnum<MyEnumToType, MyEnum>();
19318
- -- ```
19319
- --
19320
- -- This function is only meant to be used with interfaces (i.e. types that will not exist at
19321
- -- run-time). If you are generating an object that will contain all of the keys of an enum, use the
19322
- -- `satisfies` operator with the `Record` type instead.
19323
- function ____exports.validateInterfaceMatchesEnum(self)
19324
- end
19325
19758
  return ____exports
19326
19759
  end,
19327
19760
  ["cachedEnumValues"] = function(...)
@@ -19596,15 +20029,15 @@ return ____exports
19596
20029
  ["interfaces.PlayerStats"] = function(...)
19597
20030
  local ____exports = {}
19598
20031
  local ____enums = require("functions.enums")
19599
- local validateInterfaceMatchesEnum = ____enums.validateInterfaceMatchesEnum
19600
- validateInterfaceMatchesEnum(nil)
20032
+ local interfaceSatisfiesEnum = ____enums.interfaceSatisfiesEnum
20033
+ interfaceSatisfiesEnum(nil)
19601
20034
  return ____exports
19602
20035
  end,
19603
20036
  ["interfaces.private.AddCallbackParametersCustom"] = function(...)
19604
20037
  local ____exports = {}
19605
20038
  local ____enums = require("functions.enums")
19606
- local validateInterfaceMatchesEnum = ____enums.validateInterfaceMatchesEnum
19607
- validateInterfaceMatchesEnum(nil)
20039
+ local interfaceSatisfiesEnum = ____enums.interfaceSatisfiesEnum
20040
+ interfaceSatisfiesEnum(nil)
19608
20041
  return ____exports
19609
20042
  end,
19610
20043
  ["types.AllButFirst"] = function(...)
@@ -63616,8 +64049,8 @@ local ISCFeature = ____ISCFeature.ISCFeature
63616
64049
  local ____ModCallbackCustom = require("enums.ModCallbackCustom")
63617
64050
  local ModCallbackCustom = ____ModCallbackCustom.ModCallbackCustom
63618
64051
  local ____enums = require("functions.enums")
63619
- local validateInterfaceMatchesEnum = ____enums.validateInterfaceMatchesEnum
63620
- validateInterfaceMatchesEnum(nil)
64052
+ local interfaceSatisfiesEnum = ____enums.interfaceSatisfiesEnum
64053
+ interfaceSatisfiesEnum(nil)
63621
64054
  function ____exports.getFeatures(self, mod, callbacks)
63622
64055
  local gameReorderedCallbacks = __TS__New(
63623
64056
  GameReorderedCallbacks,
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.39.0"
8
+ "packageVersion": "7.39.1"
9
9
  }
10
10
  ]
11
11
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "isaacscript-common",
3
- "version": "85.1.0",
3
+ "version": "86.1.0",
4
4
  "description": "Helper functions and features for IsaacScript mods.",
5
5
  "keywords": [
6
6
  "isaac",
@@ -37,6 +37,6 @@
37
37
  "lint": "tsx --tsconfig ./scripts/tsconfig.json ./scripts/lint.mts"
38
38
  },
39
39
  "dependencies": {
40
- "isaac-typescript-definitions": "^40.0.4"
40
+ "isaac-typescript-definitions": "^40.1.0"
41
41
  }
42
42
  }
package/src/features.ts CHANGED
@@ -59,7 +59,7 @@ import { UnlockAchievementsDetection } from "./classes/features/other/UnlockAchi
59
59
  import type { Feature } from "./classes/private/Feature";
60
60
  import { ISCFeature } from "./enums/ISCFeature";
61
61
  import { ModCallbackCustom } from "./enums/ModCallbackCustom";
62
- import { validateInterfaceMatchesEnum } from "./functions/enums";
62
+ import { interfaceSatisfiesEnum } from "./functions/enums";
63
63
  import type { ModUpgradedInterface } from "./interfaces/private/ModUpgradedInterface";
64
64
 
65
65
  export interface ISCFeatureToClass {
@@ -125,7 +125,7 @@ export interface ISCFeatureToClass {
125
125
  [ISCFeature.UNLOCK_ACHIEVEMENTS_DETECTION]: UnlockAchievementsDetection;
126
126
  }
127
127
 
128
- validateInterfaceMatchesEnum<ISCFeatureToClass, ISCFeature>();
128
+ interfaceSatisfiesEnum<ISCFeatureToClass, ISCFeature>();
129
129
 
130
130
  // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
131
131
  export function getFeatures(
@@ -202,6 +202,39 @@ export function getRandomEnumValue<T extends TranspiledEnum>(
202
202
  return getRandomArrayElement(enumValues, seedOrRNG, exceptions);
203
203
  }
204
204
 
205
+ /**
206
+ * Helper function to validate that an interface contains all of the keys of an enum. You must
207
+ * specify both generic parameters in order for this to work properly (i.e. the interface and then
208
+ * the enum).
209
+ *
210
+ * For example:
211
+ *
212
+ * ```ts
213
+ * enum MyEnum {
214
+ * Value1,
215
+ * Value2,
216
+ * Value3,
217
+ * }
218
+ *
219
+ * interface MyEnumToType {
220
+ * [MyEnum.Value1]: boolean;
221
+ * [MyEnum.Value2]: number;
222
+ * [MyEnum.Value3]: string;
223
+ * }
224
+ *
225
+ * interfaceSatisfiesEnum<MyEnumToType, MyEnum>();
226
+ * ```
227
+ *
228
+ * This function is only meant to be used with interfaces (i.e. types that will not exist at
229
+ * run-time). If you are generating an object that will contain all of the keys of an enum, use the
230
+ * `satisfies` operator with the `Record` type instead.
231
+ */
232
+ export function interfaceSatisfiesEnum<
233
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
234
+ T extends Record<Enum, unknown>,
235
+ Enum extends string | number,
236
+ >(): void {} // eslint-disable-line @typescript-eslint/no-empty-function
237
+
205
238
  /** Helper function to validate that a particular value exists inside of an enum. */
206
239
  export function isEnumValue<T extends TranspiledEnum>(
207
240
  value: number | string | BitFlag | BitFlag128,
@@ -270,36 +303,3 @@ export function validateEnumContiguous<T extends TranspiledEnum>(
270
303
  }
271
304
  }
272
305
  }
273
-
274
- /**
275
- * Helper function to validate that an interface contains all of the keys of an enum. You must
276
- * specify both generic parameters in order for this to work properly (i.e. the interface and then
277
- * the enum).
278
- *
279
- * For example:
280
- *
281
- * ```ts
282
- * enum MyEnum {
283
- * Value1,
284
- * Value2,
285
- * Value3,
286
- * }
287
- *
288
- * interface MyEnumToType {
289
- * [MyEnum.Value1]: boolean;
290
- * [MyEnum.Value2]: number;
291
- * [MyEnum.Value3]: string;
292
- * }
293
- *
294
- * validateInterfaceMatchesEnum<MyEnumToType, MyEnum>();
295
- * ```
296
- *
297
- * This function is only meant to be used with interfaces (i.e. types that will not exist at
298
- * run-time). If you are generating an object that will contain all of the keys of an enum, use the
299
- * `satisfies` operator with the `Record` type instead.
300
- */
301
- export function validateInterfaceMatchesEnum<
302
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
303
- T extends Record<Enum, unknown>,
304
- Enum extends string | number,
305
- >(): void {} // eslint-disable-line @typescript-eslint/no-empty-function
@@ -1,6 +1,6 @@
1
1
  import type { TearFlag } from "isaac-typescript-definitions";
2
2
  import type { PlayerStat } from "../enums/PlayerStat";
3
- import { validateInterfaceMatchesEnum } from "../functions/enums";
3
+ import { interfaceSatisfiesEnum } from "../functions/enums";
4
4
 
5
5
  /**
6
6
  * Contains every player stat along with its corresponding data type. For example, `StatType.DAMAGE`
@@ -22,4 +22,4 @@ export interface PlayerStats {
22
22
  [PlayerStat.SIZE]: Vector;
23
23
  }
24
24
 
25
- validateInterfaceMatchesEnum<PlayerStats, PlayerStat>();
25
+ interfaceSatisfiesEnum<PlayerStats, PlayerStat>();
@@ -39,7 +39,7 @@ import type { HealthType } from "../../enums/HealthType";
39
39
  import type { ModCallbackCustom } from "../../enums/ModCallbackCustom";
40
40
  import type { PlayerStat } from "../../enums/PlayerStat";
41
41
  import type { SlotDestructionType } from "../../enums/SlotDestructionType";
42
- import { validateInterfaceMatchesEnum } from "../../functions/enums";
42
+ import { interfaceSatisfiesEnum } from "../../functions/enums";
43
43
  import type {
44
44
  PickingUpItem,
45
45
  PickingUpItemCollectible,
@@ -1059,4 +1059,4 @@ export interface AddCallbackParametersCustom {
1059
1059
  ];
1060
1060
  }
1061
1061
 
1062
- validateInterfaceMatchesEnum<AddCallbackParametersCustom, ModCallbackCustom>();
1062
+ interfaceSatisfiesEnum<AddCallbackParametersCustom, ModCallbackCustom>();