diff --git a/arrow-site/docs/docs/traversal/README.md b/arrow-site/docs/docs/traversal/README.md index 7bcde8a5d1b..0c3d9cc2483 100644 --- a/arrow-site/docs/docs/traversal/README.md +++ b/arrow-site/docs/docs/traversal/README.md @@ -45,8 +45,8 @@ data class Employees(val employees: List) ``` ```kotlin val john = Employee("John Doe", Company("Arrow", Address("Functional city", Street(23, "lambda street")))) -val jane = Employee("John Doe", Company("Arrow", Address("Functional city", Street(23, "lambda street")))) -val employees = Employees(listOf(john, jane)) +val jane = Employee("Jane Doe", Company("Arrow", Address("Functional city", Street(23, "lambda street")))) +val employeeData = Employees(listOf(john, jane)) ``` Without lenses, we could use the `copy` method provided on a `data class` for dealing with immutable structures. @@ -72,8 +72,8 @@ What we actually wanted to do here is the following: focus into _every_ employee ```kotlin val employees: Lens> = Lens( - get = { it.company }, - set = { employee, company -> employee.copy(company = company) } + get = { it.employees }, + set = { employee, employees -> employee.copy(employees = employees) } ) val everyEmployee = Traversal.list() @@ -88,7 +88,7 @@ val companyAddress: Lens = Lens( set = { company, address -> company.copy(address = address) } ) -val addressStrees: Lens = Lens( +val addressStreet: Lens = Lens( get = { it.street }, set = { address, street -> address.copy(street = street) } ) @@ -98,9 +98,9 @@ val streetName: Lens = Lens( set = { street, name -> street.copy(name = name) } ) -val employeesStreetName: Lens = employees compose everyEmployee compose employeeCompany compose companyAddress compose addressStrees compose streetName +val employeesStreetName: Traversal = employees compose everyEmployee compose employeeCompany compose companyAddress compose addressStreet compose streetName -employeesStreetName.modify(employee, String::capitalize) +employeesStreetName.modify(employeeData, String::capitalize) ``` ## Composition