@jbrowse/plugin-legacy-jbrowse 1.7.9 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/JBrowse1Connection/configSchema.js +18 -28
- package/dist/JBrowse1Connection/configSchema.js.map +1 -0
- package/dist/JBrowse1Connection/index.js +10 -22
- package/dist/JBrowse1Connection/index.js.map +1 -0
- package/dist/JBrowse1Connection/jb1ConfigLoad.js +387 -501
- package/dist/JBrowse1Connection/jb1ConfigLoad.js.map +1 -0
- package/dist/JBrowse1Connection/jb1ConfigParse.js +414 -435
- package/dist/JBrowse1Connection/jb1ConfigParse.js.map +1 -0
- package/dist/JBrowse1Connection/jb1ToJb2.js +405 -546
- package/dist/JBrowse1Connection/jb1ToJb2.js.map +1 -0
- package/dist/JBrowse1Connection/model.js +49 -57
- package/dist/JBrowse1Connection/model.js.map +1 -0
- package/dist/JBrowse1Connection/types.js +2 -4
- package/dist/JBrowse1Connection/types.js.map +1 -0
- package/dist/JBrowse1Connection/util.js +123 -130
- package/dist/JBrowse1Connection/util.js.map +1 -0
- package/dist/JBrowse1TextSeachAdapter/HttpMap.js +181 -326
- package/dist/JBrowse1TextSeachAdapter/HttpMap.js.map +1 -0
- package/dist/JBrowse1TextSeachAdapter/JBrowse1TextSearchAdapter.js +164 -185
- package/dist/JBrowse1TextSeachAdapter/JBrowse1TextSearchAdapter.js.map +1 -0
- package/dist/JBrowse1TextSeachAdapter/configSchema.js +20 -33
- package/dist/JBrowse1TextSeachAdapter/configSchema.js.map +1 -0
- package/dist/JBrowse1TextSeachAdapter/index.js +10 -22
- package/dist/JBrowse1TextSeachAdapter/index.js.map +1 -0
- package/dist/NCListAdapter/NCListAdapter.js +164 -224
- package/dist/NCListAdapter/NCListAdapter.js.map +1 -0
- package/dist/NCListAdapter/NCListFeature.js +68 -125
- package/dist/NCListAdapter/NCListFeature.js.map +1 -0
- package/dist/NCListAdapter/configSchema.js +17 -26
- package/dist/NCListAdapter/configSchema.js.map +1 -0
- package/dist/NCListAdapter/index.js +8 -14
- package/dist/NCListAdapter/index.js.map +1 -0
- package/dist/index.js +97 -116
- package/dist/index.js.map +1 -0
- package/esm/JBrowse1Connection/configSchema.d.ts +2 -0
- package/esm/JBrowse1Connection/configSchema.js +18 -0
- package/esm/JBrowse1Connection/configSchema.js.map +1 -0
- package/esm/JBrowse1Connection/index.d.ts +2 -0
- package/esm/JBrowse1Connection/index.js +3 -0
- package/esm/JBrowse1Connection/index.js.map +1 -0
- package/esm/JBrowse1Connection/jb1ConfigLoad.d.ts +36 -0
- package/esm/JBrowse1Connection/jb1ConfigLoad.js +281 -0
- package/esm/JBrowse1Connection/jb1ConfigLoad.js.map +1 -0
- package/esm/JBrowse1Connection/jb1ConfigParse.d.ts +11 -0
- package/esm/JBrowse1Connection/jb1ConfigParse.js +377 -0
- package/esm/JBrowse1Connection/jb1ConfigParse.js.map +1 -0
- package/esm/JBrowse1Connection/jb1ToJb2.d.ts +49 -0
- package/esm/JBrowse1Connection/jb1ToJb2.js +424 -0
- package/esm/JBrowse1Connection/jb1ToJb2.js.map +1 -0
- package/esm/JBrowse1Connection/model.d.ts +15 -0
- package/esm/JBrowse1Connection/model.js +44 -0
- package/esm/JBrowse1Connection/model.js.map +1 -0
- package/esm/JBrowse1Connection/types.d.ts +91 -0
- package/esm/JBrowse1Connection/types.js +2 -0
- package/esm/JBrowse1Connection/types.js.map +1 -0
- package/esm/JBrowse1Connection/util.d.ts +26 -0
- package/esm/JBrowse1Connection/util.js +136 -0
- package/esm/JBrowse1Connection/util.js.map +1 -0
- package/esm/JBrowse1TextSeachAdapter/HttpMap.d.ts +39 -0
- package/esm/JBrowse1TextSeachAdapter/HttpMap.js +89 -0
- package/esm/JBrowse1TextSeachAdapter/HttpMap.js.map +1 -0
- package/esm/JBrowse1TextSeachAdapter/JBrowse1TextSearchAdapter.d.ts +33 -0
- package/esm/JBrowse1TextSeachAdapter/JBrowse1TextSearchAdapter.js +67 -0
- package/esm/JBrowse1TextSeachAdapter/JBrowse1TextSearchAdapter.js.map +1 -0
- package/esm/JBrowse1TextSeachAdapter/configSchema.d.ts +2 -0
- package/esm/JBrowse1TextSeachAdapter/configSchema.js +20 -0
- package/esm/JBrowse1TextSeachAdapter/configSchema.js.map +1 -0
- package/esm/JBrowse1TextSeachAdapter/index.d.ts +2 -0
- package/esm/JBrowse1TextSeachAdapter/index.js +3 -0
- package/esm/JBrowse1TextSeachAdapter/index.js.map +1 -0
- package/esm/NCListAdapter/NCListAdapter.d.ts +31 -0
- package/esm/NCListAdapter/NCListAdapter.js +62 -0
- package/esm/NCListAdapter/NCListAdapter.js.map +1 -0
- package/esm/NCListAdapter/NCListFeature.d.ts +31 -0
- package/esm/NCListAdapter/NCListFeature.js +78 -0
- package/esm/NCListAdapter/NCListFeature.js.map +1 -0
- package/esm/NCListAdapter/configSchema.d.ts +2 -0
- package/esm/NCListAdapter/configSchema.js +16 -0
- package/esm/NCListAdapter/configSchema.js.map +1 -0
- package/esm/NCListAdapter/index.d.ts +1 -0
- package/esm/NCListAdapter/index.js +2 -0
- package/esm/NCListAdapter/index.js.map +1 -0
- package/esm/index.d.ts +6 -0
- package/esm/index.js +50 -0
- package/esm/index.js.map +1 -0
- package/package.json +15 -6
- package/dist/JBrowse1TextSeachAdapter/HttpMap.test.js +0 -118
- package/dist/JBrowse1TextSeachAdapter/JBrowse1TextSearchAdapter.test.js +0 -98
- package/dist/NCListAdapter/NCListAdapter.test.js +0 -108
- package/dist/declare.d.js +0 -1
- package/dist/index.test.js +0 -44
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Feature, SimpleFeatureSerialized } from '@jbrowse/core/util/simpleFeature';
|
|
2
|
+
/**
|
|
3
|
+
* wrapper to adapt nclist features to act like jbrowse 2 features
|
|
4
|
+
*/
|
|
5
|
+
export default class NCListFeature implements Feature {
|
|
6
|
+
private ncFeature;
|
|
7
|
+
private parentHandle?;
|
|
8
|
+
private uniqueId;
|
|
9
|
+
constructor(ncFeature: any, parent?: Feature, id?: string);
|
|
10
|
+
set(): void;
|
|
11
|
+
jb2TagToJb1Tag(tag: string): string;
|
|
12
|
+
jb1TagToJb2Tag(tag: string): string;
|
|
13
|
+
get(attrName: string): any;
|
|
14
|
+
/**
|
|
15
|
+
* Get an array listing which data keys are present in this feature.
|
|
16
|
+
*/
|
|
17
|
+
tags(): string[];
|
|
18
|
+
/**
|
|
19
|
+
* Get the unique ID of this feature.
|
|
20
|
+
*/
|
|
21
|
+
id(): string;
|
|
22
|
+
/**
|
|
23
|
+
* Get this feature's parent feature, or undefined if none.
|
|
24
|
+
*/
|
|
25
|
+
parent(): Feature | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Get an array of child features, or undefined if none.
|
|
28
|
+
*/
|
|
29
|
+
children(): Feature[] | undefined;
|
|
30
|
+
toJSON(): SimpleFeatureSerialized;
|
|
31
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
const jb2ToJb1 = { refName: 'seq_id' };
|
|
2
|
+
const jb1ToJb2 = { seq_id: 'refName' };
|
|
3
|
+
/**
|
|
4
|
+
* wrapper to adapt nclist features to act like jbrowse 2 features
|
|
5
|
+
*/
|
|
6
|
+
export default class NCListFeature {
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
8
|
+
constructor(ncFeature, parent, id) {
|
|
9
|
+
this.ncFeature = ncFeature;
|
|
10
|
+
this.uniqueId = id || ncFeature.id();
|
|
11
|
+
this.parentHandle = parent;
|
|
12
|
+
}
|
|
13
|
+
set() {
|
|
14
|
+
throw new Error('not implemented');
|
|
15
|
+
}
|
|
16
|
+
jb2TagToJb1Tag(tag) {
|
|
17
|
+
// @ts-ignore
|
|
18
|
+
const mapped = jb2ToJb1[tag] || tag;
|
|
19
|
+
return mapped.toLowerCase();
|
|
20
|
+
}
|
|
21
|
+
jb1TagToJb2Tag(tag) {
|
|
22
|
+
const t = tag.toLowerCase();
|
|
23
|
+
// @ts-ignore
|
|
24
|
+
const mapped = jb1ToJb2[t] || t;
|
|
25
|
+
return mapped;
|
|
26
|
+
}
|
|
27
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
28
|
+
get(attrName) {
|
|
29
|
+
const attr = this.ncFeature.get(this.jb2TagToJb1Tag(attrName));
|
|
30
|
+
if (attr && attrName === 'subfeatures') {
|
|
31
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
32
|
+
return attr.map((subfeature) => new NCListFeature(subfeature, this));
|
|
33
|
+
}
|
|
34
|
+
return attr;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Get an array listing which data keys are present in this feature.
|
|
38
|
+
*/
|
|
39
|
+
tags() {
|
|
40
|
+
return this.ncFeature.tags().map((t) => this.jb1TagToJb2Tag(t));
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Get the unique ID of this feature.
|
|
44
|
+
*/
|
|
45
|
+
id() {
|
|
46
|
+
return this.uniqueId;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Get this feature's parent feature, or undefined if none.
|
|
50
|
+
*/
|
|
51
|
+
parent() {
|
|
52
|
+
return this.parentHandle;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Get an array of child features, or undefined if none.
|
|
56
|
+
*/
|
|
57
|
+
children() {
|
|
58
|
+
return this.get('subfeatures');
|
|
59
|
+
}
|
|
60
|
+
toJSON() {
|
|
61
|
+
const data = { uniqueId: this.id() };
|
|
62
|
+
this.ncFeature.tags().forEach((tag) => {
|
|
63
|
+
const mappedTag = this.jb1TagToJb2Tag(tag);
|
|
64
|
+
const value = this.ncFeature.get(tag);
|
|
65
|
+
if (mappedTag === 'subfeatures') {
|
|
66
|
+
data.subfeatures = (value || []).map((f) => {
|
|
67
|
+
// note: was new NCListFeature(f, `${this.id()}-${i}`, this).toJSON()
|
|
68
|
+
return new NCListFeature(f, this).toJSON();
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
data[mappedTag] = value;
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
return data;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=NCListFeature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NCListFeature.js","sourceRoot":"","sources":["../../src/NCListAdapter/NCListFeature.ts"],"names":[],"mappings":"AAKA,MAAM,QAAQ,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAA;AAEtC,MAAM,QAAQ,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;AAEtC;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IAKhC,8DAA8D;IAC9D,YAAoB,SAAc,EAAE,MAAgB,EAAE,EAAW;QAA7C,cAAS,GAAT,SAAS,CAAK;QAChC,IAAI,CAAC,QAAQ,GAAG,EAAE,IAAI,SAAS,CAAC,EAAE,EAAE,CAAA;QACpC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAA;IAC5B,CAAC;IAED,GAAG;QACD,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IACpC,CAAC;IAED,cAAc,CAAC,GAAW;QACxB,aAAa;QACb,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAA;QACnC,OAAO,MAAM,CAAC,WAAW,EAAE,CAAA;IAC7B,CAAC;IAED,cAAc,CAAC,GAAW;QACxB,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;QAC3B,aAAa;QACb,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAC/B,OAAO,MAAM,CAAA;IACf,CAAC;IAED,8DAA8D;IAC9D,GAAG,CAAC,QAAgB;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC9D,IAAI,IAAI,IAAI,QAAQ,KAAK,aAAa,EAAE;YACtC,8DAA8D;YAC9D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,UAAe,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAA;SAC1E;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;IACzE,CAAC;IAED;;OAEG;IACH,EAAE;QACA,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IAChC,CAAC;IAED,MAAM;QACJ,MAAM,IAAI,GAA4B,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAA;QAC7D,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,GAAW,EAAE,EAAE;YAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;YAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACrC,IAAI,SAAS,KAAK,aAAa,EAAE;gBAC/B,IAAI,CAAC,WAAW,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAU,EAAE,EAAE;oBAClD,qEAAqE;oBACrE,OAAO,IAAI,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,CAAA;gBAC5C,CAAC,CAAC,CAAA;aACH;iBAAM;gBACL,IAAI,CAAC,SAAS,CAAC,GAAG,KAAK,CAAA;aACxB;QACH,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ConfigurationSchema } from '@jbrowse/core/configuration';
|
|
2
|
+
export default ConfigurationSchema('NCListAdapter', {
|
|
3
|
+
rootUrlTemplate: {
|
|
4
|
+
type: 'fileLocation',
|
|
5
|
+
defaultValue: {
|
|
6
|
+
uri: '/path/to/my/{refseq}/trackData.json',
|
|
7
|
+
locationType: 'UriLocation',
|
|
8
|
+
},
|
|
9
|
+
},
|
|
10
|
+
refNames: {
|
|
11
|
+
type: 'stringArray',
|
|
12
|
+
defaultValue: [],
|
|
13
|
+
description: 'List of refNames used by the NCList used for aliasing',
|
|
14
|
+
},
|
|
15
|
+
}, { explicitlyTyped: true });
|
|
16
|
+
//# sourceMappingURL=configSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../../src/NCListAdapter/configSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAEjE,eAAe,mBAAmB,CAChC,eAAe,EACf;IACE,eAAe,EAAE;QACf,IAAI,EAAE,cAAc;QACpB,YAAY,EAAE;YACZ,GAAG,EAAE,qCAAqC;YAC1C,YAAY,EAAE,aAAa;SAC5B;KACF;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,aAAa;QACnB,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,uDAAuD;KACrE;CACF,EACD,EAAE,eAAe,EAAE,IAAI,EAAE,CAC1B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as configSchema } from './configSchema';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/NCListAdapter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA"}
|
package/esm/index.d.ts
ADDED
package/esm/index.js
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import AdapterType from '@jbrowse/core/pluggableElementTypes/AdapterType';
|
|
2
|
+
import TextSearchAdapterType from '@jbrowse/core/pluggableElementTypes/TextSearchAdapterType';
|
|
3
|
+
import ConnectionType from '@jbrowse/core/pluggableElementTypes/ConnectionType';
|
|
4
|
+
import Plugin from '@jbrowse/core/Plugin';
|
|
5
|
+
import { configSchema as ncListAdapterConfigSchema } from './NCListAdapter';
|
|
6
|
+
import { AdapterClass as JBrowse1TextSearchAdapterClass, configSchema as jbrowse1AdapterConfigSchema, } from './JBrowse1TextSeachAdapter';
|
|
7
|
+
import { getFileName } from '@jbrowse/core/util/tracks';
|
|
8
|
+
import { configSchema as jbrowse1ConfigSchema, modelFactory as jbrowse1ModelFactory, } from './JBrowse1Connection';
|
|
9
|
+
export default class LegacyJBrowsePlugin extends Plugin {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.name = 'LegacyJBrowsePlugin';
|
|
13
|
+
}
|
|
14
|
+
install(pluginManager) {
|
|
15
|
+
pluginManager.addAdapterType(() => new AdapterType({
|
|
16
|
+
name: 'NCListAdapter',
|
|
17
|
+
configSchema: ncListAdapterConfigSchema,
|
|
18
|
+
getAdapterClass: () => import('./NCListAdapter/NCListAdapter').then(r => r.default),
|
|
19
|
+
}));
|
|
20
|
+
pluginManager.addToExtensionPoint('Core-guessAdapterForLocation', (adapterGuesser) => {
|
|
21
|
+
return (file, index, adapterHint) => {
|
|
22
|
+
const regexGuess = /trackData.jsonz?$/i;
|
|
23
|
+
const adapterName = 'NCListAdapter';
|
|
24
|
+
const fileName = getFileName(file);
|
|
25
|
+
if (regexGuess.test(fileName) || adapterHint === adapterName) {
|
|
26
|
+
return {
|
|
27
|
+
type: adapterName,
|
|
28
|
+
rootUrlTemplate: file,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
return adapterGuesser(file, index, adapterHint);
|
|
32
|
+
};
|
|
33
|
+
});
|
|
34
|
+
pluginManager.addTextSearchAdapterType(() => new TextSearchAdapterType({
|
|
35
|
+
name: 'JBrowse1TextSearchAdapter',
|
|
36
|
+
configSchema: jbrowse1AdapterConfigSchema,
|
|
37
|
+
AdapterClass: JBrowse1TextSearchAdapterClass,
|
|
38
|
+
description: 'A JBrowse 1 text search adapter',
|
|
39
|
+
}));
|
|
40
|
+
pluginManager.addConnectionType(() => new ConnectionType({
|
|
41
|
+
name: 'JBrowse1Connection',
|
|
42
|
+
configSchema: jbrowse1ConfigSchema,
|
|
43
|
+
stateModel: jbrowse1ModelFactory(pluginManager),
|
|
44
|
+
displayName: 'JBrowse 1 Data',
|
|
45
|
+
description: 'A JBrowse 1 data directory',
|
|
46
|
+
url: '//jbrowse.org/',
|
|
47
|
+
}));
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=index.js.map
|
package/esm/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,iDAAiD,CAAA;AACzE,OAAO,qBAAqB,MAAM,2DAA2D,CAAA;AAC7F,OAAO,cAAc,MAAM,oDAAoD,CAAA;AAC/E,OAAO,MAAM,MAAM,sBAAsB,CAAA;AAGzC,OAAO,EAAE,YAAY,IAAI,yBAAyB,EAAE,MAAM,iBAAiB,CAAA;AAC3E,OAAO,EACL,YAAY,IAAI,8BAA8B,EAC9C,YAAY,IAAI,2BAA2B,GAC5C,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAkB,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAEvE,OAAO,EACL,YAAY,IAAI,oBAAoB,EACpC,YAAY,IAAI,oBAAoB,GACrC,MAAM,sBAAsB,CAAA;AAE7B,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,MAAM;IAAvD;;QACE,SAAI,GAAG,qBAAqB,CAAA;IAwD9B,CAAC;IAtDC,OAAO,CAAC,aAA4B;QAClC,aAAa,CAAC,cAAc,CAC1B,GAAG,EAAE,CACH,IAAI,WAAW,CAAC;YACd,IAAI,EAAE,eAAe;YACrB,YAAY,EAAE,yBAAyB;YACvC,eAAe,EAAE,GAAG,EAAE,CACpB,MAAM,CAAC,+BAA+B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;SAC/D,CAAC,CACL,CAAA;QACD,aAAa,CAAC,mBAAmB,CAC/B,8BAA8B,EAC9B,CAAC,cAA8B,EAAE,EAAE;YACjC,OAAO,CACL,IAAkB,EAClB,KAAoB,EACpB,WAAoB,EACpB,EAAE;gBACF,MAAM,UAAU,GAAG,oBAAoB,CAAA;gBACvC,MAAM,WAAW,GAAG,eAAe,CAAA;gBACnC,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;gBAClC,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,WAAW,KAAK,WAAW,EAAE;oBAC5D,OAAO;wBACL,IAAI,EAAE,WAAW;wBACjB,eAAe,EAAE,IAAI;qBACtB,CAAA;iBACF;gBACD,OAAO,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAA;YACjD,CAAC,CAAA;QACH,CAAC,CACF,CAAA;QAED,aAAa,CAAC,wBAAwB,CACpC,GAAG,EAAE,CACH,IAAI,qBAAqB,CAAC;YACxB,IAAI,EAAE,2BAA2B;YACjC,YAAY,EAAE,2BAA2B;YACzC,YAAY,EAAE,8BAA8B;YAC5C,WAAW,EAAE,iCAAiC;SAC/C,CAAC,CACL,CAAA;QAED,aAAa,CAAC,iBAAiB,CAC7B,GAAG,EAAE,CACH,IAAI,cAAc,CAAC;YACjB,IAAI,EAAE,oBAAoB;YAC1B,YAAY,EAAE,oBAAoB;YAClC,UAAU,EAAE,oBAAoB,CAAC,aAAa,CAAC;YAC/C,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EAAE,4BAA4B;YACzC,GAAG,EAAE,gBAAgB;SACtB,CAAC,CACL,CAAA;IACH,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jbrowse/plugin-legacy-jbrowse",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "JBrowse 2 plugin for connecting to and reading JBrowse 1 data",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jbrowse",
|
|
@@ -20,17 +20,21 @@
|
|
|
20
20
|
"main": "dist/index.js",
|
|
21
21
|
"files": [
|
|
22
22
|
"dist",
|
|
23
|
-
"src"
|
|
23
|
+
"src",
|
|
24
|
+
"esm"
|
|
24
25
|
],
|
|
25
26
|
"scripts": {
|
|
26
|
-
"build": "
|
|
27
|
+
"build": "npm-run-all build:*",
|
|
27
28
|
"test": "cd ../..; jest plugins/legacy-jbrowse",
|
|
28
29
|
"prepublishOnly": "yarn test",
|
|
29
30
|
"prepack": "yarn build; yarn useDist",
|
|
30
31
|
"postpack": "yarn useSrc",
|
|
31
32
|
"useDist": "node ../../scripts/useDist.js",
|
|
32
33
|
"useSrc": "node ../../scripts/useSrc.js",
|
|
33
|
-
"
|
|
34
|
+
"prebuild": "npm run clean",
|
|
35
|
+
"build:esm": "tsc --build tsconfig.build.esm.json",
|
|
36
|
+
"build:es5": "tsc --build tsconfig.build.es5.json",
|
|
37
|
+
"clean": "rimraf dist esm *.tsbuildinfo"
|
|
34
38
|
},
|
|
35
39
|
"dependencies": {
|
|
36
40
|
"@babel/runtime": "^7.17.9",
|
|
@@ -42,11 +46,16 @@
|
|
|
42
46
|
},
|
|
43
47
|
"peerDependencies": {
|
|
44
48
|
"@jbrowse/core": "^1.0.0",
|
|
45
|
-
"mobx
|
|
49
|
+
"mobx": "^6.0.0",
|
|
50
|
+
"mobx-react": "^7.0.0",
|
|
51
|
+
"mobx-state-tree": "^5.0.0",
|
|
46
52
|
"rxjs": "^6.0.0"
|
|
47
53
|
},
|
|
48
54
|
"publishConfig": {
|
|
49
55
|
"access": "public"
|
|
50
56
|
},
|
|
51
|
-
"
|
|
57
|
+
"distModule": "esm/index.js",
|
|
58
|
+
"srcModule": "src/index.ts",
|
|
59
|
+
"module": "esm/index.js",
|
|
60
|
+
"gitHead": "ecc7f5d47351a5ea04bc00f3a6eb6dfb607342e6"
|
|
52
61
|
}
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
6
|
-
|
|
7
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
8
|
-
|
|
9
|
-
var _path = _interopRequireDefault(require("path"));
|
|
10
|
-
|
|
11
|
-
var _meta = _interopRequireDefault(require("../../test_data/names/meta.json"));
|
|
12
|
-
|
|
13
|
-
var _ = _interopRequireDefault(require("../../test_data/names/0.json"));
|
|
14
|
-
|
|
15
|
-
var _f = _interopRequireDefault(require("../../test_data/names/f.json"));
|
|
16
|
-
|
|
17
|
-
var _HttpMap = _interopRequireDefault(require("./HttpMap"));
|
|
18
|
-
|
|
19
|
-
describe('test JBrowse1 hash implementation', function () {
|
|
20
|
-
test('read from meta', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
21
|
-
var mockFetch, rootTemplate, spy, hashMap;
|
|
22
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
23
|
-
while (1) {
|
|
24
|
-
switch (_context.prev = _context.next) {
|
|
25
|
-
case 0:
|
|
26
|
-
mockFetch = function _mockFetch(url) {
|
|
27
|
-
var response = {};
|
|
28
|
-
|
|
29
|
-
if (url.includes('names/meta.json')) {
|
|
30
|
-
response = _meta.default;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
return Promise.resolve(new Response(JSON.stringify(response)));
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
rootTemplate = _path.default.join(__dirname, '..', '..', '..', '..', 'test_data', 'names').replace(/\\/g, '\\\\');
|
|
37
|
-
spy = jest.spyOn(global, 'fetch'); // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
38
|
-
|
|
39
|
-
spy.mockImplementation(mockFetch);
|
|
40
|
-
hashMap = new _HttpMap.default({
|
|
41
|
-
url: rootTemplate
|
|
42
|
-
});
|
|
43
|
-
_context.next = 7;
|
|
44
|
-
return hashMap.getBucket('apple');
|
|
45
|
-
|
|
46
|
-
case 7:
|
|
47
|
-
_context.t0 = expect;
|
|
48
|
-
_context.next = 10;
|
|
49
|
-
return hashMap.getHashHexCharacters();
|
|
50
|
-
|
|
51
|
-
case 10:
|
|
52
|
-
_context.t1 = _context.sent;
|
|
53
|
-
(0, _context.t0)(_context.t1).toBe(1);
|
|
54
|
-
_context.t2 = expect;
|
|
55
|
-
_context.next = 15;
|
|
56
|
-
return hashMap.getCompress();
|
|
57
|
-
|
|
58
|
-
case 15:
|
|
59
|
-
_context.t3 = _context.sent;
|
|
60
|
-
(0, _context.t2)(_context.t3).toBe(0);
|
|
61
|
-
|
|
62
|
-
case 17:
|
|
63
|
-
case "end":
|
|
64
|
-
return _context.stop();
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}, _callee);
|
|
68
|
-
})));
|
|
69
|
-
test('get bucket contents', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
70
|
-
var mockFetch, rootTemplate, spy, hashMap;
|
|
71
|
-
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
72
|
-
while (1) {
|
|
73
|
-
switch (_context2.prev = _context2.next) {
|
|
74
|
-
case 0:
|
|
75
|
-
mockFetch = function _mockFetch2(url) {
|
|
76
|
-
var response = {};
|
|
77
|
-
|
|
78
|
-
if (url.includes('names/meta.json')) {
|
|
79
|
-
response = _meta.default;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
if (url.includes('names/0.json')) {
|
|
83
|
-
response = _.default;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
if (url.includes('names/f.json')) {
|
|
87
|
-
response = _f.default;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
return Promise.resolve(new Response(JSON.stringify(response)));
|
|
91
|
-
};
|
|
92
|
-
|
|
93
|
-
rootTemplate = _path.default.join(__dirname, '..', '..', '..', '..', 'test_data', 'names').replace(/\\/g, '\\\\');
|
|
94
|
-
spy = jest.spyOn(global, 'fetch'); // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
95
|
-
|
|
96
|
-
spy.mockImplementation(mockFetch);
|
|
97
|
-
hashMap = new _HttpMap.default({
|
|
98
|
-
url: rootTemplate
|
|
99
|
-
});
|
|
100
|
-
_context2.next = 7;
|
|
101
|
-
return hashMap.getBucket('apple');
|
|
102
|
-
|
|
103
|
-
case 7:
|
|
104
|
-
expect(spy).toHaveBeenLastCalledWith("".concat(rootTemplate, "/0.json"));
|
|
105
|
-
_context2.next = 10;
|
|
106
|
-
return hashMap.getBucket('apple3');
|
|
107
|
-
|
|
108
|
-
case 10:
|
|
109
|
-
expect(spy).toHaveBeenLastCalledWith("".concat(rootTemplate, "/f.json"));
|
|
110
|
-
|
|
111
|
-
case 11:
|
|
112
|
-
case "end":
|
|
113
|
-
return _context2.stop();
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}, _callee2);
|
|
117
|
-
})));
|
|
118
|
-
});
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
6
|
-
|
|
7
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
8
|
-
|
|
9
|
-
var _BaseResults = _interopRequireDefault(require("@jbrowse/core/TextSearch/BaseResults"));
|
|
10
|
-
|
|
11
|
-
var _path = _interopRequireDefault(require("path"));
|
|
12
|
-
|
|
13
|
-
var _meta = _interopRequireDefault(require("../../test_data/names/meta.json"));
|
|
14
|
-
|
|
15
|
-
var _ = _interopRequireDefault(require("../../test_data/names/0.json"));
|
|
16
|
-
|
|
17
|
-
var _f = _interopRequireDefault(require("../../test_data/names/f.json"));
|
|
18
|
-
|
|
19
|
-
var _JBrowse1TextSearchAdapter = _interopRequireDefault(require("./JBrowse1TextSearchAdapter"));
|
|
20
|
-
|
|
21
|
-
var _configSchema = _interopRequireDefault(require("./configSchema"));
|
|
22
|
-
|
|
23
|
-
test('adapter can fetch files from names index', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
24
|
-
var mockFetch, rootTemplate, spy, urlPath, args, adapter, results, results2, test2;
|
|
25
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
26
|
-
while (1) {
|
|
27
|
-
switch (_context.prev = _context.next) {
|
|
28
|
-
case 0:
|
|
29
|
-
mockFetch = function _mockFetch(url) {
|
|
30
|
-
var response = {};
|
|
31
|
-
|
|
32
|
-
if (url.includes('names/meta.json')) {
|
|
33
|
-
response = _meta.default;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
if (url.includes('names/0.json')) {
|
|
37
|
-
response = _.default;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
if (url.includes('names/f.json')) {
|
|
41
|
-
response = _f.default;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
return Promise.resolve(new Response(JSON.stringify(response)));
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
rootTemplate = _path.default.join(__dirname, '..', '..', '..', '..', 'test_data', 'names').replace(/\\/g, '\\\\');
|
|
48
|
-
spy = jest.spyOn(global, 'fetch'); // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
49
|
-
|
|
50
|
-
spy.mockImplementation(mockFetch);
|
|
51
|
-
urlPath = decodeURI(new URL("file://".concat(rootTemplate)).href);
|
|
52
|
-
args = {
|
|
53
|
-
type: 'JBrowse1TextSearchAdapter',
|
|
54
|
-
textSearchAdapterId: 'JBrowse1GenerateNamesAdapterTest',
|
|
55
|
-
namesIndexLocation: {
|
|
56
|
-
uri: urlPath,
|
|
57
|
-
locationType: 'UriLocation'
|
|
58
|
-
}
|
|
59
|
-
}; // create adapter
|
|
60
|
-
|
|
61
|
-
adapter = new _JBrowse1TextSearchAdapter.default(_configSchema.default.create(args)); // prefix search
|
|
62
|
-
|
|
63
|
-
_context.next = 9;
|
|
64
|
-
return adapter.searchIndex({
|
|
65
|
-
searchType: 'prefix',
|
|
66
|
-
queryString: 'apple'
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
case 9:
|
|
70
|
-
results = _context.sent;
|
|
71
|
-
// check results are of type BaseResult for prefix search
|
|
72
|
-
expect(results[0] instanceof _BaseResults.default).toBeTruthy();
|
|
73
|
-
expect(results[0].getLabel()).toEqual('Apple1');
|
|
74
|
-
expect(results[1].getLabel()).toEqual('Apple2');
|
|
75
|
-
expect(results[2].getLabel()).toEqual('Apple3'); // exact search
|
|
76
|
-
|
|
77
|
-
_context.next = 16;
|
|
78
|
-
return adapter.searchIndex({
|
|
79
|
-
searchType: 'exact',
|
|
80
|
-
queryString: 'apple3'
|
|
81
|
-
});
|
|
82
|
-
|
|
83
|
-
case 16:
|
|
84
|
-
results2 = _context.sent;
|
|
85
|
-
// check results are of type location for exact search
|
|
86
|
-
expect(results2.length).toEqual(5);
|
|
87
|
-
test2 = results2[0];
|
|
88
|
-
expect(test2 instanceof _BaseResults.default).toBeTruthy();
|
|
89
|
-
expect(test2.getLabel()).toEqual('Apple3');
|
|
90
|
-
expect(test2.getLocation()).toEqual('ctgA:17399-23000');
|
|
91
|
-
|
|
92
|
-
case 22:
|
|
93
|
-
case "end":
|
|
94
|
-
return _context.stop();
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}, _callee);
|
|
98
|
-
})));
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
6
|
-
|
|
7
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
8
|
-
|
|
9
|
-
var _fs = require("fs");
|
|
10
|
-
|
|
11
|
-
var _path = _interopRequireDefault(require("path"));
|
|
12
|
-
|
|
13
|
-
var _url = require("url");
|
|
14
|
-
|
|
15
|
-
var _operators = require("rxjs/operators");
|
|
16
|
-
|
|
17
|
-
var _NCListAdapter = _interopRequireDefault(require("./NCListAdapter"));
|
|
18
|
-
|
|
19
|
-
var _configSchema = _interopRequireDefault(require("./configSchema"));
|
|
20
|
-
|
|
21
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
22
|
-
|
|
23
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
24
|
-
|
|
25
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
26
|
-
|
|
27
|
-
test('adapter can fetch features from ensembl_genes test set', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
28
|
-
var rootTemplate, args, adapter, features, featuresArray, featuresJsonArray, _iterator, _step, feature;
|
|
29
|
-
|
|
30
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
31
|
-
while (1) {
|
|
32
|
-
switch (_context.prev = _context.next) {
|
|
33
|
-
case 0:
|
|
34
|
-
rootTemplate = _path.default.join(__dirname, '..', '..', 'test_data', 'ensembl_genes', '{refseq}', 'trackData.json').replace(/\\/g, '\\\\');
|
|
35
|
-
_context.next = 3;
|
|
36
|
-
return _fs.promises.stat(rootTemplate.replace('{refseq}', '21'));
|
|
37
|
-
|
|
38
|
-
case 3:
|
|
39
|
-
// will throw if doesnt exist
|
|
40
|
-
args = {
|
|
41
|
-
refNames: [],
|
|
42
|
-
rootUrlTemplate: {
|
|
43
|
-
uri: decodeURI(new _url.URL("file://".concat(rootTemplate)).href),
|
|
44
|
-
locationType: 'UriLocation'
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
adapter = new _NCListAdapter.default(_configSchema.default.create(args));
|
|
48
|
-
features = adapter.getFeatures({
|
|
49
|
-
assemblyName: 'volvox',
|
|
50
|
-
refName: '21',
|
|
51
|
-
start: 34960388,
|
|
52
|
-
end: 35960388
|
|
53
|
-
});
|
|
54
|
-
_context.next = 8;
|
|
55
|
-
return features.pipe((0, _operators.toArray)()).toPromise();
|
|
56
|
-
|
|
57
|
-
case 8:
|
|
58
|
-
featuresArray = _context.sent;
|
|
59
|
-
expect(featuresArray[0].get('refName')).toBe('21');
|
|
60
|
-
expect(featuresArray[0].id()).toBe("test-21,0,0,19,22,0");
|
|
61
|
-
featuresJsonArray = featuresArray.map(function (f) {
|
|
62
|
-
return f.toJSON();
|
|
63
|
-
});
|
|
64
|
-
expect(featuresJsonArray.length).toEqual(94);
|
|
65
|
-
_iterator = _createForOfIteratorHelper(featuresJsonArray);
|
|
66
|
-
|
|
67
|
-
try {
|
|
68
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
69
|
-
feature = _step.value;
|
|
70
|
-
expect(feature).toMatchSnapshot({
|
|
71
|
-
uniqueId: expect.any(String)
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
} catch (err) {
|
|
75
|
-
_iterator.e(err);
|
|
76
|
-
} finally {
|
|
77
|
-
_iterator.f();
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
_context.t0 = expect;
|
|
81
|
-
_context.next = 18;
|
|
82
|
-
return adapter.hasDataForRefName('ctgA');
|
|
83
|
-
|
|
84
|
-
case 18:
|
|
85
|
-
_context.t1 = _context.sent;
|
|
86
|
-
(0, _context.t0)(_context.t1).toBe(false);
|
|
87
|
-
_context.t2 = expect;
|
|
88
|
-
_context.next = 23;
|
|
89
|
-
return adapter.hasDataForRefName('21');
|
|
90
|
-
|
|
91
|
-
case 23:
|
|
92
|
-
_context.t3 = _context.sent;
|
|
93
|
-
(0, _context.t2)(_context.t3).toBe(true);
|
|
94
|
-
_context.t4 = expect;
|
|
95
|
-
_context.next = 28;
|
|
96
|
-
return adapter.hasDataForRefName('20');
|
|
97
|
-
|
|
98
|
-
case 28:
|
|
99
|
-
_context.t5 = _context.sent;
|
|
100
|
-
(0, _context.t4)(_context.t5).toBe(false);
|
|
101
|
-
|
|
102
|
-
case 30:
|
|
103
|
-
case "end":
|
|
104
|
-
return _context.stop();
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
}, _callee);
|
|
108
|
-
})));
|
package/dist/declare.d.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";
|
package/dist/index.test.js
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _PluginManager = _interopRequireDefault(require("@jbrowse/core/PluginManager"));
|
|
6
|
-
|
|
7
|
-
var _mobxStateTree = require("mobx-state-tree");
|
|
8
|
-
|
|
9
|
-
var _ = _interopRequireDefault(require("."));
|
|
10
|
-
|
|
11
|
-
test('plugin in a stock JBrowse', function () {
|
|
12
|
-
var originalConsoleWarn = console.warn;
|
|
13
|
-
console.warn = jest.fn();
|
|
14
|
-
var pluginManager = new _PluginManager.default([new _.default()]);
|
|
15
|
-
pluginManager.createPluggableElements();
|
|
16
|
-
pluginManager.configure();
|
|
17
|
-
console.warn = originalConsoleWarn;
|
|
18
|
-
expect(function () {
|
|
19
|
-
return pluginManager.addPlugin(new _.default());
|
|
20
|
-
}).toThrow(/JBrowse already configured, cannot add plugins/);
|
|
21
|
-
var NCListAdapter = pluginManager.getAdapterType('NCListAdapter');
|
|
22
|
-
var config = NCListAdapter.configSchema.create({
|
|
23
|
-
type: 'NCListAdapter'
|
|
24
|
-
});
|
|
25
|
-
expect((0, _mobxStateTree.getSnapshot)(config)).toMatchSnapshot();
|
|
26
|
-
});
|
|
27
|
-
test('test creating a text search adapter', function () {
|
|
28
|
-
console.warn = jest.fn();
|
|
29
|
-
var pluginManager = new _PluginManager.default([new _.default()]);
|
|
30
|
-
pluginManager.createPluggableElements();
|
|
31
|
-
pluginManager.configure();
|
|
32
|
-
var JB1TextSearchAdapter = pluginManager.getTextSearchAdapterType('JBrowse1TextSearchAdapter');
|
|
33
|
-
var config = JB1TextSearchAdapter.configSchema.create({
|
|
34
|
-
type: 'JBrowse1TextSearchAdapter',
|
|
35
|
-
textSearchAdapterId: 'JBrowse1GenerateNamesAdapterTest',
|
|
36
|
-
namesIndexLocation: {
|
|
37
|
-
uri: 'names/',
|
|
38
|
-
locationType: 'UriLocation'
|
|
39
|
-
},
|
|
40
|
-
tracks: [],
|
|
41
|
-
assemblies: []
|
|
42
|
-
});
|
|
43
|
-
expect((0, _mobxStateTree.getSnapshot)(config)).toMatchSnapshot();
|
|
44
|
-
});
|