react-application-core
Version:
A react-based application core for the business applications.
58 lines (57 loc) • 3.23 kB
TypeScript
import { EntityIdT, IConverterWrapper, IEntity, IFromWrapper, IToWrapper, IValueWrapper, StringNumberT } from '../definitions.interface';
import { IMultiFieldValueMergeConfigEntity, INamedEntity, IPresetsRawDataLabeledValueEntity, IReduxUserEntity, MultiFieldValueT, NotMultiFieldValueT, PlaceEntityValueT, SelectValueT } from '../definition';
/**
* @stable [09.01.2020]
*/
export declare enum FieldConverterTypesEnum {
CRON_EXPRESSION = "CRON_EXPRESSION",
CRON_PARAMETER = "CRON_PARAMETER",
DATES_RANGE_ENTITY = "DATES_RANGE_ENTITY",
DATES_RANGE_VALUE = "DATES_RANGE_VALUE",
DEFINED_ENTITIES = "DEFINED_ENTITIES",
DISPLAY_VALUE = "DISPLAY_VALUE",
EDIT_ENTITIES = "EDIT_ENTITIES",
ENTITIES = "ENTITIES",
GEO_CODER_RESULT = "GEO_CODER_RESULT",
ID = "ID",
MULTI_FIELD_VALUE = "MULTI_FIELD_VALUE",
NAMED_ENTITY = "NAMED_ENTITY",
NOT_MULTI_FIELD_VALUE = "NOT_MULTI_FIELD_VALUE",
OAUTH_JWT_DECODED_INFO = "OAUTH_JWT_DECODED_INFO",
PLACE_ENTITY = "PLACE_ENTITY",
PLACE_PARAMETER = "PLACE_PARAMETER",
RAW_DATA_LABELED_VALUE_ENTITY = "RAW_DATA_LABELED_VALUE_ENTITY",
RAW_VALUE = "RAW_VALUE",
SELECT_VALUE = "SELECT_VALUE",
TRUE_ENTITIES_OBJECT = "TRUE_ENTITIES_OBJECT",
USER_ENTITY = "USER_ENTITY",
ZIP_CODE_ENTITY = "ZIP_CODE_ENTITY"
}
/**
* @config-entity
* @stable [09.01.2020]
*/
export interface IFieldConverterConfigEntity extends IConverterWrapper<(value: unknown) => unknown>, IFromWrapper<FieldConverterTypesEnum>, IToWrapper<FieldConverterTypesEnum>, IValueWrapper {
}
/**
* @stable [09.01.2020]
*/
export interface IFieldConverter {
convert<TResult = unknown>(config: IFieldConverterConfigEntity): TResult;
converter(config: IFieldConverterConfigEntity): (value: unknown) => unknown;
fromCronExpressionToCronParameter(value: string): string;
fromMultiFieldValueToDefinedEntities<TEntity extends IEntity = IEntity>(entity: MultiFieldValueT<TEntity>): TEntity[];
fromMultiFieldValueToEditEntities<TEntity extends IEntity = IEntity>(value: MultiFieldValueT<TEntity>): TEntity[];
fromMultiFieldValueToEntities<TEntity extends IEntity = IEntity>(entity: MultiFieldValueT<TEntity>): TEntity[];
fromMultiFieldValueToTrueEntitiesObject<TEntity extends IEntity = IEntity>(value: IMultiFieldValueMergeConfigEntity<TEntity>): Record<EntityIdT, boolean>;
fromNamedEntityToRawDataLabeledValueEntity(value: INamedEntity): IPresetsRawDataLabeledValueEntity;
fromNotMultiFieldValueToEntities<TEntity extends IEntity = IEntity>(value: NotMultiFieldValueT<TEntity>): TEntity[];
fromOAuthJwtDecodedInfoToUserEntity<TValue = unknown>(value: TValue): IReduxUserEntity;
fromPlaceEntityToDisplayValue(value: PlaceEntityValueT): string;
fromPlaceEntityToPlaceParameter(value: PlaceEntityValueT): string;
fromSelectValueToDisplayValue(value: SelectValueT): StringNumberT;
fromSelectValueToId(value: SelectValueT): EntityIdT;
fromSelectValueToPositiveOrNegativeNumberLikeId(value: SelectValueT): EntityIdT;
fromSelectValueToRawValue<TEntity = IEntity>(value: SelectValueT): TEntity;
register(config: IFieldConverterConfigEntity): void;
}