ThemeParks.wiki Parks API - v2.0.0
    Preparing search index...

    Type Alias EntityMapperConfig<T>

    Configuration for mapping source data to Entity objects

    type EntityMapperConfig<T> = {
        destinationId: string;
        entityType: Entity["entityType"];
        filter?: (item: T) => boolean;
        idField: keyof T | ((item: T) => string | number);
        locationFields?: {
            lat: keyof T | ((item: T) => number | undefined);
            lng: keyof T | ((item: T) => number | undefined);
        };
        nameField: keyof T
        | ((item: T) => LocalisedString);
        parentIdField?: keyof T | ((item: T) => string | number | undefined);
        timezone: string;
        transform?: (entity: Entity, sourceItem: T) => Entity;
    }

    Type Parameters

    • T
    Index

    Properties

    destinationId: string

    Destination ID this entity belongs to

    entityType: Entity["entityType"]

    Entity type (DESTINATION, PARK, ATTRACTION, SHOW, RESTAURANT, etc.)

    filter?: (item: T) => boolean

    Optional filter function to exclude items

    idField: keyof T | ((item: T) => string | number)

    Field name or extractor function for entity ID

    locationFields?: {
        lat: keyof T | ((item: T) => number | undefined);
        lng: keyof T | ((item: T) => number | undefined);
    }

    Location field mapping (latitude/longitude)

    nameField: keyof T | ((item: T) => LocalisedString)

    Field name or extractor function for entity name (can return string or multi-language object)

    parentIdField?: keyof T | ((item: T) => string | number | undefined)

    Field name or extractor function for parent entity ID

    timezone: string

    Timezone for the entity

    transform?: (entity: Entity, sourceItem: T) => Entity

    Optional transform function for post-processing