afpnews-api
Advanced tools
Comparing version 1.10.0 to 1.11.0
@@ -6,16 +6,2 @@ import btoa from 'btoa-lite'; | ||
function _catch(body, recover) { | ||
try { | ||
var result = body(); | ||
} catch (e) { | ||
return recover(e); | ||
} | ||
if (result && result.then) { | ||
return result.then(void 0, recover); | ||
} | ||
return result; | ||
} | ||
function buildUrl(url, params) { | ||
@@ -45,81 +31,54 @@ const builtUrl = new URL(url); | ||
const postForm = function (url, formData, { | ||
headers | ||
}) { | ||
async function fetchJson(url, options) { | ||
const response = await fetch(url, options); | ||
let json; | ||
try { | ||
const form = buildForm(formData); | ||
return Promise.resolve(fetchJson(url, { | ||
headers: buildHeaders(headers), | ||
method: 'POST', | ||
body: form | ||
})); | ||
json = await response.json(); | ||
} catch (e) { | ||
return Promise.reject(e); | ||
throw apiError(406, 'Format not acceptable'); | ||
} | ||
}; | ||
const post = function (url, data, { | ||
headers | ||
}) { | ||
try { | ||
headers = Object.assign({ | ||
'Content-Type': 'application/json' | ||
}, headers); | ||
return Promise.resolve(fetchJson(url, { | ||
headers: buildHeaders(headers), | ||
method: 'POST', | ||
body: JSON.stringify(data) | ||
})); | ||
} catch (e) { | ||
return Promise.reject(e); | ||
if (response.ok) { | ||
return json; | ||
} else { | ||
throw apiError(response.status, json.error.message); | ||
} | ||
}; | ||
const get = function (url, { | ||
} | ||
async function get(url, { | ||
headers, | ||
params | ||
}) { | ||
try { | ||
headers = Object.assign({}, headers, { | ||
'Content-Type': 'application/json' | ||
}); | ||
return Promise.resolve(fetchJson(params ? buildUrl(url, params) : url, { | ||
headers: buildHeaders(headers), | ||
method: 'GET' | ||
})); | ||
} catch (e) { | ||
return Promise.reject(e); | ||
} | ||
}; | ||
headers = Object.assign({}, headers, { | ||
'Content-Type': 'application/json' | ||
}); | ||
return fetchJson(params ? buildUrl(url, params) : url, { | ||
headers: buildHeaders(headers), | ||
method: 'GET' | ||
}); | ||
} | ||
async function post(url, data, { | ||
headers | ||
}) { | ||
headers = Object.assign({ | ||
'Content-Type': 'application/json' | ||
}, headers); | ||
return fetchJson(url, { | ||
headers: buildHeaders(headers), | ||
method: 'POST', | ||
body: JSON.stringify(data) | ||
}); | ||
} | ||
async function postForm(url, formData, { | ||
headers | ||
}) { | ||
const form = buildForm(formData); | ||
return fetchJson(url, { | ||
headers: buildHeaders(headers), | ||
method: 'POST', | ||
body: form | ||
}); | ||
} | ||
const fetchJson = function (url, options) { | ||
try { | ||
return Promise.resolve(fetch(url, options)).then(function (response) { | ||
let _exit; | ||
function _temp2(_result) { | ||
if (_exit) return _result; | ||
if (response.ok) { | ||
return json; | ||
} else { | ||
throw apiError(response.status, json.error.message); | ||
} | ||
} | ||
let json; | ||
const _temp = _catch(function () { | ||
return Promise.resolve(response.json()).then(function (_response$json) { | ||
json = _response$json; | ||
}); | ||
}, function () { | ||
throw apiError(406, 'Format not acceptable'); | ||
}); | ||
return _temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp); | ||
}); | ||
} catch (e) { | ||
return Promise.reject(e); | ||
} | ||
}; | ||
class AfpNewsAuth { | ||
@@ -145,3 +104,4 @@ constructor({ | ||
} else { | ||
this.saveToken = token => {}; | ||
this.saveToken = token => {}; // tslint:disable-line | ||
} | ||
@@ -180,53 +140,47 @@ } | ||
authenticate({ | ||
async authenticate({ | ||
username, | ||
password | ||
} = {}) { | ||
try { | ||
const _this = this; | ||
if (this.apiKey) { | ||
if (username && password) { | ||
return this.requestAuthenticatedToken({ | ||
username, | ||
password | ||
}); | ||
} | ||
if (_this.apiKey) { | ||
if (username && password) { | ||
return Promise.resolve(_this.requestAuthenticatedToken({ | ||
username, | ||
password | ||
})); | ||
} | ||
if (this.token === undefined) { | ||
throw new Error('You need to authenticate with credentials once'); | ||
} | ||
if (_this.token === undefined) { | ||
throw new Error('You need to authenticate with credentials once'); | ||
} | ||
if (_this.isTokenValid === false) { | ||
return Promise.resolve(_this.requestRefreshToken()); | ||
} | ||
return Promise.resolve(_this.token); | ||
if (this.isTokenValid === false) { | ||
return this.requestRefreshToken(); | ||
} | ||
if (_this.customAuthUrl) { | ||
if (username && password) { | ||
return Promise.resolve(_this.requestAuthenticatedToken({ | ||
username, | ||
password | ||
})); | ||
} | ||
return this.token; | ||
} | ||
if (_this.token && _this.isTokenValid === false && _this.token.authType === 'credentials') { | ||
return Promise.resolve(_this.requestRefreshToken()); | ||
} | ||
} | ||
if (this.customAuthUrl) { | ||
if (username && password) { | ||
throw new Error('You need an api key to make authenticated requests'); | ||
return this.requestAuthenticatedToken({ | ||
username, | ||
password | ||
}); | ||
} | ||
if (_this.token && _this.isTokenValid === true) { | ||
return Promise.resolve(_this.token); | ||
if (this.token && this.isTokenValid === false && this.token.authType === 'credentials') { | ||
return this.requestRefreshToken(); | ||
} | ||
} | ||
return Promise.resolve(_this.requestAnonymousToken()); | ||
} catch (e) { | ||
return Promise.reject(e); | ||
if (username && password) { | ||
throw new Error('You need an api key to make authenticated requests'); | ||
} | ||
if (this.token && this.isTokenValid === true) { | ||
return this.token; | ||
} | ||
return this.requestAnonymousToken(); | ||
} | ||
@@ -239,16 +193,9 @@ | ||
requestAnonymousToken() { | ||
try { | ||
const _this2 = this; | ||
return Promise.resolve(get(_this2.authUrl, { | ||
params: { | ||
grant_type: 'anonymous' | ||
} | ||
})).then(function (token) { | ||
return _this2.parseToken(token, 'anonymous'); | ||
}); | ||
} catch (e) { | ||
return Promise.reject(e); | ||
} | ||
async requestAnonymousToken() { | ||
const token = await get(this.authUrl, { | ||
params: { | ||
grant_type: 'anonymous' | ||
} | ||
}); | ||
return this.parseToken(token, 'anonymous'); | ||
} | ||
@@ -266,42 +213,28 @@ | ||
requestAuthenticatedToken({ | ||
async requestAuthenticatedToken({ | ||
username, | ||
password | ||
}) { | ||
try { | ||
const _this3 = this; | ||
return Promise.resolve(postForm(_this3.authUrl, { | ||
grant_type: 'password', | ||
password, | ||
username | ||
}, { | ||
headers: _this3.authorizationBasicHeaders | ||
})).then(function (token) { | ||
return _this3.parseToken(token, 'credentials'); | ||
}); | ||
} catch (e) { | ||
return Promise.reject(e); | ||
} | ||
const token = await postForm(this.authUrl, { | ||
grant_type: 'password', | ||
password, | ||
username | ||
}, { | ||
headers: this.authorizationBasicHeaders | ||
}); | ||
return this.parseToken(token, 'credentials'); | ||
} | ||
requestRefreshToken() { | ||
try { | ||
const _this4 = this; | ||
const { | ||
refreshToken, | ||
authType | ||
} = _this4.token; | ||
return Promise.resolve(postForm(_this4.authUrl, { | ||
grant_type: 'refresh_token', | ||
refresh_token: refreshToken | ||
}, { | ||
headers: _this4.authorizationBasicHeaders | ||
})).then(function (newToken) { | ||
return _this4.parseToken(newToken, authType); | ||
}); | ||
} catch (e) { | ||
return Promise.reject(e); | ||
} | ||
async requestRefreshToken() { | ||
const { | ||
refreshToken, | ||
authType | ||
} = this.token; | ||
const newToken = await postForm(this.authUrl, { | ||
grant_type: 'refresh_token', | ||
refresh_token: refreshToken | ||
}, { | ||
headers: this.authorizationBasicHeaders | ||
}); | ||
return this.parseToken(newToken, authType); | ||
} | ||
@@ -456,23 +389,5 @@ | ||
return [{ | ||
[query.prefix === '-' ? 'and' : 'or']: [...recursiveBuild(_extends(_extends({}, query), {}, { | ||
field: 'news' | ||
})), ...recursiveBuild(_extends(_extends({}, query), {}, { | ||
field: 'slug' | ||
})), ...recursiveBuild(_extends(_extends({}, query), {}, { | ||
field: 'city' | ||
})), ...recursiveBuild(_extends(_extends({}, query), {}, { | ||
field: 'country' | ||
})), ...recursiveBuild(_extends(_extends({}, query), {}, { | ||
field: 'title' | ||
})), ...recursiveBuild(_extends(_extends({}, query), {}, { | ||
field: 'caption' | ||
})), ...recursiveBuild(_extends(_extends({}, query), {}, { | ||
field: 'creator' | ||
})), ...recursiveBuild(_extends(_extends({}, query), {}, { | ||
field: 'headline' | ||
})), ...recursiveBuild(_extends(_extends({}, query), {}, { | ||
field: 'entity_person' | ||
})), ...recursiveBuild(_extends(_extends({}, query), {}, { | ||
field: 'entity_location' | ||
}))] | ||
[query.prefix === '-' ? 'and' : 'or']: recursiveBuild(_extends({}, query, { | ||
field: 'all' | ||
})) | ||
}]; | ||
@@ -533,144 +448,120 @@ } | ||
search(params) { | ||
try { | ||
const _this = this; | ||
const { | ||
products, | ||
size: maxRows, | ||
dateFrom, | ||
dateTo, | ||
urgencies, | ||
query, | ||
langs, | ||
sortField, | ||
sortOrder, | ||
sources, | ||
topics | ||
} = Object.assign({}, _this.defaultSearchParams, params); | ||
return Promise.resolve(_this.authenticate()).then(function () { | ||
const request = { | ||
and: [{ | ||
in: langs, | ||
name: 'lang' | ||
}, { | ||
in: products, | ||
name: 'product' | ||
}, { | ||
in: urgencies, | ||
name: 'urgency' | ||
}, { | ||
in: sources, | ||
name: 'source' | ||
}, { | ||
in: topics, | ||
name: 'topic' | ||
}, ...buildQuery(query)] | ||
}; | ||
const body = { | ||
dateRange: { | ||
from: dateFrom, | ||
to: dateTo | ||
}, | ||
maxRows, | ||
query: request, | ||
sortField, | ||
sortOrder | ||
}; | ||
return Promise.resolve(post(`${_this.apiUrl}/search`, body, { | ||
headers: _this.authorizationBearerHeaders | ||
})).then(function (data) { | ||
const { | ||
docs: documents, | ||
numFound: count | ||
} = data.response; | ||
return { | ||
count, | ||
documents | ||
}; | ||
}); | ||
}); | ||
} catch (e) { | ||
return Promise.reject(e); | ||
} | ||
async search(params) { | ||
const { | ||
products, | ||
size: maxRows, | ||
dateFrom, | ||
dateTo, | ||
urgencies, | ||
query, | ||
langs, | ||
sortField, | ||
sortOrder, | ||
sources, | ||
topics | ||
} = Object.assign({}, this.defaultSearchParams, params); | ||
await this.authenticate(); | ||
const request = { | ||
and: [{ | ||
in: langs, | ||
name: 'lang' | ||
}, { | ||
in: products, | ||
name: 'product' | ||
}, { | ||
in: urgencies, | ||
name: 'urgency' | ||
}, { | ||
in: sources, | ||
name: 'source' | ||
}, { | ||
in: topics, | ||
name: 'topic' | ||
}, ...buildQuery(query)] | ||
}; | ||
const body = { | ||
dateRange: { | ||
from: dateFrom, | ||
to: dateTo | ||
}, | ||
maxRows, | ||
query: request, | ||
sortField, | ||
sortOrder | ||
}; | ||
const data = await post(`${this.apiUrl}/search`, body, { | ||
headers: this.authorizationBearerHeaders | ||
}); | ||
const { | ||
docs: documents, | ||
numFound: count | ||
} = data.response; | ||
return { | ||
count, | ||
documents | ||
}; | ||
} | ||
get(uno) { | ||
try { | ||
const _this2 = this; | ||
return Promise.resolve(_this2.authenticate()).then(function () { | ||
return Promise.resolve(get(`${_this2.apiUrl}/get/${uno}`, { | ||
headers: _this2.authorizationBearerHeaders | ||
})).then(function (data) { | ||
const { | ||
docs | ||
} = data.response; | ||
return { | ||
document: docs[0] | ||
}; | ||
}); | ||
}); | ||
} catch (e) { | ||
return Promise.reject(e); | ||
} | ||
async get(uno) { | ||
await this.authenticate(); | ||
const data = await get(`${this.apiUrl}/get/${uno}`, { | ||
headers: this.authorizationBearerHeaders | ||
}); | ||
const { | ||
docs | ||
} = data.response; | ||
return { | ||
document: docs[0] | ||
}; | ||
} | ||
list(facet, listParams) { | ||
try { | ||
const _this3 = this; | ||
const { | ||
minDocCount, | ||
products, | ||
dateFrom, | ||
dateTo, | ||
urgencies, | ||
query, | ||
langs, | ||
sources, | ||
topics | ||
} = Object.assign({}, _this3.defaultListParams, listParams); | ||
return Promise.resolve(_this3.authenticate()).then(function () { | ||
const request = { | ||
and: [{ | ||
in: langs, | ||
name: 'lang' | ||
}, { | ||
in: products, | ||
name: 'product' | ||
}, { | ||
in: urgencies, | ||
name: 'urgency' | ||
}, { | ||
in: sources, | ||
name: 'source' | ||
}, { | ||
in: topics, | ||
name: 'topic' | ||
}, ...buildQuery(query)] | ||
}; | ||
const body = { | ||
dateRange: { | ||
from: dateFrom, | ||
to: dateTo | ||
}, | ||
query: request | ||
}; | ||
return Promise.resolve(post(`${_this3.apiUrl}/list/${facet}?minDocCount=${minDocCount}`, body, { | ||
headers: _this3.authorizationBearerHeaders | ||
})).then(function (data) { | ||
const { | ||
topics: keywords, | ||
numFound: count | ||
} = data.response; | ||
return { | ||
count, | ||
keywords | ||
}; | ||
}); | ||
}); | ||
} catch (e) { | ||
return Promise.reject(e); | ||
} | ||
async list(facet, listParams) { | ||
const { | ||
minDocCount, | ||
products, | ||
dateFrom, | ||
dateTo, | ||
urgencies, | ||
query, | ||
langs, | ||
sources, | ||
topics | ||
} = Object.assign({}, this.defaultListParams, listParams); | ||
await this.authenticate(); | ||
const request = { | ||
and: [{ | ||
in: langs, | ||
name: 'lang' | ||
}, { | ||
in: products, | ||
name: 'product' | ||
}, { | ||
in: urgencies, | ||
name: 'urgency' | ||
}, { | ||
in: sources, | ||
name: 'source' | ||
}, { | ||
in: topics, | ||
name: 'topic' | ||
}, ...buildQuery(query)] | ||
}; | ||
const body = { | ||
dateRange: { | ||
from: dateFrom, | ||
to: dateTo | ||
}, | ||
query: request | ||
}; | ||
const data = await post(`${this.apiUrl}/list/${facet}?minDocCount=${minDocCount}`, body, { | ||
headers: this.authorizationBearerHeaders | ||
}); | ||
const { | ||
topics: keywords, | ||
numFound: count | ||
} = data.response; | ||
return { | ||
count, | ||
keywords | ||
}; | ||
} | ||
@@ -677,0 +568,0 @@ |
@@ -11,16 +11,2 @@ 'use strict'; | ||
function _catch(body, recover) { | ||
try { | ||
var result = body(); | ||
} catch (e) { | ||
return recover(e); | ||
} | ||
if (result && result.then) { | ||
return result.then(void 0, recover); | ||
} | ||
return result; | ||
} | ||
function buildUrl(url, params) { | ||
@@ -50,81 +36,54 @@ const builtUrl = new URL(url); | ||
const postForm = function (url, formData, { | ||
headers | ||
}) { | ||
async function fetchJson(url, options) { | ||
const response = await fetch__default(url, options); | ||
let json; | ||
try { | ||
const form = buildForm(formData); | ||
return Promise.resolve(fetchJson(url, { | ||
headers: buildHeaders(headers), | ||
method: 'POST', | ||
body: form | ||
})); | ||
json = await response.json(); | ||
} catch (e) { | ||
return Promise.reject(e); | ||
throw apiError(406, 'Format not acceptable'); | ||
} | ||
}; | ||
const post = function (url, data, { | ||
headers | ||
}) { | ||
try { | ||
headers = Object.assign({ | ||
'Content-Type': 'application/json' | ||
}, headers); | ||
return Promise.resolve(fetchJson(url, { | ||
headers: buildHeaders(headers), | ||
method: 'POST', | ||
body: JSON.stringify(data) | ||
})); | ||
} catch (e) { | ||
return Promise.reject(e); | ||
if (response.ok) { | ||
return json; | ||
} else { | ||
throw apiError(response.status, json.error.message); | ||
} | ||
}; | ||
const get = function (url, { | ||
} | ||
async function get(url, { | ||
headers, | ||
params | ||
}) { | ||
try { | ||
headers = Object.assign({}, headers, { | ||
'Content-Type': 'application/json' | ||
}); | ||
return Promise.resolve(fetchJson(params ? buildUrl(url, params) : url, { | ||
headers: buildHeaders(headers), | ||
method: 'GET' | ||
})); | ||
} catch (e) { | ||
return Promise.reject(e); | ||
} | ||
}; | ||
headers = Object.assign({}, headers, { | ||
'Content-Type': 'application/json' | ||
}); | ||
return fetchJson(params ? buildUrl(url, params) : url, { | ||
headers: buildHeaders(headers), | ||
method: 'GET' | ||
}); | ||
} | ||
async function post(url, data, { | ||
headers | ||
}) { | ||
headers = Object.assign({ | ||
'Content-Type': 'application/json' | ||
}, headers); | ||
return fetchJson(url, { | ||
headers: buildHeaders(headers), | ||
method: 'POST', | ||
body: JSON.stringify(data) | ||
}); | ||
} | ||
async function postForm(url, formData, { | ||
headers | ||
}) { | ||
const form = buildForm(formData); | ||
return fetchJson(url, { | ||
headers: buildHeaders(headers), | ||
method: 'POST', | ||
body: form | ||
}); | ||
} | ||
const fetchJson = function (url, options) { | ||
try { | ||
return Promise.resolve(fetch__default(url, options)).then(function (response) { | ||
let _exit; | ||
function _temp2(_result) { | ||
if (_exit) return _result; | ||
if (response.ok) { | ||
return json; | ||
} else { | ||
throw apiError(response.status, json.error.message); | ||
} | ||
} | ||
let json; | ||
const _temp = _catch(function () { | ||
return Promise.resolve(response.json()).then(function (_response$json) { | ||
json = _response$json; | ||
}); | ||
}, function () { | ||
throw apiError(406, 'Format not acceptable'); | ||
}); | ||
return _temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp); | ||
}); | ||
} catch (e) { | ||
return Promise.reject(e); | ||
} | ||
}; | ||
class AfpNewsAuth { | ||
@@ -150,3 +109,4 @@ constructor({ | ||
} else { | ||
this.saveToken = token => {}; | ||
this.saveToken = token => {}; // tslint:disable-line | ||
} | ||
@@ -185,53 +145,47 @@ } | ||
authenticate({ | ||
async authenticate({ | ||
username, | ||
password | ||
} = {}) { | ||
try { | ||
const _this = this; | ||
if (this.apiKey) { | ||
if (username && password) { | ||
return this.requestAuthenticatedToken({ | ||
username, | ||
password | ||
}); | ||
} | ||
if (_this.apiKey) { | ||
if (username && password) { | ||
return Promise.resolve(_this.requestAuthenticatedToken({ | ||
username, | ||
password | ||
})); | ||
} | ||
if (this.token === undefined) { | ||
throw new Error('You need to authenticate with credentials once'); | ||
} | ||
if (_this.token === undefined) { | ||
throw new Error('You need to authenticate with credentials once'); | ||
} | ||
if (_this.isTokenValid === false) { | ||
return Promise.resolve(_this.requestRefreshToken()); | ||
} | ||
return Promise.resolve(_this.token); | ||
if (this.isTokenValid === false) { | ||
return this.requestRefreshToken(); | ||
} | ||
if (_this.customAuthUrl) { | ||
if (username && password) { | ||
return Promise.resolve(_this.requestAuthenticatedToken({ | ||
username, | ||
password | ||
})); | ||
} | ||
return this.token; | ||
} | ||
if (_this.token && _this.isTokenValid === false && _this.token.authType === 'credentials') { | ||
return Promise.resolve(_this.requestRefreshToken()); | ||
} | ||
} | ||
if (this.customAuthUrl) { | ||
if (username && password) { | ||
throw new Error('You need an api key to make authenticated requests'); | ||
return this.requestAuthenticatedToken({ | ||
username, | ||
password | ||
}); | ||
} | ||
if (_this.token && _this.isTokenValid === true) { | ||
return Promise.resolve(_this.token); | ||
if (this.token && this.isTokenValid === false && this.token.authType === 'credentials') { | ||
return this.requestRefreshToken(); | ||
} | ||
} | ||
return Promise.resolve(_this.requestAnonymousToken()); | ||
} catch (e) { | ||
return Promise.reject(e); | ||
if (username && password) { | ||
throw new Error('You need an api key to make authenticated requests'); | ||
} | ||
if (this.token && this.isTokenValid === true) { | ||
return this.token; | ||
} | ||
return this.requestAnonymousToken(); | ||
} | ||
@@ -244,16 +198,9 @@ | ||
requestAnonymousToken() { | ||
try { | ||
const _this2 = this; | ||
return Promise.resolve(get(_this2.authUrl, { | ||
params: { | ||
grant_type: 'anonymous' | ||
} | ||
})).then(function (token) { | ||
return _this2.parseToken(token, 'anonymous'); | ||
}); | ||
} catch (e) { | ||
return Promise.reject(e); | ||
} | ||
async requestAnonymousToken() { | ||
const token = await get(this.authUrl, { | ||
params: { | ||
grant_type: 'anonymous' | ||
} | ||
}); | ||
return this.parseToken(token, 'anonymous'); | ||
} | ||
@@ -271,42 +218,28 @@ | ||
requestAuthenticatedToken({ | ||
async requestAuthenticatedToken({ | ||
username, | ||
password | ||
}) { | ||
try { | ||
const _this3 = this; | ||
return Promise.resolve(postForm(_this3.authUrl, { | ||
grant_type: 'password', | ||
password, | ||
username | ||
}, { | ||
headers: _this3.authorizationBasicHeaders | ||
})).then(function (token) { | ||
return _this3.parseToken(token, 'credentials'); | ||
}); | ||
} catch (e) { | ||
return Promise.reject(e); | ||
} | ||
const token = await postForm(this.authUrl, { | ||
grant_type: 'password', | ||
password, | ||
username | ||
}, { | ||
headers: this.authorizationBasicHeaders | ||
}); | ||
return this.parseToken(token, 'credentials'); | ||
} | ||
requestRefreshToken() { | ||
try { | ||
const _this4 = this; | ||
const { | ||
refreshToken, | ||
authType | ||
} = _this4.token; | ||
return Promise.resolve(postForm(_this4.authUrl, { | ||
grant_type: 'refresh_token', | ||
refresh_token: refreshToken | ||
}, { | ||
headers: _this4.authorizationBasicHeaders | ||
})).then(function (newToken) { | ||
return _this4.parseToken(newToken, authType); | ||
}); | ||
} catch (e) { | ||
return Promise.reject(e); | ||
} | ||
async requestRefreshToken() { | ||
const { | ||
refreshToken, | ||
authType | ||
} = this.token; | ||
const newToken = await postForm(this.authUrl, { | ||
grant_type: 'refresh_token', | ||
refresh_token: refreshToken | ||
}, { | ||
headers: this.authorizationBasicHeaders | ||
}); | ||
return this.parseToken(newToken, authType); | ||
} | ||
@@ -461,23 +394,5 @@ | ||
return [{ | ||
[query.prefix === '-' ? 'and' : 'or']: [...recursiveBuild(_extends(_extends({}, query), {}, { | ||
field: 'news' | ||
})), ...recursiveBuild(_extends(_extends({}, query), {}, { | ||
field: 'slug' | ||
})), ...recursiveBuild(_extends(_extends({}, query), {}, { | ||
field: 'city' | ||
})), ...recursiveBuild(_extends(_extends({}, query), {}, { | ||
field: 'country' | ||
})), ...recursiveBuild(_extends(_extends({}, query), {}, { | ||
field: 'title' | ||
})), ...recursiveBuild(_extends(_extends({}, query), {}, { | ||
field: 'caption' | ||
})), ...recursiveBuild(_extends(_extends({}, query), {}, { | ||
field: 'creator' | ||
})), ...recursiveBuild(_extends(_extends({}, query), {}, { | ||
field: 'headline' | ||
})), ...recursiveBuild(_extends(_extends({}, query), {}, { | ||
field: 'entity_person' | ||
})), ...recursiveBuild(_extends(_extends({}, query), {}, { | ||
field: 'entity_location' | ||
}))] | ||
[query.prefix === '-' ? 'and' : 'or']: recursiveBuild(_extends({}, query, { | ||
field: 'all' | ||
})) | ||
}]; | ||
@@ -538,144 +453,120 @@ } | ||
search(params) { | ||
try { | ||
const _this = this; | ||
const { | ||
products, | ||
size: maxRows, | ||
dateFrom, | ||
dateTo, | ||
urgencies, | ||
query, | ||
langs, | ||
sortField, | ||
sortOrder, | ||
sources, | ||
topics | ||
} = Object.assign({}, _this.defaultSearchParams, params); | ||
return Promise.resolve(_this.authenticate()).then(function () { | ||
const request = { | ||
and: [{ | ||
in: langs, | ||
name: 'lang' | ||
}, { | ||
in: products, | ||
name: 'product' | ||
}, { | ||
in: urgencies, | ||
name: 'urgency' | ||
}, { | ||
in: sources, | ||
name: 'source' | ||
}, { | ||
in: topics, | ||
name: 'topic' | ||
}, ...buildQuery(query)] | ||
}; | ||
const body = { | ||
dateRange: { | ||
from: dateFrom, | ||
to: dateTo | ||
}, | ||
maxRows, | ||
query: request, | ||
sortField, | ||
sortOrder | ||
}; | ||
return Promise.resolve(post(`${_this.apiUrl}/search`, body, { | ||
headers: _this.authorizationBearerHeaders | ||
})).then(function (data) { | ||
const { | ||
docs: documents, | ||
numFound: count | ||
} = data.response; | ||
return { | ||
count, | ||
documents | ||
}; | ||
}); | ||
}); | ||
} catch (e) { | ||
return Promise.reject(e); | ||
} | ||
async search(params) { | ||
const { | ||
products, | ||
size: maxRows, | ||
dateFrom, | ||
dateTo, | ||
urgencies, | ||
query, | ||
langs, | ||
sortField, | ||
sortOrder, | ||
sources, | ||
topics | ||
} = Object.assign({}, this.defaultSearchParams, params); | ||
await this.authenticate(); | ||
const request = { | ||
and: [{ | ||
in: langs, | ||
name: 'lang' | ||
}, { | ||
in: products, | ||
name: 'product' | ||
}, { | ||
in: urgencies, | ||
name: 'urgency' | ||
}, { | ||
in: sources, | ||
name: 'source' | ||
}, { | ||
in: topics, | ||
name: 'topic' | ||
}, ...buildQuery(query)] | ||
}; | ||
const body = { | ||
dateRange: { | ||
from: dateFrom, | ||
to: dateTo | ||
}, | ||
maxRows, | ||
query: request, | ||
sortField, | ||
sortOrder | ||
}; | ||
const data = await post(`${this.apiUrl}/search`, body, { | ||
headers: this.authorizationBearerHeaders | ||
}); | ||
const { | ||
docs: documents, | ||
numFound: count | ||
} = data.response; | ||
return { | ||
count, | ||
documents | ||
}; | ||
} | ||
get(uno) { | ||
try { | ||
const _this2 = this; | ||
return Promise.resolve(_this2.authenticate()).then(function () { | ||
return Promise.resolve(get(`${_this2.apiUrl}/get/${uno}`, { | ||
headers: _this2.authorizationBearerHeaders | ||
})).then(function (data) { | ||
const { | ||
docs | ||
} = data.response; | ||
return { | ||
document: docs[0] | ||
}; | ||
}); | ||
}); | ||
} catch (e) { | ||
return Promise.reject(e); | ||
} | ||
async get(uno) { | ||
await this.authenticate(); | ||
const data = await get(`${this.apiUrl}/get/${uno}`, { | ||
headers: this.authorizationBearerHeaders | ||
}); | ||
const { | ||
docs | ||
} = data.response; | ||
return { | ||
document: docs[0] | ||
}; | ||
} | ||
list(facet, listParams) { | ||
try { | ||
const _this3 = this; | ||
const { | ||
minDocCount, | ||
products, | ||
dateFrom, | ||
dateTo, | ||
urgencies, | ||
query, | ||
langs, | ||
sources, | ||
topics | ||
} = Object.assign({}, _this3.defaultListParams, listParams); | ||
return Promise.resolve(_this3.authenticate()).then(function () { | ||
const request = { | ||
and: [{ | ||
in: langs, | ||
name: 'lang' | ||
}, { | ||
in: products, | ||
name: 'product' | ||
}, { | ||
in: urgencies, | ||
name: 'urgency' | ||
}, { | ||
in: sources, | ||
name: 'source' | ||
}, { | ||
in: topics, | ||
name: 'topic' | ||
}, ...buildQuery(query)] | ||
}; | ||
const body = { | ||
dateRange: { | ||
from: dateFrom, | ||
to: dateTo | ||
}, | ||
query: request | ||
}; | ||
return Promise.resolve(post(`${_this3.apiUrl}/list/${facet}?minDocCount=${minDocCount}`, body, { | ||
headers: _this3.authorizationBearerHeaders | ||
})).then(function (data) { | ||
const { | ||
topics: keywords, | ||
numFound: count | ||
} = data.response; | ||
return { | ||
count, | ||
keywords | ||
}; | ||
}); | ||
}); | ||
} catch (e) { | ||
return Promise.reject(e); | ||
} | ||
async list(facet, listParams) { | ||
const { | ||
minDocCount, | ||
products, | ||
dateFrom, | ||
dateTo, | ||
urgencies, | ||
query, | ||
langs, | ||
sources, | ||
topics | ||
} = Object.assign({}, this.defaultListParams, listParams); | ||
await this.authenticate(); | ||
const request = { | ||
and: [{ | ||
in: langs, | ||
name: 'lang' | ||
}, { | ||
in: products, | ||
name: 'product' | ||
}, { | ||
in: urgencies, | ||
name: 'urgency' | ||
}, { | ||
in: sources, | ||
name: 'source' | ||
}, { | ||
in: topics, | ||
name: 'topic' | ||
}, ...buildQuery(query)] | ||
}; | ||
const body = { | ||
dateRange: { | ||
from: dateFrom, | ||
to: dateTo | ||
}, | ||
query: request | ||
}; | ||
const data = await post(`${this.apiUrl}/list/${facet}?minDocCount=${minDocCount}`, body, { | ||
headers: this.authorizationBearerHeaders | ||
}); | ||
const { | ||
topics: keywords, | ||
numFound: count | ||
} = data.response; | ||
return { | ||
count, | ||
keywords | ||
}; | ||
} | ||
@@ -682,0 +573,0 @@ |
@@ -1,2 +0,2 @@ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).AfpNews=t()}(this,function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function t(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}var n=function(e,t){return function(e,t){var r=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==r)return r;throw new Error("unable to locate global object")}();e.exports=t=r.fetch,t.default=r.fetch.bind(r),t.Headers=r.Headers,t.Request=r.Request,t.Response=r.Response}(t={exports:{}},t.exports),t.exports}(),o=n.Headers,i="object"==typeof self?self.FormData:window.FormData;function a(e){var t=new o;return Object.entries(e).forEach(function(e){return t.append(e[0],e[1])}),t}function s(e,t){var r=new Error(t||"Request rejected with status "+e);return r.code=e,r}var u=function(e,t,r){var n=r.headers;try{var o=function(e){var t=new i;return Object.entries(e).forEach(function(e){return t.append(e[0],e[1])}),t}(t);return Promise.resolve(l(e,{headers:a(n),method:"POST",body:o}))}catch(e){return Promise.reject(e)}},c=function(e,t,r){var n=r.headers;try{return n=Object.assign({"Content-Type":"application/json"},n),Promise.resolve(l(e,{headers:a(n),method:"POST",body:JSON.stringify(t)}))}catch(e){return Promise.reject(e)}},f=function(e,t){var r=t.headers,n=t.params;try{return r=Object.assign({},r,{"Content-Type":"application/json"}),Promise.resolve(l(n?function(e,t){var r=new URL(e);return Object.entries(t).forEach(function(e){return r.searchParams.append(e[0],e[1])}),r.toString()}(e,n):e,{headers:a(r),method:"GET"}))}catch(e){return Promise.reject(e)}},l=function(e,t){try{return Promise.resolve(n(e,t)).then(function(e){var t;function r(r){if(e.ok)return t;throw s(e.status,t.error.message)}var n=function(r,n){try{var o=Promise.resolve(e.json()).then(function(e){t=e})}catch(e){return n()}return o&&o.then?o.then(void 0,n):o}(0,function(){throw s(406,"Format not acceptable")});return n&&n.then?n.then(r):r()})}catch(e){return Promise.reject(e)}},h=function(){function e(e){var t=e.baseUrl,r=e.saveToken;this.credentials={apiKey:e.apiKey,clientId:e.clientId,clientSecret:e.clientSecret,customAuthUrl:e.customAuthUrl},this.baseUrl=t||"https://api.afp.com",this.saveToken=r||function(e){}}var r=e.prototype;return r.authenticate=function(e){var t=void 0===e?{}:e,r=t.username,n=t.password;try{if(this.apiKey){if(r&&n)return Promise.resolve(this.requestAuthenticatedToken({username:r,password:n}));if(void 0===this.token)throw new Error("You need to authenticate with credentials once");return Promise.resolve(!1===this.isTokenValid?this.requestRefreshToken():this.token)}if(this.customAuthUrl){if(r&&n)return Promise.resolve(this.requestAuthenticatedToken({username:r,password:n}));if(this.token&&!1===this.isTokenValid&&"credentials"===this.token.authType)return Promise.resolve(this.requestRefreshToken())}if(r&&n)throw new Error("You need an api key to make authenticated requests");return Promise.resolve(this.token&&!0===this.isTokenValid?this.token:this.requestAnonymousToken())}catch(e){return Promise.reject(e)}},r.resetToken=function(){delete this.token,this.saveToken(null)},r.requestAnonymousToken=function(){try{var e=this;return Promise.resolve(f(e.authUrl,{params:{grant_type:"anonymous"}})).then(function(t){return e.parseToken(t,"anonymous")})}catch(e){return Promise.reject(e)}},r.requestAuthenticatedToken=function(e){var t=e.username,r=e.password;try{var n=this;return Promise.resolve(u(n.authUrl,{grant_type:"password",password:r,username:t},{headers:n.authorizationBasicHeaders})).then(function(e){return n.parseToken(e,"credentials")})}catch(e){return Promise.reject(e)}},r.requestRefreshToken=function(){try{var e=this,t=e.token,r=t.authType;return Promise.resolve(u(e.authUrl,{grant_type:"refresh_token",refresh_token:t.refreshToken},{headers:e.authorizationBasicHeaders})).then(function(t){return e.parseToken(t,r)})}catch(e){return Promise.reject(e)}},r.parseToken=function(e,t){var r=e.expires_in;return this.token={accessToken:e.access_token,authType:t,refreshToken:e.refresh_token,tokenExpires:+new Date+1e3*r},this.saveToken(this.token),this.token},t(e,[{key:"credentials",set:function(e){var t=e.clientId,r=e.clientSecret,n=e.apiKey,o=e.customAuthUrl;t&&r?(delete this.customAuthUrl,this.apiKey=btoa(t+":"+r)):n?(delete this.customAuthUrl,this.apiKey=n):o&&(delete this.apiKey,this.customAuthUrl=o)}},{key:"authUrl",get:function(){return this.customAuthUrl?this.customAuthUrl:this.baseUrl+"/oauth/token"}},{key:"isTokenValid",get:function(){return this.token.tokenExpires>+new Date}},{key:"authorizationBasicHeaders",get:function(){return this.customAuthUrl||!this.apiKey?{}:{Authorization:"Basic "+this.apiKey}}}]),e}(),d={dateFrom:"2012-01-01",dateTo:"now",langs:[],products:[],query:"",size:10,sortField:"published",sortOrder:"desc",urgencies:[],sources:[],topics:[]},p={dateFrom:"now-7d",dateTo:"now",langs:[],products:[],query:"",minDocCount:1,urgencies:[],sources:[],topics:[]};function m(e,t,r,n){this.message=e,this.expected=t,this.found=r,this.location=n,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,m)}!function(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}(m,Error),m.buildMessage=function(e,t){var r={literal:function(e){return'"'+o(e.text)+'"'},class:function(e){var t,r="";for(t=0;t<e.parts.length;t++)r+=e.parts[t]instanceof Array?i(e.parts[t][0])+"-"+i(e.parts[t][1]):i(e.parts[t]);return"["+(e.inverted?"^":"")+r+"]"},any:function(e){return"any character"},end:function(e){return"end of input"},other:function(e){return e.description}};function n(e){return e.charCodeAt(0).toString(16).toUpperCase()}function o(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(e){return"\\x0"+n(e)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(e){return"\\x"+n(e)})}function i(e){return e.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(e){return"\\x0"+n(e)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(e){return"\\x"+n(e)})}return"Expected "+function(e){var t,n,o,i=new Array(e.length);for(t=0;t<e.length;t++)i[t]=r[(o=e[t]).type](o);if(i.sort(),i.length>0){for(t=1,n=1;t<i.length;t++)i[t-1]!==i[t]&&(i[n]=i[t],n++);i.length=n}switch(i.length){case 1:return i[0];case 2:return i[0]+" or "+i[1];default:return i.slice(0,-1).join(", ")+", or "+i[i.length-1]}}(e)+" but "+function(e){return e?'"'+o(e)+'"':"end of input"}(t)+" found."};var v={SyntaxError:m,parse:function(e,t){t=void 0!==t?t:{};var r,n={},o={start:ce},i=ce,a=oe("(",!1),s=oe(")",!1),u=/^[:]/,c=ie([":"],!1,!1),f=oe("\\",!1),l=function(e){return"\\"+e},h=oe(".",!1),d=/^[^ \t\r\n\f{}()"\/\^~[\]]/,p=ie([" ","\t","\r","\n","\f","{","}","(",")",'"',"/","^","~","[","]"],!0,!1),v=/^[^: \t\r\n\f{}()"\/\^~[\]]/,g=ie([":"," ","\t","\r","\n","\f","{","}","(",")",'"',"/","^","~","[","]"],!0,!1),A=oe('"',!1),y=oe("/",!1),b={type:"any"},C=oe("+",!1),k=oe("-",!1),T=oe("!",!1),O=oe("{",!1),x=oe("}",!1),w=oe("[",!1),j=oe("]",!1),P=oe("^",!1),R=oe("?",!1),U=oe(":",!1),N=oe("&",!1),q=oe("|",!1),F=oe("'",!1),_=oe("~",!1),E=oe("*",!1),D=oe(" ",!1),S=oe("0.",!1),z=/^[0-9]/,H=ie([["0","9"]],!1,!1),L=oe("TO",!1),B=oe("OR NOT",!1),K=oe("AND NOT",!1),I=oe("OR",!1),V=oe("AND",!1),M=oe("NOT",!1),Y=oe("||",!1),G=oe("&&",!1),J={type:"other",description:"whitespace"},Q=/^[ \t\r\n\f]/,W=ie([" ","\t","\r","\n","\f"],!1,!1),X=0,Z=0,$=[{line:1,column:1}],ee=0,te=[],re=0;if("startRule"in t){if(!(t.startRule in o))throw new Error("Can't start parsing from rule \""+t.startRule+'".');i=o[t.startRule]}function ne(){return se(Z,X)}function oe(e,t){return{type:"literal",text:e,ignoreCase:t}}function ie(e,t,r){return{type:"class",parts:e,inverted:t,ignoreCase:r}}function ae(t){var r,n=$[t];if(n)return n;for(r=t-1;!$[r];)r--;for(n={line:(n=$[r]).line,column:n.column};r<t;)10===e.charCodeAt(r)?(n.line++,n.column=1):n.column++,r++;return $[t]=n,n}function se(e,t){var r=ae(e),n=ae(t);return{start:{offset:e,line:r.line,column:r.column},end:{offset:t,line:n.line,column:n.column}}}function ue(e){X<ee||(X>ee&&(ee=X,te=[]),te.push(e))}function ce(){var e,t,r,o;for(e=X,t=[],r=je();r!==n;)t.push(r),r=je();if(t!==n){if(r=[],(o=fe())!==n)for(;o!==n;)r.push(o),o=fe();else r=n;r!==n?(Z=e,e=t=r[0]):(X=e,e=n)}else X=e,e=n;if(e===n){for(e=X,t=[],r=je();r!==n;)t.push(r),r=je();t!==n&&(Z=e,t={}),(e=t)===n&&(e=X,(t=Pe())!==n&&(Z=e,t={}),e=t)}return e}function fe(){var e,t,r,o,i,a;if(e=X,(t=Oe())!==n&&(r=Pe())!==n?(Z=e,e=t={operator:t}):(X=e,e=n),e===n){if(e=X,(t=Oe())!==n)if((r=le())!==n){for(o=[],i=Oe();i!==n;)o.push(i),i=Oe();if(o!==n){for(i=[],a=fe();a!==n;)i.push(a),a=fe();i!==n?(Z=e,e=t=function(e,t,r,n){var o={start:e,left:t};return null!=(n=0==n.length?null:null==n[0].right?n[0].left:n[0])&&(o.operator=""==r?"<implicit>":r[0],o.right=n),o}(t,r,o,i)):(X=e,e=n)}else X=e,e=n}else X=e,e=n;else X=e,e=n;if(e===n&&(e=X,(t=Oe())!==n&&(r=fe())!==n?(Z=e,e=t=r):(X=e,e=n),e===n))if(e=X,(t=le())!==n){for(r=[],o=Oe();o!==n;)r.push(o),o=Oe();if(r!==n){for(o=[],i=fe();i!==n;)o.push(i),i=fe();o!==n?(Z=e,e=t=function(e,t,r){var n={left:e};return null!=(r=0==r.length?null:null==r[0].right?r[0].left:r[0])&&(n.operator=""==t?"<implicit>":t[0],n.right=r),n}(t,r,o)):(X=e,e=n)}else X=e,e=n}else X=e,e=n}return e}function le(){var t,r,o,i;if(t=X,(r=function(){var t,r,o,i,a;return t=X,(r=de())===n&&(r=null),r!==n&&(o=function(){var t,r,o,i,a,s,u,c;if(t=X,91===e.charCodeAt(X)?(r="[",X++):(r=n,0===re&&ue(w)),r!==n)if((o=me())!==n){for(i=[],a=je();a!==n;)i.push(a),a=je();if(i!==n)if("TO"===e.substr(X,2)?(a="TO",X+=2):(a=n,0===re&&ue(L)),a!==n){if(s=[],(u=je())!==n)for(;u!==n;)s.push(u),u=je();else s=n;s!==n&&(u=me())!==n?(93===e.charCodeAt(X)?(c="]",X++):(c=n,0===re&&ue(j)),c!==n?(Z=t,t=r={term_min:o,term_max:u,inclusive:"both"}):(X=t,t=n)):(X=t,t=n)}else X=t,t=n;else X=t,t=n}else X=t,t=n;else X=t,t=n;if(t===n){if(t=X,123===e.charCodeAt(X)?(r="{",X++):(r=n,0===re&&ue(O)),r!==n)if((o=me())!==n){for(i=[],a=je();a!==n;)i.push(a),a=je();if(i!==n)if("TO"===e.substr(X,2)?(a="TO",X+=2):(a=n,0===re&&ue(L)),a!==n){if(s=[],(u=je())!==n)for(;u!==n;)s.push(u),u=je();else s=n;s!==n&&(u=me())!==n?(125===e.charCodeAt(X)?(c="}",X++):(c=n,0===re&&ue(x)),c!==n?(Z=t,t=r=function(e,t){return{term_min:e,term_max:t,inclusive:"none"}}(o,u)):(X=t,t=n)):(X=t,t=n)}else X=t,t=n;else X=t,t=n}else X=t,t=n;else X=t,t=n;if(t===n){if(t=X,91===e.charCodeAt(X)?(r="[",X++):(r=n,0===re&&ue(w)),r!==n)if((o=me())!==n){for(i=[],a=je();a!==n;)i.push(a),a=je();if(i!==n)if("TO"===e.substr(X,2)?(a="TO",X+=2):(a=n,0===re&&ue(L)),a!==n){if(s=[],(u=je())!==n)for(;u!==n;)s.push(u),u=je();else s=n;s!==n&&(u=me())!==n?(125===e.charCodeAt(X)?(c="}",X++):(c=n,0===re&&ue(x)),c!==n?(Z=t,t=r=function(e,t){return{term_min:e,term_max:t,inclusive:"left"}}(o,u)):(X=t,t=n)):(X=t,t=n)}else X=t,t=n;else X=t,t=n}else X=t,t=n;else X=t,t=n;if(t===n)if(t=X,123===e.charCodeAt(X)?(r="{",X++):(r=n,0===re&&ue(O)),r!==n)if((o=me())!==n){for(i=[],a=je();a!==n;)i.push(a),a=je();if(i!==n)if("TO"===e.substr(X,2)?(a="TO",X+=2):(a=n,0===re&&ue(L)),a!==n){if(s=[],(u=je())!==n)for(;u!==n;)s.push(u),u=je();else s=n;s!==n&&(u=me())!==n?(93===e.charCodeAt(X)?(c="]",X++):(c=n,0===re&&ue(j)),c!==n?(Z=t,t=r=function(e,t){return{term_min:e,term_max:t,inclusive:"right"}}(o,u)):(X=t,t=n)):(X=t,t=n)}else X=t,t=n;else X=t,t=n}else X=t,t=n;else X=t,t=n}}return t}())!==n?(Z=t,(a=o).field=null==(i=r)||""==i.label?"<implicit>":i.label,a.fieldLocation=null==i||""==i.label?null:i.location,t=r=a):(X=t,t=n),t===n&&(t=X,(r=de())!==n&&(o=he())!==n?(Z=t,t=r=function(e,t){return t.field=e.label,t.fieldLocation=e.location,t}(r,o)):(X=t,t=n),t===n&&(t=X,(r=de())===n&&(r=null),r!==n&&(o=function(){var t,r,o,i,a,s,u,c,f,l,h;if(t=X,(r=we())===n&&(r=null),r!==n)if((o=function(){var t,r,o,i;if(t=X,34===e.charCodeAt(X)?(r='"',X++):(r=n,0===re&&ue(A)),r!==n){for(o=[],i=Ae();i!==n;)o.push(i),i=Ae();o!==n?(34===e.charCodeAt(X)?(i='"',X++):(i=n,0===re&&ue(A)),i!==n?(Z=t,t=r=o.join("")):(X=t,t=n)):(X=t,t=n)}else X=t,t=n;return t}())!==n)if((i=function(){var t,r,o;return t=X,126===e.charCodeAt(X)?(r="~",X++):(r=n,0===re&&ue(_)),r!==n&&(o=Te())!==n?(Z=t,t=r=o):(X=t,t=n),t}())===n&&(i=null),i!==n)if((a=Ce())===n&&(a=null),a!==n){for(s=[],u=je();u!==n;)s.push(u),u=je();s!==n?(Z=t,c=r,f=i,l=a,h={term:o,quoted:!0,regex:!1,termLocation:ne()},""!=f&&(h.proximity=f),""!=l&&(h.boost=l),""!=c&&(h.prefix=c),t=r=h):(X=t,t=n)}else X=t,t=n;else X=t,t=n;else X=t,t=n;else X=t,t=n;if(t===n){if(t=X,(r=we())===n&&(r=null),r!==n)if((o=function(){var t,r,o,i;if(t=X,47===e.charCodeAt(X)?(r="/",X++):(r=n,0===re&&ue(y)),r!==n){if(o=[],(i=ye())!==n)for(;i!==n;)o.push(i),i=ye();else o=n;o!==n?(47===e.charCodeAt(X)?(i="/",X++):(i=n,0===re&&ue(y)),i!==n?(Z=t,t=r=o.join("")):(X=t,t=n)):(X=t,t=n)}else X=t,t=n;return t}())!==n){for(i=[],a=je();a!==n;)i.push(a),a=je();i!==n?(Z=t,t=r=function(e,t){return{term:t,quoted:!1,regex:!0,termLocation:ne()}}(0,o)):(X=t,t=n)}else X=t,t=n;else X=t,t=n;if(t===n)if(t=X,(r=we())===n&&(r=null),r!==n)if((o=ve())!==n)if((i=function(){var t,r,o,i;return t=X,126===e.charCodeAt(X)?(r="~",X++):(r=n,0===re&&ue(_)),r!==n?((o=ke())===n&&(o=null),o!==n?(Z=t,t=r=""==(i=o)||null==i?.5:i):(X=t,t=n)):(X=t,t=n),t}())===n&&(i=null),i!==n)if((a=Ce())===n&&(a=null),a!==n){for(s=[],u=je();u!==n;)s.push(u),u=je();s!==n?(Z=t,t=r=function(e,t,r,n){var o={term:t.label,quoted:!1,regex:!1,termLocation:ne()};return""!=r&&(o.similarity=r),""!=n&&(o.boost=n),""!=e&&(o.prefix=e),o}(r,o,i,a)):(X=t,t=n)}else X=t,t=n;else X=t,t=n;else X=t,t=n;else X=t,t=n}return t}())!==n?(Z=t,t=r=function(e,t){var r={field:null==e||""==e.label?"<implicit>":e.label,fieldLocation:null==e||""==e.label?null:e.location};for(var n in t)r[n]=t[n];return r}(r,o)):(X=t,t=n))),t}())!==n){for(o=[],i=je();i!==n;)o.push(i),i=je();o!==n?(Z=t,t=r=r):(X=t,t=n)}else X=t,t=n;return t===n&&(t=he()),t}function he(){var t,r,o,i,u,c,f,l;if(t=X,40===e.charCodeAt(X)?(r="(",X++):(r=n,0===re&&ue(a)),r!==n){for(o=[],i=je();i!==n;)o.push(i),i=je();if(o!==n){if(i=[],(u=fe())!==n)for(;u!==n;)i.push(u),u=fe();else i=n;if(i!==n)if(41===e.charCodeAt(X)?(u=")",X++):(u=n,0===re&&ue(s)),u!==n){for(c=[],f=je();f!==n;)c.push(f),f=je();c!==n?(Z=t,(l=i)[0].parenthesized=!0,t=r=l[0]):(X=t,t=n)}else X=t,t=n;else X=t,t=n}else X=t,t=n}else X=t,t=n;return t}function de(){var t,r,o,i,a,s;if(t=X,(r=ve())!==n)if(u.test(e.charAt(X))?(o=e.charAt(X),X++):(o=n,0===re&&ue(c)),o!==n){for(i=[],a=je();a!==n;)i.push(a),a=je();i!==n?(Z=t,t=r={label:(s=r).label,location:s.location}):(X=t,t=n)}else X=t,t=n;else X=t,t=n;return t}function pe(){var t,r,o;return t=X,92===e.charCodeAt(X)?(r="\\",X++):(r=n,0===re&&ue(f)),r!==n&&(o=be())!==n?(Z=t,t=r=l(o)):(X=t,t=n),t===n&&(46===e.charCodeAt(X)?(t=".",X++):(t=n,0===re&&ue(h)),t===n&&(d.test(e.charAt(X))?(t=e.charAt(X),X++):(t=n,0===re&&ue(p)))),t}function me(){var e,t,r;if(e=X,t=[],(r=pe())!==n)for(;r!==n;)t.push(r),r=pe();else t=n;return t!==n&&(Z=e,t=t.join("")),t}function ve(){var e,t,r;if(e=X,t=[],(r=ge())!==n)for(;r!==n;)t.push(r),r=ge();else t=n;return t!==n&&(Z=e,t={label:t.join(""),location:ne()}),t}function ge(){var t,r,o;return t=X,92===e.charCodeAt(X)?(r="\\",X++):(r=n,0===re&&ue(f)),r!==n&&(o=be())!==n?(Z=t,t=r=l(o)):(X=t,t=n),t===n&&(46===e.charCodeAt(X)?(t=".",X++):(t=n,0===re&&ue(h)),t===n&&(v.test(e.charAt(X))?(t=e.charAt(X),X++):(t=n,0===re&&ue(g)))),t}function Ae(){var t,r,o;return t=X,r=X,re++,34===e.charCodeAt(X)?(o='"',X++):(o=n,0===re&&ue(A)),o===n&&(92===e.charCodeAt(X)?(o="\\",X++):(o=n,0===re&&ue(f))),re--,o===n?r=void 0:(X=r,r=n),r!==n?(e.length>X?(o=e.charAt(X),X++):(o=n,0===re&&ue(b)),o!==n?(Z=t,t=r=o):(X=t,t=n)):(X=t,t=n),t===n&&(t=X,92===e.charCodeAt(X)?(r="\\",X++):(r=n,0===re&&ue(f)),r!==n&&(o=be())!==n?(Z=t,t=r=l(o)):(X=t,t=n)),t}function ye(){var t,r,o;return t=X,r=X,re++,47===e.charCodeAt(X)?(o="/",X++):(o=n,0===re&&ue(y)),o===n&&(92===e.charCodeAt(X)?(o="\\",X++):(o=n,0===re&&ue(f))),re--,o===n?r=void 0:(X=r,r=n),r!==n?(e.length>X?(o=e.charAt(X),X++):(o=n,0===re&&ue(b)),o!==n?(Z=t,t=r=o):(X=t,t=n)):(X=t,t=n),t===n&&(t=X,92===e.charCodeAt(X)?(r="\\",X++):(r=n,0===re&&ue(f)),r!==n&&(o=be())!==n?(Z=t,t=r=l(o)):(X=t,t=n)),t}function be(){var t;return 43===e.charCodeAt(X)?(t="+",X++):(t=n,0===re&&ue(C)),t===n&&(45===e.charCodeAt(X)?(t="-",X++):(t=n,0===re&&ue(k)),t===n&&(33===e.charCodeAt(X)?(t="!",X++):(t=n,0===re&&ue(T)),t===n&&(40===e.charCodeAt(X)?(t="(",X++):(t=n,0===re&&ue(a)),t===n&&(41===e.charCodeAt(X)?(t=")",X++):(t=n,0===re&&ue(s)),t===n&&(123===e.charCodeAt(X)?(t="{",X++):(t=n,0===re&&ue(O)),t===n&&(125===e.charCodeAt(X)?(t="}",X++):(t=n,0===re&&ue(x)),t===n&&(91===e.charCodeAt(X)?(t="[",X++):(t=n,0===re&&ue(w)),t===n&&(93===e.charCodeAt(X)?(t="]",X++):(t=n,0===re&&ue(j)),t===n&&(94===e.charCodeAt(X)?(t="^",X++):(t=n,0===re&&ue(P)),t===n&&(34===e.charCodeAt(X)?(t='"',X++):(t=n,0===re&&ue(A)),t===n&&(63===e.charCodeAt(X)?(t="?",X++):(t=n,0===re&&ue(R)),t===n&&(58===e.charCodeAt(X)?(t=":",X++):(t=n,0===re&&ue(U)),t===n&&(92===e.charCodeAt(X)?(t="\\",X++):(t=n,0===re&&ue(f)),t===n&&(38===e.charCodeAt(X)?(t="&",X++):(t=n,0===re&&ue(N)),t===n&&(124===e.charCodeAt(X)?(t="|",X++):(t=n,0===re&&ue(q)),t===n&&(39===e.charCodeAt(X)?(t="'",X++):(t=n,0===re&&ue(F)),t===n&&(47===e.charCodeAt(X)?(t="/",X++):(t=n,0===re&&ue(y)),t===n&&(126===e.charCodeAt(X)?(t="~",X++):(t=n,0===re&&ue(_)),t===n&&(42===e.charCodeAt(X)?(t="*",X++):(t=n,0===re&&ue(E)),t===n&&(32===e.charCodeAt(X)?(t=" ",X++):(t=n,0===re&&ue(D)))))))))))))))))))))),t}function Ce(){var t,r,o;return t=X,94===e.charCodeAt(X)?(r="^",X++):(r=n,0===re&&ue(P)),r!==n&&(o=function(){var e;return(e=ke())===n&&(e=Te()),e}())!==n?(Z=t,t=r=o):(X=t,t=n),t}function ke(){var t,r,o,i;if(t=X,"0."===e.substr(X,2)?(r="0.",X+=2):(r=n,0===re&&ue(S)),r!==n){if(o=[],z.test(e.charAt(X))?(i=e.charAt(X),X++):(i=n,0===re&&ue(H)),i!==n)for(;i!==n;)o.push(i),z.test(e.charAt(X))?(i=e.charAt(X),X++):(i=n,0===re&&ue(H));else o=n;o!==n?(Z=t,t=r=parseFloat("0."+o.join(""))):(X=t,t=n)}else X=t,t=n;return t}function Te(){var t,r,o;if(t=X,r=[],z.test(e.charAt(X))?(o=e.charAt(X),X++):(o=n,0===re&&ue(H)),o!==n)for(;o!==n;)r.push(o),z.test(e.charAt(X))?(o=e.charAt(X),X++):(o=n,0===re&&ue(H));else r=n;return r!==n&&(Z=t,r=parseInt(r.join(""))),r}function Oe(){var e,t,r,o,i;for(e=X,t=[],r=je();r!==n;)t.push(r),r=je();if(t!==n)if((r=xe())!==n){if(o=[],(i=je())!==n)for(;i!==n;)o.push(i),i=je();else o=n;o!==n?(Z=e,e=t=r):(X=e,e=n)}else X=e,e=n;else X=e,e=n;if(e===n){for(e=X,t=[],r=je();r!==n;)t.push(r),r=je();t!==n&&(r=xe())!==n&&(o=Pe())!==n?(Z=e,e=t=r):(X=e,e=n)}return e}function xe(){var t;return"OR NOT"===e.substr(X,6)?(t="OR NOT",X+=6):(t=n,0===re&&ue(B)),t===n&&("AND NOT"===e.substr(X,7)?(t="AND NOT",X+=7):(t=n,0===re&&ue(K)),t===n&&("OR"===e.substr(X,2)?(t="OR",X+=2):(t=n,0===re&&ue(I)),t===n&&("AND"===e.substr(X,3)?(t="AND",X+=3):(t=n,0===re&&ue(V)),t===n&&("NOT"===e.substr(X,3)?(t="NOT",X+=3):(t=n,0===re&&ue(M)),t===n&&("||"===e.substr(X,2)?(t="||",X+=2):(t=n,0===re&&ue(Y)),t===n&&("&&"===e.substr(X,2)?(t="&&",X+=2):(t=n,0===re&&ue(G)))))))),t}function we(){var t,r,o;for(t=X,r=[],o=je();o!==n;)r.push(o),o=je();return r!==n&&(o=function(){var t;return 43===e.charCodeAt(X)?(t="+",X++):(t=n,0===re&&ue(C)),t===n&&(45===e.charCodeAt(X)?(t="-",X++):(t=n,0===re&&ue(k)),t===n&&(33===e.charCodeAt(X)?(t="!",X++):(t=n,0===re&&ue(T)))),t}())!==n?(Z=t,t=r=o):(X=t,t=n),t}function je(){var t,r;if(re++,t=[],Q.test(e.charAt(X))?(r=e.charAt(X),X++):(r=n,0===re&&ue(W)),r!==n)for(;r!==n;)t.push(r),Q.test(e.charAt(X))?(r=e.charAt(X),X++):(r=n,0===re&&ue(W));else t=n;return re--,t===n&&(r=n,0===re&&ue(J)),t}function Pe(){var t,r;return t=X,re++,e.length>X?(r=e.charAt(X),X++):(r=n,0===re&&ue(b)),re--,r===n?t=void 0:(X=t,t=n),t}if((r=i())!==n&&X===e.length)return r;throw r!==n&&X<e.length&&ue({type:"end"}),function(e,t,r){return new m(m.buildMessage(e,t),e,t,r)}(te,ee<e.length?e.charAt(ee):null,se(ee,ee<e.length?ee+1:ee))}},g=v.parse.bind(v);function A(e){if("string"!=typeof e)throw new Error("The query must be a string");return e.toLowerCase().trim().normalize("NFD").replace(/[\u0300-\u036f]/g,"")}function y(e){return e&&""!==e?function e(t){switch(t.field&&"<implicit>"!==t.field&&(t.left&&Object.assign(t.left,{field:t.field}),t.right&&Object.assign(t.right,{field:t.field})),"-"===t.prefix&&(t.left&&Object.assign(t.left,{prefix:t.prefix}),t.right&&Object.assign(t.right,{prefix:t.prefix})),t.operator){case"<implicit>":return[{and:[].concat(e(t.left),e(t.right))}];case"&&":case"AND":return[{and:[].concat(e(t.left),e(t.right))}];case"||":case"OR":return[{or:[].concat(e(t.left),e(t.right))}];case"AND NOT":case"NOT":return[{and:[].concat(e(t.left),e(Object.assign(t.right,{prefix:"-"})))}];case"OR NOT":return[{or:[].concat(e(t.left),e(Object.assign(t.right,{prefix:"-"})))}];default:if(t.left)return[].concat(e(t.left));var n;if("<implicit>"===t.field)return[(n={},n["-"===t.prefix?"and":"or"]=[].concat(e(r(r({},t),{},{field:"news"})),e(r(r({},t),{},{field:"slug"})),e(r(r({},t),{},{field:"city"})),e(r(r({},t),{},{field:"country"})),e(r(r({},t),{},{field:"title"})),e(r(r({},t),{},{field:"caption"})),e(r(r({},t),{},{field:"creator"})),e(r(r({},t),{},{field:"headline"})),e(r(r({},t),{},{field:"entity_person"})),e(r(r({},t),{},{field:"entity_location"}))),n)];var o={name:A(t.field)};return"-"===t.prefix?o.exclude=[A(t.term)]:o.in=[A(t.term)],[o]}}(g(e)):[]}return function(e){var r,n;function o(t){return void 0===t&&(t={}),e.call(this,t)||this}n=e,(r=o).prototype=Object.create(n.prototype),r.prototype.constructor=r,r.__proto__=n;var i=o.prototype;return i.search=function(e){try{var t=this,r=Object.assign({},t.defaultSearchParams,e),n=r.products,o=r.size,i=r.dateFrom,a=r.dateTo,s=r.urgencies,u=r.query,f=r.langs,l=r.sortField,h=r.sortOrder,d=r.sources,p=r.topics;return Promise.resolve(t.authenticate()).then(function(){var e={and:[{in:f,name:"lang"},{in:n,name:"product"},{in:s,name:"urgency"},{in:d,name:"source"},{in:p,name:"topic"}].concat(y(u))};return Promise.resolve(c(t.apiUrl+"/search",{dateRange:{from:i,to:a},maxRows:o,query:e,sortField:l,sortOrder:h},{headers:t.authorizationBearerHeaders})).then(function(e){var t=e.response;return{count:t.numFound,documents:t.docs}})})}catch(e){return Promise.reject(e)}},i.get=function(e){try{var t=this;return Promise.resolve(t.authenticate()).then(function(){return Promise.resolve(f(t.apiUrl+"/get/"+e,{headers:t.authorizationBearerHeaders})).then(function(e){return{document:e.response.docs[0]}})})}catch(e){return Promise.reject(e)}},i.list=function(e,t){try{var r=this,n=Object.assign({},r.defaultListParams,t),o=n.minDocCount,i=n.products,a=n.dateFrom,s=n.dateTo,u=n.urgencies,f=n.query,l=n.langs,h=n.sources,d=n.topics;return Promise.resolve(r.authenticate()).then(function(){var t={and:[{in:l,name:"lang"},{in:i,name:"product"},{in:u,name:"urgency"},{in:h,name:"source"},{in:d,name:"topic"}].concat(y(f))};return Promise.resolve(c(r.apiUrl+"/list/"+e+"?minDocCount="+o,{dateRange:{from:a,to:s},query:t},{headers:r.authorizationBearerHeaders})).then(function(e){var t=e.response;return{count:t.numFound,keywords:t.topics}})})}catch(e){return Promise.reject(e)}},t(o,[{key:"apiUrl",get:function(){return this.baseUrl+"/v1/api"}},{key:"defaultSearchParams",get:function(){return d}},{key:"defaultListParams",get:function(){return p}},{key:"authorizationBearerHeaders",get:function(){return this.token?{Authorization:"Bearer "+this.token.accessToken}:{}}}]),o}(h)}); | ||
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(e=e||self).AfpNews=r()}(this,function(){function e(e,r){for(var t=0;t<r.length;t++){var n=r[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function r(r,t,n){return t&&e(r.prototype,t),n&&e(r,n),r}function t(){return(t=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e}).apply(this,arguments)}var n=function(e,r,t){return function(e,r){var t=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==t)return t;throw new Error("unable to locate global object")}();e.exports=r=t.fetch,t.fetch&&(r.default=t.fetch.bind(t)),r.Headers=t.Headers,r.Request=t.Request,r.Response=t.Response}(t={path:void 0,exports:{},require:function(e,r){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}()}},t.exports),t.exports}(),o="object"==typeof self?self.FormData:window.FormData;function i(e){var r=new n.Headers;return Object.entries(e).forEach(function(e){return r.append(e[0],e[1])}),r}function a(e,r){var t=new Error(r||"Request rejected with status "+e);return t.code=e,t}var s=function(e,r,t){var n=t.headers;try{var a=function(e){var r=new o;return Object.entries(e).forEach(function(e){return r.append(e[0],e[1])}),r}(r);return Promise.resolve(f(e,{headers:i(n),method:"POST",body:a}))}catch(e){return Promise.reject(e)}},u=function(e,r,t){var n=t.headers;try{return n=Object.assign({"Content-Type":"application/json"},n),Promise.resolve(f(e,{headers:i(n),method:"POST",body:JSON.stringify(r)}))}catch(e){return Promise.reject(e)}},c=function(e,r){var t=r.headers,n=r.params;try{return t=Object.assign({},t,{"Content-Type":"application/json"}),Promise.resolve(f(n?function(e,r){var t=new URL(e);return Object.entries(r).forEach(function(e){return t.searchParams.append(e[0],e[1])}),t.toString()}(e,n):e,{headers:i(t),method:"GET"}))}catch(e){return Promise.reject(e)}},f=function(e,r){try{return Promise.resolve(n(e,r)).then(function(e){var r;function t(t){if(e.ok)return r;throw a(e.status,r.error.message)}var n=function(t,n){try{var o=Promise.resolve(e.json()).then(function(e){r=e})}catch(e){return n()}return o&&o.then?o.then(void 0,n):o}(0,function(){throw a(406,"Format not acceptable")});return n&&n.then?n.then(t):t()})}catch(e){return Promise.reject(e)}},l=function(){function e(e){var r=e.baseUrl,t=e.saveToken;this.credentials={apiKey:e.apiKey,clientId:e.clientId,clientSecret:e.clientSecret,customAuthUrl:e.customAuthUrl},this.baseUrl=r||"https://api.afp.com",this.saveToken=t||function(e){}}var t=e.prototype;return t.authenticate=function(e){var r=void 0===e?{}:e,t=r.username,n=r.password;try{if(this.apiKey){if(t&&n)return Promise.resolve(this.requestAuthenticatedToken({username:t,password:n}));if(void 0===this.token)throw new Error("You need to authenticate with credentials once");return Promise.resolve(!1===this.isTokenValid?this.requestRefreshToken():this.token)}if(this.customAuthUrl){if(t&&n)return Promise.resolve(this.requestAuthenticatedToken({username:t,password:n}));if(this.token&&!1===this.isTokenValid&&"credentials"===this.token.authType)return Promise.resolve(this.requestRefreshToken())}if(t&&n)throw new Error("You need an api key to make authenticated requests");return Promise.resolve(this.token&&!0===this.isTokenValid?this.token:this.requestAnonymousToken())}catch(e){return Promise.reject(e)}},t.resetToken=function(){delete this.token,this.saveToken(null)},t.requestAnonymousToken=function(){try{var e=this;return Promise.resolve(c(e.authUrl,{params:{grant_type:"anonymous"}})).then(function(r){return e.parseToken(r,"anonymous")})}catch(e){return Promise.reject(e)}},t.requestAuthenticatedToken=function(e){var r=e.username,t=e.password;try{var n=this;return Promise.resolve(s(n.authUrl,{grant_type:"password",password:t,username:r},{headers:n.authorizationBasicHeaders})).then(function(e){return n.parseToken(e,"credentials")})}catch(e){return Promise.reject(e)}},t.requestRefreshToken=function(){try{var e=this,r=e.token,t=r.authType;return Promise.resolve(s(e.authUrl,{grant_type:"refresh_token",refresh_token:r.refreshToken},{headers:e.authorizationBasicHeaders})).then(function(r){return e.parseToken(r,t)})}catch(e){return Promise.reject(e)}},t.parseToken=function(e,r){var t=e.expires_in;return this.token={accessToken:e.access_token,authType:r,refreshToken:e.refresh_token,tokenExpires:+new Date+1e3*t},this.saveToken(this.token),this.token},r(e,[{key:"credentials",set:function(e){var r=e.clientId,t=e.clientSecret,n=e.apiKey,o=e.customAuthUrl;r&&t?(delete this.customAuthUrl,this.apiKey=btoa(r+":"+t)):n?(delete this.customAuthUrl,this.apiKey=n):o&&(delete this.apiKey,this.customAuthUrl=o)}},{key:"authUrl",get:function(){return this.customAuthUrl?this.customAuthUrl:this.baseUrl+"/oauth/token"}},{key:"isTokenValid",get:function(){return this.token.tokenExpires>+new Date}},{key:"authorizationBasicHeaders",get:function(){return this.customAuthUrl||!this.apiKey?{}:{Authorization:"Basic "+this.apiKey}}}]),e}(),h={dateFrom:"2012-01-01",dateTo:"now",langs:[],products:[],query:"",size:10,sortField:"published",sortOrder:"desc",urgencies:[],sources:[],topics:[]},p={dateFrom:"now-7d",dateTo:"now",langs:[],products:[],query:"",minDocCount:1,urgencies:[],sources:[],topics:[]};function d(e,r,t,n){this.message=e,this.expected=r,this.found=t,this.location=n,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,d)}!function(e,r){function t(){this.constructor=e}t.prototype=r.prototype,e.prototype=new t}(d,Error),d.buildMessage=function(e,r){var t={literal:function(e){return'"'+o(e.text)+'"'},class:function(e){var r,t="";for(r=0;r<e.parts.length;r++)t+=e.parts[r]instanceof Array?i(e.parts[r][0])+"-"+i(e.parts[r][1]):i(e.parts[r]);return"["+(e.inverted?"^":"")+t+"]"},any:function(e){return"any character"},end:function(e){return"end of input"},other:function(e){return e.description}};function n(e){return e.charCodeAt(0).toString(16).toUpperCase()}function o(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(e){return"\\x0"+n(e)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(e){return"\\x"+n(e)})}function i(e){return e.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(e){return"\\x0"+n(e)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(e){return"\\x"+n(e)})}return"Expected "+function(e){var r,n,o,i=new Array(e.length);for(r=0;r<e.length;r++)i[r]=t[(o=e[r]).type](o);if(i.sort(),i.length>0){for(r=1,n=1;r<i.length;r++)i[r-1]!==i[r]&&(i[n]=i[r],n++);i.length=n}switch(i.length){case 1:return i[0];case 2:return i[0]+" or "+i[1];default:return i.slice(0,-1).join(", ")+", or "+i[i.length-1]}}(e)+" but "+function(e){return e?'"'+o(e)+'"':"end of input"}(r)+" found."};var m={SyntaxError:d,parse:function(e,r){r=void 0!==r?r:{};var t,n={},o={start:ce},i=ce,a=oe("(",!1),s=oe(")",!1),u=/^[:]/,c=ie([":"],!1,!1),f=oe("\\",!1),l=function(e){return"\\"+e},h=oe(".",!1),p=/^[^ \t\r\n\f{}()"\/\^~[\]]/,m=ie([" ","\t","\r","\n","\f","{","}","(",")",'"',"/","^","~","[","]"],!0,!1),v=/^[^: \t\r\n\f{}()"\/\^~[\]]/,g=ie([":"," ","\t","\r","\n","\f","{","}","(",")",'"',"/","^","~","[","]"],!0,!1),A=oe('"',!1),y=oe("/",!1),b={type:"any"},C=oe("+",!1),k=oe("-",!1),T=oe("!",!1),O=oe("{",!1),x=oe("}",!1),w=oe("[",!1),j=oe("]",!1),P=oe("^",!1),q=oe("?",!1),R=oe(":",!1),U=oe("&",!1),N=oe("|",!1),F=oe("'",!1),_=oe("~",!1),E=oe("*",!1),D=oe(" ",!1),S=oe("0.",!1),z=/^[0-9]/,H=ie([["0","9"]],!1,!1),L=oe("TO",!1),B=oe("OR NOT",!1),K=oe("AND NOT",!1),I=oe("OR",!1),V=oe("AND",!1),M=oe("NOT",!1),Y=oe("||",!1),G=oe("&&",!1),J={type:"other",description:"whitespace"},Q=/^[ \t\r\n\f]/,W=ie([" ","\t","\r","\n","\f"],!1,!1),X=0,Z=0,$=[{line:1,column:1}],ee=0,re=[],te=0;if("startRule"in r){if(!(r.startRule in o))throw new Error("Can't start parsing from rule \""+r.startRule+'".');i=o[r.startRule]}function ne(){return se(Z,X)}function oe(e,r){return{type:"literal",text:e,ignoreCase:r}}function ie(e,r,t){return{type:"class",parts:e,inverted:r,ignoreCase:t}}function ae(r){var t,n=$[r];if(n)return n;for(t=r-1;!$[t];)t--;for(n={line:(n=$[t]).line,column:n.column};t<r;)10===e.charCodeAt(t)?(n.line++,n.column=1):n.column++,t++;return $[r]=n,n}function se(e,r){var t=ae(e),n=ae(r);return{start:{offset:e,line:t.line,column:t.column},end:{offset:r,line:n.line,column:n.column}}}function ue(e){X<ee||(X>ee&&(ee=X,re=[]),re.push(e))}function ce(){var e,r,t,o;for(e=X,r=[],t=je();t!==n;)r.push(t),t=je();if(r!==n){if(t=[],(o=fe())!==n)for(;o!==n;)t.push(o),o=fe();else t=n;t!==n?(Z=e,e=r=t[0]):(X=e,e=n)}else X=e,e=n;if(e===n){for(e=X,r=[],t=je();t!==n;)r.push(t),t=je();r!==n&&(Z=e,r={}),(e=r)===n&&(e=X,(r=Pe())!==n&&(Z=e,r={}),e=r)}return e}function fe(){var e,r,t,o,i,a;if(e=X,(r=Oe())!==n&&(t=Pe())!==n?(Z=e,e=r={operator:r}):(X=e,e=n),e===n){if(e=X,(r=Oe())!==n)if((t=le())!==n){for(o=[],i=Oe();i!==n;)o.push(i),i=Oe();if(o!==n){for(i=[],a=fe();a!==n;)i.push(a),a=fe();i!==n?(Z=e,e=r=function(e,r,t,n){var o={start:e,left:r};return null!=(n=0==n.length?null:null==n[0].right?n[0].left:n[0])&&(o.operator=""==t?"<implicit>":t[0],o.right=n),o}(r,t,o,i)):(X=e,e=n)}else X=e,e=n}else X=e,e=n;else X=e,e=n;if(e===n&&(e=X,(r=Oe())!==n&&(t=fe())!==n?(Z=e,e=r=t):(X=e,e=n),e===n))if(e=X,(r=le())!==n){for(t=[],o=Oe();o!==n;)t.push(o),o=Oe();if(t!==n){for(o=[],i=fe();i!==n;)o.push(i),i=fe();o!==n?(Z=e,e=r=function(e,r,t){var n={left:e};return null!=(t=0==t.length?null:null==t[0].right?t[0].left:t[0])&&(n.operator=""==r?"<implicit>":r[0],n.right=t),n}(r,t,o)):(X=e,e=n)}else X=e,e=n}else X=e,e=n}return e}function le(){var r,t,o,i;if(r=X,(t=function(){var r,t,o,i,a;return r=X,(t=pe())===n&&(t=null),t!==n&&(o=function(){var r,t,o,i,a,s,u,c;if(r=X,91===e.charCodeAt(X)?(t="[",X++):(t=n,0===te&&ue(w)),t!==n)if((o=me())!==n){for(i=[],a=je();a!==n;)i.push(a),a=je();if(i!==n)if("TO"===e.substr(X,2)?(a="TO",X+=2):(a=n,0===te&&ue(L)),a!==n){if(s=[],(u=je())!==n)for(;u!==n;)s.push(u),u=je();else s=n;s!==n&&(u=me())!==n?(93===e.charCodeAt(X)?(c="]",X++):(c=n,0===te&&ue(j)),c!==n?(Z=r,r=t={term_min:o,term_max:u,inclusive:"both"}):(X=r,r=n)):(X=r,r=n)}else X=r,r=n;else X=r,r=n}else X=r,r=n;else X=r,r=n;if(r===n){if(r=X,123===e.charCodeAt(X)?(t="{",X++):(t=n,0===te&&ue(O)),t!==n)if((o=me())!==n){for(i=[],a=je();a!==n;)i.push(a),a=je();if(i!==n)if("TO"===e.substr(X,2)?(a="TO",X+=2):(a=n,0===te&&ue(L)),a!==n){if(s=[],(u=je())!==n)for(;u!==n;)s.push(u),u=je();else s=n;s!==n&&(u=me())!==n?(125===e.charCodeAt(X)?(c="}",X++):(c=n,0===te&&ue(x)),c!==n?(Z=r,r=t=function(e,r){return{term_min:e,term_max:r,inclusive:"none"}}(o,u)):(X=r,r=n)):(X=r,r=n)}else X=r,r=n;else X=r,r=n}else X=r,r=n;else X=r,r=n;if(r===n){if(r=X,91===e.charCodeAt(X)?(t="[",X++):(t=n,0===te&&ue(w)),t!==n)if((o=me())!==n){for(i=[],a=je();a!==n;)i.push(a),a=je();if(i!==n)if("TO"===e.substr(X,2)?(a="TO",X+=2):(a=n,0===te&&ue(L)),a!==n){if(s=[],(u=je())!==n)for(;u!==n;)s.push(u),u=je();else s=n;s!==n&&(u=me())!==n?(125===e.charCodeAt(X)?(c="}",X++):(c=n,0===te&&ue(x)),c!==n?(Z=r,r=t=function(e,r){return{term_min:e,term_max:r,inclusive:"left"}}(o,u)):(X=r,r=n)):(X=r,r=n)}else X=r,r=n;else X=r,r=n}else X=r,r=n;else X=r,r=n;if(r===n)if(r=X,123===e.charCodeAt(X)?(t="{",X++):(t=n,0===te&&ue(O)),t!==n)if((o=me())!==n){for(i=[],a=je();a!==n;)i.push(a),a=je();if(i!==n)if("TO"===e.substr(X,2)?(a="TO",X+=2):(a=n,0===te&&ue(L)),a!==n){if(s=[],(u=je())!==n)for(;u!==n;)s.push(u),u=je();else s=n;s!==n&&(u=me())!==n?(93===e.charCodeAt(X)?(c="]",X++):(c=n,0===te&&ue(j)),c!==n?(Z=r,r=t=function(e,r){return{term_min:e,term_max:r,inclusive:"right"}}(o,u)):(X=r,r=n)):(X=r,r=n)}else X=r,r=n;else X=r,r=n}else X=r,r=n;else X=r,r=n}}return r}())!==n?(Z=r,(a=o).field=null==(i=t)||""==i.label?"<implicit>":i.label,a.fieldLocation=null==i||""==i.label?null:i.location,r=t=a):(X=r,r=n),r===n&&(r=X,(t=pe())!==n&&(o=he())!==n?(Z=r,r=t=function(e,r){return r.field=e.label,r.fieldLocation=e.location,r}(t,o)):(X=r,r=n),r===n&&(r=X,(t=pe())===n&&(t=null),t!==n&&(o=function(){var r,t,o,i,a,s,u,c,f,l,h;if(r=X,(t=we())===n&&(t=null),t!==n)if((o=function(){var r,t,o,i;if(r=X,34===e.charCodeAt(X)?(t='"',X++):(t=n,0===te&&ue(A)),t!==n){for(o=[],i=Ae();i!==n;)o.push(i),i=Ae();o!==n?(34===e.charCodeAt(X)?(i='"',X++):(i=n,0===te&&ue(A)),i!==n?(Z=r,r=t=o.join("")):(X=r,r=n)):(X=r,r=n)}else X=r,r=n;return r}())!==n)if((i=function(){var r,t,o;return r=X,126===e.charCodeAt(X)?(t="~",X++):(t=n,0===te&&ue(_)),t!==n&&(o=Te())!==n?(Z=r,r=t=o):(X=r,r=n),r}())===n&&(i=null),i!==n)if((a=Ce())===n&&(a=null),a!==n){for(s=[],u=je();u!==n;)s.push(u),u=je();s!==n?(Z=r,c=t,f=i,l=a,h={term:o,quoted:!0,regex:!1,termLocation:ne()},""!=f&&(h.proximity=f),""!=l&&(h.boost=l),""!=c&&(h.prefix=c),r=t=h):(X=r,r=n)}else X=r,r=n;else X=r,r=n;else X=r,r=n;else X=r,r=n;if(r===n){if(r=X,(t=we())===n&&(t=null),t!==n)if((o=function(){var r,t,o,i;if(r=X,47===e.charCodeAt(X)?(t="/",X++):(t=n,0===te&&ue(y)),t!==n){if(o=[],(i=ye())!==n)for(;i!==n;)o.push(i),i=ye();else o=n;o!==n?(47===e.charCodeAt(X)?(i="/",X++):(i=n,0===te&&ue(y)),i!==n?(Z=r,r=t=o.join("")):(X=r,r=n)):(X=r,r=n)}else X=r,r=n;return r}())!==n){for(i=[],a=je();a!==n;)i.push(a),a=je();i!==n?(Z=r,r=t=function(e,r){return{term:r,quoted:!1,regex:!0,termLocation:ne()}}(0,o)):(X=r,r=n)}else X=r,r=n;else X=r,r=n;if(r===n)if(r=X,(t=we())===n&&(t=null),t!==n)if((o=ve())!==n)if((i=function(){var r,t,o,i;return r=X,126===e.charCodeAt(X)?(t="~",X++):(t=n,0===te&&ue(_)),t!==n?((o=ke())===n&&(o=null),o!==n?(Z=r,r=t=""==(i=o)||null==i?.5:i):(X=r,r=n)):(X=r,r=n),r}())===n&&(i=null),i!==n)if((a=Ce())===n&&(a=null),a!==n){for(s=[],u=je();u!==n;)s.push(u),u=je();s!==n?(Z=r,r=t=function(e,r,t,n){var o={term:r.label,quoted:!1,regex:!1,termLocation:ne()};return""!=t&&(o.similarity=t),""!=n&&(o.boost=n),""!=e&&(o.prefix=e),o}(t,o,i,a)):(X=r,r=n)}else X=r,r=n;else X=r,r=n;else X=r,r=n;else X=r,r=n}return r}())!==n?(Z=r,r=t=function(e,r){var t={field:null==e||""==e.label?"<implicit>":e.label,fieldLocation:null==e||""==e.label?null:e.location};for(var n in r)t[n]=r[n];return t}(t,o)):(X=r,r=n))),r}())!==n){for(o=[],i=je();i!==n;)o.push(i),i=je();o!==n?(Z=r,r=t=t):(X=r,r=n)}else X=r,r=n;return r===n&&(r=he()),r}function he(){var r,t,o,i,u,c,f,l;if(r=X,40===e.charCodeAt(X)?(t="(",X++):(t=n,0===te&&ue(a)),t!==n){for(o=[],i=je();i!==n;)o.push(i),i=je();if(o!==n){if(i=[],(u=fe())!==n)for(;u!==n;)i.push(u),u=fe();else i=n;if(i!==n)if(41===e.charCodeAt(X)?(u=")",X++):(u=n,0===te&&ue(s)),u!==n){for(c=[],f=je();f!==n;)c.push(f),f=je();c!==n?(Z=r,(l=i)[0].parenthesized=!0,r=t=l[0]):(X=r,r=n)}else X=r,r=n;else X=r,r=n}else X=r,r=n}else X=r,r=n;return r}function pe(){var r,t,o,i,a,s;if(r=X,(t=ve())!==n)if(u.test(e.charAt(X))?(o=e.charAt(X),X++):(o=n,0===te&&ue(c)),o!==n){for(i=[],a=je();a!==n;)i.push(a),a=je();i!==n?(Z=r,r=t={label:(s=t).label,location:s.location}):(X=r,r=n)}else X=r,r=n;else X=r,r=n;return r}function de(){var r,t,o;return r=X,92===e.charCodeAt(X)?(t="\\",X++):(t=n,0===te&&ue(f)),t!==n&&(o=be())!==n?(Z=r,r=t=l(o)):(X=r,r=n),r===n&&(46===e.charCodeAt(X)?(r=".",X++):(r=n,0===te&&ue(h)),r===n&&(p.test(e.charAt(X))?(r=e.charAt(X),X++):(r=n,0===te&&ue(m)))),r}function me(){var e,r,t;if(e=X,r=[],(t=de())!==n)for(;t!==n;)r.push(t),t=de();else r=n;return r!==n&&(Z=e,r=r.join("")),r}function ve(){var e,r,t;if(e=X,r=[],(t=ge())!==n)for(;t!==n;)r.push(t),t=ge();else r=n;return r!==n&&(Z=e,r={label:r.join(""),location:ne()}),r}function ge(){var r,t,o;return r=X,92===e.charCodeAt(X)?(t="\\",X++):(t=n,0===te&&ue(f)),t!==n&&(o=be())!==n?(Z=r,r=t=l(o)):(X=r,r=n),r===n&&(46===e.charCodeAt(X)?(r=".",X++):(r=n,0===te&&ue(h)),r===n&&(v.test(e.charAt(X))?(r=e.charAt(X),X++):(r=n,0===te&&ue(g)))),r}function Ae(){var r,t,o;return r=X,t=X,te++,34===e.charCodeAt(X)?(o='"',X++):(o=n,0===te&&ue(A)),o===n&&(92===e.charCodeAt(X)?(o="\\",X++):(o=n,0===te&&ue(f))),te--,o===n?t=void 0:(X=t,t=n),t!==n?(e.length>X?(o=e.charAt(X),X++):(o=n,0===te&&ue(b)),o!==n?(Z=r,r=t=o):(X=r,r=n)):(X=r,r=n),r===n&&(r=X,92===e.charCodeAt(X)?(t="\\",X++):(t=n,0===te&&ue(f)),t!==n&&(o=be())!==n?(Z=r,r=t=l(o)):(X=r,r=n)),r}function ye(){var r,t,o;return r=X,t=X,te++,47===e.charCodeAt(X)?(o="/",X++):(o=n,0===te&&ue(y)),o===n&&(92===e.charCodeAt(X)?(o="\\",X++):(o=n,0===te&&ue(f))),te--,o===n?t=void 0:(X=t,t=n),t!==n?(e.length>X?(o=e.charAt(X),X++):(o=n,0===te&&ue(b)),o!==n?(Z=r,r=t=o):(X=r,r=n)):(X=r,r=n),r===n&&(r=X,92===e.charCodeAt(X)?(t="\\",X++):(t=n,0===te&&ue(f)),t!==n&&(o=be())!==n?(Z=r,r=t=l(o)):(X=r,r=n)),r}function be(){var r;return 43===e.charCodeAt(X)?(r="+",X++):(r=n,0===te&&ue(C)),r===n&&(45===e.charCodeAt(X)?(r="-",X++):(r=n,0===te&&ue(k)),r===n&&(33===e.charCodeAt(X)?(r="!",X++):(r=n,0===te&&ue(T)),r===n&&(40===e.charCodeAt(X)?(r="(",X++):(r=n,0===te&&ue(a)),r===n&&(41===e.charCodeAt(X)?(r=")",X++):(r=n,0===te&&ue(s)),r===n&&(123===e.charCodeAt(X)?(r="{",X++):(r=n,0===te&&ue(O)),r===n&&(125===e.charCodeAt(X)?(r="}",X++):(r=n,0===te&&ue(x)),r===n&&(91===e.charCodeAt(X)?(r="[",X++):(r=n,0===te&&ue(w)),r===n&&(93===e.charCodeAt(X)?(r="]",X++):(r=n,0===te&&ue(j)),r===n&&(94===e.charCodeAt(X)?(r="^",X++):(r=n,0===te&&ue(P)),r===n&&(34===e.charCodeAt(X)?(r='"',X++):(r=n,0===te&&ue(A)),r===n&&(63===e.charCodeAt(X)?(r="?",X++):(r=n,0===te&&ue(q)),r===n&&(58===e.charCodeAt(X)?(r=":",X++):(r=n,0===te&&ue(R)),r===n&&(92===e.charCodeAt(X)?(r="\\",X++):(r=n,0===te&&ue(f)),r===n&&(38===e.charCodeAt(X)?(r="&",X++):(r=n,0===te&&ue(U)),r===n&&(124===e.charCodeAt(X)?(r="|",X++):(r=n,0===te&&ue(N)),r===n&&(39===e.charCodeAt(X)?(r="'",X++):(r=n,0===te&&ue(F)),r===n&&(47===e.charCodeAt(X)?(r="/",X++):(r=n,0===te&&ue(y)),r===n&&(126===e.charCodeAt(X)?(r="~",X++):(r=n,0===te&&ue(_)),r===n&&(42===e.charCodeAt(X)?(r="*",X++):(r=n,0===te&&ue(E)),r===n&&(32===e.charCodeAt(X)?(r=" ",X++):(r=n,0===te&&ue(D)))))))))))))))))))))),r}function Ce(){var r,t,o;return r=X,94===e.charCodeAt(X)?(t="^",X++):(t=n,0===te&&ue(P)),t!==n&&(o=function(){var e;return(e=ke())===n&&(e=Te()),e}())!==n?(Z=r,r=t=o):(X=r,r=n),r}function ke(){var r,t,o,i;if(r=X,"0."===e.substr(X,2)?(t="0.",X+=2):(t=n,0===te&&ue(S)),t!==n){if(o=[],z.test(e.charAt(X))?(i=e.charAt(X),X++):(i=n,0===te&&ue(H)),i!==n)for(;i!==n;)o.push(i),z.test(e.charAt(X))?(i=e.charAt(X),X++):(i=n,0===te&&ue(H));else o=n;o!==n?(Z=r,r=t=parseFloat("0."+o.join(""))):(X=r,r=n)}else X=r,r=n;return r}function Te(){var r,t,o;if(r=X,t=[],z.test(e.charAt(X))?(o=e.charAt(X),X++):(o=n,0===te&&ue(H)),o!==n)for(;o!==n;)t.push(o),z.test(e.charAt(X))?(o=e.charAt(X),X++):(o=n,0===te&&ue(H));else t=n;return t!==n&&(Z=r,t=parseInt(t.join(""))),t}function Oe(){var e,r,t,o,i;for(e=X,r=[],t=je();t!==n;)r.push(t),t=je();if(r!==n)if((t=xe())!==n){if(o=[],(i=je())!==n)for(;i!==n;)o.push(i),i=je();else o=n;o!==n?(Z=e,e=r=t):(X=e,e=n)}else X=e,e=n;else X=e,e=n;if(e===n){for(e=X,r=[],t=je();t!==n;)r.push(t),t=je();r!==n&&(t=xe())!==n&&(o=Pe())!==n?(Z=e,e=r=t):(X=e,e=n)}return e}function xe(){var r;return"OR NOT"===e.substr(X,6)?(r="OR NOT",X+=6):(r=n,0===te&&ue(B)),r===n&&("AND NOT"===e.substr(X,7)?(r="AND NOT",X+=7):(r=n,0===te&&ue(K)),r===n&&("OR"===e.substr(X,2)?(r="OR",X+=2):(r=n,0===te&&ue(I)),r===n&&("AND"===e.substr(X,3)?(r="AND",X+=3):(r=n,0===te&&ue(V)),r===n&&("NOT"===e.substr(X,3)?(r="NOT",X+=3):(r=n,0===te&&ue(M)),r===n&&("||"===e.substr(X,2)?(r="||",X+=2):(r=n,0===te&&ue(Y)),r===n&&("&&"===e.substr(X,2)?(r="&&",X+=2):(r=n,0===te&&ue(G)))))))),r}function we(){var r,t,o;for(r=X,t=[],o=je();o!==n;)t.push(o),o=je();return t!==n&&(o=function(){var r;return 43===e.charCodeAt(X)?(r="+",X++):(r=n,0===te&&ue(C)),r===n&&(45===e.charCodeAt(X)?(r="-",X++):(r=n,0===te&&ue(k)),r===n&&(33===e.charCodeAt(X)?(r="!",X++):(r=n,0===te&&ue(T)))),r}())!==n?(Z=r,r=t=o):(X=r,r=n),r}function je(){var r,t;if(te++,r=[],Q.test(e.charAt(X))?(t=e.charAt(X),X++):(t=n,0===te&&ue(W)),t!==n)for(;t!==n;)r.push(t),Q.test(e.charAt(X))?(t=e.charAt(X),X++):(t=n,0===te&&ue(W));else r=n;return te--,r===n&&(t=n,0===te&&ue(J)),r}function Pe(){var r,t;return r=X,te++,e.length>X?(t=e.charAt(X),X++):(t=n,0===te&&ue(b)),te--,t===n?r=void 0:(X=r,r=n),r}if((t=i())!==n&&X===e.length)return t;throw t!==n&&X<e.length&&ue({type:"end"}),function(e,r,t){return new d(d.buildMessage(e,r),e,r,t)}(re,ee<e.length?e.charAt(ee):null,se(ee,ee<e.length?ee+1:ee))}},v=m.parse.bind(m);function g(e){if("string"!=typeof e)throw new Error("The query must be a string");return e.toLowerCase().trim().normalize("NFD").replace(/[\u0300-\u036f]/g,"")}function A(e){return e&&""!==e?function e(r){switch(r.field&&"<implicit>"!==r.field&&(r.left&&Object.assign(r.left,{field:r.field}),r.right&&Object.assign(r.right,{field:r.field})),"-"===r.prefix&&(r.left&&Object.assign(r.left,{prefix:r.prefix}),r.right&&Object.assign(r.right,{prefix:r.prefix})),r.operator){case"<implicit>":return[{and:[].concat(e(r.left),e(r.right))}];case"&&":case"AND":return[{and:[].concat(e(r.left),e(r.right))}];case"||":case"OR":return[{or:[].concat(e(r.left),e(r.right))}];case"AND NOT":case"NOT":return[{and:[].concat(e(r.left),e(Object.assign(r.right,{prefix:"-"})))}];case"OR NOT":return[{or:[].concat(e(r.left),e(Object.assign(r.right,{prefix:"-"})))}];default:if(r.left)return[].concat(e(r.left));var n;if("<implicit>"===r.field)return[(n={},n["-"===r.prefix?"and":"or"]=e(t({},r,{field:"all"})),n)];var o={name:g(r.field)};return"-"===r.prefix?o.exclude=[g(r.term)]:o.in=[g(r.term)],[o]}}(v(e)):[]}return function(e){var t,n;function o(r){return void 0===r&&(r={}),e.call(this,r)||this}n=e,(t=o).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var i=o.prototype;return i.search=function(e){try{var r=this,t=Object.assign({},r.defaultSearchParams,e),n=t.products,o=t.size,i=t.dateFrom,a=t.dateTo,s=t.urgencies,c=t.query,f=t.langs,l=t.sortField,h=t.sortOrder,p=t.sources,d=t.topics;return Promise.resolve(r.authenticate()).then(function(){var e={and:[{in:f,name:"lang"},{in:n,name:"product"},{in:s,name:"urgency"},{in:p,name:"source"},{in:d,name:"topic"}].concat(A(c))};return Promise.resolve(u(r.apiUrl+"/search",{dateRange:{from:i,to:a},maxRows:o,query:e,sortField:l,sortOrder:h},{headers:r.authorizationBearerHeaders})).then(function(e){var r=e.response;return{count:r.numFound,documents:r.docs}})})}catch(e){return Promise.reject(e)}},i.get=function(e){try{var r=this;return Promise.resolve(r.authenticate()).then(function(){return Promise.resolve(c(r.apiUrl+"/get/"+e,{headers:r.authorizationBearerHeaders})).then(function(e){return{document:e.response.docs[0]}})})}catch(e){return Promise.reject(e)}},i.list=function(e,r){try{var t=this,n=Object.assign({},t.defaultListParams,r),o=n.minDocCount,i=n.products,a=n.dateFrom,s=n.dateTo,c=n.urgencies,f=n.query,l=n.langs,h=n.sources,p=n.topics;return Promise.resolve(t.authenticate()).then(function(){var r={and:[{in:l,name:"lang"},{in:i,name:"product"},{in:c,name:"urgency"},{in:h,name:"source"},{in:p,name:"topic"}].concat(A(f))};return Promise.resolve(u(t.apiUrl+"/list/"+e+"?minDocCount="+o,{dateRange:{from:a,to:s},query:r},{headers:t.authorizationBearerHeaders})).then(function(e){var r=e.response;return{count:r.numFound,keywords:r.topics}})})}catch(e){return Promise.reject(e)}},r(o,[{key:"apiUrl",get:function(){return this.baseUrl+"/v1/api"}},{key:"defaultSearchParams",get:function(){return h}},{key:"defaultListParams",get:function(){return p}},{key:"authorizationBearerHeaders",get:function(){return this.token?{Authorization:"Bearer "+this.token.accessToken}:{}}}]),o}(l)}); | ||
//# sourceMappingURL=afpnews-api.umd.js.map |
{ | ||
"name": "afpnews-api", | ||
"version": "1.10.0", | ||
"version": "1.11.0", | ||
"description": "Node helper functions to authenticate and fetch AFP News API", | ||
@@ -42,18 +42,18 @@ "main": "dist/afpnews-api.js", | ||
"devDependencies": { | ||
"@types/jest": "^25.2.1", | ||
"@types/jest": "^26.0.14", | ||
"dotenv": "^8.2.0", | ||
"jest": "^26.0.1", | ||
"microbundle": "^0.12.0", | ||
"jest": "^26.5.3", | ||
"microbundle": "^0.12.4", | ||
"rimraf": "^3.0.2", | ||
"ts-jest": "^25.5.1", | ||
"ts-jest": "^26.4.1", | ||
"tslint": "^6.1.2", | ||
"tslint-config-standard": "^9.0.0", | ||
"typescript": "^3.8.3" | ||
"typescript": "^4.0.3" | ||
}, | ||
"dependencies": { | ||
"@types/node": "^13.13.5", | ||
"@types/node": "^14.11.8", | ||
"btoa-lite": "^1.0.0", | ||
"form-data": "^3.0.0", | ||
"lucene": "^2.1.1", | ||
"node-fetch": "^2.6.0" | ||
"node-fetch": "^2.6.1" | ||
}, | ||
@@ -60,0 +60,0 @@ "jest": { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
237111
1365
+ Added@types/node@14.18.63(transitive)
- Removed@types/node@13.13.52(transitive)
Updated@types/node@^14.11.8
Updatednode-fetch@^2.6.1