Skip to content

Add Default value types for better marshalling #196

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Feb 19, 2020

Conversation

khos2ow
Copy link
Member

@khos2ow khos2ow commented Feb 17, 2020

Prerequisites

Put an x into the box(es) that apply:

  • This pull request fixes a bug.
  • This pull request adds a feature.
  • This pull request enhances existing functionality.
  • This pull request introduces breaking change.

For more information, see the Contributing Guide.

Description

This PR defines a new interface called Default which is going to be used as the default value of an input.

// Input represents a Terraform input.
type Input struct {
	Name        string   `json:"name" yaml:"name"`
	Type        String   `json:"type" yaml:"type"`
	Description String   `json:"description" yaml:"description"`
	Default     Default  `json:"default" yaml:"default"`
	Position    Position `json:"-" yaml:"-"`
}

instead of previously

// Input represents a Terraform input.
type Input struct {
	Name        string      `json:"name" yaml:"name"`
	Type        String      `json:"type" yaml:"type"`
	Description String      `json:"description" yaml:"description"`
	Default     interface{} `json:"default" yaml:"default"`
	Position    Position    `json:"-" yaml:"-"`
}

The reason for this is to be able have specific and dedicated for custom Marshaller for each types. Currently the supported types are:

  • Nil
  • String
  • Empty
  • Number
  • Bool
  • List
  • Map

Issues Resolved

n/a

Checklist

Put an x into all boxes that apply:

Tests

  • I have added tests to cover my changes.
  • All tests pass when I run make test.

Documentation

  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.

Code Style

  • My code follows the code style of this project.

@khos2ow
Copy link
Member Author

khos2ow commented Feb 18, 2020

This PR is blocked by #195

@khos2ow khos2ow mentioned this pull request Feb 19, 2020
10 tasks
@khos2ow khos2ow merged commit 743d4f3 into terraform-docs:master Feb 19, 2020
@khos2ow khos2ow deleted the types branch February 19, 2020 20:37
@khos2ow khos2ow mentioned this pull request Feb 20, 2020
10 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant