@benshi.ai/js-sdk
Version:
Benshi SDK
25 lines (20 loc) • 897 B
text/typescript
import isBrowser from "is-in-browser";
import { isDevEnvironment } from "../../../drivers/BsSystem";
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, bsNetwork: NetworkProxy, storageDriver: IStorage): INudgesRepository {
if (!isBrowser) {
return new DummyNudgeRepository(url, bsNetwork)
}
if (isDevEnvironment()) {
return new FakeNudgeRepository(url, bsNetwork)
} else {
return new NudgeRepository(url, bsNetwork, storageDriver)
}
}
}