private getSettings()

in src/visual.ts [318:348]


    private getSettings(
        settings: SettingsPropertyBase,
        areExtraPropertiesSpecified: boolean = false,
    ): { [propertyName: string]: powerbi.DataViewPropertyValue } {
        const properties: { [propertyName: string]: powerbi.DataViewPropertyValue; } = {};

        for (const descriptor in settings) {
            if (!areExtraPropertiesSpecified
                && (descriptor === "show" || descriptor === "label" || descriptor === "order")
            ) {
                continue;
            }

            const value: any = descriptor === "format" && (settings as NumberSettingsBase).getFormat
                ? (settings as NumberSettingsBase).getFormat()
                : settings[descriptor];

            const typeOfValue: string = typeof value;

            if (typeOfValue === "undefined"
                || typeOfValue === "number"
                || typeOfValue === "string"
                || typeOfValue === "boolean"
                || value === null
            ) {
                properties[descriptor] = value;
            }
        }

        return properties;
    }