react-application-core
Version:
A react-based application core for the business applications.
127 lines (126 loc) • 4.78 kB
TypeScript
import { AnyT } from '../definitions.interface';
import { IEnvironment, INamedEntity, IPhoneConverter, IPresetsRawDataLabeledValueEntity, IUpdateEntity, MultiFieldValueOrEntitiesIdsT } from '../definition';
import { EntityIdT, IEntity, IKeyValue, StringNumberT } from '../definitions.interface';
import { INumberConverter } from '../converter';
import { ISettingsEntity } from '../settings';
import { IFieldConverter, IMultiEntityStorageSetEntity, IPlaceEntity, ITransport, ITransportRequestEntity, MultiFieldSingleValueT, MultiFieldValueT, SelectValueT } from '../definition';
import { IDateConverter } from '../converter';
export declare class BaseTransport {
protected readonly dc: IDateConverter;
protected readonly environment: IEnvironment;
protected readonly fieldConverter: IFieldConverter;
protected readonly nc: INumberConverter;
protected readonly pc: IPhoneConverter;
protected readonly settings: ISettingsEntity;
protected readonly transport: ITransport;
/**
* @stable [16.05.2020]
* @param {IUpdateEntity<TEntity extends IEntity, TExtraParams>} entity
* @returns {Promise<TResult>}
*/
protected doSaveEntity<TEntity extends IEntity = IEntity, TResult = TEntity, TExtraParams = IKeyValue>(entity: IUpdateEntity<TEntity, TExtraParams>): Promise<TResult>;
/**
* @stable [17.05.2020]
* @param {IPlaceEntity} value
* @returns {string}
*/
protected fromPlaceEntityToPlaceParameter: (value: IPlaceEntity) => string;
/**
* @stable [29.08.2020]
* @param entity
*/
protected fromMultiFieldValueToEntities: <TEntity extends IEntity = IEntity>(entity: MultiFieldValueT<TEntity>) => TEntity[];
/**
* @stable [01.09.2020]
* @param value
*/
protected fromNamedEntityToRawDataLabeledValueEntity: (value: INamedEntity) => IPresetsRawDataLabeledValueEntity;
/**
* @stable [23.08.2020]
* @param entity
*/
protected fromMultiFieldValueToDefinedEntities: <TEntity extends IEntity = IEntity>(entity: MultiFieldValueT<TEntity>) => TEntity[];
/**
* @stable [19.11.2020]
* @param value
*/
protected readonly fromSelectValueToId: (value: SelectValueT) => EntityIdT;
/**
* @stable [07.12.2020]
* @param value
*/
protected readonly fromSelectValueToPositiveOrNegativeNumberLikeId: (value: SelectValueT) => EntityIdT;
/**
* @stable [19.11.2020]
* @param value
*/
protected readonly fromSelectValueToDisplayValue: (value: SelectValueT) => StringNumberT;
/**
* @stable [30.11.2020]
* @param value
*/
protected readonly fromPhoneValueToDisplayValue: (value: StringNumberT) => string;
/**
* @stable [19.11.2020]
* @param value
* @param converter
*/
protected readonly numberParameter: (value: StringNumberT, converter?: (value: number) => number) => number;
/**
* @stable [19.09.2020]
* @param value
*/
protected readonly phoneParameter: (value: StringNumberT) => string;
/**
* @stable [15.11.2020]
* @param value
* @param returnUndef
*/
protected readonly stringParameter: (value: AnyT, returnUndef?: boolean) => string;
/**
* @stable [14.08.2020]
* @param value
*/
protected readonly queryParameter: (value: string) => string;
/**
* @stable [30.11.2020]
* @param result
*/
protected readonly singleAddedFileIdParameter: (result: IMultiEntityStorageSetEntity) => string;
/**
* @stable [01.09.2020]
* @param value
* @param precision
*/
protected roundByPrecision: (value: number, precision?: number) => number;
/**
* @stable [30.09.2020]
* @param value
*/
protected multiFieldValueAsEntitiesIds<TEntity extends IEntity = IEntity>(value: MultiFieldValueOrEntitiesIdsT<TEntity>): EntityIdT[];
/**
* @stable [13.12.2020]
* @param params
* @protected
*/
protected downloadFile(params: ITransportRequestEntity): void;
/**
* @stable [03.12.2020]
* @param savedFiles
* @protected
*/
protected doClearUploadedFiles(savedFiles: IMultiEntityStorageSetEntity[]): Promise<void[]>;
/**
* @stable [04.09.2020]
* @param entity
* @param fieldsValuesResolvers
* @protected
*/
protected doSaveMultiEntities<TEntity>(entity: TEntity, ...fieldsValuesResolvers: ((entity: TEntity) => MultiFieldSingleValueT)[]): Promise<IMultiEntityStorageSetEntity[]>;
/**
* @lazy
* @stable [03.04.2020]
* @returns {IStorage}
*/
private get multiEntityDatabaseStorage();
}