@openchemistry/utils
Advanced tools
Comparing version 0.6.15 to 0.6.17
@@ -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 @@ |
@@ -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; | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
46520
961