
Security News
/Research
Wallet-Draining npm Package Impersonates Nodemailer to Hijack Crypto Transactions
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
vsm-dictionary-combiner
Advanced tools
Implementation of a VSM-dictionary combiner package which merges results from different VSM-dictionaries
vsm-dictionary-combiner
is an implementation
of the 'VsmDictionary' parent-class/interface (from the package
vsm-dictionary
). It differs
though from other vsm-dictionaries in the sense that it does not communicate
with any external data source directly, but gets results from other vsm-dictionary-xyz
packages and combines them.
Run: npm install
To see an example of how to use this package to get results from 3
vsm-dictionaries (namely vsm-dictionary-uniprot,
vsm-dictionary-ensembl and
vsm-dictionary-bioportal),
go to the test
directory and run:
node getDictInfos.test.js
node getEntries.test.js
node getEntryMatchesForString.test.js
To use a VsmDictionary in Node.js, one can simply run npm install
and then use require()
.
But it is also convenient to have a version of the code that can just be loaded via a <script>
-tag in the browser.
Therefore, we included webpack.config.js, which is a Webpack configuration file for generating such a browser-ready package.
By running npm build
, the built file will appear in a 'dist' subfolder.
You can use it by including: <script src="../dist/vsm-dictionary-combiner.min.js"></script>
in the header of an HTML file.
Note that you should always include all other vsm-dictionaries that the combiner package will use either by using require()
(in Node.js) or by including the specific script source for each package in the HTML header.
See the example HTML file in the test
directory for a demo of the vsm-dictionary-combiner
integrated in a vsm-box and how to include the minified distribution built files for each respective vsm-dictionary.
Since the vsm-dictionary-combiner
follows the parent's class
specification,
it supports the merging of results for the 4 functions:
getDictInfos
getEntries
getEntryMatchesForString
getRefTerms
For each of the above functions, the combiner module concatenates the results
from the subsequent vsm-dictionaries calls, in the order the dictionaries
were given to the constructor. This means that the options.perPage
and
options.page
for example will be sent unchanged to each dictionary and no
cutoff whatsoever will be applied to the merged result array object.
dictionaries
property - an array
of VsmDictionary classes that the combiner package will use (other objects
are ignored):const DictionaryCombiner = require('vsm-dictionary-combiner');
const VsmDictionaryUniProt = require('vsm-dictionary-uniprot');
const VsmDictionaryEnsembl = require('vsm-dictionary-ensembl');
const VsmDictionaryEnsemblGenomes = require('vsm-dictionary-ensembl-genomes');
const dictCombiner = new DictionaryCombiner({
dictionaries: [
new VsmDictionaryUniProt(),
new VsmDictionaryEnsembl(),
new VsmDictionaryEnsemblGenomes()
]
});
errorIfAllErrors
. The default
value is true (or absent) which means that only if all of the subsequent
vsm-dictionaries return an error, only then the combiner class returns a global
error object by concatenating the subsequent error objects in an array arr
and
sending back the object: {errors: arr}
. So, in that case even if some of the
underlying vsm-dictionaries have errors, we still return the results from the
other dictionaries (flexible error handling). If errorIfAllErrors
is false,
then we return the first error (object) that occurs (strict error handling).This project is licensed under the AGPL license - see LICENSE.md.
FAQs
Implementation of a VSM-dictionary combiner package which merges results from different VSM-dictionaries
We found that vsm-dictionary-combiner demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
/Research
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
Security News
/Research
Malicious Nx npm versions stole secrets and wallet info using AI CLI tools; Socket’s AI scanner detected the supply chain attack and flagged the malware.