@league-of-foundry-developers/foundry-vtt-types 13.340.0 → 13.345.1-beta.20250704.94554
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/README.md +17 -40
- package/package.json +64 -48
- package/src/configuration/configuration.d.mts +70 -35
- package/src/configuration/documents.d.mts +316 -0
- package/src/configuration/globals.d.mts +78 -117
- package/src/configuration/hooks.d.mts +96 -0
- package/src/configuration/index.d.mts +2 -0
- package/src/foundry/client/_module.d.mts +112 -0
- package/src/foundry/client/_types.d.mts +98 -0
- package/src/foundry/client/applications/_module.d.mts +30 -0
- package/src/foundry/client/applications/api/application.d.mts +966 -0
- package/src/foundry/client/applications/api/category-browser.d.mts +130 -0
- package/src/foundry/client/applications/api/dialog.d.mts +641 -0
- package/src/foundry/client/applications/api/document-sheet.d.mts +207 -0
- package/src/foundry/client/applications/api/handlebars-application.d.mts +240 -0
- package/src/foundry/client/applications/apps/av/camera-popout.d.mts +44 -0
- package/src/foundry/client/applications/apps/av/cameras.d.mts +118 -0
- package/src/foundry/client/applications/apps/combat-tracker-config.d.mts +45 -0
- package/src/foundry/client/applications/apps/compendium-art-config.d.mts +73 -0
- package/src/foundry/client/applications/apps/document-ownership.d.mts +51 -0
- package/src/foundry/client/applications/apps/document-sheet-config.d.mts +109 -0
- package/src/foundry/client/applications/apps/file-picker.d.mts +453 -0
- package/src/foundry/client/applications/apps/grid-config.d.mts +51 -0
- package/src/foundry/client/applications/apps/image-popout.d.mts +111 -0
- package/src/foundry/client/applications/apps/permission-config.d.mts +79 -0
- package/src/foundry/client/applications/dice/roll-resolver.d.mts +125 -0
- package/src/foundry/client/applications/elements/document-tags.d.mts +93 -0
- package/src/foundry/client/applications/elements/file-picker.d.mts +63 -0
- package/src/foundry/client/applications/elements/form-element.d.mts +108 -0
- package/src/foundry/client/applications/elements/multi-select.d.mts +107 -0
- package/src/foundry/client/applications/elements/prosemirror-editor.d.mts +54 -0
- package/src/foundry/client/applications/forms/fields.d.mts +271 -0
- package/src/foundry/client/applications/handlebars.d.mts +475 -0
- package/src/foundry/client/applications/hud/container.d.mts +50 -0
- package/src/foundry/client/applications/hud/drawing-hud.d.mts +47 -0
- package/src/foundry/client/applications/hud/placeable-hud.d.mts +66 -0
- package/src/foundry/client/applications/hud/tile-hud.d.mts +43 -0
- package/src/foundry/client/applications/hud/token-hud.d.mts +48 -0
- package/src/foundry/client/applications/quickstart.d.mts +45 -0
- package/src/foundry/client/applications/settings/_module.d.mts +8 -0
- package/src/foundry/client/applications/settings/config.d.mts +63 -0
- package/src/foundry/client/applications/settings/dependency-resolution.d.mts +40 -0
- package/src/foundry/client/applications/settings/menus/av-config.d.mts +50 -0
- package/src/foundry/client/applications/settings/menus/default-sheets-config.d.mts +49 -0
- package/src/foundry/client/applications/settings/menus/dice-config.d.mts +38 -0
- package/src/foundry/client/applications/settings/menus/font-config.d.mts +66 -0
- package/src/foundry/client/applications/settings/menus/prototype-overrides.d.mts +47 -0
- package/src/foundry/client/applications/settings/menus/ui-config.d.mts +49 -0
- package/src/foundry/client/applications/sheets/_module.d.mts +39 -0
- package/src/foundry/client/applications/sheets/active-effect-config.d.mts +51 -0
- package/src/foundry/client/applications/sheets/actor-sheet.d.mts +56 -0
- package/src/foundry/client/applications/sheets/adventure-exporter.d.mts +51 -0
- package/src/foundry/client/applications/sheets/adventure-importer.d.mts +49 -0
- package/src/foundry/client/applications/sheets/ambient-light-config.d.mts +115 -0
- package/src/foundry/client/applications/sheets/ambient-sound-config.d.mts +77 -0
- package/src/foundry/client/applications/sheets/base-sheet.d.mts +53 -0
- package/src/foundry/client/applications/sheets/card-config.d.mts +51 -0
- package/src/foundry/client/applications/sheets/cards-config.d.mts +135 -0
- package/src/foundry/client/applications/sheets/combatant-config.d.mts +51 -0
- package/src/foundry/client/applications/sheets/drawing-config.d.mts +51 -0
- package/src/foundry/client/applications/sheets/folder-config.d.mts +51 -0
- package/src/foundry/client/applications/sheets/item-sheet.d.mts +48 -0
- package/src/foundry/client/applications/sheets/journal/dialog-show.d.mts +42 -0
- package/src/foundry/client/applications/sheets/journal/journal-entry-category-config.d.mts +51 -0
- package/src/foundry/client/applications/sheets/journal/journal-entry-page-hbs-sheet.d.mts +41 -0
- package/src/foundry/client/applications/sheets/journal/journal-entry-page-image-sheet.d.mts +38 -0
- package/src/foundry/client/applications/sheets/journal/journal-entry-page-markdown-sheet.d.mts +38 -0
- package/src/foundry/client/applications/sheets/journal/journal-entry-page-pdf-sheet.d.mts +38 -0
- package/src/foundry/client/applications/sheets/journal/journal-entry-page-prose-mirror-sheet.d.mts +38 -0
- package/src/foundry/client/applications/sheets/journal/journal-entry-page-sheet.d.mts +50 -0
- package/src/foundry/client/applications/sheets/journal/journal-entry-page-text-sheet.d.mts +38 -0
- package/src/foundry/client/applications/sheets/journal/journal-entry-page-video-sheet.d.mts +40 -0
- package/src/foundry/client/applications/sheets/journal/journal-entry-sheet.d.mts +69 -0
- package/src/foundry/client/applications/sheets/macro-config.d.mts +51 -0
- package/src/foundry/client/applications/sheets/note-config.d.mts +51 -0
- package/src/foundry/client/applications/sheets/playlist-config.d.mts +51 -0
- package/src/foundry/client/applications/sheets/playlist-sound-config.d.mts +51 -0
- package/src/foundry/client/applications/sheets/region-behavior-config.d.mts +68 -0
- package/src/foundry/client/applications/sheets/region-config.d.mts +76 -0
- package/src/foundry/client/applications/sheets/roll-table-sheet.d.mts +51 -0
- package/src/foundry/client/applications/sheets/scene-config.d.mts +51 -0
- package/src/foundry/client/applications/sheets/table-result-config.d.mts +51 -0
- package/src/foundry/client/applications/sheets/template-config.d.mts +50 -0
- package/src/foundry/client/applications/sheets/tile-config.d.mts +51 -0
- package/src/foundry/client/applications/sheets/token/mixin.d.mts +47 -0
- package/src/foundry/client/applications/sheets/token/prototype-config.d.mts +41 -0
- package/src/foundry/client/applications/sheets/token/token-config.d.mts +51 -0
- package/src/foundry/client/applications/sheets/user-config.d.mts +65 -0
- package/src/foundry/client/applications/sheets/wall-config.d.mts +51 -0
- package/src/foundry/client/applications/sidebar/apps/chat-popout.d.mts +44 -0
- package/src/foundry/client/applications/sidebar/apps/compendium.d.mts +44 -0
- package/src/foundry/client/applications/sidebar/apps/controls-config.d.mts +49 -0
- package/src/foundry/client/applications/sidebar/apps/folder-export.d.mts +40 -0
- package/src/foundry/client/applications/sidebar/apps/frame-viewer.d.mts +44 -0
- package/src/foundry/client/applications/sidebar/apps/invitation-links.d.mts +39 -0
- package/src/foundry/client/applications/sidebar/apps/module-management.d.mts +42 -0
- package/src/foundry/client/applications/sidebar/apps/support-details.d.mts +39 -0
- package/src/foundry/client/applications/sidebar/apps/tours-management.d.mts +61 -0
- package/src/foundry/client/applications/sidebar/apps/world-config.d.mts +40 -0
- package/src/foundry/client/applications/sidebar/document-directory.d.mts +55 -0
- package/src/foundry/client/applications/sidebar/sidebar-tab.d.mts +106 -0
- package/src/foundry/client/applications/sidebar/sidebar.d.mts +129 -0
- package/src/foundry/client/applications/sidebar/tabs/actor-directory.d.mts +39 -0
- package/src/foundry/client/applications/sidebar/tabs/cards-directory.d.mts +39 -0
- package/src/foundry/client/applications/sidebar/tabs/chat.d.mts +36 -0
- package/src/foundry/client/applications/sidebar/tabs/combat-tracker.d.mts +283 -0
- package/src/foundry/client/applications/sidebar/tabs/compendium-directory.d.mts +40 -0
- package/src/foundry/client/applications/sidebar/tabs/item-directory.d.mts +39 -0
- package/src/foundry/client/applications/sidebar/tabs/journal-directory.d.mts +39 -0
- package/src/foundry/client/applications/sidebar/tabs/macro-directory.d.mts +39 -0
- package/src/foundry/client/applications/sidebar/tabs/playlist-directory.d.mts +39 -0
- package/src/foundry/client/applications/sidebar/tabs/roll-table-directory.d.mts +39 -0
- package/src/foundry/client/applications/sidebar/tabs/scene-directory.d.mts +39 -0
- package/src/foundry/client/applications/sidebar/tabs/settings.d.mts +39 -0
- package/src/foundry/client/applications/ui/game-pause.d.mts +49 -0
- package/src/foundry/client/applications/ui/hotbar.d.mts +52 -0
- package/src/foundry/client/applications/ui/main-menu.d.mts +50 -0
- package/src/foundry/client/applications/ui/players.d.mts +56 -0
- package/src/foundry/client/applications/ui/region-legend.d.mts +97 -0
- package/src/foundry/client/applications/ui/scene-controls.d.mts +117 -0
- package/src/foundry/client/applications/ui/scene-navigation.d.mts +55 -0
- package/src/foundry/client/applications/ux/context-menu.d.mts +327 -0
- package/src/foundry/client/applications/ux/drag-drop.d.mts +167 -0
- package/src/foundry/client/applications/ux/draggable.d.mts +156 -0
- package/src/foundry/client/applications/ux/form-data-extended.d.mts +89 -0
- package/src/foundry/client/applications/ux/html-secret.d.mts +75 -0
- package/src/foundry/client/applications/ux/prosemirror-editor.d.mts +199 -0
- package/src/foundry/client/applications/ux/search-filter.d.mts +148 -0
- package/src/foundry/client/applications/ux/tabs.d.mts +121 -0
- package/src/foundry/client/applications/ux/text-editor.d.mts +478 -0
- package/src/foundry/client/appv1/api/application-v1.d.mts +608 -0
- package/src/foundry/client/appv1/api/dialog-v1.d.mts +344 -0
- package/src/foundry/client/appv1/api/document-sheet-v1.d.mts +166 -0
- package/src/foundry/client/appv1/api/form-application-v1.d.mts +361 -0
- package/src/foundry/client/appv1/sheets/actor-sheet.d.mts +194 -0
- package/src/foundry/client/appv1/sheets/adventure-importer.d.mts +101 -0
- package/src/foundry/client/appv1/sheets/item-sheet.d.mts +68 -0
- package/src/foundry/client/appv1/sheets/journal-page-sheet.d.mts +179 -0
- package/src/foundry/client/appv1/sheets/journal-sheet.d.mts +325 -0
- package/src/foundry/client/audio/_types.d.mts +18 -0
- package/src/foundry/client/audio/biquad.d.mts +102 -0
- package/src/foundry/client/audio/cache.d.mts +79 -0
- package/src/foundry/client/audio/convolver.d.mts +94 -0
- package/src/foundry/client/audio/helper.d.mts +372 -0
- package/src/foundry/client/audio/sound.d.mts +509 -0
- package/src/foundry/client/audio/timeout.d.mts +101 -0
- package/src/foundry/client/av/client.d.mts +164 -161
- package/src/foundry/client/av/clients/simplepeer.d.mts +160 -157
- package/src/foundry/client/av/master.d.mts +194 -190
- package/src/foundry/client/av/settings.d.mts +321 -228
- package/src/foundry/client/canvas/_module.d.mts +23 -0
- package/src/foundry/client/canvas/animation/_module.d.mts +8 -0
- package/src/foundry/client/canvas/animation/_types.d.mts +20 -0
- package/src/foundry/client/canvas/animation/canvas-animation.d.mts +236 -0
- package/src/foundry/client/canvas/animation/chat-bubbles.d.mts +31 -0
- package/src/foundry/client/canvas/animation/smooth-noise.d.mts +80 -0
- package/src/foundry/client/canvas/board.d.mts +878 -0
- package/src/foundry/client/canvas/containers/_module.d.mts +25 -0
- package/src/foundry/client/canvas/containers/_types.d.mts +14 -0
- package/src/foundry/client/canvas/containers/advanced/cached-container.d.mts +138 -0
- package/src/foundry/client/canvas/containers/advanced/full-canvas-mixin.d.mts +28 -0
- package/src/foundry/client/canvas/containers/advanced/unbound-container.d.mts +21 -0
- package/src/foundry/client/canvas/containers/elements/control-icon.d.mts +129 -0
- package/src/foundry/client/canvas/containers/elements/cursor.d.mts +42 -0
- package/src/foundry/client/canvas/containers/elements/door-control.d.mts +90 -0
- package/src/foundry/client/canvas/containers/elements/door-mesh.d.mts +16 -0
- package/src/foundry/client/canvas/containers/elements/grid-highlight.d.mts +43 -0
- package/src/foundry/client/canvas/containers/elements/grid-mesh.d.mts +103 -0
- package/src/foundry/client/canvas/containers/elements/particles/leaves.d.mts +51 -0
- package/src/foundry/client/canvas/containers/elements/particles/particle-effect.d.mts +57 -0
- package/src/foundry/client/canvas/containers/elements/point-source-mesh.d.mts +73 -0
- package/src/foundry/client/canvas/containers/elements/precise-text.d.mts +46 -0
- package/src/foundry/client/canvas/containers/elements/quad-mesh.d.mts +54 -0
- package/src/foundry/client/canvas/containers/elements/resize-handle.d.mts +83 -0
- package/src/foundry/client/canvas/containers/elements/sprite-mesh.d.mts +370 -0
- package/src/foundry/client/canvas/extensions/_module.d.mts +9 -0
- package/src/foundry/client/canvas/extensions/circle-extension.d.mts +150 -0
- package/src/foundry/client/canvas/extensions/graphics-extension.d.mts +45 -0
- package/src/foundry/client/canvas/extensions/polygon-extension.d.mts +175 -0
- package/src/foundry/client/canvas/extensions/rectangle-extension.d.mts +287 -0
- package/src/foundry/client/canvas/framebuffer-snapshot.d.mts +33 -0
- package/src/foundry/client/canvas/geometry/_module.d.mts +17 -0
- package/src/foundry/client/canvas/geometry/_types.d.mts +34 -0
- package/src/foundry/client/canvas/geometry/clockwise-sweep.d.mts +281 -0
- package/src/foundry/client/canvas/geometry/edges/collision.d.mts +131 -0
- package/src/foundry/client/canvas/geometry/edges/edge.d.mts +258 -0
- package/src/foundry/client/canvas/geometry/edges/edges.d.mts +70 -0
- package/src/foundry/client/canvas/geometry/edges/vertex.d.mts +198 -0
- package/src/foundry/client/canvas/geometry/observable-transform.d.mts +39 -0
- package/src/foundry/client/canvas/geometry/quad-tree.d.mts +324 -0
- package/src/foundry/client/canvas/geometry/shapes/limited-angle-polygon.d.mts +143 -0
- package/src/foundry/client/canvas/geometry/shapes/polygon-mesher.d.mts +141 -0
- package/src/foundry/client/canvas/geometry/shapes/ray.d.mts +177 -0
- package/src/foundry/client/canvas/geometry/shapes/source-polygon.d.mts +368 -0
- package/src/foundry/client/canvas/geometry/unbound-transform.d.mts +22 -0
- package/src/foundry/client/canvas/geometry/weiler-atherton-clipping.d.mts +203 -0
- package/src/foundry/client/canvas/groups/_module.d.mts +14 -0
- package/src/foundry/client/canvas/groups/canvas-group-mixin.d.mts +178 -0
- package/src/foundry/client/canvas/groups/effects.d.mts +248 -0
- package/src/foundry/client/canvas/groups/environment.d.mts +137 -0
- package/src/foundry/client/canvas/groups/hidden.d.mts +65 -0
- package/src/foundry/client/canvas/groups/interface.d.mts +110 -0
- package/src/foundry/client/canvas/groups/overlay.d.mts +40 -0
- package/src/foundry/client/canvas/groups/primary.d.mts +237 -0
- package/src/foundry/client/canvas/groups/rendered.d.mts +39 -0
- package/src/foundry/client/canvas/groups/visibility.d.mts +263 -0
- package/src/foundry/client/canvas/interaction/_module.d.mts +24 -0
- package/src/foundry/client/canvas/interaction/_types.d.mts +18 -0
- package/src/foundry/client/canvas/interaction/mouse-handler.d.mts +362 -0
- package/src/foundry/client/canvas/interaction/ping/alert.d.mts +38 -0
- package/src/foundry/client/canvas/interaction/ping/arrow.d.mts +41 -0
- package/src/foundry/client/canvas/interaction/ping/chevron.d.mts +98 -0
- package/src/foundry/client/canvas/interaction/ping/ping.d.mts +86 -0
- package/src/foundry/client/canvas/interaction/ping/pulse.d.mts +104 -0
- package/src/foundry/client/canvas/interaction/render-flags.d.mts +182 -0
- package/src/foundry/client/canvas/interaction/ruler/base-ruler.d.mts +17 -0
- package/src/foundry/client/canvas/interaction/ruler/ruler.d.mts +498 -0
- package/src/foundry/client/canvas/layers/_module.d.mts +36 -0
- package/src/foundry/client/canvas/layers/_types.d.mts +26 -0
- package/src/foundry/client/canvas/layers/base/canvas-layer.d.mts +91 -0
- package/src/foundry/client/canvas/layers/base/interaction-layer.d.mts +165 -0
- package/src/foundry/client/canvas/layers/base/placeables-layer.d.mts +714 -0
- package/src/foundry/client/canvas/layers/controls.d.mts +288 -0
- package/src/foundry/client/canvas/layers/drawings.d.mts +123 -0
- package/src/foundry/client/canvas/layers/effects/background-effects.d.mts +56 -0
- package/src/foundry/client/canvas/layers/effects/coloration-effects.d.mts +51 -0
- package/src/foundry/client/canvas/layers/effects/darkness-effects.d.mts +42 -0
- package/src/foundry/client/canvas/layers/effects/illumination-effects.d.mts +162 -0
- package/src/foundry/client/canvas/layers/effects/weather-effects.d.mts +316 -0
- package/src/foundry/client/canvas/layers/grid.d.mts +284 -0
- package/src/foundry/client/canvas/layers/lighting.d.mts +92 -0
- package/src/foundry/client/canvas/layers/masks/depth.d.mts +68 -0
- package/src/foundry/client/canvas/layers/masks/occlusion.d.mts +101 -0
- package/src/foundry/client/canvas/layers/masks/vision.d.mts +206 -0
- package/src/foundry/client/canvas/layers/notes.d.mts +138 -0
- package/src/foundry/client/canvas/layers/regions.d.mts +123 -0
- package/src/foundry/client/canvas/layers/sounds.d.mts +345 -0
- package/src/foundry/client/canvas/layers/templates.d.mts +79 -0
- package/src/foundry/client/canvas/layers/tiles.d.mts +136 -0
- package/src/foundry/client/canvas/layers/tokens.d.mts +218 -0
- package/src/foundry/client/canvas/layers/walls.d.mts +218 -0
- package/src/foundry/client/canvas/loader.d.mts +319 -0
- package/src/foundry/client/canvas/perception/_module.d.mts +19 -0
- package/src/foundry/client/canvas/perception/_types.d.mts +12 -0
- package/src/foundry/client/canvas/perception/detection-mode.d.mts +173 -0
- package/src/foundry/client/canvas/perception/detection-modes/darkvision.d.mts +26 -0
- package/src/foundry/client/canvas/perception/detection-modes/invisibility-perception.d.mts +29 -0
- package/src/foundry/client/canvas/perception/detection-modes/light-perception.d.mts +33 -0
- package/src/foundry/client/canvas/perception/detection-modes/super-perception.d.mts +27 -0
- package/src/foundry/client/canvas/perception/detection-modes/tremor-perception.d.mts +26 -0
- package/src/foundry/client/canvas/perception/fog.d.mts +157 -0
- package/src/foundry/client/canvas/perception/perception-manager.d.mts +163 -0
- package/src/foundry/client/canvas/perception/vision-mode.d.mts +249 -0
- package/src/foundry/client/canvas/placeables/_module.d.mts +20 -0
- package/src/foundry/client/canvas/placeables/_types.d.mts +16 -0
- package/src/foundry/client/canvas/placeables/drawing.d.mts +412 -0
- package/src/foundry/client/canvas/placeables/light.d.mts +266 -0
- package/src/foundry/client/canvas/placeables/note.d.mts +203 -0
- package/src/foundry/client/canvas/placeables/placeable-object.d.mts +772 -0
- package/src/foundry/client/canvas/placeables/region.d.mts +275 -0
- package/src/foundry/client/canvas/placeables/regions/_module.d.mts +7 -0
- package/src/foundry/client/canvas/placeables/regions/geometry.d.mts +40 -0
- package/src/foundry/client/canvas/placeables/regions/mesh.d.mts +75 -0
- package/src/foundry/client/canvas/placeables/sound.d.mts +271 -0
- package/src/foundry/client/canvas/placeables/template.d.mts +290 -0
- package/src/foundry/client/canvas/placeables/tile.d.mts +349 -0
- package/src/foundry/client/canvas/placeables/token.d.mts +1295 -0
- package/src/foundry/client/canvas/placeables/tokens/_module.d.mts +13 -0
- package/src/foundry/client/canvas/placeables/tokens/base-ruler.d.mts +77 -0
- package/src/foundry/client/canvas/placeables/tokens/ring-config.d.mts +255 -0
- package/src/foundry/client/canvas/placeables/tokens/ring-data.d.mts +149 -0
- package/src/foundry/client/canvas/placeables/tokens/ring.d.mts +290 -0
- package/src/foundry/client/canvas/placeables/tokens/ruler.d.mts +219 -0
- package/src/foundry/client/canvas/placeables/tokens/targets.d.mts +50 -0
- package/src/foundry/client/canvas/placeables/tokens/turn-marker-data.d.mts +17 -0
- package/src/foundry/client/canvas/placeables/tokens/turn-marker.d.mts +16 -0
- package/src/foundry/client/canvas/placeables/wall.d.mts +393 -0
- package/src/foundry/client/canvas/primary/_module.d.mts +12 -0
- package/src/foundry/client/canvas/primary/primary-canvas-container.d.mts +17 -0
- package/src/foundry/client/canvas/primary/primary-canvas-object.d.mts +201 -0
- package/src/foundry/client/canvas/primary/primary-graphics.d.mts +62 -0
- package/src/foundry/client/canvas/primary/primary-occludable-object.d.mts +205 -0
- package/src/foundry/client/canvas/primary/primary-particle-effect.d.mts +17 -0
- package/src/foundry/client/canvas/primary/primary-sprite-mesh.d.mts +203 -0
- package/src/foundry/client/canvas/rendering/_module.d.mts +10 -0
- package/src/foundry/client/canvas/rendering/batching/_module.d.mts +7 -0
- package/src/foundry/client/canvas/rendering/batching/batch-renderer.d.mts +136 -0
- package/src/foundry/client/canvas/rendering/batching/batch-shader-generator.d.mts +30 -0
- package/src/foundry/client/canvas/rendering/blend-modes.d.mts +49 -0
- package/src/foundry/client/canvas/rendering/filters/_module.d.mts +23 -0
- package/src/foundry/client/canvas/rendering/filters/_types.d.mts +4 -0
- package/src/foundry/client/canvas/rendering/filters/base-filter.d.mts +47 -0
- package/src/foundry/client/canvas/rendering/filters/base-mask-filter.d.mts +32 -0
- package/src/foundry/client/canvas/rendering/filters/blur.d.mts +194 -0
- package/src/foundry/client/canvas/rendering/filters/effects-masking.d.mts +144 -0
- package/src/foundry/client/canvas/rendering/filters/environment.d.mts +43 -0
- package/src/foundry/client/canvas/rendering/filters/glow-overlay.d.mts +78 -0
- package/src/foundry/client/canvas/rendering/filters/invisibility.d.mts +32 -0
- package/src/foundry/client/canvas/rendering/filters/outline-overlay.d.mts +87 -0
- package/src/foundry/client/canvas/rendering/filters/smaa/_types.d.mts +13 -0
- package/src/foundry/client/canvas/rendering/filters/smaa/blend.d.mts +19 -0
- package/src/foundry/client/canvas/rendering/filters/smaa/edges.d.mts +22 -0
- package/src/foundry/client/canvas/rendering/filters/smaa/smaa.d.mts +165 -0
- package/src/foundry/client/canvas/rendering/filters/smaa/weights.d.mts +22 -0
- package/src/foundry/client/canvas/rendering/filters/transition.d.mts +130 -0
- package/src/foundry/client/canvas/rendering/filters/visibility.d.mts +82 -0
- package/src/foundry/client/canvas/rendering/filters/vision-mask-filter.d.mts +38 -0
- package/src/foundry/client/canvas/rendering/filters/void.d.mts +20 -0
- package/src/foundry/client/canvas/rendering/filters/weather-occlusion-mask.d.mts +59 -0
- package/src/foundry/client/canvas/rendering/mixins/_module.d.mts +7 -0
- package/src/foundry/client/canvas/rendering/mixins/base-shader-mixin.d.mts +134 -0
- package/src/foundry/client/canvas/rendering/mixins/fragment-channel-mixin.d.mts +66 -0
- package/src/foundry/client/canvas/rendering/shaders/_module.d.mts +93 -0
- package/src/foundry/client/canvas/rendering/shaders/_types.d.mts +16 -0
- package/src/foundry/client/canvas/rendering/shaders/base-shader.d.mts +109 -0
- package/src/foundry/client/canvas/rendering/shaders/graphics/dash-line.d.mts +48 -0
- package/src/foundry/client/canvas/rendering/shaders/grid/grid.d.mts +122 -0
- package/src/foundry/client/canvas/rendering/shaders/lighting/background-lighting.d.mts +69 -0
- package/src/foundry/client/canvas/rendering/shaders/lighting/base-lighting.d.mts +179 -0
- package/src/foundry/client/canvas/rendering/shaders/lighting/coloration-lighting.d.mts +76 -0
- package/src/foundry/client/canvas/rendering/shaders/lighting/darkness-lighting.d.mts +76 -0
- package/src/foundry/client/canvas/rendering/shaders/lighting/effects/bewitching-wave.d.mts +37 -0
- package/src/foundry/client/canvas/rendering/shaders/lighting/effects/black-hole.d.mts +20 -0
- package/src/foundry/client/canvas/rendering/shaders/lighting/effects/chroma.d.mts +25 -0
- package/src/foundry/client/canvas/rendering/shaders/lighting/effects/dense-smoke.d.mts +20 -0
- package/src/foundry/client/canvas/rendering/shaders/lighting/effects/emanation.d.mts +25 -0
- package/src/foundry/client/canvas/rendering/shaders/lighting/effects/energy-field.d.mts +25 -0
- package/src/foundry/client/canvas/rendering/shaders/lighting/effects/fairy-light.d.mts +42 -0
- package/src/foundry/client/canvas/rendering/shaders/lighting/effects/flame.d.mts +60 -0
- package/src/foundry/client/canvas/rendering/shaders/lighting/effects/fog.d.mts +25 -0
- package/src/foundry/client/canvas/rendering/shaders/lighting/effects/force-grid.d.mts +25 -0
- package/src/foundry/client/canvas/rendering/shaders/lighting/effects/ghost-light.d.mts +37 -0
- package/src/foundry/client/canvas/rendering/shaders/lighting/effects/hexa-dome.d.mts +25 -0
- package/src/foundry/client/canvas/rendering/shaders/lighting/effects/light-dome.d.mts +25 -0
- package/src/foundry/client/canvas/rendering/shaders/lighting/effects/magical-gloom.d.mts +20 -0
- package/src/foundry/client/canvas/rendering/shaders/lighting/effects/pulse.d.mts +49 -0
- package/src/foundry/client/canvas/rendering/shaders/lighting/effects/radial-rainbow.d.mts +25 -0
- package/src/foundry/client/canvas/rendering/shaders/lighting/effects/revolving-light.d.mts +39 -0
- package/src/foundry/client/canvas/rendering/shaders/lighting/effects/roiling-mass.d.mts +20 -0
- package/src/foundry/client/canvas/rendering/shaders/lighting/effects/siren-light.d.mts +66 -0
- package/src/foundry/client/canvas/rendering/shaders/lighting/effects/smoke-patch.d.mts +37 -0
- package/src/foundry/client/canvas/rendering/shaders/lighting/effects/star-light.d.mts +25 -0
- package/src/foundry/client/canvas/rendering/shaders/lighting/effects/sunburst.d.mts +37 -0
- package/src/foundry/client/canvas/rendering/shaders/lighting/effects/swirling-rainbow.d.mts +25 -0
- package/src/foundry/client/canvas/rendering/shaders/lighting/effects/torch.d.mts +50 -0
- package/src/foundry/client/canvas/rendering/shaders/lighting/effects/vortex.d.mts +42 -0
- package/src/foundry/client/canvas/rendering/shaders/lighting/effects/wave.d.mts +37 -0
- package/src/foundry/client/canvas/rendering/shaders/lighting/illumination-lighting.d.mts +79 -0
- package/src/foundry/client/canvas/rendering/shaders/region/adjust-darkness-level.d.mts +137 -0
- package/src/foundry/client/canvas/rendering/shaders/region/base.d.mts +80 -0
- package/src/foundry/client/canvas/rendering/shaders/region/highlight.d.mts +97 -0
- package/src/foundry/client/canvas/rendering/shaders/samplers/amplification.d.mts +58 -0
- package/src/foundry/client/canvas/rendering/shaders/samplers/base-sampler.d.mts +223 -0
- package/src/foundry/client/canvas/rendering/shaders/samplers/baseline-illumination.d.mts +40 -0
- package/src/foundry/client/canvas/rendering/shaders/samplers/color-adjustments.d.mts +65 -0
- package/src/foundry/client/canvas/rendering/shaders/samplers/colorize-brightness.d.mts +40 -0
- package/src/foundry/client/canvas/rendering/shaders/samplers/fog-of-war.d.mts +27 -0
- package/src/foundry/client/canvas/rendering/shaders/samplers/primary/depth.d.mts +111 -0
- package/src/foundry/client/canvas/rendering/shaders/samplers/primary/occlusion.d.mts +109 -0
- package/src/foundry/client/canvas/rendering/shaders/samplers/primary/primary.d.mts +38 -0
- package/src/foundry/client/canvas/rendering/shaders/samplers/primary/token-ring.d.mts +79 -0
- package/src/foundry/client/canvas/rendering/shaders/vision/background-vision.d.mts +67 -0
- package/src/foundry/client/canvas/rendering/shaders/vision/base-vision.d.mts +35 -0
- package/src/foundry/client/canvas/rendering/shaders/vision/coloration-vision.d.mts +67 -0
- package/src/foundry/client/canvas/rendering/shaders/vision/effects/amplification.d.mts +34 -0
- package/src/foundry/client/canvas/rendering/shaders/vision/effects/wave.d.mts +62 -0
- package/src/foundry/client/canvas/rendering/shaders/vision/illumination-vision.d.mts +67 -0
- package/src/foundry/client/canvas/rendering/shaders/weather/base-weather.d.mts +120 -0
- package/src/foundry/client/canvas/rendering/shaders/weather/effect.d.mts +57 -0
- package/src/foundry/client/canvas/rendering/shaders/weather/fog.d.mts +52 -0
- package/src/foundry/client/canvas/rendering/shaders/weather/rain.d.mts +44 -0
- package/src/foundry/client/canvas/rendering/shaders/weather/snow.d.mts +36 -0
- package/src/foundry/client/canvas/scene-manager.d.mts +106 -0
- package/src/foundry/client/canvas/sources/base-effect-source.d.mts +297 -0
- package/src/foundry/client/canvas/sources/base-light-source.d.mts +306 -0
- package/src/foundry/client/canvas/sources/global-light-source.d.mts +141 -0
- package/src/foundry/client/canvas/sources/point-darkness-source.d.mts +160 -0
- package/src/foundry/client/canvas/sources/point-effect-source.d.mts +190 -0
- package/src/foundry/client/canvas/sources/point-light-source.d.mts +131 -0
- package/src/foundry/client/canvas/sources/point-movement-source.d.mts +65 -0
- package/src/foundry/client/canvas/sources/point-sound-source.d.mts +92 -0
- package/src/foundry/client/canvas/sources/point-vision-source.d.mts +357 -0
- package/src/foundry/client/canvas/sources/rendered-effect-source.d.mts +471 -0
- package/src/foundry/client/canvas/texture-extractor.d.mts +171 -0
- package/src/foundry/client/canvas/workers/_module.d.mts +6 -0
- package/src/foundry/client/canvas/workers/texture-worker.d.mts +147 -0
- package/src/foundry/client/client.d.mts +2489 -0
- package/src/foundry/client/config.d.mts +2425 -1820
- package/src/foundry/client/data/_module.d.mts +13 -0
- package/src/foundry/client/data/calendar.d.mts +341 -0
- package/src/foundry/client/data/client-backend.d.mts +52 -0
- package/src/foundry/client/data/region-behaviors/adjust-darkness-level.d.mts +56 -0
- package/src/foundry/client/data/region-behaviors/base.d.mts +60 -0
- package/src/foundry/client/data/region-behaviors/display-scrolling-text.d.mts +64 -0
- package/src/foundry/client/data/region-behaviors/teleport-token.d.mts +31 -0
- package/src/foundry/client/data/region-behaviors/toggle-behavior.d.mts +31 -0
- package/src/foundry/client/data/region-shapes/_module.d.mts +7 -0
- package/src/foundry/client/data/region-shapes/polygon-tree.d.mts +132 -0
- package/src/foundry/client/data/region-shapes/shape.d.mts +129 -0
- package/src/foundry/client/data/terrain-data.d.mts +22 -0
- package/src/foundry/client/dice/_types.d.mts +65 -0
- package/src/foundry/client/dice/parser.d.mts +192 -0
- package/src/foundry/client/dice/roll.d.mts +663 -0
- package/src/foundry/client/dice/terms/coin.d.mts +71 -0
- package/src/foundry/client/dice/terms/dice.d.mts +424 -0
- package/src/foundry/client/dice/terms/die.d.mts +248 -0
- package/src/foundry/client/dice/terms/fate.d.mts +57 -0
- package/src/foundry/client/dice/terms/function.d.mts +106 -0
- package/src/foundry/client/dice/terms/numeric.d.mts +54 -0
- package/src/foundry/client/dice/terms/operator.d.mts +55 -0
- package/src/foundry/client/dice/terms/parenthetical.d.mts +104 -0
- package/src/foundry/client/dice/terms/pool.d.mts +272 -0
- package/src/foundry/client/dice/terms/string.d.mts +34 -0
- package/src/foundry/client/dice/terms/term.d.mts +178 -0
- package/src/foundry/client/dice/twister.d.mts +134 -0
- package/src/foundry/client/documents/_module.d.mts +51 -0
- package/src/foundry/client/documents/_types.d.mts +134 -0
- package/src/foundry/client/documents/abstract/_module.d.mts +10 -0
- package/src/foundry/client/documents/abstract/canvas-document.d.mts +67 -0
- package/src/foundry/client/documents/abstract/client-document.d.mts +659 -0
- package/src/foundry/client/documents/abstract/directory-collection-mixin.d.mts +132 -0
- package/src/foundry/client/documents/abstract/document-collection.d.mts +243 -0
- package/src/foundry/client/documents/abstract/world-collection.d.mts +192 -0
- package/src/foundry/client/documents/active-effect.d.mts +977 -0
- package/src/foundry/client/documents/actor-delta.d.mts +769 -0
- package/src/foundry/client/documents/actor.d.mts +1036 -0
- package/src/foundry/client/documents/adventure.d.mts +569 -0
- package/src/foundry/client/documents/ambient-light.d.mts +457 -0
- package/src/foundry/client/documents/ambient-sound.d.mts +511 -0
- package/src/foundry/client/documents/card.d.mts +679 -0
- package/src/foundry/client/documents/cards.d.mts +1017 -0
- package/src/foundry/client/documents/chat-message.d.mts +831 -0
- package/src/foundry/client/documents/collections/_module.d.mts +23 -0
- package/src/foundry/client/documents/collections/actors.d.mts +51 -0
- package/src/foundry/client/documents/collections/card-stacks.d.mts +25 -0
- package/src/foundry/client/documents/collections/chat-messages.d.mts +48 -0
- package/src/foundry/client/documents/collections/combat-encounters.d.mts +56 -0
- package/src/foundry/client/documents/collections/compendium-collection.d.mts +491 -0
- package/src/foundry/client/documents/collections/compendium-folders.d.mts +30 -0
- package/src/foundry/client/documents/collections/compendium-packs.d.mts +30 -0
- package/src/foundry/client/documents/collections/fog-explorations.d.mts +32 -0
- package/src/foundry/client/documents/collections/folders.d.mts +49 -0
- package/src/foundry/client/documents/collections/items.d.mts +27 -0
- package/src/foundry/client/documents/collections/journal.d.mts +78 -0
- package/src/foundry/client/documents/collections/macros.d.mts +34 -0
- package/src/foundry/client/documents/collections/playlists.d.mts +45 -0
- package/src/foundry/client/documents/collections/roll-tables.d.mts +34 -0
- package/src/foundry/client/documents/collections/scenes.d.mts +63 -0
- package/src/foundry/client/documents/collections/users.d.mts +72 -0
- package/src/foundry/client/documents/collections/world-settings.d.mts +44 -0
- package/src/foundry/client/documents/combat.d.mts +1056 -0
- package/src/foundry/client/documents/combatant-group.d.mts +509 -0
- package/src/foundry/client/documents/combatant.d.mts +609 -0
- package/src/foundry/client/documents/drawing.d.mts +580 -0
- package/src/foundry/client/documents/fog-exploration.d.mts +495 -0
- package/src/foundry/client/documents/folder.d.mts +659 -0
- package/src/foundry/client/documents/item.d.mts +736 -0
- package/src/foundry/client/documents/journal-entry-category.d.mts +413 -0
- package/src/foundry/client/documents/journal-entry-page.d.mts +839 -0
- package/src/foundry/client/documents/journal-entry.d.mts +694 -0
- package/src/foundry/client/documents/macro.d.mts +610 -0
- package/src/foundry/client/documents/measured-template.d.mts +509 -0
- package/src/foundry/client/documents/note.d.mts +526 -0
- package/src/foundry/client/documents/playlist-sound.d.mts +558 -0
- package/src/foundry/client/documents/playlist.d.mts +830 -0
- package/src/foundry/client/documents/region-behavior.d.mts +524 -0
- package/src/foundry/client/documents/region.d.mts +898 -0
- package/src/foundry/client/documents/roll-table.d.mts +916 -0
- package/src/foundry/client/documents/scene.d.mts +1441 -0
- package/src/foundry/client/documents/setting.d.mts +449 -0
- package/src/foundry/client/documents/table-result.d.mts +526 -0
- package/src/foundry/client/documents/tile.d.mts +524 -0
- package/src/foundry/client/documents/token.d.mts +2168 -0
- package/src/foundry/client/documents/user.d.mts +785 -0
- package/src/foundry/client/documents/wall.d.mts +599 -0
- package/src/foundry/client/game.d.mts +240 -213
- package/src/foundry/client/head.d.mts +15 -14
- package/src/foundry/client/helpers/_module.d.mts +16 -0
- package/src/foundry/client/helpers/_types.d.mts +17 -0
- package/src/foundry/client/helpers/client-issues.d.mts +125 -0
- package/src/foundry/client/helpers/client-settings.d.mts +480 -0
- package/src/foundry/client/helpers/document-index.d.mts +173 -0
- package/src/foundry/client/helpers/hooks.d.mts +171 -0
- package/src/foundry/client/helpers/interaction/_module.d.mts +11 -0
- package/src/foundry/client/helpers/interaction/client-keybindings.d.mts +433 -0
- package/src/foundry/client/helpers/interaction/clipboard-helper.d.mts +20 -0
- package/src/foundry/client/helpers/interaction/gamepad-manager.d.mts +61 -0
- package/src/foundry/client/helpers/interaction/keyboard-manager.d.mts +331 -0
- package/src/foundry/client/helpers/interaction/mouse-manager.d.mts +42 -0
- package/src/foundry/client/helpers/interaction/tooltip-manager.d.mts +268 -0
- package/src/foundry/client/helpers/localization.d.mts +240 -0
- package/src/foundry/client/helpers/media/_module.d.mts +8 -0
- package/src/foundry/client/helpers/media/compendium-art.d.mts +107 -0
- package/src/foundry/client/helpers/media/image-helper.d.mts +235 -0
- package/src/foundry/client/helpers/media/video-helper.d.mts +161 -0
- package/src/foundry/client/helpers/socket-interface.d.mts +74 -0
- package/src/foundry/client/helpers/time.d.mts +87 -0
- package/src/foundry/client/helpers/workers.d.mts +145 -0
- package/src/foundry/client/hooks.d.mts +1196 -972
- package/src/foundry/client/index.d.mts +0 -7
- package/src/foundry/client/nue/tour.d.mts +280 -0
- package/src/foundry/client/nue/tours/canvas-tour.d.mts +15 -0
- package/src/foundry/client/nue/tours/setup-tour.d.mts +31 -0
- package/src/foundry/client/nue/tours/sidebar-tour.d.mts +13 -0
- package/src/foundry/client/packages/_module.d.mts +22 -0
- package/src/foundry/client/packages/_types.d.mts +13 -0
- package/src/foundry/client/packages/client-package.d.mts +154 -0
- package/src/foundry/client/packages/module.d.mts +87 -0
- package/src/foundry/client/packages/system.d.mts +151 -0
- package/src/foundry/client/packages/world.d.mts +155 -0
- package/src/foundry/client/utils/_module.d.mts +25 -0
- package/src/foundry/client/utils/_types.d.mts +3 -0
- package/src/foundry/client/utils/helpers.d.mts +213 -0
- package/src/foundry/common/_types.d.mts +17 -6
- package/src/foundry/common/abstract/_module.d.mts +1 -0
- package/src/foundry/common/abstract/_types.d.mts +58 -52
- package/src/foundry/common/abstract/backend.d.mts +36 -18
- package/src/foundry/common/abstract/data.d.mts +285 -201
- package/src/foundry/common/abstract/document.d.mts +1545 -595
- package/src/foundry/common/abstract/embedded-collection-delta.d.mts +1 -1
- package/src/foundry/common/abstract/embedded-collection.d.mts +10 -5
- package/src/foundry/common/abstract/singleton-collection.d.mts +1 -1
- package/src/foundry/common/abstract/socket.d.mts +1 -1
- package/src/foundry/common/abstract/type-data.d.mts +137 -126
- package/src/foundry/common/config.d.mts +9 -3
- package/src/foundry/common/constants.d.mts +628 -158
- package/src/foundry/common/data/_module.d.mts +1 -0
- package/src/foundry/common/data/_types.d.mts +16 -13
- package/src/foundry/common/data/data.d.mts +235 -94
- package/src/foundry/common/data/fields.d.mts +2351 -1118
- package/src/foundry/common/data/validation-failure.d.mts +36 -21
- package/src/foundry/common/data/validators.d.mts +2 -2
- package/src/foundry/common/documents/_module.d.mts +2 -0
- package/src/foundry/common/documents/_types.d.mts +89 -90
- package/src/foundry/common/documents/active-effect.d.mts +323 -202
- package/src/foundry/common/documents/actor-delta.d.mts +399 -79
- package/src/foundry/common/documents/actor.d.mts +358 -111
- package/src/foundry/common/documents/adventure.d.mts +292 -140
- package/src/foundry/common/documents/ambient-light.d.mts +286 -76
- package/src/foundry/common/documents/ambient-sound.d.mts +286 -110
- package/src/foundry/common/documents/card.d.mts +303 -190
- package/src/foundry/common/documents/cards.d.mts +353 -127
- package/src/foundry/common/documents/chat-message.d.mts +320 -171
- package/src/foundry/common/documents/combat.d.mts +351 -96
- package/src/foundry/common/documents/combatant-group.d.mts +328 -0
- package/src/foundry/common/documents/combatant.d.mts +318 -89
- package/src/foundry/common/documents/drawing.d.mts +315 -206
- package/src/foundry/common/documents/fog-exploration.d.mts +292 -70
- package/src/foundry/common/documents/folder.d.mts +291 -85
- package/src/foundry/common/documents/item.d.mts +357 -107
- package/src/foundry/common/documents/journal-entry-category.d.mts +316 -0
- package/src/foundry/common/documents/journal-entry-page.d.mts +309 -188
- package/src/foundry/common/documents/journal-entry.d.mts +343 -69
- package/src/foundry/common/documents/macro.d.mts +310 -141
- package/src/foundry/common/documents/measured-template.d.mts +312 -136
- package/src/foundry/common/documents/note.d.mts +297 -153
- package/src/foundry/common/documents/playlist-sound.d.mts +297 -104
- package/src/foundry/common/documents/playlist.d.mts +339 -132
- package/src/foundry/common/documents/region-behavior.d.mts +328 -66
- package/src/foundry/common/documents/region.d.mts +326 -89
- package/src/foundry/common/documents/roll-table.d.mts +336 -105
- package/src/foundry/common/documents/scene.d.mts +440 -357
- package/src/foundry/common/documents/setting.d.mts +274 -54
- package/src/foundry/common/documents/table-result.d.mts +324 -105
- package/src/foundry/common/documents/tile.d.mts +331 -173
- package/src/foundry/common/documents/token.d.mts +479 -455
- package/src/foundry/common/documents/user.d.mts +286 -174
- package/src/foundry/common/documents/wall.d.mts +292 -157
- package/src/foundry/common/grid/_types.d.mts +22 -17
- package/src/foundry/common/grid/base.d.mts +162 -52
- package/src/foundry/common/grid/grid-hex.d.mts +1 -0
- package/src/foundry/common/grid/gridless.d.mts +4 -3
- package/src/foundry/common/grid/hexagonal.d.mts +50 -24
- package/src/foundry/common/grid/square.d.mts +5 -4
- package/src/foundry/common/packages/_module.d.mts +5 -5
- package/src/foundry/common/packages/_types.d.mts +2 -0
- package/src/foundry/common/packages/base-module.d.mts +5 -24
- package/src/foundry/common/packages/base-package.d.mts +59 -32
- package/src/foundry/common/packages/base-system.d.mts +44 -78
- package/src/foundry/common/packages/base-world.d.mts +18 -62
- package/src/foundry/common/packages/sub-types.d.mts +7 -9
- package/src/foundry/common/primitives/array.d.mts +4 -4
- package/src/foundry/common/primitives/math.d.mts +9 -1
- package/src/foundry/common/primitives/number.d.mts +2 -2
- package/src/foundry/common/primitives/set.d.mts +17 -14
- package/src/foundry/common/primitives/string.d.mts +1 -1
- package/src/foundry/common/prosemirror/_module.d.mts +44 -28
- package/src/foundry/common/prosemirror/_types.d.mts +18 -11
- package/src/foundry/common/prosemirror/click-handler.d.mts +8 -5
- package/src/foundry/common/prosemirror/content-link-plugin.d.mts +28 -8
- package/src/foundry/common/prosemirror/dirty-plugin.d.mts +2 -2
- package/src/foundry/common/prosemirror/dom-parser.d.mts +4 -4
- package/src/foundry/common/prosemirror/dropdown.d.mts +51 -19
- package/src/foundry/common/prosemirror/extensions.d.mts +5 -2
- package/src/foundry/common/prosemirror/highlight-matches-plugin.d.mts +43 -56
- package/src/foundry/common/prosemirror/image-plugin.d.mts +23 -18
- package/src/foundry/common/prosemirror/input-rules.d.mts +20 -15
- package/src/foundry/common/prosemirror/keymaps.d.mts +24 -21
- package/src/foundry/common/prosemirror/menu.d.mts +124 -85
- package/src/foundry/common/prosemirror/paste-transformer.d.mts +7 -13
- package/src/foundry/common/prosemirror/plugin.d.mts +11 -7
- package/src/foundry/common/prosemirror/schema/_types.d.mts +16 -0
- package/src/foundry/common/prosemirror/schema/attribute-capture.d.mts +20 -19
- package/src/foundry/common/prosemirror/schema/core.d.mts +7 -45
- package/src/foundry/common/prosemirror/schema/image-link-node.d.mts +15 -9
- package/src/foundry/common/prosemirror/schema/image-node.d.mts +11 -7
- package/src/foundry/common/prosemirror/schema/link-mark.d.mts +16 -11
- package/src/foundry/common/prosemirror/schema/lists.d.mts +5 -27
- package/src/foundry/common/prosemirror/schema/marks.d.mts +19 -44
- package/src/foundry/common/prosemirror/schema/other.d.mts +43 -149
- package/src/foundry/common/prosemirror/schema/schema-definition.d.mts +30 -9
- package/src/foundry/common/prosemirror/schema/secret-node.d.mts +8 -8
- package/src/foundry/common/prosemirror/schema/tables.d.mts +18 -90
- package/src/foundry/common/prosemirror/schema/utils.d.mts +3 -1
- package/src/foundry/common/prosemirror/schema.d.mts +51 -16
- package/src/foundry/common/prosemirror/string-serializer.d.mts +59 -40
- package/src/foundry/common/prosemirror/util.d.mts +38 -18
- package/src/foundry/common/utils/_module.d.mts +5 -2
- package/src/foundry/common/utils/_types.d.mts +27 -0
- package/src/foundry/common/utils/bitmask.d.mts +11 -7
- package/src/foundry/common/utils/collection.d.mts +63 -28
- package/src/foundry/common/utils/color.d.mts +11 -2
- package/src/foundry/common/utils/event-emitter.d.mts +43 -21
- package/src/foundry/common/utils/geometry.d.mts +13 -10
- package/src/foundry/common/utils/helpers.d.mts +321 -265
- package/src/foundry/common/utils/http.d.mts +37 -29
- package/src/foundry/common/utils/iterable-weak-map.d.mts +43 -30
- package/src/foundry/common/utils/iterable-weak-set.d.mts +21 -8
- package/src/foundry/common/utils/logging.d.mts +16 -9
- package/src/foundry/common/utils/semaphore.d.mts +19 -29
- package/src/foundry/common/utils/string-tree.d.mts +56 -47
- package/src/foundry/common/utils/word-tree.d.mts +56 -32
- package/src/foundry/index.d.mts +0 -2
- package/src/foundry/public/scripts/clipper/clipper.d.mts +3 -2
- package/src/foundry/public/scripts/index.d.mts +1 -0
- package/src/foundry/public/scripts/ktx2/basis_transcoder.d.mts +5 -0
- package/src/foundry/public/scripts/ktx2/index.d.mts +2 -0
- package/src/foundry/public/scripts/ktx2/pixi-ktx2.min.d.mts +5 -0
- package/src/foundry/public/scripts/workers/image-compressor.d.mts +12 -4
- package/src/types/augments/particles.d.mts +1 -1
- package/src/types/augments/pixi.d.mts +37 -28
- package/src/types/augments/smooth.d.mts +1 -1
- package/src/types/augments/socket.io-client.d.mts +0 -1
- package/src/types/augments/tinyMCE.d.mts +1 -1
- package/src/types/config.d.mts +15 -18
- package/src/types/documentConfiguration.d.mts +288 -602
- package/src/types/lib.d.mts +4 -4
- package/src/types/workers/image-compressor.d.mts +102 -67
- package/src/utils/index.d.mts +455 -137
- package/tsconfig.base.json +24 -0
- package/tsconfig.json +12 -0
- package/src/foundry/client/apps/app.d.mts +0 -607
- package/src/foundry/client/apps/av/av-config.d.mts +0 -93
- package/src/foundry/client/apps/av/camera-popout.d.mts +0 -49
- package/src/foundry/client/apps/av/cameras.d.mts +0 -194
- package/src/foundry/client/apps/av/index.d.mts +0 -3
- package/src/foundry/client/apps/dialogs/folder-export.d.mts +0 -16
- package/src/foundry/client/apps/dialogs/index.d.mts +0 -1
- package/src/foundry/client/apps/dice/dice-config.d.mts +0 -45
- package/src/foundry/client/apps/dice/index.d.mts +0 -1
- package/src/foundry/client/apps/form.d.mts +0 -493
- package/src/foundry/client/apps/forms/actor.d.mts +0 -176
- package/src/foundry/client/apps/forms/adventure-exporter.d.mts +0 -132
- package/src/foundry/client/apps/forms/adventure-importer.d.mts +0 -85
- package/src/foundry/client/apps/forms/base-sheet.d.mts +0 -46
- package/src/foundry/client/apps/forms/card-config.d.mts +0 -48
- package/src/foundry/client/apps/forms/cards-config.d.mts +0 -142
- package/src/foundry/client/apps/forms/combat-config.d.mts +0 -51
- package/src/foundry/client/apps/forms/combatant-config.d.mts +0 -45
- package/src/foundry/client/apps/forms/default-sheets-config.d.mts +0 -46
- package/src/foundry/client/apps/forms/effect-config.d.mts +0 -77
- package/src/foundry/client/apps/forms/folder-config.d.mts +0 -60
- package/src/foundry/client/apps/forms/fonts.d.mts +0 -168
- package/src/foundry/client/apps/forms/grid-config.d.mts +0 -139
- package/src/foundry/client/apps/forms/image-popout.d.mts +0 -179
- package/src/foundry/client/apps/forms/index.d.mts +0 -26
- package/src/foundry/client/apps/forms/item.d.mts +0 -58
- package/src/foundry/client/apps/forms/journal-page-sheet.d.mts +0 -313
- package/src/foundry/client/apps/forms/journal-sheet.d.mts +0 -313
- package/src/foundry/client/apps/forms/macro-config.d.mts +0 -59
- package/src/foundry/client/apps/forms/measure-template.d.mts +0 -57
- package/src/foundry/client/apps/forms/ownership.d.mts +0 -66
- package/src/foundry/client/apps/forms/playlist-config.d.mts +0 -46
- package/src/foundry/client/apps/forms/playlist-sound-config.d.mts +0 -63
- package/src/foundry/client/apps/forms/roll-table-config.d.mts +0 -162
- package/src/foundry/client/apps/forms/scene-config.d.mts +0 -156
- package/src/foundry/client/apps/forms/sheet-config.d.mts +0 -191
- package/src/foundry/client/apps/forms/user-config.d.mts +0 -72
- package/src/foundry/client/apps/hud/chatbubble.d.mts +0 -120
- package/src/foundry/client/apps/hud/container.d.mts +0 -54
- package/src/foundry/client/apps/hud/controls.d.mts +0 -171
- package/src/foundry/client/apps/hud/hotbar.d.mts +0 -174
- package/src/foundry/client/apps/hud/hud.d.mts +0 -87
- package/src/foundry/client/apps/hud/index.d.mts +0 -9
- package/src/foundry/client/apps/hud/menu.d.mts +0 -84
- package/src/foundry/client/apps/hud/navigation.d.mts +0 -121
- package/src/foundry/client/apps/hud/pause.d.mts +0 -37
- package/src/foundry/client/apps/hud/players.d.mts +0 -87
- package/src/foundry/client/apps/i18n.d.mts +0 -221
- package/src/foundry/client/apps/index.d.mts +0 -11
- package/src/foundry/client/apps/placeables/drawing-config.d.mts +0 -80
- package/src/foundry/client/apps/placeables/drawing-hud.d.mts +0 -31
- package/src/foundry/client/apps/placeables/index.d.mts +0 -10
- package/src/foundry/client/apps/placeables/light-config.d.mts +0 -100
- package/src/foundry/client/apps/placeables/note-config.d.mts +0 -65
- package/src/foundry/client/apps/placeables/sound-config.d.mts +0 -44
- package/src/foundry/client/apps/placeables/tile-config.d.mts +0 -54
- package/src/foundry/client/apps/placeables/tile-hud.d.mts +0 -42
- package/src/foundry/client/apps/placeables/token-config.d.mts +0 -256
- package/src/foundry/client/apps/placeables/token-hud.d.mts +0 -139
- package/src/foundry/client/apps/placeables/wall-config.d.mts +0 -64
- package/src/foundry/client/apps/sidebar/apps/chat-popout.d.mts +0 -39
- package/src/foundry/client/apps/sidebar/apps/client-settings.d.mts +0 -98
- package/src/foundry/client/apps/sidebar/apps/compendium.d.mts +0 -92
- package/src/foundry/client/apps/sidebar/apps/index.d.mts +0 -10
- package/src/foundry/client/apps/sidebar/apps/invitation-links.d.mts +0 -32
- package/src/foundry/client/apps/sidebar/apps/keybindings-config.d.mts +0 -181
- package/src/foundry/client/apps/sidebar/apps/module-management.d.mts +0 -135
- package/src/foundry/client/apps/sidebar/apps/permission-config.d.mts +0 -72
- package/src/foundry/client/apps/sidebar/apps/support-details.d.mts +0 -121
- package/src/foundry/client/apps/sidebar/apps/tours-management.d.mts +0 -54
- package/src/foundry/client/apps/sidebar/apps/world-config.d.mts +0 -57
- package/src/foundry/client/apps/sidebar/directory-tab-mixin.d.mts +0 -283
- package/src/foundry/client/apps/sidebar/document-directory.d.mts +0 -170
- package/src/foundry/client/apps/sidebar/index.d.mts +0 -7
- package/src/foundry/client/apps/sidebar/package-configuration.d.mts +0 -86
- package/src/foundry/client/apps/sidebar/sidebar-tab.d.mts +0 -80
- package/src/foundry/client/apps/sidebar/sidebar.d.mts +0 -100
- package/src/foundry/client/apps/sidebar/tabs/actors-directory.d.mts +0 -29
- package/src/foundry/client/apps/sidebar/tabs/cards-directory.d.mts +0 -21
- package/src/foundry/client/apps/sidebar/tabs/chat-log.d.mts +0 -371
- package/src/foundry/client/apps/sidebar/tabs/combat-tracker.d.mts +0 -165
- package/src/foundry/client/apps/sidebar/tabs/compendium-directory.d.mts +0 -111
- package/src/foundry/client/apps/sidebar/tabs/index.d.mts +0 -12
- package/src/foundry/client/apps/sidebar/tabs/items-directory.d.mts +0 -23
- package/src/foundry/client/apps/sidebar/tabs/journal-directory.d.mts +0 -22
- package/src/foundry/client/apps/sidebar/tabs/macros-directory.d.mts +0 -25
- package/src/foundry/client/apps/sidebar/tabs/playlists-directory.d.mts +0 -283
- package/src/foundry/client/apps/sidebar/tabs/roll-table-directory.d.mts +0 -22
- package/src/foundry/client/apps/sidebar/tabs/scenes-directory.d.mts +0 -43
- package/src/foundry/client/apps/sidebar/tabs/settings.d.mts +0 -90
- package/src/foundry/client/apps/templates.d.mts +0 -486
- package/src/foundry/client/av/clients/index.d.mts +0 -1
- package/src/foundry/client/av/index.d.mts +0 -4
- package/src/foundry/client/core/clipboard.d.mts +0 -20
- package/src/foundry/client/core/document-index.d.mts +0 -118
- package/src/foundry/client/core/gamepad.d.mts +0 -76
- package/src/foundry/client/core/hooks.d.mts +0 -132
- package/src/foundry/client/core/image.d.mts +0 -238
- package/src/foundry/client/core/index.d.mts +0 -21
- package/src/foundry/client/core/issues.d.mts +0 -102
- package/src/foundry/client/core/keybindings.d.mts +0 -413
- package/src/foundry/client/core/keyboard.d.mts +0 -271
- package/src/foundry/client/core/mouse.d.mts +0 -28
- package/src/foundry/client/core/nue.d.mts +0 -38
- package/src/foundry/client/core/packages.d.mts +0 -208
- package/src/foundry/client/core/settings.d.mts +0 -364
- package/src/foundry/client/core/socket.d.mts +0 -62
- package/src/foundry/client/core/sorting.d.mts +0 -76
- package/src/foundry/client/core/time.d.mts +0 -73
- package/src/foundry/client/core/tooltip.d.mts +0 -198
- package/src/foundry/client/core/tour.d.mts +0 -279
- package/src/foundry/client/core/tours.d.mts +0 -22
- package/src/foundry/client/core/utils.d.mts +0 -94
- package/src/foundry/client/core/video.d.mts +0 -161
- package/src/foundry/client/core/workers.d.mts +0 -128
- package/src/foundry/client/data/abstract/canvas-document.d.mts +0 -80
- package/src/foundry/client/data/abstract/client-document.d.mts +0 -726
- package/src/foundry/client/data/abstract/directory-collection-mixin.d.mts +0 -141
- package/src/foundry/client/data/abstract/document-collection.d.mts +0 -218
- package/src/foundry/client/data/abstract/index.d.mts +0 -5
- package/src/foundry/client/data/abstract/world-collection.d.mts +0 -163
- package/src/foundry/client/data/collections/actors.d.mts +0 -58
- package/src/foundry/client/data/collections/cards.d.mts +0 -21
- package/src/foundry/client/data/collections/combats.d.mts +0 -52
- package/src/foundry/client/data/collections/compendium-collection.d.mts +0 -461
- package/src/foundry/client/data/collections/compendium-folders.d.mts +0 -27
- package/src/foundry/client/data/collections/compendium-packs.d.mts +0 -27
- package/src/foundry/client/data/collections/fog.d.mts +0 -26
- package/src/foundry/client/data/collections/folder.d.mts +0 -42
- package/src/foundry/client/data/collections/index.d.mts +0 -17
- package/src/foundry/client/data/collections/items.d.mts +0 -23
- package/src/foundry/client/data/collections/journal.d.mts +0 -73
- package/src/foundry/client/data/collections/macros.d.mts +0 -41
- package/src/foundry/client/data/collections/messages.d.mts +0 -44
- package/src/foundry/client/data/collections/playlists.d.mts +0 -41
- package/src/foundry/client/data/collections/scenes.d.mts +0 -77
- package/src/foundry/client/data/collections/settings.d.mts +0 -38
- package/src/foundry/client/data/collections/tables.d.mts +0 -30
- package/src/foundry/client/data/collections/users.d.mts +0 -59
- package/src/foundry/client/data/documents/active-effect.d.mts +0 -389
- package/src/foundry/client/data/documents/actor-delta.d.mts +0 -99
- package/src/foundry/client/data/documents/actor.d.mts +0 -318
- package/src/foundry/client/data/documents/adventure.d.mts +0 -106
- package/src/foundry/client/data/documents/ambient-light.d.mts +0 -44
- package/src/foundry/client/data/documents/ambient-sound.d.mts +0 -31
- package/src/foundry/client/data/documents/card.d.mts +0 -128
- package/src/foundry/client/data/documents/cards.d.mts +0 -349
- package/src/foundry/client/data/documents/chat-message.d.mts +0 -231
- package/src/foundry/client/data/documents/combat.d.mts +0 -329
- package/src/foundry/client/data/documents/combatant.d.mts +0 -115
- package/src/foundry/client/data/documents/drawing.d.mts +0 -36
- package/src/foundry/client/data/documents/fog-exploration.d.mts +0 -72
- package/src/foundry/client/data/documents/folder.d.mts +0 -153
- package/src/foundry/client/data/documents/index.d.mts +0 -32
- package/src/foundry/client/data/documents/item.d.mts +0 -71
- package/src/foundry/client/data/documents/journal-entry-page.d.mts +0 -232
- package/src/foundry/client/data/documents/journal-entry.d.mts +0 -82
- package/src/foundry/client/data/documents/macro.d.mts +0 -86
- package/src/foundry/client/data/documents/measured-template.d.mts +0 -41
- package/src/foundry/client/data/documents/note.d.mts +0 -47
- package/src/foundry/client/data/documents/playlist-sound.d.mts +0 -128
- package/src/foundry/client/data/documents/playlist.d.mts +0 -207
- package/src/foundry/client/data/documents/region-behavior.d.mts +0 -78
- package/src/foundry/client/data/documents/region.d.mts +0 -160
- package/src/foundry/client/data/documents/scene.d.mts +0 -264
- package/src/foundry/client/data/documents/setting.d.mts +0 -55
- package/src/foundry/client/data/documents/table-result.d.mts +0 -42
- package/src/foundry/client/data/documents/table.d.mts +0 -322
- package/src/foundry/client/data/documents/tile.d.mts +0 -33
- package/src/foundry/client/data/documents/token.d.mts +0 -347
- package/src/foundry/client/data/documents/user.d.mts +0 -165
- package/src/foundry/client/data/documents/wall.d.mts +0 -31
- package/src/foundry/client/data/index.d.mts +0 -3
- package/src/foundry/client/pixi/board.d.mts +0 -821
- package/src/foundry/client/pixi/core/containers/base-canvas-group.d.mts +0 -154
- package/src/foundry/client/pixi/core/containers/cached-container.d.mts +0 -136
- package/src/foundry/client/pixi/core/containers/full-canvas-container.d.mts +0 -34
- package/src/foundry/client/pixi/core/containers/index.d.mts +0 -8
- package/src/foundry/client/pixi/core/containers/point-source-mesh.d.mts +0 -72
- package/src/foundry/client/pixi/core/containers/quad-mesh.d.mts +0 -53
- package/src/foundry/client/pixi/core/containers/quadtree.d.mts +0 -256
- package/src/foundry/client/pixi/core/containers/sprite-mesh.d.mts +0 -369
- package/src/foundry/client/pixi/core/containers/unbound-container.d.mts +0 -39
- package/src/foundry/client/pixi/core/index.d.mts +0 -4
- package/src/foundry/client/pixi/core/interaction/canvas-animation.d.mts +0 -236
- package/src/foundry/client/pixi/core/interaction/control-icon.d.mts +0 -128
- package/src/foundry/client/pixi/core/interaction/index.d.mts +0 -8
- package/src/foundry/client/pixi/core/interaction/mouse-handler.d.mts +0 -358
- package/src/foundry/client/pixi/core/interaction/ping.d.mts +0 -81
- package/src/foundry/client/pixi/core/interaction/pings/chevron.d.mts +0 -81
- package/src/foundry/client/pixi/core/interaction/pings/index.d.mts +0 -2
- package/src/foundry/client/pixi/core/interaction/pings/pulse.d.mts +0 -166
- package/src/foundry/client/pixi/core/interaction/render-flags.d.mts +0 -135
- package/src/foundry/client/pixi/core/interaction/resize-handle.d.mts +0 -82
- package/src/foundry/client/pixi/core/interaction/targets.d.mts +0 -48
- package/src/foundry/client/pixi/core/loader.d.mts +0 -256
- package/src/foundry/client/pixi/core/shapes/index.d.mts +0 -5
- package/src/foundry/client/pixi/core/shapes/limited-angle-polygon.d.mts +0 -139
- package/src/foundry/client/pixi/core/shapes/polygon-mesher.d.mts +0 -138
- package/src/foundry/client/pixi/core/shapes/precise-text.d.mts +0 -45
- package/src/foundry/client/pixi/core/shapes/ray.d.mts +0 -183
- package/src/foundry/client/pixi/core/shapes/source-polygon.d.mts +0 -339
- package/src/foundry/client/pixi/extensions/circle.d.mts +0 -143
- package/src/foundry/client/pixi/extensions/graphics.d.mts +0 -45
- package/src/foundry/client/pixi/extensions/index.d.mts +0 -5
- package/src/foundry/client/pixi/extensions/observable-transform.d.mts +0 -38
- package/src/foundry/client/pixi/extensions/polygon.d.mts +0 -163
- package/src/foundry/client/pixi/extensions/rectangle.d.mts +0 -274
- package/src/foundry/client/pixi/groups/effects.d.mts +0 -237
- package/src/foundry/client/pixi/groups/environment.d.mts +0 -129
- package/src/foundry/client/pixi/groups/hidden.d.mts +0 -56
- package/src/foundry/client/pixi/groups/index.d.mts +0 -7
- package/src/foundry/client/pixi/groups/interface.d.mts +0 -98
- package/src/foundry/client/pixi/groups/overlay.d.mts +0 -30
- package/src/foundry/client/pixi/groups/primary.d.mts +0 -222
- package/src/foundry/client/pixi/groups/rendered.d.mts +0 -30
- package/src/foundry/client/pixi/index.d.mts +0 -10
- package/src/foundry/client/pixi/layers/base/canvas-layer.d.mts +0 -91
- package/src/foundry/client/pixi/layers/base/index.d.mts +0 -3
- package/src/foundry/client/pixi/layers/base/interaction-layer.d.mts +0 -163
- package/src/foundry/client/pixi/layers/base/placeables-layer.d.mts +0 -631
- package/src/foundry/client/pixi/layers/controls/cursor.d.mts +0 -33
- package/src/foundry/client/pixi/layers/controls/door.d.mts +0 -77
- package/src/foundry/client/pixi/layers/controls/index.d.mts +0 -4
- package/src/foundry/client/pixi/layers/controls/layer.d.mts +0 -264
- package/src/foundry/client/pixi/layers/controls/ruler.d.mts +0 -475
- package/src/foundry/client/pixi/layers/effects/background-effects.d.mts +0 -48
- package/src/foundry/client/pixi/layers/effects/coloration-effects.d.mts +0 -39
- package/src/foundry/client/pixi/layers/effects/darkness-effects.d.mts +0 -30
- package/src/foundry/client/pixi/layers/effects/illumination-effects.d.mts +0 -148
- package/src/foundry/client/pixi/layers/effects/index.d.mts +0 -7
- package/src/foundry/client/pixi/layers/effects/visibility.d.mts +0 -228
- package/src/foundry/client/pixi/layers/effects/weather/particles/effect.d.mts +0 -47
- package/src/foundry/client/pixi/layers/effects/weather/particles/index.d.mts +0 -2
- package/src/foundry/client/pixi/layers/effects/weather/particles/leaves.d.mts +0 -20
- package/src/foundry/client/pixi/layers/effects/weather-effects.d.mts +0 -224
- package/src/foundry/client/pixi/layers/grid/highlight.d.mts +0 -33
- package/src/foundry/client/pixi/layers/grid/index.d.mts +0 -3
- package/src/foundry/client/pixi/layers/grid/layer.d.mts +0 -267
- package/src/foundry/client/pixi/layers/grid/mesh.d.mts +0 -73
- package/src/foundry/client/pixi/layers/index.d.mts +0 -6
- package/src/foundry/client/pixi/layers/masks/depth.d.mts +0 -67
- package/src/foundry/client/pixi/layers/masks/index.d.mts +0 -3
- package/src/foundry/client/pixi/layers/masks/occlusion.d.mts +0 -98
- package/src/foundry/client/pixi/layers/masks/vision.d.mts +0 -202
- package/src/foundry/client/pixi/layers/placeables/drawings.d.mts +0 -108
- package/src/foundry/client/pixi/layers/placeables/index.d.mts +0 -9
- package/src/foundry/client/pixi/layers/placeables/lighting.d.mts +0 -80
- package/src/foundry/client/pixi/layers/placeables/notes.d.mts +0 -108
- package/src/foundry/client/pixi/layers/placeables/regions.d.mts +0 -100
- package/src/foundry/client/pixi/layers/placeables/sounds.d.mts +0 -316
- package/src/foundry/client/pixi/layers/placeables/templates.d.mts +0 -69
- package/src/foundry/client/pixi/layers/placeables/tiles.d.mts +0 -114
- package/src/foundry/client/pixi/layers/placeables/tokens.d.mts +0 -189
- package/src/foundry/client/pixi/layers/placeables/walls.d.mts +0 -207
- package/src/foundry/client/pixi/perception/clockwise-sweep.d.mts +0 -186
- package/src/foundry/client/pixi/perception/detection-mode.d.mts +0 -214
- package/src/foundry/client/pixi/perception/fog.d.mts +0 -139
- package/src/foundry/client/pixi/perception/index.d.mts +0 -6
- package/src/foundry/client/pixi/perception/perception-manager.d.mts +0 -167
- package/src/foundry/client/pixi/perception/vision-mode.d.mts +0 -220
- package/src/foundry/client/pixi/perception/weiler-atherton-clipping.d.mts +0 -190
- package/src/foundry/client/pixi/placeable.d.mts +0 -639
- package/src/foundry/client/pixi/placeables/drawing.d.mts +0 -293
- package/src/foundry/client/pixi/placeables/index.d.mts +0 -10
- package/src/foundry/client/pixi/placeables/light.d.mts +0 -142
- package/src/foundry/client/pixi/placeables/note.d.mts +0 -115
- package/src/foundry/client/pixi/placeables/primary-canvas-objects/index.d.mts +0 -4
- package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-canvas-object.d.mts +0 -198
- package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-graphics.d.mts +0 -60
- package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-occludable-object.d.mts +0 -202
- package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-sprite-mesh.d.mts +0 -194
- package/src/foundry/client/pixi/placeables/region.d.mts +0 -177
- package/src/foundry/client/pixi/placeables/sound.d.mts +0 -135
- package/src/foundry/client/pixi/placeables/template.d.mts +0 -212
- package/src/foundry/client/pixi/placeables/tile.d.mts +0 -286
- package/src/foundry/client/pixi/placeables/token.d.mts +0 -950
- package/src/foundry/client/pixi/placeables/wall.d.mts +0 -277
- package/src/foundry/client/pixi/webgl/extensions/batch-renderer.d.mts +0 -112
- package/src/foundry/client/pixi/webgl/extensions/batch-shader-generator.d.mts +0 -31
- package/src/foundry/client/pixi/webgl/extensions/blend-modes.d.mts +0 -53
- package/src/foundry/client/pixi/webgl/extensions/index.d.mts +0 -3
- package/src/foundry/client/pixi/webgl/helpers/framebuffer-snapshot.d.mts +0 -31
- package/src/foundry/client/pixi/webgl/helpers/index.d.mts +0 -3
- package/src/foundry/client/pixi/webgl/helpers/smooth-noise.d.mts +0 -72
- package/src/foundry/client/pixi/webgl/helpers/texture-extractor.d.mts +0 -119
- package/src/foundry/client/pixi/webgl/index.d.mts +0 -3
- package/src/foundry/client/pixi/webgl/shaders/base-shader-mixin.d.mts +0 -119
- package/src/foundry/client/pixi/webgl/shaders/base-shader.d.mts +0 -111
- package/src/foundry/client/pixi/webgl/shaders/filters/base-filter.d.mts +0 -48
- package/src/foundry/client/pixi/webgl/shaders/filters/base-mask-filter.d.mts +0 -31
- package/src/foundry/client/pixi/webgl/shaders/filters/blur.d.mts +0 -187
- package/src/foundry/client/pixi/webgl/shaders/filters/effects-masking.d.mts +0 -122
- package/src/foundry/client/pixi/webgl/shaders/filters/environment.d.mts +0 -41
- package/src/foundry/client/pixi/webgl/shaders/filters/glow-overlay.d.mts +0 -76
- package/src/foundry/client/pixi/webgl/shaders/filters/index.d.mts +0 -13
- package/src/foundry/client/pixi/webgl/shaders/filters/invisibility.d.mts +0 -30
- package/src/foundry/client/pixi/webgl/shaders/filters/outline-overlay.d.mts +0 -87
- package/src/foundry/client/pixi/webgl/shaders/filters/transition.d.mts +0 -126
- package/src/foundry/client/pixi/webgl/shaders/filters/visibility.d.mts +0 -74
- package/src/foundry/client/pixi/webgl/shaders/filters/vision-mask-filter.d.mts +0 -36
- package/src/foundry/client/pixi/webgl/shaders/filters/void.d.mts +0 -19
- package/src/foundry/client/pixi/webgl/shaders/filters/weather-occlusion-masks.d.mts +0 -57
- package/src/foundry/client/pixi/webgl/shaders/fragment-channel-mixin.d.mts +0 -60
- package/src/foundry/client/pixi/webgl/shaders/grid/grid.d.mts +0 -113
- package/src/foundry/client/pixi/webgl/shaders/grid/index.d.mts +0 -1
- package/src/foundry/client/pixi/webgl/shaders/index.d.mts +0 -10
- package/src/foundry/client/pixi/webgl/shaders/lighting/background-lighting.d.mts +0 -66
- package/src/foundry/client/pixi/webgl/shaders/lighting/base-lighting.d.mts +0 -178
- package/src/foundry/client/pixi/webgl/shaders/lighting/coloration-lighting.d.mts +0 -74
- package/src/foundry/client/pixi/webgl/shaders/lighting/darkness-lighting.d.mts +0 -74
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/bewitching-wave.d.mts +0 -35
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/black-hole.d.mts +0 -19
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/chroma.d.mts +0 -24
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/emanation.d.mts +0 -24
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/energy-field.d.mts +0 -24
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fairy-light.d.mts +0 -40
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/flame.d.mts +0 -57
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fog.d.mts +0 -24
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/force-grid.d.mts +0 -24
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/ghost-light.d.mts +0 -35
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/hexa-dome.d.mts +0 -24
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/index.d.mts +0 -25
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/light-dome.d.mts +0 -24
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/magical-gloom.d.mts +0 -19
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/pulse.d.mts +0 -46
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/radial-rainbow.d.mts +0 -24
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/revolving-light.d.mts +0 -37
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/roiling-mass.d.mts +0 -19
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/siren-light.d.mts +0 -63
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/smoke-patch.d.mts +0 -34
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/star-light.d.mts +0 -24
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/sunburst.d.mts +0 -35
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/swirling-rainbow.d.mts +0 -23
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/torch.d.mts +0 -47
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/vortex.d.mts +0 -40
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/wave.d.mts +0 -35
- package/src/foundry/client/pixi/webgl/shaders/lighting/illumination-lighting.d.mts +0 -80
- package/src/foundry/client/pixi/webgl/shaders/lighting/index.d.mts +0 -6
- package/src/foundry/client/pixi/webgl/shaders/region/adjust-darkness-level.d.mts +0 -135
- package/src/foundry/client/pixi/webgl/shaders/region/base.d.mts +0 -79
- package/src/foundry/client/pixi/webgl/shaders/region/highlight.d.mts +0 -95
- package/src/foundry/client/pixi/webgl/shaders/region/index.d.mts +0 -3
- package/src/foundry/client/pixi/webgl/shaders/samplers/base-sampler.d.mts +0 -205
- package/src/foundry/client/pixi/webgl/shaders/samplers/baseline-illumination.d.mts +0 -39
- package/src/foundry/client/pixi/webgl/shaders/samplers/color-adjustment.d.mts +0 -118
- package/src/foundry/client/pixi/webgl/shaders/samplers/depth.d.mts +0 -107
- package/src/foundry/client/pixi/webgl/shaders/samplers/fog-of-war.d.mts +0 -25
- package/src/foundry/client/pixi/webgl/shaders/samplers/index.d.mts +0 -8
- package/src/foundry/client/pixi/webgl/shaders/samplers/occlusion.d.mts +0 -106
- package/src/foundry/client/pixi/webgl/shaders/samplers/primary.d.mts +0 -35
- package/src/foundry/client/pixi/webgl/shaders/samplers/token-ring.d.mts +0 -75
- package/src/foundry/client/pixi/webgl/shaders/vision/background-vision.d.mts +0 -43
- package/src/foundry/client/pixi/webgl/shaders/vision/base-vision.d.mts +0 -33
- package/src/foundry/client/pixi/webgl/shaders/vision/coloration-vision.d.mts +0 -42
- package/src/foundry/client/pixi/webgl/shaders/vision/effects/amplification.d.mts +0 -33
- package/src/foundry/client/pixi/webgl/shaders/vision/effects/index.d.mts +0 -2
- package/src/foundry/client/pixi/webgl/shaders/vision/effects/wave.d.mts +0 -61
- package/src/foundry/client/pixi/webgl/shaders/vision/illumination-vision.d.mts +0 -37
- package/src/foundry/client/pixi/webgl/shaders/vision/index.d.mts +0 -5
- package/src/foundry/client/pixi/webgl/shaders/weather/base-weather.d.mts +0 -111
- package/src/foundry/client/pixi/webgl/shaders/weather/effect.d.mts +0 -63
- package/src/foundry/client/pixi/webgl/shaders/weather/fog.d.mts +0 -51
- package/src/foundry/client/pixi/webgl/shaders/weather/index.d.mts +0 -5
- package/src/foundry/client/pixi/webgl/shaders/weather/rain.d.mts +0 -43
- package/src/foundry/client/pixi/webgl/shaders/weather/snow.d.mts +0 -35
- package/src/foundry/client/pixi/workers/index.d.mts +0 -1
- package/src/foundry/client/pixi/workers/texture-worker.d.mts +0 -105
- package/src/foundry/client/tours/canvas-tour.d.mts +0 -9
- package/src/foundry/client/tours/index.d.mts +0 -3
- package/src/foundry/client/tours/setup-tour.d.mts +0 -26
- package/src/foundry/client/tours/sidebar-tour.d.mts +0 -9
- package/src/foundry/client/ui/dialog.d.mts +0 -337
- package/src/foundry/client/ui/drag.d.mts +0 -128
- package/src/foundry/client/ui/dragdrop.d.mts +0 -124
- package/src/foundry/client/ui/editor.d.mts +0 -546
- package/src/foundry/client/ui/filepicker.d.mts +0 -477
- package/src/foundry/client/ui/filter.d.mts +0 -148
- package/src/foundry/client/ui/forms.d.mts +0 -85
- package/src/foundry/client/ui/index.d.mts +0 -10
- package/src/foundry/client/ui/prosemirror.d.mts +0 -171
- package/src/foundry/client/ui/secrets.d.mts +0 -75
- package/src/foundry/client/ui/tabs.d.mts +0 -117
- package/src/foundry/client-esm/_module.d.mts +0 -112
- package/src/foundry/client-esm/_types.d.mts +0 -8
- package/src/foundry/client-esm/applications/_module.d.mts +0 -30
- package/src/foundry/client-esm/applications/api/application.d.mts +0 -877
- package/src/foundry/client-esm/applications/api/category-browser.d.mts +0 -40
- package/src/foundry/client-esm/applications/api/dialog.d.mts +0 -346
- package/src/foundry/client-esm/applications/api/document-sheet.d.mts +0 -140
- package/src/foundry/client-esm/applications/api/handlebars-application.d.mts +0 -210
- package/src/foundry/client-esm/applications/apps/av/camera-popout.d.mts +0 -23
- package/src/foundry/client-esm/applications/apps/av/cameras.d.mts +0 -95
- package/src/foundry/client-esm/applications/apps/combat-tracker-config.d.mts +0 -21
- package/src/foundry/client-esm/applications/apps/compendium-art-config.d.mts +0 -54
- package/src/foundry/client-esm/applications/apps/document-ownership.d.mts +0 -21
- package/src/foundry/client-esm/applications/apps/document-sheet-config.d.mts +0 -24
- package/src/foundry/client-esm/applications/apps/file-picker.d.mts +0 -410
- package/src/foundry/client-esm/applications/apps/grid-config.d.mts +0 -25
- package/src/foundry/client-esm/applications/apps/image-popout.d.mts +0 -56
- package/src/foundry/client-esm/applications/apps/permission-config.d.mts +0 -60
- package/src/foundry/client-esm/applications/dice/roll-resolver.d.mts +0 -110
- package/src/foundry/client-esm/applications/elements/document-tags.d.mts +0 -92
- package/src/foundry/client-esm/applications/elements/file-picker.d.mts +0 -62
- package/src/foundry/client-esm/applications/elements/form-element.d.mts +0 -106
- package/src/foundry/client-esm/applications/elements/multi-select.d.mts +0 -105
- package/src/foundry/client-esm/applications/elements/prosemirror-editor.d.mts +0 -53
- package/src/foundry/client-esm/applications/forms/fields.d.mts +0 -270
- package/src/foundry/client-esm/applications/handlebars.d.mts +0 -3
- package/src/foundry/client-esm/applications/hud/container.d.mts +0 -15
- package/src/foundry/client-esm/applications/hud/drawing-hud.d.mts +0 -19
- package/src/foundry/client-esm/applications/hud/placeable-hud.d.mts +0 -41
- package/src/foundry/client-esm/applications/hud/tile-hud.d.mts +0 -19
- package/src/foundry/client-esm/applications/hud/token-hud.d.mts +0 -20
- package/src/foundry/client-esm/applications/quickstart.d.mts +0 -20
- package/src/foundry/client-esm/applications/settings/_module.d.mts +0 -7
- package/src/foundry/client-esm/applications/settings/config.d.mts +0 -21
- package/src/foundry/client-esm/applications/settings/dependency-resolution.d.mts +0 -19
- package/src/foundry/client-esm/applications/settings/menus/av-config.d.mts +0 -27
- package/src/foundry/client-esm/applications/settings/menus/default-sheets-config.d.mts +0 -19
- package/src/foundry/client-esm/applications/settings/menus/dice-config.d.mts +0 -18
- package/src/foundry/client-esm/applications/settings/menus/font-config.d.mts +0 -43
- package/src/foundry/client-esm/applications/settings/menus/prototype-overrides.d.mts +0 -21
- package/src/foundry/client-esm/applications/settings/menus/ui-config.d.mts +0 -26
- package/src/foundry/client-esm/applications/sheets/_module.d.mts +0 -37
- package/src/foundry/client-esm/applications/sheets/active-effect-config.d.mts +0 -25
- package/src/foundry/client-esm/applications/sheets/actor-sheet.d.mts +0 -31
- package/src/foundry/client-esm/applications/sheets/adventure-exporter.d.mts +0 -25
- package/src/foundry/client-esm/applications/sheets/adventure-importer.d.mts +0 -25
- package/src/foundry/client-esm/applications/sheets/ambient-light-config.d.mts +0 -80
- package/src/foundry/client-esm/applications/sheets/ambient-sound-config.d.mts +0 -52
- package/src/foundry/client-esm/applications/sheets/base-sheet.d.mts +0 -23
- package/src/foundry/client-esm/applications/sheets/card-config.d.mts +0 -25
- package/src/foundry/client-esm/applications/sheets/cards-config.d.mts +0 -49
- package/src/foundry/client-esm/applications/sheets/combatant-config.d.mts +0 -25
- package/src/foundry/client-esm/applications/sheets/drawing-config.d.mts +0 -25
- package/src/foundry/client-esm/applications/sheets/folder-config.d.mts +0 -25
- package/src/foundry/client-esm/applications/sheets/item-sheet.d.mts +0 -22
- package/src/foundry/client-esm/applications/sheets/journal/dialog-show.d.mts +0 -19
- package/src/foundry/client-esm/applications/sheets/journal/journal-entry-category-config.d.mts +0 -25
- package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-hbs-sheet.d.mts +0 -19
- package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-image-sheet.d.mts +0 -18
- package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-markdown-sheet.d.mts +0 -18
- package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-pdf-sheet.d.mts +0 -18
- package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-prose-mirror-sheet.d.mts +0 -18
- package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-sheet.d.mts +0 -28
- package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-text-sheet.d.mts +0 -18
- package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-video-sheet.d.mts +0 -18
- package/src/foundry/client-esm/applications/sheets/journal/journal-entry-sheet.d.mts +0 -35
- package/src/foundry/client-esm/applications/sheets/macro-config.d.mts +0 -25
- package/src/foundry/client-esm/applications/sheets/note-config.d.mts +0 -25
- package/src/foundry/client-esm/applications/sheets/playlist-config.d.mts +0 -25
- package/src/foundry/client-esm/applications/sheets/playlist-sound-config.d.mts +0 -25
- package/src/foundry/client-esm/applications/sheets/region-behavior-config.d.mts +0 -37
- package/src/foundry/client-esm/applications/sheets/region-config.d.mts +0 -43
- package/src/foundry/client-esm/applications/sheets/roll-table-config.d.mts +0 -25
- package/src/foundry/client-esm/applications/sheets/roll-table-sheet.d.mts +0 -25
- package/src/foundry/client-esm/applications/sheets/scene-config.d.mts +0 -25
- package/src/foundry/client-esm/applications/sheets/table-result-config.d.mts +0 -25
- package/src/foundry/client-esm/applications/sheets/template-config.d.mts +0 -25
- package/src/foundry/client-esm/applications/sheets/tile-config.d.mts +0 -25
- package/src/foundry/client-esm/applications/sheets/token/mixin.d.mts +0 -27
- package/src/foundry/client-esm/applications/sheets/token/prototype-config.d.mts +0 -18
- package/src/foundry/client-esm/applications/sheets/token/token-config.d.mts +0 -25
- package/src/foundry/client-esm/applications/sheets/user-config.d.mts +0 -44
- package/src/foundry/client-esm/applications/sheets/wall-config.d.mts +0 -25
- package/src/foundry/client-esm/applications/sidebar/apps/chat-popout.d.mts +0 -22
- package/src/foundry/client-esm/applications/sidebar/apps/compendium.d.mts +0 -21
- package/src/foundry/client-esm/applications/sidebar/apps/controls-config.d.mts +0 -20
- package/src/foundry/client-esm/applications/sidebar/apps/folder-export.d.mts +0 -18
- package/src/foundry/client-esm/applications/sidebar/apps/frame-viewer.d.mts +0 -22
- package/src/foundry/client-esm/applications/sidebar/apps/invitation-links.d.mts +0 -17
- package/src/foundry/client-esm/applications/sidebar/apps/module-management.d.mts +0 -21
- package/src/foundry/client-esm/applications/sidebar/apps/support-details.d.mts +0 -17
- package/src/foundry/client-esm/applications/sidebar/apps/tours-management.d.mts +0 -20
- package/src/foundry/client-esm/applications/sidebar/apps/world-config.d.mts +0 -19
- package/src/foundry/client-esm/applications/sidebar/document-directory.d.mts +0 -30
- package/src/foundry/client-esm/applications/sidebar/sidebar-tab.d.mts +0 -86
- package/src/foundry/client-esm/applications/sidebar/sidebar.d.mts +0 -18
- package/src/foundry/client-esm/applications/sidebar/tabs/actor-directory.d.mts +0 -20
- package/src/foundry/client-esm/applications/sidebar/tabs/cards-directory.d.mts +0 -20
- package/src/foundry/client-esm/applications/sidebar/tabs/chat.d.mts +0 -19
- package/src/foundry/client-esm/applications/sidebar/tabs/combat-tracker.d.mts +0 -19
- package/src/foundry/client-esm/applications/sidebar/tabs/compendium-directory.d.mts +0 -19
- package/src/foundry/client-esm/applications/sidebar/tabs/item-directory.d.mts +0 -20
- package/src/foundry/client-esm/applications/sidebar/tabs/journal-directory.d.mts +0 -20
- package/src/foundry/client-esm/applications/sidebar/tabs/macro-directory.d.mts +0 -20
- package/src/foundry/client-esm/applications/sidebar/tabs/playlist-directory.d.mts +0 -20
- package/src/foundry/client-esm/applications/sidebar/tabs/roll-table-directory.d.mts +0 -20
- package/src/foundry/client-esm/applications/sidebar/tabs/scene-directory.d.mts +0 -20
- package/src/foundry/client-esm/applications/sidebar/tabs/settings.d.mts +0 -18
- package/src/foundry/client-esm/applications/ui/game-pause.d.mts +0 -22
- package/src/foundry/client-esm/applications/ui/hotbar.d.mts +0 -29
- package/src/foundry/client-esm/applications/ui/main-menu.d.mts +0 -27
- package/src/foundry/client-esm/applications/ui/players.d.mts +0 -26
- package/src/foundry/client-esm/applications/ui/region-legend.d.mts +0 -57
- package/src/foundry/client-esm/applications/ui/scene-controls.d.mts +0 -20
- package/src/foundry/client-esm/applications/ui/scene-navigation.d.mts +0 -28
- package/src/foundry/client-esm/applications/ux/context-menu.d.mts +0 -359
- package/src/foundry/client-esm/applications/ux/drag-drop.d.mts +0 -21
- package/src/foundry/client-esm/applications/ux/draggable.d.mts +0 -9
- package/src/foundry/client-esm/applications/ux/form-data-extended.d.mts +0 -17
- package/src/foundry/client-esm/applications/ux/html-secret.d.mts +0 -21
- package/src/foundry/client-esm/applications/ux/prosemirror-editor.d.mts +0 -9
- package/src/foundry/client-esm/applications/ux/search-filter.d.mts +0 -9
- package/src/foundry/client-esm/applications/ux/tabs.d.mts +0 -29
- package/src/foundry/client-esm/applications/ux/text-editor.d.mts +0 -9
- package/src/foundry/client-esm/appv1/api/application-v1.d.mts +0 -5
- package/src/foundry/client-esm/appv1/api/dialog-v1.d.mts +0 -5
- package/src/foundry/client-esm/appv1/api/document-sheet-v1.d.mts +0 -5
- package/src/foundry/client-esm/appv1/api/form-application-v1.d.mts +0 -5
- package/src/foundry/client-esm/appv1/sheets/actor-sheet.d.mts +0 -5
- package/src/foundry/client-esm/appv1/sheets/adventure-importer.d.mts +0 -5
- package/src/foundry/client-esm/appv1/sheets/item-sheet.d.mts +0 -5
- package/src/foundry/client-esm/appv1/sheets/journal-page-sheet.d.mts +0 -7
- package/src/foundry/client-esm/appv1/sheets/journal-sheet.d.mts +0 -5
- package/src/foundry/client-esm/audio/_types.d.mts +0 -16
- package/src/foundry/client-esm/audio/biquad.d.mts +0 -51
- package/src/foundry/client-esm/audio/cache.d.mts +0 -68
- package/src/foundry/client-esm/audio/convolver.d.mts +0 -71
- package/src/foundry/client-esm/audio/helper.d.mts +0 -326
- package/src/foundry/client-esm/audio/sound.d.mts +0 -401
- package/src/foundry/client-esm/audio/timeout.d.mts +0 -85
- package/src/foundry/client-esm/av/client.d.mts +0 -18
- package/src/foundry/client-esm/av/clients/simplepeer.d.mts +0 -11
- package/src/foundry/client-esm/av/master.d.mts +0 -12
- package/src/foundry/client-esm/av/settings.d.mts +0 -30
- package/src/foundry/client-esm/canvas/_module.d.mts +0 -11
- package/src/foundry/client-esm/canvas/edges/collision.d.mts +0 -136
- package/src/foundry/client-esm/canvas/edges/edge.d.mts +0 -248
- package/src/foundry/client-esm/canvas/edges/edges.d.mts +0 -32
- package/src/foundry/client-esm/canvas/edges/vertex.d.mts +0 -164
- package/src/foundry/client-esm/canvas/regions/_module.d.mts +0 -9
- package/src/foundry/client-esm/canvas/regions/geometry.d.mts +0 -31
- package/src/foundry/client-esm/canvas/regions/mesh.d.mts +0 -61
- package/src/foundry/client-esm/canvas/regions/polygon-tree.d.mts +0 -101
- package/src/foundry/client-esm/canvas/regions/shape.d.mts +0 -118
- package/src/foundry/client-esm/canvas/scene-manager.d.mts +0 -102
- package/src/foundry/client-esm/canvas/smaa/blend.d.mts +0 -6
- package/src/foundry/client-esm/canvas/smaa/edges.d.mts +0 -6
- package/src/foundry/client-esm/canvas/smaa/smaa.d.mts +0 -55
- package/src/foundry/client-esm/canvas/smaa/weights.d.mts +0 -6
- package/src/foundry/client-esm/canvas/sources/base-effect-source.d.mts +0 -264
- package/src/foundry/client-esm/canvas/sources/base-light-source.d.mts +0 -197
- package/src/foundry/client-esm/canvas/sources/global-light-source.d.mts +0 -62
- package/src/foundry/client-esm/canvas/sources/point-darkness-source.d.mts +0 -101
- package/src/foundry/client-esm/canvas/sources/point-effect-source.d.mts +0 -103
- package/src/foundry/client-esm/canvas/sources/point-light-source.d.mts +0 -55
- package/src/foundry/client-esm/canvas/sources/point-movement-source.d.mts +0 -31
- package/src/foundry/client-esm/canvas/sources/point-sound-source.d.mts +0 -47
- package/src/foundry/client-esm/canvas/sources/point-vision-source.d.mts +0 -213
- package/src/foundry/client-esm/canvas/sources/rendered-effect-source.d.mts +0 -367
- package/src/foundry/client-esm/canvas/tokens/_module.d.mts +0 -8
- package/src/foundry/client-esm/canvas/tokens/ring-config.d.mts +0 -190
- package/src/foundry/client-esm/canvas/tokens/ring-data.d.mts +0 -174
- package/src/foundry/client-esm/canvas/tokens/ring.d.mts +0 -192
- package/src/foundry/client-esm/client.d.mts +0 -279
- package/src/foundry/client-esm/config.d.mts +0 -1
- package/src/foundry/client-esm/data/_module.d.mts +0 -13
- package/src/foundry/client-esm/data/calendar.d.mts +0 -213
- package/src/foundry/client-esm/data/client-backend.d.mts +0 -51
- package/src/foundry/client-esm/data/region-behaviors/adjust-darkness-level.d.mts +0 -57
- package/src/foundry/client-esm/data/region-behaviors/base.d.mts +0 -59
- package/src/foundry/client-esm/data/region-behaviors/display-scrolling-text.d.mts +0 -64
- package/src/foundry/client-esm/data/region-behaviors/teleport-token.d.mts +0 -32
- package/src/foundry/client-esm/data/region-behaviors/toggle-behavior.d.mts +0 -31
- package/src/foundry/client-esm/data/terrain-data.d.mts +0 -22
- package/src/foundry/client-esm/dice/_types.d.mts +0 -61
- package/src/foundry/client-esm/dice/parser.d.mts +0 -213
- package/src/foundry/client-esm/dice/roll.d.mts +0 -679
- package/src/foundry/client-esm/dice/terms/coin.d.mts +0 -75
- package/src/foundry/client-esm/dice/terms/dice.d.mts +0 -390
- package/src/foundry/client-esm/dice/terms/die.d.mts +0 -248
- package/src/foundry/client-esm/dice/terms/fate.d.mts +0 -57
- package/src/foundry/client-esm/dice/terms/function.d.mts +0 -106
- package/src/foundry/client-esm/dice/terms/numeric.d.mts +0 -56
- package/src/foundry/client-esm/dice/terms/operator.d.mts +0 -55
- package/src/foundry/client-esm/dice/terms/parenthetical.d.mts +0 -105
- package/src/foundry/client-esm/dice/terms/pool.d.mts +0 -287
- package/src/foundry/client-esm/dice/terms/string.d.mts +0 -34
- package/src/foundry/client-esm/dice/terms/term.d.mts +0 -169
- package/src/foundry/client-esm/dice/twister.d.mts +0 -134
- package/src/foundry/client-esm/documents/_module.d.mts +0 -11
- package/src/foundry/client-esm/documents/_types.d.mts +0 -8
- package/src/foundry/client-esm/documents/abstract/_module.d.mts +0 -6
- package/src/foundry/client-esm/documents/collections/_module.d.mts +0 -6
- package/src/foundry/client-esm/game.d.mts +0 -7
- package/src/foundry/client-esm/helpers/_module.d.mts +0 -8
- package/src/foundry/client-esm/helpers/_types.d.mts +0 -51
- package/src/foundry/client-esm/helpers/compendium-art.d.mts +0 -47
- package/src/foundry/client-esm/hooks.d.mts +0 -1
- package/src/foundry/client-esm/nue/tour.d.mts +0 -9
- package/src/foundry/client-esm/nue/tours/canvas-tour.d.mts +0 -12
- package/src/foundry/client-esm/nue/tours/setup-tour.d.mts +0 -11
- package/src/foundry/client-esm/nue/tours/sidebar-tour.d.mts +0 -11
- package/src/foundry/client-esm/packages/_module.d.mts +0 -22
- package/src/foundry/client-esm/packages/_types.d.mts +0 -11
- package/src/foundry/client-esm/packages/client-package.d.mts +0 -11
- package/src/foundry/client-esm/packages/module.d.mts +0 -8
- package/src/foundry/client-esm/packages/system.d.mts +0 -8
- package/src/foundry/client-esm/packages/world.d.mts +0 -8
- package/src/foundry/client-esm/ui.d.mts +0 -1
- package/src/foundry/client-esm/utils/_module.d.mts +0 -7
- package/src/foundry/client-esm/utils/_types.d.mts +0 -2
- package/src/foundry/client-esm/utils/helpers.d.mts +0 -6
- package/src/foundry/common/documents/module.d.mts +0 -35
- package/src/foundry/common/prosemirror/index.d.mts +0 -22
- package/src/foundry/common/prosemirror/schema/index.d.mts +0 -12
- package/src/tsconfig.json +0 -19
- /package/src/foundry/{client-esm → client}/applications/_types.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/applications/api/_module.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/applications/apps/_module.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/applications/apps/av/_module.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/applications/dice/_module.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/applications/elements/_module.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/applications/elements/codemirror/element.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/applications/elements/codemirror/extensions.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/applications/elements/codemirror/view.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/applications/elements/color-picker.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/applications/elements/document-embed.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/applications/elements/enriched-content.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/applications/elements/hue-slider.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/applications/elements/range-picker.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/applications/elements/secret-block.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/applications/elements/string-tags.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/applications/hud/_module.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/applications/settings/menus/_module.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/applications/sheets/journal/_module.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/applications/sheets/token/_module.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/applications/sidebar/_module.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/applications/sidebar/apps/_module.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/applications/sidebar/tabs/_module.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/applications/ui/_module.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/applications/ui/notifications.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/applications/ux/_module.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/appv1/_module.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/appv1/api/_module.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/appv1/sheets/_module.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/audio/_module.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/av/_module.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/av/clients/_module.d.mts +0 -0
- /package/src/foundry/{client-esm/canvas → client/canvas/geometry}/edges/_module.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/canvas/sources/_module.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/data/_types.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/data/combat-config.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/data/region-behaviors/_module.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/data/region-behaviors/execute-macro.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/data/region-behaviors/execute-script.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/data/region-behaviors/pause-game.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/data/region-behaviors/suppress-weather.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/dice/_module.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/dice/terms/_module.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/nue/_module.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/nue/nue-manager.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/nue/tours/_module.d.mts +0 -0
- /package/src/foundry/{client-esm → client}/nue/tours-collection.d.mts +0 -0
package/src/utils/index.d.mts
CHANGED
@@ -1,12 +1,17 @@
|
|
1
1
|
import type { Document } from "../foundry/common/abstract/_module.d.mts";
|
2
2
|
|
3
|
-
|
3
|
+
export {};
|
4
|
+
|
5
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-object-type
|
6
|
+
type ConfiguredModuleData<Name extends string> = Name extends keyof ModuleConfig ? ModuleConfig[Name] : {};
|
4
7
|
|
5
8
|
/**
|
6
9
|
* This type exists due to https://github.com/microsoft/TypeScript/issues/55667
|
7
10
|
* This will be deprecated once this issue is solved.
|
8
11
|
*/
|
9
|
-
export type FixedInstanceType<T extends
|
12
|
+
export type FixedInstanceType<T extends abstract new (...args: never) => any> = T extends abstract new (
|
13
|
+
...args: infer _
|
14
|
+
) => infer R
|
10
15
|
? R
|
11
16
|
: never;
|
12
17
|
|
@@ -24,16 +29,26 @@ export type LoggingLevels = "debug" | "log" | "info" | "warn" | "error";
|
|
24
29
|
/**
|
25
30
|
* `GetKey` accesses a property while intentionally ignoring index signatures. This means `GetKey<Record<string, unknown>, "foo">` will return `never`.
|
26
31
|
*/
|
27
|
-
// Note(LukeAbby): There are
|
28
|
-
// - `T = {}`
|
29
|
-
// - `T = never`
|
30
|
-
|
31
|
-
|
32
|
-
type
|
32
|
+
// Note(LukeAbby): There are five tricky cases:
|
33
|
+
// - `T = {}` and `T = object` could easily return `unknown` and must be excluded.
|
34
|
+
// - `T = never` might either distribute out or return `unknown`. The fix here is checking if `any` is assignable to it.
|
35
|
+
// - `T = { prop?: U }` with `exactOptionalPropertyTypes` should return `U | undefined` not `U`.
|
36
|
+
// - `T` has getters `GetKey` should still access it, this means checking `keyof T` is not helpful.
|
37
|
+
export type GetKey<T, K extends PropertyKey, D = never> = [object] extends [T] // Handle `{}` and `object`
|
38
|
+
? D
|
39
|
+
: [any] extends [T] // Handle never
|
40
|
+
? _GetKey<T, K, D>
|
41
|
+
: D;
|
42
|
+
|
43
|
+
// Note(LukeAbby): This uses `infer _V` specifically to avoid index signatures.
|
44
|
+
// However it isn't `T extends { readonly [_ in K]?: infer V } ? V : D` as under
|
45
|
+
// `exactOptionalPropertyTypes` this would not include `undefined` whereas `T[K]` does.
|
46
|
+
type _GetKey<T, K extends PropertyKey, D> = T extends { readonly [_ in K]?: infer _V } ? T[K] : D;
|
33
47
|
|
34
48
|
/**
|
35
49
|
* `Partial` is usually the wrong type.
|
36
50
|
* In order to make it easier to audit unintentional uses of `Partial` this type is provided.
|
51
|
+
* Also allows specifying certain keys to make partial.
|
37
52
|
*
|
38
53
|
* ### Picking the right helper type
|
39
54
|
* - Favor `NullishProps` whenever it is valid. Allowing both `null` and
|
@@ -47,7 +62,7 @@ type _GetKey<T, K extends PropertyKey, D> = T extends { readonly [_ in K]?: infe
|
|
47
62
|
* `Object.assign({}, defaultOptions, options)`,
|
48
63
|
* `foundry.utils.mergeObject(defaultOptions, options)`, or so on.
|
49
64
|
*
|
50
|
-
* Note that {@
|
65
|
+
* Note that {@linkcode foundry.utils.mergeObject}
|
51
66
|
* also expands the object. So once `ExpandsTo` exists you should also use
|
52
67
|
* that helper type.
|
53
68
|
*
|
@@ -61,7 +76,7 @@ type _GetKey<T, K extends PropertyKey, D> = T extends { readonly [_ in K]?: infe
|
|
61
76
|
* The most common time this shows up is with the pattern
|
62
77
|
* `exampleFunction({ prop = "foo" } = {}) { ... }`.
|
63
78
|
*/
|
64
|
-
export type IntentionalPartial<T> = Partial<T>;
|
79
|
+
export type IntentionalPartial<T extends object> = Partial<T>;
|
65
80
|
|
66
81
|
/**
|
67
82
|
* This type is used to make a constraint where `T` must be statically known to overlap with `U`.
|
@@ -93,7 +108,7 @@ export type OverlapsWith<T, U> = [Extract<T, U>, any] extends [U, Extract<T, U>]
|
|
93
108
|
* This is safer than what `OverlapsWith` provides as it ensures that if the type is an array it is an array of `Item`.
|
94
109
|
* Assumes readonly arrays are permitted.
|
95
110
|
*
|
96
|
-
* Note that `never[]` and `any[]` are still accepted due to the
|
111
|
+
* Note that `never[]` and `any[]` are still accepted due to the fundamental nature of these types.
|
97
112
|
*
|
98
113
|
* @example
|
99
114
|
* ```ts
|
@@ -118,8 +133,8 @@ export type OverlapsWith<T, U> = [Extract<T, U>, any] extends [U, Extract<T, U>]
|
|
118
133
|
* takesNumericArray(Math.random() > 0.5 ? [1, 2, 3] : ["foo", "bar"]); // Error, at runtime it could be an array of the wrong type and that isn't handled. Notably this would succeed with `OverlapsWith`.
|
119
134
|
* ```
|
120
135
|
*/
|
121
|
-
export type ArrayOverlaps<
|
122
|
-
Extract<
|
136
|
+
export type ArrayOverlaps<Arr, T> =
|
137
|
+
Extract<Arr, readonly unknown[]> extends readonly T[] ? OverlapsWith<Arr, readonly T[]> : readonly T[];
|
123
138
|
|
124
139
|
/**
|
125
140
|
* Use this whenever a type is given that should match some constraint but is
|
@@ -250,34 +265,16 @@ export type ConformRecord<T extends object, V, D extends V = V> = {
|
|
250
265
|
* this behavior is disabled for functions in most codebases (including this one)
|
251
266
|
* because of the `strictFunctionTypes` compiler flag, implicit under `strict: true`.
|
252
267
|
* See: https://github.com/Microsoft/TypeScript/wiki/FAQ#why-are-function-parameters-bivariant
|
268
|
+
*
|
269
|
+
* Note that this does not work well with exotic functions. Unexpected behavior may occur with:
|
270
|
+
* - Overloaded functions.
|
271
|
+
* - Functions with additional properties, e.g. `(() => number) & { prop: string }`.
|
272
|
+
* - Functions of the shape `(...args: never[]) => T`.
|
253
273
|
*/
|
254
274
|
export type ToMethod<T extends AnyFunction> = {
|
255
275
|
method(...args: Parameters<T>): ReturnType<T>;
|
256
276
|
}["method"];
|
257
277
|
|
258
|
-
export type ConfiguredSheetClass<T extends Document.AnyConstructor> = GetKey<
|
259
|
-
GetKey<CONFIG, T["metadata"]["name"]>,
|
260
|
-
"sheetClass",
|
261
|
-
T
|
262
|
-
>;
|
263
|
-
|
264
|
-
export type ObjectClass<T extends Document.AnyConstructor> = GetKey<
|
265
|
-
GetKey<CONFIG, T["metadata"]["name"]>,
|
266
|
-
"objectClass",
|
267
|
-
T
|
268
|
-
>;
|
269
|
-
|
270
|
-
export type LayerClass<T extends Document.AnyConstructor> = GetKey<
|
271
|
-
GetKey<CONFIG, T["metadata"]["name"]>,
|
272
|
-
"layerClass",
|
273
|
-
T
|
274
|
-
>;
|
275
|
-
|
276
|
-
/**
|
277
|
-
* Actual document types that go in folders
|
278
|
-
*/
|
279
|
-
export type FolderDocumentTypes = Exclude<foundry.CONST.FOLDER_DOCUMENT_TYPES, "Compendium">;
|
280
|
-
|
281
278
|
export type MaybeEmpty<T extends AnyObject> =
|
282
279
|
| T
|
283
280
|
| {
|
@@ -288,9 +285,11 @@ export type MaybeEmpty<T extends AnyObject> =
|
|
288
285
|
* The following uses `extends object` instead of `AnyObject` to allow `O = typeof SomeClass`
|
289
286
|
*/
|
290
287
|
export type PropertiesOfType<O extends object, T> = {
|
291
|
-
[K in keyof O]:
|
288
|
+
[K in keyof O]: _KeyOfType<O[K], K, T>;
|
292
289
|
}[keyof O];
|
293
290
|
|
291
|
+
type _KeyOfType<V, K, T> = V extends T ? K : never;
|
292
|
+
|
294
293
|
declare class Branded<in out BrandName extends string> {
|
295
294
|
#brand: BrandName;
|
296
295
|
}
|
@@ -375,33 +374,23 @@ export type Brand<BaseType, BrandName extends string> = BaseType & Branded<Brand
|
|
375
374
|
* // ^ { x: string, y: number }
|
376
375
|
*
|
377
376
|
* function example<T extends { someProp: number } | { anotherProp: string }>(t: T) {
|
378
|
-
* Object.assign(t, { a: "foo" }, {b: 2}) satisfies ObjectIntersection
|
379
|
-
* Object.assign(t, { a: "foo" }, {b: 2}) satisfies PrettyObjectIntersection
|
380
|
-
* //
|
377
|
+
* Object.assign(t, { a: "foo" }, { b: 2 }) satisfies ObjectIntersection
|
378
|
+
* Object.assign(t, { a: "foo" }, { b: 2 }) satisfies PrettyObjectIntersection
|
379
|
+
* // ^ Type 'T & { a: string; } & { b: number; }' does not satisfy the expected type '{ a: string; b: number; }'.
|
381
380
|
* // This is an example of changing type behavior. The first line is allowed but the second errors.
|
382
381
|
* // This type of situation will realistically never come up in real code because it's so contrived.
|
383
|
-
* // Note that this difference only appears when generic, specifically `T extends
|
382
|
+
* // Note that this difference only appears when generic, specifically `T extends SomeConcreteObject | U`.
|
384
383
|
* // See https://github.com/microsoft/TypeScript/pull/60726 for some context.
|
385
384
|
* }
|
386
385
|
* ```
|
387
386
|
*/
|
388
|
-
|
387
|
+
// Note(LukeAbby): This uses `AnyObject` as a constraint rather than in the body due to this circularity: https://tsplay.dev/NDpRRN
|
388
|
+
export type PrettifyType<T extends AnyObject> = T extends unknown
|
389
389
|
? {
|
390
390
|
[K in keyof T]: T[K];
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
/**
|
396
|
-
* This behaves the same as {@link PrettifyType | `PrettifyType`} except instead
|
397
|
-
* of prettifying only the first level it prettifies all levels of an object. of prettifying only the first level it prettifies all levels of an object.
|
398
|
-
*/
|
399
|
-
export type PrettifyTypeDeep<T> = T extends AnyObject
|
400
|
-
? {
|
401
|
-
[K in keyof T]: PrettifyTypeDeep<T[K]>;
|
402
|
-
}
|
403
|
-
: // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
|
404
|
-
T & unknown;
|
391
|
+
// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
|
392
|
+
} & unknown
|
393
|
+
: never;
|
405
394
|
|
406
395
|
/**
|
407
396
|
* Convert a union of the form `T1 | T2 | T3 | ...` into an intersection of the form `T1 & T2 & T3 & ...`.
|
@@ -499,12 +488,15 @@ export type UnionToIntersection<U> = (U extends unknown ? (arg: U) => void : nev
|
|
499
488
|
*/
|
500
489
|
// Allowing passing any `object` is done because it's more convenient for the end user.
|
501
490
|
// Note that `{}` should always be assignable to `DeepPartial<T>`.
|
502
|
-
export type DeepPartial<T extends object> =
|
503
|
-
[K in keyof T]?: _DeepPartial<T[K]>;
|
504
|
-
};
|
491
|
+
export type DeepPartial<T extends object> = _DeepPartial<T>;
|
505
492
|
|
506
|
-
|
507
|
-
|
493
|
+
type _DeepPartial<T> = T extends object
|
494
|
+
? T extends AnyArray | AnyFunction | AnyConstructor
|
495
|
+
? T
|
496
|
+
: {
|
497
|
+
[K in keyof T]?: _DeepPartial<T[K]>;
|
498
|
+
}
|
499
|
+
: T;
|
508
500
|
|
509
501
|
/**
|
510
502
|
* Gets all possible keys of `T`. This is useful because if `T` is a union type
|
@@ -527,7 +519,7 @@ export type AllKeysOf<T extends object> = T extends unknown ? keyof T : never;
|
|
527
519
|
* `Object.assign({}, defaultOptions, options)`,
|
528
520
|
* `foundry.utils.mergeObject(defaultOptions, options)`, or so on.
|
529
521
|
*
|
530
|
-
* Note that {@
|
522
|
+
* Note that {@linkcode foundry.utils.mergeObject}
|
531
523
|
* also expands the object. So once `ExpandsTo` exists you should also use
|
532
524
|
* that helper type.
|
533
525
|
*
|
@@ -543,11 +535,8 @@ export type AllKeysOf<T extends object> = T extends unknown ? keyof T : never;
|
|
543
535
|
*
|
544
536
|
* @internal
|
545
537
|
*/
|
546
|
-
export type InexactPartial<T extends object
|
547
|
-
[
|
548
|
-
} & {
|
549
|
-
// Note(LukeAbby): This effectively inlines `Omit<T, K>`, hoping for slightly better type display.
|
550
|
-
[K2 in keyof T as Exclude<K2, K>]: T[K2];
|
538
|
+
export type InexactPartial<T extends object> = {
|
539
|
+
[K in keyof T]?: T[K] | undefined;
|
551
540
|
};
|
552
541
|
|
553
542
|
/**
|
@@ -566,7 +555,7 @@ export type InexactPartial<T extends object, K extends AllKeysOf<T> = AllKeysOf<
|
|
566
555
|
* `Object.assign({}, defaultOptions, options)`,
|
567
556
|
* `foundry.utils.mergeObject(defaultOptions, options)`, or so on.
|
568
557
|
*
|
569
|
-
* Note that {@
|
558
|
+
* Note that {@linkcode foundry.utils.mergeObject}
|
570
559
|
* also expands the object. So once `ExpandsTo` exists you should also use
|
571
560
|
* that helper type.
|
572
561
|
*
|
@@ -582,11 +571,8 @@ export type InexactPartial<T extends object, K extends AllKeysOf<T> = AllKeysOf<
|
|
582
571
|
*
|
583
572
|
* @internal
|
584
573
|
*/
|
585
|
-
export type NullishProps<T extends object
|
586
|
-
[
|
587
|
-
} & {
|
588
|
-
// Note(LukeAbby): This effectively inlines `Omit<T, K>`, hoping for slightly better type display.
|
589
|
-
[K2 in keyof T as Exclude<K2, K>]: T[K2];
|
574
|
+
export type NullishProps<T extends object> = {
|
575
|
+
[K in keyof T]?: T[K] | null | undefined;
|
590
576
|
};
|
591
577
|
|
592
578
|
/**
|
@@ -605,7 +591,7 @@ export type Expanded<O> = O extends AnyObject
|
|
605
591
|
* Union type of the types of the values in `T`
|
606
592
|
* @internal
|
607
593
|
*/
|
608
|
-
export type ValueOf<T> = T extends ReadonlyArray<infer V> ? V : T[keyof T];
|
594
|
+
export type ValueOf<T extends object> = T extends ReadonlyArray<infer V> ? V : T[keyof T];
|
609
595
|
|
610
596
|
type OmitIndex<K extends PropertyKey> = string extends K
|
611
597
|
? never
|
@@ -618,7 +604,7 @@ type OmitIndex<K extends PropertyKey> = string extends K
|
|
618
604
|
/**
|
619
605
|
* Gets the keys of `T` but excluding index signatures unlike `keyof T`. For example `Record<string, any> & { foo: number }` will produce `string` with `keyof` but `foo` with `ConcreteKeys`.
|
620
606
|
*/
|
621
|
-
export type ConcreteKeys<T> = T extends never
|
607
|
+
export type ConcreteKeys<T> = [T] extends [never]
|
622
608
|
? never
|
623
609
|
: keyof {
|
624
610
|
[K in keyof T as OmitIndex<K>]: never;
|
@@ -629,7 +615,7 @@ export type ConcreteKeys<T> = T extends never
|
|
629
615
|
*/
|
630
616
|
// NOTE(LukeAbby): It may seem easier to write `Pick<T, ConcreteKeys<T>>` but this stops it from being a homomorphic mapped type and regresses its power when given a generic type parameter or `this`.
|
631
617
|
// See: https://www.typescriptlang.org/play/?#code/KYDwDg9gTgLgBDAnmYcDCEB2BjKwbADSwiAzgDwAqAfHALxwDWJEAZnAN4BQccA2oTgBLTExbtKcAIak4pGFBEBzOKAKYAJrMEB+OJmAA3YFDgAufQFcAtgCMTqkOq1xd+ow4ulEdiABtHZ204PQNjUwtCAF0LMJMAbi4AX0SuJBQ4ACVgawhjAElNUABlISVMKRhLPAoaejgABSFsRioAGnQsXHwiElrqalTsPxlZABFKqQBZCA1gP3Ji7AALHKlabl454ak8OFy5vwts3IKikFLyyurgCiXV63Xkri4d0lliy1sZw8WVtcCwE0sg4cCUQJMzQaUAgYAsUkwiHi-EIXgUyhiVjsDiStDUQJcExg01m8z+D3WnB4+3wy1mAAoAJRU3i8AD0bLglGWQlkYBhKCgiDkdMsfg0jl58FslngGggt0wAHIYAA6am8GA80iqg7zVXggyKbDQ2GpVkIbW60l+VVSWzYRK8JLJIA
|
632
|
-
export type RemoveIndexSignatures<T extends
|
618
|
+
export type RemoveIndexSignatures<T extends object> = {
|
633
619
|
[K in keyof T as OmitIndex<K>]: T[K];
|
634
620
|
};
|
635
621
|
|
@@ -648,23 +634,59 @@ export type Titlecase<S extends string> = S extends `${infer A} ${infer B}`
|
|
648
634
|
* Nested properties of type `object` are merged recursively unless the property
|
649
635
|
* in `U` is an `Array`.
|
650
636
|
*
|
651
|
-
* @
|
652
|
-
* @
|
637
|
+
* @template T - The base type that `U` will be merged into.
|
638
|
+
* @template U - The type that will be merged into `T`.
|
639
|
+
*/
|
640
|
+
export type Merge<T, U> = U extends object ? (T extends object ? _Merge<T, U> : U) : U;
|
641
|
+
|
642
|
+
type _Merge<T extends object, U extends object> = T extends AnyArray
|
643
|
+
? U extends AnyArray
|
644
|
+
? MergeArray<T, U>
|
645
|
+
: _MergeObject<T, U>
|
646
|
+
: _MergeObject<T, U>;
|
647
|
+
|
648
|
+
type _MergeObject<T extends object, U extends object> = U extends AnyObject
|
649
|
+
? T extends AnyObject
|
650
|
+
? _MergePlainObject<T, U>
|
651
|
+
: _MergeComplexObject<T, U>
|
652
|
+
: _MergeComplexObject<T, U>;
|
653
|
+
|
654
|
+
type MergeArray<T extends AnyArray, U extends AnyArray> = number extends U["length"] | T["length"]
|
655
|
+
? Array<T[number] | U[number]>
|
656
|
+
: [...U, ...DropFirstN<T, U["length"]>];
|
657
|
+
|
658
|
+
type DropFirstN<
|
659
|
+
T extends AnyArray,
|
660
|
+
DropN extends number,
|
661
|
+
Accumulator extends AnyArray = [],
|
662
|
+
> = Accumulator["length"] extends DropN
|
663
|
+
? T
|
664
|
+
: T extends [unknown, ...infer Items]
|
665
|
+
? DropFirstN<Items, DropN, [...Accumulator, 1]>
|
666
|
+
: [];
|
667
|
+
|
668
|
+
// TODO(LukeAbby): This needs to be more complex as to account for stuff like optionality correctly.
|
669
|
+
type _MergePlainObject<T extends object, U extends object> = {
|
670
|
+
[K in keyof T as K extends keyof U ? never : K]: T[K];
|
671
|
+
} & {
|
672
|
+
[K in keyof U]: T extends { readonly [_ in K]?: infer V } ? Merge<V, U[K]> : U[K];
|
673
|
+
};
|
674
|
+
|
675
|
+
interface _MergeComplexObject<T extends object, U extends object> extends _Override<T, _MergePlainObject<T, U>> {}
|
676
|
+
|
677
|
+
/**
|
678
|
+
* Overrides properties of `T` with properties in `U`. Be careful using this type as its internal
|
679
|
+
* implementation is likely a bit shaky.
|
680
|
+
*
|
681
|
+
* Note: `U` must NOT be a union. If it is unexpected behavior may occur.
|
653
682
|
*/
|
654
|
-
export type
|
655
|
-
|
656
|
-
|
657
|
-
|
658
|
-
T,
|
659
|
-
{
|
660
|
-
[K in keyof U]: T extends { readonly [_ in K]?: infer V } ? Merge<V, U[K]> : U[K];
|
661
|
-
}
|
662
|
-
>
|
663
|
-
: U
|
664
|
-
: U;
|
683
|
+
export type Override<T extends object, U extends object> = T extends unknown ? _Override<T, U> : never;
|
684
|
+
|
685
|
+
// @ts-expect-error - This pattern is inherently an error.
|
686
|
+
interface _Override<T extends object, U extends object> extends U, T {}
|
665
687
|
|
666
688
|
/**
|
667
|
-
* Returns whether the type is a plain object. Excludes functions and
|
689
|
+
* Returns whether the type is a plain object. Excludes functions, arrays, and constructors while still being friendly to interfaces.
|
668
690
|
*
|
669
691
|
* @example
|
670
692
|
* ```ts
|
@@ -681,16 +703,12 @@ export type Merge<T, U> =
|
|
681
703
|
* type RecordFails = Interface extends Record<string, unknown> ? true : false; // false
|
682
704
|
* ```
|
683
705
|
*/
|
684
|
-
export type IsObject<T> = T extends
|
685
|
-
? T extends AnyArray | AnyFunction
|
686
|
-
? false
|
687
|
-
: true
|
688
|
-
: false;
|
706
|
+
export type IsObject<T> = T extends object ? (T extends AnyArray | AnyFunction | AnyConstructor ? false : true) : false;
|
689
707
|
|
690
708
|
/**
|
691
709
|
* A simple, non-recursive merge type.
|
692
|
-
* @
|
693
|
-
* @
|
710
|
+
* @template Target - the target type to merge into
|
711
|
+
* @template Override - the type whose properties override the ones in Target
|
694
712
|
*/
|
695
713
|
export type SimpleMerge<Target, Override> = Omit<Target, keyof Override> & Override;
|
696
714
|
|
@@ -729,13 +747,11 @@ export type GetDataReturnType<T extends object> = GetDataConfigOptions<T>[GetDat
|
|
729
747
|
* removes all properties rom an object, because an empty interface was given,
|
730
748
|
* or so on.
|
731
749
|
*
|
732
|
-
* Type params extend `object` instead of `AnyObject` to allow interfaces
|
733
|
-
*
|
734
750
|
* @example
|
735
751
|
* ```ts
|
736
752
|
* type ObjectArray<T extends Record<string, unknown>> = T[];
|
737
753
|
*
|
738
|
-
* // As you would hope a
|
754
|
+
* // As you would hope a string can't be assigned in a union or not. It errors with:
|
739
755
|
* // "type 'string' is not assignable to type 'Record<string, unknown>'."
|
740
756
|
* type UnionErrors = ObjectArray<string | { x: number }>;
|
741
757
|
*
|
@@ -752,8 +768,13 @@ export type GetDataReturnType<T extends object> = GetDataConfigOptions<T>[GetDat
|
|
752
768
|
* const emptyObject: EmptyObjectArray = [1, "foo", () => 3];
|
753
769
|
* ```
|
754
770
|
*/
|
755
|
-
|
756
|
-
|
771
|
+
export type HandleEmptyObject<O, D = EmptyObject> =
|
772
|
+
// Note(LukeAbby): This uses a strict equality test to differentiate types like `{ onlyOptional?: true }`
|
773
|
+
// and `object` from `{}`. More naive tests like `[{}] extends [O] ? ... : ...` fails these cases
|
774
|
+
// due to particular unsoundness rules around `{}`.
|
775
|
+
//
|
776
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-object-type
|
777
|
+
(<T>() => T extends {} ? true : false) extends <T>() => T extends O ? true : false ? D : O;
|
757
778
|
|
758
779
|
/**
|
759
780
|
* This type allows any plain objects. In other words it disallows functions
|
@@ -787,7 +808,7 @@ export type AnyMutableObject = {
|
|
787
808
|
/**
|
788
809
|
* Use this type to allow any array. This allows readonly arrays which is
|
789
810
|
* generally what you want. If you need a mutable array use the
|
790
|
-
* {@
|
811
|
+
* {@linkcode MutableArray} type instead of the builtin `T[]` or
|
791
812
|
* `Array` types. This allows us to be more explicit about intent.
|
792
813
|
*
|
793
814
|
* Consider being more specific if possible. You should generally try to use a
|
@@ -802,7 +823,7 @@ export type AnyArray = readonly unknown[];
|
|
802
823
|
/**
|
803
824
|
* Use this type to allow a mutable array of type `T`. Only use this if the
|
804
825
|
* array can be soundly mutated. Otherwise you should be using
|
805
|
-
* `readonly T[]` or {@
|
826
|
+
* `readonly T[]` or {@linkcode ReadonlyArray}
|
806
827
|
*/
|
807
828
|
export type MutableArray<T> = Array<T>;
|
808
829
|
|
@@ -820,17 +841,14 @@ export type MutableArray<T> = Array<T>;
|
|
820
841
|
* - `(...args: any[]) => any` - If someone explicitly accesses the parameters or uses the return value you get `any` which is not safe.
|
821
842
|
* - `(...args: unknown[]) => unknown` - This allows obviously unsound calls like `fn(1, "foo")` because it indicates it can take any arguments.
|
822
843
|
*/
|
823
|
-
|
824
|
-
// The point of this is to prevent it from being possible to call with 0 arguments.
|
825
|
-
// never is used to make it impossible to call with anything besides `never` or `any`. This makes it the most type safe way to define any function.
|
826
|
-
export type AnyFunction = (arg0: never, ...args: never[]) => unknown;
|
844
|
+
export type AnyFunction = (...args: never) => unknown;
|
827
845
|
|
828
846
|
/**
|
829
847
|
* Use this type to allow any class, abstract class, or class-like constructor.
|
830
848
|
*
|
831
|
-
* See {@
|
849
|
+
* See {@linkcode AnyConcreteConstructor} if you cannot
|
832
850
|
* allow abstract classes. Please also consider writing a comment
|
833
|
-
* explaining why {@
|
851
|
+
* explaining why {@linkcode AnyConcreteConstructor} is
|
834
852
|
* necessary.
|
835
853
|
*
|
836
854
|
* @example
|
@@ -842,7 +860,7 @@ export type AnyFunction = (arg0: never, ...args: never[]) => unknown;
|
|
842
860
|
* const classLike: AnyConstructor = Date;
|
843
861
|
* ```
|
844
862
|
*/
|
845
|
-
export type AnyConstructor = abstract new (
|
863
|
+
export type AnyConstructor = abstract new (...args: never) => unknown;
|
846
864
|
|
847
865
|
/**
|
848
866
|
* Use this type to allow any class or class-like constructor but disallow
|
@@ -850,7 +868,7 @@ export type AnyConstructor = abstract new (arg0: never, ...args: never[]) => unk
|
|
850
868
|
*
|
851
869
|
* Use this type only when abstract classes would be problematic such as the
|
852
870
|
* base type of a mixin. Please consider writing a comment explaining why.
|
853
|
-
* See {@
|
871
|
+
* See {@linkcode AnyConstructor} to also allow abstract classes.
|
854
872
|
*
|
855
873
|
* @example
|
856
874
|
* ```ts
|
@@ -863,31 +881,31 @@ export type AnyConstructor = abstract new (arg0: never, ...args: never[]) => unk
|
|
863
881
|
* const abstract: AnyConcreteConstructor = abstract class Abstract { ... }
|
864
882
|
* ```
|
865
883
|
*/
|
866
|
-
export type AnyConcreteConstructor = new (
|
884
|
+
export type AnyConcreteConstructor = new (...args: never) => unknown;
|
867
885
|
|
868
886
|
/**
|
869
887
|
* This type is equivalent to `Promise<T>` but exists to give an explicit signal
|
870
888
|
* that this is not a mistake. When Foundry accepts an asynchronous callback the
|
871
|
-
* vast majority of the time it is best to use {@
|
889
|
+
* vast majority of the time it is best to use {@linkcode MaybePromise}.
|
872
890
|
*
|
873
891
|
* By doing it this way the maximum flexibility is given to the definer of the
|
874
892
|
* callback. This is okay because typically asynchronous callbacks are simply
|
875
893
|
* awaited, meaning that there's no noticeable difference between a `Promise`
|
876
|
-
* and {@
|
877
|
-
* {@
|
878
|
-
* with {@
|
894
|
+
* and {@linkcode MaybePromise}. Even functions like
|
895
|
+
* {@linkcode Promise.allSettled} function correctly
|
896
|
+
* with {@linkcode MaybePromise}.
|
879
897
|
*
|
880
|
-
* Do not use this type or {@
|
898
|
+
* Do not use this type or {@linkcode MaybePromise} for the return
|
881
899
|
* type of asynchronous methods on classes. For example for
|
882
900
|
* {@link foundry.abstract.Document._preCreate | `Document#_preCreate`} the typing
|
883
901
|
* should be `Promise<void>` and not this type. In theory we could use
|
884
|
-
* {@
|
902
|
+
* {@linkcode MaybePromise} in this context as well but this seems
|
885
903
|
* more likely to be confusing than to be helpful.
|
886
904
|
*
|
887
905
|
* Use this type only in the rare case where a callback's return type must be a
|
888
906
|
* `Promise`, for example if `promise.then` or `promise.catch` is explicitly
|
889
907
|
* called. Please also writing a comment explaining why
|
890
|
-
* {@
|
908
|
+
* {@linkcode MaybePromise} is problematic in this context.
|
891
909
|
*/
|
892
910
|
export type MustBePromise<T> = Promise<T>;
|
893
911
|
|
@@ -897,7 +915,7 @@ export type MustBePromise<T> = Promise<T>;
|
|
897
915
|
* callback instead.
|
898
916
|
*
|
899
917
|
* If it is not sound to provide a non-Promise for whatever reason, see
|
900
|
-
* {@
|
918
|
+
* {@linkcode MustBePromise} to declare this more explicitly than simply writing
|
901
919
|
* `Promise<T>`.
|
902
920
|
*
|
903
921
|
* This should generally not be used in asynchronous methods. For example in
|
@@ -931,13 +949,11 @@ export type NonNullish = {};
|
|
931
949
|
*
|
932
950
|
* Use instead of `{}` when you want to represent an empty object. `{}` actually
|
933
951
|
* allows any type that is not `null` or `undefined`. see
|
934
|
-
* {@
|
952
|
+
* {@linkcode NonNullish} if you want that behavior.
|
935
953
|
*/
|
936
954
|
// It would be unsound to merge into so an interface is not used.
|
937
955
|
export type EmptyObject = Record<string, never>;
|
938
956
|
|
939
|
-
declare const empty: unique symbol;
|
940
|
-
|
941
957
|
/**
|
942
958
|
* This helper type helps emulate index signatures for types with incompatible concrete keys.
|
943
959
|
*
|
@@ -975,12 +991,6 @@ export type ShapeWithIndexSignature<
|
|
975
991
|
readonly [K in keyof T & IndexSignature]: K extends keyof PrimaryShape ? PrimaryShape[K] : IndexType;
|
976
992
|
};
|
977
993
|
|
978
|
-
/**
|
979
|
-
* Defer is a utility type that allows you to defer the evaluation of a type.
|
980
|
-
* The use cases for this are extremely advanced. In essence they have to do with breaking cycles in evaluation.
|
981
|
-
*/
|
982
|
-
export type Defer<T> = [T][T extends any ? 0 : never];
|
983
|
-
|
984
994
|
export type MustBeValidUuid<Uuid extends string, Type extends Document.Type = Document.Type> = _MustBeValidUuid<
|
985
995
|
Uuid,
|
986
996
|
Uuid,
|
@@ -1021,11 +1031,6 @@ type _MustBeValidUuid<
|
|
1021
1031
|
: InvalidUuid<OriginalUuid>
|
1022
1032
|
: `${Type}.${string}` | `${string}.${string}.${Type}.${string}`;
|
1023
1033
|
|
1024
|
-
/**
|
1025
|
-
* Drops the first element of an array
|
1026
|
-
*/
|
1027
|
-
type DropFirst<T extends AnyArray> = T extends [infer _1, ...infer V] ? V : T;
|
1028
|
-
|
1029
1034
|
/**
|
1030
1035
|
* This type is used when you want to use `unknown` in a union. This works because while `T | unknown`
|
1031
1036
|
* will reduce to `unknown`. However by comparison the only way that `T | LazyUnknown` can reduce is
|
@@ -1038,7 +1043,7 @@ type DropFirst<T extends AnyArray> = T extends [infer _1, ...infer V] ? V : T;
|
|
1038
1043
|
*
|
1039
1044
|
* The type `{}` isn't actually the type for an empty object. It allows anything except
|
1040
1045
|
* `null`/`undefined` which is why `{} | null | undefined` allows anything to be assigned to it.
|
1041
|
-
* See {@
|
1046
|
+
* See {@linkcode NonNullish} for a further explanation on why `{}` allows anything
|
1042
1047
|
* besides `null`/`undefined`.
|
1043
1048
|
*/
|
1044
1049
|
export type LazyUnknown = NonNullish | null | undefined;
|
@@ -1086,6 +1091,319 @@ export type Coalesce<T, D, CoalesceType = undefined> = T extends CoalesceType ?
|
|
1086
1091
|
|
1087
1092
|
/**
|
1088
1093
|
* Coalesces specifically `null | undefined`. Behaves like `??` does at runtime.
|
1089
|
-
* See {@
|
1094
|
+
* See {@linkcode Coalesce}.
|
1090
1095
|
*/
|
1091
1096
|
export type NullishCoalesce<T, D> = T extends null | undefined ? D : T;
|
1097
|
+
|
1098
|
+
export interface EarlierHook {
|
1099
|
+
none: never;
|
1100
|
+
init: "none";
|
1101
|
+
i18nInit: "none" | "init";
|
1102
|
+
setup: "none" | "init" | "i18nInit";
|
1103
|
+
ready: "none" | "init" | "i18nInit" | "setup";
|
1104
|
+
}
|
1105
|
+
|
1106
|
+
/**
|
1107
|
+
* A hook that's valid to use in {@linkcode AssumeHookRan}
|
1108
|
+
*/
|
1109
|
+
export type InitializationHook = keyof EarlierHook;
|
1110
|
+
|
1111
|
+
/**
|
1112
|
+
* All hooks ran so far.
|
1113
|
+
*
|
1114
|
+
* @example
|
1115
|
+
* ```ts
|
1116
|
+
* HooksRan<never>; // never
|
1117
|
+
* HooksRan<"none">; // "none"
|
1118
|
+
* HooksRan<"init">; // "none" | "init"
|
1119
|
+
* HooksRan<"i18nInit">; // "none" | "init" | "i18nInit"
|
1120
|
+
* HooksRan<"setup">; // "none" | "init" | "i18nInit" | "setup"
|
1121
|
+
* HooksRan<"ready">; // "none" | "init" | "i18nInit" | "setup" | "ready"
|
1122
|
+
* ```
|
1123
|
+
*/
|
1124
|
+
export type HooksRan<T extends InitializationHook> = EarlierHook[T] | T;
|
1125
|
+
type ValidHooksRan = Extract<keyof AssumeHookRan, InitializationHook>;
|
1126
|
+
|
1127
|
+
/**
|
1128
|
+
* Various things within Foundry are only initialized after a certain hook is ran.
|
1129
|
+
* `InitializedOn` is useful to help model this pattern.
|
1130
|
+
*/
|
1131
|
+
export type InitializedOn<
|
1132
|
+
InitializedTo,
|
1133
|
+
InitializedOnHook extends InitializationHook,
|
1134
|
+
BeforeInitialization = InitializedTo | undefined,
|
1135
|
+
> = [InitializedOnHook] extends [HooksRan<ValidHooksRan>] ? InitializedTo : BeforeInitialization;
|
1136
|
+
|
1137
|
+
/**
|
1138
|
+
* Returns the inputted type. This may seem like a useless type but it exists due to limitations
|
1139
|
+
* with the syntax of TypeScript interfaces. For example it's a syntax error to write
|
1140
|
+
* `interface Example extends typeof SomeClass {}` but `typeof SomeClass` is a reasonable base type
|
1141
|
+
* so to work around this you can write `interface Example extends Identity<typeof SomeClass> {}`
|
1142
|
+
*/
|
1143
|
+
export type Identity<T extends object> = T;
|
1144
|
+
|
1145
|
+
/**
|
1146
|
+
* ### Usage
|
1147
|
+
*
|
1148
|
+
* Note: See "Background" for an explanation of what a "Discriminated Union" is.
|
1149
|
+
*
|
1150
|
+
* Use `DiscriminatedUnion` when you want to turn a regular union into a discriminated union. The form
|
1151
|
+
* this helper type chooses is
|
1152
|
+
* `{ prop1: number; readonly prop2?: never } | { readonly prop1?: never; prop2: string }` as this
|
1153
|
+
* is the strictest form of a discriminated union. `readonly prop1?: never` is very similar to
|
1154
|
+
* `prop1?: undefined` but `never` is used because with
|
1155
|
+
* [`exactOptionalPropertyTypes`](https://www.typescriptlang.org/tsconfig/exactOptionalPropertyTypes.html)
|
1156
|
+
* there is an actual difference and `readonly` is there because it prevents erroneous mutation.
|
1157
|
+
*
|
1158
|
+
* Please note that this type is unsound when you don't know for sure the union can't have
|
1159
|
+
* excess properties that interfere with other constituents. For a basic example of this unsoundness:
|
1160
|
+
* ```ts
|
1161
|
+
* function selectRandom<T, U>(array1: T, array2: U): DiscrimatedUnion<T | U> {
|
1162
|
+
* return (Math.random() > 0.5 ? array1 : array2) as DiscrimatedUnion<T | U>;
|
1163
|
+
* }
|
1164
|
+
*
|
1165
|
+
* const obj1 = { prop1: "foo" };
|
1166
|
+
* const obj2: { prop2: number } = { prop1: 1, prop2: "bar" };
|
1167
|
+
*
|
1168
|
+
* const discriminatedUnion = selectRandom(obj1, obj2)
|
1169
|
+
*
|
1170
|
+
* // If `selectRandom` returned `T | U` then `discriminatedUnion.prop1` would error.
|
1171
|
+
* // However because of unsoundly using `DiscrimatedUnion` it doesn't.
|
1172
|
+
* const prop1 = discriminatedUnion.prop1;
|
1173
|
+
* // ^ `string | undefined`.
|
1174
|
+
*
|
1175
|
+
* console.log(prop1 !== undefined ? prop1.length : 0);
|
1176
|
+
* // ^ Runtime error the 50% of the time that `prop1` is actually `1` at runtime
|
1177
|
+
* ```
|
1178
|
+
*
|
1179
|
+
* ### Background
|
1180
|
+
*
|
1181
|
+
* A common unintuitive behavior of unions in TypeScript is that if a property only exists on some
|
1182
|
+
* members of the union, then access on that property is not allowed:
|
1183
|
+
* ```typescript
|
1184
|
+
* const member1 = { prop1: "foo" };
|
1185
|
+
* const member2 = { prop2: 1 };
|
1186
|
+
* const union = Math.random() > 0.5 ? member1 : member2;
|
1187
|
+
* // ^ { prop1: string; } | { prop2: number; }
|
1188
|
+
*
|
1189
|
+
* const prop1 = union.prop1;
|
1190
|
+
* ```
|
1191
|
+
*
|
1192
|
+
* This snippet errors at `union.prop1` with:
|
1193
|
+
* ```
|
1194
|
+
* Property 'prop1' does not exist on type '{ prop1: number; } | { prop2: number; }'.
|
1195
|
+
* Property 'prop1' does not exist on type '{ prop2: number; }'.`
|
1196
|
+
* ```
|
1197
|
+
*
|
1198
|
+
* This error is not very good at explaining why the result can't simply be `number | undefined` but
|
1199
|
+
* it can't simply be relaxed. To understand why you need to know that excess properties can always
|
1200
|
+
* be assigned to an object. To demonstrate:
|
1201
|
+
* ```ts
|
1202
|
+
* function takesObj(obj: { prop1: number }) { ... }
|
1203
|
+
*
|
1204
|
+
* // You may think excess properties aren't allowed because when you try to write code like this,
|
1205
|
+
* // it errors.
|
1206
|
+
* takesObj({ prop1: 1, prop2: "foo" });
|
1207
|
+
* // ^ Object literal may only specify known properties, but 'prop2' does not exist in type '{ prop1: number; }'. Did you mean to write 'prop1'?
|
1208
|
+
*
|
1209
|
+
* // However this is more of a "lint" than a hard error.
|
1210
|
+
* const obj = { prop1: 1, prop2: "foo" };
|
1211
|
+
* takesObj(obj); // No error
|
1212
|
+
* ```
|
1213
|
+
*
|
1214
|
+
* This means that the type of `union.prop1` would have to be `unknown` at best because at runtime
|
1215
|
+
* there could be any excess properties of any type.
|
1216
|
+
*
|
1217
|
+
* ### Discriminated Unions
|
1218
|
+
*
|
1219
|
+
* Discriminated unions are a way to get around this issue. There's several possible ways to express
|
1220
|
+
* discriminated unions but the most common version is
|
1221
|
+
* `{ prop1: number; prop2?: never } | { prop1?: never; prop1: number }`. The key idea is to
|
1222
|
+
* put a property that ensures that `undefined` will be read out. Using `never` specifically avoids
|
1223
|
+
* some niche issues.
|
1224
|
+
*
|
1225
|
+
* In fact TypeScript will automatically create a discriminated union in some cases. For example if
|
1226
|
+
* you simplify the snippet above:
|
1227
|
+
* ```typescript
|
1228
|
+
* const discriminatedUnion = Math.random() > 0.5 ? { prop1: 1 } : { prop2: 2 };
|
1229
|
+
* // ^ { prop1: number; prop2?: undefined } | { prop2: number; prop1?: undefined }
|
1230
|
+
*
|
1231
|
+
* const prop1 = discriminatedUnion.prop1;
|
1232
|
+
* // ^ number | undefined
|
1233
|
+
* ```
|
1234
|
+
*
|
1235
|
+
* You'll see TypeScript now has enough information to give `discriminatedUnion` a better type than
|
1236
|
+
* `union` had which now makes `discriminatedUnion.prop1` work.
|
1237
|
+
*
|
1238
|
+
* See:
|
1239
|
+
*
|
1240
|
+
* {@link https://www.typescriptlang.org/docs/handbook/2/narrowing.html#discriminated-unions}
|
1241
|
+
*
|
1242
|
+
* {@link https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes-func.html#discriminated-unions}
|
1243
|
+
*/
|
1244
|
+
export type DiscriminatedUnion<U extends object> = _DiscriminatedUnion<U, AllKeysOf<U>>;
|
1245
|
+
|
1246
|
+
// Note(LukeAbby): The `extends object` is effectively the same as `extends unknown` but used here
|
1247
|
+
// to keep `Document.SystemOfType<Document.ModuleSubType>` from being `unknown` in dependencies.
|
1248
|
+
// Inlining `Extract<..., object>` by comparison causes issues, specifically in not counting as
|
1249
|
+
// covaraint. This isn't an ideal change to make but it works.
|
1250
|
+
type _DiscriminatedUnion<U extends object, AllKeys extends AllKeysOf<U>> = U extends object
|
1251
|
+
? [Exclude<AllKeys, keyof U>] extends [never]
|
1252
|
+
? U
|
1253
|
+
: U & {
|
1254
|
+
readonly [K in Exclude<AllKeys, keyof U>]?: never;
|
1255
|
+
}
|
1256
|
+
: never;
|
1257
|
+
|
1258
|
+
/**
|
1259
|
+
* Picks keys where the value extends `Value`
|
1260
|
+
*
|
1261
|
+
* @example
|
1262
|
+
* ```typescript
|
1263
|
+
* type Picked = PickValue<{ type: "coordinates"; x: 123; y: 456; }, number>;
|
1264
|
+
* // ^ { x: 123; y: 456 }
|
1265
|
+
* ```
|
1266
|
+
*/
|
1267
|
+
export type PickValue<T extends object, Value> = {
|
1268
|
+
[K in keyof T as T[K] extends Value ? K : never]: T[K];
|
1269
|
+
};
|
1270
|
+
|
1271
|
+
/**
|
1272
|
+
* Represents a valid JSON value.
|
1273
|
+
*/
|
1274
|
+
export type JSONValue =
|
1275
|
+
| {
|
1276
|
+
readonly [K: string]: JSONValue;
|
1277
|
+
}
|
1278
|
+
| readonly JSONValue[]
|
1279
|
+
| number
|
1280
|
+
| string
|
1281
|
+
| boolean
|
1282
|
+
| null
|
1283
|
+
| undefined;
|
1284
|
+
|
1285
|
+
/**
|
1286
|
+
* This type represents a constructor such that `typeof SomeConstructor & PhantomConstructor`
|
1287
|
+
* simplifies to `typeof SomeConstructor`.
|
1288
|
+
*/
|
1289
|
+
export type PhantomConstructor = new (...args: any[]) => unknown;
|
1290
|
+
|
1291
|
+
/**
|
1292
|
+
* Effectively equivalent to `str.split(delimiter)` at the type level.
|
1293
|
+
*/
|
1294
|
+
export type SplitString<S extends string, Delimiter extends string> = Delimiter extends ""
|
1295
|
+
? ToCharacters<S>
|
1296
|
+
: _SplitString<S, Delimiter>;
|
1297
|
+
|
1298
|
+
type ToCharacters<S, Return extends string[] = []> = S extends `${infer C}${infer Rest}`
|
1299
|
+
? ToCharacters<Rest, [...Return, C]>
|
1300
|
+
: Return;
|
1301
|
+
|
1302
|
+
type _SplitString<
|
1303
|
+
S extends string,
|
1304
|
+
Delimiter extends string,
|
1305
|
+
Return extends string[] = [],
|
1306
|
+
> = S extends `${infer Prefix}${Delimiter}${infer Suffix}`
|
1307
|
+
? _SplitString<Suffix, Delimiter, [...Return, Prefix]>
|
1308
|
+
: S extends ""
|
1309
|
+
? []
|
1310
|
+
: [...Return, S];
|
1311
|
+
|
1312
|
+
export type DeepReadonly<T extends object> = T extends AnyObject | AnyArray
|
1313
|
+
? { readonly [K in keyof T]: _DeepReadonly<T[K]> }
|
1314
|
+
: DeepReadonlyComplex<T>;
|
1315
|
+
|
1316
|
+
type _DeepReadonly<T> = T extends object ? DeepReadonly<T> : T;
|
1317
|
+
|
1318
|
+
interface DeepReadonlyComplex<T extends object> extends _DeepReadonlyComplex<T> {}
|
1319
|
+
|
1320
|
+
// @ts-expect-error - This pattern is intrinsically an error.
|
1321
|
+
// Note(LukeAbby): The two levels here, `DeepReadonlyComplex` and `_DeepReadonlyComplex`, could just be one.
|
1322
|
+
// However it gives a better type display as two levels.
|
1323
|
+
interface _DeepReadonlyComplex<T extends object, R extends object = { readonly [K in keyof T]: _DeepReadonly<T[K]> }>
|
1324
|
+
extends R,
|
1325
|
+
T {}
|
1326
|
+
|
1327
|
+
/**
|
1328
|
+
* Currently indistinguishable from `DotKeys` but will eventually avoid `readonly` keys.
|
1329
|
+
*/
|
1330
|
+
export type MutableDotKeys<T extends object> = DotKeys<T>;
|
1331
|
+
|
1332
|
+
/**
|
1333
|
+
* Currently indistinguishable from `DotKeys` but will eventually avoid keys that can't be deleted.
|
1334
|
+
*/
|
1335
|
+
export type DeletableDotKeys<T extends object> = DotKeys<T>;
|
1336
|
+
|
1337
|
+
/**
|
1338
|
+
* Gets the valid dotkeys for `T`. Currently only gets keys that are in all items in a union. Later
|
1339
|
+
* configuration to loosen this will exist.
|
1340
|
+
*/
|
1341
|
+
export type DotKeys<T extends object> = {
|
1342
|
+
[K in keyof T]: K | (K extends string ? _DotKeys<T[K], `${K}.`, [T]> : never);
|
1343
|
+
}[keyof T];
|
1344
|
+
|
1345
|
+
type _DotKeys<T, Prefix extends string = "", Stack extends unknown[] = []> = T extends object
|
1346
|
+
? true extends InStack<T, Stack, 10>
|
1347
|
+
? never
|
1348
|
+
: {
|
1349
|
+
[K in keyof T]: K extends string ? `${Prefix}${K}` | _DotKeys<T[K], `${Prefix}${K}.`, [T, ...Stack]> : never;
|
1350
|
+
}[keyof T]
|
1351
|
+
: never;
|
1352
|
+
|
1353
|
+
type InStack<T, Stack extends unknown[], MaxDepth extends number = 99> = Stack["length"] extends MaxDepth
|
1354
|
+
? true
|
1355
|
+
: {
|
1356
|
+
[K in keyof Stack & `${number}`]: IdentityEquals<T, Stack[K]>;
|
1357
|
+
}[keyof Stack & `${number}`];
|
1358
|
+
|
1359
|
+
type IdentityEquals<T, U> =
|
1360
|
+
(<V>() => V extends T ? true : false) extends <V>() => V extends U ? true : false ? true : false;
|
1361
|
+
|
1362
|
+
/**
|
1363
|
+
* Gets a dot property on `T`.
|
1364
|
+
*/
|
1365
|
+
export type GetProperty<T extends object, K extends DotKeys<T>> = _GetProperty<T, K>;
|
1366
|
+
|
1367
|
+
/**
|
1368
|
+
* This is causing an issue with TS-Go. See https://github.com/microsoft/typescript-go/issues/1278.
|
1369
|
+
*/
|
1370
|
+
type _GetProperty<T, K, Depth extends number[] = []> = K extends keyof T
|
1371
|
+
? T[K]
|
1372
|
+
: K extends `${infer First}.${infer Rest}`
|
1373
|
+
? First extends keyof T
|
1374
|
+
? _GetProperty<T[First], Rest, [1, ...Depth]>
|
1375
|
+
: never
|
1376
|
+
: never;
|
1377
|
+
|
1378
|
+
/**
|
1379
|
+
* @deprecated Replaced by {@linkcode Document.SheetClassFor}
|
1380
|
+
*/
|
1381
|
+
export type ConfiguredSheetClass<T extends Document.AnyConstructor> = GetKey<
|
1382
|
+
GetKey<CONFIG, T["metadata"]["name"]>,
|
1383
|
+
"sheetClass",
|
1384
|
+
T
|
1385
|
+
>;
|
1386
|
+
|
1387
|
+
/**
|
1388
|
+
* @deprecated Replaced by {@linkcode Document.ObjectClassFor}
|
1389
|
+
*/
|
1390
|
+
export type ObjectClass<T extends Document.AnyConstructor> = GetKey<
|
1391
|
+
GetKey<CONFIG, T["metadata"]["name"]>,
|
1392
|
+
"objectClass",
|
1393
|
+
T
|
1394
|
+
>;
|
1395
|
+
|
1396
|
+
/**
|
1397
|
+
* @deprecated Replaced by {@linkcode Document.LayerClassFor}
|
1398
|
+
*/
|
1399
|
+
export type LayerClass<T extends Document.AnyConstructor> = GetKey<
|
1400
|
+
GetKey<CONFIG, T["metadata"]["name"]>,
|
1401
|
+
"layerClass",
|
1402
|
+
T
|
1403
|
+
>;
|
1404
|
+
|
1405
|
+
/**
|
1406
|
+
* Actual document types that go in folders
|
1407
|
+
* @deprecated No replacement as this was deemed too niche.
|
1408
|
+
*/
|
1409
|
+
export type FolderDocumentTypes = Exclude<foundry.CONST.FOLDER_DOCUMENT_TYPES, "Compendium">;
|