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.S3 -
text
String -
filename
String -
params
Object additonal params to attach to the request -
progress
StorageInterface~ProgressCallback?
Returns Promise<(AWS.Response | Error)> the response
getText
Gets text from S3
Parameters
-
bucket
AWS.S3 -
filename
String -
params
Object additonal params to attach to the request -
progress
StorageInterface~ProgressCallback?
Returns Promise<(AWS.Response | Error)> the requested text in the Body property
saveObject
Saves object to S3
Parameters
-
bucket
AWS.S3 -
object
Object -
filename
String -
params
Object additonal params to attach to the request -
progress
StorageInterface~ProgressCallback?
Returns Promise<(AWS.Response | Error)> the response
getObject
Gets object from S3
Parameters
-
bucket
AWS.S3 -
filename
String -
params
Object additonal params to attach to the request -
progress
StorageInterface~ProgressCallback?
Returns Promise<(AWS.Response | Error)> the requested object in the Body property
saveFile
Saves file to S3
Parameters
-
bucket
AWS.S3 -
file
ArrayBuffer -
filename
String -
params
Object additonal params to attach to the request -
progress
StorageInterface~ProgressCallback?
Returns Promise<(AWS.Response | Error)> the response
getFile
Gets file from S3
Parameters
-
bucket
AWS.S3 -
filename
String -
params
Object additonal params to attach to the request -
progress
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
-
saveAs
saveAs https://github.com/eligrey/FileSaver.js -
text
String -
filename
String -
type
(optional, default'application/octet-stream'
)
Returns Promise<String> file's name
saveObject
Saves object
Parameters
-
saveAs
saveAs https://github.com/eligrey/FileSaver.js -
object
Object -
filename
String type
Returns Promise<String> file's name
saveFile
Saves file
Parameters
-
saveAs
saveAs https://github.com/eligrey/FileSaver.js -
file
ArrayBuffer -
filename
String type
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
-
record
String
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
-
record
String
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 record -
record
Record the record without data property in the files's objects -
serializeRecord
(RecordSerializationserialize | RecordSerializationserializeURL) -
saveText
StorageInterface~saveText
Returns Promise<(String | Error)> record id
get
Get record
Parameters
-
recordId
String -
deserializeRecord
(RecordSerializationdeserialize | RecordSerializationdeserializeURL) -
getText
StorageInterface~getText
Returns Promise<(Record | Error)> the record without data property in the files's objects
extract
Extract record
Extract only the record part in order to serialize it before persistence
Parameters
-
record
Record
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
Returns Promise<(Array<EncryptedFile> | Error)>
extract
Extract files
Extract only the files part in order to persist it
Parameters
-
record
Record
Returns Array<EncryptedFile>
RecordAndFiles
save
Save record and files
Parameters
-
recordId
String the id under which to save the record -
record
Array<Record> -
serializeRecord
(RecordSerializationserialize | RecordSerializationserializeURL) -
saveText
StorageInterface~saveText -
saveFile
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
GetFile
Parameters
Returns Promise<(ArrayBuffer | Error)> the requested file
SaveFile
Parameters
-
file
ArrayBuffer -
filename
String -
path
String -
service
String
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