/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. * @generated-id: 320761608fb3 */ import { HTTPClient } from "./http.js"; import { Logger } from "./logger.js"; import { RetryConfig } from "./retries.js"; import { Params, pathToFunc } from "./url.js"; /** * Contains the list of servers available to the SDK */ export const ServerList = [ "https://{instance}-be.glean.com", ] as const; export type SDKOptions = { apiToken?: string | (() => Promise) | undefined; httpClient?: HTTPClient; /** * Allows overriding the default server used by the SDK */ serverIdx?: number | undefined; /** * Sets the instance variable for url substitution */ instance?: string | undefined; /** * Allows overriding the default server URL used by the SDK */ serverURL?: string | undefined; /** * Allows overriding the default user agent used by the SDK */ userAgent?: string | undefined; /** * Allows overriding the default retry config used by the SDK */ retryConfig?: RetryConfig; timeoutMs?: number; debugLogger?: Logger; }; export function serverURLFromOptions(options: SDKOptions): URL | null { let serverURL = options.serverURL; const serverParams: Params[] = [ { "instance": options.instance ?? "instance-name", }, ]; let params: 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] || {}; } let u = pathToFunc(serverURL)(params); if (u && !/^https?:\/\//i.test(u)) { u = `https://${u}`; } u = u.replace(/\/+$/, ""); return new URL(u); } export const SDK_METADATA = { language: "typescript", openapiDocVersion: "0.9.0", sdkVersion: "0.14.19", genVersion: "2.881.2", userAgent: "speakeasy-sdk/typescript 0.14.19 2.881.2 0.9.0 @gleanwork/api-client", } as const;