@datagrok-libraries/bio 5.15.1 → 5.16.1

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/index.d.ts CHANGED
@@ -2,13 +2,12 @@ import { Aminoacids, AminoacidsPalettes } from './src/aminoacids';
2
2
  import { MonomerWorks } from './src/monomer-works/monomer-works';
3
3
  import { Nucleotides, NucleotidesPalettes } from './src/nucleotides';
4
4
  import { SeqPalette, SeqPaletteBase } from './src/seq-palettes';
5
- import { isLeaf } from './src/types';
6
5
  import { UnknownSeqPalette, UnknownSeqPalettes } from './src/unknown';
7
6
  import { DrawStyle, printLeftOrCentered } from './src/utils/cell-renderer';
8
7
  import { FastaFileHandler } from './src/utils/fasta-handler';
9
8
  import { NotationConverter } from './src/utils/notation-converter';
10
9
  import { splitAlignedSequences } from './src/utils/splitter';
11
- import { getTreeHelper, ITreeHelper } from './src/utils/tree-helper';
10
+ import { getTreeHelper, ITreeHelper } from './src/trees/tree-helper';
12
11
  import { UnitsHandler } from './src/utils/units-handler';
13
12
  import { VdRegion, VdRegionType } from './src/vd-regions';
14
13
  import { CanvasCallback, getPhylocanvasGlService, IPhylocanvasGlViewer, NodeStyleType, PhylocanvasGlServiceBase, PhylocanvasGlTask, StylesType, TreeTypesNames } from './src/viewers/phylocanvas-gl-viewer';
@@ -17,8 +16,11 @@ import { PositionHeight, PositionInfo, PositionMonomerInfo, WebLogoViewer } from
17
16
  import { MonomerLib } from './src/monomer-works/monomer-lib';
18
17
  import { readLibrary } from './src/monomer-works/monomer-utils';
19
18
  import { getNglGlService, NglGlServiceBase, NglGlTask } from './src/viewers/ngl-gl-viewer';
20
- import { parseNewick, PhylocanvasTreeNode, Shapes, TreeTypes } from './src/phylocanvas';
19
+ import { parseNewick, PhylocanvasTreeNode } from './src/trees/phylocanvas';
20
+ import { isLeaf } from './src/trees';
21
21
  export { ALIGNMENT, ALPHABET, NOTATION, TAGS, getSplitter, splitterAsFasta, getSplitterForColumn, SplitterFunc, monomerToShort, splitterAsHelm, getStats, pickUpPalette, getPaletteByType, getAlphabet, getAlphabetSimilarity } from './src/utils/macromolecule';
22
- export { IMonomerLib, Monomer, NodeType, NodeCuttedType } from './src/types';
23
- export { NotationConverter, splitAlignedSequences, SeqPalette, SeqPaletteBase, Aminoacids, AminoacidsPalettes, Nucleotides, NucleotidesPalettes, UnknownSeqPalettes, UnknownSeqPalette, PositionHeight, PositionInfo, PositionMonomerInfo, WebLogoViewer, UnitsHandler, DrawStyle, printLeftOrCentered, FastaFileHandler, VdRegionType, VdRegion, IVdRegionsViewer, isLeaf, PhylocanvasTreeNode, NodeStyleType, StylesType, IPhylocanvasGlViewer, TreeTypesNames, PhylocanvasGlServiceBase, CanvasCallback, PhylocanvasGlTask, getPhylocanvasGlService, Shapes, TreeTypes, parseNewick, ITreeHelper, getTreeHelper, getNglGlService, NglGlServiceBase, NglGlTask, MonomerWorks, MonomerLib, readLibrary };
22
+ export { IMonomerLib, Monomer } from './src/types';
23
+ export { NodeType, NodeCuttedType } from './src/trees';
24
+ export { Shapes, TreeTypes } from './src/trees/phylocanvas';
25
+ export { NotationConverter, splitAlignedSequences, SeqPalette, SeqPaletteBase, Aminoacids, AminoacidsPalettes, Nucleotides, NucleotidesPalettes, UnknownSeqPalettes, UnknownSeqPalette, PositionHeight, PositionInfo, PositionMonomerInfo, WebLogoViewer, UnitsHandler, DrawStyle, printLeftOrCentered, FastaFileHandler, VdRegionType, VdRegion, IVdRegionsViewer, isLeaf, PhylocanvasTreeNode, NodeStyleType, StylesType, IPhylocanvasGlViewer, TreeTypesNames, PhylocanvasGlServiceBase, CanvasCallback, PhylocanvasGlTask, getPhylocanvasGlService, parseNewick, ITreeHelper, getTreeHelper, getNglGlService, NglGlServiceBase, NglGlTask, MonomerWorks, MonomerLib, readLibrary };
24
26
  //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAC,YAAY,EAAC,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAC,WAAW,EAAE,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAC,UAAU,EAAE,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACnC,OAAO,EAAC,iBAAiB,EAAE,kBAAkB,EAAC,MAAM,eAAe,CAAC;AACpE,OAAO,EAAC,SAAS,EAAE,mBAAmB,EAAC,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAC,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAC,qBAAqB,EAAC,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAC,aAAa,EAAE,WAAW,EAAC,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAC,QAAQ,EAAE,YAAY,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,oBAAoB,EACpB,aAAa,EACb,wBAAwB,EACxB,iBAAiB,EACjB,UAAU,EACV,cAAc,EACf,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAC,cAAc,EAAE,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAC,MAAM,+BAA+B,CAAC;AAC/G,OAAO,EAAC,UAAU,EAAC,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAC,WAAW,EAAC,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,SAAS,EACV,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAC,WAAW,EAAE,mBAAmB,EAAE,MAAM,EAAE,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAEtF,OAAO,EACL,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,cAAc,EACd,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,qBAAqB,EACtB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,WAAW,EACX,OAAO,EACP,QAAQ,EACR,cAAc,EACf,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,UAAU,EACV,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,SAAS,EACT,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAEhB,MAAM,EACN,mBAAmB,EAEnB,aAAa,EAAE,UAAU,EAEzB,oBAAoB,EACpB,cAAc,EACd,wBAAwB,EACxB,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EAEvB,MAAM,EAAE,SAAS,EACjB,WAAW,EAGX,WAAW,EACX,aAAa,EAEb,eAAe,EACf,gBAAgB,EAChB,SAAS,EAGT,YAAY,EACZ,UAAU,EACV,WAAW,EACZ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAC,YAAY,EAAC,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAC,WAAW,EAAE,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAC,UAAU,EAAE,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAC,iBAAiB,EAAE,kBAAkB,EAAC,MAAM,eAAe,CAAC;AACpE,OAAO,EAAC,SAAS,EAAE,mBAAmB,EAAC,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAC,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAC,qBAAqB,EAAC,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAC,aAAa,EAAE,WAAW,EAAC,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAC,QAAQ,EAAE,YAAY,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,oBAAoB,EACpB,aAAa,EACb,wBAAwB,EACxB,iBAAiB,EACjB,UAAU,EACV,cAAc,EACf,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAC,cAAc,EAAE,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAC,MAAM,+BAA+B,CAAC;AAC/G,OAAO,EAAC,UAAU,EAAC,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAC,WAAW,EAAC,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,SAAS,EACV,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAC,WAAW,EAAE,mBAAmB,EAAC,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAEnC,OAAO,EACL,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,cAAc,EACd,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,qBAAqB,EACtB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,WAAW,EACX,OAAO,EACR,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,QAAQ,EACR,cAAc,EACf,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,MAAM,EACN,SAAS,EACV,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,UAAU,EACV,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,SAAS,EACT,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAEhB,MAAM,EACN,mBAAmB,EAEnB,aAAa,EAAE,UAAU,EAEzB,oBAAoB,EACpB,cAAc,EACd,wBAAwB,EACxB,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EAEvB,WAAW,EAGX,WAAW,EACX,aAAa,EAEb,eAAe,EACf,gBAAgB,EAChB,SAAS,EAGT,YAAY,EACZ,UAAU,EACV,WAAW,EACZ,CAAC"}
package/index.js CHANGED
@@ -2,13 +2,12 @@ import { Aminoacids, AminoacidsPalettes } from './src/aminoacids';
2
2
  import { MonomerWorks } from './src/monomer-works/monomer-works';
3
3
  import { Nucleotides, NucleotidesPalettes } from './src/nucleotides';
4
4
  import { SeqPaletteBase } from './src/seq-palettes';
5
- import { isLeaf } from './src/types';
6
5
  import { UnknownSeqPalette, UnknownSeqPalettes } from './src/unknown';
7
6
  import { DrawStyle, printLeftOrCentered } from './src/utils/cell-renderer';
8
7
  import { FastaFileHandler } from './src/utils/fasta-handler';
9
8
  import { NotationConverter } from './src/utils/notation-converter';
10
9
  import { splitAlignedSequences } from './src/utils/splitter';
11
- import { getTreeHelper } from './src/utils/tree-helper';
10
+ import { getTreeHelper } from './src/trees/tree-helper';
12
11
  import { UnitsHandler } from './src/utils/units-handler';
13
12
  import { VdRegion, VdRegionType } from './src/vd-regions';
14
13
  import { getPhylocanvasGlService, PhylocanvasGlServiceBase, TreeTypesNames } from './src/viewers/phylocanvas-gl-viewer';
@@ -16,9 +15,11 @@ import { PositionHeight, PositionInfo, PositionMonomerInfo, WebLogoViewer } from
16
15
  import { MonomerLib } from './src/monomer-works/monomer-lib';
17
16
  import { readLibrary } from './src/monomer-works/monomer-utils';
18
17
  import { getNglGlService, NglGlServiceBase } from './src/viewers/ngl-gl-viewer';
19
- import { parseNewick, Shapes, TreeTypes } from './src/phylocanvas';
18
+ import { parseNewick } from './src/trees/phylocanvas';
19
+ import { isLeaf } from './src/trees';
20
20
  export { getSplitter, splitterAsFasta, getSplitterForColumn, monomerToShort, splitterAsHelm, getStats, pickUpPalette, getPaletteByType, getAlphabet, getAlphabetSimilarity } from './src/utils/macromolecule';
