swagger-api/swagger-ui

make component names case insensitive. ie: getComponent("fooBaR")

Open

#3393 opened on Jul 15, 2017

View on GitHub
 (14 comments) (3 reactions) (0 assignees)JavaScript (25,447 stars) (8,801 forks)batch import
Good first issuepull-request-welcometype: feature

Description

The plugin system exposes a way to get components via system.getComponent(). Up till now its been case sensitive. Unfortunately we never put in a style-guide on what case to use. So we have lowercase, TitleCase components mixed throughout.

I propose we make them case-insensitive.

  • When building the system, we store the downcased name of the component in our object.
  • When fetching, we downcase the argument to getComponent in order to fetch it from our object.

eg:

//...
plugins = [ { components: { wONderBAR: () => <h1> Hi </h1> } } ]
// stored as  { wonderbar: .... }

system.getComponent("wonderBAR") // the component keyed with "wonderbar"

This is to allow any case, and not break any existing code. That said, we should likely normalize the component names in this codebase to be consistent.

Guestimate of work effort: < Normal

@shockey your thoughts?

Contributor guide