change how cloud providers are registered to be more "clean" (and not browser specific)
| | |
| | | var LibraryCLOUDFS = { |
| | | $CLOUDFS__deps: ['$FS', '$MEMFS', '$PATH'], |
| | | $CLOUDFS__postset: "var CLOUD_PROVIDERS; if (!CLOUD_PROVIDERS) CLOUD_PROVIDERS = (typeof CLOUD_PROVIDERS !== 'undefined' ? CLOUD_PROVIDERS : null) || {};", |
| | | $CLOUDFS: { |
| | | mount: function(mount) { |
| | | var provider = CLOUDFS.fetchProvider(mount); |
| | |
| | | }, |
| | | // Utility functions |
| | | fetchProvider: function(mount) { |
| | | if (mount.opts.provider === undefined || window[mount.opts.provider] === undefined) { |
| | | if (mount.opts.provider === undefined || CLOUD_PROVIDERS[mount.opts.provider] === undefined) { |
| | | return false; |
| | | } |
| | | var provider = window[mount.opts.provider]; |
| | | var provider = CLOUD_PROVIDERS[mount.opts.provider]; |
| | | var requiredMethods = ['listFiles', 'downloadFile', 'uploadFile', 'removeFile']; |
| | | var valid = requiredMethods.every(function(method) { |
| | | return (method in provider); |
| | |
| | | // a list of regexes or string prefixes to synchronize |
| | | sync: [ |
| | | ], |
| | | // which provider engine to use.. (looks for an object of that name in the global window object) |
| | | provider: 'HUMBLE_CLOUD_PROVIDER', |
| | | // which provider engine to use.. Looks for a provider in the CLOUD_PROVIDERS object |
| | | provider: 'HumbleBundle', |
| | | // configuration sent to the provider |
| | | cloud: { |
| | | applicationtoken: 'deadbeef' |
| | |
| | | // Boiler plate to setup cloud providers registry |
| | | var CLOUD_PROVIDERS; |
| | | if (!CLOUD_PROVIDERS) CLOUD_PROVIDERS = (typeof CLOUD_PROVIDERS !== 'undefined' ? CLOUD_PROVIDERS : null) || {}; |
| | | |
| | | (function() { |
| | | function xhrGET(url, onload, onerror) { |
| | | var xhr = new XMLHttpRequest(); |
| | |
| | | } |
| | | }; |
| | | |
| | | // expose out to the page |
| | | window.HUMBLE_CLOUD_PROVIDER = provider; |
| | | // register provider |
| | | CLOUD_PROVIDERS['HumbleBundle'] = provider; |
| | | })(); |