UNPKG

@inversifyjs/core

Version:

InversifyJs core package

31 lines 1.41 kB
import { bindingTypeValues } from '../models/BindingType.js'; import { cloneConstantValueBinding } from './cloneConstantValueBinding.js'; import { cloneDynamicValueBinding } from './cloneDynamicValueBinding.js'; import { cloneFactoryBinding } from './cloneFactoryBinding.js'; import { cloneInstanceBinding } from './cloneInstanceBinding.js'; import { cloneResolvedValueBinding } from './cloneResolvedValueBinding.js'; import { cloneServiceRedirectionBinding } from './cloneServiceRedirectionBinding.js'; /** * Creates a deep clone of a binding. * * @param binding - The binding to clone * @returns A clone of the binding */ export function cloneBinding(binding) { // Switch based on binding type to delegate to specific clone functions switch (binding.type) { case bindingTypeValues.ConstantValue: return cloneConstantValueBinding(binding); case bindingTypeValues.DynamicValue: return cloneDynamicValueBinding(binding); case bindingTypeValues.Factory: return cloneFactoryBinding(binding); case bindingTypeValues.Instance: return cloneInstanceBinding(binding); case bindingTypeValues.ResolvedValue: return cloneResolvedValueBinding(binding); case bindingTypeValues.ServiceRedirection: return cloneServiceRedirectionBinding(binding); } } //# sourceMappingURL=cloneBinding.js.map