builder: support files in inspect command
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
This commit is contained in:
@@ -89,6 +89,7 @@ export class Builder {
|
||||
let parsingType: string | undefined;
|
||||
let currentNode: NodeInfo = {};
|
||||
let currentGCPolicy: GCPolicy | undefined;
|
||||
let currentFile: string | undefined;
|
||||
for (const line of data.trim().split(`\n`)) {
|
||||
const [key, ...rest] = line.split(':');
|
||||
const lkey = key.toLowerCase();
|
||||
@@ -178,6 +179,12 @@ export class Builder {
|
||||
currentGCPolicy = undefined;
|
||||
}
|
||||
break;
|
||||
case lkey.startsWith('file#'):
|
||||
parsingType = 'file';
|
||||
currentFile = key.split('#')[1];
|
||||
currentNode.files = currentNode.files || {};
|
||||
currentNode.files[currentFile] = '';
|
||||
break;
|
||||
default: {
|
||||
switch (parsingType || '') {
|
||||
case 'features': {
|
||||
@@ -215,6 +222,15 @@ export class Builder {
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 'file': {
|
||||
if (currentFile && currentNode.files) {
|
||||
if (currentNode.files[currentFile].length > 0) {
|
||||
currentNode.files[currentFile] += '\n';
|
||||
}
|
||||
currentNode.files[currentFile] += line.replace(/^\s>\s?/, '');
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,6 +35,7 @@ export interface NodeInfo extends Node {
|
||||
features?: Record<string, boolean>;
|
||||
labels?: Record<string, string>;
|
||||
gcPolicy?: Array<GCPolicy>;
|
||||
files?: Record<string, string>;
|
||||
}
|
||||
|
||||
export interface GCPolicy {
|
||||
|
||||
Reference in New Issue
Block a user