breeze-client
Version:
Breeze data management for JavaScript clients
47 lines (46 loc) • 1.64 kB
TypeScript
import { DataServiceAdapter } from './interface-registry';
import { DataService, JsonResultsAdapter } from './data-service';
import { MetadataStore, DataProperty } from './entity-metadata';
import { EntityManager } from './entity-manager';
import { MergeStrategy } from './query-options';
import { EntityQuery } from './entity-query';
/**
For use by breeze plugin authors only. The class is for use in building a [[IDataServiceAdapter]] implementation.
@adapter (see [[IDataServiceAdapter]])
@hidden
*/
export interface MergeOptions {
mergeStrategy: MergeStrategy;
includeDeleted?: boolean;
noTracking?: boolean;
}
/** @hidden */
export interface MappingContextConfig {
dataService: DataService;
query?: EntityQuery | string;
entityManager: EntityManager;
mergeOptions: MergeOptions;
}
/**
For use by breeze plugin authors only. The class is for use in building a [[IDataServiceAdapter]] implementation.
@adapter (see [[IDataServiceAdapter]])
@hidden
*/
export declare class MappingContext {
/** @hidden @internal */
_$typeName: string;
rawValueFn: typeof DataProperty.getRawValueFromServer;
dataService: DataService;
query: EntityQuery | string;
entityManager: EntityManager;
mergeOptions: MergeOptions;
adapter: DataServiceAdapter;
refMap: Record<string, any>;
deferredFns: Function[];
jsonResultsAdapter: JsonResultsAdapter;
metadataStore: MetadataStore;
constructor(config: MappingContextConfig);
getUrl(): string;
visitAndMerge(nodes: any[], nodeContext: any): any;
processDeferred(): void;
}