UNPKG

pangu

Version:

Paranoid text spacing for good readability, to automatically insert whitespace between CJK (Chinese, Japanese, Korean) and half-width characters (alphabetical letters, numerical digits and symbols).

38 lines (37 loc) 1.38 kB
import { Pangu } from '../shared/index.js'; import { TaskScheduler } from './task-scheduler.js'; import { VisibilityDetector } from './visibility-detector.js'; export interface AutoSpacingPageConfig { pageDelayMs?: number; nodeDelayMs?: number; nodeMaxWaitMs?: number; } export declare class BrowserPangu extends Pangu { private static readonly maxSyncTextNodes; private isAutoSpacingPageExecuted; private autoSpacingPageObserver; private readonly lastWrittenData; readonly taskScheduler: TaskScheduler; readonly visibilityDetector: VisibilityDetector; autoSpacingPage({ pageDelayMs, nodeDelayMs, nodeMaxWaitMs }?: AutoSpacingPageConfig): void; spacingPage(): void; spacingNode(contextNode: Node): void; stopAutoSpacingPage(): void; isElementVisuallyHidden(element: Element): boolean; private isSpaceLikeSibling; private isGridOrFlexContainer; private spacingTextNodes; private applyTextRunSpacing; private spacingNodeSync; private hasSpacedTextInSubtree; private insertPanguElement; private findPreviousElementLastChar; private scanBetweenTextRuns; private isHiddenBoundaryBefore; private isHiddenBoundaryAfter; private schedule; private waitForVideosToLoad; private setupAutoSpacingPageObserver; } export declare const pangu: BrowserPangu; export default pangu;