UNPKG

molstar

Version:

A comprehensive macromolecular library.

58 lines 2.31 kB
"use strict"; /** * Copyright (c) 2017 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author David Sehnal <david.sehnal@gmail.com> */ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var cif_1 = require("../mol-io/writer/cif"); var fs = (0, tslib_1.__importStar)(require("fs")); var category1fields = [ cif_1.CifWriter.Field.str('f1', function (i) { return 'v' + i; }), cif_1.CifWriter.Field.int('f2', function (i) { return i * i; }), cif_1.CifWriter.Field.float('f3', function (i) { return Math.random(); }), ]; var category2fields = [ cif_1.CifWriter.Field.str('e1', function (i) { return 'v\n' + i; }), cif_1.CifWriter.Field.int('e2', function (i) { return i * i; }), cif_1.CifWriter.Field.float('e3', function (i) { return Math.random(); }), ]; function getCat(name) { return { name: name, instance: function (ctx) { return { fields: ctx.fields, source: [{ rowCount: ctx.rowCount }] }; } }; } function testText() { var enc = cif_1.CifWriter.createEncoder(); var filter = { includeCategory: function (cat) { return true; }, includeField: function (cat, field) { return !(cat === 'cat2' && field === 'e2'); } }; enc.startDataBlock('test'); enc.setFilter(filter); enc.writeCategory(getCat('cat1'), [{ rowCount: 5, fields: category1fields }]); enc.writeCategory(getCat('cat2'), [{ rowCount: 1, fields: category2fields }]); console.log(enc.getData()); } testText(); function testBinary() { var enc = cif_1.CifWriter.createEncoder({ binary: true }); var filter = { includeCategory: function (cat) { return true; }, includeField: function (cat, field) { return !(cat === 'cat2' && field === 'e2'); } }; enc.startDataBlock('test'); enc.setFilter(filter); enc.writeCategory(getCat('cat1'), [{ rowCount: 5, fields: category1fields }]); enc.writeCategory(getCat('cat2'), [{ rowCount: 1, fields: category2fields }]); enc.encode(); var data = enc.getData(); fs.writeFileSync('e:/test/mol-star/test.bcif', Buffer.from(data)); console.log('written binary'); } testBinary(); //# sourceMappingURL=cif-encoder.js.map