本文整理汇总了TypeScript中@ephox/katamari.Arr.foldr方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Arr.foldr方法的具体用法?TypeScript Arr.foldr怎么用?TypeScript Arr.foldr使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类@ephox/katamari.Arr
的用法示例。
在下文中一共展示了Arr.foldr方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: function
const insertFormatNodesIntoCaretContainer = function (formatNodes, caretContainer) {
const innerMostFormatNode = Arr.foldr(formatNodes, function (parentNode, formatNode) {
return appendNode(parentNode, formatNode.cloneNode(false));
}, caretContainer);
return appendNode(innerMostFormatNode, innerMostFormatNode.ownerDocument.createTextNode(ZWSP));
};
示例2: function
const expand = function (items) {
return Arr.foldr(items, function (acc, item) {
const newData = getFromItem(item);
return {
menus: Merger.deepMerge(acc.menus, newData.menus),
items: [ newData.item ].concat(acc.items),
expansions: Merger.deepMerge(acc.expansions, newData.expansions)
};
}, {
menus: { },
expansions: { },
items: [ ]
});
};
示例3: unwrapReferences
const expand = (items: string | Array<string | SingleMenuItemApi>, menuItems: MenuItemRegistry) => {
const realItems = unwrapReferences(Type.isString(items) ? items.split(' ') : items, menuItems);
return Arr.foldr(realItems, (acc, item) => {
const itemWithValue = generateValueIfRequired(item);
const newData = getFromItem(itemWithValue, menuItems);
return {
menus: Merger.deepMerge(acc.menus, newData.menus),
items: [ newData.item ].concat(acc.items),
expansions: Merger.deepMerge(acc.expansions, newData.expansions)
};
}, {
menus: { },
expansions: { },
items: [ ]
});
};