UNPKG

@bscotch/stitch

Version:

Stitch: The GameMaker Studio 2 Asset Pipeline Development Kit.

26 lines 1.58 kB
import { StitchStorage } from '../StitchStorage.js'; export declare abstract class Gms2ComponentArrayBase<YypData, ComponentClass extends (new (object: YypData) => InstanceType<ComponentClass> & { toJSON: () => YypData; }) | (new (object: YypData, storage: StitchStorage) => InstanceType<ComponentClass> & { toJSON: () => YypData; })> { protected items: InstanceType<ComponentClass>[]; /** Get shallow-copy array of all item instances */ list(): InstanceType<ComponentClass>[]; filter(matchFunction: (item: InstanceType<ComponentClass>) => any): InstanceType<ComponentClass>[]; filterByField(field: keyof InstanceType<ComponentClass>, value: any): InstanceType<ComponentClass>[]; find(matchFunction: (item: InstanceType<ComponentClass>) => any): InstanceType<ComponentClass> | undefined; findByField(field: keyof InstanceType<ComponentClass>, value: any): InstanceType<ComponentClass> | undefined; removeByField(field: keyof InstanceType<ComponentClass>, value: any): this; push(...items: InstanceType<ComponentClass>[]): this; prepend(...items: InstanceType<ComponentClass>[]): this; abstract addNew(data: YypData): ComponentClass; /** * Create a new component instance if one doesn't already exist * matching the given uniqueField:uniqueValue pair. */ addIfNew(data: YypData, uniqueField: keyof InstanceType<ComponentClass>, uniqueFieldValue: any): false | ComponentClass; toJSON(): YypData[]; uniqueYypDataEntries(data: YypData[]): YypData[]; } //# sourceMappingURL=Gms2ComponentArrayBase.d.ts.map