@the-little-books/little
Version:
31 lines • 1.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.from_node = void 0;
const pattern_api_1 = require("./pattern-api");
function from_node(node) {
if (node.kind === "Node.Text") {
return pattern_api_1.regex(node.value);
}
else if (node.tag === "v") {
const text = node.contents[0];
if (text === undefined || text.kind !== "Node.Text") {
throw new Error("<v> must contains one text node.");
}
return pattern_api_1.v(text.value);
}
else if (node.tag === "lv") {
const text = node.contents[0];
if (text === undefined || text.kind !== "Node.Text") {
throw new Error("<lv> must contains one text node.");
}
return pattern_api_1.lv(text.value);
}
else if (node.tag === "end") {
return pattern_api_1.end;
}
else {
return pattern_api_1.p(node.tag, node.contents.map(from_node));
}
}
exports.from_node = from_node;
//# sourceMappingURL=pattern-from-node.js.map