@tokens-studio/sdk
Version:
The official SDK for Tokens Studio
84 lines • 2.62 kB
JavaScript
import { GetArtifactUrlDocument, GetConfigsDocument, GetOrgsDocument, GetProjectsDocument, GetReleaseDocument, GetReleasesVersionsDocument, GetThemesDocument, GetTokenSetsDocument, } from '../../__generated__/graphql.js';
export const runQuery = ({ client, queryDocument, variables, }) => async () => {
const res = await client.query({
query: queryDocument,
variables,
});
return res.data;
};
export const getOrgs = async (client) => {
const queryFn = runQuery({ client, queryDocument: GetOrgsDocument });
const result = await queryFn();
return result.organizations;
};
export const getProjects = async (client, variables) => {
const queryFn = runQuery({
client,
queryDocument: GetProjectsDocument,
variables,
});
const result = await queryFn();
return result.projects;
};
export const getConfigs = async (client, variables) => {
const queryFn = runQuery({
client,
queryDocument: GetConfigsDocument,
variables,
});
const result = await queryFn();
return result.project.branch.configs;
};
export const getThemes = async (client, variables) => {
const queryFn = runQuery({
client,
queryDocument: GetThemesDocument,
variables,
});
const result = await queryFn();
return result.project.branch.themeGroups;
};
export const getSets = async (client, variables) => {
const queryFn = runQuery({
client,
queryDocument: GetTokenSetsDocument,
variables,
});
const result = await queryFn();
return {
...result.project.branch.tokenSets,
data: result.project.branch.tokenSets.data.map((set) => ({
...set,
tokensObject: set.raw,
graph: set.source?.graph,
})),
};
};
export const getReleaseVersions = async (client, variables) => {
const queryFn = runQuery({
client,
queryDocument: GetReleasesVersionsDocument,
variables,
});
const result = await queryFn();
return result.project.releases;
};
export const getRelease = async (client, variables) => {
const queryFn = runQuery({
client,
queryDocument: GetReleaseDocument,
variables,
});
const result = await queryFn();
return result.project.release;
};
export const getArtifactUrl = async (client, variables) => {
const queryFn = runQuery({
client,
queryDocument: GetArtifactUrlDocument,
variables,
});
const result = await queryFn();
return result.releaseArtifactUrl;
};
//# sourceMappingURL=queries.js.map