summaryrefslogtreecommitdiff
path: root/StoneIsland/plugins/cordova-plugin-advanced-http/www/dependency-validator.js
diff options
context:
space:
mode:
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.js43
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);
+ }
+ }
+};