amzn/style-dictionary

View on GitHub
lib/common/templates/ios-swift/class.swift.template

Summary

Maintainability
Test Coverage
<%
//
// Copyright 2019 Alaska Air Group 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());
    }
%>
//
<%
  // Filter to only those props wanted based on the filter, then sort
  // them by category to keep like props together, then by name
  // to make them easier to find alphabetically.
  var props = _.sortBy(allProperties, item => item.attributes.category + item.name);
%>

import UIKit

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