<commit_before># UTMapper

In the world of mapping data to our data model, the data may change at any time, and UTMapper is the simplest solution to solve this problem. Inspired by [CSMapper](https://github.com/marcammann/CSMapper) and [Mogenerator](https://github.com/rentzsch/mogenerator), UTMapper is an an extremely lightweight mapping framework designed specifically to take advantage of Swift 2.0.

Unlike the past, where an Object Model is first created, followed by a mapping framework being retrofitted against the model, UTMapper takes a mapping first approach, where it generates your model, and allows extensibility inspiration by the [Protocol-Oriented Programming](https://developer.apple.com/videos/wwdc/2015/?id=408) talk at WWDC.

#Features

* Extremely Flexible and Lightweight
* Generates Model Objects Mapped using plists
* Supports Native Datatypes including:
	* String
	* Int
	* Double
	* Float
	* Bool
	* Arrays
	* Dictionaries
	* Complex Datatypes (i.e Any Generated Model Objects)
* Native and Complex DataTypes mapping supported for Arrays and Dictionaries
* Optional and Non-Optional Property Types
	* Supports User Defined Default Values for either
* Flexible Multi-Value Transformations
* Compound Property Mappings


#Basic Concept

![alt tag](http://url/to/img.png)

The basic concept behind UTMapper is to build against and API up front, and then used

#Setup
<commit_msg>No Code Changes / Testing Image in README<commit_after># UTMapper

In the world of mapping data to our data model, the data may change at any time, and UTMapper is the simplest solution to solve this problem. Inspired by [CSMapper](https://github.com/marcammann/CSMapper) and [Mogenerator](https://github.com/rentzsch/mogenerator), UTMapper is an an extremely lightweight mapping framework designed specifically to take advantage of Swift 2.0.

Unlike the past, where an Object Model is first created, followed by a mapping framework being retrofitted against the model, UTMapper takes a mapping first approach, where it generates your model, and allows extensibility inspiration by the [Protocol-Oriented Programming](https://developer.apple.com/videos/wwdc/2015/?id=408) talk at WWDC.

#Features

* Extremely Flexible and Lightweight
* Generates Model Objects Mapped using plists
* Supports Native Datatypes including:
	* String
	* Int
	* Double
	* Float
	* Bool
	* Arrays
	* Dictionaries
	* Complex Datatypes (i.e Any Generated Model Objects)
* Native and Complex DataTypes mapping supported for Arrays and Dictionaries
* Optional and Non-Optional Property Types
	* Supports User Defined Default Values for either
* Flexible Multi-Value Transformations
* Compound Property Mappings


#Basic Concept

![alt tag](/readme_assets/basic_concept_image.png?raw=true)

The basic concept behind UTMapper is to build against and API up front, and then used

#Setup

{'fraction_non_alphanumeric': 0.06219426974143955, 'fraction_numerical': 0.006289308176100629, 'mean_word_length': 5.0020964360587, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 6, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6998674', 'n_tokens_mistral': 819, 'n_tokens_neox': 764, 'n_words': 346}