@tripsnek/tmf
Version:
TypeScript Modeling Framework - A TypeScript port of the Eclipse Modeling Framework (EMF)
66 lines • 2.33 kB
TypeScript
import { EList } from './api/elist.js';
import { EObject } from './api/eobject.js';
/**
* Default implementation for all TMF Lists, and hence all
* multi-valued fields.
*
* This implementation wraps around a simple Javascript Array.
*/
export declare class BasicEList<T> implements EList<T> {
private owner;
private eFeatureId;
private inverseEFeatureID;
private _elements;
constructor(elems?: T[], owner?: EObject, featID?: number, inverseFeatID?: number);
add(item: T, index?: number): void;
fastContainmentAddHack(item: T): void;
basicAdd(item: T, index?: number): void;
private inverseAdd;
remove(item?: T): void;
basicRemove(item: T): boolean;
private inverseRemove;
containsAll(c: EList<any>): boolean;
addAll(list: Iterable<T>): void;
equals(o: Object): boolean;
size(): number;
isEmpty(): boolean;
contains(o: T): boolean;
get(index: number): T;
set(index: number, element: T): T;
/**
* Indicate whether this list represents a containment relationship
* between the list owningEObject and the list contents.
*/
private isContainment;
indexOf(o: T): number;
lastIndexOf(o: Object): number;
removeAll(list: Iterable<T>): boolean;
clear(): void;
[Symbol.iterator](): Iterator<T>;
/**
* Indicates whether objects in the list have a feature which refers
* back to this list's owningEObject.
*/
private hasInverseFeature;
/**
* Swaps the elements at the given positions, if they exist.
* @param idx1
* @param idx2
*/
swap(idx1: number, idx2: number): void;
/**
* Returns a new native TypeScript Array of the EList's elements
*/
elements(): T[];
filter(predicate: (value: T, index: number, obj: T[]) => boolean, thisArg?: any): EList<T>;
forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void;
find(predicate: (value: T, index: number, obj: T[]) => unknown, thisArg?: any): T | undefined;
some(arg0: (e: any) => boolean): boolean;
map(func: (value: T, index: number, obj: T[]) => any, thisArg?: any): EList<any>;
last(): T | undefined;
/**
* Removes the last element of the List and returns it.
*/
pop(): T | undefined;
}
//# sourceMappingURL=basicelist.d.ts.map