### Question:
IndexGenerator { static void writeIndex( TypeScriptSettings settings, Model model, SymbolProvider symbolProvider, FileManifest fileManifest ) { TypeScriptWriter writer = new TypeScriptWriter(""); ServiceShape service = settings.getService(model); Symbol symbol = symbolProvider.toSymbol(service); writer.write("export * from \"./" + symbol.getName() + "\";"); String nonModularName = symbol.getName().replace("Client", ""); writer.write("export * from \"./" + nonModularName + "\";"); TopDownIndex topDownIndex = model.getKnowledge(TopDownIndex.class); Set<OperationShape> containedOperations = new TreeSet<>(topDownIndex.getContainedOperations(service)); boolean hasPaginatedOperation = false; for (OperationShape operation : containedOperations) { writer.write("export * from \"./commands/" + symbolProvider.toSymbol(operation).getName() + "\";"); if (operation.hasTrait(PaginatedTrait.ID)) { hasPaginatedOperation = true; String modulePath = PaginationGenerator.getOutputFilelocation(operation); writer.write("export * from \"./$L\"", modulePath.replace(".ts", "")); } } if (hasPaginatedOperation) { String modulePath = PaginationGenerator.PAGINATION_INTERFACE_FILE; writer.write("export * from \"./$L\"", modulePath.replace(".ts", "")); } writer.write("export * from \"./models/index\";"); fileManifest.writeFile("index.ts", writer.toString()); } private  IndexGenerator();   }### Answer:
@Test public void writesIndex() { Model model = Model.assembler().addImport(getClass().getResource("simple-service-with-operation.smithy")).assemble().unwrap(); TypeScriptSettings settings = TypeScriptSettings.from(model, Node.objectNodeBuilder() .withMember("service", Node.from("smithy.example#Example")) .withMember("package", Node.from("example")) .withMember("packageVersion", Node.from("1.0.0")) .build()); SymbolProvider symbolProvider = TypeScriptCodegenPlugin.createSymbolProvider(model); MockManifest manifest = new MockManifest(); IndexGenerator.writeIndex(settings, model, symbolProvider, manifest); String contents = manifest.getFileString("index.ts").get(); assertThat(contents, containsString("export * from \"./Example\";")); assertThat(contents, containsString("export * from \"./ExampleClient\";")); assertThat(contents, containsString("export * from \"./commands/GetFooCommand\";")); assertThat(contents, containsString("export * from \"./models/index\";")); }