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

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.20250709202056",
4
+ "version": "13.346.0-beta.20250709212159",
5
5
  "description": "TypeScript type definitions for Foundry VTT",
6
6
  "type": "module",
7
7
  "types": "./src/index.d.mts",
@@ -411,18 +411,18 @@ declare namespace ActiveEffect {
411
411
  /** Options passed along in Create operations for ActiveEffects */
412
412
  interface Create<Temporary extends boolean | undefined = boolean | undefined>
413
413
  extends foundry.abstract.types.DatabaseCreateOperation<ActiveEffect.CreateData, ActiveEffect.Parent, Temporary> {
414
- animate?: boolean;
414
+ animate?: boolean | undefined;
415
415
  }
416
416
 
417
417
  /** Options passed along in Delete operations for ActiveEffects */
418
418
  interface Delete extends foundry.abstract.types.DatabaseDeleteOperation<ActiveEffect.Parent> {
419
- animate?: boolean;
419
+ animate?: boolean | undefined;
420
420
  }
421
421
 
422
422
  /** Options passed along in Update operations for ActiveEffects */
423
423
  interface Update
424
424
  extends foundry.abstract.types.DatabaseUpdateOperation<ActiveEffect.UpdateData, ActiveEffect.Parent> {
425
- animate?: boolean;
425
+ animate?: boolean | undefined;
426
426
  }
427
427
 
428
428
  /** Operation for {@linkcode ActiveEffect.createDocuments} */
@@ -1928,7 +1928,7 @@ declare namespace Document {
1928
1928
 
1929
1929
  type CreateOperationForName<
1930
1930
  DocumentType extends Document.Type,
1931
- Temporary extends boolean | undefined = undefined,
1931
+ Temporary extends boolean | undefined = boolean | undefined,
1932
1932
  > =
1933
1933
  | (DocumentType extends "ActiveEffect" ? ActiveEffect.Database.CreateOperation<Temporary> : never)
1934
1934
  | (DocumentType extends "ActorDelta" ? ActorDelta.Database.CreateOperation<Temporary> : never)
@@ -191,17 +191,14 @@ declare abstract class BaseActorDelta<
191
191
  override createEmbeddedDocuments<EmbeddedName extends ActorDelta.Embedded.Name>(
192
192
  embeddedName: EmbeddedName,
193
193
  data: Document.CreateDataForName<EmbeddedName>[] | undefined,
194
- // TODO(LukeAbby): The correct signature would be:
195
- // operation?: Document.Database.CreateOperation<Document.Database.CreateForName<EmbeddedName>>,
196
- // However this causes a number of errors.
197
- operation?: object,
198
- ): Promise<Array<Document.StoredForName<EmbeddedName>> | undefined>;
194
+ operation?: Document.Database.CreateOperationForName<EmbeddedName>,
195
+ ): Promise<Array<Document.StoredForName<EmbeddedName>>>;
199
196
 
200
197
  override updateEmbeddedDocuments<EmbeddedName extends ActorDelta.Embedded.Name>(
201
198
  embeddedName: EmbeddedName,
202
199
  updates: Document.UpdateDataForName<EmbeddedName>[] | undefined,
203
200
  operation?: Document.Database.UpdateOperationForName<EmbeddedName>,
204
- ): Promise<Array<Document.StoredForName<EmbeddedName>> | undefined>;
201
+ ): Promise<Array<Document.StoredForName<EmbeddedName>>>;
205
202
 
206
203
  override deleteEmbeddedDocuments<EmbeddedName extends ActorDelta.Embedded.Name>(
207
204
  embeddedName: EmbeddedName,
@@ -185,17 +185,14 @@ declare abstract class BaseActor<out SubType extends Actor.SubType = Actor.SubTy
185
185
  override createEmbeddedDocuments<EmbeddedName extends Actor.Embedded.Name>(
186
186
  embeddedName: EmbeddedName,
187
187
  data: Document.CreateDataForName<EmbeddedName>[] | undefined,
188
- // TODO(LukeAbby): The correct signature would be:
189
- // operation?: Document.Database.CreateOperation<Document.Database.CreateForName<EmbeddedName>>,
190
- // However this causes a number of errors.
191
- operation?: object,
192
- ): Promise<Array<Document.StoredForName<EmbeddedName>> | undefined>;
188
+ operation?: Document.Database.CreateOperationForName<EmbeddedName>,
189
+ ): Promise<Array<Document.StoredForName<EmbeddedName>>>;
193
190
 
