function exec()

in src/client/api.js [107:149]


        function exec(type, res, args, call) {
            $RAW.call('github', type, args, function (error, value) {

                var data = value ? value.data : null;
                var meta = value ? value.meta : null;

                if (!data && value) {
                    data = value;
                }

                res.set(error, data);

                if (meta) {
                    res.meta = meta;
                    var links = meta.link ? parse_link_header(meta.link) : null;

                    res.hasMore = meta.hasMore || (!!links && !!links.next);

                    res.getMore = res.hasMore ? function () {

                        res.loaded = false;
                        res.loading = true;

                        if (links.next) {
                            args.url = links.next;
                        } else {
                            args.arg.page = args.arg.page + 1 || 2;
                        }

                        exec(type, res, args, call);

                    } : null;
                }

                $log.debug('$HUB', args, res, res.error);

                if (typeof call === 'function') {
                    call(res.error, res);
                }
            });

            return res;
        }