methodAPI = function (method = "GET", defaultOptions = {}) {
function getOperator(location, options = {}, continuation, fail) {
options = Object.assign({}, defaultOptions, options);
console.debug("methodAPI: get: ", location, options, continuation);
return Cells.Cell.getResource(location, options, continuation, fail);
}
function postOperator(location, content, options = {}, continuation, fail) {
options = Object.assign({}, defaultOptions, options);
console.debug(
"methodAPI: post: ",
location,
content,
options,
continuation
);
return Cells.Cell.postResource(
location,
content,
options,
continuation,
fail
);
}
function putOperator(location, content, options = {}, continuation, fail) {
options = Object.assign({}, defaultOptions, options);
console.debug("methodAPI: put: ", location, options, continuation);
return Cells.Cell.putResource(
location,
content,
options,
continuation,
fail
);
}
function viewOperator(location, view, options = {}, continuation, fail) {
options = Object.assign({}, defaultOptions, options);
console.debug("methodAPI: view: ", location, view, options, continuation);
return Cells.Cell.getResource(
location + "/" + view,
options,
continuation,
fail
);
}
switch (method) {
case "GET":
return getOperator;
case "POST":
return postOperator;
case "PUT":
return putOperator;
case "VIEW":
return viewOperator;
default:
throw new Error(`methodAPI: invalid method: ${method}`);
}
}