mirror of
https://github.com/alibaba/lowcode-engine.git
synced 2025-12-12 03:01:16 +00:00
feat: add reverse api to node-children model
This commit is contained in:
parent
319d495d3b
commit
1f09b639fb
@ -156,6 +156,21 @@ forEach(fn: (node: IPublicModelNode, index: number) => void): void;
|
||||
|
||||
相关类型:[IPublicModelNode](https://github.com/alibaba/lowcode-engine/blob/main/packages/types/src/shell/model/node.ts)
|
||||
|
||||
### reverse
|
||||
|
||||
类似数组的 reverse
|
||||
|
||||
```typescript
|
||||
/**
|
||||
* 类似数组的 reverse
|
||||
* provide the same function with {Array.prototype.reverse}
|
||||
*/
|
||||
reverse(): IPublicModelNode[];
|
||||
|
||||
```
|
||||
|
||||
相关类型:[IPublicModelNode](https://github.com/alibaba/lowcode-engine/blob/main/packages/types/src/shell/model/node.ts)
|
||||
|
||||
|
||||
### map
|
||||
|
||||
|
||||
@ -54,6 +54,8 @@ export interface INodeChildren extends Omit<IPublicModelNodeChildren, 'forEach'
|
||||
|
||||
reduce(fn: (acc: any, cur: INode) => any, initialValue: any): void;
|
||||
|
||||
reverse(): INode[];
|
||||
|
||||
mergeChildren(
|
||||
remover: (node: INode, idx: number) => boolean,
|
||||
adder: (children: INode[]) => IPublicTypeNodeData[] | null,
|
||||
@ -442,6 +444,10 @@ export class NodeChildren implements INodeChildren {
|
||||
return this.children.reduce(fn, initialValue);
|
||||
}
|
||||
|
||||
reverse() {
|
||||
return this.children.reverse();
|
||||
}
|
||||
|
||||
mergeChildren(
|
||||
remover: (node: INode, idx: number) => boolean,
|
||||
adder: (children: INode[]) => IPublicTypeNodeData[] | null,
|
||||
|
||||
@ -129,6 +129,15 @@ export class NodeChildren implements IPublicModelNodeChildren {
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 类似数组的 reverse
|
||||
*/
|
||||
reverse(): IPublicModelNode[] {
|
||||
return this[nodeChildrenSymbol].reverse().map(d => {
|
||||
return ShellNode.create(d)!;
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 类似数组的 map
|
||||
* @param fn
|
||||
|
||||
@ -96,6 +96,12 @@ export interface IPublicModelNodeChildren {
|
||||
*/
|
||||
forEach(fn: (node: IPublicModelNode, index: number) => void): void;
|
||||
|
||||
/**
|
||||
* 类似数组的 reverse
|
||||
* provide the same function with {Array.prototype.reverse}
|
||||
*/
|
||||
reverse(): IPublicModelNode[];
|
||||
|
||||
/**
|
||||
* 类似数组的 map
|
||||
* provide the same function with {Array.prototype.map}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user