export const HashSetSym = Symbol.for("@tsplus/stdlib/collections/HashSet")
export type HashSetSym = typeof HashSetSym
/**
* @tsplus type HashSet
*/
export interface HashSet extends Collection, Equals {
readonly [HashSetSym]: HashSetSym
[Symbol.iterator](): Iterator
}
/**
* @tsplus type HashSet.Ops
*/
export interface HashSetOps {
$: HashSetAspects
}
export const HashSet: HashSetOps = {
$: {}
}
/**
* @tsplus type HashSet.Aspects
*/
export interface HashSetAspects {}
/**
* @tsplus unify HashSet
*/
export function unifyHashSet>(
self: X
): HashSet<[X] extends [HashSet] ? A : never> {
return self
}
/**
* @tsplus static HashSet.Ops isHashSet
*/
export function isHashSet(u: Iterable): u is HashSet
export function isHashSet(u: unknown): u is HashSet
export function isHashSet(u: unknown): u is HashSet {
return typeof u === "object" && u != null && HashSetSym in u
}