Morfina SDK
npm install morfina-jsMorfinaJS 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.
``js
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(...);
`
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 --save
`
folder:
* morfina-js.sfx.min.js - MorfinaJS packaged for browsers
* morfina-js.sfx.d.ts - MorfinaJS typings for browsers
* morfina-js.sfx.min.js.map - MorfinaJS sourcemap for browsersThe 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:`javascriptvar 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 & npm
* webpack - For packaging
* karma - For testing
* tsd - For downloading typescript definitionsSetup
After cloning the repo, run the following command to initialize the repository for development:`
npm install
`You can verify everything worked as expected by running:
`
npm test
`Directory 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 itself
* spec - Tests for the SDK
* typings - Typings used by the SDK
* tooling - Commands for building and packaging Development commands
*
npm run clean - cleans build and dist folders
* npm run build - performs clean and builds the SDK into build folder. It also generates .d.ts files using generate-tsd command.
* npm run dist - performs build command and copies the packaged SDK files into dist folder
* npm run test - performs build and runs tests in node and browser.
* npm run test-browser - performs tests only in browser
* npm run test-node - performs tests only in node
* npm version [major|minor|patch]` - releases new version of the SDK. Requires write access to repository. See npm-version for more details. Please read our contribution guide to learn how to contribute to this project.