export default function()

in public/src/js/modules/auto-complete.js [7:45]


export default function ({
        query = '',
        path = 'tags',
        page = 1
    } = {}) {

    return new Promise((resolve, reject) => {
        if (!query) {
            return resolve();
        } else if (!query.match(/[a-z0-9]+/i)) {
            return reject(new Error('Invalid search term'));
        }

        var url  = '/' + path + '?' + [
            'q=' + query,
            'page-size=' + maxItems,
            'page=' + page
        ].join('&'),
            cached = cache.get('contentApi', url);

        if (cached) {
            resolve(cached);
        } else {
            request({
                url: CONST.apiSearchBase + url
            })
            .then(({response} = {}) => {
                if (!response || !response.results) {
                    reject(new Error('No results from CAPI'));
                } else {
                    cache.put('contentApi', url, response);
                    resolve(response);
                }
            }, () => {
                reject(new Error('Error getting results from CAPI'));
            });
        }
    });
}