194
191
  override updateEmbeddedDocuments<EmbeddedName extends Actor.Embedded.Name>(
195
192
  embeddedName: EmbeddedName,
196
193
  updates: Document.UpdateDataForName<EmbeddedName>[] | undefined,
197
194
  operation?: Document.Database.UpdateOperationForName<EmbeddedName>,
198
- ): Promise<Array<Document.StoredForName<EmbeddedName>> | undefined>;
195
+ ): Promise<Array<Document.StoredForName<EmbeddedName>>>;
199
196
 
200
197
  override deleteEmbeddedDocuments<EmbeddedName extends Actor.Embedded.Name>(
201
198
  embeddedName: EmbeddedName,
@@ -161,17 +161,14 @@ declare abstract class BaseCards<out SubType extends BaseCards.SubType = BaseCar
161
161
  override createEmbeddedDocuments<EmbeddedName extends Cards.Embedded.Name>(
162
162
  embeddedName: EmbeddedName,
163
163
  data: Document.CreateDataForName<EmbeddedName>[] | undefined,
164
- // TODO(LukeAbby): The correct signature would be:
165
- // operation?: Document.Database.CreateOperation<Document.Database.CreateForName<EmbeddedName>>,
166
- // However this causes a number of errors.
167
- operation?: object,
168
- ): Promise<Array<Document.StoredForName<EmbeddedName>> | undefined>;
164
+ operation?: Document.Database.CreateOperationForName<EmbeddedName>,
165
+ ): Promise<Array<Document.StoredForName<EmbeddedName>>>;
169
166
 
170
167
  override updateEmbeddedDocuments<EmbeddedName extends Cards.Embedded.Name>(
171
168
  embeddedName: EmbeddedName,
172
169
  updates: Document.UpdateDataForName<EmbeddedName>[] | undefined,
173
170
  operation?: Document.Database.UpdateOperationForName<EmbeddedName>,
174
- ): Promise<Array<Document.StoredForName<EmbeddedName>> | undefined>;
171
+ ): Promise<Array<Document.StoredForName<EmbeddedName>>>;
175
172
 
176
173
  override deleteEmbeddedDocuments<EmbeddedName extends Cards.Embedded.Name>(
177
174
  embeddedName: EmbeddedName,
@@ -164,17 +164,14 @@ declare abstract class BaseCombat<out SubType extends BaseCombat.SubType = BaseC
164
164
  override createEmbeddedDocuments<EmbeddedName extends Combat.Embedded.Name>(
165
165
  embeddedName: EmbeddedName,
166
166
  data: Document.CreateDataForName<EmbeddedName>[] | undefined,
167
- // TODO(LukeAbby): The correct signature would be:
168
- // operation?: Document.Database.CreateOperation<Document.Database.CreateForName<EmbeddedName>>,
169
- // However this causes a number of errors.
170
- operation?: object,
171
- ): Promise<Array<Document.StoredForName<EmbeddedName>> | undefined>;
167
+ operation?: Document.Database.CreateOperationForName<EmbeddedName>,
168
+ ): Promise<Array<Document.StoredForName<EmbeddedName>>>;
172
169
 
173
170
  override updateEmbeddedDocuments<EmbeddedName extends Combat.Embedded.Name>(
174
171
  embeddedName: EmbeddedName,
175
172
  updates: Document.UpdateDataForName<EmbeddedName>[] | undefined,
176
173
  operation?: Document.Database.UpdateOperationForName<EmbeddedName>,
177
- ): Promise<Array<Document.StoredForName<EmbeddedName>> | undefined>;
174
+ ): Promise<Array<Document.StoredForName<EmbeddedName>>>;
178
175
 
