25 lines
905 B
TypeScript
25 lines
905 B
TypeScript
import { FetchProjectGraphService } from '../fetch-project-graph-service';
|
|
import { ProjectGraphService } from '../interfaces';
|
|
import { LocalProjectGraphService } from '../local-project-graph-service';
|
|
import { MockProjectGraphService } from '../mock-project-graph-service';
|
|
|
|
let projectGraphService: ProjectGraphService;
|
|
|
|
export function useProjectGraphDataService() {
|
|
if (projectGraphService === undefined) {
|
|
if (window.environment === 'dev') {
|
|
projectGraphService = new FetchProjectGraphService();
|
|
} else if (window.environment === 'watch') {
|
|
projectGraphService = new MockProjectGraphService();
|
|
} else if (window.environment === 'release') {
|
|
if (window.localMode === 'build') {
|
|
projectGraphService = new LocalProjectGraphService();
|
|
} else {
|
|
projectGraphService = new FetchProjectGraphService();
|
|
}
|
|
}
|
|
}
|
|
|
|
return projectGraphService;
|
|
}
|