@firecms/core
Version:
Awesome Firebase/Firestore-based headless open-source CMS
29 lines (28 loc) • 2.17 kB
TypeScript
import { CMSType, DataType, Entity, EntityReference, EntityStatus, EntityValues, PropertiesOrBuilders, Property, PropertyBuilder, PropertyOrBuilder, ResolvedProperties, ResolvedProperty } from "../types";
export declare function isReadOnly(property: Property<any> | ResolvedProperty<any>): boolean;
export declare function isHidden(property: Property | ResolvedProperty): boolean;
export declare function isPropertyBuilder<T extends CMSType, M extends Record<string, any>>(propertyOrBuilder?: PropertyOrBuilder<T, M> | Property<T> | ResolvedProperty<T>): propertyOrBuilder is PropertyBuilder<T, M>;
export declare function getDefaultValuesFor<M extends Record<string, any>>(properties: PropertiesOrBuilders<M> | ResolvedProperties<M>): Partial<EntityValues<M>>;
export declare function getDefaultValueFor(property?: PropertyOrBuilder): {} | null | undefined;
export declare function getDefaultValueForDataType(dataType: DataType): {} | null;
/**
* Update the automatic values in an entity before save
* @group Datasource
*/
export declare function updateDateAutoValues<M extends Record<string, any>>({ inputValues, properties, status, timestampNowValue, setDateToMidnight }: {
inputValues: Partial<EntityValues<M>>;
properties: ResolvedProperties<M>;
status: EntityStatus;
timestampNowValue: any;
setDateToMidnight: (input?: any) => any | undefined;
}): EntityValues<M>;
/**
* Add missing required fields, expected in the collection, to the values of an entity
* @param values
* @param properties
* @group Datasource
*/
export declare function sanitizeData<M extends Record<string, any>>(values: EntityValues<M>, properties: ResolvedProperties<M>): any;
export declare function getReferenceFrom<M extends Record<string, any>>(entity: Entity<M>): EntityReference;
export declare function traverseValuesProperties<M extends Record<string, any>>(inputValues: Partial<EntityValues<M>>, properties: ResolvedProperties<M>, operation: (value: any, property: Property) => any): EntityValues<M> | undefined;
export declare function traverseValueProperty(inputValue: any, property: Property, operation: (value: any, property: Property) => any): any;