function convertNode()

in client/src/utils.ts [187:213]


	function convertNode(node: Node): string {
		switch (node.type) {
			case NodeType.separator:
				return separator;
				break;
			case NodeType.text:
				return node.value;
				break;
			case NodeType.questionMark:
				return fileChar;
				break;
			case NodeType.star:
				return `${fileChar}*?`;
				break;
			case NodeType.globStar:
				return `(?:${fileChar}|(?:(?:${fileChar}${separator})+${fileChar}))*?`;
			case NodeType.bracket:
				return `[${node.value}]`;
			case NodeType.brace: {
				let buffer: string[] = [];
				for (const child of node.alternatives) {
					buffer.push(convertNode(child));
				}
				return `(?:${buffer.join('|')})`;
			}
		}
	}