MCPcopy Create free account
hub / github.com/DanWahlin/CustomerManagerStandard / processMeta

Function processMeta

CustomerManager/Scripts/breeze.debug.js:15004–15047  ·  view source on GitHub ↗
(mc, node, meta, assignFn)

Source from the content-addressed store, hash-verified

15002 }
15003
15004 function processMeta(mc, node, meta, assignFn) {
15005 // == is deliberate here instead of ===
15006 if (meta.ignore || node == null) {
15007 return null;
15008 } else if (meta.nodeRefId) {
15009 var refValue = resolveEntityRef(mc, meta.nodeRefId);
15010 if (typeof refValue === "function" && assignFn != null) {
15011 mc.deferredFns.push(function () {
15012 assignFn(refValue);
15013 });
15014 return undefined; // deferred and will be set later;
15015 }
15016 return refValue;
15017 } else if (meta.entityType) {
15018 var entityType = meta.entityType;
15019 if (mc.mergeOptions.noTracking) {
15020 node = processNoMerge(mc, entityType, node);
15021 if (entityType.noTrackingFn) {
15022 node = entityType.noTrackingFn(node, entityType);
15023 }
15024 if (meta.nodeId) {
15025 mc.refMap[meta.nodeId] = node;
15026 }
15027 return node;
15028 } else {
15029 if (entityType.isComplexType) {
15030 // because we still need to do serverName to client name processing
15031 return processNoMerge(mc, entityType, node);
15032 } else {
15033 return mergeEntity(mc, node, meta);
15034 }
15035 }
15036 } else {
15037 if (typeof node === 'object' && !__isDate(node)) {
15038 node = processAnonType(mc, node);
15039 }
15040
15041 // updating the refMap for entities is handled by updateEntityRef for entities.
15042 if (meta.nodeId) {
15043 mc.refMap[meta.nodeId] = node;
15044 }
15045 return node;
15046 }
15047 }
15048
15049 function processNoMerge(mc, stype, node) {
15050 var result = {};

Callers 2

breeze.debug.jsFile · 0.85
visitNodeFunction · 0.85

Calls 5

resolveEntityRefFunction · 0.85
processNoMergeFunction · 0.85
mergeEntityFunction · 0.85
__isDateFunction · 0.85
processAnonTypeFunction · 0.85

Tested by

no test coverage detected