From 93a6a58ea4cbb26892525c81b5bd40ab308f2d60 Mon Sep 17 00:00:00 2001 From: Jari Kolehmainen Date: Wed, 23 Feb 2022 11:38:28 +0200 Subject: [PATCH] refactor isDevelopment & contextDir to injectables Signed-off-by: Jari Kolehmainen --- .../directory-for-binaries.injectable.ts | 7 ++++--- src/common/vars/context-dir.injectable.ts | 13 +++++++++++++ src/common/vars/is-development.injectable.ts | 13 +++++++++++++ 3 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 src/common/vars/context-dir.injectable.ts create mode 100644 src/common/vars/is-development.injectable.ts diff --git a/src/common/app-paths/directory-for-binaries/directory-for-binaries.injectable.ts b/src/common/app-paths/directory-for-binaries/directory-for-binaries.injectable.ts index 4817e21292..a2b6360683 100644 --- a/src/common/app-paths/directory-for-binaries/directory-for-binaries.injectable.ts +++ b/src/common/app-paths/directory-for-binaries/directory-for-binaries.injectable.ts @@ -4,13 +4,14 @@ */ import { getInjectable, lifecycleEnum } from "@ogre-tools/injectable"; import path from "path"; -import { isDevelopment, contextDir } from "../../vars"; +import isDevelopmentInjectable from "../../vars/is-development.injectable"; +import contextDirInjectable from "../../vars/context-dir.injectable"; import directoryForUserDataInjectable from "../directory-for-user-data/directory-for-user-data.injectable"; const directoryForBinariesInjectable = getInjectable({ instantiate: (di) => { - if (isDevelopment) { - return path.join(contextDir, "binaries"); + if (di.inject(isDevelopmentInjectable)) { + return path.join(di.inject(contextDirInjectable), "binaries"); } return path.join(di.inject(directoryForUserDataInjectable), "binaries"); diff --git a/src/common/vars/context-dir.injectable.ts b/src/common/vars/context-dir.injectable.ts new file mode 100644 index 0000000000..5b92924b51 --- /dev/null +++ b/src/common/vars/context-dir.injectable.ts @@ -0,0 +1,13 @@ +/** + * Copyright (c) OpenLens Authors. All rights reserved. + * Licensed under MIT License. See LICENSE in root directory for more information. + */ +import { getInjectable, lifecycleEnum } from "@ogre-tools/injectable"; +import { contextDir } from "../vars"; + +const contextDirInjectable = getInjectable({ + instantiate: () => contextDir, + lifecycle: lifecycleEnum.singleton, +}); + +export default contextDirInjectable; diff --git a/src/common/vars/is-development.injectable.ts b/src/common/vars/is-development.injectable.ts new file mode 100644 index 0000000000..ae65cfdc76 --- /dev/null +++ b/src/common/vars/is-development.injectable.ts @@ -0,0 +1,13 @@ +/** + * Copyright (c) OpenLens Authors. All rights reserved. + * Licensed under MIT License. See LICENSE in root directory for more information. + */ +import { getInjectable, lifecycleEnum } from "@ogre-tools/injectable"; +import { isDevelopment } from "../vars"; + +const isDevelopmentInjectable = getInjectable({ + instantiate: () => isDevelopment, + lifecycle: lifecycleEnum.singleton, +}); + +export default isDevelopmentInjectable;