morfina-js v1.0.4
MorfinaJS
MorfinaJS allows you to encrypt and decrypt data in Morfina Service. It also allows you to add to and multiply numbers encrypted with Paillier encryption type.
const payload = {
encryptionParameters: [
{
encryptionType: 'AES',
jsonPath: 'transactions[].amount.value',
}
],
dataArray: {
transactions: [
{
amount: {
currency: 'CZK',
precision: 2,
value: 100
}
}
]
}
}
Morfina.getClient({
baseUrl: 'path/to/morfina/service',
webApiKey: 'YOUR_API_KEY',
}).then(client => {
return client.morph(payload);
}).then(result => {
return client.decryptData(result);
}).then(...);CHANGELOG
Usage
If you just want to use the SDK, there are compiled files ready to be used in the /dist folder.
You can just copy these files directly from the repository or preferably, use npm to install it into your project:
npm install morfina-js --saveUsage in browser
For usage in browser, pickup the following files from the /dist folder:
morfina-js.sfx.min.js- MorfinaJS packaged for browsersmorfina-js.sfx.d.ts- MorfinaJS typings for browsersmorfina-js.sfx.min.js.map- MorfinaJS sourcemap for browsers
The MorfinaJS SDK will be available in global variable Morfina.
IMPORTANT! MorfinaJS SDK depends on a native ES6 Promise implementation to be supported. If your environment doesn't support ES6 Promises, you can polyfill.
Usage in node
For usage in node, install it through npm (see above). You can then require it by:
var Morfina = require('morfina-js');Usage Guide
See Usage Guide for usage instructions.
Development
The SDK itself is written in TypeScript, packaged by webpack, tested by jasmine & karma and distributed thorugh npm. It uses tsd for TypeScript definitions.
In order to to develop upon this SDK, you will need the following installed globally:
node&npmwebpack- For packagingkarma- For testingtsd- For downloading typescript definitions
Setup
After cloning the repo, run the following command to initialize the repository for development:
npm installYou can verify everything worked as expected by running:
npm testDirectory structure
This project uses the following directory structure:
dist- Packaged version of this SDK ready for use.build- Build artifacts (not checked in repository)src- The SDK itselfspec- Tests for the SDKtypings- Typings used by the SDKtooling- Commands for building and packaging
Development commands
npm run clean- cleansbuildanddistfoldersnpm run build- performscleanand builds the SDK intobuildfolder. It also generates.d.tsfiles usinggenerate-tsdcommand.npm run dist- performsbuildcommand and copies the packaged SDK files intodistfoldernpm run test- performsbuildand runs tests in node and browser.npm run test-browser- performs tests only in browsernpm run test-node- performs tests only in nodenpm version [major|minor|patch]- releases new version of the SDK. Requires write access to repository. See npm-version for more details.
Contributing
Contributions are more than welcome!
Please read our contribution guide to learn how to contribute to this project.
Terms & conditions
Please read our terms & conditions.