import { ContainerModule, interfaces } from 'inversify'; import { ServiceIdentifiers } from '../../ServiceIdentifiers'; import { INodeTransformer } from '../../../interfaces/node-transformers/INodeTransformer'; import { NodeTransformer } from '../../../enums/node-transformers/NodeTransformer'; import { MemberExpressionTransformer } from '../../../node-transformers/converting-transformers/MemberExpressionTransformer'; import { MethodDefinitionTransformer } from '../../../node-transformers/converting-transformers/MethodDefinitionTransformer'; import { ObjectExpressionKeysTransformer } from '../../../node-transformers/converting-transformers/ObjectExpressionKeysTransformer'; import { TemplateLiteralTransformer } from '../../../node-transformers/converting-transformers/TemplateLiteralTransformer'; export const convertingTransformersModule: interfaces.ContainerModule = new ContainerModule((bind: interfaces.Bind) => { // converting transformers bind(ServiceIdentifiers.INodeTransformer) .to(MemberExpressionTransformer) .whenTargetNamed(NodeTransformer.MemberExpressionTransformer); bind(ServiceIdentifiers.INodeTransformer) .to(MethodDefinitionTransformer) .whenTargetNamed(NodeTransformer.MethodDefinitionTransformer); bind(ServiceIdentifiers.INodeTransformer) .to(ObjectExpressionKeysTransformer) .whenTargetNamed(NodeTransformer.ObjectExpressionKeysTransformer); bind(ServiceIdentifiers.INodeTransformer) .to(TemplateLiteralTransformer) .whenTargetNamed(NodeTransformer.TemplateLiteralTransformer); });