mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-10 16:14:54 +03:00
8fd5544abd
Завершён рефакторинг §0.5 п.5 родительского плана (вынос inline DOM в dom/). Итоговые метрики: | Файл | До (LOC, evals) | После (LOC, evals) | |-------------------|-----------------|--------------------| | row-fill.mjs | 1235 / 47 | 793 / 1 | | select-value.mjs | 959 / 25 | 827 / 5 | | filter.mjs | 390 / 17 | 256 / 0 | | Σ engine hot | 2584 / 89 | 1876 / 6 | Снижение LOC −708 (−27%), inline page.evaluate −83 (−93%). dom/ расширился с 7 до 11 файлов: новые edd.mjs, edit-state.mjs, filter.mjs, grid-edit.mjs; расширены forms.mjs (+16 функций) и grid.mjs (+4 функции). Engine-модули стали orchestrator-ами. Публичный API browser.mjs — 56 экспортов, без изменений. Полный регресс зелёный после каждого этапа S1–S6. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
57 lines
3.2 KiB
JavaScript
57 lines
3.2 KiB
JavaScript
// web-test browser v1.18 — engine facade: re-exports the public API from engine/*
|
|
// Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
|
/**
|
|
* Public API of the web-test engine. Pure re-export facade — no logic here.
|
|
* Implementation lives in `./engine/*`. External callers (run.mjs, exec scripts,
|
|
* tests) import from this file; engine internals import each other directly.
|
|
*/
|
|
|
|
// ── core ──────────────────────────────────────────────────────────────────
|
|
export {
|
|
isConnected, getPage, ensureConnected, setPreserveClipboard,
|
|
} from './engine/core/state.mjs';
|
|
export {
|
|
pasteText, saveClipboard, restoreClipboard,
|
|
} from './engine/core/clipboard.mjs';
|
|
export { getFormState } from './engine/forms/state.mjs';
|
|
export { fetchErrorStack } from './engine/core/errors.mjs';
|
|
export { clickElement } from './engine/core/click.mjs';
|
|
|
|
// ── session ───────────────────────────────────────────────────────────────
|
|
export {
|
|
connect, disconnect, attach, detach, getSession,
|
|
createContext, setActiveContext, listContexts, getActiveContext,
|
|
hasContext, closeContext,
|
|
} from './engine/core/session.mjs';
|
|
|
|
// ── navigation ────────────────────────────────────────────────────────────
|
|
export {
|
|
getPageState, getSections, navigateSection, getCommands,
|
|
openCommand, switchTab, openFile, navigateLink,
|
|
} from './engine/nav/navigation.mjs';
|
|
|
|
// ── forms ─────────────────────────────────────────────────────────────────
|
|
export { selectValue } from './engine/forms/select-value.mjs';
|
|
export { fillFields, fillField } from './engine/forms/fill.mjs';
|
|
export { closeForm } from './engine/forms/close.mjs';
|
|
|
|
// ── tables ────────────────────────────────────────────────────────────────
|
|
export { readTable, deleteTableRow } from './engine/table/grid.mjs';
|
|
export { readSpreadsheet } from './engine/spreadsheet/spreadsheet.mjs';
|
|
export { fillTableRow } from './engine/table/row-fill.mjs';
|
|
export { filterList, unfilterList } from './engine/table/filter.mjs';
|
|
|
|
// ── recording / overlays ──────────────────────────────────────────────────
|
|
export {
|
|
screenshot, wait, isRecording, startRecording, stopRecording,
|
|
} from './engine/recording/capture.mjs';
|
|
export {
|
|
showCaption, hideCaption, getCaptions,
|
|
showTitleSlide, hideTitleSlide,
|
|
showImage, hideImage,
|
|
} from './engine/recording/captions.mjs';
|
|
export {
|
|
highlight, unhighlight, setHighlight, isHighlightMode,
|
|
} from './engine/recording/highlight.mjs';
|
|
export { addNarration } from './engine/recording/narration.mjs';
|