# disco/1.4.19/backend/views/components/Analytics/features/api/analyticsApi.js

Discount Rules for WooCommerce – Disco | Dynamic Pricing, Conditions, Bulk, Bundle, BOGO, version 1.4.19. 32 lines.

- Page: https://pluginprobe.com/plugins/disco/1.4.19/code/backend/views/components/Analytics/features/api/analyticsApi.js
- Raw: https://pluginprobe.com/plugins/disco/1.4.19/raw/backend/views/components/Analytics/features/api/analyticsApi.js
- Modified: 2026-07-09T04:37:46+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/disco/1.4.19/code/backend/views/components/Analytics/features/api/analyticsApi.js#L10-L20`.

```javascript
/* eslint-disable no-undef */
import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react';

const rawBaseQuery = fetchBaseQuery({
	baseUrl: DISCO.json_url + '/analytics',
	prepareHeaders: (headers) => {
		headers.set('X-WP-Nonce', DISCO.rest_nonce);
	},
});

const baseQuery = (args, api, extraOptions) => {
	if (args && typeof args === 'object' && args.params) {
		const { params, url, ...rest } = args;
		const stripped = Object.fromEntries(
			Object.entries(params).filter(([, v]) => v !== undefined)
		);
		const queryString = new URLSearchParams(stripped).toString();
		const separator = DISCO.is_pretty_url ? '?' : '&';
		args = {
			...rest,
			url: queryString ? `${url}${separator}${queryString}` : url,
		};
	}
	return rawBaseQuery(args, api, extraOptions);
};

export const analyticsApi = createApi({
	reducerPath: 'analyticsApi',
	baseQuery,
	endpoints: () => ({}),
});

```
