1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Update and fix WriteJson(Sync) to fix error in tests

Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Sebastian Malton 2022-12-05 14:23:08 -05:00
parent c6c2bb920a
commit 618d0d83b5
2 changed files with 20 additions and 3 deletions

View File

@ -3,11 +3,10 @@
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import type { JsonValue } from "type-fest";
import getDirnameOfPathInjectable from "../path/get-dirname.injectable"; import getDirnameOfPathInjectable from "../path/get-dirname.injectable";
import fsInjectable from "./fs.injectable"; import fsInjectable from "./fs.injectable";
export type WriteJson = (filePath: string, contents: JsonValue) => Promise<void>; export type WriteJson = (filePath: string, contents: unknown) => Promise<void>;
const writeJsonFileInjectable = getInjectable({ const writeJsonFileInjectable = getInjectable({
id: "write-json-file", id: "write-json-file",

View File

@ -3,11 +3,29 @@
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import getDirnameOfPathInjectable from "../path/get-dirname.injectable";
import fsInjectable from "./fs.injectable"; import fsInjectable from "./fs.injectable";
export type WriteJsonSync = (filePath: string, contents: unknown) => void;
const writeJsonSyncInjectable = getInjectable({ const writeJsonSyncInjectable = getInjectable({
id: "write-json-sync", id: "write-json-sync",
instantiate: (di) => di.inject(fsInjectable).writeJsonSync, instantiate: (di): WriteJsonSync => {
const {
writeJsonSync,
ensureDirSync,
} = di.inject(fsInjectable);
const getDirnameOfPath = di.inject(getDirnameOfPathInjectable);
return (filePath, content) => {
ensureDirSync(getDirnameOfPath(filePath), { mode: 0o755 });
writeJsonSync(filePath, content, {
encoding: "utf-8",
spaces: 2,
});
};
},
}); });
export default writeJsonSyncInjectable; export default writeJsonSyncInjectable;