genezio
Version:
Command line utility to interact with Genezio infrastructure.
31 lines (30 loc) • 1.39 kB
JavaScript
import { UserError } from "../../errors.js";
import { Language } from "../../projectConfiguration/yaml/models.js";
import { basicFileWriter } from "./basicFileWriter.js";
import { writeSdkTs, writeSdkJs } from "./jsSdkWriter.js";
/**
* Write the SDK files to disk.
* @param input - The input data
* @returns The path of the written SDK or undefined if the writing was not performed.
* @throws Error if the language is not supported
*/
export async function writeSdk(input) {
switch (input.language) {
case Language.ts:
return await writeSdkTs(input.packageName, input.packageVersion, input.sdkResponse, input.classUrls, input.publish, input.installPackage, input.outputPath, input.exportAsTarball);
case Language.js:
return await writeSdkJs(input.packageName, input.packageVersion, input.sdkResponse, input.classUrls, input.publish, input.installPackage, input.outputPath, input.exportAsTarball);
case Language.go:
case Language.kt:
case Language.dart:
case Language.swift:
case Language.python:
case Language.pythonAsgi:
if (input.outputPath) {
return await basicFileWriter(input.sdkResponse, input.classUrls, input.outputPath);
}
break;
default:
throw new UserError(`Language ${input.language} is not supported`);
}
}