diff --git a/dist/app.map b/dist/app.map deleted file mode 100644 index 2a74a47..0000000 --- a/dist/app.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["oxg.js","app.js"],"names":["AjaxHelper","createXHR","url","options","xhr","window","ActiveXObject","e","XMLHttpRequest","method","data","qstring","key","push","encodeURIComponent","join","cache","toUpperCase","Date","getTime","onreadystatechange","readyState","before","call","status","contentType","getResponseHeader","complete","JSON","parse","responseText","responseXML","open","make","setRequestHeader","send","oxg","boolean","callback","loadingCallback","ajax","module","exports","require","get","then"],"mappings":"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","file":"app.map","sourceRoot":"..","sourcesContent":["// Create Object\nvar AjaxHelper = {};\n\n// Making a function\nAjaxHelper.createXHR = (url, options) => {\n // Setting xhr object to null because of browser support\n var xhr = false;\n /* Check if browser supports ajax */\n // if browser is IE 8 or Older version\n if ( window.ActiveXObject) {\n try {\n xhr = new ActiveXObject(\"Microsoft.XMLHTTP\");\n } catch (e) {\n xhr = false;\n }\n }\n // Any other browser that doesn't support ajax\n if ( !window.XMLHttpRequest ) return false;\n // if browser supports Ajax, then create AjaxRequest\n xhr = new XMLHttpRequest();\n // As it is a function, we have constructor, and we should get values from users\n // Check if user passes options\n options = options || {};\n // Check if user passess request method\n options.method = options.method || \"GET\";\n // Check if user passes any data for POST requests\n options.data = options.data || null;\n // if post request passed then convert it to the post query \n \n if (options.data !== null) {\n var qstring = [];\n // filter through and set values\n for (var key in options.data)\n qstring.push(encodeURIComponent(key)+\"=\"+encodeURIComponent(options.data[key]));\n // as last part join data with & so that POST query can realize\n options.data = qstring.join(\"&\");\n } \n\n // Check if chacing is enabled or not\n if (options.cache == false && options.method.toUpperCase() == \"GET\")\n url = url+\"?_=\"+ new Date().getTime()\n\n // Parts of ajax request\n xhr.onreadystatechange = () => {\n // if request is loading\n if (xhr.readyState == 1 && options.before) \n options.before.call(xhr);\n\n // if ajax request is successefull\n if ( (xhr.readyState == 4) && xhr.status == 200 || xhr.status == 304 ) {\n // Set Content Type That Server Can realize what is that about\n var contentType = xhr.getResponseHeader('Content-Type');\n // If Any Error\n if (!options.complete) return false; \n \n /* GET REQUEST */\n // Check if GET request == json\n if (contentType == \"application/json\")\n return options.complete.call(xhr, JSON.parse(xhr.responseText));\n // Check if GET request == xml\n if (contentType == \"text/xml\" || contentType == \"application/xml\")\n return options.complete.call(xhr, xhr.responseXML);\n // As a default, set GET request file to anyFormat\n return options.complete.call(xhr, xhr.responseText);\n } \n };\n // Open the request\n xhr.open(options.method, url);\n\n // And return Object\n return xhr;\n};\n\n// Now function for user\nAjaxHelper.make = (url, options) => {\n try {\n // lets use function we made above\n var xhr = AjaxHelper.createXHR(url, options);\n // if Ajax request is not supported then return false\n if (!xhr) return false;\n // Set default Request Header That Server Can Realize\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n // Check if request type == POST\n if (options.method.toUpperCase() == \"POST\")\n // if request type == POST, then set content type\n xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');\n\n // Send the data to the server\n xhr.send(options.data);\n \n // Return request\n return xhr;\n } catch(e) {\n return e;\n }\n};\n\nclass oxg {\n constructor(url, data, method) {\n this.url = url;\n this.data = data;\n this.method = method;\n }\n\n static get(url, data) {\n this.url = url;\n this.data = data;\n this.method = \"GET\";\n\n return new this(url, data, \"GET\");\n }\n\n cache(boolean) {\n if (boolean) {\n return;\n }\n this.cache = true;\n\n return this;\n }\n\n loading(callback) {\n this.loadingCallback = callback; \n return this;\n }\n\n then(callback) {\n this.ajax = AjaxHelper.make(this.url, {\n method: this.method,\n data: this.data,\n cache: this.cache,\n before: this.loadingCallback,\n complete: callback\n });\n\n return this;\n }\n \n static post(url, data) {\n this.url = url;\n this.data = data;\n this.method = \"POST\";\n\n return new this(url, data, \"POST\");\n }\n}\n\nmodule.exports = oxg;\n","var oxg = require('./oxg');\n\noxg.get('file/text.js')\n .then(response => {\n \n });\n\n"]} \ No newline at end of file diff --git a/dist/app.js b/dist/oxg.js similarity index 97% rename from dist/app.js rename to dist/oxg.js index 6056204..bee1f0d 100644 --- a/dist/app.js +++ b/dist/oxg.js @@ -263,9 +263,5 @@ var oxg = function () { }(); module.exports = oxg; -},{}],"app.js":[function(require,module,exports) { -var oxg = require('./oxg'); - -oxg.get('file/text.js').then(function (response) {}); -},{"./oxg":"oxg.js"}]},{},["app.js"], null) -//# sourceMappingURL=/app.map \ No newline at end of file +},{}]},{},["oxg.js"], null) +//# sourceMappingURL=/oxg.map \ No newline at end of file diff --git a/dist/oxg.map b/dist/oxg.map new file mode 100644 index 0000000..b59bc0a --- /dev/null +++ b/dist/oxg.map @@ -0,0 +1 @@ +{"version":3,"sources":["oxg.js"],"names":["AjaxHelper","createXHR","url","options","xhr","window","ActiveXObject","e","XMLHttpRequest","method","data","qstring","key","push","encodeURIComponent","join","cache","toUpperCase","Date","getTime","onreadystatechange","readyState","before","call","status","contentType","getResponseHeader","complete","JSON","parse","responseText","responseXML","open","make","setRequestHeader","send","oxg","boolean","callback","loadingCallback","ajax","module","exports"],"mappings":"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","file":"oxg.map","sourceRoot":"..","sourcesContent":["// Create Object\nvar AjaxHelper = {};\n\n// Making a function\nAjaxHelper.createXHR = (url, options) => {\n // Setting xhr object to null because of browser support\n var xhr = false;\n /* Check if browser supports ajax */\n // if browser is IE 8 or Older version\n if ( window.ActiveXObject) {\n try {\n xhr = new ActiveXObject(\"Microsoft.XMLHTTP\");\n } catch (e) {\n xhr = false;\n }\n }\n // Any other browser that doesn't support ajax\n if ( !window.XMLHttpRequest ) return false;\n // if browser supports Ajax, then create AjaxRequest\n xhr = new XMLHttpRequest();\n // As it is a function, we have constructor, and we should get values from users\n // Check if user passes options\n options = options || {};\n // Check if user passess request method\n options.method = options.method || \"GET\";\n // Check if user passes any data for POST requests\n options.data = options.data || null;\n // if post request passed then convert it to the post query \n \n if (options.data !== null) {\n var qstring = [];\n // filter through and set values\n for (var key in options.data)\n qstring.push(encodeURIComponent(key)+\"=\"+encodeURIComponent(options.data[key]));\n // as last part join data with & so that POST query can realize\n options.data = qstring.join(\"&\");\n } \n\n // Check if chacing is enabled or not\n if (options.cache == false && options.method.toUpperCase() == \"GET\")\n url = url+\"?_=\"+ new Date().getTime()\n\n // Parts of ajax request\n xhr.onreadystatechange = () => {\n // if request is loading\n if (xhr.readyState == 1 && options.before) \n options.before.call(xhr);\n\n // if ajax request is successefull\n if ( (xhr.readyState == 4) && xhr.status == 200 || xhr.status == 304 ) {\n // Set Content Type That Server Can realize what is that about\n var contentType = xhr.getResponseHeader('Content-Type');\n // If Any Error\n if (!options.complete) return false; \n \n /* GET REQUEST */\n // Check if GET request == json\n if (contentType == \"application/json\")\n return options.complete.call(xhr, JSON.parse(xhr.responseText));\n // Check if GET request == xml\n if (contentType == \"text/xml\" || contentType == \"application/xml\")\n return options.complete.call(xhr, xhr.responseXML);\n // As a default, set GET request file to anyFormat\n return options.complete.call(xhr, xhr.responseText);\n } \n };\n // Open the request\n xhr.open(options.method, url);\n\n // And return Object\n return xhr;\n};\n\n// Now function for user\nAjaxHelper.make = (url, options) => {\n try {\n // lets use function we made above\n var xhr = AjaxHelper.createXHR(url, options);\n // if Ajax request is not supported then return false\n if (!xhr) return false;\n // Set default Request Header That Server Can Realize\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n // Check if request type == POST\n if (options.method.toUpperCase() == \"POST\")\n // if request type == POST, then set content type\n xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');\n\n // Send the data to the server\n xhr.send(options.data);\n \n // Return request\n return xhr;\n } catch(e) {\n return e;\n }\n};\n\nclass oxg {\n constructor(url, data, method) {\n this.url = url;\n this.data = data;\n this.method = method;\n }\n\n static get(url, data) {\n this.url = url;\n this.data = data;\n this.method = \"GET\";\n\n return new this(url, data, \"GET\");\n }\n\n cache(boolean) {\n if (boolean) {\n return;\n }\n this.cache = true;\n\n return this;\n }\n\n loading(callback) {\n this.loadingCallback = callback; \n return this;\n }\n\n then(callback) {\n this.ajax = AjaxHelper.make(this.url, {\n method: this.method,\n data: this.data,\n cache: this.cache,\n before: this.loadingCallback,\n complete: callback\n });\n\n return this;\n }\n \n static post(url, data) {\n this.url = url;\n this.data = data;\n this.method = \"POST\";\n\n return new this(url, data, \"POST\");\n }\n}\n\nmodule.exports = oxg;\n"]} \ No newline at end of file diff --git a/dist/oxg.min.js b/dist/oxg.min.js new file mode 100644 index 0000000..b187331 --- /dev/null +++ b/dist/oxg.min.js @@ -0,0 +1,4 @@ +parcelRequire=function(e,r,n,t){var i="function"==typeof parcelRequire&&parcelRequire,o="function"==typeof require&&require;function u(n,t){if(!r[n]){if(!e[n]){var f="function"==typeof parcelRequire&&parcelRequire;if(!t&&f)return f(n,!0);if(i)return i(n,!0);if(o&&"string"==typeof n)return o(n);var c=new Error("Cannot find module '"+n+"'");throw c.code="MODULE_NOT_FOUND",c}p.resolve=function(r){return e[n][1][r]||r};var l=r[n]=new u.Module(n);e[n][0].call(l.exports,p,l,l.exports,this)}return r[n].exports;function p(e){return u(p.resolve(e))}}u.isParcelRequire=!0,u.Module=function(e){this.id=e,this.bundle=u,this.exports={}},u.modules=e,u.cache=r,u.parent=i,u.register=function(r,n){e[r]=[function(e,r){r.exports=n},{}]};for(var f=0;f {\n // Setting xhr object to null because of browser support\n var xhr = false;\n /* Check if browser supports ajax */\n // if browser is IE 8 or Older version\n if ( window.ActiveXObject) {\n try {\n xhr = new ActiveXObject(\"Microsoft.XMLHTTP\");\n } catch (e) {\n xhr = false;\n }\n }\n // Any other browser that doesn't support ajax\n if ( !window.XMLHttpRequest ) return false;\n // if browser supports Ajax, then create AjaxRequest\n xhr = new XMLHttpRequest();\n // As it is a function, we have constructor, and we should get values from users\n // Check if user passes options\n options = options || {};\n // Check if user passess request method\n options.method = options.method || \"GET\";\n // Check if user passes any data for POST requests\n options.data = options.data || null;\n // if post request passed then convert it to the post query \n \n if (options.data !== null) {\n var qstring = [];\n // filter through and set values\n for (var key in options.data)\n qstring.push(encodeURIComponent(key)+\"=\"+encodeURIComponent(options.data[key]));\n // as last part join data with & so that POST query can realize\n options.data = qstring.join(\"&\");\n } \n\n // Check if chacing is enabled or not\n if (options.cache == false && options.method.toUpperCase() == \"GET\")\n url = url+\"?_=\"+ new Date().getTime()\n\n // Parts of ajax request\n xhr.onreadystatechange = () => {\n // if request is loading\n if (xhr.readyState == 1 && options.before) \n options.before.call(xhr);\n\n // if ajax request is successefull\n if ( (xhr.readyState == 4) && xhr.status == 200 || xhr.status == 304 ) {\n // Set Content Type That Server Can realize what is that about\n var contentType = xhr.getResponseHeader('Content-Type');\n // If Any Error\n if (!options.complete) return false; \n \n /* GET REQUEST */\n // Check if GET request == json\n if (contentType == \"application/json\")\n return options.complete.call(xhr, JSON.parse(xhr.responseText));\n // Check if GET request == xml\n if (contentType == \"text/xml\" || contentType == \"application/xml\")\n return options.complete.call(xhr, xhr.responseXML);\n // As a default, set GET request file to anyFormat\n return options.complete.call(xhr, xhr.responseText);\n } \n };\n // Open the request\n xhr.open(options.method, url);\n\n // And return Object\n return xhr;\n};\n\n// Now function for user\nAjaxHelper.make = (url, options) => {\n try {\n // lets use function we made above\n var xhr = AjaxHelper.createXHR(url, options);\n // if Ajax request is not supported then return false\n if (!xhr) return false;\n // Set default Request Header That Server Can Realize\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n // Check if request type == POST\n if (options.method.toUpperCase() == \"POST\")\n // if request type == POST, then set content type\n xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');\n\n // Send the data to the server\n xhr.send(options.data);\n \n // Return request\n return xhr;\n } catch(e) {\n return e;\n }\n};\n\nclass oxg {\n constructor(url, data, method) {\n this.url = url;\n this.data = data;\n this.method = method;\n }\n\n static get(url, data) {\n this.url = url;\n this.data = data;\n this.method = \"GET\";\n\n return new this(url, data, \"GET\");\n }\n\n cache(boolean) {\n if (boolean) {\n return;\n }\n this.cache = true;\n\n return this;\n }\n\n loading(callback) {\n this.loadingCallback = callback; \n return this;\n }\n\n then(callback) {\n this.ajax = AjaxHelper.make(this.url, {\n method: this.method,\n data: this.data,\n cache: this.cache,\n before: this.loadingCallback,\n complete: callback\n });\n\n return this;\n }\n \n static post(url, data) {\n this.url = url;\n this.data = data;\n this.method = \"POST\";\n\n return new this(url, data, \"POST\");\n }\n}\n\nmodule.exports = oxg;\n"]} \ No newline at end of file diff --git a/package.json b/package.json index 2239a79..8e6122a 100644 --- a/package.json +++ b/package.json @@ -12,9 +12,12 @@ }, "keywords": [ "load-file", + "post", + "request", "ajax", "ajax-library", "promise" ], - "author": "Nurmuhammet Allanov" + "author": "Nurmuhammet Allanov", + "license": "MIT" } diff --git a/readme.md b/readme.md index 339321c..685c621 100644 --- a/readme.md +++ b/readme.md @@ -3,6 +3,19 @@ Oxg is a very simple ajax library with readable api and cross browser support. ## Installation +By yarn +```bash +yarn add oxg +``` +By npm +```bash +npm install oxg +``` +Or by script tag +```html + +``` + ```js var oxg = require('./oxg'); ```