Home Reference Source

src/global.js

/* @flow */

import { ENV, PROTOCOL, COMPONENTS, PLATFORM, type FundingEligibilityType } from '@paypal/sdk-constants/src';
import { isDevice } from '@krakenjs/belter/src';

export function getSDKHost() : string {
    return __SDK_HOST__;
}

export function getProtocol() : $Values<typeof PROTOCOL> {
    return (typeof __PROTOCOL__ !== 'undefined') ? __PROTOCOL__ : PROTOCOL.HTTPS;
}

export function getHost() : string {
    return __HOST__;
}

export function getHostName() : string {
    return __HOSTNAME__;
}

export function getPort() : number {
    return __PORT__;
}

export function getPath() : string {
    return __PATH__;
}

export function getEnv() : $Values<typeof ENV> {
    return __ENV__;
}

export function getPayPalDomain() : string {
    return __PAYPAL_DOMAIN__;
}

export function getPayPalAPIDomain() : string {
    return __PAYPAL_API_DOMAIN__;
}

export function getDefaultServiceStageHost() : ?string {
    if (typeof __SERVICE_STAGE_HOST__ !== 'undefined' && __SERVICE_STAGE_HOST__ !== null) {
        return __SERVICE_STAGE_HOST__;
    }
}

export function getDefaultStageHost() : ?string {
    if (typeof __STAGE_HOST__ !== 'undefined' && __STAGE_HOST__ !== null) {
        return __STAGE_HOST__;
    }
}

export function getDefaultAPIStageHost() : ?string {
    const serviceStageHost = getDefaultServiceStageHost();
    const stageHost = getDefaultStageHost();

    if (serviceStageHost) {
        return serviceStageHost;
    } else if (stageHost) {
        return stageHost;
    }
}

export function getStageHost() : ?string {
    return getDefaultStageHost();
}

export function getAPIStageHost() : ?string {
    const defaultAPIStageHost = getDefaultAPIStageHost();

    if (defaultAPIStageHost) {
        return defaultAPIStageHost.replace('www.', 'api.');
    }
}

export function getVersion() : string {
    return __VERSION__;
}

export function getCorrelationID() : string {
    return __CORRELATION_ID__;
}

export function getDefaultNamespace() : string {
    return __NAMESPACE__;
}

export function getDebug() : boolean {
    return __DEBUG__;
}

export function getComponents() : $ReadOnlyArray<$Values<typeof COMPONENTS>> {
    return __COMPONENTS__;
}

export function getFundingEligibility() : FundingEligibilityType {
    return __FUNDING_ELIGIBILITY__;
}

export function getPlatform() : $Values<typeof PLATFORM> {
    return isDevice() ? PLATFORM.MOBILE : PLATFORM.DESKTOP;
}