import { FilterOperator, ValueType } from './enums'; import { IFilter } from './filtrable'; export interface IMEMBER_INFO { MEMBER_OBJECT: any; MEMBER_NAME: string; VALID: boolean; } export interface IMAPPING_SOURCE_INFO { MEMBER: string; MAP_ONPUSH_ONLY: boolean; DEFAULT_VALUE: any; SUPPORT_UNBIND_ONLY: boolean; } export interface ICACHE_DATA_PROVIDER { key: string; alias: string | undefined; method: string | undefined; lookupMapping: any; relationships: any; mappings: any; filters: (string | IFilter | (() => IFilter))[] | (() => IFilter[]) | undefined; asyncBind: boolean; useRelationship: boolean; bindFirstItemOnChange: boolean; } export declare class CommonHelper { static readonly contains = "**"; static readonly greaterThan = ">"; static readonly greaterThanOrEqual = ">="; static readonly between = "><"; static readonly lessThan = "<"; static readonly lessThanOrEqualTo = "<="; static readonly startsWith = "-*"; static readonly endsWith = "*-"; static readonly equals = "="; static readonly notEqual = "!="; static readonly functionSign = "()=>"; static readonly propertySign = "?"; static readonly mappingSign = "=>"; static readonly commaSep = ","; static readonly defaultValueSign = "??"; static readonly aliasReservedWord = " as "; static readonly INVALID_MAPPING_EXCEPTION = "Must specify a correct mapping expression. example: [member]=>object.member"; static readonly operatorMapped: Map; static getCacheFilterFromString(cacheFilter: string | (() => IFilter) | IFilter): CacheDataFilter; static getMemberValue(memberName: string, source: any): any; /** * @param memberName * @param source */ static getMemberObject(memberName: string | undefined, source: Map): Partial; static getMemberObjectValue(memberName: string | undefined, source: Map): any; static jsonParser(expresionToEvaluate: string): any; /** * @param source */ static getMappingSourceInfo(source: string): IMAPPING_SOURCE_INFO; static getCacheMappingFromString(strMapping: string): CacheDataMapping; static getCacheRelationshipFromString(strMapping: string): Relationship; static createCompatibleProvider(providerKey: any): ICACHE_DATA_PROVIDER; } export declare class CacheDataFilter implements Partial { PropertyName?: string | undefined; Operator?: FilterOperator | undefined; Value?: any; valueType?: ValueType | undefined; internalValue: string | undefined; defaultValue: any; constructor(PropertyName?: string | undefined, Operator?: FilterOperator | undefined, Value?: any, valueType?: ValueType | undefined); } /** * ESTA CLASE HA SIDO DESARROLLADA PARA MATERIALIZAR RELACIONES ENTRE DOS OBJECTOS ATRAVES DE UN MIEMPRO DE CADA OBJETO * @property {any} sourceOject para guardar la referencia del objecto de cual se obtendra o acutlizara * @property {any} targetObject * @property {string} leftMember string que representa el nombre del miembro de la izquierda * @property {string} rightMember? string que representa el nombre del miembro de la derecha * @property {any} value? any que representa el valor que se le asigna al miembre de la izquierda */ export declare class MappingItem { sourceOject: any; targetObject: any; leftMember: string; rightMember?: string; value?: any; constructor(leftMember: string, rightMember?: string, value?: any); } export declare class CacheDataMapping { source: string; mapOnPushOlny: boolean; defaultValue: any; supportUnbindOnly: boolean; targets: MappingItem[]; constructor(source: string, mapOnPushOlny: boolean, defaultValue: any, supportUnbindOnly: boolean); } export declare class Relationship { targetObject: string; keys: MappingItem[]; /** * @param targetObject: string que contiene el nombre del CacheDataRequest.Key que recibirá la notificacion de relación * @param keys: MappingItem[] arreglo de objetos */ constructor(targetObject: string, keys: MappingItem[]); } export declare class CacheDataRequest { Filters: CacheDataFilter[]; Key: string | undefined; Method: string | undefined; Alias: string | undefined; constructor(provider: Partial); } export declare class NotifierEventArgs { sender: string | undefined; relationships: Relationship[]; constructor(sender: string | undefined, relationships: Relationship[]); }