client-analytics.cjs.js 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. 'use strict';
  2. Object.defineProperty(exports, '__esModule', { value: true });
  3. var clientCommon = require('@algolia/client-common');
  4. var transporter = require('@algolia/transporter');
  5. var requesterCommon = require('@algolia/requester-common');
  6. const createAnalyticsClient = options => {
  7. const region = options.region || 'us';
  8. const auth = clientCommon.createAuth(clientCommon.AuthMode.WithinHeaders, options.appId, options.apiKey);
  9. const transporter$1 = transporter.createTransporter({
  10. hosts: [{ url: `analytics.${region}.algolia.com` }],
  11. ...options,
  12. headers: {
  13. ...auth.headers(),
  14. ...{ 'content-type': 'application/json' },
  15. ...options.headers,
  16. },
  17. queryParameters: {
  18. ...auth.queryParameters(),
  19. ...options.queryParameters,
  20. },
  21. });
  22. const appId = options.appId;
  23. return clientCommon.addMethods({ appId, transporter: transporter$1 }, options.methods);
  24. };
  25. const addABTest = (base) => {
  26. return (abTest, requestOptions) => {
  27. return base.transporter.write({
  28. method: requesterCommon.MethodEnum.Post,
  29. path: '2/abtests',
  30. data: abTest,
  31. }, requestOptions);
  32. };
  33. };
  34. const deleteABTest = (base) => {
  35. return (abTestID, requestOptions) => {
  36. return base.transporter.write({
  37. method: requesterCommon.MethodEnum.Delete,
  38. path: clientCommon.encode('2/abtests/%s', abTestID),
  39. }, requestOptions);
  40. };
  41. };
  42. const getABTest = (base) => {
  43. return (abTestID, requestOptions) => {
  44. return base.transporter.read({
  45. method: requesterCommon.MethodEnum.Get,
  46. path: clientCommon.encode('2/abtests/%s', abTestID),
  47. }, requestOptions);
  48. };
  49. };
  50. const getABTests = (base) => {
  51. return (requestOptions) => {
  52. return base.transporter.read({
  53. method: requesterCommon.MethodEnum.Get,
  54. path: '2/abtests',
  55. }, requestOptions);
  56. };
  57. };
  58. const stopABTest = (base) => {
  59. return (abTestID, requestOptions) => {
  60. return base.transporter.write({
  61. method: requesterCommon.MethodEnum.Post,
  62. path: clientCommon.encode('2/abtests/%s/stop', abTestID),
  63. }, requestOptions);
  64. };
  65. };
  66. exports.addABTest = addABTest;
  67. exports.createAnalyticsClient = createAnalyticsClient;
  68. exports.deleteABTest = deleteABTest;
  69. exports.getABTest = getABTest;
  70. exports.getABTests = getABTests;
  71. exports.stopABTest = stopABTest;