179
176
  override deleteEmbeddedDocuments<EmbeddedName extends Combat.Embedded.Name>(
180
177
  embeddedName: EmbeddedName,
@@ -170,17 +170,14 @@ declare abstract class BaseItem<out SubType extends Item.SubType = Item.SubType>
170
170
  override createEmbeddedDocuments<EmbeddedName extends Item.Embedded.Name>(
171
171
  embeddedName: EmbeddedName,
172
172
  data: Document.CreateDataForName<EmbeddedName>[] | undefined,
173
- // TODO(LukeAbby): The correct signature would be:
174
- // operation?: Document.Database.CreateOperation<Document.Database.CreateForName<EmbeddedName>>,
175
- // However this causes a number of errors.
176
- operation?: object,
177
- ): Promise<Array<Document.StoredForName<EmbeddedName>> | undefined>;
173
+ operation?: Document.Database.CreateOperationForName<EmbeddedName>,
174
+ ): Promise<Array<Document.StoredForName<EmbeddedName>>>;
178
175
 
179
176
  override updateEmbeddedDocuments<EmbeddedName extends Item.Embedded.Name>(
180
177
  embeddedName: EmbeddedName,
181
178
  updates: Document.UpdateDataForName<EmbeddedName>[] | undefined,
182
179
  operation?: Document.Database.UpdateOperationForName<EmbeddedName>,
183
- ): Promise<Array<Document.StoredForName<EmbeddedName>> | undefined>;
180
+ ): Promise<Array<Document.StoredForName<EmbeddedName>>>;
184
181
 
185
182
  override deleteEmbeddedDocuments<EmbeddedName extends Item.Embedded.Name>(
186
183
  embeddedName: EmbeddedName,
@@ -147,17 +147,14 @@ declare abstract class BaseJournalEntry extends Document<"JournalEntry", BaseJou
147
147
  override createEmbeddedDocuments<EmbeddedName extends JournalEntry.Embedded.Name>(
148
148
  embeddedName: EmbeddedName,
149
149
  data: Document.CreateDataForName<EmbeddedName>[] | undefined,
150
- // TODO(LukeAbby): The correct signature would be:
151
- // operation?: Document.Database.CreateOperation<Document.Database.CreateForName<EmbeddedName>>,
152
- // However this causes a number of errors.
153
- operation?: object,
154
- ): Promise<Array<Document.StoredForName<EmbeddedName>> | undefined>;
150
+ operation?: Document.Database.CreateOperationForName<EmbeddedName>,
151
+ ): Promise<Array<Document.StoredForName<EmbeddedName>>>;
155
152
 
156
153
  override updateEmbeddedDocuments<EmbeddedName extends JournalEntry.Embedded.Name>(
157
154
  embeddedName: EmbeddedName,
158
155
  updates: Document.UpdateDataForName<EmbeddedName>[] | undefined,
159
156
  operation?: Document.Database.UpdateOperationForName<EmbeddedName>,
160
- ): Promise<Array<Document.StoredForName<EmbeddedName>> | undefined>;
157
+ ): Promise<Array<Document.StoredForName<EmbeddedName>>>;
161
158
 
162
159
  override deleteEmbeddedDocuments<EmbeddedName extends JournalEntry.Embedded.Name>(
163
160
  embeddedName: EmbeddedName,
@@ -144,17 +144,14 @@ declare abstract class BasePlaylist extends Document<"Playlist", BasePlaylist.Sc
144
144
  override createEmbeddedDocuments<EmbeddedName extends Playlist.Embedded.Name>(
145
145
  embeddedName: EmbeddedName,
146
146
  data: Document.CreateDataForName<EmbeddedName>[] | undefined,
147
- // TODO(LukeAbby): The correct signature would be:
148
- // operation?: Document.Database.CreateOperation<Document.Database.CreateForName<EmbeddedName>>,
149
- // However this causes a number of errors.
150
- operation?: object,
151
- ): Promise<Array<Document.StoredForName<EmbeddedName>> | undefined>;
147
+ operation?: Document.Database.CreateOperationForName<EmbeddedName>,
148
+ ): Promise<Array<Document.StoredForName<EmbeddedName>>>;
152
149
 
