UNPKG

phrase-engine

Version:

Language files on steroids for conversational UIs that aren't boring.

47 lines 1.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const RefableNode_1 = require("../RefableNode"); const peek_1 = require("../peek"); const text_1 = require("../text"); const textSupport_1 = require("../textSupport"); class MaybeNode extends RefableNode_1.RefableNode { validateNodeName(name) { return name === 'maybe'; } init(root, packet) { this.setNextNode(text_1.default.call(this, root, packet, textSupport_1.default)); this.__skip = peek_1.default(packet.next_stack); this.registararGenerate(root); } eval(packet, branch = Math.round(Math.random() * 453745)) { !!(branch & 1) && this.registerRender(packet); return [ this.__skip, this.__next_node ][branch & 1].eval(packet); } *gen(packet) { this.registerRender(packet); yield* this.next().gen(packet); this.deregisterRender(packet); yield* this.__skip.gen(packet); } count(packet) { let ret; this.registerRender(packet); ret = this.next().count(packet); this.deregisterRender(packet); ret += this.__skip.count(packet); return ret; } vars(packet) { if (!this.__vared) { this.__next_node.vars(packet); this.__skip.vars(packet); this.__vared = true; } return packet; } } exports.MaybeNode = MaybeNode; //# sourceMappingURL=MaybeNode.js.map