@league-of-foundry-developers/foundry-vtt-types 13.340.0 → 13.340.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (543) hide show
  1. package/README.md +6 -3
  2. package/package.json +40 -18
  3. package/src/configuration/configuration.d.mts +24 -23
  4. package/src/configuration/documents.d.mts +295 -0
  5. package/src/configuration/globals.d.mts +8 -2
  6. package/src/configuration/index.d.mts +1 -0
  7. package/src/foundry/client/apps/app.d.mts +121 -119
  8. package/src/foundry/client/apps/av/av-config.d.mts +13 -8
  9. package/src/foundry/client/apps/av/cameras.d.mts +11 -11
  10. package/src/foundry/client/apps/dice/dice-config.d.mts +22 -8
  11. package/src/foundry/client/apps/form.d.mts +112 -94
  12. package/src/foundry/client/apps/forms/actor.d.mts +22 -12
  13. package/src/foundry/client/apps/forms/adventure-exporter.d.mts +13 -8
  14. package/src/foundry/client/apps/forms/adventure-importer.d.mts +15 -7
  15. package/src/foundry/client/apps/forms/base-sheet.d.mts +14 -7
  16. package/src/foundry/client/apps/forms/card-config.d.mts +17 -9
  17. package/src/foundry/client/apps/forms/cards-config.d.mts +13 -14
  18. package/src/foundry/client/apps/forms/combat-config.d.mts +7 -7
  19. package/src/foundry/client/apps/forms/combatant-config.d.mts +4 -4
  20. package/src/foundry/client/apps/forms/default-sheets-config.d.mts +1 -1
  21. package/src/foundry/client/apps/forms/effect-config.d.mts +6 -6
  22. package/src/foundry/client/apps/forms/folder-config.d.mts +5 -5
  23. package/src/foundry/client/apps/forms/fonts.d.mts +42 -35
  24. package/src/foundry/client/apps/forms/grid-config.d.mts +11 -11
  25. package/src/foundry/client/apps/forms/image-popout.d.mts +28 -22
  26. package/src/foundry/client/apps/forms/item.d.mts +6 -6
  27. package/src/foundry/client/apps/forms/journal-page-sheet.d.mts +17 -15
  28. package/src/foundry/client/apps/forms/journal-sheet.d.mts +46 -37
  29. package/src/foundry/client/apps/forms/macro-config.d.mts +6 -6
  30. package/src/foundry/client/apps/forms/measure-template.d.mts +8 -8
  31. package/src/foundry/client/apps/forms/ownership.d.mts +5 -5
  32. package/src/foundry/client/apps/forms/playlist-config.d.mts +7 -9
  33. package/src/foundry/client/apps/forms/playlist-sound-config.d.mts +6 -6
  34. package/src/foundry/client/apps/forms/roll-table-config.d.mts +9 -10
  35. package/src/foundry/client/apps/forms/scene-config.d.mts +39 -39
  36. package/src/foundry/client/apps/forms/sheet-config.d.mts +8 -8
  37. package/src/foundry/client/apps/forms/user-config.d.mts +11 -11
  38. package/src/foundry/client/apps/hud/chatbubble.d.mts +14 -9
  39. package/src/foundry/client/apps/hud/container.d.mts +3 -3
  40. package/src/foundry/client/apps/hud/controls.d.mts +124 -84
  41. package/src/foundry/client/apps/hud/hotbar.d.mts +12 -12
  42. package/src/foundry/client/apps/hud/hud.d.mts +4 -4
  43. package/src/foundry/client/apps/hud/menu.d.mts +6 -6
  44. package/src/foundry/client/apps/hud/navigation.d.mts +11 -11
  45. package/src/foundry/client/apps/hud/pause.d.mts +7 -7
  46. package/src/foundry/client/apps/hud/players.d.mts +11 -11
  47. package/src/foundry/client/apps/i18n.d.mts +31 -27
  48. package/src/foundry/client/apps/placeables/drawing-config.d.mts +41 -33
  49. package/src/foundry/client/apps/placeables/drawing-hud.d.mts +4 -4
  50. package/src/foundry/client/apps/placeables/index.d.mts +0 -2
  51. package/src/foundry/client/apps/placeables/note-config.d.mts +27 -17
  52. package/src/foundry/client/apps/placeables/tile-config.d.mts +23 -10
  53. package/src/foundry/client/apps/placeables/tile-hud.d.mts +8 -8
  54. package/src/foundry/client/apps/placeables/token-config.d.mts +84 -63
  55. package/src/foundry/client/apps/placeables/token-hud.d.mts +10 -10
  56. package/src/foundry/client/apps/placeables/wall-config.d.mts +19 -16
  57. package/src/foundry/client/apps/sidebar/apps/chat-popout.d.mts +5 -5
  58. package/src/foundry/client/apps/sidebar/apps/client-settings.d.mts +2 -2
  59. package/src/foundry/client/apps/sidebar/apps/compendium.d.mts +13 -10
  60. package/src/foundry/client/apps/sidebar/apps/invitation-links.d.mts +3 -3
  61. package/src/foundry/client/apps/sidebar/apps/keybindings-config.d.mts +1 -1
  62. package/src/foundry/client/apps/sidebar/apps/module-management.d.mts +6 -6
  63. package/src/foundry/client/apps/sidebar/apps/permission-config.d.mts +6 -6
  64. package/src/foundry/client/apps/sidebar/apps/support-details.d.mts +33 -28
  65. package/src/foundry/client/apps/sidebar/apps/tours-management.d.mts +1 -1
  66. package/src/foundry/client/apps/sidebar/apps/world-config.d.mts +12 -9
  67. package/src/foundry/client/apps/sidebar/directory-tab-mixin.d.mts +40 -32
  68. package/src/foundry/client/apps/sidebar/document-directory.d.mts +44 -37
  69. package/src/foundry/client/apps/sidebar/package-configuration.d.mts +3 -3
  70. package/src/foundry/client/apps/sidebar/sidebar-tab.d.mts +3 -3
  71. package/src/foundry/client/apps/sidebar/sidebar.d.mts +7 -7
  72. package/src/foundry/client/apps/sidebar/tabs/actors-directory.d.mts +4 -4
  73. package/src/foundry/client/apps/sidebar/tabs/cards-directory.d.mts +4 -4
  74. package/src/foundry/client/apps/sidebar/tabs/chat-log.d.mts +34 -29
  75. package/src/foundry/client/apps/sidebar/tabs/combat-tracker.d.mts +15 -15
  76. package/src/foundry/client/apps/sidebar/tabs/compendium-directory.d.mts +21 -12
  77. package/src/foundry/client/apps/sidebar/tabs/items-directory.d.mts +4 -4
  78. package/src/foundry/client/apps/sidebar/tabs/journal-directory.d.mts +4 -4
  79. package/src/foundry/client/apps/sidebar/tabs/macros-directory.d.mts +8 -8
  80. package/src/foundry/client/apps/sidebar/tabs/playlists-directory.d.mts +21 -21
  81. package/src/foundry/client/apps/sidebar/tabs/roll-table-directory.d.mts +4 -4
  82. package/src/foundry/client/apps/sidebar/tabs/scenes-directory.d.mts +6 -6
  83. package/src/foundry/client/apps/sidebar/tabs/settings.d.mts +12 -12
  84. package/src/foundry/client/apps/templates.d.mts +2 -2
  85. package/src/foundry/client/av/clients/simplepeer.d.mts +4 -4
  86. package/src/foundry/client/av/settings.d.mts +16 -13
  87. package/src/foundry/client/config.d.mts +1982 -1823
  88. package/src/foundry/client/core/document-index.d.mts +12 -4
  89. package/src/foundry/client/core/hooks.d.mts +0 -2
  90. package/src/foundry/client/core/image.d.mts +13 -11
  91. package/src/foundry/client/core/issues.d.mts +11 -6
  92. package/src/foundry/client/core/keybindings.d.mts +3 -3
  93. package/src/foundry/client/core/nue.d.mts +1 -1
  94. package/src/foundry/client/core/packages.d.mts +393 -63
  95. package/src/foundry/client/core/settings.d.mts +34 -12
  96. package/src/foundry/client/core/socket.d.mts +2 -2
  97. package/src/foundry/client/core/sorting.d.mts +6 -6
  98. package/src/foundry/client/core/time.d.mts +6 -3
  99. package/src/foundry/client/core/tooltip.d.mts +1 -1
  100. package/src/foundry/client/core/tour.d.mts +58 -49
  101. package/src/foundry/client/core/tours.d.mts +1 -1
  102. package/src/foundry/client/core/utils.d.mts +3 -3
  103. package/src/foundry/client/core/workers.d.mts +24 -17
  104. package/src/foundry/client/data/abstract/canvas-document.d.mts +9 -15
  105. package/src/foundry/client/data/abstract/client-document.d.mts +133 -172
  106. package/src/foundry/client/data/abstract/directory-collection-mixin.d.mts +14 -36
  107. package/src/foundry/client/data/abstract/document-collection.d.mts +89 -65
  108. package/src/foundry/client/data/abstract/world-collection.d.mts +47 -53
  109. package/src/foundry/client/data/collections/actors.d.mts +24 -31
  110. package/src/foundry/client/data/collections/cards.d.mts +10 -6
  111. package/src/foundry/client/data/collections/combats.d.mts +12 -8
  112. package/src/foundry/client/data/collections/compendium-collection.d.mts +79 -66
  113. package/src/foundry/client/data/collections/compendium-folders.d.mts +6 -6
  114. package/src/foundry/client/data/collections/compendium-packs.d.mts +4 -4
  115. package/src/foundry/client/data/collections/fog.d.mts +10 -6
  116. package/src/foundry/client/data/collections/folder.d.mts +15 -10
  117. package/src/foundry/client/data/collections/items.d.mts +11 -7
  118. package/src/foundry/client/data/collections/journal.d.mts +16 -10
  119. package/src/foundry/client/data/collections/macros.d.mts +15 -22
  120. package/src/foundry/client/data/collections/messages.d.mts +14 -10
  121. package/src/foundry/client/data/collections/playlists.d.mts +12 -9
  122. package/src/foundry/client/data/collections/scenes.d.mts +19 -31
  123. package/src/foundry/client/data/collections/settings.d.mts +10 -6
  124. package/src/foundry/client/data/collections/tables.d.mts +11 -7
  125. package/src/foundry/client/data/collections/users.d.mts +14 -11
  126. package/src/foundry/client/data/documents/active-effect.d.mts +652 -88
  127. package/src/foundry/client/data/documents/actor-delta.d.mts +672 -28
  128. package/src/foundry/client/data/documents/actor.d.mts +722 -60
  129. package/src/foundry/client/data/documents/adventure.d.mts +482 -49
  130. package/src/foundry/client/data/documents/ambient-light.d.mts +426 -21
  131. package/src/foundry/client/data/documents/ambient-sound.d.mts +474 -15
  132. package/src/foundry/client/data/documents/card.d.mts +570 -39
  133. package/src/foundry/client/data/documents/cards.d.mts +742 -78
  134. package/src/foundry/client/data/documents/chat-message.d.mts +578 -45
  135. package/src/foundry/client/data/documents/combat.d.mts +701 -71
  136. package/src/foundry/client/data/documents/combatant.d.mts +510 -28
  137. package/src/foundry/client/data/documents/drawing.d.mts +543 -16
  138. package/src/foundry/client/data/documents/fog-exploration.d.mts +413 -27
  139. package/src/foundry/client/data/documents/folder.d.mts +461 -40
  140. package/src/foundry/client/data/documents/item.d.mts +679 -25
  141. package/src/foundry/client/data/documents/journal-entry-page.d.mts +587 -21
  142. package/src/foundry/client/data/documents/journal-entry.d.mts +621 -20
  143. package/src/foundry/client/data/documents/macro.d.mts +530 -25
  144. package/src/foundry/client/data/documents/measured-template.d.mts +480 -16
  145. package/src/foundry/client/data/documents/note.d.mts +495 -18
  146. package/src/foundry/client/data/documents/playlist-sound.d.mts +429 -27
  147. package/src/foundry/client/data/documents/playlist.d.mts +666 -75
  148. package/src/foundry/client/data/documents/region-behavior.d.mts +468 -38
  149. package/src/foundry/client/data/documents/region.d.mts +661 -35
  150. package/src/foundry/client/data/documents/scene.d.mts +986 -149
  151. package/src/foundry/client/data/documents/setting.d.mts +397 -15
  152. package/src/foundry/client/data/documents/table-result.d.mts +479 -17
  153. package/src/foundry/client/data/documents/table.d.mts +663 -80
  154. package/src/foundry/client/data/documents/tile.d.mts +502 -16
  155. package/src/foundry/client/data/documents/token.d.mts +1114 -90
  156. package/src/foundry/client/data/documents/user.d.mts +495 -27
  157. package/src/foundry/client/data/documents/wall.d.mts +550 -15
  158. package/src/foundry/client/game.d.mts +58 -92
  159. package/src/foundry/client/head.d.mts +5 -6
  160. package/src/foundry/client/hooks.d.mts +237 -221
  161. package/src/foundry/client/pixi/board.d.mts +95 -89
  162. package/src/foundry/client/pixi/core/containers/base-canvas-group.d.mts +6 -5
  163. package/src/foundry/client/pixi/core/containers/cached-container.d.mts +5 -5
  164. package/src/foundry/client/pixi/core/containers/full-canvas-container.d.mts +2 -2
  165. package/src/foundry/client/pixi/core/containers/point-source-mesh.d.mts +3 -3
  166. package/src/foundry/client/pixi/core/containers/quad-mesh.d.mts +3 -3
  167. package/src/foundry/client/pixi/core/containers/quadtree.d.mts +23 -21
  168. package/src/foundry/client/pixi/core/containers/sprite-mesh.d.mts +5 -5
  169. package/src/foundry/client/pixi/core/containers/unbound-container.d.mts +5 -5
  170. package/src/foundry/client/pixi/core/interaction/canvas-animation.d.mts +57 -51
  171. package/src/foundry/client/pixi/core/interaction/control-icon.d.mts +3 -3
  172. package/src/foundry/client/pixi/core/interaction/mouse-handler.d.mts +7 -7
  173. package/src/foundry/client/pixi/core/interaction/ping.d.mts +19 -11
  174. package/src/foundry/client/pixi/core/interaction/pings/chevron.d.mts +7 -2
  175. package/src/foundry/client/pixi/core/interaction/pings/pulse.d.mts +29 -23
  176. package/src/foundry/client/pixi/core/interaction/render-flags.d.mts +83 -38
  177. package/src/foundry/client/pixi/core/interaction/resize-handle.d.mts +3 -3
  178. package/src/foundry/client/pixi/core/interaction/targets.d.mts +9 -9
  179. package/src/foundry/client/pixi/core/loader.d.mts +8 -8
  180. package/src/foundry/client/pixi/core/shapes/limited-angle-polygon.d.mts +9 -4
  181. package/src/foundry/client/pixi/core/shapes/polygon-mesher.d.mts +3 -3
  182. package/src/foundry/client/pixi/core/shapes/precise-text.d.mts +3 -3
  183. package/src/foundry/client/pixi/core/shapes/ray.d.mts +23 -17
  184. package/src/foundry/client/pixi/core/shapes/source-polygon.d.mts +19 -14
  185. package/src/foundry/client/pixi/extensions/circle.d.mts +1 -1
  186. package/src/foundry/client/pixi/extensions/observable-transform.d.mts +3 -3
  187. package/src/foundry/client/pixi/groups/effects.d.mts +4 -4
  188. package/src/foundry/client/pixi/groups/environment.d.mts +5 -5
  189. package/src/foundry/client/pixi/groups/hidden.d.mts +3 -3
  190. package/src/foundry/client/pixi/groups/interface.d.mts +6 -6
  191. package/src/foundry/client/pixi/groups/overlay.d.mts +3 -3
  192. package/src/foundry/client/pixi/groups/primary.d.mts +11 -11
  193. package/src/foundry/client/pixi/groups/rendered.d.mts +3 -3
  194. package/src/foundry/client/pixi/layers/base/canvas-layer.d.mts +3 -3
  195. package/src/foundry/client/pixi/layers/base/interaction-layer.d.mts +13 -13
  196. package/src/foundry/client/pixi/layers/base/placeables-layer.d.mts +279 -233
  197. package/src/foundry/client/pixi/layers/controls/cursor.d.mts +17 -8
  198. package/src/foundry/client/pixi/layers/controls/door.d.mts +26 -14
  199. package/src/foundry/client/pixi/layers/controls/layer.d.mts +89 -79
  200. package/src/foundry/client/pixi/layers/controls/ruler.d.mts +121 -96
  201. package/src/foundry/client/pixi/layers/effects/background-effects.d.mts +4 -5
  202. package/src/foundry/client/pixi/layers/effects/coloration-effects.d.mts +6 -4
  203. package/src/foundry/client/pixi/layers/effects/darkness-effects.d.mts +7 -4
  204. package/src/foundry/client/pixi/layers/effects/illumination-effects.d.mts +19 -16
  205. package/src/foundry/client/pixi/layers/effects/visibility.d.mts +101 -84
  206. package/src/foundry/client/pixi/layers/effects/weather/particles/effect.d.mts +13 -4
  207. package/src/foundry/client/pixi/layers/effects/weather/particles/leaves.d.mts +31 -2
  208. package/src/foundry/client/pixi/layers/effects/weather-effects.d.mts +134 -59
  209. package/src/foundry/client/pixi/layers/grid/highlight.d.mts +13 -3
  210. package/src/foundry/client/pixi/layers/grid/layer.d.mts +89 -87
  211. package/src/foundry/client/pixi/layers/grid/mesh.d.mts +36 -15
  212. package/src/foundry/client/pixi/layers/masks/depth.d.mts +3 -3
  213. package/src/foundry/client/pixi/layers/masks/occlusion.d.mts +4 -4
  214. package/src/foundry/client/pixi/layers/masks/vision.d.mts +6 -6
  215. package/src/foundry/client/pixi/layers/placeables/drawings.d.mts +15 -11
  216. package/src/foundry/client/pixi/layers/placeables/lighting.d.mts +11 -10
  217. package/src/foundry/client/pixi/layers/placeables/notes.d.mts +47 -28
  218. package/src/foundry/client/pixi/layers/placeables/regions.d.mts +25 -12
  219. package/src/foundry/client/pixi/layers/placeables/sounds.d.mts +81 -63
  220. package/src/foundry/client/pixi/layers/placeables/templates.d.mts +10 -11
  221. package/src/foundry/client/pixi/layers/placeables/tiles.d.mts +28 -17
  222. package/src/foundry/client/pixi/layers/placeables/tokens.d.mts +67 -46
  223. package/src/foundry/client/pixi/layers/placeables/walls.d.mts +50 -51
  224. package/src/foundry/client/pixi/perception/clockwise-sweep.d.mts +22 -16
  225. package/src/foundry/client/pixi/perception/detection-mode.d.mts +123 -51
  226. package/src/foundry/client/pixi/perception/fog.d.mts +34 -19
  227. package/src/foundry/client/pixi/perception/perception-manager.d.mts +137 -137
  228. package/src/foundry/client/pixi/perception/vision-mode.d.mts +92 -67
  229. package/src/foundry/client/pixi/perception/weiler-atherton-clipping.d.mts +3 -3
  230. package/src/foundry/client/pixi/placeable.d.mts +241 -146
  231. package/src/foundry/client/pixi/placeables/drawing.d.mts +260 -134
  232. package/src/foundry/client/pixi/placeables/light.d.mts +204 -66
  233. package/src/foundry/client/pixi/placeables/note.d.mts +150 -55
  234. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-canvas-object.d.mts +7 -6
  235. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-graphics.d.mts +3 -3
  236. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-occludable-object.d.mts +2 -2
  237. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-sprite-mesh.d.mts +4 -4
  238. package/src/foundry/client/pixi/placeables/region.d.mts +219 -110
  239. package/src/foundry/client/pixi/placeables/sound.d.mts +211 -68
  240. package/src/foundry/client/pixi/placeables/template.d.mts +186 -100
  241. package/src/foundry/client/pixi/placeables/tile.d.mts +211 -142
  242. package/src/foundry/client/pixi/placeables/token.d.mts +911 -568
  243. package/src/foundry/client/pixi/placeables/wall.d.mts +253 -130
  244. package/src/foundry/client/pixi/webgl/extensions/batch-renderer.d.mts +27 -5
  245. package/src/foundry/client/pixi/webgl/extensions/batch-shader-generator.d.mts +3 -3
  246. package/src/foundry/client/pixi/webgl/helpers/framebuffer-snapshot.d.mts +3 -3
  247. package/src/foundry/client/pixi/webgl/helpers/smooth-noise.d.mts +13 -5
  248. package/src/foundry/client/pixi/webgl/helpers/texture-extractor.d.mts +6 -6
  249. package/src/foundry/client/pixi/webgl/shaders/base-shader-mixin.d.mts +2 -2
  250. package/src/foundry/client/pixi/webgl/shaders/base-shader.d.mts +5 -5
  251. package/src/foundry/client/pixi/webgl/shaders/filters/base-filter.d.mts +4 -4
  252. package/src/foundry/client/pixi/webgl/shaders/filters/base-mask-filter.d.mts +3 -3
  253. package/src/foundry/client/pixi/webgl/shaders/filters/blur.d.mts +5 -5
  254. package/src/foundry/client/pixi/webgl/shaders/filters/effects-masking.d.mts +6 -3
  255. package/src/foundry/client/pixi/webgl/shaders/filters/environment.d.mts +3 -3
  256. package/src/foundry/client/pixi/webgl/shaders/filters/glow-overlay.d.mts +4 -4
  257. package/src/foundry/client/pixi/webgl/shaders/filters/invisibility.d.mts +3 -3
  258. package/src/foundry/client/pixi/webgl/shaders/filters/outline-overlay.d.mts +4 -4
  259. package/src/foundry/client/pixi/webgl/shaders/filters/transition.d.mts +6 -6
  260. package/src/foundry/client/pixi/webgl/shaders/filters/visibility.d.mts +8 -5
  261. package/src/foundry/client/pixi/webgl/shaders/filters/vision-mask-filter.d.mts +3 -3
  262. package/src/foundry/client/pixi/webgl/shaders/filters/void.d.mts +3 -3
  263. package/src/foundry/client/pixi/webgl/shaders/filters/weather-occlusion-masks.d.mts +4 -4
  264. package/src/foundry/client/pixi/webgl/shaders/fragment-channel-mixin.d.mts +1 -1
  265. package/src/foundry/client/pixi/webgl/shaders/grid/grid.d.mts +4 -4
  266. package/src/foundry/client/pixi/webgl/shaders/lighting/background-lighting.d.mts +3 -3
  267. package/src/foundry/client/pixi/webgl/shaders/lighting/base-lighting.d.mts +3 -3
  268. package/src/foundry/client/pixi/webgl/shaders/lighting/coloration-lighting.d.mts +3 -3
  269. package/src/foundry/client/pixi/webgl/shaders/lighting/darkness-lighting.d.mts +3 -3
  270. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/bewitching-wave.d.mts +5 -5
  271. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/black-hole.d.mts +3 -3
  272. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/chroma.d.mts +3 -3
  273. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/emanation.d.mts +3 -3
  274. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/energy-field.d.mts +3 -3
  275. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fairy-light.d.mts +6 -6
  276. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/flame.d.mts +5 -5
  277. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fog.d.mts +3 -3
  278. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/force-grid.d.mts +3 -3
  279. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/ghost-light.d.mts +5 -5
  280. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/hexa-dome.d.mts +3 -3
  281. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/light-dome.d.mts +3 -3
  282. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/magical-gloom.d.mts +3 -3
  283. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/pulse.d.mts +5 -5
  284. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/radial-rainbow.d.mts +3 -3
  285. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/revolving-light.d.mts +3 -3
  286. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/roiling-mass.d.mts +3 -3
  287. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/siren-light.d.mts +5 -5
  288. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/smoke-patch.d.mts +6 -5
  289. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/star-light.d.mts +3 -3
  290. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/sunburst.d.mts +5 -5
  291. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/swirling-rainbow.d.mts +4 -3
  292. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/torch.d.mts +5 -5
  293. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/vortex.d.mts +5 -5
  294. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/wave.d.mts +5 -5
  295. package/src/foundry/client/pixi/webgl/shaders/lighting/illumination-lighting.d.mts +3 -3
  296. package/src/foundry/client/pixi/webgl/shaders/region/adjust-darkness-level.d.mts +7 -7
  297. package/src/foundry/client/pixi/webgl/shaders/region/base.d.mts +4 -4
  298. package/src/foundry/client/pixi/webgl/shaders/region/highlight.d.mts +3 -3
  299. package/src/foundry/client/pixi/webgl/shaders/samplers/base-sampler.d.mts +4 -4
  300. package/src/foundry/client/pixi/webgl/shaders/samplers/baseline-illumination.d.mts +3 -3
  301. package/src/foundry/client/pixi/webgl/shaders/samplers/color-adjustment.d.mts +5 -5
  302. package/src/foundry/client/pixi/webgl/shaders/samplers/depth.d.mts +3 -3
  303. package/src/foundry/client/pixi/webgl/shaders/samplers/fog-of-war.d.mts +3 -3
  304. package/src/foundry/client/pixi/webgl/shaders/samplers/occlusion.d.mts +3 -3
  305. package/src/foundry/client/pixi/webgl/shaders/samplers/primary.d.mts +4 -4
  306. package/src/foundry/client/pixi/webgl/shaders/samplers/token-ring.d.mts +4 -6
  307. package/src/foundry/client/pixi/webgl/shaders/vision/background-vision.d.mts +3 -3
  308. package/src/foundry/client/pixi/webgl/shaders/vision/base-vision.d.mts +3 -3
  309. package/src/foundry/client/pixi/webgl/shaders/vision/coloration-vision.d.mts +3 -3
  310. package/src/foundry/client/pixi/webgl/shaders/vision/effects/amplification.d.mts +3 -3
  311. package/src/foundry/client/pixi/webgl/shaders/vision/effects/wave.d.mts +5 -5
  312. package/src/foundry/client/pixi/webgl/shaders/vision/illumination-vision.d.mts +3 -3
  313. package/src/foundry/client/pixi/webgl/shaders/weather/base-weather.d.mts +14 -15
  314. package/src/foundry/client/pixi/webgl/shaders/weather/effect.d.mts +20 -27
  315. package/src/foundry/client/pixi/webgl/shaders/weather/fog.d.mts +5 -5
  316. package/src/foundry/client/pixi/webgl/shaders/weather/rain.d.mts +5 -5
  317. package/src/foundry/client/pixi/webgl/shaders/weather/snow.d.mts +5 -5
  318. package/src/foundry/client/pixi/workers/texture-worker.d.mts +5 -5
  319. package/src/foundry/client/tours/setup-tour.d.mts +15 -10
  320. package/src/foundry/client/ui/dialog.d.mts +3 -3
  321. package/src/foundry/client/ui/dragdrop.d.mts +33 -27
  322. package/src/foundry/client/ui/editor.d.mts +29 -21
  323. package/src/foundry/client/ui/filepicker.d.mts +42 -37
  324. package/src/foundry/client/ui/filter.d.mts +60 -48
  325. package/src/foundry/client/ui/forms.d.mts +22 -22
  326. package/src/foundry/client/ui/prosemirror.d.mts +15 -7
  327. package/src/foundry/client/ui/secrets.d.mts +43 -28
  328. package/src/foundry/client/ui/tabs.d.mts +40 -33
  329. package/src/foundry/client-esm/_module.d.mts +5 -5
  330. package/src/foundry/client-esm/_types.d.mts +2 -1
  331. package/src/foundry/client-esm/applications/api/application.d.mts +93 -31
  332. package/src/foundry/client-esm/applications/api/dialog.d.mts +23 -23
  333. package/src/foundry/client-esm/applications/api/document-sheet.d.mts +85 -32
  334. package/src/foundry/client-esm/applications/api/handlebars-application.d.mts +1 -1
  335. package/src/foundry/client-esm/applications/apps/av/camera-popout.d.mts +1 -1
  336. package/src/foundry/client-esm/applications/apps/av/cameras.d.mts +2 -2
  337. package/src/foundry/client-esm/applications/apps/compendium-art-config.d.mts +4 -5
  338. package/src/foundry/client-esm/applications/apps/file-picker.d.mts +2 -2
  339. package/src/foundry/client-esm/applications/apps/grid-config.d.mts +3 -3
  340. package/src/foundry/client-esm/applications/apps/image-popout.d.mts +1 -1
  341. package/src/foundry/client-esm/applications/apps/permission-config.d.mts +1 -1
  342. package/src/foundry/client-esm/applications/dice/roll-resolver.d.mts +4 -4
  343. package/src/foundry/client-esm/applications/elements/file-picker.d.mts +1 -1
  344. package/src/foundry/client-esm/applications/elements/prosemirror-editor.d.mts +1 -1
  345. package/src/foundry/client-esm/applications/hud/drawing-hud.d.mts +1 -1
  346. package/src/foundry/client-esm/applications/hud/tile-hud.d.mts +1 -1
  347. package/src/foundry/client-esm/applications/hud/token-hud.d.mts +1 -1
  348. package/src/foundry/client-esm/applications/sheets/active-effect-config.d.mts +3 -3
  349. package/src/foundry/client-esm/applications/sheets/actor-sheet.d.mts +2 -2
  350. package/src/foundry/client-esm/applications/sheets/adventure-exporter.d.mts +3 -3
  351. package/src/foundry/client-esm/applications/sheets/adventure-importer.d.mts +3 -3
  352. package/src/foundry/client-esm/applications/sheets/ambient-light-config.d.mts +5 -5
  353. package/src/foundry/client-esm/applications/sheets/ambient-sound-config.d.mts +4 -4
  354. package/src/foundry/client-esm/applications/sheets/card-config.d.mts +3 -3
  355. package/src/foundry/client-esm/applications/sheets/cards-config.d.mts +2 -2
  356. package/src/foundry/client-esm/applications/sheets/combatant-config.d.mts +3 -3
  357. package/src/foundry/client-esm/applications/sheets/drawing-config.d.mts +3 -3
  358. package/src/foundry/client-esm/applications/sheets/folder-config.d.mts +3 -3
  359. package/src/foundry/client-esm/applications/sheets/item-sheet.d.mts +2 -2
  360. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-category-config.d.mts +3 -3
  361. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-sheet.d.mts +3 -3
  362. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-sheet.d.mts +3 -3
  363. package/src/foundry/client-esm/applications/sheets/macro-config.d.mts +3 -3
  364. package/src/foundry/client-esm/applications/sheets/note-config.d.mts +3 -3
  365. package/src/foundry/client-esm/applications/sheets/playlist-config.d.mts +3 -3
  366. package/src/foundry/client-esm/applications/sheets/playlist-sound-config.d.mts +3 -3
  367. package/src/foundry/client-esm/applications/sheets/region-behavior-config.d.mts +3 -3
  368. package/src/foundry/client-esm/applications/sheets/region-config.d.mts +3 -3
  369. package/src/foundry/client-esm/applications/sheets/roll-table-config.d.mts +3 -3
  370. package/src/foundry/client-esm/applications/sheets/roll-table-sheet.d.mts +3 -3
  371. package/src/foundry/client-esm/applications/sheets/scene-config.d.mts +3 -3
  372. package/src/foundry/client-esm/applications/sheets/table-result-config.d.mts +3 -3
  373. package/src/foundry/client-esm/applications/sheets/template-config.d.mts +3 -3
  374. package/src/foundry/client-esm/applications/sheets/tile-config.d.mts +3 -3
  375. package/src/foundry/client-esm/applications/sheets/token/mixin.d.mts +1 -0
  376. package/src/foundry/client-esm/applications/sheets/token/token-config.d.mts +3 -3
  377. package/src/foundry/client-esm/applications/sheets/user-config.d.mts +4 -4
  378. package/src/foundry/client-esm/applications/sheets/wall-config.d.mts +3 -3
  379. package/src/foundry/client-esm/applications/sidebar/apps/chat-popout.d.mts +1 -1
  380. package/src/foundry/client-esm/applications/sidebar/sidebar-tab.d.mts +2 -2
  381. package/src/foundry/client-esm/applications/sidebar/tabs/actor-directory.d.mts +1 -1
  382. package/src/foundry/client-esm/applications/sidebar/tabs/cards-directory.d.mts +1 -1
  383. package/src/foundry/client-esm/applications/sidebar/tabs/combat-tracker.d.mts +242 -1
  384. package/src/foundry/client-esm/applications/sidebar/tabs/item-directory.d.mts +1 -1
  385. package/src/foundry/client-esm/applications/sidebar/tabs/journal-directory.d.mts +1 -1
  386. package/src/foundry/client-esm/applications/sidebar/tabs/macro-directory.d.mts +1 -1
  387. package/src/foundry/client-esm/applications/sidebar/tabs/playlist-directory.d.mts +1 -1
  388. package/src/foundry/client-esm/applications/sidebar/tabs/roll-table-directory.d.mts +1 -1
  389. package/src/foundry/client-esm/applications/sidebar/tabs/scene-directory.d.mts +1 -1
  390. package/src/foundry/client-esm/applications/ui/region-legend.d.mts +2 -2
  391. package/src/foundry/client-esm/applications/ux/context-menu.d.mts +56 -36
  392. package/src/foundry/client-esm/audio/_types.d.mts +2 -0
  393. package/src/foundry/client-esm/audio/biquad.d.mts +76 -26
  394. package/src/foundry/client-esm/audio/cache.d.mts +31 -20
  395. package/src/foundry/client-esm/audio/convolver.d.mts +47 -25
  396. package/src/foundry/client-esm/audio/helper.d.mts +124 -80
  397. package/src/foundry/client-esm/audio/sound.d.mts +202 -97
  398. package/src/foundry/client-esm/audio/timeout.d.mts +28 -12
  399. package/src/foundry/client-esm/canvas/edges/collision.d.mts +12 -4
  400. package/src/foundry/client-esm/canvas/edges/edge.d.mts +13 -8
  401. package/src/foundry/client-esm/canvas/edges/edges.d.mts +3 -2
  402. package/src/foundry/client-esm/canvas/edges/vertex.d.mts +12 -10
  403. package/src/foundry/client-esm/canvas/regions/geometry.d.mts +14 -7
  404. package/src/foundry/client-esm/canvas/regions/mesh.d.mts +25 -14
  405. package/src/foundry/client-esm/canvas/regions/polygon-tree.d.mts +50 -19
  406. package/src/foundry/client-esm/canvas/regions/shape.d.mts +45 -34
  407. package/src/foundry/client-esm/canvas/scene-manager.d.mts +7 -6
  408. package/src/foundry/client-esm/canvas/smaa/blend.d.mts +14 -3
  409. package/src/foundry/client-esm/canvas/smaa/edges.d.mts +25 -3
  410. package/src/foundry/client-esm/canvas/smaa/smaa.d.mts +119 -20
  411. package/src/foundry/client-esm/canvas/smaa/weights.d.mts +26 -3
  412. package/src/foundry/client-esm/canvas/sources/base-effect-source.d.mts +69 -39
  413. package/src/foundry/client-esm/canvas/sources/base-light-source.d.mts +66 -40
  414. package/src/foundry/client-esm/canvas/sources/global-light-source.d.mts +78 -19
  415. package/src/foundry/client-esm/canvas/sources/point-darkness-source.d.mts +37 -20
  416. package/src/foundry/client-esm/canvas/sources/point-effect-source.d.mts +39 -20
  417. package/src/foundry/client-esm/canvas/sources/point-light-source.d.mts +41 -12
  418. package/src/foundry/client-esm/canvas/sources/point-movement-source.d.mts +15 -4
  419. package/src/foundry/client-esm/canvas/sources/point-sound-source.d.mts +29 -14
  420. package/src/foundry/client-esm/canvas/sources/point-vision-source.d.mts +84 -39
  421. package/src/foundry/client-esm/canvas/sources/rendered-effect-source.d.mts +115 -41
  422. package/src/foundry/client-esm/canvas/tokens/ring-config.d.mts +83 -21
  423. package/src/foundry/client-esm/canvas/tokens/ring-data.d.mts +66 -93
  424. package/src/foundry/client-esm/canvas/tokens/ring.d.mts +146 -51
  425. package/src/foundry/client-esm/client.d.mts +16 -16
  426. package/src/foundry/client-esm/data/_module.d.mts +1 -1
  427. package/src/foundry/client-esm/data/calendar.d.mts +26 -39
  428. package/src/foundry/client-esm/data/client-backend.d.mts +6 -6
  429. package/src/foundry/client-esm/data/region-behaviors/adjust-darkness-level.d.mts +1 -1
  430. package/src/foundry/client-esm/data/region-behaviors/base.d.mts +5 -5
  431. package/src/foundry/client-esm/data/region-behaviors/display-scrolling-text.d.mts +2 -2
  432. package/src/foundry/client-esm/data/terrain-data.d.mts +1 -1
  433. package/src/foundry/client-esm/dice/parser.d.mts +5 -27
  434. package/src/foundry/client-esm/dice/roll.d.mts +63 -80
  435. package/src/foundry/client-esm/dice/terms/coin.d.mts +4 -8
  436. package/src/foundry/client-esm/dice/terms/dice.d.mts +85 -64
  437. package/src/foundry/client-esm/dice/terms/die.d.mts +7 -7
  438. package/src/foundry/client-esm/dice/terms/fate.d.mts +5 -5
  439. package/src/foundry/client-esm/dice/terms/function.d.mts +13 -16
  440. package/src/foundry/client-esm/dice/terms/numeric.d.mts +2 -4
  441. package/src/foundry/client-esm/dice/terms/operator.d.mts +1 -1
  442. package/src/foundry/client-esm/dice/terms/parenthetical.d.mts +8 -9
  443. package/src/foundry/client-esm/dice/terms/pool.d.mts +13 -28
  444. package/src/foundry/client-esm/dice/terms/string.d.mts +3 -3
  445. package/src/foundry/client-esm/dice/terms/term.d.mts +10 -5
  446. package/src/foundry/client-esm/dice/twister.d.mts +3 -3
  447. package/src/foundry/client-esm/documents/_module.d.mts +1 -1
  448. package/src/foundry/client-esm/helpers/_types.d.mts +12 -46
  449. package/src/foundry/client-esm/helpers/compendium-art.d.mts +57 -4
  450. package/src/foundry/client-esm/packages/_module.d.mts +1 -1
  451. package/src/foundry/client-esm/packages/_types.d.mts +2 -0
  452. package/src/foundry/client-esm/utils/_module.d.mts +1 -1
  453. package/src/foundry/client-esm/utils/_types.d.mts +2 -1
  454. package/src/foundry/common/_types.d.mts +1 -1
  455. package/src/foundry/common/abstract/_module.d.mts +1 -0
  456. package/src/foundry/common/abstract/_types.d.mts +60 -54
  457. package/src/foundry/common/abstract/backend.d.mts +28 -16
  458. package/src/foundry/common/abstract/data.d.mts +133 -116
  459. package/src/foundry/common/abstract/document.d.mts +1233 -440
  460. package/src/foundry/common/abstract/embedded-collection.d.mts +2 -2
  461. package/src/foundry/common/abstract/singleton-collection.d.mts +1 -1
  462. package/src/foundry/common/abstract/type-data.d.mts +35 -43
  463. package/src/foundry/common/config.d.mts +3 -3
  464. package/src/foundry/common/constants.d.mts +27 -26
  465. package/src/foundry/common/data/_types.d.mts +2 -0
  466. package/src/foundry/common/data/data.d.mts +189 -87
  467. package/src/foundry/common/data/fields.d.mts +579 -258
  468. package/src/foundry/common/data/validation-failure.d.mts +9 -4
  469. package/src/foundry/common/documents/_types.d.mts +16 -9
  470. package/src/foundry/common/documents/active-effect.d.mts +280 -180
  471. package/src/foundry/common/documents/actor-delta.d.mts +317 -70
  472. package/src/foundry/common/documents/actor.d.mts +304 -103
  473. package/src/foundry/common/documents/adventure.d.mts +254 -140
  474. package/src/foundry/common/documents/ambient-light.d.mts +267 -76
  475. package/src/foundry/common/documents/ambient-sound.d.mts +267 -110
  476. package/src/foundry/common/documents/card.d.mts +267 -176
  477. package/src/foundry/common/documents/cards.d.mts +299 -128
  478. package/src/foundry/common/documents/chat-message.d.mts +276 -160
  479. package/src/foundry/common/documents/combat.d.mts +300 -91
  480. package/src/foundry/common/documents/combatant.d.mts +283 -88
  481. package/src/foundry/common/documents/drawing.d.mts +286 -207
  482. package/src/foundry/common/documents/fog-exploration.d.mts +258 -72
  483. package/src/foundry/common/documents/folder.d.mts +248 -85
  484. package/src/foundry/common/documents/item.d.mts +305 -101
  485. package/src/foundry/common/documents/journal-entry-page.d.mts +279 -190
  486. package/src/foundry/common/documents/journal-entry.d.mts +294 -70
  487. package/src/foundry/common/documents/macro.d.mts +254 -134
  488. package/src/foundry/common/documents/measured-template.d.mts +293 -137
  489. package/src/foundry/common/documents/note.d.mts +274 -151
  490. package/src/foundry/common/documents/playlist-sound.d.mts +260 -96
  491. package/src/foundry/common/documents/playlist.d.mts +279 -122
  492. package/src/foundry/common/documents/region-behavior.d.mts +305 -64
  493. package/src/foundry/common/documents/region.d.mts +309 -90
  494. package/src/foundry/common/documents/roll-table.d.mts +286 -104
  495. package/src/foundry/common/documents/scene.d.mts +276 -344
  496. package/src/foundry/common/documents/setting.d.mts +229 -55
  497. package/src/foundry/common/documents/table-result.d.mts +267 -96
  498. package/src/foundry/common/documents/tile.d.mts +301 -172
  499. package/src/foundry/common/documents/token.d.mts +350 -452
  500. package/src/foundry/common/documents/user.d.mts +256 -146
  501. package/src/foundry/common/documents/wall.d.mts +272 -157
  502. package/src/foundry/common/grid/_types.d.mts +2 -0
  503. package/src/foundry/common/grid/base.d.mts +58 -37
  504. package/src/foundry/common/grid/hexagonal.d.mts +19 -19
  505. package/src/foundry/common/grid/square.d.mts +1 -1
  506. package/src/foundry/common/packages/_module.d.mts +5 -5
  507. package/src/foundry/common/packages/_types.d.mts +2 -0
  508. package/src/foundry/common/packages/base-module.d.mts +6 -24
  509. package/src/foundry/common/packages/base-package.d.mts +18 -16
  510. package/src/foundry/common/packages/base-system.d.mts +6 -78
  511. package/src/foundry/common/packages/base-world.d.mts +7 -60
  512. package/src/foundry/common/packages/sub-types.d.mts +1 -1
  513. package/src/foundry/common/primitives/array.d.mts +3 -3
  514. package/src/foundry/common/primitives/math.d.mts +7 -1
  515. package/src/foundry/common/primitives/number.d.mts +1 -1
  516. package/src/foundry/common/primitives/set.d.mts +17 -14
  517. package/src/foundry/common/prosemirror/_types.d.mts +2 -0
  518. package/src/foundry/common/prosemirror/dropdown.d.mts +1 -1
  519. package/src/foundry/common/prosemirror/highlight-matches-plugin.d.mts +1 -1
  520. package/src/foundry/common/prosemirror/menu.d.mts +3 -3
  521. package/src/foundry/common/prosemirror/plugin.d.mts +1 -1
  522. package/src/foundry/common/prosemirror/schema/index.d.mts +0 -1
  523. package/src/foundry/common/prosemirror/util.d.mts +1 -1
  524. package/src/foundry/common/utils/bitmask.d.mts +4 -1
  525. package/src/foundry/common/utils/collection.d.mts +59 -24
  526. package/src/foundry/common/utils/event-emitter.d.mts +46 -19
  527. package/src/foundry/common/utils/helpers.d.mts +13 -13
  528. package/src/foundry/common/utils/http.d.mts +2 -2
  529. package/src/foundry/common/utils/string-tree.d.mts +45 -39
  530. package/src/foundry/common/utils/word-tree.d.mts +10 -23
  531. package/src/tsconfig.json +1 -5
  532. package/src/types/augments/pixi.d.mts +28 -28
  533. package/src/types/config.d.mts +12 -12
  534. package/src/types/documentConfiguration.d.mts +282 -597
  535. package/src/types/lib.d.mts +4 -4
  536. package/src/types/workers/image-compressor.d.mts +1 -1
  537. package/src/utils/index.d.mts +255 -60
  538. package/tsconfig.json +29 -0
  539. package/tsconfig.main.json +8 -0
  540. package/tsconfig.miscellaneous.json +16 -0
  541. package/src/foundry/client/apps/placeables/light-config.d.mts +0 -100
  542. package/src/foundry/client/apps/placeables/sound-config.d.mts +0 -44
  543. package/src/foundry/common/documents/module.d.mts +0 -35
