diff options
Diffstat (limited to 'StoneIsland/plugins/cordova-plugin-advanced-http/www/dependency-validator.js')
| -rw-r--r-- | StoneIsland/plugins/cordova-plugin-advanced-http/www/dependency-validator.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/StoneIsland/plugins/cordova-plugin-advanced-http/www/dependency-validator.js b/StoneIsland/plugins/cordova-plugin-advanced-http/www/dependency-validator.js new file mode 100644 index 00000000..99510345 --- /dev/null +++ b/StoneIsland/plugins/cordova-plugin-advanced-http/www/dependency-validator.js @@ -0,0 +1,43 @@ +module.exports = function init(global, console, messages) { + var interface = { + checkBlobApi: checkBlobApi, + checkFileReaderApi: checkFileReaderApi, + checkFormDataInstance: checkFormDataInstance, + checkTextEncoderApi: checkTextEncoderApi, + logWarnings: logWarnings, + }; + + return interface; + + function logWarnings() { + if (!global.FormData) { + console.warn(messages.MISSING_FORMDATA_API); + } else if (!global.FormData.prototype || !global.FormData.prototype.entries) { + console.warn(messages.MISSING_FORMDATA_ENTRIES_API); + } + } + + function checkBlobApi() { + if (!global.Blob || !global.Blob.prototype) { + throw new Error(messages.MISSING_BLOB_API); + } + } + + function checkFileReaderApi() { + if (!global.FileReader || !global.FileReader.prototype) { + throw new Error(messages.MISSING_FILE_READER_API); + } + } + + function checkFormDataInstance(instance) { + if (!instance || !instance.entries) { + throw new Error(messages.MISSING_FORMDATA_ENTRIES_API); + } + } + + function checkTextEncoderApi() { + if (!global.TextEncoder || !global.TextEncoder.prototype) { + throw new Error(messages.MISSING_TEXT_ENCODER_API); + } + } +}; |
