@jbrowse/core 2.16.1 → 2.18.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/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.js +1 -2
- package/BaseFeatureWidget/BaseFeatureDetail/Attributes.js +4 -8
- package/BaseFeatureWidget/BaseFeatureDetail/BaseCard.d.ts +1 -1
- package/BaseFeatureWidget/BaseFeatureDetail/BaseCard.js +1 -2
- package/BaseFeatureWidget/BaseFeatureDetail/BasicValue.js +2 -3
- package/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.d.ts +1 -1
- package/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.js +2 -3
- package/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.js +22 -25
- package/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.d.ts +2 -2
- package/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.js +6 -8
- package/BaseFeatureWidget/BaseFeatureDetail/Position.d.ts +1 -1
- package/BaseFeatureWidget/BaseFeatureDetail/SimpleField.js +1 -1
- package/BaseFeatureWidget/BaseFeatureDetail/UriField.js +1 -1
- package/BaseFeatureWidget/BaseFeatureDetail/index.d.ts +3 -4
- package/BaseFeatureWidget/BaseFeatureDetail/index.js +5 -9
- package/BaseFeatureWidget/BaseFeatureDetail/util.js +0 -5
- package/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.d.ts +2 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.js +0 -7
- package/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.d.ts +2 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.js +1 -7
- package/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.d.ts +3 -3
- package/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.js +24 -33
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.js +1 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.d.ts +2 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.js +3 -4
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.d.ts +2 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.js +3 -6
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.d.ts +1 -1
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.d.ts +1 -1
- package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.js +2 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/hooks.d.ts +2 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/hooks.js +1 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/model.d.ts +2 -35
- package/BaseFeatureWidget/SequenceFeatureDetails/model.js +19 -44
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.d.ts +3 -3
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.d.ts +2 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.js +5 -6
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.d.ts +2 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.js +0 -1
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.d.ts +2 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.js +0 -2
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.d.ts +1 -1
- package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.js +1 -3
- package/BaseFeatureWidget/SequenceFeatureDetails/util.js +1 -5
- package/BaseFeatureWidget/stateModelFactory.d.ts +3 -94
- package/BaseFeatureWidget/stateModelFactory.js +3 -73
- package/BaseFeatureWidget/types.d.ts +3 -3
- package/BaseFeatureWidget/util.js +0 -4
- package/CorePlugin.d.ts +1 -1
- package/CorePlugin.js +2 -5
- package/Plugin.d.ts +2 -5
- package/Plugin.js +0 -3
- package/PluginLoader.d.ts +1 -1
- package/PluginLoader.js +2 -19
- package/PluginManager.d.ts +15 -31
- package/PluginManager.js +11 -39
- package/ReExports/DataGrid.js +0 -1
- package/ReExports/list.d.ts +0 -5
- package/ReExports/list.js +0 -5
- package/ReExports/modules.d.ts +22 -20
- package/ReExports/modules.js +16 -25
- package/TextSearch/BaseResults.d.ts +3 -3
- package/TextSearch/TextSearchManager.d.ts +4 -16
- package/TextSearch/TextSearchManager.js +1 -13
- package/assemblyManager/assembly.d.ts +5 -100
- package/assemblyManager/assembly.js +27 -143
- package/assemblyManager/assemblyConfigSchema.d.ts +1 -34
- package/assemblyManager/assemblyConfigSchema.js +12 -46
- package/assemblyManager/assemblyManager.d.ts +7 -57
- package/assemblyManager/assemblyManager.js +2 -57
- package/configuration/configurationSchema.d.ts +4 -4
- package/configuration/configurationSchema.js +2 -14
- package/configuration/configurationSlot.d.ts +1 -12
- package/configuration/configurationSlot.js +2 -32
- package/configuration/index.d.ts +2 -2
- package/configuration/index.js +2 -2
- package/configuration/types.d.ts +2 -3
- package/configuration/util.d.ts +1 -25
- package/configuration/util.js +19 -56
- package/data_adapters/BaseAdapter/BaseAdapter.d.ts +4 -14
- package/data_adapters/BaseAdapter/BaseAdapter.js +1 -10
- package/data_adapters/BaseAdapter/BaseFeatureDataAdapter.d.ts +10 -114
- package/data_adapters/BaseAdapter/BaseFeatureDataAdapter.js +13 -79
- package/data_adapters/BaseAdapter/BaseOptions.d.ts +2 -2
- package/data_adapters/BaseAdapter/BaseRefNameAliasAdapter.d.ts +2 -2
- package/data_adapters/BaseAdapter/BaseSequenceAdapter.d.ts +3 -6
- package/data_adapters/BaseAdapter/BaseTextSearchAdapter.d.ts +3 -3
- package/data_adapters/BaseAdapter/RegionsAdapter.d.ts +3 -3
- package/data_adapters/BaseAdapter/index.d.ts +4 -4
- package/data_adapters/BaseAdapter/types.d.ts +2 -2
- package/data_adapters/BaseAdapter/util.d.ts +6 -6
- package/data_adapters/CytobandAdapter/CytobandAdapter.d.ts +2 -1
- package/data_adapters/CytobandAdapter/CytobandAdapter.js +11 -12
- package/data_adapters/CytobandAdapter/configSchema.d.ts +0 -3
- package/data_adapters/CytobandAdapter/configSchema.js +1 -7
- package/data_adapters/CytobandAdapter/index.d.ts +1 -1
- package/data_adapters/CytobandAdapter/index.js +1 -1
- package/data_adapters/dataAdapterCache.d.ts +4 -21
- package/data_adapters/dataAdapterCache.js +0 -19
- package/package.json +4 -5
- package/pluggableElementTypes/AdapterType.d.ts +2 -2
- package/pluggableElementTypes/AddTrackWorkflowType.d.ts +2 -2
- package/pluggableElementTypes/ConnectionType.d.ts +3 -3
- package/pluggableElementTypes/DisplayType.d.ts +3 -9
- package/pluggableElementTypes/InternetAccountType.d.ts +2 -2
- package/pluggableElementTypes/PluggableElementBase.d.ts +1 -1
- package/pluggableElementTypes/PluggableElementBase.js +2 -2
- package/pluggableElementTypes/RpcMethodType.d.ts +5 -11
- package/pluggableElementTypes/RpcMethodType.js +7 -19
- package/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.d.ts +9 -0
- package/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.js +35 -0
- package/pluggableElementTypes/TextSearchAdapterType.d.ts +2 -2
- package/pluggableElementTypes/TrackType.d.ts +3 -3
- package/pluggableElementTypes/ViewType.d.ts +3 -3
- package/pluggableElementTypes/WidgetType.d.ts +4 -3
- package/pluggableElementTypes/index.d.ts +11 -11
- package/pluggableElementTypes/models/BaseConnectionModelFactory.d.ts +2 -29
- package/pluggableElementTypes/models/BaseConnectionModelFactory.js +1 -28
- package/pluggableElementTypes/models/BaseDisplayModel.d.ts +3 -83
- package/pluggableElementTypes/models/BaseDisplayModel.js +2 -69
- package/pluggableElementTypes/models/BaseTrackModel.d.ts +4 -46
- package/pluggableElementTypes/models/BaseTrackModel.js +0 -58
- package/pluggableElementTypes/models/BaseViewModel.d.ts +2 -42
- package/pluggableElementTypes/models/BaseViewModel.js +2 -38
- package/pluggableElementTypes/models/InternetAccountModel.d.ts +3 -119
- package/pluggableElementTypes/models/InternetAccountModel.js +3 -123
- package/pluggableElementTypes/models/baseConnectionConfig.d.ts +0 -6
- package/pluggableElementTypes/models/baseConnectionConfig.js +1 -13
- package/pluggableElementTypes/models/baseInternetAccountConfig.d.ts +0 -15
- package/pluggableElementTypes/models/baseInternetAccountConfig.js +1 -23
- package/pluggableElementTypes/models/baseTrackConfig.d.ts +2 -53
- package/pluggableElementTypes/models/baseTrackConfig.js +1 -58
- package/pluggableElementTypes/renderers/BoxRendererType.d.ts +7 -15
- package/pluggableElementTypes/renderers/BoxRendererType.js +3 -14
- package/pluggableElementTypes/renderers/CircularChordRendererType.d.ts +3 -2
- package/pluggableElementTypes/renderers/CircularChordRendererType.js +1 -6
- package/pluggableElementTypes/renderers/ComparativeServerSideRendererType.d.ts +6 -21
- package/pluggableElementTypes/renderers/ComparativeServerSideRendererType.js +2 -25
- package/pluggableElementTypes/renderers/FeatureRendererType.d.ts +5 -47
- package/pluggableElementTypes/renderers/FeatureRendererType.js +15 -68
- package/pluggableElementTypes/renderers/RendererType.d.ts +4 -8
- package/pluggableElementTypes/renderers/RendererType.js +1 -5
- package/pluggableElementTypes/renderers/RpcRenderedSvgGroup.d.ts +2 -2
- package/pluggableElementTypes/renderers/RpcRenderedSvgGroup.js +3 -12
- package/pluggableElementTypes/renderers/ServerSideRenderedContent.d.ts +1 -1
- package/pluggableElementTypes/renderers/ServerSideRenderedContent.js +6 -14
- package/pluggableElementTypes/renderers/ServerSideRendererType.d.ts +9 -49
- package/pluggableElementTypes/renderers/ServerSideRendererType.js +7 -57
- package/pluggableElementTypes/renderers/index.d.ts +1 -1
- package/pluggableElementTypes/renderers/util/serializableFilterChain.js +1 -3
- package/rpc/BaseRpcDriver.d.ts +3 -4
- package/rpc/BaseRpcDriver.js +20 -80
- package/rpc/MainThreadRpcDriver.d.ts +3 -7
- package/rpc/MainThreadRpcDriver.js +0 -5
- package/rpc/RpcManager.d.ts +3 -3
- package/rpc/RpcManager.js +2 -4
- package/rpc/WebWorkerRpcDriver.d.ts +3 -2
- package/rpc/WebWorkerRpcDriver.js +2 -13
- package/rpc/baseRpcConfig.d.ts +0 -3
- package/rpc/baseRpcConfig.js +1 -7
- package/rpc/configSchema.d.ts +0 -6
- package/rpc/configSchema.js +2 -11
- package/rpc/mainThreadRpcConfig.js +1 -7
- package/rpc/methods/CoreFreeResources.d.ts +0 -6
- package/rpc/methods/CoreFreeResources.js +2 -9
- package/rpc/methods/CoreGetFeatureDensityStats.d.ts +4 -5
- package/rpc/methods/CoreGetFeatureDensityStats.js +1 -1
- package/rpc/methods/CoreGetFeatureDetails.d.ts +2 -7
- package/rpc/methods/CoreGetFeatureDetails.js +0 -5
- package/rpc/methods/CoreGetFeatures.d.ts +5 -5
- package/rpc/methods/CoreGetFeatures.js +4 -5
- package/rpc/methods/CoreGetFileInfo.d.ts +1 -2
- package/rpc/methods/CoreGetFileInfo.js +1 -1
- package/rpc/methods/CoreGetMetadata.d.ts +1 -2
- package/rpc/methods/CoreGetMetadata.js +1 -1
- package/rpc/methods/CoreGetRefNames.d.ts +1 -2
- package/rpc/methods/CoreGetRefNames.js +1 -1
- package/rpc/methods/CoreRender.d.ts +2 -6
- package/rpc/methods/CoreRender.js +5 -7
- package/rpc/methods/util.d.ts +3 -3
- package/rpc/methods/util.js +0 -1
- package/rpc/webWorkerRpcConfig.js +1 -7
- package/stories/JBrowseCore.stories.d.ts +1 -1
- package/stories/JBrowseCore.stories.js +3 -3
- package/stories/examples/WithSequencePanel.d.ts +1 -1
- package/stories/examples/WithSequencePanel.js +3 -3
- package/tsconfig.build.tsbuildinfo +1 -1
- package/ui/AppLogo.d.ts +1 -1
- package/ui/AppLogo.js +0 -2
- package/ui/AssemblySelector.d.ts +2 -2
- package/ui/AssemblySelector.js +5 -5
- package/ui/BaseTooltip.js +2 -6
- package/ui/CascadingMenu.d.ts +2 -2
- package/ui/CascadingMenu.js +3 -4
- package/ui/CascadingMenuButton.d.ts +1 -1
- package/ui/CascadingMenuButton.js +1 -1
- package/ui/ColorPicker.js +1 -7
- package/ui/Dialog.d.ts +1 -1
- package/ui/Dialog.js +2 -6
- package/ui/DropDownMenu.d.ts +1 -1
- package/ui/DropDownMenu.js +2 -2
- package/ui/EditableTypography.d.ts +1 -1
- package/ui/EditableTypography.js +1 -5
- package/ui/ErrorBoundary.d.ts +2 -1
- package/ui/ErrorMessage.js +2 -9
- package/ui/ErrorMessageStackTraceDialog.js +2 -10
- package/ui/FactoryResetDialog.js +1 -1
- package/ui/FatalErrorDialog.js +1 -1
- package/ui/FileSelector/FileSelector.d.ts +4 -3
- package/ui/FileSelector/FileSelector.js +40 -40
- package/ui/FileSelector/LocalFileChooser.d.ts +1 -1
- package/ui/FileSelector/LocalFileChooser.js +0 -1
- package/ui/FileSelector/UrlChooser.d.ts +4 -3
- package/ui/FileSelector/UrlChooser.js +6 -2
- package/ui/Icons.d.ts +1 -1
- package/ui/Icons.js +1 -7
- package/ui/LoadingEllipses.d.ts +1 -1
- package/ui/LoadingEllipses.js +3 -3
- package/ui/Menu.d.ts +1 -1
- package/ui/Menu.js +3 -10
- package/ui/MenuButton.d.ts +1 -1
- package/ui/ResizeHandle.js +2 -2
- package/ui/ReturnToImportFormDialog.js +1 -1
- package/ui/SanitizedHTML.js +2 -19
- package/ui/Snackbar.d.ts +2 -2
- package/ui/Snackbar.js +1 -2
- package/ui/SnackbarModel.d.ts +1 -26
- package/ui/SnackbarModel.js +2 -30
- package/ui/colors.d.ts +1 -1
- package/ui/colors.js +1 -1
- package/ui/react-colorful.js +0 -3
- package/ui/theme.d.ts +1 -1
- package/ui/theme.js +24 -84
- package/util/Base1DUtils.d.ts +1 -1
- package/util/Base1DUtils.js +0 -12
- package/util/Base1DViewModel.d.ts +4 -81
- package/util/Base1DViewModel.js +4 -108
- package/util/QuickLRU.js +0 -9
- package/util/TimeTraveller.js +0 -4
- package/util/aborting.d.ts +0 -20
- package/util/aborting.js +0 -31
- package/util/analytics.js +1 -12
- package/util/blockTypes.d.ts +0 -11
- package/util/blockTypes.js +0 -13
- package/util/calculateDynamicBlocks.d.ts +1 -20
- package/util/calculateDynamicBlocks.js +1 -22
- package/util/calculateStaticBlocks.d.ts +2 -2
- package/util/calculateStaticBlocks.js +0 -2
- package/util/color/cssColorsLevel4.js +0 -1
- package/util/color/index.d.ts +0 -19
- package/util/color/index.js +0 -30
- package/util/compositeMap.js +0 -2
- package/util/dedupe.js +0 -1
- package/util/formatFastaStrings.d.ts +0 -13
- package/util/formatFastaStrings.js +0 -13
- package/util/idMaker.d.ts +1 -1
- package/util/idMaker.js +16 -12
- package/util/index.d.ts +25 -173
- package/util/index.js +87 -326
- package/util/io/RemoteFileWithRangeCache.d.ts +3 -2
- package/util/io/RemoteFileWithRangeCache.js +6 -10
- package/util/io/index.d.ts +3 -4
- package/util/io/index.js +3 -17
- package/util/jexl.js +3 -13
- package/util/jexlStrings.d.ts +0 -6
- package/util/jexlStrings.js +0 -8
- package/util/layouts/BaseLayout.d.ts +1 -1
- package/util/layouts/GranularRectLayout.d.ts +1 -17
- package/util/layouts/GranularRectLayout.js +4 -81
- package/util/layouts/MultiLayout.d.ts +1 -6
- package/util/layouts/MultiLayout.js +0 -6
- package/util/layouts/PrecomputedLayout.d.ts +1 -4
- package/util/layouts/PrecomputedLayout.js +0 -5
- package/util/layouts/PrecomputedMultiLayout.js +0 -2
- package/util/layouts/SceneGraph.d.ts +0 -12
- package/util/layouts/SceneGraph.js +0 -13
- package/util/makeAbortableReaction.d.ts +2 -0
- package/util/makeAbortableReaction.js +50 -0
- package/util/map-obj.js +0 -4
- package/util/mst-reflection.d.ts +1 -14
- package/util/mst-reflection.js +1 -28
- package/util/nanoid.js +0 -31
- package/util/nextTick.d.ts +1 -0
- package/util/nextTick.js +6 -0
- package/util/offscreenCanvasPonyfill.d.ts +0 -1
- package/util/offscreenCanvasPonyfill.js +1 -9
- package/util/offscreenCanvasUtils.js +1 -8
- package/util/range.d.ts +0 -25
- package/util/range.js +0 -34
- package/util/rxjs.d.ts +3 -7
- package/util/rxjs.js +2 -9
- package/util/simpleFeature.d.ts +0 -58
- package/util/simpleFeature.js +0 -35
- package/util/stats.d.ts +4 -34
- package/util/stats.js +0 -60
- package/util/stopToken.d.ts +3 -0
- package/util/stopToken.js +29 -0
- package/util/tracks.d.ts +3 -25
- package/util/tracks.js +0 -30
- package/util/types/index.d.ts +14 -30
- package/util/types/index.js +5 -14
- package/util/types/mst.js +0 -9
- package/util/types/util.d.ts +2 -9
- package/util/useMeasure.js +0 -1
- package/util/when.d.ts +1 -15
- package/util/when.js +3 -70
- package/rpc/remoteAbortSignals.d.ts +0 -36
- package/rpc/remoteAbortSignals.js +0 -79
|
@@ -2,28 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.default = calculateDynamicBlocks;
|
|
4
4
|
const mobx_state_tree_1 = require("mobx-state-tree");
|
|
5
|
-
const range_1 = require("./range");
|
|
6
5
|
const _1 = require(".");
|
|
7
6
|
const blockTypes_1 = require("./blockTypes");
|
|
8
|
-
|
|
9
|
-
* returns a BlockSet of which the `blocks` attribute is an array of 'dynamic
|
|
10
|
-
* blocks', which are blocks representing only the regions that are visible in
|
|
11
|
-
* the view right now. these are mostly used by tracks for which static blocks
|
|
12
|
-
* are not feasible.
|
|
13
|
-
*
|
|
14
|
-
* each block is a plain JS object like:
|
|
15
|
-
* `{ refName, start, end, offsetPx, reversed? }`
|
|
16
|
-
*
|
|
17
|
-
* start and end are in bp, and start is always less than end, but if reversed
|
|
18
|
-
* is true, startBp will be on the right side of the visible region.
|
|
19
|
-
*
|
|
20
|
-
* offsetPx is the number of pixels from the left edge of the view to the left
|
|
21
|
-
* edge of the region
|
|
22
|
-
*
|
|
23
|
-
* NOTE: start, end, and offsetPx may all be fractional!
|
|
24
|
-
*
|
|
25
|
-
* @returns BlockSet of `{ refName, startBp, end, offset, reversed? }`
|
|
26
|
-
*/
|
|
7
|
+
const range_1 = require("./range");
|
|
27
8
|
function calculateDynamicBlocks(model, padding = true, elision = true) {
|
|
28
9
|
const { offsetPx, displayedRegions, bpPerPx, width, minimumBlockWidth, interRegionPaddingWidth, } = model;
|
|
29
10
|
if (!width) {
|
|
@@ -41,7 +22,6 @@ function calculateDynamicBlocks(model, padding = true, elision = true) {
|
|
|
41
22
|
const parentRegion = (0, mobx_state_tree_1.isStateTreeNode)(region) ? (0, mobx_state_tree_1.getSnapshot)(region) : region;
|
|
42
23
|
const [leftPx, rightPx] = (0, range_1.intersection2)(windowLeftPx, windowRightPx, displayedRegionLeftPx, displayedRegionRightPx);
|
|
43
24
|
if (leftPx !== undefined && rightPx !== undefined) {
|
|
44
|
-
// this displayed region overlaps the view, so make a record for it
|
|
45
25
|
let start;
|
|
46
26
|
let end;
|
|
47
27
|
let isLeftEndOfDisplayedRegion;
|
|
@@ -92,7 +72,6 @@ function calculateDynamicBlocks(model, padding = true, elision = true) {
|
|
|
92
72
|
blocks.push(new blockTypes_1.ContentBlock(blockData));
|
|
93
73
|
}
|
|
94
74
|
if (padding) {
|
|
95
|
-
// insert a inter-region padding block if we are crossing a displayed region
|
|
96
75
|
if (regionWidthPx >= minimumBlockWidth &&
|
|
97
76
|
blockData.isRightEndOfDisplayedRegion &&
|
|
98
77
|
regionNumber < displayedRegions.length - 1) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Instance } from 'mobx-state-tree';
|
|
2
1
|
import { BlockSet } from './blockTypes';
|
|
3
|
-
import { Region } from './types';
|
|
2
|
+
import type { Region } from './types';
|
|
4
3
|
import type { Region as RegionModel } from './types/mst';
|
|
4
|
+
import type { Instance } from 'mobx-state-tree';
|
|
5
5
|
export interface Base1DViewModel {
|
|
6
6
|
offsetPx: number;
|
|
7
7
|
width: number;
|
|
@@ -10,7 +10,6 @@ function calculateStaticBlocks(model, padding = true, elision = true, extra = 0,
|
|
|
10
10
|
const windowRightBp = (offsetPx + modelWidth) * bpPerPx;
|
|
11
11
|
const blockSizePx = width;
|
|
12
12
|
const blockSizeBp = Math.ceil(blockSizePx * bpPerPx);
|
|
13
|
-
// for each displayed region
|
|
14
13
|
let regionBpOffset = 0;
|
|
15
14
|
const blocks = new blockTypes_1.BlockSet();
|
|
16
15
|
for (let regionNumber = 0; regionNumber < displayedRegions.length; regionNumber++) {
|
|
@@ -75,7 +74,6 @@ function calculateStaticBlocks(model, padding = true, elision = true, extra = 0,
|
|
|
75
74
|
blocks.push(new blockTypes_1.ContentBlock(blockData));
|
|
76
75
|
}
|
|
77
76
|
if (padding) {
|
|
78
|
-
// insert a inter-region padding block if we are crossing a displayed region
|
|
79
77
|
if (regionWidthPx >= minimumBlockWidth &&
|
|
80
78
|
blockData.isRightEndOfDisplayedRegion &&
|
|
81
79
|
regionNumber < displayedRegions.length - 1) {
|
package/util/color/index.d.ts
CHANGED
|
@@ -1,23 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Algorithmically pick a contrasting text color that will
|
|
3
|
-
* be visible on top of the given background color. Either
|
|
4
|
-
* black or white.
|
|
5
|
-
*
|
|
6
|
-
* @param color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(),
|
|
7
|
-
* hsl(), hsla(), or named color
|
|
8
|
-
* @returns 'black' or 'white'
|
|
9
|
-
*/
|
|
10
1
|
export declare function contrastingTextColor(color: string): string;
|
|
11
|
-
/**
|
|
12
|
-
* Darken or lighten a color, depending on its luminance.
|
|
13
|
-
* Light colors are darkened, dark colors are lightened.
|
|
14
|
-
* Uses MUI's `emphasize`, but adds support for named colors
|
|
15
|
-
*
|
|
16
|
-
* @param color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(),
|
|
17
|
-
* hsl(), hsla(), or named color
|
|
18
|
-
* @param coefficient - multiplier in the range 0 - 1, defaults to 0.15
|
|
19
|
-
* @returns A CSS color string. Hex input values are returned as rgb
|
|
20
|
-
*/
|
|
21
2
|
export declare function emphasize(color: string, coefficient?: number): string;
|
|
22
3
|
export declare function makeContrasting(foreground: string, background?: string, minContrastRatio?: number): string;
|
|
23
4
|
export { isNamedColor, namedColorToHex } from './cssColorsLevel4';
|
package/util/color/index.js
CHANGED
|
@@ -6,44 +6,14 @@ exports.emphasize = emphasize;
|
|
|
6
6
|
exports.makeContrasting = makeContrasting;
|
|
7
7
|
const styles_1 = require("@mui/material/styles");
|
|
8
8
|
const cssColorsLevel4_1 = require("./cssColorsLevel4");
|
|
9
|
-
/**
|
|
10
|
-
* Algorithmically pick a contrasting text color that will
|
|
11
|
-
* be visible on top of the given background color. Either
|
|
12
|
-
* black or white.
|
|
13
|
-
*
|
|
14
|
-
* @param color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(),
|
|
15
|
-
* hsl(), hsla(), or named color
|
|
16
|
-
* @returns 'black' or 'white'
|
|
17
|
-
*/
|
|
18
9
|
function contrastingTextColor(color) {
|
|
19
10
|
const luminance = getLuminance(color);
|
|
20
11
|
return luminance > 0.5 ? 'black' : 'white';
|
|
21
12
|
}
|
|
22
|
-
/**
|
|
23
|
-
* The relative brightness of any point in a color space,
|
|
24
|
-
* normalized to 0 for darkest black and 1 for lightest white.
|
|
25
|
-
* Uses MUI's `getLuminance`, but adds support for named colors
|
|
26
|
-
*
|
|
27
|
-
* Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests
|
|
28
|
-
*
|
|
29
|
-
* @param color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(),
|
|
30
|
-
* hsl(), hsla(), or named color
|
|
31
|
-
* @returns The relative brightness of the color in the range 0 - 1
|
|
32
|
-
*/
|
|
33
13
|
function getLuminance(color) {
|
|
34
14
|
const convertedColor = (0, cssColorsLevel4_1.namedColorToHex)(color);
|
|
35
15
|
return (0, styles_1.getLuminance)(convertedColor || color);
|
|
36
16
|
}
|
|
37
|
-
/**
|
|
38
|
-
* Darken or lighten a color, depending on its luminance.
|
|
39
|
-
* Light colors are darkened, dark colors are lightened.
|
|
40
|
-
* Uses MUI's `emphasize`, but adds support for named colors
|
|
41
|
-
*
|
|
42
|
-
* @param color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(),
|
|
43
|
-
* hsl(), hsla(), or named color
|
|
44
|
-
* @param coefficient - multiplier in the range 0 - 1, defaults to 0.15
|
|
45
|
-
* @returns A CSS color string. Hex input values are returned as rgb
|
|
46
|
-
*/
|
|
47
17
|
function emphasize(color, coefficient = 0.15) {
|
|
48
18
|
const convertedColor = (0, cssColorsLevel4_1.namedColorToHex)(color);
|
|
49
19
|
return (0, styles_1.emphasize)(convertedColor || color, coefficient);
|
package/util/compositeMap.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
// takes an array or Map or Set (anything iterable with values()) of Maps and
|
|
4
|
-
// lets you query them as one Map
|
|
5
3
|
class CompositeMap {
|
|
6
4
|
constructor(submaps) {
|
|
7
5
|
this.submaps = submaps;
|
package/util/dedupe.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.dedupe = dedupe;
|
|
4
|
-
// from https://github.com/seriousManual/dedupe/blob/master/LICENSE
|
|
5
4
|
function dedupe(list, hasher = JSON.stringify) {
|
|
6
5
|
const clone = [];
|
|
7
6
|
const lookup = new Set();
|
|
@@ -2,18 +2,5 @@ export interface SeqChunk {
|
|
|
2
2
|
header: string;
|
|
3
3
|
seq: string;
|
|
4
4
|
}
|
|
5
|
-
/**
|
|
6
|
-
* Returns sequence with new line every 80 characters
|
|
7
|
-
* ref https://stackoverflow.com/a/51506718/2129219
|
|
8
|
-
*
|
|
9
|
-
* @param seqString - string
|
|
10
|
-
* @returns formatted sequence string
|
|
11
|
-
*/
|
|
12
5
|
export declare function formatFastaLines(seqString: string): string;
|
|
13
|
-
/**
|
|
14
|
-
* Formats the sequences chunks into Fasta format
|
|
15
|
-
*
|
|
16
|
-
* @param chunks - array of seq chunks of the form `{ header: string, seq: string }`
|
|
17
|
-
* @returns formatted sequence in fasta format
|
|
18
|
-
*/
|
|
19
6
|
export declare function formatSeqFasta(chunks: SeqChunk[]): string;
|
|
@@ -2,22 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.formatFastaLines = formatFastaLines;
|
|
4
4
|
exports.formatSeqFasta = formatSeqFasta;
|
|
5
|
-
/**
|
|
6
|
-
* Returns sequence with new line every 80 characters
|
|
7
|
-
* ref https://stackoverflow.com/a/51506718/2129219
|
|
8
|
-
*
|
|
9
|
-
* @param seqString - string
|
|
10
|
-
* @returns formatted sequence string
|
|
11
|
-
*/
|
|
12
5
|
function formatFastaLines(seqString) {
|
|
13
6
|
return seqString.replaceAll(/(.{1,80})/g, '$1\n').trimEnd();
|
|
14
7
|
}
|
|
15
|
-
/**
|
|
16
|
-
* Formats the sequences chunks into Fasta format
|
|
17
|
-
*
|
|
18
|
-
* @param chunks - array of seq chunks of the form `{ header: string, seq: string }`
|
|
19
|
-
* @returns formatted sequence in fasta format
|
|
20
|
-
*/
|
|
21
8
|
function formatSeqFasta(chunks) {
|
|
22
9
|
return chunks
|
|
23
10
|
.map(chunk => `>${chunk.header}\n${formatFastaLines(chunk.seq)}`)
|
package/util/idMaker.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export default function idMaker(args:
|
|
1
|
+
export default function idMaker(args: Record<string, unknown>, id?: string, len?: number): number;
|
package/util/idMaker.js
CHANGED
|
@@ -2,19 +2,23 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.default = idMaker;
|
|
4
4
|
const _1 = require("./");
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
5
|
+
function idMaker(args, id = '', len = 5000) {
|
|
6
|
+
const stack = [args];
|
|
7
|
+
while (stack.length) {
|
|
8
|
+
const obj = stack.pop();
|
|
9
|
+
for (const [key, val] of Object.entries(obj)) {
|
|
10
|
+
if (id.length > len) {
|
|
11
|
+
return (0, _1.hashCode)(id);
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
if (typeof val === 'object' && val !== null) {
|
|
15
|
+
stack.push(val);
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
id += `${key}-${val}`;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
13
21
|
}
|
|
14
|
-
id +=
|
|
15
|
-
typeof args[key] === 'object' && args[key]
|
|
16
|
-
? idMaker(args[key], id)
|
|
17
|
-
: `${key}-${args[key]};`;
|
|
18
22
|
}
|
|
19
23
|
return (0, _1.hashCode)(id);
|
|
20
24
|
}
|
package/util/index.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import PluginManager from '../PluginManager';
|
|
3
|
-
import type {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { Feature } from './simpleFeature';
|
|
7
|
-
import { AssemblyManager, Region, TypeTestedByPredicate } from './types';
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
import type PluginManager from '../PluginManager';
|
|
3
|
+
import type { BaseBlock } from './blockTypes';
|
|
4
|
+
import type { Feature } from './simpleFeature';
|
|
5
|
+
import type { AssemblyManager, Region, TypeTestedByPredicate } from './types';
|
|
8
6
|
import type { Region as MUIRegion } from './types/mst';
|
|
9
|
-
import {
|
|
7
|
+
import type { BaseOptions } from '../data_adapters/BaseAdapter';
|
|
8
|
+
import type { Buffer } from 'buffer';
|
|
9
|
+
import type { GenericFilehandle } from 'generic-filehandle';
|
|
10
|
+
import type { IAnyStateTreeNode, IStateTreeNode, Instance } from 'mobx-state-tree';
|
|
10
11
|
export * from './types';
|
|
11
|
-
export * from './aborting';
|
|
12
12
|
export * from './when';
|
|
13
13
|
export * from './range';
|
|
14
14
|
export * from './dedupe';
|
|
@@ -19,70 +19,13 @@ export declare function useWidthSetter(view: {
|
|
|
19
19
|
setWidth: (arg: number) => void;
|
|
20
20
|
}, padding: string): React.RefObject<HTMLDivElement>;
|
|
21
21
|
export declare function useDebouncedCallback<T>(callback: (...args: T[]) => void, wait?: number): (...args: T[]) => void;
|
|
22
|
-
/**
|
|
23
|
-
* find the first node in the hierarchy that matches the given predicate
|
|
24
|
-
*/
|
|
25
22
|
export declare function findParentThat(node: IAnyStateTreeNode, predicate: (thing: IAnyStateTreeNode) => boolean): IAnyStateTreeNode;
|
|
26
23
|
export declare function springAnimate(fromValue: number, toValue: number, setValue: (value: number) => void, onFinish?: () => void, precision?: number, tension?: number, friction?: number, clamp?: boolean): (() => void)[];
|
|
27
|
-
/**
|
|
28
|
-
* find the first node in the hierarchy that matches the given 'is' typescript
|
|
29
|
-
* type guard predicate
|
|
30
|
-
*/
|
|
31
24
|
export declare function findParentThatIs<T extends (a: IAnyStateTreeNode) => boolean>(node: IAnyStateTreeNode, predicate: T): TypeTestedByPredicate<T>;
|
|
32
|
-
/**
|
|
33
|
-
* get the current JBrowse session model, starting at any node in the state
|
|
34
|
-
* tree
|
|
35
|
-
*/
|
|
36
25
|
export declare function getSession(node: IAnyStateTreeNode): import("./types").AbstractSessionModel;
|
|
37
|
-
/**
|
|
38
|
-
* get the state model of the view in the state tree that contains the given
|
|
39
|
-
* node
|
|
40
|
-
*/
|
|
41
26
|
export declare function getContainingView(node: IAnyStateTreeNode): import("./types").AbstractViewModel;
|
|
42
|
-
/**
|
|
43
|
-
* get the state model of the view in the state tree that contains the given
|
|
44
|
-
* node
|
|
45
|
-
*/
|
|
46
27
|
export declare function getContainingTrack(node: IAnyStateTreeNode): import("./types").AbstractTrackModel;
|
|
47
|
-
/**
|
|
48
|
-
* get the state model of the display in the state tree that contains the given
|
|
49
|
-
* node
|
|
50
|
-
*/
|
|
51
28
|
export declare function getContainingDisplay(node: IAnyStateTreeNode): import("./types").AbstractDisplayModel;
|
|
52
|
-
/**
|
|
53
|
-
* Assemble a 1-based "locString" from an interbase genomic location
|
|
54
|
-
* @param region - Region
|
|
55
|
-
* @example
|
|
56
|
-
* ```ts
|
|
57
|
-
* assembleLocString({ refName: 'chr1', start: 0, end: 100 })
|
|
58
|
-
* // ↳ 'chr1:1..100'
|
|
59
|
-
* ```
|
|
60
|
-
* @example
|
|
61
|
-
* ```ts
|
|
62
|
-
* assembleLocString({ assemblyName: 'hg19', refName: 'chr1', start: 0, end: 100 })
|
|
63
|
-
* // ↳ '{hg19}chr1:1..100'
|
|
64
|
-
* ```
|
|
65
|
-
* @example
|
|
66
|
-
* ```ts
|
|
67
|
-
* assembleLocString({ refName: 'chr1' })
|
|
68
|
-
* // ↳ 'chr1'
|
|
69
|
-
* ```
|
|
70
|
-
* @example
|
|
71
|
-
* ```ts
|
|
72
|
-
* assembleLocString({ refName: 'chr1', start: 0 })
|
|
73
|
-
* // ↳ 'chr1:1..'
|
|
74
|
-
* ```
|
|
75
|
-
* @example
|
|
76
|
-
* ```ts
|
|
77
|
-
* assembleLocString({ refName: 'chr1', end: 100 })
|
|
78
|
-
* // ↳ 'chr1:1..100'
|
|
79
|
-
* ```
|
|
80
|
-
* @example
|
|
81
|
-
* ```ts
|
|
82
|
-
* assembleLocString({ refName: 'chr1', start: 0, end: 1 })
|
|
83
|
-
* // ↳ 'chr1:1'
|
|
84
|
-
* ```
|
|
85
|
-
*/
|
|
86
29
|
export declare function assembleLocString(region: ParsedLocString): string;
|
|
87
30
|
export declare function assembleLocStringFast(region: ParsedLocString, cb?: (n: number) => string | number): string;
|
|
88
31
|
export interface ParsedLocString {
|
|
@@ -93,59 +36,10 @@ export interface ParsedLocString {
|
|
|
93
36
|
reversed?: boolean;
|
|
94
37
|
}
|
|
95
38
|
export declare function parseLocStringOneBased(locString: string, isValidRefName: (refName: string, assemblyName?: string) => boolean): ParsedLocString;
|
|
96
|
-
/**
|
|
97
|
-
* Parse a 1-based location string into an interbase genomic location
|
|
98
|
-
* @param locString - Location string
|
|
99
|
-
* @param isValidRefName - Function that checks if a refName exists in the set
|
|
100
|
-
* of all known refNames, or in the set of refNames for an assembly if
|
|
101
|
-
* assemblyName is given
|
|
102
|
-
* @example
|
|
103
|
-
* ```ts
|
|
104
|
-
* parseLocString('chr1:1..100', isValidRefName)
|
|
105
|
-
* // ↳ { refName: 'chr1', start: 0, end: 100 }
|
|
106
|
-
* ```
|
|
107
|
-
* @example
|
|
108
|
-
* ```ts
|
|
109
|
-
* parseLocString('chr1:1-100', isValidRefName)
|
|
110
|
-
* // ↳ { refName: 'chr1', start: 0, end: 100 }
|
|
111
|
-
* ```
|
|
112
|
-
* @example
|
|
113
|
-
* ```ts
|
|
114
|
-
* parseLocString(`{hg19}chr1:1..100`, isValidRefName)
|
|
115
|
-
* // ↳ { assemblyName: 'hg19', refName: 'chr1', start: 0, end: 100 }
|
|
116
|
-
* ```
|
|
117
|
-
* @example
|
|
118
|
-
* ```ts
|
|
119
|
-
* parseLocString('chr1', isValidRefName)
|
|
120
|
-
* // ↳ { refName: 'chr1' }
|
|
121
|
-
* ```
|
|
122
|
-
* @example
|
|
123
|
-
* ```ts
|
|
124
|
-
* parseLocString('chr1:1', isValidRefName)
|
|
125
|
-
* // ↳ { refName: 'chr1', start: 0, end: 1 }
|
|
126
|
-
* ```
|
|
127
|
-
* @example
|
|
128
|
-
* ```ts
|
|
129
|
-
* parseLocString('chr1:1..', isValidRefName)
|
|
130
|
-
* // ↳ { refName: 'chr1', start: 0}
|
|
131
|
-
* ```
|
|
132
|
-
*/
|
|
133
39
|
export declare function parseLocString(locString: string, isValidRefName: (refName: string, assemblyName?: string) => boolean): ParsedLocString;
|
|
134
40
|
export declare function compareLocs(locA: ParsedLocString, locB: ParsedLocString): number;
|
|
135
41
|
export declare function compareLocStrings(a: string, b: string, isValidRefName: (refName: string, assemblyName?: string) => boolean): number;
|
|
136
|
-
/**
|
|
137
|
-
* Ensure that a number is at least min and at most max.
|
|
138
|
-
*
|
|
139
|
-
* @param num -
|
|
140
|
-
* @param min -
|
|
141
|
-
* @param max -
|
|
142
|
-
*/
|
|
143
42
|
export declare function clamp(num: number, min: number, max: number): number;
|
|
144
|
-
/**
|
|
145
|
-
* @param bp -
|
|
146
|
-
* @param region -
|
|
147
|
-
* @param bpPerPx -
|
|
148
|
-
*/
|
|
149
43
|
export declare function bpToPx(bp: number, { reversed, end, start, }: {
|
|
150
44
|
start?: number;
|
|
151
45
|
end?: number;
|
|
@@ -153,67 +47,25 @@ export declare function bpToPx(bp: number, { reversed, end, start, }: {
|
|
|
153
47
|
}, bpPerPx: number): number;
|
|
154
48
|
export declare function radToDeg(radians: number): number;
|
|
155
49
|
export declare function degToRad(degrees: number): number;
|
|
156
|
-
/**
|
|
157
|
-
* @returns [x, y]
|
|
158
|
-
*/
|
|
159
50
|
export declare function polarToCartesian(rho: number, theta: number): [number, number];
|
|
160
|
-
/**
|
|
161
|
-
* @param x - the x
|
|
162
|
-
* @param y - the y
|
|
163
|
-
* @returns [rho, theta]
|
|
164
|
-
*/
|
|
165
51
|
export declare function cartesianToPolar(x: number, y: number): [number, number];
|
|
166
|
-
|
|
52
|
+
interface MinimalRegion {
|
|
167
53
|
start: number;
|
|
168
54
|
end: number;
|
|
169
55
|
reversed?: boolean;
|
|
170
|
-
}
|
|
171
|
-
export declare function
|
|
172
|
-
|
|
173
|
-
end: number;
|
|
174
|
-
reversed?: boolean;
|
|
175
|
-
}, bpPerPx: number): [number, number];
|
|
56
|
+
}
|
|
57
|
+
export declare function featureSpanPx(feature: Feature, region: MinimalRegion, bpPerPx: number): readonly [number, number];
|
|
58
|
+
export declare function bpSpanPx(leftBp: number, rightBp: number, region: MinimalRegion, bpPerPx: number): readonly [number, number];
|
|
176
59
|
export declare function iterMap<T, U>(iter: Iterable<T>, func: (arg: T) => U, sizeHint?: number): U[];
|
|
177
|
-
/**
|
|
178
|
-
* Returns the index of the last element in the array where predicate is true,
|
|
179
|
-
* and -1 otherwise.
|
|
180
|
-
* Based on https://stackoverflow.com/a/53187807
|
|
181
|
-
*
|
|
182
|
-
* @param array - The source array to search in
|
|
183
|
-
*
|
|
184
|
-
* @param predicate - find calls predicate once for each element of the array, in
|
|
185
|
-
* descending order, until it finds one where predicate returns true.
|
|
186
|
-
*
|
|
187
|
-
* @returns findLastIndex returns element index where predicate is true.
|
|
188
|
-
* Otherwise, findLastIndex returns -1.
|
|
189
|
-
*/
|
|
190
60
|
export declare function findLastIndex<T>(array: T[], predicate: (value: T, index: number, obj: T[]) => boolean): number;
|
|
191
61
|
export declare function findLast<T>(array: T[], predicate: (value: T, index: number, obj: T[]) => boolean): T | undefined;
|
|
192
|
-
/**
|
|
193
|
-
* makes a mobx reaction with the given functions, that calls actions on the
|
|
194
|
-
* model for each stage of execution, and to abort the reaction function when
|
|
195
|
-
* the model is destroyed.
|
|
196
|
-
*
|
|
197
|
-
* Will call startedFunction(signal), successFunction(result), and
|
|
198
|
-
* errorFunction(error) when the async reaction function starts, completes, and
|
|
199
|
-
* errors respectively.
|
|
200
|
-
*
|
|
201
|
-
* @param self -
|
|
202
|
-
* @param dataFunction -
|
|
203
|
-
* @param asyncReactionFunction -
|
|
204
|
-
* @param reactionOptions -
|
|
205
|
-
* @param startedFunction -
|
|
206
|
-
* @param successFunction -
|
|
207
|
-
* @param errorFunction -
|
|
208
|
-
*/
|
|
209
|
-
export declare function makeAbortableReaction<T, U, V>(self: T, dataFunction: (arg: T) => U, asyncReactionFunction: (arg: U | undefined, signal: AbortSignal, model: T, handle: IReactionPublic) => Promise<V>, reactionOptions: IReactionOptions, startedFunction: (aborter: AbortController) => void, successFunction: (arg: V) => void, errorFunction: (err: unknown) => void): void;
|
|
210
62
|
export declare function renameRegionIfNeeded(refNameMap: Record<string, string> | undefined, region: Region | Instance<typeof MUIRegion>): Region & {
|
|
211
63
|
originalRefName?: string;
|
|
212
64
|
};
|
|
213
65
|
export declare function renameRegionsIfNeeded<ARGTYPE extends {
|
|
214
66
|
assemblyName?: string;
|
|
215
67
|
regions?: Region[];
|
|
216
|
-
|
|
68
|
+
stopToken?: string;
|
|
217
69
|
adapterConfig: Record<string, unknown>;
|
|
218
70
|
sessionId: string;
|
|
219
71
|
statusCallback?: (arg: string) => void;
|
|
@@ -231,9 +83,10 @@ export declare function stringify({ refName, coord, assemblyName, oob, }: {
|
|
|
231
83
|
oob?: boolean;
|
|
232
84
|
}, useAssemblyName?: boolean): string;
|
|
233
85
|
export declare const isElectron: boolean;
|
|
234
|
-
export declare
|
|
235
|
-
export declare function
|
|
236
|
-
export declare
|
|
86
|
+
export declare const complementTable: Record<string, string>;
|
|
87
|
+
export declare function revcom(str: string): string;
|
|
88
|
+
export declare function reverse(str: string): string;
|
|
89
|
+
export declare function complement(str: string): string;
|
|
237
90
|
export declare const rIC: (((callback: IdleRequestCallback, options?: IdleRequestOptions) => number) & typeof requestIdleCallback) | ((cb: () => void) => void);
|
|
238
91
|
export declare function measureText(str: unknown, fontSize?: number): number;
|
|
239
92
|
export type Frame = 1 | 2 | 3 | -1 | -2 | -3;
|
|
@@ -306,12 +159,9 @@ export declare const defaultCodonTable: {
|
|
|
306
159
|
GGG: string;
|
|
307
160
|
GGT: string;
|
|
308
161
|
};
|
|
309
|
-
/**
|
|
310
|
-
* take CodonTable above and generate larger codon table that includes all
|
|
311
|
-
* permutations of upper and lower case nucleotides
|
|
312
|
-
*/
|
|
313
162
|
export declare function generateCodonTable(table: any): Record<string, string>;
|
|
314
163
|
export declare function updateStatus<U>(msg: string, cb: (arg: string) => void, fn: () => U | Promise<U>): Promise<U>;
|
|
164
|
+
export declare function updateStatus2<U>(msg: string, cb: (arg: string) => void, stopToken: string | undefined, fn: () => U | Promise<U>): Promise<U>;
|
|
315
165
|
export declare function hashCode(str: string): number;
|
|
316
166
|
export declare function objectHash(obj: Record<string, any>): string;
|
|
317
167
|
interface VirtualOffset {
|
|
@@ -386,13 +236,12 @@ export declare function mergeIntervals<T extends {
|
|
|
386
236
|
start: number;
|
|
387
237
|
end: number;
|
|
388
238
|
}>(intervals: T[], w?: number): T[];
|
|
389
|
-
interface BasicFeature {
|
|
239
|
+
export interface BasicFeature {
|
|
390
240
|
end: number;
|
|
391
241
|
start: number;
|
|
392
242
|
refName: string;
|
|
393
|
-
assemblyName?: string;
|
|
394
243
|
}
|
|
395
|
-
export declare function gatherOverlaps(regions:
|
|
244
|
+
export declare function gatherOverlaps<T extends BasicFeature>(regions: T[], w?: number): T[];
|
|
396
245
|
export declare function stripAlpha(str: string): string;
|
|
397
246
|
export declare function getStrokeProps(str: string): {
|
|
398
247
|
strokeOpacity: number;
|
|
@@ -406,5 +255,8 @@ export declare function renderToStaticMarkup(node: React.ReactElement, createRoo
|
|
|
406
255
|
render: (node: React.ReactElement) => unknown;
|
|
407
256
|
}): string;
|
|
408
257
|
export declare function isGzip(buf: Buffer): boolean;
|
|
409
|
-
export
|
|
258
|
+
export declare function fetchAndMaybeUnzip(loc: GenericFilehandle, opts?: BaseOptions): Promise<Buffer>;
|
|
259
|
+
export { type Feature, type SimpleFeatureSerialized, type SimpleFeatureSerializedNoId, default as SimpleFeature, isFeature, } from './simpleFeature';
|
|
410
260
|
export { blobToDataURL } from './blobToDataURL';
|
|
261
|
+
export { makeAbortableReaction } from './makeAbortableReaction';
|
|
262
|
+
export * from './aborting';
|