UNPKG

@firecms/core

Version:

Awesome Firebase/Firestore-based headless open-source CMS

65 lines (64 loc) 3.49 kB
import { AdditionalFieldDelegate, ArrayProperty, BooleanProperty, CMSType, DateProperty, EntityCallbacks, EntityCollection, EnumValueConfig, EnumValues, GeopointProperty, MapProperty, NumberProperty, PropertiesOrBuilders, PropertyBuilder, PropertyConfig, PropertyOrBuilder, ReferenceProperty, StringProperty, User } from "../types"; /** * Identity function we use to defeat the type system of Typescript and build * collection views with all its properties * @param collection * @group Builder */ export declare function buildCollection<M extends Record<string, any> = any, USER extends User = User>(collection: EntityCollection<M, USER>): EntityCollection<M, USER>; /** * Identity function we use to defeat the type system of Typescript and preserve * the property keys. * @param property * @group Builder */ export declare function buildProperty<T extends CMSType = CMSType, P extends PropertyOrBuilder<T> = PropertyOrBuilder<T>, M extends Record<string, any> = any>(property: P): P extends StringProperty ? StringProperty : P extends NumberProperty ? NumberProperty : P extends BooleanProperty ? BooleanProperty : P extends DateProperty ? DateProperty : P extends GeopointProperty ? GeopointProperty : P extends ReferenceProperty ? ReferenceProperty : P extends ArrayProperty ? ArrayProperty : P extends MapProperty ? MapProperty : P extends PropertyBuilder<T, M> ? PropertyBuilder<T, M> : never; /** * Identity function we use to defeat the type system of Typescript and preserve * the properties keys. * @param properties * @group Builder */ export declare function buildProperties<M extends Record<string, any>>(properties: PropertiesOrBuilders<M>): PropertiesOrBuilders<M>; /** * Identity function we use to defeat the type system of Typescript and preserve * the properties keys. * @param propertiesOrBuilder * @group Builder */ export declare function buildPropertiesOrBuilder<M extends Record<string, any>>(propertiesOrBuilder: PropertiesOrBuilders<M>): PropertiesOrBuilders<M>; /** * Identity function we use to defeat the type system of Typescript and preserve * the properties keys. * @param enumValues * @group Builder */ export declare function buildEnumValues(enumValues: EnumValues): EnumValues; /** * Identity function we use to defeat the type system of Typescript and preserve * the properties keys. * @param enumValueConfig * @group Builder */ export declare function buildEnumValueConfig(enumValueConfig: EnumValueConfig): EnumValueConfig; /** * Identity function we use to defeat the type system of Typescript and preserve * the properties keys. * @param callbacks * @group Builder */ export declare function buildEntityCallbacks<M extends Record<string, any> = any>(callbacks: EntityCallbacks<M>): EntityCallbacks<M>; /** * Identity function we use to defeat the type system of Typescript and build * additional field delegates views with all its properties * @param additionalFieldDelegate * @group Builder */ export declare function buildAdditionalFieldDelegate<M extends Record<string, any>, USER extends User = User>(additionalFieldDelegate: AdditionalFieldDelegate<M, USER>): AdditionalFieldDelegate<M, USER>; /** * Identity function we use to defeat the type system of Typescript and build * additional field delegates views with all its properties * @param propertyConfig * @group Builder */ export declare function buildFieldConfig<T extends CMSType = CMSType>(propertyConfig: PropertyConfig<T>): PropertyConfig<T>;