amzn/style-dictionary

View on GitHub
lib/common/templates/ios/colors.m.template

Summary

Maintainability
Test Coverage
<%
//
// Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
//
// 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());
    }
%>
//

#import "<%= this.className %>.h"
<% var props = _.filter(allProperties, this.filter); %>

@implementation <%= this.className %>

+ (UIColor *)color:(<%= this.type %>)colorEnum{
  return [[self values] objectAtIndex:colorEnum];
}

+ (NSArray *)values {
  static NSArray* colorArray;
  static dispatch_once_t onceToken;

  dispatch_once(&onceToken, ^{
    colorArray = @[
<%= props.map(function(prop){ return prop.value; }).join(',\n') %>
    ];
  });

  return colorArray;
}

@end