153
150
  override updateEmbeddedDocuments<EmbeddedName extends Playlist.Embedded.Name>(
154
151
  embeddedName: EmbeddedName,
155
152
  updates: Document.UpdateDataForName<EmbeddedName>[] | undefined,
156
153
  operation?: Document.Database.UpdateOperationForName<EmbeddedName>,
157
- ): Promise<Array<Document.StoredForName<EmbeddedName>> | undefined>;
154
+ ): Promise<Array<Document.StoredForName<EmbeddedName>>>;
158
155
 
159
156
  override deleteEmbeddedDocuments<EmbeddedName extends Playlist.Embedded.Name>(
160
157
  embeddedName: EmbeddedName,
@@ -126,17 +126,14 @@ declare abstract class BaseRegion extends Document<"Region", BaseRegion.Schema,
126
126
  override createEmbeddedDocuments<EmbeddedName extends RegionDocument.Embedded.Name>(
127
127
  embeddedName: EmbeddedName,
128
128
  data: Document.CreateDataForName<EmbeddedName>[] | undefined,
129
- // TODO(LukeAbby): The correct signature would be:
130
- // operation?: Document.Database.CreateOperation<Document.Database.CreateForName<EmbeddedName>>,
131
- // However this causes a number of errors.
132
- operation?: object,
133
- ): Promise<Array<Document.StoredForName<EmbeddedName>> | undefined>;
129
+ operation?: Document.Database.CreateOperationForName<EmbeddedName>,
130
+ ): Promise<Array<Document.StoredForName<EmbeddedName>>>;
134
131
 
135
132
  override updateEmbeddedDocuments<EmbeddedName extends RegionDocument.Embedded.Name>(
136
133
  embeddedName: EmbeddedName,
137
134
  updates: Document.UpdateDataForName<EmbeddedName>[] | undefined,
138
135
  operation?: Document.Database.UpdateOperationForName<EmbeddedName>,
139
- ): Promise<Array<Document.StoredForName<EmbeddedName>> | undefined>;
136
+ ): Promise<Array<Document.StoredForName<EmbeddedName>>>;
140
137
 
141
138
  override deleteEmbeddedDocuments<EmbeddedName extends RegionDocument.Embedded.Name>(
142
139
  embeddedName: EmbeddedName,
@@ -147,17 +147,14 @@ declare abstract class BaseRollTable extends Document<"RollTable", BaseRollTable
147
147
  override createEmbeddedDocuments<EmbeddedName extends RollTable.Embedded.Name>(
148
148
  embeddedName: EmbeddedName,
149
149
  data: Document.CreateDataForName<EmbeddedName>[] | undefined,
150
- // TODO(LukeAbby): The correct signature would be:
151
- // operation?: Document.Database.CreateOperation<Document.Database.CreateForName<EmbeddedName>>,
152
- // However this causes a number of errors.
153
- operation?: object,
154
- ): Promise<Array<Document.StoredForName<EmbeddedName>> | undefined>;
150
+ operation?: Document.Database.CreateOperationForName<EmbeddedName>,
151
+ ): Promise<Array<Document.StoredForName<EmbeddedName>>>;
155
152
 
156
153
  override updateEmbeddedDocuments<EmbeddedName extends RollTable.Embedded.Name>(
157
154
  embeddedName: EmbeddedName,
158
155
  updates: Document.UpdateDataForName<EmbeddedName>[] | undefined,
159
156
  operation?: Document.Database.UpdateOperationForName<EmbeddedName>,
160
- ): Promise<Array<Document.StoredForName<EmbeddedName>> | undefined>;
157
+ ): Promise<Array<Document.StoredForName<EmbeddedName>>>;
161
158
 
