Minimalist package, focused in best performance to encode and decode base64.
npm install base64-min

Disclaimer: For node versions < 4 use the 1.2.0 version.
This modules can be used to encoding & decoding messages (strings) and files using base64.
I'm trying to add new features based on other packages to get an all in one npm module.
Actually base64-min can encode and decode: strings, files and strings with XOR encrytion.

$ npm install base64-min
`
or to install this package globally, use:`
$ npm install -g base64-min
`$3
`
$ cd ./node_modules/base64-min/
$ npm install
$ npm test
`

$3
`
$ cd ./node_modules/base64-min/
$ npm install
$ npm test --coverage
`

How to use?
To load module functionalities, you must use the require.js properties integrated in node.js.Example:
`javascript
var base64 = require('base64-min');
`
$3
##### encode (str)
This method is used to encode a plain-text string to a encoded string in base64.
- Arguments :
-
`str` - The string you want to encode.
- `type` - Encoding Type (This argument is optional) | Available types: 'MIME'.
- Result : Encoded string in base64.
- Example :
`javascript
base64.encode('base64-min npm module'); // result = YmFzZTY0LW1pbiBucG0gbW9kdWxl
base64.encode('base64-min npm module', 'MIME'); // result = YmFzZTY0LW1pbiBucG0gbW9kdWxl
// encoded string in base64, using MIME constraints
`
##### decode (str)
This method is used to decode a the base64 message to a plain-text string.
- Arguments :
- `str` - The message (in base64) you want to decode.
- Result : Our message decoded in plain-text.
- Example :
`javascript
base64.decode('YmFzZTY0LW1pbiBucG0gbW9kdWxl'); // result = base64-min npm module
`
##### encodeFile(file)
This method is used to encode files into base64 string.
- Arguments :
- `file` - The file path of the you want to encode.
- Result : Encoded File into a string in base64.
- Example :
`javascript
base64.encodeFile('original.png');
`
##### decodeToFile(str,filepath)
This method is used to decode messages and save the result in one file (Tested and functional with PNG Files).
- Arguments :
- `str` - The message (in base64) you want to decode.
- `file` - The file path of the you want to save.
- Result : Decoded File
- Example :
`javascript
base64.decodeToFile('ZGF0YQ==', 'result.png') ;
`
##### encodeWithKey(str,key)
This method is used to encode messages and encrypt messages using a key (XOR Encryption - Fast and "Secure").
- Arguments :
- `str` - The message in plain-text.
- `key` - The key you want to encrypt your message.
- Result : Encoded encrypted message in base64.
- Example :
`javascript
base64.encodeWithKey('base64-min npm module', 'victorfern91'); // result = FAgQEVlGSwgbABlfBgRDGQAWEwkX
//(in plain text is YFK_C )
`
##### decodeWithKey(str,key)
- Arguments :
- `str` - The message in base64.
- `key` - The key used to encrypt this message.
- Result : Deciphered message in plain-text.
- Example :
`javascript
//Decoding with wrong key
base64.decodeWithKey('FAgQEVlGSwgbABlfBgRDGQAWEwkX', 'npm module'); // result = zx}14)/}wew/k$.vdcly
//Decoding with correct key
base64.decodeWithKey('FAgQEVlGSwgbABlfBgRDGQAWEwkX', 'victorfern91'); // result = base64-min npm module
``