1var _____WB$wombat$assign$function_____=function(name){return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name))||self[name];};if(!self.__WB_pmw){self.__WB_pmw=function(obj){this.__WB_source=obj;return this;}}{ 2let window = _____WB$wombat$assign$function_____("window"); 3let self = _____WB$wombat$assign$function_____("self"); 4let document = _____WB$wombat$assign$function_____("document"); 5let location = _____WB$wombat$assign$function_____("location"); 6let top = _____WB$wombat$assign$function_____("top"); 7let parent = _____WB$wombat$assign$function_____("parent"); 8let frames = _____WB$wombat$assign$function_____("frames"); 9let opens = _____WB$wombat$assign$function_____("opens"); 10/** 11 * @file 12 * Javascript API to set and get values in the metadata object and UDO. 13 * 14 * @author Neal Bailly 15 */ 16 17(function(window, udo) { 18 if (typeof define === 'function' && define.amd) { 19 define('TiUdo', [], udo); 20 } 21 else if (typeof exports === 'object') { 22 module.exports = udo(); 23 } 24 window.Ti = window.Ti || {}; 25 window.Ti.udo = udo(); 26}(this, function() { 27 28 'use strict'; 29 30 var udo = { 31 set: function(key, value, overwrite) { 32 overwrite = typeof overwrite !== 'undefined' ? overwrite : true; 33 if (overwrite || !(key in window.Ti.udo_metadata)) { 34 window.Ti.udo_metadata[key] = value; 35 for (var udo_key in window.Ti.udo_map) { 36 if (window.Ti.udo_map[udo_key] === key) { 37 window.utag_data[udo_key] = value; 38 return; 39 } 40 } 41 if (window.Ti.udo_data_layer.indexOf(key) >= 0) { 42 window.utag_data[key] = value; 43 } 44 } 45 }, 46 setMulti: function(keyvals, overwrite) { 47 for (var key in keyvals) { 48 this.set(key, keyvals[key], overwrite); 49 } 50 }, 51 unset: function(key) { 52 if (typeof key === 'undefined') { 53 this.unsetMulti(window.Ti.udo_metadata); 54 } 55 else { 56 if (key in window.Ti.udo_metadata) { 57 delete window.Ti.udo_metadata[key]; 58 for (var udo_key in window.Ti.udo_map) { 59 if (window.Ti.udo_map[udo_key] === key) { 60 delete window.utag_data[udo_key]; 61 return; 62 } 63 } 64 if (window.Ti.udo_data_layer.indexOf(key) >= 0) { 65 delete window.utag_data[key]; 66 } 67 } 68 } 69 }, 70 unsetMulti: function(keys) { 71 for (var key in keys) { 72 this.unset(key); 73 } 74 }, 75 get: function(key) { 76 if (typeof key === 'undefined') { 77 return window.Ti.udo_metadata; 78 } 79 else { 80 return window.Ti.udo_metadata[key]; 81 } 82 }, 83 view: function(data) { 84 if (typeof(data) !== 'undefined') { 85 this.setMulti(data); 86 } 87 window.utag.view(); 88 } 89 } 90 91 return udo; 92 93})); 94 95;/*})'"*/ 96;/*})'"*/ 97 98}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.