@league-of-foundry-developers/foundry-vtt-types 13.346.0-beta.20250709090128 → 13.346.0-beta.20250709202056

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "@league-of-foundry-developers/foundry-vtt-types",
4
- "version": "13.346.0-beta.20250709090128",
4
+ "version": "13.346.0-beta.20250709202056",
5
5
  "description": "TypeScript type definitions for Foundry VTT",
6
6
  "type": "module",
7
7
  "types": "./src/index.d.mts",
@@ -1268,17 +1268,20 @@ declare namespace Document {
1268
1268
  SubType extends AllSubType,
1269
1269
  TypeMap extends Record<AllSubType, { system: object | undefined }>,
1270
1270
  AllSubType extends string = SubType,
1271
- > = SubType extends unknown ? OfType<SubType, TypeMap, AllSubType> : never;
1271
+ > = SubType extends unknown
1272
+ ? [AllSubType] extends [SubType]
1273
+ ? TypeMap[SubType] // There's only one subtype so avoid the worse type display of `OfType`.
1274
+ : OfType<SubType, TypeMap, AllSubType>
1275
+ : never;
1272
1276
 
1273
1277
  // Note(LukeAbby): This is named `OfType` to display as `Document.Internal.OfType` in quick info.
1274
1278
  interface OfType<
1275
1279
  OneSubType extends AllSubType,
1276
1280
  TypeMap extends Record<AllSubType, { system: object | undefined }>,
1277
1281
  AllSubType extends string,
1278
- > extends _Override<
1279
- TypeMap[OneSubType],
1280
- {
1281
- system: DiscriminatedSystem<
1282
+ > extends _DynamicBase<
1283
+ TypeMap[OneSubType] & {
1284
+ system: SystemDiscriminant<
1282
1285
  Exclude<TypeMap[OneSubType]["system"], undefined>,
1283
1286
  Exclude<TypeMap[AllSubType]["system"], undefined>
1284
1287
  >;
@@ -1286,16 +1289,15 @@ declare namespace Document {
1286
1289
  > {}
1287
1290
 
1288
1291
  // @ts-expect-error This pattern is intrinsically an error.
1289
- interface _Override<Base extends object, OverrideWith extends object> extends OverrideWith, Base {}
1292
+ interface _DynamicBase<Base extends object> extends Base {}
1290
1293
 
1291
1294
  /** @internal */
1292
- interface DiscriminatedSystem<System extends object, AllSystem extends object>
1293
- extends _Override<
1294
- {
1295
- [K in AllKeysOf<AllSystem>]?: never;
1296
- },
1297
- System
1298
- > {}
1295
+ type SystemDiscriminant<System extends object, AllSystem extends object> = Omit<
1296
+ {
1297
+ [K in AllKeysOf<AllSystem>]?: never;
1298
+ },
1299
+ keyof System
1300
+ >;
1299
1301
 
1300
1302
  interface DropData<DocumentType extends Document.Type> {
1301
1303
  /**