UNPKG

@jbrowse/core

Version:

JBrowse 2 core libraries used by plugins

45 lines (44 loc) 1.39 kB
export interface Feature { get(name: 'refName'): string; get(name: 'start' | 'end'): number; get(name: 'subfeatures'): Feature[] | undefined; get(name: string): any; id(): string; parent(): Feature | undefined; children(): Feature[] | undefined; toJSON(): SimpleFeatureSerialized; } export declare function isFeature(thing: unknown): thing is Feature; export interface SimpleFeatureArgs { data: Record<string, unknown>; parent?: Feature; id: string | number; } export interface SimpleFeatureSerializedNoId { [key: string]: unknown; parentId?: string; start: number; end: number; refName: string; type?: string; subfeatures?: SimpleFeatureSerializedNoId[]; } export interface SimpleFeatureSerialized extends SimpleFeatureSerializedNoId { subfeatures?: SimpleFeatureSerializedNoId[]; uniqueId: string; } export default class SimpleFeature implements Feature { private data; private subfeatures?; private parentHandle?; private uniqueId; constructor(args: SimpleFeatureArgs | SimpleFeatureSerialized); get(name: string): any; set(name: string, val: any): void; tags(): string[]; id(): string; parent(): Feature | undefined; children(): Feature[] | undefined; toJSON(): SimpleFeatureSerialized; static fromJSON(json: SimpleFeatureSerialized): SimpleFeature; }