Example #1
0
export const datasetsUrl = ({ platform, prefix, start = 0 }: IReadDatasetsOptionBag): string => {
  const urlRoot = datasetsUrlRoot('v2');
  let url = urlRoot;

  if (platform) {
    url = `${urlRoot}/platform/${platform}`;

    if (prefix) {
      url = `${urlRoot}/platform/${platform}/prefix/${encodeForwardSlash(prefix)}`;
    }
  }

  return buildUrl(url, 'start', `${start}`);
};
Example #2
0
export const searchUrl = ({ facets, ...params }: ISearchApiParams): string => {
  return buildUrl(`${getApiRoot()}/search`, { ...params, ...fromRestli(facets || '') });
};
Example #3
0
export const suggestionsUrl = (params: ISuggestionsApi): string => {
  return buildUrl(`${getApiRoot()}/autocomplete/datasets`, params);
};
Example #4
0
  test('baseUrl', function(assert) {
    let result = buildUrl(baseUrl);
    assert.equal(result, baseUrl, 'it returns the base url when no other arguments are passed');

    result = buildUrl(baseUrl, {});
    assert.equal(result, baseUrl, 'it returns the base url when an empty object is supplied as query parameter');

    result = buildUrl(baseUrl, '');
    assert.equal(result, baseUrl, 'it returns the base url when an empty string is supplied as query parameter');

    result = buildUrl(baseUrl, '', true);
    assert.equal(
      result,
      baseUrl,
      'it returns the base url when the queryParam is an empty string and the useEncoding is set'
    );

    result = buildUrl(baseUrl, 'query', true);
    assert.equal(
      result,
      `${baseUrl}?query=true`,
      'it returns the base url with a query key set to true when true is passed as a query value'
    );

    result = buildUrl(baseUrl, 'query', unEncodedString, true);
    assert.equal(
      result,
      `${baseUrl}?query=${encodedString}`,
      'it returns the encoded value when the useEncoding flag is true'
    );

    result = buildUrl(baseUrl, { query: unEncodedString }, true);
    assert.equal(result, `${baseUrl}?query=${encodedString}`, 'it returns the encoded string on a queryParams object');

    result = buildUrl(baseUrl, '', '');
    assert.equal(result, baseUrl, 'returns the baseUrl when no query parameter is supplied');

    result = buildUrl(baseUrl, 'search', 'text');
    assert.equal(result, `${baseUrl}?search=text`);

    result = buildUrl(result, 'query', 'text2');
    assert.equal(result, `${baseUrl}?search=text&query=text2`);

    result = buildUrl(baseUrl, {
      keyName1: 'keyValue1',
      keyName2: 2,
      keyName3: true
    });
    assert.equal(result, `${baseUrl}?keyName1=keyValue1&keyName2=2&keyName3=true`);

    result = buildUrl(baseUrl, {
      keyName1: 0,
      keyName3: undefined,
      keyName4: '',
      keyName5: null,
      keyName2: false
    });
    assert.equal(result, `${baseUrl}?keyName1=0&keyName2=false`);
  });
Example #5
0
const buildMailToUrl = (headers: IMailHeaderRecord = {}): string => {
  const { to = '', ...otherHeaders } = headers;
  const mailTo = `mailto:${encodeURIComponent(to)}`;

  return buildUrl(mailTo, otherHeaders);
};