improve code

This commit is contained in:
Rene Haas
2022-07-31 21:38:38 +02:00
parent 064372d781
commit 1eb3d305b1
4 changed files with 11 additions and 34 deletions
@@ -62,15 +62,15 @@ module.exports = () => {
({ close, url, output } = await createRollupBundle(dirname(file), true, config.quiet));
});
test.beforeEach(async ({ page, browserName }) => {
test.beforeEach(async ({ page, browserName }, { config }) => {
await page.goto(url);
if (browserName === 'chromium') {
if (browserName === 'chromium' && config.quiet) {
await page.coverage.startJSCoverage();
}
});
test.afterEach(async ({ page, browserName }, { file }) => {
if (browserName === 'chromium') {
test.afterEach(async ({ page, browserName }, { file, config }) => {
if (browserName === 'chromium' && config.quiet) {
const coverage = await page.coverage.stopJSCoverage();
await collectCoverage(originalCwd, dirname(output), coverage, file);
}
@@ -1,6 +1,5 @@
import { OverlayScrollbars } from 'overlayscrollbars';
const targets: Set<Element> = new Set();
const targetInstanceMap: WeakMap<Element, OverlayScrollbars> = new WeakMap();
/**
@@ -10,7 +9,6 @@ const targetInstanceMap: WeakMap<Element, OverlayScrollbars> = new WeakMap();
*/
export const addInstance = (target: Element, osInstance: OverlayScrollbars): void => {
targetInstanceMap.set(target, osInstance);
targets.add(target);
};
/**
@@ -19,7 +17,6 @@ export const addInstance = (target: Element, osInstance: OverlayScrollbars): voi
*/
export const removeInstance = (target: Element): void => {
targetInstanceMap.delete(target);
targets.delete(target);
};
/**
@@ -28,26 +25,3 @@ export const removeInstance = (target: Element): void => {
*/
export const getInstance = (target: Element): OverlayScrollbars | undefined =>
targetInstanceMap.get(target);
/**
* Gets a Map which represents all active OverayScrollbars instances.
* The Key is the element and the value is the instance.
*/
export const allInstances = (): ReadonlyMap<Element, OverlayScrollbars> => {
const validTargetInstanceMap: Map<Element, OverlayScrollbars> = new Map();
targets.forEach((target: Element) => {
/* istanbul ignore else */
if (targetInstanceMap.has(target)) {
validTargetInstanceMap.set(target, targetInstanceMap.get(target)!);
}
});
targets.clear();
validTargetInstanceMap.forEach((instance: OverlayScrollbars, validTarget: Element) => {
targets.add(validTarget);
});
return validTargetInstanceMap;
};
@@ -181,7 +181,7 @@ export const createStructureSetupElements = (
const { _target, _host, _padding, _viewport, _content, _viewportArrange } = evaluatedTargetObj;
const destroyFns: (() => any)[] = [];
const isTextareaHostGenerated = isTextarea && elementIsGenerated(_host);
const targetContents = isTextarea
let targetContents = isTextarea
? _target
: contents(
[_content, _viewport, _padding, _host, _target].find(
@@ -240,6 +240,9 @@ export const createStructureSetupElements = (
insertBefore(_viewport, _viewportArrange);
push(destroyFns, removeElements.bind(0, _viewportArrange));
}
// @ts-ignore
targetContents = 0;
};
return [evaluatedTargetObj, appendElements, runEachAndClear.bind(0, destroyFns)];
@@ -1,4 +1,4 @@
import { addInstance, removeInstance, getInstance, allInstances } from 'instances';
import { addInstance, removeInstance, getInstance } from 'instances';
import { OverlayScrollbars } from 'overlayscrollbars';
const testElm = document.body;
@@ -12,14 +12,14 @@ describe('instances', () => {
test('add instance', () => {
addInstance(testElm, testInstance);
expect(allInstances().size).toBe(1);
expect(getInstance(testElm)).toBe(testInstance);
});
test('remove instance', () => {
addInstance(testElm, testInstance);
removeInstance(testElm);
expect(allInstances().size).toBe(0);
expect(getInstance(testElm)).toBe(undefined);
});
test('get instance', () => {