@finapi/web-form
Version:
Library for integrating the finAPI Web Form
34 lines (28 loc) • 864 B
text/typescript
import { Environment } from "../props.types";
import { validateUrl } from "./url.util";
const DEFAULT_API_SERVER_URL = "https://webform-live.finapi.io";
const envToUrl: Map<Environment, string> = new Map([
["staging", "https://webform.finapi-general-staging.finapi.net"],
[
"releaseStaging",
"https://webform.finapi-general-release-staging.finapi.net",
],
["sandbox", "https://webform-sandbox.finapi.io"],
["live", "https://webform-live.finapi.io"],
]);
export function getApiServer({
targetUrl,
targetEnvironment,
}: {
targetUrl?: string;
targetEnvironment?: Environment;
}): string {
const url = (() => {
if (targetUrl) return targetUrl;
if (targetEnvironment && envToUrl.has(targetEnvironment))
return envToUrl.get(targetEnvironment);
return DEFAULT_API_SERVER_URL;
})();
validateUrl(url);
return url;
}