$category_names Flattened category names. * @param ?int $thumbnail_id Attachment id, if any. * @param ?float $lat Venue latitude, if any. * @param ?float $lng Venue longitude, if any. * @param bool $needs_instance_expansion Import occurrences as * standalone events. * @param list $warnings Mapping notes. * @param list $tag_names post_tag names to match- * or-create as tags. */ public function __construct( public readonly Event $event, public readonly array $category_names, public readonly ?int $thumbnail_id, public readonly ?float $lat, public readonly ?float $lng, public readonly bool $needs_instance_expansion, public readonly array $warnings, // Core 4.6 entities (unsaved, id 0): the engine matchOrCreates // them and links the event (appended so callers keep working). public readonly ?\WebCalendar\Core\Domain\Entity\Venue $venue = null, public readonly ?\WebCalendar\Core\Domain\Entity\Organizer $organizer = null, /** * Custom field values, already keyed by this site's field names * rather than The Events Calendar's meta keys. * * @var array */ public readonly array $extras = array(), // TEC's post_tag terms, to match-or-create as WebCalendar tags. // Kept apart from $category_names all the way through: the two share // a table and an assignment path, and merging them early is how a // tag ends up coloring a calendar. public readonly array $tag_names = array(), ) { } }