public void CreateImports() { TypeScriptProvider tsProvider = new TypeScriptProvider(); TsCodeDom.Entities.TsCodeNamespace newNamespace = new Entities.TsCodeNamespace(); // we don't want to use a namespace for the generated interface (so we are not setting the namespace name) //add import all (alternative 1) (simply not setting an import type) newNamespace.Imports.Add(new Entities.TsCodeNamespaceImport() { Path = "@scope/package" }); //add import all (alternative 2) var importWithTypes = new Entities.TsCodeNamespaceImport() { Path = "@scope/package" }; importWithTypes.ImportTypes.Add(new Entities.TsCodeImportType() { //dont set the name to import all }); newNamespace.Imports.Add(importWithTypes); //add import all as importWithTypes = new Entities.TsCodeNamespaceImport() { Path = "@scope/package" }; importWithTypes.ImportTypes.Add(new Entities.TsCodeImportType() { //dont set the name to import all Alias = "myImport" }); newNamespace.Imports.Add(importWithTypes); //add import with specific types importWithTypes = new Entities.TsCodeNamespaceImport() { Path = "@scope/package" }; importWithTypes.ImportTypes.Add(new Entities.TsCodeImportType() { Name = "Cat" }); importWithTypes.ImportTypes.Add(new Entities.TsCodeImportType() { Name = "Dog", Alias = "Wuffi" }); newNamespace.Imports.Add(importWithTypes); var tsCode = tsProvider.GenerateCodeFromNamespace(newNamespace); Assert.AreEqual(tsCode, "import * from '@scope/package';\r\nimport * from '@scope/package';\r\nimport * as myImport from '@scope/package';\r\nimport {Cat, Dog as Wuffi} from '@scope/package';\r\n"); }
public void CreateExports() { TypeScriptProvider tsProvider = new TypeScriptProvider(); Entities.TsCodeNamespace newNamespace = new Entities.TsCodeNamespace(); //add export all (alternative 1) (simply not setting an import type) newNamespace.Imports.Add(new Entities.TsCodeNamespaceImport() { Path = "@scope/package", IsExport = true }); //add export all (alternative 2) var exportWithTypes = new Entities.TsCodeNamespaceImport() { Path = "@scope/package", IsExport = true }; exportWithTypes.ImportTypes.Add(new Entities.TsCodeImportType() { //dont set the name to import all }); newNamespace.Imports.Add(exportWithTypes); //export multiple types exportWithTypes = new Entities.TsCodeNamespaceImport() { Path = "@scope/package", IsExport = true }; exportWithTypes.ImportTypes.Add(new Entities.TsCodeImportType() { Name = "Dog" }); exportWithTypes.ImportTypes.Add(new Entities.TsCodeImportType() { Name = "Cat" }); newNamespace.Imports.Add(exportWithTypes); var tsCode = tsProvider.GenerateCodeFromNamespace(newNamespace); Assert.AreEqual(tsCode, "export * from '@scope/package';\r\nexport * from '@scope/package';\r\nexport {Cat, Dog} from '@scope/package';\r\n"); }