From df6b163505ab5bd58eb2abc465b435a04b4458f0 Mon Sep 17 00:00:00 2001
From: Sebastian Bittrich <bittrich@hs-mittweida.de>
Date: Fri, 7 Jun 2019 09:27:46 -0700
Subject: [PATCH] replace encoding string with union type

---
 src/mol-io/writer/_spec/cif.spec.ts | 27 +++++++++++++++++++++++++++
 src/mol-io/writer/cif.ts            |  7 ++++---
 2 files changed, 31 insertions(+), 3 deletions(-)
 create mode 100644 src/mol-io/writer/_spec/cif.spec.ts

diff --git a/src/mol-io/writer/_spec/cif.spec.ts b/src/mol-io/writer/_spec/cif.spec.ts
new file mode 100644
index 000000000..efd8eac6e
--- /dev/null
+++ b/src/mol-io/writer/_spec/cif.spec.ts
@@ -0,0 +1,27 @@
+import { CifWriter } from '../cif';
+
+const cif = await downloadFromPdb('1brr')
+const encoder = CifWriter.createEncoder({
+    binary: true,
+    encoderName: 'mol*',
+    binaryAutoClassifyEncoding: true,
+    binaryEncodingPovider: CifWriter.createEncodingProviderFromJsonConfig([
+        {
+            'categoryName': 'atom_site',
+            'columnName': 'Cartn_y',
+            'encoding': 'rle',
+            'precision': 0
+        },
+        {
+            'categoryName': 'atom_site',
+            'columnName': 'Cartn_z',
+            'encoding': 'delta',
+            'precision': 1
+        },
+        {
+            'categoryName': 'atom_site',
+            'columnName': 'label_seq_id',
+            'encoding': 'delta-rle'
+        }
+    ])
+});
\ No newline at end of file
diff --git a/src/mol-io/writer/cif.ts b/src/mol-io/writer/cif.ts
index 762f1988f..3fd87a346 100644
--- a/src/mol-io/writer/cif.ts
+++ b/src/mol-io/writer/cif.ts
@@ -103,8 +103,9 @@ export namespace CifWriter {
 export interface EncodingStrategyHint {
     categoryName: string,
     columnName: string,
-    // 'pack', 'rle', 'delta', or 'delta-rle'
-    encoding: string,
+    encoding: EncodingType,
     // number of decimal places to keep - must be specified to float columns
     precision?: number
-}
\ No newline at end of file
+}
+
+type EncodingType = 'pack' | 'rle' | 'delta' | 'delta-rle'
\ No newline at end of file
-- 
GitLab