@basis-theory/basis-theory-js-encryption-node
v1.0.0
Published
Node (Crypto) Encryption Provider for the [Basis Theory](https://basistheory.com/) JS [Encryption SDK](https://github.com/Basis-Theory/basis-theory-js-encryption).
Downloads
2
Maintainers
Keywords
Readme
BasisTheory JS Node Encryption Provider
Node (Crypto) Encryption Provider for the Basis Theory JS Encryption SDK.
Installation
Using Node Package Manager
npm install --save @basis-theory/basis-theory-js-encryption-node
Using Yarn
yarn add @basis-theory/basis-theory-js-encryption-node
Documentation
For further documentation and examples, please refer to our Docs.
Usage
Initialization and Usage with BasisTheoryEncryption
import { BasisTheoryEncryption } from '@basis-theory/basis-theory-js-encryption';
import { BasisTheoryNodeEncryptionProvider } from '@basis-theory/basis-theory-js-encryption-node';
const nodeProvider = new BasisTheoryNodeEncryptionProvider();
const btEncryption = await new BasisTheoryEncryption().init([nodeProvider]);
Caching and Repositories
The default cache implementation uses node-cache, but users can implement their own from the interface.
Local Key Repository and Provider Key Repository implementations are provider for testing.
It's expected that the user provides their own repository implementations through the init
call.
import { BasisTheoryEncryption } from '@basis-theory/basis-theory-js-encryption';
import { BasisTheoryNodeEncryptionProvider } from '@basis-theory/basis-theory-js-encryption-node';
const nodeProvider = new BasisTheoryNodeEncryptionProvider().init({
cache: new MyCacheService(),
keyRepository: new MyKeyRepository(),
providerKeyRepository: new MyProviderKeyRepository(),
rsaKeySize: 2048,
});
const btEncryption = await new BasisTheoryEncryption().init([nodeProvider]);
Development
The provided scripts with the SDK will check for all dependencies, build the solution, and run all tests.
Dependencies
Build the SDK and run Tests
Run the following command from the root of the project:
make verify