mobx-keystone
Version:
A MobX powered state management solution based on data trees with first class support for TypeScript, snapshots, patches and much more
39 lines (38 loc) • 1.57 kB
TypeScript
declare const ArraySet_base: import('../model/Model')._Model<unknown, {
$modelId: import('../modelShared/prop').ModelIdProp<string> & {
typedAs<T extends string>(): import('../modelShared/prop').ModelIdProp<T>;
};
items: import('../modelShared/prop').OptionalModelProp<any[]>;
}, never, never>;
/**
* A set that is backed by an array.
* Use `arraySet` to create it.
*/
export declare class ArraySet<V> extends ArraySet_base implements Set<V> {
add(value: V): this;
clear(): void;
delete(value: V): boolean;
forEach(callbackfn: (value: V, value2: V, set: Set<V>) => void, thisArg?: any): void;
has(value: V): boolean;
get size(): number;
keys(): ReturnType<Set<V>["keys"]>;
values(): ReturnType<Set<V>["values"]>;
entries(): ReturnType<Set<V>["entries"]>;
[Symbol.iterator](): ReturnType<Set<V>[typeof Symbol.iterator]>;
readonly [Symbol.toStringTag] = "ArraySet";
union<U>(other: ReadonlySetLike<U>): Set<V | U>;
intersection<U>(other: ReadonlySetLike<U>): Set<V & U>;
difference<U>(other: ReadonlySetLike<U>): Set<V>;
symmetricDifference<U>(other: ReadonlySetLike<U>): Set<V | U>;
isSubsetOf(other: ReadonlySetLike<unknown>): boolean;
isSupersetOf(other: ReadonlySetLike<unknown>): boolean;
isDisjointFrom(other: ReadonlySetLike<unknown>): boolean;
}
/**
* Creates a new ArraySet model instance.
*
* @template V Value type.
* @param [values] Optional initial values.
*/
export declare function arraySet<V>(values?: ReadonlyArray<V> | null): ArraySet<V>;
export {};