phrase-engine
Version:
Language files on steroids for conversational UIs that aren't boring.
74 lines • 2.68 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const TextNode_1 = require("./Nodes/TextNode");
const IfNode_1 = require("./Nodes/IfNode");
const MaybeNode_1 = require("./Nodes/MaybeNode");
const EitherNode_1 = require("./Nodes/EitherNode");
const SelectNode_1 = require("./Nodes/SelectNode");
const ForNode_1 = require("./Nodes/ForNode");
const UnlessNode_1 = require("./Nodes/UnlessNode");
const ThenNode_1 = require("./Nodes/ThenNode");
const ElseNode_1 = require("./Nodes/ElseNode");
const OrNode_1 = require("./Nodes/OrNode");
const DataNode_1 = require("./Nodes/DataNode");
const SpacelessNode_1 = require("./Nodes/SpacelessNode");
const RawTextNode_1 = require("./Nodes/RawTextNode");
const SpaceNode_1 = require("./Nodes/SpaceNode");
const RefNode_1 = require("./Nodes/RefNode");
const BrNode_1 = require("./Nodes/BrNode");
const peek_1 = require("./peek");
const orFactory = (root, packet) => {
return new OrNode_1.OrNode(root, packet);
};
exports.default = {
"this": orFactory,
"or": orFactory,
"if": (root, packet) => {
return new IfNode_1.IfNode(root, packet);
},
"text": (root, packet) => {
return new TextNode_1.TextNode(root, packet);
},
"maybe": (root, packet) => {
return new MaybeNode_1.MaybeNode(root, packet);
},
"either": (root, packet) => {
return new EitherNode_1.EitherNode(root, packet);
},
"select": (root, packet) => {
return new SelectNode_1.SelectNode(root, packet);
},
"for": (root, packet) => {
return new ForNode_1.ForNode(root, packet);
},
"spaceless": (root, packet) => {
return new SpacelessNode_1.SpacelessNode(root, packet);
},
"unless": (root, packet) => {
return new UnlessNode_1.UnlessNode(root, packet);
},
"then": (root, packet) => {
return new ThenNode_1.ThenNode(root, packet);
},
"else": (root, packet) => {
return new ElseNode_1.ElseNode(root, packet);
},
"data": (root, packet) => {
return new DataNode_1.DataNode(root, packet);
},
"ref": (root, packet) => {
return new RefNode_1.RefNode(root, packet);
},
"br": (root, packet) => {
return new BrNode_1.BrNode(root, packet);
},
"#text": (root, packet) => {
const trimmed_data = root.nodeValue.trim();
return !!trimmed_data
? new RawTextNode_1.RawTextNode(root, packet)
: peek_1.default(packet.next_stack) instanceof SpaceNode_1.SpaceNode
? peek_1.default(packet.next_stack)
: new SpaceNode_1.SpaceNode(root, packet);
}
};
//# sourceMappingURL=factories.js.map