"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Holder = void 0;
const Semifunctional_1 = require("../Semifunctional");
class Holder extends Semifunctional_1.Semifunctional {
    constructor({ fi = [], fo = [], i = [], o = [] }, opt = {}, system, id, done = 'done') {
        super({ fi, fo, i: [...i, done], o }, opt, system, id);
        this._done_name = done;
    }
    onIterDataInputData(name, data) {
        if (name === this._done_name) {
            this.d();
            this._forward_empty_f();
            this._backward_f();
            this._backward(this._done_name);
        }
    }
}
exports.Holder = Holder;
//# sourceMappingURL=index.js.map