@flagship.io/js-sdk
Version:
60 lines (59 loc) • 1.54 kB
TypeScript
import { IFSFlagMetadata, SerializedFlagMetadata } from '../types';
import { VisitorDelegate } from '../visitor/VisitorDelegate';
import { IFSFlagCollection } from './IFSFlagCollection';
import { IFSFlag } from './IFSFlag';
/**
* Represents a collection of flags.
*/
export declare class FSFlagCollection implements IFSFlagCollection {
private _visitor?;
private _keys;
private _flags;
/**
* Creates a new instance of FSFlagCollection.
* @param param - The parameter object.
* @param param.visitor - The visitor delegate.
* @param param.flags - The initial flags.
*/
constructor(param: {
visitor?: VisitorDelegate;
flags?: Map<string, IFSFlag>;
});
/**
* @inheritdoc
*/
get size(): number;
/**
* @inheritdoc
*/
get(key: string): IFSFlag;
/**
* @inheritdoc
*/
has(key: string): boolean;
/**
* @inheritdoc
*/
keys(): Set<string>;
/**
* @inheritdoc
*/
[Symbol.iterator](): Iterator<[string, IFSFlag]>;
/**
* @inheritdoc
*/
filter(predicate: (value: IFSFlag, key: string, collection: IFSFlagCollection) => boolean): IFSFlagCollection;
/**
* @inheritdoc
*/
exposeAll(): Promise<void>;
/**
* @inheritdoc
*/
getMetadata(): Map<string, IFSFlagMetadata>;
/**
* @inheritdoc
*/
toJSON(): SerializedFlagMetadata[];
forEach(callbackfn: (value: IFSFlag, key: string, collection: IFSFlagCollection) => void): void;
}