21
- export { NotationConverter, splitAlignedSequences, SeqPaletteBase, Aminoacids, AminoacidsPalettes, Nucleotides, NucleotidesPalettes, UnknownSeqPalettes, UnknownSeqPalette, PositionHeight, PositionInfo, PositionMonomerInfo, WebLogoViewer, UnitsHandler, DrawStyle, printLeftOrCentered, FastaFileHandler, VdRegionType, VdRegion, isLeaf, TreeTypesNames, PhylocanvasGlServiceBase, getPhylocanvasGlService, Shapes, TreeTypes, parseNewick, getTreeHelper, getNglGlService, NglGlServiceBase,
21
+ export { Shapes, TreeTypes } from './src/trees/phylocanvas';
22
+ export { NotationConverter, splitAlignedSequences, SeqPaletteBase, Aminoacids, AminoacidsPalettes, Nucleotides, NucleotidesPalettes, UnknownSeqPalettes, UnknownSeqPalette, PositionHeight, PositionInfo, PositionMonomerInfo, WebLogoViewer, UnitsHandler, DrawStyle, printLeftOrCentered, FastaFileHandler, VdRegionType, VdRegion, isLeaf, TreeTypesNames, PhylocanvasGlServiceBase, getPhylocanvasGlService, parseNewick, getTreeHelper, getNglGlService, NglGlServiceBase,
22
23
  //Monomer lib and features
23
24
  MonomerWorks, MonomerLib, readLibrary };
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLGtCQUFrQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDaEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQy9ELE9BQU8sRUFBQyxXQUFXLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRSxPQUFPLEVBQWEsY0FBYyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDOUQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUNuQyxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFDLFNBQVMsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3pFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBQyxhQUFhLEVBQWMsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBRUwsdUJBQXVCLEVBR3ZCLHdCQUF3QixFQUd4QixjQUFjLEVBQ2YsTUFBTSxxQ0FBcUMsQ0FBQztBQUU3QyxPQUFPLEVBQUMsY0FBYyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDM0QsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzlELE9BQU8sRUFDTCxlQUFlLEVBQ2YsZ0JBQWdCLEVBRWpCLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFDLFdBQVcsRUFBdUIsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRXRGLE9BQU8sRUFLTCxXQUFXLEVBQ1gsZUFBZSxFQUNmLG9CQUFvQixFQUVwQixjQUFjLEVBQ2QsY0FBYyxFQUNkLFFBQVEsRUFDUixhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2hCLFdBQVcsRUFDWCxxQkFBcUIsRUFDdEIsTUFBTSwyQkFBMkIsQ0FBQztBQVNuQyxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUVyQixjQUFjLEVBQ2QsVUFBVSxFQUNWLGtCQUFrQixFQUNsQixXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIsY0FBYyxFQUNkLFlBQVksRUFDWixtQkFBbUIsRUFDbkIsYUFBYSxFQUNiLFlBQVksRUFDWixTQUFTLEVBQ1QsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osUUFBUSxFQUdSLE1BQU0sRUFNTixjQUFjLEVBQ2Qsd0JBQXdCLEVBR3hCLHVCQUF1QixFQUV2QixNQUFNLEVBQUUsU0FBUyxFQUNqQixXQUFXLEVBSVgsYUFBYSxFQUViLGVBQWUsRUFDZixnQkFBZ0I7QUFHaEIsMEJBQTBCO0FBQzFCLFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FtaW5vYWNpZHMsIEFtaW5vYWNpZHNQYWxldHRlc30gZnJvbSAnLi9zcmMvYW1pbm9hY2lkcyc7XG5pbXBvcnQge01vbm9tZXJXb3Jrc30gZnJvbSAnLi9zcmMvbW9ub21lci13b3Jrcy9tb25vbWVyLXdvcmtzJztcbmltcG9ydCB7TnVjbGVvdGlkZXMsIE51Y2xlb3RpZGVzUGFsZXR0ZXN9IGZyb20gJy4vc3JjL251Y2xlb3RpZGVzJztcbmltcG9ydCB7U2VxUGFsZXR0ZSwgU2VxUGFsZXR0ZUJhc2V9IGZyb20gJy4vc3JjL3NlcS1wYWxldHRlcyc7XG5pbXBvcnQge2lzTGVhZn0gZnJvbSAnLi9zcmMvdHlwZXMnO1xuaW1wb3J0IHtVbmtub3duU2VxUGFsZXR0ZSwgVW5rbm93blNlcVBhbGV0dGVzfSBmcm9tICcuL3NyYy91bmtub3duJztcbmltcG9ydCB7RHJhd1N0eWxlLCBwcmludExlZnRPckNlbnRlcmVkfSBmcm9tICcuL3NyYy91dGlscy9jZWxsLXJlbmRlcmVyJztcbmltcG9ydCB7RmFzdGFGaWxlSGFuZGxlcn0gZnJvbSAnLi9zcmMvdXRpbHMvZmFzdGEtaGFuZGxlcic7XG5pbXBvcnQge05vdGF0aW9uQ29udmVydGVyfSBmcm9tICcuL3NyYy91dGlscy9ub3RhdGlvbi1jb252ZXJ0ZXInO1xuaW1wb3J0IHtzcGxpdEFsaWduZWRTZXF1ZW5jZXN9IGZyb20gJy4vc3JjL3V0aWxzL3NwbGl0dGVyJztcbmltcG9ydCB7Z2V0VHJlZUhlbHBlciwgSVRyZWVIZWxwZXJ9IGZyb20gJy4vc3JjL3V0aWxzL3RyZWUtaGVscGVyJztcbmltcG9ydCB7VW5pdHNIYW5kbGVyfSBmcm9tICcuL3NyYy91dGlscy91bml0cy1oYW5kbGVyJztcbmltcG9ydCB7VmRSZWdpb24sIFZkUmVnaW9uVHlwZX0gZnJvbSAnLi9zcmMvdmQtcmVnaW9ucyc7XG5pbXBvcnQge1xuICBDYW52YXNDYWxsYmFjayxcbiAgZ2V0UGh5bG9jYW52YXNHbFNlcnZpY2UsXG4gIElQaHlsb2NhbnZhc0dsVmlld2VyLFxuICBOb2RlU3R5bGVUeXBlLFxuICBQaHlsb2NhbnZhc0dsU2VydmljZUJhc2UsXG4gIFBoeWxvY2FudmFzR2xUYXNrLFxuICBTdHlsZXNUeXBlLFxuICBUcmVlVHlwZXNOYW1lc1xufSBmcm9tICcuL3NyYy92aWV3ZXJzL3BoeWxvY2FudmFzLWdsLXZpZXdlcic7XG5pbXBvcnQge0lWZFJlZ2lvbnNWaWV3ZXJ9IGZyb20gJy4vc3JjL3ZpZXdlcnMvdmQtcmVnaW9ucy12aWV3ZXInO1xuaW1wb3J0IHtQb3NpdGlvbkhlaWdodCwgUG9zaXRpb25JbmZvLCBQb3NpdGlvbk1vbm9tZXJJbmZvLCBXZWJMb2dvVmlld2VyfSBmcm9tICcuL3NyYy92aWV3ZXJzL3dlYi1sb2dvLXZpZXdlcic7XG5pbXBvcnQge01vbm9tZXJMaWJ9IGZyb20gJy4vc3JjL21vbm9tZXItd29ya3MvbW9ub21lci1saWInO1xuaW1wb3J0IHtyZWFkTGlicmFyeX0gZnJvbSAnLi9zcmMvbW9ub21lci13b3Jrcy9tb25vbWVyLXV0aWxzJztcbmltcG9ydCB7XG4gIGdldE5nbEdsU2VydmljZSxcbiAgTmdsR2xTZXJ2aWNlQmFzZSxcbiAgTmdsR2xUYXNrXG59IGZyb20gJy4vc3JjL3ZpZXdlcnMvbmdsLWdsLXZpZXdlcic7XG5pbXBvcnQge3BhcnNlTmV3aWNrLCBQaHlsb2NhbnZhc1RyZWVOb2RlLCBTaGFwZXMsIFRyZWVUeXBlc30gZnJvbSAnLi9zcmMvcGh5bG9jYW52YXMnO1xuXG5leHBvcnQge1xuICBBTElHTk1FTlQsXG4gIEFMUEhBQkVULFxuICBOT1RBVElPTixcbiAgVEFHUyxcbiAgZ2V0U3BsaXR0ZXIsXG4gIHNwbGl0dGVyQXNGYXN0YSxcbiAgZ2V0U3BsaXR0ZXJGb3JDb2x1bW4sXG4gIFNwbGl0dGVyRnVuYyxcbiAgbW9ub21lclRvU2hvcnQsXG4gIHNwbGl0dGVyQXNIZWxtLFxuICBnZXRTdGF0cyxcbiAgcGlja1VwUGFsZXR0ZSxcbiAgZ2V0UGFsZXR0ZUJ5VHlwZSxcbiAgZ2V0QWxwaGFiZXQsXG4gIGdldEFscGhhYmV0U2ltaWxhcml0eVxufSBmcm9tICcuL3NyYy91dGlscy9tYWNyb21vbGVjdWxlJztcblxuZXhwb3J0IHtcbiAgSU1vbm9tZXJMaWIsXG4gIE1vbm9tZXIsXG4gIE5vZGVUeXBlLFxuICBOb2RlQ3V0dGVkVHlwZVxufSBmcm9tICcuL3NyYy90eXBlcyc7XG5cbmV4cG9ydCB7XG4gIE5vdGF0aW9uQ29udmVydGVyLFxuICBzcGxpdEFsaWduZWRTZXF1ZW5jZXMsXG4gIFNlcVBhbGV0dGUsXG4gIFNlcVBhbGV0dGVCYXNlLFxuICBBbWlub2FjaWRzLFxuICBBbWlub2FjaWRzUGFsZXR0ZXMsXG4gIE51Y2xlb3RpZGVzLFxuICBOdWNsZW90aWRlc1BhbGV0dGVzLFxuICBVbmtub3duU2VxUGFsZXR0ZXMsXG4gIFVua25vd25TZXFQYWxldHRlLFxuICBQb3NpdGlvbkhlaWdodCxcbiAgUG9zaXRpb25JbmZvLFxuICBQb3NpdGlvbk1vbm9tZXJJbmZvLFxuICBXZWJMb2dvVmlld2VyLFxuICBVbml0c0hhbmRsZXIsXG4gIERyYXdTdHlsZSxcbiAgcHJpbnRMZWZ0T3JDZW50ZXJlZCxcbiAgRmFzdGFGaWxlSGFuZGxlcixcbiAgVmRSZWdpb25UeXBlLFxuICBWZFJlZ2lvbixcbiAgSVZkUmVnaW9uc1ZpZXdlcixcblxuICBpc0xlYWYsXG4gIFBoeWxvY2FudmFzVHJlZU5vZGUsXG4gIC8vIHRyZWVUcmF2ZXJzYWwsXG4gIE5vZGVTdHlsZVR5cGUsIFN0eWxlc1R5cGUsXG5cbiAgSVBoeWxvY2FudmFzR2xWaWV3ZXIsXG4gIFRyZWVUeXBlc05hbWVzLFxuICBQaHlsb2NhbnZhc0dsU2VydmljZUJhc2UsXG4gIENhbnZhc0NhbGxiYWNrLFxuICBQaHlsb2NhbnZhc0dsVGFzayxcbiAgZ2V0UGh5bG9jYW52YXNHbFNlcnZpY2UsXG5cbiAgU2hhcGVzLCBUcmVlVHlwZXMsXG4gIHBhcnNlTmV3aWNrLFxuICAvLyBVdGlscyxcbiAgLy8gTmV3aWNrLFxuICBJVHJlZUhlbHBlcixcbiAgZ2V0VHJlZUhlbHBlcixcblxuICBnZXROZ2xHbFNlcnZpY2UsXG4gIE5nbEdsU2VydmljZUJhc2UsXG4gIE5nbEdsVGFzayxcblxuICAvL01vbm9tZXIgbGliIGFuZCBmZWF0dXJlc1xuICBNb25vbWVyV29ya3MsXG4gIE1vbm9tZXJMaWIsXG4gIHJlYWRMaWJyYXJ5XG59O1xuIl19
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLGtCQUFrQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDaEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQy9ELE9BQU8sRUFBQyxXQUFXLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRSxPQUFPLEVBQWEsY0FBYyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDOUQsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGtCQUFrQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxTQUFTLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUMsYUFBYSxFQUFjLE1BQU0seUJBQXlCLENBQUM7QUFDbkUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxRQUFRLEVBQUUsWUFBWSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxFQUVMLHVCQUF1QixFQUd2Qix3QkFBd0IsRUFHeEIsY0FBYyxFQUNmLE1BQU0scUNBQXFDLENBQUM7QUFFN0MsT0FBTyxFQUFDLGNBQWMsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDL0csT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RCxPQUFPLEVBQ0wsZUFBZSxFQUNmLGdCQUFnQixFQUVqQixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBQyxXQUFXLEVBQXNCLE1BQU0seUJBQXlCLENBQUM7QUFDekUsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUVuQyxPQUFPLEVBS0wsV0FBVyxFQUNYLGVBQWUsRUFDZixvQkFBb0IsRUFFcEIsY0FBYyxFQUNkLGNBQWMsRUFDZCxRQUFRLEVBQ1IsYUFBYSxFQUNiLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gscUJBQXFCLEVBQ3RCLE1BQU0sMkJBQTJCLENBQUM7QUFZbkMsT0FBTyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1YsTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUVyQixjQUFjLEVBQ2QsVUFBVSxFQUNWLGtCQUFrQixFQUNsQixXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIsY0FBYyxFQUNkLFlBQVksRUFDWixtQkFBbUIsRUFDbkIsYUFBYSxFQUNiLFlBQVksRUFDWixTQUFTLEVBQ1QsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osUUFBUSxFQUdSLE1BQU0sRUFNTixjQUFjLEVBQ2Qsd0JBQXdCLEVBR3hCLHVCQUF1QixFQUV2QixXQUFXLEVBSVgsYUFBYSxFQUViLGVBQWUsRUFDZixnQkFBZ0I7QUFHaEIsMEJBQTBCO0FBQzFCLFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FtaW5vYWNpZHMsIEFtaW5vYWNpZHNQYWxldHRlc30gZnJvbSAnLi9zcmMvYW1pbm9hY2lkcyc7XG5pbXBvcnQge01vbm9tZXJXb3Jrc30gZnJvbSAnLi9zcmMvbW9ub21lci13b3Jrcy9tb25vbWVyLXdvcmtzJztcbmltcG9ydCB7TnVjbGVvdGlkZXMsIE51Y2xlb3RpZGVzUGFsZXR0ZXN9IGZyb20gJy4vc3JjL251Y2xlb3RpZGVzJztcbmltcG9ydCB7U2VxUGFsZXR0ZSwgU2VxUGFsZXR0ZUJhc2V9IGZyb20gJy4vc3JjL3NlcS1wYWxldHRlcyc7XG5pbXBvcnQge1Vua25vd25TZXFQYWxldHRlLCBVbmtub3duU2VxUGFsZXR0ZXN9IGZyb20gJy4vc3JjL3Vua25vd24nO1xuaW1wb3J0IHtEcmF3U3R5bGUsIHByaW50TGVmdE9yQ2VudGVyZWR9IGZyb20gJy4vc3JjL3V0aWxzL2NlbGwtcmVuZGVyZXInO1xuaW1wb3J0IHtGYXN0YUZpbGVIYW5kbGVyfSBmcm9tICcuL3NyYy91dGlscy9mYXN0YS1oYW5kbGVyJztcbmltcG9ydCB7Tm90YXRpb25Db252ZXJ0ZXJ9IGZyb20gJy4vc3JjL3V0aWxzL25vdGF0aW9uLWNvbnZlcnRlcic7XG5pbXBvcnQge3NwbGl0QWxpZ25lZFNlcXVlbmNlc30gZnJvbSAnLi9zcmMvdXRpbHMvc3BsaXR0ZXInO1xuaW1wb3J0IHtnZXRUcmVlSGVscGVyLCBJVHJlZUhlbHBlcn0gZnJvbSAnLi9zcmMvdHJlZXMvdHJlZS1oZWxwZXInO1xuaW1wb3J0IHtVbml0c0hhbmRsZXJ9IGZyb20gJy4vc3JjL3V0aWxzL3VuaXRzLWhhbmRsZXInO1xuaW1wb3J0IHtWZFJlZ2lvbiwgVmRSZWdpb25UeXBlfSBmcm9tICcuL3NyYy92ZC1yZWdpb25zJztcbmltcG9ydCB7XG4gIENhbnZhc0NhbGxiYWNrLFxuICBnZXRQaHlsb2NhbnZhc0dsU2VydmljZSxcbiAgSVBoeWxvY2FudmFzR2xWaWV3ZXIsXG4gIE5vZGVTdHlsZVR5cGUsXG4gIFBoeWxvY2FudmFzR2xTZXJ2aWNlQmFzZSxcbiAgUGh5bG9jYW52YXNHbFRhc2ssXG4gIFN0eWxlc1R5cGUsXG4gIFRyZWVUeXBlc05hbWVzXG59IGZyb20gJy4vc3JjL3ZpZXdlcnMvcGh5bG9jYW52YXMtZ2wtdmlld2VyJztcbmltcG9ydCB7SVZkUmVnaW9uc1ZpZXdlcn0gZnJvbSAnLi9zcmMvdmlld2Vycy92ZC1yZWdpb25zLXZpZXdlcic7XG5pbXBvcnQge1Bvc2l0aW9uSGVpZ2h0LCBQb3NpdGlvbkluZm8sIFBvc2l0aW9uTW9ub21lckluZm8sIFdlYkxvZ29WaWV3ZXJ9IGZyb20gJy4vc3JjL3ZpZXdlcnMvd2ViLWxvZ28tdmlld2VyJztcbmltcG9ydCB7TW9ub21lckxpYn0gZnJvbSAnLi9zcmMvbW9ub21lci13b3Jrcy9tb25vbWVyLWxpYic7XG5pbXBvcnQge3JlYWRMaWJyYXJ5fSBmcm9tICcuL3NyYy9tb25vbWVyLXdvcmtzL21vbm9tZXItdXRpbHMnO1xuaW1wb3J0IHtcbiAgZ2V0TmdsR2xTZXJ2aWNlLFxuICBOZ2xHbFNlcnZpY2VCYXNlLFxuICBOZ2xHbFRhc2tcbn0gZnJvbSAnLi9zcmMvdmlld2Vycy9uZ2wtZ2wtdmlld2VyJztcbmltcG9ydCB7cGFyc2VOZXdpY2ssIFBoeWxvY2FudmFzVHJlZU5vZGV9IGZyb20gJy4vc3JjL3RyZWVzL3BoeWxvY2FudmFzJztcbmltcG9ydCB7aXNMZWFmfSBmcm9tICcuL3NyYy90cmVlcyc7XG5cbmV4cG9ydCB7XG4gIEFMSUdOTUVOVCxcbiAgQUxQSEFCRVQsXG4gIE5PVEFUSU9OLFxuICBUQUdTLFxuICBnZXRTcGxpdHRlcixcbiAgc3BsaXR0ZXJBc0Zhc3RhLFxuICBnZXRTcGxpdHRlckZvckNvbHVtbixcbiAgU3BsaXR0ZXJGdW5jLFxuICBtb25vbWVyVG9TaG9ydCxcbiAgc3BsaXR0ZXJBc0hlbG0sXG4gIGdldFN0YXRzLFxuICBwaWNrVXBQYWxldHRlLFxuICBnZXRQYWxldHRlQnlUeXBlLFxuICBnZXRBbHBoYWJldCxcbiAgZ2V0QWxwaGFiZXRTaW1pbGFyaXR5XG59IGZyb20gJy4vc3JjL3V0aWxzL21hY3JvbW9sZWN1bGUnO1xuXG5leHBvcnQge1xuICBJTW9ub21lckxpYixcbiAgTW9ub21lclxufSBmcm9tICcuL3NyYy90eXBlcyc7XG5cbmV4cG9ydCB7XG4gIE5vZGVUeXBlLFxuICBOb2RlQ3V0dGVkVHlwZVxufSBmcm9tICcuL3NyYy90cmVlcyc7XG5cbmV4cG9ydCB7XG4gIFNoYXBlcyxcbiAgVHJlZVR5cGVzXG59IGZyb20gJy4vc3JjL3RyZWVzL3BoeWxvY2FudmFzJztcblxuZXhwb3J0IHtcbiAgTm90YXRpb25Db252ZXJ0ZXIsXG4gIHNwbGl0QWxpZ25lZFNlcXVlbmNlcyxcbiAgU2VxUGFsZXR0ZSxcbiAgU2VxUGFsZXR0ZUJhc2UsXG4gIEFtaW5vYWNpZHMsXG4gIEFtaW5vYWNpZHNQYWxldHRlcyxcbiAgTnVjbGVvdGlkZXMsXG4gIE51Y2xlb3RpZGVzUGFsZXR0ZXMsXG4gIFVua25vd25TZXFQYWxldHRlcyxcbiAgVW5rbm93blNlcVBhbGV0dGUsXG4gIFBvc2l0aW9uSGVpZ2h0LFxuICBQb3NpdGlvbkluZm8sXG4gIFBvc2l0aW9uTW9ub21lckluZm8sXG4gIFdlYkxvZ29WaWV3ZXIsXG4gIFVuaXRzSGFuZGxlcixcbiAgRHJhd1N0eWxlLFxuICBwcmludExlZnRPckNlbnRlcmVkLFxuICBGYXN0YUZpbGVIYW5kbGVyLFxuICBWZFJlZ2lvblR5cGUsXG4gIFZkUmVnaW9uLFxuICBJVmRSZWdpb25zVmlld2VyLFxuXG4gIGlzTGVhZixcbiAgUGh5bG9jYW52YXNUcmVlTm9kZSxcbiAgLy8gdHJlZVRyYXZlcnNhbCxcbiAgTm9kZVN0eWxlVHlwZSwgU3R5bGVzVHlwZSxcblxuICBJUGh5bG9jYW52YXNHbFZpZXdlcixcbiAgVHJlZVR5cGVzTmFtZXMsXG4gIFBoeWxvY2FudmFzR2xTZXJ2aWNlQmFzZSxcbiAgQ2FudmFzQ2FsbGJhY2ssXG4gIFBoeWxvY2FudmFzR2xUYXNrLFxuICBnZXRQaHlsb2NhbnZhc0dsU2VydmljZSxcblxuICBwYXJzZU5ld2ljayxcbiAgLy8gVXRpbHMsXG4gIC8vIE5ld2ljayxcbiAgSVRyZWVIZWxwZXIsXG4gIGdldFRyZWVIZWxwZXIsXG5cbiAgZ2V0TmdsR2xTZXJ2aWNlLFxuICBOZ2xHbFNlcnZpY2VCYXNlLFxuICBOZ2xHbFRhc2ssXG5cbiAgLy9Nb25vbWVyIGxpYiBhbmQgZmVhdHVyZXNcbiAgTW9ub21lcldvcmtzLFxuICBNb25vbWVyTGliLFxuICByZWFkTGlicmFyeVxufTtcbiJdfQ==
package/index.ts CHANGED
@@ -2,13 +2,12 @@ import {Aminoacids, AminoacidsPalettes} from './src/aminoacids';
2
2
  import {MonomerWorks} from './src/monomer-works/monomer-works';
3
3
  import {Nucleotides, NucleotidesPalettes} from './src/nucleotides';
4
4
  import {SeqPalette, SeqPaletteBase} from './src/seq-palettes';
5
- import {isLeaf} from './src/types';
6
5
  import {UnknownSeqPalette, UnknownSeqPalettes} from './src/unknown';
7
6
  import {DrawStyle, printLeftOrCentered} from './src/utils/cell-renderer';
8
7
  import {FastaFileHandler} from './src/utils/fasta-handler';
9
8
  import {NotationConverter} from './src/utils/notation-converter';
10
9
  import {splitAlignedSequences} from './src/utils/splitter';
11
- import {getTreeHelper, ITreeHelper} from './src/utils/tree-helper';
10
+ import {getTreeHelper, ITreeHelper} from './src/trees/tree-helper';
12
11
  import {UnitsHandler} from './src/utils/units-handler';
13
12
  import {VdRegion, VdRegionType} from './src/vd-regions';
14
13
  import {
@@ -30,7 +29,8 @@ import {
30
29
  NglGlServiceBase,
31
30
  NglGlTask
32
31
  } from './src/viewers/ngl-gl-viewer';
33
- import {parseNewick, PhylocanvasTreeNode, Shapes, TreeTypes} from './src/phylocanvas';
32
+ import {parseNewick, PhylocanvasTreeNode} from './src/trees/phylocanvas';
33
+ import {isLeaf} from './src/trees';
34
34
 
35
35
  export {
36
36
  ALIGNMENT,
@@ -52,10 +52,18 @@ export {
52
52
 
53
53
  export {
54
54
  IMonomerLib,
55
- Monomer,
55
+ Monomer
56
+ } from './src/types';
57
+
58
+ export {
56
59
  NodeType,
57
60
  NodeCuttedType
58
- } from './src/types';
61
+ } from './src/trees';
62
+
63
+ export {
64
+ Shapes,
65
+ TreeTypes
66
+ } from './src/trees/phylocanvas';
59
67
 
60
68
  export {
61
69
  NotationConverter,
@@ -92,7 +100,6 @@ export {
92
100
  PhylocanvasGlTask,
93
101
  getPhylocanvasGlService,
94
102
 
95
- Shapes, TreeTypes,
96
103
  parseNewick,
97
104
  // Utils,
98
105
  // Newick,
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "access": "public"
5
5
  },
6
6
  "friendlyName": "Datagrok bio library",
7
- "version": "5.15.1",
7
+ "version": "5.16.1",
8
8
  "description": "",
9
9
  "dependencies": {
10
10
  "@datagrok-libraries/utils": "^1.10.1",
@@ -0,0 +1,25 @@
1
+ /** Interface for hierarchical data structure returned by parseNewick (from phylocanvas.gl Newick.parse_newick) */
2
+ export interface NodeType {
3
+ name: string;
4
+ branch_length?: number;
5
+ children?: NodeType[];
6
+ }
7
+ export interface NodeCuttedType extends NodeType {
8
+ cuttedLeafNameList: string[];
9
+ cuttedChildren?: NodeType[];
10
+ }
11
+ export type TreeLeafDict = {
12
+ [nodeName: string]: NodeType;
13
+ };
14
+ export type DataNodeDict = {
15
+ [nodeName: string]: number;
16
+ };
17
+ export type NodeNameCallback = (nodeName: string) => void;
18
+ export declare enum TAGS {
19
+ NEWICK = ".newick",
20
+ NEWICK_JSON = ".newick_json",
21
+ OBJECTS = ".newick_objects",
22
+ NEWICK_LEAF_COL_NAME = ".newickLeafColumn"
23
+ }
24
+ export declare function isLeaf(node: NodeType): boolean;
25
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAIA,kHAAkH;AAClH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC9C,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC;CAC7B;AAED,MAAM,MAAM,YAAY,GAAG;IAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,CAAC;AAC5D,MAAM,MAAM,YAAY,GAAG;IAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAC1D,MAAM,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;AAE1D,oBAAY,IAAI;IACd,MAAM,YAAY;IAClB,WAAW,iBAAiB;IAC5B,OAAO,oBAAoB;IAC3B,oBAAoB,sBAAsB;CAC3C;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,QAAQ,WAEpC"}
@@ -0,0 +1,11 @@
1
+ export var TAGS;
2
+ (function (TAGS) {
3
+ TAGS["NEWICK"] = ".newick";
4
+ TAGS["NEWICK_JSON"] = ".newick_json";
5
+ TAGS["OBJECTS"] = ".newick_objects";
6
+ TAGS["NEWICK_LEAF_COL_NAME"] = ".newickLeafColumn";
7
+ })(TAGS || (TAGS = {}));
8
+ export function isLeaf(node) {
9
+ return !node.children || node.children.length == 0;
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvQkEsTUFBTSxDQUFOLElBQVksSUFLWDtBQUxELFdBQVksSUFBSTtJQUNkLDBCQUFrQixDQUFBO0lBQ2xCLG9DQUE0QixDQUFBO0lBQzVCLG1DQUEyQixDQUFBO0lBQzNCLGtEQUEwQyxDQUFBO0FBQzVDLENBQUMsRUFMVyxJQUFJLEtBQUosSUFBSSxRQUtmO0FBRUQsTUFBTSxVQUFVLE1BQU0sQ0FBQyxJQUFjO0lBQ25DLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztBQUNyRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZ3JvayBmcm9tICdkYXRhZ3Jvay1hcGkvZ3Jvayc7XG5pbXBvcnQgKiBhcyB1aSBmcm9tICdkYXRhZ3Jvay1hcGkvdWknO1xuaW1wb3J0ICogYXMgREcgZnJvbSAnZGF0YWdyb2stYXBpL2RnJztcblxuLyoqIEludGVyZmFjZSBmb3IgaGllcmFyY2hpY2FsIGRhdGEgc3RydWN0dXJlIHJldHVybmVkIGJ5IHBhcnNlTmV3aWNrIChmcm9tIHBoeWxvY2FudmFzLmdsIE5ld2ljay5wYXJzZV9uZXdpY2spICovXG5leHBvcnQgaW50ZXJmYWNlIE5vZGVUeXBlIHtcbiAgbmFtZTogc3RyaW5nO1xuICBicmFuY2hfbGVuZ3RoPzogbnVtYmVyO1xuICBjaGlsZHJlbj86IE5vZGVUeXBlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm9kZUN1dHRlZFR5cGUgZXh0ZW5kcyBOb2RlVHlwZSB7XG4gIGN1dHRlZExlYWZOYW1lTGlzdDogc3RyaW5nW107XG4gIGN1dHRlZENoaWxkcmVuPzogTm9kZVR5cGVbXTtcbn1cblxuZXhwb3J0IHR5cGUgVHJlZUxlYWZEaWN0ID0geyBbbm9kZU5hbWU6IHN0cmluZ106IE5vZGVUeXBlIH07XG5leHBvcnQgdHlwZSBEYXRhTm9kZURpY3QgPSB7IFtub2RlTmFtZTogc3RyaW5nXTogbnVtYmVyIH07XG5leHBvcnQgdHlwZSBOb2RlTmFtZUNhbGxiYWNrID0gKG5vZGVOYW1lOiBzdHJpbmcpID0+IHZvaWQ7XG5cbmV4cG9ydCBlbnVtIFRBR1Mge1xuICBORVdJQ0sgPSAnLm5ld2ljaycsXG4gIE5FV0lDS19KU09OID0gJy5uZXdpY2tfanNvbicsXG4gIE9CSkVDVFMgPSAnLm5ld2lja19vYmplY3RzJyxcbiAgTkVXSUNLX0xFQUZfQ09MX05BTUUgPSAnLm5ld2lja0xlYWZDb2x1bW4nLFxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNMZWFmKG5vZGU6IE5vZGVUeXBlKSB7XG4gIHJldHVybiAhbm9kZS5jaGlsZHJlbiB8fCBub2RlLmNoaWxkcmVuLmxlbmd0aCA9PSAwO1xufVxuIl19
@@ -1,4 +1,4 @@
1
- import { NodeType } from './types/index';
1
+ import { NodeType } from './index';
2
2
  export declare const TreeTypes: {
3
3
  Circular: string;
4
4
  Diagonal: string;
@@ -60,5 +60,6 @@ export type PhylocanvasTreeNode = NodeType & {
60
60
  totalSubtreeLength: number;
61
61
  visibleLeaves: number;
62
62
  };
63
- export declare function parseNewick(s: string): any;
63
+ /** Based on phylocanvas.gl */
64
+ export declare function parseNewick(s: string): NodeType;
64
65
  //# sourceMappingURL=phylocanvas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"phylocanvas.d.ts","sourceRoot":"","sources":["phylocanvas.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAEvC,eAAO,MAAM,SAAS;;;;;;CAMrB,CAAC;AAEF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoClB,CAAC;AAEF,oCAAoC;AACpC,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;CACvB,CAAA;AAoHD,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAkC1C"}
1
+ {"version":3,"file":"phylocanvas.d.ts","sourceRoot":"","sources":["phylocanvas.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAC;AAEjC,eAAO,MAAM,SAAS;;;;;;CAMrB,CAAC;AAEF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoClB,CAAC;AAEF,oCAAoC;AACpC,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;CACvB,CAAA;AAED,8BAA8B;AAC9B,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,QAAQ,CAkC/C"}
@@ -0,0 +1,83 @@
1
+ export const TreeTypes = {
2
+ Circular: 'cr',
3
+ Diagonal: 'dg',
4
+ Hierarchical: 'hr',
5
+ Radial: 'rd',
6
+ Rectangular: 'rc',
7
+ };
8
+ export const Shapes = {
9
+ Chevron: 'chevron',
10
+ ChevronInverted: 'chevron-inverted',
11
+ ChevronLeft: 'chevron-left',
12
+ ChevronRight: 'chevron-right',
13
+ Circle: 'circle',
14
+ Cross: 'cross',
15
+ Diamond: 'diamond',
16
+ Dot: 'dot',
17
+ DoubleChevron: 'double-chevron',
18
+ DoubleChevronInverted: 'double-chevron-inverted',
19
+ DoubleChevronLeft: 'double-chevron-left',
20
+ DoubleChevronRight: 'double-chevron-right',
21
+ Heptagon: 'heptagon',
22
+ HeptagonInverted: 'heptagon-inverted',
23
+ Heptagram: 'heptagram',
24
+ HeptagramInverted: 'heptagram-inverted',
25
+ Hexagon: 'hexagon',
26
+ Hexagram: 'hexagram',
27
+ Octagon: 'octagon',
28
+ Octagram: 'octagram',
29
+ Pentagon: 'pentagon',
30
+ PentagonInverted: 'pentagon-inverted',
31
+ Pentagram: 'pentagram',
32
+ PentagramInverted: 'pentagram-inverted',
33
+ Plus: 'plus',
34
+ Square: 'square',
35
+ Star: 'pentagram',
36
+ StarInverted: 'pentagram-inverted',
37
+ Tetragram: 'tetragram',
38
+ Triangle: 'triangle',
39
+ TriangleInverted: 'triangle-inverted',
40
+ TriangleLeft: 'triangle-left',
41
+ TriangleRight: 'triangle-right',
42
+ Wye: 'wye',
43
+ WyeInverted: 'wye-inverted',
44
+ };
45
+ /** Based on phylocanvas.gl */
46
+ export function parseNewick(s) {
47
+ const ancestors = [];
48
+ let tree = { name: '' };
49
+ const tokens = s.split(/\s*(;|\(|\)|,|:)\s*/);
50
+ for (let i = 0; i < tokens.length; i++) {
51
+ const token = tokens[i];
52
+ switch (token) {
53
+ case '(':
54
+ { // new children
55
+ const subtree = { name: '' };
56
+ tree.children = [subtree];
57
+ ancestors.push(tree);
58
+ tree = subtree;
59
+ }
60
+ break;
61
+ case ',':
62
+ { // another branch
63
+ const subtree = { name: '' };
64
+ ancestors[ancestors.length - 1].children.push(subtree);
65
+ tree = subtree;
66
+ }
67
+ break;
68
+ case ')': // optional name next
69
+ tree = ancestors.pop();
70
+ break;
71
+ case ':': // optional length next
72
+ break;
73
+ default:
74
+ const x = tokens[i - 1];
75
+ if (x == ')' || x == '(' || x == ',')
76
+ tree.name = token;
77
+ else if (x == ':')
78
+ tree.branch_length = parseFloat(token);
79
+ }
80
+ }
81
+ return tree;
82
+ }
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGh5bG9jYW52YXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJwaHlsb2NhbnZhcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUc7SUFDdkIsUUFBUSxFQUFFLElBQUk7SUFDZCxRQUFRLEVBQUUsSUFBSTtJQUNkLFlBQVksRUFBRSxJQUFJO0lBQ2xCLE1BQU0sRUFBRSxJQUFJO0lBQ1osV0FBVyxFQUFFLElBQUk7Q0FDbEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRztJQUNwQixPQUFPLEVBQUUsU0FBUztJQUNsQixlQUFlLEVBQUUsa0JBQWtCO0lBQ25DLFdBQVcsRUFBRSxjQUFjO0lBQzNCLFlBQVksRUFBRSxlQUFlO0lBQzdCLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLEtBQUssRUFBRSxPQUFPO0lBQ2QsT0FBTyxFQUFFLFNBQVM7SUFDbEIsR0FBRyxFQUFFLEtBQUs7SUFDVixhQUFhLEVBQUUsZ0JBQWdCO0lBQy9CLHFCQUFxQixFQUFFLHlCQUF5QjtJQUNoRCxpQkFBaUIsRUFBRSxxQkFBcUI7SUFDeEMsa0JBQWtCLEVBQUUsc0JBQXNCO0lBQzFDLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLGdCQUFnQixFQUFFLG1CQUFtQjtJQUNyQyxTQUFTLEVBQUUsV0FBVztJQUN0QixpQkFBaUIsRUFBRSxvQkFBb0I7SUFDdkMsT0FBTyxFQUFFLFNBQVM7SUFDbEIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsZ0JBQWdCLEVBQUUsbUJBQW1CO0lBQ3JDLFNBQVMsRUFBRSxXQUFXO0lBQ3RCLGlCQUFpQixFQUFFLG9CQUFvQjtJQUN2QyxJQUFJLEVBQUUsTUFBTTtJQUNaLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLElBQUksRUFBRSxXQUFXO0lBQ2pCLFlBQVksRUFBRSxvQkFBb0I7SUFDbEMsU0FBUyxFQUFFLFdBQVc7SUFDdEIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsZ0JBQWdCLEVBQUUsbUJBQW1CO0lBQ3JDLFlBQVksRUFBRSxlQUFlO0lBQzdCLGFBQWEsRUFBRSxnQkFBZ0I7SUFDL0IsR0FBRyxFQUFFLEtBQUs7SUFDVixXQUFXLEVBQUUsY0FBYztDQUM1QixDQUFDO0FBb0JGLDhCQUE4QjtBQUM5QixNQUFNLFVBQVUsV0FBVyxDQUFDLENBQVM7SUFDbkMsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLElBQUksSUFBSSxHQUFhLEVBQUMsSUFBSSxFQUFFLEVBQUUsRUFBQyxDQUFDO0lBQ2hDLE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUM5QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUN0QyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEIsUUFBUSxLQUFLLEVBQUU7WUFDZixLQUFLLEdBQUc7Z0JBQUUsRUFBRSxlQUFlO29CQUN6QixNQUFNLE9BQU8sR0FBYSxFQUFDLElBQUksRUFBRSxFQUFFLEVBQUMsQ0FBQztvQkFDckMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUMxQixTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUNyQixJQUFJLEdBQUcsT0FBTyxDQUFDO2lCQUNoQjtnQkFDQyxNQUFNO1lBQ1IsS0FBSyxHQUFHO2dCQUFFLEVBQUUsaUJBQWlCO29CQUMzQixNQUFNLE9BQU8sR0FBYSxFQUFDLElBQUksRUFBRSxFQUFFLEVBQUMsQ0FBQztvQkFDckMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDeEQsSUFBSSxHQUFHLE9BQU8sQ0FBQztpQkFDaEI7Z0JBQ0MsTUFBTTtZQUNSLEtBQUssR0FBRyxFQUFFLHFCQUFxQjtnQkFDN0IsSUFBSSxHQUFHLFNBQVMsQ0FBQyxHQUFHLEVBQUcsQ0FBQztnQkFDeEIsTUFBTTtZQUNSLEtBQUssR0FBRyxFQUFFLHVCQUF1QjtnQkFDL0IsTUFBTTtZQUNSO2dCQUNFLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHO29CQUNsQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztxQkFDZixJQUFJLENBQUMsSUFBSSxHQUFHO29CQUNmLElBQUksQ0FBQyxhQUFhLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzFDO0tBQ0Y7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBncm9rIGZyb20gJ2RhdGFncm9rLWFwaS9ncm9rJztcbmltcG9ydCAqIGFzIHVpIGZyb20gJ2RhdGFncm9rLWFwaS91aSc7XG5pbXBvcnQgKiBhcyBERyBmcm9tICdkYXRhZ3Jvay1hcGkvZGcnO1xuXG4vLyBodHRwczovL2dpdGxhYi5jb20vY2dwcy9waHlsb2NhbnZhcy9waHlsb2NhbnZhcy5nbFxuXG5pbXBvcnQge05vZGVUeXBlfSBmcm9tICcuL2luZGV4JztcblxuZXhwb3J0IGNvbnN0IFRyZWVUeXBlcyA9IHtcbiAgQ2lyY3VsYXI6ICdjcicsXG4gIERpYWdvbmFsOiAnZGcnLFxuICBIaWVyYXJjaGljYWw6ICdocicsXG4gIFJhZGlhbDogJ3JkJyxcbiAgUmVjdGFuZ3VsYXI6ICdyYycsXG59O1xuXG5leHBvcnQgY29uc3QgU2hhcGVzID0ge1xuICBDaGV2cm9uOiAnY2hldnJvbicsXG4gIENoZXZyb25JbnZlcnRlZDogJ2NoZXZyb24taW52ZXJ0ZWQnLFxuICBDaGV2cm9uTGVmdDogJ2NoZXZyb24tbGVmdCcsXG4gIENoZXZyb25SaWdodDogJ2NoZXZyb24tcmlnaHQnLFxuICBDaXJjbGU6ICdjaXJjbGUnLFxuICBDcm9zczogJ2Nyb3NzJyxcbiAgRGlhbW9uZDogJ2RpYW1vbmQnLFxuICBEb3Q6ICdkb3QnLFxuICBEb3VibGVDaGV2cm9uOiAnZG91YmxlLWNoZXZyb24nLFxuICBEb3VibGVDaGV2cm9uSW52ZXJ0ZWQ6ICdkb3VibGUtY2hldnJvbi1pbnZlcnRlZCcsXG4gIERvdWJsZUNoZXZyb25MZWZ0OiAnZG91YmxlLWNoZXZyb24tbGVmdCcsXG4gIERvdWJsZUNoZXZyb25SaWdodDogJ2RvdWJsZS1jaGV2cm9uLXJpZ2h0JyxcbiAgSGVwdGFnb246ICdoZXB0YWdvbicsXG4gIEhlcHRhZ29uSW52ZXJ0ZWQ6ICdoZXB0YWdvbi1pbnZlcnRlZCcsXG4gIEhlcHRhZ3JhbTogJ2hlcHRhZ3JhbScsXG4gIEhlcHRhZ3JhbUludmVydGVkOiAnaGVwdGFncmFtLWludmVydGVkJyxcbiAgSGV4YWdvbjogJ2hleGFnb24nLFxuICBIZXhhZ3JhbTogJ2hleGFncmFtJyxcbiAgT2N0YWdvbjogJ29jdGFnb24nLFxuICBPY3RhZ3JhbTogJ29jdGFncmFtJyxcbiAgUGVudGFnb246ICdwZW50YWdvbicsXG4gIFBlbnRhZ29uSW52ZXJ0ZWQ6ICdwZW50YWdvbi1pbnZlcnRlZCcsXG4gIFBlbnRhZ3JhbTogJ3BlbnRhZ3JhbScsXG4gIFBlbnRhZ3JhbUludmVydGVkOiAncGVudGFncmFtLWludmVydGVkJyxcbiAgUGx1czogJ3BsdXMnLFxuICBTcXVhcmU6ICdzcXVhcmUnLFxuICBTdGFyOiAncGVudGFncmFtJyxcbiAgU3RhckludmVydGVkOiAncGVudGFncmFtLWludmVydGVkJyxcbiAgVGV0cmFncmFtOiAndGV0cmFncmFtJyxcbiAgVHJpYW5nbGU6ICd0cmlhbmdsZScsXG4gIFRyaWFuZ2xlSW52ZXJ0ZWQ6ICd0cmlhbmdsZS1pbnZlcnRlZCcsXG4gIFRyaWFuZ2xlTGVmdDogJ3RyaWFuZ2xlLWxlZnQnLFxuICBUcmlhbmdsZVJpZ2h0OiAndHJpYW5nbGUtcmlnaHQnLFxuICBXeWU6ICd3eWUnLFxuICBXeWVJbnZlcnRlZDogJ3d5ZS1pbnZlcnRlZCcsXG59O1xuXG4vKiogUmVwcmVzZW50cyBhIHNpbmdsZSB0cmVlIG5vZGUgKi9cbmV4cG9ydCB0eXBlIFBoeWxvY2FudmFzVHJlZU5vZGUgPSBOb2RlVHlwZSAmIHtcbiAgYnJhbmNoTGVuZ3RoOiBudW1iZXIsXG4gIGNoaWxkcmVuOiBQaHlsb2NhbnZhc1RyZWVOb2RlW10sXG4gIHBhcmVudD86IFBoeWxvY2FudmFzVHJlZU5vZGUsXG4gIGlkOiBzdHJpbmcsXG4gIGlzQ29sbGFwc2VkOiBib29sZWFuLFxuICBpc0hpZGRlbjogYm9vbGVhbixcbiAgaXNMZWFmOiBib29sZWFuLFxuICBuYW1lPzogc3RyaW5nLFxuICBwb3N0SW5kZXg6IG51bWJlcixcbiAgcHJlSW5kZXg6IG51bWJlcixcbiAgdG90YWxMZWF2ZXM6IG51bWJlcixcbiAgdG90YWxOb2RlczogbnVtYmVyLFxuICB0b3RhbFN1YnRyZWVMZW5ndGg6IG51bWJlcixcbiAgdmlzaWJsZUxlYXZlczogbnVtYmVyLFxufVxuXG4vKiogQmFzZWQgb24gcGh5bG9jYW52YXMuZ2wgKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZU5ld2ljayhzOiBzdHJpbmcpOiBOb2RlVHlwZSB7XG4gIGNvbnN0IGFuY2VzdG9ycyA9IFtdO1xuICBsZXQgdHJlZTogTm9kZVR5cGUgPSB7bmFtZTogJyd9O1xuICBjb25zdCB0b2tlbnMgPSBzLnNwbGl0KC9cXHMqKDt8XFwofFxcKXwsfDopXFxzKi8pO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHRva2Vucy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IHRva2VuID0gdG9rZW5zW2ldO1xuICAgIHN3aXRjaCAodG9rZW4pIHtcbiAgICBjYXNlICcoJzogeyAvLyBuZXcgY2hpbGRyZW5cbiAgICAgIGNvbnN0IHN1YnRyZWU6IE5vZGVUeXBlID0ge25hbWU6ICcnfTtcbiAgICAgIHRyZWUuY2hpbGRyZW4gPSBbc3VidHJlZV07XG4gICAgICBhbmNlc3RvcnMucHVzaCh0cmVlKTtcbiAgICAgIHRyZWUgPSBzdWJ0cmVlO1xuICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJywnOiB7IC8vIGFub3RoZXIgYnJhbmNoXG4gICAgICBjb25zdCBzdWJ0cmVlOiBOb2RlVHlwZSA9IHtuYW1lOiAnJ307XG4gICAgICBhbmNlc3RvcnNbYW5jZXN0b3JzLmxlbmd0aCAtIDFdLmNoaWxkcmVuIS5wdXNoKHN1YnRyZWUpO1xuICAgICAgdHJlZSA9IHN1YnRyZWU7XG4gICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnKSc6IC8vIG9wdGlvbmFsIG5hbWUgbmV4dFxuICAgICAgdHJlZSA9IGFuY2VzdG9ycy5wb3AoKSE7XG4gICAgICBicmVhaztcbiAgICBjYXNlICc6JzogLy8gb3B0aW9uYWwgbGVuZ3RoIG5leHRcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICBjb25zdCB4ID0gdG9rZW5zW2kgLSAxXTtcbiAgICAgIGlmICh4ID09ICcpJyB8fCB4ID09ICcoJyB8fCB4ID09ICcsJylcbiAgICAgICAgdHJlZS5uYW1lID0gdG9rZW47XG4gICAgICBlbHNlIGlmICh4ID09ICc6JylcbiAgICAgICAgdHJlZS5icmFuY2hfbGVuZ3RoID0gcGFyc2VGbG9hdCh0b2tlbik7XG4gICAgfVxuICB9XG4gIHJldHVybiB0cmVlO1xufVxuIl19
@@ -1,5 +1,5 @@
1
1
  import * as DG from 'datagrok-api/dg';
2
- import { NodeCuttedType, NodeType } from '../types';
2
+ import { NodeCuttedType, NodeType } from './index';
3
3
  export interface ITreeHelper {
4
4
  /** Generates data frame with row per node, parent relation, distance, annotation
5
5
  * @param {string} newick Newick format data
@@ -11,9 +11,18 @@ export interface ITreeHelper {
11
11
  toNewick(node: NodeType | null): string;
12
12
  getLeafList<TNode extends NodeType>(node: TNode): TNode[];
13
13
  getNodeList<TNode extends NodeType>(node: TNode): TNode[];
14
- treeFilterByLeaves(node: NodeType, leaves: {
14
+ /** Filters tree by leaves (by set).
15
+ * An internal node will be eliminated only if all its subs (children/leaves) are filtered out by {link @leaves}.
16
+ */
17
+ filterTreeByLeaves(node: NodeType, leaves: {
15
18
  [name: string]: any;
16
19
  }): NodeType | null;
20
+ /** Collects nodes by leaves (by set).
21
+ * Node will be returned only if all its subs (children/leaves) are present in {@link leaves}.
22
+ */
23
+ getNodesByLeaves<TNode extends NodeType>(node: TNode, leaves: {
24
+ [name: string]: any;
25
+ }): TNode[];
17
26
  treeCutAsLeaves(node: NodeType, cutHeight: number, currentHeight?: number): NodeType[];
18
27
  treeCutAsTree(node: NodeType, cutHeight: number, keepShorts?: boolean, currentHeight?: number): NodeType | null;
19
28
  /** Reorder the grid's rows according to the leaves' order in the tree.
@@ -29,6 +38,8 @@ export interface ITreeHelper {
29
38
  * @param {string|null} leafColName Column name for leaf name in newick, null - use row index
30
39
  */
31
40
  cutTreeToGrid(node: NodeType, cutHeight: number, dataDf: DG.DataFrame, leafColName: string, clusterColName: string, na?: any): void;
41
+ /** Generate tree structures with {@link size} nodes number (counting internal).*/
42
+ generateTree(size: number): NodeType;
32
43
  }
33
44
  export declare function getTreeHelper(): Promise<ITreeHelper>;
34
45
  //# sourceMappingURL=tree-helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree-helper.d.ts","sourceRoot":"","sources":["tree-helper.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,cAAc,EAAE,QAAQ,EAAC,MAAM,SAAS,CAAC;AAGjD,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC;IAE3G,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAC;IAExC,WAAW,CAAC,KAAK,SAAS,QAAQ,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK,EAAE,CAAC;IAE1D,WAAW,CAAC,KAAK,SAAS,QAAQ,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK,EAAE,CAAC;IAE1D;;OAEG;IACH,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,QAAQ,GAAG,IAAI,CAAC;IAErF;;OAEG;IACH,gBAAgB,CAAC,KAAK,SAAS,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,KAAK,EAAE,CAAC;IAEhG,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE,CAAC;IAEvF,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;IAEhH;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAE9F,YAAY,CAAC,IAAI,EAAE,cAAc,EAC/B,MAAM,EAAE,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;IAE5F;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,cAAc,EAChC,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAErF;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,SAAS,EACnE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;IAE/D,kFAAkF;IAClF,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;CACtC;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,WAAW,CAAC,CAO1D"}
@@ -0,0 +1,20 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import * as DG from 'datagrok-api/dg';
11
+ export function getTreeHelper() {
12
+ return __awaiter(this, void 0, void 0, function* () {
13
+ const funcList = DG.Func.find({ package: 'Dendrogram', name: 'getTreeHelper' });
14
+ if (funcList.length === 0)
15
+ throw new Error('Package "PhyloTreeViewer"" must be installed for TreeHelper.');
16
+ const res = (yield funcList[0].prepare().call()).getOutputParamValue();
17
+ return res;
18
+ });
19
+ }
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0cmVlLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFFQSxPQUFPLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBMER0QyxNQUFNLFVBQWdCLGFBQWE7O1FBQ2pDLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFDLENBQUMsQ0FBQztRQUM5RSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLDhEQUE4RCxDQUFDLENBQUM7UUFFbEYsTUFBTSxHQUFHLEdBQWdCLENBQUMsTUFBTSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxtQkFBbUIsRUFBaUIsQ0FBQztRQUNuRyxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGdyb2sgZnJvbSAnZGF0YWdyb2stYXBpL2dyb2snO1xuaW1wb3J0ICogYXMgdWkgZnJvbSAnZGF0YWdyb2stYXBpL3VpJztcbmltcG9ydCAqIGFzIERHIGZyb20gJ2RhdGFncm9rLWFwaS9kZyc7XG5cbmltcG9ydCB7Tm9kZUN1dHRlZFR5cGUsIE5vZGVUeXBlfSBmcm9tICcuL2luZGV4JztcblxuXG5leHBvcnQgaW50ZXJmYWNlIElUcmVlSGVscGVyIHtcbiAgLyoqIEdlbmVyYXRlcyBkYXRhIGZyYW1lIHdpdGggcm93IHBlciBub2RlLCBwYXJlbnQgcmVsYXRpb24sIGRpc3RhbmNlLCBhbm5vdGF0aW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuZXdpY2sgICAgICAgICAgICAgICAgTmV3aWNrIGZvcm1hdCBkYXRhXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lICAgICAgICAgICAgICAgICAgUmVzdWx0IGRhdGEgZnJhbWUgbmFtZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gbm9kZVByZWZpeCAgICAgICAgICAgIFByZWZpeCBmb3Igbm9kZXMgd2l0aCBhdXRvIGdlbmVyYXRlZCBuYW1lICAgKlxuICAgKiBAcGFyYW0ge2Jvb2x9ICAgZW1wdHlQYXJlbnRSb290U2tpcCAgIFNraXAgcm93IHdpdGggcm9vdCBub2RlIGFuZCBlbXB0eSBwYXJlbnQgKGZvciBOZXR3b3JrIERpYWdyYW0pXG4gICAqL1xuICBuZXdpY2tUb0RmKG5ld2ljazogc3RyaW5nLCBuYW1lOiBzdHJpbmcsIG5vZGVQcmVmaXg/OiBzdHJpbmcsIGVtcHR5UGFyZW50Um9vdFNraXA/OiBib29sZWFuKTogREcuRGF0YUZyYW1lO1xuXG4gIHRvTmV3aWNrKG5vZGU6IE5vZGVUeXBlIHwgbnVsbCk6IHN0cmluZztcblxuICBnZXRMZWFmTGlzdDxUTm9kZSBleHRlbmRzIE5vZGVUeXBlPihub2RlOiBUTm9kZSk6IFROb2RlW107XG5cbiAgZ2V0Tm9kZUxpc3Q8VE5vZGUgZXh0ZW5kcyBOb2RlVHlwZT4obm9kZTogVE5vZGUpOiBUTm9kZVtdO1xuXG4gIC8qKiBGaWx0ZXJzIHRyZWUgYnkgbGVhdmVzIChieSBzZXQpLlxuICAgKiBBbiBpbnRlcm5hbCBub2RlIHdpbGwgYmUgZWxpbWluYXRlZCBvbmx5IGlmIGFsbCBpdHMgc3VicyAoY2hpbGRyZW4vbGVhdmVzKSBhcmUgZmlsdGVyZWQgb3V0IGJ5IHtsaW5rIEBsZWF2ZXN9LlxuICAgKi9cbiAgZmlsdGVyVHJlZUJ5TGVhdmVzKG5vZGU6IE5vZGVUeXBlLCBsZWF2ZXM6IHsgW25hbWU6IHN0cmluZ106IGFueSB9KTogTm9kZVR5cGUgfCBudWxsO1xuXG4gIC8qKiBDb2xsZWN0cyBub2RlcyBieSBsZWF2ZXMgKGJ5IHNldCkuXG4gICAqIE5vZGUgd2lsbCBiZSByZXR1cm5lZCBvbmx5IGlmIGFsbCBpdHMgc3VicyAoY2hpbGRyZW4vbGVhdmVzKSBhcmUgcHJlc2VudCBpbiB7QGxpbmsgbGVhdmVzfS5cbiAgICovXG4gIGdldE5vZGVzQnlMZWF2ZXM8VE5vZGUgZXh0ZW5kcyBOb2RlVHlwZT4obm9kZTogVE5vZGUsIGxlYXZlczogeyBbbmFtZTogc3RyaW5nXTogYW55IH0pOiBUTm9kZVtdO1xuXG4gIHRyZWVDdXRBc0xlYXZlcyhub2RlOiBOb2RlVHlwZSwgY3V0SGVpZ2h0OiBudW1iZXIsIGN1cnJlbnRIZWlnaHQ/OiBudW1iZXIpOiBOb2RlVHlwZVtdO1xuXG4gIHRyZWVDdXRBc1RyZWUobm9kZTogTm9kZVR5cGUsIGN1dEhlaWdodDogbnVtYmVyLCBrZWVwU2hvcnRzPzogYm9vbGVhbiwgY3VycmVudEhlaWdodD86IG51bWJlcik6IE5vZGVUeXBlIHwgbnVsbDtcblxuICAvKiogUmVvcmRlciB0aGUgZ3JpZCdzIHJvd3MgYWNjb3JkaW5nIHRvIHRoZSBsZWF2ZXMnIG9yZGVyIGluIHRoZSB0cmVlLlxuICAgKiBAcGFyYW0ge3N0cmluZ3xudWxsfSBsZWFmQ29sTmFtZSBDb2x1bW4gbmFtZSBmb3IgbGVhZiBuYW1lIGluIG5ld2ljaywgbnVsbCAtIHVzZSByb3cgaW5kZXhcbiAgICovXG4gIHNldEdyaWRPcmRlcih0cmVlOiBOb2RlVHlwZSwgZ3JpZDogREcuR3JpZCwgbGVhZkNvbE5hbWU6IHN0cmluZyB8IG51bGwpOiBbTm9kZVR5cGUsIHN0cmluZ1tdXTtcblxuICBtYXJrQ2x1c3RlcnModHJlZTogTm9kZUN1dHRlZFR5cGUsXG4gICAgZGF0YURmOiBERy5EYXRhRnJhbWUsIGxlYWZDb2xOYW1lOiBzdHJpbmcgfCBudWxsLCBjbHVzdGVyQ29sTmFtZTogc3RyaW5nLCBuYT86IGFueSk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfG51bGx9IGxlYWZDb2xOYW1lIENvbHVtbiBuYW1lIGZvciBsZWFmIG5hbWUgaW4gbmV3aWNrLCBudWxsIC0gdXNlIHJvdyBpbmRleFxuICAgKi9cbiAgYnVpbGRDbHVzdGVycyh0cmVlOiBOb2RlQ3V0dGVkVHlwZSxcbiAgICBjbHVzdGVyRGY6IERHLkRhdGFGcmFtZSwgY2x1c3RlckNvbE5hbWU6IHN0cmluZywgbGVhZkNvbE5hbWU6IHN0cmluZyB8IG51bGwpOiB2b2lkO1xuXG4gIC8qKiBNb2RpZmllcyB0aGUgdHJlZSAoe0BsaW5rIG5vZGV9KSBjdXR0aW5nIGF0IHtAbGluayBjdXRIZWlnaHR9IGNyZWF0aW5nIGV4dHJhIG5vZGVzLlxuICAgKiBAcGFyYW0ge3N0cmluZ3xudWxsfSBsZWFmQ29sTmFtZSBDb2x1bW4gbmFtZSBmb3IgbGVhZiBuYW1lIGluIG5ld2ljaywgbnVsbCAtIHVzZSByb3cgaW5kZXhcbiAgICovXG4gIGN1dFRyZWVUb0dyaWQobm9kZTogTm9kZVR5cGUsIGN1dEhlaWdodDogbnVtYmVyLCBkYXRhRGY6IERHLkRhdGFGcmFtZSxcbiAgICBsZWFmQ29sTmFtZTogc3RyaW5nLCBjbHVzdGVyQ29sTmFtZTogc3RyaW5nLCBuYT86IGFueSk6IHZvaWQ7XG5cbiAgLyoqIEdlbmVyYXRlIHRyZWUgc3RydWN0dXJlcyB3aXRoIHtAbGluayBzaXplfSBub2RlcyBudW1iZXIgKGNvdW50aW5nIGludGVybmFsKS4qL1xuICBnZW5lcmF0ZVRyZWUoc2l6ZTogbnVtYmVyKTogTm9kZVR5cGU7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRUcmVlSGVscGVyKCk6IFByb21pc2U8SVRyZWVIZWxwZXI+IHtcbiAgY29uc3QgZnVuY0xpc3QgPSBERy5GdW5jLmZpbmQoe3BhY2thZ2U6ICdEZW5kcm9ncmFtJywgbmFtZTogJ2dldFRyZWVIZWxwZXInfSk7XG4gIGlmIChmdW5jTGlzdC5sZW5ndGggPT09IDApXG4gICAgdGhyb3cgbmV3IEVycm9yKCdQYWNrYWdlIFwiUGh5bG9UcmVlVmlld2VyXCJcIiBtdXN0IGJlIGluc3RhbGxlZCBmb3IgVHJlZUhlbHBlci4nKTtcblxuICBjb25zdCByZXM6IElUcmVlSGVscGVyID0gKGF3YWl0IGZ1bmNMaXN0WzBdLnByZXBhcmUoKS5jYWxsKCkpLmdldE91dHB1dFBhcmFtVmFsdWUoKSBhcyBJVHJlZUhlbHBlcjtcbiAgcmV0dXJuIHJlcztcbn1cbiJdfQ==
@@ -1,14 +1,4 @@
1
1
  import { Observable } from 'rxjs';
2
- export interface NodeType {
3
- name: string;
4
- branch_length?: number;
5
- children?: NodeType[];
6
- }
7
- export declare function isLeaf(node: NodeType): boolean;
8
- export interface NodeCuttedType extends NodeType {
9
- cuttedLeafNameList: string[];
10
- cuttedChildren?: NodeType[];
11
- }
12
2
  export type Monomer = {
13
3
  symbol: string;
14
4
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,UAAU,EAAC,MAAM,MAAM,CAAC;AAIhC,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,QAAQ,WAEpC;AAED,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC9C,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC;CAC7B;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/F,IAAI,EAAE;QAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,CAAA;CAChC,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IACrE,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG;QAAC,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,GAAG,IAAI,CAAC;IACtE,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC9C,QAAQ,IAAI,MAAM,EAAE,CAAC;IACrB,MAAM,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/B,IAAI,SAAS,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;CAClC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,UAAU,EAAC,MAAM,MAAM,CAAC;AAGhC,MAAM,MAAM,OAAO,GAAG;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/F,IAAI,EAAE;QAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,CAAA;CAChC,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IACrE,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG;QAAC,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,GAAG,IAAI,CAAC;IACtE,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC9C,QAAQ,IAAI,MAAM,EAAE,CAAC;IACrB,MAAM,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/B,IAAI,SAAS,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;CAClC"}
@@ -1,5 +1,2 @@
1
- // import {NodeType} from '@phylocanvas/phylocanvas.gl';
2
- export function isLeaf(node) {
3
- return !node.children || node.children.length == 0;
4
- }
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx3REFBd0Q7QUFZeEQsTUFBTSxVQUFVLE1BQU0sQ0FBQyxJQUFjO0lBQ25DLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztBQUNyRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaW1wb3J0IHtOb2RlVHlwZX0gZnJvbSAnQHBoeWxvY2FudmFzL3BoeWxvY2FudmFzLmdsJztcblxuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuXG4vKiBJbnRlcmZhY2UgZm9yIGhpZXJhcmNoaWNhbCBkYXRhIHN0cnVjdHVyZSByZXR1cm5lZCBieSBOZXdpY2sucGFyc2VfbmV3aWNrICovXG5leHBvcnQgaW50ZXJmYWNlIE5vZGVUeXBlIHtcbiAgbmFtZTogc3RyaW5nO1xuICBicmFuY2hfbGVuZ3RoPzogbnVtYmVyO1xuICBjaGlsZHJlbj86IE5vZGVUeXBlW107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0xlYWYobm9kZTogTm9kZVR5cGUpIHtcbiAgcmV0dXJuICFub2RlLmNoaWxkcmVuIHx8IG5vZGUuY2hpbGRyZW4ubGVuZ3RoID09IDA7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm9kZUN1dHRlZFR5cGUgZXh0ZW5kcyBOb2RlVHlwZSB7XG4gIGN1dHRlZExlYWZOYW1lTGlzdDogc3RyaW5nW107XG4gIGN1dHRlZENoaWxkcmVuPzogTm9kZVR5cGVbXTtcbn1cblxuZXhwb3J0IHR5cGUgTW9ub21lciA9IHtcbiAgc3ltYm9sOiBzdHJpbmcsXG4gIG5hbWU6IHN0cmluZyxcbiAgbmF0dXJhbEFuYWxvZzogc3RyaW5nLFxuICBtb2xmaWxlOiBzdHJpbmcsXG4gIHBvbHltZXJUeXBlOiBzdHJpbmcsXG4gIG1vbm9tZXJUeXBlOiBzdHJpbmcsXG4gIHJncm91cHM6IHtjYXBHcm91cFNtaWxlczogc3RyaW5nLCBhbHRlcm5hdGVJZDogc3RyaW5nLCBjYXBHcm91cE5hbWU6IHN0cmluZywgbGFiZWw6IHN0cmluZyB9W10sXG4gIGRhdGE6IHtbcHJvcGVydHk6IHN0cmluZ106IGFueX1cbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU1vbm9tZXJMaWIge1xuICBnZXRNb25vbWVyKG1vbm9tZXJUeXBlOiBzdHJpbmcsIG1vbm9tZXJOYW1lOiBzdHJpbmcpOiBNb25vbWVyIHwgbnVsbDtcbiAgZ2V0TW9ub21lck1vbHNCeVR5cGUodHlwZTogc3RyaW5nKToge1tzeW1ib2w6IHN0cmluZ106IHN0cmluZ30gfCBudWxsO1xuICBnZXRNb25vbWVyTmFtZXNCeVR5cGUodHlwZTogc3RyaW5nKTogc3RyaW5nW107XG4gIGdldFR5cGVzKCk6IHN0cmluZ1tdO1xuICB1cGRhdGUobGliOiBJTW9ub21lckxpYik6IHZvaWQ7XG4gIGdldCBvbkNoYW5nZWQoKTogT2JzZXJ2YWJsZTxhbnk+O1xufVxuIl19
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZ3JvayBmcm9tICdkYXRhZ3Jvay1hcGkvZ3Jvayc7XG5pbXBvcnQgKiBhcyB1aSBmcm9tICdkYXRhZ3Jvay1hcGkvdWknO1xuaW1wb3J0ICogYXMgREcgZnJvbSAnZGF0YWdyb2stYXBpL2RnJztcblxuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuXG5leHBvcnQgdHlwZSBNb25vbWVyID0ge1xuICBzeW1ib2w6IHN0cmluZyxcbiAgbmFtZTogc3RyaW5nLFxuICBuYXR1cmFsQW5hbG9nOiBzdHJpbmcsXG4gIG1vbGZpbGU6IHN0cmluZyxcbiAgcG9seW1lclR5cGU6IHN0cmluZyxcbiAgbW9ub21lclR5cGU6IHN0cmluZyxcbiAgcmdyb3Vwczoge2NhcEdyb3VwU21pbGVzOiBzdHJpbmcsIGFsdGVybmF0ZUlkOiBzdHJpbmcsIGNhcEdyb3VwTmFtZTogc3RyaW5nLCBsYWJlbDogc3RyaW5nIH1bXSxcbiAgZGF0YToge1twcm9wZXJ0eTogc3RyaW5nXTogYW55fVxufTtcblxuZXhwb3J0IGludGVyZmFjZSBJTW9ub21lckxpYiB7XG4gIGdldE1vbm9tZXIobW9ub21lclR5cGU6IHN0cmluZywgbW9ub21lck5hbWU6IHN0cmluZyk6IE1vbm9tZXIgfCBudWxsO1xuICBnZXRNb25vbWVyTW9sc0J5VHlwZSh0eXBlOiBzdHJpbmcpOiB7W3N5bWJvbDogc3RyaW5nXTogc3RyaW5nfSB8IG51bGw7XG4gIGdldE1vbm9tZXJOYW1lc0J5VHlwZSh0eXBlOiBzdHJpbmcpOiBzdHJpbmdbXTtcbiAgZ2V0VHlwZXMoKTogc3RyaW5nW107XG4gIHVwZGF0ZShsaWI6IElNb25vbWVyTGliKTogdm9pZDtcbiAgZ2V0IG9uQ2hhbmdlZCgpOiBPYnNlcnZhYmxlPGFueT47XG59XG4iXX0=
@@ -1,196 +0,0 @@
1
- // https://gitlab.com/cgps/phylocanvas/phylocanvas.gl
2
- export const TreeTypes = {
3
- Circular: 'cr',
4
- Diagonal: 'dg',
5
- Hierarchical: 'hr',
6
- Radial: 'rd',
7
- Rectangular: 'rc',
8
- };
9
- export const Shapes = {
10
- Chevron: 'chevron',
11
- ChevronInverted: 'chevron-inverted',
12
- ChevronLeft: 'chevron-left',
13
- ChevronRight: 'chevron-right',
14
- Circle: 'circle',
15
- Cross: 'cross',
16
- Diamond: 'diamond',
17
- Dot: 'dot',
18
- DoubleChevron: 'double-chevron',
19
- DoubleChevronInverted: 'double-chevron-inverted',
20
- DoubleChevronLeft: 'double-chevron-left',
21
- DoubleChevronRight: 'double-chevron-right',
22
- Heptagon: 'heptagon',
23
- HeptagonInverted: 'heptagon-inverted',
24
- Heptagram: 'heptagram',
25
- HeptagramInverted: 'heptagram-inverted',
26
- Hexagon: 'hexagon',
27
- Hexagram: 'hexagram',
28
- Octagon: 'octagon',
29
- Octagram: 'octagram',
30
- Pentagon: 'pentagon',
31
- PentagonInverted: 'pentagon-inverted',
32
- Pentagram: 'pentagram',
33
- PentagramInverted: 'pentagram-inverted',
34
- Plus: 'plus',
35
- Square: 'square',
36
- Star: 'pentagram',
37
- StarInverted: 'pentagram-inverted',
38
- Tetragram: 'tetragram',
39
- Triangle: 'triangle',
40
- TriangleInverted: 'triangle-inverted',
41
- TriangleLeft: 'triangle-left',
42
- TriangleRight: 'triangle-right',
43
- Wye: 'wye',
44
- WyeInverted: 'wye-inverted',
45
- };
46
- /*
47
-
48
- // https://en.wikipedia.org/wiki/Tree_traversal#Post-order
49
- function getPostorderTraversal<TNode extends NodeType>(rootNode: TNode): TNode[] {
50
- const nodes: TNode[] = [];
51
- const queue: TNode[] = [rootNode];
52
-
53
- while (queue.length) {
54
- const node: TNode = queue.pop()!;
55
- if (node.children)
56
- Array.prototype.push.apply(queue, node.children);
57
- nodes.push(node);
58
- }
59
-
60
- return nodes.reverse();
61
- }
62
-
63
- // https://en.wikipedia.org/wiki/Tree_traversal#Pre-order
64
- function getPreorderTraversal<TNode extends NodeType>(rootNode: TNode): TNode[] {
65
- const nodes: TNode[] = [];
66
- const queue: TNode[] = [rootNode];
67
-
68
- while (queue.length) {
69
- const node: TNode = queue.shift()!;
70
- nodes.push(node);
71
- if (node.children)
72
- Array.prototype.unshift.apply(queue, node.children);
73
- }
74
-
75
- return nodes;
76
- }
77
-
78
- export function treeTraversal(rootNode: PhylocanvasTreeNode, {trimQuotes = true} = {}) {
79
- performance.mark('getPostorderTraversal');
80
- const postorderTraversal = getPostorderTraversal(rootNode);
81
- performance.measure(' getPostorderTraversal', 'getPostorderTraversal');
82
- performance.mark('getPreorderTraversal');
83
- const preorderTraversal = getPreorderTraversal(rootNode);
84
- performance.measure(' getPreorderTraversal', 'getPreorderTraversal');
85
-
86
- // Detect cladograms
87
- const isCladogram = postorderTraversal.every((x) => (x.branchLength || x.branch_length || 0) === 0);
88
- if (isCladogram) {
89
- rootNode.branchLength = 0;
90
- for (let nodeIndex = 0; nodeIndex < preorderTraversal.length; nodeIndex++) {
91
- const node = preorderTraversal[nodeIndex];
92
- if (node.children) {
93
- for (const child of node.children)
94
- child.branchLength = node.branchLength + 1;
95
- }
96
- }
97
- }
98
-
99
- performance.mark('bottom-up traversal');
100
- // bottom-up traversal starting from leaves to root
101
- for (let nodeIndex = 0; nodeIndex < postorderTraversal.length; nodeIndex++) {
102
- const node: PhylocanvasTreeNode = postorderTraversal[nodeIndex];
103
- node.postIndex = nodeIndex;
104
- node.isLeaf = !Array.isArray(node.children);
105
- node.branchLength = Math.abs(node.branchLength || node.branch_length || 0);
106
- delete node.branch_length;
107
- if (node.isLeaf && typeof node.name === 'string') {
108
- if (trimQuotes)
109
- node.id = node.name.trim().replace(/^['"]|['"]$/g, '');
110
- else
111
- node.id = node.name;
112
-
113
- // @ts-ignore
114
- delete node.name;
115
- }
116
- node.totalNodes = 1;
117
- node.totalLeaves = 1;
118
- node.totalSubtreeLength = 0;
119
- if (!node.isLeaf) {
120
- node.totalNodes = 1;
121
- node.totalLeaves = 0;
122
- let totalSubtreeLength = 0;
123
- for (const child of node.children) {
124
- node.totalNodes += child.totalNodes;
125
- node.totalLeaves += child.totalLeaves;
126
- if (child.totalSubtreeLength + child.branchLength > totalSubtreeLength)
127
- totalSubtreeLength = child.totalSubtreeLength + child.branchLength;
128
- child.parent = node;
129
- }
130
- node.totalSubtreeLength = totalSubtreeLength;
131
- }
132
- }
133
- performance.measure(' bottom-up traversal', 'bottom-up traversal');
134
-
135
- performance.mark('top-down traversal');
136
- const nodeById: { [id: string]: PhylocanvasTreeNode } = {};
137
- // top-down traversal starting from root to leaves
138
- for (let nodeIndex = 0; nodeIndex < preorderTraversal.length; nodeIndex++) {
139
- const node = preorderTraversal[nodeIndex];
140
- node.preIndex = nodeIndex;
141
- if (!node.id)
142
- node.id = nodeIndex.toString();
143
- nodeById[node.id] = node;
144
- node.visibleLeaves = node.totalLeaves;
145
- node.isCollapsed = false;
146
- node.isHidden = false;
147
- }
148
- performance.measure(' top-down traversal', 'top-down traversal');
149
-
150
- return {
151
- nodeById,
152
- rootNode,
153
- postorderTraversal,
154
- preorderTraversal,
155
- };
156
- }
157
-
158
- /**/
159
- export function parseNewick(s) {
160
- const ancestors = [];
161
- let tree = { name: '' };
162
- const tokens = s.split(/\s*(;|\(|\)|,|:)\s*/);
163
- for (let i = 0; i < tokens.length; i++) {
164
- const token = tokens[i];
165
- switch (token) {
166
- case '(':
167
- { // new children
168
- const subtree = { name: '' };
169
- tree.children = [subtree];
170
- ancestors.push(tree);
171
- tree = subtree;
172
- }
173
- break;
174
- case ',':
175
- { // another branch
176
- const subtree = { name: '' };
177
- ancestors[ancestors.length - 1].children.push(subtree);
178
- tree = subtree;
179
- }
180
- break;
181
- case ')': // optional name next
182
- tree = ancestors.pop();
183
- break;
184
- case ':': // optional length next
185
- break;
186
- default:
187
- const x = tokens[i - 1];
188
- if (x == ')' || x == '(' || x == ',')
189
- tree.name = token;
190
- else if (x == ':')
191
- tree.branch_length = parseFloat(token);
192
- }
193
- }
194
- return tree;
195
- }
196
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGh5bG9jYW52YXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJwaHlsb2NhbnZhcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxREFBcUQ7QUFJckQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHO0lBQ3ZCLFFBQVEsRUFBRSxJQUFJO0lBQ2QsUUFBUSxFQUFFLElBQUk7SUFDZCxZQUFZLEVBQUUsSUFBSTtJQUNsQixNQUFNLEVBQUUsSUFBSTtJQUNaLFdBQVcsRUFBRSxJQUFJO0NBQ2xCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUc7SUFDcEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsZUFBZSxFQUFFLGtCQUFrQjtJQUNuQyxXQUFXLEVBQUUsY0FBYztJQUMzQixZQUFZLEVBQUUsZUFBZTtJQUM3QixNQUFNLEVBQUUsUUFBUTtJQUNoQixLQUFLLEVBQUUsT0FBTztJQUNkLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLEdBQUcsRUFBRSxLQUFLO0lBQ1YsYUFBYSxFQUFFLGdCQUFnQjtJQUMvQixxQkFBcUIsRUFBRSx5QkFBeUI7SUFDaEQsaUJBQWlCLEVBQUUscUJBQXFCO0lBQ3hDLGtCQUFrQixFQUFFLHNCQUFzQjtJQUMxQyxRQUFRLEVBQUUsVUFBVTtJQUNwQixnQkFBZ0IsRUFBRSxtQkFBbUI7SUFDckMsU0FBUyxFQUFFLFdBQVc7SUFDdEIsaUJBQWlCLEVBQUUsb0JBQW9CO0lBQ3ZDLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLGdCQUFnQixFQUFFLG1CQUFtQjtJQUNyQyxTQUFTLEVBQUUsV0FBVztJQUN0QixpQkFBaUIsRUFBRSxvQkFBb0I7SUFDdkMsSUFBSSxFQUFFLE1BQU07SUFDWixNQUFNLEVBQUUsUUFBUTtJQUNoQixJQUFJLEVBQUUsV0FBVztJQUNqQixZQUFZLEVBQUUsb0JBQW9CO0lBQ2xDLFNBQVMsRUFBRSxXQUFXO0lBQ3RCLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLGdCQUFnQixFQUFFLG1CQUFtQjtJQUNyQyxZQUFZLEVBQUUsZUFBZTtJQUM3QixhQUFhLEVBQUUsZ0JBQWdCO0lBQy9CLEdBQUcsRUFBRSxLQUFLO0lBQ1YsV0FBVyxFQUFFLGNBQWM7Q0FDNUIsQ0FBQztBQW9CRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQWdISTtBQUVKLE1BQU0sVUFBVSxXQUFXLENBQUMsQ0FBUztJQUNuQyxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDckIsSUFBSSxJQUFJLEdBQWEsRUFBQyxJQUFJLEVBQUUsRUFBRSxFQUFDLENBQUM7SUFDaEMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQzlDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ3RDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4QixRQUFRLEtBQUssRUFBRTtZQUNmLEtBQUssR0FBRztnQkFBRSxFQUFFLGVBQWU7b0JBQ3pCLE1BQU0sT0FBTyxHQUFhLEVBQUMsSUFBSSxFQUFFLEVBQUUsRUFBQyxDQUFDO29CQUNyQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQzFCLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3JCLElBQUksR0FBRyxPQUFPLENBQUM7aUJBQ2hCO2dCQUNDLE1BQU07WUFDUixLQUFLLEdBQUc7Z0JBQUUsRUFBRSxpQkFBaUI7b0JBQzNCLE1BQU0sT0FBTyxHQUFhLEVBQUMsSUFBSSxFQUFFLEVBQUUsRUFBQyxDQUFDO29CQUNyQyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUN4RCxJQUFJLEdBQUcsT0FBTyxDQUFDO2lCQUNoQjtnQkFDQyxNQUFNO1lBQ1IsS0FBSyxHQUFHLEVBQUUscUJBQXFCO2dCQUM3QixJQUFJLEdBQUcsU0FBUyxDQUFDLEdBQUcsRUFBRyxDQUFDO2dCQUN4QixNQUFNO1lBQ1IsS0FBSyxHQUFHLEVBQUUsdUJBQXVCO2dCQUMvQixNQUFNO1lBQ1I7Z0JBQ0UsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUc7b0JBQ2xDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO3FCQUNmLElBQUksQ0FBQyxJQUFJLEdBQUc7b0JBQ2YsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDMUM7S0FDRjtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0bGFiLmNvbS9jZ3BzL3BoeWxvY2FudmFzL3BoeWxvY2FudmFzLmdsXG5cbmltcG9ydCB7Tm9kZVR5cGV9IGZyb20gJy4vdHlwZXMvaW5kZXgnO1xuXG5leHBvcnQgY29uc3QgVHJlZVR5cGVzID0ge1xuICBDaXJjdWxhcjogJ2NyJyxcbiAgRGlhZ29uYWw6ICdkZycsXG4gIEhpZXJhcmNoaWNhbDogJ2hyJyxcbiAgUmFkaWFsOiAncmQnLFxuICBSZWN0YW5ndWxhcjogJ3JjJyxcbn07XG5cbmV4cG9ydCBjb25zdCBTaGFwZXMgPSB7XG4gIENoZXZyb246ICdjaGV2cm9uJyxcbiAgQ2hldnJvbkludmVydGVkOiAnY2hldnJvbi1pbnZlcnRlZCcsXG4gIENoZXZyb25MZWZ0OiAnY2hldnJvbi1sZWZ0JyxcbiAgQ2hldnJvblJpZ2h0OiAnY2hldnJvbi1yaWdodCcsXG4gIENpcmNsZTogJ2NpcmNsZScsXG4gIENyb3NzOiAnY3Jvc3MnLFxuICBEaWFtb25kOiAnZGlhbW9uZCcsXG4gIERvdDogJ2RvdCcsXG4gIERvdWJsZUNoZXZyb246ICdkb3VibGUtY2hldnJvbicsXG4gIERvdWJsZUNoZXZyb25JbnZlcnRlZDogJ2RvdWJsZS1jaGV2cm9uLWludmVydGVkJyxcbiAgRG91YmxlQ2hldnJvbkxlZnQ6ICdkb3VibGUtY2hldnJvbi1sZWZ0JyxcbiAgRG91YmxlQ2hldnJvblJpZ2h0OiAnZG91YmxlLWNoZXZyb24tcmlnaHQnLFxuICBIZXB0YWdvbjogJ2hlcHRhZ29uJyxcbiAgSGVwdGFnb25JbnZlcnRlZDogJ2hlcHRhZ29uLWludmVydGVkJyxcbiAgSGVwdGFncmFtOiAnaGVwdGFncmFtJyxcbiAgSGVwdGFncmFtSW52ZXJ0ZWQ6ICdoZXB0YWdyYW0taW52ZXJ0ZWQnLFxuICBIZXhhZ29uOiAnaGV4YWdvbicsXG4gIEhleGFncmFtOiAnaGV4YWdyYW0nLFxuICBPY3RhZ29uOiAnb2N0YWdvbicsXG4gIE9jdGFncmFtOiAnb2N0YWdyYW0nLFxuICBQZW50YWdvbjogJ3BlbnRhZ29uJyxcbiAgUGVudGFnb25JbnZlcnRlZDogJ3BlbnRhZ29uLWludmVydGVkJyxcbiAgUGVudGFncmFtOiAncGVudGFncmFtJyxcbiAgUGVudGFncmFtSW52ZXJ0ZWQ6ICdwZW50YWdyYW0taW52ZXJ0ZWQnLFxuICBQbHVzOiAncGx1cycsXG4gIFNxdWFyZTogJ3NxdWFyZScsXG4gIFN0YXI6ICdwZW50YWdyYW0nLFxuICBTdGFySW52ZXJ0ZWQ6ICdwZW50YWdyYW0taW52ZXJ0ZWQnLFxuICBUZXRyYWdyYW06ICd0ZXRyYWdyYW0nLFxuICBUcmlhbmdsZTogJ3RyaWFuZ2xlJyxcbiAgVHJpYW5nbGVJbnZlcnRlZDogJ3RyaWFuZ2xlLWludmVydGVkJyxcbiAgVHJpYW5nbGVMZWZ0OiAndHJpYW5nbGUtbGVmdCcsXG4gIFRyaWFuZ2xlUmlnaHQ6ICd0cmlhbmdsZS1yaWdodCcsXG4gIFd5ZTogJ3d5ZScsXG4gIFd5ZUludmVydGVkOiAnd3llLWludmVydGVkJyxcbn07XG5cbi8qKiBSZXByZXNlbnRzIGEgc2luZ2xlIHRyZWUgbm9kZSAqL1xuZXhwb3J0IHR5cGUgUGh5bG9jYW52YXNUcmVlTm9kZSA9IE5vZGVUeXBlICYge1xuICBicmFuY2hMZW5ndGg6IG51bWJlcixcbiAgY2hpbGRyZW46IFBoeWxvY2FudmFzVHJlZU5vZGVbXSxcbiAgcGFyZW50PzogUGh5bG9jYW52YXNUcmVlTm9kZSxcbiAgaWQ6IHN0cmluZyxcbiAgaXNDb2xsYXBzZWQ6IGJvb2xlYW4sXG4gIGlzSGlkZGVuOiBib29sZWFuLFxuICBpc0xlYWY6IGJvb2xlYW4sXG4gIG5hbWU/OiBzdHJpbmcsXG4gIHBvc3RJbmRleDogbnVtYmVyLFxuICBwcmVJbmRleDogbnVtYmVyLFxuICB0b3RhbExlYXZlczogbnVtYmVyLFxuICB0b3RhbE5vZGVzOiBudW1iZXIsXG4gIHRvdGFsU3VidHJlZUxlbmd0aDogbnVtYmVyLFxuICB2aXNpYmxlTGVhdmVzOiBudW1iZXIsXG59XG5cbi8qXG5cbi8vIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1RyZWVfdHJhdmVyc2FsI1Bvc3Qtb3JkZXJcbmZ1bmN0aW9uIGdldFBvc3RvcmRlclRyYXZlcnNhbDxUTm9kZSBleHRlbmRzIE5vZGVUeXBlPihyb290Tm9kZTogVE5vZGUpOiBUTm9kZVtdIHtcbiAgY29uc3Qgbm9kZXM6IFROb2RlW10gPSBbXTtcbiAgY29uc3QgcXVldWU6IFROb2RlW10gPSBbcm9vdE5vZGVdO1xuXG4gIHdoaWxlIChxdWV1ZS5sZW5ndGgpIHtcbiAgICBjb25zdCBub2RlOiBUTm9kZSA9IHF1ZXVlLnBvcCgpITtcbiAgICBpZiAobm9kZS5jaGlsZHJlbilcbiAgICAgIEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KHF1ZXVlLCBub2RlLmNoaWxkcmVuKTtcbiAgICBub2Rlcy5wdXNoKG5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIG5vZGVzLnJldmVyc2UoKTtcbn1cblxuLy8gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVHJlZV90cmF2ZXJzYWwjUHJlLW9yZGVyXG5mdW5jdGlvbiBnZXRQcmVvcmRlclRyYXZlcnNhbDxUTm9kZSBleHRlbmRzIE5vZGVUeXBlPihyb290Tm9kZTogVE5vZGUpOiBUTm9kZVtdIHtcbiAgY29uc3Qgbm9kZXM6IFROb2RlW10gPSBbXTtcbiAgY29uc3QgcXVldWU6IFROb2RlW10gPSBbcm9vdE5vZGVdO1xuXG4gIHdoaWxlIChxdWV1ZS5sZW5ndGgpIHtcbiAgICBjb25zdCBub2RlOiBUTm9kZSA9IHF1ZXVlLnNoaWZ0KCkhO1xuICAgIG5vZGVzLnB1c2gobm9kZSk7XG4gICAgaWYgKG5vZGUuY2hpbGRyZW4pXG4gICAgICBBcnJheS5wcm90b3R5cGUudW5zaGlmdC5hcHBseShxdWV1ZSwgbm9kZS5jaGlsZHJlbik7XG4gIH1cblxuICByZXR1cm4gbm9kZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmVlVHJhdmVyc2FsKHJvb3ROb2RlOiBQaHlsb2NhbnZhc1RyZWVOb2RlLCB7dHJpbVF1b3RlcyA9IHRydWV9ID0ge30pIHtcbiAgcGVyZm9ybWFuY2UubWFyaygnZ2V0UG9zdG9yZGVyVHJhdmVyc2FsJyk7XG4gIGNvbnN0IHBvc3RvcmRlclRyYXZlcnNhbCA9IGdldFBvc3RvcmRlclRyYXZlcnNhbChyb290Tm9kZSk7XG4gIHBlcmZvcm1hbmNlLm1lYXN1cmUoJyAgICBnZXRQb3N0b3JkZXJUcmF2ZXJzYWwnLCAnZ2V0UG9zdG9yZGVyVHJhdmVyc2FsJyk7XG4gIHBlcmZvcm1hbmNlLm1hcmsoJ2dldFByZW9yZGVyVHJhdmVyc2FsJyk7XG4gIGNvbnN0IHByZW9yZGVyVHJhdmVyc2FsID0gZ2V0UHJlb3JkZXJUcmF2ZXJzYWwocm9vdE5vZGUpO1xuICBwZXJmb3JtYW5jZS5tZWFzdXJlKCcgICAgZ2V0UHJlb3JkZXJUcmF2ZXJzYWwnLCAnZ2V0UHJlb3JkZXJUcmF2ZXJzYWwnKTtcblxuICAvLyBEZXRlY3QgY2xhZG9ncmFtc1xuICBjb25zdCBpc0NsYWRvZ3JhbSA9IHBvc3RvcmRlclRyYXZlcnNhbC5ldmVyeSgoeCkgPT4gKHguYnJhbmNoTGVuZ3RoIHx8IHguYnJhbmNoX2xlbmd0aCB8fCAwKSA9PT0gMCk7XG4gIGlmIChpc0NsYWRvZ3JhbSkge1xuICAgIHJvb3ROb2RlLmJyYW5jaExlbmd0aCA9IDA7XG4gICAgZm9yIChsZXQgbm9kZUluZGV4ID0gMDsgbm9kZUluZGV4IDwgcHJlb3JkZXJUcmF2ZXJzYWwubGVuZ3RoOyBub2RlSW5kZXgrKykge1xuICAgICAgY29uc3Qgbm9kZSA9IHByZW9yZGVyVHJhdmVyc2FsW25vZGVJbmRleF07XG4gICAgICBpZiAobm9kZS5jaGlsZHJlbikge1xuICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIG5vZGUuY2hpbGRyZW4pXG4gICAgICAgICAgY2hpbGQuYnJhbmNoTGVuZ3RoID0gbm9kZS5icmFuY2hMZW5ndGggKyAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHBlcmZvcm1hbmNlLm1hcmsoJ2JvdHRvbS11cCB0cmF2ZXJzYWwnKTtcbiAgLy8gYm90dG9tLXVwIHRyYXZlcnNhbCBzdGFydGluZyBmcm9tIGxlYXZlcyB0byByb290XG4gIGZvciAobGV0IG5vZGVJbmRleCA9IDA7IG5vZGVJbmRleCA8IHBvc3RvcmRlclRyYXZlcnNhbC5sZW5ndGg7IG5vZGVJbmRleCsrKSB7XG4gICAgY29uc3Qgbm9kZTogUGh5bG9jYW52YXNUcmVlTm9kZSA9IHBvc3RvcmRlclRyYXZlcnNhbFtub2RlSW5kZXhdO1xuICAgIG5vZGUucG9zdEluZGV4ID0gbm9kZUluZGV4O1xuICAgIG5vZGUuaXNMZWFmID0gIUFycmF5LmlzQXJyYXkobm9kZS5jaGlsZHJlbik7XG4gICAgbm9kZS5icmFuY2hMZW5ndGggPSBNYXRoLmFicyhub2RlLmJyYW5jaExlbmd0aCB8fCBub2RlLmJyYW5jaF9sZW5ndGggfHwgMCk7XG4gICAgZGVsZXRlIG5vZGUuYnJhbmNoX2xlbmd0aDtcbiAgICBpZiAobm9kZS5pc0xlYWYgJiYgdHlwZW9mIG5vZGUubmFtZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGlmICh0cmltUXVvdGVzKVxuICAgICAgICBub2RlLmlkID0gbm9kZS5uYW1lLnRyaW0oKS5yZXBsYWNlKC9eWydcIl18WydcIl0kL2csICcnKTtcbiAgICAgIGVsc2VcbiAgICAgICAgbm9kZS5pZCA9IG5vZGUubmFtZTtcblxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgZGVsZXRlIG5vZGUubmFtZTtcbiAgICB9XG4gICAgbm9kZS50b3RhbE5vZGVzID0gMTtcbiAgICBub2RlLnRvdGFsTGVhdmVzID0gMTtcbiAgICBub2RlLnRvdGFsU3VidHJlZUxlbmd0aCA9IDA7XG4gICAgaWYgKCFub2RlLmlzTGVhZikge1xuICAgICAgbm9kZS50b3RhbE5vZGVzID0gMTtcbiAgICAgIG5vZGUudG90YWxMZWF2ZXMgPSAwO1xuICAgICAgbGV0IHRvdGFsU3VidHJlZUxlbmd0aCA9IDA7XG4gICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIG5vZGUuY2hpbGRyZW4pIHtcbiAgICAgICAgbm9kZS50b3RhbE5vZGVzICs9IGNoaWxkLnRvdGFsTm9kZXM7XG4gICAgICAgIG5vZGUudG90YWxMZWF2ZXMgKz0gY2hpbGQudG90YWxMZWF2ZXM7XG4gICAgICAgIGlmIChjaGlsZC50b3RhbFN1YnRyZWVMZW5ndGggKyBjaGlsZC5icmFuY2hMZW5ndGggPiB0b3RhbFN1YnRyZWVMZW5ndGgpXG4gICAgICAgICAgdG90YWxTdWJ0cmVlTGVuZ3RoID0gY2hpbGQudG90YWxTdWJ0cmVlTGVuZ3RoICsgY2hpbGQuYnJhbmNoTGVuZ3RoO1xuICAgICAgICBjaGlsZC5wYXJlbnQgPSBub2RlO1xuICAgICAgfVxuICAgICAgbm9kZS50b3RhbFN1YnRyZWVMZW5ndGggPSB0b3RhbFN1YnRyZWVMZW5ndGg7XG4gICAgfVxuICB9XG4gIHBlcmZvcm1hbmNlLm1lYXN1cmUoJyAgICBib3R0b20tdXAgdHJhdmVyc2FsJywgJ2JvdHRvbS11cCB0cmF2ZXJzYWwnKTtcblxuICBwZXJmb3JtYW5jZS5tYXJrKCd0b3AtZG93biB0cmF2ZXJzYWwnKTtcbiAgY29uc3Qgbm9kZUJ5SWQ6IHsgW2lkOiBzdHJpbmddOiBQaHlsb2NhbnZhc1RyZWVOb2RlIH0gPSB7fTtcbiAgLy8gdG9wLWRvd24gdHJhdmVyc2FsIHN0YXJ0aW5nIGZyb20gcm9vdCB0byBsZWF2ZXNcbiAgZm9yIChsZXQgbm9kZUluZGV4ID0gMDsgbm9kZUluZGV4IDwgcHJlb3JkZXJUcmF2ZXJzYWwubGVuZ3RoOyBub2RlSW5kZXgrKykge1xuICAgIGNvbnN0IG5vZGUgPSBwcmVvcmRlclRyYXZlcnNhbFtub2RlSW5kZXhdO1xuICAgIG5vZGUucHJlSW5kZXggPSBub2RlSW5kZXg7XG4gICAgaWYgKCFub2RlLmlkKVxuICAgICAgbm9kZS5pZCA9IG5vZGVJbmRleC50b1N0cmluZygpO1xuICAgIG5vZGVCeUlkW25vZGUuaWRdID0gbm9kZTtcbiAgICBub2RlLnZpc2libGVMZWF2ZXMgPSBub2RlLnRvdGFsTGVhdmVzO1xuICAgIG5vZGUuaXNDb2xsYXBzZWQgPSBmYWxzZTtcbiAgICBub2RlLmlzSGlkZGVuID0gZmFsc2U7XG4gIH1cbiAgcGVyZm9ybWFuY2UubWVhc3VyZSgnICAgIHRvcC1kb3duIHRyYXZlcnNhbCcsICd0b3AtZG93biB0cmF2ZXJzYWwnKTtcblxuICByZXR1cm4ge1xuICAgIG5vZGVCeUlkLFxuICAgIHJvb3ROb2RlLFxuICAgIHBvc3RvcmRlclRyYXZlcnNhbCxcbiAgICBwcmVvcmRlclRyYXZlcnNhbCxcbiAgfTtcbn1cblxuLyoqL1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VOZXdpY2soczogc3RyaW5nKTogYW55IHtcbiAgY29uc3QgYW5jZXN0b3JzID0gW107XG4gIGxldCB0cmVlOiBOb2RlVHlwZSA9IHtuYW1lOiAnJ307XG4gIGNvbnN0IHRva2VucyA9IHMuc3BsaXQoL1xccyooO3xcXCh8XFwpfCx8OilcXHMqLyk7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgdG9rZW5zLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgdG9rZW4gPSB0b2tlbnNbaV07XG4gICAgc3dpdGNoICh0b2tlbikge1xuICAgIGNhc2UgJygnOiB7IC8vIG5ldyBjaGlsZHJlblxuICAgICAgY29uc3Qgc3VidHJlZTogTm9kZVR5cGUgPSB7bmFtZTogJyd9O1xuICAgICAgdHJlZS5jaGlsZHJlbiA9IFtzdWJ0cmVlXTtcbiAgICAgIGFuY2VzdG9ycy5wdXNoKHRyZWUpO1xuICAgICAgdHJlZSA9IHN1YnRyZWU7XG4gICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnLCc6IHsgLy8gYW5vdGhlciBicmFuY2hcbiAgICAgIGNvbnN0IHN1YnRyZWU6IE5vZGVUeXBlID0ge25hbWU6ICcnfTtcbiAgICAgIGFuY2VzdG9yc1thbmNlc3RvcnMubGVuZ3RoIC0gMV0uY2hpbGRyZW4hLnB1c2goc3VidHJlZSk7XG4gICAgICB0cmVlID0gc3VidHJlZTtcbiAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICcpJzogLy8gb3B0aW9uYWwgbmFtZSBuZXh0XG4gICAgICB0cmVlID0gYW5jZXN0b3JzLnBvcCgpITtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJzonOiAvLyBvcHRpb25hbCBsZW5ndGggbmV4dFxuICAgICAgYnJlYWs7XG4gICAgZGVmYXVsdDpcbiAgICAgIGNvbnN0IHggPSB0b2tlbnNbaSAtIDFdO1xuICAgICAgaWYgKHggPT0gJyknIHx8IHggPT0gJygnIHx8IHggPT0gJywnKVxuICAgICAgICB0cmVlLm5hbWUgPSB0b2tlbjtcbiAgICAgIGVsc2UgaWYgKHggPT0gJzonKVxuICAgICAgICB0cmVlLmJyYW5jaF9sZW5ndGggPSBwYXJzZUZsb2F0KHRva2VuKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRyZWU7XG59XG4iXX0=
@@ -1 +0,0 @@
1
- {"version":3,"file":"tree-helper.d.ts","sourceRoot":"","sources":["tree-helper.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,cAAc,EAAE,QAAQ,EAAC,MAAM,UAAU,CAAC;AAGlD,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC;IAE3G,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAC;IAExC,WAAW,CAAC,KAAK,SAAS,QAAQ,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK,EAAE,CAAC;IAE1D,WAAW,CAAC,KAAK,SAAS,QAAQ,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK,EAAE,CAAC;IAE1D,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,QAAQ,GAAG,IAAI,CAAC;IAErF,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE,CAAC;IAEvF,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;IAEhH;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAE9F,YAAY,CAAC,IAAI,EAAE,cAAc,EAC/B,MAAM,EAAE,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;IAE5F;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,cAAc,EAChC,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAErF;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,SAAS,EACnE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;CAChE;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,WAAW,CAAC,CAO1D"}
@@ -1,20 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import * as DG from 'datagrok-api/dg';
11
- export function getTreeHelper() {
12
- return __awaiter(this, void 0, void 0, function* () {
13
- const funcList = DG.Func.find({ package: 'PhyloTreeViewer', name: 'getTreeHelper' });
14
- if (funcList.length === 0)
15
- throw new Error('Package "PhyloTreeViewer"" must be installed for TreeHelper.');
16
- const res = (yield funcList[0].prepare().call()).getOutputParamValue();
17
- return res;
18
- });
19
- }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0cmVlLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFFQSxPQUFPLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBK0N0QyxNQUFNLFVBQWdCLGFBQWE7O1FBQ2pDLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxlQUFlLEVBQUMsQ0FBQyxDQUFDO1FBQ25GLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsOERBQThELENBQUMsQ0FBQztRQUVsRixNQUFNLEdBQUcsR0FBZ0IsQ0FBQyxNQUFNLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLG1CQUFtQixFQUFpQixDQUFDO1FBQ25HLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZ3JvayBmcm9tICdkYXRhZ3Jvay1hcGkvZ3Jvayc7XG5pbXBvcnQgKiBhcyB1aSBmcm9tICdkYXRhZ3Jvay1hcGkvdWknO1xuaW1wb3J0ICogYXMgREcgZnJvbSAnZGF0YWdyb2stYXBpL2RnJztcblxuaW1wb3J0IHtOb2RlQ3V0dGVkVHlwZSwgTm9kZVR5cGV9IGZyb20gJy4uL3R5cGVzJztcblxuXG5leHBvcnQgaW50ZXJmYWNlIElUcmVlSGVscGVyIHtcbiAgLyoqIEdlbmVyYXRlcyBkYXRhIGZyYW1lIHdpdGggcm93IHBlciBub2RlLCBwYXJlbnQgcmVsYXRpb24sIGRpc3RhbmNlLCBhbm5vdGF0aW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuZXdpY2sgICAgICAgICAgICAgICAgTmV3aWNrIGZvcm1hdCBkYXRhXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lICAgICAgICAgICAgICAgICAgUmVzdWx0IGRhdGEgZnJhbWUgbmFtZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gbm9kZVByZWZpeCAgICAgICAgICAgIFByZWZpeCBmb3Igbm9kZXMgd2l0aCBhdXRvIGdlbmVyYXRlZCBuYW1lICAgKlxuICAgKiBAcGFyYW0ge2Jvb2x9ICAgZW1wdHlQYXJlbnRSb290U2tpcCAgIFNraXAgcm93IHdpdGggcm9vdCBub2RlIGFuZCBlbXB0eSBwYXJlbnQgKGZvciBOZXR3b3JrIERpYWdyYW0pXG4gICAqL1xuICBuZXdpY2tUb0RmKG5ld2ljazogc3RyaW5nLCBuYW1lOiBzdHJpbmcsIG5vZGVQcmVmaXg/OiBzdHJpbmcsIGVtcHR5UGFyZW50Um9vdFNraXA/OiBib29sZWFuKTogREcuRGF0YUZyYW1lO1xuXG4gIHRvTmV3aWNrKG5vZGU6IE5vZGVUeXBlIHwgbnVsbCk6IHN0cmluZztcblxuICBnZXRMZWFmTGlzdDxUTm9kZSBleHRlbmRzIE5vZGVUeXBlPihub2RlOiBUTm9kZSk6IFROb2RlW107XG5cbiAgZ2V0Tm9kZUxpc3Q8VE5vZGUgZXh0ZW5kcyBOb2RlVHlwZT4obm9kZTogVE5vZGUpOiBUTm9kZVtdO1xuXG4gIHRyZWVGaWx0ZXJCeUxlYXZlcyhub2RlOiBOb2RlVHlwZSwgbGVhdmVzOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSk6IE5vZGVUeXBlIHwgbnVsbDtcblxuICB0cmVlQ3V0QXNMZWF2ZXMobm9kZTogTm9kZVR5cGUsIGN1dEhlaWdodDogbnVtYmVyLCBjdXJyZW50SGVpZ2h0PzogbnVtYmVyKTogTm9kZVR5cGVbXTtcblxuICB0cmVlQ3V0QXNUcmVlKG5vZGU6IE5vZGVUeXBlLCBjdXRIZWlnaHQ6IG51bWJlciwga2VlcFNob3J0cz86IGJvb2xlYW4sIGN1cnJlbnRIZWlnaHQ/OiBudW1iZXIpOiBOb2RlVHlwZSB8IG51bGw7XG5cbiAgLyoqIFJlb3JkZXIgdGhlIGdyaWQncyByb3dzIGFjY29yZGluZyB0byB0aGUgbGVhdmVzJyBvcmRlciBpbiB0aGUgdHJlZS5cbiAgICogQHBhcmFtIHtzdHJpbmd8bnVsbH0gbGVhZkNvbE5hbWUgQ29sdW1uIG5hbWUgZm9yIGxlYWYgbmFtZSBpbiBuZXdpY2ssIG51bGwgLSB1c2Ugcm93IGluZGV4XG4gICAqL1xuICBzZXRHcmlkT3JkZXIodHJlZTogTm9kZVR5cGUsIGdyaWQ6IERHLkdyaWQsIGxlYWZDb2xOYW1lOiBzdHJpbmcgfCBudWxsKTogW05vZGVUeXBlLCBzdHJpbmdbXV07XG5cbiAgbWFya0NsdXN0ZXJzKHRyZWU6IE5vZGVDdXR0ZWRUeXBlLFxuICAgIGRhdGFEZjogREcuRGF0YUZyYW1lLCBsZWFmQ29sTmFtZTogc3RyaW5nIHwgbnVsbCwgY2x1c3RlckNvbE5hbWU6IHN0cmluZywgbmE/OiBhbnkpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ3xudWxsfSBsZWFmQ29sTmFtZSBDb2x1bW4gbmFtZSBmb3IgbGVhZiBuYW1lIGluIG5ld2ljaywgbnVsbCAtIHVzZSByb3cgaW5kZXhcbiAgICovXG4gIGJ1aWxkQ2x1c3RlcnModHJlZTogTm9kZUN1dHRlZFR5cGUsXG4gICAgY2x1c3RlckRmOiBERy5EYXRhRnJhbWUsIGNsdXN0ZXJDb2xOYW1lOiBzdHJpbmcsIGxlYWZDb2xOYW1lOiBzdHJpbmcgfCBudWxsKTogdm9pZDtcblxuICAvKiogTW9kaWZpZXMgdGhlIHRyZWUgKHtAbGluayBub2RlfSkgY3V0dGluZyBhdCB7QGxpbmsgY3V0SGVpZ2h0fSBjcmVhdGluZyBleHRyYSBub2Rlcy5cbiAgICogQHBhcmFtIHtzdHJpbmd8bnVsbH0gbGVhZkNvbE5hbWUgQ29sdW1uIG5hbWUgZm9yIGxlYWYgbmFtZSBpbiBuZXdpY2ssIG51bGwgLSB1c2Ugcm93IGluZGV4XG4gICAqL1xuICBjdXRUcmVlVG9HcmlkKG5vZGU6IE5vZGVUeXBlLCBjdXRIZWlnaHQ6IG51bWJlciwgZGF0YURmOiBERy5EYXRhRnJhbWUsXG4gICAgbGVhZkNvbE5hbWU6IHN0cmluZywgY2x1c3RlckNvbE5hbWU6IHN0cmluZywgbmE/OiBhbnkpOiB2b2lkO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0VHJlZUhlbHBlcigpOiBQcm9taXNlPElUcmVlSGVscGVyPiB7XG4gIGNvbnN0IGZ1bmNMaXN0ID0gREcuRnVuYy5maW5kKHtwYWNrYWdlOiAnUGh5bG9UcmVlVmlld2VyJywgbmFtZTogJ2dldFRyZWVIZWxwZXInfSk7XG4gIGlmIChmdW5jTGlzdC5sZW5ndGggPT09IDApXG4gICAgdGhyb3cgbmV3IEVycm9yKCdQYWNrYWdlIFwiUGh5bG9UcmVlVmlld2VyXCJcIiBtdXN0IGJlIGluc3RhbGxlZCBmb3IgVHJlZUhlbHBlci4nKTtcblxuICBjb25zdCByZXM6IElUcmVlSGVscGVyID0gKGF3YWl0IGZ1bmNMaXN0WzBdLnByZXBhcmUoKS5jYWxsKCkpLmdldE91dHB1dFBhcmFtVmFsdWUoKSBhcyBJVHJlZUhlbHBlcjtcbiAgcmV0dXJuIHJlcztcbn1cbiJdfQ==