@causalfoundry/js-sdk
Version:
Causal Foundry WEB SDK (JS/TS)
25 lines (20 loc) • 897 B
text/typescript
import isBrowser from "is-in-browser";
import { isDevEnvironment } from "../../../drivers/CfSystem";
import { NetworkProxy } from "../../../drivers/network/typings";
import FakeNudgeRepository from "./FakeNudgeRepository";
import DummyNudgeRepository from "./DummyNudgeRepository";
import NudgeRepository from "./NudgeRepository";
import { INudgesRepository } from "./typings";
import { IStorage } from "../../../drivers/storage/typings";
export default class NudgeRepositoryFactory {
static getNudgeRepository(url: string, cfNetwork: NetworkProxy, storageDriver: IStorage): INudgesRepository {
if (!isBrowser) {
return new DummyNudgeRepository(url, cfNetwork)
}
if (isDevEnvironment()) {
return new FakeNudgeRepository(url, cfNetwork)
} else {
return new NudgeRepository(url, cfNetwork, storageDriver)
}
}
}