mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-28 21:07:16 +00:00
18 lines
539 B
CoffeeScript
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
|