diff --git a/package-lock.json b/package-lock.json index 1dbc39950cb1b9c25718e2436ac18eb934f27ea3..4d591a55215d505271ecf6a6c0714d886142aa28 100644 Binary files a/package-lock.json and b/package-lock.json differ diff --git a/package.json b/package.json index 51a1e0b842517ba25f5e9cf53a73368624bfa235..613df0b682dd2ee7346eb67466e334a8db1bf254 100644 --- a/package.json +++ b/package.json @@ -106,7 +106,7 @@ "style-loader": "^0.23.1", "ts-jest": "^23.10.5", "tslint": "^5.11.0", - "typescript": "^3.1.6", + "typescript": "^3.2.0", "uglify-js": "^3.4.9", "util.promisify": "^1.0.0", "webpack": "^4.26.1", diff --git a/src/mol-model-props/rcsb/assembly-symmetry.ts b/src/mol-model-props/rcsb/assembly-symmetry.ts index 8a97e66160bdd601f3b067082e91edce2c8337a5..cf3be851c3db7faa8265d527c3aa48dea8c054bc 100644 --- a/src/mol-model-props/rcsb/assembly-symmetry.ts +++ b/src/mol-model-props/rcsb/assembly-symmetry.ts @@ -116,21 +116,21 @@ function createDatabaseFromCif(model: Model): AssemblySymmetry.Database { if (model.sourceData.frame.categoryNames.includes('rcsb_assembly_symmetry_cluster')) { rcsb_assembly_symmetry_cluster = toTable(Schema.rcsb_assembly_symmetry_cluster, model.sourceData.frame.categories.rcsb_assembly_symmetry_cluster) } else { - rcsb_assembly_symmetry_cluster = CifCategory.empty + rcsb_assembly_symmetry_cluster = toTable(Schema.rcsb_assembly_symmetry_cluster, CifCategory.empty as any) } let rcsb_assembly_symmetry_cluster_member if (model.sourceData.frame.categoryNames.includes('rcsb_assembly_symmetry_cluster_member')) { rcsb_assembly_symmetry_cluster_member = toTable(Schema.rcsb_assembly_symmetry_cluster_member, model.sourceData.frame.categories.rcsb_assembly_symmetry_cluster_member) } else { - rcsb_assembly_symmetry_cluster_member = CifCategory.empty + rcsb_assembly_symmetry_cluster_member = toTable(Schema.rcsb_assembly_symmetry_cluster_member, CifCategory.empty as any) } let rcsb_assembly_symmetry_axis if (model.sourceData.frame.categoryNames.includes('rcsb_assembly_symmetry_axis')) { rcsb_assembly_symmetry_axis = toTable(Schema.rcsb_assembly_symmetry_axis, model.sourceData.frame.categories.rcsb_assembly_symmetry_axis) } else { - rcsb_assembly_symmetry_axis = CifCategory.empty + rcsb_assembly_symmetry_axis = toTable(Schema.rcsb_assembly_symmetry_axis, CifCategory.empty as any) } return _Database.ofTables('rcsb_assembly_symmetry', Schema, { diff --git a/src/mol-repr/structure/complex-visual.ts b/src/mol-repr/structure/complex-visual.ts index 2b7a8ba3957a5eb0c6f500d51b397ab2965bec41..189ec0b4e343ed1b04daf490163a8130a4c04591 100644 --- a/src/mol-repr/structure/complex-visual.ts +++ b/src/mol-repr/structure/complex-visual.ts @@ -26,6 +26,7 @@ import { Theme, createEmptyTheme } from 'mol-theme/theme'; import { ColorTheme } from 'mol-theme/color'; import { SizeTheme } from 'mol-theme/size'; import { RenderableState } from 'mol-gl/renderable'; +import { UnitsParams } from './units-representation'; export interface ComplexVisual<P extends StructureParams> extends Visual<Structure, P> { } @@ -214,7 +215,7 @@ export type ComplexMeshParams = typeof ComplexMeshParams export interface ComplexMeshVisualBuilder<P extends ComplexMeshParams> extends ComplexVisualBuilder<P, Mesh> { } export function ComplexMeshVisual<P extends ComplexMeshParams>(builder: ComplexMeshVisualBuilder<P>): ComplexVisual<P> { - return ComplexVisual({ + return ComplexVisual<StructureMeshParams & UnitsParams>({ ...builder, setUpdateState: (state: VisualUpdateState, newProps: PD.Values<P>, currentProps: PD.Values<P>, newTheme: Theme, currentTheme: Theme) => { builder.setUpdateState(state, newProps, currentProps, newTheme, currentTheme) diff --git a/src/mol-repr/structure/units-visual.ts b/src/mol-repr/structure/units-visual.ts index 385e97cadb5c3473a604c838143f5fd93d79c54c..87e06e3fc2c08ae18d72f3a08d10a970cd5d7d0b 100644 --- a/src/mol-repr/structure/units-visual.ts +++ b/src/mol-repr/structure/units-visual.ts @@ -49,9 +49,9 @@ interface UnitsVisualBuilder<P extends UnitsParams, G extends Geometry> { interface UnitsVisualGeometryBuilder<P extends UnitsParams, G extends Geometry> extends UnitsVisualBuilder<P, G> { createEmptyGeometry(geometry?: G): G createRenderObject(group: Unit.SymmetryGroup, geometry: Geometry, locationIt: LocationIterator, theme: Theme, currentProps: PD.Values<P>): UnitsRenderObject - updateValues(values: RenderableValues, newProps: PD.Values<P>): void + updateValues(values: RenderableValues, newProps: Partial<PD.Values<P>>): void updateBoundingSphere(values: RenderableValues, geometry: Geometry): void - updateRenderableState(state: RenderableState, props: PD.Values<P>): void + updateRenderableState(state: RenderableState, props: Partial<PD.Values<P>>): void } export function UnitsVisual<P extends UnitsParams>(builder: UnitsVisualGeometryBuilder<P, Geometry>): UnitsVisual<P> { @@ -256,7 +256,7 @@ export type UnitsMeshParams = typeof UnitsMeshParams export interface UnitsMeshVisualBuilder<P extends UnitsMeshParams> extends UnitsVisualBuilder<P, Mesh> { } export function UnitsMeshVisual<P extends UnitsMeshParams>(builder: UnitsMeshVisualBuilder<P>): UnitsVisual<P> { - return UnitsVisual({ + return UnitsVisual<StructureMeshParams & UnitsParams>({ ...builder, setUpdateState: (state: VisualUpdateState, newProps: PD.Values<P>, currentProps: PD.Values<P>, newTheme: Theme, currentTheme: Theme) => { builder.setUpdateState(state, newProps, currentProps, newTheme, currentTheme) @@ -280,7 +280,7 @@ export type UnitsPointsParams = typeof UnitsPointsParams export interface UnitsPointVisualBuilder<P extends UnitsPointsParams> extends UnitsVisualBuilder<P, Points> { } export function UnitsPointsVisual<P extends UnitsPointsParams>(builder: UnitsPointVisualBuilder<P>): UnitsVisual<P> { - return UnitsVisual({ + return UnitsVisual<StructurePointsParams & UnitsParams>({ ...builder, createEmptyGeometry: Points.createEmpty, createRenderObject: createUnitsPointsRenderObject, @@ -304,7 +304,7 @@ export type UnitsLinesParams = typeof UnitsLinesParams export interface UnitsLinesVisualBuilder<P extends UnitsLinesParams> extends UnitsVisualBuilder<P, Lines> { } export function UnitsLinesVisual<P extends UnitsLinesParams>(builder: UnitsLinesVisualBuilder<P>): UnitsVisual<P> { - return UnitsVisual({ + return UnitsVisual<StructureLinesParams & UnitsParams>({ ...builder, createEmptyGeometry: Lines.createEmpty, createRenderObject: createUnitsLinesRenderObject, @@ -328,7 +328,7 @@ export type UnitsDirectVolumeParams = typeof UnitsDirectVolumeParams export interface UnitsDirectVolumeVisualBuilder<P extends UnitsDirectVolumeParams> extends UnitsVisualBuilder<P, DirectVolume> { } export function UnitsDirectVolumeVisual<P extends UnitsDirectVolumeParams>(builder: UnitsDirectVolumeVisualBuilder<P>): UnitsVisual<P> { - return UnitsVisual({ + return UnitsVisual<StructureDirectVolumeParams & UnitsParams>({ ...builder, createEmptyGeometry: DirectVolume.createEmpty, createRenderObject: createUnitsDirectVolumeRenderObject, diff --git a/src/mol-util/color/color.ts b/src/mol-util/color/color.ts index 3a1d2434757bee80dbe1808233ff247c7f075fdf..ec15dbf3e49fd23fa2b52e585d0605b9984cc39e 100644 --- a/src/mol-util/color/color.ts +++ b/src/mol-util/color/color.ts @@ -80,7 +80,7 @@ export namespace Color { } export type ColorTable<T extends { [k: string]: number[] }> = { [k in keyof T]: Color[] } -export function ColorTable<T extends { [k: string]: number[] }>(o: T) { return o as ColorTable<T> } +export function ColorTable<T extends { [k: string]: number[] }>(o: T) { return o as unknown as ColorTable<T> } export type ColorMap<T extends { [k: string]: number }> = { [k in keyof T]: Color } -export function ColorMap<T extends { [k: string]: number }>(o: T) { return o as ColorMap<T> } \ No newline at end of file +export function ColorMap<T extends { [k: string]: number }>(o: T) { return o as unknown as ColorMap<T> } \ No newline at end of file