export function combineDomain()

in src/axis/axis.ts [1307:1332]


export function combineDomain(forcedDomain: any[], domain: any[], ensureDomain?: powerbi.NumberRange): any[] {
    let combinedDomain: any[] = domain ? [domain[0], domain[1]] : [];

    if (ensureDomain) {
        if (combinedDomain[0] == null || ensureDomain.min < combinedDomain[0])
            combinedDomain[0] = ensureDomain.min;

        if (combinedDomain[1] == null || ensureDomain.max > combinedDomain[1])
            combinedDomain[1] = ensureDomain.max;
    }

    let domainBeforeForced: any[] = [combinedDomain[0], combinedDomain[1]];

    if (forcedDomain && forcedDomain.length === 2) {
        if (forcedDomain[0] != null) {
            combinedDomain[0] = forcedDomain[0];
        }
        if (forcedDomain[1] != null) {
            combinedDomain[1] = forcedDomain[1];
        }
        if (combinedDomain[0] > combinedDomain[1]) {
            combinedDomain = domainBeforeForced; // this is invalid, so take the original domain considering the values and the reference line
        }
    }
    return combinedDomain;
}