deduplicate json config file access
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import fs from "node:fs";
|
||||
import path from "node:path";
|
||||
|
||||
import { PROJECT_ROOT } from "../../config/runtime.js";
|
||||
import { readJsonFile, writeJsonFile } from "../../utils/json-file-store.js";
|
||||
import { resolveKuaishouEticketShopConfig } from "../platforms/kuaishou-eticket/source-config-service.js";
|
||||
|
||||
const KUAISHOU_CLOUD_FULFILLMENT_FILE_PATH = path.join(
|
||||
@@ -21,16 +21,11 @@ export function getKuaishouCloudFulfillmentConfig() {
|
||||
}
|
||||
|
||||
export function saveKuaishouCloudFulfillmentConfig(rawValue) {
|
||||
const normalized = normalizeKuaishouCloudFulfillmentConfig(rawValue);
|
||||
fs.mkdirSync(path.dirname(KUAISHOU_CLOUD_FULFILLMENT_FILE_PATH), {
|
||||
recursive: true,
|
||||
});
|
||||
fs.writeFileSync(
|
||||
return writeJsonFile(
|
||||
KUAISHOU_CLOUD_FULFILLMENT_FILE_PATH,
|
||||
`${JSON.stringify(normalized, null, 2)}\n`,
|
||||
"utf8"
|
||||
rawValue,
|
||||
normalizeKuaishouCloudFulfillmentConfig
|
||||
);
|
||||
return normalized;
|
||||
}
|
||||
|
||||
export function mapKuaishouCloudFulfillmentItemsToBindings(config: JsonObject = {}) {
|
||||
@@ -92,20 +87,11 @@ export function mapKuaishouCloudFulfillmentItemsToBindings(config: JsonObject =
|
||||
}
|
||||
|
||||
function loadKuaishouCloudFulfillmentConfigFromFile() {
|
||||
if (!fs.existsSync(KUAISHOU_CLOUD_FULFILLMENT_FILE_PATH)) {
|
||||
return normalizeKuaishouCloudFulfillmentConfig({});
|
||||
}
|
||||
|
||||
try {
|
||||
const rawText = fs.readFileSync(
|
||||
KUAISHOU_CLOUD_FULFILLMENT_FILE_PATH,
|
||||
"utf8"
|
||||
);
|
||||
const parsed = JSON.parse(rawText);
|
||||
return normalizeKuaishouCloudFulfillmentConfig(parsed);
|
||||
} catch {
|
||||
return normalizeKuaishouCloudFulfillmentConfig({});
|
||||
}
|
||||
return readJsonFile(
|
||||
KUAISHOU_CLOUD_FULFILLMENT_FILE_PATH,
|
||||
() => normalizeKuaishouCloudFulfillmentConfig({}),
|
||||
normalizeKuaishouCloudFulfillmentConfig
|
||||
);
|
||||
}
|
||||
|
||||
function normalizeKuaishouCloudFulfillmentConfig(rawValue) {
|
||||
|
||||
Reference in New Issue
Block a user