import { isString, type JSONRecord } from '@redneckz/json-op'; import { type FileReaderAPI } from '../api/FileAPI'; import { mergeJSON } from './mergeJSON'; const DEFAULT_PARENT_CONTENT = {}; export const inheritJSONDocContent = (api: FileReaderAPI) => async (content: C): Promise => content?._extends && isString(content._extends) ? mergeJSON((await api.readJSON(content._extends)) ?? DEFAULT_PARENT_CONTENT, content) : content;