Install
npm install @cryptolize/persistence --save
Usage
ES6 (Javascript Modules)
import { S3Storage } from '@cryptolize/persistence'
S3Storage.saveFile(bucket, file, filename, progress).then((filename) => console.log(filename))
ES5 (CommonJS)
var CryptolizePersistence = require('@cryptolize/persistence')
var S3Storage = CryptolizePersistence.S3Storage
S3Storage.saveFile(bucket, file, filename, progress).then((filename) => console.log(filename))
UMD (Browser)
CryptolizePersistence.S3Storage.saveFile(bucket, file, filename, progress).then((filename) => console.log(filename))
API
S3Storage
saveText
Saves text to S3
Parameters
bucket
AWS.S3text
Stringfilename
Stringparams
Object additonal params to attach to the requestprogress
StorageInterface~ProgressCallback?
Returns Promise<(AWS.Response | Error)> the response
getText
Gets text from S3
Parameters
bucket
AWS.S3filename
Stringparams
Object additonal params to attach to the requestprogress
StorageInterface~ProgressCallback?
Returns Promise<(AWS.Response | Error)> the requested text in the Body property
saveObject
Saves object to S3
Parameters
bucket
AWS.S3object
Objectfilename
Stringparams
Object additonal params to attach to the requestprogress
StorageInterface~ProgressCallback?
Returns Promise<(AWS.Response | Error)> the response
getObject
Gets object from S3
Parameters
bucket
AWS.S3filename
Stringparams
Object additonal params to attach to the requestprogress
StorageInterface~ProgressCallback?
Returns Promise<(AWS.Response | Error)> the requested object in the Body property
saveFile
Saves file to S3
Parameters
bucket
AWS.S3file
ArrayBufferfilename
Stringparams
Object additonal params to attach to the requestprogress
StorageInterface~ProgressCallback?
Returns Promise<(AWS.Response | Error)> the response
getFile
Gets file from S3
Parameters
bucket
AWS.S3filename
Stringparams
Object additonal params to attach to the requestprogress
StorageInterface~ProgressCallback?
Returns Promise<(AWS.Response | Error)> the requested file in the Body property
LocalStorage
Parameters
saveAs
text
filename
type
(optional, default 'application/octet-stream'
)
saveText
Saves text
Parameters
Returns Promise<String> file's name
saveObject
Saves object
Parameters
Returns Promise<String> file's name
saveFile
Saves file
Parameters
Returns Promise<String> file's name
RecordSerialization
serialize
Serialize record
Parameters
record
Record the record without data property in the files's objects
Returns String
deserialize
Deserialize record
Parameters
Returns Record the record without data property in the files's objects
serializeURL
Serialize record to be url compatible
Parameters
record
Record the record without data property in the files's objects
Returns String
deserializeURL
Deserialize record from url serialization
Parameters
Returns Record the record without data property in the files's objects
Record
save
Save record
Parameters
recordId
String the id under which to save the recordrecord
Record the record without data property in the files's objectsserializeRecord
(RecordSerializationserialize | RecordSerializationserializeURL)saveText
StorageInterface~saveText
Returns Promise<(String | Error)> record id
get
Get record
Parameters
recordId
StringdeserializeRecord
(RecordSerializationdeserialize | RecordSerializationdeserializeURL)getText
StorageInterface~getText
Returns Promise<(Record | Error)> the record without data property in the files's objects
Extract record
Extract only the record part in order to serialize it before persistence
Parameters
Returns Record the record without files property in the blocks
Files
save
Save files
Parameters
files
Array<EncryptedFile>saveFile
StorageInterface~saveFile
Returns Promise<(Array<AWS.Response> | Error)>
get
Get files
Parameters
files
Array<{id: String}>getFile
StorageInterface~getFile
Returns Promise<(Array<EncryptedFile> | Error)>
Extract files
Extract only the files part in order to persist it
Parameters
Returns Array<EncryptedFile>
RecordAndFiles
save
Save record and files
Parameters
recordId
String the id under which to save the recordrecord
Array<Record>serializeRecord
(RecordSerializationserialize | RecordSerializationserializeURL)saveText
StorageInterface~saveTextsaveFile
StorageInterface~saveFile
Returns Promise<(String | Error)> record id
saveAndSerializeRecord
Save files and serialize record
Parameters
record
Array<Record>serializeRecord
(RecordSerializationserialize | RecordSerializationserializeURL)saveFile
StorageInterface~saveFile
Returns Promise<(String | Error)> serialized record
StorageInterface
ProgressCallback
Parameters
filename
Stringprogress
Number number between 0 and 1 representing the progress
GetFile
Parameters
Returns Promise<(ArrayBuffer | Error)> the requested file
SaveFile
Parameters
Returns Promise<(String | Error)> file's name
GetObject
Parameters
Returns Promise<(Object | Error)> the requested object
SaveObject
Parameters
Returns Promise<(String | Error)> object's name
GetText
Parameters
Returns Promise<(String | Error)> the requested text
SaveText
Parameters
Returns Promise<(String | Error)> file's name
Development
- make sure node installed - install nvm if not
git clone git@bitbucket.org:witalize/cryptolize-persistence.git
cd cryptolize-persistence
npm install
- lint code -
npm run lint
- run tests -
npm test
- build from src -
npm run build
- update README -
npm run docs
- publish to npm (runs automatically tests, lint and build before) -
npm publish