Sha256: 233bcd1050ab28e6d5958464a384f10aad29e06c720da3676a5ec792802529f2
Contents?: true
Size: 1 KB
Versions: 69
Compression:
Stored size: 1 KB
Contents
<% break_lines = lambda do |list, spaces = 2, separator = ","| list.join("#{separator}\n#{" " * spaces}") + separator end type_name = "#{@kit_name_pascal}Props" props_types = @kit_props.map do |key, val| prop_name = key == "classname" ? "className" : key.camelize(:lower) prop_type = case val when "enum", "one_of" then "'option_1' | 'option_2'" when "boolean", "bool" then "Boolean" else "String" end "#{prop_name}?: #{prop_type}" end puts props_types.inspect props_names = @kit_props.map { |key,| key == "classname" ? "className" : key.camelize(:lower) } props_and_values = props_names.map { |prop| "<p>{`#{prop}: ${#{prop}}`}</p>" } -%> /* @flow */ import React from 'react' type <%= type_name %> = { <%= break_lines.call(props_types) %> } const <%= @kit_name_pascal %> = ({ <%= break_lines.call(props_names) %> }: <%= type_name %>) => ( <div> <%= break_lines.call(props_and_values, 4, "") %> </div> ) export default <%= @kit_name_pascal %>
Version data entries
69 entries across 69 versions & 1 rubygems