chore: merge blocksuite source code (#9213)
This commit is contained in:
30
blocksuite/framework/block-std/src/utils/path-finder.ts
Normal file
30
blocksuite/framework/block-std/src/utils/path-finder.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
export class PathFinder {
|
||||
static equals = (path1: readonly string[], path2: readonly string[]) => {
|
||||
return PathFinder.pathToKey(path1) === PathFinder.pathToKey(path2);
|
||||
};
|
||||
|
||||
static id = (path: readonly string[]) => {
|
||||
return path[path.length - 1];
|
||||
};
|
||||
|
||||
// check if path1 includes path2
|
||||
static includes = (path1: string[], path2: string[]) => {
|
||||
return PathFinder.pathToKey(path1).startsWith(PathFinder.pathToKey(path2));
|
||||
};
|
||||
|
||||
static keyToPath = (key: string) => {
|
||||
return key.split('|');
|
||||
};
|
||||
|
||||
static parent = (path: readonly string[]) => {
|
||||
return path.slice(0, path.length - 1);
|
||||
};
|
||||
|
||||
static pathToKey = (path: readonly string[]) => {
|
||||
return path.join('|');
|
||||
};
|
||||
|
||||
private constructor() {
|
||||
// this is a static class
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user