From c6bbc0a8cb99f4b70621cd90f5b8fd8a9e10504b Mon Sep 17 00:00:00 2001
From: Alexander Rose <alex.rose@rcsb.org>
Date: Fri, 16 Mar 2018 10:09:41 -0700
Subject: [PATCH] use indexable with length prop for Column.copyToArray

---
 src/mol-data/db/column.ts | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/src/mol-data/db/column.ts b/src/mol-data/db/column.ts
index 163cdcb3e..5e53c04d8 100644
--- a/src/mol-data/db/column.ts
+++ b/src/mol-data/db/column.ts
@@ -151,15 +151,13 @@ namespace Column {
         return arrayColumn({ array: c.toArray({ array }), schema: c.schema, valueKind: c.valueKind });
     }
 
-    export function copyToArray<T>(c: Column<T>, array: ArrayLike<T>, offset = 0) {
+    export function copyToArray<T extends number>(c: Column<T>, array: { [k: number]: T, length: number }, offset = 0) {
         if (!c.isDefined) return;
         const cArray = c['@array']
         if (cArray) {
-            // TODO Index signature of 'ArrayLike<T>' only permits reading
-            for (let i = 0, _i = cArray.length; i < _i; i++) (array[offset + i] as any) = cArray[i];
+            for (let i = 0, _i = cArray.length; i < _i; i++) array[offset + i] = cArray[i];
         } else {
-            // TODO Index signature of 'ArrayLike<T>' only permits reading
-            for (let i = 0, _i = c.rowCount; i < _i; i++) (array[offset + i] as any) = c.value(i);
+            for (let i = 0, _i = c.rowCount; i < _i; i++) array[offset + i] = c.value(i);
         }
 
     }
-- 
GitLab