UNPKG

@yqg/multiple-click

Version:

Monitor user's multiple click behavior and report

56 lines (55 loc) 1.53 kB
import { ENV_TYPE } from '../type'; export const baseConfig = { appId: 'test', appVersion: '1.0.0', env: ENV_TYPE.TEST, interval: 1000, continuousCount: 3, range: 500, customTrackingInfo: (_, extra) => extra, filter: () => false, excludeRules: [ { selector: '#app', shallow: true, page: ['/test/abc'] } ] }; export const mockFetchConfig = (data) => { global.fetch = jest.fn((url) => { if (url.includes('/api-web/hostCond')) { return Promise.resolve({ json: () => Promise.resolve({ body: data }) }); } return Promise.resolve({}); }); }; export const mockUploadTrackingInfo = (cb) => { global.fetch = jest.fn((url, req) => { if (url.includes('/logMetrics')) { cb === null || cb === void 0 ? void 0 : cb(req); return Promise.resolve({ json: () => Promise.resolve({}) }); } return Promise.resolve({}); }); }; export const getSubsets = (arr, subLen) => { const subsets = []; const backtrack = (start, currentSubset) => { if (currentSubset.length === subLen) { subsets.push([...currentSubset]); return; } for (let i = start; i < arr.length; i++) { currentSubset.push(arr[i]); backtrack(i + 1, currentSubset); currentSubset.pop(); } }; backtrack(0, []); return subsets; };