Skip to content

Instantly share code, notes, and snippets.

@jonnyreeves
Created July 24, 2012 13:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jonnyreeves/3169925 to your computer and use it in GitHub Desktop.
Save jonnyreeves/3169925 to your computer and use it in GitHub Desktop.
AS3 AutoMapper gist.
class PersonModel {
private var _firstName : String;
private var _lastName : String;
public function PersonModel(firstName : String, lastName : String) {
_firstName = firstName;
_lastName = lastName;
}
public function get firstName() : String {
return _firstName;
}
public function get lastName() : String {
return _lastName;
}
}
class PersonDTO() {
public fullName : String;
}
var daveModel = new PersonModel("Dave", "Chang");
// Rule for mapping PersonModel => PersonDTO.
Mapper.create(PersonModel, PersonDTO)()
.forMember("fullName", function(source : PersonModel) : String {
return source.firstName + " " + source.lastName;
});
var daveDTO : DTO = Mapper.map(daveModel, PersonDTO);
trace(daveDTO.firstName); // "Dave Chang".
// Rule for mapping PersonDTO => PersonModel
Mapper.create(PersonDTO, PersonModel)()
.forConstructor(function (source : PersonDTO) : PersonModel) {
var nameParts = source.split(" ");
return new PersonModel(nameParts.shift(), nameParts.join(" "));
});
var resultModel = Mapper.map(daveDTO, PersonModel);
trace(resultModel.firstName); // "Dave".
trace(resultModel.lastName); // "Chang".
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment