breeze-client
Version:
Breeze data management for JavaScript clients
53 lines (52 loc) • 1.82 kB
TypeScript
import { BreezeEvent } from './event';
import { EntityAspect } from './entity-aspect';
import { DataProperty } from './entity-metadata';
/** @hidden */
export interface ObservableArray {
push: (...args: any[]) => number;
_push: (...args: any[]) => number;
unshift: (...args: any[]) => number;
pop: () => any;
shift: () => any;
splice: (...args: any[]) => any[];
slice: (a: number, b?: number) => any[];
length: number;
getEntityAspect: () => EntityAspect;
arrayChanged: BreezeEvent<ArrayChangedArgs>;
parent?: Object;
parentProperty?: DataProperty;
_getEventParent: () => Object;
_getPendingPubs: () => any[];
_beforeChange: () => void;
_processAdds(items: any[]): void;
_processRemoves(items: any[]): void;
_origValues: any[];
_pendingArgs: any;
}
export interface ArrayChangedArgs {
array: any[];
added?: any[];
removed?: any[];
}
declare function updateEntityState(obsArray: ObservableArray): void;
declare function publish(publisher: ObservableArray, eventName: string, eventArgs: any): void;
declare function initializeParent(obsArray: any, parent: Object, parentProperty: DataProperty): void;
/** @hidden @internal */
export declare const observableArray: {
mixin: {
push: (...args: any[]) => any;
_push: (...args: any[]) => any;
unshift: (...args: any[]) => any;
pop: () => any;
shift: () => any;
splice: (...args: any[]) => any;
getEntityAspect: () => any;
_getEventParent: () => any;
_getPendingPubs: () => any;
_beforeChange: () => void;
};
updateEntityState: typeof updateEntityState;
publish: typeof publish;
initializeParent: typeof initializeParent;
};
export {};