UNPKG

molstar

Version:

A comprehensive macromolecular library.

61 lines 2.68 kB
#!/usr/bin/env node /** * Copyright (c) 2018 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author David Sehnal <david.sehnal@gmail.com> */ import * as _ from '../../mol-plugin-state/transforms'; import { StateTransformer } from '../../mol-state'; import { StringBuilder } from '../../mol-util'; import * as fs from 'fs'; import { paramsToMd } from './pd-to-md'; import { PluginContext } from '../../mol-plugin/context'; import { ParamDefinition } from '../../mol-util/param-definition'; // force the transform to be evaluated _.StateTransforms.Data.Download.id; // Empty plugin context var ctx = new PluginContext({ behaviors: [] }); var builder = StringBuilder.create(); function typeToString(o) { if (o.length === 0) return '()'; return o.map(function (o) { return o.name; }).join(' | '); } function writeTransformer(t) { StringBuilder.write(builder, "## <a name=\"" + t.id.replace('.', '-') + "\"></a>" + t.id + " :: " + typeToString(t.definition.from) + " -> " + typeToString(t.definition.to)); StringBuilder.newline(builder); if (t.definition.display.description) { StringBuilder.write(builder, "*" + t.definition.display.description + "*"); StringBuilder.newline(builder); } StringBuilder.newline(builder); if (t.definition.params) { var params = t.definition.params(void 0, ctx); StringBuilder.write(builder, "### Parameters"); StringBuilder.newline(builder); StringBuilder.write(builder, paramsToMd(params)); StringBuilder.newline(builder); StringBuilder.write(builder, "### Default Parameters"); StringBuilder.newline(builder); StringBuilder.write(builder, "```js\n" + JSON.stringify(ParamDefinition.getDefaultValues(params), null, 2) + "\n```"); StringBuilder.newline(builder); } StringBuilder.write(builder, '----------------------------'); StringBuilder.newline(builder); } var transformers = StateTransformer.getAll(); StringBuilder.write(builder, '# Mol* Plugin State Transformer Reference'); StringBuilder.newline(builder); StringBuilder.newline(builder); transformers.forEach(function (t) { StringBuilder.write(builder, "* [" + t.id + "](#" + t.id.replace('.', '-') + ")"); StringBuilder.newline(builder); }); StringBuilder.newline(builder); StringBuilder.write(builder, '----------------------------'); StringBuilder.newline(builder); transformers.forEach(function (t) { return writeTransformer(t); }); fs.writeFileSync("docs/state/transforms.md", StringBuilder.getString(builder)); //# sourceMappingURL=index.js.map