"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const Semifunctional_1 = require("../../../../Class/Semifunctional");
const _ids_1 = require("../../../_ids");
class New extends Semifunctional_1.Semifunctional {
    constructor(system) {
        super({
            fi: ['class'],
            fo: ['unit'],
            i: ['done'],
        }, {
            output: {
                unit: {
                    ref: true,
                },
            },
        }, system, _ids_1.ID_NEW);
    }
    f({ class: Class }, done) {
        done({ unit: new Class(this.__system) });
    }
    onIterDataInputData(name, data) {
        // if (name === 'done') {
        this._forward_all_empty();
        this._backward('class');
        this._backward('done');
        // }
    }
}
exports.default = New;
//# sourceMappingURL=index.js.map