Add types to various low-level functions (#31781)
Adds types to various low-level modules. All changes are type-only, no runtime changes. `tsc` now reports 38 less errors. One problem was that `@types/sortablejs` does not accept promise return in its functions which triggered the linter, so I disabled the rules on those line.
This commit is contained in:
parent
9633f336c8
commit
32075d2880
13 changed files with 123 additions and 77 deletions
|
@ -1,7 +1,9 @@
|
|||
import {isDocumentFragmentOrElementNode} from '../utils/dom.ts';
|
||||
|
||||
type DirElement = HTMLInputElement | HTMLTextAreaElement;
|
||||
|
||||
// for performance considerations, it only uses performant syntax
|
||||
function attachDirAuto(el) {
|
||||
function attachDirAuto(el: DirElement) {
|
||||
if (el.type !== 'hidden' &&
|
||||
el.type !== 'checkbox' &&
|
||||
el.type !== 'radio' &&
|
||||
|
@ -18,10 +20,12 @@ export function initDirAuto() {
|
|||
const mutation = mutationList[i];
|
||||
const len = mutation.addedNodes.length;
|
||||
for (let i = 0; i < len; i++) {
|
||||
const addedNode = mutation.addedNodes[i];
|
||||
const addedNode = mutation.addedNodes[i] as HTMLElement;
|
||||
if (!isDocumentFragmentOrElementNode(addedNode)) continue;
|
||||
if (addedNode.nodeName === 'INPUT' || addedNode.nodeName === 'TEXTAREA') attachDirAuto(addedNode);
|
||||
const children = addedNode.querySelectorAll('input, textarea');
|
||||
if (addedNode.nodeName === 'INPUT' || addedNode.nodeName === 'TEXTAREA') {
|
||||
attachDirAuto(addedNode as DirElement);
|
||||
}
|
||||
const children = addedNode.querySelectorAll<DirElement>('input, textarea');
|
||||
const len = children.length;
|
||||
for (let childIdx = 0; childIdx < len; childIdx++) {
|
||||
attachDirAuto(children[childIdx]);
|
||||
|
@ -30,7 +34,7 @@ export function initDirAuto() {
|
|||
}
|
||||
});
|
||||
|
||||
const docNodes = document.querySelectorAll('input, textarea');
|
||||
const docNodes = document.querySelectorAll<DirElement>('input, textarea');
|
||||
const len = docNodes.length;
|
||||
for (let i = 0; i < len; i++) {
|
||||
attachDirAuto(docNodes[i]);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue