@esm-js/jira.js
Version:
A comprehensive JavaScript/TypeScript library designed for both Node.JS and browsers, facilitating seamless interaction with the Atlassian Jira API.
33 lines (30 loc) • 1.22 kB
text/typescript
import { AgileClient } from './agile';
import { BaseClient } from './clients';
import type { Config } from './config';
import { ServiceDeskClient } from './serviceDesk';
import { Version2Client } from './version2';
import { Version3Client } from './version3';
export enum ClientType {
Agile = 'agile',
Version2 = 'version2',
Version3 = 'version3',
ServiceDesk = 'serviceDesk',
}
export function createClient(clientType: ClientType.Agile, config: Config): AgileClient;
export function createClient(clientType: ClientType.Version2, config: Config): Version2Client;
export function createClient(clientType: ClientType.Version3, config: Config): Version3Client;
export function createClient(clientType: ClientType.ServiceDesk, config: Config): ServiceDeskClient;
export function createClient(clientType: ClientType, config: Config): BaseClient {
switch (clientType) {
case ClientType.Agile:
return new AgileClient(config);
case ClientType.Version2:
return new Version2Client(config);
case ClientType.Version3:
return new Version3Client(config);
case ClientType.ServiceDesk:
return new ServiceDeskClient(config);
default:
return new BaseClient(config);
}
}