コード例 #1
0
        public static SourceFileBuilder UseRandomValues(this SourceFileBuilder builder, String relativePath)
        {
            builder
            .UseRandomFileName()
            .RelativePath(relativePath)
            .UseRandomContents();

            return(builder);
        }
コード例 #2
0
        public void PublicVariableWithSemicolonAndNewLineAtTheEnd()
        {
            var sourceFile =
                new SourceFileBuilder()
                .Statement(
                    SyntaxFactory.PathLikeConstVariableDeclaration("foo", InterpolationKind.PathInterpolation, "bar", Visibility.Export))
                .SemicolonAndBlankLine()
                .Build();

            var text = sourceFile.ToDisplayStringV2();

            Assert.Equal(
                @"export const foo = p`bar`;

",
                text);
        }
コード例 #3
0
        public ISourceFile CreateScriptSourceFile(NugetAnalyzedPackage analyzedPackage)
        {
            var sourceFileBuilder = new SourceFileBuilder();

            // 0. Import {Transformer} from "Sdk.Transformers" to be able to seal directories
            sourceFileBuilder.Statement(ImportDeclaration(new [] { "Transformer" }, "Sdk.Transformers"));

            // 1. Optional import of managed sdk.
            if (analyzedPackage.IsManagedPackage)
            {
                // import * as Managed from 'Sdk.Managed';
                sourceFileBuilder
                .Statement(ImportDeclaration(alias: "Managed", moduleName: "Sdk.Managed"))
                .SemicolonAndBlankLine();
            }

            // 2. Optional qualifier
            if (TryCreateQualifier(analyzedPackage, out var qualifierStatement))
            {
                sourceFileBuilder
                .Statement(qualifierStatement)
                .SemicolonAndBlankLine();
            }

            // 3. Declare a public directory that points to the package root, for convenience reasons
            sourceFileBuilder
            .Statement(new VariableDeclarationBuilder().Name("packageRoot").Initializer(PropertyAccess("Contents", "packageRoot")).Build())
            .SemicolonAndBlankLine();

            // Create a sealed directory declaration with all the package content
            sourceFileBuilder
            .Statement(CreatePackageContents())
            .SemicolonAndBlankLine();

            // @@public export const pkg = ...
            sourceFileBuilder.Statement(CreatePackageVariableDeclaration(analyzedPackage));

            return(sourceFileBuilder.Build());
        }
コード例 #4
0
 public static SourceFileBuilder UseRandomContents(this SourceFileBuilder builder)
 {
     builder
     .Contents(string.Empty.GetRandom().Select(c => Convert.ToByte(c)).ToArray());
     return(builder);
 }
コード例 #5
0
 public static SourceFileBuilder UseRandomFileName(this SourceFileBuilder builder)
 {
     builder.FileName(string.Empty.GetRandom());
     return(builder);
 }