morfina-js
v1.0.4
Published
Morfina SDK
Downloads
5
Readme
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 --save
Usage 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
&npm
webpack
- For packagingkarma
- For testingtsd
- For downloading typescript definitions
Setup
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 itselfspec
- Tests for the SDKtypings
- Typings used by the SDKtooling
- Commands for building and packaging
Development commands
npm run clean
- cleansbuild
anddist
foldersnpm run build
- performsclean
and builds the SDK intobuild
folder. It also generates.d.ts
files usinggenerate-tsd
command.npm run dist
- performsbuild
command and copies the packaged SDK files intodist
foldernpm run test
- performsbuild
and 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.