@@ -1,26 +1,13 @@
1
- import type { CONST, documents } from "../foundry/client-esm/client.d.mts";
1
+ // This file pertains to setting up documents, including defaults. For this reason there's a lot of references to `SomeDocument` instead of `SomeDocument.implementation`.
2
+ /* eslint-disable @typescript-eslint/no-restricted-types, no-restricted-syntax */
3
+
4
+ import type { documents } from "../foundry/client-esm/client.d.mts";
2
5
  import type { Document } from "../foundry/common/abstract/_module.d.mts";
3
- import type BaseActor from "../foundry/common/documents/actor.d.mts";
4
- import type BaseCard from "../foundry/common/documents/card.d.mts";
5
- import type BaseChatMessage from "../foundry/common/documents/chat-message.d.mts";
6
- import type BaseCombat from "../foundry/common/documents/combat.d.mts";
7
- import type BaseCombatant from "../foundry/common/documents/combatant.d.mts";
8
- import type BaseDrawing from "../foundry/common/documents/drawing.d.mts";
9
- import type BaseFogExploration from "../foundry/common/documents/fog-exploration.d.mts";
10
- import type BaseMeasuredTemplate from "../foundry/common/documents/measured-template.d.mts";
11
- import type BaseRegionBehavior from "../foundry/common/documents/region-behavior.d.mts";
12
- import type BaseSetting from "../foundry/common/documents/setting.d.mts";
13
- import type BaseTableResult from "../foundry/common/documents/table-result.d.mts";
14
- import type BaseToken from "../foundry/common/documents/token.d.mts";
15
- import type BaseUser from "../foundry/common/documents/user.d.mts";
16
- import type BaseWall from "../foundry/common/documents/wall.d.mts";
17
- import type { ConformRecord, InterfaceToObject, MakeConform, MustConform, Merge } from "fvtt-types/utils";
6
+ import type { InterfaceToObject, MakeConform, MustConform, FixedInstanceType } from "fvtt-types/utils";
18
7
 
