# File lib/versionomy/format_definitions/semver.rb, line 186
      def self.create_standard_to_semver

        # We'll use a parsing conversion.
        Conversion::Parsing.new do

          # Sanity check the original value and make sure it doesn't
          # include fields that we don't support.
          to_modify_original_value do |value_, convert_params_|
            if value_.has_field?(:patchlevel) && value_.patchlevel != 0
              raise Errors::ConversionError, 'Cannot convert a version with a patchlevel to semver'
            end
            if value_.tiny2 != 0
              raise Errors::ConversionError, 'Cannot convert a version more than three fields to semver'
            end
            value_
          end

          # We're going to modify how the standard format version is
          # unparsed, so the semver format will have a better chance
          # of parsing it.
          to_modify_unparse_params do |params_, convert_params_|

            # All three fields are required
            params_[:minor_required] = true
            params_[:tiny_required] = true

            # If the standard format version has a prerelease notation,
            # make sure it isn't set off using a delimiter.
            params_[:release_type_delim] = ''
            params_[:development_version_delim] = ''
            params_[:development_minor_delim] = '-'
            params_[:alpha_version_delim] = ''
            params_[:alpha_minor_delim] = '-'
            params_[:beta_version_delim] = ''
            params_[:beta_minor_delim] = '-'
            params_[:release_candidate_version_delim] = ''
            params_[:release_candidate_minor_delim] = '-'
            params_[:preview_version_delim] = ''
            params_[:preview_minor_delim] = '-'

            # If the standard format version includes a "v" prefix, strip it
            params_[:major_delim] = nil

            params_
          end

        end

      end