loganwright / Genome

A simple, type safe, failure driven mapping library for serializing JSON to models in Swift 3.0 (Supports Linux)
MIT License
762 stars 58 forks source link

sub-map node not change when mapping #93

Open wanewang opened 7 years ago

wanewang commented 7 years ago

I would like to have a sub-map when mapping so I don't have to type the path repeatedly e.x. json is

[
    "test": "abc",
    "sub": [
        "int": 9,
        "string": "8"
    ]
]

and my mapping function is

try mainString <~> map["test"]
let subMap = map["sub"]
try subInt <~> subMap["int"]
try subString <~> subMap["string"]

but when I do let subMap = map["sub"] the subMap.node is still original node since subscript only change result

// file Map.swift line 102
public subscript(keys: [PathIndex]) -> Map {
    lastPath = keys
    result = node[keys]
    return self
}

should it also change node to node[keys]?