@jbrowse/core
Version:
JBrowse 2 core libraries used by plugins
26 lines (25 loc) • 866 B
TypeScript
import PluggableElementBase from './PluggableElementBase';
import type { AnyConfigurationSchemaType } from '../configuration';
import type { AnyAdapter } from '../data_adapters/BaseAdapter';
export interface AdapterMetadata {
category?: string;
hiddenFromGUI?: boolean;
description?: string;
}
export default class AdapterType extends PluggableElementBase {
getAdapterClass: () => Promise<AnyAdapter>;
configSchema: AnyConfigurationSchemaType;
adapterCapabilities: string[];
adapterMetadata?: AdapterMetadata;
constructor(stuff: {
name: string;
configSchema: AnyConfigurationSchemaType;
displayName?: string;
adapterCapabilities?: string[];
adapterMetadata?: AdapterMetadata;
} & ({
AdapterClass: AnyAdapter;
} | {
getAdapterClass: () => Promise<AnyAdapter>;
}));
}