19
8
  type DocumentConform<T> = MakeConform<T, Document.AnyConstructor>;
20
9
 
21
- // This interface holds all documents without configuration.
22
- // It is structured this way to create a place for errors to show up if the type complexity grows too great.
23
- interface _DefaultDocuments {
10
+ interface DefaultDocumentClasses {
24
11
  ActiveEffect: typeof ActiveEffect;
25
12
  ActorDelta: typeof ActorDelta;
26
13
  Actor: typeof Actor;
@@ -39,627 +26,325 @@ interface _DefaultDocuments {
39
26
  PlaylistSound: typeof PlaylistSound;
40
27
  Playlist: typeof Playlist;
41
28
  RegionBehavior: typeof RegionBehavior;
42
- Region: typeof RegionDocument;
43
29
  RollTable: typeof RollTable;
44
30
  Scene: typeof Scene;
45
31
  Setting: typeof Setting;
46
32
  TableResult: typeof TableResult;
47
33
  User: typeof User;
48
-
49
- // Placeables have corresponding document classes.
50
34
  AmbientLight: typeof AmbientLightDocument;
51
35
  AmbientSound: typeof AmbientSoundDocument;
52
36
  Drawing: typeof DrawingDocument;
53
37
  MeasuredTemplate: typeof MeasuredTemplateDocument;
38
+ Region: typeof RegionDocument;
54
39
  Note: typeof NoteDocument;
55
40
  Tile: typeof TileDocument;
56
41
  Token: typeof TokenDocument;
57
42
  Wall: typeof WallDocument;
58
43
  }
59
44
 
60
- type TestDefaultDocumentsValid = MustConform<
61
- InterfaceToObject<_DefaultDocuments>,
62
- Record<string, Document.AnyConstructor>
63
- >;
45
+ interface DefaultDocumentInstance {
46
+ ActiveEffect: ActiveEffect;
47
+ ActorDelta: ActorDelta;
48
+ Actor: Actor;
49
+ Adventure: Adventure;
50
+ Card: Card;
51
+ Cards: Cards;
52
+ ChatMessage: ChatMessage;
53
+ Combat: Combat;
54
+ Combatant: Combatant;
55
+ FogExploration: FogExploration;
56
+ Folder: Folder;
57
+ Item: Item;
58
+ JournalEntryPage: JournalEntryPage;
59
+ JournalEntry: JournalEntry;
60
+ Macro: Macro;
61
+ PlaylistSound: PlaylistSound;
62
+ Playlist: Playlist;
63
+ RegionBehavior: RegionBehavior;
64
+ RollTable: RollTable;
65
+ Scene: Scene;
66
+ Setting: Setting;
67
+ TableResult: TableResult;
68
+ User: User;
69
+ AmbientLight: AmbientLightDocument;
70
+ AmbientSound: AmbientSoundDocument;
71
+ Drawing: DrawingDocument;
72
+ MeasuredTemplate: MeasuredTemplateDocument;
73
+ Note: NoteDocument;
74
+ Region: RegionDocument;
75
+ Tile: TileDocument;
76
+ Token: TokenDocument;
77
+ Wall: WallDocument;
78
+ }
64
79
 
65
- type ConformedDefault = ConformRecord<
66
- _DefaultDocuments,
67
- Document.Internal.Constructor,
68
- Document.ConfigurationFailureClass
69
- >;
80
+ type ResolvedDefaultDocuments = {
81
+ [Type in Document.Type]: DefaultDocumentClasses[Type];
82
+ };
70
83
 
71
- export interface DefaultDocuments extends ConformedDefault {}
84
+ type TestDefaultDocumentsValid = MustConform<ResolvedDefaultDocuments, Record<string, Document.AnyConstructor>>;
72
85
 
73
86
  // Note(LukeAbby): This helper type is structured this way to make it as simple as possible for TypeScript to figure out that it's always a Document.
74
87
  // This also uses `ConcreteDocumentType extends keyof DocumentClassConfig` instead of `GetKey` or equivalent for the critical purposes of stymying circular errors.
75
88
  // See https://gist.github.com/LukeAbby/f9561689e5cad8a4b1e9cb92a8c63982 for more information.
76
- type ConfiguredDocument<ConcreteDocumentType extends Document.Type> =
89
+ type GetDocumentClass<ConcreteDocumentType extends Document.Type> =
77
90
  ConcreteDocumentType extends keyof DocumentClassConfig
78
91
  ? DocumentClassConfig[ConcreteDocumentType]
79
- : DefaultDocuments[ConcreteDocumentType];
92
+ : DefaultDocumentClasses[ConcreteDocumentType];
93
+
94
+ type GetDocumentInstance<ConcreteDocumentType extends Document.Type> =
95
+ ConcreteDocumentType extends keyof DocumentClassConfig
96
+ ? FixedInstanceType<DocumentClassConfig[ConcreteDocumentType]>
97
+ : DefaultDocumentInstance[ConcreteDocumentType];
80
98
 
81
99
  // This interface exists as a way to catch circular errors easier.
82
100
  // This makes it more verbose than it might seem it has to be but it's important to stay this way.
83
- interface _ConfiguredDocuments {
84
- ActiveEffect: ConfiguredDocument<"ActiveEffect">;
85
- ActorDelta: ConfiguredDocument<"ActorDelta">;
86
- Actor: ConfiguredDocument<"Actor">;
87
- Adventure: ConfiguredDocument<"Adventure">;
88
- Card: ConfiguredDocument<"Card">;
89
- Cards: ConfiguredDocument<"Cards">;
90
- ChatMessage: ConfiguredDocument<"ChatMessage">;
91
- Combat: ConfiguredDocument<"Combat">;
92
- Combatant: ConfiguredDocument<"Combatant">;
93
- FogExploration: ConfiguredDocument<"FogExploration">;
94
- Folder: ConfiguredDocument<"Folder">;
95
- Item: ConfiguredDocument<"Item">;
96
- JournalEntryPage: ConfiguredDocument<"JournalEntryPage">;
97
- JournalEntry: ConfiguredDocument<"JournalEntry">;
98
- Macro: ConfiguredDocument<"Macro">;
99
- PlaylistSound: ConfiguredDocument<"PlaylistSound">;
100
- Playlist: ConfiguredDocument<"Playlist">;
101
- RegionBehavior: ConfiguredDocument<"RegionBehavior">;
102
- Region: ConfiguredDocument<"Region">;
103
- RollTable: ConfiguredDocument<"RollTable">;
104
- Scene: ConfiguredDocument<"Scene">;
105
- Setting: ConfiguredDocument<"Setting">;
106
- TableResult: ConfiguredDocument<"TableResult">;
107
- User: ConfiguredDocument<"User">;
101
+ interface _ConfiguredDocumentClass {
102
+ ActiveEffect: GetDocumentClass<"ActiveEffect">;
103
+ ActorDelta: GetDocumentClass<"ActorDelta">;
104
+ Actor: GetDocumentClass<"Actor">;
105
+ Adventure: GetDocumentClass<"Adventure">;
106
+ Card: GetDocumentClass<"Card">;
107
+ Cards: GetDocumentClass<"Cards">;
108
+ ChatMessage: GetDocumentClass<"ChatMessage">;
109
+ Combat: GetDocumentClass<"Combat">;
110
+ Combatant: GetDocumentClass<"Combatant">;
111
+ FogExploration: GetDocumentClass<"FogExploration">;
112
+ Folder: GetDocumentClass<"Folder">;
113
+ Item: GetDocumentClass<"Item">;
114
+ JournalEntryPage: GetDocumentClass<"JournalEntryPage">;
115
+ JournalEntry: GetDocumentClass<"JournalEntry">;
116
+ Macro: GetDocumentClass<"Macro">;
117
+ PlaylistSound: GetDocumentClass<"PlaylistSound">;
118
+ Playlist: GetDocumentClass<"Playlist">;
119
+ RegionBehavior: GetDocumentClass<"RegionBehavior">;
120
+ Region: GetDocumentClass<"Region">;
121
+ RollTable: GetDocumentClass<"RollTable">;
122
+ Scene: GetDocumentClass<"Scene">;
123
+ Setting: GetDocumentClass<"Setting">;
124
+ TableResult: GetDocumentClass<"TableResult">;
125
+ User: GetDocumentClass<"User">;
126
+
127
+ AmbientLight: GetDocumentClass<"AmbientLight">;
128
+ AmbientSound: GetDocumentClass<"AmbientSound">;
129
+ Drawing: GetDocumentClass<"Drawing">;
130
+ MeasuredTemplate: GetDocumentClass<"MeasuredTemplate">;
131
+ Note: GetDocumentClass<"Note">;
132
+ Tile: GetDocumentClass<"Tile">;
133
+ Token: GetDocumentClass<"Token">;
134
+ Wall: GetDocumentClass<"Wall">;
135
+ }
136
+
137
+ interface _ConfiguredDocumentInstance {
138
+ ActiveEffect: GetDocumentInstance<"ActiveEffect">;
139
+ ActorDelta: GetDocumentInstance<"ActorDelta">;
140
+ Actor: GetDocumentInstance<"Actor">;
141
+ Adventure: GetDocumentInstance<"Adventure">;
142
+ Card: GetDocumentInstance<"Card">;
143
+ Cards: GetDocumentInstance<"Cards">;
144
+ ChatMessage: GetDocumentInstance<"ChatMessage">;
145
+ Combat: GetDocumentInstance<"Combat">;
146
+ Combatant: GetDocumentInstance<"Combatant">;
147
+ FogExploration: GetDocumentInstance<"FogExploration">;
148
+ Folder: GetDocumentInstance<"Folder">;
149
+ Item: GetDocumentInstance<"Item">;
150
+ JournalEntryPage: GetDocumentInstance<"JournalEntryPage">;
151
+ JournalEntry: GetDocumentInstance<"JournalEntry">;
152
+ Macro: GetDocumentInstance<"Macro">;
153
+ PlaylistSound: GetDocumentInstance<"PlaylistSound">;
154
+ Playlist: GetDocumentInstance<"Playlist">;
155
+ RegionBehavior: GetDocumentInstance<"RegionBehavior">;
156
+ Region: GetDocumentInstance<"Region">;
157
+ RollTable: GetDocumentInstance<"RollTable">;
158
+ Scene: GetDocumentInstance<"Scene">;
159
+ Setting: GetDocumentInstance<"Setting">;
160
+ TableResult: GetDocumentInstance<"TableResult">;
161
+ User: GetDocumentInstance<"User">;
108
162
 
109
- AmbientLight: ConfiguredDocument<"AmbientLight">;
110
- AmbientSound: ConfiguredDocument<"AmbientSound">;
111
- Drawing: ConfiguredDocument<"Drawing">;
112
- MeasuredTemplate: ConfiguredDocument<"MeasuredTemplate">;
113
- Note: ConfiguredDocument<"Note">;
114
- Tile: ConfiguredDocument<"Tile">;
115
- Token: ConfiguredDocument<"Token">;
116
- Wall: ConfiguredDocument<"Wall">;
163
+ AmbientLight: GetDocumentInstance<"AmbientLight">;
164
+ AmbientSound: GetDocumentInstance<"AmbientSound">;
165
+ Drawing: GetDocumentInstance<"Drawing">;
166
+ MeasuredTemplate: GetDocumentInstance<"MeasuredTemplate">;
167
+ Note: GetDocumentInstance<"Note">;
168
+ Tile: GetDocumentInstance<"Tile">;
169
+ Token: GetDocumentInstance<"Token">;
170
+ Wall: GetDocumentInstance<"Wall">;
117
171
  }
118
172
 
119
- type TestConfiguredDocumentsValid = MustConform<
120
- InterfaceToObject<_ConfiguredDocuments>,
173
+ type TestConfiguredClassesValid = MustConform<
174
+ InterfaceToObject<_ConfiguredDocumentClass>,
121
175
  Record<string, Document.AnyConstructor>
122
176
  >;
123
177
 
124
- type ConformedConfigured = {
125
- [K in keyof _ConfiguredDocuments]: MakeConform<
126
- _ConfiguredDocuments[K],
178
+ type ConformedConfiguredClass = {
179
+ [K in keyof _ConfiguredDocumentClass]: MakeConform<
180
+ _ConfiguredDocumentClass[K],
127
181
  Document.Internal.Constructor,
128
- Document.ConfigurationFailureClass & DefaultDocuments[K]
182
+ ConfigurationFailure[K]
129
183
  >;
130
184
  };
131
185
 
132
- export interface ConfiguredDocuments extends ConformedConfigured {}
133
-
134
- interface _ConfiguredMetadata<ThisType extends Document.Internal.Instance.Any> {
135
- ActiveEffect: Merge<
136
- Document.Metadata.Default,
137
- {
138
- name: "ActiveEffect";
139
- collection: "effects";
140
- hasTypeData: true;
141
- label: string;
142
- labelPlural: string;
143
- schemaVersion: string;
144
- }
145
- >;
146
- ActorDelta: Merge<
147
- Document.Metadata.Default,
148
- {
149
- name: "ActorDelta";
150
- collection: "delta";
151
- label: string;
152
- labelPlural: string;
153
- isEmbedded: true;
154
- embedded: {
155
- Item: "items";
156
- ActiveEffect: "effects";
157
- };
158
- schemaVersion: string;
159
- }
160
- >;
161
- Actor: Merge<
162
- Document.Metadata.Default,
163
- {
164
- name: "Actor";
165
- collection: "actors";
166
- indexed: true;
167
- compendiumIndexFields: ["_id", "name", "img", "type", "sort", "folder"];
168
- embedded: { ActiveEffect: "effects"; Item: "items" };
169
- hasTypeData: true;
170
- label: string;
171
- labelPlural: string;
172
- permissions: {
173
- create(user: User, doc: ThisType): boolean;
174
- update(user: User, doc: ThisType, data: BaseActor.UpdateData): boolean;
175
- };
176
- schemaVersion: string;
177
- }
178
- >;
179
- Adventure: Merge<
180
- Document.Metadata.Default,
181
- {
182
- name: "Adventure";
183
- collection: "adventures";
184
- compendiumIndexFields: ["_id", "name", "img", "sort", "folder"];
185
- label: string;
186
- labelPlural: string;
187
- schemaVersion: string;
188
- }
189
- >;
190
- AmbientLight: Merge<
191
- Document.Metadata.Default,
192
- {
193
- name: "AmbientLight";
194
- collection: "lights";
195
- label: string;
196
- labelPlural: string;
197
- schemaVersion: string;
198
- }
199
- >;
200
- AmbientSound: Merge<
201
- Document.Metadata.Default,
202
- {
203
- name: "AmbientSound";
204
- collection: "sounds";
205
- label: string;
206
- labelPlural: string;
207
- isEmbedded: true;
208
- schemaVersion: string;
209
- }
210
- >;
211
- Card: Merge<
212
- Document.Metadata.Default,
213
- {
214
- name: "Card";
215
- collection: "cards";
216
- hasTypeData: true;
217
- indexed: true;
218
- label: string;
219
- labelPlural: string;
220
- permissions: {
221
- create(user: User, doc: ThisType, data: BaseCard.UpdateData): boolean;
222
- update(user: User, doc: ThisType, data: BaseCard.UpdateData): boolean;
223
- };
224
- compendiumIndexFields: ["name", "type", "suit", "sort"];
225
- schemaVersion: string;
226
- }
227
- >;
228
- Cards: Merge<
229
- Document.Metadata.Default,
230
- {
231
- name: "Cards";
232
- collection: "cards";
233
- indexed: true;
234
- compendiumIndexFields: ["_id", "name", "description", "img", "type", "sort", "folder"];
235
- embedded: { Card: "cards" };
236
- hasTypeData: true;
237
- label: string;
238
- labelPlural: string;
239
- coreTypes: ["deck", "hand", "pile"];
240
- schemaVersion: string;
241
- }
242
- >;
243
- ChatMessage: Merge<
244
- Document.Metadata.Default,
245
- {
246
- name: "ChatMessage";
247
- collection: "messages";
248
- label: string;
249
- labelPlural: string;
250
- hasTypeData: true;
251
- isPrimary: true;
252
- permissions: {
253
- create(user: User, doc: ThisType): boolean;
254
- update(user: User, doc: ThisType, data: BaseChatMessage.UpdateData): boolean;
255
- };
256
- schemaVersion: string;
257
- }
258
- >;
259
- Combat: Merge<
260
- Document.Metadata.Default,
261
- {
262
- name: "Combat";
263
- collection: "combats";
264
- label: string;
265
- labelPlural: string;
266
- embedded: {
267
- Combatant: "combatants";
268
- };
269
- hasTypeData: true;
270
- permissions: {
271
- update(user: User, doc: ThisType, data: BaseCombat.UpdateData): boolean;
272
- };
273
- schemaVersion: string;
274
- }
275
- >;
276
- Combatant: Merge<
277
- Document.Metadata.Default,
278
- {
279
- name: "Combatant";
280
- collection: "combatants";
281
- label: string;
282
- labelPlural: string;
283
- isEmbedded: true;
284
- hasTypeData: true;
285
- schemaVersion: string;
286
- permissions: {
287
- create(user: User, doc: ThisType): boolean;
288
- update(user: User, doc: ThisType, data: BaseCombatant.UpdateData): boolean;
289
- };
290
- }
291
- >;
292
- Drawing: Merge<
293
- Document.Metadata.Default,
294
- {
295
- name: "Drawing";
296
- collection: "drawings";
297
- label: string;
298
- labelPlural: string;
299
- isEmbedded: true;
300
- permissions: {
301
- create: "DRAWING_CREATE";
302
- update(user: User, doc: ThisType, data: BaseDrawing.UpdateData): boolean;
303
- delete(user: User, doc: ThisType, data: BaseDrawing.UpdateData): boolean;
304
- };
305
- schemaVersion: string;
306
- }
307
- >;
308
- FogExploration: Merge<
309
- Document.Metadata.Default,
310
- {
311
- name: "FogExploration";
312
- collection: "fog";
313
- label: string;
314
- labelPlural: string;
315
- isPrimary: true;
316
- permissions: {
317
- create: "PLAYER";
318
- update(user: User, doc: ThisType, data: BaseFogExploration.UpdateData): boolean;
319
- delete(user: User, doc: ThisType, data: BaseFogExploration.UpdateData): boolean;
320
- };
321
- schemaVersion: string;
322
- }
323
- >;
324
- Folder: Merge<
325
- Document.Metadata.Default,
326
- {
327
- name: "Folder";
328
- collection: "folders";
329
- label: string;
330
- labelPlural: string;
331
- coreTypes: typeof CONST.FOLDER_DOCUMENT_TYPES;
332
- schemaVersion: string;
333
- }
334
- >;
335
- Item: Merge<
336
- Document.Metadata.Default,
337
- {
338
- name: "Item";
339
- collection: "items";
340
- hasTypeData: true;
341
- indexed: true;
342
- compendiumIndexFields: ["_id", "name", "img", "type", "sort", "folder"];
343
- embedded: { ActiveEffect: "effects" };
344
- label: string;
345
- labelPlural: string;
346
- permissions: { create: "ITEM_CREATE" };
347
- schemaVersion: string;
348
- }
349
- >;
350
- JournalEntryPage: Merge<
351
- Document.Metadata.Default,
352
- {
353
- name: "JournalEntryPage";
354
- collection: "pages";
355
- hasTypeData: true;
356
- indexed: true;
357
- label: string;
358
- labelPlural: string;
359
- coreTypes: ["text", "image", "pdf", "video"];
360
- compendiumIndexFields: ["name", "type", "sort"];
361
- schemaVersion: string;
362
- }
363
- >;
364
- JournalEntry: Merge<
365
- Document.Metadata.Default,
366
- {
367
- name: "JournalEntry";
368
- collection: "journal";
369
- indexed: true;
370
- compendiumIndexFields: ["_id", "name", "sort", "folder"];
371
- embedded: { JournalEntryPage: "pages" };
372
- label: string;
373
- labelPlural: string;
374
- permissions: {
375
- create: "JOURNAL_CREATE";
376
- };
377
- schemaVersion: string;
378
- }
379
- >;
380
- Macro: Merge<
381
- Document.Metadata.Default,
382
- {
383
- name: "Macro";
384
- collection: "macros";
385
- indexed: true;
386
- compendiumIndexFields: ["_id", "name", "img", "sort", "folder"];
387
- label: string;
388
- labelPlural: string;
389
- coreTypes: CONST.MACRO_TYPES[];
390
- permissions: {
391
- create(user: User, doc: ThisType): boolean;
392
- update(user: User, doc: ThisType): boolean;
393
- };
394
- schemaVersion: string;
395
- }
396
- >;
397
- MeasuredTemplate: Merge<
398
- Document.Metadata.Default,
399
- {
400
- name: "MeasuredTemplate";
401
- collection: "templates";
402
- label: string;
403
- labelPlural: string;
404
- isEmbedded: true;
405
- permissions: {
406
- create(user: User, doc: ThisType): boolean;
407
- update(user: User, doc: ThisType, data: BaseMeasuredTemplate.UpdateData): boolean;
408
- delete(user: User, doc: ThisType, data: BaseMeasuredTemplate.UpdateData): boolean;
409
- };
410
- schemaVersion: string;
411
- }
412
- >;
413
- Note: Merge<
414
- Document.Metadata.Default,
415
- {
416
- name: "Note";
417
- collection: "notes";
418
- label: string;
419
- labelPlural: string;
420
- permissions: {
421
- create: "NOTE_CREATE";
422
- };
423
- schemaVersion: string;
424
- }
425
- >;
426
- PlaylistSound: Merge<
427
- Document.Metadata.Default,
428
- {
429
- name: "PlaylistSound";
430
- collection: "sounds";
431
- indexed: true;
432
- label: string;
433
- labelPlural: string;
434
- compendiumIndexFields: ["name", "sort"];
435
- schemaVersion: string;
436
- }
437
- >;
438
- Playlist: Merge<
439
- Document.Metadata.Default,
440
- {
441
- name: "Playlist";
442
- collection: "playlists";
443
- indexed: true;
444
- compendiumIndexFields: ["_id", "name", "sort", "folder"];
445
- embedded: { PlaylistSound: "sounds" };
446
- label: string;
447
- labelPlural: string;
448
- permissions: {
449
- create: "PLAYLIST_CREATE";
450
- };
451
- schemaVersion: string;
452
- }
453
- >;
454
- RegionBehavior: Merge<
455
- Document.Metadata.Default,
456
- {
457
- name: "RegionBehavior";
458
- collection: "behaviors";
459
- label: string;
460
- labelPlural: string;
461
- coreTypes: [
462
- "adjustDarknessLevel",
463
- "displayScrollingText",
464
- "executeMacro",
465
- "executeScript",
466
- "pauseGame",
467
- "suppressWeather",
468
- "teleportToken",
469
- "toggleBehavior",
470
- ];
471
- hasTypeData: true;
472
- isEmbedded: true;
473
- permissions: {
474
- create(user: User, doc: ThisType): boolean;
475
- update(user: User, doc: ThisType, data: BaseRegionBehavior.UpdateData): boolean;
476
- };
477
- schemaVersion: string;
478
- }
479
- >;
480
- Region: Merge<
481
- Document.Metadata.Default,
482
- {
483
- name: "Region";
484
- collection: "regions";
485
- label: string;
486
- labelPlural: string;
487
- isEmbedded: true;
488
- embedded: {
489
- RegionBehavior: "behaviors";
490
- };
491
- schemaVersion: string;
492
- }
493
- >;
494
- RollTable: Merge<
495
- Document.Metadata.Default,
496
- {
497
- name: "RollTable";
498
- collection: "tables";
499
- indexed: true;
500
- compendiumIndexFields: ["_id", "name", "img", "sort", "folder"];
501
- embedded: { TableResult: "results" };
502
- label: string;
503
- labelPlural: string;
504
- schemaVersion: string;
505
- }
506
- >;
507
- Scene: Merge<
508
- Document.Metadata.Default,
509
- {
510
- name: "Scene";
511
- collection: "scenes";
512
- indexed: true;
513
- compendiumIndexFields: ["_id", "name", "thumb", "sort", "folder"];
514
- embedded: {
515
- AmbientLight: "lights";
516
- AmbientSound: "sounds";
517
- Drawing: "drawings";
518
- MeasuredTemplate: "templates";
519
- Note: "notes";
520
- Region: "regions";
521
- Tile: "tiles";
522
- Token: "tokens";
523
- Wall: "walls";
524
- };
525
- label: string;
526
- labelPlural: string;
527
- preserveOnImport: ["_id", "sort", "ownership", "active"];
528
- schemaVersion: string;
529
- }
530
- >;
531
- Setting: Merge<
532
- Document.Metadata.Default,
533
- {
534
- name: "Setting";
535
- collection: "settings";
536
- label: string;
537
- labelPlural: string;
538
- permissions: {
539
- create(user: User, doc: ThisType, data: BaseSetting.UpdateData): boolean;
540
- update(user: User, doc: ThisType, data: BaseSetting.UpdateData): boolean;
541
- delete(user: User, doc: ThisType, data: BaseSetting.UpdateData): boolean;
542
- };
543
- schemaVersion: string;
544
- }
545
- >;
546
- TableResult: Merge<
547
- Document.Metadata.Default,
548
- {
549
- name: "TableResult";
550
- collection: "results";
551
- label: string;
552
- labelPlural: string;
553
- coreTypes: foundry.CONST.TABLE_RESULT_TYPES[];
554
- permissions: {
555
- update(user: User, doc: ThisType, data: BaseTableResult.UpdateData): boolean;
556
- };
557
- compendiumIndexFields: ["type"];
558
- schemaVersion: string;
559
- }
560
- >;
561
- Tile: Merge<
562
- Document.Metadata.Default,
563
- {
564
- name: "Tile";
565
- collection: "tiles";
566
- label: string;
567
- labelPlural: string;
568
- schemaVersion: string;
569
- }
570
- >;
571
- Token: Merge<
572
- Document.Metadata.Default,
573
- {
574
- name: "Token";
575
- collection: "tokens";
576
- label: string;
577
- labelPlural: string;
578
- isEmbedded: true;
579
- embedded: {
580
- ActorDelta: "delta";
581
- };
582
- permissions: {
583
- create: "TOKEN_CREATE";
584
- update(user: User, doc: ThisType, data: BaseToken.UpdateData): boolean;
585
- delete: "TOKEN_DELETE";
586
- };
587
- schemaVersion: string;
588
- }
589
- >;
590
- User: Merge<
591
- Document.Metadata.Default,
592
- {
593
- name: "User";
594
- collection: "users";
595
- label: string;
596
- labelPlural: string;
597
- permissions: {
598
- create(user: User, doc: ThisType, data: BaseUser.UpdateData): boolean;
599
- update(user: User, doc: ThisType, changes: BaseUser.UpdateData): boolean;
600
- delete(user: User, doc: ThisType): boolean;
601
- };
602
- schemaVersion: string;
603
- }
604
- >;
605
- Wall: Merge<
606
- Document.Metadata.Default,
607
- {
608
- name: "Wall";
609
- collection: "walls";
610
- label: string;
611
- labelPlural: string;
612
- permissions: {
613
- update(user: User, doc: ThisType, data: BaseWall.UpdateData): boolean;
614
- };
615
- schemaVersion: string;
616
- }
617
- >;
618
- }
186
+ type TestConfiguredInstanceValid = MustConform<
187
+ InterfaceToObject<_ConfiguredDocumentInstance>,
188
+ Record<string, Document.Any>
189
+ >;
619
190
 
620
- type ReadonlyMetadata<ThisType extends Document.Internal.Instance.Any> = {
621
- [K in keyof _ConfiguredMetadata<ThisType>]: Readonly<_ConfiguredMetadata<ThisType>[K]>;
191
+ type ConformedConfiguredInstance = {
192
+ [K in keyof _ConfiguredDocumentInstance]: MakeConform<_ConfiguredDocumentInstance[K], Document.Any>;
622
193
  };
623
194
 
624
- interface ConfiguredMetadata<ThisType extends Document.Internal.Instance.Any> extends ReadonlyMetadata<ThisType> {}
195
+ export interface ConfiguredDocumentClass extends ConformedConfiguredClass {}
196
+ export interface ConfiguredDocumentInstance extends ConformedConfiguredInstance {}
197
+
198
+ export interface ConfiguredMetadata {
199
+ ActiveEffect: ActiveEffect.Metadata;
200
+ ActorDelta: ActorDelta.Metadata;
201
+ Actor: Actor.Metadata;
202
+ Adventure: Adventure.Metadata;
203
+ AmbientLight: AmbientLightDocument.Metadata;
204
+ AmbientSound: AmbientSoundDocument.Metadata;
205
+ Card: Card.Metadata;
206
+ Cards: Cards.Metadata;
207
+ ChatMessage: ChatMessage.Metadata;
208
+ Combat: Combat.Metadata;
209
+ Combatant: Combatant.Metadata;
210
+ Drawing: DrawingDocument.Metadata;
211
+ FogExploration: FogExploration.Metadata;
212
+ Folder: Folder.Metadata;
213
+ Item: Item.Metadata;
214
+ JournalEntryPage: JournalEntryPage.Metadata;
215
+ JournalEntry: JournalEntry.Metadata;
216
+ Macro: Macro.Metadata;
217
+ MeasuredTemplate: MeasuredTemplateDocument.Metadata;
218
+ Note: NoteDocument.Metadata;
219
+ PlaylistSound: PlaylistSound.Metadata;
220
+ Playlist: Playlist.Metadata;
221
+ RegionBehavior: RegionBehavior.Metadata;
222
+ Region: RegionDocument.Metadata;
223
+ RollTable: RollTable.Metadata;
224
+ Scene: Scene.Metadata;
225
+ Setting: Setting.Metadata;
226
+ TableResult: TableResult.Metadata;
227
+ Tile: TileDocument.Metadata;
228
+ Token: TokenDocument.Metadata;
229
+ User: User.Metadata;
230
+ Wall: WallDocument.Metadata;
231
+ }
625
232
 
626
233
  type MetadataShape = {
627
234
  [Name in Document.Type]: Document.Metadata<Document.Any>;
628
235
  };
629
236
 
630
- type TestConfiguredMetadataValid = MustConform<InterfaceToObject<ConfiguredMetadata<Document.Any>>, MetadataShape>;
237
+ type TestConfiguredMetadataValid = MustConform<ConfiguredMetadata, MetadataShape>;
238
+
239
+ export interface CreateData {
240
+ ActiveEffect: documents.BaseActiveEffect.CreateData;
241
+ ActorDelta: documents.BaseActorDelta.CreateData;
242
+ Actor: documents.BaseActor.CreateData;
243
+ Adventure: documents.BaseAdventure.CreateData;
244
+ Card: documents.BaseCard.CreateData;
245
+ Cards: documents.BaseCards.CreateData;
246
+ ChatMessage: documents.BaseChatMessage.CreateData;
247
+ Combat: documents.BaseCombat.CreateData;
248
+ Combatant: documents.BaseCombatant.CreateData;
249
+ FogExploration: documents.BaseFogExploration.CreateData;
250
+ Folder: documents.BaseFolder.CreateData;
251
+ Item: documents.BaseItem.CreateData;
252
+ JournalEntryPage: documents.BaseJournalEntryPage.CreateData;
253
+ JournalEntry: documents.BaseJournalEntry.CreateData;
254
+ Macro: documents.BaseMacro.CreateData;
255
+ PlaylistSound: documents.BasePlaylistSound.CreateData;
256
+ Playlist: documents.BasePlaylist.CreateData;
257
+ RegionBehavior: documents.BaseRegionBehavior.CreateData;
258
+ RollTable: documents.BaseRollTable.CreateData;
259
+ Scene: documents.BaseScene.CreateData;
260
+ Setting: documents.BaseSetting.CreateData;
261
+ TableResult: documents.BaseTableResult.CreateData;
262
+ User: documents.BaseUser.CreateData;
263
+ AmbientLight: documents.BaseAmbientLight.CreateData;
264
+ AmbientSound: documents.BaseAmbientSound.CreateData;
265
+ Drawing: documents.BaseDrawing.CreateData;
266
+ MeasuredTemplate: documents.BaseMeasuredTemplate.CreateData;
267
+ Note: documents.BaseNote.CreateData;
268
+ Region: documents.BaseRegion.CreateData;
269
+ Tile: documents.BaseTile.CreateData;
270
+ Token: documents.BaseToken.CreateData;
271
+ Wall: documents.BaseWall.CreateData;
272
+ }
273
+
274
+ // This is a more paranoid version of `MakeConform` that catches `any`, `errorType`, etc. and returns
275
+ // `Document.AnyConstructor` instead of letting them cascade.
276
+ type ConformToDocumentConstructor<T extends Document.AnyConstructor> = [T] extends [Document.AnyConstructor]
277
+ ? [1 & T] extends [2]
278
+ ? Document.AnyConstructor
279
+ : T
280
+ : Document.AnyConstructor;
281
+
282
+ interface MisconfiguredActiveEffect extends ConformToDocumentConstructor<typeof ActiveEffect> {}
283
+ interface MisconfiguredActorDelta extends ConformToDocumentConstructor<typeof ActorDelta> {}
284
+ interface MisconfiguredActor extends ConformToDocumentConstructor<typeof Actor> {}
285
+ interface MisconfiguredAdventure extends ConformToDocumentConstructor<typeof Adventure> {}
286
+ interface MisconfiguredCard extends ConformToDocumentConstructor<typeof Card> {}
287
+ interface MisconfiguredCards extends ConformToDocumentConstructor<typeof Cards> {}
288
+ interface MisconfiguredChatMessage extends ConformToDocumentConstructor<typeof ChatMessage> {}
289
+ interface MisconfiguredCombat extends ConformToDocumentConstructor<typeof Combat> {}
290
+ interface MisconfiguredCombatant extends ConformToDocumentConstructor<typeof Combatant> {}
291
+ interface MisconfiguredFogExploration extends ConformToDocumentConstructor<typeof FogExploration> {}
292
+ interface MisconfiguredFolder extends ConformToDocumentConstructor<typeof Folder> {}
293
+ interface MisconfiguredItem extends ConformToDocumentConstructor<typeof Item> {}
294
+ interface MisconfiguredJournalEntryPage extends ConformToDocumentConstructor<typeof JournalEntryPage> {}
295
+ interface MisconfiguredJournalEntry extends ConformToDocumentConstructor<typeof JournalEntry> {}
296
+ interface MisconfiguredMacro extends ConformToDocumentConstructor<typeof Macro> {}
297
+ interface MisconfiguredPlaylistSound extends ConformToDocumentConstructor<typeof PlaylistSound> {}
298
+ interface MisconfiguredPlaylist extends ConformToDocumentConstructor<typeof Playlist> {}
299
+ interface MisconfiguredRegionBehavior extends ConformToDocumentConstructor<typeof RegionBehavior> {}
300
+ interface MisconfiguredRollTable extends ConformToDocumentConstructor<typeof RollTable> {}
301
+ interface MisconfiguredScene extends ConformToDocumentConstructor<typeof Scene> {}
302
+ interface MisconfiguredSetting extends ConformToDocumentConstructor<typeof Setting> {}
303
+ interface MisconfiguredTableResult extends ConformToDocumentConstructor<typeof TableResult> {}
304
+ interface MisconfiguredUser extends ConformToDocumentConstructor<typeof User> {}
305
+ interface MisconfiguredAmbientLight extends ConformToDocumentConstructor<typeof AmbientLightDocument> {}
306
+ interface MisconfiguredAmbientSound extends ConformToDocumentConstructor<typeof AmbientSoundDocument> {}
307
+ interface MisconfiguredDrawing extends ConformToDocumentConstructor<typeof DrawingDocument> {}
308
+ interface MisconfiguredMeasuredTemplate extends ConformToDocumentConstructor<typeof MeasuredTemplateDocument> {}
309
+ interface MisconfiguredNote extends ConformToDocumentConstructor<typeof NoteDocument> {}
310
+ interface MisconfiguredRegion extends ConformToDocumentConstructor<typeof RegionDocument> {}
311
+ interface MisconfiguredTile extends ConformToDocumentConstructor<typeof TileDocument> {}
312
+ interface MisconfiguredToken extends ConformToDocumentConstructor<typeof TokenDocument> {}
313
+ interface MisconfiguredWall extends ConformToDocumentConstructor<typeof WallDocument> {}
314
+
315
+ /* eslint-enable */
631
316
 
632
- export interface ConstructorData {
633
- ActiveEffect: documents.BaseActiveEffect.ConstructorData;
634
- ActorDelta: documents.BaseActorDelta.ConstructorData;
635
- Actor: documents.BaseActor.ConstructorData;
636
- Adventure: documents.BaseAdventure.ConstructorData;
637
- Card: documents.BaseCard.ConstructorData;
638
- Cards: documents.BaseCards.ConstructorData;
639
- ChatMessage: documents.BaseChatMessage.ConstructorData;
640
- Combat: documents.BaseCombat.ConstructorData;
641
- Combatant: documents.BaseCombatant.ConstructorData;
642
- FogExploration: documents.BaseFogExploration.ConstructorData;
643
- Folder: documents.BaseFolder.ConstructorData;
644
- Item: documents.BaseItem.ConstructorData;
645
- JournalEntryPage: documents.BaseJournalEntryPage.ConstructorData;
646
- JournalEntry: documents.BaseJournalEntry.ConstructorData;
647
- Macro: documents.BaseMacro.ConstructorData;
648
- PlaylistSound: documents.BasePlaylistSound.ConstructorData;
649
- Playlist: documents.BasePlaylist.ConstructorData;
650
- RegionBehavior: documents.BaseRegionBehavior.ConstructorData;
651
- Region: documents.BaseRegion.ConstructorData;
652
- RollTable: documents.BaseRollTable.ConstructorData;
653
- Scene: documents.BaseScene.ConstructorData;
654
- Setting: documents.BaseSetting.ConstructorData;
655
- TableResult: documents.BaseTableResult.ConstructorData;
656
- User: documents.BaseUser.ConstructorData;
657
- AmbientLight: documents.BaseAmbientLight.ConstructorData;
658
- AmbientSound: documents.BaseAmbientSound.ConstructorData;
659
- Drawing: documents.BaseDrawing.ConstructorData;
660
- MeasuredTemplate: documents.BaseMeasuredTemplate.ConstructorData;
661
- Note: documents.BaseNote.ConstructorData;
662
- Tile: documents.BaseTile.ConstructorData;
663
- Token: documents.BaseToken.ConstructorData;
664
- Wall: documents.BaseWall.ConstructorData;
317
+ export interface ConfigurationFailure {
318
+ ActiveEffect: MisconfiguredActiveEffect;
319
+ ActorDelta: MisconfiguredActorDelta;
320
+ Actor: MisconfiguredActor;
321
+ Adventure: MisconfiguredAdventure;
322
+ Card: MisconfiguredCard;
323
+ Cards: MisconfiguredCards;
324
+ ChatMessage: MisconfiguredChatMessage;
325
+ Combat: MisconfiguredCombat;
326
+ Combatant: MisconfiguredCombatant;
327
+ FogExploration: MisconfiguredFogExploration;
328
+ Folder: MisconfiguredFolder;
329
+ Item: MisconfiguredItem;
330
+ JournalEntryPage: MisconfiguredJournalEntryPage;
331
+ JournalEntry: MisconfiguredJournalEntry;
332
+ Macro: MisconfiguredMacro;
333
+ PlaylistSound: MisconfiguredPlaylistSound;
334
+ Playlist: MisconfiguredPlaylist;
335
+ RegionBehavior: MisconfiguredRegionBehavior;
336
+ RollTable: MisconfiguredRollTable;
337
+ Scene: MisconfiguredScene;
338
+ Setting: MisconfiguredSetting;
339
+ TableResult: MisconfiguredTableResult;
340
+ User: MisconfiguredUser;
341
+ AmbientLight: MisconfiguredAmbientLight;
342
+ AmbientSound: MisconfiguredAmbientSound;
343
+ Drawing: MisconfiguredDrawing;
344
+ MeasuredTemplate: MisconfiguredMeasuredTemplate;
345
+ Note: MisconfiguredNote;
346
+ Region: MisconfiguredRegion;
347
+ Tile: MisconfiguredTile;
348
+ Token: MisconfiguredToken;
349
+ Wall: MisconfiguredWall;
665
350
  }