Comment créer une carte d'enregistrements à partir d'un script javascript objet brut avec Immutable.js?

Je suis nouveau sur immutable.js et j'aimerais mieux comprendre comment utiliser les enregistrements à partir d'un raw JS objet.

Avec Immutable.fromJS() je peux créer une carte de passage d'un objet brut, par exemple:

var images = {
   "1": {
    id: "1",
    urls: ["/medium/1.jpg", "/large/1.jpg"]
   },
   "2": {
    id: "2",
    urls: ["/medium/1.jpg", "/large/1.jpg"]
   }
  }

var imagesMap = Immutable.fromJS(images);

imagesMap est maintenant une carte contenant d'autres cartes, une pour chaque image.

J'aimerais qu'au lieu de créer une carte contenant des enregistrements, par exemple à l'aide d'un Image enregistrement défini comme:

var ImageRecord = Immutable.Record({ id: undefined, urls: undefined })

Comment puis-je avoir imagesMap comme carte de ImageRecords? Est quelque chose que je peux faire passer un rénovateur de fromJS, ou devrais-je aller avec le "vieux"?

//old approach
var imagesMap = Immutable.Map()
for (key in images) {
   imagesMap.set(key, new ImageRecord(images[key]))
}

OriginalL'auteur gpbl | 2015-02-20