private bool TryTemplateFile()

in src/PSDocs.Azure/Pipeline/TemplatePipeline.cs [168:190]


        private bool TryTemplateFile(string templateFile, out string version, out JObject metadata)
        {
            var jsonData = ReadFile<JObject>(templateFile);
            metadata = null;
            version = null;

            // Check that the JSON file is an ARM template file
            if (jsonData == null || !IsTemplateFile(jsonData))
                return false;

            if (!(jsonData.TryGetValue(PROPERTYNAME_CONTENTVERSION, out var versionToken) && versionToken is JValue versionValue))
                return false;

            version = versionValue.ToString();
            Writer.VerboseFoundTemplate(templateFile);
            if (jsonData.TryGetValue(PROPERTYNAME_METADATA, out var metadataToken) && metadataToken is JObject metadataProperty)
                metadata = metadataProperty;

            if (metadata == null)
                Writer.VerboseMetadataNotFound(templateFile);

            return true;
        }