"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.$wrap = void 0;
const _1 = require("./Class/$");
function $wrap(system, obj, __ = []) {
    const wrap = new (class Wrapped extends _1.$ {
        constructor(system) {
            super(system);
            this.__async = true;
            this.__ = __;
            for (const methodName of Object.keys(obj)) {
                const method = obj[methodName];
                this[methodName] = method;
            }
        }
    })(system);
    // @ts-ignore
    return wrap;
}
exports.$wrap = $wrap;
//# sourceMappingURL=wrap.js.map