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)
|
相关类型:[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
|
### map
|
||||||
|
|
||||||
|
|||||||
@ -54,6 +54,8 @@ export interface INodeChildren extends Omit<IPublicModelNodeChildren, 'forEach'
|
|||||||
|
|
||||||
reduce(fn: (acc: any, cur: INode) => any, initialValue: any): void;
|
reduce(fn: (acc: any, cur: INode) => any, initialValue: any): void;
|
||||||
|
|
||||||
|
reverse(): INode[];
|
||||||
|
|
||||||
mergeChildren(
|
mergeChildren(
|
||||||
remover: (node: INode, idx: number) => boolean,
|
remover: (node: INode, idx: number) => boolean,
|
||||||
adder: (children: INode[]) => IPublicTypeNodeData[] | null,
|
adder: (children: INode[]) => IPublicTypeNodeData[] | null,
|
||||||
@ -442,6 +444,10 @@ export class NodeChildren implements INodeChildren {
|
|||||||
return this.children.reduce(fn, initialValue);
|
return this.children.reduce(fn, initialValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
reverse() {
|
||||||
|
return this.children.reverse();
|
||||||
|
}
|
||||||
|
|
||||||
mergeChildren(
|
mergeChildren(
|
||||||
remover: (node: INode, idx: number) => boolean,
|
remover: (node: INode, idx: number) => boolean,
|
||||||
adder: (children: INode[]) => IPublicTypeNodeData[] | null,
|
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
|
* 类似数组的 map
|
||||||
* @param fn
|
* @param fn
|
||||||
|
|||||||
@ -96,6 +96,12 @@ export interface IPublicModelNodeChildren {
|
|||||||
*/
|
*/
|
||||||
forEach(fn: (node: IPublicModelNode, index: number) => void): void;
|
forEach(fn: (node: IPublicModelNode, index: number) => void): void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 类似数组的 reverse
|
||||||
|
* provide the same function with {Array.prototype.reverse}
|
||||||
|
*/
|
||||||
|
reverse(): IPublicModelNode[];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 类似数组的 map
|
* 类似数组的 map
|
||||||
* provide the same function with {Array.prototype.map}
|
* provide the same function with {Array.prototype.map}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user