UNPKG

@yqg/multiple-click

Version:

Monitor user's multiple click behavior and report

62 lines (61 loc) 1.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getSubsets = exports.mockUploadTrackingInfo = exports.mockFetchConfig = exports.baseConfig = void 0; const type_1 = require("../type"); exports.baseConfig = { appId: 'test', appVersion: '1.0.0', env: type_1.ENV_TYPE.TEST, interval: 1000, continuousCount: 3, range: 500, customTrackingInfo: (_, extra) => extra, filter: () => false, excludeRules: [ { selector: '#app', shallow: true, page: ['/test/abc'] } ] }; 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({}); }); }; exports.mockFetchConfig = mockFetchConfig; 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({}); }); }; exports.mockUploadTrackingInfo = mockUploadTrackingInfo; 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; }; exports.getSubsets = getSubsets;