diff --git a/src/reader/cif/data-model.ts b/src/reader/cif/data-model.ts index 4033df03aad87ed1b0606d1e5a34167b8d4f79be..a28af149d2e7bf32420594bc36823800b638cc18 100644 --- a/src/reader/cif/data-model.ts +++ b/src/reader/cif/data-model.ts @@ -21,6 +21,9 @@ export interface Block { } export function Block(categories: { readonly [name: string]: Category }, header: string): Block { + if (Object.keys(categories).some(k => k[0] !== '_')) { + throw new Error(`Category names must start with '_'.`); + } return { header, categories }; } diff --git a/src/reader/spec/cif.spec.ts b/src/reader/spec/cif.spec.ts index 87950cf6409025abfe915dc9c6cb7e41ab96bec3..8a9cf827777ac7f635c95dc9df9a50a05d7d22b9 100644 --- a/src/reader/spec/cif.spec.ts +++ b/src/reader/spec/cif.spec.ts @@ -14,7 +14,7 @@ const intField = TextField({ data: columnData, indices: [0, 1, 1, 2, 2, 3], coun const strField = TextField({ data: columnData, indices: [3, 4, 4, 5, 5, 6], count: 3 }, 3); const testBlock = Data.Block({ - 'atoms': Data.Category(3, { + _atoms: Data.Category(3, { x: intField, name: strField })