@league-of-foundry-developers/foundry-vtt-types 12.331.4-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/package.json +18 -1
- package/src/configuration/configuration.d.mts +1 -1
- package/src/foundry/client/apps/app.d.mts +1 -1
- package/src/foundry/client/apps/av/av-config.d.mts +1 -1
- package/src/foundry/client/apps/av/cameras.d.mts +1 -1
- package/src/foundry/client/apps/dice/dice-config.d.mts +1 -1
- package/src/foundry/client/apps/form.d.mts +1 -1
- package/src/foundry/client/apps/forms/actor.d.mts +1 -1
- package/src/foundry/client/apps/forms/adventure-exporter.d.mts +1 -1
- package/src/foundry/client/apps/forms/adventure-importer.d.mts +1 -1
- package/src/foundry/client/apps/forms/base-sheet.d.mts +1 -1
- package/src/foundry/client/apps/forms/card-config.d.mts +1 -1
- package/src/foundry/client/apps/forms/cards-config.d.mts +1 -1
- package/src/foundry/client/apps/forms/combat-config.d.mts +1 -1
- package/src/foundry/client/apps/forms/effect-config.d.mts +1 -1
- package/src/foundry/client/apps/forms/folder-config.d.mts +7 -2
- package/src/foundry/client/apps/forms/fonts.d.mts +1 -1
- package/src/foundry/client/apps/forms/grid-config.d.mts +1 -1
- package/src/foundry/client/apps/forms/image-popout.d.mts +1 -1
- package/src/foundry/client/apps/forms/item.d.mts +1 -1
- package/src/foundry/client/apps/forms/journal-page-sheet.d.mts +1 -1
- package/src/foundry/client/apps/forms/journal-sheet.d.mts +1 -1
- package/src/foundry/client/apps/forms/macro-config.d.mts +1 -1
- package/src/foundry/client/apps/forms/measure-template.d.mts +1 -1
- package/src/foundry/client/apps/forms/ownership.d.mts +1 -1
- package/src/foundry/client/apps/forms/playlist-config.d.mts +1 -1
- package/src/foundry/client/apps/forms/playlist-sound-config.d.mts +1 -1
- package/src/foundry/client/apps/forms/roll-table-config.d.mts +1 -1
- package/src/foundry/client/apps/forms/scene-config.d.mts +1 -1
- package/src/foundry/client/apps/forms/sheet-config.d.mts +1 -1
- package/src/foundry/client/apps/forms/user-config.d.mts +1 -1
- package/src/foundry/client/apps/hud/chatbubble.d.mts +1 -1
- package/src/foundry/client/apps/hud/container.d.mts +1 -1
- package/src/foundry/client/apps/hud/controls.d.mts +1 -1
- package/src/foundry/client/apps/hud/hotbar.d.mts +1 -1
- package/src/foundry/client/apps/hud/hud.d.mts +1 -1
- package/src/foundry/client/apps/hud/menu.d.mts +1 -1
- package/src/foundry/client/apps/hud/navigation.d.mts +1 -1
- package/src/foundry/client/apps/hud/pause.d.mts +1 -1
- package/src/foundry/client/apps/hud/players.d.mts +1 -1
- package/src/foundry/client/apps/placeables/drawing-config.d.mts +1 -1
- package/src/foundry/client/apps/placeables/drawing-hud.d.mts +1 -1
- package/src/foundry/client/apps/placeables/note-config.d.mts +1 -1
- package/src/foundry/client/apps/placeables/tile-config.d.mts +1 -1
- package/src/foundry/client/apps/placeables/tile-hud.d.mts +1 -1
- package/src/foundry/client/apps/placeables/token-config.d.mts +1 -1
- package/src/foundry/client/apps/placeables/token-hud.d.mts +1 -1
- package/src/foundry/client/apps/placeables/wall-config.d.mts +1 -1
- package/src/foundry/client/apps/sidebar/apps/keybindings-config.d.mts +1 -1
- package/src/foundry/client/apps/sidebar/apps/module-management.d.mts +1 -1
- package/src/foundry/client/apps/sidebar/apps/support-details.d.mts +1 -1
- package/src/foundry/client/apps/sidebar/apps/tours-management.d.mts +1 -1
- package/src/foundry/client/apps/sidebar/apps/world-config.d.mts +1 -1
- package/src/foundry/client/apps/sidebar/directory-tab-mixin.d.mts +1 -1
- package/src/foundry/client/apps/sidebar/package-configuration.d.mts +1 -1
- package/src/foundry/client/apps/sidebar/sidebar.d.mts +1 -1
- package/src/foundry/client/apps/sidebar/tabs/actors-directory.d.mts +1 -1
- package/src/foundry/client/apps/sidebar/tabs/cards-directory.d.mts +1 -1
- package/src/foundry/client/apps/sidebar/tabs/chat-log.d.mts +1 -1
- package/src/foundry/client/apps/sidebar/tabs/combat-tracker.d.mts +1 -1
- package/src/foundry/client/apps/sidebar/tabs/compendium-directory.d.mts +1 -1
- package/src/foundry/client/apps/sidebar/tabs/items-directory.d.mts +1 -1
- package/src/foundry/client/apps/sidebar/tabs/journal-directory.d.mts +1 -1
- package/src/foundry/client/apps/sidebar/tabs/macros-directory.d.mts +1 -1
- package/src/foundry/client/apps/sidebar/tabs/playlists-directory.d.mts +1 -1
- package/src/foundry/client/apps/sidebar/tabs/roll-table-directory.d.mts +1 -1
- package/src/foundry/client/apps/sidebar/tabs/scenes-directory.d.mts +1 -1
- package/src/foundry/client/apps/sidebar/tabs/settings.d.mts +1 -1
- package/src/foundry/client/av/client.d.mts +1 -1
- package/src/foundry/client/av/clients/simplepeer.d.mts +1 -1
- package/src/foundry/client/av/master.d.mts +1 -1
- package/src/foundry/client/av/settings.d.mts +1 -1
- package/src/foundry/client/config.d.mts +1 -1
- package/src/foundry/client/core/hooks.d.mts +1 -1
- package/src/foundry/client/core/image.d.mts +1 -1
- package/src/foundry/client/core/keybindings.d.mts +1 -1
- package/src/foundry/client/core/packages.d.mts +4 -2
- package/src/foundry/client/core/settings.d.mts +1 -1
- package/src/foundry/client/core/socket.d.mts +1 -1
- package/src/foundry/client/core/tooltip.d.mts +1 -1
- package/src/foundry/client/core/tour.d.mts +1 -1
- package/src/foundry/client/core/utils.d.mts +1 -1
- package/src/foundry/client/core/workers.d.mts +1 -1
- package/src/foundry/client/data/abstract/canvas-document.d.mts +9 -20
- package/src/foundry/client/data/abstract/client-document.d.mts +133 -71
- package/src/foundry/client/data/abstract/directory-collection-mixin.d.mts +2 -2
- package/src/foundry/client/data/abstract/document-collection.d.mts +1 -1
- package/src/foundry/client/data/abstract/world-collection.d.mts +8 -1
- package/src/foundry/client/data/collections/actors.d.mts +1 -1
- package/src/foundry/client/data/collections/cards.d.mts +1 -1
- package/src/foundry/client/data/collections/combats.d.mts +1 -1
- package/src/foundry/client/data/collections/compendium-collection.d.mts +5 -4
- package/src/foundry/client/data/collections/fog.d.mts +1 -1
- package/src/foundry/client/data/collections/folder.d.mts +1 -1
- package/src/foundry/client/data/collections/items.d.mts +1 -1
- package/src/foundry/client/data/collections/journal.d.mts +1 -1
- package/src/foundry/client/data/collections/macros.d.mts +1 -1
- package/src/foundry/client/data/collections/messages.d.mts +1 -1
- package/src/foundry/client/data/collections/playlists.d.mts +1 -1
- package/src/foundry/client/data/collections/scenes.d.mts +1 -1
- package/src/foundry/client/data/collections/settings.d.mts +1 -1
- package/src/foundry/client/data/collections/tables.d.mts +1 -1
- package/src/foundry/client/data/collections/users.d.mts +4 -4
- package/src/foundry/client/data/documents/active-effect.d.mts +124 -48
- package/src/foundry/client/data/documents/actor-delta.d.mts +53 -22
- package/src/foundry/client/data/documents/actor.d.mts +147 -93
- package/src/foundry/client/data/documents/adventure.d.mts +74 -45
- package/src/foundry/client/data/documents/ambient-light.d.mts +13 -10
- package/src/foundry/client/data/documents/ambient-sound.d.mts +12 -7
- package/src/foundry/client/data/documents/card.d.mts +57 -34
- package/src/foundry/client/data/documents/cards.d.mts +171 -135
- package/src/foundry/client/data/documents/chat-message.d.mts +131 -72
- package/src/foundry/client/data/documents/combat.d.mts +80 -60
- package/src/foundry/client/data/documents/combatant.d.mts +53 -20
- package/src/foundry/client/data/documents/drawing.d.mts +12 -7
- package/src/foundry/client/data/documents/fog-exploration.d.mts +57 -17
- package/src/foundry/client/data/documents/folder.d.mts +114 -31
- package/src/foundry/client/data/documents/item.d.mts +31 -21
- package/src/foundry/client/data/documents/journal-entry-page.d.mts +90 -57
- package/src/foundry/client/data/documents/journal-entry.d.mts +29 -34
- package/src/foundry/client/data/documents/macro.d.mts +60 -34
- package/src/foundry/client/data/documents/measured-template.d.mts +13 -8
- package/src/foundry/client/data/documents/note.d.mts +14 -7
- package/src/foundry/client/data/documents/playlist-sound.d.mts +29 -33
- package/src/foundry/client/data/documents/playlist.d.mts +74 -54
- package/src/foundry/client/data/documents/region-behavior.d.mts +16 -7
- package/src/foundry/client/data/documents/region.d.mts +53 -48
- package/src/foundry/client/data/documents/scene.d.mts +310 -89
- package/src/foundry/client/data/documents/setting.d.mts +24 -23
- package/src/foundry/client/data/documents/table-result.d.mts +20 -8
- package/src/foundry/client/data/documents/table.d.mts +19 -13
- package/src/foundry/client/data/documents/tile.d.mts +13 -7
- package/src/foundry/client/data/documents/token.d.mts +148 -117
- package/src/foundry/client/data/documents/user.d.mts +141 -53
- package/src/foundry/client/data/documents/wall.d.mts +17 -10
- package/src/foundry/client/game.d.mts +1 -1
- package/src/foundry/client/head.d.mts +1 -1
- package/src/foundry/client/hooks.d.mts +9 -18
- package/src/foundry/client/pixi/board.d.mts +3 -2
- package/src/foundry/client/pixi/core/containers/base-canvas-group.d.mts +1 -1
- package/src/foundry/client/pixi/core/containers/cached-container.d.mts +1 -1
- package/src/foundry/client/pixi/core/containers/full-canvas-container.d.mts +1 -1
- package/src/foundry/client/pixi/core/containers/point-source-mesh.d.mts +1 -1
- package/src/foundry/client/pixi/core/containers/quad-mesh.d.mts +1 -1
- package/src/foundry/client/pixi/core/containers/quadtree.d.mts +1 -1
- package/src/foundry/client/pixi/core/containers/sprite-mesh.d.mts +1 -1
- package/src/foundry/client/pixi/core/containers/unbound-container.d.mts +1 -1
- package/src/foundry/client/pixi/core/interaction/canvas-animation.d.mts +1 -1
- package/src/foundry/client/pixi/core/interaction/control-icon.d.mts +1 -1
- package/src/foundry/client/pixi/core/interaction/mouse-handler.d.mts +1 -1
- package/src/foundry/client/pixi/core/interaction/ping.d.mts +1 -1
- package/src/foundry/client/pixi/core/interaction/pings/pulse.d.mts +1 -1
- package/src/foundry/client/pixi/core/interaction/render-flags.d.mts +1 -8
- package/src/foundry/client/pixi/core/interaction/resize-handle.d.mts +1 -1
- package/src/foundry/client/pixi/core/interaction/targets.d.mts +1 -1
- package/src/foundry/client/pixi/core/loader.d.mts +1 -1
- package/src/foundry/client/pixi/core/shapes/limited-angle-polygon.d.mts +1 -1
- package/src/foundry/client/pixi/core/shapes/polygon-mesher.d.mts +1 -1
- package/src/foundry/client/pixi/core/shapes/precise-text.d.mts +1 -1
- package/src/foundry/client/pixi/core/shapes/ray.d.mts +1 -1
- package/src/foundry/client/pixi/core/shapes/source-polygon.d.mts +1 -1
- package/src/foundry/client/pixi/extensions/circle.d.mts +1 -1
- package/src/foundry/client/pixi/extensions/observable-transform.d.mts +1 -1
- package/src/foundry/client/pixi/extensions/polygon.d.mts +1 -1
- package/src/foundry/client/pixi/extensions/rectangle.d.mts +1 -1
- package/src/foundry/client/pixi/groups/effects.d.mts +1 -1
- package/src/foundry/client/pixi/groups/environment.d.mts +1 -1
- package/src/foundry/client/pixi/groups/hidden.d.mts +1 -1
- package/src/foundry/client/pixi/groups/interface.d.mts +1 -1
- package/src/foundry/client/pixi/groups/overlay.d.mts +1 -1
- package/src/foundry/client/pixi/groups/primary.d.mts +1 -1
- package/src/foundry/client/pixi/groups/rendered.d.mts +1 -1
- package/src/foundry/client/pixi/layers/base/canvas-layer.d.mts +1 -1
- package/src/foundry/client/pixi/layers/base/interaction-layer.d.mts +1 -1
- package/src/foundry/client/pixi/layers/base/placeables-layer.d.mts +1 -1
- package/src/foundry/client/pixi/layers/controls/cursor.d.mts +1 -1
- package/src/foundry/client/pixi/layers/controls/door.d.mts +1 -1
- package/src/foundry/client/pixi/layers/controls/layer.d.mts +1 -1
- package/src/foundry/client/pixi/layers/controls/ruler.d.mts +1 -1
- package/src/foundry/client/pixi/layers/effects/background-effects.d.mts +1 -1
- package/src/foundry/client/pixi/layers/effects/coloration-effects.d.mts +1 -1
- package/src/foundry/client/pixi/layers/effects/darkness-effects.d.mts +1 -1
- package/src/foundry/client/pixi/layers/effects/illumination-effects.d.mts +1 -1
- package/src/foundry/client/pixi/layers/effects/visibility.d.mts +1 -1
- package/src/foundry/client/pixi/layers/effects/weather/particles/effect.d.mts +1 -1
- package/src/foundry/client/pixi/layers/effects/weather/particles/leaves.d.mts +1 -1
- package/src/foundry/client/pixi/layers/effects/weather-effects.d.mts +1 -1
- package/src/foundry/client/pixi/layers/grid/highlight.d.mts +1 -1
- package/src/foundry/client/pixi/layers/grid/layer.d.mts +1 -1
- package/src/foundry/client/pixi/layers/grid/mesh.d.mts +1 -1
- package/src/foundry/client/pixi/layers/masks/depth.d.mts +1 -1
- package/src/foundry/client/pixi/layers/masks/occlusion.d.mts +1 -1
- package/src/foundry/client/pixi/layers/masks/vision.d.mts +1 -1
- package/src/foundry/client/pixi/layers/placeables/drawings.d.mts +1 -1
- package/src/foundry/client/pixi/layers/placeables/lighting.d.mts +1 -1
- package/src/foundry/client/pixi/layers/placeables/notes.d.mts +1 -1
- package/src/foundry/client/pixi/layers/placeables/regions.d.mts +1 -1
- package/src/foundry/client/pixi/layers/placeables/sounds.d.mts +1 -1
- package/src/foundry/client/pixi/layers/placeables/templates.d.mts +1 -1
- package/src/foundry/client/pixi/layers/placeables/tiles.d.mts +1 -1
- package/src/foundry/client/pixi/layers/placeables/tokens.d.mts +1 -1
- package/src/foundry/client/pixi/layers/placeables/walls.d.mts +1 -1
- package/src/foundry/client/pixi/perception/clockwise-sweep.d.mts +1 -1
- package/src/foundry/client/pixi/perception/detection-mode.d.mts +1 -1
- package/src/foundry/client/pixi/perception/fog.d.mts +1 -1
- package/src/foundry/client/pixi/perception/perception-manager.d.mts +1 -1
- package/src/foundry/client/pixi/perception/vision-mode.d.mts +1 -1
- package/src/foundry/client/pixi/perception/weiler-atherton-clipping.d.mts +1 -1
- package/src/foundry/client/pixi/placeable.d.mts +2 -1
- package/src/foundry/client/pixi/placeables/drawing.d.mts +1 -1
- package/src/foundry/client/pixi/placeables/light.d.mts +1 -7
- package/src/foundry/client/pixi/placeables/note.d.mts +1 -1
- package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-canvas-object.d.mts +1 -1
- package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-graphics.d.mts +1 -1
- package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-occludable-object.d.mts +1 -1
- package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-sprite-mesh.d.mts +1 -1
- package/src/foundry/client/pixi/placeables/region.d.mts +1 -1
- package/src/foundry/client/pixi/placeables/sound.d.mts +1 -1
- package/src/foundry/client/pixi/placeables/template.d.mts +1 -1
- package/src/foundry/client/pixi/placeables/tile.d.mts +1 -1
- package/src/foundry/client/pixi/placeables/token.d.mts +1 -1
- package/src/foundry/client/pixi/placeables/wall.d.mts +1 -1
- package/src/foundry/client/pixi/webgl/extensions/batch-renderer.d.mts +1 -1
- package/src/foundry/client/pixi/webgl/extensions/batch-shader-generator.d.mts +1 -1
- package/src/foundry/client/pixi/webgl/helpers/framebuffer-snapshot.d.mts +1 -1
- package/src/foundry/client/pixi/webgl/helpers/smooth-noise.d.mts +1 -1
- package/src/foundry/client/pixi/webgl/helpers/texture-extractor.d.mts +1 -1
- package/src/foundry/client/pixi/webgl/shaders/base-shader-mixin.d.mts +1 -1
- package/src/foundry/client/pixi/webgl/shaders/base-shader.d.mts +1 -1
- package/src/foundry/client/pixi/webgl/shaders/filters/base-filter.d.mts +1 -1
- package/src/foundry/client/pixi/webgl/shaders/filters/effects-masking.d.mts +1 -1
- package/src/foundry/client/pixi/webgl/shaders/filters/glow-overlay.d.mts +1 -1
- package/src/foundry/client/pixi/webgl/shaders/filters/outline-overlay.d.mts +1 -1
- package/src/foundry/client/pixi/webgl/shaders/filters/transition.d.mts +1 -1
- package/src/foundry/client/pixi/webgl/shaders/filters/visibility.d.mts +1 -1
- package/src/foundry/client/pixi/webgl/shaders/filters/vision-mask-filter.d.mts +1 -1
- package/src/foundry/client/pixi/webgl/shaders/fragment-channel-mixin.d.mts +1 -1
- package/src/foundry/client/pixi/webgl/shaders/grid/grid.d.mts +1 -1
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fairy-light.d.mts +1 -1
- package/src/foundry/client/pixi/webgl/shaders/samplers/base-sampler.d.mts +1 -1
- package/src/foundry/client/pixi/webgl/shaders/samplers/token-ring.d.mts +1 -1
- package/src/foundry/client/pixi/webgl/shaders/weather/base-weather.d.mts +1 -1
- package/src/foundry/client/pixi/webgl/shaders/weather/effect.d.mts +1 -1
- package/src/foundry/client/pixi/workers/texture-worker.d.mts +1 -1
- package/src/foundry/client/ui/context.d.mts +1 -1
- package/src/foundry/client/ui/dialog.d.mts +1 -1
- package/src/foundry/client/ui/dragdrop.d.mts +1 -1
- package/src/foundry/client/ui/editor.d.mts +1 -1
- package/src/foundry/client/ui/filepicker.d.mts +1 -1
- package/src/foundry/client/ui/filter.d.mts +1 -1
- package/src/foundry/client-esm/applications/api/application.d.mts +1 -9
- package/src/foundry/client-esm/applications/api/dialog.d.mts +1 -1
- package/src/foundry/client-esm/applications/api/document-sheet.d.mts +1 -1
- package/src/foundry/client-esm/applications/api/handlebars-application.d.mts +1 -1
- package/src/foundry/client-esm/applications/apps/compendium-art-config.d.mts +1 -1
- package/src/foundry/client-esm/applications/apps/permission-config.d.mts +1 -1
- package/src/foundry/client-esm/applications/dice/roll-resolver.d.mts +1 -1
- package/src/foundry/client-esm/applications/forms/fields.d.mts +1 -1
- package/src/foundry/client-esm/applications/sheets/actor-sheet.d.mts +1 -1
- package/src/foundry/client-esm/applications/sheets/ambient-light-config.d.mts +1 -1
- package/src/foundry/client-esm/applications/sheets/ambient-sound-config.d.mts +1 -1
- package/src/foundry/client-esm/applications/sheets/item-sheet.d.mts +1 -1
- package/src/foundry/client-esm/applications/sheets/region-behavior-config.d.mts +1 -1
- package/src/foundry/client-esm/applications/sheets/region-config.d.mts +1 -1
- package/src/foundry/client-esm/applications/sheets/user-config.d.mts +1 -1
- package/src/foundry/client-esm/applications/ui/region-legend.d.mts +1 -1
- package/src/foundry/client-esm/audio/biquad.d.mts +1 -1
- package/src/foundry/client-esm/audio/convolver.d.mts +1 -1
- package/src/foundry/client-esm/audio/helper.d.mts +1 -1
- package/src/foundry/client-esm/audio/sound.d.mts +2 -2
- package/src/foundry/client-esm/canvas/edges/collision.d.mts +1 -1
- package/src/foundry/client-esm/canvas/edges/edge.d.mts +1 -1
- package/src/foundry/client-esm/canvas/edges/vertex.d.mts +1 -1
- package/src/foundry/client-esm/canvas/scene-manager.d.mts +1 -1
- package/src/foundry/client-esm/canvas/smaa/smaa.d.mts +1 -1
- package/src/foundry/client-esm/canvas/sources/base-effect-source.d.mts +1 -1
- package/src/foundry/client-esm/canvas/sources/base-light-source.d.mts +1 -1
- package/src/foundry/client-esm/canvas/sources/global-light-source.d.mts +1 -1
- package/src/foundry/client-esm/canvas/sources/point-darkness-source.d.mts +1 -1
- package/src/foundry/client-esm/canvas/sources/point-effect-source.d.mts +1 -1
- package/src/foundry/client-esm/canvas/sources/point-light-source.d.mts +1 -1
- package/src/foundry/client-esm/canvas/sources/point-sound-source.d.mts +1 -1
- package/src/foundry/client-esm/canvas/sources/point-vision-source.d.mts +1 -1
- package/src/foundry/client-esm/canvas/sources/rendered-effect-source.d.mts +1 -1
- package/src/foundry/client-esm/canvas/tokens/ring-data.d.mts +3 -2
- package/src/foundry/client-esm/canvas/tokens/ring.d.mts +1 -1
- package/src/foundry/client-esm/data/client-backend.d.mts +1 -1
- package/src/foundry/client-esm/data/region-behaviors/adjust-darkness-level.d.mts +4 -5
- package/src/foundry/client-esm/data/region-behaviors/base.d.mts +1 -1
- package/src/foundry/client-esm/data/region-behaviors/display-scrolling-text.d.mts +1 -1
- package/src/foundry/client-esm/data/region-behaviors/toggle-behavior.d.mts +4 -4
- package/src/foundry/client-esm/dice/roll.d.mts +5 -8
- package/src/foundry/client-esm/dice/terms/coin.d.mts +1 -1
- package/src/foundry/client-esm/dice/terms/dice.d.mts +1 -1
- package/src/foundry/client-esm/dice/terms/die.d.mts +1 -1
- package/src/foundry/client-esm/dice/terms/fate.d.mts +1 -1
- package/src/foundry/client-esm/dice/terms/function.d.mts +1 -1
- package/src/foundry/client-esm/dice/terms/numeric.d.mts +1 -1
- package/src/foundry/client-esm/dice/terms/operator.d.mts +1 -1
- package/src/foundry/client-esm/dice/terms/parenthetical.d.mts +1 -1
- package/src/foundry/client-esm/dice/terms/pool.d.mts +1 -1
- package/src/foundry/client-esm/dice/terms/string.d.mts +1 -1
- package/src/foundry/client-esm/dice/terms/term.d.mts +1 -1
- package/src/foundry/common/abstract/backend.d.mts +1 -1
- package/src/foundry/common/abstract/data.d.mts +197 -146
- package/src/foundry/common/abstract/document.d.mts +198 -81
- package/src/foundry/common/abstract/embedded-collection-delta.d.mts +1 -1
- package/src/foundry/common/abstract/embedded-collection.d.mts +1 -1
- package/src/foundry/common/abstract/socket.d.mts +1 -1
- package/src/foundry/common/abstract/type-data.d.mts +4 -1
- package/src/foundry/common/config.d.mts +7 -1
- package/src/foundry/common/constants.d.mts +1 -1
- package/src/foundry/common/data/data.d.mts +42 -12
- package/src/foundry/common/data/fields.d.mts +656 -252
- package/src/foundry/common/documents/_types.d.mts +0 -6
- package/src/foundry/common/documents/active-effect.d.mts +116 -53
- package/src/foundry/common/documents/actor-delta.d.mts +139 -58
- package/src/foundry/common/documents/actor.d.mts +105 -51
- package/src/foundry/common/documents/adventure.d.mts +84 -39
- package/src/foundry/common/documents/ambient-light.d.mts +66 -38
- package/src/foundry/common/documents/ambient-sound.d.mts +66 -38
- package/src/foundry/common/documents/card.d.mts +100 -59
- package/src/foundry/common/documents/cards.d.mts +97 -42
- package/src/foundry/common/documents/chat-message.d.mts +105 -52
- package/src/foundry/common/documents/combat.d.mts +101 -48
- package/src/foundry/common/documents/combatant.d.mts +94 -50
- package/src/foundry/common/documents/drawing.d.mts +87 -46
- package/src/foundry/common/documents/fog-exploration.d.mts +87 -41
- package/src/foundry/common/documents/folder.d.mts +100 -46
- package/src/foundry/common/documents/item.d.mts +116 -45
- package/src/foundry/common/documents/journal-entry-page.d.mts +90 -40
- package/src/foundry/common/documents/journal-entry.d.mts +90 -39
- package/src/foundry/common/documents/macro.d.mts +116 -52
- package/src/foundry/common/documents/measured-template.d.mts +80 -44
- package/src/foundry/common/documents/note.d.mts +75 -39
- package/src/foundry/common/documents/playlist-sound.d.mts +88 -47
- package/src/foundry/common/documents/playlist.d.mts +101 -50
- package/src/foundry/common/documents/region-behavior.d.mts +71 -40
- package/src/foundry/common/documents/region.d.mts +68 -40
- package/src/foundry/common/documents/roll-table.d.mts +43 -9
- package/src/foundry/common/documents/scene.d.mts +190 -43
- package/src/foundry/common/documents/setting.d.mts +98 -42
- package/src/foundry/common/documents/table-result.d.mts +98 -48
- package/src/foundry/common/documents/tile.d.mts +77 -43
- package/src/foundry/common/documents/token.d.mts +95 -52
- package/src/foundry/common/documents/user.d.mts +100 -89
- package/src/foundry/common/documents/wall.d.mts +47 -17
- package/src/foundry/common/grid/base.d.mts +1 -1
- package/src/foundry/common/grid/gridless.d.mts +1 -1
- package/src/foundry/common/grid/hexagonal.d.mts +1 -1
- package/src/foundry/common/grid/square.d.mts +1 -1
- package/src/foundry/common/packages/base-package.d.mts +37 -14
- package/src/foundry/common/packages/base-system.d.mts +39 -0
- package/src/foundry/common/packages/base-world.d.mts +8 -1
- package/src/foundry/common/packages/sub-types.d.mts +3 -5
- package/src/foundry/common/primitives/array.d.mts +1 -1
- package/src/foundry/common/primitives/string.d.mts +1 -1
- package/src/foundry/common/prosemirror/dirty-plugin.d.mts +1 -1
- package/src/foundry/common/prosemirror/dom-parser.d.mts +1 -1
- package/src/foundry/common/prosemirror/highlight-matches-plugin.d.mts +1 -1
- package/src/foundry/common/prosemirror/image-plugin.d.mts +1 -1
- package/src/foundry/common/prosemirror/paste-transformer.d.mts +1 -1
- package/src/foundry/common/prosemirror/plugin.d.mts +1 -1
- package/src/foundry/common/types.d.mts +1 -1
- package/src/foundry/common/utils/bitmask.d.mts +1 -1
- package/src/foundry/common/utils/collection.d.mts +1 -1
- package/src/foundry/common/utils/event-emitter.d.mts +1 -1
- package/src/foundry/common/utils/helpers.d.mts +1 -1
- package/src/foundry/public/scripts/clipper/clipper.d.mts +1 -1
- package/src/types/augments/particles.d.mts +1 -1
- package/src/types/augments/pixi.d.mts +1 -1
- package/src/types/augments/smooth.d.mts +1 -1
- package/src/types/augments/tinyMCE.d.mts +1 -1
- package/src/types/config.d.mts +2 -5
- package/src/types/documentConfiguration.d.mts +1 -1
- package/src/types/lib.d.mts +1 -1
- package/src/types/workers/image-compressor.d.mts +1 -1
@@ -1,9 +1,9 @@
|
|
1
|
-
import type { AnyMutableObject, AnyObject, EmptyObject, Identity } 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
|
-
type DataSchema =
|
6
|
+
type DataSchema = fields.DataSchema;
|
7
7
|
|
8
8
|
declare const DynamicClass: new <_Computed extends object>(...args: never) => _Computed;
|
9
9
|
|
@@ -30,7 +30,7 @@ declare abstract class DataModel<
|
|
30
30
|
* will be owned by the constructed model instance and may be mutated.
|
31
31
|
* @param options - Options which affect DataModel construction
|
32
32
|
*/
|
33
|
-
constructor(...args: DataModel.ConstructorArgs<Schema, Parent>);
|
33
|
+
constructor(...args: DataModel.ConstructorArgs<Schema, Parent, ExtraConstructorOptions>);
|
34
34
|
|
35
35
|
/** @internal */
|
36
36
|
" __fvtt_types_internal_source_data": SchemaField.SourceData<Schema>;
|
@@ -44,7 +44,8 @@ declare abstract class DataModel<
|
|
44
44
|
/**
|
45
45
|
* Configure the data model instance before validation and initialization workflows are performed.
|
46
46
|
*/
|
47
|
-
|
47
|
+
// options: not null (parameter default only, destructured in Document)
|
48
|
+
protected _configure(options?: DataModel.ConfigureOptions & ExtraConstructorOptions): void;
|
48
49
|
|
49
50
|
/**
|
50
51
|
* The source data object for this DataModel instance.
|
@@ -106,10 +107,12 @@ declare abstract class DataModel<
|
|
106
107
|
* @param options - Options provided to the model constructor
|
107
108
|
* (unused)
|
108
109
|
* @returns Migrated and cleaned source data which will be stored to the model instance
|
110
|
+
* @remarks `options` is unused in `DataModel`
|
109
111
|
*/
|
112
|
+
// options: not null (parameter default only)
|
110
113
|
protected _initializeSource(
|
111
114
|
data: fields.SchemaField.CreateData<Schema> | this,
|
112
|
-
options?:
|
115
|
+
options?: DataModel.InitializeSourceOptions & ExtraConstructorOptions,
|
113
116
|
): fields.SchemaField.SourceData<Schema>;
|
114
117
|
|
115
118
|
/**
|
@@ -118,7 +121,7 @@ declare abstract class DataModel<
|
|
118
121
|
* @param options - Additional options which are passed to field cleaning methods
|
119
122
|
* @returns The cleaned source data
|
120
123
|
*/
|
121
|
-
static cleanData(source?: AnyMutableObject, options?:
|
124
|
+
static cleanData(source?: AnyMutableObject, options?: DataField.CleanOptions): AnyMutableObject;
|
122
125
|
|
123
126
|
/**
|
124
127
|
* A generator that orders the DataFields in the DataSchema into an expected initialization order.
|
@@ -129,9 +132,10 @@ declare abstract class DataModel<
|
|
129
132
|
* Initialize the instance by copying data from the source object to instance attributes.
|
130
133
|
* This mirrors the workflow of SchemaField#initialize but with some added functionality.
|
131
134
|
* @param options - Options provided to the model constructor
|
132
|
-
*
|
135
|
+
* @remarks `options` gets passed on to each field in the schema's `#initialize`
|
133
136
|
*/
|
134
|
-
|
137
|
+
// options: not null (parameter default only)
|
138
|
+
protected _initialize(options?: DataModel.InitializeOptions & ExtraConstructorOptions): void;
|
135
139
|
|
136
140
|
/**
|
137
141
|
* Reset the state of this data instance back to mirror the contained source data, erasing any changes.
|
@@ -142,9 +146,22 @@ declare abstract class DataModel<
|
|
142
146
|
* Clone a model, creating a new data model by combining current data with provided overrides.
|
143
147
|
* @param data - Additional data which overrides current document data at the time of creation
|
144
148
|
* @param context - Context options passed to the data model constructor
|
145
|
-
* @returns The cloned Document instance
|
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.
|
146
159
|
*/
|
147
|
-
|
160
|
+
// null would be fine for either/both params here, but it breaks Document, and its never *expected*, just incidentally doesn't break
|
161
|
+
clone(
|
162
|
+
data?: fields.SchemaField.AssignmentData<Schema>,
|
163
|
+
context?: DataModel.CloneContext & ExtraConstructorOptions,
|
164
|
+
): this;
|
148
165
|
|
149
166
|
/**
|
150
167
|
* Validate the data contained in the document to check for type and content
|
@@ -153,7 +170,8 @@ declare abstract class DataModel<
|
|
153
170
|
* @param options - Optional parameters which customize how validation occurs.
|
154
171
|
* @returns An indicator for whether the document contains valid data
|
155
172
|
*/
|
156
|
-
|
173
|
+
// options: not null (destructured)
|
174
|
+
validate(options?: DataModel.ValidateOptions<Schema>): boolean;
|
157
175
|
|
158
176
|
/**
|
159
177
|
* Evaluate joint validation rules which apply validation conditions across multiple fields of the model.
|
@@ -161,15 +179,13 @@ declare abstract class DataModel<
|
|
161
179
|
* This method allows for testing aggregate rules which impose requirements on the overall model.
|
162
180
|
* @param data - Candidate data for the model
|
163
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.
|
164
185
|
*/
|
186
|
+
// TODO(esheyw): dep warning is gone in v13, clean up remarks
|
165
187
|
static validateJoint(data: never): void;
|
166
188
|
|
167
|
-
/**
|
168
|
-
* @deprecated since v11; Use the validateJoint static method instead.
|
169
|
-
*/
|
170
|
-
// TODO(LukeAbby): Should be SourceType
|
171
|
-
protected _validateModel(data: fields.SchemaField.SourceData<Schema>): void;
|
172
|
-
|
173
189
|
/**
|
174
190
|
* Update the DataModel locally by applying an object of changes to its source data.
|
175
191
|
* The provided changes are cleaned, validated, and stored to the source data object for this model.
|
@@ -180,76 +196,69 @@ declare abstract class DataModel<
|
|
180
196
|
* @param options - Options which determine how the new data is merged
|
181
197
|
* @returns An object containing the changed keys and values
|
182
198
|
*/
|
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)
|
183
202
|
updateSource(
|
184
203
|
changes?: fields.SchemaField.UpdateData<Schema>,
|
185
|
-
options?: DataModel.
|
204
|
+
options?: DataModel.UpdateOptions,
|
186
205
|
): fields.SchemaField.UpdateData<Schema>;
|
187
206
|
|
188
|
-
/**
|
189
|
-
* Update the source data for a specific DataSchema.
|
190
|
-
* This method assumes that both source and changes are valid objects.
|
191
|
-
* @param schema - The data schema to update
|
192
|
-
* @param source - Source data to be updated
|
193
|
-
* @param changes - Changes to apply to the source data
|
194
|
-
* @param options - Options which modify the update workflow
|
195
|
-
* @returns The updated source data
|
196
|
-
* @throws An error if the update operation was unsuccessful
|
197
|
-
*/
|
198
|
-
static #updateData(
|
199
|
-
schema: SchemaField.Any,
|
200
|
-
source: object,
|
201
|
-
changes: object,
|
202
|
-
options: DataModel.UpdateOptions,
|
203
|
-
): object;
|
204
|
-
|
205
|
-
/**
|
206
|
-
* Update the source data for a specific DataField.
|
207
|
-
* @param name - The field name being updated
|
208
|
-
* @param field - The field definition being updated
|
209
|
-
* @param source - The source object being updated
|
210
|
-
* @param value - The new value for the field
|
211
|
-
* @param options - Options which modify the update workflow
|
212
|
-
* @throws An error if the new candidate value is invalid
|
213
|
-
*/
|
214
|
-
static #updateField(
|
215
|
-
name: string,
|
216
|
-
field: DataField.Any,
|
217
|
-
source: object,
|
218
|
-
value: any,
|
219
|
-
options: DataModel.UpdateOptions,
|
220
|
-
): object;
|
221
|
-
|
222
207
|
/**
|
223
208
|
* Copy and transform the DataModel into a plain object.
|
224
209
|
* Draw the values of the extracted object from the data source (by default) otherwise from its transformed values.
|
225
|
-
* @param source - Draw values from the underlying data source rather than transformed values
|
226
|
-
* (default: `true`)
|
210
|
+
* @param source - Draw values from the underlying data source rather than transformed values (default: `true`)
|
227
211
|
* @returns The extracted primitive object
|
228
212
|
*/
|
229
|
-
toObject
|
230
|
-
source?: Source,
|
231
|
-
): Source extends false ? SchemaField.SourceData<Schema> : Readonly<SchemaField.SourceData<Schema>>;
|
213
|
+
toObject(source?: boolean | null): SchemaField.SourceData<Schema>;
|
232
214
|
|
233
215
|
/**
|
234
216
|
* Extract the source data for the DataModel into a simple object format that can be serialized.
|
235
217
|
* @returns The document source data expressed as a plain object
|
236
218
|
*/
|
237
|
-
toJSON():
|
219
|
+
toJSON(): SchemaField.SourceData<Schema>;
|
238
220
|
|
239
221
|
/**
|
240
222
|
* Create a new instance of this DataModel from a source record.
|
241
223
|
* The source is presumed to be trustworthy and is not strictly validated.
|
242
224
|
* @param source - Initial document data which comes from a trusted source.
|
243
225
|
* @param context - Model construction context
|
244
|
-
* @remarks Returns `new this()` so needs an override per subclass
|
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
|
+
* ```
|
245
246
|
*/
|
246
|
-
|
247
|
+
// context: not null (destructured)
|
248
|
+
static fromSource(source: never, context?: DataModel.FromSourceOptions): DataModel.Any;
|
247
249
|
|
248
250
|
/**
|
249
251
|
* Create a DataModel instance using a provided serialized JSON string.
|
250
252
|
* @param json - Serialized document data in string format
|
251
253
|
* @returns A constructed data model instance
|
252
|
-
* @remarks
|
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
|
+
* ```
|
253
262
|
*/
|
254
263
|
static fromJSON(json: string): DataModel.Any;
|
255
264
|
|
@@ -279,17 +288,28 @@ declare abstract class DataModel<
|
|
279
288
|
}
|
280
289
|
|
281
290
|
declare namespace DataModel {
|
291
|
+
interface Any extends AnyDataModel {}
|
292
|
+
interface AnyConstructor extends Identity<typeof AnyDataModel> {}
|
293
|
+
|
282
294
|
type CreateData<Schema extends DataSchema> = fields.SchemaField.AssignmentData<Schema> | DataModel<Schema, any>;
|
283
295
|
|
284
296
|
type ConstructorDataFor<ConcreteDataModel extends DataModel.Any> = CreateData<SchemaOf<ConcreteDataModel>>;
|
285
297
|
|
286
298
|
// TODO(LukeAbby): Make optional only if `{}` is assignable to `AssignmentData`.
|
287
|
-
type ConstructorArgs<
|
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)
|
288
306
|
data?: DataModel.CreateData<Schema>,
|
289
307
|
|
290
308
|
// Note(LukeAbby): `{ parent, strict, ...options }`
|
291
|
-
|
309
|
+
// not null (destructured)
|
310
|
+
options?: DataModel.ConstructionContext<Parent> & ExtraConstructorOptions,
|
292
311
|
];
|
312
|
+
|
293
313
|
/**
|
294
314
|
* With the existence of custom module subtypes a system can no longer rely on their configured types being the only ones.
|
295
315
|
*
|
@@ -300,46 +320,6 @@ declare namespace DataModel {
|
|
300
320
|
*/
|
301
321
|
interface UnknownDataModel extends DataModel<any, any, any> {}
|
302
322
|
|
303
|
-
interface DataValidationOptions<Parent extends Any | null = Any | null> {
|
304
|
-
/**
|
305
|
-
* Throw an error if validation fails.
|
306
|
-
* @defaultValue `true`
|
307
|
-
*/
|
308
|
-
strict?: boolean | null | undefined;
|
309
|
-
|
310
|
-
/**
|
311
|
-
* Attempt to replace invalid values with valid defaults?
|
312
|
-
*
|
313
|
-
* @defaultValue `false`
|
314
|
-
*/
|
315
|
-
fallback?: boolean | null | undefined;
|
316
|
-
|
317
|
-
/**
|
318
|
-
* Allow partial source data, ignoring absent fields?
|
319
|
-
*
|
320
|
-
* @defaultValue `false`
|
321
|
-
*/
|
322
|
-
partial?: boolean | null | undefined;
|
323
|
-
|
324
|
-
/**
|
325
|
-
* If true, invalid embedded documents will emit a warning and be
|
326
|
-
* placed in the invalidDocuments collection rather than causing the
|
327
|
-
* parent to be considered invalid.
|
328
|
-
*
|
329
|
-
* @defaultValue `false`
|
330
|
-
*/
|
331
|
-
dropInvalidEmbedded?: boolean | null | undefined;
|
332
|
-
|
333
|
-
/**
|
334
|
-
* A parent DataModel instance to which this DataModel belongs
|
335
|
-
* @defaultValue `null`
|
336
|
-
*/
|
337
|
-
parent?: Parent | null | undefined;
|
338
|
-
}
|
339
|
-
|
340
|
-
interface Any extends AnyDataModel {}
|
341
|
-
interface AnyConstructor extends Identity<typeof AnyDataModel> {}
|
342
|
-
|
343
323
|
/**
|
344
324
|
* A helper type to extract the schema from a {@link DataModel | `DataModel`}.
|
345
325
|
* @typeParam ModelType - the DataModel for the embedded data
|
@@ -356,86 +336,157 @@ declare namespace DataModel {
|
|
356
336
|
? Fields
|
357
337
|
: never;
|
358
338
|
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
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 {
|
343
|
+
/**
|
344
|
+
* A parent DataModel instance to which this DataModel belongs
|
345
|
+
* @defaultValue `null`
|
346
|
+
*/
|
347
|
+
parent?: Parent | undefined;
|
368
348
|
}
|
369
349
|
|
370
|
-
interface
|
350
|
+
interface CloneContext extends _ConstructionContext {
|
371
351
|
/**
|
372
|
-
*
|
373
|
-
* @defaultValue `
|
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.
|
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.
|
374
360
|
*/
|
375
|
-
|
361
|
+
parent?: Any | null | undefined;
|
376
362
|
}
|
377
363
|
|
378
|
-
|
364
|
+
/**
|
365
|
+
* @internal
|
366
|
+
* Updated to 13.339 wording, still accurate for v12
|
367
|
+
*/
|
368
|
+
type _ValidateOptions<Schema extends DataSchema> = NullishProps<{
|
379
369
|
/**
|
380
|
-
*
|
370
|
+
* Validate each individual field?
|
381
371
|
* @defaultValue `true`
|
382
372
|
*/
|
383
|
-
|
384
|
-
|
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;
|
385
383
|
|
386
|
-
interface ValidateOptions<Schema extends DataSchema> {
|
387
384
|
/**
|
388
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
|
389
387
|
*/
|
390
|
-
changes
|
388
|
+
changes: fields.SchemaField.AssignmentData<Schema>;
|
391
389
|
|
392
390
|
/**
|
393
391
|
* If changes are provided, attempt to clean the changes before validating them?
|
394
392
|
* @defaultValue `false`
|
393
|
+
* @remarks Only has any effect if a `changes` has been passed with it
|
394
|
+
*/
|
395
|
+
clean: boolean;
|
396
|
+
|
397
|
+
/**
|
398
|
+
* Throw an error if validation fails.
|
399
|
+
* @defaultValue `true`
|
395
400
|
*/
|
396
|
-
|
401
|
+
strict: boolean;
|
397
402
|
|
398
403
|
/**
|
399
|
-
* Allow replacement of invalid values with valid defaults?
|
404
|
+
* Allow replacement of invalid values with valid defaults? This option mutates the provided changes.
|
400
405
|
* @defaultValue `false`
|
406
|
+
* @see {@link DataField.ValidateOptions.fallback | `DataField.DataValidationOptions.fallback`}
|
401
407
|
*/
|
402
|
-
fallback
|
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.
|
403
414
|
|
404
415
|
/**
|
405
|
-
* If true, invalid embedded documents will emit a warning and
|
406
|
-
* be
|
407
|
-
* causing the parent to be considered invalid.
|
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.
|
408
418
|
* @defaultValue `false`
|
419
|
+
* @see {@link DataField.ValidateOptions.dropInvalidEmbedded | `DataField.DataValidationOptions.dropInvalidEmbedded`}
|
409
420
|
*/
|
410
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;
|
411
444
|
|
412
445
|
/**
|
413
|
-
*
|
414
|
-
*
|
446
|
+
* Allow automatic fallback to a valid initial value if the value provided for a field
|
447
|
+
* in the model is invalid.
|
415
448
|
*/
|
416
|
-
|
449
|
+
fallback: boolean;
|
450
|
+
|
451
|
+
/** Apply changes to inner objects recursively rather than replacing the top-level object */
|
452
|
+
recursive: boolean;
|
453
|
+
|
454
|
+
/** An advanced option used specifically and internally by the ActorDelta model */
|
455
|
+
restoreDelta: boolean;
|
456
|
+
}>;
|
417
457
|
|
458
|
+
interface UpdateOptions extends _UpdateOptions {}
|
459
|
+
|
460
|
+
/**
|
461
|
+
* @internal
|
462
|
+
* Only necessary to change the default value of `strict`
|
463
|
+
*/
|
464
|
+
type _FromSourceOptions = NullishProps<{
|
418
465
|
/**
|
419
|
-
*
|
420
|
-
* @defaultValue `
|
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
|
421
470
|
*/
|
422
|
-
|
471
|
+
strict: boolean;
|
472
|
+
}>;
|
473
|
+
|
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 {}
|
423
479
|
|
480
|
+
/** @internal */
|
481
|
+
type _ShimDataOptions = NullishProps<{
|
424
482
|
/**
|
425
|
-
*
|
426
|
-
*
|
427
|
-
* Joint validation will be disabled by default if changes are passed.
|
428
|
-
* Joint validation can be performed on a complete set of changes (for
|
429
|
-
* example testing a complete data model) by explicitly passing true.
|
483
|
+
* Apply shims to embedded models?
|
484
|
+
* @defaultValue `true`
|
430
485
|
*/
|
431
|
-
|
432
|
-
}
|
486
|
+
embedded: boolean;
|
487
|
+
}>;
|
433
488
|
|
434
|
-
interface
|
435
|
-
dryRun?: boolean;
|
436
|
-
fallback?: boolean;
|
437
|
-
recursive?: boolean;
|
438
|
-
}
|
489
|
+
interface ShimDataOptions extends _ShimDataOptions {}
|
439
490
|
}
|
440
491
|
|
441
492
|
// This uses `any` because `Schema` and `Parent` are invariant
|