@league-of-foundry-developers/foundry-vtt-types 12.331.3-beta → 12.331.5
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 -18
- package/package.json +91 -32
- package/src/configuration/configuration.d.mts +316 -0
- package/src/configuration/documents.d.mts +295 -0
- package/src/configuration/globals.d.mts +357 -0
- package/src/configuration/index.d.mts +5 -0
- package/src/foundry/client/apps/app.d.mts +129 -122
- package/src/foundry/client/apps/av/av-config.d.mts +12 -7
- package/src/foundry/client/apps/av/cameras.d.mts +12 -7
- package/src/foundry/client/apps/dice/dice-config.d.mts +59 -0
- package/src/foundry/client/apps/dice/index.d.mts +1 -0
- package/src/foundry/client/apps/form.d.mts +114 -86
- package/src/foundry/client/apps/forms/actor.d.mts +21 -11
- package/src/foundry/client/apps/forms/adventure-exporter.d.mts +12 -7
- package/src/foundry/client/apps/forms/adventure-importer.d.mts +14 -6
- package/src/foundry/client/apps/forms/base-sheet.d.mts +16 -8
- package/src/foundry/client/apps/forms/card-config.d.mts +16 -8
- package/src/foundry/client/apps/forms/cards-config.d.mts +15 -14
- package/src/foundry/client/apps/forms/combat-config.d.mts +7 -7
- package/src/foundry/client/apps/forms/combatant-config.d.mts +3 -3
- package/src/foundry/client/apps/forms/default-sheets-config.d.mts +1 -1
- package/src/foundry/client/apps/forms/effect-config.d.mts +7 -7
- package/src/foundry/client/apps/forms/folder-config.d.mts +10 -5
- package/src/foundry/client/apps/forms/fonts.d.mts +42 -35
- package/src/foundry/client/apps/forms/grid-config.d.mts +12 -13
- package/src/foundry/client/apps/forms/image-popout.d.mts +29 -23
- package/src/foundry/client/apps/forms/item.d.mts +9 -9
- package/src/foundry/client/apps/forms/journal-page-sheet.d.mts +16 -14
- package/src/foundry/client/apps/forms/journal-sheet.d.mts +48 -38
- package/src/foundry/client/apps/forms/macro-config.d.mts +7 -7
- package/src/foundry/client/apps/forms/measure-template.d.mts +10 -12
- package/src/foundry/client/apps/forms/ownership.d.mts +5 -5
- package/src/foundry/client/apps/forms/playlist-config.d.mts +8 -10
- package/src/foundry/client/apps/forms/playlist-sound-config.d.mts +7 -7
- package/src/foundry/client/apps/forms/roll-table-config.d.mts +11 -10
- package/src/foundry/client/apps/forms/scene-config.d.mts +40 -41
- package/src/foundry/client/apps/forms/sheet-config.d.mts +9 -21
- package/src/foundry/client/apps/forms/user-config.d.mts +13 -12
- package/src/foundry/client/apps/hud/chatbubble.d.mts +18 -6
- package/src/foundry/client/apps/hud/container.d.mts +4 -4
- package/src/foundry/client/apps/hud/controls.d.mts +126 -81
- package/src/foundry/client/apps/hud/hotbar.d.mts +17 -12
- package/src/foundry/client/apps/hud/hud.d.mts +5 -5
- package/src/foundry/client/apps/hud/menu.d.mts +10 -3
- package/src/foundry/client/apps/hud/navigation.d.mts +14 -9
- package/src/foundry/client/apps/hud/pause.d.mts +9 -4
- package/src/foundry/client/apps/hud/players.d.mts +14 -9
- package/src/foundry/client/apps/i18n.d.mts +31 -27
- package/src/foundry/client/apps/index.d.mts +1 -0
- package/src/foundry/client/apps/placeables/drawing-config.d.mts +41 -33
- package/src/foundry/client/apps/placeables/drawing-hud.d.mts +5 -5
- package/src/foundry/client/apps/placeables/index.d.mts +0 -2
- package/src/foundry/client/apps/placeables/note-config.d.mts +28 -18
- package/src/foundry/client/apps/placeables/tile-config.d.mts +23 -10
- package/src/foundry/client/apps/placeables/tile-hud.d.mts +10 -5
- package/src/foundry/client/apps/placeables/token-config.d.mts +91 -58
- package/src/foundry/client/apps/placeables/token-hud.d.mts +12 -7
- package/src/foundry/client/apps/placeables/wall-config.d.mts +21 -17
- package/src/foundry/client/apps/sidebar/apps/chat-popout.d.mts +5 -5
- package/src/foundry/client/apps/sidebar/apps/client-settings.d.mts +3 -3
- package/src/foundry/client/apps/sidebar/apps/compendium.d.mts +15 -13
- package/src/foundry/client/apps/sidebar/apps/invitation-links.d.mts +3 -3
- package/src/foundry/client/apps/sidebar/apps/keybindings-config.d.mts +3 -2
- package/src/foundry/client/apps/sidebar/apps/module-management.d.mts +6 -6
- package/src/foundry/client/apps/sidebar/apps/permission-config.d.mts +6 -6
- package/src/foundry/client/apps/sidebar/apps/support-details.d.mts +34 -29
- package/src/foundry/client/apps/sidebar/apps/tours-management.d.mts +2 -2
- package/src/foundry/client/apps/sidebar/apps/world-config.d.mts +13 -10
- package/src/foundry/client/apps/sidebar/directory-tab-mixin.d.mts +50 -35
- package/src/foundry/client/apps/sidebar/document-directory.d.mts +52 -38
- package/src/foundry/client/apps/sidebar/package-configuration.d.mts +4 -4
- package/src/foundry/client/apps/sidebar/sidebar-tab.d.mts +3 -3
- package/src/foundry/client/apps/sidebar/sidebar.d.mts +9 -4
- package/src/foundry/client/apps/sidebar/tabs/actors-directory.d.mts +11 -2
- package/src/foundry/client/apps/sidebar/tabs/cards-directory.d.mts +11 -2
- package/src/foundry/client/apps/sidebar/tabs/chat-log.d.mts +39 -27
- package/src/foundry/client/apps/sidebar/tabs/combat-tracker.d.mts +21 -12
- package/src/foundry/client/apps/sidebar/tabs/compendium-directory.d.mts +30 -15
- package/src/foundry/client/apps/sidebar/tabs/items-directory.d.mts +11 -2
- package/src/foundry/client/apps/sidebar/tabs/journal-directory.d.mts +11 -2
- package/src/foundry/client/apps/sidebar/tabs/macros-directory.d.mts +14 -5
- package/src/foundry/client/apps/sidebar/tabs/playlists-directory.d.mts +30 -22
- package/src/foundry/client/apps/sidebar/tabs/roll-table-directory.d.mts +11 -2
- package/src/foundry/client/apps/sidebar/tabs/scenes-directory.d.mts +14 -5
- package/src/foundry/client/apps/sidebar/tabs/settings.d.mts +23 -5
- package/src/foundry/client/apps/templates.d.mts +1 -1
- package/src/foundry/client/av/client.d.mts +1 -1
- package/src/foundry/client/av/clients/simplepeer.d.mts +11 -1
- package/src/foundry/client/av/master.d.mts +2 -2
- package/src/foundry/client/av/settings.d.mts +17 -15
- package/src/foundry/client/config.d.mts +444 -312
- package/src/foundry/client/core/document-index.d.mts +11 -3
- package/src/foundry/client/core/hooks.d.mts +2 -4
- package/src/foundry/client/core/image.d.mts +14 -13
- package/src/foundry/client/core/issues.d.mts +9 -4
- package/src/foundry/client/core/keybindings.d.mts +5 -5
- package/src/foundry/client/core/nue.d.mts +1 -1
- package/src/foundry/client/core/packages.d.mts +400 -62
- package/src/foundry/client/core/settings.d.mts +62 -38
- package/src/foundry/client/core/socket.d.mts +2 -2
- package/src/foundry/client/core/sorting.d.mts +6 -6
- package/src/foundry/client/core/time.d.mts +6 -3
- package/src/foundry/client/core/tooltip.d.mts +2 -2
- package/src/foundry/client/core/tour.d.mts +59 -50
- package/src/foundry/client/core/tours.d.mts +1 -1
- package/src/foundry/client/core/utils.d.mts +33 -10
- package/src/foundry/client/core/video.d.mts +1 -1
- package/src/foundry/client/core/workers.d.mts +24 -17
- package/src/foundry/client/data/abstract/canvas-document.d.mts +22 -28
- package/src/foundry/client/data/abstract/client-document.d.mts +238 -206
- package/src/foundry/client/data/abstract/directory-collection-mixin.d.mts +24 -40
- package/src/foundry/client/data/abstract/document-collection.d.mts +96 -68
- package/src/foundry/client/data/abstract/world-collection.d.mts +53 -54
- package/src/foundry/client/data/collections/actors.d.mts +30 -28
- package/src/foundry/client/data/collections/cards.d.mts +16 -3
- package/src/foundry/client/data/collections/combats.d.mts +18 -5
- package/src/foundry/client/data/collections/compendium-collection.d.mts +84 -101
- package/src/foundry/client/data/collections/compendium-folders.d.mts +6 -6
- package/src/foundry/client/data/collections/compendium-packs.d.mts +5 -5
- package/src/foundry/client/data/collections/fog.d.mts +16 -3
- package/src/foundry/client/data/collections/folder.d.mts +20 -6
- package/src/foundry/client/data/collections/items.d.mts +17 -4
- package/src/foundry/client/data/collections/journal.d.mts +22 -7
- package/src/foundry/client/data/collections/macros.d.mts +21 -19
- package/src/foundry/client/data/collections/messages.d.mts +19 -6
- package/src/foundry/client/data/collections/playlists.d.mts +17 -5
- package/src/foundry/client/data/collections/scenes.d.mts +24 -27
- package/src/foundry/client/data/collections/settings.d.mts +16 -3
- package/src/foundry/client/data/collections/tables.d.mts +18 -5
- package/src/foundry/client/data/collections/users.d.mts +22 -10
- package/src/foundry/client/data/documents/active-effect.d.mts +780 -112
- package/src/foundry/client/data/documents/actor-delta.d.mts +705 -31
- package/src/foundry/client/data/documents/actor.d.mts +806 -98
- package/src/foundry/client/data/documents/adventure.d.mts +522 -59
- package/src/foundry/client/data/documents/ambient-light.d.mts +427 -20
- package/src/foundry/client/data/documents/ambient-sound.d.mts +478 -14
- package/src/foundry/client/data/documents/card.d.mts +598 -44
- package/src/foundry/client/data/documents/cards.d.mts +862 -169
- package/src/foundry/client/data/documents/chat-message.d.mts +668 -77
- package/src/foundry/client/data/documents/combat.d.mts +757 -107
- package/src/foundry/client/data/documents/combatant.d.mts +545 -32
- package/src/foundry/client/data/documents/drawing.d.mts +545 -14
- package/src/foundry/client/data/documents/fog-exploration.d.mts +465 -30
- package/src/foundry/client/data/documents/folder.d.mts +567 -51
- package/src/foundry/client/data/documents/index.d.mts +2 -0
- package/src/foundry/client/data/documents/item.d.mts +691 -24
- package/src/foundry/client/data/documents/journal-entry-page.d.mts +654 -55
- package/src/foundry/client/data/documents/journal-entry.d.mts +631 -35
- package/src/foundry/client/data/documents/macro.d.mts +560 -31
- package/src/foundry/client/data/documents/measured-template.d.mts +484 -15
- package/src/foundry/client/data/documents/note.d.mts +498 -15
- package/src/foundry/client/data/documents/playlist-sound.d.mts +443 -45
- package/src/foundry/client/data/documents/playlist.d.mts +710 -99
- package/src/foundry/client/data/documents/region-behavior.d.mts +516 -0
- package/src/foundry/client/data/documents/region.d.mts +789 -0
- package/src/foundry/client/data/documents/scene.d.mts +1216 -159
- package/src/foundry/client/data/documents/setting.d.mts +406 -23
- package/src/foundry/client/data/documents/table-result.d.mts +488 -14
- package/src/foundry/client/data/documents/table.d.mts +667 -78
- package/src/foundry/client/data/documents/tile.d.mts +505 -14
- package/src/foundry/client/data/documents/token.d.mts +1191 -143
- package/src/foundry/client/data/documents/user.d.mts +613 -57
- package/src/foundry/client/data/documents/wall.d.mts +555 -14
- package/src/foundry/client/game.d.mts +60 -92
- package/src/foundry/client/head.d.mts +9 -9
- package/src/foundry/client/hooks.d.mts +259 -248
- package/src/foundry/client/pixi/board.d.mts +107 -94
- package/src/foundry/client/pixi/core/containers/base-canvas-group.d.mts +97 -25
- package/src/foundry/client/pixi/core/containers/cached-container.d.mts +37 -19
- package/src/foundry/client/pixi/core/containers/full-canvas-container.d.mts +7 -10
- package/src/foundry/client/pixi/core/containers/point-source-mesh.d.mts +25 -15
- package/src/foundry/client/pixi/core/containers/quad-mesh.d.mts +16 -6
- package/src/foundry/client/pixi/core/containers/quadtree.d.mts +113 -54
- package/src/foundry/client/pixi/core/containers/sprite-mesh.d.mts +69 -26
- package/src/foundry/client/pixi/core/containers/unbound-container.d.mts +20 -2
- package/src/foundry/client/pixi/core/interaction/canvas-animation.d.mts +164 -99
- package/src/foundry/client/pixi/core/interaction/control-icon.d.mts +61 -22
- package/src/foundry/client/pixi/core/interaction/mouse-handler.d.mts +120 -53
- package/src/foundry/client/pixi/core/interaction/ping.d.mts +62 -31
- package/src/foundry/client/pixi/core/interaction/pings/chevron.d.mts +23 -10
- package/src/foundry/client/pixi/core/interaction/pings/pulse.d.mts +91 -34
- package/src/foundry/client/pixi/core/interaction/render-flags.d.mts +69 -30
- package/src/foundry/client/pixi/core/interaction/resize-handle.d.mts +35 -5
- package/src/foundry/client/pixi/core/interaction/targets.d.mts +21 -18
- package/src/foundry/client/pixi/core/loader.d.mts +86 -76
- package/src/foundry/client/pixi/core/shapes/limited-angle-polygon.d.mts +42 -17
- package/src/foundry/client/pixi/core/shapes/polygon-mesher.d.mts +92 -64
- package/src/foundry/client/pixi/core/shapes/precise-text.d.mts +28 -10
- package/src/foundry/client/pixi/core/shapes/ray.d.mts +47 -23
- package/src/foundry/client/pixi/core/shapes/source-polygon.d.mts +170 -75
- package/src/foundry/client/pixi/extensions/circle.d.mts +128 -125
- package/src/foundry/client/pixi/extensions/graphics.d.mts +3 -1
- package/src/foundry/client/pixi/extensions/observable-transform.d.mts +5 -4
- package/src/foundry/client/pixi/extensions/polygon.d.mts +154 -134
- package/src/foundry/client/pixi/extensions/rectangle.d.mts +242 -259
- package/src/foundry/client/pixi/groups/effects.d.mts +75 -24
- package/src/foundry/client/pixi/groups/environment.d.mts +68 -19
- package/src/foundry/client/pixi/groups/hidden.d.mts +27 -11
- package/src/foundry/client/pixi/groups/interface.d.mts +62 -38
- package/src/foundry/client/pixi/groups/overlay.d.mts +19 -7
- package/src/foundry/client/pixi/groups/primary.d.mts +66 -44
- package/src/foundry/client/pixi/groups/rendered.d.mts +19 -7
- package/src/foundry/client/pixi/layers/base/canvas-layer.d.mts +11 -15
- package/src/foundry/client/pixi/layers/base/interaction-layer.d.mts +29 -28
- package/src/foundry/client/pixi/layers/base/placeables-layer.d.mts +306 -272
- package/src/foundry/client/pixi/layers/controls/cursor.d.mts +18 -9
- package/src/foundry/client/pixi/layers/controls/door.d.mts +32 -11
- package/src/foundry/client/pixi/layers/controls/layer.d.mts +89 -77
- package/src/foundry/client/pixi/layers/controls/ruler.d.mts +121 -96
- package/src/foundry/client/pixi/layers/effects/background-effects.d.mts +9 -12
- package/src/foundry/client/pixi/layers/effects/coloration-effects.d.mts +9 -10
- package/src/foundry/client/pixi/layers/effects/darkness-effects.d.mts +8 -8
- package/src/foundry/client/pixi/layers/effects/illumination-effects.d.mts +22 -22
- package/src/foundry/client/pixi/layers/effects/visibility.d.mts +106 -86
- package/src/foundry/client/pixi/layers/effects/weather/particles/effect.d.mts +14 -5
- package/src/foundry/client/pixi/layers/effects/weather/particles/leaves.d.mts +31 -2
- package/src/foundry/client/pixi/layers/effects/weather-effects.d.mts +137 -65
- package/src/foundry/client/pixi/layers/grid/highlight.d.mts +14 -4
- package/src/foundry/client/pixi/layers/grid/layer.d.mts +92 -92
- package/src/foundry/client/pixi/layers/grid/mesh.d.mts +37 -16
- package/src/foundry/client/pixi/layers/masks/depth.d.mts +12 -7
- package/src/foundry/client/pixi/layers/masks/occlusion.d.mts +19 -12
- package/src/foundry/client/pixi/layers/masks/vision.d.mts +104 -18
- package/src/foundry/client/pixi/layers/placeables/drawings.d.mts +16 -15
- package/src/foundry/client/pixi/layers/placeables/index.d.mts +1 -0
- package/src/foundry/client/pixi/layers/placeables/lighting.d.mts +12 -14
- package/src/foundry/client/pixi/layers/placeables/notes.d.mts +49 -32
- package/src/foundry/client/pixi/layers/placeables/regions.d.mts +113 -0
- package/src/foundry/client/pixi/layers/placeables/sounds.d.mts +81 -67
- package/src/foundry/client/pixi/layers/placeables/templates.d.mts +11 -15
- package/src/foundry/client/pixi/layers/placeables/tiles.d.mts +30 -21
- package/src/foundry/client/pixi/layers/placeables/tokens.d.mts +66 -52
- package/src/foundry/client/pixi/layers/placeables/walls.d.mts +54 -57
- package/src/foundry/client/pixi/perception/clockwise-sweep.d.mts +62 -27
- package/src/foundry/client/pixi/perception/detection-mode.d.mts +121 -47
- package/src/foundry/client/pixi/perception/fog.d.mts +38 -15
- package/src/foundry/client/pixi/perception/perception-manager.d.mts +136 -136
- package/src/foundry/client/pixi/perception/vision-mode.d.mts +91 -64
- package/src/foundry/client/pixi/perception/weiler-atherton-clipping.d.mts +44 -16
- package/src/foundry/client/pixi/placeable.d.mts +239 -137
- package/src/foundry/client/pixi/placeables/drawing.d.mts +255 -133
- package/src/foundry/client/pixi/placeables/index.d.mts +1 -0
- package/src/foundry/client/pixi/placeables/light.d.mts +193 -64
- package/src/foundry/client/pixi/placeables/note.d.mts +145 -54
- package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-canvas-object.d.mts +30 -8
- package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-graphics.d.mts +41 -11
- package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-occludable-object.d.mts +59 -18
- package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-sprite-mesh.d.mts +120 -37
- package/src/foundry/client/pixi/placeables/region.d.mts +280 -0
- package/src/foundry/client/pixi/placeables/sound.d.mts +205 -66
- package/src/foundry/client/pixi/placeables/template.d.mts +181 -100
- package/src/foundry/client/pixi/placeables/tile.d.mts +206 -140
- package/src/foundry/client/pixi/placeables/token.d.mts +916 -449
- package/src/foundry/client/pixi/placeables/wall.d.mts +249 -129
- package/src/foundry/client/pixi/webgl/extensions/batch-renderer.d.mts +72 -33
- package/src/foundry/client/pixi/webgl/extensions/batch-shader-generator.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/helpers/{framebugger-snapshot.d.mts → framebuffer-snapshot.d.mts} +10 -9
- package/src/foundry/client/pixi/webgl/helpers/index.d.mts +1 -1
- package/src/foundry/client/pixi/webgl/helpers/smooth-noise.d.mts +38 -23
- package/src/foundry/client/pixi/webgl/helpers/texture-extractor.d.mts +82 -53
- package/src/foundry/client/pixi/webgl/shaders/base-shader-mixin.d.mts +12 -12
- package/src/foundry/client/pixi/webgl/shaders/base-shader.d.mts +45 -28
- package/src/foundry/client/pixi/webgl/shaders/filters/base-filter.d.mts +12 -11
- package/src/foundry/client/pixi/webgl/shaders/filters/base-mask-filter.d.mts +12 -10
- package/src/foundry/client/pixi/webgl/shaders/filters/blur.d.mts +22 -20
- package/src/foundry/client/pixi/webgl/shaders/filters/effects-masking.d.mts +36 -32
- package/src/foundry/client/pixi/webgl/shaders/filters/environment.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/filters/glow-overlay.d.mts +12 -11
- package/src/foundry/client/pixi/webgl/shaders/filters/invisibility.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/filters/outline-overlay.d.mts +12 -11
- package/src/foundry/client/pixi/webgl/shaders/filters/transition.d.mts +67 -60
- package/src/foundry/client/pixi/webgl/shaders/filters/visibility.d.mts +24 -17
- package/src/foundry/client/pixi/webgl/shaders/filters/vision-mask-filter.d.mts +13 -10
- package/src/foundry/client/pixi/webgl/shaders/filters/void.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/filters/weather-occlusion-masks.d.mts +11 -10
- package/src/foundry/client/pixi/webgl/shaders/fragment-channel-mixin.d.mts +20 -14
- package/src/foundry/client/pixi/webgl/shaders/grid/grid.d.mts +12 -11
- package/src/foundry/client/pixi/webgl/shaders/lighting/background-lighting.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/base-lighting.d.mts +33 -33
- package/src/foundry/client/pixi/webgl/shaders/lighting/coloration-lighting.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/darkness-lighting.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/bewitching-wave.d.mts +19 -17
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/black-hole.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/chroma.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/emanation.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/energy-field.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fairy-light.d.mts +19 -17
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/flame.d.mts +19 -17
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fog.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/force-grid.d.mts +10 -8
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/ghost-light.d.mts +19 -17
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/hexa-dome.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/light-dome.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/magical-gloom.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/pulse.d.mts +19 -17
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/radial-rainbow.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/revolving-light.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/roiling-mass.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/siren-light.d.mts +19 -17
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/smoke-patch.d.mts +20 -17
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/star-light.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/sunburst.d.mts +19 -17
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/swirling-rainbow.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/torch.d.mts +19 -17
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/vortex.d.mts +19 -17
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/wave.d.mts +19 -17
- package/src/foundry/client/pixi/webgl/shaders/lighting/illumination-lighting.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/region/adjust-darkness-level.d.mts +71 -29
- package/src/foundry/client/pixi/webgl/shaders/region/base.d.mts +54 -10
- package/src/foundry/client/pixi/webgl/shaders/region/highlight.d.mts +69 -9
- package/src/foundry/client/pixi/webgl/shaders/samplers/base-sampler.d.mts +24 -25
- package/src/foundry/client/pixi/webgl/shaders/samplers/baseline-illumination.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/samplers/color-adjustment.d.mts +38 -29
- package/src/foundry/client/pixi/webgl/shaders/samplers/depth.d.mts +21 -17
- package/src/foundry/client/pixi/webgl/shaders/samplers/fog-of-war.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/samplers/occlusion.d.mts +20 -18
- package/src/foundry/client/pixi/webgl/shaders/samplers/primary.d.mts +11 -2
- package/src/foundry/client/pixi/webgl/shaders/samplers/token-ring.d.mts +28 -2
- package/src/foundry/client/pixi/webgl/shaders/vision/background-vision.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/vision/base-vision.d.mts +11 -9
- package/src/foundry/client/pixi/webgl/shaders/vision/coloration-vision.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/vision/effects/amplification.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/vision/effects/wave.d.mts +19 -17
- package/src/foundry/client/pixi/webgl/shaders/vision/illumination-vision.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/weather/base-weather.d.mts +40 -36
- package/src/foundry/client/pixi/webgl/shaders/weather/effect.d.mts +27 -33
- package/src/foundry/client/pixi/webgl/shaders/weather/fog.d.mts +17 -16
- package/src/foundry/client/pixi/webgl/shaders/weather/rain.d.mts +19 -18
- package/src/foundry/client/pixi/webgl/shaders/weather/snow.d.mts +15 -14
- package/src/foundry/client/pixi/workers/texture-worker.d.mts +33 -53
- package/src/foundry/client/tours/setup-tour.d.mts +15 -10
- package/src/foundry/client/ui/context.d.mts +48 -40
- package/src/foundry/client/ui/dialog.d.mts +137 -126
- package/src/foundry/client/ui/drag.d.mts +1 -1
- package/src/foundry/client/ui/dragdrop.d.mts +34 -28
- package/src/foundry/client/ui/editor.d.mts +29 -21
- package/src/foundry/client/ui/filepicker.d.mts +43 -38
- package/src/foundry/client/ui/filter.d.mts +62 -50
- package/src/foundry/client/ui/forms.d.mts +22 -22
- package/src/foundry/client/ui/notifications.d.mts +10 -3
- package/src/foundry/client/ui/prosemirror.d.mts +15 -7
- package/src/foundry/client/ui/secrets.d.mts +42 -27
- package/src/foundry/client/ui/tabs.d.mts +40 -33
- package/src/foundry/client-esm/applications/_module.d.mts +3 -3
- package/src/foundry/client-esm/applications/_types.d.mts +0 -2
- package/src/foundry/client-esm/applications/api/_module.d.mts +2 -2
- package/src/foundry/client-esm/applications/api/application.d.mts +28 -19
- package/src/foundry/client-esm/applications/api/dialog.d.mts +20 -22
- package/src/foundry/client-esm/applications/api/document-sheet.d.mts +26 -12
- package/src/foundry/client-esm/applications/api/handlebars-application.d.mts +142 -126
- package/src/foundry/client-esm/applications/apps/_module.d.mts +2 -2
- package/src/foundry/client-esm/applications/apps/compendium-art-config.d.mts +10 -10
- package/src/foundry/client-esm/applications/apps/permission-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/dice/_module.d.mts +2 -2
- package/src/foundry/client-esm/applications/dice/roll-resolver.d.mts +14 -2
- package/src/foundry/client-esm/applications/elements/_module.d.mts +2 -2
- package/src/foundry/client-esm/applications/elements/document-tags.d.mts +2 -0
- package/src/foundry/client-esm/applications/elements/file-picker.d.mts +1 -1
- package/src/foundry/client-esm/applications/elements/multi-select.d.mts +15 -5
- package/src/foundry/client-esm/applications/elements/string-tags.d.mts +1 -1
- package/src/foundry/client-esm/applications/forms/fields.d.mts +1 -1
- package/src/foundry/client-esm/applications/sheets/_module.d.mts +2 -2
- package/src/foundry/client-esm/applications/sheets/actor-sheet.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/ambient-light-config.d.mts +10 -8
- package/src/foundry/client-esm/applications/sheets/ambient-sound-config.d.mts +9 -7
- package/src/foundry/client-esm/applications/sheets/item-sheet.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/region-behavior-config.d.mts +30 -5
- package/src/foundry/client-esm/applications/sheets/region-config.d.mts +36 -5
- package/src/foundry/client-esm/applications/sheets/user-config.d.mts +8 -7
- package/src/foundry/client-esm/applications/ui/_module.d.mts +2 -2
- package/src/foundry/client-esm/applications/ui/region-legend.d.mts +45 -3
- package/src/foundry/client-esm/audio/_module.d.mts +2 -3
- package/src/foundry/client-esm/audio/_types.d.mts +2 -0
- package/src/foundry/client-esm/audio/biquad.d.mts +76 -26
- package/src/foundry/client-esm/audio/cache.d.mts +31 -20
- package/src/foundry/client-esm/audio/convolver.d.mts +47 -25
- package/src/foundry/client-esm/audio/helper.d.mts +124 -80
- package/src/foundry/client-esm/audio/sound.d.mts +230 -126
- package/src/foundry/client-esm/audio/timeout.d.mts +28 -12
- package/src/foundry/client-esm/canvas/_module.d.mts +2 -2
- package/src/foundry/client-esm/canvas/edges/_module.d.mts +2 -2
- package/src/foundry/client-esm/canvas/edges/collision.d.mts +69 -18
- package/src/foundry/client-esm/canvas/edges/edge.d.mts +110 -41
- package/src/foundry/client-esm/canvas/edges/edges.d.mts +10 -0
- package/src/foundry/client-esm/canvas/edges/vertex.d.mts +56 -26
- package/src/foundry/client-esm/canvas/regions/_module.d.mts +6 -11
- package/src/foundry/client-esm/canvas/regions/geometry.d.mts +38 -0
- package/src/foundry/client-esm/canvas/regions/mesh.d.mts +72 -0
- package/src/foundry/client-esm/canvas/regions/polygon-tree.d.mts +130 -0
- package/src/foundry/client-esm/canvas/regions/shape.d.mts +129 -0
- package/src/foundry/client-esm/canvas/scene-manager.d.mts +13 -3
- package/src/foundry/client-esm/canvas/smaa/blend.d.mts +14 -3
- package/src/foundry/client-esm/canvas/smaa/edges.d.mts +25 -3
- package/src/foundry/client-esm/canvas/smaa/smaa.d.mts +121 -23
- package/src/foundry/client-esm/canvas/smaa/weights.d.mts +26 -3
- package/src/foundry/client-esm/canvas/sources/_module.d.mts +2 -2
- package/src/foundry/client-esm/canvas/sources/base-effect-source.d.mts +84 -40
- package/src/foundry/client-esm/canvas/sources/base-light-source.d.mts +103 -39
- package/src/foundry/client-esm/canvas/sources/global-light-source.d.mts +89 -15
- package/src/foundry/client-esm/canvas/sources/point-darkness-source.d.mts +71 -27
- package/src/foundry/client-esm/canvas/sources/point-effect-source.d.mts +49 -20
- package/src/foundry/client-esm/canvas/sources/point-light-source.d.mts +57 -16
- package/src/foundry/client-esm/canvas/sources/point-movement-source.d.mts +31 -4
- package/src/foundry/client-esm/canvas/sources/point-sound-source.d.mts +45 -12
- package/src/foundry/client-esm/canvas/sources/point-vision-source.d.mts +98 -52
- package/src/foundry/client-esm/canvas/sources/rendered-effect-source.d.mts +180 -69
- package/src/foundry/client-esm/canvas/tokens/_module.d.mts +2 -3
- package/src/foundry/client-esm/canvas/tokens/ring-config.d.mts +175 -2
- package/src/foundry/client-esm/canvas/tokens/ring-data.d.mts +142 -2
- package/src/foundry/client-esm/canvas/tokens/ring.d.mts +284 -2
- package/src/foundry/client-esm/client.d.mts +47 -54
- package/src/foundry/client-esm/data/_module.d.mts +2 -2
- package/src/foundry/client-esm/data/client-backend.d.mts +22 -23
- package/src/foundry/client-esm/data/region-behaviors/_module.d.mts +11 -14
- package/src/foundry/client-esm/data/region-behaviors/adjust-darkness-level.d.mts +56 -0
- package/src/foundry/client-esm/data/region-behaviors/base.d.mts +59 -0
- package/src/foundry/client-esm/data/region-behaviors/display-scrolling-text.d.mts +64 -0
- package/src/foundry/client-esm/data/region-behaviors/execute-macro.d.mts +27 -0
- package/src/foundry/client-esm/data/region-behaviors/execute-script.d.mts +23 -0
- package/src/foundry/client-esm/data/region-behaviors/pause-game.d.mts +23 -0
- package/src/foundry/client-esm/data/region-behaviors/suppress-weather.d.mts +17 -0
- package/src/foundry/client-esm/data/region-behaviors/teleport-token.d.mts +32 -0
- package/src/foundry/client-esm/data/region-behaviors/toggle-behavior.d.mts +31 -0
- package/src/foundry/client-esm/dice/_module.d.mts +2 -3
- package/src/foundry/client-esm/dice/parser.d.mts +11 -25
- package/src/foundry/client-esm/dice/roll.d.mts +112 -89
- package/src/foundry/client-esm/dice/terms/_module.d.mts +2 -3
- package/src/foundry/client-esm/dice/terms/coin.d.mts +8 -5
- package/src/foundry/client-esm/dice/terms/dice.d.mts +93 -63
- package/src/foundry/client-esm/dice/terms/die.d.mts +11 -4
- package/src/foundry/client-esm/dice/terms/fate.d.mts +9 -2
- package/src/foundry/client-esm/dice/terms/function.d.mts +18 -18
- package/src/foundry/client-esm/dice/terms/numeric.d.mts +3 -5
- package/src/foundry/client-esm/dice/terms/operator.d.mts +2 -2
- package/src/foundry/client-esm/dice/terms/parenthetical.d.mts +9 -10
- package/src/foundry/client-esm/dice/terms/pool.d.mts +25 -31
- package/src/foundry/client-esm/dice/terms/string.d.mts +4 -4
- package/src/foundry/client-esm/dice/terms/term.d.mts +18 -4
- package/src/foundry/client-esm/dice/twister.d.mts +3 -3
- package/src/foundry/client-esm/helpers/_module.d.mts +2 -2
- package/src/foundry/client-esm/helpers/_types.d.mts +12 -46
- package/src/foundry/client-esm/helpers/compendium-art.d.mts +56 -4
- package/src/foundry/common/abstract/_types.d.mts +60 -54
- package/src/foundry/common/abstract/backend.d.mts +51 -45
- package/src/foundry/common/abstract/data.d.mts +265 -236
- package/src/foundry/common/abstract/document.d.mts +1449 -464
- package/src/foundry/common/abstract/embedded-collection-delta.d.mts +1 -1
- package/src/foundry/common/abstract/embedded-collection.d.mts +37 -7
- package/src/foundry/common/abstract/module.d.mts +3 -2
- 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 +61 -55
- package/src/foundry/common/config.d.mts +11 -3
- package/src/foundry/common/constants.d.mts +261 -231
- package/src/foundry/common/data/data.d.mts +238 -102
- package/src/foundry/common/data/fields.d.mts +1334 -874
- package/src/foundry/common/data/module.d.mts +2 -2
- package/src/foundry/common/data/validation-failure.d.mts +12 -9
- package/src/foundry/common/documents/_module.d.mts +4 -2
- package/src/foundry/common/documents/_types.d.mts +22 -56
- package/src/foundry/common/documents/active-effect.d.mts +358 -194
- package/src/foundry/common/documents/actor-delta.d.mts +403 -73
- package/src/foundry/common/documents/actor.d.mts +359 -117
- package/src/foundry/common/documents/adventure.d.mts +312 -142
- package/src/foundry/common/documents/ambient-light.d.mts +296 -75
- package/src/foundry/common/documents/ambient-sound.d.mts +296 -109
- package/src/foundry/common/documents/card.d.mts +321 -187
- package/src/foundry/common/documents/cards.d.mts +353 -125
- package/src/foundry/common/documents/chat-message.d.mts +338 -167
- package/src/foundry/common/documents/combat.d.mts +358 -94
- package/src/foundry/common/documents/combatant.d.mts +323 -92
- package/src/foundry/common/documents/drawing.d.mts +327 -206
- package/src/foundry/common/documents/fog-exploration.d.mts +303 -69
- package/src/foundry/common/documents/folder.d.mts +307 -82
- package/src/foundry/common/documents/item.d.mts +377 -100
- package/src/foundry/common/documents/journal-entry-page.d.mts +327 -187
- package/src/foundry/common/documents/journal-entry.d.mts +345 -68
- package/src/foundry/common/documents/macro.d.mts +325 -139
- package/src/foundry/common/documents/measured-template.d.mts +328 -138
- package/src/foundry/common/documents/note.d.mts +312 -151
- package/src/foundry/common/documents/playlist-sound.d.mts +309 -102
- package/src/foundry/common/documents/playlist.d.mts +341 -131
- package/src/foundry/common/documents/region-behavior.d.mts +360 -0
- package/src/foundry/common/documents/region.d.mts +355 -0
- package/src/foundry/common/documents/roll-table.d.mts +320 -102
- package/src/foundry/common/documents/scene.d.mts +437 -350
- package/src/foundry/common/documents/setting.d.mts +285 -54
- package/src/foundry/common/documents/table-result.d.mts +326 -103
- package/src/foundry/common/documents/tile.d.mts +337 -172
- package/src/foundry/common/documents/token.d.mts +396 -447
- package/src/foundry/common/documents/user.d.mts +296 -173
- package/src/foundry/common/documents/wall.d.mts +303 -156
- package/src/foundry/common/grid/_module.d.mts +3 -3
- package/src/foundry/common/grid/base.d.mts +66 -49
- package/src/foundry/common/grid/gridless.d.mts +2 -2
- package/src/foundry/common/grid/hexagonal.d.mts +35 -28
- package/src/foundry/common/grid/square.d.mts +3 -3
- package/src/foundry/common/packages/base-module.d.mts +6 -24
- package/src/foundry/common/packages/base-package.d.mts +56 -31
- package/src/foundry/common/packages/base-system.d.mts +45 -63
- package/src/foundry/common/packages/base-world.d.mts +15 -61
- package/src/foundry/common/packages/module.d.mts +7 -7
- package/src/foundry/common/packages/sub-types.d.mts +4 -6
- package/src/foundry/common/primitives/array.d.mts +4 -4
- package/src/foundry/common/primitives/math.d.mts +7 -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 +15 -15
- package/src/foundry/common/prosemirror/dirty-plugin.d.mts +1 -1
- package/src/foundry/common/prosemirror/dom-parser.d.mts +2 -1
- package/src/foundry/common/prosemirror/dropdown.d.mts +1 -1
- package/src/foundry/common/prosemirror/highlight-matches-plugin.d.mts +2 -2
- package/src/foundry/common/prosemirror/image-plugin.d.mts +1 -1
- package/src/foundry/common/prosemirror/menu.d.mts +3 -3
- package/src/foundry/common/prosemirror/paste-transformer.d.mts +1 -1
- package/src/foundry/common/prosemirror/plugin.d.mts +2 -2
- package/src/foundry/common/prosemirror/schema/index.d.mts +0 -1
- package/src/foundry/common/prosemirror/schema/lists.d.mts +2 -0
- package/src/foundry/common/prosemirror/util.d.mts +1 -1
- package/src/foundry/common/types.d.mts +3 -3
- package/src/foundry/common/utils/bitmask.d.mts +23 -11
- package/src/foundry/common/utils/collection.d.mts +61 -38
- package/src/foundry/common/utils/color.d.mts +20 -2
- package/src/foundry/common/utils/event-emitter.d.mts +32 -17
- package/src/foundry/common/utils/helpers.d.mts +36 -26
- package/src/foundry/common/utils/http.d.mts +2 -2
- package/src/foundry/common/utils/module.d.mts +2 -2
- package/src/foundry/common/utils/string-tree.d.mts +45 -39
- package/src/foundry/common/utils/word-tree.d.mts +10 -23
- package/src/foundry/index.d.mts +0 -1
- package/src/foundry/{clipper → public/scripts/clipper}/clipper.d.mts +58 -16
- package/src/foundry/public/scripts/index.d.mts +1 -0
- package/src/foundry/public/scripts/workers/image-compressor.d.mts +23 -0
- package/src/foundry/public/scripts/workers/index.d.mts +1 -0
- package/{index-lenient.d.mts → src/index-lenient.d.mts} +2 -0
- package/src/index.d.mts +6 -0
- package/src/tsconfig.json +15 -0
- package/src/types/augments/particles.d.mts +29 -0
- package/src/types/augments/pixi.d.mts +1024 -21
- package/src/types/augments/smooth.d.mts +31 -0
- package/src/types/augments/tinyMCE.d.mts +1 -1
- package/src/types/config.d.mts +18 -313
- package/src/types/documentConfiguration.d.mts +286 -542
- package/src/types/index.d.mts +1 -1
- package/src/types/lib.d.mts +12 -0
- package/src/types/workers/image-compressor.d.mts +176 -0
- package/src/utils/index.d.mts +1279 -0
- package/tsconfig.json +29 -0
- package/tsconfig.main.json +8 -0
- package/tsconfig.miscellaneous.json +16 -0
- package/index.d.mts +0 -5
- package/src/foundry/client/apps/placeables/light-config.d.mts +0 -100
- package/src/foundry/client/apps/placeables/sound-config.d.mts +0 -43
- package/src/foundry/common/documents/module.d.mts +0 -35
- package/src/foundry/common/primitives/regex.d.mts +0 -12
- package/src/types/helperTypes.d.mts +0 -583
- package/src/types/utils.d.mts +0 -539
- /package/src/foundry/{clipper → public/scripts/clipper}/index.d.mts +0 -0
@@ -1,78 +1,587 @@
|
|
1
|
-
import type {
|
1
|
+
import type { ConfiguredDocumentClass } from "../../../../types/documentConfiguration.d.mts";
|
2
|
+
import type { AnyObject, FixedInstanceType, InexactPartial, IntentionalPartial, Merge, NullishProps } from "#utils";
|
2
3
|
import type Document from "../../../common/abstract/document.d.mts";
|
3
|
-
import type {
|
4
|
-
import type
|
4
|
+
import type { DataSchema } from "../../../common/data/fields.d.mts";
|
5
|
+
import type { fields } from "../../../common/data/module.d.mts";
|
6
|
+
import type { BaseActor } from "../../../common/documents/_module.d.mts";
|
5
7
|
|
6
8
|
declare global {
|
7
9
|
namespace User {
|
8
|
-
|
10
|
+
/**
|
11
|
+
* The document's name.
|
12
|
+
*/
|
13
|
+
type Name = "User";
|
9
14
|
|
10
|
-
|
11
|
-
|
15
|
+
/**
|
16
|
+
* The arguments to construct the document.
|
17
|
+
*/
|
18
|
+
type ConstructorArgs = Document.ConstructorParameters<CreateData, Parent>;
|
12
19
|
|
13
|
-
|
20
|
+
/**
|
21
|
+
* The documents embedded within `User`.
|
22
|
+
*/
|
23
|
+
type Hierarchy = Readonly<Document.HierarchyOf<Schema>>;
|
14
24
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
type
|
25
|
+
/**
|
26
|
+
* The implementation of the `User` document instance configured through `CONFIG.User.documentClass` in Foundry and
|
27
|
+
* {@link DocumentClassConfig | `DocumentClassConfig`} or {@link ConfiguredUser | `fvtt-types/configuration/ConfiguredUser`} in fvtt-types.
|
28
|
+
*/
|
29
|
+
type Implementation = Document.ImplementationFor<Name>;
|
20
30
|
|
21
|
-
|
31
|
+
/**
|
32
|
+
* The implementation of the `User` document configured through `CONFIG.User.documentClass` in Foundry and
|
33
|
+
* {@link DocumentClassConfig | `DocumentClassConfig`} in fvtt-types.
|
34
|
+
*/
|
35
|
+
type ImplementationClass = Document.ImplementationClassFor<Name>;
|
36
|
+
|
37
|
+
/**
|
38
|
+
* A document's metadata is special information about the document ranging anywhere from its name,
|
39
|
+
* whether it's indexed, or to the permissions a user has over it.
|
40
|
+
*/
|
41
|
+
interface Metadata
|
42
|
+
extends Merge<
|
43
|
+
Document.Metadata.Default,
|
44
|
+
Readonly<{
|
45
|
+
name: "User";
|
46
|
+
collection: "users";
|
47
|
+
label: string;
|
48
|
+
labelPlural: string;
|
49
|
+
permissions: Metadata.Permissions;
|
50
|
+
schemaVersion: string;
|
51
|
+
}>
|
52
|
+
> {}
|
53
|
+
|
54
|
+
namespace Metadata {
|
22
55
|
/**
|
23
|
-
*
|
56
|
+
* The permissions for whether a certain user can create, update, or delete this document.
|
24
57
|
*/
|
25
|
-
|
58
|
+
interface Permissions {
|
59
|
+
create(user: Internal.Implementation, doc: Internal.Implementation, data: UpdateData): boolean;
|
60
|
+
update(user: Internal.Implementation, doc: Internal.Implementation, changes: UpdateData): boolean;
|
61
|
+
delete(user: Internal.Implementation, doc: Internal.Implementation): boolean;
|
62
|
+
}
|
63
|
+
}
|
64
|
+
|
65
|
+
/**
|
66
|
+
* A document's parent is something that can contain it.
|
67
|
+
* For example an `Item` can be contained by an `Actor` which makes `Actor` one of its possible parents.
|
68
|
+
*/
|
69
|
+
type Parent = null;
|
70
|
+
|
71
|
+
/**
|
72
|
+
* A document's descendants are any child documents, grandchild documents, etc.
|
73
|
+
* This is a union of all instances, or never if the document doesn't have any descendants.
|
74
|
+
*/
|
75
|
+
type Descendant = never;
|
76
|
+
|
77
|
+
/**
|
78
|
+
* A document's descendants are any child documents, grandchild documents, etc.
|
79
|
+
* This is a union of all classes, or never if the document doesn't have any descendants.
|
80
|
+
*/
|
81
|
+
type DescendantClass = never;
|
82
|
+
|
83
|
+
/**
|
84
|
+
* Types of `CompendiumCollection` this document might be contained in.
|
85
|
+
* Note that `this.pack` will always return a string; this is the type for `game.packs.get(this.pack)`
|
86
|
+
*/
|
87
|
+
// Note: Takes any document in the heritage chain (i.e. itself or any parent, transitive or not) that can be contained in a compendium.
|
88
|
+
type Pack = never;
|
89
|
+
|
90
|
+
/**
|
91
|
+
* An embedded document is a document contained in another.
|
92
|
+
* For example an `Item` can be contained by an `Actor` which means `Item` can be embedded in `Actor`.
|
93
|
+
*
|
94
|
+
* If this is `never` it is because there are no embeddable documents (or there's a bug!).
|
95
|
+
*/
|
96
|
+
type Embedded = never;
|
97
|
+
|
98
|
+
/**
|
99
|
+
* The name of the world or embedded collection this document can find itself in.
|
100
|
+
* For example an `Item` is always going to be inside a collection with a key of `items`.
|
101
|
+
* This is a fixed string per document type and is primarily useful for {@link ClientDocumentMixin | `Descendant Document Events`}.
|
102
|
+
*/
|
103
|
+
type ParentCollectionName = Metadata["collection"];
|
104
|
+
|
105
|
+
/**
|
106
|
+
* The world collection that contains `User`s. Will be `never` if none exists.
|
107
|
+
*/
|
108
|
+
type CollectionClass = Users.ConfiguredClass;
|
109
|
+
|
110
|
+
/**
|
111
|
+
* The world collection that contains `User`s. Will be `never` if none exists.
|
112
|
+
*/
|
113
|
+
type Collection = Users.Configured;
|
114
|
+
|
115
|
+
/**
|
116
|
+
* An instance of `User` that comes from the database but failed validation meaning that
|
117
|
+
* its `system` and `_source` could theoretically be anything.
|
118
|
+
*/
|
119
|
+
interface Invalid extends Document.Invalid<User.Implementation> {}
|
120
|
+
|
121
|
+
/**
|
122
|
+
* An instance of `User` that comes from the database.
|
123
|
+
*/
|
124
|
+
interface Stored extends Document.Stored<User.Implementation> {}
|
125
|
+
|
126
|
+
/**
|
127
|
+
* The data put in {@link User._source | `User#_source`}. This data is what was
|
128
|
+
* persisted to the database and therefore it must be valid JSON.
|
129
|
+
*
|
130
|
+
* For example a {@link fields.SetField | `SetField`} is persisted to the database as an array
|
131
|
+
* but initialized as a {@link Set | `Set`}.
|
132
|
+
*/
|
133
|
+
interface Source extends fields.SchemaField.SourceData<Schema> {}
|
134
|
+
|
135
|
+
/**
|
136
|
+
* @deprecated {@link User.Source | `User.Source`}
|
137
|
+
*/
|
138
|
+
type PersistedData = Source;
|
139
|
+
|
140
|
+
/**
|
141
|
+
* The data necessary to create a document. Used in places like {@link User.create | `User.create`}
|
142
|
+
* and {@link User | `new User(...)`}.
|
143
|
+
*
|
144
|
+
* For example a {@link fields.SetField | `SetField`} can accept any {@link Iterable | `Iterable`}
|
145
|
+
* with the right values. This means you can pass a `Set` instance, an array of values,
|
146
|
+
* a generator, or any other iterable.
|
147
|
+
*/
|
148
|
+
interface CreateData extends fields.SchemaField.CreateData<Schema> {}
|
26
149
|
|
150
|
+
/**
|
151
|
+
* The data after a {@link Document | `Document`} has been initialized, for example
|
152
|
+
* {@link User.name | `User#name`}.
|
153
|
+
*
|
154
|
+
* This is data transformed from {@link User.Source | `User.Source`} and turned into more
|
155
|
+
* convenient runtime data structures. For example a {@link fields.SetField | `SetField`} is
|
156
|
+
* persisted to the database as an array of values but at runtime it is a `Set` instance.
|
157
|
+
*/
|
158
|
+
interface InitializedData extends fields.SchemaField.InitializedData<Schema> {}
|
159
|
+
|
160
|
+
/**
|
161
|
+
* The data used to update a document, for example {@link User.update | `User#update`}.
|
162
|
+
* It is a distinct type from {@link User.CreateData | `DeepPartial<User.CreateData>`} because
|
163
|
+
* it has different rules for `null` and `undefined`.
|
164
|
+
*/
|
165
|
+
interface UpdateData extends fields.SchemaField.UpdateData<Schema> {}
|
166
|
+
|
167
|
+
/**
|
168
|
+
* The schema for {@link User | `User`}. This is the source of truth for how an User document
|
169
|
+
* must be structured.
|
170
|
+
*
|
171
|
+
* Foundry uses this schema to validate the structure of the {@link User | `User`}. For example
|
172
|
+
* a {@link fields.StringField | `StringField`} will enforce that the value is a string. More
|
173
|
+
* complex fields like {@link fields.SetField | `SetField`} goes through various conversions
|
174
|
+
* starting as an array in the database, initialized as a set, and allows updates with any
|
175
|
+
* iterable.
|
176
|
+
*/
|
177
|
+
interface Schema extends DataSchema {
|
27
178
|
/**
|
28
|
-
* The
|
179
|
+
* The _id which uniquely identifies this User document.
|
180
|
+
* @defaultValue `null`
|
29
181
|
*/
|
30
|
-
|
182
|
+
_id: fields.DocumentIdField;
|
31
183
|
|
32
184
|
/**
|
33
|
-
* The
|
185
|
+
* The user's name.
|
34
186
|
*/
|
35
|
-
|
187
|
+
// FIXME: This field is `required` with no `initial`, so actually required for construction; Currently an AssignmentType override is required to enforce this
|
188
|
+
name: fields.StringField<{ required: true; blank: false; textSearch: true }, string>;
|
189
|
+
|
190
|
+
/**
|
191
|
+
* The user's role, see CONST.USER_ROLES.
|
192
|
+
* @defaultValue `CONST.USER_ROLES.PLAYER`
|
193
|
+
*/
|
194
|
+
// FIXME: Overrides required to enforce the branded type
|
195
|
+
role: fields.NumberField<
|
196
|
+
{
|
197
|
+
required: true;
|
198
|
+
choices: CONST.USER_ROLES[];
|
199
|
+
initial: typeof CONST.USER_ROLES.PLAYER;
|
200
|
+
readonly: true;
|
201
|
+
},
|
202
|
+
CONST.USER_ROLES | null | undefined,
|
203
|
+
CONST.USER_ROLES,
|
204
|
+
CONST.USER_ROLES
|
205
|
+
>;
|
206
|
+
|
207
|
+
/**
|
208
|
+
* The user's password. Available only on the Server side for security.
|
209
|
+
* @defaultValue `""`
|
210
|
+
*/
|
211
|
+
password: fields.StringField<{ required: true; blank: true }>;
|
212
|
+
|
213
|
+
/**
|
214
|
+
* The user's password salt. Available only on the Server side for security.
|
215
|
+
* @defaultValue `undefined`
|
216
|
+
*/
|
217
|
+
passwordSalt: fields.StringField;
|
218
|
+
|
219
|
+
/**
|
220
|
+
* The user's avatar image.
|
221
|
+
* @defaultValue `null`
|
222
|
+
* @remarks Initialized to `this.avatar || this.character?.img || CONST.DEFAULT_TOKEN` in {@link User.prepareDerivedData | `User#prepareDerivedData`}
|
223
|
+
*/
|
224
|
+
avatar: fields.FilePathField<{ categories: ["IMAGE"] }>;
|
225
|
+
|
226
|
+
/**
|
227
|
+
* A linked Actor document that is this user's impersonated character.
|
228
|
+
* @defaultValue `null`
|
229
|
+
*/
|
230
|
+
character: fields.ForeignDocumentField<typeof BaseActor>;
|
231
|
+
|
232
|
+
/**
|
233
|
+
* A color to represent this user.
|
234
|
+
* @defaultValue A CSS hex code representing an HSV color, with random hue, 0.8 saturation, and 0.8 value
|
235
|
+
*/
|
236
|
+
color: fields.ColorField<{ required: true; nullable: false; initial: () => string }>;
|
237
|
+
|
238
|
+
/**
|
239
|
+
* @remarks Omitted from the `UserData` typedef as of 13.342, so no official description; Fairly self-explanatory though.
|
240
|
+
* @defaultValue `""`
|
241
|
+
*/
|
242
|
+
pronouns: fields.StringField<{ required: true }>;
|
243
|
+
|
244
|
+
/**
|
245
|
+
* A mapping of hotbar slot number to Macro id for the user.
|
246
|
+
* @defaultValue `{}`
|
247
|
+
*/
|
248
|
+
hotbar: fields.ObjectField<
|
249
|
+
{
|
250
|
+
required: true;
|
251
|
+
validate: (bar: AnyObject) => boolean;
|
252
|
+
validationError: "must be a mapping of slots to macro identifiers";
|
253
|
+
},
|
254
|
+
Record<number, string>,
|
255
|
+
Record<number, string>,
|
256
|
+
Record<number, string>
|
257
|
+
>;
|
258
|
+
|
259
|
+
/**
|
260
|
+
* The user's individual permission configuration, see CONST.USER_PERMISSIONS.
|
261
|
+
* @defaultValue `{}`
|
262
|
+
*/
|
263
|
+
permissions: fields.ObjectField<
|
264
|
+
{
|
265
|
+
required: true;
|
266
|
+
validate: (perms: AnyObject) => boolean;
|
267
|
+
validationError: "must be a mapping of permission names to booleans";
|
268
|
+
},
|
269
|
+
Record<string, boolean> | null | undefined,
|
270
|
+
Record<string, boolean>,
|
271
|
+
Record<string, boolean>
|
272
|
+
>;
|
273
|
+
|
274
|
+
/**
|
275
|
+
* An object of optional key/value flags.
|
276
|
+
* @defaultValue `{}`
|
277
|
+
*/
|
278
|
+
flags: fields.ObjectField.FlagsField<Name>;
|
279
|
+
|
280
|
+
/**
|
281
|
+
* An object of creation and access information
|
282
|
+
* @defaultValue see {@link fields.DocumentStatsField | `fields.DocumentStatsField`}
|
283
|
+
*/
|
284
|
+
_stats: fields.DocumentStatsField;
|
285
|
+
}
|
286
|
+
|
287
|
+
namespace Database {
|
288
|
+
/** Options passed along in Get operations for Users */
|
289
|
+
interface Get extends foundry.abstract.types.DatabaseGetOperation<User.Parent> {}
|
290
|
+
|
291
|
+
/** Options passed along in Create operations for Users */
|
292
|
+
interface Create<Temporary extends boolean | undefined = boolean | undefined>
|
293
|
+
extends foundry.abstract.types.DatabaseCreateOperation<User.CreateData, User.Parent, Temporary> {}
|
294
|
+
|
295
|
+
/** Options passed along in Delete operations for Users */
|
296
|
+
interface Delete extends foundry.abstract.types.DatabaseDeleteOperation<User.Parent> {}
|
297
|
+
|
298
|
+
/** Options passed along in Update operations for Users */
|
299
|
+
interface Update extends foundry.abstract.types.DatabaseUpdateOperation<User.UpdateData, User.Parent> {}
|
300
|
+
|
301
|
+
/** Operation for {@link User.createDocuments | `User.createDocuments`} */
|
302
|
+
interface CreateDocumentsOperation<Temporary extends boolean | undefined>
|
303
|
+
extends Document.Database.CreateOperation<User.Database.Create<Temporary>> {}
|
304
|
+
|
305
|
+
/** Operation for {@link User.updateDocuments | `User.updateDocuments`} */
|
306
|
+
interface UpdateDocumentsOperation extends Document.Database.UpdateDocumentsOperation<User.Database.Update> {}
|
307
|
+
|
308
|
+
/** Operation for {@link User.deleteDocuments | `User.deleteDocuments`} */
|
309
|
+
interface DeleteDocumentsOperation extends Document.Database.DeleteDocumentsOperation<User.Database.Delete> {}
|
310
|
+
|
311
|
+
/** Operation for {@link User.create | `User.create`} */
|
312
|
+
interface CreateOperation<Temporary extends boolean | undefined>
|
313
|
+
extends Document.Database.CreateOperation<User.Database.Create<Temporary>> {}
|
314
|
+
|
315
|
+
/** Operation for {@link User.update | `User#update`} */
|
316
|
+
interface UpdateOperation extends Document.Database.UpdateOperation<Update> {}
|
317
|
+
|
318
|
+
interface DeleteOperation extends Document.Database.DeleteOperation<Delete> {}
|
36
319
|
|
320
|
+
/** Options for {@link User.get | `User.get`} */
|
321
|
+
interface GetOptions extends Document.Database.GetOptions {}
|
322
|
+
|
323
|
+
/** Options for {@link User._preCreate | `User#_preCreate`} */
|
324
|
+
interface PreCreateOptions extends Document.Database.PreCreateOptions<Create> {}
|
325
|
+
|
326
|
+
/** Options for {@link User._onCreate | `User#_onCreate`} */
|
327
|
+
interface OnCreateOptions extends Document.Database.CreateOptions<Create> {}
|
328
|
+
|
329
|
+
/** Operation for {@link User._preCreateOperation | `User._preCreateOperation`} */
|
330
|
+
interface PreCreateOperation extends Document.Database.PreCreateOperationStatic<User.Database.Create> {}
|
331
|
+
|
332
|
+
/** Operation for {@link User._onCreateOperation | `User#_onCreateOperation`} */
|
333
|
+
interface OnCreateOperation extends User.Database.Create {}
|
334
|
+
|
335
|
+
/** Options for {@link User._preUpdate | `User#_preUpdate`} */
|
336
|
+
interface PreUpdateOptions extends Document.Database.PreUpdateOptions<Update> {}
|
337
|
+
|
338
|
+
/** Options for {@link User._onUpdate | `User#_onUpdate`} */
|
339
|
+
interface OnUpdateOptions extends Document.Database.UpdateOptions<Update> {}
|
340
|
+
|
341
|
+
/** Operation for {@link User._preUpdateOperation | `User._preUpdateOperation`} */
|
342
|
+
interface PreUpdateOperation extends User.Database.Update {}
|
343
|
+
|
344
|
+
/** Operation for {@link User._onUpdateOperation | `User._preUpdateOperation`} */
|
345
|
+
interface OnUpdateOperation extends User.Database.Update {}
|
346
|
+
|
347
|
+
/** Options for {@link User._preDelete | `User#_preDelete`} */
|
348
|
+
interface PreDeleteOptions extends Document.Database.PreDeleteOperationInstance<Delete> {}
|
349
|
+
|
350
|
+
/** Options for {@link User._onDelete | `User#_onDelete`} */
|
351
|
+
interface OnDeleteOptions extends Document.Database.DeleteOptions<Delete> {}
|
352
|
+
|
353
|
+
/** Options for {@link User._preDeleteOperation | `User#_preDeleteOperation`} */
|
354
|
+
interface PreDeleteOperation extends User.Database.Delete {}
|
355
|
+
|
356
|
+
/** Options for {@link User._onDeleteOperation | `User#_onDeleteOperation`} */
|
357
|
+
interface OnDeleteOperation extends User.Database.Delete {}
|
358
|
+
|
359
|
+
/** Context for {@link User._onDeleteOperation | `User._onDeleteOperation`} */
|
360
|
+
interface OnDeleteDocumentsContext extends Document.ModificationContext<User.Parent> {}
|
361
|
+
|
362
|
+
/** Context for {@link User._onCreateDocuments | `User._onCreateDocuments`} */
|
363
|
+
interface OnCreateDocumentsContext extends Document.ModificationContext<User.Parent> {}
|
364
|
+
|
365
|
+
/** Context for {@link User._onUpdateDocuments | `User._onUpdateDocuments`} */
|
366
|
+
interface OnUpdateDocumentsContext extends Document.ModificationContext<User.Parent> {}
|
367
|
+
|
368
|
+
/**
|
369
|
+
* Options for {@link User._preCreateDescendantDocuments | `User#_preCreateDescendantDocuments`}
|
370
|
+
* and {@link User._onCreateDescendantDocuments | `User#_onCreateDescendantDocuments`}
|
371
|
+
*/
|
372
|
+
interface CreateOptions extends Document.Database.CreateOptions<User.Database.Create> {}
|
373
|
+
|
374
|
+
/**
|
375
|
+
* Options for {@link User._preUpdateDescendantDocuments | `User#_preUpdateDescendantDocuments`}
|
376
|
+
* and {@link User._onUpdateDescendantDocuments | `User#_onUpdateDescendantDocuments`}
|
377
|
+
*/
|
378
|
+
interface UpdateOptions extends Document.Database.UpdateOptions<User.Database.Update> {}
|
379
|
+
|
380
|
+
/**
|
381
|
+
* Options for {@link User._preDeleteDescendantDocuments | `User#_preDeleteDescendantDocuments`}
|
382
|
+
* and {@link User._onDeleteDescendantDocuments | `User#_onDeleteDescendantDocuments`}
|
383
|
+
*/
|
384
|
+
interface DeleteOptions extends Document.Database.DeleteOptions<User.Database.Delete> {}
|
385
|
+
}
|
386
|
+
|
387
|
+
/**
|
388
|
+
* The flags that are available for this document in the form `{ [scope: string]: { [key: string]: unknown } }`.
|
389
|
+
*/
|
390
|
+
interface Flags extends Document.ConfiguredFlagsForName<Name> {}
|
391
|
+
|
392
|
+
namespace Flags {
|
393
|
+
/**
|
394
|
+
* The valid scopes for the flags on this document e.g. `"core"` or `"dnd5e"`.
|
395
|
+
*/
|
396
|
+
type Scope = Document.FlagKeyOf<Flags>;
|
397
|
+
|
398
|
+
/**
|
399
|
+
* The valid keys for a certain scope for example if the scope is "core" then a valid key may be `"sheetLock"` or `"viewMode"`.
|
400
|
+
*/
|
401
|
+
type Key<Scope extends Flags.Scope> = Document.FlagKeyOf<Document.FlagGetKey<Flags, Scope>>;
|
402
|
+
|
403
|
+
/**
|
404
|
+
* Gets the type of a particular flag given a `Scope` and a `Key`.
|
405
|
+
*/
|
406
|
+
type Get<Scope extends Flags.Scope, Key extends Flags.Key<Scope>> = Document.GetFlag<Name, Scope, Key>;
|
407
|
+
}
|
408
|
+
|
409
|
+
// Note(LukeAbby): This namespace exists to break cycles because of extensive usage of `User` in
|
410
|
+
// the `Document` class itself.
|
411
|
+
namespace Internal {
|
412
|
+
type ImplementationClass = ConfiguredDocumentClass["User"];
|
413
|
+
type Implementation = FixedInstanceType<ConfiguredDocumentClass["User"]>;
|
414
|
+
}
|
415
|
+
|
416
|
+
/** @internal */
|
417
|
+
type _PingData = InexactPartial<{
|
37
418
|
/**
|
38
419
|
* The zoom level at which the ping was made.
|
420
|
+
* @defaultValue `1`
|
421
|
+
* @remarks Can't be `null` because it only has a parameter default and is eventually used as a divisor in `Canvas#_constrainView`
|
39
422
|
*/
|
40
423
|
zoom: number;
|
424
|
+
}> &
|
425
|
+
NullishProps<{
|
426
|
+
/**
|
427
|
+
* Pulls all connected clients' views to the pinged co-ordinates.
|
428
|
+
*/
|
429
|
+
pull: boolean;
|
430
|
+
|
431
|
+
/**
|
432
|
+
* The ping style, see CONFIG.Canvas.pings.
|
433
|
+
* @defaultValue `"pulse"`
|
434
|
+
* @remarks Overridden with `"arrow"` if the position of the ping is outside the viewport
|
435
|
+
*
|
436
|
+
* Overridden with `CONFIG.Canvas.pings.types.PULL` (`"chevron"` by default) if photosensitive mode is enabled and the ping is within the viewport
|
437
|
+
*/
|
438
|
+
style: Ping.ConfiguredStyles;
|
439
|
+
}>;
|
440
|
+
|
441
|
+
/** @privateRemarks Only consumed by {@link ControlsLayer.handlePing | `ControlsLayer#handlePing`} */
|
442
|
+
interface PingData extends _PingData {
|
443
|
+
/**
|
444
|
+
* The ID of the scene that was pinged.
|
445
|
+
*/
|
446
|
+
scene: string;
|
41
447
|
}
|
42
448
|
|
43
|
-
|
44
|
-
|
449
|
+
/**
|
450
|
+
* @internal
|
451
|
+
* No core {@link User.broadcastActivity | `User#broadcastActivity`} call provides all keys, most only provide one,
|
452
|
+
* this is essentially bundling a bunch of unrelated update types into one socket handler, but the socket drops
|
453
|
+
* explicit `undefined` keys, so `IntentionalPartial` and `| null` as appropriate it is.
|
454
|
+
*/
|
455
|
+
type _ActivityData = IntentionalPartial<{
|
456
|
+
/**
|
457
|
+
* The ID of the scene that the user is viewing.
|
458
|
+
* @remarks Foundry types this as possibly being `null`, but no code path in core seems to be able to produce such a broadcast,
|
459
|
+
* and it appears to be ignored if explicitly sent as `null`. Can't be explicit `undefined` as the socket drops such keys.
|
460
|
+
*/
|
45
461
|
sceneId: string | null;
|
46
462
|
|
47
|
-
/**
|
463
|
+
/**
|
464
|
+
* The position of the user's cursor.
|
465
|
+
* @remarks Can't be explicit `undefined` as the socket drops such keys, and {@link ControlsLayer.updateCursor | `ControlsLayer#updateCursor`}
|
466
|
+
* has an `=== null` check.
|
467
|
+
*/
|
48
468
|
cursor: { x: number; y: number } | null;
|
49
469
|
|
50
|
-
/**
|
470
|
+
/**
|
471
|
+
* The state of the user's ruler, if they are currently using one.
|
472
|
+
* @remarks Can't be explicit `undefined` as the socket drops such keys.
|
473
|
+
*/
|
51
474
|
ruler: Ruler.MeasurementData | null;
|
52
475
|
|
53
|
-
/**
|
476
|
+
/**
|
477
|
+
* The IDs of the tokens the user has targeted in the currently viewed
|
478
|
+
* @remarks Can't be explicit `undefined` as the socket drops such keys, and can't be `null` as its passed to {@link User.updateTokenTargets | `User#updateTokenTargets`},
|
479
|
+
* where it only has a parameter default.
|
480
|
+
*/
|
54
481
|
targets: string[];
|
55
482
|
|
56
|
-
/**
|
483
|
+
/**
|
484
|
+
* Whether the user has an open WS connection to the server or not.
|
485
|
+
* @defaultValue `true`
|
486
|
+
* @remarks Can't be nullish as, if provided, gets directly assigned to {@link User.active | `User#active`},
|
487
|
+
* and the default is applied only on a negative `in` check.
|
488
|
+
*/
|
57
489
|
active: boolean;
|
58
490
|
|
59
|
-
/**
|
60
|
-
|
491
|
+
/**
|
492
|
+
* Is the user emitting a ping at the cursor coordinates?
|
493
|
+
* @remarks Can't be explicit `undefined` as the socket drops such keys, and can't be `null` as its passed to {@link ControlsLayer.handlePing | `CanvasLayer#handlePing`}'s third argument,
|
494
|
+
* where it is destructured and only has a parameter default.
|
495
|
+
*/
|
496
|
+
ping: User.PingData;
|
497
|
+
|
498
|
+
/**
|
499
|
+
* The state of the user's AV settings.
|
500
|
+
* @remarks Can't be nullish, as it's passed to {@link AVSettings._handleUserActivity | `game.webrtc.settings._handleUserActivity`}'s second argument,
|
501
|
+
* which has no default and has `in` checks applied.
|
502
|
+
*/
|
503
|
+
av: AVSettings.Data;
|
504
|
+
}>;
|
505
|
+
|
506
|
+
interface ActivityData extends _ActivityData {}
|
507
|
+
|
508
|
+
/** @internal */
|
509
|
+
type _BroadcastActivityOptions = NullishProps<{
|
510
|
+
/**
|
511
|
+
* If undefined, volatile is inferred from the activity data.
|
512
|
+
* @remarks The update is assumed volatile if it has `av`, `targets`, or `ping` data,
|
513
|
+
* lacks a `sceneId`, or has `ruler` data of exactly `null`
|
514
|
+
*/
|
515
|
+
volatile: boolean;
|
516
|
+
}>;
|
517
|
+
|
518
|
+
interface BroadcastActivityOptions extends _BroadcastActivityOptions {}
|
519
|
+
|
520
|
+
/** @internal */
|
521
|
+
type _HasRoleOptions = NullishProps<{
|
522
|
+
/**
|
523
|
+
* Require the role match to be exact
|
524
|
+
* @defaultValue `false`
|
525
|
+
*/
|
526
|
+
exact: boolean;
|
527
|
+
}>;
|
528
|
+
|
529
|
+
interface HasRoleOptions extends _HasRoleOptions {}
|
530
|
+
|
531
|
+
/** @internal */
|
532
|
+
type _AssignHotbarMacroOptions = NullishProps<{
|
533
|
+
/**
|
534
|
+
* An optional origin slot from which the Macro is being shifted
|
535
|
+
* @remarks No default value, and non-numeric values are ignored
|
536
|
+
*/
|
537
|
+
fromSlot: number;
|
538
|
+
}>;
|
61
539
|
|
62
|
-
|
63
|
-
|
540
|
+
interface AssignHotbarMacroOptions extends _AssignHotbarMacroOptions {}
|
541
|
+
|
542
|
+
/** The data {@link User.getHotbarMacros | `User#getHotbarMacros`} returns for each of the 10 entries in its returned array */
|
543
|
+
interface GetHotbarMacrosData {
|
544
|
+
slot: number;
|
545
|
+
macro: Macro.Implementation | null;
|
64
546
|
}
|
547
|
+
|
548
|
+
type ActionPermission = keyof typeof CONST.USER_PERMISSIONS | CONST.USER_ROLE_NAMES | CONST.USER_ROLES;
|
549
|
+
|
550
|
+
/**
|
551
|
+
* @deprecated {@link User.Database | `User.DatabaseOperation`}
|
552
|
+
*/
|
553
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
554
|
+
interface DatabaseOperations extends Document.Database.Operations<User.Implementation> {}
|
555
|
+
|
556
|
+
/**
|
557
|
+
* @deprecated {@link User.CreateData | `User.CreateData`}
|
558
|
+
*/
|
559
|
+
interface ConstructorData extends User.CreateData {}
|
560
|
+
|
561
|
+
/**
|
562
|
+
* @deprecated {@link User.implementation | `User.ImplementationClass`}
|
563
|
+
*/
|
564
|
+
type ConfiguredClass = ImplementationClass;
|
565
|
+
|
566
|
+
/**
|
567
|
+
* @deprecated {@link User.Implementation | `User.Implementation`}
|
568
|
+
*/
|
569
|
+
type ConfiguredInstance = Implementation;
|
65
570
|
}
|
66
571
|
|
67
572
|
/**
|
68
573
|
* The client-side User document which extends the common BaseUser model.
|
69
574
|
* Each User document contains UserData which defines its data schema.
|
70
575
|
*
|
71
|
-
* @see {@link Users} The world-level collection of User documents
|
72
|
-
* @see {@link UserConfig} The User configuration application
|
576
|
+
* @see {@link Users | `Users`} The world-level collection of User documents
|
577
|
+
* @see {@link UserConfig | `UserConfig`} The User configuration application
|
73
578
|
*/
|
74
579
|
class User extends ClientDocumentMixin(foundry.documents.BaseUser) {
|
75
|
-
|
580
|
+
/**
|
581
|
+
* @param data - Initial data from which to construct the `User`
|
582
|
+
* @param context - Construction context options
|
583
|
+
*/
|
584
|
+
constructor(...args: User.ConstructorArgs);
|
76
585
|
|
77
586
|
/**
|
78
587
|
* Track whether the user is currently active in the game
|
@@ -103,18 +612,34 @@ declare global {
|
|
103
612
|
|
104
613
|
override prepareDerivedData(): void;
|
105
614
|
|
615
|
+
/**
|
616
|
+
* @remarks Doesn't exist prior to data prep, set in {@link User.prepareDerivedData | `User#prepareDerivedData`}
|
617
|
+
* @defaultValue `this.color.multiply(2)`
|
618
|
+
*/
|
619
|
+
border?: Color;
|
620
|
+
|
106
621
|
/**
|
107
622
|
* Assign a Macro to a numbered hotbar slot between 1 and 50
|
108
623
|
* @param macro - The Macro document to assign
|
109
624
|
* @param slot - A specific numbered hotbar slot to fill
|
110
|
-
* @param fromSlot - An optional origin slot from which the Macro is being shifted
|
111
625
|
* @returns A Promise which resolves once the User update is complete
|
626
|
+
* @remarks
|
627
|
+
* Passing `null` for `macro` requires passing a `slot` to clear.
|
628
|
+
*
|
629
|
+
* `slot` defaults to the first unused slot if not provided. Slots are `1`-indexed.
|
630
|
+
* @throws If `slot` is provided and either less than `1` or more than `50`, or not provided when there's no open slots
|
112
631
|
*/
|
632
|
+
// options: not null (destructured)
|
633
|
+
assignHotbarMacro(
|
634
|
+
macro: Macro.Implementation,
|
635
|
+
slot?: `${number}` | number,
|
636
|
+
options?: User.AssignHotbarMacroOptions,
|
637
|
+
): Promise<this | undefined>;
|
113
638
|
assignHotbarMacro(
|
114
|
-
macro:
|
115
|
-
slot:
|
116
|
-
|
117
|
-
): Promise<this>;
|
639
|
+
macro: null,
|
640
|
+
slot: `${number}` | number,
|
641
|
+
options?: User.AssignHotbarMacroOptions,
|
642
|
+
): Promise<this | undefined>;
|
118
643
|
|
119
644
|
/**
|
120
645
|
* Assign a specific boolean permission to this user.
|
@@ -122,43 +647,74 @@ declare global {
|
|
122
647
|
*
|
123
648
|
* @param permission - The permission name from USER_PERMISSIONS
|
124
649
|
* @param allowed - Whether to allow or restrict the permission
|
650
|
+
* @remarks
|
651
|
+
* @throws If the calling user is not at least an Assistant GM
|
125
652
|
*/
|
126
|
-
assignPermission(permission: keyof typeof CONST.USER_PERMISSIONS, allowed: boolean): Promise<this>;
|
653
|
+
assignPermission(permission: keyof typeof CONST.USER_PERMISSIONS, allowed: boolean): Promise<this | undefined>;
|
127
654
|
|
128
655
|
/**
|
129
656
|
* Submit User activity data to the server for broadcast to other players.
|
130
657
|
* This type of data is transient, persisting only for the duration of the session and not saved to any database.
|
131
658
|
* Activity data uses a volatile event to prevent unnecessary buffering if the client temporarily loses connection.
|
132
|
-
* @param activityData - An object of User activity data to submit to the server for broadcast.
|
133
|
-
* (default: `{}`)
|
659
|
+
* @param activityData - An object of User activity data to submit to the server for broadcast. (default: `{}`)
|
134
660
|
*/
|
135
|
-
|
136
|
-
|
137
|
-
options?: InexactPartial<{
|
138
|
-
/**
|
139
|
-
* If undefined, volatile is inferred from the activity data
|
140
|
-
*/
|
141
|
-
volatile: boolean;
|
142
|
-
}>,
|
143
|
-
): void;
|
661
|
+
// activityData: not null (parameter default only), options: not null (destructured)
|
662
|
+
broadcastActivity(activityData?: User.ActivityData, options?: User.BroadcastActivityOptions): void;
|
144
663
|
|
145
664
|
/**
|
146
665
|
* Get an Array of Macro Documents on this User's Hotbar by page
|
147
|
-
* @param page - The hotbar page number
|
148
|
-
*
|
666
|
+
* @param page - The hotbar page number (default: `1`)
|
667
|
+
* @remarks Core's implementation hardcodes returning 10 results at a time (single page of the hotbar)
|
149
668
|
*/
|
150
|
-
|
669
|
+
// page: not null (would produce negative hotbar indices)
|
670
|
+
getHotbarMacros(page?: number): User.GetHotbarMacrosData[];
|
151
671
|
|
152
672
|
/**
|
153
673
|
* Update the set of Token targets for the user given an array of provided Token ids.
|
154
|
-
* @param targetIds - An array of Token ids which represents the new target set
|
155
|
-
* (default: `[]`)
|
674
|
+
* @param targetIds - An array of Token ids which represents the new target set (default: `[]`)
|
156
675
|
*/
|
676
|
+
// targetIds: not null (parameter default only)
|
157
677
|
updateTokenTargets(targetIds?: string[]): void;
|
158
678
|
|
159
|
-
|
160
|
-
|
161
|
-
|
679
|
+
// _onUpdate and _onDelete are overridden but with no signature changes.
|
680
|
+
// For type simplicity they are left off. These methods historically have been the source of a large amount of computation from tsc.
|
681
|
+
|
682
|
+
/*
|
683
|
+
* After this point these are not really overridden methods.
|
684
|
+
* They are here because Foundry's documents are complex and have lots of edge cases.
|
685
|
+
* There are DRY ways of representing this but this ends up being harder to understand
|
686
|
+
* for end users extending these functions, especially for static methods. There are also a
|
687
|
+
* number of methods that don't make sense to call directly on `Document` like `createDocuments`,
|
688
|
+
* as there is no data that can safely construct every possible document. Finally keeping definitions
|
689
|
+
* separate like this helps against circularities.
|
162
690
|
*/
|
691
|
+
|
692
|
+
// ClientDocument overrides
|
693
|
+
|
694
|
+
// Descendant Document operations have been left out because User does not have any descendant documents.
|
695
|
+
|
696
|
+
// context: not null (destructured)
|
697
|
+
static override defaultName(context?: Document.DefaultNameContext<"User", User.Parent>): string;
|
698
|
+
|
699
|
+
// data: not null (parameter default only), context: not null (destructured)
|
700
|
+
static override createDialog(
|
701
|
+
data?: Document.CreateDialogData<User.CreateData>,
|
702
|
+
context?: Document.CreateDialogContext<"User", User.Parent>,
|
703
|
+
): Promise<User.Stored | null | undefined>;
|
704
|
+
|
705
|
+
// options: not null (parameter default only)
|
706
|
+
static override fromDropData(
|
707
|
+
data: Document.DropData<User.Implementation>,
|
708
|
+
options?: AnyObject,
|
709
|
+
): Promise<User.Implementation | undefined>;
|
710
|
+
|
711
|
+
static override fromImport(
|
712
|
+
source: User.Source,
|
713
|
+
context?: Document.FromImportContext<User.Parent> | null,
|
714
|
+
): Promise<User.Implementation>;
|
715
|
+
|
716
|
+
override _onClickDocumentLink(event: MouseEvent): ClientDocument.OnClickDocumentLinkReturn;
|
717
|
+
|
718
|
+
// Embedded document operations have been left out because User does not have any embedded documents.
|
163
719
|
}
|
164
720
|
}
|