UNPKG

decap-cms-core

Version:

Decap CMS core application, see decap-cms package for the main distribution.

64 lines (58 loc) 1.62 kB
import { isBoolean } from 'lodash'; import type { MediaFile } from '../backend'; interface Options { partial?: boolean; raw?: string; // eslint-disable-next-line @typescript-eslint/no-explicit-any data?: any; label?: string | null; isModification?: boolean | null; mediaFiles?: MediaFile[] | null; author?: string; updatedOn?: string; status?: string; meta?: { path?: string }; i18n?: { // eslint-disable-next-line @typescript-eslint/no-explicit-any [locale: string]: any; }; } export interface EntryValue { collection: string; slug: string; path: string; partial: boolean; raw: string; // eslint-disable-next-line @typescript-eslint/no-explicit-any data: any; label: string | null; isModification: boolean | null; mediaFiles: MediaFile[]; author: string; updatedOn: string; status?: string; meta: { path?: string }; i18n?: { // eslint-disable-next-line @typescript-eslint/no-explicit-any [locale: string]: any; }; } export function createEntry(collection: string, slug = '', path = '', options: Options = {}) { const returnObj: EntryValue = { collection, slug, path, partial: options.partial || false, raw: options.raw || '', data: options.data || {}, label: options.label || null, isModification: isBoolean(options.isModification) ? options.isModification : null, mediaFiles: options.mediaFiles || [], author: options.author || '', updatedOn: options.updatedOn || '', status: options.status || '', meta: options.meta || {}, i18n: options.i18n || {}, }; return returnObj; }