///<reference path="./IMacroReader.ts" /> ///<reference path="./IMacroReaderResult.ts" /> ///<reference path="../IMacroDefinition.ts" /> ///<reference path="../SourceHelper.ts" /> ///<reference path="../../../util/ObjectUtils.ts" /> var econda; (function (econda) { var tagmanager; (function (tagmanager) { var macro; (function (macro) { var reader; (function (reader) { var SourceHelper = econda.tagmanager.macro.SourceHelper; var ObjectUtils = econda.util.ObjectUtils; /** * Read data from data layer. This class if for internal use only. * @class econda.tagmanager.macro.reader.DataLayerReader * @private */ var DataLayerReader = (function () { function DataLayerReader(cfg) { /** * Reference to data layer * @property {Object} dataLayer * @private */ this.dataLayer = null; this.dataLayer = cfg.dataLayer; } /** * Read value from data layer. * @param {Object} macroDefinition */ DataLayerReader.prototype.readValue = function (macroDefinition) { var ret; var source = SourceHelper.parse(macroDefinition.patternSourceName); var value = ObjectUtils.getNestedProperty(this.dataLayer, source.element); if (typeof value != 'undefined') { ret = { value: value, success: true }; } else { ret = { value: undefined, success: false }; } return ret; }; DataLayerReader.prototype.readValueWithEvent = function (macroDefinition, eventData) { return { value: undefined, success: false }; }; return DataLayerReader; }()); reader.DataLayerReader = DataLayerReader; })(reader = macro.reader || (macro.reader = {})); })(macro = tagmanager.macro || (tagmanager.macro = {})); })(tagmanager = econda.tagmanager || (econda.tagmanager = {})); })(econda || (econda = {}));