"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const Functional_1 = require("../../../../Class/Functional");
const _ids_1 = require("../../../_ids");
class Call extends Functional_1.Functional {
    constructor(system) {
        super({
            i: ['unit', 'method', 'data'],
            o: ['data'],
        }, {
            input: {
                unit: {
                    ref: true,
                },
            },
        }, system, _ids_1.ID_CALL);
    }
    f({ unit, method, data }, done) {
        const $method = `$${method}`;
        unit[$method].call(unit, data, (data, err) => {
            done({ data }, err);
        });
    }
}
exports.default = Call;
//# sourceMappingURL=index.js.map