Metadata-Version: 2.1
Name: py-mapper
Version: 0.1.0a0
Summary: Python mapper library
Home-page: https://github.com/endlichfelipe/py-mapper
Author: Felipe Endlich
Author-email: endlichfelipe@gmail.com
License: MIT
Keywords: MAPPER
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries
Classifier: Operating System :: OS Independent
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE

# py-mapper
Python Mapper Library

### How to use this library

##### 1. Mapping Flat Dictionary

```Python
from pymapper import Mapper

mapper = Mapper({
    'dest_1': '$source_1',
    'dest_2': '$source_2'
})

result = mapper.map({
    'source_1': 1,
    'source_2': 'Lorem ipsum',
    'source_3': 3.4
})
# result = {'dest_1': 1, 'dest_2': 'Lorem ipsum'}
```

##### 2. Mapping Nested Dictionary

```Python
from pymapper import Mapper

mapper = Mapper({
    'dest_1': {
        'dest_2': '$source_1.source_2'
    },
    'dest_2': '$source_1.source_3.source_4'
})

result = mapper.map({
    'source_1': {
        'source_2': [1, 2, 3],
        'source_3': {
            'source_4': 5
        }
    },
})
# result = {'dest_1': {'dest_2': [1, 2, 3]}, 'dest_2': 5}
```

##### 3. Mapping a List of Dictionaries

```Python
from pymapper import Mapper

mapper = Mapper({
    'dest_1': {
        'dest_2': '$source_1.source_2'
    },
    'dest_2': '$source_1.source_3.source_4'
})

result = mapper.map([
    {
        'source_1': {
            'source_2': [1, 2, 3],
            'source_3': {
                'source_4': 5
            }
        }
    },
    {
        'source_1': {
            'source_2': [4, 5, 6],
            'source_3': {
                'source_4': 7
            }
        }
    }
])
# result = [{'dest_1': {'dest_2': [1, 2, 3]}, 'dest_2': 5}, {'dest_1': {'dest_2': [4, 5, 6]}, 'dest_2': 7}]
```

