"use strict";
/**
* @module _methods
*/
var assert = require("xbrowser_debug/src/___assert"),
validateUrl = require("./___validate_url"),
validateMethod = require("./___validate_method"),
ERR = require("./_errors"),
methods = require("./__methods_atom");
// from here : http://www.html5rocks.com/en/tutorials/es6/promises/
/**
* @function _methods:load
* @description assertive version of load for DEBUG and USING
* basic load function that returns a Promise
* taken from http://www.html5rocks.com/en/tutorials/es6/promises/
* @param {string} method
* @param {string} url
* @returns {object} Promise
*/
/**
* @function _methods:get
* @description calls load with GET as method
* @param {string} url
* @returns {object} Promise
*/
function get(url) {
return load("GET", url);
}
/**
* @function _methods:post
* @description calls load with POST as method
* @param {string} url
* @returns {object} Promise
*/
module.exports = {
load:function(method, url) {
validateMethod(method)
validateUrl(url);
return methods.load(method, url);
},
get:methods.get,
post:methods.post
}