@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,47 +1,17 @@
|
|
1
|
-
import type { AnyObject, EmptyObject } from "
|
1
|
+
import type { AnyMutableObject, AnyObject, EmptyObject, Identity, NullishProps } from "#utils";
|
2
2
|
import type { DataField, SchemaField } from "../data/fields.d.mts";
|
3
3
|
import type { fields } from "../data/module.d.mts";
|
4
4
|
import type { DataModelValidationFailure } from "../data/validation-failure.d.mts";
|
5
5
|
|
6
|
-
|
7
|
-
type DataSchema = Record<string, DataField.Any>;
|
6
|
+
type DataSchema = fields.DataSchema;
|
8
7
|
|
9
|
-
|
10
|
-
/**
|
11
|
-
* Throw an error if validation fails.
|
12
|
-
* @defaultValue `true`
|
13
|
-
*/
|
14
|
-
strict?: boolean | undefined;
|
15
|
-
|
16
|
-
/**
|
17
|
-
* Attempt to replace invalid values with valid defaults?
|
18
|
-
* @defaultValue `false`
|
19
|
-
*/
|
20
|
-
fallback?: boolean | undefined;
|
21
|
-
|
22
|
-
/**
|
23
|
-
* Allow partial source data, ignoring absent fields?
|
24
|
-
* @defaultValue `false`
|
25
|
-
*/
|
26
|
-
partial?: boolean | undefined;
|
27
|
-
|
28
|
-
/**
|
29
|
-
* If true, invalid embedded documents will emit a warning and be
|
30
|
-
* placed in the invalidDocuments collection rather than causing the
|
31
|
-
* parent to be considered invalid.
|
32
|
-
* @defaultValue `false`
|
33
|
-
*/
|
34
|
-
dropInvalidEmbedded?: boolean | undefined;
|
35
|
-
}
|
36
|
-
}
|
37
|
-
|
38
|
-
declare const DynamicClass: new <_Computed extends object>(arg0: never, ...args: never[]) => _Computed;
|
8
|
+
declare const DynamicClass: new <_Computed extends object>(...args: never) => _Computed;
|
39
9
|
|
40
10
|
// @ts-expect-error - This is a workaround to allow for dynamic top level properties in a class.
|
41
11
|
declare class _InternalDataModel<
|
42
12
|
out Schema extends DataSchema,
|
43
13
|
// Do not inline. Being a type parameter is an important part of the circumvention of TypeScript's detection of dynamic classes.
|
44
|
-
out _Computed extends object = SchemaField.
|
14
|
+
out _Computed extends object = SchemaField.InitializedData<Schema>,
|
45
15
|
> extends DynamicClass<_Computed> {}
|
46
16
|
|
47
17
|
export default DataModel;
|
@@ -60,22 +30,28 @@ declare abstract class DataModel<
|
|
60
30
|
* will be owned by the constructed model instance and may be mutated.
|
61
31
|
* @param options - Options which affect DataModel construction
|
62
32
|
*/
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
33
|
+
constructor(...args: DataModel.ConstructorArgs<Schema, Parent, ExtraConstructorOptions>);
|
34
|
+
|
35
|
+
/** @internal */
|
36
|
+
" __fvtt_types_internal_source_data": SchemaField.SourceData<Schema>;
|
37
|
+
|
38
|
+
/** @internal */
|
39
|
+
" __fvtt_types_internal_assignment_data": SchemaField.AssignmentData<Schema>;
|
40
|
+
|
41
|
+
/** @internal */
|
42
|
+
" __fvtt_types_internal_initialized_data": SchemaField.InitializedData<Schema>;
|
68
43
|
|
69
44
|
/**
|
70
45
|
* Configure the data model instance before validation and initialization workflows are performed.
|
71
46
|
*/
|
72
|
-
|
47
|
+
// options: not null (parameter default only, destructured in Document)
|
48
|
+
protected _configure(options?: DataModel.ConfigureOptions & ExtraConstructorOptions): void;
|
73
49
|
|
74
50
|
/**
|
75
51
|
* The source data object for this DataModel instance.
|
76
52
|
* Once constructed, the source object is sealed such that no keys may be added nor removed.
|
77
53
|
*/
|
78
|
-
readonly _source: Readonly<fields.SchemaField.
|
54
|
+
readonly _source: Readonly<fields.SchemaField.SourceData<Schema>>;
|
79
55
|
|
80
56
|
/**
|
81
57
|
* The defined and cached Data Schema for all instances of this DataModel.
|
@@ -131,11 +107,13 @@ declare abstract class DataModel<
|
|
131
107
|
* @param options - Options provided to the model constructor
|
132
108
|
* (unused)
|
133
109
|
* @returns Migrated and cleaned source data which will be stored to the model instance
|
110
|
+
* @remarks `options` is unused in `DataModel`
|
134
111
|
*/
|
112
|
+
// options: not null (parameter default only)
|
135
113
|
protected _initializeSource(
|
136
|
-
data: fields.SchemaField.
|
137
|
-
options?:
|
138
|
-
): fields.SchemaField.
|
114
|
+
data: fields.SchemaField.CreateData<Schema> | this,
|
115
|
+
options?: DataModel.InitializeSourceOptions & ExtraConstructorOptions,
|
116
|
+
): fields.SchemaField.SourceData<Schema>;
|
139
117
|
|
140
118
|
/**
|
141
119
|
* Clean a data source object to conform to a specific provided schema.
|
@@ -143,7 +121,7 @@ declare abstract class DataModel<
|
|
143
121
|
* @param options - Additional options which are passed to field cleaning methods
|
144
122
|
* @returns The cleaned source data
|
145
123
|
*/
|
146
|
-
static cleanData(source?:
|
124
|
+
static cleanData(source?: AnyMutableObject, options?: DataField.CleanOptions): AnyMutableObject;
|
147
125
|
|
148
126
|
/**
|
149
127
|
* A generator that orders the DataFields in the DataSchema into an expected initialization order.
|
@@ -154,9 +132,10 @@ declare abstract class DataModel<
|
|
154
132
|
* Initialize the instance by copying data from the source object to instance attributes.
|
155
133
|
* This mirrors the workflow of SchemaField#initialize but with some added functionality.
|
156
134
|
* @param options - Options provided to the model constructor
|
157
|
-
*
|
135
|
+
* @remarks `options` gets passed on to each field in the schema's `#initialize`
|
158
136
|
*/
|
159
|
-
|
137
|
+
// options: not null (parameter default only)
|
138
|
+
protected _initialize(options?: DataModel.InitializeOptions & ExtraConstructorOptions): void;
|
160
139
|
|
161
140
|
/**
|
162
141
|
* Reset the state of this data instance back to mirror the contained source data, erasing any changes.
|
@@ -167,12 +146,22 @@ declare abstract class DataModel<
|
|
167
146
|
* Clone a model, creating a new data model by combining current data with provided overrides.
|
168
147
|
* @param data - Additional data which overrides current document data at the time of creation
|
169
148
|
* @param context - Context options passed to the data model constructor
|
170
|
-
* @returns The cloned Document instance
|
171
|
-
|
149
|
+
* @returns The cloned Document [sic] instance
|
150
|
+
* @remarks Obviously returns not necessarily a `Document`, just a `DataModel`.
|
151
|
+
*
|
152
|
+
* **NOTE:** At the type level, the returned model will necessarily have the same parent as the instance `#clone()` is being called
|
153
|
+
* on; Accurate typing of `#parent` requires a cast.
|
154
|
+
* @privateRemarks Foundry types `context` as simply `object`, but going by core usage, it's a
|
155
|
+
* {@link DataModel.ConstructionContext | `DataModel.ConstructionContext`}. Both the implementation here
|
156
|
+
* and the override in `Document` provide `this.parent` to the construction context; Here, `context` is
|
157
|
+
* spread in, so providing a different parent is allowed. The `Document` override enforces `this.parent`
|
158
|
+
* with no opportunity to pass an alternative.
|
159
|
+
*/
|
160
|
+
// null would be fine for either/both params here, but it breaks Document, and its never *expected*, just incidentally doesn't break
|
172
161
|
clone(
|
173
|
-
data?: fields.SchemaField.
|
174
|
-
context?: DataModel.
|
175
|
-
): this
|
162
|
+
data?: fields.SchemaField.AssignmentData<Schema>,
|
163
|
+
context?: DataModel.CloneContext & ExtraConstructorOptions,
|
164
|
+
): this;
|
176
165
|
|
177
166
|
/**
|
178
167
|
* Validate the data contained in the document to check for type and content
|
@@ -181,60 +170,8 @@ declare abstract class DataModel<
|
|
181
170
|
* @param options - Optional parameters which customize how validation occurs.
|
182
171
|
* @returns An indicator for whether the document contains valid data
|
183
172
|
*/
|
184
|
-
|
185
|
-
|
186
|
-
clean,
|
187
|
-
fallback,
|
188
|
-
strict,
|
189
|
-
fields,
|
190
|
-
joint,
|
191
|
-
}?: {
|
192
|
-
/**
|
193
|
-
* A specific set of proposed changes to validate, rather than the full source data of the model.
|
194
|
-
*/
|
195
|
-
changes?: fields.SchemaField.InnerAssignmentType<Schema>;
|
196
|
-
|
197
|
-
/**
|
198
|
-
* If changes are provided, attempt to clean the changes before validating them?
|
199
|
-
* @defaultValue `false`
|
200
|
-
*/
|
201
|
-
clean?: boolean;
|
202
|
-
|
203
|
-
/**
|
204
|
-
* Allow replacement of invalid values with valid defaults?
|
205
|
-
* @defaultValue `false`
|
206
|
-
*/
|
207
|
-
fallback?: boolean;
|
208
|
-
|
209
|
-
/**
|
210
|
-
* If true, invalid embedded documents will emit a warning and
|
211
|
-
* be placed in the invalidDocuments collection rather than
|
212
|
-
* causing the parent to be considered invalid.
|
213
|
-
* @defaultValue `false`
|
214
|
-
*/
|
215
|
-
dropInvalidEmbedded: boolean;
|
216
|
-
|
217
|
-
/**
|
218
|
-
* Throw if an invalid value is encountered, otherwise log a warning?
|
219
|
-
* @defaultValue `true`
|
220
|
-
*/
|
221
|
-
strict?: boolean;
|
222
|
-
|
223
|
-
/**
|
224
|
-
* Perform validation on individual fields?
|
225
|
-
* @defaultValue `true`
|
226
|
-
*/
|
227
|
-
fields?: boolean;
|
228
|
-
|
229
|
-
/**
|
230
|
-
* Perform joint validation on the full data model?
|
231
|
-
* Joint validation will be performed by default if no changes are passed.
|
232
|
-
* Joint validation will be disabled by default if changes are passed.
|
233
|
-
* Joint validation can be performed on a complete set of changes (for
|
234
|
-
* example testing a complete data model) by explicitly passing true.
|
235
|
-
*/
|
236
|
-
joint?: boolean;
|
237
|
-
}): boolean;
|
173
|
+
// options: not null (destructured)
|
174
|
+
validate(options?: DataModel.ValidateOptions<Schema>): boolean;
|
238
175
|
|
239
176
|
/**
|
240
177
|
* Evaluate joint validation rules which apply validation conditions across multiple fields of the model.
|
@@ -242,15 +179,12 @@ declare abstract class DataModel<
|
|
242
179
|
* This method allows for testing aggregate rules which impose requirements on the overall model.
|
243
180
|
* @param data - Candidate data for the model
|
244
181
|
* @throws An error if a validation failure is detected
|
182
|
+
* @remarks Other than posting a deprecation warning about and forwarding `data` to `this.prototype._validateModel` if defined,
|
183
|
+
* this is effectively abstract in `DataModel`. Subclasses implementing should type `data` as the `SchemaField.SourceData<>` of
|
184
|
+
* their schema.
|
245
185
|
*/
|
246
|
-
// TODO(
|
247
|
-
static validateJoint(data:
|
248
|
-
|
249
|
-
/**
|
250
|
-
* @deprecated since v11; Use the validateJoint static method instead.
|
251
|
-
*/
|
252
|
-
// TODO(LukeAbby): Should be SourceType
|
253
|
-
protected _validateModel(data: fields.SchemaField.InnerAssignmentType<Schema>): void;
|
186
|
+
// TODO(esheyw): dep warning is gone in v13, clean up remarks
|
187
|
+
static validateJoint(data: never): void;
|
254
188
|
|
255
189
|
/**
|
256
190
|
* Update the DataModel locally by applying an object of changes to its source data.
|
@@ -262,103 +196,85 @@ declare abstract class DataModel<
|
|
262
196
|
* @param options - Options which determine how the new data is merged
|
263
197
|
* @returns An object containing the changed keys and values
|
264
198
|
*/
|
265
|
-
// TODO
|
199
|
+
// TODO: This should allow dotkeys to be passed
|
200
|
+
// TODO: Without widening changes and the return type, the ActorDelta override is impossible to make correct
|
201
|
+
// changes, options: not null (parameter default only)
|
266
202
|
updateSource(
|
267
|
-
changes?: fields.SchemaField.
|
268
|
-
options?:
|
269
|
-
):
|
270
|
-
|
271
|
-
/**
|
272
|
-
* Update the source data for a specific DataSchema.
|
273
|
-
* This method assumes that both source and changes are valid objects.
|
274
|
-
* @param schema - The data schema to update
|
275
|
-
* @param source - Source data to be updated
|
276
|
-
* @param changes - Changes to apply to the source data
|
277
|
-
* @param options - Options which modify the update workflow
|
278
|
-
* @returns The updated source data
|
279
|
-
* @throws An error if the update operation was unsuccessful
|
280
|
-
*/
|
281
|
-
static #updateData(
|
282
|
-
schema: SchemaField.Any,
|
283
|
-
source: object,
|
284
|
-
changes: object,
|
285
|
-
options: DataModel.UpdateOptions,
|
286
|
-
): object;
|
287
|
-
|
288
|
-
/**
|
289
|
-
* Update the source data for a specific DataField.
|
290
|
-
* @param name - The field name being updated
|
291
|
-
* @param field - The field definition being updated
|
292
|
-
* @param source - The source object being updated
|
293
|
-
* @param value - The new value for the field
|
294
|
-
* @param options - Options which modify the update workflow
|
295
|
-
* @throws An error if the new candidate value is invalid
|
296
|
-
*/
|
297
|
-
static #updateField(
|
298
|
-
name: string,
|
299
|
-
field: DataField.Any,
|
300
|
-
source: object,
|
301
|
-
value: any,
|
302
|
-
options: DataModel.UpdateOptions,
|
303
|
-
): object;
|
203
|
+
changes?: fields.SchemaField.UpdateData<Schema>,
|
204
|
+
options?: DataModel.UpdateOptions,
|
205
|
+
): fields.SchemaField.UpdateData<Schema>;
|
304
206
|
|
305
207
|
/**
|
306
208
|
* Copy and transform the DataModel into a plain object.
|
307
209
|
* Draw the values of the extracted object from the data source (by default) otherwise from its transformed values.
|
308
|
-
* @param source - Draw values from the underlying data source rather than transformed values
|
309
|
-
* (default: `true`)
|
210
|
+
* @param source - Draw values from the underlying data source rather than transformed values (default: `true`)
|
310
211
|
* @returns The extracted primitive object
|
311
212
|
*/
|
312
|
-
toObject(source
|
313
|
-
toObject(source?: boolean): ReturnType<this["schema"]["toObject"]>;
|
213
|
+
toObject(source?: boolean | null): SchemaField.SourceData<Schema>;
|
314
214
|
|
315
215
|
/**
|
316
216
|
* Extract the source data for the DataModel into a simple object format that can be serialized.
|
317
217
|
* @returns The document source data expressed as a plain object
|
318
218
|
*/
|
319
|
-
toJSON():
|
219
|
+
toJSON(): SchemaField.SourceData<Schema>;
|
320
220
|
|
321
221
|
/**
|
322
222
|
* Create a new instance of this DataModel from a source record.
|
323
223
|
* The source is presumed to be trustworthy and is not strictly validated.
|
324
224
|
* @param source - Initial document data which comes from a trusted source.
|
325
225
|
* @param context - Model construction context
|
326
|
-
* @remarks
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
226
|
+
* @remarks Returns `new this()` so needs an override per subclass:
|
227
|
+
* ```ts
|
228
|
+
* const mySchema = {
|
229
|
+
* // etc
|
230
|
+
* }
|
231
|
+
*
|
232
|
+
* type MySchema = typeof mySchema
|
233
|
+
*
|
234
|
+
* // most models likely wont be using this param at all, but its included for completeness
|
235
|
+
* interface MyExtraConstructorOptions {
|
236
|
+
* someProp: string
|
237
|
+
* }
|
238
|
+
*
|
239
|
+
* class MyDataModel extends DataModel<MySchema, DataModel.Any | null, MyExtraConstructorOptions> {
|
240
|
+
* static fromSource(
|
241
|
+
* source: foundry.data.fields.SchemaField.CreateData<MySchema>,
|
242
|
+
* context?: DataModel.FromSourceOptions<NewParent> & MyExtraConstructorOptions
|
243
|
+
* ): MyDataModel
|
244
|
+
* }
|
245
|
+
* ```
|
246
|
+
*/
|
247
|
+
// context: not null (destructured)
|
248
|
+
static fromSource(source: never, context?: DataModel.FromSourceOptions): DataModel.Any;
|
341
249
|
|
342
250
|
/**
|
343
251
|
* Create a DataModel instance using a provided serialized JSON string.
|
344
252
|
* @param json - Serialized document data in string format
|
345
253
|
* @returns A constructed data model instance
|
254
|
+
* @remarks
|
255
|
+
* Returns `new this()` so needs an override per subclass.
|
256
|
+
*
|
257
|
+
* ```ts
|
258
|
+
* class MyDataModel extends ... {
|
259
|
+
* static fromJSON(json: string): MyDataModel
|
260
|
+
* }
|
261
|
+
* ```
|
346
262
|
*/
|
347
|
-
static fromJSON(json: string):
|
263
|
+
static fromJSON(json: string): DataModel.Any;
|
348
264
|
|
349
265
|
/**
|
350
266
|
* Migrate candidate source data for this DataModel which may require initial cleaning or transformations.
|
351
267
|
* @param source - The candidate source data from which the model will be constructed
|
352
268
|
* @returns Migrated source data, if necessary
|
353
269
|
*/
|
354
|
-
static migrateData(source:
|
270
|
+
static migrateData(source: AnyMutableObject): AnyMutableObject;
|
355
271
|
|
356
272
|
/**
|
357
273
|
* Wrap data migration in a try/catch which attempts it safely
|
358
274
|
* @param source - The candidate source data from which the model will be constructed
|
359
275
|
* @returns Migrated source data, if necessary
|
360
276
|
*/
|
361
|
-
static migrateDataSafe(source:
|
277
|
+
static migrateDataSafe(source: AnyMutableObject): AnyMutableObject;
|
362
278
|
|
363
279
|
/**
|
364
280
|
* Take data which conforms to the current data schema and add backwards-compatible accessors to it in order to
|
@@ -367,102 +283,215 @@ declare abstract class DataModel<
|
|
367
283
|
* @param options - Additional shimming options
|
368
284
|
* @returns Data with added backwards-compatible properties
|
369
285
|
*/
|
370
|
-
|
371
|
-
|
372
|
-
options?: {
|
373
|
-
/**
|
374
|
-
* Apply shims to embedded models?
|
375
|
-
* @defaultValue `true`
|
376
|
-
*/
|
377
|
-
embedded?: boolean;
|
378
|
-
},
|
379
|
-
): object;
|
286
|
+
// options: not null (destructured)
|
287
|
+
static shimData(data: AnyMutableObject, options?: DataModel.ShimDataOptions): AnyMutableObject;
|
380
288
|
}
|
381
289
|
|
382
290
|
declare namespace DataModel {
|
383
|
-
|
384
|
-
|
385
|
-
|
291
|
+
interface Any extends AnyDataModel {}
|
292
|
+
interface AnyConstructor extends Identity<typeof AnyDataModel> {}
|
293
|
+
|
294
|
+
type CreateData<Schema extends DataSchema> = fields.SchemaField.AssignmentData<Schema> | DataModel<Schema, any>;
|
295
|
+
|
296
|
+
type ConstructorDataFor<ConcreteDataModel extends DataModel.Any> = CreateData<SchemaOf<ConcreteDataModel>>;
|
386
297
|
|
387
|
-
|
298
|
+
// TODO(LukeAbby): Make optional only if `{}` is assignable to `AssignmentData`.
|
299
|
+
type ConstructorArgs<
|
300
|
+
Schema extends DataSchema,
|
301
|
+
Parent extends DataModel.Any | null = null,
|
302
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-object-type
|
303
|
+
ExtraConstructorOptions extends AnyObject = {},
|
304
|
+
> = [
|
305
|
+
// not null (parameter default only)
|
306
|
+
data?: DataModel.CreateData<Schema>,
|
307
|
+
|
308
|
+
// Note(LukeAbby): `{ parent, strict, ...options }`
|
309
|
+
// not null (destructured)
|
310
|
+
options?: DataModel.ConstructionContext<Parent> & ExtraConstructorOptions,
|
311
|
+
];
|
388
312
|
|
389
313
|
/**
|
390
|
-
*
|
314
|
+
* With the existence of custom module subtypes a system can no longer rely on their configured types being the only ones.
|
315
|
+
*
|
316
|
+
* `UnknownDataModel` covers the case where it's configured with a {@link DataModel | `DataModel`}.
|
317
|
+
* Using a {@link TypeDataModel | `TypeDataModel`} is recommended by Foundry but a {@link DataModel | `DataModel`} is
|
318
|
+
* always possible.
|
319
|
+
* See {@link UnknownSystem | `UnknownSystem`} for other possibilities.
|
391
320
|
*/
|
392
|
-
|
321
|
+
interface UnknownDataModel extends DataModel<any, any, any> {}
|
393
322
|
|
394
|
-
|
323
|
+
/**
|
324
|
+
* A helper type to extract the schema from a {@link DataModel | `DataModel`}.
|
325
|
+
* @typeParam ModelType - the DataModel for the embedded data
|
326
|
+
*/
|
327
|
+
type SchemaOf<ModelType extends DataModel.Any> = ModelType["schema"]["fields"];
|
328
|
+
|
329
|
+
// Note(LukeAbby): This avoids writing `SchemaOf<InstanceType<ConcreteClass>>` to be robust to an issue with this snippet:
|
330
|
+
// ```ts
|
331
|
+
// EmbeddedDataField<typeof DataModel<{}>> extends SchemaField<infer SubSchema> ? SubSchema : never
|
332
|
+
// ```
|
333
|
+
type SchemaOfClass<ConcreteClass extends DataModel.AnyConstructor> = ConcreteClass extends abstract new (
|
334
|
+
...args: infer _1
|
335
|
+
) => { schema: { fields: infer Fields extends DataSchema } }
|
336
|
+
? Fields
|
337
|
+
: never;
|
338
|
+
|
339
|
+
/** @internal this is how 13.339 splits up the interfaces */
|
340
|
+
type _ConstructionContext = Pick<ValidateOptions<DataSchema>, "strict" | "fallback" | "dropInvalidEmbedded">;
|
341
|
+
|
342
|
+
interface ConstructionContext<Parent extends Any | null = Any | null> extends _ConstructionContext {
|
395
343
|
/**
|
396
|
-
*
|
397
|
-
* @defaultValue `
|
344
|
+
* A parent DataModel instance to which this DataModel belongs
|
345
|
+
* @defaultValue `null`
|
398
346
|
*/
|
399
|
-
|
347
|
+
parent?: Parent | undefined;
|
348
|
+
}
|
400
349
|
|
350
|
+
interface CloneContext extends _ConstructionContext {
|
401
351
|
/**
|
402
|
-
*
|
352
|
+
* A parent DataModel instance to which this DataModel belongs
|
353
|
+
* @defaultValue `this.parent`
|
354
|
+
* @remarks The above default is only applied if this parameter is omitted entirely. Passing `parent: undefined` will
|
355
|
+
* cause the returned DataModel's `parent` (*at runtime*) to be `null`, because it will override the spread-object
|
356
|
+
* default of `this.parent`, and then the parameter default in `new DataModel()` (`null`) will apply.
|
403
357
|
*
|
358
|
+
* **NOTE:** At the type level, the returned model will necessarily have the same parent as the instance `#clone()` is being called
|
359
|
+
* on; Accurate typing of `#parent` requires a cast.
|
360
|
+
*/
|
361
|
+
parent?: Any | null | undefined;
|
362
|
+
}
|
363
|
+
|
364
|
+
/**
|
365
|
+
* @internal
|
366
|
+
* Updated to 13.339 wording, still accurate for v12
|
367
|
+
*/
|
368
|
+
type _ValidateOptions<Schema extends DataSchema> = NullishProps<{
|
369
|
+
/**
|
370
|
+
* Validate each individual field?
|
371
|
+
* @defaultValue `true`
|
372
|
+
*/
|
373
|
+
fields: boolean;
|
374
|
+
|
375
|
+
/**
|
376
|
+
* Perform joint validation on the full data model?
|
377
|
+
* Joint validation will be performed by default if no changes are passed.
|
378
|
+
* Joint validation will be disabled by default if changes are passed.
|
379
|
+
* Joint validation can be performed on a complete set of changes (for example, testing a complete data model) by explicitly passing true.
|
380
|
+
* @remarks If nullish, defaults to `!changes`
|
381
|
+
*/
|
382
|
+
joint: boolean;
|
383
|
+
|
384
|
+
/**
|
385
|
+
* A specific set of proposed changes to validate, rather than the full source data of the model.
|
386
|
+
* @remarks If not passed or nullish, `validate` will operate on `this._source` instead
|
387
|
+
*/
|
388
|
+
changes: fields.SchemaField.AssignmentData<Schema>;
|
389
|
+
|
390
|
+
/**
|
391
|
+
* If changes are provided, attempt to clean the changes before validating them?
|
404
392
|
* @defaultValue `false`
|
393
|
+
* @remarks Only has any effect if a `changes` has been passed with it
|
405
394
|
*/
|
406
|
-
|
395
|
+
clean: boolean;
|
407
396
|
|
408
397
|
/**
|
409
|
-
*
|
410
|
-
*
|
398
|
+
* Throw an error if validation fails.
|
399
|
+
* @defaultValue `true`
|
400
|
+
*/
|
401
|
+
strict: boolean;
|
402
|
+
|
403
|
+
/**
|
404
|
+
* Allow replacement of invalid values with valid defaults? This option mutates the provided changes.
|
411
405
|
* @defaultValue `false`
|
406
|
+
* @see {@link DataField.ValidateOptions.fallback | `DataField.DataValidationOptions.fallback`}
|
412
407
|
*/
|
413
|
-
|
408
|
+
fallback: boolean;
|
409
|
+
|
410
|
+
// Foundry describes a `partial` property here, but nothing in DataModel actually *takes* such; `#validate`
|
411
|
+
// generates a value for `partial` from the state of `changes` and `joint` before passing it on to either
|
412
|
+
// `DataModel.cleanData` or `SchemaField#validate`, both of which do have uses for that property downstream
|
413
|
+
// (in `SchemaField#_cleanType` and `#_validateType`). This is a documentation error in v12, fixed in v13.
|
414
414
|
|
415
415
|
/**
|
416
|
-
* If true, invalid embedded documents will emit a warning and be
|
417
|
-
*
|
418
|
-
* parent to be considered invalid.
|
419
|
-
*
|
416
|
+
* If true, invalid embedded documents will emit a warning and be placed in the invalidDocuments collection rather
|
417
|
+
* than causing the parent to be considered invalid. This option mutates the provided changes.
|
420
418
|
* @defaultValue `false`
|
419
|
+
* @see {@link DataField.ValidateOptions.dropInvalidEmbedded | `DataField.DataValidationOptions.dropInvalidEmbedded`}
|
421
420
|
*/
|
422
|
-
dropInvalidEmbedded
|
421
|
+
dropInvalidEmbedded: boolean;
|
422
|
+
}>;
|
423
|
+
|
424
|
+
interface ValidateOptions<Schema extends DataSchema> extends _ValidateOptions<Schema> {}
|
425
|
+
|
426
|
+
/**
|
427
|
+
* @deprecated Use {@link DataModel.ConstructionContext | `DataModel.ConstructionContext`} for `new`/`#clone()`/`.create()`,
|
428
|
+
* {@link DataModel.ValidateOptions | `DataModel.ValidateOptions`} for `#validate()`
|
429
|
+
*/
|
430
|
+
interface DataValidationOptions<Parent extends Any | null = Any | null> extends ConstructionContext<Parent> {}
|
431
|
+
|
432
|
+
/** `DataModel#constructor` pulls `parent` out of the passed `ConstructionContext` before forwarding to `#_initializeSource` */
|
433
|
+
interface InitializeSourceOptions extends _ConstructionContext {}
|
434
|
+
|
435
|
+
/** `DataModel#constructor` pulls `parent` and `strict` out of the passed `ConstructionContext` before forwarding to `#_configure` */
|
436
|
+
interface ConfigureOptions extends Omit<_ConstructionContext, "strict"> {}
|
437
|
+
|
438
|
+
/** `DataModel#constructor` pulls `parent` out of the passed `ConstructionContext` before forwarding to `#_initialize` */
|
439
|
+
interface InitializeOptions extends _ConstructionContext {}
|
440
|
+
|
441
|
+
type _UpdateOptions = NullishProps<{
|
442
|
+
/** Do not finally apply the change, but instead simulate the update workflow */
|
443
|
+
dryRun: boolean;
|
423
444
|
|
424
445
|
/**
|
425
|
-
*
|
426
|
-
*
|
446
|
+
* Allow automatic fallback to a valid initial value if the value provided for a field
|
447
|
+
* in the model is invalid.
|
427
448
|
*/
|
428
|
-
|
429
|
-
|
449
|
+
fallback: boolean;
|
450
|
+
|
451
|
+
/** Apply changes to inner objects recursively rather than replacing the top-level object */
|
452
|
+
recursive: boolean;
|
430
453
|
|
431
|
-
|
454
|
+
/** An advanced option used specifically and internally by the ActorDelta model */
|
455
|
+
restoreDelta: boolean;
|
456
|
+
}>;
|
432
457
|
|
433
|
-
|
458
|
+
interface UpdateOptions extends _UpdateOptions {}
|
434
459
|
|
435
460
|
/**
|
436
|
-
*
|
437
|
-
*
|
461
|
+
* @internal
|
462
|
+
* Only necessary to change the default value of `strict`
|
438
463
|
*/
|
439
|
-
type
|
464
|
+
type _FromSourceOptions = NullishProps<{
|
465
|
+
/**
|
466
|
+
* Models created from trusted source data are validated non-strictly
|
467
|
+
* @defaultValue `false`
|
468
|
+
* @remarks The property description is describing why the default is `false` here,
|
469
|
+
* rather than `true` in normal construction
|
470
|
+
*/
|
471
|
+
strict: boolean;
|
472
|
+
}>;
|
440
473
|
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
arg0: never,
|
447
|
-
...args: never[]
|
448
|
-
) => { schema: { fields: infer Fields extends DataSchema } }
|
449
|
-
? Fields
|
450
|
-
: never;
|
474
|
+
/**
|
475
|
+
* @remarks `.fromSource` could take and pass on a specific `Parent`, but this causes
|
476
|
+
* inheritance issues and complicates subclass overriding
|
477
|
+
*/
|
478
|
+
interface FromSourceOptions extends ConstructionContext {}
|
451
479
|
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
}
|
480
|
+
/** @internal */
|
481
|
+
type _ShimDataOptions = NullishProps<{
|
482
|
+
/**
|
483
|
+
* Apply shims to embedded models?
|
484
|
+
* @defaultValue `true`
|
485
|
+
*/
|
486
|
+
embedded: boolean;
|
487
|
+
}>;
|
488
|
+
|
489
|
+
interface ShimDataOptions extends _ShimDataOptions {}
|
462
490
|
}
|
463
491
|
|
464
|
-
|
465
|
-
|
492
|
+
// This uses `any` because `Schema` and `Parent` are invariant
|
493
|
+
declare abstract class AnyDataModel extends DataModel<DataSchema, any, AnyObject> {
|
494
|
+
constructor(...args: never);
|
466
495
|
}
|
467
496
|
|
468
497
|
// Matches foundry exporting class as both default and non-default
|