@simulacrum/github-api-simulator
Version:
Provides common functionality to frontend app and plugins.
25 lines (20 loc) • 687 B
text/typescript
import path from "path";
import fs from "fs";
const schemaDefaults = [
"schema.docs-enterprise.graphql",
"schema.docs.graphql",
"api.github.com.json",
] as const;
export type SchemaFile = (typeof schemaDefaults)[number];
export function getSchema(schemaFile: SchemaFile | string) {
let root = path.join(__dirname, "..").endsWith("dist")
? path.join(__dirname, "..", "..")
: path.join(__dirname, "..");
const fileString = fs.readFileSync(
(schemaDefaults as unknown as string[]).includes(schemaFile)
? path.join(root, "schema", schemaFile)
: schemaFile,
"utf-8"
);
return schemaFile.endsWith(".json") ? JSON.parse(fileString) : fileString;
}