Socket
Socket
Sign inDemoInstall

@openchemistry/utils

Package Overview
Dependencies
Maintainers
3
Versions
34
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@openchemistry/utils - npm Package Compare versions

Comparing version 0.6.15 to 0.6.17

16

CHANGELOG.md

@@ -6,2 +6,18 @@ # Change Log

## [0.6.17](https://github.com/OpenChemistry/oc-web-components/compare/@openchemistry/utils@0.6.16...@openchemistry/utils@0.6.17) (2019-10-10)
**Note:** Version bump only for package @openchemistry/utils
## [0.6.16](https://github.com/OpenChemistry/oc-web-components/compare/@openchemistry/utils@0.6.15...@openchemistry/utils@0.6.16) (2019-10-10)
**Note:** Version bump only for package @openchemistry/utils
## [0.6.15](https://github.com/OpenChemistry/oc-web-components/compare/@openchemistry/utils@0.6.14...@openchemistry/utils@0.6.15) (2019-10-08)

@@ -8,0 +24,0 @@

30

dist/cjsonToMoljs.js

@@ -21,3 +21,3 @@ import { numberOfAtoms } from './validation';

if (!isNil(cjson.bonds)) {
atoms = bondsToMoljs(cjson.atoms, cjson.bonds, atoms);
atoms = bondsToMoljs(cjson.bonds, atoms);
}

@@ -45,20 +45,24 @@ return atoms;

}
function bondsToMoljs(atomsIn, bondsIn, atoms) {
// let nAtoms : number = numberOfAtoms(atomsIn);
var nBonds = bondsIn.connections.index.length / 2;
function bondsToMoljs(bondsIn, atoms) {
var nBonds = Math.floor(bondsIn.connections.index.length / 2);
var bondsOrder = Array.isArray(bondsIn.order) ? bondsIn.order : [];
if (bondsOrder.length !== nBonds) {
bondsOrder = [];
for (var i = 0; i < nBonds; ++i) {
bondsOrder.push(1);
}
}
atoms.forEach(function (atom) {
atom.bonds = [];
atom.bondOrder = [];
});
for (var i = 0; i < nBonds; ++i) {
var iAtom = bondsIn.connections.index[i * 2];
var jAtom = bondsIn.connections.index[i * 2 + 1];
if (isNil(atoms[iAtom].bonds)) {
atoms[iAtom].bonds = [];
}
atoms[iAtom].bonds.push(jAtom);
if (bondsIn.order) {
if (isNil(atoms[iAtom].bondOrder)) {
atoms[iAtom].bondOrder = [];
}
atoms[iAtom].bondOrder.push(bondsIn.order[i]);
}
atoms[iAtom].bondOrder.push(bondsOrder[i]);
atoms[jAtom].bonds.push(iAtom);
atoms[jAtom].bondOrder.push(bondsOrder[i]);
}
return atoms;
}
{
"name": "@openchemistry/utils",
"version": "0.6.15",
"version": "0.6.17",
"description": "Utilities to validate and convert cjson chemical data",

@@ -25,3 +25,3 @@ "main": "dist/index.js",

"devDependencies": {
"@openchemistry/types": "^0.8.14",
"@openchemistry/types": "^0.8.16",
"@types/lodash-es": "^4.17.1",

@@ -33,3 +33,3 @@ "typescript": "^3.1.6"

},
"gitHead": "cd52a4bc70d86c12f84d09bb740961caf94d094e"
"gitHead": "5682150eeab23a369b4c19349f2d6b7c3e2234fe"
}

@@ -25,3 +25,3 @@ import { IChemJson, IAtoms, IBonds, IAtomSpec } from '@openchemistry/types';

if (!isNil(cjson.bonds)) {
atoms = bondsToMoljs(cjson.atoms, cjson.bonds, atoms);
atoms = bondsToMoljs(cjson.bonds, atoms);
}

@@ -51,22 +51,26 @@ return atoms;

function bondsToMoljs(atomsIn: IAtoms,
bondsIn: IBonds,
atoms: IAtomSpec[]) : IAtomSpec[] {
// let nAtoms : number = numberOfAtoms(atomsIn);
let nBonds: number = bondsIn.connections.index.length / 2;
function bondsToMoljs(bondsIn: IBonds, atoms: IAtomSpec[]) : IAtomSpec[] {
let nBonds: number = Math.floor(bondsIn.connections.index.length / 2);
let bondsOrder = Array.isArray(bondsIn.order) ? bondsIn.order : [];
if (bondsOrder.length !== nBonds) {
bondsOrder = [];
for (let i = 0; i < nBonds; ++i) {
bondsOrder.push(1);
}
}
atoms.forEach(atom => {
atom.bonds = [];
atom.bondOrder = [];
});
for (let i = 0; i < nBonds; ++i) {
let iAtom: number = bondsIn.connections.index[i * 2];
let jAtom: number = bondsIn.connections.index[i * 2 + 1];
if (isNil(atoms[iAtom].bonds)) {
atoms[iAtom].bonds = [];
}
atoms[iAtom].bonds!.push(jAtom);
if (bondsIn.order) {
if (isNil(atoms[iAtom].bondOrder)) {
atoms[iAtom].bondOrder = [];
}
atoms[iAtom].bondOrder!.push(bondsIn.order[i]);
}
atoms[iAtom].bondOrder!.push(bondsOrder[i]);
atoms[jAtom].bonds!.push(iAtom);
atoms[jAtom].bondOrder!.push(bondsOrder[i]);
}
return atoms;
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc