12345678910111213141516171819202122232425262728293031323334353637 |
- /* global FS, _storageAdapters:true, EventEmitter */
- // #############################################################################
- //
- // STORAGE ADAPTER
- //
- // #############################################################################
- _storageAdapters = {};
- FS.StorageAdapter = function(name, options, api) {
- var self = this;
- // Check the api
- if (typeof api === 'undefined') {
- throw new Error('FS.StorageAdapter please define an api');
- }
- // store reference for easy lookup by name
- if (typeof _storageAdapters[name] !== 'undefined') {
- throw new Error('Storage name already exists: "' + name + '"');
- } else {
- _storageAdapters[name] = self;
- }
- // extend self with options and other info
- FS.Utility.extend(this, options || {}, {
- name: name
- });
- // XXX: TODO, add upload feature here...
- // we default to ddp upload but really let the SA like S3Cloud overwrite to
- // implement direct client to s3 upload
- };
- FS.StorageAdapter.prototype = new EventEmitter();
|