Skip to content

Customizeable TS Naming from Java #359

@ruediste

Description

@ruediste

Hi

I have some specific wishes for the naming of generated TS classes (mainly regarding their namespace). I use typescript generator directly from java (not via maven)

I have seen the prefix/suffic settings and Settings.customTypeNamingFunction. However it feels a awkward to use some javascript for the type naming function when launching the generator from java. Would it make sense to add a setting taking an instance of cz.habarta.typescript.generator.compiler.SymbolTable.CustomTypeNamingFunction directly?

Regards

Btw: My current workaround:

settings.extensions.add(new cz.habarta.typescript.generator.Extension() {

	@Override
	public EmitterExtensionFeatures getFeatures() {
		EmitterExtensionFeatures features = new EmitterExtensionFeatures();
		features.worksWithPackagesMappedToNamespaces = true;
		return features;
	}

	@Override
	public List<TransformerDefinition> getTransformers() {
		return Arrays.asList(new TransformerDefinition(ModelCompiler.TransformationPhase.BeforeSymbolResolution,
				new ModelTransformer() {
					@Override
					public TsModel transformModel(SymbolTable symbolTable, TsModel model) {
						for (TsBeanModel bean : model.getBeans()) {
							String name = bean.getOrigin().getName();
							String[] parts = StringUtils.removeStart(name, "ch.ecamos.").split("\\.");

							settings.customTypeNaming.put(name,
									parts[0] + "." + parts[parts.length - 1].replace('$', '.'));
						}
						return model;
					}
				}));
	}
});

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions