diff --git a/src/mol-data/int/ordered-set.ts b/src/mol-data/int/ordered-set.ts index e9abea2264565e9851ceed5cd4f2fab56a36f483..038b11830d67371ac9c90f50b2c8ac403f274a03 100644 --- a/src/mol-data/int/ordered-set.ts +++ b/src/mol-data/int/ordered-set.ts @@ -8,6 +8,7 @@ import * as Base from './impl/ordered-set' import Interval from './interval' import SortedArray from './sorted-array'; +/** test */ namespace OrderedSet { export const Empty: OrderedSet = Base.Empty as any; export const ofSingleton: <T extends number = number>(value: T) => OrderedSet<T> = Base.ofSingleton as any; @@ -50,7 +51,8 @@ namespace OrderedSet { } } -type OrderedSet<T extends number = number> = Interval<T> | SortedArray<T> -//{ '@type': 'int-interval' | 'int-sorted-array' } +/** Represents bla */ +type OrderedSet<T extends number = number> = SortedArray<T> | Interval<T> + export default OrderedSet \ No newline at end of file diff --git a/src/mol-model/structure/query/selection.ts b/src/mol-model/structure/query/selection.ts index 5bd8f76261ec1ebbf5465909454d845bd4060256..d554a3bf46ef0401cdda250a77d6a4449ef0c14f 100644 --- a/src/mol-model/structure/query/selection.ts +++ b/src/mol-model/structure/query/selection.ts @@ -36,7 +36,7 @@ namespace Selection { } export function toLoci(sel: Selection): Element.Loci { - const loci: { unit: Unit, indices: Element.Indices }[] = []; + const loci: { unit: Unit, indices: OrderedSet<Element.Index> }[] = []; const { unitMap } = sel.source; for (const unit of unionStructure(sel).units) { diff --git a/src/mol-model/structure/structure/element.ts b/src/mol-model/structure/structure/element.ts index c9add11f99f5cc42cc12c33edfc24cf1f6344719..819d17687ebacafb5e48a0fd4abf885876b9d9a1 100644 --- a/src/mol-model/structure/structure/element.ts +++ b/src/mol-model/structure/structure/element.ts @@ -15,7 +15,6 @@ namespace Element { /** Index into Unit.elements */ export type Index = { readonly '@type': 'element-index' } & number - export type Indices = OrderedSet<Index> /** All the information required to access element properties */ export interface Location<U = Unit> { @@ -48,11 +47,11 @@ namespace Element { * Indices into the unit.elements array. * Can use OrderedSet.forEach to iterate (or OrderedSet.size + OrderedSet.getAt) */ - indices: Indices + indices: OrderedSet<Index> }> } - export function Loci(elements: ArrayLike<{ unit: Unit, indices: Indices }>): Loci { + export function Loci(elements: ArrayLike<{ unit: Unit, indices: OrderedSet<Index> }>): Loci { return { kind: 'element-loci', elements: elements as Loci['elements'] }; }