diff options
| author | Ben Beltran <ben@freshout.us> | 2014-03-20 10:27:45 -0600 |
|---|---|---|
| committer | Ben Beltran <ben@freshout.us> | 2014-03-20 10:27:45 -0600 |
| commit | a181aeae67a9c9c86e9df92ab5c0de6ce00f47fb (patch) | |
| tree | 14573b00ea3b9538b5875d5745b1f89d5d2a32d5 /lib/formatters | |
| parent | 26b061b8b81f39ad11fbd9c6c761ec3e699dbad2 (diff) | |
Cobalt 2.0 -> Now with neon 2.0
Diffstat (limited to 'lib/formatters')
| -rw-r--r-- | lib/formatters/ansi.js | 62 | ||||
| -rw-r--r-- | lib/formatters/event_tracker.js | 270 | ||||
| -rw-r--r-- | lib/formatters/simple.js | 31 | ||||
| -rw-r--r-- | lib/formatters/token.js | 121 |
4 files changed, 75 insertions, 409 deletions
diff --git a/lib/formatters/ansi.js b/lib/formatters/ansi.js index 25ad256..806869a 100644 --- a/lib/formatters/ansi.js +++ b/lib/formatters/ansi.js @@ -1,47 +1,29 @@ -(function (global) { - var Module; - - // Load up dependencies - if (typeof require === 'function') { +if (typeof require === 'function') { require('colors'); - var Ne = require('neon'); - Module = Ne.Module; - } else { - Module = global.Module; - } +} - var Cobalt = {}; - Module(Cobalt, 'Formatter')({}); +Module(Cobalt.Formatter, 'Ansi')({ + format : function (logObject, opts){ + var indent, + message; - Cobalt.Formatter.Ansi = Module(Cobalt.Formatter, 'Ansi')({ - format : function (logObject, opts){ - var indent, - message; + indent = Array(logObject._indentLevel + 1).join(' '); - indent = Array(logObject._indentLevel + 1).join(' '); + message = indent + logObject.message; - message = indent + logObject.message; - - switch(logObject._level) { - case 0: - case 1: - case 2: - case 3: - return message.red; - case 4: - return message.yellow; - case 5: - case 6: - return message.blue; - default: - return message; - } + switch(logObject._level) { + case 0: + case 1: + case 2: + case 3: + return message.red; + case 4: + return message.yellow; + case 5: + case 6: + return message.blue; + default: + return message; } - }); - - if (typeof require === 'function') { - global.Ansi = Cobalt.Formatter.Ansi; - } else { - global.Cobalt.Formatter.Ansi = Cobalt.Formatter.Ansi; } -}(typeof window !== 'undefined' ? window : (typeof exports !== 'undefined' ? exports : self))); +}); diff --git a/lib/formatters/event_tracker.js b/lib/formatters/event_tracker.js deleted file mode 100644 index 53cef95..0000000 --- a/lib/formatters/event_tracker.js +++ /dev/null @@ -1,270 +0,0 @@ -(function (global) { - var Module; - - // Load up dependencies - if (typeof require === 'function') { - var Ne = require('neon'); - Module = Ne.Module; - } else { - Module = global.Module; - } - - var Cobalt = {}; - Module(Cobalt, 'Formatter')({}); - - Cobalt.Formatter.EventTracker = Module(Cobalt.Formatter, 'EventTracker')({ - - // Main formatter entry point, validate type and send to proper format - // method - format : function (logObject) { - switch(this._validateFormat(logObject)){ - case 'error': - return this._formatError(logObject); - break; - case 'event': - logObject._type = 'event'; - return this._formatEvent(logObject); - break; - } - return undefined; - }, - - // Format error - _formatError : function (logObject) { - var errorObject; - - errorObject = logObject.error; - errorObject._type = 'error'; - - if (typeof Client !== 'undefined') { - errorObject.site_id = Client.pageInfo.site.id; - }else if (global.data && global.data.site && global.data.site.id) { - errorObject.site_id = global.data.site.id; - } - errorObject.scoped_class_name = errorObject.meta.scopedClassName; - errorObject.user_agent = global.navigator.userAgent; - - return errorObject; - }, - - // Format the event - _formatEvent : function (logObject) { - var eventToSend; - - eventToSend = this._createStructure(logObject); - - return eventToSend; - }, - - // Check for the fingerprint of an event or an error - _validateFormat : function (logObject) { - if (typeof logObject === 'object'){ - // Check for error object (must have meta) - if (logObject.hasOwnProperty('error')) { - if (logObject.error.hasOwnProperty('meta')) { - return 'error'; - } - // Check for event object (must have type) - } else if (logObject.hasOwnProperty('event')) { - if (logObject.event.hasOwnProperty('type')) { - return 'event'; - } - } - } - return undefined; - }, - - // This was ported as-is, but It's weird that we're doing lithium logic in - // here. TODO: Please move this elsewhere. - ben - _pushToLithium : function (object) { - var lithiumEvent; - - if (typeof Li !== 'undefined') { - if (Li.stack) { - lithiumEvent = { - type : object.event.type, - instanceName : (object.event.data) ? (object.event.data.name || object.event.data.id || '---') : '---', - time : global.Cobalt.now() - }; - - Li.events.push(lithiumEvent); - Li.stack.push(lithiumEvent); - - // Another note: There was another push to Li.stack that checked if it - // was typeof === array. Which will never happen since array is typeof - // Object. But I could be wrong. So... yeah. That. - - if (Li.events.length > 20) { - Li.stack.shift(); - } - } - } - }, - - // Create the main structure, also push to lithium - _createStructure : function (logObject) { - var event = {}; - - this._pushToLithium(logObject); - - event.site_id = global.Client ? Client.pageInfo.site.id : 'client not found'; - event.event_type = logObject.event.type; - - event.data = logObject.event.data || {}; - event.data = this._process(event.data); - event.data.user_time_stamp = global.Cobalt.now(); - - event = this._addSiteData(event); - event = this._addTrackingData(event); - - event._type = 'event'; - - return event; - }, - - // Add required data from siteInfo - _addSiteData : function (event) { - if (typeof siteInfo !== 'undefined') { - event.data.trial_period_days_left = siteInfo.trialPeriodDaysLeft; - event.data.billing_status = siteInfo.billingStatus; - event.data.is_admin_on_trial = siteInfo.isAdminOnTrial; - event.data.is_new_site = siteInfo.isNewSite; - event.data.is_for_play = siteInfo.forPlay; - event.data.page_path = siteInfo.currentPagePath; - } - - return event; - }, - - // Add required tracking variables for ad campaigns and such - _addTrackingData : function (event) { - if (typeof siteInfo !== 'undefined' && siteInfo.trackingVariables) { - event.data.initial_referring_domain = siteInfo.trackingVariables.initial_referring_domain; - event.data.referrer = siteInfo.trackingVariables.referrer; - event.data.search_keyword = siteInfo.trackingVariables.search_keyword; - event.data.utm_campaign = siteInfo.trackingVariables.utm_campaign; - event.data.utm_content = siteInfo.trackingVariables.utm_content; - event.data.utm_medium = siteInfo.trackingVariables.utm_medium; - event.data.utm_source = siteInfo.trackingVariables.utm_source; - event.data.utm_term = siteInfo.trackingVariables.utm_term; - } - - return event; - }, - - // Send data through processors to extract valuable metadata - _process : function (data) { - if( typeof data !== 'undefined' && typeof data.constructor !== 'undefined' && typeof data.constructor.className !== 'undefined' ){ - switch( data.constructor.className ){ - case 'App': - return { meta: this._processApp(data) }; - - case 'Entry': - return { meta: this._processEntry(data) }; - - case 'Dot': - return { meta: this._processDot(data) }; - - case 'SiteSkin': - return { meta: this._processSiteSkin(data) }; - - case 'RepositorySkin': - return { meta: this._processRepositorySkin(data) }; - - default : - //do nothing and create an snapshot for the object - var snapshot = {}; - - $.each(data, function(i, el){ - if(typeof el === 'string' || typeof el === 'number' || typeof el === 'boolean'){ - snapshot[i] = el; - } - }); - - return { meta: { status: 'No processor for '+data.constructor.className, snapshot: snapshot } }; - } - - }else{ - // No process for you - return { meta: data }; - } - }, - - _processApp : function (data) { - var eventData = { - displayName : data.record.displayName, - repositoryAppId : data.record.repositoryApp().id, - repositoryAppName : data.record.repositoryApp().name - }; - - return { app: eventData }; - }, - - _processEntry : function (data) { - //get app data - var app = this.processApp( Client.page['app_' + data.appId] ); - - var entry = { - id : data.id, - fieldValues : {} - }; - - //parse and save fieldvalues - $.each(data.fieldValues, function(i, field){ - entry.fieldValues[field.fieldName] = field.value; - }); - - return {app: app, entry : entry}; - }, - - _processDot : function (data) { - var target = { type: data.ruleTree.type }; - - switch (target.type){ - case 'app' : - target.app = this.processApp( Client.page['app_'+data.ruleTree.id.replace('app_style_','')] ).app; - break; - } - - var dot = { - type: data.type, - name: data.name - }; - - return {target: target, dot : dot}; - }, - - _processSiteSkin : function (data) { - return { siteSkin : { - skinName: skinData.name, - skinId: skinData.id - } - }; - }, - - _processRepositorySkin : function (data) { - var skin = { - id : data.id, - name : data.name, - userName : data.userName, - acquireMode : data.acquireMode, - amountInCents : data.amountInCents, - featured : data.featured, - installCount : data.installCount, - popular : data.popular - }; - - return { repositorySkin: skin }; - } - }); - - if (Cobalt.Formatter.EventTracker.__objectSpy) { - Cobalt.Formatter.EventTracker.__objectSpy.destroy(); - } - - if (typeof require === 'function') { - global.EventTracker = Cobalt.Formatter.EventTracker; - } else { - global.Cobalt.Formatter.EventTracker = Cobalt.Formatter.EventTracker; - } -}(typeof window !== 'undefined' ? window : (typeof exports !== 'undefined' ? exports : self))); diff --git a/lib/formatters/simple.js b/lib/formatters/simple.js index 24f65b3..6d2ad7d 100644 --- a/lib/formatters/simple.js +++ b/lib/formatters/simple.js @@ -1,30 +1,9 @@ -(function (global) { - var Module; - - // Load up dependencies - if (typeof require === 'function') { - var Ne = require('neon'); - Module = Ne.Module; - } else { - Module = global.Module; - } - - var Cobalt = {}; - Module(Cobalt, 'Formatter')({}); - - Cobalt.Formatter.Simple = Module(Cobalt.Formatter, 'Simple')({ +Module(Cobalt.Formatter, 'Simple')({ format : function (logObject, opts){ - var indent; + var indent; - indent = Array(logObject._indentLevel + 1).join(' '); + indent = Array(logObject._indentLevel + 1).join(' '); - return indent + logObject.message; + return indent + logObject.message; } - }); - - if (typeof require === 'function') { - global.Simple = Cobalt.Formatter.Simple; - } else { - global.Cobalt.Formatter.Simple = Cobalt.Formatter.Simple; - } -}(typeof window !== 'undefined' ? window : (typeof exports !== 'undefined' ? exports : self))); +}); diff --git a/lib/formatters/token.js b/lib/formatters/token.js index f562f1c..4fa7d57 100644 --- a/lib/formatters/token.js +++ b/lib/formatters/token.js @@ -1,83 +1,58 @@ -(function (global) { - var Module; +Module(Cobalt.Formatter, 'Token')({ + formatString : "{{message}}", + replaceRule : /{{(.*?)}}/g, + separatorLength : 60, + separatorType : "-", + format : function (logObject, opts){ + var indent, indentSize, + separatorLength, separatorType, + output; + indentSize = logObject._indentLevel || 0; - // Load up dependencies - if (typeof require === 'function') { - var Ne = require('neon'); - Module = Ne.Module; - } else { - Module = global.Module; - } - - var Cobalt = {}; - Module(Cobalt, 'Formatter')({}); - - Cobalt.Formatter.Token = Module(Cobalt.Formatter, 'Token')({ - formatString : "{{message}}", - replaceRule : /{{(.*?)}}/g, - separatorLength : 60, - separatorType : "-", - format : function (logObject, opts){ - var indent, indentSize, - separatorLength, separatorType, - output; - indentSize = logObject._indentLevel || 0; + indent = Array(indentSize + 1).join(' '); - indent = Array(indentSize + 1).join(' '); - - if (logObject._separator) { - separatorLength = logObject._separatorLength || this.separatorLength; - separatorType = logObject._separatorType || this.separatorType; - output = indent + Array(separatorLength - indentSize + 1).join(separatorType); - } else { - output = indent + this.parseFormatString(logObject, opts.formatString); - } + if (logObject._separator) { + separatorLength = logObject._separatorLength || this.separatorLength; + separatorType = logObject._separatorType || this.separatorType; + output = indent + Array(separatorLength - indentSize + 1).join(separatorType); + } else { + output = indent + this.parseFormatString(logObject, opts.formatString); + } - if (opts.ansiColor) { - output = this.colorize(logObject._level, output); - } + if (opts.ansiColor) { + output = this.colorize(logObject._level, output); + } - return output; - }, + return output; + }, - parseFormatString : function (logObject, formatString) { - var resultString = ''; - if (typeof formatString === 'undefined') { - formatString = this.formatString; - } + parseFormatString : function (logObject, formatString) { + var resultString = ''; + if (typeof formatString === 'undefined') { + formatString = this.formatString; + } - resultString = formatString.replace(this.replaceRule, function(match, paren){ - return logObject[paren] || "-"; - }); + resultString = formatString.replace(this.replaceRule, function(match, paren){ + return logObject[paren] || "-"; + }); - return resultString; - }, + return resultString; + }, - colorize : function (level, message) { - switch(level) { - case 0: - case 1: - case 2: - case 3: - return message.red; - case 4: - return message.yellow; - case 5: - case 6: - return message.blue; - default: - return message; - } + colorize : function (level, message) { + switch(level) { + case 0: + case 1: + case 2: + case 3: + return message.red; + case 4: + return message.yellow; + case 5: + case 6: + return message.blue; + default: + return message; } - }); - - if (Cobalt.Formatter.Token.__objectSpy) { - Cobalt.Formatter.Token.__objectSpy.destroy(); - } - - if (typeof require === 'function') { - global.Token = Cobalt.Formatter.Token; - } else { - global.Cobalt.Formatter.Token = Cobalt.Formatter.Token; } -}(typeof window !== 'undefined' ? window : (typeof exports !== 'undefined' ? exports : self))); +}); |