本文整理汇总了TypeScript中@ephox/sugar.Traverse.firstChild方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Traverse.firstChild方法的具体用法?TypeScript Traverse.firstChild怎么用?TypeScript Traverse.firstChild使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类@ephox/sugar.Traverse
的用法示例。
在下文中一共展示了Traverse.firstChild方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: createEntry
const parseItem: Parser = (depth: number, itemSelection: Option<ItemSelection>, selectionState: Cell<boolean>, item: Element): Entry[] => {
return Traverse.firstChild(item).filter(isList).fold(() => {
// Update selectionState (start)
itemSelection.each((selection) => {
if (Compare.eq(selection.start, item)) {
selectionState.set(true);
}
});
const currentItemEntry = createEntry(item, depth, selectionState.get());
// Update selectionState (end)
itemSelection.each((selection) => {
if (Compare.eq(selection.end, item)) {
selectionState.set(false);
}
});
const childListEntries: Entry[] = Traverse.lastChild(item)
.filter(isList)
.map((list) => parseList(depth, itemSelection, selectionState, list))
.getOr([]);
return currentItemEntry.toArray().concat(childListEntries);
}, (list) => parseList(depth, itemSelection, selectionState, list));
};
示例2: function
const getFirstChildren = function (node) {
return Traverse.firstChild(node).fold(
Fun.constant([node]),
function (child) {
return [node].concat(getFirstChildren(child));
}
);
};
示例3: updateSelectionState
const parseItem: Parser = (depth: number, itemSelection: Option<ItemTuple>, selectionState: Cell<boolean>, item: Element): Entry[] => {
const curriedParseList = Fun.curry(parseList, depth, itemSelection, selectionState);
const updateSelectionState = (itemRange: ItemRange) => itemSelection.each((selection) => {
if (Compare.eq(itemRange === ItemRange.Start ? selection.start : selection.end, item)) {
selectionState.set(itemRange === ItemRange.Start);
}
});
return Traverse.firstChild(item).filter(isList).fold(() => {
updateSelectionState(ItemRange.Start);
const fromCurrentItem: Entry = createEntry(item, depth, selectionState.get());
updateSelectionState(ItemRange.End);
const fromChildList: Entry[] = Traverse.lastChild(item).filter(isList).map(curriedParseList).getOr([]);
return [ fromCurrentItem, ...fromChildList ];
}, curriedParseList);
};
示例4:
const hasFirstChildList = (li: Element) => {
return Traverse.firstChild(li).map(isList).getOr(false);
};