Предположим, что у меня есть следующие записи, определенные с помощью Immutable.js:
var Address = Immutable.Record({street: '', city: '', zip: ''});
var User = Immutable.Record({name: '', address: new Address()});
Как преобразовать простой объект javascript в запись пользователя? Я попробовал следующее, но он не дает ожидаемого результата:
var user = new User({name: 'Foo', address: {street: 'Bar', city: 'Baz'}});
// => Record { "name": "Foo", "address": [object Object] }
Я знаю, что можно явно создать запись адреса:
var user = new User({name: 'Foo', address: new Address({street: 'Bar', city: 'Baz'})});
// => Record { "name": "Foo", "address": Record { "street": "Bar", "city": "Baz", "zip": "" } }
Но это не решение, которое я ищу. Представьте, что у вас есть записи, вложенные на несколько уровней в глубину и вы хотите хранить/извлекать данные как JSON (например, в базе данных). Я хотел бы использовать фактическую структуру записей пользователя как информацию схемы для воссоздания вложенных записей. Или есть лучший способ представления вложенных и структурированных неизменяемых данных?