@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,172 +1,749 @@
|
|
1
|
-
import type {
|
2
|
-
import type {
|
3
|
-
import type {
|
4
|
-
import type { DocumentDatabaseOperations } from "../../../common/abstract/document.d.mts";
|
1
|
+
import type { ConfiguredCards } from "../../../../configuration/index.d.mts";
|
2
|
+
import type { AnyObject, InexactPartial, Merge, NullishProps } from "#utils";
|
3
|
+
import type { documents } from "../../../client-esm/client.d.mts";
|
5
4
|
import type Document from "../../../common/abstract/document.d.mts";
|
5
|
+
import type { DataSchema } from "../../../common/data/fields.d.mts";
|
6
|
+
import type { fields } from "../../../common/data/module.d.mts";
|
6
7
|
import type BaseCards from "../../../common/documents/cards.d.mts";
|
7
8
|
|
8
9
|
declare global {
|
9
10
|
namespace Cards {
|
10
|
-
|
11
|
+
/**
|
12
|
+
* The document's name.
|
13
|
+
*/
|
14
|
+
type Name = "Cards";
|
11
15
|
|
12
|
-
|
13
|
-
|
16
|
+
/**
|
17
|
+
* The arguments to construct the document.
|
18
|
+
*/
|
19
|
+
type ConstructorArgs = Document.ConstructorParameters<CreateData, Parent>;
|
14
20
|
|
15
|
-
|
21
|
+
/**
|
22
|
+
* The documents embedded within `Cards`.
|
23
|
+
*/
|
24
|
+
type Hierarchy = Readonly<Document.HierarchyOf<Schema>>;
|
16
25
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
type
|
22
|
-
type Source = BaseCards.Source;
|
26
|
+
/**
|
27
|
+
* The implementation of the `Cards` document instance configured through `CONFIG.Cards.documentClass` in Foundry and
|
28
|
+
* {@link DocumentClassConfig | `DocumentClassConfig`} or {@link ConfiguredCards | `fvtt-types/configuration/ConfiguredCards`} in fvtt-types.
|
29
|
+
*/
|
30
|
+
type Implementation = Document.ImplementationFor<Name>;
|
23
31
|
|
24
|
-
|
32
|
+
/**
|
33
|
+
* The implementation of the `Cards` document configured through `CONFIG.Cards.documentClass` in Foundry and
|
34
|
+
* {@link DocumentClassConfig | `DocumentClassConfig`} in fvtt-types.
|
35
|
+
*/
|
36
|
+
type ImplementationClass = Document.ImplementationClassFor<Name>;
|
37
|
+
|
38
|
+
/**
|
39
|
+
* A document's metadata is special information about the document ranging anywhere from its name,
|
40
|
+
* whether it's indexed, or to the permissions a user has over it.
|
41
|
+
*/
|
42
|
+
interface Metadata
|
43
|
+
extends Merge<
|
44
|
+
Document.Metadata.Default,
|
45
|
+
Readonly<{
|
46
|
+
name: "Cards";
|
47
|
+
collection: "cards";
|
48
|
+
indexed: true;
|
49
|
+
compendiumIndexFields: ["_id", "name", "description", "img", "type", "sort", "folder"];
|
50
|
+
embedded: Metadata.Embedded;
|
51
|
+
hasTypeData: true;
|
52
|
+
label: string;
|
53
|
+
labelPlural: string;
|
54
|
+
coreTypes: ["deck", "hand", "pile"];
|
55
|
+
schemaVersion: string;
|
56
|
+
}>
|
57
|
+
> {}
|
25
58
|
|
26
|
-
|
59
|
+
namespace Metadata {
|
27
60
|
/**
|
28
|
-
*
|
29
|
-
* @defaultValue `true`
|
61
|
+
* The embedded metadata
|
30
62
|
*/
|
31
|
-
|
63
|
+
interface Embedded {
|
64
|
+
Card: "cards";
|
65
|
+
}
|
32
66
|
}
|
33
67
|
|
34
|
-
|
68
|
+
/**
|
69
|
+
* Allowed subtypes of `Cards`. This is configured through various methods. Modern Foundry
|
70
|
+
* recommends registering using [Data Models](https://foundryvtt.com/article/system-data-models/)
|
71
|
+
* under {@link CONFIG.Cards.dataModels | `CONFIG.Cards.dataModels`}. This corresponds to
|
72
|
+
* fvtt-type's {@link DataModelConfig | `DataModelConfig`}.
|
73
|
+
*
|
74
|
+
* Subtypes can also be registered through a `template.json` though this is discouraged.
|
75
|
+
* The corresponding fvtt-type configs are {@link SourceConfig | `SourceConfig`} and
|
76
|
+
* {@link DataConfig | `DataConfig`}.
|
77
|
+
*/
|
78
|
+
type SubType = Game.Model.TypeNames<"Cards">;
|
79
|
+
|
80
|
+
/**
|
81
|
+
* `ConfiguredSubTypes` represents the subtypes a user explicitly registered. This excludes
|
82
|
+
* subtypes like the Foundry builtin subtype `"base"` and the catch-all subtype for arbitrary
|
83
|
+
* module subtypes `${string}.${string}`.
|
84
|
+
*
|
85
|
+
* @see {@link SubType} for more information.
|
86
|
+
*/
|
87
|
+
type ConfiguredSubTypes = Document.ConfiguredSubTypesOf<"Cards">;
|
88
|
+
|
89
|
+
/**
|
90
|
+
* `Known` represents the types of `Cards` that a user explicitly registered.
|
91
|
+
*
|
92
|
+
* @see {@link ConfiguredSubTypes} for more information.
|
93
|
+
*/
|
94
|
+
type Known = Cards.OfType<Cards.ConfiguredSubTypes>;
|
95
|
+
|
96
|
+
/**
|
97
|
+
* `OfType` returns an instance of `Cards` with the corresponding type. This works with both the
|
98
|
+
* builtin `Cards` class or a custom subclass if that is set up in
|
99
|
+
* {@link ConfiguredCards | `fvtt-types/configuration/ConfiguredCards`}.
|
100
|
+
*/
|
101
|
+
// eslint-disable-next-line @typescript-eslint/no-restricted-types
|
102
|
+
type OfType<Type extends SubType> = Document.Internal.OfType<ConfiguredCards<Type>, Cards<Type>>;
|
103
|
+
|
104
|
+
/**
|
105
|
+
* `SystemOfType` returns the system property for a specific `Cards` subtype.
|
106
|
+
*/
|
107
|
+
type SystemOfType<Type extends SubType> = Document.Internal.SystemOfType<_SystemMap, Type>;
|
108
|
+
|
109
|
+
/**
|
110
|
+
* @internal
|
111
|
+
*/
|
112
|
+
interface _SystemMap extends Document.Internal.SystemMap<"Cards"> {}
|
113
|
+
|
114
|
+
/**
|
115
|
+
* A document's parent is something that can contain it.
|
116
|
+
* For example an `Item` can be contained by an `Actor` which makes `Actor` one of its possible parents.
|
117
|
+
*/
|
118
|
+
type Parent = null;
|
119
|
+
|
120
|
+
/**
|
121
|
+
* A document's direct descendants are documents that are contained directly within its schema.
|
122
|
+
* This is a union of all such instances, or never if the document doesn't have any descendants.
|
123
|
+
*/
|
124
|
+
type DirectDescendant = Card.Stored;
|
125
|
+
|
126
|
+
/**
|
127
|
+
* A document's direct descendants are documents that are contained directly within its schema.
|
128
|
+
* This is a union of all such classes, or never if the document doesn't have any descendants.
|
129
|
+
*/
|
130
|
+
type DirectDescendantClass = Card.ImplementationClass;
|
131
|
+
|
132
|
+
/**
|
133
|
+
* A document's descendants are any documents that are contained within, either within its schema
|
134
|
+
* or its descendant's schemas.
|
135
|
+
* This is a union of all such instances, or never if the document doesn't have any descendants.
|
136
|
+
*/
|
137
|
+
type Descendant = DirectDescendant;
|
138
|
+
|
139
|
+
/**
|
140
|
+
* A document's descendants are any child documents, grandchild documents, etc.
|
141
|
+
* This is a union of all classes, or never if the document doesn't have any descendants.
|
142
|
+
*/
|
143
|
+
type DescendantClass = DirectDescendantClass;
|
144
|
+
|
145
|
+
/**
|
146
|
+
* Types of `CompendiumCollection` this document might be contained in.
|
147
|
+
* Note that `this.pack` will always return a string; this is the type for `game.packs.get(this.pack)`
|
148
|
+
*/
|
149
|
+
// Note: Takes any document in the heritage chain (i.e. itself or any parent, transitive or not) that can be contained in a compendium.
|
150
|
+
type Pack = CompendiumCollection.ForDocument<"Cards">;
|
151
|
+
|
152
|
+
/**
|
153
|
+
* An embedded document is a document contained in another.
|
154
|
+
* For example an `Item` can be contained by an `Actor` which means `Item` can be embedded in `Actor`.
|
155
|
+
*
|
156
|
+
* If this is `never` it is because there are no embeddable documents (or there's a bug!).
|
157
|
+
*/
|
158
|
+
type Embedded = Document.ImplementationFor<Embedded.Name>;
|
159
|
+
|
160
|
+
namespace Embedded {
|
35
161
|
/**
|
36
|
-
*
|
37
|
-
*
|
162
|
+
* An embedded document is a document contained in another.
|
163
|
+
* For example an `Item` can be contained by an `Actor` which means `Item` can be embedded in `Actor`.
|
164
|
+
*
|
165
|
+
* If this is `never` it is because there are no embeddable documents (or there's a bug!).
|
38
166
|
*/
|
39
|
-
|
167
|
+
type Name = keyof Metadata.Embedded;
|
40
168
|
|
41
169
|
/**
|
42
|
-
*
|
43
|
-
* for example the displayed face
|
44
|
-
* @defaultValue `{}`
|
170
|
+
* Gets the collection name for an embedded document.
|
45
171
|
*/
|
46
|
-
|
172
|
+
type CollectionNameOf<CollectionName extends Embedded.CollectionName> = Document.Embedded.CollectionNameFor<
|
173
|
+
Metadata.Embedded,
|
174
|
+
CollectionName
|
175
|
+
>;
|
47
176
|
|
48
177
|
/**
|
49
|
-
*
|
50
|
-
|
178
|
+
* Gets the collection document for an embedded document.
|
179
|
+
*/
|
180
|
+
// TODO(LukeAbby): There's a circularity. Should be `Document.Embedded.CollectionDocumentFor<Metadata.Embedded, CollectionName>`
|
181
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
182
|
+
type DocumentFor<CollectionName extends Embedded.CollectionName> = Document.Any;
|
183
|
+
|
184
|
+
/**
|
185
|
+
* Gets the collection for an embedded document.
|
186
|
+
*/
|
187
|
+
type CollectionFor<CollectionName extends Embedded.CollectionName> = Document.Embedded.CollectionFor<
|
188
|
+
// TODO(LukeAbby): This should be `TokenDocument.Implementation` but this causes a circularity.
|
189
|
+
Document.Any,
|
190
|
+
Metadata.Embedded,
|
191
|
+
CollectionName
|
192
|
+
>;
|
193
|
+
|
194
|
+
/**
|
195
|
+
* A valid name to refer to a collection embedded in this document. For example an `Actor`
|
196
|
+
* has the key `"items"` which contains `Item` instance which would make both `"Item" | "Items"`
|
197
|
+
* valid keys (amongst others).
|
51
198
|
*/
|
52
|
-
|
199
|
+
type CollectionName = Document.Embedded.CollectionName<Metadata.Embedded>;
|
53
200
|
}
|
54
201
|
|
55
|
-
/**
|
56
|
-
|
57
|
-
|
58
|
-
|
202
|
+
/**
|
203
|
+
* The name of the world or embedded collection this document can find itself in.
|
204
|
+
* For example an `Item` is always going to be inside a collection with a key of `items`.
|
205
|
+
* This is a fixed string per document type and is primarily useful for {@link ClientDocumentMixin | `Descendant Document Events`}.
|
206
|
+
*/
|
207
|
+
type ParentCollectionName = Metadata["collection"];
|
59
208
|
|
60
|
-
|
61
|
-
|
209
|
+
/**
|
210
|
+
* The world collection that contains `Cards`s. Will be `never` if none exists.
|
211
|
+
*/
|
212
|
+
type CollectionClass = CardStacks.ConfiguredClass;
|
62
213
|
|
63
|
-
|
64
|
-
|
214
|
+
/**
|
215
|
+
* The world collection that contains `Cards`s. Will be `never` if none exists.
|
216
|
+
*/
|
217
|
+
type Collection = CardStacks.Configured;
|
65
218
|
|
66
|
-
|
67
|
-
|
68
|
-
|
219
|
+
/**
|
220
|
+
* An instance of `Cards` that comes from the database but failed validation meaning that
|
221
|
+
* its `system` and `_source` could theoretically be anything.
|
222
|
+
*/
|
223
|
+
interface Invalid<out SubType extends Cards.SubType = Cards.SubType> extends Document.Invalid<OfType<SubType>> {}
|
224
|
+
|
225
|
+
/**
|
226
|
+
* An instance of `Cards` that comes from the database.
|
227
|
+
*/
|
228
|
+
interface Stored<out SubType extends Cards.SubType = Cards.SubType> extends Document.Stored<OfType<SubType>> {}
|
229
|
+
|
230
|
+
/**
|
231
|
+
* The data put in {@link Cards._source | `Cards#_source`}. This data is what was
|
232
|
+
* persisted to the database and therefore it must be valid JSON.
|
233
|
+
*
|
234
|
+
* For example a {@link fields.SetField | `SetField`} is persisted to the database as an array
|
235
|
+
* but initialized as a {@link Set | `Set`}.
|
236
|
+
*/
|
237
|
+
interface Source extends fields.SchemaField.SourceData<Schema> {}
|
238
|
+
|
239
|
+
/**
|
240
|
+
* @deprecated {@link Cards.Source | `Cards.Source`}
|
241
|
+
*/
|
242
|
+
type PersistedData = Source;
|
243
|
+
|
244
|
+
/**
|
245
|
+
* The data necessary to create a document. Used in places like {@link Cards.create | `Cards.create`}
|
246
|
+
* and {@link Cards | `new Cards(...)`}.
|
247
|
+
*
|
248
|
+
* For example a {@link fields.SetField | `SetField`} can accept any {@link Iterable | `Iterable`}
|
249
|
+
* with the right values. This means you can pass a `Set` instance, an array of values,
|
250
|
+
* a generator, or any other iterable.
|
251
|
+
*/
|
252
|
+
interface CreateData extends fields.SchemaField.CreateData<Schema> {}
|
253
|
+
|
254
|
+
/**
|
255
|
+
* The data after a {@link foundry.abstract.Document | `Document`} has been initialized, for example
|
256
|
+
* {@link Cards.name | `Cards#name`}.
|
257
|
+
*
|
258
|
+
* This is data transformed from {@link Cards.Source | `Cards.Source`} and turned into more
|
259
|
+
* convenient runtime data structures. For example a {@link fields.SetField | `SetField`} is
|
260
|
+
* persisted to the database as an array of values but at runtime it is a `Set` instance.
|
261
|
+
*/
|
262
|
+
interface InitializedData extends fields.SchemaField.InitializedData<Schema> {}
|
263
|
+
|
264
|
+
/**
|
265
|
+
* The data used to update a document, for example {@link Cards.update | `Cards#update`}.
|
266
|
+
* It is a distinct type from {@link Cards.CreateData | `DeepPartial<Cards.CreateData>`} because
|
267
|
+
* it has different rules for `null` and `undefined`.
|
268
|
+
*/
|
269
|
+
interface UpdateData extends fields.SchemaField.UpdateData<Schema> {}
|
270
|
+
|
271
|
+
/**
|
272
|
+
* The schema for {@link Cards | `Cards`}. This is the source of truth for how an Cards document
|
273
|
+
* must be structured.
|
274
|
+
*
|
275
|
+
* Foundry uses this schema to validate the structure of the {@link Cards | `Cards`}. For example
|
276
|
+
* a {@link fields.StringField | `StringField`} will enforce that the value is a string. More
|
277
|
+
* complex fields like {@link fields.SetField | `SetField`} goes through various conversions
|
278
|
+
* starting as an array in the database, initialized as a set, and allows updates with any
|
279
|
+
* iterable.
|
280
|
+
*/
|
281
|
+
interface Schema extends DataSchema {
|
282
|
+
/**
|
283
|
+
* The _id which uniquely identifies this stack of Cards document
|
284
|
+
* @defaultValue `null`
|
285
|
+
*/
|
286
|
+
_id: fields.DocumentIdField;
|
287
|
+
|
288
|
+
/** The text name of this stack */
|
289
|
+
// FIXME: This field is `required` with no `initial`, so actually required for construction; Currently an AssignmentType override is required to enforce this
|
290
|
+
name: fields.StringField<{ required: true; blank: false; label: "CARDS.Name"; textSearch: true }, string>;
|
69
291
|
|
70
|
-
interface PassOptions extends BaseOperationOptions {
|
71
292
|
/**
|
72
|
-
*
|
73
|
-
*
|
293
|
+
* The type of this stack, in BaseCards.metadata.types
|
294
|
+
* @defaultValue `BaseCards.TYPES[0]`
|
295
|
+
*/
|
296
|
+
// TODO: type is required at construction, no "base" allowed
|
297
|
+
type: fields.DocumentTypeField<typeof BaseCards>;
|
298
|
+
|
299
|
+
/**
|
300
|
+
* A text description of this stack
|
301
|
+
* @defaultValue `""`
|
302
|
+
*/
|
303
|
+
description: fields.HTMLField<{ label: "CARDS.Description"; textSearch: true }>;
|
304
|
+
|
305
|
+
/**
|
306
|
+
* An image or video which is used to represent the stack of cards
|
307
|
+
* @defaultValue `BaseCards.DEFAULT_ICON`
|
308
|
+
*/
|
309
|
+
img: fields.FilePathField<{
|
310
|
+
categories: ["IMAGE", "VIDEO"];
|
311
|
+
initial: () => typeof BaseCards.DEFAULT_ICON;
|
312
|
+
label: "CARDS.Image";
|
313
|
+
}>;
|
314
|
+
|
315
|
+
/**
|
316
|
+
* Game system data which is defined by the system template.json model
|
74
317
|
* @defaultValue `{}`
|
75
318
|
*/
|
76
|
-
|
319
|
+
system: fields.TypeDataField<typeof BaseCards>;
|
77
320
|
|
78
321
|
/**
|
79
|
-
*
|
80
|
-
* @defaultValue `
|
322
|
+
* A collection of Card documents which currently belong to this stack
|
323
|
+
* @defaultValue `[]`
|
81
324
|
*/
|
82
|
-
|
325
|
+
cards: fields.EmbeddedCollectionField<typeof documents.BaseCard, Cards.Implementation>;
|
83
326
|
|
84
327
|
/**
|
85
|
-
*
|
86
|
-
* @defaultValue `
|
328
|
+
* The visible width of this stack
|
329
|
+
* @defaultValue `null`
|
87
330
|
*/
|
88
|
-
|
89
|
-
}
|
331
|
+
width: fields.NumberField<{ integer: true; positive: true; label: "Width" }>;
|
90
332
|
|
91
|
-
interface DrawOptions extends PassOptions {
|
92
333
|
/**
|
93
|
-
*
|
94
|
-
* @defaultValue `
|
334
|
+
* The visible height of this stack
|
335
|
+
* @defaultValue `null`
|
336
|
+
*/
|
337
|
+
height: fields.NumberField<{ integer: true; positive: true; label: "Height" }>;
|
338
|
+
|
339
|
+
/**
|
340
|
+
* The angle of rotation of this stack
|
341
|
+
* @defaultValue `0`
|
342
|
+
*/
|
343
|
+
rotation: fields.AngleField<{ label: "Rotation" }>;
|
344
|
+
|
345
|
+
/**
|
346
|
+
* Whether or not to publicly display the number of cards in this stack
|
347
|
+
* @defaultValue `false`
|
348
|
+
*/
|
349
|
+
displayCount: fields.BooleanField;
|
350
|
+
|
351
|
+
/**
|
352
|
+
* The _id of a Folder which contains this document
|
353
|
+
* @defaultValue `null`
|
354
|
+
*/
|
355
|
+
folder: fields.ForeignDocumentField<typeof documents.BaseFolder>;
|
356
|
+
|
357
|
+
/**
|
358
|
+
* The sort order of this stack relative to others in its parent collection
|
359
|
+
* @defaultValue `0`
|
360
|
+
*/
|
361
|
+
sort: fields.IntegerSortField;
|
362
|
+
|
363
|
+
/**
|
364
|
+
* An object which configures ownership of this Cards
|
365
|
+
* @defaultValue see {@link fields.DocumentOwnershipField | `fields.DocumentOwnershipField`}
|
95
366
|
*/
|
96
|
-
|
367
|
+
ownership: fields.DocumentOwnershipField;
|
97
368
|
|
98
369
|
/**
|
99
|
-
*
|
100
|
-
* for example the displayed face
|
370
|
+
* An object of optional key/value flags
|
101
371
|
* @defaultValue `{}`
|
102
372
|
*/
|
103
|
-
|
373
|
+
flags: fields.ObjectField.FlagsField<Name>;
|
374
|
+
|
375
|
+
/**
|
376
|
+
* An object of creation and access information
|
377
|
+
* @defaultValue see {@link fields.DocumentStatsField | `fields.DocumentStatsField`}
|
378
|
+
*/
|
379
|
+
_stats: fields.DocumentStatsField;
|
104
380
|
}
|
105
381
|
|
106
|
-
|
382
|
+
namespace Database {
|
383
|
+
/** Options passed along in Get operations for Cards Documents */
|
384
|
+
interface Get extends foundry.abstract.types.DatabaseGetOperation<Cards.Parent> {}
|
385
|
+
|
386
|
+
/** Options passed along in Create operations for Cards Documents */
|
387
|
+
interface Create<Temporary extends boolean | undefined = boolean | undefined>
|
388
|
+
extends foundry.abstract.types.DatabaseCreateOperation<Cards.CreateData, Cards.Parent, Temporary> {
|
389
|
+
animate?: boolean;
|
390
|
+
}
|
391
|
+
|
392
|
+
/** Options passed along in Delete operations for Cards Documents */
|
393
|
+
interface Delete extends foundry.abstract.types.DatabaseDeleteOperation<Cards.Parent> {
|
394
|
+
animate?: boolean;
|
395
|
+
}
|
396
|
+
|
397
|
+
/** Options passed along in Update operations for Cards Documents */
|
398
|
+
interface Update extends foundry.abstract.types.DatabaseUpdateOperation<Cards.UpdateData, Cards.Parent> {
|
399
|
+
animate?: boolean;
|
400
|
+
}
|
401
|
+
|
402
|
+
/** Operation for {@link Cards.createDocuments | `Cards.createDocuments`} */
|
403
|
+
interface CreateDocumentsOperation<Temporary extends boolean | undefined>
|
404
|
+
extends Document.Database.CreateOperation<Cards.Database.Create<Temporary>> {}
|
405
|
+
|
406
|
+
/** Operation for {@link Cards.updateDocuments | `Cards.updateDocuments`} */
|
407
|
+
interface UpdateDocumentsOperation extends Document.Database.UpdateDocumentsOperation<Cards.Database.Update> {}
|
408
|
+
|
409
|
+
/** Operation for {@link Cards.deleteDocuments | `Cards.deleteDocuments`} */
|
410
|
+
interface DeleteDocumentsOperation extends Document.Database.DeleteDocumentsOperation<Cards.Database.Delete> {}
|
411
|
+
|
412
|
+
/** Operation for {@link Cards.create | `Cards.create`} */
|
413
|
+
interface CreateOperation<Temporary extends boolean | undefined>
|
414
|
+
extends Document.Database.CreateOperation<Cards.Database.Create<Temporary>> {}
|
415
|
+
|
416
|
+
/** Operation for {@link Cards.update | `Cards#update`} */
|
417
|
+
interface UpdateOperation extends Document.Database.UpdateOperation<Update> {}
|
418
|
+
|
419
|
+
interface DeleteOperation extends Document.Database.DeleteOperation<Delete> {}
|
420
|
+
|
421
|
+
/** Options for {@link Cards.get | `Cards.get`} */
|
422
|
+
interface GetOptions extends Document.Database.GetOptions {}
|
423
|
+
|
424
|
+
/** Options for {@link Cards._preCreate | `Cards#_preCreate`} */
|
425
|
+
interface PreCreateOptions extends Document.Database.PreCreateOptions<Create> {}
|
426
|
+
|
427
|
+
/** Options for {@link Cards._onCreate | `Cards#_onCreate`} */
|
428
|
+
interface OnCreateOptions extends Document.Database.CreateOptions<Create> {}
|
429
|
+
|
430
|
+
/** Operation for {@link Cards._preCreateOperation | `Cards._preCreateOperation`} */
|
431
|
+
interface PreCreateOperation extends Document.Database.PreCreateOperationStatic<Cards.Database.Create> {}
|
432
|
+
|
433
|
+
/** Operation for {@link Cards._onCreateOperation | `Cards#_onCreateOperation`} */
|
434
|
+
interface OnCreateOperation extends Cards.Database.Create {}
|
435
|
+
|
436
|
+
/** Options for {@link Cards._preUpdate | `Cards#_preUpdate`} */
|
437
|
+
interface PreUpdateOptions extends Document.Database.PreUpdateOptions<Update> {}
|
438
|
+
|
439
|
+
/** Options for {@link Cards._onUpdate | `Cards#_onUpdate`} */
|
440
|
+
interface OnUpdateOptions extends Document.Database.UpdateOptions<Update> {}
|
441
|
+
|
442
|
+
/** Operation for {@link Cards._preUpdateOperation | `Cards._preUpdateOperation`} */
|
443
|
+
interface PreUpdateOperation extends Cards.Database.Update {}
|
444
|
+
|
445
|
+
/** Operation for {@link Cards._onUpdateOperation | `Cards._preUpdateOperation`} */
|
446
|
+
interface OnUpdateOperation extends Cards.Database.Update {}
|
447
|
+
|
448
|
+
/** Options for {@link Cards._preDelete | `Cards#_preDelete`} */
|
449
|
+
interface PreDeleteOptions extends Document.Database.PreDeleteOperationInstance<Delete> {}
|
450
|
+
|
451
|
+
/** Options for {@link Cards._onDelete | `Cards#_onDelete`} */
|
452
|
+
interface OnDeleteOptions extends Document.Database.DeleteOptions<Delete> {}
|
453
|
+
|
454
|
+
/** Options for {@link Cards._preDeleteOperation | `Cards#_preDeleteOperation`} */
|
455
|
+
interface PreDeleteOperation extends Cards.Database.Delete {}
|
456
|
+
|
457
|
+
/** Options for {@link Cards._onDeleteOperation | `Cards#_onDeleteOperation`} */
|
458
|
+
interface OnDeleteOperation extends Cards.Database.Delete {}
|
459
|
+
|
460
|
+
/** Context for {@link Cards._onDeleteOperation | `Cards._onDeleteOperation`} */
|
461
|
+
interface OnDeleteDocumentsContext extends Document.ModificationContext<Cards.Parent> {}
|
462
|
+
|
463
|
+
/** Context for {@link Cards._onCreateDocuments | `Cards._onCreateDocuments`} */
|
464
|
+
interface OnCreateDocumentsContext extends Document.ModificationContext<Cards.Parent> {}
|
465
|
+
|
466
|
+
/** Context for {@link Cards._onUpdateDocuments | `Cards._onUpdateDocuments`} */
|
467
|
+
interface OnUpdateDocumentsContext extends Document.ModificationContext<Cards.Parent> {}
|
468
|
+
|
107
469
|
/**
|
108
|
-
*
|
109
|
-
*
|
110
|
-
* @defaultValue `{}`
|
470
|
+
* Options for {@link Cards._preCreateDescendantDocuments | `Cards#_preCreateDescendantDocuments`}
|
471
|
+
* and {@link Cards._onCreateDescendantDocuments | `Cards#_onCreateDescendantDocuments`}
|
111
472
|
*/
|
112
|
-
|
473
|
+
interface CreateOptions extends Document.Database.CreateOptions<Cards.Database.Create> {}
|
113
474
|
|
114
|
-
/**
|
115
|
-
*
|
475
|
+
/**
|
476
|
+
* Options for {@link Cards._preUpdateDescendantDocuments | `Cards#_preUpdateDescendantDocuments`}
|
477
|
+
* and {@link Cards._onUpdateDescendantDocuments | `Cards#_onUpdateDescendantDocuments`}
|
116
478
|
*/
|
117
|
-
|
479
|
+
interface UpdateOptions extends Document.Database.UpdateOptions<Cards.Database.Update> {}
|
480
|
+
|
481
|
+
/**
|
482
|
+
* Options for {@link Cards._preDeleteDescendantDocuments | `Cards#_preDeleteDescendantDocuments`}
|
483
|
+
* and {@link Cards._onDeleteDescendantDocuments | `Cards#_onDeleteDescendantDocuments`}
|
484
|
+
*/
|
485
|
+
interface DeleteOptions extends Document.Database.DeleteOptions<Cards.Database.Delete> {}
|
118
486
|
}
|
119
487
|
|
120
|
-
/**
|
121
|
-
|
488
|
+
/**
|
489
|
+
* The flags that are available for this document in the form `{ [scope: string]: { [key: string]: unknown } }`.
|
490
|
+
*/
|
491
|
+
interface Flags extends Document.ConfiguredFlagsForName<Name> {}
|
492
|
+
|
493
|
+
namespace Flags {
|
122
494
|
/**
|
123
|
-
*
|
124
|
-
|
125
|
-
|
495
|
+
* The valid scopes for the flags on this document e.g. `"core"` or `"dnd5e"`.
|
496
|
+
*/
|
497
|
+
type Scope = Document.FlagKeyOf<Flags>;
|
498
|
+
|
499
|
+
/**
|
500
|
+
* The valid keys for a certain scope for example if the scope is "core" then a valid key may be `"sheetLock"` or `"viewMode"`.
|
501
|
+
*/
|
502
|
+
type Key<Scope extends Flags.Scope> = Document.FlagKeyOf<Document.FlagGetKey<Flags, Scope>>;
|
503
|
+
|
504
|
+
/**
|
505
|
+
* Gets the type of a particular flag given a `Scope` and a `Key`.
|
126
506
|
*/
|
127
|
-
|
507
|
+
type Get<Scope extends Flags.Scope, Key extends Flags.Key<Scope>> = Document.GetFlag<Name, Scope, Key>;
|
128
508
|
}
|
129
509
|
|
130
|
-
|
131
|
-
|
510
|
+
type PreCreateDescendantDocumentsArgs = Document.PreCreateDescendantDocumentsArgs<
|
511
|
+
Cards.Stored,
|
512
|
+
Cards.DirectDescendant,
|
513
|
+
Cards.Metadata.Embedded
|
514
|
+
>;
|
515
|
+
|
516
|
+
type OnCreateDescendantDocumentsArgs = Document.OnCreateDescendantDocumentsArgs<
|
517
|
+
Cards.Stored,
|
518
|
+
Cards.DirectDescendant,
|
519
|
+
Cards.Metadata.Embedded
|
520
|
+
>;
|
521
|
+
|
522
|
+
type PreUpdateDescendantDocumentsArgs = Document.PreUpdateDescendantDocumentsArgs<
|
523
|
+
Cards.Stored,
|
524
|
+
Cards.DirectDescendant,
|
525
|
+
Cards.Metadata.Embedded
|
526
|
+
>;
|
527
|
+
|
528
|
+
type OnUpdateDescendantDocumentsArgs = Document.OnUpdateDescendantDocumentsArgs<
|
529
|
+
Cards.Stored,
|
530
|
+
Cards.DirectDescendant,
|
531
|
+
Cards.Metadata.Embedded
|
532
|
+
>;
|
533
|
+
|
534
|
+
type PreDeleteDescendantDocumentsArgs = Document.PreDeleteDescendantDocumentsArgs<
|
535
|
+
Cards.Stored,
|
536
|
+
Cards.DirectDescendant,
|
537
|
+
Cards.Metadata.Embedded
|
538
|
+
>;
|
539
|
+
|
540
|
+
type OnDeleteDescendantDocumentsArgs = Document.OnDeleteDescendantDocumentsArgs<
|
541
|
+
Cards.Stored,
|
542
|
+
Cards.DirectDescendant,
|
543
|
+
Cards.Metadata.Embedded
|
544
|
+
>;
|
545
|
+
|
546
|
+
/**
|
547
|
+
* @remarks Passing anything else errors downstream when a lookup table lacking the provided key causes
|
548
|
+
* {@link Cards._postChatNotification | `Cards#_postChatNotification`} to call {@link Localization.format | `game.i18n.format`}
|
549
|
+
* with an `undefined` first argument
|
550
|
+
*/
|
551
|
+
type DealAction = "deal" | "pass";
|
552
|
+
|
553
|
+
/**
|
554
|
+
* @remarks Passing anything else errors downstream when a lookup table lacking the provided key causes
|
555
|
+
* {@link Cards._postChatNotification | `Cards#_postChatNotification`} to call {@link Localization.format | `game.i18n.format`}
|
556
|
+
* with an `undefined` first argument
|
557
|
+
*/
|
558
|
+
type PassAction = "pass" | "play" | "draw" | "discard";
|
559
|
+
|
560
|
+
/** @internal */
|
561
|
+
type _ChatNotificationOption = NullishProps<{
|
132
562
|
/**
|
133
|
-
*
|
134
|
-
*
|
563
|
+
* Create a ChatMessage which notifies that this action has occurred
|
564
|
+
* @defaultValue `true`
|
565
|
+
*/
|
566
|
+
chatNotification: boolean;
|
567
|
+
}>;
|
568
|
+
|
569
|
+
/**
|
570
|
+
* @internal Omitting one word from the different descriptions in various methods' JSDocs lets
|
571
|
+
* this be a reusable property
|
572
|
+
*/
|
573
|
+
type _UpdateDataOption = InexactPartial<{
|
574
|
+
/**
|
575
|
+
* Modifications to make to each Card as part of the [...] operation, for example the displayed face
|
576
|
+
* @defaultValue `{}`
|
577
|
+
* @remarks Can't be `null` as it only has a parameter default
|
135
578
|
*/
|
136
|
-
|
579
|
+
updateData: Card.UpdateData;
|
580
|
+
}>;
|
137
581
|
|
582
|
+
type _HowOption = InexactPartial<{
|
138
583
|
/**
|
139
|
-
*
|
140
|
-
*
|
584
|
+
* How to draw, a value from CONST.CARD_DRAW_MODES
|
585
|
+
* @defaultValue `CONST.CARD_DRAW_MODES.FIRST`
|
586
|
+
* @remarks Can't be `null` as it only has a parameter default
|
587
|
+
*/
|
588
|
+
how: CONST.CARD_DRAW_MODES;
|
589
|
+
}>;
|
590
|
+
|
591
|
+
/** @internal */
|
592
|
+
type _DealOptions = InexactPartial<{
|
593
|
+
/**
|
594
|
+
* The name of the action being performed, used as part of the dispatched Hook event
|
595
|
+
* @defaultValue `"deal"`
|
596
|
+
* @remarks Can't be `null` as it only has a parameter default. See {@linkcode Cards.DealAction}
|
597
|
+
*/
|
598
|
+
action: DealAction;
|
599
|
+
}>;
|
600
|
+
|
601
|
+
interface DealOptions extends _DealOptions, _HowOption, _UpdateDataOption, _ChatNotificationOption {}
|
602
|
+
|
603
|
+
/**
|
604
|
+
* Additional context which describes the operation
|
605
|
+
* @remarks This is the context provided to the {@link Hooks.StaticCallbacks.dealCards | `dealCards`} hook
|
606
|
+
*/
|
607
|
+
interface DealContext {
|
608
|
+
/**
|
609
|
+
* The action name being performed, i.e. "deal", "pass"
|
610
|
+
* @remarks See {@linkcode Cards.DealAction}
|
611
|
+
*/
|
612
|
+
action: DealAction;
|
613
|
+
|
614
|
+
/**
|
615
|
+
* An array of Card creation operations to be performed in each destination Cards document
|
616
|
+
* @remarks Outer array: one element per `to` provided to this {@link Cards.deal | `Cards#deal`} call
|
617
|
+
*/
|
618
|
+
toCreate: Card.CreateData[][];
|
619
|
+
|
620
|
+
/**
|
621
|
+
* Card update operations to be performed in the origin Cards document
|
622
|
+
* @remarks Core will only ever provide elements of `{ _id: string; drawn: true}`
|
623
|
+
*/
|
624
|
+
fromUpdate: Card.UpdateData[];
|
625
|
+
|
626
|
+
/**
|
627
|
+
* Card deletion operations to be performed in the origin Cards document
|
628
|
+
* @remarks An array of `_id`s
|
141
629
|
*/
|
142
630
|
fromDelete: string[];
|
143
631
|
}
|
632
|
+
|
633
|
+
/** @internal */
|
634
|
+
type _PassOptions = InexactPartial<{
|
635
|
+
/**
|
636
|
+
* The name of the action being performed, used as part of the dispatched Hook event
|
637
|
+
* @defaultValue `"pass"`
|
638
|
+
* @remarks Can't be `null` as it only has a parameter default. See {@linkcode PassAction}
|
639
|
+
*/
|
640
|
+
action: PassAction;
|
641
|
+
}>;
|
642
|
+
|
643
|
+
interface PassOptions extends _PassOptions, _UpdateDataOption, _ChatNotificationOption {}
|
644
|
+
|
645
|
+
/**
|
646
|
+
* Additional context which describes the operation
|
647
|
+
* @remarks This is the context provided to the {@link Hooks.StaticCallbacks.passCards | `passCards`} hook
|
648
|
+
*/
|
649
|
+
interface PassContext extends Pick<DealContext, "fromUpdate" | "fromDelete"> {
|
650
|
+
/**
|
651
|
+
* The action name being performed, i.e. "pass", "play", "discard", "draw"
|
652
|
+
* @remarks See {@linkcode Cards.PassAction}
|
653
|
+
*/
|
654
|
+
action: PassAction;
|
655
|
+
|
656
|
+
/**
|
657
|
+
* Card creation operations to be performed in the destination Cards document
|
658
|
+
*/
|
659
|
+
toCreate: Card.CreateData[];
|
660
|
+
|
661
|
+
/**
|
662
|
+
* Card update operations to be performed in the destination Cards document
|
663
|
+
* @remarks Core will only ever provide elements of `{ _id: string; drawn: false }`
|
664
|
+
*/
|
665
|
+
toUpdate: Card.UpdateData[];
|
666
|
+
}
|
667
|
+
|
668
|
+
/**
|
669
|
+
* @remarks {@link Cards.draw | `Cards#draw`} spreads this into an object, minus `how`, with the `action` preset to `"draw"`,
|
670
|
+
* which wouldn't make sense to change, then passes that to {@link Cards.pass | `Cards#pass`}
|
671
|
+
* @privateRemarks `action` omitted as it's already provided.
|
672
|
+
*/
|
673
|
+
interface DrawOptions extends _HowOption, Omit<PassOptions, "action"> {}
|
674
|
+
|
675
|
+
interface ShuffleOptions extends _UpdateDataOption, _ChatNotificationOption {}
|
676
|
+
|
677
|
+
interface RecallOptions extends _UpdateDataOption, _ChatNotificationOption {}
|
678
|
+
|
679
|
+
/**
|
680
|
+
* Additional context which describes the operation.
|
681
|
+
* @remarks This is the context provided to the {@link Hooks.StaticCallbacks.returnCards | `returnCards`} hook
|
682
|
+
*/
|
683
|
+
interface ReturnContext extends Pick<DealContext, "fromDelete"> {
|
684
|
+
/**
|
685
|
+
* A mapping of Card deck IDs to the update operations that will be performed on them.
|
686
|
+
*/
|
687
|
+
toUpdate: Record<string, Card.UpdateData[]>;
|
688
|
+
}
|
689
|
+
|
690
|
+
/**
|
691
|
+
* @deprecated {@link Cards.Database | `Cards.DatabaseOperation`}
|
692
|
+
*/
|
693
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
694
|
+
interface DatabaseOperations extends Document.Database.Operations<Cards.Implementation> {}
|
695
|
+
|
696
|
+
/**
|
697
|
+
* @deprecated {@link Cards.SubType | `Cards.SubType`}
|
698
|
+
*/
|
699
|
+
type TypeNames = Cards.SubType;
|
700
|
+
|
701
|
+
/**
|
702
|
+
* @deprecated {@link Cards.CreateData | `Cards.CreateData`}
|
703
|
+
*/
|
704
|
+
interface ConstructorData extends Cards.CreateData {}
|
705
|
+
|
706
|
+
/**
|
707
|
+
* @deprecated {@link Cards.implementation | `Cards.ImplementationClass`}
|
708
|
+
*/
|
709
|
+
type ConfiguredClass = ImplementationClass;
|
710
|
+
|
711
|
+
/**
|
712
|
+
* @deprecated {@link Cards.Implementation | `Cards.Implementation`}
|
713
|
+
*/
|
714
|
+
type ConfiguredInstance = Implementation;
|
144
715
|
}
|
145
716
|
|
146
717
|
/**
|
147
718
|
* The client-side Cards document which extends the common BaseCards model.
|
148
719
|
* Each Cards document contains CardsData which defines its data schema.
|
149
720
|
*
|
150
|
-
* @see {@link CardStacks} The world-level collection of Cards documents
|
151
|
-
* @see {@link CardsConfig} The Cards configuration application
|
721
|
+
* @see {@link CardStacks | `CardStacks`} The world-level collection of Cards documents
|
722
|
+
* @see {@link CardsConfig | `CardsConfig`} The Cards configuration application
|
152
723
|
*/
|
153
|
-
class Cards extends
|
154
|
-
|
724
|
+
class Cards<out SubType extends Cards.SubType = Cards.SubType> extends ClientDocumentMixin(
|
725
|
+
foundry.documents.BaseCards,
|
726
|
+
)<SubType> {
|
727
|
+
/**
|
728
|
+
* @param data - Initial data from which to construct the `Cards`
|
729
|
+
* @param context - Construction context options
|
730
|
+
*/
|
731
|
+
constructor(...args: Cards.ConstructorArgs);
|
155
732
|
|
156
733
|
/**
|
157
734
|
* Provide a thumbnail image path used to represent this document.
|
158
735
|
*/
|
159
|
-
get thumbnail():
|
736
|
+
get thumbnail(): string | null;
|
160
737
|
|
161
738
|
/**
|
162
739
|
* The Card documents within this stack which are able to be drawn.
|
163
740
|
*/
|
164
|
-
get availableCards(): Card.
|
741
|
+
get availableCards(): Card.Implementation[];
|
165
742
|
|
166
743
|
/**
|
167
744
|
* The Card documents which belong to this stack but have already been drawn.
|
168
745
|
*/
|
169
|
-
get drawnCards(): Card.
|
746
|
+
get drawnCards(): Card.Implementation[];
|
170
747
|
|
171
748
|
/**
|
172
749
|
* Returns the localized Label for the type of Card Stack this is
|
@@ -178,107 +755,94 @@ declare global {
|
|
178
755
|
*/
|
179
756
|
get canClone(): boolean;
|
180
757
|
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
operation?:
|
187
|
-
|
188
|
-
},
|
189
|
-
): Promise<Document.ToStoredIf<T, Temporary>[] | undefined>;
|
758
|
+
/**
|
759
|
+
* @remarks Sets `context.keepEmbeddedIds` to `false` if it's `=== undefined`
|
760
|
+
*/
|
761
|
+
static override createDocuments<Temporary extends boolean | undefined = false>(
|
762
|
+
data: Array<Cards.Implementation | Cards.CreateData> | undefined,
|
763
|
+
operation?: Document.Database.CreateOperation<Cards.Database.Create<Temporary>>,
|
764
|
+
): Promise<Array<Document.TemporaryIf<Cards.Implementation, Temporary>>>;
|
190
765
|
|
191
766
|
/**
|
192
767
|
* Deal one or more cards from this Cards document to each of a provided array of Cards destinations.
|
193
768
|
* Cards are allocated from the top of the deck in cyclical order until the required number of Cards have been dealt.
|
194
769
|
* @param to - An array of other Cards documents to which cards are dealt
|
195
|
-
* @param number - The number of cards to deal to each other document
|
196
|
-
*
|
197
|
-
* @param options - (default: `{}`)
|
770
|
+
* @param number - The number of cards to deal to each other document (default: `1`)
|
771
|
+
* @param options - Options which modify how the deal operation is performed (default: `{}`)
|
198
772
|
* @returns This Cards document after the deal operation has completed
|
199
773
|
*/
|
200
|
-
|
201
|
-
|
202
|
-
number?: number,
|
203
|
-
options?: InexactPartial<Cards.DealOptions>,
|
204
|
-
): Promise<Cards.ConfiguredInstance>;
|
774
|
+
// number: not null (dealing 0 cards makes no sense), options: not null (destructured)
|
775
|
+
deal(to: Cards.Implementation[], number?: number, options?: Cards.DealOptions): Promise<Cards.Implementation>;
|
205
776
|
|
206
777
|
/**
|
207
778
|
* Pass an array of specific Card documents from this document to some other Cards stack.
|
208
779
|
* @param to - Some other Cards document that is the destination for the pass operation
|
209
780
|
* @param ids - The embedded Card ids which should be passed
|
210
|
-
* @param options - Additional options which modify the pass operation
|
211
|
-
* (default: `{}`)
|
781
|
+
* @param options - Additional options which modify the pass operation (default: `{}`)
|
212
782
|
* @returns An array of the Card embedded documents created within the destination stack
|
213
783
|
*/
|
214
|
-
|
215
|
-
|
216
|
-
ids: string[],
|
217
|
-
options?: InexactPartial<Cards.PassOptions>,
|
218
|
-
): Promise<Card.ConfiguredInstance[]>;
|
784
|
+
// options: not null (destructured)
|
785
|
+
pass(to: Cards.Implementation, ids: string[], options?: Cards.PassOptions): Promise<Card.Implementation[]>;
|
219
786
|
|
220
787
|
/**
|
221
788
|
* Draw one or more cards from some other Cards document.
|
222
789
|
* @param from - Some other Cards document from which to draw
|
223
|
-
* @param number - The number of cards to draw
|
224
|
-
*
|
225
|
-
* @param options - (default: `{}`)
|
790
|
+
* @param number - The number of cards to draw (default: `1`)
|
791
|
+
* @param options - Options which modify how the draw operation is performed (default: `{}`)
|
226
792
|
* @returns An array of the Card documents which were drawn
|
227
793
|
*/
|
228
|
-
|
229
|
-
|
230
|
-
number?: number,
|
231
|
-
options?: InexactPartial<Cards.DrawOptions>,
|
232
|
-
): Promise<Card.ConfiguredInstance[]>;
|
794
|
+
// number: not null (drawing 0 cards makes no sense), options: not null (destructured)
|
795
|
+
draw(from: Cards.Implementation, number?: number, options?: Cards.DrawOptions): Promise<Card.Implementation[]>;
|
233
796
|
|
234
797
|
/**
|
235
798
|
* Shuffle this Cards stack, randomizing the sort order of all the cards it contains.
|
236
|
-
* @param options - (default: `{}`)
|
799
|
+
* @param options - Options which modify how the shuffle operation is performed. (default: `{}`)
|
237
800
|
* @returns The Cards document after the shuffle operation has completed
|
238
801
|
*/
|
239
|
-
|
802
|
+
// options: not null (destructured)
|
803
|
+
shuffle(options?: Cards.ShuffleOptions): Promise<this>;
|
240
804
|
|
241
805
|
/**
|
242
|
-
*
|
806
|
+
* Recall the Cards stack, retrieving all original cards from other stacks where they may have been drawn if this is a
|
243
807
|
* deck, otherwise returning all the cards in this stack to the decks where they originated.
|
244
|
-
* @param options - Options which modify the
|
245
|
-
*
|
246
|
-
* @returns The Cards document after the reset operation has completed
|
808
|
+
* @param options - Options which modify the recall operation
|
809
|
+
* @returns The Cards document after the recall operation has completed.
|
247
810
|
*/
|
248
|
-
|
811
|
+
// options: not null (destructured where forwarded)
|
812
|
+
recall(options?: Cards.RecallOptions): Promise<this>;
|
249
813
|
|
250
814
|
/**
|
251
815
|
* Perform a reset operation for a deck, retrieving all original cards from other stacks where they may have been
|
252
816
|
* drawn.
|
253
|
-
* @param options - Options which modify the reset operation.
|
254
|
-
* (default: `{}`)
|
817
|
+
* @param options - Options which modify the reset operation. (default: `{}`)
|
255
818
|
* @returns The Cards document after the reset operation has completed.
|
256
|
-
* @
|
819
|
+
* @private
|
257
820
|
*/
|
258
|
-
|
821
|
+
// options: not null (destructured)
|
822
|
+
protected _resetDeck(options?: Cards.RecallOptions): Promise<this>;
|
259
823
|
|
260
824
|
/**
|
261
825
|
* Return all cards in this stack to their original decks.
|
262
|
-
* @param options - Options which modify the return operation.
|
263
|
-
* (default: `{}`)
|
826
|
+
* @param options - Options which modify the return operation. (default: `{}`)
|
264
827
|
* @returns The Cards document after the return operation has completed.
|
265
|
-
* @
|
828
|
+
* @private
|
266
829
|
*/
|
267
|
-
|
830
|
+
// options: not null (destructured)
|
831
|
+
protected _resetStack(options?: InexactPartial<Cards.RecallOptions>): Promise<this>;
|
268
832
|
|
269
833
|
/**
|
270
834
|
* A sorting function that is used to determine the standard order of Card documents within an un-shuffled stack.
|
271
835
|
* @param a - The card being sorted
|
272
836
|
* @param b - Another card being sorted against
|
273
837
|
*/
|
274
|
-
protected sortStandard(a: Card, b: Card): number;
|
838
|
+
protected sortStandard(a: Card.Implementation, b: Card.Implementation): number;
|
275
839
|
|
276
840
|
/**
|
277
841
|
* A sorting function that is used to determine the order of Card documents within a shuffled stack.
|
278
842
|
* @param a - The card being sorted
|
279
843
|
* @param b - Another card being sorted against
|
280
844
|
*/
|
281
|
-
protected sortShuffled(a: Card, b: Card): number;
|
845
|
+
protected sortShuffled(a: Card.Implementation, b: Card.Implementation): number;
|
282
846
|
|
283
847
|
/**
|
284
848
|
* An internal helper method for drawing a certain number of Card documents from this Cards stack.
|
@@ -286,7 +850,7 @@ declare global {
|
|
286
850
|
* @param how - A draw mode from CONST.CARD_DRAW_MODES
|
287
851
|
* @returns An array of drawn Card documents
|
288
852
|
*/
|
289
|
-
protected _drawCards(number: number, how:
|
853
|
+
protected _drawCards(number: number, how: CONST.CARD_DRAW_MODES): Card.Implementation[];
|
290
854
|
|
291
855
|
/**
|
292
856
|
* Create a ChatMessage which provides a notification of the cards operation which was just performed.
|
@@ -295,62 +859,191 @@ declare global {
|
|
295
859
|
* @param action - The localization key which formats the chat message notification
|
296
860
|
* @param context - Data passed to the i18n.format method for the localization key
|
297
861
|
* @returns A created ChatMessage document
|
298
|
-
* @
|
862
|
+
* @private
|
299
863
|
*/
|
300
864
|
protected _postChatNotification(
|
301
|
-
source: Cards.
|
865
|
+
source: Cards.Implementation,
|
302
866
|
action: string,
|
303
867
|
context: Record<string, unknown>,
|
304
|
-
): Promise<ChatMessage.
|
868
|
+
): Promise<ChatMessage.Implementation | undefined>;
|
305
869
|
|
306
|
-
|
307
|
-
* @privateRemarks _preCreate, _onUpdate, and _preDelete are all overridden but with no signature changes.
|
308
|
-
* For type simplicity they are left off. These methods historically have been the source of a large amount of computation from tsc.
|
309
|
-
*/
|
870
|
+
// _preCreate, _onUpdate, and _preDelete are all overridden but with no signature changes from BaseCards.
|
310
871
|
|
311
872
|
/**
|
312
873
|
* Display a dialog which prompts the user to deal cards to some number of hand-type Cards documents.
|
313
|
-
* @see {@link Cards#deal}
|
874
|
+
* @see {@link Cards.deal | `Cards#deal`}
|
314
875
|
*/
|
315
|
-
dealDialog(): Promise<
|
876
|
+
dealDialog(): Promise<this | null>;
|
316
877
|
|
317
878
|
/**
|
318
879
|
* Display a dialog which prompts the user to draw cards from some other deck-type Cards documents.
|
319
|
-
* @see {@link Cards#draw}
|
880
|
+
* @see {@link Cards.draw | `Cards#draw`}
|
320
881
|
*/
|
321
|
-
drawDialog(): Promise<Card.
|
882
|
+
drawDialog(): Promise<Card.Implementation[] | null>;
|
322
883
|
|
323
884
|
/**
|
324
885
|
* Display a dialog which prompts the user to pass cards from this document to some other other Cards document.
|
325
|
-
* @see {@link Cards#deal}
|
886
|
+
* @see {@link Cards.deal | `Cards#deal`}
|
326
887
|
*/
|
327
|
-
passDialog(): Promise<
|
888
|
+
passDialog(): Promise<this | null>;
|
328
889
|
|
329
890
|
/**
|
330
891
|
* Display a dialog which prompts the user to play a specific Card to some other Cards document
|
331
|
-
* @see {@link Cards#pass}
|
892
|
+
* @see {@link Cards.pass | `Cards#pass`}
|
332
893
|
* @param card - The specific card being played as part of this dialog
|
333
894
|
*/
|
334
|
-
playDialog(card: Card.
|
895
|
+
playDialog(card: Card.Implementation): Promise<Card.Implementation[] | null>;
|
335
896
|
|
336
897
|
/**
|
337
898
|
* Display a confirmation dialog for whether or not the user wishes to reset a Cards stack
|
338
|
-
* @see {@link Cards#reset}
|
339
|
-
*/
|
340
|
-
resetDialog(): Promise<
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
899
|
+
* @see {@link Cards.reset | `Cards#reset`}
|
900
|
+
*/
|
901
|
+
resetDialog(): Promise<this | false | null>;
|
902
|
+
|
903
|
+
// options: not null (parameter default only)
|
904
|
+
override deleteDialog(options?: InexactPartial<Dialog.Options>): Promise<this | false | null | undefined>;
|
905
|
+
|
906
|
+
/** @remarks No type changes, just creates a fancier `Dialog` than `super` */
|
907
|
+
// data: not null (parameter default only), context: not null (destructured)
|
908
|
+
static override createDialog(
|
909
|
+
data?: Document.CreateDialogData<Cards.CreateData>,
|
910
|
+
context?: Document.CreateDialogContext<"Cards", Cards.Parent>,
|
911
|
+
): Promise<Cards.Stored | null | undefined>;
|
912
|
+
|
913
|
+
/*
|
914
|
+
* After this point these are not really overridden methods.
|
915
|
+
* They are here because Foundry's documents are complex and have lots of edge cases.
|
916
|
+
* There are DRY ways of representing this but this ends up being harder to understand
|
917
|
+
* for end users extending these functions, especially for static methods. There are also a
|
918
|
+
* number of methods that don't make sense to call directly on `Document` like `createDocuments`,
|
919
|
+
* as there is no data that can safely construct every possible document. Finally keeping definitions
|
920
|
+
* separate like this helps against circularities.
|
921
|
+
*/
|
922
|
+
|
923
|
+
// ClientDocument overrides
|
924
|
+
|
925
|
+
/**
|
926
|
+
* @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
|
927
|
+
* this method must be overridden like so:
|
928
|
+
* ```typescript
|
929
|
+
* class SwadeCards extends Cards {
|
930
|
+
* protected override _preCreateDescendantDocuments(...args: Cards.PreCreateDescendantDocumentsArgs) {
|
931
|
+
* super._preCreateDescendantDocuments(...args);
|
932
|
+
*
|
933
|
+
* const [parent, collection, data, options, userId] = args;
|
934
|
+
* if (collection === "cards") {
|
935
|
+
* options; // Will be narrowed.
|
936
|
+
* }
|
937
|
+
* }
|
938
|
+
* }
|
939
|
+
* ```
|
940
|
+
*/
|
941
|
+
protected override _preCreateDescendantDocuments(...args: Cards.PreCreateDescendantDocumentsArgs): void;
|
942
|
+
|
943
|
+
/**
|
944
|
+
* @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
|
945
|
+
* this method must be overridden like so:
|
946
|
+
* ```typescript
|
947
|
+
* class GurpsCards extends Cards {
|
948
|
+
* protected override _onCreateDescendantDocuments(...args: Cards.OnCreateDescendantDocumentsArgs) {
|
949
|
+
* super._onCreateDescendantDocuments(...args);
|
950
|
+
*
|
951
|
+
* const [parent, collection, documents, data, options, userId] = args;
|
952
|
+
* if (collection === "cards") {
|
953
|
+
* options; // Will be narrowed.
|
954
|
+
* }
|
955
|
+
* }
|
956
|
+
* }
|
957
|
+
* ```
|
958
|
+
*/
|
959
|
+
protected override _onCreateDescendantDocuments(...args: Cards.OnCreateDescendantDocumentsArgs): void;
|
960
|
+
|
961
|
+
/**
|
962
|
+
* @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
|
963
|
+
* this method must be overridden like so:
|
964
|
+
* ```typescript
|
965
|
+
* class LancerCards extends Cards {
|
966
|
+
* protected override _preUpdateDescendantDocuments(...args: Cards.OnUpdateDescendantDocuments) {
|
967
|
+
* super._preUpdateDescendantDocuments(...args);
|
968
|
+
*
|
969
|
+
* const [parent, collection, changes, options, userId] = args;
|
970
|
+
* if (collection === "cards") {
|
971
|
+
* options; // Will be narrowed.
|
972
|
+
* }
|
973
|
+
* }
|
974
|
+
* }
|
975
|
+
* ```
|
976
|
+
*/
|
977
|
+
protected override _preUpdateDescendantDocuments(...args: Cards.PreUpdateDescendantDocumentsArgs): void;
|
978
|
+
|
979
|
+
/**
|
980
|
+
* @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
|
981
|
+
* this method must be overridden like so:
|
982
|
+
* ```typescript
|
983
|
+
* class Ptr2eCards extends Cards {
|
984
|
+
* protected override _onUpdateDescendantDocuments(...args: Cards.OnUpdateDescendantDocumentsArgs) {
|
985
|
+
* super._onUpdateDescendantDocuments(...args);
|
986
|
+
*
|
987
|
+
* const [parent, collection, documents, changes, options, userId] = args;
|
988
|
+
* if (collection === "cards") {
|
989
|
+
* options; // Will be narrowed.
|
990
|
+
* }
|
991
|
+
* }
|
992
|
+
* }
|
993
|
+
* ```
|
994
|
+
*/
|
995
|
+
protected override _onUpdateDescendantDocuments(...args: Cards.OnUpdateDescendantDocumentsArgs): void;
|
996
|
+
|
997
|
+
/**
|
998
|
+
* @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
|
999
|
+
* this method must be overridden like so:
|
1000
|
+
* ```typescript
|
1001
|
+
* class KultCards extends Cards {
|
1002
|
+
* protected override _preDeleteDescendantDocuments(...args: Cards.PreDeleteDescendantDocumentsArgs) {
|
1003
|
+
* super._preDeleteDescendantDocuments(...args);
|
1004
|
+
*
|
1005
|
+
* const [parent, collection, ids, options, userId] = args;
|
1006
|
+
* if (collection === "cards") {
|
1007
|
+
* options; // Will be narrowed.
|
1008
|
+
* }
|
1009
|
+
* }
|
1010
|
+
* }
|
1011
|
+
* ```
|
1012
|
+
*/
|
1013
|
+
protected override _preDeleteDescendantDocuments(...args: Cards.PreDeleteDescendantDocumentsArgs): void;
|
1014
|
+
|
1015
|
+
/**
|
1016
|
+
* @remarks To make it possible for narrowing one parameter to jointly narrow other parameters
|
1017
|
+
* this method must be overridden like so:
|
1018
|
+
* ```typescript
|
1019
|
+
* class BladesCards extends Cards {
|
1020
|
+
* protected override _onDeleteDescendantDocuments(...args: Cards.OnUpdateDescendantDocuments) {
|
1021
|
+
* super._onDeleteDescendantDocuments(...args);
|
1022
|
+
*
|
1023
|
+
* const [parent, collection, documents, ids, options, userId] = args;
|
1024
|
+
* if (collection === "cards") {
|
1025
|
+
* options; // Will be narrowed.
|
1026
|
+
* }
|
1027
|
+
* }
|
1028
|
+
* }
|
1029
|
+
* ```
|
1030
|
+
*/
|
1031
|
+
protected override _onDeleteDescendantDocuments(...args: Cards.OnDeleteDescendantDocumentsArgs): void;
|
1032
|
+
|
1033
|
+
// context: not null (destructured)
|
1034
|
+
static override defaultName(context?: Document.DefaultNameContext<"Cards", Cards.Parent>): string;
|
1035
|
+
|
1036
|
+
// options: not null (parameter default only)
|
1037
|
+
static override fromDropData(
|
1038
|
+
data: Document.DropData<Cards.Implementation>,
|
1039
|
+
options?: AnyObject,
|
1040
|
+
): Promise<Cards.Implementation | undefined>;
|
1041
|
+
|
1042
|
+
static override fromImport(
|
1043
|
+
source: Cards.Source,
|
1044
|
+
context?: Document.FromImportContext<Cards.Parent> | null,
|
1045
|
+
): Promise<Cards.Implementation>;
|
1046
|
+
|
1047
|
+
override _onClickDocumentLink(event: MouseEvent): ClientDocument.OnClickDocumentLinkReturn;
|
355
1048
|
}
|
356
1049
|
}
|