Files
openfoodnetwork/app/assets/javascripts/darkswarm/services/dereferencer.js.coffee
2016-07-13 12:08:11 +10:00

18 lines
539 B
CoffeeScript

Darkswarm.factory 'Dereferencer', ->
new class Dereferencer
dereference: (array, data) ->
@dereference_from(array, array, data)
dereference_from: (source, target, data) ->
unreferenced = []
if source && target
for object, i in source
# skip empty entries in sparse array
continue unless source.hasOwnProperty(i)
key = object?.id
if data.hasOwnProperty(key)
target[i] = data[key]
else
unreferenced[i] = object
unreferenced