{"id":16157716,"url":"https://github.com/leynier/automap-dart","last_synced_at":"2025-03-18T20:30:55.353Z","repository":{"id":61972712,"uuid":"360788931","full_name":"leynier/automap-dart","owner":"leynier","description":"An auto mapper for Dart. It allows mapping objects of different classes automatically and manually using JSON serialization.","archived":false,"fork":false,"pushed_at":"2021-04-24T16:53:02.000Z","size":11,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-15T23:17:58.181Z","etag":null,"topics":["automapper","dart","flutter","mapper","package","pubdev"],"latest_commit_sha":null,"homepage":"https://pub.dev/packages/automap","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leynier.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-04-23T06:44:40.000Z","updated_at":"2022-08-24T04:48:57.000Z","dependencies_parsed_at":"2022-10-24T13:15:30.837Z","dependency_job_id":null,"html_url":"https://github.com/leynier/automap-dart","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leynier%2Fautomap-dart","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leynier%2Fautomap-dart/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leynier%2Fautomap-dart/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leynier%2Fautomap-dart/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leynier","download_url":"https://codeload.github.com/leynier/automap-dart/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244301299,"owners_count":20430919,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automapper","dart","flutter","mapper","package","pubdev"],"created_at":"2024-10-10T01:50:24.818Z","updated_at":"2025-03-18T20:30:55.118Z","avatar_url":"https://github.com/leynier.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AutoMapper for Dart\n\n[![style: lint](https://img.shields.io/badge/style-lint-4BC0F5.svg)](https://pub.dev/packages/lint)\n\nAn auto mapper for Dart. It allows mapping objects of different classes automatically and manually using JSON serialization.\n\n## Example\n\n```dart\nimport 'package:automap/automap.dart';\n\nclass AutoSource implements AutoMapperModel {\n  final int x;\n\n  AutoSource(this.x);\n\n  @override\n  Map\u003cString, dynamic\u003e toAutoJson() =\u003e {'x': x};\n}\n\nclass AutoTarget {\n  final int x;\n\n  AutoTarget(this.x);\n\n  static AutoTarget fromAutoJson(Map\u003cString, dynamic\u003e json) =\u003e\n      AutoTarget(json['x'] as int);\n}\n\nclass ManualSource {\n  final int x;\n\n  ManualSource(this.x);\n}\n\nclass ManualTarget {\n  final int x;\n\n  ManualTarget(this.x);\n}\n\nvoid main() {\n  AutoMapper.I\n    ..addMap\u003cAutoSource, AutoTarget\u003e(\n      AutoTarget.fromAutoJson,\n    )\n    ..addManualMap\u003cAutoTarget, AutoSource\u003e(\n      (source, mapper, params) =\u003e AutoSource(source.x),\n    )\n    ..addManualMap\u003cManualSource, ManualTarget\u003e(\n      (source, mapper, params) =\u003e ManualTarget(source.x),\n    );\n  final autoSource = AutoSource(5);\n  final manualSource = ManualSource(5);\n  final autoTarget = AutoMapper.I.map\u003cAutoSource, AutoTarget\u003e(\n    autoSource,\n  );\n  final secondAutoSource = AutoMapper.I.map\u003cAutoTarget, AutoSource\u003e(\n    autoTarget,\n  );\n  final manualTarget = AutoMapper.I.map\u003cManualSource, ManualTarget\u003e(\n    manualSource,\n  );\n  // ignore: avoid_print\n  print('${autoTarget.x}, ${secondAutoSource.x}, ${manualTarget.x}');\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleynier%2Fautomap-dart","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleynier%2Fautomap-dart","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleynier%2Fautomap-dart/lists"}