"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.cloneProviderBinding = cloneProviderBinding;
const cloneBindingCache_1 = require("./cloneBindingCache");
/**
 * Clones a ProviderBinding
 */
function cloneProviderBinding(// eslint-disable-line @typescript-eslint/no-deprecated
binding) {
    return {
        cache: (0, cloneBindingCache_1.cloneBindingCache)(binding.cache),
        id: binding.id,
        isSatisfiedBy: binding.isSatisfiedBy,
        moduleId: binding.moduleId,
        onActivation: binding.onActivation,
        onDeactivation: binding.onDeactivation,
        provider: binding.provider,
        scope: binding.scope,
        serviceIdentifier: binding.serviceIdentifier,
        type: binding.type,
    };
}
//# sourceMappingURL=cloneProviderBinding.js.map