"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.resolveInstanceBindingNode = resolveInstanceBindingNode;
const common_1 = require("@inversifyjs/common");
function resolveInstanceBindingNode(resolveInstanceBindingConstructorParams, resolveInstanceBindingNodeAsyncFromConstructorParams, resolveInstanceBindingNodeFromConstructorParams) {
    return (params, node) => {
        const constructorValues = resolveInstanceBindingConstructorParams(params, node);
        if ((0, common_1.isPromise)(constructorValues)) {
            return resolveInstanceBindingNodeAsyncFromConstructorParams(constructorValues, params, node);
        }
        return resolveInstanceBindingNodeFromConstructorParams(constructorValues, params, node);
    };
}
//# sourceMappingURL=resolveInstanceBindingNode.js.map