amzn/style-dictionary

View on GitHub
lib/common/templates/flutter/class.dart.template

Summary

Maintainability
Test Coverage
<%
// Licensed under the Apache License, Version 2.0 (the "License").
// You may not use this file except in compliance with the License.
// A copy of the License is located at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// or in the "license" file accompanying this file. This file is distributed
// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
// express or implied. See the License for the specific language governing
// permissions and limitations under the License.
%>
//
// <%= this.destination %>
//
<%
    // for backward compatibility we need to have the user explicitly hide it
    var showFileHeader = (this.options && this.options.hasOwnProperty('showFileHeader')) ? this.options.showFileHeader : true;
    if(showFileHeader) {
        print("// Do not edit directly\n");
        print("// Generated on " + new Date().toUTCString());
    }
%>
//
<%
  // Filter to only those props wanted based on the filter, then sort
  // them by category so we keep like props together, then by name
  // so they are easier to find alphabetically.
  var props = _.sortBy(allProperties, item => item.attributes.category + item.name);
%>

import 'dart:ui';

class <%= this.className %> {
  <%= this.className %>._();
  
    <%= _.map(props, function(prop) { return 'static const ' + prop.name + ' = ' + prop.value + ";" }).join('\n    ') %>
}