UNPKG

api-codegen

Version:

Generate code in different languages/frameworks for Hasura APIs

1 lines 44.4 kB
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("api-codegen",[],t):"object"==typeof exports?exports["api-codegen"]=t():e["api-codegen"]=t()}("undefined"!=typeof self?self:this,function(){return function(e){function t(n){if(a[n])return a[n].exports;var r=a[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var a={};return t.m=e,t.c=a,t.d=function(e,a,n){t.o(e,a)||Object.defineProperty(e,a,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(a,"a",a),a},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=3)}([function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var r=function e(){n(this,e)};t.default=r,r.NEW_LINE="\n\n",r.NEXT_LINE="\n",r.DOUBLE_QUOTES='"',r.TAB="\t",r.SEMICOLON=";",e.exports=t.default},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function e(t){this.message=t,"captureStackTrace"in Error?Error.captureStackTrace(this,e):this.stack=(new Error).stack};n.prototype=Object.create(Error.prototype),n.prototype.name="InvalidArgumentException",n.prototype.constructor=n;var r=function e(t){this.message=t,"captureStackTrace"in Error?Error.captureStackTrace(this,e):this.stack=(new Error).stack};r.prototype=Object.create(Error.prototype),r.prototype.name="UnsupportedLibraryException",r.prototype.constructor=r;var u=function e(t){this.message=t,"captureStackTrace"in Error?Error.captureStackTrace(this,e):this.stack=(new Error).stack};u.prototype=Object.create(Error.prototype),u.prototype.name="UnsupportedEncodingException",u.prototype.constructor=u,t.InvalidArgumentException=n,t.UnsupportedEncodingException=u,t.UnsupportedLibraryException=r},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(e){return-1!==e.indexOf("auth")&&(-1!==e.indexOf("signup")||-1!==e.indexOf("login"))};t.shouldHandleAuthToken=n},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CodeGenerator=void 0;var n=a(4),r=function(e){return e&&e.__esModule?e:{default:e}}(n);t.CodeGenerator=r.default},function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),l=a(5),o=n(l),i=a(6),d=n(i),f=a(7),s=n(f),E=a(12),N=n(E),c=a(13),T=n(c),h=a(14),_=n(h),p=a(1),I=function(){function e(t){switch(r(this,e),t){case e.TYPES.PYTHON_2_7_REQUEST:this.generator=new o.default(o.default.LIBRARY.REQUESTS);break;case e.TYPES.PYTHON_3_REQUEST:this.generator=new d.default(d.default.LIBRARY.REQUESTS);break;case e.TYPES.NODE_FETCH:this.generator=new s.default(s.default.LIBRARY.NODE_FETCH);break;case e.TYPES.JAVASCRIPT_JQUERY:this.generator=new s.default(s.default.LIBRARY.JQUERY);break;case e.TYPES.JAVASCRIPT_FETCH:this.generator=new s.default(s.default.LIBRARY.FETCH);break;case e.TYPES.JAVASCRIPT_REACT_NATIVE:this.generator=new s.default(s.default.LIBRARY.REACT_NATIVE);break;case e.TYPES.CURL:this.generator=new N.default;break;case e.TYPES.SWIFT_ALAMOFIRE:this.generator=new T.default(T.default.LIBRARY.ALAMOFIRE);break;case e.TYPES.SWIFT_IOS_ALAMOFIRE:this.generator=new T.default(T.default.LIBRARY.IOS_ALAMOFIRE);break;case e.TYPES.JAVA_OKHTTP:this.generator=new _.default(_.default.LIBRARY.OKHTTP);break;case e.TYPES.JAVA_ANDROID:this.generator=new _.default(_.default.LIBRARY.ANDROID);break;default:throw new p.UnsupportedLibraryException(t+" is not supported")}}return u(e,[{key:"generate",value:function(e){if(this.verifyRequestOptions(e)){var t=e.url,a=e.method,n=e.headers,r=e.param;return"file"===e.type?this.generator.generateFileUploadCode(t,a,n):this.generator.generate(t,a,n,r?JSON.parse(r):null)}}},{key:"getSelectedLanguage",value:function(){return this.generator.getSelectedLanguage()}},{key:"verifyRequestOptions",value:function(t){if(!t.url)throw new p.InvalidArgumentException("No value for url provided");if(!t.url.constructor==String)throw new p.InvalidArgumentException("Url should be string");if(!t.method)throw new p.InvalidArgumentException("No value for method provided");if(t.method===e.REQUEST_METHODS.GET)return!0;if(t.method!==e.REQUEST_METHODS.GET&&t.method!==e.REQUEST_METHODS.POST&&t.method!==e.REQUEST_METHODS.PUT&&t.method!==e.REQUEST_METHODS.DELETE&&t.method!==e.REQUEST_METHODS.PATCH)throw new p.InvalidArgumentException("Method should be of type CodeGenerator.REQUEST_METHODS");return!0}}]),e}();t.default=I,I.TYPES={CURL:"Curl",PYTHON_2_7_REQUEST:"Python 2.7 Requests",PYTHON_3_REQUEST:"Python 3 Requests",NODE_FETCH:"Node Fetch",JAVASCRIPT_JQUERY:"Javascript Jquery",JAVASCRIPT_FETCH:"Javascript Fetch",JAVASCRIPT_REACT_NATIVE:"Javascript React Native",SWIFT_ALAMOFIRE:"Swift Alamofire",SWIFT_IOS_ALAMOFIRE:"Swift iOS Alamofire",JAVA_OKHTTP:"Java OkHttp",JAVA_ANDROID:"Java Android"},I.REQUEST_METHODS={GET:"GET",POST:"POST",PUT:"PUT",DELETE:"DELETE",PATCH:"PATCH"},e.exports=t.default},function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=a(0),l=function(e){return e&&e.__esModule?e:{default:e}}(u),o=a(1),i=function(){function e(t){n(this,e),this.library=t}return r(e,[{key:"getCodeImports",value:function(){switch(this.library){case e.LIBRARY.REQUESTS:return"import requests"+l.default.NEXT_LINE+"import json";default:throw new o.UnsupportedLibraryException(this.library+" is not supported")}}},{key:"getStringifiedJson",value:function(e){return JSON.stringify(e,null,4).replace(/null/g,"None")}},{key:"getSelectedLanguage",value:function(){return"python"}},{key:"generate",value:function(e,t,a,n){var r=this.getCodeImports()+l.default.NEW_LINE,u='url = "'+e+'"'+l.default.NEW_LINE,o=null===n?"":"requestPayload = "+this.getStringifiedJson(n)+l.default.NEW_LINE,i=null===a?"":"headers = "+this.getStringifiedJson(a)+l.default.NEW_LINE,d='resp = requests.request("'+t+'", url'+(""===o?"":", data=json.dumps(requestPayload)")+(null===a?"":", headers=headers")+")"+l.default.NEW_LINE;return r+"# This is the url to which the query is made"+l.default.NEXT_LINE+u+"# This is the json payload for the query"+l.default.NEXT_LINE+o+"# Setting headers"+l.default.NEXT_LINE+i+"# Make the query and store response in resp"+l.default.NEXT_LINE+d+"# resp.content contains the json response."+l.default.NEXT_LINE+"print resp.content"}},{key:"getUploadFileCode",value:function(e,t){var a=null===t?"headers = {}":"headers = "+this.getStringifiedJson(t);return"import requests"+l.default.NEW_LINE+"# This is the url to which the query is made"+l.default.NEXT_LINE+'url = "'+e+'"'+l.default.NEW_LINE+"# Setting headers"+l.default.NEXT_LINE+a+l.default.NEW_LINE+"# Open the file and make the query"+l.default.NEXT_LINE+"with open('test.png', 'rb') as file_image:"+l.default.NEXT_LINE+l.default.TAB+"resp = requests.post(url, data=file_image.read(), headers=headers)"+l.default.NEW_LINE+"# resp.content contains the json response."+l.default.NEXT_LINE+"print resp.content"}},{key:"getDownloadFileCode",value:function(e){return"import requests"+l.default.NEXT_LINE+"import shutil"+l.default.NEW_LINE+"# This is the url to which the query is made"+l.default.NEXT_LINE+'url = "'+e+'"'+l.default.NEW_LINE+"# Change the name of the file and the extension based on the file being downloaded"+l.default.NEXT_LINE+'filename = "downloadedFile.png"'+l.default.NEW_LINE+"# Make the query"+l.default.NEXT_LINE+"resp = requests.get(url, stream=TRUE)"+l.default.NEW_LINE+"# Save the data into the file"+l.default.NEXT_LINE+"with open(filename, 'wb') as file_image"+l.default.NEXT_LINE+l.default.TAB+"shutil.copyfileobj(resp.raw, file_image)"+l.default.NEW_LINE+"print resp.content"}},{key:"generateFileUploadCode",value:function(e,t,a){return"GET"===t?this.getDownloadFileCode(e):"DELETE"===t?this.generate(e,t,a,null):this.getUploadFileCode(e,a)}}]),e}();t.default=i,i.LIBRARY={REQUESTS:"requests"},e.exports=t.default},function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=a(0),l=function(e){return e&&e.__esModule?e:{default:e}}(u),o=a(1),i=function(){function e(t){n(this,e),this.library=t}return r(e,[{key:"getCodeImports",value:function(){switch(this.library){case e.LIBRARY.REQUESTS:return"import requests"+l.default.NEXT_LINE+"import json";default:throw new o.UnsupportedLibraryException(this.library+" is not supported")}}},{key:"getStringifiedJson",value:function(e){return JSON.stringify(e,null,4).replace(/null/g,"None")}},{key:"getSelectedLanguage",value:function(){return"python"}},{key:"generate",value:function(e,t,a,n){var r=this.getCodeImports()+l.default.NEW_LINE,u='url = "'+e+'"'+l.default.NEW_LINE,o=null===n?"":"requestPayload = "+this.getStringifiedJson(n)+l.default.NEW_LINE,i=null===a?"":"headers = "+this.getStringifiedJson(a)+l.default.NEW_LINE,d='resp = requests.request("'+t+'", url'+(""===o?"":", data=json.dumps(requestPayload)")+(null===a?"":", headers=headers")+")"+l.default.NEW_LINE;return r+"# This is the url to which the query is made"+l.default.NEXT_LINE+u+"# This is the json payload for the query"+l.default.NEXT_LINE+o+"# Setting headers"+l.default.NEXT_LINE+i+"# Make the query and store response in resp"+l.default.NEXT_LINE+d+"# resp.content contains the json response."+l.default.NEXT_LINE+"print(resp.content)"}},{key:"getUploadFileCode",value:function(e,t){var a=null===t?"headers = {}":"headers = "+this.getStringifiedJson(t);return"import requests"+l.default.NEW_LINE+"# This is the url to which the query is made"+l.default.NEXT_LINE+'url = "'+e+'"'+l.default.NEW_LINE+"# Setting headers"+l.default.NEXT_LINE+a+l.default.NEW_LINE+"# Open the file and make the query"+l.default.NEXT_LINE+"with open('test.png', 'rb') as file_image:"+l.default.NEXT_LINE+l.default.TAB+"resp = requests.post(url, data=file_image.read(), headers=headers)"+l.default.NEW_LINE+"# resp.content contains the json response."+l.default.NEXT_LINE+"print(resp.content)"}},{key:"getDownloadFileCode",value:function(e){return"import requests"+l.default.NEXT_LINE+"import shutil"+l.default.NEW_LINE+"# This is the url to which the query is made"+l.default.NEXT_LINE+'url = "'+e+'"'+l.default.NEW_LINE+"# Change the name of the file and the extension based on the file being downloaded"+l.default.NEXT_LINE+'filename = "downloadedFile.png"'+l.default.NEW_LINE+"# Make the query"+l.default.NEXT_LINE+"resp = requests.get(url, stream=TRUE)"+l.default.NEW_LINE+"# Save the data into the file"+l.default.NEXT_LINE+"with open(filename, 'wb') as file_image"+l.default.NEXT_LINE+l.default.TAB+"shutil.copyfileobj(resp.raw, file_image)"+l.default.NEW_LINE+"print(resp.content)"}},{key:"generateFileUploadCode",value:function(e,t,a){return"GET"===t?this.getDownloadFileCode(e):"DELETE"===t?this.generate(e,t,a,null):this.getUploadFileCode(e,a)}}]),e}();t.default=i,i.LIBRARY={REQUESTS:"requests"},e.exports=t.default},function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),l=a(1),o=a(8),i=n(o),d=a(9),f=n(d),s=a(10),E=n(s),N=a(11),c=n(N),T=function(){function e(t){switch(r(this,e),t){case e.LIBRARY.NODE_FETCH:this.generator=new E.default;break;case e.LIBRARY.JQUERY:this.generator=new f.default;break;case e.LIBRARY.FETCH:this.generator=new i.default;break;case e.LIBRARY.REACT_NATIVE:this.generator=new c.default;break;default:throw new l.UnsupportedLibraryException(t+" is not supported")}}return u(e,[{key:"getSelectedLanguage",value:function(){return"javascript"}},{key:"generate",value:function(e,t,a,n){return this.generator.generate(e,t,a,n)}},{key:"generateFileUploadCode",value:function(e,t,a){return this.generator.generateFileUploadCode(e,t,a)}}]),e}();t.default=T,T.LIBRARY={FETCH:"fetch",JQUERY:"jquery",NODE_FETCH:"node_fetch",REACT_NATIVE:"react_native"},e.exports=t.default},function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=a(0),l=function(e){return e&&e.__esModule?e:{default:e}}(u),o=a(2),i=function(){function e(){n(this,e)}return r(e,[{key:"getStringifiedJson",value:function(e){return JSON.stringify(e,null,4)}},{key:"getAuthHeaderComment",value:function(e){return e.Authorization||e.authorization?"// If you have the auth token saved in offline storage"+l.default.NEXT_LINE+"// var authToken = window.localStorage.getItem('HASURA_AUTH_TOKEN');"+l.default.NEXT_LINE+'// headers = { "Authorization" : "Bearer " + authToken }'+l.default.NEXT_LINE:""}},{key:"generate",value:function(e,t,a,n){var r="";(0,o.shouldHandleAuthToken)(e)&&(r=l.default.TAB+"// To save the auth token received to offline storage"+l.default.NEXT_LINE+l.default.TAB+"// var authToken = result.auth_token"+l.default.NEXT_LINE+l.default.TAB+"// window.localStorage.setItem('HASURA_AUTH_TOKEN', authToken);"+l.default.NEXT_LINE);var u={method:t,headers:a},i="var fetchAction = require('fetch');"+l.default.NEW_LINE,d='var url = "'+e+'";'+l.default.NEW_LINE,f=n?"var body = "+this.getStringifiedJson(n)+";"+l.default.NEW_LINE:"",s="var requestOptions = "+this.getStringifiedJson(u)+";"+l.default.NEW_LINE,E=n?"requestOptions.body = JSON.stringify(body);"+l.default.NEW_LINE:"",N="fetchAction(url, requestOptions)"+l.default.NEXT_LINE+".then(function(response) {"+l.default.NEXT_LINE+l.default.TAB+"return response.json();"+l.default.NEXT_LINE+"})"+l.default.NEXT_LINE+".then(function(result) {"+l.default.NEXT_LINE+l.default.TAB+"console.log(result);"+l.default.NEXT_LINE+r+"})"+l.default.NEXT_LINE+".catch(function(error) {"+l.default.NEXT_LINE+l.default.TAB+"console.log('Request Failed:' + error);"+l.default.NEXT_LINE+"});";return i+d+this.getAuthHeaderComment(a)+s+f+E+N}},{key:"generateFileUploadCode",value:function(e,t,a){return console.log("JS-FETCH -> FILE"),"GET"===t?this.getDownloadFileCode(e,t,a):"DELETE"===t?this.generate(e,t,a,null):this.getUploadFileCode(e,t,a)}},{key:"getUploadFileCode",value:function(e,t,a){return"var fetchAction = require('fetch');"+l.default.NEW_LINE+'var url = "'+e+'";'+l.default.NEW_LINE+"// This is the file we are going to upload, replace this with your file"+l.default.NEXT_LINE+"var file = '';"+l.default.NEW_LINE+this.getAuthHeaderComment(a)+"var requestOptions = {"+l.default.NEXT_LINE+l.default.TAB+"method: '"+t+"',"+l.default.NEXT_LINE+l.default.TAB+"headers: "+JSON.stringify(a,null,6).replace("}",l.default.TAB+"}")+","+l.default.NEXT_LINE+l.default.TAB+"body: file"+l.default.NEXT_LINE+"}"+l.default.NEW_LINE+"fetchAction(url, requestOptions)"+l.default.NEXT_LINE+".then(function(response) {"+l.default.NEXT_LINE+l.default.TAB+"return response.json();"+l.default.NEXT_LINE+"})"+l.default.NEXT_LINE+".then(function(result) {"+l.default.NEXT_LINE+l.default.TAB+"console.log(result);"+l.default.NEXT_LINE+"})"+l.default.NEXT_LINE+".catch(function(error) {"+l.default.NEXT_LINE+l.default.TAB+"console.log('Request Failed:' + error);"+l.default.NEXT_LINE+"});"}},{key:"getDownloadFileCode",value:function(e,t,a){var n={method:t,headers:a};return"var fetchAction = require('fetch');"+l.default.NEW_LINE+'var url = "'+e+'";'+l.default.NEW_LINE+this.getAuthHeaderComment(a)+"var requestOptions = "+this.getStringifiedJson(n)+";"+l.default.NEW_LINE+"fetchAction(url, requestOptions)"+l.default.NEXT_LINE+".then(function(response) {"+l.default.NEXT_LINE+l.default.TAB+"return response.blob();"+l.default.NEXT_LINE+"})"+l.default.NEXT_LINE+".then(function(blob) {"+l.default.NEXT_LINE+l.default.TAB+"console.log(result);"+l.default.NEXT_LINE+"})"+l.default.NEXT_LINE+".catch(function(error) {"+l.default.NEXT_LINE+l.default.TAB+"console.log('Request Failed:' + error);"+l.default.NEXT_LINE+"});"}}]),e}();t.default=i,e.exports=t.default},function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=a(0),l=function(e){return e&&e.__esModule?e:{default:e}}(u),o=a(2),i=function(){function e(){n(this,e)}return r(e,[{key:"getStringifiedJson",value:function(e,t){return JSON.stringify(e,null,t).replace(/}([^}]*)$/,"\t}$1")}},{key:"getAuthHeaderComment",value:function(e){return e.Authorization||e.authorization?"// If you have the auth token saved in offline storage"+l.default.NEXT_LINE+"// var authToken = window.localStorage.getItem('HASURA_AUTH_TOKEN');"+l.default.NEXT_LINE+'// headers = { "Authorization" : "Bearer " + authToken }'+l.default.NEXT_LINE:""}},{key:"getHandleAuthResponseComment",value:function(e,t){return(0,o.shouldHandleAuthToken)(e)?t+"// To save the auth token received to offline storage"+l.default.NEXT_LINE+t+"// var authToken = result.auth_token"+l.default.NEXT_LINE+t+"// window.localStorage.setItem('HASURA_AUTH_TOKEN', authToken);"+l.default.NEXT_LINE:""}},{key:"getContentType",value:function(e){for(var t in e)if("contenttype"===t.replace("-","").toLowerCase())return e[t];return null}},{key:"getHeaders",value:function(e){var t={};for(var a in e)"contenttype"!==a.replace("-","").toLowerCase()&&(t[a]=e[a]);return Object.keys(t).length?t:null}},{key:"generate",value:function(e,t,a,n){var r='url: "'+e+'",',u=this.getContentType(a)?l.default.TAB+'contentType: "'+this.getContentType(a)+'",'+l.default.NEXT_LINE:"",o=this.getHeaders(a)?l.default.TAB+"headers: "+this.getStringifiedJson(this.getHeaders(a),6)+","+l.default.NEXT_LINE:"",i="data: JSON.stringify("+this.getStringifiedJson(n,6)+"),",d='type: "'+t+'",';return this.getAuthHeaderComment(a)+"$.ajax({"+l.default.NEXT_LINE+l.default.TAB+r+l.default.NEXT_LINE+u+o+l.default.TAB+i+l.default.NEXT_LINE+l.default.TAB+d+l.default.NEXT_LINE+l.default.TAB+'dataType: "json"'+l.default.NEXT_LINE+"}).done(function(json) {"+l.default.NEXT_LINE+l.default.TAB+"// Handle Response"+l.default.NEXT_LINE+this.getHandleAuthResponseComment(e,l.default.TAB)+"}).fail(function(xhr, status, errorThrown) {"+l.default.NEXT_LINE+l.default.TAB+'console.log("Error: " + errorThrown);'+l.default.NEXT_LINE+l.default.TAB+'console.log("Status: " + status);'+l.default.NEXT_LINE+l.default.TAB+"console.dir(xhr);"+l.default.NEXT_LINE+"});"}},{key:"getUploadFileCode",value:function(e,t){var a='url: "'+e+'",',n=this.getContentType(t)?l.default.TAB+'contentType: "'+this.getContentType(t)+'",'+l.default.NEXT_LINE:"",r=this.getHeaders(t)?l.default.TAB+"headers: "+this.getStringifiedJson(this.getHeaders(t))+","+l.default.NEXT_LINE:"";return"// This is the file we are going to upload, replace this with your file"+l.default.NEXT_LINE+"var file = ''"+l.default.NEW_LINE+this.getAuthHeaderComment(t)+"$.ajax({"+l.default.NEXT_LINE+l.default.TAB+a+l.default.NEXT_LINE+n+r+l.default.TAB+"data: file,"+l.default.NEXT_LINE+l.default.TAB+'type: "POST",'+l.default.NEXT_LINE+"}).done(function(json) {"+l.default.NEXT_LINE+l.default.TAB+"//Handle Response"+l.default.NEXT_LINE+"}).fail(function(xhr, status, errorThrown) {"+l.default.NEXT_LINE+l.default.TAB+'console.log("Error: " + errorThrown);'+l.default.NEXT_LINE+l.default.TAB+'console.log("Status: " + status);'+l.default.NEXT_LINE+l.default.TAB+"console.dir(xhr);"+l.default.NEXT_LINE+"});"}},{key:"getDownloadFileCode",value:function(e,t){return"//JQuery does not support blob types yet."}},{key:"generateFileUploadCode",value:function(e,t,a){return"GET"===t?this.getDownloadFileCode(e,a):"DELETE"===t?this.generate(e,t,a,null):this.getUploadFileCode(e,a)}}]),e}();t.default=i,e.exports=t.default},function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=a(0),l=function(e){return e&&e.__esModule?e:{default:e}}(u),o=function(){function e(){n(this,e)}return r(e,[{key:"getStringifiedJson",value:function(e){return JSON.stringify(e,null,4)}},{key:"generate",value:function(e,t,a,n){var r={method:t,headers:a},u="var fetchAction = require('node-fetch');"+l.default.NEW_LINE,o='var url = "'+e+'";'+l.default.NEW_LINE,i=n?"var body = "+this.getStringifiedJson(n)+";"+l.default.NEW_LINE:"";return u+o+"var requestOptions = "+this.getStringifiedJson(r)+";"+l.default.NEW_LINE+i+(n?"requestOptions.body = JSON.stringify(body);"+l.default.NEW_LINE:"")+"fetchAction(url, requestOptions)"+l.default.NEXT_LINE+".then(function(response) {"+l.default.NEXT_LINE+l.default.TAB+"return response.json();"+l.default.NEXT_LINE+"})"+l.default.NEXT_LINE+".then(function(result) {"+l.default.NEXT_LINE+l.default.TAB+"console.log(JSON.stringify(result));"+l.default.NEXT_LINE+"})"+l.default.NEXT_LINE+".catch(function(error) {"+l.default.NEXT_LINE+l.default.TAB+"console.log('Request Failed:' + error);"+l.default.NEXT_LINE+"});"}},{key:"generateFileUploadCode",value:function(e,t,a){return console.log("JS-FETCH -> FILE"),"GET"===t?this.getDownloadFileCode(e,t,a):"DELETE"===t?this.generate(e,t,a,null):this.getUploadFileCode(e,t,a)}},{key:"getUploadFileCode",value:function(e,t,a){return"var fetchAction = require('fetch');"+l.default.NEW_LINE+'var url = "'+e+'";'+l.default.NEW_LINE+"// This is the file we are going to upload, replace this with your file"+l.default.NEXT_LINE+"var file = '';"+l.default.NEW_LINE+"var requestOptions = {"+l.default.NEXT_LINE+l.default.TAB+"method: '"+t+"',"+l.default.NEXT_LINE+l.default.TAB+"headers: "+JSON.stringify(a,null,6).replace("}",l.default.TAB+"}")+","+l.default.NEXT_LINE+l.default.TAB+"body: file"+l.default.NEXT_LINE+"}"+l.default.NEW_LINE+"fetchAction(url, requestOptions)"+l.default.NEXT_LINE+".then(function(response) {"+l.default.NEXT_LINE+l.default.TAB+"return response.json();"+l.default.NEXT_LINE+"})"+l.default.NEXT_LINE+".then(function(result) {"+l.default.NEXT_LINE+l.default.TAB+"console.log(result);"+l.default.NEXT_LINE+"})"+l.default.NEXT_LINE+".catch(function(error) {"+l.default.NEXT_LINE+l.default.TAB+"console.log('Request Failed:' + error);"+l.default.NEXT_LINE+"});"}},{key:"getDownloadFileCode",value:function(e,t,a){var n={method:t,headers:a};return"var fetchAction = require('fetch');"+l.default.NEW_LINE+'var url = "'+e+'";'+l.default.NEW_LINE+"var requestOptions = "+this.getStringifiedJson(n)+";"+l.default.NEW_LINE+"fetchAction(url, requestOptions)"+l.default.NEXT_LINE+".then(function(response) {"+l.default.NEXT_LINE+l.default.TAB+"return response.blob();"+l.default.NEXT_LINE+"})"+l.default.NEXT_LINE+".then(function(blob) {"+l.default.NEXT_LINE+l.default.TAB+"console.log(result);"+l.default.NEXT_LINE+"})"+l.default.NEXT_LINE+".catch(function(error) {"+l.default.NEXT_LINE+l.default.TAB+"console.log('Request Failed:' + error);"+l.default.NEXT_LINE+"});"}}]),e}();t.default=o,e.exports=t.default},function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=a(0),l=function(e){return e&&e.__esModule?e:{default:e}}(u),o=a(2),i=function(){function e(){n(this,e)}return r(e,[{key:"getStringifiedJson",value:function(e){return JSON.stringify(e,null,4)}},{key:"getAuthHeaderComment",value:function(e){return e.Authorization||e.authorization?"// If you have the auth token saved in offline storage, obtain it in async componentDidMount"+l.default.NEXT_LINE+"// var authToken = await AsyncStorage.getItem('HASURA_AUTH_TOKEN');"+l.default.NEXT_LINE+"// And use it in your headers"+l.default.NEXT_LINE+'// headers = { "Authorization" : "Bearer " + authToken }'+l.default.NEXT_LINE:""}},{key:"generate",value:function(e,t,a,n){var r="";(0,o.shouldHandleAuthToken)(e)&&(r=l.default.TAB+"// To save the auth token received to offline storage"+l.default.NEXT_LINE+l.default.TAB+"// var authToken = result.auth_token"+l.default.NEXT_LINE+l.default.TAB+"// AsyncStorage.setItem('HASURA_AUTH_TOKEN', authToken);"+l.default.NEXT_LINE);var u={method:t,headers:a},i='var url = "'+e+'";'+l.default.NEW_LINE,d=n?"var body = "+this.getStringifiedJson(n)+";"+l.default.NEW_LINE:"",f="var requestOptions = "+this.getStringifiedJson(u)+";"+l.default.NEW_LINE,s=n?"requestOptions.body = JSON.stringify(body);"+l.default.NEW_LINE:"",E="fetch(url, requestOptions)"+l.default.NEXT_LINE+".then(function(response) {"+l.default.NEXT_LINE+l.default.TAB+"return response.json();"+l.default.NEXT_LINE+"})"+l.default.NEXT_LINE+".then(function(result) {"+l.default.NEXT_LINE+l.default.TAB+"console.log(result);"+l.default.NEXT_LINE+r+"})"+l.default.NEXT_LINE+".catch(function(error) {"+l.default.NEXT_LINE+l.default.TAB+"console.log('Request Failed:' + error);"+l.default.NEXT_LINE+"});";return i+this.getAuthHeaderComment(a)+f+d+s+E}},{key:"generateFileUploadCode",value:function(e,t,a){return console.log("JS-FETCH -> FILE"),"GET"===t?this.getDownloadFileCode(e,t,a):"DELETE"===t?this.generate(e,t,a,null):this.getUploadFileCode(e,t,a)}},{key:"getUploadFileCode",value:function(e,t,a){return"var fetchAction = require('fetch');"+l.default.NEW_LINE+'var url = "'+e+'";'+l.default.NEW_LINE+"// This is the file we are going to upload, replace this with your file"+l.default.NEXT_LINE+"var file = '';"+l.default.NEW_LINE+this.getAuthHeaderComment(a)+"var requestOptions = {"+l.default.NEXT_LINE+l.default.TAB+"method: '"+t+"',"+l.default.NEXT_LINE+l.default.TAB+"headers: "+JSON.stringify(a,null,6).replace("}",l.default.TAB+"}")+","+l.default.NEXT_LINE+l.default.TAB+"body: file"+l.default.NEXT_LINE+"}"+l.default.NEW_LINE+"fetchAction(url, requestOptions)"+l.default.NEXT_LINE+".then(function(response) {"+l.default.NEXT_LINE+l.default.TAB+"return response.json();"+l.default.NEXT_LINE+"})"+l.default.NEXT_LINE+".then(function(result) {"+l.default.NEXT_LINE+l.default.TAB+"console.log(result);"+l.default.NEXT_LINE+"})"+l.default.NEXT_LINE+".catch(function(error) {"+l.default.NEXT_LINE+l.default.TAB+"console.log('Request Failed:' + error);"+l.default.NEXT_LINE+"});"}},{key:"getDownloadFileCode",value:function(e,t,a){var n={method:t,headers:a};return"var fetchAction = require('fetch');"+l.default.NEW_LINE+'var url = "'+e+'";'+l.default.NEW_LINE+this.getAuthHeaderComment(a)+"var requestOptions = "+this.getStringifiedJson(n)+";"+l.default.NEW_LINE+"fetchAction(url, requestOptions)"+l.default.NEXT_LINE+".then(function(response) {"+l.default.NEXT_LINE+l.default.TAB+"return response.blob();"+l.default.NEXT_LINE+"})"+l.default.NEXT_LINE+".then(function(blob) {"+l.default.NEXT_LINE+l.default.TAB+"console.log(result);"+l.default.NEXT_LINE+"})"+l.default.NEXT_LINE+".catch(function(error) {"+l.default.NEXT_LINE+l.default.TAB+"console.log('Request Failed:' + error);"+l.default.NEXT_LINE+"});"}}]),e}();t.default=i,e.exports=t.default},function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=function(){function e(){n(this,e)}return r(e,[{key:"getStringifiedJson",value:function(e){return JSON.stringify(e,null,4)}},{key:"getCurlHeaders",value:function(e){var t="";for(var a in e)t+=' -H "'+a+": "+e[a]+'"';return t}},{key:"generate",value:function(e,t,a,n){var r='"'+e+'"',u=null===n?"":" -d '"+this.getStringifiedJson(n)+"' ";return"curl -X "+t+" "+(null===a?"":this.getCurlHeaders(a))+" "+u+" "+r}},{key:"generateFileUploadCode",value:function(e,t,a){if("DELETE"===t)return this.generate(e,t,a,null);var n='"'+e+'"',r="GET"===t?"--output path/to/download/file":" --data-binary @path/to/file ";return"curl -X "+t+(null===a?"":this.getCurlHeaders(a))+" "+r+" "+n}},{key:"getSelectedLanguage",value:function(){return"text"}}]),e}();t.default=u,e.exports=t.default},function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=a(0),l=function(e){return e&&e.__esModule?e:{default:e}}(u),o=a(1),i=a(2),d=function(){function e(t){n(this,e),this.library=t,this.shouldHandleAuth=!1,this.library===e.LIBRARY.IOS_ALAMOFIRE&&(this.shouldHandleAuth=!0)}return r(e,[{key:"getCodeImports",value:function(){switch(this.library){case e.LIBRARY.ALAMOFIRE:case e.LIBRARY.IOS_ALAMOFIRE:return"import Foundation"+l.default.NEXT_LINE+"import Alamofire";default:throw new o.UnsupportedLibraryException(this.library+" is not supported")}}},{key:"getSelectedLanguage",value:function(){return"swift"}},{key:"getMethodTypeString",value:function(e){return"."+e.toLowerCase()}},{key:"getStringifiedJson",value:function(e){return JSON.stringify(e,null,4).replace(/{/g,"[").replace(/}/g,"]")}},{key:"getAuthHeaderComment",value:function(e){return this.shouldHandleAuth&&(e.Authorization||e.authorization)?"// If you have the auth token saved in UserDefaults,"+l.default.NEXT_LINE+'// let authToken = UserDefaults.standard.string(forKey: "HASURA_AUTH_TOKEN")'+l.default.NEXT_LINE+"// Now you can set the header like so,"+l.default.NEXT_LINE+"// let headers: HTTPHeaders? = ["+l.default.NEXT_LINE+"// "+l.default.TAB+'"Authorization": "Bearer " + authToken'+l.default.NEXT_LINE+"// ]"+l.default.NEXT_LINE:""}},{key:"getSaveAuthTokenComment",value:function(e,t){return this.shouldHandleAuth&&(0,i.shouldHandleAuthToken)(e)?t+"// To save the auth token offline"+l.default.NEXT_LINE+t+"// if let JSON = response.result.value {"+l.default.NEXT_LINE+t+"// "+l.default.TAB+"let json = JSON as! [String: Any]"+l.default.NEXT_LINE+t+"// "+l.default.TAB+'UserDefaults.standard.set(json["auth_token"], forKey: "HASURA_AUTH_TOKEN")'+l.default.NEXT_LINE+t+"// }"+l.default.NEXT_LINE:""}},{key:"generate",value:function(e,t,a,n){var r=this.getCodeImports()+l.default.NEW_LINE,u='let url = "'+e+'"'+l.default.NEW_LINE,o="let headers: HTTPHeaders? = "+(null===a?"nil":""+this.getStringifiedJson(a))+l.default.NEW_LINE;return r+u+(a?this.getAuthHeaderComment(a):"")+o+"var requestParam: [String: Any]? = "+(null===n?"nil":""+this.getStringifiedJson(n))+l.default.NEW_LINE+"Alamofire.request(url,"+l.default.NEXT_LINE+l.default.TAB+l.default.TAB+"method: "+this.getMethodTypeString(t)+l.default.NEXT_LINE+l.default.TAB+l.default.TAB+"headers: headers"+l.default.NEXT_LINE+l.default.TAB+l.default.TAB+"parameters: requestParam"+l.default.NEXT_LINE+l.default.TAB+l.default.TAB+"encoding: JSONEncoding.default)"+l.default.NEXT_LINE+".responseJSON { response in "+l.default.NEXT_LINE+l.default.TAB+l.default.TAB+"debugPrint(response)"+l.default.NEXT_LINE+this.getSaveAuthTokenComment(e,l.default.TAB+l.default.TAB)+"}"}},{key:"getFileDownloadCode",value:function(e,t){var a="let headers: HTTPHeaders? = "+(null===t?"nil":""+this.getStringifiedJson(t)),n=t?this.getAuthHeaderComment(t):"";return"import Foundation"+l.default.NEXT_LINE+"import Alamofire"+l.default.NEW_LINE+'let url = "'+e+'"'+l.default.NEW_LINE+n+a+l.default.NEW_LINE+"let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]"+l.default.NEXT_LINE+"let documentsURL = URL(fileURLWithPath: documentsPath, isDirectory: true)"+l.default.NEXT_LINE+"let fileURL = documentsURL.appendingPathComponent(url)"+l.default.NEW_LINE+"//Downloading file to this location will replace the previous file at this location"+l.default.NEXT_LINE+"let destination: DownloadRequest.DownloadFileDestination = { _, _ in"+l.default.NEXT_LINE+l.default.TAB+"return (fileURL, [.removePreviousFile, .createIntermediateDirectories])"+l.default.NEXT_LINE+"}"+l.default.NEW_LINE+"Alamofire.download(url, method: .get, headers: headers, to: destination)"+l.default.NEXT_LINE+l.default.TAB+".responseData { (response: DownloadResponse<Data>) in"+l.default.NEXT_LINE+l.default.TAB+"print(response.debugDescription)"+l.default.NEXT_LINE+l.default.TAB+"switch (response.result) {"+l.default.NEXT_LINE+l.default.TAB+"case .success(let data) :"+l.default.NEXT_LINE+l.default.TAB+l.default.TAB+"//Handle Success"+l.default.NEXT_LINE+l.default.TAB+l.default.TAB+"break"+l.default.NEXT_LINE+l.default.TAB+"case .failure(let error):"+l.default.NEXT_LINE+l.default.TAB+l.default.TAB+"//Handle Failure"+l.default.NEXT_LINE+l.default.TAB+l.default.TAB+"break"+l.default.NEXT_LINE+l.default.TAB+"}"+l.default.NEXT_LINE+"}"}},{key:"getFileUploadCode",value:function(e,t){var a="let headers: HTTPHeaders? = "+(null===t?"nil":""+this.getStringifiedJson(t)),n=t?this.getAuthHeaderComment(t):"";return"import Foundation"+l.default.NEXT_LINE+"import Alamofire"+l.default.NEW_LINE+'let url = "'+e+'"'+l.default.NEW_LINE+n+a+l.default.NEW_LINE+"//Uploading an empty file, replace the value of data with your file"+l.default.NEXT_LINE+"let data = Data()"+l.default.NEW_LINE+"Alamofire.upload(data, to: url, method: .post, headers: headers)"+l.default.NEXT_LINE+l.default.TAB+".responseJSON { (response: DataResponse<Any>) in"+l.default.NEXT_LINE+l.default.TAB+"print(response.debugDescription)"+l.default.NEXT_LINE+l.default.TAB+"switch (response.result) {"+l.default.NEXT_LINE+l.default.TAB+"case .success(let data) :"+l.default.NEXT_LINE+l.default.TAB+l.default.TAB+"//Handle Success"+l.default.NEXT_LINE+l.default.TAB+l.default.TAB+"break"+l.default.NEXT_LINE+l.default.TAB+"case .failure(let error):"+l.default.NEXT_LINE+l.default.TAB+l.default.TAB+"//Handle Error"+l.default.NEXT_LINE+l.default.TAB+l.default.TAB+"break"+l.default.NEXT_LINE+l.default.TAB+"}"+l.default.NEXT_LINE+"}"}},{key:"generateFileUploadCode",value:function(e,t,a){return"GET"===t?this.getFileDownloadCode(e,a):"DELETE"===t?this.generate(e,t,a,null):this.getFileUploadCode(e,a)}}]),e}();t.default=d,d.LIBRARY={ALAMOFIRE:"alamofire",IOS_ALAMOFIRE:"iOS-alamofire"},e.exports=t.default},function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=a(0),l=function(e){return e&&e.__esModule?e:{default:e}}(u),o=a(1),i=a(2),d=function(){function e(t){switch(n(this,e),this.shouldHandleAuth=!1,t){case e.LIBRARY.OKHTTP:break;case e.LIBRARY.ANDROID:this.shouldHandleAuth=!0;break;default:throw new o.UnsupportedLibraryException(this.library+" is not supported")}}return r(e,[{key:"getSelectedLanguage",value:function(){return"java"}},{key:"getMethodTypeString",value:function(e){return"."+e.toLowerCase()}},{key:"getContentType",value:function(e){for(var t in e)if("contenttype"===t.replace("-","").toLowerCase())return e[t];return null}},{key:"getJavaRequestHeaders",value:function(e,t){var a="";for(var n in e)"contenttype"!==n.replace("-","").toLowerCase()&&(a+=this.getTabs(t)+'.addHeader("'+n+'", "'+e[n]+'")'+l.default.NEXT_LINE);return a}},{key:"getTabs",value:function(e){for(var t="",a=0;a<e;a++)t+=l.default.TAB;return t}},{key:"getAuthHeaderComment",value:function(e,t){if(this.shouldHandleAuth)for(var a in e)if("authorization"===a.toLowerCase())return t+"// If you have the auth token saved in shared prefs"+l.default.NEXT_LINE+t+'// SharedPreferences prefs = context.getSharedPreferences("PREFS_NAME", Context.MODE_PRIVATE);'+l.default.NEXT_LINE+t+'// String authToken = prefs.getString("HASURA_AUTH_TOKEN", null);'+l.default.NEXT_LINE+t+"// You can now use this auth token in your header like so,"+l.default.NEXT_LINE+t+"// .addHeader("+a+', "Bearer " + authToken);'+l.default.NEXT_LINE;return""}},{key:"getSaveAuthTokenComment",value:function(e,t){var a=t+l.default.TAB;return this.shouldHandleAuth&&(0,i.shouldHandleAuthToken)(e)?a+"// To save the auth token offline "+l.default.NEXT_LINE+a+"// String jsonString = responses.body().string();"+l.default.NEXT_LINE+a+"// JSONObject jsonObject = new JSONObject(jsonString);"+l.default.NEXT_LINE+a+'// String authToken = jsonObject.getString("auth_token");'+l.default.NEXT_LINE+a+'// SharedPreferences settings = context.getSharedPreferences("PREFS_NAME", Context.MODE_PRIVATE);'+l.default.NEXT_LINE+a+"// SharedPreferences.Editor editor = settings.edit();"+l.default.NEXT_LINE+a+'// editor.putString("HASURA_AUTH_TOKEN", authToken);'+l.default.NEXT_LINE+a+"// editor.commit();"+l.default.NEXT_LINE:""}},{key:"getResponseFunction",value:function(e,t){var a=this.getTabs(t),n=this.getTabs(t-1);return"client.newCall(request).enqueue(new Callback() {"+l.default.NEXT_LINE+a+"@Override"+l.default.NEXT_LINE+a+"public void onFailure(okhttp3.Call call, IOException e) {"+l.default.NEXT_LINE+a+l.default.TAB+"//Handle failure"+l.default.NEXT_LINE+a+"}"+l.default.NEW_LINE+a+"@Override"+l.default.NEXT_LINE+a+"public void onResponse(okhttp3.Call call, Response response) throws IOException {"+l.default.NEXT_LINE+a+l.default.TAB+"// Handle success"+l.default.NEXT_LINE+this.getSaveAuthTokenComment(e,a)+a+"}"+l.default.NEXT_LINE+n+"});"}},{key:"getSyncResponseFunction",value:function(e){var t=(this.getTabs(e),this.getTabs(e-1));return"// To execute the call synchronously"+l.default.NEXT_LINE+t+"// try {"+l.default.NEXT_LINE+t+"// "+l.default.TAB+"Response response = client.newCall(request).execute();"+l.default.NEXT_LINE+t+"// "+l.default.TAB+"String responseString = response.body().string(); // handle response"+l.default.NEXT_LINE+t+"// } catch (IOException e) { "+l.default.NEXT_LINE+t+"// "+l.default.TAB+"e.printStackTrace(); // handle error"+l.default.NEXT_LINE+t+"// }"}},{key:"getFileUploadCode",value:function(e,t){var a=null===t?"":this.getJavaRequestHeaders(t,1),n=t?this.getAuthHeaderComment(t,""):"",r=this.getContentType(t)?'MediaType mediaType = MediaType.parse("'+this.getContentType(t)+'");'+l.default.NEW_LINE:'// Replace "image/*" with the required Content-Type'+l.default.NEXT_LINE+'MediaType mediaType = MediaType.parse("image/*");'+l.default.NEW_LINE;return'String url = "'+e+'";'+l.default.NEW_LINE+"// The file to be uploaded is represented as a byte array, replace the file variable with your upload data"+l.default.NEXT_LINE+'byte[] file = "File to be uploaded".getBytes();'+l.default.NEW_LINE+"OkHttpClient client = new OkHttpClient();"+l.default.NEW_LINE+r+"RequestBody body = RequestBody.create(mediaType, file);"+l.default.NEW_LINE+n+"Request request = new Request.builder()"+l.default.NEXT_LINE+l.default.TAB+".url(url)"+l.default.NEXT_LINE+l.default.TAB+".post(body)"+l.default.NEXT_LINE+a+l.default.TAB+"build();"+l.default.NEW_LINE+this.getResponseFunction(e,1)+l.default.NEW_LINE+this.getSyncResponseFunction(1)}},{key:"getFileDownloadCode",value:function(e,t){var a=null===t?"":this.getJavaRequestHeaders(t,1),n=t?this.getAuthHeaderComment(t,""):"";return'String url = "'+e+'";'+l.default.NEW_LINE+"OkHttpClient client = new OkHttpClient();"+l.default.NEW_LINE+n+"Request request = new Request.builder()"+l.default.NEXT_LINE+l.default.TAB+".url(url)"+l.default.NEXT_LINE+a+l.default.TAB+"build();"+l.default.NEW_LINE+this.getResponseFunction(e,1)+l.default.NEW_LINE+this.getSyncResponseFunction(1)}},{key:"generateFileUploadCode",value:function(e,t,a){return"GET"===t?this.getFileDownloadCode(e,a):"DELETE"===t?this.generate(e,t,a,null):this.getFileUploadCode(e,a)}},{key:"generate",value:function(e,t,a,n){var r='String url = "'+e+'";',u=a?this.getAuthHeaderComment(a,l.default.TAB):"",o=n?"RequestBody body = RequestBody.create(mediaType, jsonObject.toString());":"",i=this.getMethodTypeString(t)+"("+(null===n?"":"body")+")",d=null===a?"":this.getJavaRequestHeaders(a,2),f="Request request = new Request.Builder()"+l.default.NEXT_LINE+l.default.TAB+l.default.TAB+".url(url)"+l.default.NEXT_LINE+l.default.TAB+l.default.TAB+i+l.default.NEXT_LINE+d+l.default.TAB+l.default.TAB+".build();";return r+l.default.NEW_LINE+"try {"+l.default.NEXT_LINE+l.default.TAB+"OkHttpClient client = new OkHttpClient();"+l.default.NEW_LINE+l.default.TAB+'MediaType mediaType = MediaType.parse("application/json");'+l.default.NEXT_LINE+(n?l.default.TAB+this.getJavaRepresentationOfJSON(n,1)+l.default.NEW_LINE:"")+l.default.TAB+o+l.default.NEXT_LINE+u+l.default.TAB+f+l.default.NEW_LINE+l.default.TAB+this.getResponseFunction(e,2)+l.default.NEW_LINE+l.default.TAB+this.getSyncResponseFunction(2)+l.default.NEW_LINE+"} catch (JSONException e) {"+l.default.NEXT_LINE+l.default.TAB+"e.printStackTrace()"+l.default.SEMICOLON+l.default.NEXT_LINE+"}"}},{key:"getJavaRepresentationOfJSON",value:function(e,t){var a="JSONObject jsonObject = new JSONObject()";for(var n in e){a+=l.default.NEXT_LINE+this.getTabs(t)+'.put("'+n+'", ';var r=e[n];this.isArray(r)&&(a+=this.iterateArray(r,t+1)),this.isObject(r)?a+=this.iterateObject(r,t+1):a+=this.getValue(r),a+=")"}return a+=";"}},{key:"iterateArray",value:function(e,t){for(var a="new JSONArray()",n=0;n<e.length;n++){var r=e[n];a+=l.default.NEXT_LINE+this.getTabs(t)+".put(",this.isObject(r)?a+=this.iterateObject(r,t+1):this.isArray(r)?a+=this.iterateArray(r,t+1):a+=this.getValue(r),a+=")"}return a+l.default.NEXT_LINE+this.getTabs(t-1)}},{key:"iterateObject",value:function(e,t){var a="new JSONObject()";for(var n in e){a+=l.default.NEXT_LINE+this.getTabs(t)+'.put("'+n+'", ';var r=e[n];this.isObject(r)?a+=this.iterateObject(r,t+1):this.isArray(r)?a+=this.iterateArray(r,t+1):a+=this.getValue(r),a+=")"}return a+l.default.NEXT_LINE+this.getTabs(t-1)}},{key:"getValue",value:function(e){return null===e?null:e.constructor==String?'"'+e+'"':e}},{key:"isArray",value:function(e){return null!==e&&e.constructor==Array}},{key:"isObject",value:function(e){return null!==e&&e.constructor==Object}}]),e}();t.default=d,d.LIBRARY={OKHTTP:"okhttp",ANDROID:"android"},e.exports=t.default}])});