jade-integration-utils
Version:
A tool made for any type of http requisitions and to manage localstorage. This package works into Angular and Ionic projects (maybe you can run this in ReactNative, MAYBE!).
31 lines • 3.27 kB
JavaScript
export function loading(flag) {
return function (target, key, descriptor) {
var originalMethod = descriptor.value;
descriptor.value = function () {
var _this = this;
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
this[flag] = true;
var result = originalMethod.apply(this, args);
if (result) {
result.next = function (val) {
_this[flag] = false;
return result._next(val);
};
result.error = function (err) {
//console.log(err);
_this[flag] = false;
return result._error(err);
};
}
else {
this[flag] = false;
}
return result;
};
return descriptor;
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9qYWRlLWludGVncmF0aW9uLXV0aWxzLyIsInNvdXJjZXMiOlsibGliL2RlY29yYXRvcnMvbG9hZGluZy5kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLE9BQU8sQ0FBQyxJQUFZO0lBQ2xDLE9BQU8sVUFBUyxNQUFXLEVBQUUsR0FBVyxFQUFFLFVBQWU7UUFDdkQsSUFBSSxjQUFjLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUV0QyxVQUFVLENBQUMsS0FBSyxHQUFHO1lBQUEsaUJBa0JsQjtZQWxCMkIsY0FBTztpQkFBUCxVQUFPLEVBQVAscUJBQU8sRUFBUCxJQUFPO2dCQUFQLHlCQUFPOztZQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLElBQUksTUFBTSxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBRTlDLElBQUksTUFBTSxFQUFFO2dCQUNWLE1BQU0sQ0FBQyxJQUFJLEdBQUcsVUFBQyxHQUFHO29CQUNkLEtBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7b0JBQ25CLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDN0IsQ0FBQyxDQUFDO2dCQUNGLE1BQU0sQ0FBQyxLQUFLLEdBQUcsVUFBQyxHQUFHO29CQUNmLG1CQUFtQjtvQkFDbkIsS0FBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQztvQkFDbkIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUM5QixDQUFDLENBQUM7YUFDSDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO2FBQ3BCO1lBQ0gsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxDQUFDO1FBQ0YsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQyxDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBsb2FkaW5nKGZsYWc6IHN0cmluZykge1xuICByZXR1cm4gZnVuY3Rpb24odGFyZ2V0OiBhbnksIGtleTogc3RyaW5nLCBkZXNjcmlwdG9yOiBhbnkpIHtcbiAgICBsZXQgb3JpZ2luYWxNZXRob2QgPSBkZXNjcmlwdG9yLnZhbHVlO1xuXG4gICAgZGVzY3JpcHRvci52YWx1ZSA9IGZ1bmN0aW9uKC4uLmFyZ3MpIHtcbiAgICAgICAgdGhpc1tmbGFnXSA9IHRydWU7XG4gICAgICAgIGxldCByZXN1bHQgPSBvcmlnaW5hbE1ldGhvZC5hcHBseSh0aGlzLCBhcmdzKTtcblxuICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgcmVzdWx0Lm5leHQgPSAodmFsKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXNbZmxhZ10gPSBmYWxzZTtcbiAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5fbmV4dCh2YWwpO1xuICAgICAgICAgIH07XG4gICAgICAgICAgcmVzdWx0LmVycm9yID0gKGVycikgPT4ge1xuICAgICAgICAgICAgICAvL2NvbnNvbGUubG9nKGVycik7XG4gICAgICAgICAgICAgIHRoaXNbZmxhZ10gPSBmYWxzZTtcbiAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5fZXJyb3IoZXJyKTtcbiAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXNbZmxhZ10gPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9O1xuICAgIHJldHVybiBkZXNjcmlwdG9yO1xuICB9XG59XG4iXX0=