162
159
  override deleteEmbeddedDocuments<EmbeddedName extends RollTable.Embedded.Name>(
163
160
  embeddedName: EmbeddedName,
@@ -250,17 +250,14 @@ declare abstract class BaseScene extends Document<"Scene", BaseScene.Schema, any
250
250
  override createEmbeddedDocuments<EmbeddedName extends Scene.Embedded.Name>(
251
251
  embeddedName: EmbeddedName,
252
252
  data: Document.CreateDataForName<EmbeddedName>[] | undefined,
253
- // TODO(LukeAbby): The correct signature would be:
254
- // operation?: Document.Database.CreateOperation<Document.Database.CreateForName<EmbeddedName>>,
255
- // However this causes a number of errors.
256
- operation?: object,
257
- ): Promise<Array<Document.StoredForName<EmbeddedName>> | undefined>;
253
+ operation?: Document.Database.CreateOperationForName<EmbeddedName>,
254
+ ): Promise<Array<Document.StoredForName<EmbeddedName>>>;
258
255
 
259
256
  override updateEmbeddedDocuments<EmbeddedName extends Scene.Embedded.Name>(
260
257
  embeddedName: EmbeddedName,
261
258
  updates: Document.UpdateDataForName<EmbeddedName>[] | undefined,
262
259
  operation?: Document.Database.UpdateOperationForName<EmbeddedName>,
263
- ): Promise<Array<Document.StoredForName<EmbeddedName>> | undefined>;
260
+ ): Promise<Array<Document.StoredForName<EmbeddedName>>>;
264
261
 
265
262
  override deleteEmbeddedDocuments<EmbeddedName extends Scene.Embedded.Name>(
266
263
  embeddedName: EmbeddedName,
@@ -290,17 +290,14 @@ declare abstract class BaseToken extends Document<"Token", BaseToken.Schema, any
290
290
  override createEmbeddedDocuments<EmbeddedName extends TokenDocument.Embedded.Name>(
291
291
  embeddedName: EmbeddedName,
292
292
  data: Document.CreateDataForName<EmbeddedName>[] | undefined,
293
- // TODO(LukeAbby): The correct signature would be:
294
- // operation?: Document.Database.CreateOperation<Document.Database.CreateForName<EmbeddedName>>,
295
- // However this causes a number of errors.
296
- operation?: object,
297
- ): Promise<Array<Document.StoredForName<EmbeddedName>> | undefined>;
293
+ operation?: Document.Database.CreateOperationForName<EmbeddedName>,
294
+ ): Promise<Array<Document.StoredForName<EmbeddedName>>>;
298
295
 
299
296
  override updateEmbeddedDocuments<EmbeddedName extends TokenDocument.Embedded.Name>(
300
297
  embeddedName: EmbeddedName,
301
298
  updates: Document.UpdateDataForName<EmbeddedName>[] | undefined,
302
299
  operation?: Document.Database.UpdateOperationForName<EmbeddedName>,
303
- ): Promise<Array<Document.StoredForName<EmbeddedName>> | undefined>;
300
+ ): Promise<Array<Document.StoredForName<EmbeddedName>>>;
304
301
 
305
302
  override deleteEmbeddedDocuments<EmbeddedName extends TokenDocument.Embedded.Name>(
306
303
  embeddedName: EmbeddedName,
@@ -331,6 +331,10 @@ export type DataType =
331
331
  | "undefined"
332
332
  | "Unknown";
333
333
 
334
+ export type ExpandKey<K extends PropertyKey> = K extends `${infer First}.${infer Rest}`
335
+ ? { [_ in First]: ExpandKey<Rest> }
336
+ : { [_ in K]: unknown };
337
+
334
338
  /**
335
339
  * A helper function which tests whether an object has a property or nested property given a string key.
336
340
  * The string key supports the notation a.b.c which would return true if object[a][b][c] exists
@@ -338,7 +342,7 @@ export type DataType =
338
342
  * @param key - An object property with notation a.b.c
339
343
  * @returns An indicator for whether the property exists
340
344
  */
341
- export function hasProperty(object: object, key: string): boolean;
345
+ export function hasProperty<K extends PropertyKey>(object: object, key: K): object is ExpandKey<K>;
342
346
 
343
347
  /**
344
348
  * A helper function which searches through an object to retrieve a value by a string key.