add a has method to mirror for checking whether an id is in the map
This commit is contained in:
@@ -209,8 +209,9 @@ export type inputCallback = (v: inputValue & { id: number }) => void;
|
|||||||
export type Mirror = {
|
export type Mirror = {
|
||||||
map: idNodeMap;
|
map: idNodeMap;
|
||||||
getId: (n: INode) => number;
|
getId: (n: INode) => number;
|
||||||
getNode: (id: number) => INode;
|
getNode: (id: number) => INode | null;
|
||||||
removeNodeFromMap: (n: INode) => void;
|
removeNodeFromMap: (n: INode) => void;
|
||||||
|
has: (id: number) => boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type throttleOptions = {
|
export type throttleOptions = {
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ export const mirror: Mirror = {
|
|||||||
return n.__sn && n.__sn.id;
|
return n.__sn && n.__sn.id;
|
||||||
},
|
},
|
||||||
getNode(id) {
|
getNode(id) {
|
||||||
return mirror.map[id];
|
return mirror.map[id] || null;
|
||||||
},
|
},
|
||||||
// TODO: use a weakmap to get rid of manually memory management
|
// TODO: use a weakmap to get rid of manually memory management
|
||||||
removeNodeFromMap(n) {
|
removeNodeFromMap(n) {
|
||||||
@@ -33,6 +33,9 @@ export const mirror: Mirror = {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
has(id) {
|
||||||
|
return mirror.map.hasOwnProperty(id);
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
// copy from underscore and modified
|
// copy from underscore and modified
|
||||||
|
|||||||
Reference in New Issue
Block a user