/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
import { pathToFunc } from "./url.js";
/**
 * Contains the list of servers available to the SDK
 */
export const ServerList = [
    /**
     * Regional API endpoints for optimal performance.
     */
    "https://{region}.cloudinary.com",
    /**
     * Custom domains for enterprise deployments.
     */
    "https://{host}",
];
/**
 * Regional endpoint selection
 */
export const ServerRegion = {
    Api: "api",
    ApiEu: "api-eu",
    ApiAp: "api-ap",
};
export function serverURLFromOptions(options) {
    let serverURL = options.serverURL;
    const serverParams = [
        {
            "region": options.region ?? "api",
        },
        {
            "host": options.host ?? "api.cloudinary.com",
        },
    ];
    let params = {};
    if (!serverURL) {
        const serverIdx = options.serverIdx ?? 0;
        if (serverIdx < 0 || serverIdx >= ServerList.length) {
            throw new Error(`Invalid server index ${serverIdx}`);
        }
        serverURL = ServerList[serverIdx] || "";
        params = serverParams[serverIdx] || {};
    }
    const u = pathToFunc(serverURL)(params);
    return new URL(u);
}
export const SDK_METADATA = {
    language: "typescript",
    openapiDocVersion: "0.2.5",
    sdkVersion: "0.3.4",
    genVersion: "2.629.1",
    userAgent: "speakeasy-sdk/typescript 0.3.4 2.629.1 0.2.5 @cloudinary/environment-config",
};
//# sourceMappingURL=config.js.map