mirror of
https://github.com/PhilippMDoerner/mapster
synced 2026-01-02 13:34:49 +00:00
No description
Bumps [jiro4989/setup-nim-action](https://github.com/jiro4989/setup-nim-action) from 1 to 2. - [Release notes](https://github.com/jiro4989/setup-nim-action/releases) - [Commits](https://github.com/jiro4989/setup-nim-action/compare/v1...v2) --- updated-dependencies: - dependency-name: jiro4989/setup-nim-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|---|---|---|
| .github | ||
| docs/book | ||
| src | ||
| tests | ||
| changelog.md | ||
| mapster.nimble | ||
| nbook.nim | ||
| nimib.toml | ||
| README.md | ||
Mapster
Because life's too short to map A to B
Mapster is a simple package to help generate procedures/functions for you to map an instance of type A to type B.
Very often A and B share a lot of fields and there is only a small set of exceptions where actual logic is required.
Mapster helps by adding all assignments from instance A to B to the proc for you where the field names and types are identical, allowing you to focus on the few fields that require logic.
- Documentation (built with nimibook)
Installation
Install Mapster with Nimble:
$ nimble install -y mapster
Add Mapster to your .nimble file:
requires "mapster"
Supports
Operations
- Single Parameter mapping procs(A --> B)
- Multi Parameter mapping procs ((A1, A2, ...) --> B)
- In-place mapping procs (var A, B)
- Multi Parameter in-place mapping procs (var A, B1, B2, ...)
- Any amount of custom assignments or logic within the (in-place) mapping procs
- Optional: Compile-time validation for your (in-place) mapping procs!
Types
- Object types
- Object Variant Types (only with
mapVariant) - Ref Object Types
- Ref Object Variant Types (only with
mapVariant) - Named Tuple Types
Getting Started
Take a look at the nimibook docs!